From 495393c53d4eeaee4ddb429aa71e9b9b249209db Mon Sep 17 00:00:00 2001
From: Timo Sirainen <timo.sirainen@dovecot.fi>
Date: Fri, 6 May 2016 17:40:25 +0300
Subject: [PATCH] Adjusted to changes in Dovecot lib-dict API.

---
 src/lib-sieve/storage/dict/sieve-dict-script.c  | 14 +++++++-------
 src/lib-sieve/storage/dict/sieve-dict-storage.c |  7 +++++--
 2 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/src/lib-sieve/storage/dict/sieve-dict-script.c b/src/lib-sieve/storage/dict/sieve-dict-script.c
index 1e72ea53a..c3e43787a 100644
--- a/src/lib-sieve/storage/dict/sieve-dict-script.c
+++ b/src/lib-sieve/storage/dict/sieve-dict-script.c
@@ -71,7 +71,7 @@ static int sieve_dict_script_open
 	struct sieve_dict_storage *dstorage =
 		(struct sieve_dict_storage *)storage;
 	const char *name = script->name;
-	const char *path, *data_id;
+	const char *path, *data_id, *error;
 	int ret;
 
 	if ( sieve_dict_storage_get_dict
@@ -82,11 +82,11 @@ static int sieve_dict_script_open
 		(DICT_SIEVE_NAME_PATH, dict_escape_string(name), NULL);
 
 	ret = dict_lookup
-		(dscript->dict, script->pool, path, &data_id);
+		(dscript->dict, script->pool, path, &data_id, &error);
 	if ( ret <= 0 ) {
 		if ( ret < 0 ) {
 			sieve_script_set_critical(script,
-				"Failed to lookup script id from path %s", path);
+				"Failed to lookup script id from path %s: %s", path, error);
 			*error_r = SIEVE_ERROR_TEMP_FAILURE;
 		} else {
 			sieve_script_sys_debug(script,
@@ -109,7 +109,7 @@ static int sieve_dict_script_get_stream
 {
 	struct sieve_dict_script *dscript =
 		(struct sieve_dict_script *)script;
-	const char *path, *name = script->name, *data;
+	const char *path, *name = script->name, *data, *error;
 	int ret;
 
 	dscript->data_pool =
@@ -119,13 +119,13 @@ static int sieve_dict_script_get_stream
 		(DICT_SIEVE_DATA_PATH, dict_escape_string(dscript->data_id), NULL);
 
 	ret = dict_lookup
-		(dscript->dict, dscript->data_pool, path, &data);
+		(dscript->dict, dscript->data_pool, path, &data, &error);
 	if ( ret <= 0 ) {
 		if ( ret < 0 ) {
 			sieve_script_set_critical(script,
 				"Failed to lookup data with id `%s' "
-				"for script `%s' from path %s",
-				dscript->data_id, name, path);
+				"for script `%s' from path %s: %s",
+				dscript->data_id, name, path, error);
 		} else {
 			sieve_script_set_critical(script,
 				"Data with id `%s' for script `%s' "
diff --git a/src/lib-sieve/storage/dict/sieve-dict-storage.c b/src/lib-sieve/storage/dict/sieve-dict-storage.c
index 902563d09..2a82a6437 100644
--- a/src/lib-sieve/storage/dict/sieve-dict-storage.c
+++ b/src/lib-sieve/storage/dict/sieve-dict-storage.c
@@ -88,12 +88,15 @@ int sieve_dict_storage_get_dict
 {
 	struct sieve_storage *storage = &dstorage->storage;
 	struct sieve_instance *svinst = storage->svinst;
+	struct dict_settings dict_set;
 	const char *error;
 	int ret;
 
 	if ( dstorage->dict == NULL ) {
-		ret = dict_init(dstorage->uri, DICT_DATA_TYPE_STRING,
-			dstorage->username, svinst->base_dir, &dstorage->dict, &error);
+		memset(&dict_set, 0, sizeof(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 ) {
 			sieve_storage_set_critical(storage,
 				"Failed to initialize dict with data `%s' for user `%s': %s",
-- 
GitLab