From: Vsevolod Stakhov Date: Thu, 25 May 2017 11:59:37 +0000 (+0100) Subject: [Minor] Implement arc-signatures generation X-Git-Tag: 1.6.0~138 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=e92880bca977398cbf3e163f6d0beeef92622430;p=rspamd.git [Minor] Implement arc-signatures generation --- diff --git a/src/libserver/dkim.c b/src/libserver/dkim.c index 033fce15c..0339d5d58 100644 --- a/src/libserver/dkim.c +++ b/src/libserver/dkim.c @@ -2283,14 +2283,33 @@ rspamd_dkim_sign (struct rspamd_task *task, } hdr = g_string_sized_new (255); - rspamd_printf_gstring (hdr, "v=1; a=rsa-sha256; c=%s/%s; d=%s; s=%s; ", - ctx->common.header_canon_type == DKIM_CANON_RELAXED ? "relaxed" : "simple", - ctx->common.body_canon_type == DKIM_CANON_RELAXED ? "relaxed" : "simple", - domain, selector); + + if (ctx->common.type == RSPAMD_DKIM_NORMAL) { + rspamd_printf_gstring (hdr, "v=1; a=rsa-sha256; c=%s/%s; d=%s; s=%s; ", + ctx->common.header_canon_type == DKIM_CANON_RELAXED ? + "relaxed" : "simple", + ctx->common.body_canon_type == DKIM_CANON_RELAXED ? + "relaxed" : "simple", + domain, selector); + } + else if (ctx->common.type == RSPAMD_DKIM_ARC_SIG) { + rspamd_printf_gstring (hdr, "i=%d; a=rsa-sha256; c=%s/%s; d=%s; s=%s; ", + idx, + ctx->common.header_canon_type == DKIM_CANON_RELAXED ? + "relaxed" : "simple", + ctx->common.body_canon_type == DKIM_CANON_RELAXED ? + "relaxed" : "simple", + domain, selector); + } + else { + /* Shouldn't be called for arc seal */ + g_assert_not_reached (); + } if (expire > 0) { rspamd_printf_gstring (hdr, "x=%t; ", expire); } + if (len > 0) { rspamd_printf_gstring (hdr, "l=%z; ", len); }