From 0f3abf0c9ef44305bb65b84e71fbe3a78f5f4432 Mon Sep 17 00:00:00 2001 From: zzz <zzz@i2pmail.org> Date: Sun, 24 Apr 2022 10:23:33 -0400 Subject: [PATCH] SSU: Publish empty IPv6 address when missing introducers --- .../router/transport/udp/UDPTransport.java | 32 ++++++++----------- 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java index ee5b2cf6c6..625475f051 100644 --- a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java +++ b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java @@ -2888,24 +2888,20 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority RouterAddress local = new RouterAddress(STYLE, localOpts, DEFAULT_COST); replaceCurrentExternalAddress(local, isIPv6); } - if (!isIPv6) { - // Make an empty "4" address - OrderedProperties opts = new OrderedProperties(); - opts.setProperty(UDPAddress.PROP_CAPACITY, CAP_IPV4); - if (_enableSSU2) - addSSU2Options(opts); - RouterAddress addr4 = new RouterAddress(STYLE, opts, SSU_OUTBOUND_COST); - RouterAddress current = getCurrentAddress(false); - boolean wantsRebuild = !addr4.deepEquals(current); - if (!wantsRebuild) - return null; - replaceAddress(addr4); - if (allowRebuildRouterInfo) - rebuildRouterInfo(); - return addr4; - } - removeExternalAddress(isIPv6, allowRebuildRouterInfo); - return null; + // Make an empty "4" or "6" address + OrderedProperties opts = new OrderedProperties(); + opts.setProperty(UDPAddress.PROP_CAPACITY, isIPv6 ? CAP_IPV6 : CAP_IPV4); + if (_enableSSU2) + addSSU2Options(opts); + RouterAddress addr = new RouterAddress(STYLE, opts, SSU_OUTBOUND_COST); + RouterAddress current = getCurrentAddress(isIPv6); + boolean wantsRebuild = !addr.deepEquals(current); + if (!wantsRebuild) + return null; + replaceAddress(addr); + if (allowRebuildRouterInfo) + rebuildRouterInfo(); + return addr; } } -- GitLab