From c934cc4216b07b24599face08bdd99e02f6a8dad Mon Sep 17 00:00:00 2001 From: Stephan Bosch <stephan@rename-it.nl> Date: Thu, 7 Apr 2016 04:01:07 +0200 Subject: [PATCH] lda-sieve plugin: Added trace logging support. --- src/plugins/lda-sieve/lda-sieve-plugin.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/plugins/lda-sieve/lda-sieve-plugin.c b/src/plugins/lda-sieve/lda-sieve-plugin.c index 4e11b673d..bb5b0d703 100644 --- a/src/plugins/lda-sieve/lda-sieve-plugin.c +++ b/src/plugins/lda-sieve/lda-sieve-plugin.c @@ -771,6 +771,8 @@ static int lda_sieve_execute struct sieve_message_data msgdata; struct sieve_script_env scriptenv; struct sieve_exec_status estatus; + struct sieve_trace_config trace_config; + struct sieve_trace_log *trace_log; bool debug = mdctx->dest_user->mail_debug; int ret; @@ -803,6 +805,14 @@ static int lda_sieve_execute } } + /* Initialize trace logging */ + + if ( sieve_trace_config_get(svinst, &trace_config) >= 0 && + sieve_trace_log_open(svinst, NULL, &trace_log) < 0 ) { + memset(&trace_config, 0, sizeof(trace_config)); + trace_log = NULL; + } + /* Collect necessary message data */ memset(&msgdata, 0, sizeof(msgdata)); @@ -835,6 +845,8 @@ static int lda_sieve_execute scriptenv.duplicate_flush = lda_sieve_duplicate_flush; scriptenv.reject_mail = lda_sieve_reject_mail; scriptenv.script_context = (void *) mdctx; + scriptenv.trace_log = trace_log; + scriptenv.trace_config = trace_config; scriptenv.exec_status = &estatus; srctx->scriptenv = &scriptenv; @@ -850,6 +862,9 @@ static int lda_sieve_execute mdctx->tried_default_save = estatus.tried_default_save; *storage_r = estatus.last_storage; + + if ( trace_log != NULL ) + sieve_trace_log_free(&trace_log); } return ret; -- GitLab