[omniORB] Omniorb hangs on reading within SSL connection

Daniel Laügt daniel.laugt at wallstreetsystems.com
Wed May 27 14:46:07 BST 2015


Hi,



Omniorb hangs on reading a big output parameter (usually a sequence of
struct) from a calling method of an IDL interface with SSL connection.



It seems this is a regression from:

http://sourceforge.net/p/omniorb/svn/6158/



The bytes are already buffered in the SSL object but omniorb tries to read
those bytes from the socket instead of using directly SSL_read().



I propose the following patch which resolves my issue:

Index: src/lib/omniORB/orbcore/ssl/sslConnection.cc

===================================================================

--- src/lib/omniORB/orbcore/ssl/sslConnection.cc            (revision
255787)

+++ src/lib/omniORB/orbcore/ssl/sslConnection.cc         (working copy)

@@ -197,7 +197,7 @@

       return 0;

     }

-    if (t.tv_sec || t.tv_usec) {

+    if ((t.tv_sec || t.tv_usec) && SSL_pending(pd_ssl) <= 0 ) {

       setNonBlocking();

       rx = tcpSocket::waitRead(pd_socket, t);



Regards,

Daniel.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20150527/7244d2f0/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ssl.patch
Type: application/octet-stream
Size: 474 bytes
Desc: not available
URL: <http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20150527/7244d2f0/attachment.obj>


More information about the omniORB-list mailing list