From c31b24f745a84669f2af729052da7fd7ed2da868 Mon Sep 17 00:00:00 2001 From: Pieter Wuille Date: Wed, 25 May 2016 15:38:32 +0200 Subject: Use 64-bit SipHash of netgroups in eviction --- src/net.h | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) (limited to 'src/net.h') diff --git a/src/net.h b/src/net.h index 019a3f7ee3..8df3cb421f 100644 --- a/src/net.h +++ b/src/net.h @@ -9,8 +9,6 @@ #include "amount.h" #include "bloom.h" #include "compat.h" -#include "crypto/common.h" -#include "crypto/sha256.h" #include "limitedmap.h" #include "netbase.h" #include "protocol.h" @@ -337,7 +335,7 @@ public: int64_t nLastRecv; int64_t nTimeConnected; int64_t nTimeOffset; - CAddress addr; + const CAddress addr; std::string addrName; CService addrLocal; int nVersion; @@ -365,7 +363,7 @@ public: int nRefCount; NodeId id; - std::vector vchKeyedNetGroup; + const uint64_t nKeyedNetGroup; protected: // Denial-of-service detection/prevention @@ -454,22 +452,8 @@ private: CNode(const CNode&); void operator=(const CNode&); - void CalculateKeyedNetGroup() { - static std::vector vchSecretKey; - if (vchSecretKey.empty()) { - vchSecretKey.resize(32, 0); - GetRandBytes(vchSecretKey.data(), vchSecretKey.size()); - } - - std::vector vchNetGroup(this->addr.GetGroup()); + static uint64_t CalculateKeyedNetGroup(const CAddress& ad); - CSHA256 hash; - hash.Write(begin_ptr(vchNetGroup), vchNetGroup.size()); - hash.Write(begin_ptr(vchSecretKey), vchSecretKey.size()); - - vchKeyedNetGroup.resize(32, 0); - hash.Finalize(begin_ptr(vchKeyedNetGroup)); - } public: NodeId GetId() const { -- cgit v1.2.3