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)