From ee51f69a5ae3b5c24291a8e332fe5489decb403a Mon Sep 17 00:00:00 2001 From: zzz Date: Tue, 10 Nov 2009 14:44:40 +0000 Subject: [PATCH] * Addressbook, NamingService: Allow 516 byte dests that end with AA but not AAAA, so we can permit non-null zero-length certs. --- apps/addressbook/java/src/addressbook/AddressBook.java | 3 ++- core/java/src/net/i2p/client/naming/EepGetNamingService.java | 2 +- core/java/src/net/i2p/client/naming/ExecNamingService.java | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/addressbook/java/src/addressbook/AddressBook.java b/apps/addressbook/java/src/addressbook/AddressBook.java index 2694cae78..d90bf0f13 100644 --- a/apps/addressbook/java/src/addressbook/AddressBook.java +++ b/apps/addressbook/java/src/addressbook/AddressBook.java @@ -193,7 +193,8 @@ public class AddressBook { (! host.endsWith(".router.i2p")) && (! host.endsWith(".console.i2p")) && - ((dest.length() == MIN_DEST_LENGTH && dest.endsWith("AAAA")) || + // null cert ends with AAAA but other zero-length certs would be AA + ((dest.length() == MIN_DEST_LENGTH && dest.endsWith("AA")) || (dest.length() > MIN_DEST_LENGTH && dest.length() <= MAX_DEST_LENGTH)) && dest.replaceAll("[a-zA-Z0-9~-]", "").length() == 0 ; diff --git a/core/java/src/net/i2p/client/naming/EepGetNamingService.java b/core/java/src/net/i2p/client/naming/EepGetNamingService.java index 897d645ba..6ce7ca17b 100644 --- a/core/java/src/net/i2p/client/naming/EepGetNamingService.java +++ b/core/java/src/net/i2p/client/naming/EepGetNamingService.java @@ -118,7 +118,7 @@ public class EepGetNamingService extends NamingService { if (key.startsWith(hostname + "=")) // strip hostname= key = key.substring(hostname.length() + 1); key = key.substring(0, DEST_SIZE); // catch IndexOutOfBounds exception below - if (!key.endsWith("AAAA")) { + if (!key.endsWith("AA")) { _log.error("Invalid key: " + url + hostname); return null; } diff --git a/core/java/src/net/i2p/client/naming/ExecNamingService.java b/core/java/src/net/i2p/client/naming/ExecNamingService.java index 86b808f78..f014fa0d7 100644 --- a/core/java/src/net/i2p/client/naming/ExecNamingService.java +++ b/core/java/src/net/i2p/client/naming/ExecNamingService.java @@ -112,7 +112,7 @@ public class ExecNamingService extends NamingService { if (key.startsWith(hostname + "=")) // strip hostname= key = key.substring(hostname.length() + 1); key = key.substring(0, DEST_SIZE); // catch IndexOutOfBounds exception below - if (!key.endsWith("AAAA")) { + if (!key.endsWith("AA")) { _log.error("Invalid key: " + command); return null; }