diff options
| author | kenobi <kenobi@rhea> | 2007-12-19 00:59:35 +0100 | 
|---|---|---|
| committer | kenobi <kenobi@rhea> | 2007-12-19 00:59:35 +0100 | 
| commit | eded1f703a8f5d2272b9d294d8e3dfb48fa302b4 (patch) | |
| tree | 9f372f50d123a258640c91a6dc3c027d9c8df4aa /lib | |
| parent | dc0ba9c85539533349353713162f94077fb27be3 (diff) | |
Merged in 280..288 from upstream (e.g. PING)
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/misc.c | 10 | ||||
| -rw-r--r-- | lib/misc.h | 2 | ||||
| -rw-r--r-- | lib/ssl_gnutls.c | 6 | 
3 files changed, 16 insertions, 2 deletions
| @@ -44,6 +44,8 @@  #include <resolv.h>  #endif +#include "ssl_client.h" +  void strip_linefeed(gchar *text)  {  	int i, j; @@ -590,3 +592,11 @@ char *word_wrap( char *msg, int line_len )  	return g_string_free( ret, FALSE );  } + +gboolean ssl_sockerr_again( void *ssl ) +{ +	if( ssl ) +		return ssl_errno == SSL_AGAIN; +	else +		return sockerr_again(); +} @@ -65,4 +65,6 @@ G_MODULE_EXPORT struct ns_srv_reply *srv_lookup( char *service, char *protocol,  G_MODULE_EXPORT char *word_wrap( char *msg, int line_len ); +G_MODULE_EXPORT gboolean ssl_sockerr_again( void *ssl ); +  #endif diff --git a/lib/ssl_gnutls.c b/lib/ssl_gnutls.c index 221a2862..b964ab49 100644 --- a/lib/ssl_gnutls.c +++ b/lib/ssl_gnutls.c @@ -222,8 +222,10 @@ void ssl_disconnect( void *conn_ )  	closesocket( conn->fd ); -	gnutls_deinit( conn->session ); -	gnutls_certificate_free_credentials( conn->xcred ); +	if( conn->session ) +		gnutls_deinit( conn->session ); +	if( conn->xcred ) +		gnutls_certificate_free_credentials( conn->xcred );  	g_free( conn );  } | 
