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)