]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
global: Set dict_settings.event_parent when possible
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Wed, 3 Feb 2021 23:01:42 +0000 (01:01 +0200)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Tue, 23 Mar 2021 07:40:58 +0000 (07:40 +0000)
src/auth/db-dict.c
src/auth/db-oauth2.c
src/lib-fs/fs-dict.c
src/lib-storage/index/index-attribute.c
src/plugins/acl/acl-lookup-dict.c
src/plugins/last-login/last-login-plugin.c
src/plugins/notify-status/notify-status-plugin.c
src/plugins/quota-clone/quota-clone-plugin.c
src/plugins/quota/quota-dict.c
src/plugins/quota/quota.c

index 502e2f3a8671782566fd0e53348cd5abd9510692..779ac4360a77ac35b353b47071d3121e6833ce3a 100644 (file)
@@ -311,6 +311,7 @@ struct dict_connection *db_dict_init(const char *config_path)
        i_zero(&dict_set);
        dict_set.username = "";
        dict_set.base_dir = global_auth_settings->base_dir;
+       dict_set.event_parent = auth_event;
        if (dict_init(conn->set.uri, &dict_set, &conn->dict, &error) < 0)
                i_fatal("dict %s: Failed to init dict: %s", config_path, error);
 
index 9d79a2698294950876873d92e6ea138c26a849fb..32a1b4def6cb1ed7cdeda21d98ca062438920a84 100644 (file)
@@ -1,6 +1,6 @@
 /* Copyright (c) 2017-2018 Dovecot authors, see the included COPYING file */
 
-#include "lib.h"
+#include "auth-common.h"
 #include "array.h"
 #include "str.h"
 #include "var-expand.h"
@@ -287,6 +287,7 @@ struct db_oauth2 *db_oauth2_init(const char *config_path)
                        .username = "",
                        .base_dir = global_auth_settings->base_dir,
                        .value_type = DICT_DATA_TYPE_STRING,
+                       .event_parent = auth_event,
                };
                if (dict_init(db->set.local_validation_key_dict, &dict_set,
                              &db->oauth2_set.key_dict, &error) < 0)
index 62a9215516c7f56ad8bae0f46608186a11aebc9a..aa82d124afaf9dca76e87c403f7cdbfd5ac16cd9 100644 (file)
@@ -74,6 +74,7 @@ fs_dict_init(struct fs *_fs, const char *args, const struct fs_settings *set,
        i_zero(&dict_set);
        dict_set.username = set->username;
        dict_set.base_dir = set->base_dir;
+       dict_set.event_parent = set->event;
 
        if (dict_init(p, &dict_set, &fs->dict, &error) < 0) {
                *error_r = t_strdup_printf("dict_init(%s) failed: %s",
index 3cebdf94e1d5c8c8c6144fb647212c3ac76bfb4d..8aef8c89c71226855014f9320ee05dc0ea2bb98f 100644 (file)
@@ -65,6 +65,7 @@ index_storage_get_user_dict(struct mail_storage *err_storage,
        i_zero(&dict_set);
        dict_set.username = user->username;
        dict_set.base_dir = user->set->base_dir;
+       dict_set.event_parent = user->event;
        if (dict_init(attr_storage->set->mail_attribute_dict, &dict_set,
                      &user->_attr_dict, &error) < 0) {
                mail_storage_set_critical(err_storage,
@@ -133,6 +134,7 @@ index_storage_get_dict(struct mailbox *box, enum mail_attribute_type type_flags,
        i_zero(&set);
        set.username = storage->user->username;
        set.base_dir = storage->user->set->base_dir;
+       set.event_parent = storage->user->event;
        if (mail_user_get_home(storage->user, &set.home_dir) <= 0)
                set.home_dir = NULL;
        if (dict_init(storage->set->mail_attribute_dict, &set,
index 15e5317f80b57901fa53c6b27891a1632774ca85..fa990d7ed77690520a1852387b029c899ab63844 100644 (file)
@@ -46,6 +46,7 @@ struct acl_lookup_dict *acl_lookup_dict_init(struct mail_user *user)
                i_zero(&dict_set);
                dict_set.username = "";
                dict_set.base_dir = user->set->base_dir;
+               dict_set.event_parent = user->event;
                if (dict_init(uri, &dict_set, &dict->dict, &error) < 0)
                        i_error("acl: dict_init(%s) failed: %s", uri, error);
        } else {
index 11cea2bed5b271d6f3cb771a78a5bba43afa968d..e1e1ccd5ace7467deecfcb7a7b07e094212e02bd 100644 (file)
@@ -96,6 +96,7 @@ static void last_login_mail_user_created(struct mail_user *user)
        i_zero(&set);
        set.username = user->username;
        set.base_dir = user->set->base_dir;
+       set.event_parent = user->event;
        if (mail_user_get_home(user, &set.home_dir) <= 0)
                set.home_dir = NULL;
        if (dict_init(dict_value, &set, &dict, &error) < 0) {
index b56428758c436ad432e25062493e34799b0d25a8..83bddb92cacb2a7a380cc254b6035801bbe942f5 100644 (file)
@@ -54,6 +54,7 @@ static int notify_status_dict_init(struct mail_user *user, const char *uri,
        struct dict_settings set = {
                .username = user->username,
                .base_dir = user->set->base_dir,
+               .event_parent = user->event,
        };
        (void)mail_user_get_home(user, &set.home_dir);
        if (dict_init(uri, &set, dict_r, error_r) < 0) {
index c05716abb26ad1ba056c101a9831b7a51ec67fe5..8d46c13ecc260432076f862937a085480a9f4220 100644 (file)
@@ -274,6 +274,7 @@ static void quota_clone_mail_user_created(struct mail_user *user)
        i_zero(&dict_set);
        dict_set.username = user->username;
        dict_set.base_dir = user->set->base_dir;
+       dict_set.event_parent = user->event;
        (void)mail_user_get_home(user, &dict_set.home_dir);
        if (dict_init(uri, &dict_set, &dict, &error) < 0) {
                i_error("quota_clone_dict: Failed to initialize '%s': %s",
index d8b12defeecb8de7aa5629de251756d67a82b895..10f608f09fa2f7f189b2645b719f24b5c5af0806 100644 (file)
@@ -73,6 +73,7 @@ static int dict_quota_init(struct quota_root *_root, const char *args,
        i_zero(&set);
        set.username = username;
        set.base_dir = _root->quota->user->set->base_dir;
+       set.event_parent = _root->quota->user->event;
        if (mail_user_get_home(_root->quota->user, &set.home_dir) <= 0)
                set.home_dir = NULL;
        if (dict_init(args, &set, &root->dict, &error) < 0) {
index ef58e71838c7af36e951eac94aee4d8205da41b7..dda981196bf9f971d922108fabbca30a17501869 100644 (file)
@@ -856,6 +856,7 @@ int quota_set_resource(struct quota_root *root, const char *name,
                i_zero(&set);
                set.username = root->quota->user->username;
                set.base_dir = root->quota->user->set->base_dir;
+               set.event_parent = root->quota->user->event;
                if (mail_user_get_home(root->quota->user, &set.home_dir) <= 0)
                        set.home_dir = NULL;
                if (dict_init(root->set->limit_set, &set,