mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-04-29 14:59:39 -04:00
Merge bitcoin/bitcoin#25619: net: avoid overriding non-virtual ToString() in CService and use better naming
c9d548c91f
net: remove CService::ToStringPort() (Vasil Dimov)fd4f0f41e9
gui: simplify OptionsDialog::updateDefaultProxyNets() (Vasil Dimov)96c791dd20
net: remove CService::ToString() use ToStringAddrPort() instead (Vasil Dimov)944a9de08a
net: remove CNetAddr::ToString() and use ToStringAddr() instead (Vasil Dimov)043b9de59a
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](https://github.com/bitcoin/bitcoin/pull/25349/#issuecomment-1185226396). "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: utACKc9d548c91f
achow101: ACKc9d548c91f
jonatack: re-ACKc9d548c91f
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: ACKc9d548c91f
Tree-SHA512: 633fb044bdecf9f551b5e3314c385bf10e2b78e8027dc51ec324b66b018da35e5b01f3fbe6295bbc455ea1bcd1a3629de1918d28de510693afaf6a52693f2157
This commit is contained in:
commit
35fbc97208
20 changed files with 135 additions and 157 deletions
|
@ -486,7 +486,7 @@ void AddrManImpl::ClearNew(int nUBucket, int nUBucketPos)
|
|||
assert(infoDelete.nRefCount > 0);
|
||||
infoDelete.nRefCount--;
|
||||
vvNew[nUBucket][nUBucketPos] = -1;
|
||||
LogPrint(BCLog::ADDRMAN, "Removed %s from new[%i][%i]\n", infoDelete.ToString(), nUBucket, nUBucketPos);
|
||||
LogPrint(BCLog::ADDRMAN, "Removed %s from new[%i][%i]\n", infoDelete.ToStringAddrPort(), nUBucket, nUBucketPos);
|
||||
if (infoDelete.nRefCount == 0) {
|
||||
Delete(nIdDelete);
|
||||
}
|
||||
|
@ -542,7 +542,7 @@ void AddrManImpl::MakeTried(AddrInfo& info, int nId)
|
|||
nNew++;
|
||||
m_network_counts[infoOld.GetNetwork()].n_new++;
|
||||
LogPrint(BCLog::ADDRMAN, "Moved %s from tried[%i][%i] to new[%i][%i] to make space\n",
|
||||
infoOld.ToString(), nKBucket, nKBucketPos, nUBucket, nUBucketPos);
|
||||
infoOld.ToStringAddrPort(), nKBucket, nKBucketPos, nUBucket, nUBucketPos);
|
||||
}
|
||||
assert(vvTried[nKBucket][nKBucketPos] == -1);
|
||||
|
||||
|
@ -618,7 +618,7 @@ bool AddrManImpl::AddSingle(const CAddress& addr, const CNetAddr& source, std::c
|
|||
pinfo->nRefCount++;
|
||||
vvNew[nUBucket][nUBucketPos] = nId;
|
||||
LogPrint(BCLog::ADDRMAN, "Added %s mapped to AS%i to new[%i][%i]\n",
|
||||
addr.ToString(), m_netgroupman.GetMappedAS(addr), nUBucket, nUBucketPos);
|
||||
addr.ToStringAddrPort(), m_netgroupman.GetMappedAS(addr), nUBucket, nUBucketPos);
|
||||
} else {
|
||||
if (pinfo->nRefCount == 0) {
|
||||
Delete(nId);
|
||||
|
@ -669,15 +669,15 @@ bool AddrManImpl::Good_(const CService& addr, bool test_before_evict, NodeSecond
|
|||
// Output the entry we'd be colliding with, for debugging purposes
|
||||
auto colliding_entry = mapInfo.find(vvTried[tried_bucket][tried_bucket_pos]);
|
||||
LogPrint(BCLog::ADDRMAN, "Collision with %s while attempting to move %s to tried table. Collisions=%d\n",
|
||||
colliding_entry != mapInfo.end() ? colliding_entry->second.ToString() : "",
|
||||
addr.ToString(),
|
||||
colliding_entry != mapInfo.end() ? colliding_entry->second.ToStringAddrPort() : "",
|
||||
addr.ToStringAddrPort(),
|
||||
m_tried_collisions.size());
|
||||
return false;
|
||||
} else {
|
||||
// move nId to the tried tables
|
||||
MakeTried(info, nId);
|
||||
LogPrint(BCLog::ADDRMAN, "Moved %s mapped to AS%i to tried[%i][%i]\n",
|
||||
addr.ToString(), m_netgroupman.GetMappedAS(addr), tried_bucket, tried_bucket_pos);
|
||||
addr.ToStringAddrPort(), m_netgroupman.GetMappedAS(addr), tried_bucket, tried_bucket_pos);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -689,7 +689,7 @@ bool AddrManImpl::Add_(const std::vector<CAddress>& vAddr, const CNetAddr& sourc
|
|||
added += AddSingle(*it, source, time_penalty) ? 1 : 0;
|
||||
}
|
||||
if (added > 0) {
|
||||
LogPrint(BCLog::ADDRMAN, "Added %i addresses (of %i) from %s: %i tried, %i new\n", added, vAddr.size(), source.ToString(), nTried, nNew);
|
||||
LogPrint(BCLog::ADDRMAN, "Added %i addresses (of %i) from %s: %i tried, %i new\n", added, vAddr.size(), source.ToStringAddr(), nTried, nNew);
|
||||
}
|
||||
return added > 0;
|
||||
}
|
||||
|
@ -746,7 +746,7 @@ std::pair<CAddress, NodeSeconds> AddrManImpl::Select_(bool newOnly) const
|
|||
const AddrInfo& info{it_found->second};
|
||||
// With probability GetChance() * fChanceFactor, return the entry.
|
||||
if (insecure_rand.randbits(30) < fChanceFactor * info.GetChance() * (1 << 30)) {
|
||||
LogPrint(BCLog::ADDRMAN, "Selected %s from tried\n", info.ToString());
|
||||
LogPrint(BCLog::ADDRMAN, "Selected %s from tried\n", info.ToStringAddrPort());
|
||||
return {info, info.m_last_try};
|
||||
}
|
||||
// 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
|
|||
const AddrInfo& info{it_found->second};
|
||||
// With probability GetChance() * fChanceFactor, return the entry.
|
||||
if (insecure_rand.randbits(30) < fChanceFactor * info.GetChance() * (1 << 30)) {
|
||||
LogPrint(BCLog::ADDRMAN, "Selected %s from new\n", info.ToString());
|
||||
LogPrint(BCLog::ADDRMAN, "Selected %s from new\n", info.ToStringAddrPort());
|
||||
return {info, info.m_last_try};
|
||||
}
|
||||
// Otherwise start over with a (likely) different bucket, and increased chance factor.
|
||||
|
@ -891,7 +891,7 @@ void AddrManImpl::ResolveCollisions_()
|
|||
|
||||
// Give address at least 60 seconds to successfully connect
|
||||
if (current_time - info_old.m_last_try > 60s) {
|
||||
LogPrint(BCLog::ADDRMAN, "Replacing %s with %s in tried table\n", info_old.ToString(), info_new.ToString());
|
||||
LogPrint(BCLog::ADDRMAN, "Replacing %s with %s in tried table\n", info_old.ToStringAddrPort(), info_new.ToStringAddrPort());
|
||||
|
||||
// Replaces an existing address already in the tried table with the new address
|
||||
Good_(info_new, false, current_time);
|
||||
|
@ -901,7 +901,7 @@ void AddrManImpl::ResolveCollisions_()
|
|||
// If the collision hasn't resolved in some reasonable amount of time,
|
||||
// just evict the old entry -- we must not be able to
|
||||
// connect to it for some reason.
|
||||
LogPrint(BCLog::ADDRMAN, "Unable to test; replacing %s with %s in tried table anyway\n", info_old.ToString(), info_new.ToString());
|
||||
LogPrint(BCLog::ADDRMAN, "Unable to test; replacing %s with %s in tried table anyway\n", info_old.ToStringAddrPort(), info_new.ToStringAddrPort());
|
||||
Good_(info_new, false, current_time);
|
||||
erase_collision = true;
|
||||
}
|
||||
|
|
|
@ -160,7 +160,7 @@ static bool HTTPReq_JSONRPC(const std::any& context, HTTPRequest* req)
|
|||
|
||||
JSONRPCRequest jreq;
|
||||
jreq.context = context;
|
||||
jreq.peerAddr = req->GetPeer().ToString();
|
||||
jreq.peerAddr = req->GetPeer().ToStringAddrPort();
|
||||
if (!RPCAuthorized(authHeader.second, jreq.authUser)) {
|
||||
LogPrintf("ThreadRPCServer incorrect password attempt from %s\n", jreq.peerAddr);
|
||||
|
||||
|
|
|
@ -222,7 +222,7 @@ static void http_request_cb(struct evhttp_request* req, void* arg)
|
|||
// Early address-based allow check
|
||||
if (!ClientAllowed(hreq->GetPeer())) {
|
||||
LogPrint(BCLog::HTTP, "HTTP request from %s rejected: Client network is not allowed RPC access\n",
|
||||
hreq->GetPeer().ToString());
|
||||
hreq->GetPeer().ToStringAddrPort());
|
||||
hreq->WriteReply(HTTP_FORBIDDEN);
|
||||
return;
|
||||
}
|
||||
|
@ -230,13 +230,13 @@ static void http_request_cb(struct evhttp_request* req, void* arg)
|
|||
// Early reject unknown HTTP methods
|
||||
if (hreq->GetRequestMethod() == HTTPRequest::UNKNOWN) {
|
||||
LogPrint(BCLog::HTTP, "HTTP request from %s rejected: Unknown HTTP request method\n",
|
||||
hreq->GetPeer().ToString());
|
||||
hreq->GetPeer().ToStringAddrPort());
|
||||
hreq->WriteReply(HTTP_BAD_METHOD);
|
||||
return;
|
||||
}
|
||||
|
||||
LogPrint(BCLog::HTTP, "Received a %s request for %s from %s\n",
|
||||
RequestMethodString(hreq->GetRequestMethod()), SanitizeString(hreq->GetURI(), SAFE_CHARS_URI).substr(0, 100), hreq->GetPeer().ToString());
|
||||
RequestMethodString(hreq->GetRequestMethod()), SanitizeString(hreq->GetURI(), SAFE_CHARS_URI).substr(0, 100), hreq->GetPeer().ToStringAddrPort());
|
||||
|
||||
// Find registered handler for prefix
|
||||
std::string strURI = hreq->GetURI();
|
||||
|
|
10
src/i2p.cpp
10
src/i2p.cpp
|
@ -206,7 +206,7 @@ bool Session::Connect(const CService& to, Connection& conn, bool& proxy_error)
|
|||
}
|
||||
|
||||
const Reply& lookup_reply =
|
||||
SendRequestAndGetReply(*sock, strprintf("NAMING LOOKUP NAME=%s", to.ToStringIP()));
|
||||
SendRequestAndGetReply(*sock, strprintf("NAMING LOOKUP NAME=%s", to.ToStringAddr()));
|
||||
|
||||
const std::string& dest = lookup_reply.Get("VALUE");
|
||||
|
||||
|
@ -233,7 +233,7 @@ bool Session::Connect(const CService& to, Connection& conn, bool& proxy_error)
|
|||
|
||||
throw std::runtime_error(strprintf("\"%s\"", connect_reply.full));
|
||||
} catch (const std::runtime_error& e) {
|
||||
Log("Error connecting to %s: %s", to.ToString(), e.what());
|
||||
Log("Error connecting to %s: %s", to.ToStringAddrPort(), e.what());
|
||||
CheckControlSock();
|
||||
return false;
|
||||
}
|
||||
|
@ -302,7 +302,7 @@ std::unique_ptr<Sock> Session::Hello() const
|
|||
}
|
||||
|
||||
if (!ConnectSocketDirectly(m_control_host, *sock, nConnectTimeout, true)) {
|
||||
throw std::runtime_error(strprintf("Cannot connect to %s", m_control_host.ToString()));
|
||||
throw std::runtime_error(strprintf("Cannot connect to %s", m_control_host.ToStringAddrPort()));
|
||||
}
|
||||
|
||||
SendRequestAndGetReply(*sock, "HELLO VERSION MIN=3.1 MAX=3.1");
|
||||
|
@ -371,7 +371,7 @@ void Session::CreateIfNotCreatedAlready()
|
|||
const auto session_type = m_transient ? "transient" : "persistent";
|
||||
const auto session_id = GetRandHash().GetHex().substr(0, 10); // full is overkill, too verbose in the logs
|
||||
|
||||
Log("Creating %s SAM session %s with %s", session_type, session_id, m_control_host.ToString());
|
||||
Log("Creating %s SAM session %s with %s", session_type, session_id, m_control_host.ToStringAddrPort());
|
||||
|
||||
auto sock = Hello();
|
||||
|
||||
|
@ -408,7 +408,7 @@ void Session::CreateIfNotCreatedAlready()
|
|||
Log("%s SAM session %s created, my address=%s",
|
||||
Capitalize(session_type),
|
||||
m_session_id,
|
||||
m_my_addr.ToString());
|
||||
m_my_addr.ToStringAddrPort());
|
||||
}
|
||||
|
||||
std::unique_ptr<Sock> Session::StreamAccept()
|
||||
|
|
|
@ -1798,7 +1798,7 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info)
|
|||
if (connOptions.onion_binds.size() > 1) {
|
||||
InitWarning(strprintf(_("More than one onion bind address is provided. Using %s "
|
||||
"for the automatically created Tor onion service."),
|
||||
onion_service_target.ToStringIPPort()));
|
||||
onion_service_target.ToStringAddrPort()));
|
||||
}
|
||||
StartTorControl(onion_service_target);
|
||||
}
|
||||
|
|
|
@ -104,7 +104,7 @@ static bool NatpmpMapping(natpmp_t* natpmp, const struct in_addr& external_ipv4_
|
|||
AddLocal(external, LOCAL_MAPPED);
|
||||
external_ip_discovered = true;
|
||||
}
|
||||
LogPrintf("natpmp: Port mapping successful. External address = %s\n", external.ToString());
|
||||
LogPrintf("natpmp: Port mapping successful. External address = %s\n", external.ToStringAddrPort());
|
||||
return true;
|
||||
} else {
|
||||
LogPrintf("natpmp: Port mapping failed.\n");
|
||||
|
@ -177,7 +177,7 @@ static bool ProcessUpnp()
|
|||
if (externalIPAddress[0]) {
|
||||
CNetAddr resolved;
|
||||
if (LookupHost(externalIPAddress, resolved, false)) {
|
||||
LogPrintf("UPnP: ExternalIPAddress = %s\n", resolved.ToString());
|
||||
LogPrintf("UPnP: ExternalIPAddress = %s\n", resolved.ToStringAddr());
|
||||
AddLocal(resolved, LOCAL_MAPPED);
|
||||
}
|
||||
} else {
|
||||
|
|
54
src/net.cpp
54
src/net.cpp
|
@ -196,7 +196,7 @@ static std::vector<CAddress> ConvertSeeds(const std::vector<uint8_t> &vSeedsIn)
|
|||
s >> endpoint;
|
||||
CAddress addr{endpoint, GetDesirableServiceFlags(NODE_NONE)};
|
||||
addr.nTime = rng.rand_uniform_delay(Now<NodeSeconds>() - one_week, -one_week);
|
||||
LogPrint(BCLog::NET, "Added hardcoded seed: %s\n", addr.ToString());
|
||||
LogPrint(BCLog::NET, "Added hardcoded seed: %s\n", addr.ToStringAddrPort());
|
||||
vSeedsOut.push_back(addr);
|
||||
}
|
||||
return vSeedsOut;
|
||||
|
@ -258,7 +258,7 @@ std::optional<CService> GetLocalAddrForPeer(CNode& node)
|
|||
}
|
||||
if (addrLocal.IsRoutable() || gArgs.GetBoolArg("-addrmantest", false))
|
||||
{
|
||||
LogPrint(BCLog::NET, "Advertising address %s to peer=%d\n", addrLocal.ToString(), node.GetId());
|
||||
LogPrint(BCLog::NET, "Advertising address %s to peer=%d\n", addrLocal.ToStringAddrPort(), node.GetId());
|
||||
return addrLocal;
|
||||
}
|
||||
// Address is unroutable. Don't advertise.
|
||||
|
@ -295,7 +295,7 @@ bool AddLocal(const CService& addr_, int nScore)
|
|||
if (!IsReachable(addr))
|
||||
return false;
|
||||
|
||||
LogPrintf("AddLocal(%s,%i)\n", addr.ToString(), nScore);
|
||||
LogPrintf("AddLocal(%s,%i)\n", addr.ToStringAddrPort(), nScore);
|
||||
|
||||
{
|
||||
LOCK(g_maplocalhost_mutex);
|
||||
|
@ -318,7 +318,7 @@ bool AddLocal(const CNetAddr &addr, int nScore)
|
|||
void RemoveLocal(const CService& addr)
|
||||
{
|
||||
LOCK(g_maplocalhost_mutex);
|
||||
LogPrintf("RemoveLocal(%s)\n", addr.ToString());
|
||||
LogPrintf("RemoveLocal(%s)\n", addr.ToStringAddrPort());
|
||||
mapLocalHost.erase(addr);
|
||||
}
|
||||
|
||||
|
@ -405,7 +405,7 @@ CNode* CConnman::FindNode(const CService& addr)
|
|||
|
||||
bool CConnman::AlreadyConnectedToAddress(const CAddress& addr)
|
||||
{
|
||||
return FindNode(static_cast<CNetAddr>(addr)) || FindNode(addr.ToStringIPPort());
|
||||
return FindNode(static_cast<CNetAddr>(addr)) || FindNode(addr.ToStringAddrPort());
|
||||
}
|
||||
|
||||
bool CConnman::CheckIncomingNonce(uint64_t nonce)
|
||||
|
@ -452,7 +452,7 @@ CNode* CConnman::ConnectNode(CAddress addrConnect, const char *pszDest, bool fCo
|
|||
}
|
||||
|
||||
LogPrintLevel(BCLog::NET, BCLog::Level::Debug, "trying connection %s lastseen=%.1fhrs\n",
|
||||
pszDest ? pszDest : addrConnect.ToString(),
|
||||
pszDest ? pszDest : addrConnect.ToStringAddrPort(),
|
||||
Ticks<HoursDouble>(pszDest ? 0h : Now<NodeSeconds>() - addrConnect.nTime));
|
||||
|
||||
// Resolve
|
||||
|
@ -464,7 +464,7 @@ CNode* CConnman::ConnectNode(CAddress addrConnect, const char *pszDest, bool fCo
|
|||
const CService rnd{resolved[GetRand(resolved.size())]};
|
||||
addrConnect = CAddress{MaybeFlipIPv6toCJDNS(rnd), NODE_NONE};
|
||||
if (!addrConnect.IsValid()) {
|
||||
LogPrint(BCLog::NET, "Resolver returned invalid address %s for %s\n", addrConnect.ToString(), pszDest);
|
||||
LogPrint(BCLog::NET, "Resolver returned invalid address %s for %s\n", addrConnect.ToStringAddrPort(), pszDest);
|
||||
return nullptr;
|
||||
}
|
||||
// It is possible that we already have a connection to the IP/port pszDest resolved to.
|
||||
|
@ -509,7 +509,7 @@ CNode* CConnman::ConnectNode(CAddress addrConnect, const char *pszDest, bool fCo
|
|||
if (!sock) {
|
||||
return nullptr;
|
||||
}
|
||||
connected = ConnectThroughProxy(proxy, addrConnect.ToStringIP(), addrConnect.GetPort(),
|
||||
connected = ConnectThroughProxy(proxy, addrConnect.ToStringAddr(), addrConnect.GetPort(),
|
||||
*sock, nConnectTimeout, proxyConnectionFailed);
|
||||
} else {
|
||||
// no proxy needed (none set for target network)
|
||||
|
@ -593,7 +593,7 @@ void CNode::SetAddrLocal(const CService& addrLocalIn) {
|
|||
AssertLockNotHeld(m_addr_local_mutex);
|
||||
LOCK(m_addr_local_mutex);
|
||||
if (addrLocal.IsValid()) {
|
||||
error("Addr local already set for node: %i. Refusing to change from %s to %s", id, addrLocal.ToString(), addrLocalIn.ToString());
|
||||
error("Addr local already set for node: %i. Refusing to change from %s to %s", id, addrLocal.ToStringAddrPort(), addrLocalIn.ToStringAddrPort());
|
||||
} else {
|
||||
addrLocal = addrLocalIn;
|
||||
}
|
||||
|
@ -644,7 +644,7 @@ void CNode::CopyStats(CNodeStats& stats)
|
|||
|
||||
// Leave string empty if addrLocal invalid (not filled in yet)
|
||||
CService addrLocalUnlocked = GetAddrLocal();
|
||||
stats.addrLocal = addrLocalUnlocked.IsValid() ? addrLocalUnlocked.ToString() : "";
|
||||
stats.addrLocal = addrLocalUnlocked.IsValid() ? addrLocalUnlocked.ToStringAddrPort() : "";
|
||||
|
||||
X(m_conn_type);
|
||||
}
|
||||
|
@ -973,12 +973,12 @@ void CConnman::CreateNodeFromAcceptedSocket(std::unique_ptr<Sock>&& sock,
|
|||
}
|
||||
|
||||
if (!fNetworkActive) {
|
||||
LogPrint(BCLog::NET, "connection from %s dropped: not accepting new connections\n", addr.ToString());
|
||||
LogPrint(BCLog::NET, "connection from %s dropped: not accepting new connections\n", addr.ToStringAddrPort());
|
||||
return;
|
||||
}
|
||||
|
||||
if (!sock->IsSelectable()) {
|
||||
LogPrintf("connection from %s dropped: non-selectable socket\n", addr.ToString());
|
||||
LogPrintf("connection from %s dropped: non-selectable socket\n", addr.ToStringAddrPort());
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -987,14 +987,14 @@ void CConnman::CreateNodeFromAcceptedSocket(std::unique_ptr<Sock>&& sock,
|
|||
const int on{1};
|
||||
if (sock->SetSockOpt(IPPROTO_TCP, TCP_NODELAY, &on, sizeof(on)) == SOCKET_ERROR) {
|
||||
LogPrint(BCLog::NET, "connection from %s: unable to set TCP_NODELAY, continuing anyway\n",
|
||||
addr.ToString());
|
||||
addr.ToStringAddrPort());
|
||||
}
|
||||
|
||||
// Don't accept connections from banned peers.
|
||||
bool banned = m_banman && m_banman->IsBanned(addr);
|
||||
if (!NetPermissions::HasFlag(permission_flags, NetPermissionFlags::NoBan) && banned)
|
||||
{
|
||||
LogPrint(BCLog::NET, "connection from %s dropped (banned)\n", addr.ToString());
|
||||
LogPrint(BCLog::NET, "connection from %s dropped (banned)\n", addr.ToStringAddrPort());
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1002,7 +1002,7 @@ void CConnman::CreateNodeFromAcceptedSocket(std::unique_ptr<Sock>&& sock,
|
|||
bool discouraged = m_banman && m_banman->IsDiscouraged(addr);
|
||||
if (!NetPermissions::HasFlag(permission_flags, NetPermissionFlags::NoBan) && nInbound + 1 >= nMaxInbound && discouraged)
|
||||
{
|
||||
LogPrint(BCLog::NET, "connection from %s dropped (discouraged)\n", addr.ToString());
|
||||
LogPrint(BCLog::NET, "connection from %s dropped (discouraged)\n", addr.ToStringAddrPort());
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1040,7 +1040,7 @@ void CConnman::CreateNodeFromAcceptedSocket(std::unique_ptr<Sock>&& sock,
|
|||
pnode->AddRef();
|
||||
m_msgproc->InitializeNode(*pnode, nodeServices);
|
||||
|
||||
LogPrint(BCLog::NET, "connection from %s accepted\n", addr.ToString());
|
||||
LogPrint(BCLog::NET, "connection from %s accepted\n", addr.ToStringAddrPort());
|
||||
|
||||
{
|
||||
LOCK(m_nodes_mutex);
|
||||
|
@ -1788,7 +1788,7 @@ void CConnman::ThreadOpenConnections(const std::vector<std::string> connect)
|
|||
!HasAllDesirableServiceFlags(addr.nServices) ||
|
||||
setConnected.count(m_netgroupman.GetGroup(addr))) continue;
|
||||
addrConnect = addr;
|
||||
LogPrint(BCLog::NET, "Trying to make an anchor connection to %s\n", addrConnect.ToString());
|
||||
LogPrint(BCLog::NET, "Trying to make an anchor connection to %s\n", addrConnect.ToStringAddrPort());
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1868,7 +1868,7 @@ void CConnman::ThreadOpenConnections(const std::vector<std::string> connect)
|
|||
if (!interruptNet.sleep_for(rng.rand_uniform_duration<CThreadInterrupt::Clock>(FEELER_SLEEP_WINDOW))) {
|
||||
return;
|
||||
}
|
||||
LogPrint(BCLog::NET, "Making feeler connection to %s\n", addrConnect.ToString());
|
||||
LogPrint(BCLog::NET, "Making feeler connection to %s\n", addrConnect.ToStringAddrPort());
|
||||
}
|
||||
|
||||
OpenNetworkConnection(addrConnect, (int)setConnected.size() >= std::min(nMaxConnections - 1, 2), &grant, nullptr, conn_type);
|
||||
|
@ -2097,7 +2097,7 @@ bool CConnman::BindListenPort(const CService& addrBind, bilingual_str& strError,
|
|||
socklen_t len = sizeof(sockaddr);
|
||||
if (!addrBind.GetSockAddr((struct sockaddr*)&sockaddr, &len))
|
||||
{
|
||||
strError = strprintf(Untranslated("Bind address family for %s not supported"), addrBind.ToString());
|
||||
strError = strprintf(Untranslated("Bind address family for %s not supported"), addrBind.ToStringAddrPort());
|
||||
LogPrintLevel(BCLog::NET, BCLog::Level::Error, "%s\n", strError.original);
|
||||
return false;
|
||||
}
|
||||
|
@ -2137,13 +2137,13 @@ bool CConnman::BindListenPort(const CService& addrBind, bilingual_str& strError,
|
|||
if (sock->Bind(reinterpret_cast<struct sockaddr*>(&sockaddr), len) == SOCKET_ERROR) {
|
||||
int nErr = WSAGetLastError();
|
||||
if (nErr == WSAEADDRINUSE)
|
||||
strError = strprintf(_("Unable to bind to %s on this computer. %s is probably already running."), addrBind.ToString(), PACKAGE_NAME);
|
||||
strError = strprintf(_("Unable to bind to %s on this computer. %s is probably already running."), addrBind.ToStringAddrPort(), PACKAGE_NAME);
|
||||
else
|
||||
strError = strprintf(_("Unable to bind to %s on this computer (bind returned error %s)"), addrBind.ToString(), NetworkErrorString(nErr));
|
||||
strError = strprintf(_("Unable to bind to %s on this computer (bind returned error %s)"), addrBind.ToStringAddrPort(), NetworkErrorString(nErr));
|
||||
LogPrintLevel(BCLog::NET, BCLog::Level::Error, "%s\n", strError.original);
|
||||
return false;
|
||||
}
|
||||
LogPrintf("Bound to %s\n", addrBind.ToString());
|
||||
LogPrintf("Bound to %s\n", addrBind.ToStringAddrPort());
|
||||
|
||||
// Listen for incoming connections
|
||||
if (sock->Listen(SOMAXCONN) == SOCKET_ERROR)
|
||||
|
@ -2173,7 +2173,7 @@ void Discover()
|
|||
for (const CNetAddr &addr : vaddr)
|
||||
{
|
||||
if (AddLocal(addr, LOCAL_IF))
|
||||
LogPrintf("%s: %s - %s\n", __func__, pszHostName, addr.ToString());
|
||||
LogPrintf("%s: %s - %s\n", __func__, pszHostName, addr.ToStringAddr());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2193,14 +2193,14 @@ void Discover()
|
|||
struct sockaddr_in* s4 = (struct sockaddr_in*)(ifa->ifa_addr);
|
||||
CNetAddr addr(s4->sin_addr);
|
||||
if (AddLocal(addr, LOCAL_IF))
|
||||
LogPrintf("%s: IPv4 %s: %s\n", __func__, ifa->ifa_name, addr.ToString());
|
||||
LogPrintf("%s: IPv4 %s: %s\n", __func__, ifa->ifa_name, addr.ToStringAddr());
|
||||
}
|
||||
else if (ifa->ifa_addr->sa_family == AF_INET6)
|
||||
{
|
||||
struct sockaddr_in6* s6 = (struct sockaddr_in6*)(ifa->ifa_addr);
|
||||
CNetAddr addr(s6->sin6_addr);
|
||||
if (AddLocal(addr, LOCAL_IF))
|
||||
LogPrintf("%s: IPv6 %s: %s\n", __func__, ifa->ifa_name, addr.ToString());
|
||||
LogPrintf("%s: IPv6 %s: %s\n", __func__, ifa->ifa_name, addr.ToStringAddr());
|
||||
}
|
||||
}
|
||||
freeifaddrs(myaddrs);
|
||||
|
@ -2759,7 +2759,7 @@ CNode::CNode(NodeId idIn,
|
|||
m_connected{GetTime<std::chrono::seconds>()},
|
||||
addr{addrIn},
|
||||
addrBind{addrBindIn},
|
||||
m_addr_name{addrNameIn.empty() ? addr.ToStringIPPort() : addrNameIn},
|
||||
m_addr_name{addrNameIn.empty() ? addr.ToStringAddrPort() : addrNameIn},
|
||||
m_inbound_onion{inbound_onion},
|
||||
m_prefer_evict{node_opts.prefer_evict},
|
||||
nKeyedNetGroup{nKeyedNetGroupIn},
|
||||
|
@ -2865,7 +2865,7 @@ void CaptureMessageToFile(const CAddress& addr,
|
|||
auto now = GetTime<std::chrono::microseconds>();
|
||||
|
||||
// Windows folder names cannot include a colon
|
||||
std::string clean_addr = addr.ToString();
|
||||
std::string clean_addr = addr.ToStringAddrPort();
|
||||
std::replace(clean_addr.begin(), clean_addr.end(), ':', '_');
|
||||
|
||||
fs::path base_path = gArgs.GetDataDirNet() / "message_capture" / fs::u8path(clean_addr);
|
||||
|
|
|
@ -1397,7 +1397,7 @@ void PeerManagerImpl::PushNodeVersion(CNode& pnode, const Peer& peer)
|
|||
nonce, strSubVersion, nNodeStartingHeight, tx_relay));
|
||||
|
||||
if (fLogIPs) {
|
||||
LogPrint(BCLog::NET, "send version message: version %d, blocks=%d, them=%s, txrelay=%d, peer=%d\n", PROTOCOL_VERSION, nNodeStartingHeight, addr_you.ToString(), tx_relay, nodeid);
|
||||
LogPrint(BCLog::NET, "send version message: version %d, blocks=%d, them=%s, txrelay=%d, peer=%d\n", PROTOCOL_VERSION, nNodeStartingHeight, addr_you.ToStringAddrPort(), tx_relay, nodeid);
|
||||
} else {
|
||||
LogPrint(BCLog::NET, "send version message: version %d, blocks=%d, txrelay=%d, peer=%d\n", PROTOCOL_VERSION, nNodeStartingHeight, tx_relay, nodeid);
|
||||
}
|
||||
|
@ -3231,7 +3231,7 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type,
|
|||
// Disconnect if we connected to ourself
|
||||
if (pfrom.IsInboundConn() && !m_connman.CheckIncomingNonce(nNonce))
|
||||
{
|
||||
LogPrintf("connected to self at %s, disconnecting\n", pfrom.addr.ToString());
|
||||
LogPrintf("connected to self at %s, disconnecting\n", pfrom.addr.ToStringAddrPort());
|
||||
pfrom.fDisconnect = true;
|
||||
return;
|
||||
}
|
||||
|
@ -3358,11 +3358,11 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type,
|
|||
|
||||
std::string remoteAddr;
|
||||
if (fLogIPs)
|
||||
remoteAddr = ", peeraddr=" + pfrom.addr.ToString();
|
||||
remoteAddr = ", peeraddr=" + pfrom.addr.ToStringAddrPort();
|
||||
|
||||
LogPrint(BCLog::NET, "receive version message: %s: version %d, blocks=%d, us=%s, txrelay=%d, peer=%d%s\n",
|
||||
cleanSubVer, pfrom.nVersion,
|
||||
peer->m_starting_height, addrMe.ToString(), fRelay, pfrom.GetId(),
|
||||
peer->m_starting_height, addrMe.ToStringAddrPort(), fRelay, pfrom.GetId(),
|
||||
remoteAddr);
|
||||
|
||||
int64_t nTimeOffset = nTime - GetTime();
|
||||
|
@ -3405,7 +3405,7 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type,
|
|||
if (!pfrom.IsInboundConn()) {
|
||||
LogPrintf("New outbound peer connected: version: %d, blocks=%d, peer=%d%s (%s)\n",
|
||||
pfrom.nVersion.load(), peer->m_starting_height,
|
||||
pfrom.GetId(), (fLogIPs ? strprintf(", peeraddr=%s", pfrom.addr.ToString()) : ""),
|
||||
pfrom.GetId(), (fLogIPs ? strprintf(", peeraddr=%s", pfrom.addr.ToStringAddrPort()) : ""),
|
||||
pfrom.ConnectionTypeAsString());
|
||||
}
|
||||
|
||||
|
|
|
@ -599,7 +599,7 @@ std::string OnionToString(Span<const uint8_t> addr)
|
|||
return EncodeBase32(address) + ".onion";
|
||||
}
|
||||
|
||||
std::string CNetAddr::ToStringIP() const
|
||||
std::string CNetAddr::ToStringAddr() const
|
||||
{
|
||||
switch (m_net) {
|
||||
case NET_IPV4:
|
||||
|
@ -622,11 +622,6 @@ std::string CNetAddr::ToStringIP() const
|
|||
assert(false);
|
||||
}
|
||||
|
||||
std::string CNetAddr::ToString() const
|
||||
{
|
||||
return ToStringIP();
|
||||
}
|
||||
|
||||
bool operator==(const CNetAddr& a, const CNetAddr& b)
|
||||
{
|
||||
return a.m_net == b.m_net && a.m_addr == b.m_addr;
|
||||
|
@ -916,25 +911,17 @@ std::vector<unsigned char> CService::GetKey() const
|
|||
return key;
|
||||
}
|
||||
|
||||
std::string CService::ToStringPort() const
|
||||
std::string CService::ToStringAddrPort() const
|
||||
{
|
||||
return strprintf("%u", port);
|
||||
}
|
||||
const auto port_str = strprintf("%u", port);
|
||||
|
||||
std::string CService::ToStringIPPort() const
|
||||
{
|
||||
if (IsIPv4() || IsTor() || IsI2P() || IsInternal()) {
|
||||
return ToStringIP() + ":" + ToStringPort();
|
||||
return ToStringAddr() + ":" + port_str;
|
||||
} else {
|
||||
return "[" + ToStringIP() + "]:" + ToStringPort();
|
||||
return "[" + ToStringAddr() + "]:" + port_str;
|
||||
}
|
||||
}
|
||||
|
||||
std::string CService::ToString() const
|
||||
{
|
||||
return ToStringIPPort();
|
||||
}
|
||||
|
||||
CSubNet::CSubNet():
|
||||
valid(false)
|
||||
{
|
||||
|
@ -1098,7 +1085,7 @@ std::string CSubNet::ToString() const
|
|||
break;
|
||||
}
|
||||
|
||||
return network.ToString() + suffix;
|
||||
return network.ToStringAddr() + suffix;
|
||||
}
|
||||
|
||||
bool CSubNet::IsValid() const
|
||||
|
|
|
@ -193,8 +193,7 @@ public:
|
|||
bool IsAddrV1Compatible() const;
|
||||
|
||||
enum Network GetNetwork() const;
|
||||
std::string ToString() const;
|
||||
std::string ToStringIP() const;
|
||||
std::string ToStringAddr() const;
|
||||
bool GetInAddr(struct in_addr* pipv4Addr) const;
|
||||
Network GetNetClass() const;
|
||||
|
||||
|
@ -534,9 +533,7 @@ public:
|
|||
friend bool operator!=(const CService& a, const CService& b) { return !(a == b); }
|
||||
friend bool operator<(const CService& a, const CService& b);
|
||||
std::vector<unsigned char> GetKey() const;
|
||||
std::string ToString() const;
|
||||
std::string ToStringPort() const;
|
||||
std::string ToStringIPPort() const;
|
||||
std::string ToStringAddrPort() const;
|
||||
|
||||
CService(const struct in6_addr& ipv6Addr, uint16_t port);
|
||||
explicit CService(const struct sockaddr_in6& addr);
|
||||
|
|
|
@ -488,7 +488,7 @@ std::unique_ptr<Sock> CreateSockTCP(const CService& address_family)
|
|||
struct sockaddr_storage sockaddr;
|
||||
socklen_t len = sizeof(sockaddr);
|
||||
if (!address_family.GetSockAddr((struct sockaddr*)&sockaddr, &len)) {
|
||||
LogPrintf("Cannot create socket for %s: unsupported network\n", address_family.ToString());
|
||||
LogPrintf("Cannot create socket for %s: unsupported network\n", address_family.ToStringAddrPort());
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
@ -549,11 +549,11 @@ bool ConnectSocketDirectly(const CService &addrConnect, const Sock& sock, int nT
|
|||
struct sockaddr_storage sockaddr;
|
||||
socklen_t len = sizeof(sockaddr);
|
||||
if (sock.Get() == INVALID_SOCKET) {
|
||||
LogPrintf("Cannot connect to %s: invalid socket\n", addrConnect.ToString());
|
||||
LogPrintf("Cannot connect to %s: invalid socket\n", addrConnect.ToStringAddrPort());
|
||||
return false;
|
||||
}
|
||||
if (!addrConnect.GetSockAddr((struct sockaddr*)&sockaddr, &len)) {
|
||||
LogPrintf("Cannot connect to %s: unsupported network\n", addrConnect.ToString());
|
||||
LogPrintf("Cannot connect to %s: unsupported network\n", addrConnect.ToStringAddrPort());
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -570,11 +570,11 @@ bool ConnectSocketDirectly(const CService &addrConnect, const Sock& sock, int nT
|
|||
Sock::Event occurred;
|
||||
if (!sock.Wait(std::chrono::milliseconds{nTimeout}, requested, &occurred)) {
|
||||
LogPrintf("wait for connect to %s failed: %s\n",
|
||||
addrConnect.ToString(),
|
||||
addrConnect.ToStringAddrPort(),
|
||||
NetworkErrorString(WSAGetLastError()));
|
||||
return false;
|
||||
} else if (occurred == 0) {
|
||||
LogPrint(BCLog::NET, "connection attempt to %s timed out\n", addrConnect.ToString());
|
||||
LogPrint(BCLog::NET, "connection attempt to %s timed out\n", addrConnect.ToStringAddrPort());
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -586,13 +586,13 @@ bool ConnectSocketDirectly(const CService &addrConnect, const Sock& sock, int nT
|
|||
socklen_t sockerr_len = sizeof(sockerr);
|
||||
if (sock.GetSockOpt(SOL_SOCKET, SO_ERROR, (sockopt_arg_type)&sockerr, &sockerr_len) ==
|
||||
SOCKET_ERROR) {
|
||||
LogPrintf("getsockopt() for %s failed: %s\n", addrConnect.ToString(), NetworkErrorString(WSAGetLastError()));
|
||||
LogPrintf("getsockopt() for %s failed: %s\n", addrConnect.ToStringAddrPort(), NetworkErrorString(WSAGetLastError()));
|
||||
return false;
|
||||
}
|
||||
if (sockerr != 0) {
|
||||
LogConnectFailure(manual_connection,
|
||||
"connect() to %s failed after wait: %s",
|
||||
addrConnect.ToString(),
|
||||
addrConnect.ToStringAddrPort(),
|
||||
NetworkErrorString(sockerr));
|
||||
return false;
|
||||
}
|
||||
|
@ -603,7 +603,7 @@ bool ConnectSocketDirectly(const CService &addrConnect, const Sock& sock, int nT
|
|||
else
|
||||
#endif
|
||||
{
|
||||
LogConnectFailure(manual_connection, "connect() to %s failed: %s", addrConnect.ToString(), NetworkErrorString(WSAGetLastError()));
|
||||
LogConnectFailure(manual_connection, "connect() to %s failed: %s", addrConnect.ToStringAddrPort(), NetworkErrorString(WSAGetLastError()));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -280,7 +280,7 @@ bool ClientModel::getProxyInfo(std::string& ip_port) const
|
|||
{
|
||||
Proxy ipv4, ipv6;
|
||||
if (m_node.getProxy((Network) 1, ipv4) && m_node.getProxy((Network) 2, ipv6)) {
|
||||
ip_port = ipv4.proxy.ToStringIPPort();
|
||||
ip_port = ipv4.proxy.ToStringAddrPort();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
@ -406,24 +406,21 @@ void OptionsDialog::updateProxyValidationState()
|
|||
|
||||
void OptionsDialog::updateDefaultProxyNets()
|
||||
{
|
||||
CNetAddr ui_proxy_netaddr;
|
||||
LookupHost(ui->proxyIp->text().toStdString(), ui_proxy_netaddr, /*fAllowLookup=*/false);
|
||||
const CService ui_proxy{ui_proxy_netaddr, ui->proxyPort->text().toUShort()};
|
||||
|
||||
Proxy proxy;
|
||||
std::string strProxy;
|
||||
QString strDefaultProxyGUI;
|
||||
bool has_proxy;
|
||||
|
||||
model->node().getProxy(NET_IPV4, proxy);
|
||||
strProxy = proxy.proxy.ToStringIP() + ":" + proxy.proxy.ToStringPort();
|
||||
strDefaultProxyGUI = ui->proxyIp->text() + ":" + ui->proxyPort->text();
|
||||
(strProxy == strDefaultProxyGUI.toStdString()) ? ui->proxyReachIPv4->setChecked(true) : ui->proxyReachIPv4->setChecked(false);
|
||||
has_proxy = model->node().getProxy(NET_IPV4, proxy);
|
||||
ui->proxyReachIPv4->setChecked(has_proxy && proxy.proxy == ui_proxy);
|
||||
|
||||
model->node().getProxy(NET_IPV6, proxy);
|
||||
strProxy = proxy.proxy.ToStringIP() + ":" + proxy.proxy.ToStringPort();
|
||||
strDefaultProxyGUI = ui->proxyIp->text() + ":" + ui->proxyPort->text();
|
||||
(strProxy == strDefaultProxyGUI.toStdString()) ? ui->proxyReachIPv6->setChecked(true) : ui->proxyReachIPv6->setChecked(false);
|
||||
has_proxy = model->node().getProxy(NET_IPV6, proxy);
|
||||
ui->proxyReachIPv6->setChecked(has_proxy && proxy.proxy == ui_proxy);
|
||||
|
||||
model->node().getProxy(NET_ONION, proxy);
|
||||
strProxy = proxy.proxy.ToStringIP() + ":" + proxy.proxy.ToStringPort();
|
||||
strDefaultProxyGUI = ui->proxyIp->text() + ":" + ui->proxyPort->text();
|
||||
(strProxy == strDefaultProxyGUI.toStdString()) ? ui->proxyReachTor->setChecked(true) : ui->proxyReachTor->setChecked(false);
|
||||
has_proxy = model->node().getProxy(NET_ONION, proxy);
|
||||
ui->proxyReachTor->setChecked(has_proxy && proxy.proxy == ui_proxy);
|
||||
}
|
||||
|
||||
ProxyAddressValidator::ProxyAddressValidator(QObject *parent) :
|
||||
|
|
|
@ -196,7 +196,7 @@ static RPCHelpMan getpeerinfo()
|
|||
obj.pushKV("id", stats.nodeid);
|
||||
obj.pushKV("addr", stats.m_addr_name);
|
||||
if (stats.addrBind.IsValid()) {
|
||||
obj.pushKV("addrbind", stats.addrBind.ToString());
|
||||
obj.pushKV("addrbind", stats.addrBind.ToStringAddrPort());
|
||||
}
|
||||
if (!(stats.addrLocal.empty())) {
|
||||
obj.pushKV("addrlocal", stats.addrLocal);
|
||||
|
@ -496,7 +496,7 @@ static RPCHelpMan getaddednodeinfo()
|
|||
UniValue addresses(UniValue::VARR);
|
||||
if (info.fConnected) {
|
||||
UniValue address(UniValue::VOBJ);
|
||||
address.pushKV("address", info.resolvedAddress.ToString());
|
||||
address.pushKV("address", info.resolvedAddress.ToStringAddrPort());
|
||||
address.pushKV("connected", info.fInbound ? "inbound" : "outbound");
|
||||
addresses.push_back(address);
|
||||
}
|
||||
|
@ -571,7 +571,7 @@ static UniValue GetNetworksInfo()
|
|||
obj.pushKV("name", GetNetworkName(network));
|
||||
obj.pushKV("limited", !IsReachable(network));
|
||||
obj.pushKV("reachable", IsReachable(network));
|
||||
obj.pushKV("proxy", proxy.IsValid() ? proxy.proxy.ToStringIPPort() : std::string());
|
||||
obj.pushKV("proxy", proxy.IsValid() ? proxy.proxy.ToStringAddrPort() : std::string());
|
||||
obj.pushKV("proxy_randomize_credentials", proxy.randomize_credentials);
|
||||
networks.push_back(obj);
|
||||
}
|
||||
|
@ -664,7 +664,7 @@ static RPCHelpMan getnetworkinfo()
|
|||
for (const std::pair<const CNetAddr, LocalServiceInfo> &item : mapLocalHost)
|
||||
{
|
||||
UniValue rec(UniValue::VOBJ);
|
||||
rec.pushKV("address", item.first.ToString());
|
||||
rec.pushKV("address", item.first.ToStringAddr());
|
||||
rec.pushKV("port", item.second.nPort);
|
||||
rec.pushKV("score", item.second.nScore);
|
||||
localAddresses.push_back(rec);
|
||||
|
@ -901,7 +901,7 @@ static RPCHelpMan getnodeaddresses()
|
|||
UniValue obj(UniValue::VOBJ);
|
||||
obj.pushKV("time", int64_t{TicksSinceEpoch<std::chrono::seconds>(addr.nTime)});
|
||||
obj.pushKV("services", (uint64_t)addr.nServices);
|
||||
obj.pushKV("address", addr.ToStringIP());
|
||||
obj.pushKV("address", addr.ToStringAddr());
|
||||
obj.pushKV("port", addr.GetPort());
|
||||
obj.pushKV("network", GetNetworkName(addr.GetNetClass()));
|
||||
ret.push_back(obj);
|
||||
|
|
|
@ -69,14 +69,14 @@ BOOST_AUTO_TEST_CASE(addrman_simple)
|
|||
// Test: Does Addrman respond correctly when empty.
|
||||
BOOST_CHECK_EQUAL(addrman->Size(), 0U);
|
||||
auto addr_null = addrman->Select().first;
|
||||
BOOST_CHECK_EQUAL(addr_null.ToString(), "[::]:0");
|
||||
BOOST_CHECK_EQUAL(addr_null.ToStringAddrPort(), "[::]:0");
|
||||
|
||||
// Test: Does Addrman::Add work as expected.
|
||||
CService addr1 = ResolveService("250.1.1.1", 8333);
|
||||
BOOST_CHECK(addrman->Add({CAddress(addr1, NODE_NONE)}, source));
|
||||
BOOST_CHECK_EQUAL(addrman->Size(), 1U);
|
||||
auto addr_ret1 = addrman->Select().first;
|
||||
BOOST_CHECK_EQUAL(addr_ret1.ToString(), "250.1.1.1:8333");
|
||||
BOOST_CHECK_EQUAL(addr_ret1.ToStringAddrPort(), "250.1.1.1:8333");
|
||||
|
||||
// Test: Does IP address deduplication work correctly.
|
||||
// Expected dup IP should not be added.
|
||||
|
@ -121,7 +121,7 @@ BOOST_AUTO_TEST_CASE(addrman_ports)
|
|||
BOOST_CHECK(addrman->Add({CAddress(addr1_port, NODE_NONE)}, source));
|
||||
BOOST_CHECK_EQUAL(addrman->Size(), 2U);
|
||||
auto addr_ret2 = addrman->Select().first;
|
||||
BOOST_CHECK(addr_ret2.ToString() == "250.1.1.1:8333" || addr_ret2.ToString() == "250.1.1.1:8334");
|
||||
BOOST_CHECK(addr_ret2.ToStringAddrPort() == "250.1.1.1:8333" || addr_ret2.ToStringAddrPort() == "250.1.1.1:8334");
|
||||
|
||||
// Test: Add same IP but diff port to tried table; this converts the entry with
|
||||
// the specified port to tried, but not the other.
|
||||
|
@ -129,7 +129,7 @@ BOOST_AUTO_TEST_CASE(addrman_ports)
|
|||
BOOST_CHECK_EQUAL(addrman->Size(), 2U);
|
||||
bool newOnly = true;
|
||||
auto addr_ret3 = addrman->Select(newOnly).first;
|
||||
BOOST_CHECK_EQUAL(addr_ret3.ToString(), "250.1.1.1:8333");
|
||||
BOOST_CHECK_EQUAL(addr_ret3.ToStringAddrPort(), "250.1.1.1:8333");
|
||||
}
|
||||
|
||||
|
||||
|
@ -146,16 +146,16 @@ BOOST_AUTO_TEST_CASE(addrman_select)
|
|||
|
||||
bool newOnly = true;
|
||||
auto addr_ret1 = addrman->Select(newOnly).first;
|
||||
BOOST_CHECK_EQUAL(addr_ret1.ToString(), "250.1.1.1:8333");
|
||||
BOOST_CHECK_EQUAL(addr_ret1.ToStringAddrPort(), "250.1.1.1:8333");
|
||||
|
||||
// Test: move addr to tried, select from new expected nothing returned.
|
||||
BOOST_CHECK(addrman->Good(CAddress(addr1, NODE_NONE)));
|
||||
BOOST_CHECK_EQUAL(addrman->Size(), 1U);
|
||||
auto addr_ret2 = addrman->Select(newOnly).first;
|
||||
BOOST_CHECK_EQUAL(addr_ret2.ToString(), "[::]:0");
|
||||
BOOST_CHECK_EQUAL(addr_ret2.ToStringAddrPort(), "[::]:0");
|
||||
|
||||
auto addr_ret3 = addrman->Select().first;
|
||||
BOOST_CHECK_EQUAL(addr_ret3.ToString(), "250.1.1.1:8333");
|
||||
BOOST_CHECK_EQUAL(addr_ret3.ToStringAddrPort(), "250.1.1.1:8333");
|
||||
|
||||
BOOST_CHECK_EQUAL(addrman->Size(), 1U);
|
||||
|
||||
|
@ -714,7 +714,7 @@ BOOST_AUTO_TEST_CASE(addrman_selecttriedcollision)
|
|||
BOOST_CHECK(addrman->Size() == 0);
|
||||
|
||||
// Empty addrman should return blank addrman info.
|
||||
BOOST_CHECK(addrman->SelectTriedCollision().first.ToString() == "[::]:0");
|
||||
BOOST_CHECK(addrman->SelectTriedCollision().first.ToStringAddrPort() == "[::]:0");
|
||||
|
||||
// Add twenty two addresses.
|
||||
CNetAddr source = ResolveIP("252.2.2.2");
|
||||
|
@ -724,7 +724,7 @@ BOOST_AUTO_TEST_CASE(addrman_selecttriedcollision)
|
|||
|
||||
// No collisions in tried.
|
||||
BOOST_CHECK(addrman->Good(addr));
|
||||
BOOST_CHECK(addrman->SelectTriedCollision().first.ToString() == "[::]:0");
|
||||
BOOST_CHECK(addrman->SelectTriedCollision().first.ToStringAddrPort() == "[::]:0");
|
||||
}
|
||||
|
||||
// Ensure Good handles duplicates well.
|
||||
|
@ -736,7 +736,7 @@ BOOST_AUTO_TEST_CASE(addrman_selecttriedcollision)
|
|||
BOOST_CHECK(!addrman->Good(addr));
|
||||
|
||||
// Verify duplicate address not marked as a collision.
|
||||
BOOST_CHECK(addrman->SelectTriedCollision().first.ToString() == "[::]:0");
|
||||
BOOST_CHECK(addrman->SelectTriedCollision().first.ToStringAddrPort() == "[::]:0");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -758,13 +758,13 @@ BOOST_AUTO_TEST_CASE(addrman_noevict)
|
|||
CService addr36 = ResolveService("250.1.1.36");
|
||||
BOOST_CHECK(addrman->Add({CAddress(addr36, NODE_NONE)}, source));
|
||||
BOOST_CHECK(!addrman->Good(addr36));
|
||||
BOOST_CHECK_EQUAL(addrman->SelectTriedCollision().first.ToString(), "250.1.1.19:0");
|
||||
BOOST_CHECK_EQUAL(addrman->SelectTriedCollision().first.ToStringAddrPort(), "250.1.1.19:0");
|
||||
|
||||
// 36 should be discarded and 19 not evicted.
|
||||
// This means we keep 19 in the tried table and
|
||||
// 36 stays in the new table.
|
||||
addrman->ResolveCollisions();
|
||||
BOOST_CHECK(addrman->SelectTriedCollision().first.ToString() == "[::]:0");
|
||||
BOOST_CHECK(addrman->SelectTriedCollision().first.ToStringAddrPort() == "[::]:0");
|
||||
|
||||
// Lets create two collisions.
|
||||
for (unsigned int i = 37; i < 59; i++) {
|
||||
|
@ -778,18 +778,18 @@ BOOST_AUTO_TEST_CASE(addrman_noevict)
|
|||
BOOST_CHECK(addrman->Add({CAddress(addr59, NODE_NONE)}, source));
|
||||
BOOST_CHECK(!addrman->Good(addr59));
|
||||
|
||||
BOOST_CHECK_EQUAL(addrman->SelectTriedCollision().first.ToString(), "250.1.1.10:0");
|
||||
BOOST_CHECK_EQUAL(addrman->SelectTriedCollision().first.ToStringAddrPort(), "250.1.1.10:0");
|
||||
|
||||
// Cause a second collision in the new table.
|
||||
BOOST_CHECK(!addrman->Add({CAddress(addr36, NODE_NONE)}, source));
|
||||
|
||||
// 36 still cannot be moved from new to tried due to colliding with 19
|
||||
BOOST_CHECK(!addrman->Good(addr36));
|
||||
BOOST_CHECK(addrman->SelectTriedCollision().first.ToString() != "[::]:0");
|
||||
BOOST_CHECK(addrman->SelectTriedCollision().first.ToStringAddrPort() != "[::]:0");
|
||||
|
||||
// Resolve all collisions.
|
||||
addrman->ResolveCollisions();
|
||||
BOOST_CHECK(addrman->SelectTriedCollision().first.ToString() == "[::]:0");
|
||||
BOOST_CHECK(addrman->SelectTriedCollision().first.ToStringAddrPort() == "[::]:0");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(addrman_evictionworks)
|
||||
|
@ -799,7 +799,7 @@ BOOST_AUTO_TEST_CASE(addrman_evictionworks)
|
|||
BOOST_CHECK(addrman->Size() == 0);
|
||||
|
||||
// Empty addrman should return blank addrman info.
|
||||
BOOST_CHECK(addrman->SelectTriedCollision().first.ToString() == "[::]:0");
|
||||
BOOST_CHECK(addrman->SelectTriedCollision().first.ToStringAddrPort() == "[::]:0");
|
||||
|
||||
// Add 35 addresses
|
||||
CNetAddr source = ResolveIP("252.2.2.2");
|
||||
|
@ -817,7 +817,7 @@ BOOST_AUTO_TEST_CASE(addrman_evictionworks)
|
|||
BOOST_CHECK(!addrman->Good(addr));
|
||||
|
||||
auto info = addrman->SelectTriedCollision().first;
|
||||
BOOST_CHECK_EQUAL(info.ToString(), "250.1.1.19:0");
|
||||
BOOST_CHECK_EQUAL(info.ToStringAddrPort(), "250.1.1.19:0");
|
||||
|
||||
// Ensure test of address fails, so that it is evicted.
|
||||
// Update entry in tried by setting last good connection in the deep past.
|
||||
|
@ -826,7 +826,7 @@ BOOST_AUTO_TEST_CASE(addrman_evictionworks)
|
|||
|
||||
// Should swap 36 for 19.
|
||||
addrman->ResolveCollisions();
|
||||
BOOST_CHECK(addrman->SelectTriedCollision().first.ToString() == "[::]:0");
|
||||
BOOST_CHECK(addrman->SelectTriedCollision().first.ToStringAddrPort() == "[::]:0");
|
||||
AddressPosition addr_pos{addrman->FindAddressEntry(CAddress(addr, NODE_NONE)).value()};
|
||||
BOOST_CHECK(addr_pos.tried);
|
||||
|
||||
|
@ -835,18 +835,18 @@ BOOST_AUTO_TEST_CASE(addrman_evictionworks)
|
|||
// We check this by verifying Good() returns false and also verifying that
|
||||
// we have no collisions.
|
||||
BOOST_CHECK(!addrman->Good(addr));
|
||||
BOOST_CHECK(addrman->SelectTriedCollision().first.ToString() == "[::]:0");
|
||||
BOOST_CHECK(addrman->SelectTriedCollision().first.ToStringAddrPort() == "[::]:0");
|
||||
|
||||
// 19 should fail as a collision (not a duplicate) if we now attempt to move
|
||||
// it to the tried table.
|
||||
CService addr19 = ResolveService("250.1.1.19");
|
||||
BOOST_CHECK(!addrman->Good(addr19));
|
||||
BOOST_CHECK_EQUAL(addrman->SelectTriedCollision().first.ToString(), "250.1.1.36:0");
|
||||
BOOST_CHECK_EQUAL(addrman->SelectTriedCollision().first.ToStringAddrPort(), "250.1.1.36:0");
|
||||
|
||||
// Eviction is also successful if too much time has passed since last try
|
||||
SetMockTime(GetTime() + 4 * 60 *60);
|
||||
addrman->ResolveCollisions();
|
||||
BOOST_CHECK(addrman->SelectTriedCollision().first.ToString() == "[::]:0");
|
||||
BOOST_CHECK(addrman->SelectTriedCollision().first.ToStringAddrPort() == "[::]:0");
|
||||
//Now 19 is in tried again, and 36 back to new
|
||||
AddressPosition addr_pos19{addrman->FindAddressEntry(CAddress(addr19, NODE_NONE)).value()};
|
||||
BOOST_CHECK(addr_pos19.tried);
|
||||
|
|
|
@ -59,7 +59,7 @@ FUZZ_TARGET(http_request)
|
|||
const std::string body = http_request.ReadBody();
|
||||
assert(body.empty());
|
||||
const CService service = http_request.GetPeer();
|
||||
assert(service.ToString() == "[::]:0");
|
||||
assert(service.ToStringAddrPort() == "[::]:0");
|
||||
|
||||
evbuffer_free(evbuf);
|
||||
evhttp_request_free(evreq);
|
||||
|
|
|
@ -70,8 +70,7 @@ FUZZ_TARGET(netaddress)
|
|||
assert(net_addr.GetNetwork() == Network::NET_ONION);
|
||||
}
|
||||
(void)net_addr.IsValid();
|
||||
(void)net_addr.ToString();
|
||||
(void)net_addr.ToStringIP();
|
||||
(void)net_addr.ToStringAddr();
|
||||
|
||||
const CSubNet sub_net{net_addr, fuzzed_data_provider.ConsumeIntegral<uint8_t>()};
|
||||
(void)sub_net.IsValid();
|
||||
|
@ -80,9 +79,7 @@ FUZZ_TARGET(netaddress)
|
|||
const CService service{net_addr, fuzzed_data_provider.ConsumeIntegral<uint16_t>()};
|
||||
(void)service.GetKey();
|
||||
(void)service.GetPort();
|
||||
(void)service.ToString();
|
||||
(void)service.ToStringIPPort();
|
||||
(void)service.ToStringPort();
|
||||
(void)service.ToStringAddrPort();
|
||||
(void)CServiceHash()(service);
|
||||
(void)CServiceHash(0, 0)(service);
|
||||
|
||||
|
|
|
@ -141,7 +141,7 @@ BOOST_AUTO_TEST_CASE(cnetaddr_basic)
|
|||
|
||||
BOOST_CHECK(addr.IsBindAny());
|
||||
BOOST_CHECK(addr.IsAddrV1Compatible());
|
||||
BOOST_CHECK_EQUAL(addr.ToString(), "0.0.0.0");
|
||||
BOOST_CHECK_EQUAL(addr.ToStringAddr(), "0.0.0.0");
|
||||
|
||||
// IPv4, INADDR_NONE
|
||||
BOOST_REQUIRE(LookupHost("255.255.255.255", addr, false));
|
||||
|
@ -150,7 +150,7 @@ BOOST_AUTO_TEST_CASE(cnetaddr_basic)
|
|||
|
||||
BOOST_CHECK(!addr.IsBindAny());
|
||||
BOOST_CHECK(addr.IsAddrV1Compatible());
|
||||
BOOST_CHECK_EQUAL(addr.ToString(), "255.255.255.255");
|
||||
BOOST_CHECK_EQUAL(addr.ToStringAddr(), "255.255.255.255");
|
||||
|
||||
// IPv4, casual
|
||||
BOOST_REQUIRE(LookupHost("12.34.56.78", addr, false));
|
||||
|
@ -159,7 +159,7 @@ BOOST_AUTO_TEST_CASE(cnetaddr_basic)
|
|||
|
||||
BOOST_CHECK(!addr.IsBindAny());
|
||||
BOOST_CHECK(addr.IsAddrV1Compatible());
|
||||
BOOST_CHECK_EQUAL(addr.ToString(), "12.34.56.78");
|
||||
BOOST_CHECK_EQUAL(addr.ToStringAddr(), "12.34.56.78");
|
||||
|
||||
// IPv6, in6addr_any
|
||||
BOOST_REQUIRE(LookupHost("::", addr, false));
|
||||
|
@ -168,7 +168,7 @@ BOOST_AUTO_TEST_CASE(cnetaddr_basic)
|
|||
|
||||
BOOST_CHECK(addr.IsBindAny());
|
||||
BOOST_CHECK(addr.IsAddrV1Compatible());
|
||||
BOOST_CHECK_EQUAL(addr.ToString(), "::");
|
||||
BOOST_CHECK_EQUAL(addr.ToStringAddr(), "::");
|
||||
|
||||
// IPv6, casual
|
||||
BOOST_REQUIRE(LookupHost("1122:3344:5566:7788:9900:aabb:ccdd:eeff", addr, false));
|
||||
|
@ -177,7 +177,7 @@ BOOST_AUTO_TEST_CASE(cnetaddr_basic)
|
|||
|
||||
BOOST_CHECK(!addr.IsBindAny());
|
||||
BOOST_CHECK(addr.IsAddrV1Compatible());
|
||||
BOOST_CHECK_EQUAL(addr.ToString(), "1122:3344:5566:7788:9900:aabb:ccdd:eeff");
|
||||
BOOST_CHECK_EQUAL(addr.ToStringAddr(), "1122:3344:5566:7788:9900:aabb:ccdd:eeff");
|
||||
|
||||
// IPv6, scoped/link-local. See https://tools.ietf.org/html/rfc4007
|
||||
// We support non-negative decimal integers (uint32_t) as zone id indices.
|
||||
|
@ -190,14 +190,14 @@ BOOST_AUTO_TEST_CASE(cnetaddr_basic)
|
|||
BOOST_REQUIRE(addr.IsValid());
|
||||
BOOST_REQUIRE(addr.IsIPv6());
|
||||
BOOST_CHECK(!addr.IsBindAny());
|
||||
BOOST_CHECK_EQUAL(addr.ToString(), scoped_addr);
|
||||
BOOST_CHECK_EQUAL(addr.ToStringAddr(), scoped_addr);
|
||||
|
||||
// Test that the delimiter "%" and default zone id of 0 can be omitted for the default scope.
|
||||
BOOST_REQUIRE(LookupHost(link_local + "%0", addr, false));
|
||||
BOOST_REQUIRE(addr.IsValid());
|
||||
BOOST_REQUIRE(addr.IsIPv6());
|
||||
BOOST_CHECK(!addr.IsBindAny());
|
||||
BOOST_CHECK_EQUAL(addr.ToString(), link_local);
|
||||
BOOST_CHECK_EQUAL(addr.ToStringAddr(), link_local);
|
||||
|
||||
// TORv2, no longer supported
|
||||
BOOST_CHECK(!addr.SetSpecial("6hzph5hv6337r6p2.onion"));
|
||||
|
@ -211,7 +211,7 @@ BOOST_AUTO_TEST_CASE(cnetaddr_basic)
|
|||
BOOST_CHECK(!addr.IsI2P());
|
||||
BOOST_CHECK(!addr.IsBindAny());
|
||||
BOOST_CHECK(!addr.IsAddrV1Compatible());
|
||||
BOOST_CHECK_EQUAL(addr.ToString(), torv3_addr);
|
||||
BOOST_CHECK_EQUAL(addr.ToStringAddr(), torv3_addr);
|
||||
|
||||
// TORv3, broken, with wrong checksum
|
||||
BOOST_CHECK(!addr.SetSpecial("pg6mmjiyjmcrsslvykfwnntlaru7p5svn6y2ymmju6nubxndf4pscsad.onion"));
|
||||
|
@ -238,7 +238,7 @@ BOOST_AUTO_TEST_CASE(cnetaddr_basic)
|
|||
BOOST_CHECK(!addr.IsTor());
|
||||
BOOST_CHECK(!addr.IsBindAny());
|
||||
BOOST_CHECK(!addr.IsAddrV1Compatible());
|
||||
BOOST_CHECK_EQUAL(addr.ToString(), ToLower(i2p_addr));
|
||||
BOOST_CHECK_EQUAL(addr.ToStringAddr(), ToLower(i2p_addr));
|
||||
|
||||
// I2P, correct length, but decodes to less than the expected number of bytes.
|
||||
BOOST_CHECK(!addr.SetSpecial("udhdrtrcetjm5sxzskjyr5ztpeszydbh4dpl3pl4utgqqw2v4jn=.b32.i2p"));
|
||||
|
@ -265,7 +265,7 @@ BOOST_AUTO_TEST_CASE(cnetaddr_basic)
|
|||
|
||||
BOOST_CHECK(!addr.IsBindAny());
|
||||
BOOST_CHECK(addr.IsAddrV1Compatible());
|
||||
BOOST_CHECK_EQUAL(addr.ToString(), "esffpvrt3wpeaygy.internal");
|
||||
BOOST_CHECK_EQUAL(addr.ToStringAddr(), "esffpvrt3wpeaygy.internal");
|
||||
|
||||
// Totally bogus
|
||||
BOOST_CHECK(!addr.SetSpecial("totally bogus"));
|
||||
|
@ -321,7 +321,7 @@ BOOST_AUTO_TEST_CASE(cnetaddr_tostring_canonical_ipv6)
|
|||
CNetAddr net_addr;
|
||||
BOOST_REQUIRE(LookupHost(input_address, net_addr, false));
|
||||
BOOST_REQUIRE(net_addr.IsIPv6());
|
||||
BOOST_CHECK_EQUAL(net_addr.ToString(), expected_canonical_representation_output);
|
||||
BOOST_CHECK_EQUAL(net_addr.ToStringAddr(), expected_canonical_representation_output);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -410,7 +410,7 @@ BOOST_AUTO_TEST_CASE(cnetaddr_unserialize_v2)
|
|||
BOOST_CHECK(addr.IsValid());
|
||||
BOOST_CHECK(addr.IsIPv4());
|
||||
BOOST_CHECK(addr.IsAddrV1Compatible());
|
||||
BOOST_CHECK_EQUAL(addr.ToString(), "1.2.3.4");
|
||||
BOOST_CHECK_EQUAL(addr.ToStringAddr(), "1.2.3.4");
|
||||
BOOST_REQUIRE(s.empty());
|
||||
|
||||
// Invalid IPv4, valid length but address itself is shorter.
|
||||
|
@ -447,7 +447,7 @@ BOOST_AUTO_TEST_CASE(cnetaddr_unserialize_v2)
|
|||
BOOST_CHECK(addr.IsValid());
|
||||
BOOST_CHECK(addr.IsIPv6());
|
||||
BOOST_CHECK(addr.IsAddrV1Compatible());
|
||||
BOOST_CHECK_EQUAL(addr.ToString(), "102:304:506:708:90a:b0c:d0e:f10");
|
||||
BOOST_CHECK_EQUAL(addr.ToStringAddr(), "102:304:506:708:90a:b0c:d0e:f10");
|
||||
BOOST_REQUIRE(s.empty());
|
||||
|
||||
// Valid IPv6, contains embedded "internal".
|
||||
|
@ -459,7 +459,7 @@ BOOST_AUTO_TEST_CASE(cnetaddr_unserialize_v2)
|
|||
s >> addr;
|
||||
BOOST_CHECK(addr.IsInternal());
|
||||
BOOST_CHECK(addr.IsAddrV1Compatible());
|
||||
BOOST_CHECK_EQUAL(addr.ToString(), "zklycewkdo64v6wc.internal");
|
||||
BOOST_CHECK_EQUAL(addr.ToStringAddr(), "zklycewkdo64v6wc.internal");
|
||||
BOOST_REQUIRE(s.empty());
|
||||
|
||||
// Invalid IPv6, with bogus length.
|
||||
|
@ -505,7 +505,7 @@ BOOST_AUTO_TEST_CASE(cnetaddr_unserialize_v2)
|
|||
BOOST_CHECK(addr.IsValid());
|
||||
BOOST_CHECK(addr.IsTor());
|
||||
BOOST_CHECK(!addr.IsAddrV1Compatible());
|
||||
BOOST_CHECK_EQUAL(addr.ToString(),
|
||||
BOOST_CHECK_EQUAL(addr.ToStringAddr(),
|
||||
"pg6mmjiyjmcrsslvykfwnntlaru7p5svn6y2ymmju6nubxndf4pscryd.onion");
|
||||
BOOST_REQUIRE(s.empty());
|
||||
|
||||
|
@ -528,7 +528,7 @@ BOOST_AUTO_TEST_CASE(cnetaddr_unserialize_v2)
|
|||
BOOST_CHECK(addr.IsValid());
|
||||
BOOST_CHECK(addr.IsI2P());
|
||||
BOOST_CHECK(!addr.IsAddrV1Compatible());
|
||||
BOOST_CHECK_EQUAL(addr.ToString(),
|
||||
BOOST_CHECK_EQUAL(addr.ToStringAddr(),
|
||||
"ukeu3k5oycgaauneqgtnvselmt4yemvoilkln7jpvamvfx7dnkdq.b32.i2p");
|
||||
BOOST_REQUIRE(s.empty());
|
||||
|
||||
|
@ -551,7 +551,7 @@ BOOST_AUTO_TEST_CASE(cnetaddr_unserialize_v2)
|
|||
BOOST_CHECK(addr.IsValid());
|
||||
BOOST_CHECK(addr.IsCJDNS());
|
||||
BOOST_CHECK(!addr.IsAddrV1Compatible());
|
||||
BOOST_CHECK_EQUAL(addr.ToString(), "fc00:1:2:3:4:5:6:7");
|
||||
BOOST_CHECK_EQUAL(addr.ToStringAddr(), "fc00:1:2:3:4:5:6:7");
|
||||
BOOST_REQUIRE(s.empty());
|
||||
|
||||
// Invalid CJDNS, wrong prefix.
|
||||
|
|
|
@ -131,7 +131,7 @@ BOOST_AUTO_TEST_CASE(netbase_splithost)
|
|||
bool static TestParse(std::string src, std::string canon)
|
||||
{
|
||||
CService addr(LookupNumeric(src, 65535));
|
||||
return canon == addr.ToString();
|
||||
return canon == addr.ToStringAddrPort();
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(netbase_lookupnumeric)
|
||||
|
@ -155,7 +155,7 @@ BOOST_AUTO_TEST_CASE(embedded_test)
|
|||
CNetAddr addr1(ResolveIP("1.2.3.4"));
|
||||
CNetAddr addr2(ResolveIP("::FFFF:0102:0304"));
|
||||
BOOST_CHECK(addr2.IsIPv4());
|
||||
BOOST_CHECK_EQUAL(addr1.ToString(), addr2.ToString());
|
||||
BOOST_CHECK_EQUAL(addr1.ToStringAddr(), addr2.ToStringAddr());
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(subnet_test)
|
||||
|
@ -240,7 +240,7 @@ BOOST_AUTO_TEST_CASE(subnet_test)
|
|||
|
||||
subnet = CSubNet(tor_addr);
|
||||
BOOST_CHECK(subnet.IsValid());
|
||||
BOOST_CHECK_EQUAL(subnet.ToString(), tor_addr.ToString());
|
||||
BOOST_CHECK_EQUAL(subnet.ToString(), tor_addr.ToStringAddr());
|
||||
BOOST_CHECK(subnet.Match(tor_addr));
|
||||
BOOST_CHECK(
|
||||
!subnet.Match(ResolveIP("kpgvmscirrdqpekbqjsvw5teanhatztpp2gl6eee4zkowvwfxwenqaid.onion")));
|
||||
|
|
|
@ -380,7 +380,7 @@ void TorController::get_socks_cb(TorControlConnection& _conn, const TorControlRe
|
|||
}
|
||||
|
||||
Assume(resolved.IsValid());
|
||||
LogPrint(BCLog::TOR, "Configuring onion proxy for %s\n", resolved.ToStringIPPort());
|
||||
LogPrint(BCLog::TOR, "Configuring onion proxy for %s\n", resolved.ToStringAddrPort());
|
||||
Proxy addrOnion = Proxy(resolved, true);
|
||||
SetProxy(NET_ONION, addrOnion);
|
||||
|
||||
|
@ -421,7 +421,7 @@ void TorController::add_onion_cb(TorControlConnection& _conn, const TorControlRe
|
|||
return;
|
||||
}
|
||||
service = LookupNumeric(std::string(service_id+".onion"), Params().GetDefaultPort());
|
||||
LogPrintfCategory(BCLog::TOR, "Got service ID %s, advertising service %s\n", service_id, service.ToString());
|
||||
LogPrintfCategory(BCLog::TOR, "Got service ID %s, advertising service %s\n", service_id, service.ToStringAddrPort());
|
||||
if (WriteBinaryFile(GetPrivateKeyFile(), private_key)) {
|
||||
LogPrint(BCLog::TOR, "Cached service private key to %s\n", fs::PathToString(GetPrivateKeyFile()));
|
||||
} else {
|
||||
|
@ -453,7 +453,7 @@ void TorController::auth_cb(TorControlConnection& _conn, const TorControlReply&
|
|||
}
|
||||
// Request onion service, redirect port.
|
||||
// Note that the 'virtual' port is always the default port to avoid decloaking nodes using other ports.
|
||||
_conn.Command(strprintf("ADD_ONION %s Port=%i,%s", private_key, Params().GetDefaultPort(), m_target.ToStringIPPort()),
|
||||
_conn.Command(strprintf("ADD_ONION %s Port=%i,%s", private_key, Params().GetDefaultPort(), m_target.ToStringAddrPort()),
|
||||
std::bind(&TorController::add_onion_cb, this, std::placeholders::_1, std::placeholders::_2));
|
||||
} else {
|
||||
LogPrintf("tor: Authentication failed\n");
|
||||
|
|
Loading…
Add table
Reference in a new issue