Browse Source

[Feature] Write DKIM selector in dkim allow/reject symbols

tags/1.8.2
Vsevolod Stakhov 5 years ago
parent
commit
306a8e0c4c
3 changed files with 19 additions and 5 deletions
  1. 10
    0
      src/libserver/dkim.c
  2. 1
    0
      src/libserver/dkim.h
  3. 8
    5
      src/plugins/dkim_check.c

+ 10
- 0
src/libserver/dkim.c View File

@@ -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)
{

+ 1
- 0
src/libserver/dkim.h View File

@@ -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);


+ 8
- 5
src/plugins/dkim_check.c View File

@@ -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);
}
}
}

Loading…
Cancel
Save