summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPhilip Hazel <ph10@hermes.cam.ac.uk>2005-01-14 10:25:33 +0000
committerPhilip Hazel <ph10@hermes.cam.ac.uk>2005-01-14 10:25:33 +0000
commitc9bdd01cc4b25b31358280605e6ca05a90835da3 (patch)
treef376cddfc520d68bb3884fdc44e6a911811140a5 /src
parent24031e600c0b5b08fc5d2d6594201797641d10d6 (diff)
Don't send QUIT after a timeout in a callout connection.
Diffstat (limited to 'src')
-rw-r--r--src/src/verify.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/src/verify.c b/src/src/verify.c
index f5f6b5d32..8b8e32973 100644
--- a/src/src/verify.c
+++ b/src/src/verify.c
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/verify.c,v 1.12 2005/01/12 15:41:27 ph10 Exp $ */
+/* $Cambridge: exim/src/src/verify.c,v 1.13 2005/01/14 10:25:33 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -377,6 +377,7 @@ for (host = host_list; host != NULL && !done; host = host->next)
smtp_outblock outblock;
int host_af;
int port = 25;
+ BOOL send_quit = TRUE;
uschar *helo = US"HELO";
uschar *interface = NULL; /* Outgoing interface to use; NULL => any */
uschar inbuffer[4096];
@@ -609,6 +610,7 @@ for (host = host_list; host != NULL && !done; host = host->next)
if (errno == ETIMEDOUT)
{
HDEBUG(D_verify) debug_printf("SMTP timeout\n");
+ send_quit = FALSE;
}
else if (errno == 0)
{
@@ -637,7 +639,7 @@ for (host = host_list; host != NULL && !done; host = host->next)
/* End the SMTP conversation and close the connection. */
- (void)smtp_write_command(&outblock, FALSE, "QUIT\r\n");
+ if (send_quit) (void)smtp_write_command(&outblock, FALSE, "QUIT\r\n");
close(inblock.sock);
} /* Loop through all hosts, while !done */