From efef641a09572a6f68072f786c76163757eb455c Mon Sep 17 00:00:00 2001 From: Stephan Bosch <stephan@dovecot.fi> Date: Thu, 7 Jul 2016 18:18:35 +0200 Subject: [PATCH] extprograms plugin: Execution errors in filter and execute commands did not lead to script termination. --- src/plugins/sieve-extprograms/cmd-execute.c | 7 ++++--- src/plugins/sieve-extprograms/cmd-filter.c | 7 +++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/plugins/sieve-extprograms/cmd-execute.c b/src/plugins/sieve-extprograms/cmd-execute.c index 6c1fb6daf..f868595bd 100644 --- a/src/plugins/sieve-extprograms/cmd-execute.c +++ b/src/plugins/sieve-extprograms/cmd-execute.c @@ -441,9 +441,10 @@ static int cmd_execute_operation_execute if ( outbuf != NULL ) buffer_free(&outbuf); - if ( is_test ) + if ( is_test ) { sieve_interpreter_set_test_result(renv->interp, ( ret > 0 )); - - return SIEVE_EXEC_OK; + return SIEVE_EXEC_OK; + } + return ( ret >= 0 ? SIEVE_EXEC_OK : SIEVE_EXEC_FAILURE ); } diff --git a/src/plugins/sieve-extprograms/cmd-filter.c b/src/plugins/sieve-extprograms/cmd-filter.c index 77bd35899..6b0bc0976 100644 --- a/src/plugins/sieve-extprograms/cmd-filter.c +++ b/src/plugins/sieve-extprograms/cmd-filter.c @@ -231,9 +231,12 @@ static int cmd_filter_operation_execute "filter action: program indicated false result"); } - if ( is_test ) + if ( is_test ) { sieve_interpreter_set_test_result(renv->interp, ( ret > 0 )); - return SIEVE_EXEC_OK; + return SIEVE_EXEC_OK; + } + + return ( ret >= 0 ? SIEVE_EXEC_OK : SIEVE_EXEC_FAILURE ); } -- GitLab