git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
DKIM: signing with t but no x timestamp. Bug 2851
[exim.git]
/
src
/
src
/
dkim.c
diff --git
a/src/src/dkim.c
b/src/src/dkim.c
index ea82f34eab673d3be03407449656426aed568d1f..63b16af39cea040e92178a2d9b1d61a36fe1c0f3 100644
(file)
--- a/
src/src/dkim.c
+++ b/
src/src/dkim.c
@@
-720,8
+720,12
@@
if (dkim_domain)
if (!(dkim_timestamps_expanded = expand_string(dkim->dkim_timestamps)))
{ errwhen = US"dkim_timestamps"; goto expand_bad; }
else
if (!(dkim_timestamps_expanded = expand_string(dkim->dkim_timestamps)))
{ errwhen = US"dkim_timestamps"; goto expand_bad; }
else
- xval = (tval = (unsigned long) time(NULL))
- + strtoul(CCS dkim_timestamps_expanded, NULL, 10);
+ {
+ tval = (unsigned long) time(NULL);
+ xval = strtoul(CCS dkim_timestamps_expanded, NULL, 10);
+ if (xval > 0)
+ xval += tval;
+ }
if (!(sig = pdkim_init_sign(&dkim_sign_ctx, dkim_signing_domain,
dkim_signing_selector,
if (!(sig = pdkim_init_sign(&dkim_sign_ctx, dkim_signing_domain,
dkim_signing_selector,
@@
-741,6
+745,9
@@
if (dkim_domain)
if (!pdkim_set_sig_bodyhash(&dkim_sign_ctx, sig))
goto bad;
if (!pdkim_set_sig_bodyhash(&dkim_sign_ctx, sig))
goto bad;
+ dkim_signing_record = string_append_listele(dkim_signing_record, ':', dkim_signing_domain);
+ dkim_signing_record = string_append_listele(dkim_signing_record, ':', dkim_signing_selector);
+
if (!dkim_sign_ctx.sig) /* link sig to context chain */
dkim_sign_ctx.sig = sig;
else
if (!dkim_sign_ctx.sig) /* link sig to context chain */
dkim_sign_ctx.sig = sig;
else