]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lmtp: Replace mail_storage_service_user_get_mail_set() with master_service_settings_p...
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Thu, 12 Jan 2023 14:03:28 +0000 (16:03 +0200)
committerTimo Sirainen <timo.sirainen@open-xchange.com>
Mon, 20 Nov 2023 12:20:16 +0000 (14:20 +0200)
src/lmtp/lmtp-local.c

index 6266ebbe94e142756b6d7d8d28ac82604378541c..319a9c7c0f6c95e2382fac0e005911a270b62259 100644 (file)
@@ -434,8 +434,16 @@ lmtp_local_deliver(struct lmtp_local *local,
        input = mail_storage_service_user_get_input(service_user);
        username = t_strdup(input->username);
 
-       mail_set = mail_storage_service_user_get_mail_set(service_user);
        set_parser = mail_storage_service_user_get_settings_parser(service_user);
+       if (master_service_settings_parser_get(rcpt->event, set_parser,
+                       &mail_storage_setting_parser_info,
+                       MASTER_SERVICE_SETTINGS_GET_FLAG_NO_EXPAND,
+                       &mail_set, &error) < 0) {
+               e_error(rcpt->event, "%s", error);
+               smtp_server_recipient_reply(rcpt, 451, "4.3.0",
+                                           "Temporary internal error");
+               return -1;
+       }
 
        smtp_server_connection_get_proxy_data
                (client->conn, &proxy_data);
@@ -452,6 +460,7 @@ lmtp_local_deliver(struct lmtp_local *local,
                if (settings_parse_line(set_parser, line) < 0)
                        i_unreached();
        }
+       master_service_settings_free(mail_set);
 
        i_zero(&lldctx);
        lldctx.session_id = lrcpt->session_id;