@@ -34,8 +34,6 @@ static CService ip(uint32_t i)
34
34
return CService (CNetAddr (s), Params ().GetDefaultPort ());
35
35
}
36
36
37
- static NodeId id = 0 ;
38
-
39
37
void UpdateLastBlockAnnounceTime (NodeId node, int64_t time_in_seconds);
40
38
41
39
BOOST_FIXTURE_TEST_SUITE (denialofservice_tests, TestingSetup)
@@ -59,6 +57,7 @@ BOOST_AUTO_TEST_CASE(outbound_slow_chain_eviction)
59
57
60
58
// Mock an outbound peer
61
59
CAddress addr1 (ip (0xa0b0c001 ), NODE_NONE);
60
+ NodeId id{0 };
62
61
CNode dummyNode1{id++,
63
62
ServiceFlags (NODE_NETWORK | NODE_WITNESS),
64
63
/* sock=*/ nullptr ,
@@ -114,7 +113,7 @@ BOOST_AUTO_TEST_CASE(outbound_slow_chain_eviction)
114
113
peerLogic->FinalizeNode (dummyNode1);
115
114
}
116
115
117
- static void AddRandomOutboundPeer (std::vector<CNode*>& vNodes, PeerManager& peerLogic, ConnmanTestMsg& connman, ConnectionType connType)
116
+ static void AddRandomOutboundPeer (NodeId& id, std::vector<CNode*>& vNodes, PeerManager& peerLogic, ConnmanTestMsg& connman, ConnectionType connType)
118
117
{
119
118
CAddress addr (ip (g_insecure_rand_ctx.randbits (32 )), NODE_NONE);
120
119
vNodes.emplace_back (new CNode{id++,
@@ -138,6 +137,7 @@ static void AddRandomOutboundPeer(std::vector<CNode*>& vNodes, PeerManager& peer
138
137
139
138
BOOST_AUTO_TEST_CASE (stale_tip_peer_management)
140
139
{
140
+ NodeId id{0 };
141
141
const CChainParams& chainparams = Params ();
142
142
auto connman = std::make_unique<ConnmanTestMsg>(0x1337 , 0x1337 , *m_node.addrman );
143
143
auto peerLogic = PeerManager::make (chainparams, *connman, *m_node.addrman , nullptr ,
@@ -157,7 +157,7 @@ BOOST_AUTO_TEST_CASE(stale_tip_peer_management)
157
157
158
158
// Mock some outbound peers
159
159
for (int i = 0 ; i < max_outbound_full_relay; ++i) {
160
- AddRandomOutboundPeer (vNodes, *peerLogic, *connman, ConnectionType::OUTBOUND_FULL_RELAY);
160
+ AddRandomOutboundPeer (id, vNodes, *peerLogic, *connman, ConnectionType::OUTBOUND_FULL_RELAY);
161
161
}
162
162
163
163
peerLogic->CheckForStaleTipAndEvictPeers ();
@@ -183,7 +183,7 @@ BOOST_AUTO_TEST_CASE(stale_tip_peer_management)
183
183
// on the next check (since we're mocking the time to be in the future, the
184
184
// required time connected check should be satisfied).
185
185
SetMockTime (time_init);
186
- AddRandomOutboundPeer (vNodes, *peerLogic, *connman, ConnectionType::OUTBOUND_FULL_RELAY);
186
+ AddRandomOutboundPeer (id, vNodes, *peerLogic, *connman, ConnectionType::OUTBOUND_FULL_RELAY);
187
187
SetMockTime (time_later);
188
188
189
189
peerLogic->CheckForStaleTipAndEvictPeers ();
@@ -215,6 +215,7 @@ BOOST_AUTO_TEST_CASE(stale_tip_peer_management)
215
215
216
216
BOOST_AUTO_TEST_CASE (block_relay_only_eviction)
217
217
{
218
+ NodeId id{0 };
218
219
const CChainParams& chainparams = Params ();
219
220
auto connman = std::make_unique<ConnmanTestMsg>(0x1337 , 0x1337 , *m_node.addrman );
220
221
auto peerLogic = PeerManager::make (chainparams, *connman, *m_node.addrman , nullptr ,
@@ -232,7 +233,7 @@ BOOST_AUTO_TEST_CASE(block_relay_only_eviction)
232
233
233
234
// Add block-relay-only peers up to the limit
234
235
for (int i = 0 ; i < max_outbound_block_relay; ++i) {
235
- AddRandomOutboundPeer (vNodes, *peerLogic, *connman, ConnectionType::BLOCK_RELAY);
236
+ AddRandomOutboundPeer (id, vNodes, *peerLogic, *connman, ConnectionType::BLOCK_RELAY);
236
237
}
237
238
peerLogic->CheckForStaleTipAndEvictPeers ();
238
239
@@ -241,7 +242,7 @@ BOOST_AUTO_TEST_CASE(block_relay_only_eviction)
241
242
}
242
243
243
244
// Add an extra block-relay-only peer breaking the limit (mocks logic in ThreadOpenConnections)
244
- AddRandomOutboundPeer (vNodes, *peerLogic, *connman, ConnectionType::BLOCK_RELAY);
245
+ AddRandomOutboundPeer (id, vNodes, *peerLogic, *connman, ConnectionType::BLOCK_RELAY);
245
246
peerLogic->CheckForStaleTipAndEvictPeers ();
246
247
247
248
// The extra peer should only get marked for eviction after MINIMUM_CONNECT_TIME
@@ -297,6 +298,7 @@ BOOST_AUTO_TEST_CASE(peer_discouragement)
297
298
std::array<CNode*, 3 > nodes;
298
299
299
300
banman->ClearBanned ();
301
+ NodeId id{0 };
300
302
nodes[0 ] = new CNode{id++,
301
303
NODE_NETWORK,
302
304
/* sock=*/ nullptr ,
@@ -403,6 +405,7 @@ BOOST_AUTO_TEST_CASE(DoS_bantime)
403
405
SetMockTime (nStartTime); // Overrides future calls to GetTime()
404
406
405
407
CAddress addr (ip (0xa0b0c001 ), NODE_NONE);
408
+ NodeId id{0 };
406
409
CNode dummyNode{id++,
407
410
NODE_NETWORK,
408
411
/* sock=*/ nullptr ,
0 commit comments