From 34b1d8c1867c8287d8cfd6cc5d807ea2e9e3f70e Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Thu, 2 Jul 2009 15:35:49 -0300 Subject: [PATCH] Do not consider handshaking done if some error was returned. --- ssl_server.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/ssl_server.c b/ssl_server.c index bc68080..3397ae1 100644 --- a/ssl_server.c +++ b/ssl_server.c @@ -109,11 +109,14 @@ ssl_server_connect (net_hook_t *hook) ssl->handshaking = TRUE; if ((error = gnutls_handshake (ssl->session)) < 0) { - g_message ("%satal error while doing TLS handshaking.\n", - gnutls_error_is_fatal (error) ? "F" : "Nonf"); - g_message ("%s\n", gnutls_strerror (error)); + if (gnutls_error_is_fatal (error)) + g_critical ("Fatal error while doing TLS handshaking: %s\n", + gnutls_strerror (error)); + } + if (error != GNUTLS_E_AGAIN && error != GNUTLS_E_INTERRUPTED) + { + ssl->handshaking = FALSE; } - ssl->handshaking = FALSE; } static void -- 2.20.1