From 39b6eb9c962bc2e956b0d33cc62d367ed6fd9f29 Mon Sep 17 00:00:00 2001 From: Stephan Bosch <stephan.bosch@dovecot.fi> Date: Sat, 22 Jun 2019 09:30:39 +0200 Subject: [PATCH] lib-sieve: sieve-runtime - Add event support to runtime environment. --- src/lib-sieve/sieve-interpreter.c | 9 +++++++++ src/lib-sieve/sieve-runtime.h | 1 + 2 files changed, 10 insertions(+) diff --git a/src/lib-sieve/sieve-interpreter.c b/src/lib-sieve/sieve-interpreter.c index 3fbb6f3e4..ffe15a647 100644 --- a/src/lib-sieve/sieve-interpreter.c +++ b/src/lib-sieve/sieve-interpreter.c @@ -122,6 +122,14 @@ _sieve_interpreter_create(struct sieve_binary *sbin, interp->runenv.sblock = sblock; sieve_binary_ref(sbin); + interp->runenv.event = event_create(eenv->event); + event_add_str(interp->runenv.event, "sieve_script_name", + sieve_binary_script_name(sbin)); + event_add_str(interp->runenv.event, "sieve_script_location", + sieve_binary_script_location(sbin)); + event_add_str(interp->runenv.event, "sieve_binary_path", + sieve_binary_path(sbin)); + svinst = sieve_binary_svinst(sbin); if (senv->trace_log != NULL) { @@ -295,6 +303,7 @@ void sieve_interpreter_free(struct sieve_interpreter **_interp) sieve_binary_debug_reader_deinit(&interp->dreader); sieve_binary_unref(&renv->sbin); sieve_error_handler_unref(&renv->ehandler); + event_unref(&renv->event); pool_unref(&interp->pool); *_interp = NULL; diff --git a/src/lib-sieve/sieve-runtime.h b/src/lib-sieve/sieve-runtime.h index 8efe23d7c..fa5060299 100644 --- a/src/lib-sieve/sieve-runtime.h +++ b/src/lib-sieve/sieve-runtime.h @@ -10,6 +10,7 @@ struct sieve_runtime_env { const struct sieve_execute_env *exec_env; + struct event *event; /* Interpreter */ struct sieve_interpreter *interp; -- GitLab