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)

Reply via email to