net: un-default the OpenNetworkConnection()'s proxy_override argument

This way callers will not forget to set it.
This commit is contained in:
Eugene Siegel
2026-05-29 12:04:00 +02:00
committed by Vasil Dimov
parent 5a3756d150
commit bf0d257c11
3 changed files with 43 additions and 9 deletions

View File

@@ -1919,7 +1919,13 @@ bool CConnman::AddConnection(const std::string& address, ConnectionType conn_typ
CountingSemaphoreGrant<> grant(*semOutbound, true);
if (!grant) return false;
OpenNetworkConnection(CAddress(), false, std::move(grant), address.c_str(), conn_type, /*use_v2transport=*/use_v2transport);
OpenNetworkConnection(/*addrConnect=*/CAddress{},
/*fCountFailure=*/false,
/*grant_outbound=*/std::move(grant),
/*pszDest=*/address.c_str(),
/*conn_type=*/conn_type,
/*use_v2transport=*/use_v2transport,
/*proxy_override=*/std::nullopt);
return true;
}
@@ -2443,7 +2449,13 @@ void CConnman::ProcessAddrFetch()
CAddress addr;
CountingSemaphoreGrant<> grant(*semOutbound, /*fTry=*/true);
if (grant) {
OpenNetworkConnection(addr, false, std::move(grant), strDest.c_str(), ConnectionType::ADDR_FETCH, use_v2transport);
OpenNetworkConnection(/*addrConnect=*/addr,
/*fCountFailure=*/false,
/*grant_outbound=*/std::move(grant),
/*pszDest=*/strDest.c_str(),
/*conn_type=*/ConnectionType::ADDR_FETCH,
/*use_v2transport=*/use_v2transport,
/*proxy_override=*/std::nullopt);
}
}
@@ -2571,8 +2583,13 @@ void CConnman::ThreadOpenConnections(const std::vector<std::string> connect, std
{
for (const std::string& strAddr : connect)
{
CAddress addr(CService(), NODE_NONE);
OpenNetworkConnection(addr, false, {}, strAddr.c_str(), ConnectionType::MANUAL, /*use_v2transport=*/use_v2transport);
OpenNetworkConnection(/*addrConnect=*/CAddress{CService{}, NODE_NONE},
/*fCountFailure=*/false,
/*grant_outbound=*/{},
/*pszDest=*/strAddr.c_str(),
/*conn_type=*/ConnectionType::MANUAL,
/*use_v2transport=*/use_v2transport,
/*proxy_override=*/std::nullopt);
for (int i = 0; i < 10 && i < nLoop; i++)
{
if (!m_interrupt_net->sleep_for(500ms)) {
@@ -2922,7 +2939,13 @@ void CConnman::ThreadOpenConnections(const std::vector<std::string> connect, std
const bool count_failures{((int)outbound_ipv46_peer_netgroups.size() + outbound_privacy_network_peers) >= std::min(m_max_automatic_connections - 1, 2)};
// Use BIP324 transport when both us and them have NODE_V2_P2P set.
const bool use_v2transport(addrConnect.nServices & GetLocalServices() & NODE_P2P_V2);
OpenNetworkConnection(addrConnect, count_failures, std::move(grant), /*pszDest=*/nullptr, conn_type, use_v2transport);
OpenNetworkConnection(/*addrConnect=*/addrConnect,
/*fCountFailure=*/count_failures,
/*grant_outbound=*/std::move(grant),
/*pszDest=*/nullptr,
/*conn_type=*/conn_type,
/*use_v2transport=*/use_v2transport,
/*proxy_override=*/std::nullopt);
}
}
}
@@ -3021,8 +3044,13 @@ void CConnman::ThreadOpenAddedConnections()
break;
}
tried = true;
CAddress addr(CService(), NODE_NONE);
OpenNetworkConnection(addr, false, std::move(grant), info.m_params.m_added_node.c_str(), ConnectionType::MANUAL, info.m_params.m_use_v2transport);
OpenNetworkConnection(/*addrConnect=*/CAddress{CService{}, NODE_NONE},
/*fCountFailure=*/false,
/*grant_outbound=*/std::move(grant),
/*pszDest=*/info.m_params.m_added_node.c_str(),
/*conn_type=*/ConnectionType::MANUAL,
/*use_v2transport=*/info.m_params.m_use_v2transport,
/*proxy_override=*/std::nullopt);
if (!m_interrupt_net->sleep_for(500ms)) return;
grant = CountingSemaphoreGrant<>(*semAddnode, /*fTry=*/true);
}

View File

@@ -1191,7 +1191,7 @@ public:
const char* pszDest,
ConnectionType conn_type,
bool use_v2transport,
const std::optional<Proxy>& proxy_override = std::nullopt)
const std::optional<Proxy>& proxy_override)
EXCLUSIVE_LOCKS_REQUIRED(!m_nodes_mutex, !m_unused_i2p_sessions_mutex);
/// Group of private broadcast related members.

View File

@@ -358,7 +358,13 @@ static RPCMethod addnode()
if (command == "onetry")
{
CAddress addr;
connman.OpenNetworkConnection(addr, /*fCountFailure=*/false, /*grant_outbound=*/{}, std::string{node_arg}.c_str(), ConnectionType::MANUAL, use_v2transport);
connman.OpenNetworkConnection(/*addrConnect=*/addr,
/*fCountFailure=*/false,
/*grant_outbound=*/{},
/*pszDest=*/std::string{node_arg}.c_str(),
/*conn_type=*/ConnectionType::MANUAL,
/*use_v2transport=*/use_v2transport,
/*proxy_override=*/std::nullopt);
return UniValue::VNULL;
}