From e5982ecdc4650e9b6de38f190f3a97d792499e2a Mon Sep 17 00:00:00 2001 From: Suhas Daftuar Date: Tue, 30 Aug 2022 12:45:21 -0400 Subject: Bypass headers anti-DoS checks for NoBan peers --- src/net_processing.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') 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. -- cgit v1.2.3