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;
- }
- }
-
}
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 {
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; }
+ }
}