From: Timo Sirainen Date: Wed, 13 May 2015 12:47:14 +0000 (+0300) Subject: lib-master: If executing doveconf, use master_service_settings_input.service for... X-Git-Tag: 2.2.17~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cf89092dff3defce94f1860a04b3ce8bfaf4a712;p=thirdparty%2Fdovecot%2Fcore.git 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). --- diff --git a/src/lib-master/master-service-settings.c b/src/lib-master/master-service-settings.c index 8062915dc0..cca1d2921c 100644 --- a/src/lib-master/master-service-settings.c +++ b/src/lib-master/master-service-settings.c @@ -119,8 +119,10 @@ master_service_exec_config(struct master_service *service, 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) {