You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "James E. King, III (JIRA)" <ji...@apache.org> on 2017/10/06 12:24:00 UTC

[jira] [Resolved] (THRIFT-4331) C++: TSSLSockets bug in handling huge messages, bug in handling polling

     [ https://issues.apache.org/jira/browse/THRIFT-4331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

James E. King, III resolved THRIFT-4331.
----------------------------------------
       Resolution: Fixed
    Fix Version/s: 0.11.0

Committed - thanks.

> C++: TSSLSockets bug in handling huge messages, bug in handling polling
> -----------------------------------------------------------------------
>
>                 Key: THRIFT-4331
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4331
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Library
>    Affects Versions: 0.10.0
>            Reporter: Martin Haimberger
>            Assignee: James E. King, III
>             Fix For: 0.11.0
>
>         Attachments: 0.10.0-THRIFT-4331.patch, master-THRIFT-4331.patch
>
>
> The TSSLSocket class did not handle large messages, because a underlying TCP socket may signal bytes received, while SSL_read() may not have bytes available. After maxretries (5) the function returned -1, which got interpreted as unsigned integer for read bytes.
> Futher the waitForEvent methode, did only set THRIFT_POLLIN or THRIFT_POLLOUT, but it gets used where SSL needs to send AND receive bytes for some operations (like close). So in the case of write wanted, THRIFT_POLLIN is also set to cover these read/write operations.
> Pullrequest for master and 0.10.0 branch will follow.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)