You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gs...@apache.org on 2012/11/05 20:52:35 UTC

svn commit: r1405928 - /qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/SaslImpl.java

Author: gsim
Date: Mon Nov  5 19:52:34 2012
New Revision: 1405928

URL: http://svn.apache.org/viewvc?rev=1405928&view=rev
Log:
PROTON-119: prevent possible premature switch from SASL output

Modified:
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/SaslImpl.java

Modified: qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/SaslImpl.java
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/SaslImpl.java?rev=1405928&r1=1405927&r2=1405928&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/SaslImpl.java (original)
+++ qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/SaslImpl.java Mon Nov  5 19:52:34 2012
@@ -61,6 +61,7 @@ public class SaslImpl implements Sasl, S
     private SaslFrameParser _frameParser;
     private boolean _initReceived;
     private boolean _mechanismsSent;
+    private boolean _initSent;
 
 
     enum Role { CLIENT, SERVER };
@@ -429,6 +430,7 @@ public class SaslImpl implements Sasl, S
             init.setInitialResponse(getChallengeResponse());
             setChallengeResponse(null);
         }
+        _initSent = true;
         return writeFrame(buffer, init);
     }
 
@@ -491,7 +493,7 @@ public class SaslImpl implements Sasl, S
             @Override
             public int output(byte[] bytes, int offset, int size)
             {
-                if(_role == null || (_role == Role.CLIENT && !_done) || (_role == Role.SERVER && !_outputComplete))
+                if(_role == null || (_role == Role.CLIENT && (!_done || !_initSent)) || (_role == Role.SERVER && !_outputComplete))
                 {
                     int written = SaslImpl.this.output(bytes, offset, size);
                     if(_done && !_overflowBuffer.hasRemaining())



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org