@@ -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) | |||
{ |
@@ -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); | |||
@@ -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; /* :<trace>\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); | |||
} | |||
} | |||
} |