From 85b3d40053c53be63f6d4ab5904f6a89b1d00486 Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan.bosch@open-xchange.com>
Date: Fri, 21 May 2021 01:44:57 +0200
Subject: [PATCH] lib-sieve: sieve - Remove unused keep_r argument from
 execution functions.

---
 src/lib-sieve/sieve.c                         | 21 +++++--------------
 src/lib-sieve/sieve.h                         |  6 +++---
 .../imap-filter-sieve/imap-filter-sieve.c     |  3 +--
 src/plugins/imapsieve/imap-sieve.c            |  3 +--
 src/plugins/lda-sieve/lda-sieve-plugin.c      |  4 ++--
 src/sieve-tools/sieve-filter.c                |  4 ++--
 src/sieve-tools/sieve-test.c                  |  9 ++++----
 src/testsuite/testsuite-script.c              |  2 +-
 8 files changed, 19 insertions(+), 33 deletions(-)

diff --git a/src/lib-sieve/sieve.c b/src/lib-sieve/sieve.c
index 2e0ddc8e6..afbce860f 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 5f1fb128b..f4acafe91 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 be339ccef..eb68057d4 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 63383bfaf..480d3847b 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 fc0db17fa..98b5b2f2e 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 ca304756d..2b98fe675 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 c553ace89..c5d7523d2 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 39b912a47..3cfaafab0 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);
 }
-- 
GitLab