]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Set mail_user.unexpanded_set via unexpanded_set_parser
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Wed, 16 Nov 2022 23:03:28 +0000 (01:03 +0200)
committerTimo Sirainen <timo.sirainen@open-xchange.com>
Wed, 30 Nov 2022 12:49:09 +0000 (14:49 +0200)
There is no need for mail_user_alloc*() to have a settings parameter.

src/lda/main.c
src/lib-storage/index/raw/raw-storage.c
src/lib-storage/index/raw/raw-storage.h
src/lib-storage/index/shared/shared-storage.c
src/lib-storage/mail-storage-service.c
src/lib-storage/mail-user.c
src/lib-storage/mail-user.h
src/lmtp/lmtp-client.c

index 5e76acc5d4ccd5189cd6a351968297f60ea54303..450b7876bcd10b043bab65ba2c88d1a98112218e 100644 (file)
@@ -150,15 +150,11 @@ lda_raw_mail_open(struct mail_deliver_input *dinput, const char *path)
        struct mailbox_header_lookup_ctx *headers_ctx;
        const struct smtp_address *mail_from;
        struct istream *input;
-       const struct mail_user_settings *user_set;
        time_t mtime;
        int ret;
 
-       user_set = settings_parser_get_root_set(dinput->rcpt_user->unexpanded_set_parser,
-                       &mail_user_setting_parser_info);
-       raw_mail_user = raw_storage_create_from_set(dinput->rcpt_user->set_parser,
-                                                   dinput->rcpt_user->set_info,
-                                                   user_set);
+       raw_mail_user = raw_storage_create_from_set(dinput->rcpt_user->unexpanded_set_parser,
+                                                   dinput->rcpt_user->set_info);
 
        mail_from = (dinput->mail_from != NULL ?
                     dinput->mail_from : &default_envelope_sender);
index 085990cdcd3424040e5bb229d5428c08557412d7..6f80209d56e76ede7688605cff5926d14503603e 100644 (file)
@@ -14,8 +14,7 @@ extern struct mailbox raw_mailbox;
 
 struct mail_user *
 raw_storage_create_from_set(const struct setting_parser_context *unexpanded_set_parser,
-                           const struct setting_parser_info *set_info,
-                           const struct mail_user_settings *set)
+                           const struct setting_parser_info *set_info)
 {
        struct mail_user *user;
        struct mail_namespace *ns;
@@ -28,7 +27,7 @@ raw_storage_create_from_set(const struct setting_parser_context *unexpanded_set_
        /* Don't include raw user's events in statistics or anything else.
           They would just cause confusion. */
        event_disable_callbacks(event);
-       user = mail_user_alloc(event, "raw mail user", unexpanded_set_parser, set_info, set);
+       user = mail_user_alloc(event, "raw mail user", unexpanded_set_parser, set_info);
        event_unref(&event);
 
        user->autocreated = TRUE;
index 4591dadcfda9917762e3b92729f160d2daf0622f..90f3c59284ace672bff43257a62c3897cb98956a 100644 (file)
@@ -31,8 +31,7 @@ extern struct mail_vfuncs raw_mail_vfuncs;
 
 struct mail_user *
 raw_storage_create_from_set(const struct setting_parser_context *unexpanded_set_parser,
-                           const struct setting_parser_info *set_info,
-                           const struct mail_user_settings *set);
+                           const struct setting_parser_info *set_info);
 
 int raw_mailbox_alloc_stream(struct mail_user *user, struct istream *input,
                             time_t received_time, const char *envelope_sender,
index 56923d8b703d7d7c85c54baf27bd0af37c4bd982..e7153fa2d444e6aa658eccb43e45c18e2897f4c1 100644 (file)
@@ -249,8 +249,7 @@ int shared_storage_get_namespace(struct mail_namespace **_ns,
        }
 
        owner = mail_user_alloc(event_get_parent(user->event), userdomain,
-                               user->unexpanded_set_parser, user->set_info,
-                               user->unexpanded_set);
+                               user->unexpanded_set_parser, user->set_info);
        owner->_service_user = user->_service_user;
        mail_storage_service_user_ref(owner->_service_user);
        owner->creator = user;
index e3691188cf0d2678047bff9b29eb3c5003a6c434..661015a13c57bd43a8d61ce1cb9d49105467a0a5 100644 (file)
@@ -686,8 +686,7 @@ mail_storage_service_init_post(struct mail_storage_service_ctx *ctx,
        /* NOTE: if more user initialization is added, add it also to
           mail_user_dup() */
        mail_user = mail_user_alloc_nodup_set(user->event, user->input.username,
-                                             user->set_parser, user->user_info,
-                                             user->user_set);
+                                             user->set_parser, user->user_info);
        mail_user->_service_user = user;
        mail_storage_service_user_ref(user);
        mail_user_set_home(mail_user, *home == '\0' ? NULL : home);
index 766e63efb4e19efa24230a105246597a6404c737..a355b8f0b99daf97ffd720aefdb7e8436ddc743f 100644 (file)
@@ -53,7 +53,7 @@ mail_user_alloc_int(struct event *parent_event,
                    const char *username,
                    const struct setting_parser_context *unexpanded_set_parser,
                    const struct setting_parser_info *set_info,
-                   const struct mail_user_settings *set, pool_t pool)
+                   pool_t pool)
 {
        struct mail_user *user;
        const char *error;
@@ -68,7 +68,9 @@ mail_user_alloc_int(struct event *parent_event,
        user->unexpanded_set_parser = unexpanded_set_parser;
        user->set_parser = settings_parser_dup(unexpanded_set_parser, pool);
        user->set_info = set_info;
-       user->unexpanded_set = set;
+       user->unexpanded_set =
+               settings_parser_get_root_set(unexpanded_set_parser,
+                                            &mail_user_setting_parser_info);
        user->set = settings_parser_get_root_set(user->set_parser,
                                                 &mail_user_setting_parser_info);
        user->service = master_service_get_name(master_service);
@@ -93,29 +95,26 @@ struct mail_user *
 mail_user_alloc_nodup_set(struct event *parent_event,
                          const char *username,
                          const struct setting_parser_context *unexpanded_set_parser,
-                         const struct setting_parser_info *set_info,
-                         const struct mail_user_settings *set)
+                         const struct setting_parser_info *set_info)
 {
        pool_t pool;
 
        pool = pool_alloconly_create(MEMPOOL_GROWING"mail user", 16*1024);
        return mail_user_alloc_int(parent_event, username,
-                                  unexpanded_set_parser, set_info, set, pool);
+                                  unexpanded_set_parser, set_info, pool);
 }
 
 struct mail_user *mail_user_alloc(struct event *parent_event,
                                  const char *username,
                                  const struct setting_parser_context *unexpanded_set_parser,
-                                 const struct setting_parser_info *set_info,
-                                 const struct mail_user_settings *set)
+                                 const struct setting_parser_info *set_info)
 {
        pool_t pool;
 
        pool = pool_alloconly_create(MEMPOOL_GROWING"mail user", 16*1024);
        return mail_user_alloc_int(parent_event, username,
                                   settings_parser_dup(unexpanded_set_parser, pool),
-                                  set_info,
-                                  settings_dup(set_info, set, pool), pool);
+                                  set_info, pool);
 }
 
 static void
@@ -756,8 +755,7 @@ struct mail_user *mail_user_dup(struct mail_user *user)
        struct mail_user *user2;
 
        user2 = mail_user_alloc(event_get_parent(user->event), user->username,
-                               user->unexpanded_set_parser, user->set_info,
-                               user->unexpanded_set);
+                               user->unexpanded_set_parser, user->set_info);
        if (user2->_service_user != NULL) {
                user2->_service_user = user->_service_user;
                mail_storage_service_user_ref(user2->_service_user);
index 15cf198c54657b75b9e4dc54fee823dd0dd81102..36d6157932f981c33a7c823f65097f6225f764bd 100644 (file)
@@ -131,14 +131,12 @@ extern const struct var_expand_func_table *mail_user_var_expand_func_table;
 struct mail_user *mail_user_alloc(struct event *parent_event,
                                  const char *username,
                                  const struct setting_parser_context *unexpanded_set_parser,
-                                 const struct setting_parser_info *set_info,
-                                 const struct mail_user_settings *set);
+                                 const struct setting_parser_info *set_info);
 struct mail_user *
 mail_user_alloc_nodup_set(struct event *parent_event,
                          const char *username,
                          const struct setting_parser_context *set_parser,
-                         const struct setting_parser_info *set_info,
-                         const struct mail_user_settings *set);
+                         const struct setting_parser_info *set_info);
 /* Returns -1 if settings were invalid. */
 int mail_user_init(struct mail_user *user, const char **error_r);
 
index 0030c6f8690a67871e7cf65fca71611de51db46a..de982af885c8cf8b662da8eb6f86834a95fc615b 100644 (file)
@@ -101,13 +101,9 @@ static void
 client_raw_user_create(struct client *client,
                       const struct setting_parser_context *set_parser)
 {
-       const struct mail_user_settings *user_set;
-
-       user_set = settings_parser_get_root_set(client->set_parser,
-                       &mail_user_setting_parser_info);
        client->raw_mail_user =
                raw_storage_create_from_set(set_parser,
-                                           client->user_set_info, user_set);
+                                           client->user_set_info);
 }
 
 static void client_read_settings(struct client *client, bool ssl)