From 6387f397b323b0fb4ca303fe418550f5465147c6 Mon Sep 17 00:00:00 2001 From: Vasil Dimov Date: Mon, 13 Sep 2021 13:02:05 +0200 Subject: net: recognize CJDNS addresses as such In some cases addresses come from an external source as a string or as a `struct sockaddr_in6`, without a tag to tell whether it is a private IPv6 or a CJDNS address. In those cases interpret the address as a CJDNS address instead of an IPv6 address if `-cjdnsreachable` is set and the seemingly-IPv6-address belongs to `fc00::/8`. Those external sources are: * `-externalip=` * `-bind=` * UPnP * `getifaddrs(3)` (called through `-discover`) * `addnode` * `connect` * incoming connections (returned by `accept(2)`) --- src/netaddress.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/netaddress.h') diff --git a/src/netaddress.h b/src/netaddress.h index 57eb8bc72f..f074c1d3ec 100644 --- a/src/netaddress.h +++ b/src/netaddress.h @@ -550,6 +550,7 @@ public: } friend class CServiceHash; + friend CService MaybeFlipIPv6toCJDNS(const CService& service); }; class CServiceHash -- cgit v1.2.3