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