allow seeding of Message-ID generator
authoradam <adam@megacz.com>
Mon, 15 Jan 2007 08:13:58 +0000 (08:13 +0000)
committeradam <adam@megacz.com>
Mon, 15 Jan 2007 08:13:58 +0000 (08:13 +0000)
darcs-hash:20070115081358-5007d-d2b4ce63ce824391e71b22c7460edf90cb42f9d0.gz

src/org/ibex/mail/Message.java

index b4db07e..c3d3ad2 100644 (file)
@@ -90,6 +90,7 @@ public class Message extends MIME.Part {
 
     private Message(Fountain in) throws Malformed {
         super(in);
+
         this.envelopeTo   = headers.get("Envelope-To") != null ? Address.parse(headers.get("Envelope-To")) : null;
         this.envelopeFrom = headers.get("Return-Path") != null ? Address.parse(headers.get("Return-Path")) : null;
         this.to           = headers.get("To") != null ? Address.parse(headers.get("To")) : this.envelopeTo;
@@ -136,12 +137,14 @@ public class Message extends MIME.Part {
     // http://www.jwz.org/doc/mid.html
     private static final Random random = new Random();
     public static String generateFreshMessageId() {
+        return generateFreshMessageId(Base36.encode(System.currentTimeMillis())+'.'+
+                                      Base36.encode(random.nextLong()));
+    }
+    public static String generateFreshMessageId(String seed) {
         StringBuffer ret = new StringBuffer();
         ret.append('<');
-        ret.append(Base36.encode(System.currentTimeMillis()));
-        ret.append('.');
-        ret.append(Base36.encode(random.nextLong()));
-        ret.append('.');
+        ret.append(seed);
+        ret.append('@');
         try { ret.append(InetAddress.getLocalHost().getHostName()); } catch (UnknownHostException e) { /* DELIBERATE */ }
         ret.append('>');
         return ret.toString();