const struct mail_storage_service_privileges *priv,
const char **error_r);
-static bool
-mail_user_set_get_mail_debug(const struct setting_parser_context *set_parser)
-{
- const struct mail_storage_settings *mail_set;
-
- mail_set = settings_parser_get_root_set(set_parser,
- &mail_storage_setting_parser_info);
- return mail_set->mail_debug;
-}
-
static void set_keyval(struct mail_storage_service_ctx *ctx,
struct mail_storage_service_user *user,
const char *key, const char *value)
static void
mail_storage_service_first_init(struct mail_storage_service_ctx *ctx,
- const struct setting_parser_context *set_parser,
const struct mail_user_settings *user_set,
enum mail_storage_service_flags service_flags)
{
enum auth_master_flags flags = 0;
- ctx->debug = mail_user_set_get_mail_debug(set_parser) ||
+ ctx->debug = user_set->mail_debug ||
(service_flags & MAIL_STORAGE_SERVICE_FLAG_DEBUG) != 0;
if (ctx->debug)
flags |= AUTH_MASTER_FLAG_DEBUG;
static int
mail_storage_service_load_modules(struct mail_storage_service_ctx *ctx,
- const struct setting_parser_context *set_parser,
const struct mail_user_settings *user_set,
const char **error_r)
{
mod_set.binary_name = master_service_get_name(ctx->service);
mod_set.setting_name = "mail_plugins";
mod_set.require_init_funcs = TRUE;
- mod_set.debug = mail_user_set_get_mail_debug(set_parser);
+ mod_set.debug = user_set->mail_debug;
return module_dir_try_load_missing(&mail_storage_service_modules,
user_set->mail_plugin_dir,
mail_storage_service_set_log_prefix(ctx, user_set, NULL, input, NULL);
if (ctx->conn == NULL)
- mail_storage_service_first_init(ctx, set_parser, user_set, flags);
+ mail_storage_service_first_init(ctx, user_set, flags);
/* load global plugins */
- if (mail_storage_service_load_modules(ctx, set_parser, user_set, error_r) < 0) {
+ if (mail_storage_service_load_modules(ctx, user_set, error_r) < 0) {
pool_unref(&user_pool);
return -1;
}
/* load per-user plugins */
if (ret > 0) {
- if (mail_storage_service_load_modules(ctx, user->set_parser,
- user->user_set,
+ if (mail_storage_service_load_modules(ctx, user->user_set,
error_r) < 0) {
ret = -2;
}
user_set = settings_parser_get_root_set(set_parser,
&mail_user_setting_parser_info);
- mail_storage_service_first_init(ctx, set_parser, user_set, ctx->flags);
+ mail_storage_service_first_init(ctx, user_set, ctx->flags);
}
static int
DEF(BOOL, mailbox_list_index),
DEF(BOOL, mailbox_list_index_very_dirty_syncs),
DEF(BOOL, mailbox_list_index_include_inbox),
- DEF(BOOL, mail_debug),
DEF(BOOL, mail_full_filesystem_access),
DEF(BOOL, maildir_stat_dirs),
DEF(BOOL, mail_shared_explicit_inbox),
.mailbox_list_index = TRUE,
.mailbox_list_index_very_dirty_syncs = FALSE,
.mailbox_list_index_include_inbox = FALSE,
- .mail_debug = FALSE,
.mail_full_filesystem_access = FALSE,
.maildir_stat_dirs = FALSE,
.mail_shared_explicit_inbox = FALSE,
DEF(STR, base_dir),
DEF(STR, auth_socket_path),
DEF(STR_VARS, mail_temp_dir),
+ DEF(BOOL, mail_debug),
DEF(STR, mail_uid),
DEF(STR, mail_gid),
.base_dir = PKG_RUNDIR,
.auth_socket_path = "auth-userdb",
.mail_temp_dir = "/tmp",
+ .mail_debug = FALSE,
.mail_uid = "",
.mail_gid = "",
int mail_user_init(struct mail_user *user, const char **error_r)
{
- const struct mail_storage_settings *mail_set;
const char *error;
i_assert(!user->initialized);
/* autocreated users for shared mailboxes need to be fully initialized
if they don't exist, since they're going to be used anyway */
if (user->error == NULL || user->nonexistent) {
- mail_set = mail_user_set_get_storage_set(user);
- user->mail_debug = mail_set->mail_debug;
+ user->mail_debug = user->set->mail_debug;
user->initialized = TRUE;
hook_mail_user_created(user);