From: Timo Sirainen Date: Wed, 3 Feb 2021 23:01:42 +0000 (+0200) Subject: global: Set dict_settings.event_parent when possible X-Git-Tag: 2.3.15~155 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3d7cd9a60e33754945df042ff95bceb0baa91afd;p=thirdparty%2Fdovecot%2Fcore.git global: Set dict_settings.event_parent when possible --- diff --git a/src/auth/db-dict.c b/src/auth/db-dict.c index 502e2f3a86..779ac4360a 100644 --- a/src/auth/db-dict.c +++ b/src/auth/db-dict.c @@ -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); diff --git a/src/auth/db-oauth2.c b/src/auth/db-oauth2.c index 9d79a26982..32a1b4def6 100644 --- a/src/auth/db-oauth2.c +++ b/src/auth/db-oauth2.c @@ -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) diff --git a/src/lib-fs/fs-dict.c b/src/lib-fs/fs-dict.c index 62a9215516..aa82d124af 100644 --- a/src/lib-fs/fs-dict.c +++ b/src/lib-fs/fs-dict.c @@ -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", diff --git a/src/lib-storage/index/index-attribute.c b/src/lib-storage/index/index-attribute.c index 3cebdf94e1..8aef8c89c7 100644 --- a/src/lib-storage/index/index-attribute.c +++ b/src/lib-storage/index/index-attribute.c @@ -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, diff --git a/src/plugins/acl/acl-lookup-dict.c b/src/plugins/acl/acl-lookup-dict.c index 15e5317f80..fa990d7ed7 100644 --- a/src/plugins/acl/acl-lookup-dict.c +++ b/src/plugins/acl/acl-lookup-dict.c @@ -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 { diff --git a/src/plugins/last-login/last-login-plugin.c b/src/plugins/last-login/last-login-plugin.c index 11cea2bed5..e1e1ccd5ac 100644 --- a/src/plugins/last-login/last-login-plugin.c +++ b/src/plugins/last-login/last-login-plugin.c @@ -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) { diff --git a/src/plugins/notify-status/notify-status-plugin.c b/src/plugins/notify-status/notify-status-plugin.c index b56428758c..83bddb92ca 100644 --- a/src/plugins/notify-status/notify-status-plugin.c +++ b/src/plugins/notify-status/notify-status-plugin.c @@ -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) { diff --git a/src/plugins/quota-clone/quota-clone-plugin.c b/src/plugins/quota-clone/quota-clone-plugin.c index c05716abb2..8d46c13ecc 100644 --- a/src/plugins/quota-clone/quota-clone-plugin.c +++ b/src/plugins/quota-clone/quota-clone-plugin.c @@ -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", diff --git a/src/plugins/quota/quota-dict.c b/src/plugins/quota/quota-dict.c index d8b12defee..10f608f09f 100644 --- a/src/plugins/quota/quota-dict.c +++ b/src/plugins/quota/quota-dict.c @@ -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) { diff --git a/src/plugins/quota/quota.c b/src/plugins/quota/quota.c index ef58e71838..dda981196b 100644 --- a/src/plugins/quota/quota.c +++ b/src/plugins/quota/quota.c @@ -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,