Make name= in control=submission swallow the rest of the string, thus
authorPhilip Hazel <ph10@hermes.cam.ac.uk>
Mon, 3 Oct 2005 13:25:32 +0000 (13:25 +0000)
committerPhilip Hazel <ph10@hermes.cam.ac.uk>
Mon, 3 Oct 2005 13:25:32 +0000 (13:25 +0000)
allowing for slashes in the name, but requiring this option to be last.

doc/doc-txt/ChangeLog
doc/doc-txt/NewStuff
src/README.UPDATING
src/src/acl.c

index c900c24ae1013f55f94889fea3ecc229b3a3a26c..a18d435b2162c4eaa6ddd2e975333a2e90cccb83 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.243 2005/10/03 11:26:21 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.244 2005/10/03 13:25:32 ph10 Exp $
 
 Change log file for Exim from version 4.21
 -------------------------------------------
@@ -21,6 +21,12 @@ PH/04 Tighten up "personal" tests: Instead of testing for any "List-"
       non-personal, in accordance with RFC 3834. (Previously it treated
       anything starting "auto-" as non-personal.)
 
+TF/01 The control=submission/name=... option had a problem with syntax
+      errors if the name included a slash character. The /name= option
+      now slurps the rest of the string, so it can include any characters
+      but it must come last in the list of options (after /sender_retain
+      or /domain=).
+
 
 Exim version 4.53
 -----------------
index 556094ddfbcf655e141c78c32ecdde3f986262b4..bbf27010dd7149f9e4576ee7072d0d579c4cb85f 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/NewStuff,v 1.75 2005/09/22 12:58:14 fanf2 Exp $
+$Cambridge: exim/doc/doc-txt/NewStuff,v 1.76 2005/10/03 13:25:32 ph10 Exp $
 
 New Features in Exim
 --------------------
@@ -8,6 +8,16 @@ but have not yet made it into the main manual (which is most conveniently
 updated when there is a relatively large batch of changes). The doc/ChangeLog
 file contains a listing of all changes, including bug fixes.
 
+Exim version 4.54
+-----------------
+
+There was a problem with 4.52/TF/02 in that a "name=" option on control=
+submission terminated at the next slash, thereby not allowing for slashes in
+the name. This has been changed so that "name=" takes the rest of the string as
+its data. It must therefore be the last option.
+
+
+
 Exim version 4.53
 -----------------
 
index b5630d3099f36431f8b91e65203f7fb4b3ed6d74..fb599d38405015bd87e3a74404fcf555c238b88a 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/src/README.UPDATING,v 1.8 2005/09/14 13:20:12 ph10 Exp $
+$Cambridge: exim/src/README.UPDATING,v 1.9 2005/10/03 13:25:32 ph10 Exp $
 
 This document contains detailed information about incompatibilities that might
 be encountered when upgrading from one release of Exim to another. The
@@ -28,6 +28,15 @@ The rest of this document contains information about changes in 4.xx releases
 that might affect a running system.
 
 
+Exim version 4.54
+-----------------
+
+There was a problem with 4.52/TF/02 in that a "name=" option on control=
+submission terminated at the next slash, thereby not allowing for slashes in
+the name. This has been changed so that "name=" takes the rest of the string as
+its data. It must therefore be the last option.
+
+
 Version 4.53
 ------------
 
index c06707ec68ffebaf1e72c4adba9cce1e719782b0..ef8f06da644d4e30475bd158af59abc0249b43d2 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/acl.c,v 1.49 2005/09/22 12:02:22 fanf2 Exp $ */
+/* $Cambridge: exim/src/src/acl.c,v 1.50 2005/10/03 13:25:33 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
@@ -2497,10 +2497,12 @@ for (; cb != NULL; cb = cb->next)
           submission_domain = string_copyn(p+8, pp-p-8);
           p = pp;
           }
+        /* The name= option must be last, because it swallows the rest of
+        the string. */
         else if (Ustrncmp(p, "/name=", 6) == 0)
           {
           uschar *pp = p + 6;
-          while (*pp != 0 && *pp != '/') pp++;
+          while (*pp != 0) pp++;
           submission_name = string_copy(parse_fix_phrase(p+6, pp-p-6,
             big_buffer, big_buffer_size));
           p = pp;