From 4c15dc4edee3e92bfeac2e7fc0b23cdbcdac7559 Mon Sep 17 00:00:00 2001 From: Siavash Tavakoli Date: Mon, 24 May 2021 12:54:58 +0100 Subject: [PATCH] dict: Remove dict_connection.username and dict_settings.username - dict should be user agnostic. dict operations have username. - same for dict connection - also removes username from dict process' log prefix --- src/auth/db-dict.c | 1 - src/auth/db-oauth2.c | 1 - src/dict/dict-connection.c | 3 --- src/dict/dict-connection.h | 1 - src/doveadm/doveadm-dict.c | 1 - src/lib-dict-backend/test-dict-sql.c | 1 - src/lib-dict-extra/dict-fs.c | 1 - src/lib-dict-extra/test-dict-fs.c | 1 - src/lib-dict/dict.c | 8 ++------ src/lib-dict/dict.h | 1 - src/lib-dict/test-dict-client.c | 1 - src/lib-fs/fs-dict.c | 1 - src/lib-oauth2/test-oauth2-jwt.c | 1 - src/lib-storage/index/index-attribute.c | 2 -- src/plugins/acl/acl-lookup-dict.c | 1 - src/plugins/last-login/last-login-plugin.c | 1 - src/plugins/notify-status/notify-status-plugin.c | 1 - src/plugins/quota-clone/quota-clone-plugin.c | 1 - src/plugins/quota/quota-dict.c | 1 - src/plugins/quota/quota.c | 1 - 20 files changed, 2 insertions(+), 28 deletions(-) diff --git a/src/auth/db-dict.c b/src/auth/db-dict.c index 2067b56116..96b1a63a7c 100644 --- a/src/auth/db-dict.c +++ b/src/auth/db-dict.c @@ -309,7 +309,6 @@ struct dict_connection *db_dict_init(const char *config_path) i_fatal("dict %s: Empty uri setting", 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) diff --git a/src/auth/db-oauth2.c b/src/auth/db-oauth2.c index 7d1874efec..a7eaee40e6 100644 --- a/src/auth/db-oauth2.c +++ b/src/auth/db-oauth2.c @@ -294,7 +294,6 @@ struct db_oauth2 *db_oauth2_init(const char *config_path) if (db->oauth2_set.introspection_mode == INTROSPECTION_MODE_LOCAL) { struct dict_settings dict_set = { - .username = "", .base_dir = global_auth_settings->base_dir, .event_parent = auth_event, }; diff --git a/src/dict/dict-connection.c b/src/dict/dict-connection.c index 079b16ec5e..8e36f5bffb 100644 --- a/src/dict/dict-connection.c +++ b/src/dict/dict-connection.c @@ -49,7 +49,6 @@ static int dict_connection_handshake_args(struct connection *_conn, return -1; conn->value_type = (enum dict_data_type)value_type_num; - conn->username = i_strdup(args[3]); conn->name = i_strdup(args[4]); /* try initialize the given dict */ @@ -92,7 +91,6 @@ static int dict_connection_dict_init(struct dict_connection *conn) uri = strlist[i+1]; i_zero(&dict_set); - dict_set.username = conn->username; dict_set.base_dir = dict_settings->base_dir; dict_set.event_parent = conn->conn.event; if (dict_init(uri, &dict_set, &conn->dict, &error) < 0) { @@ -172,7 +170,6 @@ bool dict_connection_unref(struct dict_connection *conn) connection_deinit(&conn->conn); i_free(conn->name); - i_free(conn->username); i_free(conn); master_service_client_connection_destroyed(master_service); diff --git a/src/dict/dict-connection.h b/src/dict/dict-connection.h index d733e2ff86..2241dade79 100644 --- a/src/dict/dict-connection.h +++ b/src/dict/dict-connection.h @@ -16,7 +16,6 @@ struct dict_connection { struct dict_server *server; int refcount; - char *username; char *name; struct dict *dict; enum dict_data_type value_type; diff --git a/src/doveadm/doveadm-dict.c b/src/doveadm/doveadm-dict.c index d716d2b504..12b901ad59 100644 --- a/src/doveadm/doveadm-dict.c +++ b/src/doveadm/doveadm-dict.c @@ -54,7 +54,6 @@ cmd_dict_init_full(struct doveadm_cmd_context *cctx, dict_drivers_register_builtin(); i_zero(&dict_set); - dict_set.username = username; dict_set.base_dir = doveadm_settings->base_dir; if (dict_init(dict_uri, &dict_set, &dict, &error) < 0) { i_error("dict_init(%s) failed: %s", dict_uri, error); diff --git a/src/lib-dict-backend/test-dict-sql.c b/src/lib-dict-backend/test-dict-sql.c index ad32cae9f4..4de45eb5c1 100644 --- a/src/lib-dict-backend/test-dict-sql.c +++ b/src/lib-dict-backend/test-dict-sql.c @@ -17,7 +17,6 @@ static void test_setup(struct dict **dict_r) { const char *error = NULL; struct dict_settings set = { - .username = "testuser", .base_dir = "." }; struct dict *dict = NULL; diff --git a/src/lib-dict-extra/dict-fs.c b/src/lib-dict-extra/dict-fs.c index 969dcd80f2..4c173e3f74 100644 --- a/src/lib-dict-extra/dict-fs.c +++ b/src/lib-dict-extra/dict-fs.c @@ -43,7 +43,6 @@ fs_dict_init(struct dict *driver, const char *uri, } i_zero(&fs_set); - fs_set.username = set->username; fs_set.base_dir = set->base_dir; if (fs_init(fs_driver, fs_args, &fs_set, &fs, error_r) < 0) return -1; diff --git a/src/lib-dict-extra/test-dict-fs.c b/src/lib-dict-extra/test-dict-fs.c index 325fb8cacb..a7b9905b4a 100644 --- a/src/lib-dict-extra/test-dict-fs.c +++ b/src/lib-dict-extra/test-dict-fs.c @@ -38,7 +38,6 @@ static void test_dict_fs_set_get(void) const char *error; struct dict *dict; struct dict_settings set = { - .username = "testuser", .base_dir = ".", }; if (dict_init("fs:posix:prefix=.test-dict/", &set, &dict, &error) < 0) diff --git a/src/lib-dict/dict.c b/src/lib-dict/dict.c index cd22e59eab..ffb28daba2 100644 --- a/src/lib-dict/dict.c +++ b/src/lib-dict/dict.c @@ -93,8 +93,6 @@ int dict_init(const char *uri, const struct dict_settings *set, struct dict *dict; const char *p, *name, *error; - i_assert(set->username != NULL); - p = strchr(uri, ':'); if (p == NULL) { *error_r = t_strdup_printf("Dictionary URI is missing ':': %s", @@ -111,10 +109,8 @@ int dict_init(const char *uri, const struct dict_settings *set, struct event *event = event_create(set->event_parent); event_add_category(event, &event_category_dict); event_add_str(event, "driver", dict->name); - if (set->username[0] != '\0') - event_add_str(event, "user", set->username); - event_set_append_log_prefix(event, t_strdup_printf("dict(%s)<%s>: ", - dict->name, set->username)); + event_set_append_log_prefix(event, t_strdup_printf("dict(%s): ", + dict->name)); set_dup.event_parent = event; if (dict->v.init(dict, p+1, &set_dup, dict_r, &error) < 0) { *error_r = t_strdup_printf("dict %s: %s", name, error); diff --git a/src/lib-dict/dict.h b/src/lib-dict/dict.h index a3eda4052c..55e5548243 100644 --- a/src/lib-dict/dict.h +++ b/src/lib-dict/dict.h @@ -32,7 +32,6 @@ enum dict_data_type { }; struct dict_settings { - const char *username; const char *base_dir; /* home directory for the user, if known */ const char *home_dir; diff --git a/src/lib-dict/test-dict-client.c b/src/lib-dict/test-dict-client.c index 47a82788d5..9b3b80bbd6 100644 --- a/src/lib-dict/test-dict-client.c +++ b/src/lib-dict/test-dict-client.c @@ -51,7 +51,6 @@ int main(int argc, char *argv[]) i_zero(&set); i_zero(&opset); set.base_dir = "/var/run/dovecot"; - set.username = "testuser"; opset.username = "testuser"; if (dict_init(uri, &set, &dict, &error) < 0) diff --git a/src/lib-fs/fs-dict.c b/src/lib-fs/fs-dict.c index 2271d09917..936e9b69f1 100644 --- a/src/lib-fs/fs-dict.c +++ b/src/lib-fs/fs-dict.c @@ -72,7 +72,6 @@ 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_parent; diff --git a/src/lib-oauth2/test-oauth2-jwt.c b/src/lib-oauth2/test-oauth2-jwt.c index 318bbd61a1..79f3740d1e 100644 --- a/src/lib-oauth2/test-oauth2-jwt.c +++ b/src/lib-oauth2/test-oauth2-jwt.c @@ -784,7 +784,6 @@ static void test_do_init(void) .module_dir = "../lib-dcrypt/.libs", }; struct dict_settings dict_set = { - .username = "testuser", .base_dir = ".", }; diff --git a/src/lib-storage/index/index-attribute.c b/src/lib-storage/index/index-attribute.c index b74dfa85c6..b94034c639 100644 --- a/src/lib-storage/index/index-attribute.c +++ b/src/lib-storage/index/index-attribute.c @@ -63,7 +63,6 @@ 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, @@ -132,7 +131,6 @@ 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) diff --git a/src/plugins/acl/acl-lookup-dict.c b/src/plugins/acl/acl-lookup-dict.c index a880732a2e..60510a1caa 100644 --- a/src/plugins/acl/acl-lookup-dict.c +++ b/src/plugins/acl/acl-lookup-dict.c @@ -44,7 +44,6 @@ struct acl_lookup_dict *acl_lookup_dict_init(struct mail_user *user) struct dict_settings dict_set; 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) diff --git a/src/plugins/last-login/last-login-plugin.c b/src/plugins/last-login/last-login-plugin.c index dea01d6c4f..52b3159e1d 100644 --- a/src/plugins/last-login/last-login-plugin.c +++ b/src/plugins/last-login/last-login-plugin.c @@ -94,7 +94,6 @@ static void last_login_mail_user_created(struct mail_user *user) return; 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) diff --git a/src/plugins/notify-status/notify-status-plugin.c b/src/plugins/notify-status/notify-status-plugin.c index 286e1d8262..df3a46f700 100644 --- a/src/plugins/notify-status/notify-status-plugin.c +++ b/src/plugins/notify-status/notify-status-plugin.c @@ -52,7 +52,6 @@ static int notify_status_dict_init(struct mail_user *user, const char *uri, struct dict **dict_r, const char **error_r) { struct dict_settings set = { - .username = user->username, .base_dir = user->set->base_dir, .event_parent = user->event, }; diff --git a/src/plugins/quota-clone/quota-clone-plugin.c b/src/plugins/quota-clone/quota-clone-plugin.c index 4acf9b568c..c156b930ca 100644 --- a/src/plugins/quota-clone/quota-clone-plugin.c +++ b/src/plugins/quota-clone/quota-clone-plugin.c @@ -273,7 +273,6 @@ 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); diff --git a/src/plugins/quota/quota-dict.c b/src/plugins/quota/quota-dict.c index 1c0476a800..08c7b13151 100644 --- a/src/plugins/quota/quota-dict.c +++ b/src/plugins/quota/quota-dict.c @@ -71,7 +71,6 @@ static int dict_quota_init(struct quota_root *_root, const char *args, /* FIXME: we should use 64bit integer as datatype instead but before it can actually be used don't bother */ 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) diff --git a/src/plugins/quota/quota.c b/src/plugins/quota/quota.c index be16a26e63..7f905e1731 100644 --- a/src/plugins/quota/quota.c +++ b/src/plugins/quota/quota.c @@ -855,7 +855,6 @@ int quota_set_resource(struct quota_root *root, const char *name, struct dict_settings set; 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) -- 2.47.3