diff --git a/core/java/src/net/i2p/client/naming/LookupDest.java b/core/java/src/net/i2p/client/naming/LookupDest.java index d6b3111636..9c3274a017 100644 --- a/core/java/src/net/i2p/client/naming/LookupDest.java +++ b/core/java/src/net/i2p/client/naming/LookupDest.java @@ -96,6 +96,23 @@ static Destination lookupHostname(I2PAppContext ctx, String hostname) throws I2P return rv; } + private static boolean deleteHostname(I2PAppContext ctx, String hostname) { + try { + Destination dest = lookupHostname(I2PAppContext.getGlobalContext(), hostname); + if (dest == null) + System.err.println("Destination not found!"); + else { + NamingService ns = I2PAppContext.getGlobalContext().namingService(); + if (ns != null) + return ns.remove(hostname, dest); + System.err.print("ns is null"); + } + } catch (I2PSessionException ise) { + ise.printStackTrace(); + } + return false; + } + /** * @since 0.9.40 split out from above */ @@ -130,14 +147,22 @@ public static void main(String args[]) { System.err.println("Usage: LookupDest hostname|b32"); System.exit(1); } - try { - Destination dest = lookupHostname(I2PAppContext.getGlobalContext(), args[0]); - if (dest == null) - System.err.println("Destination not found!"); - else - System.out.println(dest.toBase64()); - } catch (I2PSessionException ise) { - ise.printStackTrace(); + if (args[0].length() == 1) { + try { + Destination dest = lookupHostname(I2PAppContext.getGlobalContext(), args[0]); + if (dest == null) + System.err.println("Destination not found!"); + else + System.out.println(dest.toBase64()); + } catch (I2PSessionException ise) { + ise.printStackTrace(); + } + } + if (args[0].length() == 2) { + if (args[0] == "-d") { + deleteHostname(I2PAppContext.getGlobalContext(), args[1]); + } } + } }