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

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

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.10.0
    • Fix Version/s: 0.11.0
    • Component/s: C++ - Library
    • Labels:
      None
    • Patch Info:
      Patch Available
    • Flags:
      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. 0.10.0-THRIFT-4331.patch
          5 kB
          Martin Haimberger
        2. master-THRIFT-4331.patch
          5 kB
          Martin Haimberger

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: