From 0aa681284416a8926a9c2dbf74eacbd5d47389b8 Mon Sep 17 00:00:00 2001
From: Siavash Tavakoli <siavash.tavakoli@open-xchange.com>
Date: Mon, 10 May 2021 16:23:45 +0100
Subject: [PATCH] sieve-dict: Adjust to core dict API changes

---
 src/lib-sieve/storage/dict/sieve-dict-script.c  | 12 ++++++++++--
 src/lib-sieve/storage/dict/sieve-dict-storage.c |  1 -
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/lib-sieve/storage/dict/sieve-dict-script.c b/src/lib-sieve/storage/dict/sieve-dict-script.c
index 67850f049..eb28f7d4d 100644
--- a/src/lib-sieve/storage/dict/sieve-dict-script.c
+++ b/src/lib-sieve/storage/dict/sieve-dict-script.c
@@ -81,8 +81,11 @@ static int sieve_dict_script_open
 	path = t_strconcat
 		(DICT_SIEVE_NAME_PATH, dict_escape_string(name), NULL);
 
+	struct dict_op_settings set = {
+		.username = dstorage->username,
+	};
 	ret = dict_lookup
-		(dscript->dict, script->pool, path, &data_id, &error);
+		(dscript->dict, &set, script->pool, path, &data_id, &error);
 	if ( ret <= 0 ) {
 		if ( ret < 0 ) {
 			sieve_script_set_critical(script,
@@ -109,6 +112,8 @@ static int sieve_dict_script_get_stream
 {
 	struct sieve_dict_script *dscript =
 		(struct sieve_dict_script *)script;
+	struct sieve_dict_storage *dstorage =
+		(struct sieve_dict_storage *)script->storage;
 	const char *path, *name = script->name, *data, *error;
 	int ret;
 
@@ -118,8 +123,11 @@ static int sieve_dict_script_get_stream
 	path = t_strconcat
 		(DICT_SIEVE_DATA_PATH, dict_escape_string(dscript->data_id), NULL);
 
+	struct dict_op_settings set = {
+		.username = dstorage->username,
+	};
 	ret = dict_lookup
-		(dscript->dict, dscript->data_pool, path, &data, &error);
+		(dscript->dict, &set, dscript->data_pool, path, &data, &error);
 	if ( ret <= 0 ) {
 		if ( ret < 0 ) {
 			sieve_script_set_critical(script,
diff --git a/src/lib-sieve/storage/dict/sieve-dict-storage.c b/src/lib-sieve/storage/dict/sieve-dict-storage.c
index 371d9fa04..7f508165d 100644
--- a/src/lib-sieve/storage/dict/sieve-dict-storage.c
+++ b/src/lib-sieve/storage/dict/sieve-dict-storage.c
@@ -93,7 +93,6 @@ int sieve_dict_storage_get_dict
 
 	if ( dstorage->dict == NULL ) {
 		i_zero(&dict_set);
-		dict_set.username = dstorage->username;
 		dict_set.base_dir = svinst->base_dir;
 		ret = dict_init(dstorage->uri, &dict_set, &dstorage->dict, &error);
 		if ( ret < 0 ) {
-- 
GitLab