Skip to content

Commit 35fbc97

Browse files
committed
Merge bitcoin/bitcoin#25619: net: avoid overriding non-virtual ToString() in CService and use better naming
c9d548c net: remove CService::ToStringPort() (Vasil Dimov) fd4f0f4 gui: simplify OptionsDialog::updateDefaultProxyNets() (Vasil Dimov) 96c791d net: remove CService::ToString() use ToStringAddrPort() instead (Vasil Dimov) 944a9de net: remove CNetAddr::ToString() and use ToStringAddr() instead (Vasil Dimov) 043b9de scripted-diff: rename ToStringIP[Port]() to ToStringAddr[Port]() (Vasil Dimov) Pull request description: Before this PR we had the somewhat confusing combination of methods: `CNetAddr::ToStringIP()` `CNetAddr::ToString()` (duplicate of the above) `CService::ToStringIPPort()` `CService::ToString()` (duplicate of the above, overrides a non-virtual method from `CNetAddr`) `CService::ToStringPort()` Avoid [overriding non-virtual methods](bitcoin/bitcoin#25349). "IP" stands for "Internet Protocol" and while sometimes "IP addresses" are called just "IPs", it is incorrect to call Tor or I2P addresses "IPs". Thus use "Addr" instead of "IP". Change the above to: `CNetAddr::ToStringAddr()` `CService::ToStringAddrPort()` The changes touch a lot of files, but are mostly mechanical. ACKs for top commit: sipa: utACK c9d548c achow101: ACK c9d548c jonatack: re-ACK c9d548c only change since my previous reviews is rebase, but as a sanity check rebased to current master and at each commit quickly re-reviewed and re-verified clean build and green unit tests LarryRuane: ACK c9d548c Tree-SHA512: 633fb044bdecf9f551b5e3314c385bf10e2b78e8027dc51ec324b66b018da35e5b01f3fbe6295bbc455ea1bcd1a3629de1918d28de510693afaf6a52693f2157
2 parents 27772d8 + c9d548c commit 35fbc97

20 files changed

+138
-160
lines changed

src/addrman.cpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -486,7 +486,7 @@ void AddrManImpl::ClearNew(int nUBucket, int nUBucketPos)
486486
assert(infoDelete.nRefCount > 0);
487487
infoDelete.nRefCount--;
488488
vvNew[nUBucket][nUBucketPos] = -1;
489-
LogPrint(BCLog::ADDRMAN, "Removed %s from new[%i][%i]\n", infoDelete.ToString(), nUBucket, nUBucketPos);
489+
LogPrint(BCLog::ADDRMAN, "Removed %s from new[%i][%i]\n", infoDelete.ToStringAddrPort(), nUBucket, nUBucketPos);
490490
if (infoDelete.nRefCount == 0) {
491491
Delete(nIdDelete);
492492
}
@@ -542,7 +542,7 @@ void AddrManImpl::MakeTried(AddrInfo& info, int nId)
542542
nNew++;
543543
m_network_counts[infoOld.GetNetwork()].n_new++;
544544
LogPrint(BCLog::ADDRMAN, "Moved %s from tried[%i][%i] to new[%i][%i] to make space\n",
545-
infoOld.ToString(), nKBucket, nKBucketPos, nUBucket, nUBucketPos);
545+
infoOld.ToStringAddrPort(), nKBucket, nKBucketPos, nUBucket, nUBucketPos);
546546
}
547547
assert(vvTried[nKBucket][nKBucketPos] == -1);
548548

@@ -618,7 +618,7 @@ bool AddrManImpl::AddSingle(const CAddress& addr, const CNetAddr& source, std::c
618618
pinfo->nRefCount++;
619619
vvNew[nUBucket][nUBucketPos] = nId;
620620
LogPrint(BCLog::ADDRMAN, "Added %s mapped to AS%i to new[%i][%i]\n",
621-
addr.ToString(), m_netgroupman.GetMappedAS(addr), nUBucket, nUBucketPos);
621+
addr.ToStringAddrPort(), m_netgroupman.GetMappedAS(addr), nUBucket, nUBucketPos);
622622
} else {
623623
if (pinfo->nRefCount == 0) {
624624
Delete(nId);
@@ -669,15 +669,15 @@ bool AddrManImpl::Good_(const CService& addr, bool test_before_evict, NodeSecond
669669
// Output the entry we'd be colliding with, for debugging purposes
670670
auto colliding_entry = mapInfo.find(vvTried[tried_bucket][tried_bucket_pos]);
671671
LogPrint(BCLog::ADDRMAN, "Collision with %s while attempting to move %s to tried table. Collisions=%d\n",
672-
colliding_entry != mapInfo.end() ? colliding_entry->second.ToString() : "",
673-
addr.ToString(),
672+
colliding_entry != mapInfo.end() ? colliding_entry->second.ToStringAddrPort() : "",
673+
addr.ToStringAddrPort(),
674674
m_tried_collisions.size());
675675
return false;
676676
} else {
677677
// move nId to the tried tables
678678
MakeTried(info, nId);
679679
LogPrint(BCLog::ADDRMAN, "Moved %s mapped to AS%i to tried[%i][%i]\n",
680-
addr.ToString(), m_netgroupman.GetMappedAS(addr), tried_bucket, tried_bucket_pos);
680+
addr.ToStringAddrPort(), m_netgroupman.GetMappedAS(addr), tried_bucket, tried_bucket_pos);
681681
return true;
682682
}
683683
}
@@ -689,7 +689,7 @@ bool AddrManImpl::Add_(const std::vector<CAddress>& vAddr, const CNetAddr& sourc
689689
added += AddSingle(*it, source, time_penalty) ? 1 : 0;
690690
}
691691
if (added > 0) {
692-
LogPrint(BCLog::ADDRMAN, "Added %i addresses (of %i) from %s: %i tried, %i new\n", added, vAddr.size(), source.ToString(), nTried, nNew);
692+
LogPrint(BCLog::ADDRMAN, "Added %i addresses (of %i) from %s: %i tried, %i new\n", added, vAddr.size(), source.ToStringAddr(), nTried, nNew);
693693
}
694694
return added > 0;
695695
}
@@ -746,7 +746,7 @@ std::pair<CAddress, NodeSeconds> AddrManImpl::Select_(bool newOnly) const
746746
const AddrInfo& info{it_found->second};
747747
// With probability GetChance() * fChanceFactor, return the entry.
748748
if (insecure_rand.randbits(30) < fChanceFactor * info.GetChance() * (1 << 30)) {
749-
LogPrint(BCLog::ADDRMAN, "Selected %s from tried\n", info.ToString());
749+
LogPrint(BCLog::ADDRMAN, "Selected %s from tried\n", info.ToStringAddrPort());
750750
return {info, info.m_last_try};
751751
}
752752
// Otherwise start over with a (likely) different bucket, and increased chance factor.
@@ -774,7 +774,7 @@ std::pair<CAddress, NodeSeconds> AddrManImpl::Select_(bool newOnly) const
774774
const AddrInfo& info{it_found->second};
775775
// With probability GetChance() * fChanceFactor, return the entry.
776776
if (insecure_rand.randbits(30) < fChanceFactor * info.GetChance() * (1 << 30)) {
777-
LogPrint(BCLog::ADDRMAN, "Selected %s from new\n", info.ToString());
777+
LogPrint(BCLog::ADDRMAN, "Selected %s from new\n", info.ToStringAddrPort());
778778
return {info, info.m_last_try};
779779
}
780780
// Otherwise start over with a (likely) different bucket, and increased chance factor.
@@ -891,7 +891,7 @@ void AddrManImpl::ResolveCollisions_()
891891

892892
// Give address at least 60 seconds to successfully connect
893893
if (current_time - info_old.m_last_try > 60s) {
894-
LogPrint(BCLog::ADDRMAN, "Replacing %s with %s in tried table\n", info_old.ToString(), info_new.ToString());
894+
LogPrint(BCLog::ADDRMAN, "Replacing %s with %s in tried table\n", info_old.ToStringAddrPort(), info_new.ToStringAddrPort());
895895

896896
// Replaces an existing address already in the tried table with the new address
897897
Good_(info_new, false, current_time);
@@ -901,7 +901,7 @@ void AddrManImpl::ResolveCollisions_()
901901
// If the collision hasn't resolved in some reasonable amount of time,
902902
// just evict the old entry -- we must not be able to
903903
// connect to it for some reason.
904-
LogPrint(BCLog::ADDRMAN, "Unable to test; replacing %s with %s in tried table anyway\n", info_old.ToString(), info_new.ToString());
904+
LogPrint(BCLog::ADDRMAN, "Unable to test; replacing %s with %s in tried table anyway\n", info_old.ToStringAddrPort(), info_new.ToStringAddrPort());
905905
Good_(info_new, false, current_time);
906906
erase_collision = true;
907907
}

src/httprpc.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ static bool HTTPReq_JSONRPC(const std::any& context, HTTPRequest* req)
160160

161161
JSONRPCRequest jreq;
162162
jreq.context = context;
163-
jreq.peerAddr = req->GetPeer().ToString();
163+
jreq.peerAddr = req->GetPeer().ToStringAddrPort();
164164
if (!RPCAuthorized(authHeader.second, jreq.authUser)) {
165165
LogPrintf("ThreadRPCServer incorrect password attempt from %s\n", jreq.peerAddr);
166166

src/httpserver.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -222,21 +222,21 @@ static void http_request_cb(struct evhttp_request* req, void* arg)
222222
// Early address-based allow check
223223
if (!ClientAllowed(hreq->GetPeer())) {
224224
LogPrint(BCLog::HTTP, "HTTP request from %s rejected: Client network is not allowed RPC access\n",
225-
hreq->GetPeer().ToString());
225+
hreq->GetPeer().ToStringAddrPort());
226226
hreq->WriteReply(HTTP_FORBIDDEN);
227227
return;
228228
}
229229

230230
// Early reject unknown HTTP methods
231231
if (hreq->GetRequestMethod() == HTTPRequest::UNKNOWN) {
232232
LogPrint(BCLog::HTTP, "HTTP request from %s rejected: Unknown HTTP request method\n",
233-
hreq->GetPeer().ToString());
233+
hreq->GetPeer().ToStringAddrPort());
234234
hreq->WriteReply(HTTP_BAD_METHOD);
235235
return;
236236
}
237237

238238
LogPrint(BCLog::HTTP, "Received a %s request for %s from %s\n",
239-
RequestMethodString(hreq->GetRequestMethod()), SanitizeString(hreq->GetURI(), SAFE_CHARS_URI).substr(0, 100), hreq->GetPeer().ToString());
239+
RequestMethodString(hreq->GetRequestMethod()), SanitizeString(hreq->GetURI(), SAFE_CHARS_URI).substr(0, 100), hreq->GetPeer().ToStringAddrPort());
240240

241241
// Find registered handler for prefix
242242
std::string strURI = hreq->GetURI();

src/i2p.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ bool Session::Connect(const CService& to, Connection& conn, bool& proxy_error)
206206
}
207207

208208
const Reply& lookup_reply =
209-
SendRequestAndGetReply(*sock, strprintf("NAMING LOOKUP NAME=%s", to.ToStringIP()));
209+
SendRequestAndGetReply(*sock, strprintf("NAMING LOOKUP NAME=%s", to.ToStringAddr()));
210210

211211
const std::string& dest = lookup_reply.Get("VALUE");
212212

@@ -233,7 +233,7 @@ bool Session::Connect(const CService& to, Connection& conn, bool& proxy_error)
233233

234234
throw std::runtime_error(strprintf("\"%s\"", connect_reply.full));
235235
} catch (const std::runtime_error& e) {
236-
Log("Error connecting to %s: %s", to.ToString(), e.what());
236+
Log("Error connecting to %s: %s", to.ToStringAddrPort(), e.what());
237237
CheckControlSock();
238238
return false;
239239
}
@@ -302,7 +302,7 @@ std::unique_ptr<Sock> Session::Hello() const
302302
}
303303

304304
if (!ConnectSocketDirectly(m_control_host, *sock, nConnectTimeout, true)) {
305-
throw std::runtime_error(strprintf("Cannot connect to %s", m_control_host.ToString()));
305+
throw std::runtime_error(strprintf("Cannot connect to %s", m_control_host.ToStringAddrPort()));
306306
}
307307

308308
SendRequestAndGetReply(*sock, "HELLO VERSION MIN=3.1 MAX=3.1");
@@ -371,7 +371,7 @@ void Session::CreateIfNotCreatedAlready()
371371
const auto session_type = m_transient ? "transient" : "persistent";
372372
const auto session_id = GetRandHash().GetHex().substr(0, 10); // full is overkill, too verbose in the logs
373373

374-
Log("Creating %s SAM session %s with %s", session_type, session_id, m_control_host.ToString());
374+
Log("Creating %s SAM session %s with %s", session_type, session_id, m_control_host.ToStringAddrPort());
375375

376376
auto sock = Hello();
377377

@@ -408,7 +408,7 @@ void Session::CreateIfNotCreatedAlready()
408408
Log("%s SAM session %s created, my address=%s",
409409
Capitalize(session_type),
410410
m_session_id,
411-
m_my_addr.ToString());
411+
m_my_addr.ToStringAddrPort());
412412
}
413413

414414
std::unique_ptr<Sock> Session::StreamAccept()

src/init.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1798,7 +1798,7 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info)
17981798
if (connOptions.onion_binds.size() > 1) {
17991799
InitWarning(strprintf(_("More than one onion bind address is provided. Using %s "
18001800
"for the automatically created Tor onion service."),
1801-
onion_service_target.ToStringIPPort()));
1801+
onion_service_target.ToStringAddrPort()));
18021802
}
18031803
StartTorControl(onion_service_target);
18041804
}

src/mapport.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ static bool NatpmpMapping(natpmp_t* natpmp, const struct in_addr& external_ipv4_
104104
AddLocal(external, LOCAL_MAPPED);
105105
external_ip_discovered = true;
106106
}
107-
LogPrintf("natpmp: Port mapping successful. External address = %s\n", external.ToString());
107+
LogPrintf("natpmp: Port mapping successful. External address = %s\n", external.ToStringAddrPort());
108108
return true;
109109
} else {
110110
LogPrintf("natpmp: Port mapping failed.\n");
@@ -177,7 +177,7 @@ static bool ProcessUpnp()
177177
if (externalIPAddress[0]) {
178178
CNetAddr resolved;
179179
if (LookupHost(externalIPAddress, resolved, false)) {
180-
LogPrintf("UPnP: ExternalIPAddress = %s\n", resolved.ToString());
180+
LogPrintf("UPnP: ExternalIPAddress = %s\n", resolved.ToStringAddr());
181181
AddLocal(resolved, LOCAL_MAPPED);
182182
}
183183
} else {

0 commit comments

Comments
 (0)