moved BogusAuthenticator to IMAP
authoradam <adam@megacz.com>
Tue, 3 Aug 2004 07:15:41 +0000 (07:15 +0000)
committeradam <adam@megacz.com>
Tue, 3 Aug 2004 07:15:41 +0000 (07:15 +0000)
darcs-hash:20040803071541-5007d-322244d596822a9ebb0fc47cba3fa09071e65c6e.gz

src/org/ibex/mail/Main.java
src/org/ibex/mail/protocol/IMAP.java

index 009c0bf..583f432 100644 (file)
@@ -19,13 +19,4 @@ public class Main implements Listener {
         conn.close();
     }
 
-    public static class BogusAuthenticator implements IMAP.Server.Authenticator {
-        final Mailbox root =
-           FileBasedMailbox.getFileBasedMailbox(Mailbox.STORAGE_ROOT, true).slash("user", true).slash("megacz", true);
-        public Mailbox authenticate(String u, String p) {
-            if (u.equals("megacz") && p.equals("pass")) return root;
-            return null;
-        }
-    }
-
 }
index 36a5371..fc2d4ec 100644 (file)
@@ -236,7 +236,7 @@ public class IMAP {
         public void handleRequest(Connection conn) {
             this.conn = conn;
             parser = new Parser(conn);
-            api = new IMAP.MailboxWrapper(new Main.BogusAuthenticator(), this);
+            api = new IMAP.MailboxWrapper(new BogusAuthenticator(), this);
             conn.setTimeout(30 * 60 * 1000);
             println("* OK " + conn.vhost + " " + IMAP.class.getName() + " IMAP4rev1 [RFC3501] v" + version + " server ready");
             for(String tag = null;; newline()) try {
@@ -804,4 +804,11 @@ public class IMAP {
     public static final int
         PEEK=0x1, BODYSTRUCTURE=0x2, ENVELOPE=0x4, FLAGS=0x8, INTERNALDATE=0x10, FIELDS=0x800, FIELDSNOT=0x1000,
         RFC822=0x20, RFC822TEXT=0x40, RFC822SIZE=0x80, HEADERNOT=0x100, UID=0x200, HEADER=0x400;
+
+
+    public static class BogusAuthenticator implements IMAP.Server.Authenticator {
+        final Mailbox root = FileBasedMailbox.getFileBasedMailbox(Mailbox.STORAGE_ROOT, true).slash("user", true);
+        public Mailbox authenticate(String user, String pass) {
+            return EtcPasswd.verify(user, pass) ? root.slash(user, false) : null; }
+    }
 }