struct master_service_settings_input input;
struct setting_parser_context *set_parser;
const char *error;
- void **sets;
i_zero(&input);
input.roots = set_roots;
if (!settings_parser_check(set_parser, pool, &error))
i_unreached();
- sets = master_service_settings_parser_get_others(master_service,
- set_parser);
+ struct auth_settings *set =
+ settings_parser_get_root_set(set_parser, &auth_setting_parser_info);
settings_parser_deinit(&set_parser);
- return sets[0];
+ return set;
}
const struct master_service_settings *
master_service_settings_get(struct master_service *service)
{
- void **sets;
-
- sets = settings_parser_get_list(service->set_parser);
- return sets[0];
+ return settings_parser_get_root_set(service->set_parser,
+ &master_service_setting_parser_info);
}
void **master_service_settings_get_others(struct master_service *service)
const char *const *userdb_fields, *error;
struct auth_user_reply reply;
const struct setting_parser_context *set_parser;
- void **sets;
pool_t user_pool, temp_pool;
int ret = 1;
ctx->default_log_prefix);
update_log_prefix = TRUE;
}
- sets = master_service_settings_parser_get_others(master_service,
- set_parser);
- user_set = sets[0];
+ user_set = settings_parser_get_root_set(set_parser,
+ &mail_user_setting_parser_info);
if (update_log_prefix)
mail_storage_service_set_log_prefix(ctx, user_set, NULL, input, NULL);
user->set_parser = settings_parser_dup(set_parser, user_pool);
- sets = master_service_settings_parser_get_others(master_service,
- user->set_parser);
- user->user_set = sets[0];
+ user->user_set = settings_parser_get_root_set(user->set_parser,
+ &mail_user_setting_parser_info);
user->ssl_set = master_service_ssl_settings_get_from_parser(user->set_parser);
user->gid_source = "mail_gid setting";
user->uid_source = "mail_uid setting";
const struct setting_parser_context *set_parser;
const char *error;
pool_t temp_pool;
- void **sets;
if (ctx->conn != NULL)
return;
&user_info, &set_parser,
&error) < 0)
i_fatal("%s", error);
- sets = master_service_settings_parser_get_others(master_service,
- set_parser);
- user_set = sets[0];
+ user_set = settings_parser_get_root_set(set_parser,
+ &mail_user_setting_parser_info);
mail_storage_service_first_init(ctx, user_info, user_set, ctx->flags);
pool_unref(&temp_pool);
struct lda_settings **lda_set_r)
{
const char *error;
- void **sets;
- sets = master_service_settings_parser_get_others(master_service,
- set_parser);
- *user_set_r = settings_dup(&mail_user_setting_parser_info, sets[0], pool);
- *lda_set_r = settings_dup(&lda_setting_parser_info, sets[2], pool);
- *lmtp_set_r = settings_dup(&lmtp_setting_parser_info, sets[3], pool);
+ *user_set_r = settings_parser_get_root_set(set_parser,
+ &mail_user_setting_parser_info);
+ *user_set_r = settings_dup(&mail_user_setting_parser_info,
+ *user_set_r, pool);
+ *lda_set_r = settings_parser_get_root_set(set_parser,
+ &lda_setting_parser_info);
+ *lda_set_r = settings_dup(&lda_setting_parser_info,
+ *lda_set_r, pool);
+ *lmtp_set_r = settings_parser_get_root_set(set_parser,
+ &lmtp_setting_parser_info);
+ *lmtp_set_r = settings_dup(&lmtp_setting_parser_info,
+ *lmtp_set_r, pool);
if (!lmtp_settings_check(*lmtp_set_r, pool, &error))
i_unreached();
}
&user_info, &set_parser,
&error) < 0)
i_fatal("%s", error);
- user_set = master_service_settings_parser_get_others(master_service,
- set_parser)[0];
+ user_set = settings_parser_get_root_set(set_parser,
+ &mail_user_setting_parser_info);
set = master_service_settings_get_others(master_service)[1];
quota_status_settings = settings_dup("a_status_setting_parser_info, set,