summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2018-01-27 15:03:01 +0000
committerJeremy Harris <jgh146exb@wizmail.org>2018-01-27 15:03:01 +0000
commitf1fed05bfbcf83b7d504ea68d136c4a923d070ea (patch)
tree8f3f7769163bd9530aefcc0083441642b793352e /src
parentf83a760f108f79279c210e208bb02c270569a951 (diff)
GnuTLS: fix to ignore timeout on unrelated callout connection. Bug 2174
Diffstat (limited to 'src')
-rw-r--r--src/src/tls-gnu.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/src/tls-gnu.c b/src/src/tls-gnu.c
index 5c9fd3965..3a45999aa 100644
--- a/src/src/tls-gnu.c
+++ b/src/src/tls-gnu.c
@@ -2364,10 +2364,8 @@ DEBUG(D_tls) debug_printf("about to gnutls_handshake\n");
sigalrm_seen = FALSE;
alarm(ob->command_timeout);
do
- {
rc = gnutls_handshake(state->session);
- } while ((rc == GNUTLS_E_AGAIN) ||
- (rc == GNUTLS_E_INTERRUPTED && !sigalrm_seen));
+while (rc == GNUTLS_E_AGAIN || rc == GNUTLS_E_INTERRUPTED && !sigalrm_seen);
alarm(0);
if (rc != GNUTLS_E_SUCCESS)
@@ -2483,6 +2481,7 @@ ssize_t inbytes;
DEBUG(D_tls) debug_printf("Calling gnutls_record_recv(%p, %p, %u)\n",
state->session, state->xfer_buffer, ssl_xfer_buffer_size);
+sigalrm_seen = FALSE;
if (smtp_receive_timeout > 0) alarm(smtp_receive_timeout);
inbytes = gnutls_record_recv(state->session, state->xfer_buffer,
MIN(ssl_xfer_buffer_size, lim));