diff options
author | MarcoFalke <falke.marco@gmail.com> | 2021-12-07 16:32:05 +0100 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2021-12-14 18:04:48 +0100 |
commit | fa1dc9b36a0ccf96cbaf106c060336d91b54579e (patch) | |
tree | 10987e7e09bef6c75195171fe9299a567d76f92a | |
parent | 9635760ce85e01dbf21c93cc971515a2c4aead88 (diff) | |
download | bitcoin-fa1dc9b36a0ccf96cbaf106c060336d91b54579e.tar.xz |
p2p: Always serialize local timestamp for version msg
-rw-r--r-- | src/net_processing.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/net_processing.cpp b/src/net_processing.cpp index 8c897b9a0b..9af05199bc 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -386,7 +386,7 @@ private: EXCLUSIVE_LOCKS_REQUIRED(::cs_main); /** Send a version message to a peer */ - void PushNodeVersion(CNode& pnode, int64_t nTime); + void PushNodeVersion(CNode& pnode); /** Send a ping message every PING_INTERVAL or if requested via RPC. May * mark the peer to be disconnected if a ping has timed out. @@ -1090,12 +1090,13 @@ void PeerManagerImpl::FindNextBlocksToDownload(NodeId nodeid, unsigned int count } // namespace -void PeerManagerImpl::PushNodeVersion(CNode& pnode, int64_t nTime) +void PeerManagerImpl::PushNodeVersion(CNode& pnode) { // Note that pnode->GetLocalServices() is a reflection of the local // services we were offering when the CNode object was created for this // peer. uint64_t my_services{pnode.GetLocalServices()}; + const int64_t nTime{count_seconds(GetTime<std::chrono::seconds>())}; uint64_t nonce = pnode.GetLocalNonce(); const int nNodeStartingHeight{m_best_height}; NodeId nodeid = pnode.GetId(); @@ -1167,7 +1168,7 @@ void PeerManagerImpl::InitializeNode(CNode *pnode) m_peer_map.emplace_hint(m_peer_map.end(), nodeid, std::move(peer)); } if (!pnode->IsInboundConn()) { - PushNodeVersion(*pnode, GetTime()); + PushNodeVersion(*pnode); } } @@ -2599,7 +2600,9 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type, // Inbound peers send us their version message when they connect. // We send our version message in response. - if (pfrom.IsInboundConn()) PushNodeVersion(pfrom, GetAdjustedTime()); + if (pfrom.IsInboundConn()) { + PushNodeVersion(pfrom); + } // Change version const int greatest_common_version = std::min(nVersion, PROTOCOL_VERSION); |