public class org.apache.qpid.proton.engine.impl.SaslImpl extends java.lang.Object implements org.apache.qpid.proton.engine.Sasl, org.apache.qpid.proton.amqp.security.SaslFrameBody$SaslFrameBodyHandler, org.apache.qpid.proton.engine.impl.SaslFrameHandler, org.apache.qpid.proton.engine.impl.TransportLayer
{
private static final java.util.logging.Logger _logger;
public static final byte SASL_FRAME_TYPE;
private static final java.lang.String HEADER_DESCRIPTION;
private final org.apache.qpid.proton.codec.DecoderImpl _decoder;
private final org.apache.qpid.proton.codec.EncoderImpl _encoder;
private final org.apache.qpid.proton.engine.impl.TransportImpl _transport;
private boolean _tail_closed;
private boolean _head_closed;
private final int _maxFrameSize;
private final org.apache.qpid.proton.engine.impl.FrameWriter _frameWriter;
private java.nio.ByteBuffer _pending;
private boolean _headerWritten;
private org.apache.qpid.proton.amqp.Binary _challengeResponse;
private org.apache.qpid.proton.engine.impl.SaslFrameParser _frameParser;
private boolean _initReceived;
private boolean _mechanismsSent;
private boolean _initSent;
private org.apache.qpid.proton.engine.Sasl$SaslOutcome _outcome;
private org.apache.qpid.proton.engine.Sasl$SaslState _state;
private java.lang.String _hostname;
private boolean _done;
private org.apache.qpid.proton.amqp.Symbol[] _mechanisms;
private org.apache.qpid.proton.amqp.Symbol _chosenMechanism;
private org.apache.qpid.proton.engine.impl.SaslImpl$Role _role;
private boolean _allowSkip;
private org.apache.qpid.proton.engine.SaslListener _saslListener;
static final boolean $assertionsDisabled;
void <init>(org.apache.qpid.proton.engine.impl.TransportImpl, int)
{
org.apache.qpid.proton.engine.impl.TransportImpl v, v, v;
org.apache.qpid.proton.engine.Sasl$SaslOutcome v;
org.apache.qpid.proton.engine.impl.SaslFrameParser v;
int v;
org.apache.qpid.proton.engine.impl.FrameWriter v;
org.apache.qpid.proton.codec.EncoderImpl v, v, v;
org.apache.qpid.proton.engine.Sasl$SaslState v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
org.apache.qpid.proton.codec.DecoderImpl v, v, v, v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v := @parameter: org.apache.qpid.proton.engine.impl.TransportImpl;
v := @parameter: int;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new org.apache.qpid.proton.codec.DecoderImpl;
specialinvoke v.<org.apache.qpid.proton.codec.DecoderImpl: void <init>()>();
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.codec.DecoderImpl _decoder> = v;
v = new org.apache.qpid.proton.codec.EncoderImpl;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.codec.DecoderImpl _decoder>;
specialinvoke v.<org.apache.qpid.proton.codec.EncoderImpl: void <init>(org.apache.qpid.proton.codec.DecoderImpl)>(v);
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.codec.EncoderImpl _encoder> = v;
v.<org.apache.qpid.proton.engine.impl.SaslImpl: boolean _tail_closed> = 0;
v.<org.apache.qpid.proton.engine.impl.SaslImpl: boolean _head_closed> = 0;
v = <org.apache.qpid.proton.engine.Sasl$SaslOutcome: org.apache.qpid.proton.engine.Sasl$SaslOutcome PN_SASL_NONE>;
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslOutcome _outcome> = v;
v = <org.apache.qpid.proton.engine.Sasl$SaslState: org.apache.qpid.proton.engine.Sasl$SaslState PN_SASL_IDLE>;
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslState _state> = v;
v.<org.apache.qpid.proton.engine.impl.SaslImpl: boolean _allowSkip> = 1;
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.TransportImpl _transport> = v;
v.<org.apache.qpid.proton.engine.impl.SaslImpl: int _maxFrameSize> = v;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.codec.DecoderImpl _decoder>;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.codec.EncoderImpl _encoder>;
staticinvoke <org.apache.qpid.proton.codec.AMQPDefinedTypes: void registerAllTypes(org.apache.qpid.proton.codec.Decoder,org.apache.qpid.proton.codec.EncoderImpl)>(v, v);
v = new org.apache.qpid.proton.engine.impl.SaslFrameParser;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.codec.DecoderImpl _decoder>;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.TransportImpl _transport>;
specialinvoke v.<org.apache.qpid.proton.engine.impl.SaslFrameParser: void <init>(org.apache.qpid.proton.engine.impl.SaslFrameHandler,org.apache.qpid.proton.codec.ByteBufferDecoder,int,org.apache.qpid.proton.engine.impl.TransportImpl)>(v, v, v, v);
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.SaslFrameParser _frameParser> = v;
v = new org.apache.qpid.proton.engine.impl.FrameWriter;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.codec.EncoderImpl _encoder>;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.TransportImpl _transport>;
specialinvoke v.<org.apache.qpid.proton.engine.impl.FrameWriter: void <init>(org.apache.qpid.proton.codec.EncoderImpl,int,byte,org.apache.qpid.proton.engine.impl.TransportImpl)>(v, v, 1, v);
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.FrameWriter _frameWriter> = v;
return;
}
void fail()
{
org.apache.qpid.proton.engine.impl.SaslImpl$Role v, v, v, v;
org.apache.qpid.proton.engine.Sasl$SaslOutcome v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.SaslImpl$Role _role>;
if v == null goto label;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.SaslImpl$Role _role>;
v = <org.apache.qpid.proton.engine.impl.SaslImpl$Role: org.apache.qpid.proton.engine.impl.SaslImpl$Role CLIENT>;
if v != v goto label;
label:
v = <org.apache.qpid.proton.engine.impl.SaslImpl$Role: org.apache.qpid.proton.engine.impl.SaslImpl$Role CLIENT>;
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.SaslImpl$Role _role> = v;
v.<org.apache.qpid.proton.engine.impl.SaslImpl: boolean _initSent> = 1;
goto label;
label:
v.<org.apache.qpid.proton.engine.impl.SaslImpl: boolean _initReceived> = 1;
label:
v.<org.apache.qpid.proton.engine.impl.SaslImpl: boolean _done> = 1;
v = <org.apache.qpid.proton.engine.Sasl$SaslOutcome: org.apache.qpid.proton.engine.Sasl$SaslOutcome PN_SASL_SYS>;
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslOutcome _outcome> = v;
return;
}
public boolean isDone()
{
org.apache.qpid.proton.engine.impl.SaslImpl$Role v, v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
boolean v, v, v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: boolean _done>;
if v == 0 goto label;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.SaslImpl$Role _role>;
v = <org.apache.qpid.proton.engine.impl.SaslImpl$Role: org.apache.qpid.proton.engine.impl.SaslImpl$Role CLIENT>;
if v == v goto label;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: boolean _initReceived>;
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private void process()
{
org.apache.qpid.proton.engine.Sasl$SaslOutcome v, v, v, v, v, v;
org.apache.qpid.proton.amqp.security.SaslMechanisms v;
org.apache.qpid.proton.amqp.security.SaslCode[] v;
byte v;
org.apache.qpid.proton.amqp.Binary v, v, v, v;
boolean v, v;
org.apache.qpid.proton.amqp.security.SaslCode v;
org.apache.qpid.proton.amqp.security.SaslOutcome v;
org.apache.qpid.proton.engine.impl.SaslImpl$Role v, v, v, v;
org.apache.qpid.proton.amqp.Symbol v;
org.apache.qpid.proton.amqp.Symbol[] v, v;
org.apache.qpid.proton.engine.Sasl$SaslState v, v, v, v, v, v, v, v, v;
org.apache.qpid.proton.amqp.security.SaslChallenge v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: int processHeader()>();
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.SaslImpl$Role _role>;
v = <org.apache.qpid.proton.engine.impl.SaslImpl$Role: org.apache.qpid.proton.engine.impl.SaslImpl$Role SERVER>;
if v != v goto label;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: boolean _mechanismsSent>;
if v != 0 goto label;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Symbol[] _mechanisms>;
if v == null goto label;
v = new org.apache.qpid.proton.amqp.security.SaslMechanisms;
specialinvoke v.<org.apache.qpid.proton.amqp.security.SaslMechanisms: void <init>()>();
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Symbol[] _mechanisms>;
virtualinvoke v.<org.apache.qpid.proton.amqp.security.SaslMechanisms: void setSaslServerMechanisms(org.apache.qpid.proton.amqp.Symbol[])>(v);
specialinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void writeFrame(org.apache.qpid.proton.amqp.security.SaslFrameBody)>(v);
v.<org.apache.qpid.proton.engine.impl.SaslImpl: boolean _mechanismsSent> = 1;
v = <org.apache.qpid.proton.engine.Sasl$SaslState: org.apache.qpid.proton.engine.Sasl$SaslState PN_SASL_STEP>;
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslState _state> = v;
label:
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslState getState()>();
v = <org.apache.qpid.proton.engine.Sasl$SaslState: org.apache.qpid.proton.engine.Sasl$SaslState PN_SASL_STEP>;
if v != v goto label;
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Binary getChallengeResponse()>();
if v == null goto label;
v = new org.apache.qpid.proton.amqp.security.SaslChallenge;
specialinvoke v.<org.apache.qpid.proton.amqp.security.SaslChallenge: void <init>()>();
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Binary getChallengeResponse()>();
virtualinvoke v.<org.apache.qpid.proton.amqp.security.SaslChallenge: void setChallenge(org.apache.qpid.proton.amqp.Binary)>(v);
specialinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void writeFrame(org.apache.qpid.proton.amqp.security.SaslFrameBody)>(v);
virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void setChallengeResponse(org.apache.qpid.proton.amqp.Binary)>(null);
label:
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: boolean _done>;
if v == 0 goto label;
v = new org.apache.qpid.proton.amqp.security.SaslOutcome;
specialinvoke v.<org.apache.qpid.proton.amqp.security.SaslOutcome: void <init>()>();
v = staticinvoke <org.apache.qpid.proton.amqp.security.SaslCode: org.apache.qpid.proton.amqp.security.SaslCode[] values()>();
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslOutcome _outcome>;
v = virtualinvoke v.<org.apache.qpid.proton.engine.Sasl$SaslOutcome: byte getCode()>();
v = v[v];
virtualinvoke v.<org.apache.qpid.proton.amqp.security.SaslOutcome: void setCode(org.apache.qpid.proton.amqp.security.SaslCode)>(v);
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslOutcome _outcome>;
v = <org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslOutcome PN_SASL_OK>;
if v != v goto label;
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Binary getChallengeResponse()>();
virtualinvoke v.<org.apache.qpid.proton.amqp.security.SaslOutcome: void setAdditionalData(org.apache.qpid.proton.amqp.Binary)>(v);
label:
specialinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void writeFrame(org.apache.qpid.proton.amqp.security.SaslFrameBody)>(v);
virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void setChallengeResponse(org.apache.qpid.proton.amqp.Binary)>(null);
goto label;
label:
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.SaslImpl$Role _role>;
v = <org.apache.qpid.proton.engine.impl.SaslImpl$Role: org.apache.qpid.proton.engine.impl.SaslImpl$Role CLIENT>;
if v != v goto label;
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslState getState()>();
v = <org.apache.qpid.proton.engine.Sasl$SaslState: org.apache.qpid.proton.engine.Sasl$SaslState PN_SASL_IDLE>;
if v != v goto label;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Symbol _chosenMechanism>;
if v == null goto label;
specialinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void processInit()>();
v = <org.apache.qpid.proton.engine.Sasl$SaslState: org.apache.qpid.proton.engine.Sasl$SaslState PN_SASL_STEP>;
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslState _state> = v;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslOutcome _outcome>;
v = <org.apache.qpid.proton.engine.Sasl$SaslOutcome: org.apache.qpid.proton.engine.Sasl$SaslOutcome PN_SASL_NONE>;
if v == v goto label;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslOutcome _outcome>;
v = specialinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslState classifyStateFromOutcome(org.apache.qpid.proton.engine.Sasl$SaslOutcome)>(v);
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslState _state> = v;
label:
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslState getState()>();
v = <org.apache.qpid.proton.engine.Sasl$SaslState: org.apache.qpid.proton.engine.Sasl$SaslState PN_SASL_STEP>;
if v != v goto label;
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Binary getChallengeResponse()>();
if v == null goto label;
specialinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void processResponse()>();
label:
return;
}
private void writeFrame(org.apache.qpid.proton.amqp.security.SaslFrameBody)
{
org.apache.qpid.proton.engine.impl.FrameWriter v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
org.apache.qpid.proton.amqp.security.SaslFrameBody v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v := @parameter: org.apache.qpid.proton.amqp.security.SaslFrameBody;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.FrameWriter _frameWriter>;
virtualinvoke v.<org.apache.qpid.proton.engine.impl.FrameWriter: void writeFrame(java.lang.Object)>(v);
return;
}
public final int recv(byte[], int, int)
{
byte[] v;
java.nio.ByteBuffer v, v, v;
int v, v, v, v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
boolean v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: java.nio.ByteBuffer _pending>;
if v != null goto label;
v = (int) -1;
return v;
label:
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: java.nio.ByteBuffer _pending>;
v = staticinvoke <org.apache.qpid.proton.engine.impl.ByteBufferUtils: int pourBufferToArray(java.nio.ByteBuffer,byte[],int,int)>(v, v, v, v);
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: java.nio.ByteBuffer _pending>;
v = virtualinvoke v.<java.nio.ByteBuffer: boolean hasRemaining()>();
if v != 0 goto label;
v.<org.apache.qpid.proton.engine.impl.SaslImpl: java.nio.ByteBuffer _pending> = null;
label:
return v;
}
public final int send(byte[], int, int)
{
byte[] v, v;
int v, v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
org.apache.qpid.proton.amqp.Binary v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = newarray (byte)[v];
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, 0, v);
v = new org.apache.qpid.proton.amqp.Binary;
specialinvoke v.<org.apache.qpid.proton.amqp.Binary: void <init>(byte[])>(v);
virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void setChallengeResponse(org.apache.qpid.proton.amqp.Binary)>(v);
return v;
}
final int processHeader()
{
byte[] v, v;
org.apache.qpid.proton.engine.impl.FrameWriter v;
int v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
boolean v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: boolean _headerWritten>;
if v != 0 goto label;
specialinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void logHeader()>();
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.FrameWriter _frameWriter>;
v = <org.apache.qpid.proton.engine.impl.AmqpHeader: byte[] SASL_HEADER>;
virtualinvoke v.<org.apache.qpid.proton.engine.impl.FrameWriter: void writeHeader(byte[])>(v);
v.<org.apache.qpid.proton.engine.impl.SaslImpl: boolean _headerWritten> = 1;
v = <org.apache.qpid.proton.engine.impl.AmqpHeader: byte[] SASL_HEADER>;
v = lengthof v;
return v;
label:
return 0;
}
private void logHeader()
{
org.apache.qpid.proton.engine.impl.TransportImpl v, v, v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
java.lang.String v;
org.apache.qpid.proton.engine.impl.ProtocolTracer v;
boolean v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.TransportImpl _transport>;
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.TransportImpl: boolean isFrameTracingEnabled()>();
if v == 0 goto label;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.TransportImpl _transport>;
v = <org.apache.qpid.proton.engine.impl.TransportImpl: java.lang.String OUTGOING>;
virtualinvoke v.<org.apache.qpid.proton.engine.impl.TransportImpl: void log(java.lang.String,java.lang.String)>(v, "SASL");
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.TransportImpl _transport>;
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.TransportImpl: org.apache.qpid.proton.engine.impl.ProtocolTracer getProtocolTracer()>();
if v == null goto label;
interfaceinvoke v.<org.apache.qpid.proton.engine.impl.ProtocolTracer: void sentHeader(java.lang.String)>("SASL");
label:
return;
}
public int pending()
{
int v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
java.nio.ByteBuffer v, v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: java.nio.ByteBuffer _pending>;
if v != null goto label;
v = 0;
goto label;
label:
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: java.nio.ByteBuffer _pending>;
v = virtualinvoke v.<java.nio.ByteBuffer: int remaining()>();
label:
return v;
}
void setPending(java.nio.ByteBuffer)
{
org.apache.qpid.proton.engine.impl.SaslImpl v;
java.nio.ByteBuffer v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v := @parameter: java.nio.ByteBuffer;
v.<org.apache.qpid.proton.engine.impl.SaslImpl: java.nio.ByteBuffer _pending> = v;
return;
}
public org.apache.qpid.proton.engine.Sasl$SaslState getState()
{
org.apache.qpid.proton.engine.impl.SaslImpl v;
org.apache.qpid.proton.engine.Sasl$SaslState v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslState _state>;
return v;
}
final org.apache.qpid.proton.amqp.Binary getChallengeResponse()
{
org.apache.qpid.proton.engine.impl.SaslImpl v;
org.apache.qpid.proton.amqp.Binary v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Binary _challengeResponse>;
return v;
}
final void setChallengeResponse(org.apache.qpid.proton.amqp.Binary)
{
org.apache.qpid.proton.engine.impl.SaslImpl v;
org.apache.qpid.proton.amqp.Binary v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v := @parameter: org.apache.qpid.proton.amqp.Binary;
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Binary _challengeResponse> = v;
return;
}
public transient void setMechanisms(java.lang.String[])
{
java.lang.String[] v;
java.lang.AssertionError v, v;
org.apache.qpid.proton.engine.impl.SaslImpl$Role v, v;
org.apache.qpid.proton.amqp.Symbol v, v;
int v, v, v, v;
java.lang.String v, v;
boolean v, v;
org.apache.qpid.proton.amqp.Symbol[] v, v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v := @parameter: java.lang.String[];
if v == null goto label;
v = lengthof v;
v = newarray (org.apache.qpid.proton.amqp.Symbol)[v];
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Symbol[] _mechanisms> = v;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Symbol[] _mechanisms>;
v = v[v];
v = staticinvoke <org.apache.qpid.proton.amqp.Symbol: org.apache.qpid.proton.amqp.Symbol valueOf(java.lang.String)>(v);
v[v] = v;
v = v + 1;
goto label;
label:
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.SaslImpl$Role _role>;
v = <org.apache.qpid.proton.engine.impl.SaslImpl$Role: org.apache.qpid.proton.engine.impl.SaslImpl$Role CLIENT>;
if v != v goto label;
v = <org.apache.qpid.proton.engine.impl.SaslImpl: boolean $assertionsDisabled>;
if v != 0 goto label;
if v != null goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = <org.apache.qpid.proton.engine.impl.SaslImpl: boolean $assertionsDisabled>;
if v != 0 goto label;
v = lengthof v;
if v == 1 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v[0];
v = staticinvoke <org.apache.qpid.proton.amqp.Symbol: org.apache.qpid.proton.amqp.Symbol valueOf(java.lang.String)>(v);
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Symbol _chosenMechanism> = v;
label:
return;
}
public java.lang.String[] getRemoteMechanisms()
{
java.lang.IllegalStateException v;
java.lang.String[] v, v, v;
org.apache.qpid.proton.engine.impl.SaslImpl$Role v, v, v, v;
org.apache.qpid.proton.amqp.Symbol v, v, v;
int v, v, v;
java.lang.String v, v;
org.apache.qpid.proton.amqp.Symbol[] v, v, v, v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.SaslImpl$Role _role>;
v = <org.apache.qpid.proton.engine.impl.SaslImpl$Role: org.apache.qpid.proton.engine.impl.SaslImpl$Role SERVER>;
if v != v goto label;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Symbol _chosenMechanism>;
if v != null goto label;
v = newarray (java.lang.String)[0];
goto label;
label:
v = newarray (java.lang.String)[1];
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Symbol _chosenMechanism>;
v = virtualinvoke v.<org.apache.qpid.proton.amqp.Symbol: java.lang.String toString()>();
v[0] = v;
label:
return v;
label:
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.SaslImpl$Role _role>;
v = <org.apache.qpid.proton.engine.impl.SaslImpl$Role: org.apache.qpid.proton.engine.impl.SaslImpl$Role CLIENT>;
if v != v goto label;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Symbol[] _mechanisms>;
if v != null goto label;
v = newarray (java.lang.String)[0];
return v;
label:
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Symbol[] _mechanisms>;
v = lengthof v;
v = newarray (java.lang.String)[v];
v = 0;
label:
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Symbol[] _mechanisms>;
v = lengthof v;
if v >= v goto label;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Symbol[] _mechanisms>;
v = v[v];
v = virtualinvoke v.<org.apache.qpid.proton.amqp.Symbol: java.lang.String toString()>();
v[v] = v;
v = v + 1;
goto label;
label:
return v;
label:
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>()>();
throw v;
}
public void setMechanism(org.apache.qpid.proton.amqp.Symbol)
{
org.apache.qpid.proton.engine.impl.SaslImpl v;
org.apache.qpid.proton.amqp.Symbol v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v := @parameter: org.apache.qpid.proton.amqp.Symbol;
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Symbol _chosenMechanism> = v;
return;
}
public org.apache.qpid.proton.amqp.Symbol getChosenMechanism()
{
org.apache.qpid.proton.engine.impl.SaslImpl v;
org.apache.qpid.proton.amqp.Symbol v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Symbol _chosenMechanism>;
return v;
}
public void setResponse(org.apache.qpid.proton.amqp.Binary)
{
org.apache.qpid.proton.engine.impl.SaslImpl v;
org.apache.qpid.proton.amqp.Binary v;
java.nio.ByteBuffer v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v := @parameter: org.apache.qpid.proton.amqp.Binary;
v = virtualinvoke v.<org.apache.qpid.proton.amqp.Binary: java.nio.ByteBuffer asByteBuffer()>();
virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void setPending(java.nio.ByteBuffer)>(v);
return;
}
public void handle(org.apache.qpid.proton.amqp.security.SaslFrameBody, org.apache.qpid.proton.amqp.Binary)
{
org.apache.qpid.proton.engine.impl.TransportImpl v, v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
java.lang.String v;
org.apache.qpid.proton.amqp.Binary v;
org.apache.qpid.proton.engine.impl.ProtocolTracer v;
org.apache.qpid.proton.amqp.security.SaslFrameBody v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v := @parameter: org.apache.qpid.proton.amqp.security.SaslFrameBody;
v := @parameter: org.apache.qpid.proton.amqp.Binary;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.TransportImpl _transport>;
v = <org.apache.qpid.proton.engine.impl.TransportImpl: java.lang.String INCOMING>;
virtualinvoke v.<org.apache.qpid.proton.engine.impl.TransportImpl: void log(java.lang.String,org.apache.qpid.proton.amqp.security.SaslFrameBody)>(v, v);
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.TransportImpl _transport>;
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.TransportImpl: org.apache.qpid.proton.engine.impl.ProtocolTracer getProtocolTracer()>();
if v == null goto label;
interfaceinvoke v.<org.apache.qpid.proton.engine.impl.ProtocolTracer: void receivedSaslBody(org.apache.qpid.proton.amqp.security.SaslFrameBody)>(v);
label:
interfaceinvoke v.<org.apache.qpid.proton.amqp.security.SaslFrameBody: void invoke(org.apache.qpid.proton.amqp.security.SaslFrameBody$SaslFrameBodyHandler,org.apache.qpid.proton.amqp.Binary,java.lang.Object)>(v, v, null);
return;
}
public void handleInit(org.apache.qpid.proton.amqp.security.SaslInit, org.apache.qpid.proton.amqp.Binary, java.lang.Void)
{
java.lang.Void v;
org.apache.qpid.proton.engine.impl.TransportImpl v;
java.nio.ByteBuffer v;
org.apache.qpid.proton.engine.impl.SaslImpl$Role v, v;
org.apache.qpid.proton.amqp.Symbol v;
org.apache.qpid.proton.amqp.security.SaslInit v;
org.apache.qpid.proton.engine.SaslListener v, v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
java.lang.String v;
org.apache.qpid.proton.amqp.Binary v, v, v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v := @parameter: org.apache.qpid.proton.amqp.security.SaslInit;
v := @parameter: org.apache.qpid.proton.amqp.Binary;
v := @parameter: java.lang.Void;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.SaslImpl$Role _role>;
if v != null goto label;
virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void server()>();
label:
v = <org.apache.qpid.proton.engine.impl.SaslImpl$Role: org.apache.qpid.proton.engine.impl.SaslImpl$Role SERVER>;
specialinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void checkRole(org.apache.qpid.proton.engine.impl.SaslImpl$Role)>(v);
v = virtualinvoke v.<org.apache.qpid.proton.amqp.security.SaslInit: java.lang.String getHostname()>();
v.<org.apache.qpid.proton.engine.impl.SaslImpl: java.lang.String _hostname> = v;
v = virtualinvoke v.<org.apache.qpid.proton.amqp.security.SaslInit: org.apache.qpid.proton.amqp.Symbol getMechanism()>();
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Symbol _chosenMechanism> = v;
v.<org.apache.qpid.proton.engine.impl.SaslImpl: boolean _initReceived> = 1;
v = virtualinvoke v.<org.apache.qpid.proton.amqp.security.SaslInit: org.apache.qpid.proton.amqp.Binary getInitialResponse()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.qpid.proton.amqp.security.SaslInit: org.apache.qpid.proton.amqp.Binary getInitialResponse()>();
v = virtualinvoke v.<org.apache.qpid.proton.amqp.Binary: java.nio.ByteBuffer asByteBuffer()>();
virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void setPending(java.nio.ByteBuffer)>(v);
label:
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.SaslListener _saslListener>;
if v == null goto label;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.SaslListener _saslListener>;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.TransportImpl _transport>;
interfaceinvoke v.<org.apache.qpid.proton.engine.SaslListener: void onSaslInit(org.apache.qpid.proton.engine.Sasl,org.apache.qpid.proton.engine.Transport)>(v, v);
label:
return;
}
public void handleResponse(org.apache.qpid.proton.amqp.security.SaslResponse, org.apache.qpid.proton.amqp.Binary, java.lang.Void)
{
java.lang.Void v;
org.apache.qpid.proton.engine.impl.TransportImpl v;
java.nio.ByteBuffer v;
org.apache.qpid.proton.engine.impl.SaslImpl$Role v;
org.apache.qpid.proton.engine.SaslListener v, v;
org.apache.qpid.proton.amqp.security.SaslResponse v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
org.apache.qpid.proton.amqp.Binary v, v, v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v := @parameter: org.apache.qpid.proton.amqp.security.SaslResponse;
v := @parameter: org.apache.qpid.proton.amqp.Binary;
v := @parameter: java.lang.Void;
v = <org.apache.qpid.proton.engine.impl.SaslImpl$Role: org.apache.qpid.proton.engine.impl.SaslImpl$Role SERVER>;
specialinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void checkRole(org.apache.qpid.proton.engine.impl.SaslImpl$Role)>(v);
v = virtualinvoke v.<org.apache.qpid.proton.amqp.security.SaslResponse: org.apache.qpid.proton.amqp.Binary getResponse()>();
if v != null goto label;
v = null;
goto label;
label:
v = virtualinvoke v.<org.apache.qpid.proton.amqp.security.SaslResponse: org.apache.qpid.proton.amqp.Binary getResponse()>();
v = virtualinvoke v.<org.apache.qpid.proton.amqp.Binary: java.nio.ByteBuffer asByteBuffer()>();
label:
virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void setPending(java.nio.ByteBuffer)>(v);
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.SaslListener _saslListener>;
if v == null goto label;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.SaslListener _saslListener>;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.TransportImpl _transport>;
interfaceinvoke v.<org.apache.qpid.proton.engine.SaslListener: void onSaslResponse(org.apache.qpid.proton.engine.Sasl,org.apache.qpid.proton.engine.Transport)>(v, v);
label:
return;
}
public void done(org.apache.qpid.proton.engine.Sasl$SaslOutcome)
{
org.apache.qpid.proton.engine.impl.SaslImpl$Role v;
org.apache.qpid.proton.engine.Sasl$SaslState v;
org.apache.qpid.proton.engine.Sasl$SaslOutcome v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
java.lang.String v;
java.util.logging.Logger v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v := @parameter: org.apache.qpid.proton.engine.Sasl$SaslOutcome;
v = <org.apache.qpid.proton.engine.impl.SaslImpl$Role: org.apache.qpid.proton.engine.impl.SaslImpl$Role SERVER>;
specialinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void checkRole(org.apache.qpid.proton.engine.impl.SaslImpl$Role)>(v);
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslOutcome _outcome> = v;
v.<org.apache.qpid.proton.engine.impl.SaslImpl: boolean _done> = 1;
v = specialinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslState classifyStateFromOutcome(org.apache.qpid.proton.engine.Sasl$SaslOutcome)>(v);
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslState _state> = v;
v = <org.apache.qpid.proton.engine.impl.SaslImpl: java.util.logging.Logger _logger>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.qpid.proton.engine.impl.SaslImpl)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("SASL negotiation done: \u0001");
virtualinvoke v.<java.util.logging.Logger: void fine(java.lang.String)>(v);
return;
}
private void checkRole(org.apache.qpid.proton.engine.impl.SaslImpl$Role)
{
org.apache.qpid.proton.engine.impl.SaslImpl$Role v, v, v;
java.lang.IllegalStateException v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
java.lang.String v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v := @parameter: org.apache.qpid.proton.engine.impl.SaslImpl$Role;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.SaslImpl$Role _role>;
if v == v goto label;
v = new java.lang.IllegalStateException;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.SaslImpl$Role _role>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.qpid.proton.engine.impl.SaslImpl$Role,org.apache.qpid.proton.engine.impl.SaslImpl$Role)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Role is \u but should be \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
public void handleMechanisms(org.apache.qpid.proton.amqp.security.SaslMechanisms, org.apache.qpid.proton.amqp.Binary, java.lang.Void)
{
org.apache.qpid.proton.amqp.Symbol[] v;
java.lang.Void v;
org.apache.qpid.proton.engine.impl.TransportImpl v;
org.apache.qpid.proton.amqp.security.SaslMechanisms v;
org.apache.qpid.proton.engine.impl.SaslImpl$Role v, v;
org.apache.qpid.proton.engine.SaslListener v, v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
org.apache.qpid.proton.amqp.Binary v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v := @parameter: org.apache.qpid.proton.amqp.security.SaslMechanisms;
v := @parameter: org.apache.qpid.proton.amqp.Binary;
v := @parameter: java.lang.Void;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.SaslImpl$Role _role>;
if v != null goto label;
virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void client()>();
label:
v = <org.apache.qpid.proton.engine.impl.SaslImpl$Role: org.apache.qpid.proton.engine.impl.SaslImpl$Role CLIENT>;
specialinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void checkRole(org.apache.qpid.proton.engine.impl.SaslImpl$Role)>(v);
v = virtualinvoke v.<org.apache.qpid.proton.amqp.security.SaslMechanisms: org.apache.qpid.proton.amqp.Symbol[] getSaslServerMechanisms()>();
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Symbol[] _mechanisms> = v;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.SaslListener _saslListener>;
if v == null goto label;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.SaslListener _saslListener>;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.TransportImpl _transport>;
interfaceinvoke v.<org.apache.qpid.proton.engine.SaslListener: void onSaslMechanisms(org.apache.qpid.proton.engine.Sasl,org.apache.qpid.proton.engine.Transport)>(v, v);
label:
return;
}
public void handleChallenge(org.apache.qpid.proton.amqp.security.SaslChallenge, org.apache.qpid.proton.amqp.Binary, java.lang.Void)
{
java.lang.Void v;
org.apache.qpid.proton.engine.impl.TransportImpl v;
java.nio.ByteBuffer v;
org.apache.qpid.proton.engine.impl.SaslImpl$Role v;
org.apache.qpid.proton.amqp.security.SaslChallenge v;
org.apache.qpid.proton.engine.SaslListener v, v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
org.apache.qpid.proton.amqp.Binary v, v, v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v := @parameter: org.apache.qpid.proton.amqp.security.SaslChallenge;
v := @parameter: org.apache.qpid.proton.amqp.Binary;
v := @parameter: java.lang.Void;
v = <org.apache.qpid.proton.engine.impl.SaslImpl$Role: org.apache.qpid.proton.engine.impl.SaslImpl$Role CLIENT>;
specialinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void checkRole(org.apache.qpid.proton.engine.impl.SaslImpl$Role)>(v);
v = virtualinvoke v.<org.apache.qpid.proton.amqp.security.SaslChallenge: org.apache.qpid.proton.amqp.Binary getChallenge()>();
if v != null goto label;
v = null;
goto label;
label:
v = virtualinvoke v.<org.apache.qpid.proton.amqp.security.SaslChallenge: org.apache.qpid.proton.amqp.Binary getChallenge()>();
v = virtualinvoke v.<org.apache.qpid.proton.amqp.Binary: java.nio.ByteBuffer asByteBuffer()>();
label:
virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void setPending(java.nio.ByteBuffer)>(v);
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.SaslListener _saslListener>;
if v == null goto label;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.SaslListener _saslListener>;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.TransportImpl _transport>;
interfaceinvoke v.<org.apache.qpid.proton.engine.SaslListener: void onSaslChallenge(org.apache.qpid.proton.engine.Sasl,org.apache.qpid.proton.engine.Transport)>(v, v);
label:
return;
}
public void handleOutcome(org.apache.qpid.proton.amqp.security.SaslOutcome, org.apache.qpid.proton.amqp.Binary, java.lang.Void)
{
org.apache.qpid.proton.engine.impl.TransportImpl v;
org.apache.qpid.proton.engine.Sasl$SaslOutcome v;
java.nio.ByteBuffer v;
java.util.logging.Level v;
org.apache.qpid.proton.engine.impl.SaslImpl$Role v;
byte v;
org.apache.qpid.proton.engine.Sasl$SaslOutcome[] v;
int v, v, v;
java.lang.String v;
org.apache.qpid.proton.amqp.Binary v, v, v;
boolean v;
org.apache.qpid.proton.amqp.security.SaslCode v;
java.lang.Void v;
java.util.logging.Logger v, v;
org.apache.qpid.proton.amqp.security.SaslOutcome v;
org.apache.qpid.proton.engine.Sasl$SaslState v, v, v;
org.apache.qpid.proton.engine.SaslListener v, v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v := @parameter: org.apache.qpid.proton.amqp.security.SaslOutcome;
v := @parameter: org.apache.qpid.proton.amqp.Binary;
v := @parameter: java.lang.Void;
v = <org.apache.qpid.proton.engine.impl.SaslImpl$Role: org.apache.qpid.proton.engine.impl.SaslImpl$Role CLIENT>;
specialinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void checkRole(org.apache.qpid.proton.engine.impl.SaslImpl$Role)>(v);
v = staticinvoke <org.apache.qpid.proton.engine.Sasl$SaslOutcome: org.apache.qpid.proton.engine.Sasl$SaslOutcome[] values()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<org.apache.qpid.proton.amqp.security.SaslOutcome: org.apache.qpid.proton.amqp.Binary getAdditionalData()>();
if v != null goto label;
v = null;
goto label;
label:
v = virtualinvoke v.<org.apache.qpid.proton.amqp.security.SaslOutcome: org.apache.qpid.proton.amqp.Binary getAdditionalData()>();
v = virtualinvoke v.<org.apache.qpid.proton.amqp.Binary: java.nio.ByteBuffer asByteBuffer()>();
label:
virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void setPending(java.nio.ByteBuffer)>(v);
v = virtualinvoke v.<org.apache.qpid.proton.engine.Sasl$SaslOutcome: byte getCode()>();
v = virtualinvoke v.<org.apache.qpid.proton.amqp.security.SaslOutcome: org.apache.qpid.proton.amqp.security.SaslCode getCode()>();
v = virtualinvoke v.<org.apache.qpid.proton.amqp.security.SaslCode: int ordinal()>();
if v != v goto label;
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslOutcome _outcome> = v;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslState _state>;
v = <org.apache.qpid.proton.engine.Sasl$SaslState: org.apache.qpid.proton.engine.Sasl$SaslState PN_SASL_IDLE>;
if v == v goto label;
v = specialinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslState classifyStateFromOutcome(org.apache.qpid.proton.engine.Sasl$SaslOutcome)>(v);
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslState _state> = v;
goto label;
label:
v = v + 1;
goto label;
label:
v.<org.apache.qpid.proton.engine.impl.SaslImpl: boolean _done> = 1;
v = <org.apache.qpid.proton.engine.impl.SaslImpl: java.util.logging.Logger _logger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.apache.qpid.proton.engine.impl.SaslImpl: java.util.logging.Logger _logger>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.qpid.proton.engine.impl.SaslImpl)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Handled outcome: \u0001");
virtualinvoke v.<java.util.logging.Logger: void fine(java.lang.String)>(v);
label:
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.SaslListener _saslListener>;
if v == null goto label;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.SaslListener _saslListener>;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.TransportImpl _transport>;
interfaceinvoke v.<org.apache.qpid.proton.engine.SaslListener: void onSaslOutcome(org.apache.qpid.proton.engine.Sasl,org.apache.qpid.proton.engine.Transport)>(v, v);
label:
return;
}
private org.apache.qpid.proton.engine.Sasl$SaslState classifyStateFromOutcome(org.apache.qpid.proton.engine.Sasl$SaslOutcome)
{
org.apache.qpid.proton.engine.Sasl$SaslState v;
org.apache.qpid.proton.engine.Sasl$SaslOutcome v, v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v := @parameter: org.apache.qpid.proton.engine.Sasl$SaslOutcome;
v = <org.apache.qpid.proton.engine.Sasl$SaslOutcome: org.apache.qpid.proton.engine.Sasl$SaslOutcome PN_SASL_OK>;
if v != v goto label;
v = <org.apache.qpid.proton.engine.Sasl$SaslState: org.apache.qpid.proton.engine.Sasl$SaslState PN_SASL_PASS>;
goto label;
label:
v = <org.apache.qpid.proton.engine.Sasl$SaslState: org.apache.qpid.proton.engine.Sasl$SaslState PN_SASL_FAIL>;
label:
return v;
}
private void processResponse()
{
org.apache.qpid.proton.amqp.security.SaslResponse v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
org.apache.qpid.proton.amqp.Binary v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v = new org.apache.qpid.proton.amqp.security.SaslResponse;
specialinvoke v.<org.apache.qpid.proton.amqp.security.SaslResponse: void <init>()>();
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Binary getChallengeResponse()>();
virtualinvoke v.<org.apache.qpid.proton.amqp.security.SaslResponse: void setResponse(org.apache.qpid.proton.amqp.Binary)>(v);
virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void setChallengeResponse(org.apache.qpid.proton.amqp.Binary)>(null);
specialinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void writeFrame(org.apache.qpid.proton.amqp.security.SaslFrameBody)>(v);
return;
}
private void processInit()
{
org.apache.qpid.proton.amqp.Symbol v;
org.apache.qpid.proton.amqp.security.SaslInit v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
java.lang.String v;
org.apache.qpid.proton.amqp.Binary v, v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v = new org.apache.qpid.proton.amqp.security.SaslInit;
specialinvoke v.<org.apache.qpid.proton.amqp.security.SaslInit: void <init>()>();
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: java.lang.String _hostname>;
virtualinvoke v.<org.apache.qpid.proton.amqp.security.SaslInit: void setHostname(java.lang.String)>(v);
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Symbol _chosenMechanism>;
virtualinvoke v.<org.apache.qpid.proton.amqp.security.SaslInit: void setMechanism(org.apache.qpid.proton.amqp.Symbol)>(v);
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Binary getChallengeResponse()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Binary getChallengeResponse()>();
virtualinvoke v.<org.apache.qpid.proton.amqp.security.SaslInit: void setInitialResponse(org.apache.qpid.proton.amqp.Binary)>(v);
virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void setChallengeResponse(org.apache.qpid.proton.amqp.Binary)>(null);
label:
v.<org.apache.qpid.proton.engine.impl.SaslImpl: boolean _initSent> = 1;
specialinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void writeFrame(org.apache.qpid.proton.amqp.security.SaslFrameBody)>(v);
return;
}
public void plain(java.lang.String, java.lang.String)
{
byte[] v, v, v;
java.nio.charset.Charset v, v;
org.apache.qpid.proton.amqp.Symbol v;
int v, v, v, v, v, v, v, v;
java.lang.String v, v;
org.apache.qpid.proton.amqp.Binary v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void client()>();
v = staticinvoke <org.apache.qpid.proton.amqp.Symbol: org.apache.qpid.proton.amqp.Symbol valueOf(java.lang.String)>("PLAIN");
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Symbol _chosenMechanism> = v;
v = <java.nio.charset.StandardCharsets: java.nio.charset.Charset UTF_8>;
v = virtualinvoke v.<java.lang.String: byte[] getBytes(java.nio.charset.Charset)>(v);
v = <java.nio.charset.StandardCharsets: java.nio.charset.Charset UTF_8>;
v = virtualinvoke v.<java.lang.String: byte[] getBytes(java.nio.charset.Charset)>(v);
v = lengthof v;
v = lengthof v;
v = v + v;
v = v + 2;
v = newarray (byte)[v];
v = lengthof v;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, 1, v);
v = lengthof v;
v = 2 + v;
v = lengthof v;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, v, v);
v = new org.apache.qpid.proton.amqp.Binary;
specialinvoke v.<org.apache.qpid.proton.amqp.Binary: void <init>(byte[])>(v);
virtualinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void setChallengeResponse(org.apache.qpid.proton.amqp.Binary)>(v);
return;
}
public org.apache.qpid.proton.engine.Sasl$SaslOutcome getOutcome()
{
org.apache.qpid.proton.engine.Sasl$SaslOutcome v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslOutcome _outcome>;
return v;
}
public void client()
{
org.apache.qpid.proton.amqp.Symbol[] v, v, v;
java.lang.AssertionError v;
org.apache.qpid.proton.engine.impl.SaslImpl$Role v;
org.apache.qpid.proton.amqp.Symbol v;
int v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
boolean v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v = <org.apache.qpid.proton.engine.impl.SaslImpl$Role: org.apache.qpid.proton.engine.impl.SaslImpl$Role CLIENT>;
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.SaslImpl$Role _role> = v;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Symbol[] _mechanisms>;
if v == null goto label;
v = <org.apache.qpid.proton.engine.impl.SaslImpl: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Symbol[] _mechanisms>;
v = lengthof v;
if v == 1 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Symbol[] _mechanisms>;
v = v[0];
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.amqp.Symbol _chosenMechanism> = v;
label:
return;
}
public void server()
{
org.apache.qpid.proton.engine.impl.SaslImpl$Role v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v = <org.apache.qpid.proton.engine.impl.SaslImpl$Role: org.apache.qpid.proton.engine.impl.SaslImpl$Role SERVER>;
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.SaslImpl$Role _role> = v;
return;
}
public void allowSkip(boolean)
{
org.apache.qpid.proton.engine.impl.SaslImpl v;
boolean v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v := @parameter: boolean;
v.<org.apache.qpid.proton.engine.impl.SaslImpl: boolean _allowSkip> = v;
return;
}
public org.apache.qpid.proton.engine.impl.TransportWrapper wrap(org.apache.qpid.proton.engine.impl.TransportInput, org.apache.qpid.proton.engine.impl.TransportOutput)
{
org.apache.qpid.proton.engine.impl.TransportInput v;
org.apache.qpid.proton.engine.impl.PlainTransportWrapper v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
org.apache.qpid.proton.engine.impl.SaslImpl$1 v;
org.apache.qpid.proton.engine.impl.SaslImpl$SwitchingSaslTransportWrapper v;
org.apache.qpid.proton.engine.impl.TransportOutput v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v := @parameter: org.apache.qpid.proton.engine.impl.TransportInput;
v := @parameter: org.apache.qpid.proton.engine.impl.TransportOutput;
v = new org.apache.qpid.proton.engine.impl.SaslImpl$1;
v = new org.apache.qpid.proton.engine.impl.SaslImpl$SwitchingSaslTransportWrapper;
specialinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl$SwitchingSaslTransportWrapper: void <init>(org.apache.qpid.proton.engine.impl.SaslImpl,org.apache.qpid.proton.engine.impl.TransportInput,org.apache.qpid.proton.engine.impl.TransportOutput)>(v, v, v);
v = new org.apache.qpid.proton.engine.impl.PlainTransportWrapper;
specialinvoke v.<org.apache.qpid.proton.engine.impl.PlainTransportWrapper: void <init>(org.apache.qpid.proton.engine.impl.TransportOutput,org.apache.qpid.proton.engine.impl.TransportInput)>(v, v);
specialinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl$1: void <init>(org.apache.qpid.proton.engine.impl.SaslImpl,org.apache.qpid.proton.engine.impl.TransportWrapper,org.apache.qpid.proton.engine.impl.TransportWrapper)>(v, v, v);
return v;
}
public java.lang.String toString()
{
org.apache.qpid.proton.engine.Sasl$SaslOutcome v;
org.apache.qpid.proton.engine.impl.SaslImpl$Role v;
org.apache.qpid.proton.engine.Sasl$SaslState v;
java.lang.StringBuilder v, v, v, v, v, v, v, v, v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
java.lang.String v;
boolean v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("SaslImpl [_outcome=");
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslOutcome _outcome>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", state=");
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.Sasl$SaslState _state>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", done=");
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: boolean _done>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(boolean)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", role=");
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.SaslImpl$Role _role>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("]");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public java.lang.String getHostname()
{
org.apache.qpid.proton.engine.impl.SaslImpl$Role v, v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
java.lang.String v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.SaslImpl$Role _role>;
if v == null goto label;
v = <org.apache.qpid.proton.engine.impl.SaslImpl$Role: org.apache.qpid.proton.engine.impl.SaslImpl$Role SERVER>;
specialinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void checkRole(org.apache.qpid.proton.engine.impl.SaslImpl$Role)>(v);
label:
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: java.lang.String _hostname>;
return v;
}
public void setRemoteHostname(java.lang.String)
{
org.apache.qpid.proton.engine.impl.SaslImpl$Role v, v;
org.apache.qpid.proton.engine.impl.SaslImpl v;
java.lang.String v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v := @parameter: java.lang.String;
v = v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.impl.SaslImpl$Role _role>;
if v == null goto label;
v = <org.apache.qpid.proton.engine.impl.SaslImpl$Role: org.apache.qpid.proton.engine.impl.SaslImpl$Role CLIENT>;
specialinvoke v.<org.apache.qpid.proton.engine.impl.SaslImpl: void checkRole(org.apache.qpid.proton.engine.impl.SaslImpl$Role)>(v);
label:
v.<org.apache.qpid.proton.engine.impl.SaslImpl: java.lang.String _hostname> = v;
return;
}
public void setListener(org.apache.qpid.proton.engine.SaslListener)
{
org.apache.qpid.proton.engine.impl.SaslImpl v;
org.apache.qpid.proton.engine.SaslListener v;
v := @this: org.apache.qpid.proton.engine.impl.SaslImpl;
v := @parameter: org.apache.qpid.proton.engine.SaslListener;
v.<org.apache.qpid.proton.engine.impl.SaslImpl: org.apache.qpid.proton.engine.SaslListener _saslListener> = v;
return;
}
static void <clinit>()
{
java.lang.Class v, v;
java.lang.String v;
java.util.logging.Logger v;
boolean v, v;
v = class "Lorg/apache/qpid/proton/engine/impl/SaslImpl;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<org.apache.qpid.proton.engine.impl.SaslImpl: boolean $assertionsDisabled> = v;
v = class "Lorg/apache/qpid/proton/engine/impl/SaslImpl;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = staticinvoke <java.util.logging.Logger: java.util.logging.Logger getLogger(java.lang.String)>(v);
<org.apache.qpid.proton.engine.impl.SaslImpl: java.util.logging.Logger _logger> = v;
return;
}
}