From a0ca851d26f8a9d819708db06fec2465e9f6228c Mon Sep 17 00:00:00 2001 From: Matthew Zipkin Date: Mon, 23 Jun 2025 11:36:01 -0700 Subject: [PATCH] Make GetBindAddress() callable from outside net.cpp The function logic is moved-only from net.cpp to netbase.cpp and redeclared (as non-static) in netbase.h --- src/net.cpp | 14 -------------- src/netbase.cpp | 13 +++++++++++++ src/netbase.h | 3 +++ 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/net.cpp b/src/net.cpp index bd3d0bb1f32..559319bff31 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -360,20 +360,6 @@ bool CConnman::CheckIncomingNonce(uint64_t nonce) return true; } -/** Get the bind address for a socket as CService. */ -static CService GetBindAddress(const Sock& sock) -{ - CService addr_bind; - struct sockaddr_storage sockaddr_bind; - socklen_t sockaddr_bind_len = sizeof(sockaddr_bind); - if (!sock.GetSockName((struct sockaddr*)&sockaddr_bind, &sockaddr_bind_len)) { - addr_bind.SetSockAddr((const struct sockaddr*)&sockaddr_bind, sockaddr_bind_len); - } else { - LogWarning("getsockname failed\n"); - } - return addr_bind; -} - CNode* CConnman::ConnectNode(CAddress addrConnect, const char* pszDest, bool fCountFailure, diff --git a/src/netbase.cpp b/src/netbase.cpp index 1cc8f095ea7..43d9d04b5d9 100644 --- a/src/netbase.cpp +++ b/src/netbase.cpp @@ -947,3 +947,16 @@ CService MaybeFlipIPv6toCJDNS(const CService& service) } return ret; } + +CService GetBindAddress(const Sock& sock) +{ + CService addr_bind; + struct sockaddr_storage sockaddr_bind; + socklen_t sockaddr_bind_len = sizeof(sockaddr_bind); + if (!sock.GetSockName((struct sockaddr*)&sockaddr_bind, &sockaddr_bind_len)) { + addr_bind.SetSockAddr((const struct sockaddr*)&sockaddr_bind, sockaddr_bind_len); + } else { + LogWarning("getsockname failed\n"); + } + return addr_bind; +} diff --git a/src/netbase.h b/src/netbase.h index d3c263f9e8a..9c4c626227c 100644 --- a/src/netbase.h +++ b/src/netbase.h @@ -362,4 +362,7 @@ bool IsBadPort(uint16_t port); */ CService MaybeFlipIPv6toCJDNS(const CService& service); +/** Get the bind address for a socket as CService. */ +CService GetBindAddress(const Sock& sock); + #endif // BITCOIN_NETBASE_H