Skip to content

Commit 96c791d

Browse files
committed
net: remove CService::ToString() use ToStringAddrPort() instead
Both methods do the same thing, so simplify to having just one. `ToString()` is too generic in this case and it is unclear what it does, given that there are similar methods: `ToStringAddr()` (inherited from `CNetAddr`), `ToStringPort()` and `ToStringAddrPort()`.
1 parent 944a9de commit 96c791d

16 files changed

+79
-86
lines changed

src/addrman.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -481,7 +481,7 @@ void AddrManImpl::ClearNew(int nUBucket, int nUBucketPos)
481481
assert(infoDelete.nRefCount > 0);
482482
infoDelete.nRefCount--;
483483
vvNew[nUBucket][nUBucketPos] = -1;
484-
LogPrint(BCLog::ADDRMAN, "Removed %s from new[%i][%i]\n", infoDelete.ToString(), nUBucket, nUBucketPos);
484+
LogPrint(BCLog::ADDRMAN, "Removed %s from new[%i][%i]\n", infoDelete.ToStringAddrPort(), nUBucket, nUBucketPos);
485485
if (infoDelete.nRefCount == 0) {
486486
Delete(nIdDelete);
487487
}
@@ -534,7 +534,7 @@ void AddrManImpl::MakeTried(AddrInfo& info, int nId)
534534
vvNew[nUBucket][nUBucketPos] = nIdEvict;
535535
nNew++;
536536
LogPrint(BCLog::ADDRMAN, "Moved %s from tried[%i][%i] to new[%i][%i] to make space\n",
537-
infoOld.ToString(), nKBucket, nKBucketPos, nUBucket, nUBucketPos);
537+
infoOld.ToStringAddrPort(), nKBucket, nKBucketPos, nUBucket, nUBucketPos);
538538
}
539539
assert(vvTried[nKBucket][nKBucketPos] == -1);
540540

@@ -610,7 +610,7 @@ bool AddrManImpl::AddSingle(const CAddress& addr, const CNetAddr& source, std::c
610610
pinfo->nRefCount++;
611611
vvNew[nUBucket][nUBucketPos] = nId;
612612
LogPrint(BCLog::ADDRMAN, "Added %s mapped to AS%i to new[%i][%i]\n",
613-
addr.ToString(), m_netgroupman.GetMappedAS(addr), nUBucket, nUBucketPos);
613+
addr.ToStringAddrPort(), m_netgroupman.GetMappedAS(addr), nUBucket, nUBucketPos);
614614
} else {
615615
if (pinfo->nRefCount == 0) {
616616
Delete(nId);
@@ -661,15 +661,15 @@ bool AddrManImpl::Good_(const CService& addr, bool test_before_evict, NodeSecond
661661
// Output the entry we'd be colliding with, for debugging purposes
662662
auto colliding_entry = mapInfo.find(vvTried[tried_bucket][tried_bucket_pos]);
663663
LogPrint(BCLog::ADDRMAN, "Collision with %s while attempting to move %s to tried table. Collisions=%d\n",
664-
colliding_entry != mapInfo.end() ? colliding_entry->second.ToString() : "",
665-
addr.ToString(),
664+
colliding_entry != mapInfo.end() ? colliding_entry->second.ToStringAddrPort() : "",
665+
addr.ToStringAddrPort(),
666666
m_tried_collisions.size());
667667
return false;
668668
} else {
669669
// move nId to the tried tables
670670
MakeTried(info, nId);
671671
LogPrint(BCLog::ADDRMAN, "Moved %s mapped to AS%i to tried[%i][%i]\n",
672-
addr.ToString(), m_netgroupman.GetMappedAS(addr), tried_bucket, tried_bucket_pos);
672+
addr.ToStringAddrPort(), m_netgroupman.GetMappedAS(addr), tried_bucket, tried_bucket_pos);
673673
return true;
674674
}
675675
}
@@ -738,7 +738,7 @@ std::pair<CAddress, NodeSeconds> AddrManImpl::Select_(bool newOnly) const
738738
const AddrInfo& info{it_found->second};
739739
// With probability GetChance() * fChanceFactor, return the entry.
740740
if (insecure_rand.randbits(30) < fChanceFactor * info.GetChance() * (1 << 30)) {
741-
LogPrint(BCLog::ADDRMAN, "Selected %s from tried\n", info.ToString());
741+
LogPrint(BCLog::ADDRMAN, "Selected %s from tried\n", info.ToStringAddrPort());
742742
return {info, info.m_last_try};
743743
}
744744
// Otherwise start over with a (likely) different bucket, and increased chance factor.
@@ -766,7 +766,7 @@ std::pair<CAddress, NodeSeconds> AddrManImpl::Select_(bool newOnly) const
766766
const AddrInfo& info{it_found->second};
767767
// With probability GetChance() * fChanceFactor, return the entry.
768768
if (insecure_rand.randbits(30) < fChanceFactor * info.GetChance() * (1 << 30)) {
769-
LogPrint(BCLog::ADDRMAN, "Selected %s from new\n", info.ToString());
769+
LogPrint(BCLog::ADDRMAN, "Selected %s from new\n", info.ToStringAddrPort());
770770
return {info, info.m_last_try};
771771
}
772772
// Otherwise start over with a (likely) different bucket, and increased chance factor.
@@ -883,7 +883,7 @@ void AddrManImpl::ResolveCollisions_()
883883

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

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

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: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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/mapport.cpp

Lines changed: 1 addition & 1 deletion
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");

src/net.cpp

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ static std::vector<CAddress> ConvertSeeds(const std::vector<uint8_t> &vSeedsIn)
196196
s >> endpoint;
197197
CAddress addr{endpoint, GetDesirableServiceFlags(NODE_NONE)};
198198
addr.nTime = rng.rand_uniform_delay(Now<NodeSeconds>() - one_week, -one_week);
199-
LogPrint(BCLog::NET, "Added hardcoded seed: %s\n", addr.ToString());
199+
LogPrint(BCLog::NET, "Added hardcoded seed: %s\n", addr.ToStringAddrPort());
200200
vSeedsOut.push_back(addr);
201201
}
202202
return vSeedsOut;
@@ -258,7 +258,7 @@ std::optional<CService> GetLocalAddrForPeer(CNode& node)
258258
}
259259
if (addrLocal.IsRoutable() || gArgs.GetBoolArg("-addrmantest", false))
260260
{
261-
LogPrint(BCLog::NET, "Advertising address %s to peer=%d\n", addrLocal.ToString(), node.GetId());
261+
LogPrint(BCLog::NET, "Advertising address %s to peer=%d\n", addrLocal.ToStringAddrPort(), node.GetId());
262262
return addrLocal;
263263
}
264264
// Address is unroutable. Don't advertise.
@@ -295,7 +295,7 @@ bool AddLocal(const CService& addr_, int nScore)
295295
if (!IsReachable(addr))
296296
return false;
297297

298-
LogPrintf("AddLocal(%s,%i)\n", addr.ToString(), nScore);
298+
LogPrintf("AddLocal(%s,%i)\n", addr.ToStringAddrPort(), nScore);
299299

300300
{
301301
LOCK(g_maplocalhost_mutex);
@@ -318,7 +318,7 @@ bool AddLocal(const CNetAddr &addr, int nScore)
318318
void RemoveLocal(const CService& addr)
319319
{
320320
LOCK(g_maplocalhost_mutex);
321-
LogPrintf("RemoveLocal(%s)\n", addr.ToString());
321+
LogPrintf("RemoveLocal(%s)\n", addr.ToStringAddrPort());
322322
mapLocalHost.erase(addr);
323323
}
324324

@@ -452,7 +452,7 @@ CNode* CConnman::ConnectNode(CAddress addrConnect, const char *pszDest, bool fCo
452452
}
453453

454454
LogPrintLevel(BCLog::NET, BCLog::Level::Debug, "trying connection %s lastseen=%.1fhrs\n",
455-
pszDest ? pszDest : addrConnect.ToString(),
455+
pszDest ? pszDest : addrConnect.ToStringAddrPort(),
456456
Ticks<HoursDouble>(pszDest ? 0h : Now<NodeSeconds>() - addrConnect.nTime));
457457

458458
// Resolve
@@ -464,7 +464,7 @@ CNode* CConnman::ConnectNode(CAddress addrConnect, const char *pszDest, bool fCo
464464
const CService rnd{resolved[GetRand(resolved.size())]};
465465
addrConnect = CAddress{MaybeFlipIPv6toCJDNS(rnd), NODE_NONE};
466466
if (!addrConnect.IsValid()) {
467-
LogPrint(BCLog::NET, "Resolver returned invalid address %s for %s\n", addrConnect.ToString(), pszDest);
467+
LogPrint(BCLog::NET, "Resolver returned invalid address %s for %s\n", addrConnect.ToStringAddrPort(), pszDest);
468468
return nullptr;
469469
}
470470
// It is possible that we already have a connection to the IP/port pszDest resolved to.
@@ -593,7 +593,7 @@ void CNode::SetAddrLocal(const CService& addrLocalIn) {
593593
AssertLockNotHeld(m_addr_local_mutex);
594594
LOCK(m_addr_local_mutex);
595595
if (addrLocal.IsValid()) {
596-
error("Addr local already set for node: %i. Refusing to change from %s to %s", id, addrLocal.ToString(), addrLocalIn.ToString());
596+
error("Addr local already set for node: %i. Refusing to change from %s to %s", id, addrLocal.ToStringAddrPort(), addrLocalIn.ToStringAddrPort());
597597
} else {
598598
addrLocal = addrLocalIn;
599599
}
@@ -644,7 +644,7 @@ void CNode::CopyStats(CNodeStats& stats)
644644

645645
// Leave string empty if addrLocal invalid (not filled in yet)
646646
CService addrLocalUnlocked = GetAddrLocal();
647-
stats.addrLocal = addrLocalUnlocked.IsValid() ? addrLocalUnlocked.ToString() : "";
647+
stats.addrLocal = addrLocalUnlocked.IsValid() ? addrLocalUnlocked.ToStringAddrPort() : "";
648648

649649
X(m_conn_type);
650650
}
@@ -967,12 +967,12 @@ void CConnman::CreateNodeFromAcceptedSocket(std::unique_ptr<Sock>&& sock,
967967
}
968968

969969
if (!fNetworkActive) {
970-
LogPrint(BCLog::NET, "connection from %s dropped: not accepting new connections\n", addr.ToString());
970+
LogPrint(BCLog::NET, "connection from %s dropped: not accepting new connections\n", addr.ToStringAddrPort());
971971
return;
972972
}
973973

974974
if (!sock->IsSelectable()) {
975-
LogPrintf("connection from %s dropped: non-selectable socket\n", addr.ToString());
975+
LogPrintf("connection from %s dropped: non-selectable socket\n", addr.ToStringAddrPort());
976976
return;
977977
}
978978

@@ -981,22 +981,22 @@ void CConnman::CreateNodeFromAcceptedSocket(std::unique_ptr<Sock>&& sock,
981981
const int on{1};
982982
if (sock->SetSockOpt(IPPROTO_TCP, TCP_NODELAY, &on, sizeof(on)) == SOCKET_ERROR) {
983983
LogPrint(BCLog::NET, "connection from %s: unable to set TCP_NODELAY, continuing anyway\n",
984-
addr.ToString());
984+
addr.ToStringAddrPort());
985985
}
986986

987987
// Don't accept connections from banned peers.
988988
bool banned = m_banman && m_banman->IsBanned(addr);
989989
if (!NetPermissions::HasFlag(permission_flags, NetPermissionFlags::NoBan) && banned)
990990
{
991-
LogPrint(BCLog::NET, "connection from %s dropped (banned)\n", addr.ToString());
991+
LogPrint(BCLog::NET, "connection from %s dropped (banned)\n", addr.ToStringAddrPort());
992992
return;
993993
}
994994

995995
// Only accept connections from discouraged peers if our inbound slots aren't (almost) full.
996996
bool discouraged = m_banman && m_banman->IsDiscouraged(addr);
997997
if (!NetPermissions::HasFlag(permission_flags, NetPermissionFlags::NoBan) && nInbound + 1 >= nMaxInbound && discouraged)
998998
{
999-
LogPrint(BCLog::NET, "connection from %s dropped (discouraged)\n", addr.ToString());
999+
LogPrint(BCLog::NET, "connection from %s dropped (discouraged)\n", addr.ToStringAddrPort());
10001000
return;
10011001
}
10021002

@@ -1034,7 +1034,7 @@ void CConnman::CreateNodeFromAcceptedSocket(std::unique_ptr<Sock>&& sock,
10341034
pnode->AddRef();
10351035
m_msgproc->InitializeNode(*pnode, nodeServices);
10361036

1037-
LogPrint(BCLog::NET, "connection from %s accepted\n", addr.ToString());
1037+
LogPrint(BCLog::NET, "connection from %s accepted\n", addr.ToStringAddrPort());
10381038

10391039
{
10401040
LOCK(m_nodes_mutex);
@@ -1771,7 +1771,7 @@ void CConnman::ThreadOpenConnections(const std::vector<std::string> connect)
17711771
!HasAllDesirableServiceFlags(addr.nServices) ||
17721772
setConnected.count(m_netgroupman.GetGroup(addr))) continue;
17731773
addrConnect = addr;
1774-
LogPrint(BCLog::NET, "Trying to make an anchor connection to %s\n", addrConnect.ToString());
1774+
LogPrint(BCLog::NET, "Trying to make an anchor connection to %s\n", addrConnect.ToStringAddrPort());
17751775
break;
17761776
}
17771777

@@ -1851,7 +1851,7 @@ void CConnman::ThreadOpenConnections(const std::vector<std::string> connect)
18511851
if (!interruptNet.sleep_for(rng.rand_uniform_duration<CThreadInterrupt::Clock>(FEELER_SLEEP_WINDOW))) {
18521852
return;
18531853
}
1854-
LogPrint(BCLog::NET, "Making feeler connection to %s\n", addrConnect.ToString());
1854+
LogPrint(BCLog::NET, "Making feeler connection to %s\n", addrConnect.ToStringAddrPort());
18551855
}
18561856

18571857
OpenNetworkConnection(addrConnect, (int)setConnected.size() >= std::min(nMaxConnections - 1, 2), &grant, nullptr, conn_type);
@@ -2080,7 +2080,7 @@ bool CConnman::BindListenPort(const CService& addrBind, bilingual_str& strError,
20802080
socklen_t len = sizeof(sockaddr);
20812081
if (!addrBind.GetSockAddr((struct sockaddr*)&sockaddr, &len))
20822082
{
2083-
strError = strprintf(Untranslated("Bind address family for %s not supported"), addrBind.ToString());
2083+
strError = strprintf(Untranslated("Bind address family for %s not supported"), addrBind.ToStringAddrPort());
20842084
LogPrintLevel(BCLog::NET, BCLog::Level::Error, "%s\n", strError.original);
20852085
return false;
20862086
}
@@ -2120,13 +2120,13 @@ bool CConnman::BindListenPort(const CService& addrBind, bilingual_str& strError,
21202120
if (sock->Bind(reinterpret_cast<struct sockaddr*>(&sockaddr), len) == SOCKET_ERROR) {
21212121
int nErr = WSAGetLastError();
21222122
if (nErr == WSAEADDRINUSE)
2123-
strError = strprintf(_("Unable to bind to %s on this computer. %s is probably already running."), addrBind.ToString(), PACKAGE_NAME);
2123+
strError = strprintf(_("Unable to bind to %s on this computer. %s is probably already running."), addrBind.ToStringAddrPort(), PACKAGE_NAME);
21242124
else
2125-
strError = strprintf(_("Unable to bind to %s on this computer (bind returned error %s)"), addrBind.ToString(), NetworkErrorString(nErr));
2125+
strError = strprintf(_("Unable to bind to %s on this computer (bind returned error %s)"), addrBind.ToStringAddrPort(), NetworkErrorString(nErr));
21262126
LogPrintLevel(BCLog::NET, BCLog::Level::Error, "%s\n", strError.original);
21272127
return false;
21282128
}
2129-
LogPrintf("Bound to %s\n", addrBind.ToString());
2129+
LogPrintf("Bound to %s\n", addrBind.ToStringAddrPort());
21302130

21312131
// Listen for incoming connections
21322132
if (sock->Listen(SOMAXCONN) == SOCKET_ERROR)
@@ -2848,7 +2848,7 @@ void CaptureMessageToFile(const CAddress& addr,
28482848
auto now = GetTime<std::chrono::microseconds>();
28492849

28502850
// Windows folder names cannot include a colon
2851-
std::string clean_addr = addr.ToString();
2851+
std::string clean_addr = addr.ToStringAddrPort();
28522852
std::replace(clean_addr.begin(), clean_addr.end(), ':', '_');
28532853

28542854
fs::path base_path = gArgs.GetDataDirNet() / "message_capture" / fs::u8path(clean_addr);

0 commit comments

Comments
 (0)