diff --git a/core/java/src/net/i2p/client/naming/EepGetNamingService.java b/core/java/src/net/i2p/client/naming/EepGetNamingService.java index 99aae007c8fda7271a1fabd7038213f0971a945a..057f3d4f68db49d13e3458fc4386cfb4ef87e651 100644 --- a/core/java/src/net/i2p/client/naming/EepGetNamingService.java +++ b/core/java/src/net/i2p/client/naming/EepGetNamingService.java @@ -63,6 +63,10 @@ public class EepGetNamingService extends NamingService { } public Destination lookup(String hostname) { + // If it's long, assume it's a key. + if (hostname.length() >= DEST_SIZE) + return lookupBase64(hostname); + hostname = hostname.toLowerCase(); // check the cache @@ -95,10 +99,7 @@ public class EepGetNamingService extends NamingService { return lookupBase64(key); } } - - // If we can't find name, - // assume it's a key. - return lookupBase64(hostname); + return null; } private static final int DEST_SIZE = 516; // Std. Base64 length (no certificate) diff --git a/core/java/src/net/i2p/client/naming/ExecNamingService.java b/core/java/src/net/i2p/client/naming/ExecNamingService.java index 19e94dfca6a8a13bc443e2dc07d190406e0d6f42..8d76f50fd8cd76b2dc07495dc88ccaa4aca454f5 100644 --- a/core/java/src/net/i2p/client/naming/ExecNamingService.java +++ b/core/java/src/net/i2p/client/naming/ExecNamingService.java @@ -64,6 +64,10 @@ public class ExecNamingService extends NamingService { } public Destination lookup(String hostname) { + // If it's long, assume it's a key. + if (hostname.length() >= DEST_SIZE) + return lookupBase64(hostname); + hostname = hostname.toLowerCase(); // check the cache @@ -80,10 +84,7 @@ public class ExecNamingService extends NamingService { _hosts.setProperty(hostname, key); // cache return lookupBase64(key); } - - // If we can't find name, - // assume it's a key. - return lookupBase64(hostname); + return null; } private static final int DEST_SIZE = 516; // Std. Base64 length (no certificate) diff --git a/core/java/src/net/i2p/client/naming/HostsTxtNamingService.java b/core/java/src/net/i2p/client/naming/HostsTxtNamingService.java index 20a59121e12920c0c29371d51ecaa88318a369e5..696fe1479b30b73418502bb92e797db2b22f0b4a 100644 --- a/core/java/src/net/i2p/client/naming/HostsTxtNamingService.java +++ b/core/java/src/net/i2p/client/naming/HostsTxtNamingService.java @@ -54,6 +54,10 @@ public class HostsTxtNamingService extends NamingService { } public Destination lookup(String hostname) { + // If it's long, assume it's a key. + if (hostname.length() >= 516) + return lookupBase64(hostname); + // check the list each time, reloading the file on each // lookup @@ -79,12 +83,10 @@ public class HostsTxtNamingService extends NamingService { } // not found, continue to the next file } - // If we can't find name in any of the hosts files, - // assume it's a key. - return lookupBase64(hostname); + return null; } public String reverseLookup(Destination dest) { return null; } -} \ No newline at end of file +}