upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/src/net.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/net.cpp')
-rw-r--r--src/net.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/net.cpp b/src/net.cpp
index 35baf21..fed6123 100644
--- a/src/net.cpp
+++ b/src/net.cpp
@@ -2038,11 +2038,14 @@ bool StartNode(string& strError)
2038 // IP address, and port for the socket that is being bound 2038 // IP address, and port for the socket that is being bound
2039 int nRetryLimit = 15; 2039 int nRetryLimit = 15;
2040 struct sockaddr_in sockaddr = addrLocalHost.GetSockAddr(); 2040 struct sockaddr_in sockaddr = addrLocalHost.GetSockAddr();
2041 // Keep addrLocalHost as this node's advertised address, but listen on all 2041 // Managed Tor forwards hidden-service traffic to 127.0.0.1:<port>, which a
2042 // local interfaces. Managed Tor forwards hidden-service traffic to 2042 // LAN-only bind cannot receive -- so a node that advertises an onion
2043 // 127.0.0.1:<port>, and binding only to the LAN address made that onion 2043 // endpoint must listen on all local interfaces. Upstream 1.2.19 bound
2044 // endpoint unreachable even though the P2P listener was running. 2044 // INADDR_ANY unconditionally, which also widened the P2P listener of every
2045 sockaddr.sin_addr.s_addr = INADDR_ANY; 2045 // non-Tor node to VPN tunnels, docker bridges and secondary NICs. Keep the
2046 // wildcard bind conditional on actually having an onion endpoint.
2047 if (!BtfLocalOnionEndpoint().empty())
2048 sockaddr.sin_addr.s_addr = INADDR_ANY;
2046 if (bind(hListenSocket, (struct sockaddr*)&sockaddr, sizeof(sockaddr)) == SOCKET_ERROR) 2049 if (bind(hListenSocket, (struct sockaddr*)&sockaddr, sizeof(sockaddr)) == SOCKET_ERROR)
2047 { 2050 {
2048 int nErr = WSAGetLastError(); 2051 int nErr = WSAGetLastError();