mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-04-29 14:59:39 -04:00
Merge f1b142856a
into 51d76634fb
This commit is contained in:
commit
76f01e86f9
3 changed files with 13 additions and 2 deletions
|
@ -367,7 +367,7 @@ CNode* CConnman::FindNode(const CService& addr)
|
||||||
|
|
||||||
bool CConnman::AlreadyConnectedToAddress(const CAddress& addr)
|
bool CConnman::AlreadyConnectedToAddress(const CAddress& addr)
|
||||||
{
|
{
|
||||||
return FindNode(static_cast<CNetAddr>(addr)) || FindNode(addr.ToStringAddrPort());
|
return FindNode(static_cast<CNetAddr>(addr));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CConnman::CheckIncomingNonce(uint64_t nonce)
|
bool CConnman::CheckIncomingNonce(uint64_t nonce)
|
||||||
|
|
|
@ -101,10 +101,14 @@ FUZZ_TARGET(netaddress)
|
||||||
(void)net_addr.GetReachabilityFrom(other_net_addr);
|
(void)net_addr.GetReachabilityFrom(other_net_addr);
|
||||||
(void)sub_net.Match(other_net_addr);
|
(void)sub_net.Match(other_net_addr);
|
||||||
|
|
||||||
const CService other_service{net_addr, fuzzed_data_provider.ConsumeIntegral<uint16_t>()};
|
const CService other_service{fuzzed_data_provider.ConsumeBool() ? net_addr : other_net_addr, fuzzed_data_provider.ConsumeIntegral<uint16_t>()};
|
||||||
assert((service == other_service) != (service != other_service));
|
assert((service == other_service) != (service != other_service));
|
||||||
(void)(service < other_service);
|
(void)(service < other_service);
|
||||||
|
|
||||||
|
if (service.ToStringAddrPort() == other_service.ToStringAddrPort()) {
|
||||||
|
assert(static_cast<CNetAddr>(service) == static_cast<CNetAddr>(other_service));
|
||||||
|
}
|
||||||
|
|
||||||
const CSubNet sub_net_copy_1{net_addr, other_net_addr};
|
const CSubNet sub_net_copy_1{net_addr, other_net_addr};
|
||||||
const CSubNet sub_net_copy_2{net_addr};
|
const CSubNet sub_net_copy_2{net_addr};
|
||||||
|
|
||||||
|
|
|
@ -155,6 +155,13 @@ BOOST_FIXTURE_TEST_CASE(test_addnode_getaddednodeinfo_and_connection_detection,
|
||||||
BOOST_CHECK(connman->AlreadyConnectedPublic(node->addr));
|
BOOST_CHECK(connman->AlreadyConnectedPublic(node->addr));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOST_TEST_MESSAGE("\nCheck that peers with the same addresses as connected peers but different ports are detected as connected.");
|
||||||
|
for (auto node : connman->TestNodes()) {
|
||||||
|
uint16_t changed_port = node->addr.GetPort() + 1;
|
||||||
|
CService address_with_changed_port{node->addr, changed_port};
|
||||||
|
BOOST_CHECK(connman->AlreadyConnectedPublic(CAddress{address_with_changed_port, NODE_NONE}));
|
||||||
|
}
|
||||||
|
|
||||||
// Clean up
|
// Clean up
|
||||||
for (auto node : connman->TestNodes()) {
|
for (auto node : connman->TestNodes()) {
|
||||||
peerman->FinalizeNode(*node);
|
peerman->FinalizeNode(*node);
|
||||||
|
|
Loading…
Add table
Reference in a new issue