X-Git-Url: http://git.megacz.com/?p=org.ibex.jinetd.git;a=blobdiff_plain;f=src%2Forg%2Fibex%2Fjinetd%2FMain.java;fp=src%2Forg%2Fibex%2Fjinetd%2FMain.java;h=c2cb324f26f4e33949e37f5a984bc9ffa4f1188d;hp=a8ae366ba177a3173bc9d44a95c13a74b139a262;hb=99f8fd894be14226a64f1889657edf863edf8afb;hpb=9b172c3e22e33a7378f7d7bb7430ff4099561885 diff --git a/src/org/ibex/jinetd/Main.java b/src/org/ibex/jinetd/Main.java index a8ae366..c2cb324 100644 --- a/src/org/ibex/jinetd/Main.java +++ b/src/org/ibex/jinetd/Main.java @@ -1,10 +1,63 @@ package org.ibex.jinetd; import org.ibex.util.*; import java.io.*; +import java.net.*; import java.util.*; +import java.util.zip.*; public class Main { + public static String ROOT; + public static String LOGFILE; + public static PrintStream LOGSTREAM; + + private static void configureRoot() throws Exception { + ROOT = System.getProperty("jinetd.root", null); + if (ROOT == null) { + ROOT = autoDetectRoot(); + System.setProperty("jinetd.root", ROOT); + } + } + + private static void configureLogging() throws Exception { + LOGFILE = System.getProperty("jinetd.logfile", ROOT + File.separatorChar+"log.txt"); + LOGSTREAM = new PrintStream(new FileOutputStream(LOGFILE, true)); + System.setErr(LOGSTREAM); + System.setOut(LOGSTREAM); + } + + private static String autoDetectRoot() throws Exception { + if (!(Main.class.getClassLoader() instanceof URLClassLoader)) + throw new Error("unable to detect jinetd.root because my ClassLoader is not an instanceof URLClassLoader"); + URL[] urls = ((URLClassLoader)Main.class.getClassLoader()).getURLs(); + for(int i=0; i