summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPhilip Hazel <ph10@hermes.cam.ac.uk>2005-12-12 11:02:44 +0000
committerPhilip Hazel <ph10@hermes.cam.ac.uk>2005-12-12 11:02:44 +0000
commitc8ea159758f4f58b63cebc77067f53264a10f0cf (patch)
treea4e37480789226cfb92be4764ff22d87d43218ed /src
parent7e66e54dcf419ff995a49250902ae71a73228373 (diff)
Change $reply_address to use raw headers, to retain syntactic validity
in created To: lines.
Diffstat (limited to 'src')
-rw-r--r--src/src/expand.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/src/expand.c b/src/src/expand.c
index 9de325d46..8fdc2de09 100644
--- a/src/src/expand.c
+++ b/src/src/expand.c
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/expand.c,v 1.48 2005/12/06 10:25:59 ph10 Exp $ */
+/* $Cambridge: exim/src/src/expand.c,v 1.49 2005/12/12 11:02:44 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -1426,12 +1426,18 @@ while (last > first)
return tod_stamp(tod_log_datestamp);
case vtype_reply: /* Get reply address */
- s = find_header(US"reply-to:", exists_only, newsize, FALSE,
+ s = find_header(US"reply-to:", exists_only, newsize, TRUE,
headers_charset);
if (s == NULL || *s == 0)
{
*newsize = 0; /* For the *s==0 case */
- s = find_header(US"from:", exists_only, newsize, FALSE, headers_charset);
+ s = find_header(US"from:", exists_only, newsize, TRUE, headers_charset);
+ }
+ if (s != NULL)
+ {
+ uschar *t;
+ while (isspace(*s)) s++;
+ for (t = s; *t != 0; t++) if (*t == '\n') *t = ' ';
}
return (s == NULL)? US"" : s;