From 91f29b82e5af8ac971d69a2e8a04dbcb13aa8ee5 Mon Sep 17 00:00:00 2001 From: Stephan Bosch <stephan@rename-it.nl> Date: Sat, 3 Jul 2010 23:32:28 +0200 Subject: [PATCH] Moved parsing of sieve_extensions setting to sieve engine initialization. --- src/lib-sieve/sieve-extensions.c | 9 ++++++++- src/managesieve/managesieve-capabilities.c | 5 ----- src/managesieve/managesieve-client.c | 7 +------ src/plugins/lda-sieve/lda-sieve-plugin.c | 7 ------- 4 files changed, 9 insertions(+), 19 deletions(-) diff --git a/src/lib-sieve/sieve-extensions.c b/src/lib-sieve/sieve-extensions.c index f9d7c0a19..5552ffcd9 100644 --- a/src/lib-sieve/sieve-extensions.c +++ b/src/lib-sieve/sieve-extensions.c @@ -9,6 +9,7 @@ #include "sieve-common.h" #include "sieve-error.h" +#include "sieve-settings.h" #include "sieve-extensions.h" /* @@ -178,6 +179,7 @@ bool sieve_extensions_init(struct sieve_instance *svinst) unsigned int i; struct sieve_extension_registry *ext_reg = p_new(svinst->pool, struct sieve_extension_registry, 1); + const char *extensions; svinst->ext_reg = ext_reg; @@ -230,8 +232,13 @@ bool sieve_extensions_init(struct sieve_instance *svinst) } #endif + /* Use sieve_extensions if set */ + + if ( (extensions=sieve_setting_get(svinst, "sieve_extensions")) != NULL ) + sieve_extensions_set_string(svinst, extensions); + /* More extensions can be added through plugins */ - + return TRUE; } diff --git a/src/managesieve/managesieve-capabilities.c b/src/managesieve/managesieve-capabilities.c index 4da049d56..faa8c0d83 100644 --- a/src/managesieve/managesieve-capabilities.c +++ b/src/managesieve/managesieve-capabilities.c @@ -132,11 +132,6 @@ void managesieve_capabilities_dump(void) svinst = sieve_init(&sieve_env, (void *) global_plugin_settings, FALSE); - extensions = plugin_settings_get(global_plugin_settings, "sieve_extensions"); - if ( extensions != NULL ) { - sieve_set_extensions(svinst, extensions); - } - /* Dump capabilities */ notify_cap = sieve_get_capabilities(svinst, "notify"); diff --git a/src/managesieve/managesieve-client.c b/src/managesieve/managesieve-client.c index d0fed85f5..c19b4da88 100644 --- a/src/managesieve/managesieve-client.c +++ b/src/managesieve/managesieve-client.c @@ -111,7 +111,7 @@ struct client *client_create const struct managesieve_settings *set) { struct client *client; - const char *ident, *extensions; + const char *ident; struct sieve_instance *svinst; struct sieve_storage *storage; @@ -124,11 +124,6 @@ struct client *client_create svinst = sieve_init(&managesieve_sieve_env, (void *) user, set->mail_debug); - extensions = mail_user_plugin_getenv(user, "sieve_extensions"); - if ( extensions != NULL ) { - sieve_set_extensions(svinst, extensions); - } - /* Get Sieve storage */ storage = client_get_storage(svinst, user, set); diff --git a/src/plugins/lda-sieve/lda-sieve-plugin.c b/src/plugins/lda-sieve/lda-sieve-plugin.c index 35774e77f..7152ee5b8 100644 --- a/src/plugins/lda-sieve/lda-sieve-plugin.c +++ b/src/plugins/lda-sieve/lda-sieve-plugin.c @@ -519,7 +519,6 @@ static int lda_sieve_run struct sieve_message_data msgdata; struct sieve_script_env scriptenv; struct sieve_exec_status estatus; - const char *extensions = NULL; bool debug = mdctx->dest_user->mail_debug; int ret = 0; @@ -528,12 +527,6 @@ static int lda_sieve_run /* Initialize Sieve engine */ svinst = sieve_init(&lda_sieve_env, mdctx->dest_user, debug); - extensions = mail_user_plugin_getenv - (mdctx->dest_user, "sieve_extensions"); - if ( extensions != NULL ) { - sieve_set_extensions(svinst, extensions); - } - /* Initialize */ memset(&srctx, 0, sizeof(srctx)); -- GitLab