Skip to content

Commit

Permalink
fix: move Dash-specific GetMNByService() check to the end of the `w…
Browse files Browse the repository at this point in the history
…hile `loop

Allows non-specific conditions to trigger first for better compatibility
  • Loading branch information
UdjinM6 committed Jan 23, 2025
1 parent 8872ba3 commit cff3aac
Showing 1 changed file with 4 additions and 7 deletions.
11 changes: 4 additions & 7 deletions src/net.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3507,9 +3507,6 @@ void CConnman::ThreadOpenConnections(const std::vector<std::string> connect, CDe
std::tie(addr, addr_last_try) = addrman.Select(false, preferred_net);
}

auto dmn = mnList.GetMNByService(addr);
bool isMasternode = dmn != nullptr;

// Require outbound IPv4/IPv6 connections, other than feelers, to be to distinct network groups
if (!fFeeler && outbound_ipv46_peer_netgroups.count(m_netgroupman.GetGroup(addr))) {
continue;
Expand All @@ -3520,10 +3517,6 @@ void CConnman::ThreadOpenConnections(const std::vector<std::string> connect, CDe
break;
}

// don't try to connect to masternodes that we already have a connection to (most likely inbound)
if (isMasternode && setConnectedMasternodes.count(dmn->proTxHash))
continue;

// don't connect to ourselves
if (addr.GetPort() == GetListenPort() && IsLocal(addr)) {
break;
Expand Down Expand Up @@ -3566,6 +3559,10 @@ void CConnman::ThreadOpenConnections(const std::vector<std::string> connect, CDe
continue;
}

// don't try to connect to masternodes that we already have a connection to (most likely inbound)
if (auto dmn = mnList.GetMNByService(addr); dmn && setConnectedMasternodes.count(dmn->proTxHash))
continue;

addrConnect = addr;
break;
}
Expand Down

0 comments on commit cff3aac

Please sign in to comment.