diff options
Diffstat (limited to 'chat/bitlbee/patches/patch-ad')
-rw-r--r-- | chat/bitlbee/patches/patch-ad | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/chat/bitlbee/patches/patch-ad b/chat/bitlbee/patches/patch-ad deleted file mode 100644 index b4f1234420f..00000000000 --- a/chat/bitlbee/patches/patch-ad +++ /dev/null @@ -1,50 +0,0 @@ -$NetBSD: patch-ad,v 1.2 2008/04/20 09:31:05 tonio Exp $ - -Fix stalling issue with OpenSSL and Jabber -From http://bugs.bitlbee.org/bitlbee/changeset/devel%2C359 - ---- lib/ssl_openssl.c.orig Sat Jun 30 23:18:42 2007 -+++ lib/ssl_openssl.c -@@ -61,16 +61,16 @@ void *ssl_connect( char *host, int port, - struct scd *conn = g_new0( struct scd, 1 ); - - conn->fd = proxy_connect( host, port, ssl_connected, conn ); -- conn->func = func; -- conn->data = data; -- conn->inpa = -1; -- - if( conn->fd < 0 ) - { - g_free( conn ); - return NULL; - } - -+ conn->func = func; -+ conn->data = data; -+ conn->inpa = -1; -+ - return conn; - } - -@@ -228,6 +228,21 @@ int ssl_write( void *conn, const char *b - } - - return st; -+} -+ -+/* Only OpenSSL *really* needs this (and well, maybe NSS). See for more info: -+ http://www.gnu.org/software/gnutls/manual/gnutls.html#index-gnutls_005frecord_005fcheck_005fpending-209 -+ http://www.openssl.org/docs/ssl/SSL_pending.html -+ -+ Required because OpenSSL empties the TCP buffer completely but doesn't -+ necessarily give us all the unencrypted data. -+ -+ Returns 0 if there's nothing left or if we don't have to care (GnuTLS), -+ 1 if there's more data. */ -+int ssl_pending( void *conn ) -+{ -+ return ( ((struct scd*)conn) && ((struct scd*)conn)->established ) ? -+ SSL_pending( ((struct scd*)conn)->ssl ) > 0 : 0; - } - - void ssl_disconnect( void *conn_ ) |