diff --git a/src/lib-sieve/storage/dict/sieve-dict-script.c b/src/lib-sieve/storage/dict/sieve-dict-script.c index 4868254ef21355f6a088170d88b56a0c5f281f7c..61bc31d6cd19d177f8fdcd87c951bdda026bea82 100644 --- a/src/lib-sieve/storage/dict/sieve-dict-script.c +++ b/src/lib-sieve/storage/dict/sieve-dict-script.c @@ -66,6 +66,7 @@ sieve_dict_script_open(struct sieve_script *script, enum sieve_error *error_code_r) { struct sieve_storage *storage = script->storage; + struct sieve_instance *svinst = storage->svinst; struct sieve_dict_script *dscript = container_of(script, struct sieve_dict_script, script); struct sieve_dict_storage *dstorage = @@ -82,7 +83,7 @@ sieve_dict_script_open(struct sieve_script *script, dict_escape_string(name), NULL); struct dict_op_settings set = { - .username = dstorage->username, + .username = svinst->username, }; ret = dict_lookup(dscript->dict, &set, script->pool, path, &data_id, &error); @@ -113,10 +114,9 @@ sieve_dict_script_get_stream(struct sieve_script *script, enum sieve_error *error_code_r) { struct sieve_storage *storage = script->storage; + struct sieve_instance *svinst = storage->svinst; struct sieve_dict_script *dscript = container_of(script, struct sieve_dict_script, script); - struct sieve_dict_storage *dstorage = - container_of(storage, struct sieve_dict_storage, storage); const char *path, *name = script->name, *data, *error; int ret; @@ -127,7 +127,7 @@ sieve_dict_script_get_stream(struct sieve_script *script, dict_escape_string(dscript->data_id), NULL); struct dict_op_settings set = { - .username = dstorage->username, + .username = svinst->username, }; ret = dict_lookup(dscript->dict, &set, dscript->data_pool, path, &data, &error); diff --git a/src/lib-sieve/storage/dict/sieve-dict-storage.c b/src/lib-sieve/storage/dict/sieve-dict-storage.c index cd8a72d78a7e20032ff1ca00acd5846be7a43481..07617e29b878a56b56212e00238af651c67c7ab9 100644 --- a/src/lib-sieve/storage/dict/sieve-dict-storage.c +++ b/src/lib-sieve/storage/dict/sieve-dict-storage.c @@ -34,7 +34,7 @@ sieve_dict_storage_init(struct sieve_storage *storage, struct sieve_dict_storage *dstorage = container_of(storage, struct sieve_dict_storage, storage); struct sieve_instance *svinst = storage->svinst; - const char *value, *uri = storage->location, *username = NULL; + const char *value, *uri = storage->location; if (options != NULL) { while (*options != NULL) { @@ -42,7 +42,7 @@ sieve_dict_storage_init(struct sieve_storage *storage, if (str_begins_icase(option, "user=", &value) && *value != '\0') { - username = option+5; + /* Ignore */ } else { sieve_storage_set_critical( storage, "Invalid option '%s'", option); @@ -54,9 +54,6 @@ sieve_dict_storage_init(struct sieve_storage *storage, } } - if (username == NULL) - username = svinst->username; - if (svinst->base_dir == NULL) { sieve_storage_set_critical( storage, @@ -65,14 +62,13 @@ sieve_dict_storage_init(struct sieve_storage *storage, return -1; } - e_debug(storage->event, "user=%s, uri=%s", username, uri); + e_debug(storage->event, "user=%s, uri=%s", svinst->username, uri); dstorage->uri = p_strdup(storage->pool, uri); - dstorage->username = p_strdup(storage->pool, username); storage->location = p_strconcat( storage->pool, SIEVE_DICT_STORAGE_DRIVER_NAME, ":", - storage->location, ";user=", username, NULL); + storage->location, ";user=", svinst->username, NULL); return 0; } @@ -96,7 +92,7 @@ sieve_dict_storage_get_dict(struct sieve_dict_storage *dstorage, if (ret < 0) { sieve_storage_set_critical(storage, "Failed to initialize dict with data '%s' for user '%s': %s", - dstorage->uri, dstorage->username, error); + dstorage->uri, svinst->username, error); *error_code_r = SIEVE_ERROR_TEMP_FAILURE; return -1; } diff --git a/src/lib-sieve/storage/dict/sieve-dict-storage.h b/src/lib-sieve/storage/dict/sieve-dict-storage.h index 4e72d6a3fd549a70737eb0b9325cbcc2eaf74813..f6f61413a8612583786f0164d3645e8e2e2c997b 100644 --- a/src/lib-sieve/storage/dict/sieve-dict-storage.h +++ b/src/lib-sieve/storage/dict/sieve-dict-storage.h @@ -18,7 +18,6 @@ struct sieve_dict_storage { struct sieve_storage storage; - const char *username; const char *uri; struct dict *dict;