Add References: support to autoreply.
authorPhilip Hazel <ph10@hermes.cam.ac.uk>
Tue, 28 Feb 2006 11:25:40 +0000 (11:25 +0000)
committerPhilip Hazel <ph10@hermes.cam.ac.uk>
Tue, 28 Feb 2006 11:25:40 +0000 (11:25 +0000)
35 files changed:
doc/doc-txt/ChangeLog
doc/doc-txt/NewStuff
src/src/functions.h
src/src/parse.c
src/src/transports/autoreply.c
test/confs/0530 [new file with mode: 0644]
test/log/0530 [new file with mode: 0644]
test/mail/0015.userx
test/mail/0016.userx
test/mail/0037.CALLER
test/mail/0072.CALLER
test/mail/0073.CALLER
test/mail/0074.CALLER
test/mail/0074.userx
test/mail/0079.userx
test/mail/0090.CALLER
test/mail/0114.file
test/mail/0140.CALLER
test/mail/0177.usery
test/mail/0222.foo1
test/mail/0222.foo2
test/mail/0222.foo3
test/mail/0223.CALLER
test/mail/0233.postmaster
test/mail/0243.CALLER
test/mail/0246.CALLER
test/mail/0404.sender
test/mail/0428.someone
test/mail/0444.CALLER
test/mail/0452.CALLER
test/mail/0494.userx
test/mail/0530.CALLER [new file with mode: 0644]
test/scripts/0000-Basic/0530 [new file with mode: 0644]
test/stderr/0404
test/stdout/0530 [new file with mode: 0644]

index 45ea286..bbf590a 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.313 2006/02/23 12:41:22 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.314 2006/02/28 11:25:40 ph10 Exp $
 
 Change log file for Exim from version 4.21
 -------------------------------------------
@@ -236,6 +236,9 @@ PH/45 When the plaintext authenticator is running as a client, the server's
       challenges. If an invalid string is ignored, an empty string is placed in
       the variable.
 
+PH/46 Messages that are created by the autoreply transport now contains a
+      References: header, in accordance with RFCs 2822 and 3834.
+
 
 Exim version 4.60
 -----------------
index c807d93..04fedd6 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/NewStuff,v 1.90 2006/02/23 12:41:22 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/NewStuff,v 1.91 2006/02/28 11:25:40 ph10 Exp $
 
 New Features in Exim
 --------------------
@@ -87,6 +87,17 @@ PH/13 When the plaintext authenticator is running as a client, the challenges
       this way. If an invalid base64 string is received when client_ignore_
       invalid_base64 is set, an empty string is put in the $auth<n> variable.
 
+PH/14 Messages created by the autoreply transport now contain a References:
+      header. This is constructed in accordance with rules that are described
+      in section 3.64 of RFC 2822, which states that replies should contain
+      such a header line, and section 3.14 of RFC 3834, which states that
+      automatic responses are not different in this respect. However, because
+      some mail processing software does not cope well with very long header
+      lines, no more than 12 message IDs are copied from the References: header
+      line in the incoming message. If there are more than 12, the first one
+      and then the final 11 are copied, before adding the message ID of the
+      incoming message.
+
 
 Version 4.60
 ------------
index fdcfd55..9b8bfac 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/functions.h,v 1.22 2006/02/22 14:46:44 ph10 Exp $ */
+/* $Cambridge: exim/src/src/functions.h,v 1.23 2006/02/28 11:25:40 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
@@ -175,6 +175,7 @@ extern int     parse_forward_list(uschar *, int, address_item **, uschar **,
 extern uschar *parse_find_address_end(uschar *, BOOL);
 extern uschar *parse_find_at(uschar *);
 extern uschar *parse_fix_phrase(uschar *, int, uschar *, int);
+extern uschar *parse_message_id(uschar *, uschar **, uschar **);
 extern uschar *parse_quote_2047(uschar *, int, uschar *, uschar *, int);
 
 extern BOOL    queue_action(uschar *, int, uschar **, int, int);
index 67d9e14..182df80 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/parse.c,v 1.7 2006/02/07 11:19:00 ph10 Exp $ */
+/* $Cambridge: exim/src/src/parse.c,v 1.8 2006/02/28 11:25:40 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
@@ -1656,6 +1656,68 @@ for (;;)
 }
 
 
+
+/*************************************************
+*            Extract a Message-ID                *
+*************************************************/
+
+/* This function is used to extract message ids from In-Reply-To: and
+References: header lines.
+
+Arguments:
+  str          pointer to the start of the message-id
+  yield        put pointer to the message id (in dynamic memory) here
+  error        put error message here on failure
+
+Returns:       points after the processed message-id or NULL on error
+*/
+
+uschar *
+parse_message_id(uschar *str, uschar **yield, uschar **error)
+{
+uschar *domain = NULL;
+uschar *id;
+
+str = skip_comment(str);
+if (*str != '<')
+  {
+  *error = US"Missing '<' before message-id";
+  return NULL;
+  }
+
+/* Getting a block the size of the input string will definitely be sufficient
+for the answer, but it may also be very long if we are processing a header
+line. Therefore, take care to release unwanted store afterwards. */
+
+id = *yield = store_get(Ustrlen(str) + 1);
+*id++ = *str++;
+
+str = read_addr_spec(str, id, '>', error, &domain);
+
+if (*error == NULL)
+  {
+  if (*str != '>') *error = US"Missing '>' after message-id";
+    else if (domain == NULL) *error = US"domain missing in message-id";
+  }
+
+if (*error != NULL)
+  {
+  store_reset(*yield);
+  return NULL;
+  }
+
+while (*id != 0) id++;
+*id++ = *str++;
+*id++ = 0;
+store_reset(id);
+
+str = skip_comment(str);
+return str;
+}
+
+
+
+
 /*************************************************
 **************************************************
 *             Stand-alone test program           *
@@ -1788,6 +1850,26 @@ while (Ufgets(buffer, sizeof(buffer), stdin) != NULL)
   else printf("Failed: %d %s\n", extracted, errmess);
   }
 
+printf("Testing parse_message_id\n");
+
+while (Ufgets(buffer, sizeof(buffer), stdin) != NULL)
+  {
+  uschar *s, *t, *errmess;
+  buffer[Ustrlen(buffer) - 1] = 0;
+  if (buffer[0] == 0) break;
+  s = buffer;
+  while (*s != 0)
+    {
+    s = parse_message_id(s, &t, &errmess);
+    if (errmess != NULL)
+      {
+      printf("Failed: %s\n", errmess);
+      break;
+      }
+    printf("%s\n", t);
+    }
+  }
+
 return 0;
 }
 
index 719e358..c16cf6e 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/transports/autoreply.c,v 1.8 2006/02/07 11:19:03 ph10 Exp $ */
+/* $Cambridge: exim/src/src/transports/autoreply.c,v 1.9 2006/02/28 11:25:40 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
@@ -277,6 +277,7 @@ uschar *from, *reply_to, *to, *cc, *bcc, *subject, *headers, *text, *file;
 uschar *logfile, *oncelog;
 uschar *cache_buff = NULL;
 uschar *cache_time = NULL;
+uschar *message_id = NULL;
 header_line *h;
 time_t now = time(NULL);
 time_t once_repeat_sec = 0;
@@ -590,9 +591,57 @@ for (h = header_list; h != NULL; h = h->next)
 
 if (h != NULL)
   {
-  uschar *s = Ustrchr(h->text, ':') + 1;
-  while (isspace(*s)) s++;
-  fprintf(f, "In-Reply-To: %s", s);
+  message_id = Ustrchr(h->text, ':') + 1;
+  while (isspace(*message_id)) message_id++;
+  fprintf(f, "In-Reply-To: %s", message_id);
+  }
+
+/* Generate a References header if there is at least one of Message-ID:,
+References:, or In-Reply-To: (see RFC 2822). */
+
+for (h = header_list; h != NULL; h = h->next)
+  if (h->type != htype_old && strncmpic(US"References:", h->text, 11) == 0)
+    break;
+
+if (h == NULL)
+  for (h = header_list; h != NULL; h = h->next)
+    if (h->type != htype_old && strncmpic(US"In-Reply-To:", h->text, 12) == 0)
+      break;
+
+/* We limit the total length of references.  Although there is no fixed
+limit, some systems do not like headers growing beyond recognition.
+Keep the first message ID for the thread root and the last few for
+the position inside the thread, up to a maximum of 12 altogether. */
+
+if (h != NULL || message_id != NULL)
+  {
+  fprintf(f, "References:");
+  if (h != NULL)
+    {
+    uschar *s, *id, *error;
+    uschar *referenced_ids[12];
+    int reference_count = 0;
+    int i;
+
+    s = Ustrchr(h->text, ':') + 1;
+    parse_allow_group = FALSE;
+    while (*s != 0 && (s = parse_message_id(s, &id, &error)) != NULL)
+      {
+      if (reference_count == sizeof(referenced_ids)/sizeof(uschar *))
+        {
+        memmove(referenced_ids + 1, referenced_ids + 2,
+           sizeof(referenced_ids) - 2*sizeof(uschar *));
+        referenced_ids[reference_count - 1] = id;
+        }
+      else referenced_ids[reference_count++] = id;
+      }
+    for (i = 0; i < reference_count; ++i) fprintf(f, " %s", referenced_ids[i]);
+    }
+
+  /* The message id will have a newline on the end of it. */
+
+  if (message_id != NULL) fprintf(f, " %s", message_id);
+    else fprintf(f, "\n");
   }
 
 /* Add an Auto-Submitted: header */
diff --git a/test/confs/0530 b/test/confs/0530
new file mode 100644 (file)
index 0000000..b7ad3ff
--- /dev/null
@@ -0,0 +1,47 @@
+# Exim test configuration 0530
+
+exim_path = EXIM_PATH
+host_lookup_order = bydns
+primary_hostname = myhost.test.ex
+rfc1413_query_timeout = 0s
+spool_directory = DIR/spool
+log_file_path = DIR/spool/log/%slog
+gecos_pattern = ""
+gecos_name = CALLER_NAME
+
+# ----- Main settings -----
+
+acl_smtp_rcpt = accept control = suppress_local_fixups
+
+
+# ----- Routers -----
+
+begin routers
+
+r1:
+  driver = accept
+  senders = :
+  transport = t1
+
+r2:
+  driver = accept
+  transport = t2
+
+
+# ----- Transports -----
+
+begin transports
+
+t1:
+  driver = appendfile
+  file = DIR/test-mail/$local_part
+  user = CALLER
+
+t2:
+  driver = autoreply
+  to = $sender_address
+  subject = Re: $h_subject:
+  text = This is the text of the autoreply.
+  user = CALLER
+
+# End
diff --git a/test/log/0530 b/test/log/0530
new file mode 100644 (file)
index 0000000..7d69980
--- /dev/null
@@ -0,0 +1,60 @@
+1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local S=sss id=m1@b
+1999-03-02 09:44:33 10HmaY-0005vi-00 <= <> R=10HmaX-0005vi-00 U=CALLER P=local S=sss
+1999-03-02 09:44:33 10HmaY-0005vi-00 => CALLER <CALLER@myhost.test.ex> R=r1 T=t1
+1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
+1999-03-02 09:44:33 10HmaX-0005vi-00 => userx <userx@test.ex> R=r2 T=t2
+1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
+1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local S=sss id=m1@b
+1999-03-02 09:44:33 10HmbA-0005vi-00 <= <> R=10HmaZ-0005vi-00 U=CALLER P=local S=sss
+1999-03-02 09:44:33 10HmbA-0005vi-00 => CALLER <CALLER@myhost.test.ex> R=r1 T=t1
+1999-03-02 09:44:33 10HmbA-0005vi-00 Completed
+1999-03-02 09:44:33 10HmaZ-0005vi-00 => userx <userx@test.ex> R=r2 T=t2
+1999-03-02 09:44:33 10HmaZ-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbB-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local S=sss id=m1@b
+1999-03-02 09:44:33 10HmbC-0005vi-00 <= <> R=10HmbB-0005vi-00 U=CALLER P=local S=sss
+1999-03-02 09:44:33 10HmbC-0005vi-00 => CALLER <CALLER@myhost.test.ex> R=r1 T=t1
+1999-03-02 09:44:33 10HmbC-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbB-0005vi-00 => userx <userx@test.ex> R=r2 T=t2
+1999-03-02 09:44:33 10HmbB-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbD-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local S=sss id=m1@b
+1999-03-02 09:44:33 10HmbE-0005vi-00 <= <> R=10HmbD-0005vi-00 U=CALLER P=local S=sss
+1999-03-02 09:44:33 10HmbE-0005vi-00 => CALLER <CALLER@myhost.test.ex> R=r1 T=t1
+1999-03-02 09:44:33 10HmbE-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbD-0005vi-00 => userx <userx@test.ex> R=r2 T=t2
+1999-03-02 09:44:33 10HmbD-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbF-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local S=sss id=m1@b
+1999-03-02 09:44:33 10HmbG-0005vi-00 <= <> R=10HmbF-0005vi-00 U=CALLER P=local S=sss
+1999-03-02 09:44:33 10HmbG-0005vi-00 => CALLER <CALLER@myhost.test.ex> R=r1 T=t1
+1999-03-02 09:44:33 10HmbG-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbF-0005vi-00 => userx <userx@test.ex> R=r2 T=t2
+1999-03-02 09:44:33 10HmbF-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbH-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-smtp S=sss
+1999-03-02 09:44:33 10HmbI-0005vi-00 <= <> R=10HmbH-0005vi-00 U=CALLER P=local S=sss
+1999-03-02 09:44:33 10HmbI-0005vi-00 => CALLER <CALLER@myhost.test.ex> R=r1 T=t1
+1999-03-02 09:44:33 10HmbI-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbH-0005vi-00 => userx <userx@test.ex> R=r2 T=t2
+1999-03-02 09:44:33 10HmbH-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbJ-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-smtp S=sss
+1999-03-02 09:44:33 10HmbK-0005vi-00 <= <> R=10HmbJ-0005vi-00 U=CALLER P=local S=sss
+1999-03-02 09:44:33 10HmbK-0005vi-00 => CALLER <CALLER@myhost.test.ex> R=r1 T=t1
+1999-03-02 09:44:33 10HmbK-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbJ-0005vi-00 => userx <userx@test.ex> R=r2 T=t2
+1999-03-02 09:44:33 10HmbJ-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbL-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-smtp S=sss
+1999-03-02 09:44:33 10HmbM-0005vi-00 <= <> R=10HmbL-0005vi-00 U=CALLER P=local S=sss
+1999-03-02 09:44:33 10HmbM-0005vi-00 => CALLER <CALLER@myhost.test.ex> R=r1 T=t1
+1999-03-02 09:44:33 10HmbM-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbL-0005vi-00 => userx <userx@test.ex> R=r2 T=t2
+1999-03-02 09:44:33 10HmbL-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbN-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-smtp S=sss
+1999-03-02 09:44:33 10HmbO-0005vi-00 <= <> R=10HmbN-0005vi-00 U=CALLER P=local S=sss
+1999-03-02 09:44:33 10HmbO-0005vi-00 => CALLER <CALLER@myhost.test.ex> R=r1 T=t1
+1999-03-02 09:44:33 10HmbO-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbN-0005vi-00 => userx <userx@test.ex> R=r2 T=t2
+1999-03-02 09:44:33 10HmbN-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbP-0005vi-00 <= CALLER@myhost.test.ex U=CALLER P=local-smtp S=sss
+1999-03-02 09:44:33 10HmbQ-0005vi-00 <= <> R=10HmbP-0005vi-00 U=CALLER P=local S=sss
+1999-03-02 09:44:33 10HmbQ-0005vi-00 => CALLER <CALLER@myhost.test.ex> R=r1 T=t1
+1999-03-02 09:44:33 10HmbQ-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbP-0005vi-00 => userx <userx@test.ex> R=r2 T=t2
+1999-03-02 09:44:33 10HmbP-0005vi-00 Completed
index 936b339..29b1e9a 100644 (file)
@@ -23,6 +23,7 @@ Received: from CALLER by the.local.host.name with local (Exim x.yz)
        for userx@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
 To: userx@test.ex
 In-Reply-To: <E10HmaX-0005vi-00@the.local.host.name>
+References: <E10HmaX-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmaY-0005vi-00@the.local.host.name>
 From: CALLER_NAME <CALLER@test.ex>
@@ -57,6 +58,7 @@ Received: from CALLER by the.local.host.name with local (Exim x.yz)
        for userx@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
 To: userx@test.ex
 In-Reply-To: <E10HmbA-0005vi-00@the.local.host.name>
+References: <E10HmbA-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmbB-0005vi-00@the.local.host.name>
 From: CALLER_NAME <CALLER@test.ex>
index 9578d31..8e33c36 100644 (file)
@@ -21,6 +21,7 @@ Received: from CALLER by the.local.host.name with local (Exim x.yz)
        for userx@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
 To: userx@test.ex
 In-Reply-To: <E10HmaX-0005vi-00@the.local.host.name>
+References: <E10HmaX-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmaY-0005vi-00@the.local.host.name>
 From: CALLER_NAME <CALLER@test.ex>
index f2bd639..36df016 100644 (file)
@@ -51,6 +51,7 @@ Received: from CALLER by the.local.host.name with local (Exim x.yz)
 To: CALLER@test.ex
 Subject: An auto reply: qualify_domain=test.ex
 In-Reply-To: <E10HmbC-0005vi-00@the.local.host.name>
+References: <E10HmbC-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmbD-0005vi-00@the.local.host.name>
 From: CALLER@test.ex
@@ -290,6 +291,7 @@ Received: from CALLER by the.local.host.name with local (Exim x.yz)
 To: CALLER_NAME <CALLER@test.ex>
 Subject: On vacation
 In-Reply-To: <E10HmbQ-0005vi-00@the.local.host.name>
+References: <E10HmbQ-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmbR-0005vi-00@the.local.host.name>
 From: CALLER@test.ex
index 2b41439..5199f67 100644 (file)
@@ -7,6 +7,7 @@ Received: from EXIMUSER by the.local.host.name with local (Exim x.yz)
        for CALLER@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
 To: CALLER_NAME <CALLER@test.ex>
 In-Reply-To: <E10HmaX-0005vi-00@the.local.host.name>
+References: <E10HmaX-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmaY-0005vi-00@the.local.host.name>
 From: EXIMUSER@test.ex
@@ -23,6 +24,7 @@ Received: from EXIMUSER by the.local.host.name with local (Exim x.yz)
        for CALLER@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
 To: CALLER_NAME <CALLER@test.ex>
 In-Reply-To: <E10HmbA-0005vi-00@the.local.host.name>
+References: <E10HmbA-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmbB-0005vi-00@the.local.host.name>
 From: EXIMUSER@test.ex
@@ -52,6 +54,7 @@ Received: from EXIMUSER by the.local.host.name with local (Exim x.yz)
        for CALLER@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
 To: CALLER_NAME <CALLER@test.ex>
 In-Reply-To: <E10HmbC-0005vi-00@the.local.host.name>
+References: <E10HmbC-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmbD-0005vi-00@the.local.host.name>
 From: EXIMUSER@test.ex
@@ -72,6 +75,7 @@ Received: from EXIMUSER by the.local.host.name with local (Exim x.yz)
        for CALLER@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
 To: CALLER_NAME <CALLER@test.ex>
 In-Reply-To: <E10HmbE-0005vi-00@the.local.host.name>
+References: <E10HmbE-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmbF-0005vi-00@the.local.host.name>
 From: EXIMUSER@test.ex
@@ -100,6 +104,7 @@ Received: from EXIMUSER by the.local.host.name with local (Exim x.yz)
        for CALLER@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
 To: =?ISO-8859-1?Q?CALLER=40test=2Eex?= <CALLER@test.ex>
 In-Reply-To: <E10HmbG-0005vi-00@the.local.host.name>
+References: <E10HmbG-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmbH-0005vi-00@the.local.host.name>
 From: EXIMUSER@test.ex
index 5875a0e..45eac6b 100644 (file)
@@ -7,6 +7,7 @@ Received: from EXIMUSER by the.local.host.name with local (Exim x.yz)
        for CALLER@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
 To: CALLER_NAME <CALLER@test.ex>
 In-Reply-To: <E10HmaX-0005vi-00@the.local.host.name>
+References: <E10HmaX-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmaY-0005vi-00@the.local.host.name>
 From: EXIMUSER@test.ex
@@ -23,6 +24,7 @@ Received: from EXIMUSER by the.local.host.name with local (Exim x.yz)
        for CALLER@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
 To: CALLER_NAME <CALLER@test.ex>
 In-Reply-To: <E10HmbA-0005vi-00@the.local.host.name>
+References: <E10HmbA-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmbB-0005vi-00@the.local.host.name>
 From: EXIMUSER@test.ex
index b852afc..667c731 100644 (file)
@@ -7,6 +7,7 @@ Received: from CALLER by the.local.host.name with local (Exim x.yz)
        for CALLER@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
 To: CALLER_NAME <CALLER@test.ex>
 In-Reply-To: <E10HmaX-0005vi-00@the.local.host.name>
+References: <E10HmaX-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmaY-0005vi-00@the.local.host.name>
 From: CALLER_NAME <CALLER@test.ex>
@@ -23,6 +24,7 @@ Received: from CALLER by the.local.host.name with local (Exim x.yz)
        for CALLER@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
 To: CALLER_NAME <CALLER@test.ex>
 In-Reply-To: <E10HmbA-0005vi-00@the.local.host.name>
+References: <E10HmbA-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmbB-0005vi-00@the.local.host.name>
 From: CALLER_NAME <CALLER@test.ex>
index 73e4e3a..fb5be8a 100644 (file)
@@ -63,6 +63,7 @@ Received: from CALLER by the.local.host.name with local (Exim x.yz)
        id 10HmbD-0005vi-00; Tue, 2 Mar 1999 09:44:33 +0000
 To: userx@test.ex,  abey seedy <abcd@test.ex>
 In-Reply-To: <E10HmbC-0005vi-00@the.local.host.name>
+References: <E10HmbC-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmbD-0005vi-00@the.local.host.name>
 From: CALLER_NAME <CALLER@test.ex>
@@ -94,6 +95,7 @@ Received: from CALLER by the.local.host.name with local (Exim x.yz)
        id 10HmbF-0005vi-00; Tue, 2 Mar 1999 09:44:33 +0000
 To: userx@test.ex,   abcd@test.ex
 In-Reply-To: <E10HmbE-0005vi-00@the.local.host.name>
+References: <E10HmbE-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmbF-0005vi-00@the.local.host.name>
 From: CALLER_NAME <CALLER@test.ex>
index 825e700..7a5b523 100644 (file)
@@ -49,6 +49,7 @@ Received: from CALLER by the.local.host.name with local (Exim x.yz)
        for userx@exim.test.ex; Tue, 2 Mar 1999 09:44:33 +0000
 To: userx@exim.test.ex
 In-Reply-To: <E10HmaZ-0005vi-00@the.local.host.name>
+References: <E10HmaZ-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmbA-0005vi-00@the.local.host.name>
 From: CALLER@exim.test.ex
index 9a8c7ae..1415667 100644 (file)
@@ -4,6 +4,7 @@ Received: from EXIMUSER by myhost.test.ex with local (Exim x.yz)
        for CALLER@myhost.test.ex; Tue, 2 Mar 1999 09:44:33 +0000
 To: CALLER@myhost.test.ex
 In-Reply-To: <E10HmaX-0005vi-00@myhost.test.ex>
+References: <E10HmaX-0005vi-00@myhost.test.ex>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmaY-0005vi-00@myhost.test.ex>
 From: EXIMUSER@myhost.test.ex
index 3302320..a04c45d 100644 (file)
@@ -15,6 +15,7 @@ Received: from CALLER by the.local.host.name with local (Exim x.yz)
 To: A. File <file@test.ex>, No One <null@test.ex>
 Subject: autoreply
 In-Reply-To: <E10HmaZ-0005vi-00@the.local.host.name>
+References: <E10HmaZ-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmbA-0005vi-00@the.local.host.name>
 From: CALLER_NAME <CALLER@test.ex>
index ae5cdfe..e7882aa 100644 (file)
@@ -7,6 +7,7 @@ Received: from EXIMUSER by the.local.host.name with local (Exim x.yz)
        for CALLER@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
 To: Reply Person <CALLER@test.ex>
 In-Reply-To: <E10HmaX-0005vi-00@the.local.host.name>
+References: <E10HmaX-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmaY-0005vi-00@the.local.host.name>
 From: EXIMUSER@test.ex
index 4ce6d83..2fc9e36 100644 (file)
@@ -5,6 +5,7 @@ Received: from CALLER by the.local.host.name with local (Exim x.yz)
 To: usery@test.ex
 Subject: auto fail message
 In-Reply-To: <E10HmaX-0005vi-00@the.local.host.name>
+References: <E10HmaX-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmaY-0005vi-00@the.local.host.name>
 From: CALLER_NAME <CALLER@test.ex>
@@ -19,6 +20,7 @@ Received: from CALLER by the.local.host.name with local (Exim x.yz)
 To: usery@test.ex
 Subject: auto freeze message
 In-Reply-To: <E10HmbA-0005vi-00@the.local.host.name>
+References: <E10HmbA-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmbB-0005vi-00@the.local.host.name>
 From: CALLER_NAME <CALLER@test.ex>
@@ -33,6 +35,7 @@ Received: from CALLER by the.local.host.name with local (Exim x.yz)
 To: usery@test.ex
 Subject: An auto reply: qualify_domain=test.ex
 In-Reply-To: <E10HmbC-0005vi-00@the.local.host.name>
+References: <E10HmbC-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmbD-0005vi-00@the.local.host.name>
 From: CALLER_NAME <CALLER@test.ex>
@@ -47,6 +50,7 @@ Received: from CALLER by the.local.host.name with local (Exim x.yz)
 To: usery@test.ex
 Subject: auto freeze message
 In-Reply-To: <E10HmbE-0005vi-00@the.local.host.name>
+References: <E10HmbE-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmbF-0005vi-00@the.local.host.name>
 From: CALLER_NAME <CALLER@test.ex>
@@ -61,6 +65,7 @@ Received: from CALLER by the.local.host.name with local (Exim x.yz)
 To: usery@test.ex
 Subject: auto freeze message
 In-Reply-To: <E10HmbG-0005vi-00@the.local.host.name>
+References: <E10HmbG-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmbH-0005vi-00@the.local.host.name>
 From: CALLER_NAME <CALLER@test.ex>
index 731e034..6db0b20 100644 (file)
@@ -4,6 +4,7 @@ Received: from CALLER by myhost.test.ex with local (Exim x.yz)
        for foo1@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
 To: foo1@test.ex
 In-Reply-To: <E10HmaX-0005vi-00@myhost.test.ex>
+References: <E10HmaX-0005vi-00@myhost.test.ex>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmaY-0005vi-00@myhost.test.ex>
 From: CALLER_NAME <CALLER@test.ex>
@@ -17,6 +18,7 @@ Received: from CALLER by myhost.test.ex with local (Exim x.yz)
        for foo1@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
 To: foo1@test.ex
 In-Reply-To: <E10HmbG-0005vi-00@myhost.test.ex>
+References: <E10HmbG-0005vi-00@myhost.test.ex>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmbH-0005vi-00@myhost.test.ex>
 From: CALLER_NAME <CALLER@test.ex>
index 10720d5..a932aa0 100644 (file)
@@ -4,6 +4,7 @@ Received: from CALLER by myhost.test.ex with local (Exim x.yz)
        for foo2@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
 To: foo2@test.ex
 In-Reply-To: <E10HmbA-0005vi-00@myhost.test.ex>
+References: <E10HmbA-0005vi-00@myhost.test.ex>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmbB-0005vi-00@myhost.test.ex>
 From: CALLER_NAME <CALLER@test.ex>
index 8c1cd0f..5747305 100644 (file)
@@ -4,6 +4,7 @@ Received: from CALLER by myhost.test.ex with local (Exim x.yz)
        for foo3@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
 To: foo3@test.ex
 In-Reply-To: <E10HmbD-0005vi-00@myhost.test.ex>
+References: <E10HmbD-0005vi-00@myhost.test.ex>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmbE-0005vi-00@myhost.test.ex>
 From: CALLER_NAME <CALLER@test.ex>
index 5875a0e..45eac6b 100644 (file)
@@ -7,6 +7,7 @@ Received: from EXIMUSER by the.local.host.name with local (Exim x.yz)
        for CALLER@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
 To: CALLER_NAME <CALLER@test.ex>
 In-Reply-To: <E10HmaX-0005vi-00@the.local.host.name>
+References: <E10HmaX-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmaY-0005vi-00@the.local.host.name>
 From: EXIMUSER@test.ex
@@ -23,6 +24,7 @@ Received: from EXIMUSER by the.local.host.name with local (Exim x.yz)
        for CALLER@test.ex; Tue, 2 Mar 1999 09:44:33 +0000
 To: CALLER_NAME <CALLER@test.ex>
 In-Reply-To: <E10HmbA-0005vi-00@the.local.host.name>
+References: <E10HmbA-0005vi-00@the.local.host.name>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmbB-0005vi-00@the.local.host.name>
 From: EXIMUSER@test.ex
index ce0986b..6c0b1ff 100644 (file)
@@ -5,6 +5,7 @@ Received: from CALLER by myhost.test.ex with local (Exim x.yz)
 To: postmaster@myhost.test.ex
 Subject: System filter has frozen
 In-Reply-To: <E10HmaX-0005vi-00@myhost.test.ex>
+References: <E10HmaX-0005vi-00@myhost.test.ex>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmaY-0005vi-00@myhost.test.ex>
 From: CALLER_NAME <CALLER@myhost.test.ex>
index f18e306..11fc708 100644 (file)
@@ -8,6 +8,7 @@ Reply-To: x@y,
 To: CALLER@nl.demon.net
 Subject: Re: 
 In-Reply-To: <E10HmaX-0005vi-00@myhost.test.ex>
+References: <E10HmaX-0005vi-00@myhost.test.ex>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmaY-0005vi-00@myhost.test.ex>
 Date: Tue, 2 Mar 1999 09:44:33 +0000
index ae6bd7c..8f9e514 100644 (file)
@@ -4,6 +4,7 @@ Received: from CALLER by myhost.test.ex with local (Exim x.yz)
        for CALLER@myhost.test.ex; Tue, 2 Mar 1999 09:44:33 +0000
 To: CALLER_NAME <CALLER@myhost.test.ex>
 In-Reply-To: <E10HmaX-0005vi-00@myhost.test.ex>
+References: <E10HmaX-0005vi-00@myhost.test.ex>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmaY-0005vi-00@myhost.test.ex>
 From: CALLER_NAME <CALLER@myhost.test.ex>
index 12f342d..fd77af8 100644 (file)
@@ -3,6 +3,7 @@ Received: from CALLER by mail.test.ex with local (Exim x.yz)
        id 10HmaY-0005vi-00; Tue, 2 Mar 1999 09:44:33 +0000
 To: sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex
 In-Reply-To: <E10HmaX-0005vi-00@mail.test.ex>
+References: <E10HmaX-0005vi-00@mail.test.ex>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmaY-0005vi-00@mail.test.ex>
 From: CALLER_NAME <CALLER@test.ex>
index 280836a..61cee3e 100644 (file)
@@ -9,6 +9,7 @@ From: userx@test.ex
 To: someone@test.ex
 Subject: =?utf-8?Q?Auto=3A_?=
 In-Reply-To: <E10HmbL-0005vi-00@mail.test.ex>
+References: <E10HmbL-0005vi-00@mail.test.ex>
 Auto-Submitted: auto-replied
 MIME-Version: 1.0
 Content-Type: text/plain;
index 2d39475..76b76de 100644 (file)
@@ -7,6 +7,7 @@ Reply-To: postmaster@test.ex
 To: CALLER@test.ex
 Subject: Submission of mail from CALLER@test.ex directly to the XXX hosts
 In-Reply-To: <E10HmaX-0005vi-00@myhost.test.ex>
+References: <E10HmaX-0005vi-00@myhost.test.ex>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmaY-0005vi-00@myhost.test.ex>
 Sender: CALLER_NAME <CALLER@test.ex>
index 27ea508..298abf0 100644 (file)
@@ -5,6 +5,7 @@ Received: from CALLER by myhost.test.ex with local (Exim x.yz)
 To: CALLER@test.ex
 Subject: Auto generated
 In-Reply-To: <E10HmaX-0005vi-00@myhost.test.ex>
+References: <E10HmaX-0005vi-00@myhost.test.ex>
 Auto-Submitted: auto-replied
 h1: the first added header
 h2: the second added header
index 422d215..4379cb2 100644 (file)
@@ -5,6 +5,7 @@ Received: from EXIMUSER by myhost.test.ex with local (Exim x.yz)
 To: userx@test.ex
 Subject: testing, testing
 In-Reply-To: <E10HmaX-0005vi-00@myhost.test.ex>
+References: <E10HmaX-0005vi-00@myhost.test.ex>
 Auto-Submitted: auto-replied
 Message-Id: <E10HmaY-0005vi-00@myhost.test.ex>
 From: EXIMUSER@myhost.test.ex
diff --git a/test/mail/0530.CALLER b/test/mail/0530.CALLER
new file mode 100644 (file)
index 0000000..d073821
--- /dev/null
@@ -0,0 +1,144 @@
+From MAILER-DAEMON Tue Mar 02 09:44:33 1999
+Received: from CALLER by myhost.test.ex with local (Exim x.yz)
+       id 10HmaY-0005vi-00
+       for CALLER@myhost.test.ex; Tue, 2 Mar 1999 09:44:33 +0000
+To: CALLER@myhost.test.ex
+Subject: Re: Message-id, no References, no In-Reply-to
+In-Reply-To: <m1@b>
+References: <m1@b>
+Auto-Submitted: auto-replied
+Message-Id: <E10HmaY-0005vi-00@myhost.test.ex>
+From: CALLER_NAME <CALLER@myhost.test.ex>
+Date: Tue, 2 Mar 1999 09:44:33 +0000
+
+This is the text of the autoreply.
+
+From MAILER-DAEMON Tue Mar 02 09:44:33 1999
+Received: from CALLER by myhost.test.ex with local (Exim x.yz)
+       id 10HmbA-0005vi-00
+       for CALLER@myhost.test.ex; Tue, 2 Mar 1999 09:44:33 +0000
+To: CALLER@myhost.test.ex
+Subject: Re: Message-id, no References, In-Reply-to
+In-Reply-To: <m1@b>
+References: <i1@b> <m1@b>
+Auto-Submitted: auto-replied
+Message-Id: <E10HmbA-0005vi-00@myhost.test.ex>
+From: CALLER_NAME <CALLER@myhost.test.ex>
+Date: Tue, 2 Mar 1999 09:44:33 +0000
+
+This is the text of the autoreply.
+
+From MAILER-DAEMON Tue Mar 02 09:44:33 1999
+Received: from CALLER by myhost.test.ex with local (Exim x.yz)
+       id 10HmbC-0005vi-00
+       for CALLER@myhost.test.ex; Tue, 2 Mar 1999 09:44:33 +0000
+To: CALLER@myhost.test.ex
+Subject: Re: Message-id, References (1), In-Reply-to
+In-Reply-To: <m1@b>
+References: <r1@b> <m1@b>
+Auto-Submitted: auto-replied
+Message-Id: <E10HmbC-0005vi-00@myhost.test.ex>
+From: CALLER_NAME <CALLER@myhost.test.ex>
+Date: Tue, 2 Mar 1999 09:44:33 +0000
+
+This is the text of the autoreply.
+
+From MAILER-DAEMON Tue Mar 02 09:44:33 1999
+Received: from CALLER by myhost.test.ex with local (Exim x.yz)
+       id 10HmbE-0005vi-00
+       for CALLER@myhost.test.ex; Tue, 2 Mar 1999 09:44:33 +0000
+To: CALLER@myhost.test.ex
+Subject: Re: Message-id, References (5), no In-Reply-to
+In-Reply-To: <m1@b>
+References: <r1@b> <r2@b> <r3@b> <r4@b> <r5@b> <m1@b>
+Auto-Submitted: auto-replied
+Message-Id: <E10HmbE-0005vi-00@myhost.test.ex>
+From: CALLER_NAME <CALLER@myhost.test.ex>
+Date: Tue, 2 Mar 1999 09:44:33 +0000
+
+This is the text of the autoreply.
+
+From MAILER-DAEMON Tue Mar 02 09:44:33 1999
+Received: from CALLER by myhost.test.ex with local (Exim x.yz)
+       id 10HmbG-0005vi-00
+       for CALLER@myhost.test.ex; Tue, 2 Mar 1999 09:44:33 +0000
+To: CALLER@myhost.test.ex
+Subject: Re: Message-id, References (15), In-Reply-to
+In-Reply-To: <m1@b>
+References: <r1@b> <r5@b> <r6@b> <r7@b> <r8@b> <r9@b> <r10@b> <r11@b> <r12@b> <r13@b> <r14@b> <r15@b> <m1@b>
+Auto-Submitted: auto-replied
+Message-Id: <E10HmbG-0005vi-00@myhost.test.ex>
+From: CALLER_NAME <CALLER@myhost.test.ex>
+Date: Tue, 2 Mar 1999 09:44:33 +0000
+
+This is the text of the autoreply.
+
+From MAILER-DAEMON Tue Mar 02 09:44:33 1999
+Received: from CALLER by myhost.test.ex with local (Exim x.yz)
+       id 10HmbI-0005vi-00
+       for CALLER@myhost.test.ex; Tue, 2 Mar 1999 09:44:33 +0000
+To: CALLER@myhost.test.ex
+Subject: Re: no Message-id, no References, no In-Reply-to
+Auto-Submitted: auto-replied
+Message-Id: <E10HmbI-0005vi-00@myhost.test.ex>
+From: CALLER_NAME <CALLER@myhost.test.ex>
+Date: Tue, 2 Mar 1999 09:44:33 +0000
+
+This is the text of the autoreply.
+
+From MAILER-DAEMON Tue Mar 02 09:44:33 1999
+Received: from CALLER by myhost.test.ex with local (Exim x.yz)
+       id 10HmbK-0005vi-00
+       for CALLER@myhost.test.ex; Tue, 2 Mar 1999 09:44:33 +0000
+To: CALLER@myhost.test.ex
+Subject: Re: no Message-id, no References, In-Reply-to
+References: <i1@b>
+Auto-Submitted: auto-replied
+Message-Id: <E10HmbK-0005vi-00@myhost.test.ex>
+From: CALLER_NAME <CALLER@myhost.test.ex>
+Date: Tue, 2 Mar 1999 09:44:33 +0000
+
+This is the text of the autoreply.
+
+From MAILER-DAEMON Tue Mar 02 09:44:33 1999
+Received: from CALLER by myhost.test.ex with local (Exim x.yz)
+       id 10HmbM-0005vi-00
+       for CALLER@myhost.test.ex; Tue, 2 Mar 1999 09:44:33 +0000
+To: CALLER@myhost.test.ex
+Subject: Re: no Message-id, References (1), In-Reply-to
+References: <r1@b>
+Auto-Submitted: auto-replied
+Message-Id: <E10HmbM-0005vi-00@myhost.test.ex>
+From: CALLER_NAME <CALLER@myhost.test.ex>
+Date: Tue, 2 Mar 1999 09:44:33 +0000
+
+This is the text of the autoreply.
+
+From MAILER-DAEMON Tue Mar 02 09:44:33 1999
+Received: from CALLER by myhost.test.ex with local (Exim x.yz)
+       id 10HmbO-0005vi-00
+       for CALLER@myhost.test.ex; Tue, 2 Mar 1999 09:44:33 +0000
+To: CALLER@myhost.test.ex
+Subject: Re: no Message-id, References (5), no In-Reply-to
+References: <r1@b> <r2@b> <r3@b> <r4@b> <r5@b>
+Auto-Submitted: auto-replied
+Message-Id: <E10HmbO-0005vi-00@myhost.test.ex>
+From: CALLER_NAME <CALLER@myhost.test.ex>
+Date: Tue, 2 Mar 1999 09:44:33 +0000
+
+This is the text of the autoreply.
+
+From MAILER-DAEMON Tue Mar 02 09:44:33 1999
+Received: from CALLER by myhost.test.ex with local (Exim x.yz)
+       id 10HmbQ-0005vi-00
+       for CALLER@myhost.test.ex; Tue, 2 Mar 1999 09:44:33 +0000
+To: CALLER@myhost.test.ex
+Subject: Re: no Message-id, References (15), In-Reply-to
+References: <r1@b> <r5@b> <r6@b> <r7@b> <r8@b> <r9@b> <r10@b> <r11@b> <r12@b> <r13@b> <r14@b> <r15@b>
+Auto-Submitted: auto-replied
+Message-Id: <E10HmbQ-0005vi-00@myhost.test.ex>
+From: CALLER_NAME <CALLER@myhost.test.ex>
+Date: Tue, 2 Mar 1999 09:44:33 +0000
+
+This is the text of the autoreply.
+
diff --git a/test/scripts/0000-Basic/0530 b/test/scripts/0000-Basic/0530
new file mode 100644 (file)
index 0000000..6c57868
--- /dev/null
@@ -0,0 +1,82 @@
+# autoreply and References: headers
+#
+exim -odi userx@test.ex
+Subject: Message-id, no References, no In-Reply-to
+Message-id: <m1@b>
+****
+exim -odi userx@test.ex
+Subject: Message-id, no References, In-Reply-to
+Message-id: <m1@b>
+In-Reply-To: <i1@b>
+****
+exim -odi userx@test.ex
+Subject: Message-id, References (1), In-Reply-to
+Message-id: <m1@b>
+References: <r1@b>
+In-Reply-To: <i1@b>
+****
+exim -odi userx@test.ex
+Subject: Message-id, References (5), no In-Reply-to
+Message-id: <m1@b>
+References: <r1@b> <r2@b> <r3@b> <r4@b> <r5@b>
+****
+exim -odi userx@test.ex
+Subject: Message-id, References (15), In-Reply-to
+Message-id: <m1@b>
+References: <r1@b> <r2@b> <r3@b> <r4@b> <r5@b>
+            <r6@b> <r7@b> <r8@b> <r9@b> <r10@b>
+            <r11@b> <r12@b> <r13@b> <r14@b> <r15@b> 
+In-Reply-To: <i1@b>
+****
+# In order not to have Exim create a Message-ID: header, we need to set
+# suppress_local_fixups, but the not-smtp ACL is too late. So we must use
+# an SMTP interface.
+#
+exim -odi -bs
+mail from:<CALLER@test.ex>
+rcpt to:<userx@test.ex>
+data
+Subject: no Message-id, no References, no In-Reply-to
+.
+quit
+****
+exim -odi -bs
+mail from:<CALLER@test.ex>
+rcpt to:<userx@test.ex>
+data
+Subject: no Message-id, no References, In-Reply-to
+In-Reply-To: <i1@b>
+.
+quit
+****
+exim -odi -bs
+mail from:<CALLER@test.ex>
+rcpt to:<userx@test.ex>
+data
+Subject: no Message-id, References (1), In-Reply-to
+References: <r1@b>
+In-Reply-To: <i1@b>
+.
+quit
+****
+exim -odi -bs
+mail from:<CALLER@test.ex>
+rcpt to:<userx@test.ex>
+data
+Subject: no Message-id, References (5), no In-Reply-to
+References: <r1@b> <r2@b> <r3@b> <r4@b> <r5@b>
+.
+quit
+****
+exim -odi -bs
+mail from:<CALLER@test.ex>
+rcpt to:<userx@test.ex>
+data
+Subject: no Message-id, References (15), In-Reply-to
+References: <r1@b> <r2@b> <r3@b> <r4@b> <r5@b>
+            <r6@b> <r7@b> <r8@b> <r9@b> <r10@b>
+            <r11@b> <r12@b> <r13@b> <r14@b> <r15@b> 
+In-Reply-To: <i1@b>
+.
+quit
+****
index ad1ec2e..eacb762 100644 (file)
@@ -246,6 +246,7 @@ search_tidyup called
 To: sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex,
 **** debug string too long - truncated ****
 In-Reply-To: <E10HmaX-0005vi-00@mail.test.ex>
+References: <E10HmaX-0005vi-00@mail.test.ex>
 Auto-Submitted: auto-replied
 
 rewrite_one_header: type=T:
@@ -258,6 +259,7 @@ search_tidyup called
 T To: sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.ex, sender@test.ex,  sender@test.ex, sender@test.ex, sender@test.e
 **** debug string too long - truncated ****
   In-Reply-To: <E10HmaX-0005vi-00@mail.test.ex>
+  References: <E10HmaX-0005vi-00@mail.test.ex>
   Auto-Submitted: auto-replied
 I Message-Id: <E10HmaY-0005vi-00@mail.test.ex>
 F From: CALLER_NAME <CALLER@test.ex>
@@ -291,7 +293,7 @@ Non-recipients:
 Empty Tree
 ---- End of tree ----
 recipients_count=608
-body_linecount=1 message_linecount=8
+body_linecount=1 message_linecount=9
 Delivery address list:
   sender@test.ex 
   sender@test.ex 
diff --git a/test/stdout/0530 b/test/stdout/0530
new file mode 100644 (file)
index 0000000..1a39f69
--- /dev/null
@@ -0,0 +1,30 @@
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000\r
+250 OK\r
+250 Accepted\r
+354 Enter message, ending with "." on a line by itself\r
+250 OK id=10HmbH-0005vi-00\r
+221 myhost.test.ex closing connection\r
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000\r
+250 OK\r
+250 Accepted\r
+354 Enter message, ending with "." on a line by itself\r
+250 OK id=10HmbJ-0005vi-00\r
+221 myhost.test.ex closing connection\r
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000\r
+250 OK\r
+250 Accepted\r
+354 Enter message, ending with "." on a line by itself\r
+250 OK id=10HmbL-0005vi-00\r
+221 myhost.test.ex closing connection\r
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000\r
+250 OK\r
+250 Accepted\r
+354 Enter message, ending with "." on a line by itself\r
+250 OK id=10HmbN-0005vi-00\r
+221 myhost.test.ex closing connection\r
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000\r
+250 OK\r
+250 Accepted\r
+354 Enter message, ending with "." on a line by itself\r
+250 OK id=10HmbP-0005vi-00\r
+221 myhost.test.ex closing connection\r