summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Hazel <ph10@hermes.cam.ac.uk>2005-10-03 13:25:32 +0000
committerPhilip Hazel <ph10@hermes.cam.ac.uk>2005-10-03 13:25:32 +0000
commit8857ccfd03a8d84a286fc414dece305166ae4269 (patch)
tree6ccef31e9a67598a08b83a0f89365a2e25e9face
parent4b233853511d46ecd2a39c06994e3a79ed944ed1 (diff)
Make name= in control=submission swallow the rest of the string, thus
allowing for slashes in the name, but requiring this option to be last.
-rw-r--r--doc/doc-txt/ChangeLog8
-rw-r--r--doc/doc-txt/NewStuff12
-rw-r--r--src/README.UPDATING11
-rw-r--r--src/src/acl.c6
4 files changed, 32 insertions, 5 deletions
diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog
index c900c24ae..a18d435b2 100644
--- a/doc/doc-txt/ChangeLog
+++ b/doc/doc-txt/ChangeLog
@@ -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
-----------------
diff --git a/doc/doc-txt/NewStuff b/doc/doc-txt/NewStuff
index 556094ddf..bbf27010d 100644
--- a/doc/doc-txt/NewStuff
+++ b/doc/doc-txt/NewStuff
@@ -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
-----------------
diff --git a/src/README.UPDATING b/src/README.UPDATING
index b5630d309..fb599d384 100644
--- a/src/README.UPDATING
+++ b/src/README.UPDATING
@@ -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
------------
diff --git a/src/src/acl.c b/src/src/acl.c
index c06707ec6..ef8f06da6 100644
--- a/src/src/acl.c
+++ b/src/src/acl.c
@@ -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;