From: Nikos Mavrogiannopoulos Date: Wed, 3 Mar 2010 12:13:32 +0000 (+0100) Subject: gnutls-serv will terminate connection on rehandshake errors. X-Git-Tag: gnutls_2_9_10~59 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cf2059a9c27cd4972a4ba714d3c0cccd5746231c;p=thirdparty%2Fgnutls.git gnutls-serv will terminate connection on rehandshake errors. --- diff --git a/src/serv.c b/src/serv.c index 79859c7469..a66915ed97 100644 --- a/src/serv.c +++ b/src/serv.c @@ -1222,7 +1222,7 @@ main (int argc, char **argv) ret = gnutls_alert_send_appropriate (j->tls_session, r); } - while (ret == GNUTLS_E_AGAIN); + while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED); j->http_state = HTTP_STATE_CLOSING; } else if (r == 0) @@ -1261,6 +1261,18 @@ main (int argc, char **argv) r = gnutls_handshake (j->tls_session); } while (r == GNUTLS_E_INTERRUPTED || r == GNUTLS_E_AGAIN); + if (r < 0) + { + + do + { + ret = gnutls_alert_send_appropriate (j->tls_session, r); + } + while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED); + + GERR (r); + j->http_state = HTTP_STATE_CLOSING; + } } else {