]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Drop username and domain %variable variants
authorAki Tuomi <aki.tuomi@open-xchange.com>
Thu, 10 Oct 2024 11:54:31 +0000 (14:54 +0300)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Fri, 17 Jan 2025 08:40:00 +0000 (10:40 +0200)
These can be produced with %{user | username} and %{user | domain}.

src/lib-storage/mail-storage-service.c
src/lib-storage/mail-storage-settings.c
src/lib-storage/mail-user.c
src/lib-storage/mail-user.h

index 84c137cd5811b70954bef33c5249c244f46f5765..243968bab91d6dfbe519e46e654a0179dc8c3ded 100644 (file)
@@ -338,24 +338,18 @@ get_var_expand_table(struct master_service *service,
                     struct mail_storage_service_user *user,
                     const struct mail_storage_service_input *input)
 {
-       const char *username = t_strcut(input->username, '@');
-       const char *domain = i_strchr_to_next(input->username, '@');
        const char *local_name = NULL;
        const char *master_user;
-       const char *auth_user, *auth_username, *auth_domain;
+       const char *auth_user;
 
        if (user == NULL || user->auth_user == NULL) {
                auth_user = input->username;
-               auth_username = username;
-               auth_domain = domain;
                if (input->userdb_fields != NULL)
                        master_user = get_master_user(input->userdb_fields);
                else
                        master_user = NULL;
        } else {
                auth_user = user->auth_user;
-               auth_username = t_strcut(user->auth_user, '@');
-               auth_domain = i_strchr_to_next(user->auth_user, '@');
                local_name = user->local_name;
                master_user = user->master_user;
        }
@@ -376,15 +370,11 @@ get_var_expand_table(struct master_service *service,
 
        const struct var_expand_table stack_tab[] = {
                { .key = "user", .value = input->username },
-               { .key = "username", .value = username },
-               { .key = "domain", .value = domain },
                { .key = "service", .value = service_name },
                { .key = "local_ip", .value = net_ip2addr(&input->local_ip) },
                { .key = "remote_ip", .value = net_ip2addr(&input->remote_ip) },
                { .key = "session", .value = input->session_id },
                { .key = "auth_user", .value = auth_user },
-               { .key = "auth_username", .value = auth_username },
-               { .key = "auth_domain", .value = auth_domain },
                { .key = "hostname", .value = hostname },
                { .key = "local_name", .value = local_name },
                { .key = "protocol", .value = protocol },
index 562f55133b366b473b696cd2dbbcde00ab22c082..0a03635ba49d6c3a39ac6410d35ce4c7be3c7a98 100644 (file)
@@ -365,7 +365,7 @@ static const struct mail_user_settings mail_user_default_settings = {
        .mail_log_prefix = "%{service}(%{user})<%{process:pid}><%{session}>: ",
 
        .hostname = "",
-       .postmaster_address = "postmaster@%{domain|default(hostname)}",
+       .postmaster_address = "postmaster@%{user|domain|default(hostname)}",
 };
 
 const struct setting_parser_info mail_user_setting_parser_info = {
@@ -639,6 +639,7 @@ mail_storage_settings_ext_check(struct event *event ATTR_UNUSED,
                "guid",
                NULL
        };
+       *error_r = NULL;
        for (; *pop3_uidl_vars != NULL; pop3_uidl_vars++) {
                if (!str_array_find(pop3_uidl_allowed_vars, *pop3_uidl_vars)) {
                        *error_r = t_strdup_printf(
@@ -651,7 +652,7 @@ mail_storage_settings_ext_check(struct event *event ATTR_UNUSED,
        var_expand_program_free(&prog);
 
        if (!uidl_format_ok) {
-               if (pop3_uidl_vars == NULL)
+               if (*error_r == NULL)
                        *error_r = "pop3_uidl_format setting doesn't contain any "
                                   "%% variables.";
                return FALSE;
index 2dfb34f27920f334b0edd09837870c101106fa72..6f1c6e489ad0bb7031fd6f62abd62dc9be60b99d 100644 (file)
@@ -333,7 +333,7 @@ mail_user_var_expand_params(struct mail_user *user)
        struct var_expand_params *params =
                p_new(user->pool, struct var_expand_params, 1);
        params->table = p_memdup(user->pool, stack_tab, sizeof(stack_tab));
-       params->providers = mail_user_var_expand_func_table;
+       params->providers = mail_user_var_expand_providers;
        params->context = user;
        params->event = user->event;
 
@@ -812,11 +812,11 @@ mail_user_get_dict_op_settings(struct mail_user *user)
        return user->dict_op_set;
 }
 
-static const struct var_expand_provider mail_user_var_expand_func_table_arr[] = {
+static const struct var_expand_provider mail_user_var_expand_providers_arr[] = {
        /* default to owner_home being the same as user's home - this is
           overridden by shared storage */
        { "userdb", mail_user_var_expand_func_userdb },
        { NULL, NULL }
 };
-const struct var_expand_provider *mail_user_var_expand_func_table =
-       mail_user_var_expand_func_table_arr;
+const struct var_expand_provider *mail_user_var_expand_providers =
+       mail_user_var_expand_providers_arr;
index e3577b8a2fd7188956453398d00abd3857c5731a..3f804b2a33681d3e405bcf89efe283981f82705f 100644 (file)
@@ -123,7 +123,7 @@ union mail_user_module_context {
 };
 extern struct mail_user_module_register mail_user_module_register;
 extern struct auth_master_connection *mail_user_auth_master_conn;
-extern const struct var_expand_provider *mail_user_var_expand_func_table;
+extern const struct var_expand_provider *mail_user_var_expand_providers;
 
 struct mail_user *
 mail_user_alloc(struct mail_storage_service_user *service_user);