diff options
author | ulim <a.sporto+bee@gmail.com> | 2007-12-19 01:24:32 +0100 |
---|---|---|
committer | ulim <a.sporto+bee@gmail.com> | 2007-12-19 01:24:32 +0100 |
commit | 0fbd3a6d26d8fe747bd5e061748e75f397801064 (patch) | |
tree | 7a731363cfd014eb59ce65734c52cbc3d46b1b73 /lib | |
parent | 793cc254ad2479d95d00266d6cb7ab2bcd158834 (diff) | |
parent | 2379566b07de55bd0f59503c39ba253ce2556877 (diff) |
Now with sending via a proxy. The proxy is automatically discovered from your
jabber server.
Also merged in revs 279..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 ); } |