Do not consider handshaking done if some error was returned.
authorThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Thu, 2 Jul 2009 18:35:49 +0000 (15:35 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Thu, 2 Jul 2009 18:35:49 +0000 (15:35 -0300)
ssl_server.c

index bc68080..3397ae1 100644 (file)
@@ -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