From: Stephan Bosch Date: Fri, 16 Feb 2018 08:34:48 +0000 (+0100) Subject: lib-smtp: server: Use the stream_errno to evaluate output stream errors. X-Git-Tag: 2.3.1~137 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9646fef924dd3627fb86bcf43870bc4fd39824fc;p=thirdparty%2Fdovecot%2Fcore.git lib-smtp: server: Use the stream_errno to evaluate output stream errors. Code was using global errno. --- diff --git a/src/lib-smtp/smtp-server-connection.c b/src/lib-smtp/smtp-server-connection.c index 73261eef03..8500318086 100644 --- a/src/lib-smtp/smtp-server-connection.c +++ b/src/lib-smtp/smtp-server-connection.c @@ -689,7 +689,8 @@ int smtp_server_connection_flush(struct smtp_server_connection *conn) if ((ret = o_stream_flush(output)) <= 0) { if (ret < 0) { - if (errno != EPIPE && errno != ECONNRESET) { + if (output->stream_errno != EPIPE && + output->stream_errno != ECONNRESET) { smtp_server_connection_error(conn, "Connection lost: write(%s) failed: %s", o_stream_get_name(output), diff --git a/src/lib-smtp/smtp-server-reply.c b/src/lib-smtp/smtp-server-reply.c index 4482729f8f..d785e906c2 100644 --- a/src/lib-smtp/smtp-server-reply.c +++ b/src/lib-smtp/smtp-server-reply.c @@ -415,7 +415,8 @@ static int smtp_server_reply_send_real(struct smtp_server_reply *reply, } if (o_stream_send(output, str_data(textbuf), str_len(textbuf)) < 0) { - if (errno != EPIPE && errno != ECONNRESET) { + if (output->stream_errno != EPIPE && + output->stream_errno != ECONNRESET) { *error_r = t_strdup_printf("write(%s) failed: %s", o_stream_get_name(output), o_stream_get_error(output));