aboutsummaryrefslogtreecommitdiff
path: root/src/net_processing.cpp
diff options
context:
space:
mode:
authorSuhas Daftuar <sdaftuar@gmail.com>2022-08-30 12:45:21 -0400
committerSuhas Daftuar <sdaftuar@gmail.com>2022-08-30 14:11:21 -0400
commite5982ecdc4650e9b6de38f190f3a97d792499e2a (patch)
treef32f4f8e8273e769cddfb2dadc1275b4472fd723 /src/net_processing.cpp
parent132ed7eaaa4a47ab94db72ebfab0ef0e03caa488 (diff)
downloadbitcoin-e5982ecdc4650e9b6de38f190f3a97d792499e2a.tar.xz
Bypass headers anti-DoS checks for NoBan peers
Diffstat (limited to 'src/net_processing.cpp')
-rw-r--r--src/net_processing.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/net_processing.cpp b/src/net_processing.cpp
index 746e3bedde..74700580ad 100644
--- a/src/net_processing.cpp
+++ b/src/net_processing.cpp
@@ -2820,6 +2820,13 @@ void PeerManagerImpl::ProcessHeadersMessage(CNode& pfrom, Peer& peer,
}
}
+ // If our peer has NetPermissionFlags::NoBan privileges, then bypass our
+ // anti-DoS logic (this saves bandwidth when we connect to a trusted peer
+ // on startup).
+ if (pfrom.HasPermission(NetPermissionFlags::NoBan)) {
+ already_validated_work = true;
+ }
+
// At this point, the headers connect to something in our block index.
// Do anti-DoS checks to determine if we should process or store for later
// processing.