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: [email protected]
For additional commands, e-mail: [email protected]