]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lmtp client: Fail immediately if server disconnects.
authorTimo Sirainen <tss@iki.fi>
Mon, 16 Nov 2009 21:05:51 +0000 (16:05 -0500)
committerTimo Sirainen <tss@iki.fi>
Mon, 16 Nov 2009 21:05:51 +0000 (16:05 -0500)
--HG--
branch : HEAD

src/lib-lda/lmtp-client.c

index 88f8f0b144e5c7a0ae4d848cfe7c3e32865a09b3..74d0bdd9c3cece845753a87a82c43d2514507404 100644 (file)
@@ -378,6 +378,11 @@ static void lmtp_client_input(struct lmtp_client *client)
        if (client->input->stream_errno != 0) {
                errno = client->input->stream_errno;
                i_error("lmtp client: read() failed: %m");
+               lmtp_client_fail(client, ERRSTR_TEMP_REMOTE_FAILURE
+                                " (read failure)");
+       } else if (client->input->eof) {
+               lmtp_client_fail(client, ERRSTR_TEMP_REMOTE_FAILURE
+                                " (disconnected in input)");
        }
        lmtp_client_unref(&client);
 }