X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2Fjinetd%2FRoot.java;h=078ec05767f4f12f3429e0da557dcb11eec70bf6;hb=169b3039b9e10a4498b78319bc32a8dcb8dccbb4;hp=6b5467df5053d7349e76211933a13a82879892a4;hpb=5a70dae9ae337182636a4c4d59951019a24e9f34;p=org.ibex.jinetd.git diff --git a/src/org/ibex/jinetd/Root.java b/src/org/ibex/jinetd/Root.java index 6b5467d..078ec05 100644 --- a/src/org/ibex/jinetd/Root.java +++ b/src/org/ibex/jinetd/Root.java @@ -6,7 +6,7 @@ import java.net.*; public class Root extends Loader { - public static String root = System.getProperty("jinetd.root", "/jinetd"); + public static String root = System.getProperty("jinetd.root", null); private final Host host; private final Watched port; @@ -20,6 +20,7 @@ public class Root extends Loader { if (part.equals("host")) return host; if (part.equals("port")) return port; if (part.equals("LIB")) return super.slash(part); + if (part.endsWith(".jar")) return super.slash(part); return null; } @@ -30,28 +31,28 @@ public class Root extends Loader { public void changed(Watched w) { if (w.part.equals("host")) { - Log.warn(this, "/host changed"); + Log.debug(this, "/host changed"); } else if (w.part.equals("port")) { - Log.warn(this, "/port changed"); - } else if (w.getAbsolutePath().startsWith(Root.root + "/LIB/")) { + Log.debug(this, "/port changed"); + } else if (w.getAbsolutePath().endsWith(".jar")) { if (w.lastModifiedAtLastScan != -1) { Log.error(this, "jinetd upgraded; bouncing the JVM...."); reboot(); } } else { - Log.info(this, "unknown directory " + w.part + " changed"); + Log.debug(this, "unknown directory " + w.part + " changed"); } } private static class PortDir extends Watched { public PortDir(String path) { super(path); } public Watched slash(String part) { - String ipaddr = part.indexOf(':') == -1 ? null : part.substring(0, part.indexOf(':')); - String portnum = part.indexOf(':') == -1 ? part : part.substring(part.indexOf(':') + 1); + String ipaddr = part.indexOf('_') == -1 ? null : part.substring(0, part.indexOf('_')); + String portnum = part.indexOf('_') == -1 ? part : part.substring(part.indexOf('_') + 1); try { - return new Port(this.path + File.separatorChar + part, - ipaddr == null ? null : InetAddress.getByName(ipaddr), - portnum.equals("*") ? 0 : Integer.parseInt(portnum)); + return Port.newPort(this.path + File.separatorChar + part, + ipaddr == null ? null : InetAddress.getByName(ipaddr), + portnum.equals("*") ? 0 : Integer.parseInt(portnum)); } catch (UnknownHostException e) { Log.warn(this, "can't resolve host for port directory: " + part); } catch (NumberFormatException e) { Log.warn(this, "invalid port directory: " + part); } catch (Exception e) { Log.warn(this, "error instantiating Port: " + part);