Doing large (> 5k) requests via https (http works fine) leads to a timeout/failure with sblim-sfcb.
Cause:
There is a 5k buffer for socket i/o. However, SSL goes via openssl
lib for decryption and openssl keeps its own buffer for the plain (decrypted)
data.
If the http request size is larger than 5k, select() is called to check for
data ready to be read from the socket. This however fails for https since the
data is in openssl's buffer and not on the socket, so the select() times out.
The fix is to check for data pending in the openssl buffer before checking the
socket.
(Reference: https://bugzilla.novell.com/show_bug.cgi?id=716299\)
Patch against httpAdapter for sblim-sfcb-1.3.13
committed patch (1.3 branch)
committed to CVS HEAD and git master