dovecot-1.2: dovecot -n/-a now outputs also lda settings.

dovecot at dovecot.org dovecot at dovecot.org
Mon Jul 27 04:57:04 EEST 2009


details:   http://hg.dovecot.org/dovecot-1.2/rev/d38e0412cfb4
changeset: 9256:d38e0412cfb4
user:      Timo Sirainen <tss at iki.fi>
date:      Sun Jul 26 21:56:17 2009 -0400
description:
dovecot -n/-a now outputs also lda settings.

diffstat:

2 files changed, 27 insertions(+)
src/master/master-settings.c |   26 ++++++++++++++++++++++++++
src/master/master-settings.h |    1 +

diffs (68 lines):

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 @@ static const char *parse_setting(const c
 							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 @@ create_new_server(const char *name,
 	*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 @@ static void dict_settings_dump(const str
 		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 @@ void master_settings_dump(struct server_
 	}
 	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 server_settings {
 	struct auth_settings auth_defaults;
         struct namespace_settings *namespaces;
 
+	ARRAY_DEFINE(lda_settings, const char *);
 	ARRAY_DEFINE(dicts, const char *);
 
 	gid_t login_gid;


More information about the dovecot-cvs mailing list