X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Firc.cpp;h=a96802365257863fd23057ac32bfe17ab844515a;hb=3176e0f244d929669aa3e1d81e0787d82d9150d3;hp=78d86e119687df81b9372686e2fb67e5e6dd151d;hpb=9d952d17bb1bd05d5dbfb620f669adfbc223ce0e;p=novacoin.git diff --git a/src/irc.cpp b/src/irc.cpp index 78d86e1..a968023 100644 --- a/src/irc.cpp +++ b/src/irc.cpp @@ -1,12 +1,13 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto -// Copyright (c) 2011 The Bitcoin developers +// Copyright (c) 2009-2012 The Bitcoin developers +// Copyright (c) 2013 NovaCoin Developers // Distributed under the MIT/X11 software license, see the accompanying -// file license.txt or http://www.opensource.org/licenses/mit-license.php. +// file COPYING or http://www.opensource.org/licenses/mit-license.php. -#include "headers.h" #include "irc.h" #include "net.h" #include "strlcpy.h" +#include "base58.h" using namespace std; using namespace boost; @@ -76,57 +77,6 @@ static bool Send(SOCKET hSocket, const char* pszSend) return true; } -bool RecvLine(SOCKET hSocket, string& strLine) -{ - strLine = ""; - loop - { - char c; - int nBytes = recv(hSocket, &c, 1, 0); - if (nBytes > 0) - { - if (c == '\n') - continue; - if (c == '\r') - return true; - strLine += c; - if (strLine.size() >= 9000) - return true; - } - else if (nBytes <= 0) - { - if (fShutdown) - return false; - if (nBytes < 0) - { - int nErr = WSAGetLastError(); - if (nErr == WSAEMSGSIZE) - continue; - if (nErr == WSAEWOULDBLOCK || nErr == WSAEINTR || nErr == WSAEINPROGRESS) - { - Sleep(10); - continue; - } - } - if (!strLine.empty()) - return true; - if (nBytes == 0) - { - // socket closed - printf("IRC socket closed\n"); - return false; - } - else - { - // socket error - int nErr = WSAGetLastError(); - printf("IRC recv failed: %d\n", nErr); - return false; - } - } - } -} - bool RecvLineIRC(SOCKET hSocket, string& strLine) { loop @@ -159,13 +109,13 @@ int RecvUntil(SOCKET hSocket, const char* psz1, const char* psz2=NULL, const cha if (!RecvLineIRC(hSocket, strLine)) return 0; printf("IRC %s\n", strLine.c_str()); - if (psz1 && strLine.find(psz1) != -1) + if (psz1 && strLine.find(psz1) != string::npos) return 1; - if (psz2 && strLine.find(psz2) != -1) + if (psz2 && strLine.find(psz2) != string::npos) return 2; - if (psz3 && strLine.find(psz3) != -1) + if (psz3 && strLine.find(psz3) != string::npos) return 3; - if (psz4 && strLine.find(psz4) != -1) + if (psz4 && strLine.find(psz4) != string::npos) return 4; } } @@ -261,7 +211,7 @@ void ThreadIRCSeed2(void* parg) if (mapArgs.count("-connect") || fNoListen) return; - if (!GetBoolArg("-irc", false)) + if (!GetBoolArg("-irc", true)) return; printf("ThreadIRCSeed started\n"); @@ -344,13 +294,16 @@ void ThreadIRCSeed2(void* parg) } if (fTestNet) { - Send(hSocket, "JOIN #bitcoinTEST\r"); - Send(hSocket, "WHO #bitcoinTEST\r"); + Send(hSocket, "JOIN #novacoinTEST\r"); + Send(hSocket, "WHO #novacoinTEST\r"); } else { - // randomly join #bitcoin00-#bitcoin99 - int channel_number = GetRandInt(100); - Send(hSocket, strprintf("JOIN #bitcoin%02d\r", channel_number).c_str()); - Send(hSocket, strprintf("WHO #bitcoin%02d\r", channel_number).c_str()); + // randomly join #novacoin00-#novacoin05 + // int channel_number = GetRandInt(5); + + // Channel number is always 0 for initial release + int channel_number = 0; + Send(hSocket, strprintf("JOIN #novacoin%02d\r", channel_number).c_str()); + Send(hSocket, strprintf("WHO #novacoin%02d\r", channel_number).c_str()); } int64 nStart = GetTime(); @@ -392,7 +345,7 @@ void ThreadIRCSeed2(void* parg) if (DecodeAddress(pszName, addr)) { addr.nTime = GetAdjustedTime(); - if (AddAddress(addr, 51 * 60)) + if (addrman.Add(addr, addrConnect, 51 * 60)) printf("IRC got new address: %s\n", addr.ToString().c_str()); nGotIRCAddresses++; }