dovecot-2.2-pigeonhole: Sieve extprograms plugin: Improved handi...
pigeonhole at rename-it.nl
pigeonhole at rename-it.nl
Sat Nov 16 00:13:38 EET 2013
details: http://hg.rename-it.nl/dovecot-2.2-pigeonhole/rev/b7434a02fc51
changeset: 1820:b7434a02fc51
user: Stephan Bosch <stephan at rename-it.nl>
date: Fri Nov 15 23:13:32 2013 +0100
description:
Sieve extprograms plugin: Improved handing of extension configuration.
diffstat:
src/plugins/sieve-extprograms/sieve-extprograms-common.c | 18 ++++++++-------
1 files changed, 10 insertions(+), 8 deletions(-)
diffs (50 lines):
diff -r 16671ce66f75 -r b7434a02fc51 src/plugins/sieve-extprograms/sieve-extprograms-common.c
--- a/src/plugins/sieve-extprograms/sieve-extprograms-common.c Mon Nov 11 01:44:19 2013 +0100
+++ b/src/plugins/sieve-extprograms/sieve-extprograms-common.c Fri Nov 15 23:13:32 2013 +0100
@@ -62,8 +62,7 @@
struct sieve_extprograms_config *ext_config;
const char *extname = sieve_extension_name(ext);
const char *bin_dir, *socket_dir;
- sieve_number_t execute_timeout =
- SIEVE_EXTPROGRAMS_DEFAULT_EXEC_TIMEOUT_SECS;
+ sieve_number_t execute_timeout;
extname = strrchr(extname, '.');
i_assert(extname != NULL);
@@ -75,6 +74,8 @@
(svinst, t_strdup_printf("sieve_%s_socket_dir", extname));
ext_config = i_new(struct sieve_extprograms_config, 1);
+ ext_config->execute_timeout =
+ SIEVE_EXTPROGRAMS_DEFAULT_EXEC_TIMEOUT_SECS;
if ( bin_dir == NULL && socket_dir == NULL ) {
if ( svinst->debug ) {
@@ -86,12 +87,12 @@
} else {
ext_config->bin_dir = i_strdup(bin_dir);
ext_config->socket_dir = i_strdup(socket_dir);
- }
- if (sieve_setting_get_duration_value
- (svinst, t_strdup_printf("sieve_%s_exec_timeout", extname),
- &execute_timeout)) {
- ext_config->execute_timeout = execute_timeout;
+ if (sieve_setting_get_duration_value
+ (svinst, t_strdup_printf("sieve_%s_exec_timeout", extname),
+ &execute_timeout)) {
+ ext_config->execute_timeout = execute_timeout;
+ }
}
if ( sieve_extension_is(ext, pipe_extension) )
@@ -415,7 +416,8 @@
"running program: %s", action, program_name);
}
- if ( ext_config == NULL ) {
+ if ( ext_config == NULL ||
+ (ext_config->bin_dir == NULL && ext_config->socket_dir == NULL) ) {
sieve_sys_error(svinst, "action %s: "
"failed to execute program `%s': "
"vnd.dovecot.%s extension is unconfigured", action, program_name, action);
More information about the dovecot-cvs
mailing list