From: Timo Sirainen Date: Wed, 29 Jun 2016 18:09:48 +0000 (+0300) Subject: doveadm: Read settings with service=doveadm X-Git-Tag: 2.3.0.rc1~3376 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c1fc5a97a15332f1253ee13a9cab65a7b4b6cd5f;p=thirdparty%2Fdovecot%2Fcore.git doveadm: Read settings with service=doveadm This was done for mail commands while initializing the mail user, but other commands weren't using it. This meant that doveadm was using only global settings instead of protocol doveadm { .. } settings for everything except mail commands. --- diff --git a/src/doveadm/doveadm.c b/src/doveadm/doveadm.c index f401a5c282..67a8034238 100644 --- a/src/doveadm/doveadm.c +++ b/src/doveadm/doveadm.c @@ -255,6 +255,7 @@ static void doveadm_read_settings(void) memset(&input, 0, sizeof(input)); input.roots = set_roots; input.module = "doveadm"; + input.service = "doveadm"; input.preserve_user = TRUE; input.preserve_home = TRUE; if (master_service_settings_read(master_service, &input, diff --git a/src/doveadm/main.c b/src/doveadm/main.c index dad5781f20..0b303596df 100644 --- a/src/doveadm/main.c +++ b/src/doveadm/main.c @@ -104,6 +104,8 @@ int main(int argc, char *argv[]) }; enum master_service_flags service_flags = MASTER_SERVICE_FLAG_KEEP_CONFIG_OPEN; + struct master_service_settings_input input; + struct master_service_settings_output output; const char *error; int c; @@ -120,8 +122,13 @@ int main(int argc, char *argv[]) } } - if (master_service_settings_read_simple(master_service, set_roots, - &error) < 0) + memset(&input, 0, sizeof(input)); + input.roots = set_roots; + input.module = "doveadm"; + input.service = "doveadm"; + + if (master_service_settings_read(master_service, &input, &output, + &error) < 0) i_fatal("Error reading configuration: %s", error); master_service_init_log(master_service, "doveadm: ");