From: Vsevolod Stakhov Date: Wed, 16 Sep 2015 13:30:45 +0000 (+0100) Subject: Fix multiple DKIM signatures for relaxed method. X-Git-Tag: 1.0.0~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7351103009045a1bb2e291dfd137e328a8e845dd;p=thirdparty%2Frspamd.git Fix multiple DKIM signatures for relaxed method. --- diff --git a/src/libserver/dkim.c b/src/libserver/dkim.c index 7c31bb9297..0263eeb207 100644 --- a/src/libserver/dkim.c +++ b/src/libserver/dkim.c @@ -819,6 +819,8 @@ rspamd_create_dkim_context (const gchar *sig, (rspamd_mempool_destruct_t)g_checksum_free, ctx->headers_hash); + ctx->dkim_header = sig; + return ctx; } @@ -1576,9 +1578,9 @@ rspamd_dkim_canonize_header (rspamd_dkim_context_t *ctx, } } else { - /* For signature check just use the first dkim header */ + /* For signature check just use the saved dkim header */ rspamd_dkim_canonize_header_relaxed (ctx, - rh->value, + ctx->dkim_header, header_name, is_sig); } diff --git a/src/libserver/dkim.h b/src/libserver/dkim.h index 07d9483fc6..97f54b912a 100644 --- a/src/libserver/dkim.h +++ b/src/libserver/dkim.h @@ -147,6 +147,7 @@ typedef struct rspamd_dkim_context_s { GPtrArray *hlist; guint ver; gchar *dns_key; + const gchar *dkim_header; GChecksum *headers_hash; GChecksum *body_hash; } rspamd_dkim_context_t;