diff options
author | Gavin Andresen <gavinandresen@gmail.com> | 2011-03-14 09:15:06 -0400 |
---|---|---|
committer | Gavin Andresen <gavinandresen@gmail.com> | 2011-03-14 09:15:06 -0400 |
commit | 27b7f3b43a3868cd4d4f97e03c35074c2ef12349 (patch) | |
tree | a39d6207cb612126097f98419dea51e580f5ba35 | |
parent | 4b88647966a1144b5e5532fef50bbf34f9402e71 (diff) | |
parent | cbc920d474b84e8ca339618b1419383000db531f (diff) |
Merge branch 'shy'
-rw-r--r-- | main.cpp | 4 | ||||
-rw-r--r-- | net.h | 24 |
2 files changed, 20 insertions, 8 deletions
@@ -2396,6 +2396,10 @@ bool ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) return true; } + // Be shy and don't send version until we hear + if (pfrom->fInbound) + pfrom->PushVersion(); + pfrom->fClient = !(pfrom->nServices & NODE_NETWORK); AddTimeData(pfrom->addr.ip, nTime); @@ -572,14 +572,9 @@ public: fGetAddr = false; vfSubscribe.assign(256, false); - // Push a version message - /// when NTP implemented, change to just nTime = GetAdjustedTime() - int64 nTime = (fInbound ? GetAdjustedTime() : GetTime()); - CAddress addrYou = (fUseProxy ? CAddress("0.0.0.0") : addr); - CAddress addrMe = (fUseProxy ? CAddress("0.0.0.0") : addrLocalHost); - RAND_bytes((unsigned char*)&nLocalHostNonce, sizeof(nLocalHostNonce)); - PushMessage("version", VERSION, nLocalServices, nTime, addrYou, addrMe, - nLocalHostNonce, string(pszSubVer), nBestHeight); + // Be shy and don't send version until we hear + if (!fInbound) + PushVersion(); } ~CNode() @@ -736,6 +731,19 @@ public: + void PushVersion() + { + /// when NTP implemented, change to just nTime = GetAdjustedTime() + int64 nTime = (fInbound ? GetAdjustedTime() : GetTime()); + CAddress addrYou = (fUseProxy ? CAddress("0.0.0.0") : addr); + CAddress addrMe = (fUseProxy ? CAddress("0.0.0.0") : addrLocalHost); + RAND_bytes((unsigned char*)&nLocalHostNonce, sizeof(nLocalHostNonce)); + PushMessage("version", VERSION, nLocalServices, nTime, addrYou, addrMe, + nLocalHostNonce, string(pszSubVer), nBestHeight); + } + + + void PushMessage(const char* pszCommand) { |