aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssl_gnutls.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ssl_gnutls.c')
-rw-r--r--lib/ssl_gnutls.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/ssl_gnutls.c b/lib/ssl_gnutls.c
index 62932e86..93601ba6 100644
--- a/lib/ssl_gnutls.c
+++ b/lib/ssl_gnutls.c
@@ -68,6 +68,11 @@ static gboolean ssl_handshake( gpointer data, gint source, b_input_condition con
static void ssl_deinit( void );
+static void ssl_log( int level, const char *line )
+{
+ printf( "%d %s", level, line );
+}
+
void ssl_init( void )
{
if( initialized )
@@ -84,6 +89,11 @@ void ssl_init( void )
}
initialized = TRUE;
+ gnutls_global_set_log_function( ssl_log );
+ /*
+ gnutls_global_set_log_level( 3 );
+ */
+
atexit( ssl_deinit );
}
@@ -366,6 +376,11 @@ int ssl_pending( void *conn )
ssl_errno = SSL_NOHANDSHAKE;
return 0;
}
+
+#if GNUTLS_VERSION_NUMBER >= 0x03000d && GNUTLS_VERSION_NUMBER <= 0x030012
+ if( ssl_errno == SSL_AGAIN )
+ return 0;
+#endif
return gnutls_record_check_pending( ((struct scd*)conn)->session ) != 0;
}