From d67d501b28770cc2fb5272fa3a035f9ae1d404e5 Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Thu, 27 Sep 2018 14:38:18 +0000
Subject: [PATCH] Data: Don't corrupt hidden RI with addresses

---
 router/java/src/net/i2p/data/router/RouterInfo.java | 11 ++++-------
 router/java/src/net/i2p/router/RouterVersion.java   |  2 +-
 2 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/router/java/src/net/i2p/data/router/RouterInfo.java b/router/java/src/net/i2p/data/router/RouterInfo.java
index ec2f5d99c3..bf6691bf4f 100644
--- a/router/java/src/net/i2p/data/router/RouterInfo.java
+++ b/router/java/src/net/i2p/data/router/RouterInfo.java
@@ -336,15 +336,12 @@ public class RouterInfo extends DatabaseEntry {
         if (_published < 0) throw new DataFormatException("Invalid published date: " + _published);
 
             _identity.writeBytes(out);
-            // avoid thrashing objects
-            //DataHelper.writeDate(out, new Date(_published));
             DataHelper.writeLong(out, 8, _published);
+            // There shouldn't be any addresses when hidden, but if there are,
+            // write them out, so as not to invalidate the signature
             int sz = _addresses.size();
-            if (sz <= 0 || isHidden()) {
-                // Do not send IP address to peers in hidden mode
-                out.write((byte) 0);
-            } else {
-                out.write((byte) sz);
+            out.write((byte) sz);
+            if (sz > 0) {
                 for (RouterAddress addr : _addresses) {
                     addr.writeBytes(out);
                 }
diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java
index 47667df539..895e8eb464 100644
--- a/router/java/src/net/i2p/router/RouterVersion.java
+++ b/router/java/src/net/i2p/router/RouterVersion.java
@@ -18,7 +18,7 @@ public class RouterVersion {
     /** deprecated */
     public final static String ID = "Monotone";
     public final static String VERSION = CoreVersion.VERSION;
-    public final static long BUILD = 9;
+    public final static long BUILD = 10;
 
     /** for example "-test" */
     public final static String EXTRA = "-rc";
-- 
GitLab