init(org.ibex.jinetd.Main.ROOT + "/host", "", 0, Main.getRootClassLoader());
}
public static void init(String path, String host, int depth, ClassLoader pcl) {
+ if (!new File(path).exists() || !new File(path).isDirectory()) return;
try {
- InetAddress.getByName(host);
+ Log.warn(Host.class, "resolving " + host);
+ InetAddress ia = InetAddress.getByName(host);
String pad = "";
while(pad.length() + host.length() < 30) pad += " ";
- Log.info(Main.class, pad + host + " => " + path);
- hosts.put(host, pcl = new Host(path, host, pcl));
+ if (ia.equals(InetAddress.getLocalHost())) {
+ Log.info(Main.class, pad + host + " => " + path);
+ hosts.put(host, pcl = new Host(path, host, pcl));
+ }
} catch (UnknownHostException e) {
if (depth >= 3) return;
}
String[] subdirs = new File(path).list();
- for(int i=0; i<subdirs.length; i++)
- init(path + File.separatorChar + subdirs[i], host.equals("") ? subdirs[i] : subdirs[i]+"."+host, depth+1, pcl);
+ if (subdirs != null)
+ for(int i=0; i<subdirs.length; i++)
+ init(path + File.separatorChar + subdirs[i], host.equals("") ? subdirs[i] : subdirs[i]+"."+host, depth+1, pcl);
}
}