changeset 12257:8d36d8f5fcef

doveconf: Added -p parameter to parse full config even if -m module is given.
author Timo Sirainen <tss@iki.fi>
date Wed, 06 Oct 2010 19:34:41 +0100
parents cc969ee7074b
children d63b48a452f1
files src/config/doveconf.c
diffstat 1 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/config/doveconf.c	Wed Oct 06 19:19:48 2010 +0100
+++ b/src/config/doveconf.c	Wed Oct 06 19:34:41 2010 +0100
@@ -564,6 +564,7 @@
 	unsigned int i;
 	int c, ret, ret2;
 	bool config_path_specified, expand_vars = FALSE, hide_key = FALSE;
+	bool parse_full_config = FALSE;
 
 	if (getenv("USE_SYSEXITS") != NULL) {
 		/* we're coming from (e.g.) LDA */
@@ -573,7 +574,7 @@
 	memset(&filter, 0, sizeof(filter));
 	master_service = master_service_init("config",
 					     MASTER_SERVICE_FLAG_STANDALONE,
-					     &argc, &argv, "af:hm:nNex");
+					     &argc, &argv, "af:hm:nNpex");
 	orig_config_path = master_service_get_config_path(master_service);
 
 	i_set_failure_prefix("doveconf: ");
@@ -600,6 +601,9 @@
 		case 'N':
 			scope = CONFIG_DUMP_SCOPE_SET;
 			break;
+		case 'p':
+			parse_full_config = TRUE;
+			break;
 		case 'x':
 			expand_vars = TRUE;
 			break;
@@ -629,7 +633,8 @@
 	config_parse_load_modules();
 
 	if ((ret = config_parse_file(config_path, expand_vars,
-				     module, &error)) == 0 &&
+				     parse_full_config ? "" : module,
+				     &error)) == 0 &&
 	    access(EXAMPLE_CONFIG_DIR, X_OK) == 0) {
 		i_fatal("%s (copy example configs from "EXAMPLE_CONFIG_DIR"/)",
 			error);