From c7bf9c0caddae43ebc1cb457a20723a06b447149 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Tue, 3 Apr 2018 15:37:53 +0100 Subject: [PATCH] [Fix|Breaking change] Use standard rules for non-oversigned headers Issue: #2136 --- src/libserver/dkim.c | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/libserver/dkim.c b/src/libserver/dkim.c index f2914535f..3f22a4777 100644 --- a/src/libserver/dkim.c +++ b/src/libserver/dkim.c @@ -2868,22 +2868,24 @@ rspamd_dkim_sign (struct rspamd_task *task, const gchar *selector, } } else { - if (hstat.s.count > 0) { + if (g_hash_table_lookup (task->raw_headers, dh->name)) { + if (hstat.s.count > 0) { - cur_len = (strlen (dh->name) + 1) * (hstat.s.count); - headers_len += cur_len; - if (headers_len > 70 && i > 0 && i < ctx->common.hlist->len - 1) { - rspamd_printf_gstring (hdr, " "); - headers_len = cur_len; - } + cur_len = (strlen (dh->name) + 1) * (hstat.s.count); + headers_len += cur_len; + if (headers_len > 70 && i > 0 && i < ctx->common.hlist->len - 1) { + rspamd_printf_gstring (hdr, " "); + headers_len = cur_len; + } - for (j = 0; j < hstat.s.count; j++) { - rspamd_printf_gstring (hdr, "%s:", dh->name); + for (j = 0; j < hstat.s.count; j++) { + rspamd_printf_gstring (hdr, "%s:", dh->name); + } } - } - if (g_hash_table_lookup (task->raw_headers, dh->name)) { - rspamd_dkim_canonize_header (&ctx->common, task, dh->name, dh->count, + + rspamd_dkim_canonize_header (&ctx->common, task, + dh->name, dh->count, NULL, NULL); } } -- 2.39.5