From afaceb23c0db9efe8d7cb8d9dd5e823c07f3851a Mon Sep 17 00:00:00 2001
From: Karl Fleischmann <karl.fleischmann@open-xchange.com>
Date: Thu, 9 Mar 2023 16:41:49 +0100
Subject: [PATCH] lib-sieve: plugins: include: cmd-global - Remove deprecated
 import and export commands

These were originally written while the plugin was in draft. These can
be now removed as the RFC has been finalized and the commands were
dropped.
---
 src/lib-sieve/plugins/include/cmd-global.c    | 51 -------------------
 .../plugins/include/ext-include-common.h      |  4 --
 src/lib-sieve/plugins/include/ext-include.c   |  4 --
 tests/extensions/include/errors.svtest        |  2 +-
 .../extensions/include/errors/variables.sieve |  7 ---
 5 files changed, 1 insertion(+), 67 deletions(-)

diff --git a/src/lib-sieve/plugins/include/cmd-global.c b/src/lib-sieve/plugins/include/cmd-global.c
index 01862c058..a6dce8d4a 100644
--- a/src/lib-sieve/plugins/include/cmd-global.c
+++ b/src/lib-sieve/plugins/include/cmd-global.c
@@ -39,41 +39,6 @@ const struct sieve_command_def cmd_global = {
 	.generate = cmd_global_generate,
 };
 
-/* DEPRICATED:
- */
-
-/* Import command
- *
- * Syntax
- *   import
- */
-const struct sieve_command_def cmd_import = {
-	.identifier = "import",
-	.type = SCT_COMMAND,
-	.positional_args = 1,
-	.subtests = 0,
-	.block_allowed = FALSE,
-	.block_required = FALSE,
-	.validate = cmd_global_validate,
-	.generate = cmd_global_generate,
-};
-
-/* Export command
- *
- * Syntax
- *   export
- */
-const struct sieve_command_def cmd_export = {
-	.identifier = "export",
-	.type = SCT_COMMAND,
-	.positional_args = 1,
-	.subtests = 0,
-	.block_allowed = FALSE,
-	.block_required = FALSE,
-	.validate = cmd_global_validate,
-	.generate = cmd_global_generate,
-};
-
 /*
  * Operations
  */
@@ -115,22 +80,6 @@ cmd_global_validate(struct sieve_validator *valdtr, struct sieve_command *cmd)
 	struct sieve_ast_argument *arg = cmd->first_positional;
 	struct sieve_command *prev = sieve_command_prev(cmd);
 
-	/* DEPRECATED: Check valid command placement */
-	if (!sieve_command_is(cmd, cmd_global)) {
-		if (!sieve_command_is_toplevel(cmd) ||
-		    (!sieve_command_is_first(cmd) && prev != NULL &&
-		     !sieve_command_is(prev, cmd_require) &&
-		     !sieve_command_is(prev, cmd_import) &&
-		     !sieve_command_is(prev, cmd_export))) {
-			sieve_command_validate_error(valdtr, cmd,
-				"the DEPRECATED %s command can only be placed at top level "
-				"at the beginning of the file after any require or "
-				"import/export commands",
-				sieve_command_identifier(cmd));
-			return FALSE;
-		}
-	}
-
 	/* Check for use of variables extension */
 	if (!ext_include_validator_have_variables(this_ext, valdtr)) {
 		sieve_command_validate_error(
diff --git a/src/lib-sieve/plugins/include/ext-include-common.h b/src/lib-sieve/plugins/include/ext-include-common.h
index 44bfe9ac0..ca586b7e6 100644
--- a/src/lib-sieve/plugins/include/ext-include-common.h
+++ b/src/lib-sieve/plugins/include/ext-include-common.h
@@ -64,10 +64,6 @@ extern const struct sieve_command_def cmd_include;
 extern const struct sieve_command_def cmd_return;
 extern const struct sieve_command_def cmd_global;
 
-/* DEPRICATED */
-extern const struct sieve_command_def cmd_import;
-extern const struct sieve_command_def cmd_export;
-
 /*
  * Operations
  */
diff --git a/src/lib-sieve/plugins/include/ext-include.c b/src/lib-sieve/plugins/include/ext-include.c
index 0c22467c2..f85bd2489 100644
--- a/src/lib-sieve/plugins/include/ext-include.c
+++ b/src/lib-sieve/plugins/include/ext-include.c
@@ -90,10 +90,6 @@ ext_include_validator_load(const struct sieve_extension *ext,
 	sieve_validator_register_command(valdtr, ext, &cmd_return);
 	sieve_validator_register_command(valdtr, ext, &cmd_global);
 
-	/* DEPRICATED */
-	sieve_validator_register_command(valdtr, ext, &cmd_import);
-	sieve_validator_register_command(valdtr, ext, &cmd_export);
-
 	/* Initialize global variables namespace */
 	ext_include_variables_global_namespace_init(ext, valdtr);
 
diff --git a/tests/extensions/include/errors.svtest b/tests/extensions/include/errors.svtest
index 6f8b1cce7..f07f8012a 100644
--- a/tests/extensions/include/errors.svtest
+++ b/tests/extensions/include/errors.svtest
@@ -70,7 +70,7 @@ test "Variables" {
 		test_fail "compile should have failed";
 	}
 
-	if not test_error :count "eq" :comparator "i;ascii-numeric" "3" {
+	if not test_error :count "eq" :comparator "i;ascii-numeric" "2" {
 		test_fail "wrong number of errors reported";
 	}
 }
diff --git a/tests/extensions/include/errors/variables.sieve b/tests/extensions/include/errors/variables.sieve
index eac99f8c8..7b29ff256 100644
--- a/tests/extensions/include/errors/variables.sieve
+++ b/tests/extensions/include/errors/variables.sieve
@@ -10,14 +10,7 @@ keep;
 # Global after command not being require or global (not an error)
 global "friep";
 
-# DEPRECATED: import/export after command not being require or import/export
-export "friep";
-import "friep";
-
 # Marking local variable as global
 set "frutsels" "frop";
 global "frutsels";
 set "frutsels" "frop";
-
-
-
-- 
GitLab