mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-08 10:31:50 -05:00
Add m_inbound_onion to AttemptToEvictConnection()
and an `m_is_onion` struct member to NodeEvictionCandidate and tests. We'll use these in the peer eviction logic to protect inbound onion peers in addition to the existing protection of localhost peers.
This commit is contained in:
parent
72e30e8e03
commit
8b1e156143
4 changed files with 6 additions and 1 deletions
|
@ -992,7 +992,8 @@ bool CConnman::AttemptToEvictConnection()
|
|||
node->nLastBlockTime, node->nLastTXTime,
|
||||
HasAllDesirableServiceFlags(node->nServices),
|
||||
peer_relay_txes, peer_filter_not_null, node->nKeyedNetGroup,
|
||||
node->m_prefer_evict, node->addr.IsLocal()};
|
||||
node->m_prefer_evict, node->addr.IsLocal(),
|
||||
node->m_inbound_onion};
|
||||
vEvictionCandidates.push_back(candidate);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -425,6 +425,7 @@ public:
|
|||
|
||||
std::atomic<int64_t> nLastSend{0};
|
||||
std::atomic<int64_t> nLastRecv{0};
|
||||
//! Unix epoch time at peer connection, in seconds.
|
||||
const int64_t nTimeConnected;
|
||||
std::atomic<int64_t> nTimeOffset{0};
|
||||
// Address of this peer
|
||||
|
@ -1281,6 +1282,7 @@ struct NodeEvictionCandidate
|
|||
uint64_t nKeyedNetGroup;
|
||||
bool prefer_evict;
|
||||
bool m_is_local;
|
||||
bool m_is_onion;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -31,6 +31,7 @@ FUZZ_TARGET(node_eviction)
|
|||
/* nKeyedNetGroup */ fuzzed_data_provider.ConsumeIntegral<uint64_t>(),
|
||||
/* prefer_evict */ fuzzed_data_provider.ConsumeBool(),
|
||||
/* m_is_local */ fuzzed_data_provider.ConsumeBool(),
|
||||
/* m_is_onion */ fuzzed_data_provider.ConsumeBool(),
|
||||
});
|
||||
}
|
||||
// Make a copy since eviction_candidates may be in some valid but otherwise
|
||||
|
|
|
@ -36,6 +36,7 @@ std::vector<NodeEvictionCandidate> GetRandomNodeEvictionCandidates(const int n_c
|
|||
/* nKeyedNetGroup */ random_context.randrange(100),
|
||||
/* prefer_evict */ random_context.randbool(),
|
||||
/* m_is_local */ random_context.randbool(),
|
||||
/* m_is_onion */ random_context.randbool(),
|
||||
});
|
||||
}
|
||||
return candidates;
|
||||
|
|
Loading…
Add table
Reference in a new issue