Below is a hacky patch that makes elinks using gnutls load
https://tracker.debian.org/mlterm.

It would be cleaner to use gnutls_handshake_set_timeout().

diff --git a/src/network/ssl/socket.c b/src/network/ssl/socket.c
index 23273046..4627629b 100644
--- a/src/network/ssl/socket.c
+++ b/src/network/ssl/socket.c
@@ -553,8 +553,10 @@ ssl_read(struct socket *socket, unsigned char *data, int 
len)
 #endif
 
 #ifdef CONFIG_GNUTLS
-               if (err == GNUTLS_E_REHANDSHAKE)
-                       return -1;
+               if (err == GNUTLS_E_REHANDSHAKE) {
+                       while (ssl_do_connect(socket) == SSL_ERROR_WANT_READ);
+                       return ssl_read(socket, data, len);
+               }
 #endif
 
                if (err == SSL_ERROR_WANT_READ ||
-- 
http://lists.linuxfromscratch.org/listinfo/elinks-dev
Unsubscribe: See the above information page

Reply via email to