X-Git-Url: https://git.novaco.in/?p=novacoin.git;a=blobdiff_plain;f=src%2Finit.cpp;h=01900a5e1259d3b6bd9d7d8da9a197035966ead0;hp=66ad72d79e1b57b912a0f5c26c28b514f9313b6b;hb=8982b69aabfefd65e8f3d859018228998f523cae;hpb=0dd25284c30dfdbfeff9a882dd801be8cacd0859 diff --git a/src/init.cpp b/src/init.cpp index 66ad72d..01900a5 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -8,6 +8,7 @@ #include "net.h" #include "init.h" #include "util.h" +#include "ipcollector.h" #include "ui_interface.h" #include "checkpoints.h" #include @@ -292,6 +293,7 @@ std::string HelpMessage() " -rpcconnect= " + _("Send commands to node running on (default: 127.0.0.1)") + "\n" + " -blocknotify= " + _("Execute command when the best block changes (%s in cmd is replaced by block hash)") + "\n" + " -walletnotify= " + _("Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)") + "\n" + + " -peercollector= " + _("Execute command to collect peer addresses") + "\n" + " -confchange " + _("Require a confirmations for change (default: 0)") + "\n" + " -upgradewallet " + _("Upgrade wallet to latest format") + "\n" + " -keypool= " + _("Set key pool size to (default: 100)") + "\n" + @@ -344,6 +346,14 @@ bool AppInit2() typedef BOOL (WINAPI *PSETPROCDEPPOL)(DWORD); PSETPROCDEPPOL setProcDEPPol = (PSETPROCDEPPOL)GetProcAddress(GetModuleHandleA("Kernel32.dll"), "SetProcessDEPPolicy"); if (setProcDEPPol != NULL) setProcDEPPol(PROCESS_DEP_ENABLE); + + // Initialize Windows Sockets + WSADATA wsadata; + int ret = WSAStartup(MAKEWORD(2,2), &wsadata); + if (ret != NO_ERROR) + { + return InitError(strprintf("Error: TCP/IP socket library failed to start (WSAStartup returned error %d)", ret)); + } #endif #ifndef WIN32 umask(077); @@ -366,7 +376,7 @@ bool AppInit2() // ********************************************************* Step 2: parameter interactions - nNodeLifespan = (unsigned int)(GetArg("-addrlifespan", 7)); + nNodeLifespan = GetArgUInt("-addrlifespan", 7); fUseFastIndex = GetBoolArg("-fastindex", true); fUseMemoryLog = GetBoolArg("-memorylog", true); @@ -770,8 +780,7 @@ bool AppInit2() strLoadError = _("Error loading block database"); break; } - } catch(std::exception &e) { - (void)e; + } catch(const std::exception&) { strLoadError = _("Error opening block database"); break; } @@ -894,6 +903,13 @@ bool AppInit2() pwalletMain->SetDefaultKey(newDefaultKey); if (!pwalletMain->SetAddressBookName(pwalletMain->vchDefaultKey.GetID(), "")) strErrors << _("Cannot write default address") << "\n"; + + CMalleableKeyView keyView = pwalletMain->GenerateNewMalleableKey(); + CMalleableKey mKey; + if (!pwalletMain->GetMalleableKey(keyView, mKey)) + strErrors << _("Unable to generate new malleable key"); + if (!pwalletMain->SetAddressBookName(CBitcoinAddress(keyView.GetMalleablePubKey()), "")) + strErrors << _("Cannot write default address") << "\n"; } printf("%s", strErrors.str().c_str()); @@ -982,7 +998,11 @@ bool AppInit2() if (fServer) NewThread(ThreadRPCServer, NULL); - // ********************************************************* Step 12: finished + // ********************************************************* Step 13: IP collection thread + strCollectorCommand = GetArg("-peercollector", ""); + if (!fTestNet && strCollectorCommand != "") + NewThread(ThreadIPCollector, NULL); + // ********************************************************* Step 14: finished uiInterface.InitMessage(_("Done loading")); printf("Done loading\n"); @@ -996,7 +1016,7 @@ bool AppInit2() #if !defined(QT_GUI) // Loop until process is exit()ed from shutdown() function, // called from ThreadRPCServer thread when a "stop" command is received. - while (1) + for ( ; ; ) Sleep(5000); #endif