public class org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator extends java.lang.Object implements org.apache.kafkaesqueesque.common.network.Authenticator
{
static final int MAX_RECEIVE_SIZE;
private static final org.slf4j.Logger LOG;
private final org.apache.kafkaesqueesque.common.security.auth.SecurityProtocol securityProtocol;
private final org.apache.kafkaesqueesque.common.network.ListenerName listenerName;
private final java.lang.String connectionId;
private final java.util.Map subjects;
private final org.apache.kafkaesqueesque.common.network.TransportLayer transportLayer;
private final java.util.List enabledMechanisms;
private final java.util.Map configs;
private final org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipalBuilder principalBuilder;
private final java.util.Map callbackHandlers;
private final java.util.Map connectionsMaxReauthMsByMechanism;
private final org.apache.kafkaesqueesque.common.utils.Time time;
private final org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo reauthInfo;
private final org.apache.kafkaesqueesque.common.network.ChannelMetadataRegistry metadataRegistry;
private org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState saslState;
private org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState pendingSaslState;
private org.apache.kafkaesqueesque.common.errors.AuthenticationException pendingException;
private javax.security.sasl.SaslServer saslServer;
private java.lang.String saslMechanism;
private org.apache.kafkaesqueesque.common.network.NetworkReceive netInBuffer;
private org.apache.kafkaesqueesque.common.network.Send netOutBuffer;
private org.apache.kafkaesqueesque.common.network.Send authenticationFailureSend;
private boolean enableKafkaSaslAuthenticateHeaders;
public void <init>(java.util.Map, java.util.Map, java.lang.String, java.util.Map, org.apache.kafkaesqueesque.common.security.kerberos.KerberosShortNamer, org.apache.kafkaesqueesque.common.network.ListenerName, org.apache.kafkaesqueesque.common.security.auth.SecurityProtocol, org.apache.kafkaesqueesque.common.network.TransportLayer, java.util.Map, org.apache.kafkaesqueesque.common.network.ChannelMetadataRegistry, org.apache.kafkaesqueesque.common.utils.Time)
{
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
org.apache.kafkaesqueesque.common.security.kerberos.KerberosShortNamer v;
org.apache.kafkaesqueesque.common.network.ChannelMetadataRegistry v;
org.apache.kafkaesqueesque.common.utils.Time v;
java.util.Map v, v, v, v, v;
boolean v, v, v, v;
org.apache.kafkaesqueesque.common.security.auth.SecurityProtocol v;
java.util.List v;
org.apache.kafkaesqueesque.common.network.TransportLayer v;
java.lang.Object[] v;
java.util.ArrayList v;
java.util.HashSet v;
org.apache.kafkaesqueesque.common.network.ListenerName v;
java.lang.String v, v, v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo v;
org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipalBuilder v;
org.slf4j.Logger v;
java.util.Iterator v;
java.lang.IllegalArgumentException v, v, v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState v;
java.lang.Object v, v, v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v := @parameter: java.util.Map;
v := @parameter: java.util.Map;
v := @parameter: java.lang.String;
v := @parameter: java.util.Map;
v := @parameter: org.apache.kafkaesqueesque.common.security.kerberos.KerberosShortNamer;
v := @parameter: org.apache.kafkaesqueesque.common.network.ListenerName;
v := @parameter: org.apache.kafkaesqueesque.common.security.auth.SecurityProtocol;
v := @parameter: org.apache.kafkaesqueesque.common.network.TransportLayer;
v := @parameter: java.util.Map;
v := @parameter: org.apache.kafkaesqueesque.common.network.ChannelMetadataRegistry;
v := @parameter: org.apache.kafkaesqueesque.common.utils.Time;
specialinvoke v.<java.lang.Object: void <init>()>();
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState INITIAL_REQUEST>;
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState saslState> = v;
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState pendingSaslState> = null;
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.errors.AuthenticationException pendingException> = null;
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.Send authenticationFailureSend> = null;
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.util.Map callbackHandlers> = v;
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.lang.String connectionId> = v;
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.util.Map subjects> = v;
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.ListenerName listenerName> = v;
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.auth.SecurityProtocol securityProtocol> = v;
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: boolean enableKafkaSaslAuthenticateHeaders> = 0;
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.TransportLayer transportLayer> = v;
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.util.Map connectionsMaxReauthMsByMechanism> = v;
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.utils.Time time> = v;
v = new org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo: void <init>(org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator)>(v);
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo reauthInfo> = v;
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.ChannelMetadataRegistry metadataRegistry> = v;
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.util.Map configs> = v;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.util.Map configs>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("sasl.enabled.mechanisms");
if v == null goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("No SASL mechanisms are enabled");
throw v;
label:
v = new java.util.ArrayList;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>(java.util.Collection)>(v);
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.util.List enabledMechanisms> = v;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.util.List enabledMechanisms>;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Callback handler not specified for SASL mechanism \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Subject cannot be null for SASL mechanism \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v[0] = "connections.max.reauth.ms";
v[1] = v;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object[])>("{} for mechanism={}: {}", v);
goto label;
label:
v = staticinvoke <org.apache.kafkaesqueesque.common.network.ChannelBuilders: org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipalBuilder createPrincipalBuilder(java.util.Map,org.apache.kafkaesqueesque.common.network.TransportLayer,org.apache.kafkaesqueesque.common.network.Authenticator,org.apache.kafkaesqueesque.common.security.kerberos.KerberosShortNamer,org.apache.kafkaesqueesque.common.security.ssl.SslPrincipalMapper)>(v, null, null, v, null);
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipalBuilder principalBuilder> = v;
return;
}
private void createSaslServer(java.lang.String) throws java.io.IOException
{
java.lang.Throwable v;
java.security.PrivilegedActionException v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
java.security.PrivilegedExceptionAction v;
javax.security.sasl.SaslException v;
java.util.Map v, v, v;
java.lang.Object v, v, v;
java.lang.String v;
javax.security.sasl.SaslServer v;
boolean v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v := @parameter: java.lang.String;
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.lang.String saslMechanism> = v;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.util.Map subjects>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.util.Map callbackHandlers>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("GSSAPI");
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.util.Map configs>;
v = specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: javax.security.sasl.SaslServer createSaslKerberosServer(org.apache.kafkaesqueesque.common.security.auth.AuthenticateCallbackHandler,java.util.Map,javax.security.auth.Subject)>(v, v, v);
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: javax.security.sasl.SaslServer saslServer> = v;
goto label;
label:
v = staticinvoke <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$lambda_createSaslServer_0__635: java.security.PrivilegedExceptionAction bootstrap$(org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator,org.apache.kafkaesqueesque.common.security.auth.AuthenticateCallbackHandler)>(v, v);
v = staticinvoke <javax.security.auth.Subject: java.lang.Object doAs(javax.security.auth.Subject,java.security.PrivilegedExceptionAction)>(v, v);
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: javax.security.sasl.SaslServer saslServer> = v;
label:
goto label;
label:
v := @caughtexception;
v = new javax.security.sasl.SaslException;
v = virtualinvoke v.<java.security.PrivilegedActionException: java.lang.Throwable getCause()>();
specialinvoke v.<javax.security.sasl.SaslException: void <init>(java.lang.String,java.lang.Throwable)>("Kafka Server failed to create a SaslServer to interact with a client during session authentication", v);
throw v;
label:
return;
catch java.security.PrivilegedActionException from label to label with label;
}
private javax.security.sasl.SaslServer createSaslKerberosServer(org.apache.kafkaesqueesque.common.security.auth.AuthenticateCallbackHandler, java.util.Map, javax.security.auth.Subject) throws java.io.IOException
{
java.lang.Throwable v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
javax.security.sasl.SaslException v;
java.util.Map v;
java.lang.String v, v, v, v, v;
org.apache.kafkaesqueesque.common.security.kerberos.KerberosName v;
java.security.PrivilegedActionException v;
org.slf4j.Logger v;
java.lang.IllegalArgumentException v;
java.security.PrivilegedExceptionAction v;
javax.security.auth.Subject v;
org.apache.kafkaesqueesque.common.KafkaException v;
java.lang.Object v;
org.apache.kafkaesqueesque.common.security.auth.AuthenticateCallbackHandler v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v := @parameter: org.apache.kafkaesqueesque.common.security.auth.AuthenticateCallbackHandler;
v := @parameter: java.util.Map;
v := @parameter: javax.security.auth.Subject;
v = staticinvoke <org.apache.kafkaesqueesque.common.security.authenticator.SaslClientAuthenticator: java.lang.String firstPrincipal(javax.security.auth.Subject)>(v);
label:
v = staticinvoke <org.apache.kafkaesqueesque.common.security.kerberos.KerberosName: org.apache.kafkaesqueesque.common.security.kerberos.KerberosName parse(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.kafkaesqueesque.common.KafkaException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Principal has name with unexpected format \u0001");
specialinvoke v.<org.apache.kafkaesqueesque.common.KafkaException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.kerberos.KerberosName: java.lang.String serviceName()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.kerberos.KerberosName: java.lang.String hostName()>();
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.slf4j.Logger LOG>;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.lang.String saslMechanism>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Creating SaslServer for {} with mechanism {}", v, v);
label:
v = staticinvoke <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$lambda_createSaslKerberosServer_1__636: java.security.PrivilegedExceptionAction bootstrap$(org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator,java.lang.String,java.lang.String,java.util.Map,org.apache.kafkaesqueesque.common.security.auth.AuthenticateCallbackHandler)>(v, v, v, v, v);
v = staticinvoke <javax.security.auth.Subject: java.lang.Object doAs(javax.security.auth.Subject,java.security.PrivilegedExceptionAction)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = new javax.security.sasl.SaslException;
v = virtualinvoke v.<java.security.PrivilegedActionException: java.lang.Throwable getCause()>();
specialinvoke v.<javax.security.sasl.SaslException: void <init>(java.lang.String,java.lang.Throwable)>("Kafka Server failed to create a SaslServer to interact with a client during session authentication", v);
throw v;
catch java.lang.IllegalArgumentException from label to label with label;
catch java.security.PrivilegedActionException from label to label with label;
}
public void authenticate() throws java.io.IOException
{
byte[] v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
java.nio.ByteBuffer v, v, v;
org.apache.kafkaesqueesque.common.errors.SaslAuthenticationException v;
int[] v;
boolean v, v, v, v, v;
java.lang.Exception v;
org.apache.kafkaesqueesque.common.network.TransportLayer v;
org.apache.kafkaesqueesque.common.network.Send v;
int v, v, v, v;
java.lang.String v, v, v, v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo v, v;
org.apache.kafkaesqueesque.common.network.NetworkReceive v, v, v, v, v, v, v;
org.apache.kafkaesqueesque.common.errors.AuthenticationException v;
org.slf4j.Logger v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState v, v, v, v, v, v, v;
javax.security.sasl.SaslServer v, v, v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState saslState>;
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState REAUTH_PROCESS_HANDSHAKE>;
if v == v goto label;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.Send netOutBuffer>;
if v == null goto label;
v = specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: boolean flushNetOutBufferAndUpdateInterestOps()>();
if v != 0 goto label;
return;
label:
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: javax.security.sasl.SaslServer saslServer>;
if v == null goto label;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: javax.security.sasl.SaslServer saslServer>;
v = interfaceinvoke v.<javax.security.sasl.SaslServer: boolean isComplete()>();
if v == 0 goto label;
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState COMPLETE>;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void setSaslState(org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState)>(v);
return;
label:
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.NetworkReceive netInBuffer>;
if v != null goto label;
v = new org.apache.kafkaesqueesque.common.network.NetworkReceive;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.lang.String connectionId>;
specialinvoke v.<org.apache.kafkaesqueesque.common.network.NetworkReceive: void <init>(int,java.lang.String)>(524288, v);
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.NetworkReceive netInBuffer> = v;
label:
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.NetworkReceive netInBuffer>;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.TransportLayer transportLayer>;
virtualinvoke v.<org.apache.kafkaesqueesque.common.network.NetworkReceive: long readFrom(java.nio.channels.ScatteringByteChannel)>(v);
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.NetworkReceive netInBuffer>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.network.NetworkReceive: boolean complete()>();
if v != 0 goto label;
return;
label:
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.NetworkReceive netInBuffer>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.network.NetworkReceive: java.nio.ByteBuffer payload()>();
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer rewind()>();
label:
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.NetworkReceive netInBuffer>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.network.NetworkReceive: java.nio.ByteBuffer payload()>();
v = virtualinvoke v.<java.nio.ByteBuffer: int remaining()>();
v = newarray (byte)[v];
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.NetworkReceive netInBuffer>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.network.NetworkReceive: java.nio.ByteBuffer payload()>();
v = lengthof v;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer get(byte[],int,int)>(v, 0, v);
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.NetworkReceive netInBuffer> = null;
label:
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$1: int[] $SwitchMap$org$apache$kafka$common$security$authenticator$SaslServerAuthenticator$SaslState>;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState saslState>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
default: goto label;
};
label:
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: boolean handleKafkaRequest(byte[])>(v);
goto label;
label:
v = new org.apache.kafkaesqueesque.common.errors.SaslAuthenticationException;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo reauthInfo>;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo: java.lang.String badMechanismErrorMessage>;
specialinvoke v.<org.apache.kafkaesqueesque.common.errors.SaslAuthenticationException: void <init>(java.lang.String)>(v);
throw v;
label:
v = specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: boolean handleKafkaRequest(byte[])>(v);
if v != 0 goto label;
label:
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void handleSaslToken(byte[])>(v);
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: javax.security.sasl.SaslServer saslServer>;
v = interfaceinvoke v.<javax.security.sasl.SaslServer: boolean isComplete()>();
if v == 0 goto label;
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState COMPLETE>;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void setSaslState(org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState FAILED>;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void setSaslState(org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState,org.apache.kafkaesqueesque.common.errors.AuthenticationException)>(v, v);
goto label;
label:
v := @caughtexception;
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState FAILED>;
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState saslState> = v;
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.slf4j.Logger LOG>;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo reauthInfo>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo: java.lang.String authenticationOrReauthenticationText()>();
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Failed during {}: {}", v, v);
throw v;
label:
return;
catch org.apache.kafkaesqueesque.common.errors.AuthenticationException from label to label with label;
catch java.lang.Exception from label to label with label;
}
public org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipal principal()
{
org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipal v;
org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipalBuilder v;
org.apache.kafkaesqueesque.common.security.auth.SecurityProtocol v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
org.apache.kafkaesqueesque.common.security.auth.SaslAuthenticationContext v;
java.net.InetAddress v;
org.apache.kafkaesqueesque.common.network.ListenerName v;
java.lang.Object v;
java.lang.String v, v;
javax.security.sasl.SaslServer v, v;
boolean v, v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v = new org.apache.kafkaesqueesque.common.security.auth.SaslAuthenticationContext;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: javax.security.sasl.SaslServer saslServer>;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.auth.SecurityProtocol securityProtocol>;
v = specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.net.InetAddress clientAddress()>();
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.ListenerName listenerName>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.network.ListenerName: java.lang.String value()>();
specialinvoke v.<org.apache.kafkaesqueesque.common.security.auth.SaslAuthenticationContext: void <init>(javax.security.sasl.SaslServer,org.apache.kafkaesqueesque.common.security.auth.SecurityProtocol,java.net.InetAddress,java.lang.String)>(v, v, v, v);
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipalBuilder principalBuilder>;
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipalBuilder: org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipal build(org.apache.kafkaesqueesque.common.security.auth.AuthenticationContext)>(v);
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.lang.String saslMechanism>;
v = staticinvoke <org.apache.kafkaesqueesque.common.security.scram.internals.ScramMechanism: boolean isScram(java.lang.String)>(v);
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: javax.security.sasl.SaslServer saslServer>;
v = interfaceinvoke v.<javax.security.sasl.SaslServer: java.lang.Object getNegotiatedProperty(java.lang.String)>("tokenauth");
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
if v == 0 goto label;
virtualinvoke v.<org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipal: void tokenAuthenticated(boolean)>(1);
label:
return v;
}
public boolean complete()
{
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState v, v;
boolean v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState saslState>;
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState COMPLETE>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void handleAuthenticationFailure() throws java.io.IOException
{
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void sendAuthenticationFailureResponse()>();
return;
}
public void close() throws java.io.IOException
{
org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipalBuilder v, v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
javax.security.sasl.SaslServer v, v;
boolean v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipalBuilder principalBuilder>;
v = v instanceof java.io.Closeable;
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipalBuilder principalBuilder>;
staticinvoke <org.apache.kafkaesqueesque.common.utils.Utils: void closeQuietly(java.lang.AutoCloseable,java.lang.String)>(v, "principal builder");
label:
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: javax.security.sasl.SaslServer saslServer>;
if v == null goto label;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: javax.security.sasl.SaslServer saslServer>;
interfaceinvoke v.<javax.security.sasl.SaslServer: void dispose()>();
label:
return;
}
public void reauthenticate(org.apache.kafkaesqueesque.common.network.ReauthenticationContext) throws java.io.IOException
{
org.apache.kafkaesqueesque.common.network.Authenticator v;
org.apache.kafkaesqueesque.common.network.NetworkReceive v, v;
org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipal v;
org.slf4j.Logger v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
long v;
java.lang.IllegalArgumentException v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState v;
java.nio.ByteBuffer v;
org.apache.kafkaesqueesque.common.network.ReauthenticationContext v;
java.lang.String v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v := @parameter: org.apache.kafkaesqueesque.common.network.ReauthenticationContext;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.network.ReauthenticationContext: org.apache.kafkaesqueesque.common.network.NetworkReceive networkReceive()>();
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Invalid saslHandshakeReceive in server-side re-authentication context: null");
throw v;
label:
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.network.ReauthenticationContext: org.apache.kafkaesqueesque.common.network.Authenticator previousAuthenticator()>();
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo reauthInfo>;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.lang.String saslMechanism>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipal principal()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.network.ReauthenticationContext: long reauthenticationBeginNanos()>();
virtualinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo: void reauthenticating(java.lang.String,org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipal,long)>(v, v, v);
virtualinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void close()>();
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.NetworkReceive netInBuffer> = v;
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Beginning re-authentication: {}", v);
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.NetworkReceive netInBuffer>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.network.NetworkReceive: java.nio.ByteBuffer payload()>();
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer rewind()>();
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState REAUTH_PROCESS_HANDSHAKE>;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void setSaslState(org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState)>(v);
virtualinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void authenticate()>();
return;
}
public java.lang.Long serverSessionExpirationTimeNanos()
{
java.lang.Long v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo reauthInfo>;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo: java.lang.Long sessionExpirationTimeNanos>;
return v;
}
public java.lang.Long reauthenticationLatencyMs()
{
java.lang.Long v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo reauthInfo>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo: java.lang.Long reauthenticationLatencyMs()>();
return v;
}
public boolean connectedClientSupportsReauthentication()
{
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo v;
boolean v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo reauthInfo>;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo: boolean connectedClientSupportsReauthentication>;
return v;
}
private void setSaslState(org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState)
{
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v := @parameter: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void setSaslState(org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState,org.apache.kafkaesqueesque.common.errors.AuthenticationException)>(v, null);
return;
}
private void setSaslState(org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState, org.apache.kafkaesqueesque.common.errors.AuthenticationException)
{
org.apache.kafkaesqueesque.common.errors.AuthenticationException v;
org.slf4j.Logger v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState v;
java.lang.String v;
org.apache.kafkaesqueesque.common.network.Send v, v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo v;
boolean v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v := @parameter: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState;
v := @parameter: org.apache.kafkaesqueesque.common.errors.AuthenticationException;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.Send netOutBuffer>;
if v == null goto label;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.Send netOutBuffer>;
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.network.Send: boolean completed()>();
if v != 0 goto label;
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState pendingSaslState> = v;
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.errors.AuthenticationException pendingException> = v;
goto label;
label:
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState saslState> = v;
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.slf4j.Logger LOG>;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo reauthInfo>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo: java.lang.String authenticationOrReauthenticationText()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Set SASL server state to {} during {}", v, v);
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState pendingSaslState> = null;
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.errors.AuthenticationException pendingException> = null;
if v == null goto label;
throw v;
label:
return;
}
private boolean flushNetOutBufferAndUpdateInterestOps() throws java.io.IOException
{
org.apache.kafkaesqueesque.common.errors.AuthenticationException v;
org.apache.kafkaesqueesque.common.network.TransportLayer v, v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState v, v;
boolean v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v = specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: boolean flushNetOutBuffer()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.TransportLayer transportLayer>;
interfaceinvoke v.<org.apache.kafkaesqueesque.common.network.TransportLayer: void removeInterestOps(int)>(4);
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState pendingSaslState>;
if v == null goto label;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState pendingSaslState>;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.errors.AuthenticationException pendingException>;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void setSaslState(org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState,org.apache.kafkaesqueesque.common.errors.AuthenticationException)>(v, v);
goto label;
label:
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.TransportLayer transportLayer>;
interfaceinvoke v.<org.apache.kafkaesqueesque.common.network.TransportLayer: void addInterestOps(int)>(4);
label:
return v;
}
private boolean flushNetOutBuffer() throws java.io.IOException
{
org.apache.kafkaesqueesque.common.network.TransportLayer v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
org.apache.kafkaesqueesque.common.network.Send v, v, v;
boolean v, v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.Send netOutBuffer>;
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.network.Send: boolean completed()>();
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.Send netOutBuffer>;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.TransportLayer transportLayer>;
interfaceinvoke v.<org.apache.kafkaesqueesque.common.network.Send: long writeTo(java.nio.channels.GatheringByteChannel)>(v);
label:
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.Send netOutBuffer>;
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.network.Send: boolean completed()>();
return v;
}
private java.net.InetAddress serverAddress()
{
java.net.InetAddress v;
java.net.Socket v;
java.nio.channels.SocketChannel v;
org.apache.kafkaesqueesque.common.network.TransportLayer v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.TransportLayer transportLayer>;
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.network.TransportLayer: java.nio.channels.SocketChannel socketChannel()>();
v = virtualinvoke v.<java.nio.channels.SocketChannel: java.net.Socket socket()>();
v = virtualinvoke v.<java.net.Socket: java.net.InetAddress getLocalAddress()>();
return v;
}
private java.net.InetAddress clientAddress()
{
java.net.InetAddress v;
java.net.Socket v;
java.nio.channels.SocketChannel v;
org.apache.kafkaesqueesque.common.network.TransportLayer v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.TransportLayer transportLayer>;
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.network.TransportLayer: java.nio.channels.SocketChannel socketChannel()>();
v = virtualinvoke v.<java.nio.channels.SocketChannel: java.net.Socket socket()>();
v = virtualinvoke v.<java.net.Socket: java.net.InetAddress getInetAddress()>();
return v;
}
private void handleSaslToken(byte[]) throws java.io.IOException
{
byte[] v, v, v, v, v, v, v;
org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipal v, v, v;
org.apache.kafkaesqueesque.common.message.SaslAuthenticateResponseData v, v, v, v, v, v, v, v, v, v;
javax.security.sasl.SaslException v;
org.apache.kafkaesqueesque.common.errors.SaslAuthenticationException v, v;
java.net.InetAddress v;
org.apache.kafkaesqueesque.common.requests.SaslAuthenticateResponse v, v, v;
org.apache.kafkaesqueesque.common.protocol.Errors v, v, v;
org.apache.kafkaesqueesque.common.requests.AbstractResponse v;
org.apache.kafkaesqueesque.common.security.auth.SecurityProtocol v;
org.apache.kafkaesqueesque.common.network.ClientInformation v;
org.apache.kafkaesqueesque.common.errors.UnsupportedVersionException v;
long v;
short v, v, v, v;
org.apache.kafkaesqueesque.common.network.ListenerName v;
java.lang.String v, v, v, v, v, v, v, v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo v, v, v, v, v, v, v, v, v;
org.apache.kafkaesqueesque.common.message.SaslAuthenticateRequestData v;
org.apache.kafkaesqueesque.common.requests.RequestAndSize v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
java.nio.ByteBuffer v, v;
boolean v, v, v, v, v, v, v, v, v, v;
org.apache.kafkaesqueesque.common.protocol.ApiKeys v, v;
org.apache.kafkaesqueesque.common.requests.AbstractRequest v, v;
org.apache.kafkaesqueesque.common.requests.RequestContext v;
org.apache.kafkaesqueesque.common.network.NetworkSend v;
org.apache.kafkaesqueesque.common.requests.RequestHeader v;
org.apache.kafkaesqueesque.common.security.kerberos.KerberosError v;
org.apache.kafkaesqueesque.common.errors.IllegalSaslStateException v;
javax.security.sasl.SaslServer v, v, v, v, v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v := @parameter: byte[];
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: boolean enableKafkaSaslAuthenticateHeaders>;
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: javax.security.sasl.SaslServer saslServer>;
v = interfaceinvoke v.<javax.security.sasl.SaslServer: byte[] evaluateResponse(byte[])>(v);
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: javax.security.sasl.SaslServer saslServer>;
v = interfaceinvoke v.<javax.security.sasl.SaslServer: boolean isComplete()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo reauthInfo>;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo: long calcCompletionTimesAndReturnSessionLifetimeMs()>();
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo reauthInfo>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo: boolean reauthenticating()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo reauthInfo>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipal principal()>();
virtualinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo: void ensurePrincipalUnchanged(org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipal)>(v);
label:
if v == null goto label;
v = new org.apache.kafkaesqueesque.common.network.NetworkSend;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.lang.String connectionId>;
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[])>(v);
specialinvoke v.<org.apache.kafkaesqueesque.common.network.NetworkSend: void <init>(java.lang.String,java.nio.ByteBuffer)>(v, v);
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.Send netOutBuffer> = v;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: boolean flushNetOutBufferAndUpdateInterestOps()>();
goto label;
label:
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[])>(v);
v = staticinvoke <org.apache.kafkaesqueesque.common.requests.RequestHeader: org.apache.kafkaesqueesque.common.requests.RequestHeader parse(java.nio.ByteBuffer)>(v);
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.RequestHeader: org.apache.kafkaesqueesque.common.protocol.ApiKeys apiKey()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.RequestHeader: short apiVersion()>();
v = new org.apache.kafkaesqueesque.common.requests.RequestContext;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.lang.String connectionId>;
v = specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.net.InetAddress clientAddress()>();
v = <org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipal: org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipal ANONYMOUS>;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.ListenerName listenerName>;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.auth.SecurityProtocol securityProtocol>;
v = <org.apache.kafkaesqueesque.common.network.ClientInformation: org.apache.kafkaesqueesque.common.network.ClientInformation EMPTY>;
specialinvoke v.<org.apache.kafkaesqueesque.common.requests.RequestContext: void <init>(org.apache.kafkaesqueesque.common.requests.RequestHeader,java.lang.String,java.net.InetAddress,org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipal,org.apache.kafkaesqueesque.common.network.ListenerName,org.apache.kafkaesqueesque.common.security.auth.SecurityProtocol,org.apache.kafkaesqueesque.common.network.ClientInformation)>(v, v, v, v, v, v, v);
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.RequestContext: org.apache.kafkaesqueesque.common.requests.RequestAndSize parseRequest(java.nio.ByteBuffer)>(v);
v = <org.apache.kafkaesqueesque.common.protocol.ApiKeys: org.apache.kafkaesqueesque.common.protocol.ApiKeys SASL_AUTHENTICATE>;
if v == v goto label;
v = new org.apache.kafkaesqueesque.common.errors.IllegalSaslStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.kafkaesqueesque.common.protocol.ApiKeys)>(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[])>("Unexpected Kafka request of type \u during SASL authentication.");
specialinvoke v.<org.apache.kafkaesqueesque.common.errors.IllegalSaslStateException: void <init>(java.lang.String)>(v);
v = v.<org.apache.kafkaesqueesque.common.requests.RequestAndSize: org.apache.kafkaesqueesque.common.requests.AbstractRequest request>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.AbstractRequest: org.apache.kafkaesqueesque.common.requests.AbstractResponse getErrorResponse(java.lang.Throwable)>(v);
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void buildResponseOnAuthenticateFailure(org.apache.kafkaesqueesque.common.requests.RequestContext,org.apache.kafkaesqueesque.common.requests.AbstractResponse)>(v, v);
throw v;
label:
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.protocol.ApiKeys: boolean isVersionSupported(short)>(v);
if v != 0 goto label;
v = new org.apache.kafkaesqueesque.common.errors.UnsupportedVersionException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (short,org.apache.kafkaesqueesque.common.protocol.ApiKeys)>(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[])>("Version \u is not supported for apiKey \u0001");
specialinvoke v.<org.apache.kafkaesqueesque.common.errors.UnsupportedVersionException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo reauthInfo>;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo: boolean connectedClientSupportsReauthentication>;
if v != 0 goto label;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo reauthInfo>;
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo: boolean connectedClientSupportsReauthentication> = v;
label:
v = v.<org.apache.kafkaesqueesque.common.requests.RequestAndSize: org.apache.kafkaesqueesque.common.requests.AbstractRequest request>;
label:
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: javax.security.sasl.SaslServer saslServer>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.SaslAuthenticateRequest: org.apache.kafkaesqueesque.common.message.SaslAuthenticateRequestData data()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.message.SaslAuthenticateRequestData: byte[] authBytes()>();
v = staticinvoke <org.apache.kafkaesqueesque.common.utils.Utils: byte[] copyArray(byte[])>(v);
v = interfaceinvoke v.<javax.security.sasl.SaslServer: byte[] evaluateResponse(byte[])>(v);
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo reauthInfo>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo: boolean reauthenticating()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: javax.security.sasl.SaslServer saslServer>;
v = interfaceinvoke v.<javax.security.sasl.SaslServer: boolean isComplete()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo reauthInfo>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipal principal()>();
virtualinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo: void ensurePrincipalUnchanged(org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipal)>(v);
label:
if v != null goto label;
v = newarray (byte)[0];
goto label;
label:
v = v;
label:
v = v;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: javax.security.sasl.SaslServer saslServer>;
v = interfaceinvoke v.<javax.security.sasl.SaslServer: boolean isComplete()>();
if v != 0 goto label;
v = 0L;
goto label;
label:
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo reauthInfo>;
v = specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo: long calcCompletionTimesAndReturnSessionLifetimeMs()>();
label:
v = new org.apache.kafkaesqueesque.common.requests.SaslAuthenticateResponse;
v = new org.apache.kafkaesqueesque.common.message.SaslAuthenticateResponseData;
specialinvoke v.<org.apache.kafkaesqueesque.common.message.SaslAuthenticateResponseData: void <init>()>();
v = <org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.protocol.Errors NONE>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.protocol.Errors: short code()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.message.SaslAuthenticateResponseData: org.apache.kafkaesqueesque.common.message.SaslAuthenticateResponseData setErrorCode(short)>(v);
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.message.SaslAuthenticateResponseData: org.apache.kafkaesqueesque.common.message.SaslAuthenticateResponseData setAuthBytes(byte[])>(v);
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.message.SaslAuthenticateResponseData: org.apache.kafkaesqueesque.common.message.SaslAuthenticateResponseData setSessionLifetimeMs(long)>(v);
specialinvoke v.<org.apache.kafkaesqueesque.common.requests.SaslAuthenticateResponse: void <init>(org.apache.kafkaesqueesque.common.message.SaslAuthenticateResponseData)>(v);
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void sendKafkaResponse(org.apache.kafkaesqueesque.common.requests.RequestContext,org.apache.kafkaesqueesque.common.requests.AbstractResponse)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.kafkaesqueesque.common.requests.SaslAuthenticateResponse;
v = new org.apache.kafkaesqueesque.common.message.SaslAuthenticateResponseData;
specialinvoke v.<org.apache.kafkaesqueesque.common.message.SaslAuthenticateResponseData: void <init>()>();
v = <org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.protocol.Errors SASL_AUTHENTICATION_FAILED>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.protocol.Errors: short code()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.message.SaslAuthenticateResponseData: org.apache.kafkaesqueesque.common.message.SaslAuthenticateResponseData setErrorCode(short)>(v);
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.errors.SaslAuthenticationException: java.lang.String getMessage()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.message.SaslAuthenticateResponseData: org.apache.kafkaesqueesque.common.message.SaslAuthenticateResponseData setErrorMessage(java.lang.String)>(v);
specialinvoke v.<org.apache.kafkaesqueesque.common.requests.SaslAuthenticateResponse: void <init>(org.apache.kafkaesqueesque.common.message.SaslAuthenticateResponseData)>(v);
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void buildResponseOnAuthenticateFailure(org.apache.kafkaesqueesque.common.requests.RequestContext,org.apache.kafkaesqueesque.common.requests.AbstractResponse)>(v, v);
throw v;
label:
v := @caughtexception;
v = staticinvoke <org.apache.kafkaesqueesque.common.security.kerberos.KerberosError: org.apache.kafkaesqueesque.common.security.kerberos.KerberosError fromException(java.lang.Exception)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.kerberos.KerberosError: boolean retriable()>();
if v == 0 goto label;
throw v;
label:
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo reauthInfo>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo: java.lang.String authenticationOrReauthenticationText()>();
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.lang.String saslMechanism>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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[])>("Authentication failed during \u due to invalid credentials with SASL mechanism \u0001");
v = new org.apache.kafkaesqueesque.common.requests.SaslAuthenticateResponse;
v = new org.apache.kafkaesqueesque.common.message.SaslAuthenticateResponseData;
specialinvoke v.<org.apache.kafkaesqueesque.common.message.SaslAuthenticateResponseData: void <init>()>();
v = <org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.protocol.Errors SASL_AUTHENTICATION_FAILED>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.protocol.Errors: short code()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.message.SaslAuthenticateResponseData: org.apache.kafkaesqueesque.common.message.SaslAuthenticateResponseData setErrorCode(short)>(v);
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.message.SaslAuthenticateResponseData: org.apache.kafkaesqueesque.common.message.SaslAuthenticateResponseData setErrorMessage(java.lang.String)>(v);
specialinvoke v.<org.apache.kafkaesqueesque.common.requests.SaslAuthenticateResponse: void <init>(org.apache.kafkaesqueesque.common.message.SaslAuthenticateResponseData)>(v);
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void sendKafkaResponse(org.apache.kafkaesqueesque.common.requests.RequestContext,org.apache.kafkaesqueesque.common.requests.AbstractResponse)>(v, v);
v = new org.apache.kafkaesqueesque.common.errors.SaslAuthenticationException;
specialinvoke v.<org.apache.kafkaesqueesque.common.errors.SaslAuthenticationException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
return;
catch org.apache.kafkaesqueesque.common.errors.SaslAuthenticationException from label to label with label;
catch javax.security.sasl.SaslException from label to label with label;
}
private boolean handleKafkaRequest(byte[]) throws java.io.IOException, org.apache.kafkaesqueesque.common.errors.AuthenticationException
{
byte[] v;
org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipal v;
org.apache.kafkaesqueesque.common.requests.RequestAndSize v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
java.lang.Integer v;
java.nio.ByteBuffer v;
java.net.InetAddress v;
byte v;
java.lang.Byte v;
boolean v, v, v, v, v;
org.apache.kafkaesqueesque.common.protocol.ApiKeys v, v, v, v;
org.apache.kafkaesqueesque.common.requests.AbstractRequest v, v;
org.apache.kafkaesqueesque.common.requests.RequestContext v;
org.apache.kafkaesqueesque.common.security.auth.SecurityProtocol v;
org.apache.kafkaesqueesque.common.network.ClientInformation v;
org.apache.kafkaesqueesque.common.errors.InvalidRequestException v;
java.util.List v;
java.lang.StringBuilder v;
org.apache.kafkaesqueesque.common.requests.RequestHeader v;
java.lang.Object[] v;
org.apache.kafkaesqueesque.common.errors.UnsupportedSaslMechanismException v;
org.apache.kafkaesqueesque.common.network.ListenerName v;
int v, v, v, v;
java.lang.String v, v, v, v, v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo v, v, v;
org.slf4j.Logger v, v, v, v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState v, v, v, v, v, v;
org.apache.kafkaesqueesque.common.errors.IllegalSaslStateException v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v := @parameter: byte[];
v = 0;
v = null;
label:
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[])>(v);
v = staticinvoke <org.apache.kafkaesqueesque.common.requests.RequestHeader: org.apache.kafkaesqueesque.common.requests.RequestHeader parse(java.nio.ByteBuffer)>(v);
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.RequestHeader: org.apache.kafkaesqueesque.common.protocol.ApiKeys apiKey()>();
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState saslState>;
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState INITIAL_REQUEST>;
if v != v goto label;
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState HANDSHAKE_OR_VERSIONS_REQUEST>;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void setSaslState(org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState)>(v);
label:
v = 1;
v = <org.apache.kafkaesqueesque.common.protocol.ApiKeys: org.apache.kafkaesqueesque.common.protocol.ApiKeys API_VERSIONS>;
if v == v goto label;
v = <org.apache.kafkaesqueesque.common.protocol.ApiKeys: org.apache.kafkaesqueesque.common.protocol.ApiKeys SASL_HANDSHAKE>;
if v == v goto label;
v = new org.apache.kafkaesqueesque.common.errors.IllegalSaslStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.kafkaesqueesque.common.protocol.ApiKeys)>(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[])>("Unexpected Kafka request of type \u during SASL handshake.");
specialinvoke v.<org.apache.kafkaesqueesque.common.errors.IllegalSaslStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.slf4j.Logger LOG>;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo reauthInfo>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo: java.lang.String authenticationOrReauthenticationText()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Handling Kafka request {} during {}", v, v);
v = new org.apache.kafkaesqueesque.common.requests.RequestContext;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.lang.String connectionId>;
v = specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.net.InetAddress clientAddress()>();
v = <org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipal: org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipal ANONYMOUS>;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.ListenerName listenerName>;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.auth.SecurityProtocol securityProtocol>;
v = <org.apache.kafkaesqueesque.common.network.ClientInformation: org.apache.kafkaesqueesque.common.network.ClientInformation EMPTY>;
specialinvoke v.<org.apache.kafkaesqueesque.common.requests.RequestContext: void <init>(org.apache.kafkaesqueesque.common.requests.RequestHeader,java.lang.String,java.net.InetAddress,org.apache.kafkaesqueesque.common.security.auth.KafkaPrincipal,org.apache.kafkaesqueesque.common.network.ListenerName,org.apache.kafkaesqueesque.common.security.auth.SecurityProtocol,org.apache.kafkaesqueesque.common.network.ClientInformation)>(v, v, v, v, v, v, v);
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.RequestContext: org.apache.kafkaesqueesque.common.requests.RequestAndSize parseRequest(java.nio.ByteBuffer)>(v);
v = <org.apache.kafkaesqueesque.common.protocol.ApiKeys: org.apache.kafkaesqueesque.common.protocol.ApiKeys API_VERSIONS>;
if v != v goto label;
v = v.<org.apache.kafkaesqueesque.common.requests.RequestAndSize: org.apache.kafkaesqueesque.common.requests.AbstractRequest request>;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void handleApiVersionsRequest(org.apache.kafkaesqueesque.common.requests.RequestContext,org.apache.kafkaesqueesque.common.requests.ApiVersionsRequest)>(v, v);
goto label;
label:
v = v.<org.apache.kafkaesqueesque.common.requests.RequestAndSize: org.apache.kafkaesqueesque.common.requests.AbstractRequest request>;
v = specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.lang.String handleHandshakeRequest(org.apache.kafkaesqueesque.common.requests.RequestContext,org.apache.kafkaesqueesque.common.requests.SaslHandshakeRequest)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState saslState>;
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState INITIAL_REQUEST>;
if v != v goto label;
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = newarray (java.lang.Object)[1];
v = staticinvoke <java.lang.Byte: java.lang.Byte valueOf(byte)>(v);
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("%02x", v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: int length()>();
if v >= 20 goto label;
v = v + 1;
goto label;
label:
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.slf4j.Logger LOG>;
v = lengthof v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Received client packet of length {} starting with bytes 0x{}, process as GSSAPI packet", v, v);
label:
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.util.List enabledMechanisms>;
v = interfaceinvoke v.<java.util.List: boolean contains(java.lang.Object)>("GSSAPI");
if v == 0 goto label;
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("First client packet is not a SASL mechanism request, using default mechanism GSSAPI");
v = "GSSAPI";
goto label;
label:
v = new org.apache.kafkaesqueesque.common.errors.UnsupportedSaslMechanismException;
specialinvoke v.<org.apache.kafkaesqueesque.common.errors.UnsupportedSaslMechanismException: void <init>(java.lang.String,java.lang.Throwable)>("Exception handling first SASL packet from client, GSSAPI is not supported by server", v);
throw v;
label:
throw v;
label:
if v == null goto label;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo reauthInfo>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo: boolean reauthenticating()>();
if v == 0 goto label;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo reauthInfo>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$ReauthInfo: boolean saslMechanismUnchanged(java.lang.String)>(v);
if v == 0 goto label;
label:
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void createSaslServer(java.lang.String)>(v);
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState AUTHENTICATE>;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void setSaslState(org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState)>(v);
label:
return v;
catch org.apache.kafkaesqueesque.common.errors.InvalidRequestException from label to label with label;
}
private java.lang.String handleHandshakeRequest(org.apache.kafkaesqueesque.common.requests.RequestContext, org.apache.kafkaesqueesque.common.requests.SaslHandshakeRequest) throws java.io.IOException, org.apache.kafkaesqueesque.common.errors.UnsupportedSaslMechanismException
{
org.apache.kafkaesqueesque.common.requests.RequestHeader v;
org.apache.kafkaesqueesque.common.requests.SaslHandshakeRequest v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
org.apache.kafkaesqueesque.common.message.SaslHandshakeResponseData v, v, v, v, v, v;
org.apache.kafkaesqueesque.common.errors.UnsupportedSaslMechanismException v;
org.apache.kafkaesqueesque.common.message.SaslHandshakeRequestData v;
short v, v, v;
org.apache.kafkaesqueesque.common.protocol.Errors v, v;
java.lang.String v, v;
boolean v;
org.apache.kafkaesqueesque.common.requests.RequestContext v;
org.apache.kafkaesqueesque.common.requests.SaslHandshakeResponse v, v;
org.slf4j.Logger v, v;
java.util.List v, v, v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v := @parameter: org.apache.kafkaesqueesque.common.requests.RequestContext;
v := @parameter: org.apache.kafkaesqueesque.common.requests.SaslHandshakeRequest;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.SaslHandshakeRequest: org.apache.kafkaesqueesque.common.message.SaslHandshakeRequestData data()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.message.SaslHandshakeRequestData: java.lang.String mechanism()>();
v = v.<org.apache.kafkaesqueesque.common.requests.RequestContext: org.apache.kafkaesqueesque.common.requests.RequestHeader header>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.RequestHeader: short apiVersion()>();
if v < 1 goto label;
virtualinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void enableKafkaSaslAuthenticateHeaders(boolean)>(1);
label:
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.util.List enabledMechanisms>;
v = interfaceinvoke v.<java.util.List: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Using SASL mechanism \'{}\' provided by client", v);
v = new org.apache.kafkaesqueesque.common.requests.SaslHandshakeResponse;
v = new org.apache.kafkaesqueesque.common.message.SaslHandshakeResponseData;
specialinvoke v.<org.apache.kafkaesqueesque.common.message.SaslHandshakeResponseData: void <init>()>();
v = <org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.protocol.Errors NONE>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.protocol.Errors: short code()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.message.SaslHandshakeResponseData: org.apache.kafkaesqueesque.common.message.SaslHandshakeResponseData setErrorCode(short)>(v);
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.util.List enabledMechanisms>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.message.SaslHandshakeResponseData: org.apache.kafkaesqueesque.common.message.SaslHandshakeResponseData setMechanisms(java.util.List)>(v);
specialinvoke v.<org.apache.kafkaesqueesque.common.requests.SaslHandshakeResponse: void <init>(org.apache.kafkaesqueesque.common.message.SaslHandshakeResponseData)>(v);
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void sendKafkaResponse(org.apache.kafkaesqueesque.common.requests.RequestContext,org.apache.kafkaesqueesque.common.requests.AbstractResponse)>(v, v);
return v;
label:
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("SASL mechanism \'{}\' requested by client is not supported", v);
v = new org.apache.kafkaesqueesque.common.requests.SaslHandshakeResponse;
v = new org.apache.kafkaesqueesque.common.message.SaslHandshakeResponseData;
specialinvoke v.<org.apache.kafkaesqueesque.common.message.SaslHandshakeResponseData: void <init>()>();
v = <org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.protocol.Errors UNSUPPORTED_SASL_MECHANISM>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.protocol.Errors: short code()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.message.SaslHandshakeResponseData: org.apache.kafkaesqueesque.common.message.SaslHandshakeResponseData setErrorCode(short)>(v);
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: java.util.List enabledMechanisms>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.message.SaslHandshakeResponseData: org.apache.kafkaesqueesque.common.message.SaslHandshakeResponseData setMechanisms(java.util.List)>(v);
specialinvoke v.<org.apache.kafkaesqueesque.common.requests.SaslHandshakeResponse: void <init>(org.apache.kafkaesqueesque.common.message.SaslHandshakeResponseData)>(v);
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void buildResponseOnAuthenticateFailure(org.apache.kafkaesqueesque.common.requests.RequestContext,org.apache.kafkaesqueesque.common.requests.AbstractResponse)>(v, v);
v = new org.apache.kafkaesqueesque.common.errors.UnsupportedSaslMechanismException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Unsupported SASL mechanism \u0001");
specialinvoke v.<org.apache.kafkaesqueesque.common.errors.UnsupportedSaslMechanismException: void <init>(java.lang.String)>(v);
throw v;
}
protected org.apache.kafkaesqueesque.common.requests.ApiVersionsResponse apiVersionsResponse()
{
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
org.apache.kafkaesqueesque.common.requests.ApiVersionsResponse v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v = <org.apache.kafkaesqueesque.common.requests.ApiVersionsResponse: org.apache.kafkaesqueesque.common.requests.ApiVersionsResponse DEFAULT_API_VERSIONS_RESPONSE>;
return v;
}
protected void enableKafkaSaslAuthenticateHeaders(boolean)
{
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
boolean v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v := @parameter: boolean;
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: boolean enableKafkaSaslAuthenticateHeaders> = v;
return;
}
private void handleApiVersionsRequest(org.apache.kafkaesqueesque.common.requests.RequestContext, org.apache.kafkaesqueesque.common.requests.ApiVersionsRequest) throws java.io.IOException
{
java.lang.IllegalStateException v;
org.apache.kafkaesqueesque.common.requests.ApiVersionsRequest v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
org.apache.kafkaesqueesque.common.network.ChannelMetadataRegistry v;
org.apache.kafkaesqueesque.common.protocol.Errors v, v;
java.lang.String v, v, v;
org.apache.kafkaesqueesque.common.requests.ApiVersionsResponse v, v, v;
boolean v, v;
org.apache.kafkaesqueesque.common.requests.RequestContext v;
org.apache.kafkaesqueesque.common.errors.ApiException v, v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState v, v, v, v;
org.apache.kafkaesqueesque.common.network.ClientInformation v;
org.apache.kafkaesqueesque.common.message.ApiVersionsRequestData v, v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v := @parameter: org.apache.kafkaesqueesque.common.requests.RequestContext;
v := @parameter: org.apache.kafkaesqueesque.common.requests.ApiVersionsRequest;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState saslState>;
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState HANDSHAKE_OR_VERSIONS_REQUEST>;
if v == v goto label;
v = new java.lang.IllegalStateException;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState saslState>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState)>(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[])>("Unexpected ApiVersions request received during SASL authentication state \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.ApiVersionsRequest: boolean hasUnsupportedRequestVersion()>();
if v == 0 goto label;
v = <org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.protocol.Errors UNSUPPORTED_VERSION>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.errors.ApiException exception()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.ApiVersionsRequest: org.apache.kafkaesqueesque.common.requests.ApiVersionsResponse getErrorResponse(int,java.lang.Throwable)>(0, v);
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void sendKafkaResponse(org.apache.kafkaesqueesque.common.requests.RequestContext,org.apache.kafkaesqueesque.common.requests.AbstractResponse)>(v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.ApiVersionsRequest: boolean isValid()>();
if v != 0 goto label;
v = <org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.protocol.Errors INVALID_REQUEST>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.protocol.Errors: org.apache.kafkaesqueesque.common.errors.ApiException exception()>();
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.ApiVersionsRequest: org.apache.kafkaesqueesque.common.requests.ApiVersionsResponse getErrorResponse(int,java.lang.Throwable)>(0, v);
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void sendKafkaResponse(org.apache.kafkaesqueesque.common.requests.RequestContext,org.apache.kafkaesqueesque.common.requests.AbstractResponse)>(v, v);
goto label;
label:
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.ChannelMetadataRegistry metadataRegistry>;
v = new org.apache.kafkaesqueesque.common.network.ClientInformation;
v = v.<org.apache.kafkaesqueesque.common.requests.ApiVersionsRequest: org.apache.kafkaesqueesque.common.message.ApiVersionsRequestData data>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.message.ApiVersionsRequestData: java.lang.String clientSoftwareName()>();
v = v.<org.apache.kafkaesqueesque.common.requests.ApiVersionsRequest: org.apache.kafkaesqueesque.common.message.ApiVersionsRequestData data>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.message.ApiVersionsRequestData: java.lang.String clientSoftwareVersion()>();
specialinvoke v.<org.apache.kafkaesqueesque.common.network.ClientInformation: void <init>(java.lang.String,java.lang.String)>(v, v);
interfaceinvoke v.<org.apache.kafkaesqueesque.common.network.ChannelMetadataRegistry: void registerClientInformation(org.apache.kafkaesqueesque.common.network.ClientInformation)>(v);
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.requests.ApiVersionsResponse apiVersionsResponse()>();
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void sendKafkaResponse(org.apache.kafkaesqueesque.common.requests.RequestContext,org.apache.kafkaesqueesque.common.requests.AbstractResponse)>(v, v);
v = <org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState HANDSHAKE_REQUEST>;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void setSaslState(org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator$SaslState)>(v);
label:
return;
}
private void buildResponseOnAuthenticateFailure(org.apache.kafkaesqueesque.common.requests.RequestContext, org.apache.kafkaesqueesque.common.requests.AbstractResponse)
{
org.apache.kafkaesqueesque.common.requests.RequestContext v;
org.apache.kafkaesqueesque.common.requests.AbstractResponse v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
org.apache.kafkaesqueesque.common.network.Send v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v := @parameter: org.apache.kafkaesqueesque.common.requests.RequestContext;
v := @parameter: org.apache.kafkaesqueesque.common.requests.AbstractResponse;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.RequestContext: org.apache.kafkaesqueesque.common.network.Send buildResponse(org.apache.kafkaesqueesque.common.requests.AbstractResponse)>(v);
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.Send authenticationFailureSend> = v;
return;
}
private void sendAuthenticationFailureResponse() throws java.io.IOException
{
org.apache.kafkaesqueesque.common.network.Send v, v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.Send authenticationFailureSend>;
if v != null goto label;
return;
label:
v = v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.Send authenticationFailureSend>;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void sendKafkaResponse(org.apache.kafkaesqueesque.common.network.Send)>(v);
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.Send authenticationFailureSend> = null;
return;
}
private void sendKafkaResponse(org.apache.kafkaesqueesque.common.requests.RequestContext, org.apache.kafkaesqueesque.common.requests.AbstractResponse) throws java.io.IOException
{
org.apache.kafkaesqueesque.common.requests.RequestContext v;
org.apache.kafkaesqueesque.common.requests.AbstractResponse v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
org.apache.kafkaesqueesque.common.network.Send v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v := @parameter: org.apache.kafkaesqueesque.common.requests.RequestContext;
v := @parameter: org.apache.kafkaesqueesque.common.requests.AbstractResponse;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.requests.RequestContext: org.apache.kafkaesqueesque.common.network.Send buildResponse(org.apache.kafkaesqueesque.common.requests.AbstractResponse)>(v);
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: void sendKafkaResponse(org.apache.kafkaesqueesque.common.network.Send)>(v);
return;
}
private void sendKafkaResponse(org.apache.kafkaesqueesque.common.network.Send) throws java.io.IOException
{
org.apache.kafkaesqueesque.common.network.Send v;
org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator v;
v := @this: org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator;
v := @parameter: org.apache.kafkaesqueesque.common.network.Send;
v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.apache.kafkaesqueesque.common.network.Send netOutBuffer> = v;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: boolean flushNetOutBufferAndUpdateInterestOps()>();
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/kafkaesqueesque/common/security/authenticator/SaslServerAuthenticator;");
<org.apache.kafkaesqueesque.common.security.authenticator.SaslServerAuthenticator: org.slf4j.Logger LOG> = v;
return;
}
}