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;
}
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 },
.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 = {
"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(
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;
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;
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;