X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2Fmail%2FMain.java;h=b2af366ac2e506ea52c6f6259d845f62703a777d;hb=bc83134e919098665f5027be4b2b11d971270d15;hp=9108be3e3370877f48ba75759f2bf9d16e407cb6;hpb=440e9bee20802bfbf97061b01f950448d3baf8f5;p=org.ibex.mail.git diff --git a/src/org/ibex/mail/Main.java b/src/org/ibex/mail/Main.java index 9108be3..b2af366 100644 --- a/src/org/ibex/mail/Main.java +++ b/src/org/ibex/mail/Main.java @@ -21,13 +21,10 @@ public class Main implements Listener { try { if (conn.getLocalPort() == 143) new IMAP.Listener(auth).handleRequest(conn); else if (conn.getLocalPort() == 25) new SMTP.Server().handleRequest(conn); - else if (conn.getLocalPort() == 8080) new SMTP.Server().handleRequest(conn); + else if (conn.getLocalPort() == 8080) new SMTP.Server().handleRequest(conn); else if (conn.getLocalPort() == 119) new NNTP.Listener(auth).handleRequest(conn); //else if (conn.getLocalPort() == 110) new POP3.Listener(auth).handleRequest(conn); - else if (conn.getLocalPort() == 8099) GMail.handleRequest(conn); - // else if (conn.getLocalPort() == 8080) Jetty.instance().accept(conn); - else if (conn.getLocalPort() == 443) Jetty.instance().accept(conn); - else if (conn.getLocalPort() == 80) Jetty.instance().accept(conn); + //else if (conn.getLocalPort() == 8099) GMail.handleRequest(conn); else return false; return true; } finally { @@ -37,35 +34,23 @@ public class Main implements Listener { private static final Auth auth = new Auth(); private static class Auth implements Login { - public Account anonymous() { return null; } - public Object login(String user, String pass, Class protocol) { - //if (protocol == IMAP.class && user.endsWith("@gmail.com")) return GMail.getGMail(user, pass).getIMAP(); - return login(user, pass); + public Account anonymous() { + final Mailbox root = + FileBasedMailbox.getFileBasedMailbox(Mailbox.STORAGE_ROOT + "/user", true); + return new Account("anonymous", null, root.slash("anonymous", true)){ + public Mailbox getMailbox(Class protocol) { + return super.getMailbox(protocol); + } + }; } + public Object login(String user, String pass, Class protocol) { return login(user, pass); } public Account login(String user, String pass) { - //if (user.indexOf("@gmail.com") != -1) return GMail.getGMail(user, pass); if (!EtcPasswd.verify(user, pass)) return null; final Mailbox root = FileBasedMailbox.getFileBasedMailbox(Mailbox.STORAGE_ROOT + "/user", true); return new Account(user, null, root.slash(user, true)){ public Mailbox getMailbox(Class protocol) { - //if (protocol == IMAP.class) return super.getMailbox(protocol).slash("newmail", false).slash("pending", false); - /* - if (protocol == NNTP.class) { - final Mailbox arch = new MailmanArchives(); - return new Mailbox.Default() { - public void add(Message m) { throw new RuntimeException("not supported"); } - public void add(Message m, int i) { throw new RuntimeException("not supported"); } - public int uidValidity() { return 1; } - public Mailbox.Iterator iterator() { return null; } - public int uidNext() { return 0; } - public String[] children() { return new String[] { "us" }; } - public Mailbox slash(String name, boolean create) { return arch; } - }; - } else { - */ - return super.getMailbox(protocol); - //} + return super.getMailbox(protocol); } }; }