From 3912f52c175f747e68fc7bd5c3b0f43511e2bee2 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Mon, 26 May 2025 09:37:35 +0300 Subject: [PATCH] [PATCH] lda: Fix using USER environment if -d hasn't been specified This became broken at some point. Gbp-Pq: Name 0001-lda-Fix-using-USER-environment-if-d-hasn-t-been-spec.patch --- src/lda/main.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/lda/main.c b/src/lda/main.c index 1f824ff..4fb5cd6 100644 --- a/src/lda/main.c +++ b/src/lda/main.c @@ -453,9 +453,6 @@ int main(int argc, char *argv[]) i_fatal_status(EX_USAGE, "Unknown argument: %s", argv[optind]); } - if (master_service_settings_read_simple(master_service, &error) < 0) - i_fatal("%s", error); - process_euid = geteuid(); if ((service_flags & MAIL_STORAGE_SERVICE_FLAG_USERDB_LOOKUP) != 0) ; @@ -485,6 +482,13 @@ int main(int argc, char *argv[]) i_fatal_status(EX_USAGE, "destination user parameter (-d user) not given"); } + struct master_service_settings_input set_input = { + .preserve_user = TRUE, + }; + struct master_service_settings_output set_output; + if (master_service_settings_read(master_service, &set_input, + &set_output, &error) < 0) + i_fatal("%s", error); master_service_init_finish(master_service); dinput.mail_from = mail_from; -- 2.30.2