changeset 18673:f8f0a782213b

lib-master: If executing doveconf, use master_service_settings_input.service for filter Instead of hardcoding to the master_service->name, which may be different. This fixes reading protocol sieve {} settings when if managesieve was reading settings via doveconf (= executed from command line).
author Timo Sirainen <tss@iki.fi>
date Wed, 13 May 2015 15:47:14 +0300
parents fea09ab164dc
children c97d10467b62
files src/lib-master/master-service-settings.c
diffstat 1 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-master/master-service-settings.c	Wed May 13 15:33:27 2015 +0300
+++ b/src/lib-master/master-service-settings.c	Wed May 13 15:47:14 2015 +0300
@@ -119,8 +119,10 @@
 	argv_max_count = 11 + (service->argc + 1) + 1;
 	conf_argv = t_new(const char *, argv_max_count);
 	conf_argv[i++] = DOVECOT_CONFIG_BIN_PATH;
-	conf_argv[i++] = "-f";
-	conf_argv[i++] = t_strconcat("service=", service->name, NULL);
+	if (input->service != NULL) {
+		conf_argv[i++] = "-f";
+		conf_argv[i++] = t_strconcat("service=", input->service, NULL);
+	}
 	conf_argv[i++] = "-c";
 	conf_argv[i++] = service->config_path;
 	if (input->module != NULL) {