diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2016-07-08 17:30:54 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2016-07-08 17:30:54 +0100 |
commit | ab37087c4efa784688fbb5055655de4e2a938a5c (patch) | |
tree | 947f91c9a50ed90576e11ce80aff99d4e5523a8a | |
parent | 5b7e8f3bb68b945fe4ce561812444d57a97a0dc7 (diff) | |
download | rspamd-ab37087c4efa784688fbb5055655de4e2a938a5c.tar.gz rspamd-ab37087c4efa784688fbb5055655de4e2a938a5c.zip |
[Fix] Fix dkim signing
-rw-r--r-- | src/libserver/dkim.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/libserver/dkim.c b/src/libserver/dkim.c index fadee81c4..16cb7f371 100644 --- a/src/libserver/dkim.c +++ b/src/libserver/dkim.c @@ -2104,6 +2104,24 @@ rspamd_dkim_sign (struct rspamd_task *task, rspamd_printf_gstring (hdr, "bh=%s;b=", b64_data); g_free (b64_data); + if (ctx->common.header_canon_type == DKIM_CANON_RELAXED) { + if (!rspamd_dkim_canonize_header_relaxed (&ctx->common, + hdr->str, + DKIM_SIGNHEADER, + TRUE)) { + + g_string_free (hdr, TRUE); + return NULL; + } + } + else { + /* Will likely have issues with folding */ + rspamd_dkim_hash_update (ctx->common.headers_hash, hdr->str, + hdr->len); + msg_debug_task ("update signature with header: %*s", + (gint)hdr->len, hdr->str); + } + dlen = EVP_MD_CTX_size (ctx->common.headers_hash); EVP_DigestFinal_ex (ctx->common.headers_hash, raw_digest, NULL); rsa_len = RSA_size (ctx->key->key_rsa); |