From c0fc84f6e473e9b64c42997b770844799ec0a6ad Mon Sep 17 00:00:00 2001
From: Timo Sirainen <timo.sirainen@open-xchange.com>
Date: Sun, 27 Feb 2022 21:23:25 +0100
Subject: [PATCH] global: Adjust to mail_user_alloc() and
 raw_storage_create_from_set() API changes

---
 src/lib-sieve-tool/sieve-tool.c     | 5 ++---
 src/lib-sieve/sieve-message.c       | 5 +----
 src/lib-sieve/util/edit-mail.c      | 7 ++-----
 src/lib-sieve/util/mail-raw.c       | 8 ++------
 src/lib-sieve/util/mail-raw.h       | 2 +-
 src/lib-sieve/util/test-edit-mail.c | 3 +--
 src/testsuite/testsuite-mailstore.c | 3 +--
 7 files changed, 10 insertions(+), 23 deletions(-)

diff --git a/src/lib-sieve-tool/sieve-tool.c b/src/lib-sieve-tool/sieve-tool.c
index b034b1657..80309d60e 100644
--- a/src/lib-sieve-tool/sieve-tool.c
+++ b/src/lib-sieve-tool/sieve-tool.c
@@ -359,8 +359,7 @@ void sieve_tool_init_mail_user(struct sieve_tool *tool,
 	const char *home = NULL, *errstr = NULL;
 
 	tool->mail_user = mail_user_alloc(NULL, username,
-					  mail_user_dovecot->set_info,
-					  mail_user_dovecot->unexpanded_set);
+					  mail_user_dovecot->unexpanded_set_parser);
 
 	if ((home = sieve_tool_get_homedir(sieve_tool)) != NULL)
 		mail_user_set_home(tool->mail_user, home);
@@ -380,7 +379,7 @@ static void sieve_tool_init_mail_raw_user(struct sieve_tool *tool)
 {
 	if (tool->mail_raw_user == NULL) {
 		tool->mail_raw_user = mail_raw_user_create(
-			master_service, tool->mail_user_dovecot);
+			tool->mail_user_dovecot);
 	}
 }
 
diff --git a/src/lib-sieve/sieve-message.c b/src/lib-sieve/sieve-message.c
index 17398d67f..eedf43284 100644
--- a/src/lib-sieve/sieve-message.c
+++ b/src/lib-sieve/sieve-message.c
@@ -343,11 +343,8 @@ int sieve_message_substitute
 	i_assert(input->blocking);
 
 	if ( msgctx->raw_mail_user == NULL ) {
-		const struct mail_user_settings *user_set =
-			master_service_settings_get_root_set(master_service,
-				&mail_user_setting_parser_info);
 		msgctx->raw_mail_user =
-			raw_storage_create_from_set(mail_user->set_info, user_set);
+			raw_storage_create_from_set(mail_user->unexpanded_set_parser);
 	}
 
 	i_stream_seek(input, 0);
diff --git a/src/lib-sieve/util/edit-mail.c b/src/lib-sieve/util/edit-mail.c
index 04b03c39d..9cbafa1db 100644
--- a/src/lib-sieve/util/edit-mail.c
+++ b/src/lib-sieve/util/edit-mail.c
@@ -48,11 +48,8 @@ static unsigned int edit_mail_refcount = 0;
 static struct mail_user *edit_mail_raw_storage_get(struct mail_user *mail_user)
 {
 	if (edit_mail_user == NULL) {
-		const struct mail_user_settings *user_set =
-			master_service_settings_get_root_set(master_service,
-				&mail_user_setting_parser_info);
-		edit_mail_user = raw_storage_create_from_set(
-			mail_user->set_info, user_set);
+		edit_mail_user =
+			raw_storage_create_from_set(mail_user->unexpanded_set_parser);
 	}
 
 	edit_mail_refcount++;
diff --git a/src/lib-sieve/util/mail-raw.c b/src/lib-sieve/util/mail-raw.c
index d9729a9fb..74b252c77 100644
--- a/src/lib-sieve/util/mail-raw.c
+++ b/src/lib-sieve/util/mail-raw.c
@@ -134,13 +134,9 @@ static struct istream *mail_raw_create_stream
  * Init/Deinit
  */
 
-struct mail_user *mail_raw_user_create
-(struct master_service *service, struct mail_user *mail_user)
+struct mail_user *mail_raw_user_create(struct mail_user *mail_user)
 {
-	const struct mail_user_settings *user_set =
-		master_service_settings_get_root_set(service,
-			&mail_user_setting_parser_info);
-	return raw_storage_create_from_set(mail_user->set_info, user_set);
+	return raw_storage_create_from_set(mail_user->unexpanded_set_parser);
 }
 
 /*
diff --git a/src/lib-sieve/util/mail-raw.h b/src/lib-sieve/util/mail-raw.h
index a942d06d1..5f3b4f0de 100644
--- a/src/lib-sieve/util/mail-raw.h
+++ b/src/lib-sieve/util/mail-raw.h
@@ -13,7 +13,7 @@ struct mail_raw {
 };
 
 struct mail_user *mail_raw_user_create
-	(struct master_service *service, struct mail_user *mail_user);
+	(struct mail_user *mail_user);
 
 struct mail_raw *mail_raw_open_stream
 	(struct mail_user *ruser, struct istream *input);
diff --git a/src/lib-sieve/util/test-edit-mail.c b/src/lib-sieve/util/test-edit-mail.c
index a6623ff10..0ead824c8 100644
--- a/src/lib-sieve/util/test-edit-mail.c
+++ b/src/lib-sieve/util/test-edit-mail.c
@@ -102,8 +102,7 @@ static void test_init(void)
 	test_pool = pool_alloconly_create(MEMPOOL_GROWING"test pool", 128);
 
 	test_init_mail_user();
-	test_raw_mail_user =
-		mail_raw_user_create(master_service, test_mail_user);
+	test_raw_mail_user = mail_raw_user_create(test_mail_user);
 }
 
 static void test_deinit(void)
diff --git a/src/testsuite/testsuite-mailstore.c b/src/testsuite/testsuite-mailstore.c
index 7762d5004..2bcf70d76 100644
--- a/src/testsuite/testsuite-mailstore.c
+++ b/src/testsuite/testsuite-mailstore.c
@@ -79,8 +79,7 @@ void testsuite_mailstore_init(void)
 	
 	mail_user_dovecot = sieve_tool_get_mail_user(sieve_tool);
 	mail_user = mail_user_alloc(NULL, "testsuite-mail-user@example.org",
-				    mail_user_dovecot->set_info,
-				    mail_user_dovecot->unexpanded_set);
+				    mail_user_dovecot->unexpanded_set_parser);
 	mail_user->autocreated = TRUE;
 	if (t_get_working_dir(&cwd, &error) < 0)
 		i_fatal("Failed to get working directory: %s", error);
-- 
GitLab