From: Vsevolod Stakhov Date: Fri, 16 Nov 2018 17:50:35 +0000 (+0000) Subject: [Feature] Write DKIM selector in dkim allow/reject symbols X-Git-Tag: 1.8.2~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=306a8e0c4cc8bbe26c0da5fa8a8339566118a421;p=thirdparty%2Frspamd.git [Feature] Write DKIM selector in dkim allow/reject symbols --- diff --git a/src/libserver/dkim.c b/src/libserver/dkim.c index 6d3ace1df1..1b78ee84e7 100644 --- a/src/libserver/dkim.c +++ b/src/libserver/dkim.c @@ -2528,6 +2528,16 @@ rspamd_dkim_get_domain (rspamd_dkim_context_t *ctx) return NULL; } +const gchar* +rspamd_dkim_get_selector (rspamd_dkim_context_t *ctx) +{ + if (ctx) { + return ctx->selector; + } + + return NULL; +} + guint rspamd_dkim_key_get_ttl (rspamd_dkim_key_t *k) { diff --git a/src/libserver/dkim.h b/src/libserver/dkim.h index 6ce0994642..61580e426a 100644 --- a/src/libserver/dkim.h +++ b/src/libserver/dkim.h @@ -222,6 +222,7 @@ void rspamd_dkim_key_unref (rspamd_dkim_key_t *k); rspamd_dkim_sign_key_t * rspamd_dkim_sign_key_ref (rspamd_dkim_sign_key_t *k); void rspamd_dkim_sign_key_unref (rspamd_dkim_sign_key_t *k); const gchar* rspamd_dkim_get_domain (rspamd_dkim_context_t *ctx); +const gchar* rspamd_dkim_get_selector (rspamd_dkim_context_t *ctx); const gchar* rspamd_dkim_get_dns_key (rspamd_dkim_context_t *ctx); guint rspamd_dkim_key_get_ttl (rspamd_dkim_key_t *k); diff --git a/src/plugins/dkim_check.c b/src/plugins/dkim_check.c index 72091fccba..f1a587e4ab 100644 --- a/src/plugins/dkim_check.c +++ b/src/plugins/dkim_check.c @@ -1013,22 +1013,25 @@ dkim_module_check (struct dkim_check_result *res) if (symbol != NULL) { const gchar *domain = rspamd_dkim_get_domain (cur->ctx); + const gchar *selector = rspamd_dkim_get_selector (cur->ctx); gsize tracelen; gchar *tracebuf; - tracelen = strlen (domain) + 3; /* :\0 */ + tracelen = strlen (domain) + strlen (selector) + 4; tracebuf = rspamd_mempool_alloc (cur->task->task_pool, tracelen); rspamd_snprintf (tracebuf, tracelen, "%s:%s", domain, trace); - rspamd_task_insert_result (cur->task, - symbol, - symbol_weight, - domain); rspamd_task_insert_result (cur->task, "DKIM_TRACE", 0.0, tracebuf); + + rspamd_snprintf (tracebuf, tracelen, "%s:s=%s", domain, selector); + rspamd_task_insert_result (cur->task, + symbol, + symbol_weight, + tracebuf); } } }