@@ -217,7 +217,7 @@ BOOST_AUTO_TEST_CASE(stale_tip_peer_management)
217
217
connman->ClearNodes ();
218
218
}
219
219
220
- BOOST_AUTO_TEST_CASE (DoS_banning )
220
+ BOOST_AUTO_TEST_CASE (peer_discouragement )
221
221
{
222
222
auto banman = MakeUnique<BanMan>(GetDataDir () / " banlist.dat" , nullptr , DEFAULT_MISBEHAVING_BANTIME);
223
223
auto connman = MakeUnique<CConnman>(0x1337 , 0x1337 );
@@ -249,7 +249,7 @@ BOOST_AUTO_TEST_CASE(DoS_banning)
249
249
dummyNode2.fSuccessfullyConnected = true ;
250
250
{
251
251
LOCK (cs_main);
252
- Misbehaving (dummyNode2.GetId (), 50 );
252
+ Misbehaving (dummyNode2.GetId (), DISCOURAGEMENT_THRESHOLD - 1 );
253
253
}
254
254
{
255
255
LOCK2 (cs_main, dummyNode2.cs_sendProcessing );
@@ -259,64 +259,20 @@ BOOST_AUTO_TEST_CASE(DoS_banning)
259
259
BOOST_CHECK (banman->IsDiscouraged (addr1)); // ... but 1 still should be
260
260
{
261
261
LOCK (cs_main);
262
- Misbehaving (dummyNode2.GetId (), 50 );
262
+ Misbehaving (dummyNode2.GetId (), 1 ); // 2 reaches discouragement threshold
263
263
}
264
264
{
265
265
LOCK2 (cs_main, dummyNode2.cs_sendProcessing );
266
266
BOOST_CHECK (peerLogic->SendMessages (&dummyNode2));
267
267
}
268
- BOOST_CHECK (banman->IsDiscouraged (addr2));
268
+ BOOST_CHECK (banman->IsDiscouraged (addr1)); // Expect both 1 and 2
269
+ BOOST_CHECK (banman->IsDiscouraged (addr2)); // to be discouraged now
269
270
270
271
bool dummy;
271
272
peerLogic->FinalizeNode (dummyNode1.GetId (), dummy);
272
273
peerLogic->FinalizeNode (dummyNode2.GetId (), dummy);
273
274
}
274
275
275
- BOOST_AUTO_TEST_CASE (DoS_banscore)
276
- {
277
- auto banman = MakeUnique<BanMan>(GetDataDir () / " banlist.dat" , nullptr , DEFAULT_MISBEHAVING_BANTIME);
278
- auto connman = MakeUnique<CConnman>(0x1337 , 0x1337 );
279
- auto peerLogic = MakeUnique<PeerLogicValidation>(connman.get (), banman.get (), *m_node.scheduler , *m_node.chainman , *m_node.mempool );
280
-
281
- banman->ClearBanned ();
282
- CAddress addr1 (ip (0xa0b0c001 ), NODE_NONE);
283
- CNode dummyNode1 (id++, NODE_NETWORK, 0 , INVALID_SOCKET, addr1, 3 , 1 , CAddress (), " " , true );
284
- dummyNode1.SetSendVersion (PROTOCOL_VERSION);
285
- peerLogic->InitializeNode (&dummyNode1);
286
- dummyNode1.nVersion = 1 ;
287
- dummyNode1.fSuccessfullyConnected = true ;
288
- {
289
- LOCK (cs_main);
290
- Misbehaving (dummyNode1.GetId (), DISCOURAGEMENT_THRESHOLD - 11 );
291
- }
292
- {
293
- LOCK2 (cs_main, dummyNode1.cs_sendProcessing );
294
- BOOST_CHECK (peerLogic->SendMessages (&dummyNode1));
295
- }
296
- BOOST_CHECK (!banman->IsDiscouraged (addr1));
297
- {
298
- LOCK (cs_main);
299
- Misbehaving (dummyNode1.GetId (), 10 );
300
- }
301
- {
302
- LOCK2 (cs_main, dummyNode1.cs_sendProcessing );
303
- BOOST_CHECK (peerLogic->SendMessages (&dummyNode1));
304
- }
305
- BOOST_CHECK (!banman->IsDiscouraged (addr1));
306
- {
307
- LOCK (cs_main);
308
- Misbehaving (dummyNode1.GetId (), 1 );
309
- }
310
- {
311
- LOCK2 (cs_main, dummyNode1.cs_sendProcessing );
312
- BOOST_CHECK (peerLogic->SendMessages (&dummyNode1));
313
- }
314
- BOOST_CHECK (banman->IsDiscouraged (addr1));
315
-
316
- bool dummy;
317
- peerLogic->FinalizeNode (dummyNode1.GetId (), dummy);
318
- }
319
-
320
276
BOOST_AUTO_TEST_CASE (DoS_bantime)
321
277
{
322
278
auto banman = MakeUnique<BanMan>(GetDataDir () / " banlist.dat" , nullptr , DEFAULT_MISBEHAVING_BANTIME);
0 commit comments