diff options
author | Philip Hazel <ph10@hermes.cam.ac.uk> | 2005-12-22 14:54:50 +0000 |
---|---|---|
committer | Philip Hazel <ph10@hermes.cam.ac.uk> | 2005-12-22 14:54:50 +0000 |
commit | 19b9dc856cc9406bc685eed974a127f327a42815 (patch) | |
tree | eec3bb5cf0b923ce24e75bed5dd8f94453e85bbd /src | |
parent | 7a10041529b179cd45a71ebe579af5e2eeddb51d (diff) |
Treat ECONNRESET the same as an end-of-file indication.
Diffstat (limited to 'src')
-rw-r--r-- | src/src/transports/smtp.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/src/transports/smtp.c b/src/src/transports/smtp.c index 7447be179..8deaeeadd 100644 --- a/src/src/transports/smtp.c +++ b/src/src/transports/smtp.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/transports/smtp.c,v 1.18 2005/12/06 10:25:59 ph10 Exp $ */ +/* $Cambridge: exim/src/src/transports/smtp.c,v 1.19 2005/12/22 14:54:50 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -462,11 +462,12 @@ if (buffer[0] != 0) } /* No data was read. If there is no errno, this must be the EOF (i.e. -connection closed) case, which causes deferral. Otherwise, put the host's -identity in the message, leaving the errno value to be interpreted as well. In -all cases, we have to assume the connection is now dead. */ +connection closed) case, which causes deferral. An explicit connection reset +error has the same effect. Otherwise, put the host's identity in the message, +leaving the errno value to be interpreted as well. In all cases, we have to +assume the connection is now dead. */ -if (*errno_value == 0) +if (*errno_value == 0 || *errno_value == ECONNRESET) { *errno_value = ERRNO_SMTPCLOSED; *message = US string_sprintf("Remote host %s [%s] closed connection " |