]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lda: Use master_service_settings_parser_get()
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Thu, 5 Jan 2023 14:13:22 +0000 (16:13 +0200)
committerTimo Sirainen <timo.sirainen@open-xchange.com>
Mon, 20 Nov 2023 12:11:41 +0000 (14:11 +0200)
src/lda/main.c

index e0248cef3ed19d4fb4c628f9a8cbe8088a1c5ba2..0a3f370c463ce4956ab2171691017163c536a0bc 100644 (file)
@@ -286,12 +286,19 @@ lda_deliver(struct mail_deliver_input *dinput,
            bool stderr_rejection)
 {
        struct mail_deliver_context ctx;
+       const char *error;
        int ret;
 
-       dinput->set = settings_parser_get_root_set(dinput->rcpt_user->set_parser,
-                                                  &lda_setting_parser_info);
-       dinput->smtp_set = settings_parser_get_root_set(dinput->rcpt_user->set_parser,
-                                                       &smtp_submit_setting_parser_info);
+       if (master_service_settings_parser_get(dinput->rcpt_user->event,
+                       dinput->rcpt_user->set_parser, &lda_setting_parser_info,
+                       MASTER_SERVICE_SETTINGS_GET_FLAG_NO_EXPAND,
+                       &dinput->set, &error) < 0 ||
+           master_service_settings_parser_get(dinput->rcpt_user->event,
+                       dinput->rcpt_user->set_parser,
+                       &smtp_submit_setting_parser_info,
+                       MASTER_SERVICE_SETTINGS_GET_FLAG_NO_EXPAND,
+                       &dinput->smtp_set, &error) < 0)
+               i_fatal("%s", error);
 
        dinput->src_mail = lda_raw_mail_open(dinput, path);
        lda_set_rcpt_to(dinput, rcpt_to, user, rcpt_to_source);
@@ -568,6 +575,8 @@ int main(int argc, char *argv[])
        }
 
        mail_deliver_session_deinit(&dinput.session);
+       master_service_settings_free(dinput.set);
+       master_service_settings_free(dinput.smtp_set);
        mail_storage_service_deinit(&storage_service);
 
        event_unref(&event);