aboutsummaryrefslogtreecommitdiffstats
path: root/src/libserver/protocol.c
diff options
context:
space:
mode:
authorJohn McKay <adenosine3p@gmail.com>2019-01-26 06:34:41 +0000
committerJohn McKay <adenosine3p@gmail.com>2019-02-02 05:41:41 +0000
commitbbabe7c61ca8403cf332fbfa6a0f23997f8cb92d (patch)
treedf3333ba324d8ed7d25e9349564d640b7004262b /src/libserver/protocol.c
parent875f80ee9aa1ff58463f32864ec5fcd57558b0a5 (diff)
downloadrspamd-bbabe7c61ca8403cf332fbfa6a0f23997f8cb92d.tar.gz
rspamd-bbabe7c61ca8403cf332fbfa6a0f23997f8cb92d.zip
Add multiple signature support.
Configuration is not clean and milter doesn't support it yet
Diffstat (limited to 'src/libserver/protocol.c')
-rw-r--r--src/libserver/protocol.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libserver/protocol.c b/src/libserver/protocol.c
index 574c5fa9f..ba468ee5f 100644
--- a/src/libserver/protocol.c
+++ b/src/libserver/protocol.c
@@ -1132,6 +1132,7 @@ rspamd_protocol_write_ucl (struct rspamd_task *task,
{
ucl_object_t *top = NULL;
GString *dkim_sig;
+ GList *dkim_sigs;
const ucl_object_t *milter_reply;
rspamd_task_set_finish_time (task);
@@ -1200,11 +1201,12 @@ rspamd_protocol_write_ucl (struct rspamd_task *task,
}
if (flags & RSPAMD_PROTOCOL_DKIM) {
- dkim_sig = rspamd_mempool_get_variable (task->task_pool,
+ dkim_sigs = rspamd_mempool_get_variable (task->task_pool,
RSPAMD_MEMPOOL_DKIM_SIGNATURE);
- if (dkim_sig) {
+ for (; dkim_sigs != NULL; dkim_sigs = dkim_sigs->next) {
GString *folded_header;
+ dkim_sig = (GString *) dkim_sigs->data;
if (task->flags & RSPAMD_TASK_FLAG_MILTER) {
folded_header = rspamd_header_value_fold ("DKIM-Signature",