Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-4331

C++: TSSLSockets bug in handling huge messages, bug in handling polling

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.10.0
    • 0.11.0
    • C++ - Library
    • None
    • Patch Available
    • Patch, Important

    Description

      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.

      Attachments

        1. master-THRIFT-4331.patch
          5 kB
          Martin Haimberger
        2. 0.10.0-THRIFT-4331.patch
          5 kB
          Martin Haimberger

        Issue Links

          Activity

            People

              jking3 James E. King III
              martinhaimberger Martin Haimberger
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: