From f4eda0551d5ef2b59146cdde9c95b7db5fccdc6c Mon Sep 17 00:00:00 2001
From: zzz <zzz@i2pmail.org>
Date: Thu, 24 Mar 2022 17:31:48 -0400
Subject: [PATCH] Router: Change quick address check for introducers

from ihost0 to itag0, because SSU2 probably won't use ihost
---
 .../i2p/router/networkdb/kademlia/FloodfillMonitorJob.java    | 2 +-
 .../networkdb/kademlia/KademliaNetworkDatabaseFacade.java     | 2 +-
 .../src/net/i2p/router/networkdb/reseed/ReseedBundler.java    | 2 +-
 .../java/src/net/i2p/router/peermanager/ProfileOrganizer.java | 2 +-
 .../src/net/i2p/router/transport/CommSystemFacadeImpl.java    | 2 +-
 .../java/src/net/i2p/router/transport/udp/UDPTransport.java   | 4 ++--
 6 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillMonitorJob.java b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillMonitorJob.java
index 60aa92fe79..66b83d6974 100644
--- a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillMonitorJob.java
+++ b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillMonitorJob.java
@@ -229,7 +229,7 @@ class FloodfillMonitorJob extends JobImpl {
             if (ra == null)
                 happy = false;
             else {
-                if (ra.getOption("ihost0") != null)
+                if (ra.getOption("itag0") != null)
                    happy = false;
             }
         }
diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java b/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java
index 1e8f8337db..9636b91889 100644
--- a/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java
+++ b/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java
@@ -1206,7 +1206,7 @@ public abstract class KademliaNetworkDatabaseFacade extends NetworkDatabaseFacad
             // Just check all the addresses, faster than getting just the SSU ones
             for (RouterAddress ra : routerInfo.getAddresses()) {
                 // Introducers change often, introducee will ping introducer for 2 hours
-                if (ra.getOption("ihost0") != null)
+                if (ra.getOption("itag0") != null)
                     return "Old peer with SSU Introducers";
             }
         }
diff --git a/router/java/src/net/i2p/router/networkdb/reseed/ReseedBundler.java b/router/java/src/net/i2p/router/networkdb/reseed/ReseedBundler.java
index 6403afb317..daad40d535 100644
--- a/router/java/src/net/i2p/router/networkdb/reseed/ReseedBundler.java
+++ b/router/java/src/net/i2p/router/networkdb/reseed/ReseedBundler.java
@@ -97,7 +97,7 @@ public class ReseedBundler {
             boolean hasIPv4 = false;
             boolean dupIP = false;
             for (RouterAddress addr : addrs) {
-                if ("SSU".equals(addr.getTransportStyle()) && addr.getOption("ihost0") != null) {
+                if ("SSU".equals(addr.getTransportStyle()) && addr.getOption("itag0") != null) {
                     hasIntro = true;
                     break;
                 }
diff --git a/router/java/src/net/i2p/router/peermanager/ProfileOrganizer.java b/router/java/src/net/i2p/router/peermanager/ProfileOrganizer.java
index bc4c04deda..3090bd39ae 100644
--- a/router/java/src/net/i2p/router/peermanager/ProfileOrganizer.java
+++ b/router/java/src/net/i2p/router/peermanager/ProfileOrganizer.java
@@ -815,7 +815,7 @@ public class ProfileOrganizer {
                             continue;
                         }
                         // This is the quick way of doing UDPAddress.getIntroducerCount() > 0
-                        if (ra.getOption("ihost0") != null)
+                        if (ra.getOption("itag0") != null)
                             l.add(peer);
                 }
             }
diff --git a/router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java b/router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java
index 0114d27725..b81ad80f2c 100644
--- a/router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java
+++ b/router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java
@@ -319,7 +319,7 @@ public class CommSystemFacadeImpl extends CommSystemFacade {
         // Don't pass IP along if address has introducers
         // Right now we publish the direct UDP address, even if publishing introducers,
         // we probably shouldn't, see UDPTransport rebuildExternalAddress() TODO
-        if (udpAddr != null && udpAddr.getOption("ihost0") == null) {
+        if (udpAddr != null && udpAddr.getOption("itag0") == null) {
             ip = udpAddr.getIP();
             port = udpAddr.getPort();
         }
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 4913eda82a..3a89665441 100644
--- a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java
+++ b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java
@@ -2069,7 +2069,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
             boolean rv = (externalListenHost == null) || (externalListenPort <= 0);
             if (!rv) {
                 // shortcut to determine if introducers are present
-                if (addr.getOption("ihost0") != null)
+                if (addr.getOption("itag0") != null)
                     rv = true;  // status == ok and we don't actually need introducers, so rebuild
             }
             if (rv) {
@@ -2325,7 +2325,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
             RouterAddress addr = addrs.get(i);
             //if (getSSUVersion(addr) == 0)
             //    continue;
-            if (addr.getOption("ihost0") == null) {
+            if (addr.getOption("itag0") == null) {
                 // No introducers
                 // Skip outbound-only or invalid address/port
                 byte[] ip = addr.getIP();
-- 
GitLab