From: Adam Dickmeiss Date: Thu, 15 Nov 2012 11:26:30 +0000 (+0100) Subject: Fix tcpip_rcvconnect for gnutls comstack X-Git-Tag: v4.2.46~1 X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=commitdiff_plain;h=e846acf0e4432c35247996c9ff6988820b6d354f;hp=93c659dcd8c21e3ba1b9b1f18fecf229bdce996b Fix tcpip_rcvconnect for gnutls comstack It was broken in the non-blocking case. --- diff --git a/src/tcpip.c b/src/tcpip.c index 492cfef..4efc19a 100644 --- a/src/tcpip.c +++ b/src/tcpip.c @@ -580,21 +580,20 @@ int tcpip_rcvconnect(COMSTACK h) #if HAVE_GNUTLS_H if (h->type == ssl_type && !sp->session) { - int res; gnutls_global_init(); - tcpip_create_cred(h); - gnutls_init(&sp->session, GNUTLS_CLIENT); gnutls_set_default_priority(sp->session); gnutls_credentials_set (sp->session, GNUTLS_CRD_CERTIFICATE, sp->cred_ptr->xcred); - /* cast to intermediate size_t to avoid GCC warning. */ gnutls_transport_set_ptr(sp->session, (gnutls_transport_ptr_t) (size_t) h->iofile); - res = gnutls_handshake(sp->session); + } + if (sp->session) + { + int res = gnutls_handshake(sp->session); if (res < 0) { if (ssl_check_error(h, sp, res))