[ https://issues.apache.org/jira/browse/HADOOP-9421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13689961#comment-13689961 ]
Luke Lu commented on HADOOP-9421: --------------------------------- bq. Luke, Is there a sufficient need to add a new state REINITIATE ? The only benefit is that it avoids a isSupportedInitiate() call. Yes. It's the most straightforward way to avoid a initiate/negotiate loop besides debuggability :) Bad SASL to secure example: {code} C -> S connectionHeader(SASL), INITIATE([(INVALID, ...)]) C <- S NEGOTIATE([(TOKEN, DIGEST-MD5), (KERBEROS, GSSAPI), ...]) // due to isSupportedInitiate returning false. C -> S REINITIATE([(INVALID, ...)]) // note, there is no transition from REINITIATE to NEGOTIATE C <- S S RPC Exception "INVALID not supported", connection closed {code} The code is simple and hopefully not too subtle (see Connection#saslReadAndProcess and ProcessSaslMessage). > Convert SASL to use ProtoBuf and add lengths for non-blocking processing > ------------------------------------------------------------------------ > > Key: HADOOP-9421 > URL: https://issues.apache.org/jira/browse/HADOOP-9421 > Project: Hadoop Common > Issue Type: Sub-task > Affects Versions: 2.0.3-alpha > Reporter: Sanjay Radia > Assignee: Daryn Sharp > Priority: Blocker > Attachments: HADOOP-9421.patch, HADOOP-9421.patch, HADOOP-9421.patch, > HADOOP-9421.patch, HADOOP-9421.patch, HADOOP-9421.patch, HADOOP-9421.patch, > HADOOP-9421.patch, HADOOP-9421-v2-demo.patch > > -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira