summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Kistner <tom@tahini.csx.cam.ac.uk>2011-01-12 20:48:22 +0000
committerTom Kistner <tom@tahini.csx.cam.ac.uk>2011-01-12 20:48:22 +0000
commit57f4f29c7480042d611c87d532dd3d89c1fc21f0 (patch)
treed44a4798d2b4a8f3ccfd24fd7dab5c5103c75466
parent379120bf2593f7ff93e939239b2070444e996be3 (diff)
downloadexim4-57f4f29c7480042d611c87d532dd3d89c1fc21f0.tar.gz
Bugzilla #1067 - DKIM: Fix relaxed header canon for headers ending with whitespace.
-rw-r--r--src/src/pdkim/pdkim.c1
-rw-r--r--src/src/transports/smtp.c4
2 files changed, 2 insertions, 3 deletions
diff --git a/src/src/pdkim/pdkim.c b/src/src/pdkim/pdkim.c
index fa5d88d59..0147f5f05 100644
--- a/src/src/pdkim/pdkim.c
+++ b/src/src/pdkim/pdkim.c
@@ -420,6 +420,7 @@ char *pdkim_relax_header (char *header, int crlf) {
p++;
q++;
}
+ if (seen_wsp) q--;
*q = '\0';
if (crlf) strcat(relaxed,"\r\n");
return relaxed;
diff --git a/src/src/transports/smtp.c b/src/src/transports/smtp.c
index 41796a4d9..fb55ae01b 100644
--- a/src/src/transports/smtp.c
+++ b/src/src/transports/smtp.c
@@ -1078,12 +1078,10 @@ if (tls_offered && !suppress_tls &&
if (!smtp_read_response(&inblock, buffer2, sizeof(buffer2), '2',
ob->command_timeout))
{
+ Ustrncpy(buffer, buffer2, sizeof(buffer));
if (errno != 0 || buffer2[0] == 0 ||
(buffer2[0] == '4' && !ob->tls_tempfail_tryclear))
- {
- Ustrncpy(buffer, buffer2, sizeof(buffer));
goto RESPONSE_FAILED;
- }
}
/* STARTTLS accepted: try to negotiate a TLS session. */