Skip to content

Commit

Permalink
[remove] add logging
Browse files Browse the repository at this point in the history
  • Loading branch information
stratospher committed Sep 6, 2024
1 parent 4b6d913 commit 904fc84
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 7 deletions.
1 change: 1 addition & 0 deletions src/init.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -942,6 +942,7 @@ bool AppInitParameterInteraction(const ArgsManager& args)
nLocalServices = ServiceFlags(nLocalServices | NODE_P2P_V2);
if (args.GetBoolArg("-v2onlyclearnet", false)) {
disable_v1conn_clearnet = true;
LogPrintf("### BLANKET V2 ONLY OPTION SET\n");
}
} else if (args.GetBoolArg("-v2onlyclearnet", false)) {
return InitError(_("Cannot set -v2onlyclearnet to true when v2transport is disabled."));
Expand Down
23 changes: 18 additions & 5 deletions src/net.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1893,7 +1893,8 @@ void CConnman::DisconnectNodes()
// Add to reconnection list if appropriate. We don't reconnect right here, because
// the creation of a connection is a blocking operation (up to several seconds),
// and we don't want to hold up the socket handler thread for that long.
if (pnode->m_transport->ShouldReconnectV1() && !DisableV1OnClearnet(pnode->addr.GetNetClass())) {
std::string str = "### DisableV1OnClearnet() called from DisconnectNodes() with addr= " + pnode->addr.ToStringAddrPort();
if (pnode->m_transport->ShouldReconnectV1() && !DisableV1OnClearnet(pnode->addr.GetNetClass(), str)) {
reconnections_to_add.push_back({
.addr_connect = pnode->addr,
.grant = std::move(pnode->grantOutbound),
Expand All @@ -1903,6 +1904,10 @@ void CConnman::DisconnectNodes()
LogPrint(BCLog::NET, "retrying with v1 transport protocol for peer=%d\n", pnode->GetId());
}

if (pnode->m_transport->ShouldReconnectV1() && DisableV1OnClearnet(pnode->addr.GetNetClass(), str)) {
LogPrintf("### 2. DisconnectNodes(): NOT RETRYING WITH V1 FOR %s\n", pnode->addr.ToStringAddrPort());
}

// release outbound grant (if any)
pnode->grantOutbound.Release();

Expand Down Expand Up @@ -2436,8 +2441,9 @@ bool CConnman::MultipleManualOrFullOutboundConns(Network net) const
return m_network_conn_counts[net] > 1;
}

bool CConnman::DisableV1OnClearnet(Network net) const
bool CConnman::DisableV1OnClearnet(Network net, std::string str) const
{
LogPrintf("%s\n", str);
return disable_v1conn_clearnet && (net == NET_IPV4 || net == NET_IPV6);
}

Expand Down Expand Up @@ -2742,7 +2748,9 @@ void CConnman::ThreadOpenConnections(const std::vector<std::string> connect)
}

bool use_v2transport(addr.nServices & GetLocalServices() & NODE_P2P_V2);
if (DisableV1OnClearnet(addr.GetNetClass()) && !use_v2transport) {
std::string str = "### DisableV1OnClearnet() called from ThreadOpenConnections() with addr= " + addr.ToStringAddrPort();
if (DisableV1OnClearnet(addr.GetNetClass(), str) && !use_v2transport) {
LogPrintf("### 3. ThreadOpenConnections(): %s selected from addrman for making BLOCK + FEELER + OUTBOUND is NOT V2 - WE LOOP AGAIN FOR V2\n", addr.ToStringAddrPort());
continue;
}

Expand Down Expand Up @@ -2929,15 +2937,20 @@ void CConnman::OpenNetworkConnection(const CAddress& addrConnect, bool fCountFai
return;

enum Network netclass;
std::string str;
std::string host;
if (pszDest) {
std::string host;
LogPrintf("pszDest = %s\n", std::string(pszDest));
uint16_t port;
SplitHostPort(std::string(pszDest), port, host);
netclass = LookupHost(host, false).value().GetNetClass();
str = "### DisableV1OnClearnet() called from OpenNetworkConnection() with addr= " + host;
} else {
netclass = addrConnect.GetNetClass();
str = "### DisableV1OnClearnet() called from OpenNetworkConnection() with addr= " + addrConnect.ToStringAddrPort();
}
if (DisableV1OnClearnet(netclass) && !use_v2transport) {
if (DisableV1OnClearnet(netclass, str) && !use_v2transport) {
LogPrintf("### 4. OpenNetworkConnection(): %s does NOT look like a potential V2 PEER\n", pszDest ? host : addrConnect.ToStringAddrPort());
return;
}

Expand Down
2 changes: 1 addition & 1 deletion src/net.h
Original file line number Diff line number Diff line change
Expand Up @@ -1250,7 +1250,7 @@ class CConnman
bool MultipleManualOrFullOutboundConns(Network net) const EXCLUSIVE_LOCKS_REQUIRED(m_nodes_mutex);

/* Disables v1 connections on IPV4/IPV6 network. */
bool DisableV1OnClearnet(Network net) const;
bool DisableV1OnClearnet(Network net, std::string str) const;

private:
struct ListenSocket {
Expand Down
5 changes: 4 additions & 1 deletion src/net_processing.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3735,7 +3735,10 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type,
}

const bool is_v1transport = pfrom.m_transport->GetInfo().transport_type == TransportProtocolType::V1;
if (pfrom.IsInboundConn() && is_v1transport && m_connman.DisableV1OnClearnet(pfrom.ConnectedThroughNetwork())){
std::string str = "DisableV1OnClearnet() called from ProcessMessage() with addr= " + pfrom.addr.ToStringAddrPort();
if (pfrom.IsInboundConn() && is_v1transport && m_connman.DisableV1OnClearnet(pfrom.ConnectedThroughNetwork(), str)){
LogPrintf("### 1. ProcessMessage(): INBOUND CONNECTION from %s is NOT V2 PEER\n", pfrom.addr.ToStringAddrPort());
LogPrintf("### nServices & NODE_P2P_V2 = %d\n", nServices & NODE_P2P_V2);
pfrom.fDisconnect = true;
return;
}
Expand Down

0 comments on commit 904fc84

Please sign in to comment.