From 53ae1e68bebff56f89414676e3303c553e6708c7 Mon Sep 17 00:00:00 2001 From: adam Date: Thu, 18 Mar 2004 08:39:54 +0000 Subject: [PATCH] import darcs-hash:20040318083954-5007d-73270f6e707abb6388f00423c6ff6ee74d36cd40.gz --- doc/README | 17 +++ doc/ref/rfc2821.txt.pdf | Bin 0 -> 120628 bytes doc/ref/rfc2822.txt.pdf | Bin 0 -> 67879 bytes doc/ref/rfc3282.txt.pdf | Bin 0 -> 10164 bytes src/org/ibex/mail/Message.java | 140 +++++++++++++++++++++++ src/org/ibex/mail/filter/Anonymizer.java | 4 + src/org/ibex/mail/filter/DCC.java | 4 + src/org/ibex/mail/filter/HTML2Text.java | 4 + src/org/ibex/mail/filter/PGP.java | 4 + src/org/ibex/mail/filter/ReturnReciept.java | 4 + src/org/ibex/mail/filter/RewriteFilter.java | 4 + src/org/ibex/mail/filter/SingleUse.java | 4 + src/org/ibex/mail/filter/SpamAssassin.java | 4 + src/org/ibex/mail/filter/SpamFilter.java | 4 + src/org/ibex/mail/filter/VipulsRazor.java | 4 + src/org/ibex/mail/protocol/Fax.java | 4 + src/org/ibex/mail/protocol/IMAP.java | 34 ++++++ src/org/ibex/mail/protocol/MessageProtocol.java | 7 ++ src/org/ibex/mail/protocol/NNTP.java | 4 + src/org/ibex/mail/protocol/POP3.java | 90 +++++++++++++++ src/org/ibex/mail/protocol/RSS.java | 4 + src/org/ibex/mail/protocol/SMS.java | 4 + src/org/ibex/mail/protocol/SMTP.java | 117 +++++++++++++++++++ src/org/ibex/mail/protocol/WebMail.java | 4 + src/org/ibex/mail/store/MessageStore.java | 58 ++++++++++ src/org/ibex/mail/target/Bounce.java | 4 + src/org/ibex/mail/target/Darcs.java | 4 + src/org/ibex/mail/target/LMTP.java | 4 + src/org/ibex/mail/target/List.java | 4 + src/org/ibex/mail/target/Pipe.java | 4 + src/org/ibex/mail/target/Procmail.java | 4 + src/org/ibex/mail/target/Target.java | 4 + src/org/ibex/mail/target/Vacation.java | 4 + src/org/ibex/mail/target/XMLRPC.java | 4 + 34 files changed, 559 insertions(+) create mode 100644 doc/README create mode 100644 doc/ref/rfc2821.txt.pdf create mode 100644 doc/ref/rfc2822.txt.pdf create mode 100644 doc/ref/rfc3282.txt.pdf create mode 100644 src/org/ibex/mail/Message.java create mode 100644 src/org/ibex/mail/filter/Anonymizer.java create mode 100644 src/org/ibex/mail/filter/DCC.java create mode 100644 src/org/ibex/mail/filter/HTML2Text.java create mode 100644 src/org/ibex/mail/filter/PGP.java create mode 100644 src/org/ibex/mail/filter/ReturnReciept.java create mode 100644 src/org/ibex/mail/filter/RewriteFilter.java create mode 100644 src/org/ibex/mail/filter/SingleUse.java create mode 100644 src/org/ibex/mail/filter/SpamAssassin.java create mode 100644 src/org/ibex/mail/filter/SpamFilter.java create mode 100644 src/org/ibex/mail/filter/VipulsRazor.java create mode 100644 src/org/ibex/mail/protocol/Fax.java create mode 100644 src/org/ibex/mail/protocol/IMAP.java create mode 100644 src/org/ibex/mail/protocol/MessageProtocol.java create mode 100644 src/org/ibex/mail/protocol/NNTP.java create mode 100644 src/org/ibex/mail/protocol/POP3.java create mode 100644 src/org/ibex/mail/protocol/RSS.java create mode 100644 src/org/ibex/mail/protocol/SMS.java create mode 100644 src/org/ibex/mail/protocol/SMTP.java create mode 100644 src/org/ibex/mail/protocol/WebMail.java create mode 100644 src/org/ibex/mail/store/MessageStore.java create mode 100644 src/org/ibex/mail/target/Bounce.java create mode 100644 src/org/ibex/mail/target/Darcs.java create mode 100644 src/org/ibex/mail/target/LMTP.java create mode 100644 src/org/ibex/mail/target/List.java create mode 100644 src/org/ibex/mail/target/Pipe.java create mode 100644 src/org/ibex/mail/target/Procmail.java create mode 100644 src/org/ibex/mail/target/Target.java create mode 100644 src/org/ibex/mail/target/Vacation.java create mode 100644 src/org/ibex/mail/target/XMLRPC.java diff --git a/doc/README b/doc/README new file mode 100644 index 0000000..c5bd6cc --- /dev/null +++ b/doc/README @@ -0,0 +1,17 @@ +============================================================================== +org.ibex.mail + + +A mail server offering the same level of flexibility as Java Servlets. + +The org.ibex.mail server infrastructure is designed to run within +Resin. This gives us immediate access to Resin's advanced features +including: + + - Sophisticated configuration file management in XML + - Expression Language expansion within configuration files + - JNI-driven SSL + - Thread pooling + - Shared configuration of virtual hosts between web-apps and mail-apps + - Authentication infrastructure + diff --git a/doc/ref/rfc2821.txt.pdf b/doc/ref/rfc2821.txt.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a3f8a17dd38fc234f194b716cc0854ee0cd0e57c GIT binary patch literal 120628 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 z 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�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 mO|s#-gco+DIx0SW5lH|fdv*qxd? zpi_7xj+2DUj(GFpQ>EEoLyTC<+3T+Jtfy3IzEXMOnfN*dS~UK&dQfC+WY%S+dAahZ z1@#-IJXW9JF)?RXv-iOjz591-nHBW@**2ik9sBI>M**?ZPlVWXggpo`=rI$l+;QJx zhP`ZESdiZzakg1+8#qoymHbzXy-|Bh%MLooY7|Z0z{#|}#k2Nn7CBviv(mliak%*n zrcXh%r&5RS(^Y3{mT!tJ#-^`$RF`6@mOFEI`MYgY`4ZhzE?EYNW6`52Oy7ld11X%G z2bEmw^X}_kn}>QM7tTHXbeQT_CJeM1^2}zH_Eqp(&7zJTvC%xdv@In!vUm_~kMpky zhrZRuA$5CmEE;Zk=xnqg2_>_hkWat7zR%PHj;;|Dab>Ov`fOYi>=;`L*F^LO8-Gifam@0(_461* zRi|{9!#l6IzGm2VEt-BV>Md4#&N?jJR zMKy1S<}RyPUnpmy;bbFpsSarV<7$$^%>-toRcqwT`Df(*_&DZ~)a1yUZJ*$*z;eMf z_X$X|R@#a?98bR$^wz`)GJe<#dHH-6A3%`FgGh2`*Yklvb;=`+`ZcO

} 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') == -1) { /* FIXME */ } + descrip = s.substring(0, s.indexOf('<')) + s.substring(s.indexOf('>') + 1); + s = s.substring(s.indexOf('<') + 1, s.indexOf('>')); + } + if (s.indexOf('@') == -1) { /* FIXME */ } + description = descrip; + user = s.substring(0, s.indexOf('@')); + host = s.substring(s.indexOf('@')+1); + } + } + + public class Trace { + final String returnPath = null; + final Element[] elements; + public class Element { + final String fromDomain; + final String fromIP; + final String toDomain; + final String forWhom; + final Date date; + } + } + + public static class Base36 { + public static String encode(long l) { + StringBuffer ret = new StringBuffer(); + while (l > 0) { + if ((l % 36) < 10) ret.append((char)(((int)'0') + (int)(l % 36))); + else ret.append((char)(((int)'A') + (int)((l % 36) - 10))); + l /= 36; + } + } + } + + public Message(ReadStream rs) { + String key = null; + StringBuffer all = new StringBuffer(); + for(String s = rs.readLine(); s != null && !s.equals(""); s = rs.readLine()) { + all.append(s); + all.append("\r\n"); + if (Character.isSpace(s.charAt(0))) { + if (lastKey == null) { /* FIXME */ } + headers.put(lastKey, headers.get(lastKey) + s); + continue; + } + if (s.indexOf(':') == -1) { /* FIXME */ } + + key = s.substring(0, s.indexOf(':')); + String val = s.substring(0, s.indexOf(':') + 1); + while(Character.isSpace(val.charAt(0))) val = val.substring(1); + + if (headers.get(key) != null) + if (key.startsWith("Resent-")) { + // FIXME: multi-resent headers + } else if (key.startsWith("Return-Path:")) { + // FIXME: parse traces, see RFC2821, section 4.4 + } else if (key.startsWith("Recieved:")) { + // FIXME: parse traces, see RFC2821, section 4.4 + } else { + // just append it to the previous one; valid for Comments/Keywords + val = headers.get(key) + " " + val; + } + + headers.put(key, val); + } + pristeneHeaders = all.toString(); + StringBuffer body = new StringBuffer(); + for(String s = rs.readLine(); s != null && !s.equals(""); s = rs.readLine()) body.append(s); + this.body = body.toString(); + } + + // http://www.jwz.org/doc/mid.html + public static String generateFreshMessageId() { + StringBuffer ret = new StringBuffer(); + ret.append('<'); + ret.append(Base36.encode(System.currentTimeMillis())); + ret.append('.'); + ret.append(Base36.encode(random.nextLong())); + ret.append('.'); + try { ret.append(InetAddress.getLocalHost().getHostName()); } catch (UnknownHostException e) { /* DELIBERATE */ } + ret.append('>'); + return ret.toString(); + } + + private static final Random = new Random(); +} diff --git a/src/org/ibex/mail/filter/Anonymizer.java b/src/org/ibex/mail/filter/Anonymizer.java new file mode 100644 index 0000000..6544d41 --- /dev/null +++ b/src/org/ibex/mail/filter/Anonymizer.java @@ -0,0 +1,4 @@ +package org.ibex.mail.filter; +/** anonymizes mail messages */ +public class Anonymizer extends Filter { +} diff --git a/src/org/ibex/mail/filter/DCC.java b/src/org/ibex/mail/filter/DCC.java new file mode 100644 index 0000000..6f1eb0f --- /dev/null +++ b/src/org/ibex/mail/filter/DCC.java @@ -0,0 +1,4 @@ +package org.ibex.mail.filter; +/** implements the Distributed Checksum Clearinghouse spam filtering protocol */ +public class DCC extends SpamFilter { +} diff --git a/src/org/ibex/mail/filter/HTML2Text.java b/src/org/ibex/mail/filter/HTML2Text.java new file mode 100644 index 0000000..d45a468 --- /dev/null +++ b/src/org/ibex/mail/filter/HTML2Text.java @@ -0,0 +1,4 @@ +package org.ibex.mail.filter; +/** converts text/html parts into nice ASCII text for mutt/gnus/pine/etc */ +public class HTML2Text extends Filter { +} diff --git a/src/org/ibex/mail/filter/PGP.java b/src/org/ibex/mail/filter/PGP.java new file mode 100644 index 0000000..35a04ce --- /dev/null +++ b/src/org/ibex/mail/filter/PGP.java @@ -0,0 +1,4 @@ +package org.ibex.mail.filter; +/** checks PGP signatures on incoming mail */ +public class PGP extends Filter { +} diff --git a/src/org/ibex/mail/filter/ReturnReciept.java b/src/org/ibex/mail/filter/ReturnReciept.java new file mode 100644 index 0000000..33603d2 --- /dev/null +++ b/src/org/ibex/mail/filter/ReturnReciept.java @@ -0,0 +1,4 @@ +package org.ibex.mail.filter; +/** sticks a 1x1 gif in outbound messages so we can tell when the message is read */ +public class ReturnReciept extends Filter { +} diff --git a/src/org/ibex/mail/filter/RewriteFilter.java b/src/org/ibex/mail/filter/RewriteFilter.java new file mode 100644 index 0000000..039f5f1 --- /dev/null +++ b/src/org/ibex/mail/filter/RewriteFilter.java @@ -0,0 +1,4 @@ +package org.ibex.mail.filter; +/** a flexible, regexp-based email address rewriting engine */ +public class RewriteFilter extends Filter { +} diff --git a/src/org/ibex/mail/filter/SingleUse.java b/src/org/ibex/mail/filter/SingleUse.java new file mode 100644 index 0000000..37f317f --- /dev/null +++ b/src/org/ibex/mail/filter/SingleUse.java @@ -0,0 +1,4 @@ +package org.ibex.mail.filter; +/** tags outgoing messages with a single-use email address */ +public class SingleUse extends Filter { +} diff --git a/src/org/ibex/mail/filter/SpamAssassin.java b/src/org/ibex/mail/filter/SpamAssassin.java new file mode 100644 index 0000000..5a427b1 --- /dev/null +++ b/src/org/ibex/mail/filter/SpamAssassin.java @@ -0,0 +1,4 @@ +package org.ibex.mail.filter; +/** invokes SpamAssassin */ +public class SpamAssassin extends SpamFilter { +} diff --git a/src/org/ibex/mail/filter/SpamFilter.java b/src/org/ibex/mail/filter/SpamFilter.java new file mode 100644 index 0000000..bc075d7 --- /dev/null +++ b/src/org/ibex/mail/filter/SpamFilter.java @@ -0,0 +1,4 @@ +package org.ibex.mail.filter; +/** base class for spam filters */ +public class SpamFilter extends Filter { +} diff --git a/src/org/ibex/mail/filter/VipulsRazor.java b/src/org/ibex/mail/filter/VipulsRazor.java new file mode 100644 index 0000000..f2479d5 --- /dev/null +++ b/src/org/ibex/mail/filter/VipulsRazor.java @@ -0,0 +1,4 @@ +package org.ibex.mail.filter; +/** invokes Vipul's Razor */ +public class VipulsRazor extends SpamFilter { +} diff --git a/src/org/ibex/mail/protocol/Fax.java b/src/org/ibex/mail/protocol/Fax.java new file mode 100644 index 0000000..56271f3 --- /dev/null +++ b/src/org/ibex/mail/protocol/Fax.java @@ -0,0 +1,4 @@ +package org.ibex.mail.protocol; +/** Fax send/recieve/gateway */ +public class Fax extends MessageProtocol { +} diff --git a/src/org/ibex/mail/protocol/IMAP.java b/src/org/ibex/mail/protocol/IMAP.java new file mode 100644 index 0000000..a504848 --- /dev/null +++ b/src/org/ibex/mail/protocol/IMAP.java @@ -0,0 +1,34 @@ +package org.ibex.mail.protocol; +import java.net.*; +import java.io.*; + +class IMAPException extends IOException { +} + +interface IMAP { +} + + +public class IMAP extends MessageProtocol { + + public static void main(String[] args) throws Exception { + ServerSocket ss = new ServerSocket(143); + while(true) { + System.out.println("listening"); + final Socket s = ss.accept(); + System.out.println("connected"); + new Thread() { + public void run() { + try { + service(s); + } catch (Exception e) { + e.printStackTrace(); + } + } + }.start(); + } + } + + public static void service(Socket s) throws IOException { + } +} diff --git a/src/org/ibex/mail/protocol/MessageProtocol.java b/src/org/ibex/mail/protocol/MessageProtocol.java new file mode 100644 index 0000000..7542c7b --- /dev/null +++ b/src/org/ibex/mail/protocol/MessageProtocol.java @@ -0,0 +1,7 @@ +package org.ibex.mail.protocol; +/** base class for over-the-wire protocols used to send, recieve, and serve messages */ +import com.caucho.server.connection.*; +import com.caucho.server.port.*; + +public class MessageProtocol extends com.caucho.server.port.Protocol { +} diff --git a/src/org/ibex/mail/protocol/NNTP.java b/src/org/ibex/mail/protocol/NNTP.java new file mode 100644 index 0000000..150c8d0 --- /dev/null +++ b/src/org/ibex/mail/protocol/NNTP.java @@ -0,0 +1,4 @@ +package org.ibex.mail.protocol; +/** NNTP send/recieve */ +public class NNTP extends MessageProtocol { +} diff --git a/src/org/ibex/mail/protocol/POP3.java b/src/org/ibex/mail/protocol/POP3.java new file mode 100644 index 0000000..e34311c --- /dev/null +++ b/src/org/ibex/mail/protocol/POP3.java @@ -0,0 +1,90 @@ +package org.ibex.mail.protocol; +import java.net.*; +import java.io.*; + +// Next step: implement both sides using the POP interface + +class POPException extends IOException { +} + +interface POP { + public abstract void userpass(String user, String pass) throws POPException; + public abstract void apop(String user, String digest) throws POPException; + public abstract BufferedReader top(int m, int maxlines); + public abstract BufferedReader retr(int m); + public abstract long stat(); // top 32 bits is number of messages, bottom 32 is total size + public abstract long[] list(); // top 32 bits is message number, bottom 32 is size + public abstract long list(int m); + public abstract void dele(int m); + public abstract void noop(int m); + public abstract void rset(int m); + public abstract String uidl(int m); + public abstract String[] uidl(); // FIXME, also needs message number +} + +public class POP3 extends MessageProtocol { + + public static void main(String[] args) throws Exception { + ServerSocket ss = new ServerSocket(110); + while(true) { + System.out.println("listening"); + final Socket s = ss.accept(); + System.out.println("connected"); + new Thread() { + public void run() { + try { + service(s); + } catch (Exception e) { + e.printStackTrace(); + } + } + }.start(); + } + } + + public static void service(Socket s) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream())); + PrintWriter pw = new PrintWriter(new OutputStreamWriter(s.getOutputStream())); + pw.print("+OK POP3 server ready\r\n"); + pw.flush(); + String user = null; + String pass = null; + while(true) { + String command = br.readLine().trim(); + System.out.println("command: " + command); + if (command.toUpperCase().startsWith("QUIT ")) { + s.close(); + return; + } else if (command.toUpperCase().startsWith("USER ")) { + user = command.substring(5).trim(); + pw.print("+OK now give me your password\r\n"); + pw.flush(); + } else if (command.toUpperCase().startsWith("PASS ")) { + if (user == null) { + pw.print("-ERR I need your password first\r\n"); + pw.flush(); + } else { + pass = command.substring(5).trim(); + break; + } + } + } + System.out.println("login from " + user + " / " + pass); + String server = user.substring(user.indexOf('@') + 1); + user = user.substring(0, user.indexOf('@')); + Socket pop = new Socket(InetAddress.getByName(server), 117); + + BufferedReader br2 = new BufferedReader(new InputStreamReader(pop.getInputStream())); + PrintWriter pw2 = new PrintWriter(new OutputStreamWriter(pop.getOutputStream())); + + System.out.println("pop said " + br2.readLine()); + pw2.print("USER " + user + "\r\n"); + pw2.flush(); + System.out.println("pop said " + br2.readLine()); + pw2.print("PASS " + pass + "\r\n"); + pw2.flush(); + System.out.println("pop said " + br2.readLine()); + + s.close(); + } +} diff --git a/src/org/ibex/mail/protocol/RSS.java b/src/org/ibex/mail/protocol/RSS.java new file mode 100644 index 0000000..2eef456 --- /dev/null +++ b/src/org/ibex/mail/protocol/RSS.java @@ -0,0 +1,4 @@ +package org.ibex.mail.protocol; +/** RSS send/recieve/gateway */ +public class RSS extends MessageProtocol { +} diff --git a/src/org/ibex/mail/protocol/SMS.java b/src/org/ibex/mail/protocol/SMS.java new file mode 100644 index 0000000..6cd3dc0 --- /dev/null +++ b/src/org/ibex/mail/protocol/SMS.java @@ -0,0 +1,4 @@ +package org.ibex.mail.protocol; +/** SMS send/recieve/gateway */ +public class SMS extends MessageProtocol { +} diff --git a/src/org/ibex/mail/protocol/SMTP.java b/src/org/ibex/mail/protocol/SMTP.java new file mode 100644 index 0000000..970cc1d --- /dev/null +++ b/src/org/ibex/mail/protocol/SMTP.java @@ -0,0 +1,117 @@ +package org.ibex.mail.protocol; +public class SMTP extends MessageProtocol { + + public SMTP() { setProtocolName("SMTP"); } + public ServerRequest createRequest(Connection conn) { return new Request((TcpConnection)conn); } + + public static class Outgoing { + // recommended retry interval is 30 minutes + // give up after 4-5 days + // should keep per-host success/failure so we don't retry on every message + // exponential backoff on retry time? + // check DNS resolvability as soon as domain is provided + // only use implicit A-record if there are no MX-records + // use null-sender for error messages (don't send errors to the null addr) + // to prevent mail loops, drop messages with >100 Recieved headers + private final Queue queue = new Queue(); + public static void send(Message m) { } + public static void enqueue(Message m) { } + public static void bounce(Message m, String reason) { } + private void runq() { + MessageStore store = MessageStore.root.slash("smtp").slash("outgoing"); + int[] outgoing = store.list(); + for(int i=0; iserver which accepts requests sent via SMTP */ +public class XMLRPC extends Target { +} -- 1.7.10.4