changeset 9256:d38e0412cfb4 HEAD

dovecot -n/-a now outputs also lda settings.
author Timo Sirainen <tss@iki.fi>
date Sun, 26 Jul 2009 21:56:17 -0400
parents 1aec43edab2d
children 1b3e90e829de
files src/master/master-settings.c src/master/master-settings.h
diffstat 2 files changed, 27 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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);
--- 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;