]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-smtp: smtp-submit: Made submission_timeout a setting rather than a function param...
authorStephan Bosch <stephan.bosch@dovecot.fi>
Sat, 16 Sep 2017 11:28:32 +0000 (13:28 +0200)
committerTimo Sirainen <tss@dovecot.fi>
Wed, 4 Oct 2017 22:07:46 +0000 (01:07 +0300)
This makes it configurable.

src/lda/main.c
src/lib-lda/mail-deliver.h
src/lib-lda/mail-send.c
src/lib-smtp/smtp-submit-settings.c
src/lib-smtp/smtp-submit-settings.h
src/lib-smtp/smtp-submit.c
src/lib-smtp/smtp-submit.h
src/lib-smtp/test-smtp-submit.c
src/lmtp/commands.c

index 2274b2accb6a0992618a9081bbe2d2c5b93096a9..4d25d5c0ad5b0ff683855f101b0ee310f157c263 100644 (file)
@@ -319,7 +319,6 @@ int main(int argc, char *argv[])
        ctx.session = mail_deliver_session_init();
        ctx.pool = ctx.session->pool;
        ctx.dest_mailbox_name = "INBOX";
-       ctx.timeout_secs = LDA_SUBMISSION_TIMEOUT_SECS;
        path = NULL;
 
        user = getenv("USER");
index da40eaf55d956b66d13f58735a16b09db924b40f..15ff62a21fbf17c9103f750148600dd37ac847d6 100644 (file)
@@ -7,10 +7,6 @@
 
 #include <sys/time.h>
 
-/* How many seconds to wait for replies from SMTP before failing. Used for
-   sending rejects, forward, etc. */
-#define LDA_SUBMISSION_TIMEOUT_SECS 30
-
 struct mail_storage;
 struct mail_save_context;
 struct mailbox;
@@ -27,7 +23,6 @@ struct mail_deliver_context {
        const struct lda_settings *set;
        const struct smtp_submit_settings *smtp_set;
        struct mail_deliver_session *session;
-       unsigned int timeout_secs;
 
        unsigned int session_time_msecs;
        struct timeval delivery_time_started;
index a64d8c58900eb0d654ec13e4710fe8c24b661cd7..86c58cedb6804d1f601711f00dfc96461b1e1fa3 100644 (file)
@@ -184,8 +184,7 @@ int mail_send_rejection(struct mail_deliver_context *ctx, const char *recipient,
        str_truncate(str, 0);
        str_printfa(str, "\r\n\r\n--%s--\r\n", boundary);
        o_stream_nsend(output, str_data(str), str_len(str));
-       if ((ret = smtp_submit_run_timeout
-               (smtp_submit, ctx->timeout_secs, &error)) < 0) {
+       if ((ret = smtp_submit_run(smtp_submit, &error)) < 0) {
                i_error("msgid=%s: Temporarily failed to send rejection: %s",
                        orig_msgid == NULL ? "" : str_sanitize(orig_msgid, 80),
                        str_sanitize(error, 512));
index 138491a3ee1f7c41ee9425041e45959e8efa0303..e486531187f809d830a065b9d4017fa23f9eeb11 100644 (file)
@@ -18,16 +18,20 @@ static bool smtp_submit_settings_check(void *_set, pool_t pool, const char **err
 
 static const struct setting_define smtp_submit_setting_defines[] = {
        DEF(SET_STR, hostname),
+
        DEF(SET_STR_VARS, submission_host),
        DEF(SET_STR_VARS, sendmail_path),
+       DEF(SET_TIME, submission_timeout),
 
        SETTING_DEFINE_LIST_END
 };
 
 static const struct smtp_submit_settings smtp_submit_default_settings = {
        .hostname = "",
+
        .submission_host = "",
        .sendmail_path = "/usr/sbin/sendmail",
+       .submission_timeout = 30,
 };
 
 const struct setting_parser_info smtp_submit_setting_parser_info = {
index 8792d4e4f820478388e766dd51296753ecb6a3e3..3b7eb1e0ffee90706d5c64b753c1cb12a0c052e8 100644 (file)
@@ -3,8 +3,10 @@
 
 struct smtp_submit_settings {
        const char *hostname;
+
        const char *submission_host;
        const char *sendmail_path;
+       unsigned int submission_timeout;
 };
 
 extern const struct setting_parser_info smtp_submit_setting_parser_info;
index 4da0086e3f1b9da4383298ccf0b9740fcc21ccef..ef3cccfbea1544bfa1310da7564e4d40f3e8556c 100644 (file)
@@ -58,6 +58,7 @@ smtp_submit_session_init(const struct smtp_submit_settings *set)
        session = p_new(pool, struct smtp_submit_session, 1);
        session->pool = pool;
 
+       session->set = *set;
        session->set.hostname = p_strdup_empty(pool, set->hostname);
        session->set.submission_host = p_strdup_empty(pool, set->submission_host);
        session->set.sendmail_path = p_strdup_empty(pool, set->sendmail_path);
@@ -243,8 +244,7 @@ data_callback(enum lmtp_client_result result, const char *reply, void *context)
 }
 
 static void
-smtp_submit_send_host(struct smtp_submit *subm,
-                      unsigned int timeout_secs)
+smtp_submit_send_host(struct smtp_submit *subm)
 {
        const struct smtp_submit_settings *set = &subm->session->set;
        struct lmtp_client_settings client_set;
@@ -263,7 +263,7 @@ smtp_submit_send_host(struct smtp_submit *subm,
        client_set.mail_from = subm->return_path == NULL ? "<>" :
                t_strconcat("<", subm->return_path, ">", NULL);
        client_set.my_hostname = set->hostname;
-       client_set.timeout_secs = timeout_secs;
+       client_set.timeout_secs = set->submission_timeout;
 
        lmtp_client = lmtp_client_init(&client_set,
                smtp_submit_send_host_finished, subm);
@@ -305,8 +305,7 @@ smtp_submit_sendmail_callback(int status, struct smtp_submit *subm)
 }
 
 static void
-smtp_submit_send_sendmail(struct smtp_submit *subm,
-                      unsigned int timeout_secs)
+smtp_submit_send_sendmail(struct smtp_submit *subm)
 {
        const struct smtp_submit_settings *set = &subm->session->set;
        const char *const *sendmail_args, *sendmail_bin, *str;
@@ -334,8 +333,8 @@ smtp_submit_send_sendmail(struct smtp_submit *subm,
        array_append_zero(&args);
 
        i_zero(&pc_set);
-       pc_set.client_connect_timeout_msecs = timeout_secs * 1000;
-       pc_set.input_idle_timeout_msecs = timeout_secs * 1000;
+       pc_set.client_connect_timeout_msecs = set->submission_timeout * 1000;
+       pc_set.input_idle_timeout_msecs = set->submission_timeout * 1000;
        restrict_access_init(&pc_set.restrict_set);
 
        pc = program_client_local_create
@@ -363,8 +362,8 @@ smtp_submit_run_callback(const struct smtp_submit_result *result,
        io_loop_stop(current_ioloop);
 }
 
-int smtp_submit_run_timeout(struct smtp_submit *subm,
-                              unsigned int timeout_secs, const char **error_r)
+int smtp_submit_run(struct smtp_submit *subm,
+                              const char **error_r)
 {
        struct smtp_submit_run_context rctx;
        struct ioloop *ioloop;
@@ -373,7 +372,7 @@ int smtp_submit_run_timeout(struct smtp_submit *subm,
        io_loop_set_running(ioloop);
 
        i_zero(&rctx);
-       smtp_submit_run_async(subm, timeout_secs,
+       smtp_submit_run_async(subm,
                smtp_submit_run_callback, &rctx);
 
        if (io_loop_is_running(ioloop))
@@ -391,14 +390,8 @@ int smtp_submit_run_timeout(struct smtp_submit *subm,
        return rctx.status;
 }
 
-int smtp_submit_run(struct smtp_submit *submit, const char **error_r)
-{
-       return smtp_submit_run_timeout(submit, 0, error_r);
-}
-
 #undef smtp_submit_run_async
 void smtp_submit_run_async(struct smtp_submit *subm,
-                              unsigned int timeout_secs,
                               smtp_submit_callback_t *callback, void *context)
 {
        const struct smtp_submit_settings *set = &subm->session->set;
@@ -411,8 +404,8 @@ void smtp_submit_run_async(struct smtp_submit *subm,
                (&subm->output, IO_BLOCK_SIZE);
 
        if (set->submission_host != NULL) {
-               smtp_submit_send_host(subm, timeout_secs);
+               smtp_submit_send_host(subm);
        } else {
-               smtp_submit_send_sendmail(subm, timeout_secs);
+               smtp_submit_send_sendmail(subm);
        }
 }
index 40c17bdfa38d58e5fd73a9bc36c2f24ba712d1a3..01300be09ebfc9fd257b40f17a6440a7f74fc49d 100644 (file)
@@ -43,10 +43,9 @@ struct ostream *smtp_submit_send(struct smtp_submit *subm);
 /* Submit the message. Callback is called once the message submission
    finishes. */
 void smtp_submit_run_async(struct smtp_submit *subm,
-                              unsigned int timeout_secs,
                               smtp_submit_callback_t *callback, void *context);
-#define smtp_submit_run_async(subm, timeout_secs, callback, context) \
-       smtp_submit_run_async(subm, timeout_secs, \
+#define smtp_submit_run_async(subm, callback, context) \
+       smtp_submit_run_async(subm, \
                (smtp_submit_callback_t*)callback, \
                (char*)context + CALLBACK_TYPECHECK(callback, \
                        void (*)(const struct smtp_submit_result *result, typeof(context))))
@@ -54,7 +53,5 @@ void smtp_submit_run_async(struct smtp_submit *subm,
 /* Returns 1 on success, 0 on permanent failure (e.g. invalid destination),
    -1 on temporary failure. */
 int smtp_submit_run(struct smtp_submit *subm, const char **error_r);
-/* Same as smtp_submit_run(), but timeout after given number of seconds. */
-int smtp_submit_run_timeout(struct smtp_submit *subm,
-                              unsigned int timeout_secs, const char **error_r);
+
 #endif
index 34706ca3dba4d977abe9aaf717a7e4a349e0339a..c94782aaa730ed77fabae12c7348e2bc4c7c43a6 100644 (file)
@@ -100,11 +100,11 @@ static void test_client_deinit(void);
 static int
 test_client_smtp_send_simple(const struct smtp_submit_settings *smtp_set,
        const char *message, const char *host,
-       unsigned int timeout_secs, const char **error_r);
+       const char **error_r);
 static int
 test_client_smtp_send_simple_port(const struct smtp_submit_settings *smtp_set,
        const char *message, unsigned int port,
-       unsigned int timeout_secs, const char **error_r);
+       const char **error_r);
 
 /* test*/
 static const char *test_tmp_dir_get(void);
@@ -132,7 +132,7 @@ test_client_host_lookup_failed(const struct smtp_submit_settings *submit_set)
        int ret;
 
        ret = test_client_smtp_send_simple(submit_set,
-               test_message1, "host.invalid", 5, &error);
+               test_message1, "host.invalid", &error);
        test_out_reason("run (ret < 0)", ret < 0, error);
 
        return FALSE;
@@ -145,6 +145,7 @@ static void test_host_lookup_failed(void)
        struct smtp_submit_settings smtp_submit_set;
 
        test_client_defaults(&smtp_submit_set);
+       smtp_submit_set.submission_timeout = 5;
 
        test_begin("host lookup failed");
        test_expect_errors(1);
@@ -175,7 +176,7 @@ test_client_connection_refused(const struct smtp_submit_settings *submit_set)
        int ret;
 
        ret = test_client_smtp_send_simple_port(submit_set,
-               test_message1, bind_ports[0], 5, &error);
+               test_message1, bind_ports[0], &error);
        test_out_reason("run (ret < 0)", ret < 0, error);
 
        return FALSE;
@@ -188,6 +189,7 @@ static void test_connection_refused(void)
        struct smtp_submit_settings smtp_submit_set;
 
        test_client_defaults(&smtp_submit_set);
+       smtp_submit_set.submission_timeout = 5;
 
        test_begin("connection refused");
        test_expect_errors(1);
@@ -227,7 +229,7 @@ test_client_connection_timed_out(const struct smtp_submit_settings *submit_set)
        io_loop_time_refresh();
        time = ioloop_time;
        ret = test_client_smtp_send_simple_port(submit_set,
-               test_message1, bind_ports[0], 1, &error);
+               test_message1, bind_ports[0], &error);
        test_out_reason("run (ret < 0)", ret < 0, error);
 
        io_loop_time_refresh();
@@ -243,6 +245,7 @@ static void test_connection_timed_out(void)
        struct smtp_submit_settings smtp_submit_set;
 
        test_client_defaults(&smtp_submit_set);
+       smtp_submit_set.submission_timeout = 1;
 
        test_begin("connection timed out");
        test_expect_errors(0);
@@ -287,7 +290,7 @@ test_client_bad_greeting(const struct smtp_submit_settings *submit_set)
        int ret;
 
        ret = test_client_smtp_send_simple_port(submit_set,
-               test_message1, bind_ports[0], 5, &error);
+               test_message1, bind_ports[0], &error);
        // FIXME: lmtp client handles this wrong, the greeting is not "bad"
        //test_out_reason("run", ret == 0, error);
        test_out_reason("run (ret < 0)", ret < 0, error);
@@ -302,6 +305,7 @@ static void test_bad_greeting(void)
        struct smtp_submit_settings smtp_submit_set;
 
        test_client_defaults(&smtp_submit_set);
+       smtp_submit_set.submission_timeout = 5;
 
        test_begin("bad greeting");
        test_expect_errors(0);
@@ -357,7 +361,7 @@ test_client_denied_helo(const struct smtp_submit_settings *submit_set)
        int ret;
 
        ret = test_client_smtp_send_simple_port(submit_set,
-               test_message1, bind_ports[0], 5, &error);
+               test_message1, bind_ports[0], &error);
        // FIXME: lmtp client handles this wrong, the greeting is not "bad"
        //test_out_reason("run", ret == 0, error);
        test_out_reason("run (ret < 0)", ret < 0, error);
@@ -372,6 +376,7 @@ static void test_denied_helo(void)
        struct smtp_submit_settings smtp_submit_set;
 
        test_client_defaults(&smtp_submit_set);
+       smtp_submit_set.submission_timeout = 5;
 
        test_begin("denied helo");
        test_expect_errors(0);
@@ -425,7 +430,7 @@ test_client_disconnect_helo(const struct smtp_submit_settings *submit_set)
        int ret;
 
        ret = test_client_smtp_send_simple_port(submit_set,
-               test_message1, bind_ports[0], 5, &error);
+               test_message1, bind_ports[0], &error);
        // FIXME: lmtp client handles this wrong, the greeting is not "bad"
        //test_out_reason("run", ret == 0, error);
        test_out_reason("run (ret < 0)", ret < 0, error);
@@ -440,6 +445,7 @@ static void test_disconnect_helo(void)
        struct smtp_submit_settings smtp_submit_set;
 
        test_client_defaults(&smtp_submit_set);
+       smtp_submit_set.submission_timeout = 5;
 
        test_begin("disconnect helo");
        test_expect_errors(0);
@@ -529,7 +535,7 @@ test_client_denied_mail(const struct smtp_submit_settings *submit_set)
        int ret;
 
        ret = test_client_smtp_send_simple_port(submit_set,
-               test_message1, bind_ports[0], 5, &error);
+               test_message1, bind_ports[0], &error);
        // FIXME: lmtp client handles this wrong, the greeting is not "bad"
        //test_out_reason("run", ret == 0, error);
        test_out_reason("run (ret < 0)", ret < 0, error);
@@ -544,6 +550,7 @@ static void test_denied_mail(void)
        struct smtp_submit_settings smtp_submit_set;
 
        test_client_defaults(&smtp_submit_set);
+       smtp_submit_set.submission_timeout = 5;
 
        test_begin("denied mail");
        test_expect_errors(0);
@@ -639,7 +646,7 @@ test_client_denied_rcpt(const struct smtp_submit_settings *submit_set)
        int ret;
 
        ret = test_client_smtp_send_simple_port(submit_set,
-               test_message1, bind_ports[0], 5, &error);
+               test_message1, bind_ports[0], &error);
        test_out_reason("run (ret == 0)", ret == 0, error);
 
        return FALSE;
@@ -652,6 +659,7 @@ static void test_denied_rcpt(void)
        struct smtp_submit_settings smtp_submit_set;
 
        test_client_defaults(&smtp_submit_set);
+       smtp_submit_set.submission_timeout = 5;
 
        test_begin("denied rcpt");
        test_expect_errors(0);
@@ -758,6 +766,7 @@ test_client_denied_second_rcpt(const struct smtp_submit_settings *submit_set)
        smtp_submit_set = *submit_set;
        smtp_submit_set.submission_host =
                t_strdup_printf("127.0.0.1:%u", bind_ports[0]);
+       smtp_submit_set.submission_timeout = 1000;
 
        smtp_submit = smtp_submit_init_simple(&smtp_submit_set, "sender@example.com");
 
@@ -766,7 +775,7 @@ test_client_denied_second_rcpt(const struct smtp_submit_settings *submit_set)
        output = smtp_submit_send(smtp_submit);
        o_stream_send_str(output, test_message1);
 
-       ret = smtp_submit_run_timeout(smtp_submit, 1000, &error);
+       ret = smtp_submit_run(smtp_submit, &error);
        test_out_reason("run (ret == 0)", ret == 0, error);
 
        smtp_submit_deinit(&smtp_submit);
@@ -882,7 +891,7 @@ test_client_denied_data(const struct smtp_submit_settings *submit_set)
        int ret;
 
        ret = test_client_smtp_send_simple_port(submit_set,
-               test_message1, bind_ports[0], 5, &error);
+               test_message1, bind_ports[0], &error);
        test_out_reason("run (ret == 0)", ret == 0, error);
 
        return FALSE;
@@ -895,6 +904,7 @@ static void test_denied_data(void)
        struct smtp_submit_settings smtp_submit_set;
 
        test_client_defaults(&smtp_submit_set);
+       smtp_submit_set.submission_timeout = 5;
 
        test_begin("denied data");
        test_expect_errors(0);
@@ -1005,7 +1015,7 @@ test_client_data_failure(const struct smtp_submit_settings *submit_set)
        int ret;
 
        ret = test_client_smtp_send_simple_port(submit_set,
-               test_message1, bind_ports[0], 5, &error);
+               test_message1, bind_ports[0], &error);
        test_out_reason("run (ret == 0)", ret == 0, error);
 
        return FALSE;
@@ -1018,6 +1028,7 @@ static void test_data_failure(void)
        struct smtp_submit_settings smtp_submit_set;
 
        test_client_defaults(&smtp_submit_set);
+       smtp_submit_set.submission_timeout = 5;
 
        test_begin("data failure");
        test_expect_errors(0);
@@ -1123,7 +1134,7 @@ test_client_data_disconnect(const struct smtp_submit_settings *submit_set)
        int ret;
 
        ret = test_client_smtp_send_simple_port(submit_set,
-               test_message1, bind_ports[0], 5, &error);
+               test_message1, bind_ports[0], &error);
        test_out_reason("run (ret < 0)", ret < 0, error);
 
        return FALSE;
@@ -1136,6 +1147,7 @@ static void test_data_disconnect(void)
        struct smtp_submit_settings smtp_submit_set;
 
        test_client_defaults(&smtp_submit_set);
+       smtp_submit_set.submission_timeout = 5;
 
        test_begin("data disconnect");
        test_expect_errors(0);
@@ -1245,7 +1257,7 @@ test_client_data_timout(const struct smtp_submit_settings *submit_set)
        io_loop_time_refresh();
        time = ioloop_time;
        ret = test_client_smtp_send_simple_port(submit_set,
-               test_message1, bind_ports[0], 2, &error);
+               test_message1, bind_ports[0], &error);
        test_out_reason("run (ret < 0)", ret < 0, error);
 
        io_loop_time_refresh();
@@ -1261,6 +1273,7 @@ static void test_data_timeout(void)
        struct smtp_submit_settings smtp_submit_set;
 
        test_client_defaults(&smtp_submit_set);
+       smtp_submit_set.submission_timeout = 2;
 
        test_begin("data timeout");
        test_expect_errors(0);
@@ -1423,7 +1436,7 @@ test_client_successful_delivery(const struct smtp_submit_settings *submit_set)
 
        /* send the message */
        ret = test_client_smtp_send_simple_port(submit_set,
-               test_message1, bind_ports[0], 5, &error);
+               test_message1, bind_ports[0], &error);
        test_out_reason("run (ret > 0)", ret > 0, error);
 
        /* verify delivery */
@@ -1464,6 +1477,7 @@ test_client_parallel_delivery(const struct smtp_submit_settings *submit_set)
        ctx->count = 2;
 
        smtp_submit_set = *submit_set;
+       smtp_submit_set.submission_timeout = 5;
 
        /* submit 1 */
        smtp_submit_set.submission_host =
@@ -1474,7 +1488,7 @@ test_client_parallel_delivery(const struct smtp_submit_settings *submit_set)
        output = smtp_submit_send(smtp_submit1);
        o_stream_send_str(output, test_message1);
 
-       smtp_submit_run_async(smtp_submit1, 5,
+       smtp_submit_run_async(smtp_submit1,
                test_client_parallel_delivery_callback, ctx);
 
        /* submit 2 */
@@ -1486,7 +1500,7 @@ test_client_parallel_delivery(const struct smtp_submit_settings *submit_set)
        output = smtp_submit_send(smtp_submit2);
        o_stream_send_str(output, test_message2);
 
-       smtp_submit_run_async(smtp_submit2, 5,
+       smtp_submit_run_async(smtp_submit2,
                test_client_parallel_delivery_callback, ctx);
 
        io_loop_run(ioloop);
@@ -1550,6 +1564,7 @@ test_client_failed_sendmail(const struct smtp_submit_settings *submit_set)
 
        smtp_submit_set = *submit_set;
        smtp_submit_set.sendmail_path = sendmail_path;
+       smtp_submit_set.submission_timeout = 5;
 
        smtp_submit = smtp_submit_init_simple(&smtp_submit_set, "sender@example.com");
 
@@ -1557,7 +1572,7 @@ test_client_failed_sendmail(const struct smtp_submit_settings *submit_set)
        output = smtp_submit_send(smtp_submit);
        o_stream_send_str(output, test_message1);
 
-       ret = smtp_submit_run_timeout(smtp_submit, 5, &error);
+       ret = smtp_submit_run(smtp_submit, &error);
        test_out_reason("run (ret < 0)", ret < 0, error);
 
        smtp_submit_deinit(&smtp_submit);
@@ -1602,6 +1617,7 @@ test_client_successful_sendmail(const struct smtp_submit_settings *submit_set)
 
        smtp_submit_set = *submit_set;
        smtp_submit_set.sendmail_path = sendmail_path;
+       smtp_submit_set.submission_timeout = 5;
 
        smtp_submit = smtp_submit_init_simple(&smtp_submit_set, "sender@example.com");
 
@@ -1609,7 +1625,7 @@ test_client_successful_sendmail(const struct smtp_submit_settings *submit_set)
        output = smtp_submit_send(smtp_submit);
        o_stream_send_str(output, test_message1);
 
-       ret = smtp_submit_run_timeout(smtp_submit, 5, &error);
+       ret = smtp_submit_run(smtp_submit, &error);
        test_out_reason("run (ret > 0)", ret > 0, error);
 
        smtp_submit_deinit(&smtp_submit);
@@ -1681,6 +1697,7 @@ test_client_parallel_sendmail(const struct smtp_submit_settings *submit_set)
                TEST_BIN_DIR"/sendmail-success.sh %s", msg_path2);
 
        smtp_submit_set = *submit_set;
+       smtp_submit_set.submission_timeout = 5;
 
        /* submit 1 */
        smtp_submit_set.sendmail_path = sendmail_path1;
@@ -1690,7 +1707,7 @@ test_client_parallel_sendmail(const struct smtp_submit_settings *submit_set)
        output = smtp_submit_send(smtp_submit1);
        o_stream_send_str(output, test_message1);
 
-       smtp_submit_run_async(smtp_submit1, 5,
+       smtp_submit_run_async(smtp_submit1,
                test_client_parallel_sendmail_callback, ctx);
 
        /* submit 2 */
@@ -1701,7 +1718,7 @@ test_client_parallel_sendmail(const struct smtp_submit_settings *submit_set)
        output = smtp_submit_send(smtp_submit2);
        o_stream_send_str(output, test_message2);
 
-       smtp_submit_run_async(smtp_submit2, 5,
+       smtp_submit_run_async(smtp_submit2,
                test_client_parallel_sendmail_callback, ctx);
 
        io_loop_run(ioloop);
@@ -1779,7 +1796,7 @@ static void test_client_deinit(void)
 static int
 test_client_smtp_send_simple(const struct smtp_submit_settings *smtp_set,
        const char *message, const char *host,
-       unsigned int timeout_secs, const char **error_r)
+       const char **error_r)
 {
        struct smtp_submit_settings smtp_submit_set;
        struct smtp_submit *smtp_submit;
@@ -1796,7 +1813,7 @@ test_client_smtp_send_simple(const struct smtp_submit_settings *smtp_set,
        output = smtp_submit_send(smtp_submit);
        o_stream_send_str(output, message);
 
-       ret = smtp_submit_run_timeout(smtp_submit, timeout_secs, error_r);
+       ret = smtp_submit_run(smtp_submit, error_r);
 
        smtp_submit_deinit(&smtp_submit);
 
@@ -1804,14 +1821,15 @@ test_client_smtp_send_simple(const struct smtp_submit_settings *smtp_set,
 }
 
 static int
-test_client_smtp_send_simple_port(const struct smtp_submit_settings *smtp_set,
+test_client_smtp_send_simple_port(
+       const struct smtp_submit_settings *smtp_set,
        const char *message, unsigned int port,
-       unsigned int timeout_secs, const char **error_r)
+       const char **error_r)
 {
        const char *host = t_strdup_printf("127.0.0.1:%u", port);
 
        return test_client_smtp_send_simple(smtp_set,
-               message, host, timeout_secs, error_r);
+               message, host, error_r);
 }
 
 /*
index 1eba17a2163b4ff562e81845e313d99f8f895d41..b3838e410902fbbee1b127a7d1b1bc738877f709 100644 (file)
@@ -895,7 +895,6 @@ client_deliver(struct client *client, const struct mail_recipient *rcpt,
        dctx.session = session;
        dctx.pool = session->pool;
        dctx.set = lda_set;
-       dctx.timeout_secs = LDA_SUBMISSION_TIMEOUT_SECS;
        dctx.session_id = rcpt->session_id;
        dctx.src_mail = src_mail;
        dctx.src_envelope_sender = client->state.mail_from;