diff --git a/apps/susidns/src/java/src/i2p/susi/dns/NamingServiceBean.java b/apps/susidns/src/java/src/i2p/susi/dns/NamingServiceBean.java index 1e31eb7d8..752266422 100644 --- a/apps/susidns/src/java/src/i2p/susi/dns/NamingServiceBean.java +++ b/apps/susidns/src/java/src/i2p/susi/dns/NamingServiceBean.java @@ -55,8 +55,8 @@ public class NamingServiceBean extends AddressbookBean if (isDirect()) return super.isPrefiltered(); return (search == null || search.length() <= 0) && - (filter == null || filter.length() <= 0); - // and right naming service... + (filter == null || filter.length() <= 0) && + getNamingService().getName().equals(DEFAULT_NS); } @Override @@ -91,17 +91,14 @@ public class NamingServiceBean extends AddressbookBean return super.getFileName(); loadConfig(); String filename = properties.getProperty( getBook() + "_addressbook" ); - int slash = filename.lastIndexOf('/'); - if (slash >= 0) - filename = filename.substring(slash + 1); - return filename; + return basename(filename); } /** depth-first search */ private static NamingService searchNamingService(NamingService ns, String srch) { String name = ns.getName(); - if (name == srch || name == DEFAULT_NS) + if (name.equals(srch) || basename(name).equals(srch) || name.equals(DEFAULT_NS)) return ns; List list = ns.getNamingServices(); if (list != null) { @@ -114,6 +111,13 @@ public class NamingServiceBean extends AddressbookBean return null; } + private static String basename(String filename) { + int slash = filename.lastIndexOf('/'); + if (slash >= 0) + filename = filename.substring(slash + 1); + return filename; + } + /** @return the NamingService for the current file name, or the root NamingService */ private NamingService getNamingService() { diff --git a/core/java/src/net/i2p/client/naming/SingleFileNamingService.java b/core/java/src/net/i2p/client/naming/SingleFileNamingService.java index 4a5d48d1a..f00102c46 100644 --- a/core/java/src/net/i2p/client/naming/SingleFileNamingService.java +++ b/core/java/src/net/i2p/client/naming/SingleFileNamingService.java @@ -335,7 +335,7 @@ public class SingleFileNamingService extends NamingService { int split = line.indexOf('='); if (split <= 0) continue; - String key = line.substring(split); + String key = line.substring(0, split); if (searchOpt != null && key.indexOf(searchOpt) < 0) continue; String b64 = line.substring(split+1); //.trim() ??????????????