Dan Burkert created THRIFT-4483: ----------------------------------- Summary: Java TSaslTransport does not respect SASL RAW_SEND_SIZE Key: THRIFT-4483 URL: https://issues.apache.org/jira/browse/THRIFT-4483 Project: Thrift Issue Type: Bug Affects Versions: 0.11.0 Reporter: Dan Burkert
The Java {{TSaslTransport}}, when auth-conf or auth-int is enabled, doesn't respect the SASL negotiated maximum send buffer size. The result is that the Thrift SASL transport will transmit SASL encoded frames larger than the buffer size, the receiver may not be able to decode. The JDK's {{SaslOutputStream}} handles this correctly by 'packetizing' the outgoing message; see [SaslOutputStream.write|https://github.com/dmlloyd/openjdk/blob/342a565a2da8abd69c4ab85e285bb5f03b48b2c9/src/java.naming/share/classes/com/sun/jndi/ldap/sasl/SaslOutputStream.java#L74-L102] for an example, especially how the {{recvMaxBufSize}} field is used. This is problematic for Thrift implementations which use RFC 4422 compliant SASL implementations such as Cyrus SASL, since large messages sent by the Java implementation can't be received. -- This message was sent by Atlassian JIRA (v7.6.3#76005)