From 7d64ea4a01920bb55bc6de0de6766712ec792a11 Mon Sep 17 00:00:00 2001 From: Vasil Dimov Date: Mon, 19 Oct 2020 15:32:54 +0200 Subject: net: only assume all local addresses if listening on any If `-bind=` is provided then we would bind only to a particular address and should not add all the other addresses of the machine to the list of local addresses. Fixes https://github.com/bitcoin/bitcoin/issues/20184 (case 4.) --- src/net.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/net.h') diff --git a/src/net.h b/src/net.h index ddc1d3dd7c..a38310938b 100644 --- a/src/net.h +++ b/src/net.h @@ -183,7 +183,15 @@ enum class ConnectionType { /** Convert ConnectionType enum to a string value */ std::string ConnectionTypeAsString(ConnectionType conn_type); + +/** + * Look up IP addresses from all interfaces on the machine and add them to the + * list of local addresses to self-advertise. + * The loopback interface is skipped and only the first address from each + * interface is used. + */ void Discover(); + uint16_t GetListenPort(); enum -- cgit v1.2.3