aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmiti Uttarwar <[email protected]>2020-06-02 09:01:36 -0700
committerAmiti Uttarwar <[email protected]>2020-08-07 17:18:16 -0700
commit35839e963bf61d2da0d12f5b8cea74ac0e0fbd7b (patch)
treef1607885bdb4f932b88df0755ee67dce26b63c75
parent[net/refactor] Clarify logic for selecting connections in ThreadOpenConnections (diff)
downloaddiscoin-35839e963bf61d2da0d12f5b8cea74ac0e0fbd7b.tar.xz
discoin-35839e963bf61d2da0d12f5b8cea74ac0e0fbd7b.zip
[net] Fix bug where AddrFetch connections would be counted as outbound full relay
The desired logic is for us to only open feeler connections after we have hit the max count for outbound full relay connections. A short lived AddrFetch connection (previously called oneshot) could cause ThreadOpenConnections to miscount and mistakenly open a feeler instead of full relay.
-rw-r--r--src/net.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/net.cpp b/src/net.cpp
index 67db02d0a..f2dcec784 100644
--- a/src/net.cpp
+++ b/src/net.cpp
@@ -1841,7 +1841,7 @@ void CConnman::ThreadOpenConnections(const std::vector<std::string> connect)
setConnected.insert(pnode->addr.GetGroup(addrman.m_asmap));
if (pnode->m_tx_relay == nullptr) {
nOutboundBlockRelay++;
- } else if (!pnode->IsFeelerConn()) {
+ } else if (pnode->m_conn_type == ConnectionType::OUTBOUND) {
nOutboundFullRelay++;
}
}