From 2bb479d488f97c9f59d16ef5fe594be20e396f89 Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan.bosch@dovecot.fi>
Date: Mon, 11 Mar 2019 00:19:09 +0100
Subject: [PATCH] lib-sieve: sieve-error - Remove prefix support from master
 error handler.

---
 src/lib-sieve/sieve-error.c                   | 34 +++++--------------
 src/lib-sieve/sieve-error.h                   |  2 +-
 .../doveadm-sieve-cmd-activate.c              |  2 +-
 .../doveadm-sieve/doveadm-sieve-cmd-put.c     |  2 +-
 .../imap-filter-sieve/imap-filter-sieve.c     |  2 +-
 src/plugins/imapsieve/imap-sieve.c            |  2 +-
 src/plugins/lda-sieve/lda-sieve-plugin.c      |  3 +-
 7 files changed, 15 insertions(+), 32 deletions(-)

diff --git a/src/lib-sieve/sieve-error.c b/src/lib-sieve/sieve-error.c
index cecbdec5c..3c4068743 100644
--- a/src/lib-sieve/sieve-error.c
+++ b/src/lib-sieve/sieve-error.c
@@ -60,7 +60,7 @@ sieve_error_script_location(const struct sieve_script *script,
 
 void sieve_errors_init(struct sieve_instance *svinst)
 {
-	svinst->system_ehandler = sieve_master_ehandler_create(svinst, NULL, 0);
+	svinst->system_ehandler = sieve_master_ehandler_create(svinst, 0);
 }
 
 void sieve_errors_deinit(struct sieve_instance *svinst)
@@ -580,22 +580,14 @@ void sieve_error_handler_reset(struct sieve_error_handler *ehandler)
  * - Output errors directly to Dovecot master log
  */
 
-struct sieve_master_ehandler {
-	struct sieve_error_handler handler;
-
-	const char *prefix;
-};
-
 typedef void (*master_log_func_t)(const char *fmt, ...) ATTR_FORMAT(1, 2);
 
 static void ATTR_FORMAT(4, 0)
-sieve_master_logv(struct sieve_error_handler *_ehandler,
+sieve_master_logv(struct sieve_error_handler *ehandler ATTR_UNUSED,
 		  const struct sieve_error_params *params,
 		  enum sieve_error_flags flags ATTR_UNUSED,
 		  const char *fmt, va_list args)
 {
-	struct sieve_master_ehandler *ehandler =
-		(struct sieve_master_ehandler *) _ehandler;
 	master_log_func_t log_func;
 	string_t *str;
 
@@ -617,38 +609,30 @@ sieve_master_logv(struct sieve_error_handler *_ehandler,
 	}
 
 	str = t_str_new(256);
-	if (ehandler->prefix != NULL)
-		str_printfa(str, "%s: ", ehandler->prefix);
-
 	str_append(str, "sieve: ");
 
 	if (params->location != NULL && *params->location != '\0')
 		str_printfa(str, "%s: ", params->location);
-
 	str_vprintfa(str, fmt, args);
 
 	log_func("%s", str_c(str));
 }
 
 struct sieve_error_handler *
-sieve_master_ehandler_create(struct sieve_instance *svinst, const char *prefix,
+sieve_master_ehandler_create(struct sieve_instance *svinst,
 			     unsigned int max_errors)
 {
+	struct sieve_error_handler *ehandler;
 	pool_t pool;
-	struct sieve_master_ehandler *ehandler;
 
 	pool = pool_alloconly_create("master_error_handler", 256);
-	ehandler = p_new(pool, struct sieve_master_ehandler, 1);
-	sieve_error_handler_init(&ehandler->handler, svinst, pool, max_errors);
-
-	ehandler->handler.logv = sieve_master_logv;
-
-	if (prefix != NULL)
-		ehandler->prefix = p_strdup(pool, prefix);
+	ehandler = p_new(pool, struct sieve_error_handler, 1);
+	sieve_error_handler_init(ehandler, svinst, pool, max_errors);
+	ehandler->log_debug = svinst->debug;
 
-	ehandler->handler.log_debug = svinst->debug;
+	ehandler->logv = sieve_master_logv;
 
-	return &ehandler->handler;
+	return ehandler;
 }
 
 /*
diff --git a/src/lib-sieve/sieve-error.h b/src/lib-sieve/sieve-error.h
index 564b70440..f27988fb6 100644
--- a/src/lib-sieve/sieve-error.h
+++ b/src/lib-sieve/sieve-error.h
@@ -188,7 +188,7 @@ void sieve_error_handler_reset(struct sieve_error_handler *ehandler);
 
 /* Write errors to dovecot master log */
 struct sieve_error_handler *
-sieve_master_ehandler_create(struct sieve_instance *svinst, const char *prefix,
+sieve_master_ehandler_create(struct sieve_instance *svinst,
 			     unsigned int max_errors);
 
 /* Write errors to stderr */
diff --git a/src/plugins/doveadm-sieve/doveadm-sieve-cmd-activate.c b/src/plugins/doveadm-sieve/doveadm-sieve-cmd-activate.c
index c5cb0b44c..f392478f5 100644
--- a/src/plugins/doveadm-sieve/doveadm-sieve-cmd-activate.c
+++ b/src/plugins/doveadm-sieve/doveadm-sieve-cmd-activate.c
@@ -46,7 +46,7 @@ cmd_sieve_activate_run(struct doveadm_sieve_cmd_context *_ctx)
 		enum sieve_error error;
 
 		/* Compile */
-		ehandler = sieve_master_ehandler_create(ctx->ctx.svinst, NULL, 0);
+		ehandler = sieve_master_ehandler_create(ctx->ctx.svinst, 0);
 		if ( (sbin=sieve_compile_script
 			(script, ehandler, cpflags, &error)) == NULL ) {
 			doveadm_sieve_cmd_failed_error(_ctx, error);
diff --git a/src/plugins/doveadm-sieve/doveadm-sieve-cmd-put.c b/src/plugins/doveadm-sieve/doveadm-sieve-cmd-put.c
index dec89e824..ef9472d61 100644
--- a/src/plugins/doveadm-sieve/doveadm-sieve-cmd-put.c
+++ b/src/plugins/doveadm-sieve/doveadm-sieve-cmd-put.c
@@ -89,7 +89,7 @@ static int cmd_sieve_put_run
 				cpflags |= SIEVE_COMPILE_FLAG_ACTIVATED;
 
 			/* Compile */
-			ehandler = sieve_master_ehandler_create(ctx->ctx.svinst, NULL, 0);
+			ehandler = sieve_master_ehandler_create(ctx->ctx.svinst, 0);
 			if ( (sbin=sieve_compile_script
 				(script, ehandler, cpflags, &error)) == NULL ) {
 				doveadm_sieve_cmd_failed_error(_ctx, error);
diff --git a/src/plugins/imap-filter-sieve/imap-filter-sieve.c b/src/plugins/imap-filter-sieve/imap-filter-sieve.c
index 362c7dcc7..6723bb4e6 100644
--- a/src/plugins/imap-filter-sieve/imap-filter-sieve.c
+++ b/src/plugins/imap-filter-sieve/imap-filter-sieve.c
@@ -100,7 +100,7 @@ imap_filter_sieve_get_svinst(struct imap_filter_sieve_context *sctx)
 				     ifsuser, debug);
 
 	ifsuser->master_ehandler =
-		sieve_master_ehandler_create(ifsuser->svinst, NULL, 0); // FIXME: prefix?
+		sieve_master_ehandler_create(ifsuser->svinst, 0);
 	sieve_system_ehandler_set(ifsuser->master_ehandler);
 	sieve_error_handler_accept_infolog(ifsuser->master_ehandler, TRUE);
 	sieve_error_handler_accept_debuglog(ifsuser->master_ehandler, debug);
diff --git a/src/plugins/imapsieve/imap-sieve.c b/src/plugins/imapsieve/imap-sieve.c
index 1aea02896..663e24a21 100644
--- a/src/plugins/imapsieve/imap-sieve.c
+++ b/src/plugins/imapsieve/imap-sieve.c
@@ -98,7 +98,7 @@ struct imap_sieve *imap_sieve_init(struct client *client)
 		isieve->svinst, &vnd_imapsieve_extension, TRUE);
 
 	isieve->master_ehandler =
-		sieve_master_ehandler_create(isieve->svinst, NULL, 0); // FIXME: prefix?
+		sieve_master_ehandler_create(isieve->svinst, 0);
 	sieve_system_ehandler_set(isieve->master_ehandler);
 	sieve_error_handler_accept_infolog(isieve->master_ehandler, TRUE);
 	sieve_error_handler_accept_debuglog(isieve->master_ehandler, debug);
diff --git a/src/plugins/lda-sieve/lda-sieve-plugin.c b/src/plugins/lda-sieve/lda-sieve-plugin.c
index 151b94a2f..3785812a1 100644
--- a/src/plugins/lda-sieve/lda-sieve-plugin.c
+++ b/src/plugins/lda-sieve/lda-sieve-plugin.c
@@ -966,8 +966,7 @@ lda_sieve_deliver_mail(struct mail_deliver_context *mdctx,
 
 	/* Initialize master error handler */
 
-	srctx.master_ehandler =
-		sieve_master_ehandler_create(srctx.svinst, NULL, 0);
+	srctx.master_ehandler = sieve_master_ehandler_create(srctx.svinst, 0);
 	sieve_system_ehandler_set(srctx.master_ehandler);
 
 	sieve_error_handler_accept_infolog(srctx.master_ehandler, TRUE);
-- 
GitLab