diff --git a/src/lib-sieve/sieve.c b/src/lib-sieve/sieve.c index 2e0ddc8e667a490fb6ed438e3849da693460893d..afbce860f04a63fbf914d6d2000ccaaa0c336761 100644 --- a/src/lib-sieve/sieve.c +++ b/src/lib-sieve/sieve.c @@ -580,7 +580,7 @@ int sieve_test(struct sieve_binary *sbin, const struct sieve_message_data *msgdata, const struct sieve_script_env *senv, struct sieve_error_handler *ehandler, struct ostream *stream, - enum sieve_execute_flags flags, bool *keep) + enum sieve_execute_flags flags) { struct sieve_instance *svinst = sieve_binary_svinst(sbin); struct sieve_result *result; @@ -591,9 +591,6 @@ int sieve_test(struct sieve_binary *sbin, pool = pool_alloconly_create("sieve execution", 4096); sieve_execute_init(&eenv, svinst, pool, msgdata, senv, flags); - if (keep != NULL) - *keep = FALSE; - /* Create result object */ result = sieve_result_create(svinst, pool, &eenv); @@ -602,10 +599,8 @@ int sieve_test(struct sieve_binary *sbin, /* Print result if successful */ if (ret > 0) { - ret = (sieve_result_print(result, senv, stream, keep) ? + ret = (sieve_result_print(result, senv, stream, NULL) ? SIEVE_EXEC_OK : SIEVE_EXEC_FAILURE); - } else if (ret == 0) { - if (keep != NULL) *keep = TRUE; } /* Cleanup */ @@ -644,7 +639,7 @@ int sieve_execute(struct sieve_binary *sbin, const struct sieve_script_env *senv, struct sieve_error_handler *exec_ehandler, struct sieve_error_handler *action_ehandler, - enum sieve_execute_flags flags, bool *keep) + enum sieve_execute_flags flags) { struct sieve_instance *svinst = sieve_binary_svinst(sbin); struct sieve_result *result = NULL; @@ -655,9 +650,6 @@ int sieve_execute(struct sieve_binary *sbin, pool = pool_alloconly_create("sieve execution", 4096); sieve_execute_init(&eenv, svinst, pool, msgdata, senv, flags); - if (keep != NULL) - *keep = FALSE; - /* Create result object */ result = sieve_result_create(svinst, pool, &eenv); @@ -671,7 +663,7 @@ int sieve_execute(struct sieve_binary *sbin, */ if (ret > 0) { /* Execute result */ - ret = sieve_result_execute(result, TRUE, keep, action_ehandler); + ret = sieve_result_execute(result, TRUE, NULL, action_ehandler); } else if (ret == SIEVE_EXEC_FAILURE) { /* Perform implicit keep if script failed with a normal runtime error @@ -679,7 +671,6 @@ int sieve_execute(struct sieve_binary *sbin, switch (sieve_result_implicit_keep(result, action_ehandler, FALSE)) { case SIEVE_EXEC_OK: - if (keep != NULL) *keep = TRUE; break; case SIEVE_EXEC_TEMP_FAILURE: ret = SIEVE_EXEC_TEMP_FAILURE; @@ -913,7 +904,7 @@ int sieve_multiscript_tempfail(struct sieve_multiscript **_mscript, int sieve_multiscript_finish(struct sieve_multiscript **_mscript, struct sieve_error_handler *action_ehandler, - enum sieve_execute_flags flags, bool *keep) + enum sieve_execute_flags flags) { struct sieve_multiscript *mscript = *_mscript; struct sieve_result *result = mscript->result; @@ -945,8 +936,6 @@ int sieve_multiscript_finish(struct sieve_multiscript **_mscript, sieve_result_finish(result, action_ehandler, (ret == SIEVE_EXEC_OK)); - if (keep != NULL) *keep = mscript->keep; - /* Cleanup */ sieve_result_unref(&result); sieve_execute_deinit(&mscript->exec_env); diff --git a/src/lib-sieve/sieve.h b/src/lib-sieve/sieve.h index 5f1fb128b76b56cebea5a17315ff6c5b083cb6f9..f4acafe910edfd24c0b2bafc8c100e8f36dab52c 100644 --- a/src/lib-sieve/sieve.h +++ b/src/lib-sieve/sieve.h @@ -133,7 +133,7 @@ int sieve_test(struct sieve_binary *sbin, const struct sieve_message_data *msgdata, const struct sieve_script_env *senv, struct sieve_error_handler *ehandler, struct ostream *stream, - enum sieve_execute_flags flags, bool *keep); + enum sieve_execute_flags flags); /* * Script execution @@ -149,7 +149,7 @@ int sieve_execute(struct sieve_binary *sbin, const struct sieve_script_env *senv, struct sieve_error_handler *exec_ehandler, struct sieve_error_handler *action_ehandler, - enum sieve_execute_flags flags, bool *keep); + enum sieve_execute_flags flags); /* * Multiscript support @@ -187,7 +187,7 @@ int sieve_multiscript_tempfail(struct sieve_multiscript **_mscript, enum sieve_execute_flags flags); int sieve_multiscript_finish(struct sieve_multiscript **_mscript, struct sieve_error_handler *action_ehandler, - enum sieve_execute_flags flags, bool *keep); + enum sieve_execute_flags flags); /* * Configured limits diff --git a/src/plugins/imap-filter-sieve/imap-filter-sieve.c b/src/plugins/imap-filter-sieve/imap-filter-sieve.c index be339ccef202424d3aa0b8efc6a58b5a1ff3112e..eb68057d4f2d4c4dab8d4579502a6b3c48a704af 100644 --- a/src/plugins/imap-filter-sieve/imap-filter-sieve.c +++ b/src/plugins/imap-filter-sieve/imap-filter-sieve.c @@ -880,8 +880,7 @@ imap_sieve_filter_run_scripts(struct imap_filter_sieve_context *sctx, "cumulative resource usage limit exceeded"); ret = SIEVE_EXEC_RESOURCE_LIMIT; } else { - ret = sieve_multiscript_finish(&mscript, ehandler, exflags, - NULL); + ret = sieve_multiscript_finish(&mscript, ehandler, exflags); } /* Don't log additional messages about compile failure */ diff --git a/src/plugins/imapsieve/imap-sieve.c b/src/plugins/imapsieve/imap-sieve.c index 63383bfafd7e47ecdf0d40508b31402a750f4014..480d3847bab48f501e14ae6ef1d62bbe6e6cb73a 100644 --- a/src/plugins/imapsieve/imap-sieve.c +++ b/src/plugins/imapsieve/imap-sieve.c @@ -801,8 +801,7 @@ imap_sieve_run_scripts(struct imap_sieve_run *isrun, "cumulative resource usage limit exceeded"); ret = SIEVE_EXEC_RESOURCE_LIMIT; } else { - ret = sieve_multiscript_finish(&mscript, ehandler, exflags, - NULL); + ret = sieve_multiscript_finish(&mscript, ehandler, exflags); } /* Don't log additional messages about compile failure */ diff --git a/src/plugins/lda-sieve/lda-sieve-plugin.c b/src/plugins/lda-sieve/lda-sieve-plugin.c index fc0db17fad01706087c06cc6017c0ea3a0ecd55b..98b5b2f2ebb9e55ed0c835ecf28b92881096bfd7 100644 --- a/src/plugins/lda-sieve/lda-sieve-plugin.c +++ b/src/plugins/lda-sieve/lda-sieve-plugin.c @@ -667,8 +667,8 @@ static int lda_sieve_execute_scripts(struct lda_sieve_run_context *srctx) ret = sieve_multiscript_tempfail(&mscript, exec_ehandler, exflags); } else { - ret = sieve_multiscript_finish(&mscript, exec_ehandler, exflags, - NULL); + ret = sieve_multiscript_finish(&mscript, exec_ehandler, + exflags); } /* Don't log additional messages about compile failure */ diff --git a/src/sieve-tools/sieve-filter.c b/src/sieve-tools/sieve-filter.c index ca304756d920fdecac4c50ff002c6569dfdcae73..2b98fe675cf5f13982e0fcb8b83405c4e376c5fc 100644 --- a/src/sieve-tools/sieve-filter.c +++ b/src/sieve-tools/sieve-filter.c @@ -138,7 +138,7 @@ static int filter_message(struct sieve_filter_context *sfctx, struct mail *mail) date, size, str_sanitize(subject, 40)); ret = sieve_execute(sbin, &msgdata, senv, ehandler, ehandler, - exflags, NULL); + exflags); } else { o_stream_nsend_str( sfctx->teststream, @@ -152,7 +152,7 @@ static int filter_message(struct sieve_filter_context *sfctx, struct mail *mail) str_sanitize(subject, 40))); ret = sieve_test(sbin, &msgdata, senv, ehandler, - sfctx->teststream, exflags, NULL); + sfctx->teststream, exflags); } /* Handle message in source folder */ diff --git a/src/sieve-tools/sieve-test.c b/src/sieve-tools/sieve-test.c index c553ace891bbbab6013e942c55d3250c26e25bff..c5d7523d2f83df71f3fa1abb7c79a450ff0f7f72 100644 --- a/src/sieve-tools/sieve-test.c +++ b/src/sieve-tools/sieve-test.c @@ -362,12 +362,11 @@ int main(int argc, char **argv) /* Execute/Test script */ if (execute) { ret = sieve_execute(sbin, &msgdata, &scriptenv, - ehandler, ehandler, exflags, - NULL); + ehandler, ehandler, + exflags); } else { ret = sieve_test(sbin, &msgdata, &scriptenv, - ehandler, teststream, exflags, - NULL); + ehandler, teststream, exflags); } } else { /* Multiple scripts */ @@ -442,7 +441,7 @@ int main(int argc, char **argv) } result = sieve_multiscript_finish( - &mscript, ehandler, exflags, NULL); + &mscript, ehandler, exflags); ret = (ret > 0 ? result : ret); } diff --git a/src/testsuite/testsuite-script.c b/src/testsuite/testsuite-script.c index 39b912a47b6d50a3196655671bc5b306c16e0150..3cfaafab02bc121bfb6fdb488f2b9f626f8e1312 100644 --- a/src/testsuite/testsuite-script.c +++ b/src/testsuite/testsuite-script.c @@ -251,5 +251,5 @@ bool testsuite_script_multiscript(const struct sieve_runtime_env *renv, } return (sieve_multiscript_finish(&mscript, testsuite_log_ehandler, - 0, NULL) > 0 && result); + 0) > 0 && result); }