public class org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient extends java.lang.Object implements javax.security.sasl.SaslClient
{
static final byte BYTE_CONTROL_A;
private static final org.slf4j.Logger log;
private final javax.security.auth.callback.CallbackHandler callbackHandler;
private org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State state;
public void <init>(org.apache.kafkaesqueesque.common.security.auth.AuthenticateCallbackHandler)
{
org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State v;
java.lang.Object v;
org.apache.kafkaesqueesque.common.security.auth.AuthenticateCallbackHandler v;
org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient v;
v := @this: org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient;
v := @parameter: org.apache.kafkaesqueesque.common.security.auth.AuthenticateCallbackHandler;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object)>(v);
v.<org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: javax.security.auth.callback.CallbackHandler callbackHandler> = v;
v = <org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State: org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State SEND_CLIENT_FIRST_MESSAGE>;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: void setState(org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State)>(v);
return;
}
public javax.security.auth.callback.CallbackHandler callbackHandler()
{
javax.security.auth.callback.CallbackHandler v;
org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient v;
v := @this: org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient;
v = v.<org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: javax.security.auth.callback.CallbackHandler callbackHandler>;
return v;
}
public java.lang.String getMechanismName()
{
org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient v;
v := @this: org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient;
return "OAUTHBEARER";
}
public boolean hasInitialResponse()
{
org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient v;
v := @this: org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient;
return 1;
}
public byte[] evaluateChallenge(byte[]) throws javax.security.sasl.SaslException
{
byte[] v, v, v;
javax.security.sasl.SaslException v, v, v;
javax.security.auth.callback.CallbackHandler v, v;
int[] v;
boolean v, v;
org.apache.kafkaesqueesque.common.security.oauthbearer.OAuthBearerToken v, v;
java.lang.Exception v;
org.apache.kafkaesqueesque.common.security.oauthbearer.OAuthBearerTokenCallback v;
org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient v;
javax.security.auth.callback.Callback[] v, v;
java.nio.charset.Charset v;
int v, v, v, v;
java.lang.String v, v, v, v, v;
org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerClientInitialResponse v;
org.slf4j.Logger v, v, v, v;
org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State v, v, v, v, v, v, v;
org.apache.kafkaesqueesque.common.security.auth.SaslExtensions v;
org.apache.kafkaesqueesque.common.errors.IllegalSaslStateException v;
v := @this: org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient;
v := @parameter: byte[];
label:
v = new org.apache.kafkaesqueesque.common.security.oauthbearer.OAuthBearerTokenCallback;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.oauthbearer.OAuthBearerTokenCallback: void <init>()>();
v = <org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$1: int[] $SwitchMap$org$apache$kafka$common$security$oauthbearer$internals$OAuthBearerSaslClient$State>;
v = v.<org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State state>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
if v == null goto label;
v = lengthof v;
if v == 0 goto label;
v = new javax.security.sasl.SaslException;
specialinvoke v.<javax.security.sasl.SaslException: void <init>(java.lang.String)>("Expected empty challenge");
throw v;
label:
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: javax.security.auth.callback.CallbackHandler callbackHandler()>();
v = newarray (javax.security.auth.callback.Callback)[1];
v[0] = v;
interfaceinvoke v.<javax.security.auth.callback.CallbackHandler: void handle(javax.security.auth.callback.Callback[])>(v);
v = specialinvoke v.<org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: org.apache.kafkaesqueesque.common.security.auth.SaslExtensions retrieveCustomExtensions()>();
v = <org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State: org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State RECEIVE_SERVER_FIRST_MESSAGE>;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: void setState(org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State)>(v);
v = new org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerClientInitialResponse;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.oauthbearer.OAuthBearerTokenCallback: org.apache.kafkaesqueesque.common.security.oauthbearer.OAuthBearerToken token()>();
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.security.oauthbearer.OAuthBearerToken: java.lang.String value()>();
specialinvoke v.<org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerClientInitialResponse: void <init>(java.lang.String,org.apache.kafkaesqueesque.common.security.auth.SaslExtensions)>(v, v);
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerClientInitialResponse: byte[] toBytes()>();
label:
return v;
label:
if v == null goto label;
v = lengthof v;
if v == 0 goto label;
v = new java.lang.String;
v = <java.nio.charset.StandardCharsets: java.nio.charset.Charset UTF_8>;
specialinvoke v.<java.lang.String: void <init>(byte[],java.nio.charset.Charset)>(v, v);
v = <org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Sending %%x response to server after receiving an error: {}", v);
label:
v = <org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State: org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State RECEIVE_SERVER_MESSAGE_AFTER_FAILURE>;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: void setState(org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State)>(v);
v = newarray (byte)[1];
v[0] = 1;
label:
return v;
label:
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: javax.security.auth.callback.CallbackHandler callbackHandler()>();
v = newarray (javax.security.auth.callback.Callback)[1];
v[0] = v;
interfaceinvoke v.<javax.security.auth.callback.CallbackHandler: void handle(javax.security.auth.callback.Callback[])>(v);
v = <org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: org.slf4j.Logger log>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.oauthbearer.OAuthBearerTokenCallback: org.apache.kafkaesqueesque.common.security.oauthbearer.OAuthBearerToken token()>();
v = interfaceinvoke v.<org.apache.kafkaesqueesque.common.security.oauthbearer.OAuthBearerToken: java.lang.String principalName()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Successfully authenticated as {}", v);
label:
v = <org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State: org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State COMPLETE>;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: void setState(org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State)>(v);
label:
return null;
label:
v = new org.apache.kafkaesqueesque.common.errors.IllegalSaslStateException;
v = v.<org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State state>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State)>(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 challenge in Sasl client state \u0001");
specialinvoke v.<org.apache.kafkaesqueesque.common.errors.IllegalSaslStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v := @caughtexception;
v = <org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State: org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State FAILED>;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: void setState(org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State)>(v);
throw v;
label:
v := @caughtexception;
v = <org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State: org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State FAILED>;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: void setState(org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State)>(v);
v = new javax.security.sasl.SaslException;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
specialinvoke v.<javax.security.sasl.SaslException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch javax.security.sasl.SaslException from label to label with label;
catch javax.security.sasl.SaslException from label to label with label;
catch javax.security.sasl.SaslException from label to label with label;
catch java.io.IOException from label to label with label;
catch javax.security.auth.callback.UnsupportedCallbackException from label to label with label;
catch java.io.IOException from label to label with label;
catch javax.security.auth.callback.UnsupportedCallbackException from label to label with label;
catch java.io.IOException from label to label with label;
catch javax.security.auth.callback.UnsupportedCallbackException from label to label with label;
catch java.io.IOException from label to label with label;
catch javax.security.auth.callback.UnsupportedCallbackException from label to label with label;
}
public boolean isComplete()
{
org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State v, v;
org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient v;
boolean v;
v := @this: org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient;
v = v.<org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State state>;
v = <org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State: org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State COMPLETE>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public byte[] unwrap(byte[], int, int)
{
byte[] v, v;
java.lang.IllegalStateException v;
org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient v;
int v, v, v;
boolean v;
v := @this: org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: boolean isComplete()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Authentication exchange has not completed");
throw v;
label:
v = v + v;
v = staticinvoke <java.util.Arrays: byte[] copyOfRange(byte[],int,int)>(v, v, v);
return v;
}
public byte[] wrap(byte[], int, int)
{
byte[] v, v;
java.lang.IllegalStateException v;
org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient v;
int v, v, v;
boolean v;
v := @this: org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: boolean isComplete()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Authentication exchange has not completed");
throw v;
label:
v = v + v;
v = staticinvoke <java.util.Arrays: byte[] copyOfRange(byte[],int,int)>(v, v, v);
return v;
}
public java.lang.Object getNegotiatedProperty(java.lang.String)
{
java.lang.IllegalStateException v;
java.lang.String v;
org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient v;
boolean v;
v := @this: org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: boolean isComplete()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Authentication exchange has not completed");
throw v;
label:
return null;
}
public void dispose()
{
org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient v;
v := @this: org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient;
return;
}
private void setState(org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State)
{
org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State v;
org.slf4j.Logger v;
org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient v;
v := @this: org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient;
v := @parameter: org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State;
v = <org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Setting SASL/{} client state to {}", "OAUTHBEARER", v);
v.<org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient$State state> = v;
return;
}
private org.apache.kafkaesqueesque.common.security.auth.SaslExtensions retrieveCustomExtensions() throws javax.security.sasl.SaslException
{
org.slf4j.Logger v;
javax.security.auth.callback.UnsupportedCallbackException v;
org.apache.kafkaesqueesque.common.security.auth.SaslExtensions v;
javax.security.sasl.SaslException v;
java.lang.Exception v;
org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient v;
javax.security.auth.callback.Callback[] v;
javax.security.auth.callback.CallbackHandler v, v;
org.apache.kafkaesqueesque.common.security.auth.SaslExtensionsCallback v;
v := @this: org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient;
v = new org.apache.kafkaesqueesque.common.security.auth.SaslExtensionsCallback;
specialinvoke v.<org.apache.kafkaesqueesque.common.security.auth.SaslExtensionsCallback: void <init>()>();
label:
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: javax.security.auth.callback.CallbackHandler callbackHandler()>();
v = newarray (javax.security.auth.callback.Callback)[1];
v[0] = v;
interfaceinvoke v.<javax.security.auth.callback.CallbackHandler: void handle(javax.security.auth.callback.Callback[])>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: org.slf4j.Logger log>;
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: javax.security.auth.callback.CallbackHandler callbackHandler()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Extensions callback is not supported by client callback handler {}, no extensions will be added", v);
goto label;
label:
v := @caughtexception;
v = new javax.security.sasl.SaslException;
specialinvoke v.<javax.security.sasl.SaslException: void <init>(java.lang.String,java.lang.Throwable)>("SASL extensions could not be obtained", v);
throw v;
label:
v = virtualinvoke v.<org.apache.kafkaesqueesque.common.security.auth.SaslExtensionsCallback: org.apache.kafkaesqueesque.common.security.auth.SaslExtensions extensions()>();
return v;
catch javax.security.auth.callback.UnsupportedCallbackException from label to label with label;
catch java.lang.Exception from label to label with label;
}
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/oauthbearer/internals/OAuthBearerSaslClient;");
<org.apache.kafkaesqueesque.common.security.oauthbearer.internals.OAuthBearerSaslClient: org.slf4j.Logger log> = v;
return;
}
}