diff options
author | Martin Zumsande <mzumsande@gmail.com> | 2022-09-01 18:26:55 -0400 |
---|---|---|
committer | Martin Zumsande <mzumsande@gmail.com> | 2022-09-19 11:06:43 -0400 |
commit | 68209a7b5c0326e14508d9cf749771605bd6ffe7 (patch) | |
tree | 76bc34ff99c0dbdb3ba9b41c7bcd52f5a729acc2 /src | |
parent | a8a9ed67cc447d204304ccfd844c45fd76486c6a (diff) |
rpc: make addpeeraddress work with cjdns addresses
This allows us to add cjdns addresses to addrman for
testing and debug purposes (if -cjdnsreachable is true)
Diffstat (limited to 'src')
-rw-r--r-- | src/net.h | 1 | ||||
-rw-r--r-- | src/rpc/net.cpp | 3 |
2 files changed, 3 insertions, 1 deletions
@@ -164,6 +164,7 @@ bool SeenLocal(const CService& addr); bool IsLocal(const CService& addr); bool GetLocal(CService &addr, const CNetAddr *paddrPeer = nullptr); CService GetLocalAddress(const CNetAddr& addrPeer); +CService MaybeFlipIPv6toCJDNS(const CService& service); extern bool fDiscover; diff --git a/src/rpc/net.cpp b/src/rpc/net.cpp index e221b3462d..d701a180ab 100644 --- a/src/rpc/net.cpp +++ b/src/rpc/net.cpp @@ -947,7 +947,8 @@ static RPCHelpMan addpeeraddress() bool success{false}; if (LookupHost(addr_string, net_addr, false)) { - CAddress address{{net_addr, port}, ServiceFlags{NODE_NETWORK | NODE_WITNESS}}; + CService service{net_addr, port}; + CAddress address{MaybeFlipIPv6toCJDNS(service), ServiceFlags{NODE_NETWORK | NODE_WITNESS}}; address.nTime = Now<NodeSeconds>(); // The source address is set equal to the address. This is equivalent to the peer // announcing itself. |