From 0d801b23493aeb3df6a11cf51246853b82fc76b7 Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan.bosch@open-xchange.com>
Date: Sat, 9 Nov 2024 15:12:48 +0100
Subject: [PATCH] global: Drop useless casts to void *

---
 src/lib-sieve/cmd-redirect.c                              | 2 +-
 src/lib-sieve/cmp-i-octet.c                               | 6 +++---
 src/lib-sieve/ext-envelope.c                              | 2 +-
 src/lib-sieve/ext-reject.c                                | 2 +-
 src/lib-sieve/plugins/date/ext-date-common.c              | 2 +-
 src/lib-sieve/plugins/duplicate/ext-duplicate-common.c    | 6 +++---
 src/lib-sieve/plugins/editheader/cmd-deleteheader.c       | 2 +-
 src/lib-sieve/plugins/editheader/ext-editheader-common.c  | 2 +-
 src/lib-sieve/plugins/enotify/cmd-notify.c                | 2 +-
 src/lib-sieve/plugins/enotify/ext-enotify-common.c        | 2 +-
 src/lib-sieve/plugins/enotify/ext-enotify.c               | 2 +-
 src/lib-sieve/plugins/enotify/mailto/ntfy-mailto.c        | 4 ++--
 .../plugins/environment/ext-environment-common.c          | 2 +-
 src/lib-sieve/plugins/ihave/ext-ihave-common.c            | 2 +-
 src/lib-sieve/plugins/imap4flags/tag-flags.c              | 2 +-
 src/lib-sieve/plugins/include/cmd-global.c                | 2 +-
 src/lib-sieve/plugins/include/ext-include-common.c        | 8 ++++----
 src/lib-sieve/plugins/include/ext-include-variables.c     | 2 +-
 src/lib-sieve/plugins/index/tag-index.c                   | 6 +++---
 src/lib-sieve/plugins/mailbox/tst-mailboxexists.c         | 2 +-
 src/lib-sieve/plugins/metadata/tst-metadataexists.c       | 2 +-
 src/lib-sieve/plugins/mime/cmd-extracttext.c              | 2 +-
 src/lib-sieve/plugins/mime/cmd-foreverypart.c             | 2 +-
 src/lib-sieve/plugins/mime/ext-extracttext.c              | 2 +-
 src/lib-sieve/plugins/mime/tag-mime.c                     | 4 ++--
 src/lib-sieve/plugins/regex/mcht-regex.c                  | 4 ++--
 .../plugins/spamvirustest/ext-spamvirustest-common.c      | 4 ++--
 src/lib-sieve/plugins/special-use/tag-specialuse.c        | 2 +-
 src/lib-sieve/plugins/special-use/tst-specialuse-exists.c | 2 +-
 src/lib-sieve/plugins/subaddress/ext-subaddress.c         | 2 +-
 src/lib-sieve/plugins/vacation/cmd-vacation.c             | 2 +-
 src/lib-sieve/plugins/vacation/ext-vacation-common.c      | 2 +-
 src/lib-sieve/plugins/variables/cmd-set.c                 | 2 +-
 src/lib-sieve/plugins/variables/ext-variables-arguments.c | 4 ++--
 src/lib-sieve/plugins/variables/ext-variables-common.c    | 8 ++++----
 .../plugins/variables/ext-variables-namespaces.c          | 2 +-
 .../environment/ext-vnd-environment-variables.c           | 2 +-
 .../plugins/vnd.dovecot/environment/ext-vnd-environment.c | 2 +-
 src/lib-sieve/plugins/vnd.dovecot/report/cmd-report.c     | 2 +-
 .../plugins/vnd.dovecot/report/ext-vnd-report-common.c    | 2 +-
 src/lib-sieve/sieve-actions.c                             | 8 ++++----
 src/lib-sieve/sieve-binary-code.c                         | 4 ++--
 src/lib-sieve/sieve-code.c                                | 2 +-
 src/lib-sieve/sieve-commands.c                            | 4 ++--
 src/lib-sieve/sieve-match-types.c                         | 2 +-
 src/lib-sieve/sieve-message.c                             | 2 +-
 src/lib-sieve/storage/ldap/sieve-ldap-db.c                | 6 +++---
 src/lib-sieve/util/mail-raw.c                             | 2 +-
 src/lib-sieve/util/test-edit-mail.c                       | 8 ++++----
 src/managesieve/managesieve-client.c                      | 2 +-
 src/plugins/doveadm-sieve/doveadm-sieve-cmd.c             | 2 +-
 src/plugins/imap-filter-sieve/imap-filter-sieve.c         | 3 +--
 src/plugins/imapsieve/sieve-imapsieve-plugin.c            | 2 +-
 src/plugins/lda-sieve/lda-sieve-plugin.c                  | 6 +++---
 src/plugins/sieve-extprograms/cmd-pipe.c                  | 4 ++--
 src/plugins/sieve-extprograms/ext-execute.c               | 2 +-
 src/plugins/sieve-extprograms/ext-filter.c                | 2 +-
 src/plugins/sieve-extprograms/ext-pipe.c                  | 2 +-
 src/plugins/sieve-extprograms/sieve-extprograms-common.c  | 2 +-
 src/plugins/sieve-extprograms/sieve-extprograms-plugin.c  | 2 +-
 src/sieve-tools/sieve-test.c                              | 2 +-
 src/testsuite/testsuite-objects.c                         | 2 +-
 src/testsuite/testsuite-smtp.c                            | 2 +-
 src/testsuite/testsuite-substitutions.c                   | 2 +-
 src/testsuite/testsuite-variables.c                       | 2 +-
 65 files changed, 95 insertions(+), 96 deletions(-)

diff --git a/src/lib-sieve/cmd-redirect.c b/src/lib-sieve/cmd-redirect.c
index 57a1554af..28a798c9e 100644
--- a/src/lib-sieve/cmd-redirect.c
+++ b/src/lib-sieve/cmd-redirect.c
@@ -367,7 +367,7 @@ act_redirect_send(const struct sieve_action_exec_env *aenv, struct mail *mail,
 	input = i_stream_create_header_filter(
 		input, HEADER_FILTER_EXCLUDE | HEADER_FILTER_NO_CR,
 		hide_headers, N_ELEMENTS(hide_headers),
-		*null_header_filter_callback, (void *)NULL);
+		*null_header_filter_callback, NULL);
 
 	T_BEGIN {
 		string_t *hdr = t_str_new(256);
diff --git a/src/lib-sieve/cmp-i-octet.c b/src/lib-sieve/cmp-i-octet.c
index 450d49472..3e84a48fa 100644
--- a/src/lib-sieve/cmp-i-octet.c
+++ b/src/lib-sieve/cmp-i-octet.c
@@ -55,17 +55,17 @@ cmp_i_octet_compare(const struct sieve_comparator *cmp ATTR_UNUSED,
 	int result;
 
 	if (val1_size == val2_size)
-		return memcmp((void *) val1, (void *) val2, val1_size);
+		return memcmp(val1, val2, val1_size);
 
 	if (val1_size > val2_size) {
-		result = memcmp((void *) val1, (void *) val2, val2_size);
+		result = memcmp(val1, val2, val2_size);
 
 		if (result == 0)
 			return 1;
 		return result;
 	}
 
-	result = memcmp((void *) val1, (void *) val2, val1_size);
+	result = memcmp(val1, val2, val1_size);
 
 	if (result == 0)
 		return -1;
diff --git a/src/lib-sieve/ext-envelope.c b/src/lib-sieve/ext-envelope.c
index 9bb022ca3..9556da205 100644
--- a/src/lib-sieve/ext-envelope.c
+++ b/src/lib-sieve/ext-envelope.c
@@ -597,7 +597,7 @@ tst_envelope_validate(struct sieve_validator *valdtr, struct sieve_command *tst)
 	 *   FIXME: verify dynamic envelope parts at runtime
 	 */
 	epart = arg;
-	if (sieve_ast_stringlist_map(&epart, (void *) &not_address,
+	if (sieve_ast_stringlist_map(&epart, &not_address,
 				     _envelope_part_is_supported) <= 0) {
 		i_assert(epart != NULL);
 		sieve_argument_validate_error(
diff --git a/src/lib-sieve/ext-reject.c b/src/lib-sieve/ext-reject.c
index 9ff7c758c..1267d4ef2 100644
--- a/src/lib-sieve/ext-reject.c
+++ b/src/lib-sieve/ext-reject.c
@@ -426,7 +426,7 @@ ext_reject_operation_execute(const struct sieve_runtime_env *renv,
 
 	if (sieve_result_add_action(renv, this_ext,
 				    (act->ereject ? "ereject" : "reject"),
-				    &act_reject, slist, (void *)act,
+				    &act_reject, slist, act,
 				    0, FALSE) < 0)
 		return SIEVE_EXEC_FAILURE;
 	return SIEVE_EXEC_OK;
diff --git a/src/lib-sieve/plugins/date/ext-date-common.c b/src/lib-sieve/plugins/date/ext-date-common.c
index f2c2d9c87..40bbdbe38 100644
--- a/src/lib-sieve/plugins/date/ext-date-common.c
+++ b/src/lib-sieve/plugins/date/ext-date-common.c
@@ -52,7 +52,7 @@ ext_date_runtime_init(const struct sieve_extension *ext,
 	dctx->current_date = current_date;
 	dctx->zone_offset = zone_offset;
 
-	sieve_message_context_extension_set(renv->msgctx, ext, (void *)dctx);
+	sieve_message_context_extension_set(renv->msgctx, ext, dctx);
 	return SIEVE_EXEC_OK;
 }
 
diff --git a/src/lib-sieve/plugins/duplicate/ext-duplicate-common.c b/src/lib-sieve/plugins/duplicate/ext-duplicate-common.c
index 9138589d1..b7f081d53 100644
--- a/src/lib-sieve/plugins/duplicate/ext-duplicate-common.c
+++ b/src/lib-sieve/plugins/duplicate/ext-duplicate-common.c
@@ -49,7 +49,7 @@ bool ext_duplicate_load(const struct sieve_extension *ext, void **context)
 	config->default_period = default_period;
 	config->max_period = max_period;
 
-	*context = (void *) config;
+	*context = config;
 	return TRUE;
 }
 
@@ -209,7 +209,7 @@ int ext_duplicate_check(const struct sieve_runtime_env *renv, string_t *handle,
 		msg_pool = sieve_message_context_pool(renv->msgctx);
 		rctx = p_new(msg_pool, struct ext_duplicate_context, 1);
 		sieve_message_context_extension_set(renv->msgctx, this_ext,
-						    (void *)rctx);
+						    rctx);
 	} else if (array_is_created(&rctx->hashes)) {
 		struct ext_duplicate_hash *record;
 
@@ -270,7 +270,7 @@ int ext_duplicate_check(const struct sieve_runtime_env *renv, string_t *handle,
 	if (!duplicate || last) {
 		if (sieve_result_add_action(renv, NULL, NULL,
 					    &act_duplicate_mark,
-					    NULL, (void *) act, 0, FALSE) < 0)
+					    NULL, act, 0, FALSE) < 0)
 			return SIEVE_EXEC_FAILURE;
 	}
 
diff --git a/src/lib-sieve/plugins/editheader/cmd-deleteheader.c b/src/lib-sieve/plugins/editheader/cmd-deleteheader.c
index 4b8051c27..d262aca4d 100644
--- a/src/lib-sieve/plugins/editheader/cmd-deleteheader.c
+++ b/src/lib-sieve/plugins/editheader/cmd-deleteheader.c
@@ -156,7 +156,7 @@ cmd_deleteheader_get_context
 
 	ctx_data = p_new(sieve_command_pool(cmd),
 			 struct cmd_deleteheader_context_data, 1);
-	cmd->data = (void *)ctx_data;
+	cmd->data = ctx_data;
 
 	return ctx_data;
 }
diff --git a/src/lib-sieve/plugins/editheader/ext-editheader-common.c b/src/lib-sieve/plugins/editheader/ext-editheader-common.c
index 094ceac59..6eb70d700 100644
--- a/src/lib-sieve/plugins/editheader/ext-editheader-common.c
+++ b/src/lib-sieve/plugins/editheader/ext-editheader-common.c
@@ -139,7 +139,7 @@ bool ext_editheader_load(const struct sieve_extension *ext, void **context)
 		}
 	} T_END;
 
-	*context = (void *)ext_config;
+	*context = ext_config;
 	return TRUE;
 }
 
diff --git a/src/lib-sieve/plugins/enotify/cmd-notify.c b/src/lib-sieve/plugins/enotify/cmd-notify.c
index 4e0503389..28b5f7666 100644
--- a/src/lib-sieve/plugins/enotify/cmd-notify.c
+++ b/src/lib-sieve/plugins/enotify/cmd-notify.c
@@ -504,7 +504,7 @@ cmd_notify_operation_execute(const struct sieve_runtime_env *renv,
 
 		if (sieve_result_add_action(renv, this_ext, "notify",
 					    &act_notify, slist,
-					    (void *)act, 0, FALSE) < 0)
+					    act, 0, FALSE) < 0)
 			return SIEVE_EXEC_FAILURE;
 
 		return SIEVE_EXEC_OK;
diff --git a/src/lib-sieve/plugins/enotify/ext-enotify-common.c b/src/lib-sieve/plugins/enotify/ext-enotify-common.c
index 7efb2bad8..ab6c38dc4 100644
--- a/src/lib-sieve/plugins/enotify/ext-enotify-common.c
+++ b/src/lib-sieve/plugins/enotify/ext-enotify-common.c
@@ -469,7 +469,7 @@ bool ext_enotify_compile_check_arguments(struct sieve_validator *valdtr,
 
 		/* Parse and check options */
 		result = (sieve_ast_stringlist_map(
-			&option, (void *) &optn_context,
+			&option, &optn_context,
 			_ext_enotify_option_check) > 0);
 
 		/* Discard argument if options are not accepted by method */
diff --git a/src/lib-sieve/plugins/enotify/ext-enotify.c b/src/lib-sieve/plugins/enotify/ext-enotify.c
index 95751736a..de0861bed 100644
--- a/src/lib-sieve/plugins/enotify/ext-enotify.c
+++ b/src/lib-sieve/plugins/enotify/ext-enotify.c
@@ -64,7 +64,7 @@ static bool ext_enotify_load(const struct sieve_extension *ext, void **context)
 
 	ectx = i_new(struct ext_enotify_context, 1);
 	ectx->var_ext = sieve_ext_variables_get_extension(ext->svinst);
-	*context = (void *)ectx;
+	*context = ectx;
 
 	ext_enotify_methods_init(ext->svinst, ectx);
 
diff --git a/src/lib-sieve/plugins/enotify/mailto/ntfy-mailto.c b/src/lib-sieve/plugins/enotify/mailto/ntfy-mailto.c
index 0234db970..6636f6110 100644
--- a/src/lib-sieve/plugins/enotify/mailto/ntfy-mailto.c
+++ b/src/lib-sieve/plugins/enotify/mailto/ntfy-mailto.c
@@ -177,7 +177,7 @@ ntfy_mailto_load(const struct sieve_enotify_method *nmth, void **context)
 		svinst, config->pool, "sieve_notify_mailto_envelope_from",
 		&config->envelope_from);
 
-	*context = (void *)config;
+	*context = config;
 	return TRUE;
 }
 
@@ -360,7 +360,7 @@ ntfy_mailto_runtime_check_operands(const struct sieve_enotify_env *nenv,
 		return FALSE;
 
 	mtctx->uri = parsed_uri;
-	*method_context = (void *)mtctx;
+	*method_context = mtctx;
 	return TRUE;
 }
 
diff --git a/src/lib-sieve/plugins/environment/ext-environment-common.c b/src/lib-sieve/plugins/environment/ext-environment-common.c
index 4b344be90..c7f5f625a 100644
--- a/src/lib-sieve/plugins/environment/ext-environment-common.c
+++ b/src/lib-sieve/plugins/environment/ext-environment-common.c
@@ -68,7 +68,7 @@ ext_environment_interpreter_context_create(
 
 	sieve_interpreter_extension_register(interp, this_ext,
 					     &environment_interpreter_extension,
-					     (void *)ctx);
+					     ctx);
 	return ctx;
 }
 
diff --git a/src/lib-sieve/plugins/ihave/ext-ihave-common.c b/src/lib-sieve/plugins/ihave/ext-ihave-common.c
index cb7a9e02d..3163d10b2 100644
--- a/src/lib-sieve/plugins/ihave/ext-ihave-common.c
+++ b/src/lib-sieve/plugins/ihave/ext-ihave-common.c
@@ -29,7 +29,7 @@ ext_ihave_get_ast_context(const struct sieve_extension *this_ext,
 	actx = p_new(pool, struct ext_ihave_ast_context, 1);
 	p_array_init(&actx->missing_extensions, pool, 64);
 
-	sieve_ast_extension_set_context(ast, this_ext, (void *) actx);
+	sieve_ast_extension_set_context(ast, this_ext, actx);
 	return actx;
 }
 
diff --git a/src/lib-sieve/plugins/imap4flags/tag-flags.c b/src/lib-sieve/plugins/imap4flags/tag-flags.c
index 331063d53..0083aa2ac 100644
--- a/src/lib-sieve/plugins/imap4flags/tag-flags.c
+++ b/src/lib-sieve/plugins/imap4flags/tag-flags.c
@@ -300,7 +300,7 @@ seff_flags_do_read_context(const struct sieve_side_effect *seffect,
 	if (ret < 0)
 		return flag_list->exec_status;
 
-	*se_context = (void *)ctx;
+	*se_context = ctx;
 	return SIEVE_EXEC_OK;
 }
 
diff --git a/src/lib-sieve/plugins/include/cmd-global.c b/src/lib-sieve/plugins/include/cmd-global.c
index c28d48e58..ad8821e91 100644
--- a/src/lib-sieve/plugins/include/cmd-global.c
+++ b/src/lib-sieve/plugins/include/cmd-global.c
@@ -69,7 +69,7 @@ _create_variable_argument(struct sieve_command *cmd,
 	struct sieve_argument *argument =
 		sieve_argument_create(cmd->ast_node->ast, NULL, cmd->ext, 0);
 
-	argument->data = (void *)var;
+	argument->data = var;
 	return argument;
 }
 
diff --git a/src/lib-sieve/plugins/include/ext-include-common.c b/src/lib-sieve/plugins/include/ext-include-common.c
index 114a4f625..2a5416aa5 100644
--- a/src/lib-sieve/plugins/include/ext-include-common.c
+++ b/src/lib-sieve/plugins/include/ext-include-common.c
@@ -110,7 +110,7 @@ bool ext_include_load(const struct sieve_extension *ext, void **context)
 	/* Extension dependencies */
 	ctx->var_ext = sieve_ext_variables_get_extension(ext->svinst);
 
-	*context = (void *)ctx;
+	*context = ctx;
 	return TRUE;
 }
 
@@ -228,7 +228,7 @@ ext_include_create_ast_context(const struct sieve_extension *this_ext,
 	}
 
 	sieve_ast_extension_register(ast, this_ext, &include_ast_extension,
-				     (void *)actx);
+				     actx);
 	return actx;
 }
 
@@ -327,7 +327,7 @@ void ext_include_register_generator_context(
 			sieve_script_name(cgenv->script), cgenv->script);
 
 		sieve_generator_extension_set_context(
-			cgenv->gentr, this_ext, (void *)ctx);
+			cgenv->gentr, this_ext, ctx);
 	}
 
 	/* Initialize ast context if necessary */
@@ -445,7 +445,7 @@ void ext_include_interpreter_context_init(
 
 		sieve_interpreter_extension_register(
 			interp, this_ext, &include_interpreter_extension,
-			(void *)ctx);
+			ctx);
 	}
 }
 
diff --git a/src/lib-sieve/plugins/include/ext-include-variables.c b/src/lib-sieve/plugins/include/ext-include-variables.c
index f10b7eaa5..2f5903ede 100644
--- a/src/lib-sieve/plugins/include/ext-include-variables.c
+++ b/src/lib-sieve/plugins/include/ext-include-variables.c
@@ -230,7 +230,7 @@ vnspc_global_variables_validate(struct sieve_validator *valdtr,
 		return FALSE;
 	}
 
-	*var_data = (void *)var;
+	*var_data = var;
 	return TRUE;
 }
 
diff --git a/src/lib-sieve/plugins/index/tag-index.c b/src/lib-sieve/plugins/index/tag-index.c
index 2921804b9..85b32cf83 100644
--- a/src/lib-sieve/plugins/index/tag-index.c
+++ b/src/lib-sieve/plugins/index/tag-index.c
@@ -116,7 +116,7 @@ tag_index_validate(struct sieve_validator *valdtr ATTR_UNUSED,
 
 	if (tag->argument->data == NULL) {
 		data = p_new(sieve_command_pool(cmd), struct tag_index_data, 1);
-		tag->argument->data = (void *)data;
+		tag->argument->data = data;
 	} else {
 		data = (struct tag_index_data *)tag->argument->data;
 	}
@@ -156,7 +156,7 @@ tag_last_validate(struct sieve_validator *valdtr ATTR_UNUSED,
 	/* Set :last flag */
 	if (index_arg->argument->data == NULL) {
 		data = p_new(sieve_command_pool(cmd), struct tag_index_data, 1);
-		index_arg->argument->data = (void *)data;
+		index_arg->argument->data = data;
 	} else {
 		data = (struct tag_index_data *)index_arg->argument->data;
 	}
@@ -252,7 +252,7 @@ svmo_index_read_context(const struct sieve_message_override *svmo ATTR_UNUSED,
 	ctx->fieldno = fieldno;
 	ctx->last = (last == 0 ? FALSE : TRUE);
 
-	*ho_context = (void *)ctx;
+	*ho_context = ctx;
 	return SIEVE_EXEC_OK;
 }
 
diff --git a/src/lib-sieve/plugins/mailbox/tst-mailboxexists.c b/src/lib-sieve/plugins/mailbox/tst-mailboxexists.c
index 0d96980fa..4225e3f1b 100644
--- a/src/lib-sieve/plugins/mailbox/tst-mailboxexists.c
+++ b/src/lib-sieve/plugins/mailbox/tst-mailboxexists.c
@@ -114,7 +114,7 @@ tst_mailboxexists_validate(struct sieve_validator *valdtr,
 	valctx.tst = tst;
 
 	return (sieve_ast_stringlist_map(
-		&aarg, (void *)&valctx,
+		&aarg, &valctx,
 		tst_mailboxexists_mailbox_validate) >= 0);
 }
 
diff --git a/src/lib-sieve/plugins/metadata/tst-metadataexists.c b/src/lib-sieve/plugins/metadata/tst-metadataexists.c
index 2719d1962..624833688 100644
--- a/src/lib-sieve/plugins/metadata/tst-metadataexists.c
+++ b/src/lib-sieve/plugins/metadata/tst-metadataexists.c
@@ -182,7 +182,7 @@ tst_metadataexists_validate(struct sieve_validator *valdtr,
 	valctx.tst = tst;
 
 	return (sieve_ast_stringlist_map(
-		&aarg, (void *)&valctx,
+		&aarg, &valctx,
 		tst_metadataexists_annotation_validate) >= 0);
 }
 
diff --git a/src/lib-sieve/plugins/mime/cmd-extracttext.c b/src/lib-sieve/plugins/mime/cmd-extracttext.c
index 800738913..8f3b4d436 100644
--- a/src/lib-sieve/plugins/mime/cmd-extracttext.c
+++ b/src/lib-sieve/plugins/mime/cmd-extracttext.c
@@ -159,7 +159,7 @@ cmd_extracttext_validate(struct sieve_validator *valdtr,
 	/* Create command context */
 	sctx = p_new(pool, struct cmd_extracttext_context, 1);
 	p_array_init(&sctx->modifiers, pool, 4);
-	cmd->data = (void *) sctx;
+	cmd->data = sctx;
 
 	/* Validate modifiers */
 	if (!sieve_variables_modifiers_validate(valdtr, cmd, &sctx->modifiers))
diff --git a/src/lib-sieve/plugins/mime/cmd-foreverypart.c b/src/lib-sieve/plugins/mime/cmd-foreverypart.c
index f30a2d771..2e0206c0a 100644
--- a/src/lib-sieve/plugins/mime/cmd-foreverypart.c
+++ b/src/lib-sieve/plugins/mime/cmd-foreverypart.c
@@ -313,7 +313,7 @@ static int cmd_foreverypart_begin_operation_execute
 	}
 	fploop->part = sieve_message_part_iter_current(&fploop->part_iter);
 	if (fploop->part != NULL) {
-		sieve_interpreter_loop_set_context(loop, (void *)fploop);
+		sieve_interpreter_loop_set_context(loop, fploop);
 	} else {
 		/* No children parts to iterate */
 		sieve_runtime_trace(renv, SIEVE_TRLVL_COMMANDS,
diff --git a/src/lib-sieve/plugins/mime/ext-extracttext.c b/src/lib-sieve/plugins/mime/ext-extracttext.c
index 86d826523..5e80ea3a5 100644
--- a/src/lib-sieve/plugins/mime/ext-extracttext.c
+++ b/src/lib-sieve/plugins/mime/ext-extracttext.c
@@ -59,7 +59,7 @@ ext_extracttext_load(const struct sieve_extension *ext, void **context)
 	ectx->var_ext = sieve_ext_variables_get_extension(ext->svinst);
 	ectx->fep_ext = sieve_extension_register(
 		svinst, &foreverypart_extension, FALSE);
-	*context = (void *)ectx;
+	*context = ectx;
 	return TRUE;
 }
 
diff --git a/src/lib-sieve/plugins/mime/tag-mime.c b/src/lib-sieve/plugins/mime/tag-mime.c
index ff646c54a..066e3a4bc 100644
--- a/src/lib-sieve/plugins/mime/tag-mime.c
+++ b/src/lib-sieve/plugins/mime/tag-mime.c
@@ -127,7 +127,7 @@ tag_mime_get_data(struct sieve_command *cmd, struct sieve_ast_argument *tag)
 
 	if (tag->argument->data == NULL) {
 		data = p_new(sieve_command_pool(cmd), struct tag_mime_data, 1);
-		tag->argument->data = (void *)data;
+		tag->argument->data = data;
 	} else {
 		data = (struct tag_mime_data *)tag->argument->data;
 	}
@@ -613,7 +613,7 @@ svmo_mime_read_context(const struct sieve_message_override *svmo ATTR_UNUSED,
 		return param_list->exec_status;
 	}
 
-	*ho_context = (void *) ctx;
+	*ho_context = ctx;
 	return SIEVE_EXEC_OK;
 }
 
diff --git a/src/lib-sieve/plugins/regex/mcht-regex.c b/src/lib-sieve/plugins/regex/mcht-regex.c
index 2079bc5af..0a96a68aa 100644
--- a/src/lib-sieve/plugins/regex/mcht-regex.c
+++ b/src/lib-sieve/plugins/regex/mcht-regex.c
@@ -162,7 +162,7 @@ mcht_regex_validate_context(struct sieve_validator *valdtr,
 	keyctx.cflags = cflags;
 
 	kitem = key_arg;
-	if (sieve_ast_stringlist_map(&kitem, (void *) &keyctx,
+	if (sieve_ast_stringlist_map(&kitem, &keyctx,
 				     mcht_regex_validate_key_argument) <= 0)
 		return FALSE;
 
@@ -204,7 +204,7 @@ static void mcht_regex_match_init(struct sieve_match_context *mctx)
 	}
 
 	/* Assign context */
-	mctx->data = (void *) ctx;
+	mctx->data = ctx;
 }
 
 static int
diff --git a/src/lib-sieve/plugins/spamvirustest/ext-spamvirustest-common.c b/src/lib-sieve/plugins/spamvirustest/ext-spamvirustest-common.c
index 78ae3cc86..cf6d1d8b0 100644
--- a/src/lib-sieve/plugins/spamvirustest/ext-spamvirustest-common.c
+++ b/src/lib-sieve/plugins/spamvirustest/ext-spamvirustest-common.c
@@ -408,7 +408,7 @@ bool ext_spamvirustest_load(const struct sieve_extension *ext, void **context)
 	}
 
 	if (result) {
-		*context = (void *) ext_data;
+		*context = ext_data;
 	} else {
 		e_warning(svinst->event, "%s: "
 			  "extension not configured, "
@@ -503,7 +503,7 @@ int ext_spamvirustest_get_value(const struct sieve_runtime_env *renv,
 	if (mctx == NULL) {
 		/* Create new context */
 		mctx = p_new(pool, struct ext_spamvirustest_message_context, 1);
-		sieve_message_context_extension_set(msgctx, ext, (void *)mctx);
+		sieve_message_context_extension_set(msgctx, ext, mctx);
 	} else if (mctx->reload == ext_data->reload) {
 		/* Use cached result */
 		*value_r = ext_spamvirustest_get_score(ext, mctx->score_ratio,
diff --git a/src/lib-sieve/plugins/special-use/tag-specialuse.c b/src/lib-sieve/plugins/special-use/tag-specialuse.c
index 7a3850d73..3a9d2a880 100644
--- a/src/lib-sieve/plugins/special-use/tag-specialuse.c
+++ b/src/lib-sieve/plugins/special-use/tag-specialuse.c
@@ -208,7 +208,7 @@ seff_specialuse_read_context(
 	ctx = p_new(pool, struct seff_specialuse_context, 1);
 	ctx->special_use_flag = p_strdup(pool, use_flag);
 
-	*se_context = (void *) ctx;
+	*se_context = ctx;
 
 	return SIEVE_EXEC_OK;
 }
diff --git a/src/lib-sieve/plugins/special-use/tst-specialuse-exists.c b/src/lib-sieve/plugins/special-use/tst-specialuse-exists.c
index c0c572a0d..f3fa890a7 100644
--- a/src/lib-sieve/plugins/special-use/tst-specialuse-exists.c
+++ b/src/lib-sieve/plugins/special-use/tst-specialuse-exists.c
@@ -179,7 +179,7 @@ tst_specialuse_exists_validate(struct sieve_validator *valdtr,
 	valctx.tst = tst;
 
 	return (sieve_ast_stringlist_map(
-		&aarg, (void *)&valctx,
+		&aarg, &valctx,
 		tst_specialuse_exists_flag_validate) >= 0);
 }
 
diff --git a/src/lib-sieve/plugins/subaddress/ext-subaddress.c b/src/lib-sieve/plugins/subaddress/ext-subaddress.c
index 490720777..5e286d696 100644
--- a/src/lib-sieve/plugins/subaddress/ext-subaddress.c
+++ b/src/lib-sieve/plugins/subaddress/ext-subaddress.c
@@ -80,7 +80,7 @@ ext_subaddress_load(const struct sieve_extension *ext, void **context)
 	config = i_new(struct ext_subaddress_config, 1);
 	config->delimiter = i_strdup(delim);
 
-	*context = (void *) config;
+	*context = config;
 	return TRUE;
 }
 
diff --git a/src/lib-sieve/plugins/vacation/cmd-vacation.c b/src/lib-sieve/plugins/vacation/cmd-vacation.c
index a02916dfc..002c3fa92 100644
--- a/src/lib-sieve/plugins/vacation/cmd-vacation.c
+++ b/src/lib-sieve/plugins/vacation/cmd-vacation.c
@@ -752,7 +752,7 @@ ext_vacation_operation_execute(const struct sieve_runtime_env *renv,
 	}
 
 	if (sieve_result_add_action(renv, this_ext, "vacation", &act_vacation,
-				    slist, (void *)act, 0, FALSE) < 0)
+				    slist, act, 0, FALSE) < 0)
 		return SIEVE_EXEC_FAILURE;
 
 	return SIEVE_EXEC_OK;
diff --git a/src/lib-sieve/plugins/vacation/ext-vacation-common.c b/src/lib-sieve/plugins/vacation/ext-vacation-common.c
index 13ca156eb..b3de7ca52 100644
--- a/src/lib-sieve/plugins/vacation/ext-vacation-common.c
+++ b/src/lib-sieve/plugins/vacation/ext-vacation-common.c
@@ -80,7 +80,7 @@ bool ext_vacation_load(const struct sieve_extension *ext, void **context)
 	config->send_from_recipient = send_from_recipient;
 	config->to_header_ignore_envelope = to_header_ignore_envelope;
 
-	*context = (void *)config;
+	*context = config;
 	return TRUE;
 }
 
diff --git a/src/lib-sieve/plugins/variables/cmd-set.c b/src/lib-sieve/plugins/variables/cmd-set.c
index 2e7b9b415..583c2f6ac 100644
--- a/src/lib-sieve/plugins/variables/cmd-set.c
+++ b/src/lib-sieve/plugins/variables/cmd-set.c
@@ -103,7 +103,7 @@ cmd_set_validate(struct sieve_validator *valdtr, struct sieve_command *cmd)
 	/* Create command context */
 	sctx = p_new(pool, struct cmd_set_context, 1);
 	p_array_init(&sctx->modifiers, pool, 4);
-	cmd->data = (void *) sctx;
+	cmd->data = sctx;
 
 	/* Validate modifiers */
 	if (!sieve_variables_modifiers_validate(valdtr, cmd, &sctx->modifiers))
diff --git a/src/lib-sieve/plugins/variables/ext-variables-arguments.c b/src/lib-sieve/plugins/variables/ext-variables-arguments.c
index 9cbc16593..6b12e9358 100644
--- a/src/lib-sieve/plugins/variables/ext-variables-arguments.c
+++ b/src/lib-sieve/plugins/variables/ext-variables-arguments.c
@@ -59,7 +59,7 @@ ext_variables_variable_argument_activate(const struct sieve_extension *var_ext,
 
 	arg->argument = sieve_argument_create(ast, &variable_argument,
 					      this_ext, 0);
-	arg->argument->data = (void *) var;
+	arg->argument->data = var;
 	return TRUE;
 }
 
@@ -132,7 +132,7 @@ ext_variables_match_value_argument_activate(
 
 	arg->argument = sieve_argument_create(ast, &match_value_argument,
 					      this_ext, 0);
-	arg->argument->data = (void *)POINTER_CAST(index);
+	arg->argument->data = POINTER_CAST(index);
 	return TRUE;
 }
 
diff --git a/src/lib-sieve/plugins/variables/ext-variables-common.c b/src/lib-sieve/plugins/variables/ext-variables-common.c
index 18142c2e7..f40540326 100644
--- a/src/lib-sieve/plugins/variables/ext-variables-common.c
+++ b/src/lib-sieve/plugins/variables/ext-variables-common.c
@@ -95,7 +95,7 @@ bool ext_variables_load(const struct sieve_extension *ext, void **context)
 		}
 	}
 
-	*context = (void *)config;
+	*context = config;
 	return TRUE;
 }
 
@@ -687,7 +687,7 @@ ext_variables_create_local_scope(const struct sieve_extension *this_ext,
 	scope = sieve_variable_scope_create(this_ext->svinst, this_ext, NULL);
 
 	sieve_ast_extension_register(ast, this_ext, &variables_ast_extension,
-				     (void *)scope);
+				     scope);
 	return scope;
 }
 
@@ -719,7 +719,7 @@ ext_variables_validator_context_create(const struct sieve_extension *this_ext,
 	ctx->namespaces = sieve_validator_object_registry_create(valdtr);
 	ctx->local_scope = ext_variables_create_local_scope(this_ext, ast);
 
-	sieve_validator_extension_set_context(valdtr, this_ext, (void *)ctx);
+	sieve_validator_extension_set_context(valdtr, this_ext, ctx);
 	return ctx;
 }
 
@@ -873,7 +873,7 @@ ext_variables_interpreter_context_create(
 
 	sieve_interpreter_extension_register(interp, this_ext,
 					     &variables_interpreter_extension,
-					     (void *)ctx);
+					     ctx);
 	return ctx;
 }
 
diff --git a/src/lib-sieve/plugins/variables/ext-variables-namespaces.c b/src/lib-sieve/plugins/variables/ext-variables-namespaces.c
index 7375bd3e5..70d0b9792 100644
--- a/src/lib-sieve/plugins/variables/ext-variables-namespaces.c
+++ b/src/lib-sieve/plugins/variables/ext-variables-namespaces.c
@@ -116,7 +116,7 @@ bool ext_variables_namespace_argument_activate(
 
 	arg->argument = sieve_argument_create(ast, &namespace_argument,
 					      this_ext, 0);
-	arg->argument->data = (void *) var;
+	arg->argument->data = var;
 
 	return TRUE;
 }
diff --git a/src/lib-sieve/plugins/vnd.dovecot/environment/ext-vnd-environment-variables.c b/src/lib-sieve/plugins/vnd.dovecot/environment/ext-vnd-environment-variables.c
index e4b45160b..73b6a0d61 100644
--- a/src/lib-sieve/plugins/vnd.dovecot/environment/ext-vnd-environment-variables.c
+++ b/src/lib-sieve/plugins/vnd.dovecot/environment/ext-vnd-environment-variables.c
@@ -93,7 +93,7 @@ vnspc_vnd_environment_validate(
 		return FALSE;
 	}
 
-	*var_data = (void *) p_strdup(sieve_ast_pool(ast), variable);
+	*var_data = p_strdup(sieve_ast_pool(ast), variable);
 	return TRUE;
 }
 
diff --git a/src/lib-sieve/plugins/vnd.dovecot/environment/ext-vnd-environment.c b/src/lib-sieve/plugins/vnd.dovecot/environment/ext-vnd-environment.c
index 774da5180..d4f742707 100644
--- a/src/lib-sieve/plugins/vnd.dovecot/environment/ext-vnd-environment.c
+++ b/src/lib-sieve/plugins/vnd.dovecot/environment/ext-vnd-environment.c
@@ -67,7 +67,7 @@ ext_vnd_environment_load(const struct sieve_extension *ext, void **context)
 	ectx = i_new(struct ext_vnd_environment_context, 1);
 	ectx->env_ext = sieve_ext_environment_require_extension(ext->svinst);
 	ectx->var_ext = sieve_ext_variables_get_extension(ext->svinst);
-	*context = (void *)ectx;
+	*context = ectx;
 	return TRUE;
 }
 
diff --git a/src/lib-sieve/plugins/vnd.dovecot/report/cmd-report.c b/src/lib-sieve/plugins/vnd.dovecot/report/cmd-report.c
index 109d1b36d..7c376dde1 100644
--- a/src/lib-sieve/plugins/vnd.dovecot/report/cmd-report.c
+++ b/src/lib-sieve/plugins/vnd.dovecot/report/cmd-report.c
@@ -381,7 +381,7 @@ cmd_report_operation_execute(const struct sieve_runtime_env *renv,
 	act->to_address = smtp_address_clone(pool, parsed_address);
 
 	if (sieve_result_add_action(renv, this_ext, "report", &act_report, NULL,
-				    (void *)act, 0, TRUE) < 0)
+				    act, 0, TRUE) < 0)
 		return SIEVE_EXEC_FAILURE;
 	return SIEVE_EXEC_OK;
 }
diff --git a/src/lib-sieve/plugins/vnd.dovecot/report/ext-vnd-report-common.c b/src/lib-sieve/plugins/vnd.dovecot/report/ext-vnd-report-common.c
index b79c5a980..0429e6c66 100644
--- a/src/lib-sieve/plugins/vnd.dovecot/report/ext-vnd-report-common.c
+++ b/src/lib-sieve/plugins/vnd.dovecot/report/ext-vnd-report-common.c
@@ -21,7 +21,7 @@ bool ext_report_load(const struct sieve_extension *ext, void **context)
 		svinst, svinst->pool, "sieve_report_from",
 		&config->report_from);
 
-	*context = (void *) config;
+	*context = config;
 	return TRUE;
 }
 
diff --git a/src/lib-sieve/sieve-actions.c b/src/lib-sieve/sieve-actions.c
index 55f0989ce..65a619298 100644
--- a/src/lib-sieve/sieve-actions.c
+++ b/src/lib-sieve/sieve-actions.c
@@ -263,7 +263,7 @@ int sieve_act_store_add_to_result(const struct sieve_runtime_env *renv,
 	act->mailbox = p_strdup(pool, mailbox);
 
 	return sieve_result_add_action(renv, NULL, name, &act_store, seffects,
-				       (void *)act, 0, TRUE);
+				       act, 0, TRUE);
 }
 
 void sieve_act_store_add_flags(const struct sieve_action_exec_env *aenv,
@@ -470,7 +470,7 @@ act_store_start(const struct sieve_action_exec_env *aenv, void **tr_context)
 		trans->error_code = MAIL_ERROR_NONE;
 	}
 
-	*tr_context = (void *)trans;
+	*tr_context = trans;
 
 	switch (trans->error_code) {
 	case MAIL_ERROR_NONE:
@@ -916,7 +916,7 @@ int sieve_act_redirect_add_to_result(const struct sieve_runtime_env *renv,
 	act->to_address = smtp_address_clone(pool, to_address);
 
 	if (sieve_result_add_action(renv, NULL, name, &act_redirect, seffects,
-				    (void *)act, svinst->max_redirects,
+				    act, svinst->max_redirects,
 				    TRUE) < 0)
 		return SIEVE_EXEC_FAILURE;
 
@@ -1029,7 +1029,7 @@ sieve_action_do_reject_mail(const struct sieve_action_exec_env *aenv,
 			input, HEADER_FILTER_EXCLUDE | HEADER_FILTER_NO_CR |
 			       HEADER_FILTER_HIDE_BODY,
 			exclude_headers, N_ELEMENTS(exclude_headers),
-			*null_header_filter_callback, (void *)NULL);
+			*null_header_filter_callback, NULL);
 		o_stream_nsend_istream(output, input);
 		i_stream_unref(&input);
 	}
diff --git a/src/lib-sieve/sieve-binary-code.c b/src/lib-sieve/sieve-binary-code.c
index 0d76ee030..60bcfa109 100644
--- a/src/lib-sieve/sieve-binary-code.c
+++ b/src/lib-sieve/sieve-binary-code.c
@@ -162,7 +162,7 @@ sieve_size_t sieve_binary_emit_cstring(struct sieve_binary_block *sblock,
 				       const char *str)
 {
 	sieve_size_t address =
-		sieve_binary_emit_dynamic_data(sblock, (void *)str,
+		sieve_binary_emit_dynamic_data(sblock, str,
 					       (sieve_size_t)strlen(str));
 
 	_sieve_binary_emit_byte(sblock, 0);
@@ -173,7 +173,7 @@ sieve_size_t sieve_binary_emit_string(struct sieve_binary_block *sblock,
 				      const string_t *str)
 {
 	sieve_size_t address =
-		sieve_binary_emit_dynamic_data(sblock, (void *)str_data(str),
+		sieve_binary_emit_dynamic_data(sblock, str_data(str),
 					       (sieve_size_t)str_len(str));
 
 	_sieve_binary_emit_byte(sblock, 0);
diff --git a/src/lib-sieve/sieve-code.c b/src/lib-sieve/sieve-code.c
index 63fd7108d..108b38c58 100644
--- a/src/lib-sieve/sieve-code.c
+++ b/src/lib-sieve/sieve-code.c
@@ -692,7 +692,7 @@ sieve_opr_stringlist_emit_start(struct sieve_binary_block *sblock,
 
 	/* Give the interpreter an easy way to skip over this string list */
 	*end_offset = sieve_binary_emit_offset(sblock, 0);
-	*context = (void *)end_offset;
+	*context = end_offset;
 
 	/* Emit the length of the list */
 	(void)sieve_binary_emit_unsigned(sblock, listlen);
diff --git a/src/lib-sieve/sieve-commands.c b/src/lib-sieve/sieve-commands.c
index 454b1f618..f8f9c8a4a 100644
--- a/src/lib-sieve/sieve-commands.c
+++ b/src/lib-sieve/sieve-commands.c
@@ -164,7 +164,7 @@ sieve_arg_catenated_string_create(struct sieve_ast_argument *orig_arg)
 
 	catstr = p_new(pool, struct sieve_arg_catenated_string, 1);
 	catstr->str_parts = arglist;
-	(orig_arg)->argument->data = (void *)catstr;
+	(orig_arg)->argument->data = catstr;
 
 	return catstr;
 }
@@ -407,6 +407,6 @@ _verify_header_name_item(void *context, struct sieve_ast_argument *header)
 bool sieve_command_verify_headers_argument(struct sieve_validator *valdtr,
 					   struct sieve_ast_argument *headers)
 {
-	return (sieve_ast_stringlist_map(&headers, (void *)valdtr,
+	return (sieve_ast_stringlist_map(&headers, valdtr,
 					 _verify_header_name_item) >= 0);
 }
diff --git a/src/lib-sieve/sieve-match-types.c b/src/lib-sieve/sieve-match-types.c
index ecdb4a619..200a7e91f 100644
--- a/src/lib-sieve/sieve-match-types.c
+++ b/src/lib-sieve/sieve-match-types.c
@@ -171,7 +171,7 @@ get_interpreter_context(struct sieve_interpreter *interp, bool create)
 
 		sieve_interpreter_extension_register(
 			interp, mcht_ext, &mtch_interpreter_extension,
-			(void *)ctx);
+			ctx);
 	}
 	return ctx;
 }
diff --git a/src/lib-sieve/sieve-message.c b/src/lib-sieve/sieve-message.c
index 995a7cf67..672cf079c 100644
--- a/src/lib-sieve/sieve-message.c
+++ b/src/lib-sieve/sieve-message.c
@@ -1212,7 +1212,7 @@ sieve_message_parts_add_missing(const struct sieve_runtime_env *renv,
 				}
 
 				/* new part */
-				block.part->context = (void *)body_part;
+				block.part->context = body_part;
 
 				if (last_part != NULL) {
 					i_assert(parent != NULL);
diff --git a/src/lib-sieve/storage/ldap/sieve-ldap-db.c b/src/lib-sieve/storage/ldap/sieve-ldap-db.c
index 99c3a45cd..a9f7f05af 100644
--- a/src/lib-sieve/storage/ldap/sieve-ldap-db.c
+++ b/src/lib-sieve/storage/ldap/sieve-ldap-db.c
@@ -112,7 +112,7 @@ static int ldap_get_errno(struct ldap_connection *conn)
 	struct sieve_storage *storage = &conn->lstorage->storage;
 	int ret, err;
 
-	ret = ldap_get_option(conn->ld, LDAP_OPT_ERROR_NUMBER, (void *) &err);
+	ret = ldap_get_option(conn->ld, LDAP_OPT_ERROR_NUMBER, &err);
 	if (ret != LDAP_SUCCESS) {
 		e_error(storage->event, "db: "
 			"Can't get error number: %s",
@@ -130,7 +130,7 @@ const char *ldap_get_error(struct ldap_connection *conn)
 
 	ret = ldap_err2string(ldap_get_errno(conn));
 
-	ldap_get_option(conn->ld, LDAP_OPT_ERROR_STRING, (void *)&str);
+	ldap_get_option(conn->ld, LDAP_OPT_ERROR_STRING, &str);
 	if (str != NULL) {
 		ret = t_strconcat(ret, ", ", str, NULL);
 		ldap_memfree(str);
@@ -655,7 +655,7 @@ static int db_ldap_get_fd(struct ldap_connection *conn)
 	int ret;
 
 	/* Get the connection's fd */
-	ret = ldap_get_option(conn->ld, LDAP_OPT_DESC, (void *)&conn->fd);
+	ret = ldap_get_option(conn->ld, LDAP_OPT_DESC, &conn->fd);
 	if (ret != LDAP_SUCCESS) {
 		e_error(storage->event, "db: Can't get connection fd: %s",
 			ldap_err2string(ret));
diff --git a/src/lib-sieve/util/mail-raw.c b/src/lib-sieve/util/mail-raw.c
index 616d56a06..a2dbc9f6f 100644
--- a/src/lib-sieve/util/mail-raw.c
+++ b/src/lib-sieve/util/mail-raw.c
@@ -126,7 +126,7 @@ mail_raw_create_stream(struct mail_user *ruser, int fd, time_t *mtime_r,
 
 	input_list[0] = input2; input_list[1] = NULL;
 	input = i_stream_create_seekable(input_list, MAIL_MAX_MEMORY_BUFFER,
-					 seekable_fd_callback, (void *)ruser);
+					 seekable_fd_callback, ruser);
 	i_stream_unref(&input2);
 	return input;
 }
diff --git a/src/lib-sieve/util/test-edit-mail.c b/src/lib-sieve/util/test-edit-mail.c
index 285e638a5..ac920ab4a 100644
--- a/src/lib-sieve/util/test-edit-mail.c
+++ b/src/lib-sieve/util/test-edit-mail.c
@@ -280,7 +280,7 @@ static void test_edit_mail_concatenated(void)
 	input_filt = i_stream_create_header_filter(
 		input_mail, (HEADER_FILTER_EXCLUDE | HEADER_FILTER_NO_CR),
 		hide_headers, N_ELEMENTS(hide_headers),
-		*null_header_filter_callback, (void *)NULL);
+		*null_header_filter_callback, NULL);
 	input = i_stream_create_lf(input_filt);
 	i_stream_unref(&input_filt);
 
@@ -307,7 +307,7 @@ static void test_edit_mail_concatenated(void)
 	input_filt = i_stream_create_header_filter(
 		input_mail, (HEADER_FILTER_EXCLUDE | HEADER_FILTER_NO_CR),
 		hide_headers, N_ELEMENTS(hide_headers),
-		*null_header_filter_callback, (void *)NULL);
+		*null_header_filter_callback, NULL);
 	input = i_stream_create_lf(input_filt);
 	i_stream_unref(&input_filt);
 
@@ -384,7 +384,7 @@ static void test_edit_mail_concatenated(void)
 	input_filt = i_stream_create_header_filter(
 		input_mail, (HEADER_FILTER_EXCLUDE | HEADER_FILTER_NO_CR),
 		hide_headers, N_ELEMENTS(hide_headers),
-		*null_header_filter_callback, (void *)NULL);
+		*null_header_filter_callback, NULL);
 	input = i_stream_create_lf(input_filt);
 	i_stream_unref(&input_filt);
 
@@ -410,7 +410,7 @@ static void test_edit_mail_concatenated(void)
 	input_filt = i_stream_create_header_filter(input_mail,
 		HEADER_FILTER_EXCLUDE | HEADER_FILTER_NO_CR, hide_headers,
 		N_ELEMENTS(hide_headers), *null_header_filter_callback,
-		(void *)NULL);
+		NULL);
 	input = i_stream_create_lf(input_filt);
 	i_stream_unref(&input_filt);
 
diff --git a/src/managesieve/managesieve-client.c b/src/managesieve/managesieve-client.c
index 2c07afea6..da18f690f 100644
--- a/src/managesieve/managesieve-client.c
+++ b/src/managesieve/managesieve-client.c
@@ -126,7 +126,7 @@ int client_create(int fd_in, int fd_out, const char *session_id,
 	svenv.flags = SIEVE_FLAG_HOME_RELATIVE;
 
 	svinst = sieve_init(&svenv, &managesieve_sieve_callbacks,
-			    (void *) user, set->mail_debug);
+			    user, set->mail_debug);
 	if (svinst == NULL) {
 		*error_r = "Failed to initialize Sieve interpreter";
 		return -1;
diff --git a/src/plugins/doveadm-sieve/doveadm-sieve-cmd.c b/src/plugins/doveadm-sieve/doveadm-sieve-cmd.c
index 6277d9f5f..f9cec6b7e 100644
--- a/src/plugins/doveadm-sieve/doveadm-sieve-cmd.c
+++ b/src/plugins/doveadm-sieve/doveadm-sieve-cmd.c
@@ -112,7 +112,7 @@ doveadm_sieve_cmd_run(struct doveadm_mail_cmd_context *_ctx,
 	svenv.base_dir = user->set->base_dir;
 	svenv.flags = SIEVE_FLAG_HOME_RELATIVE;
 
-	ctx->svinst = sieve_init(&svenv, &sieve_callbacks, (void *)ctx,
+	ctx->svinst = sieve_init(&svenv, &sieve_callbacks, ctx,
 				 user->set->mail_debug);
 	if (ctx->svinst == NULL)
 		return -1;
diff --git a/src/plugins/imap-filter-sieve/imap-filter-sieve.c b/src/plugins/imap-filter-sieve/imap-filter-sieve.c
index a6cb2e79d..6454ec339 100644
--- a/src/plugins/imap-filter-sieve/imap-filter-sieve.c
+++ b/src/plugins/imap-filter-sieve/imap-filter-sieve.c
@@ -597,8 +597,7 @@ imap_filter_sieve_smtp_start(const struct sieve_script_env *senv,
 
 	i_zero(&submit_input);
 
-	return (void *)smtp_submit_init_simple(&submit_input, smtp_set,
-					       mail_from);
+	return smtp_submit_init_simple(&submit_input, smtp_set, mail_from);
 }
 
 static void
diff --git a/src/plugins/imapsieve/sieve-imapsieve-plugin.c b/src/plugins/imapsieve/sieve-imapsieve-plugin.c
index b4b73025b..fe5111e9b 100644
--- a/src/plugins/imapsieve/sieve-imapsieve-plugin.c
+++ b/src/plugins/imapsieve/sieve-imapsieve-plugin.c
@@ -33,7 +33,7 @@ void sieve_imapsieve_plugin_load(struct sieve_instance *svinst, void **context)
 		"Sieve imapsieve plugin for %s version %s loaded",
 		PIGEONHOLE_NAME, PIGEONHOLE_VERSION_FULL);
 
-	*context = (void *)pctx;
+	*context = pctx;
 }
 
 void sieve_imapsieve_plugin_unload(struct sieve_instance *svinst ATTR_UNUSED,
diff --git a/src/plugins/lda-sieve/lda-sieve-plugin.c b/src/plugins/lda-sieve/lda-sieve-plugin.c
index ef06cff83..1b7c7df44 100644
--- a/src/plugins/lda-sieve/lda-sieve-plugin.c
+++ b/src/plugins/lda-sieve/lda-sieve-plugin.c
@@ -83,8 +83,8 @@ lda_sieve_smtp_start(const struct sieve_script_env *senv,
 
 	i_zero(&submit_input);
 
-	return (void *)smtp_submit_init_simple(&submit_input, dctx->smtp_set,
-					       mail_from);
+	return smtp_submit_init_simple(&submit_input, dctx->smtp_set,
+				       mail_from);
 }
 
 static void
@@ -1014,7 +1014,7 @@ lda_sieve_execute(struct lda_sieve_run_context *srctx,
 	scriptenv.duplicate_check = lda_sieve_duplicate_check;
 	scriptenv.reject_mail = lda_sieve_reject_mail;
 	scriptenv.result_amend_log_message = lda_sieve_result_amend_log_message;
-	scriptenv.script_context = (void *) mdctx;
+	scriptenv.script_context = mdctx;
 	scriptenv.trace_log = trace_log;
 	scriptenv.trace_config = trace_config;
 
diff --git a/src/plugins/sieve-extprograms/cmd-pipe.c b/src/plugins/sieve-extprograms/cmd-pipe.c
index 1c6ff90e2..95f7eaf47 100644
--- a/src/plugins/sieve-extprograms/cmd-pipe.c
+++ b/src/plugins/sieve-extprograms/cmd-pipe.c
@@ -275,7 +275,7 @@ cmd_pipe_operation_execute(const struct sieve_runtime_env *renv,
 	act->try = try;
 
 	if (sieve_result_add_action(renv, this_ext, "pipe", &act_pipe, slist,
-				    (void *)act, 0, TRUE) < 0)
+				    act, 0, TRUE) < 0)
 		return SIEVE_EXEC_FAILURE;
 	return SIEVE_EXEC_OK;
 }
@@ -350,7 +350,7 @@ act_pipe_start(const struct sieve_action_exec_env *aenv, void **tr_context)
 
 	/* Create transaction context */
 	trans = p_new(pool, struct act_pipe_transaction, 1);
-	*tr_context = (void *)trans;
+	*tr_context = trans;
 
 	return SIEVE_EXEC_OK;
 }
diff --git a/src/plugins/sieve-extprograms/ext-execute.c b/src/plugins/sieve-extprograms/ext-execute.c
index 4d7770991..27e89466f 100644
--- a/src/plugins/sieve-extprograms/ext-execute.c
+++ b/src/plugins/sieve-extprograms/ext-execute.c
@@ -53,7 +53,7 @@ static bool ext_execute_load(const struct sieve_extension *ext, void **context)
 		*context = NULL;
 	}
 
-	*context = (void *)sieve_extprograms_config_init(ext);
+	*context = sieve_extprograms_config_init(ext);
 	return TRUE;
 }
 
diff --git a/src/plugins/sieve-extprograms/ext-filter.c b/src/plugins/sieve-extprograms/ext-filter.c
index 1a9efbbf6..183d200d9 100644
--- a/src/plugins/sieve-extprograms/ext-filter.c
+++ b/src/plugins/sieve-extprograms/ext-filter.c
@@ -53,7 +53,7 @@ static bool ext_filter_load(const struct sieve_extension *ext, void **context)
 		*context = NULL;
 	}
 
-	*context = (void *)sieve_extprograms_config_init(ext);
+	*context = sieve_extprograms_config_init(ext);
 	return TRUE;
 }
 
diff --git a/src/plugins/sieve-extprograms/ext-pipe.c b/src/plugins/sieve-extprograms/ext-pipe.c
index db41bdb5f..1473e738c 100644
--- a/src/plugins/sieve-extprograms/ext-pipe.c
+++ b/src/plugins/sieve-extprograms/ext-pipe.c
@@ -53,7 +53,7 @@ static bool ext_pipe_load(const struct sieve_extension *ext, void **context)
 		*context = NULL;
 	}
 
-	*context = (void *)sieve_extprograms_config_init(ext);
+	*context = sieve_extprograms_config_init(ext);
 	return TRUE;
 }
 
diff --git a/src/plugins/sieve-extprograms/sieve-extprograms-common.c b/src/plugins/sieve-extprograms/sieve-extprograms-common.c
index 352090d2e..daa2361b5 100644
--- a/src/plugins/sieve-extprograms/sieve-extprograms-common.c
+++ b/src/plugins/sieve-extprograms/sieve-extprograms-common.c
@@ -302,7 +302,7 @@ bool sieve_extprogram_command_validate(struct sieve_validator *valdtr,
 	actx.valdtr = valdtr;
 	actx.cmd = cmd;
 	stritem = arg;
-	if (sieve_ast_stringlist_map(&stritem, (void *)&actx,
+	if (sieve_ast_stringlist_map(&stritem, &actx,
 				     _arg_validate) <= 0)
 		return FALSE;
 
diff --git a/src/plugins/sieve-extprograms/sieve-extprograms-plugin.c b/src/plugins/sieve-extprograms/sieve-extprograms-plugin.c
index db881ea73..65e5ca63a 100644
--- a/src/plugins/sieve-extprograms/sieve-extprograms-plugin.c
+++ b/src/plugins/sieve-extprograms/sieve-extprograms-plugin.c
@@ -38,7 +38,7 @@ void sieve_extprograms_plugin_load(struct sieve_instance *svinst,
 			PIGEONHOLE_NAME, PIGEONHOLE_VERSION_FULL);
 	}
 
-	*context = (void *)pctx;
+	*context = pctx;
 }
 
 void sieve_extprograms_plugin_unload(struct sieve_instance *svinst ATTR_UNUSED,
diff --git a/src/sieve-tools/sieve-test.c b/src/sieve-tools/sieve-test.c
index 1deb5f198..023b7acde 100644
--- a/src/sieve-tools/sieve-test.c
+++ b/src/sieve-tools/sieve-test.c
@@ -64,7 +64,7 @@ sieve_smtp_start(const struct sieve_script_env *senv ATTR_UNUSED,
 
 	output = o_stream_create_fd(STDOUT_FILENO, (size_t)-1);
 	o_stream_set_no_error_handling(output, TRUE);
-	return (void *)output;
+	return output;
 }
 
 static void
diff --git a/src/testsuite/testsuite-objects.c b/src/testsuite/testsuite-objects.c
index 3a264753a..7c3dfdeda 100644
--- a/src/testsuite/testsuite-objects.c
+++ b/src/testsuite/testsuite-objects.c
@@ -263,7 +263,7 @@ bool testsuite_object_argument_activate(struct sieve_validator *valdtr,
 
 	arg->argument = sieve_argument_create(
 		arg->ast, &testsuite_object_argument, testsuite_ext, 0);
-	arg->argument->data = (void *)ctx;
+	arg->argument->data = ctx;
 	return TRUE;
 }
 
diff --git a/src/testsuite/testsuite-smtp.c b/src/testsuite/testsuite-smtp.c
index 44e6ef657..a7bae6a70 100644
--- a/src/testsuite/testsuite-smtp.c
+++ b/src/testsuite/testsuite-smtp.c
@@ -99,7 +99,7 @@ void *testsuite_smtp_start(const struct sieve_script_env *senv ATTR_UNUSED,
 
 	smtp->output = o_stream_create_fd_autoclose(&fd, (size_t)-1);
 
-	return (void *) smtp;
+	return smtp;
 }
 
 void testsuite_smtp_add_rcpt(const struct sieve_script_env *senv ATTR_UNUSED,
diff --git a/src/testsuite/testsuite-substitutions.c b/src/testsuite/testsuite-substitutions.c
index 942d58ea2..86c71fc28 100644
--- a/src/testsuite/testsuite-substitutions.c
+++ b/src/testsuite/testsuite-substitutions.c
@@ -117,7 +117,7 @@ testsuite_substitution_argument_create(
 
 	arg->argument = sieve_argument_create
 		(ast, &testsuite_substitution_argument, testsuite_ext, 0);
-	arg->argument->data = (void *)tsctx;
+	arg->argument->data = tsctx;
 	return arg;
 }
 
diff --git a/src/testsuite/testsuite-variables.c b/src/testsuite/testsuite-variables.c
index 5082a188c..eb6ed6a14 100644
--- a/src/testsuite/testsuite-variables.c
+++ b/src/testsuite/testsuite-variables.c
@@ -93,7 +93,7 @@ bool testsuite_varnamespace_validate(
 		return FALSE;
 	}
 
-	*var_data = (void *)p_strdup(sieve_ast_pool(ast), variable);
+	*var_data = p_strdup(sieve_ast_pool(ast), variable);
 	return TRUE;
 }
 
-- 
GitLab