X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2Fmail%2FMain.java;fp=src%2Forg%2Fibex%2Fmail%2FMain.java;h=b11584c7c57274c10b30d983208fe1eb96b4b950;hb=4f4c5c1eab2c76e1b7092a8463d998ac58c07fc2;hp=bd3014d89f9fa131437234faa5367e77a45a255d;hpb=988273abdddb8d3de3d6e43016310c7e94cf17a8;p=org.ibex.mail.git diff --git a/src/org/ibex/mail/Main.java b/src/org/ibex/mail/Main.java index bd3014d..b11584c 100644 --- a/src/org/ibex/mail/Main.java +++ b/src/org/ibex/mail/Main.java @@ -16,6 +16,7 @@ import javax.net.ssl.SSLServerSocket; import javax.net.ssl.SSLServerSocketFactory; import javax.net.ssl.SSLSocket; +// restrict the maximum number of open connections from any given source IP (probably max 4) public class Main { public static void main(String[] s) throws Exception { @@ -72,22 +73,22 @@ public class Main { private ServerSocket ss; public Acceptor(ServerSocket ss) { this.ss = ss; } public void run() { - try { - ss.setReuseAddress(true); - - while(true) { + while(true) { + try { + ss.setReuseAddress(true); final Socket s = ss.accept(); - try { - new Thread() { - public void run() { - try { - accept(new Connection(s, "megacz.com")); - } catch (Exception e) { Log.error(Main.class, e); } - } - }.start(); - } catch (Exception e) { Log.error(Main.class, e); } + new Thread() { + public void run() { + try { + accept(new Connection(s, "megacz.com")); + } catch (Throwable t) { Log.error(Main.class, t); } + } + }.start(); + } catch (Throwable t) { + Log.error(Main.class, t); + Misc.sleep(1000); } - } catch (Exception e) { Log.error(Main.class, e); } + } } } @@ -115,7 +116,7 @@ public class Main { static final Auth auth = new Auth(); static class Auth implements Login { - private KerberosAuth ka = new KerberosAuth("MEGACZ.COM", "godel.megacz.com"); + private KerberosAuth ka = new KerberosAuth("MEGACZ.COM", "chaitin.megacz.com"); public Account anonymous() { try { final Mailbox root = @@ -131,6 +132,7 @@ public class Main { public Object login(String user, String pass, Class protocol) { return login(user, pass); } public Account login(String user, String pass) { //if (!EtcPasswd.verify(user, pass)) return null; + //if (!CheckPassword.verify(user, pass)) return null; if (!ka.auth(user, pass)) return null; final Mailbox root = FileBasedMailbox.getFileBasedMailbox(Mailbox.STORAGE_ROOT + "/user", true);