const struct master_service_ssl_settings *ssl_set;
const char *username = "";
- user_set = mail_storage_service_user_get_set(service_user)[0];
+ user_set = mail_storage_service_user_get_set(service_user,
+ &mail_user_setting_parser_info);
ssl_set = mail_storage_service_user_get_ssl_settings(service_user);
ctx->fd_in = -1;
/* drop privileges */
restrict_access_allow_coredumps(TRUE);
- set = mail_storage_service_user_get_set(user)[1];
+ set = mail_storage_service_user_get_set(user,
+ &imap_urlauth_worker_setting_parser_info);
if (mail_user_var_expand(mail_user, &imap_urlauth_worker_setting_parser_info,
set, &error) <= 0) {
client_send_line(client, "NO");
restrict_access_allow_coredumps(TRUE);
- smtp_set = mail_storage_service_user_get_set(user)[1];
- imap_set = mail_storage_service_user_get_set(user)[2];
+ smtp_set = mail_storage_service_user_get_set(user,
+ &smtp_submit_setting_parser_info);
+ imap_set = mail_storage_service_user_get_set(user,
+ &imap_setting_parser_info);
if (imap_set->verbose_proctitle)
verbose_proctitle = TRUE;
const char *errstr;
int ret;
- smtp_set = mail_storage_service_user_get_set(service_user)[1];
- lda_set = mail_storage_service_user_get_set(service_user)[2];
+ smtp_set = mail_storage_service_user_get_set(service_user,
+ &smtp_submit_setting_parser_info);
+ lda_set = mail_storage_service_user_get_set(service_user,
+ &lda_setting_parser_info);
ret = mail_user_var_expand(dinput->rcpt_user, &lda_setting_parser_info,
lda_set, &errstr);
if (ret > 0) {
return storage_service_global;
}
-void **mail_storage_service_user_get_set(struct mail_storage_service_user *user)
+void *mail_storage_service_user_get_set(struct mail_storage_service_user *user,
+ const struct setting_parser_info *root)
{
- return master_service_settings_parser_get_others(master_service,
- user->set_parser);
+ return settings_parser_get_root_set(user->set_parser, root);
}
const struct mail_storage_settings *
log prefix. */
void mail_storage_service_io_deactivate_user(struct mail_storage_service_user *user);
-/* Return the settings pointed to by set_root parameter in _init().
- The settings contain all the changes done by userdb lookups. */
-void **mail_storage_service_user_get_set(struct mail_storage_service_user *user);
+/* Return settings struct for the given root. The settings contain all the
+ changes done by userdb lookups. */
+void *mail_storage_service_user_get_set(struct mail_storage_service_user *user,
+ const struct setting_parser_info *root);
const struct mail_storage_settings *
mail_storage_service_user_get_mail_set(struct mail_storage_service_user *user);
const struct mail_storage_service_input *
{
struct smtp_server_recipient *rcpt = llrcpt->rcpt->rcpt;
struct lda_settings *lda_set =
- mail_storage_service_user_get_set(llrcpt->service_user)[2];
+ mail_storage_service_user_get_set(llrcpt->service_user,
+ &lda_setting_parser_info);
if (lda_set->quota_full_tempfail)
smtp_server_recipient_reply(rcpt, 452, "4.2.2", "%s", error);
struct lda_settings *lda_set;
struct mail_namespace *ns;
struct setting_parser_context *set_parser;
- void **sets;
const char *line, *error, *username;
int ret;
}
local->rcpt_user = rcpt_user;
- sets = mail_storage_service_user_get_set(service_user);
- smtp_set = sets[1];
- lda_set = sets[2];
+ smtp_set = mail_storage_service_user_get_set(service_user,
+ &smtp_submit_setting_parser_info);
+ lda_set = mail_storage_service_user_get_set(service_user,
+ &lda_setting_parser_info);
ret = mail_user_var_expand(rcpt_user, &smtp_submit_setting_parser_info,
smtp_set, &error);
if (ret > 0) {
}
restrict_access_allow_coredumps(TRUE);
- set = mail_storage_service_user_get_set(user)[1];
+ set = mail_storage_service_user_get_set(user,
+ &pop3_setting_parser_info);
if (set->verbose_proctitle)
verbose_proctitle = TRUE;
restrict_access_allow_coredumps(TRUE);
- set = mail_storage_service_user_get_set(user)[1];
+ set = mail_storage_service_user_get_set(user,
+ &submission_setting_parser_info);
if (set->verbose_proctitle)
verbose_proctitle = TRUE;