On Saturday, November 4, 2017 11:16:17 PM CET Felix Janda wrote: > 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 ||
Not that I know gnutls API but the fix does not look correct... Would not it busy loop until the needed data arrives over the network? Kamil -- http://lists.linuxfromscratch.org/listinfo/elinks-dev Unsubscribe: See the above information page