diff options
Diffstat (limited to 'chat/bitlbee/patches/patch-ae')
-rw-r--r-- | chat/bitlbee/patches/patch-ae | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/chat/bitlbee/patches/patch-ae b/chat/bitlbee/patches/patch-ae new file mode 100644 index 00000000000..c14614121af --- /dev/null +++ b/chat/bitlbee/patches/patch-ae @@ -0,0 +1,23 @@ +Fix stalling issue with OpenSSL and Jabber +From http://bugs.bitlbee.org/bitlbee/changeset/devel%2C359 + +$NetBSD: patch-ae,v 1.1 2008/04/20 09:29:45 tonio Exp $ + +--- protocols/jabber/io.c.orig Sat Feb 16 23:39:47 2008 ++++ protocols/jabber/io.c +@@ -240,8 +240,13 @@ static gboolean jabber_read_callback( gp + return FALSE; + } + +- /* EAGAIN/etc or a successful read. */ +- return TRUE; ++ if( ssl_pending( jd->ssl ) ) ++ /* OpenSSL empties the TCP buffers completely but may keep some ++ data in its internap buffers. select() won't see that, but ++ ssl_pending() does. */ ++ return jabber_read_callback( data, fd, cond ); ++ else ++ return TRUE; + } + + gboolean jabber_connected_plain( gpointer data, gint source, b_input_condition cond ) |