# HG changeset patch # User Timo Sirainen # Date 1248659777 14400 # Node ID d38e0412cfb43f7d621d3d6adb15945072cf1c8c # Parent 1aec43edab2dbebbabc1222024fd5f9a0befe2c3 dovecot -n/-a now outputs also lda settings. diff -r 1aec43edab2d -r d38e0412cfb4 src/master/master-settings.c --- a/src/master/master-settings.c Sun Jul 26 20:58:52 2009 -0400 +++ b/src/master/master-settings.c Sun Jul 26 21:56:17 2009 -0400 @@ -1243,6 +1243,14 @@ key, value); } + if (ctx->protocol == MAIL_PROTOCOL_LDA) { + key = p_strdup(settings_pool, key); + value = p_strdup(settings_pool, value); + + array_append(&ctx->server->lda_settings, &key, 1); + array_append(&ctx->server->lda_settings, &value, 1); + } + if (error == NULL) return NULL; @@ -1324,6 +1332,7 @@ *server->pop3 = *pop3_defaults; p_array_init(&server->dicts, settings_pool, 4); + p_array_init(&server->lda_settings, settings_pool, 12); p_array_init(&server->imap->plugin_envs, settings_pool, 8); p_array_init(&server->pop3->plugin_envs, settings_pool, 8); @@ -1816,6 +1825,22 @@ printf(" %s: %s\n", dicts[i], dicts[i+1]); } +static void lda_settings_dump(const struct server_settings *set) +{ + const char *const *ldas; + unsigned int i, count; + + ldas = array_get(&set->lda_settings, &count); + i_assert((count % 2) == 0); + + if (count == 0) + return; + + printf("lda:\n"); + for (i = 0; i < count; i += 2) + printf(" %s: %s\n", ldas[i], ldas[i+1]); +} + void master_settings_dump(struct server_settings *set, bool nondefaults) { const void *sets[4]; @@ -1841,6 +1866,7 @@ } settings_dump(setting_defs, sets, set_names, count, nondefaults, 0); namespace_settings_dump(set->namespaces, nondefaults); + lda_settings_dump(set); auth_settings_dump(set->auths, nondefaults); plugin_settings_dump(set->defaults); dict_settings_dump(set); diff -r 1aec43edab2d -r d38e0412cfb4 src/master/master-settings.h --- a/src/master/master-settings.h Sun Jul 26 20:58:52 2009 -0400 +++ b/src/master/master-settings.h Sun Jul 26 21:56:17 2009 -0400 @@ -259,6 +259,7 @@ struct auth_settings auth_defaults; struct namespace_settings *namespaces; + ARRAY_DEFINE(lda_settings, const char *); ARRAY_DEFINE(dicts, const char *); gid_t login_gid;