Page MenuHomePhabricator

[avalanche] Don't ban for polling cooldown not elapsed
ClosedPublic

Authored by Fabien on Sep 28 2023, 14:57.

Details

Summary

The cooldown violation is a time dependent issue that has been observed
on honest nodes facing severe temporary network issues. This cooldown
has been introduced as an DoS prevention mechanism, and is effective at
this. Receiving a poll message is only costly if it is processed by the
node; otherwise it's equivalent to any unknown message that anybody can
already spam on the network. This diff keeps the same cooldown mechanic
but discard the message rather than banning the node, which is the same
behavior as receiving an unknown message. This also fixes the error
message having a funny typo.

Test Plan
ninja all check-all

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Fabien requested review of this revision.Sep 28 2023, 14:57
Fabien planned changes to this revision.Sep 28 2023, 15:12
Fabien requested review of this revision.Sep 28 2023, 15:27
bytesofman added a subscriber: bytesofman.
bytesofman added inline comments.
src/net_processing.cpp
5045 ↗(On Diff #42440)

just keeping to the spirit of the initial log statement

5048 ↗(On Diff #42440)

ok -- so now we don't get to the banning logic if it's just this specific network issue we're dealing with

This revision is now accepted and ready to land.Sep 28 2023, 22:52
src/net_processing.cpp
5045 ↗(On Diff #42440)

the whole point is that the issue can occur with honest peers...