class org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge$Server$SaslDigestCallbackHandler extends java.lang.Object implements javax.security.auth.callback.CallbackHandler
{
private final org.apache.hadoop.hive.metastore.security.DelegationTokenSecretManager secretManager;
public void <init>(org.apache.hadoop.hive.metastore.security.DelegationTokenSecretManager)
{
org.apache.hadoop.hive.metastore.security.DelegationTokenSecretManager v;
org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge$Server$SaslDigestCallbackHandler v;
v := @this: org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge$Server$SaslDigestCallbackHandler;
v := @parameter: org.apache.hadoop.hive.metastore.security.DelegationTokenSecretManager;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge$Server$SaslDigestCallbackHandler: org.apache.hadoop.hive.metastore.security.DelegationTokenSecretManager secretManager> = v;
return;
}
private char[] getPassword(org.apache.hadoop.hive.metastore.security.DelegationTokenIdentifier) throws org.apache.hadoop.security.token.SecretManager$InvalidToken
{
byte[] v;
org.apache.hadoop.hive.metastore.security.DelegationTokenSecretManager v;
org.apache.hadoop.hive.metastore.security.DelegationTokenIdentifier v;
char[] v;
org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge$Server$SaslDigestCallbackHandler v;
v := @this: org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge$Server$SaslDigestCallbackHandler;
v := @parameter: org.apache.hadoop.hive.metastore.security.DelegationTokenIdentifier;
v = v.<org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge$Server$SaslDigestCallbackHandler: org.apache.hadoop.hive.metastore.security.DelegationTokenSecretManager secretManager>;
v = virtualinvoke v.<org.apache.hadoop.hive.metastore.security.DelegationTokenSecretManager: byte[] retrievePassword(org.apache.hadoop.security.token.delegation.AbstractDelegationTokenIdentifier)>(v);
v = specialinvoke v.<org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge$Server$SaslDigestCallbackHandler: char[] encodePassword(byte[])>(v);
return v;
}
private char[] encodePassword(byte[])
{
byte[] v;
char[] v;
java.util.Base64$Encoder v;
java.lang.String v;
org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge$Server$SaslDigestCallbackHandler v;
v := @this: org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge$Server$SaslDigestCallbackHandler;
v := @parameter: byte[];
v = staticinvoke <java.util.Base64: java.util.Base64$Encoder getEncoder()>();
v = virtualinvoke v.<java.util.Base64$Encoder: java.lang.String encodeToString(byte[])>(v);
v = virtualinvoke v.<java.lang.String: char[] toCharArray()>();
return v;
}
public void handle(javax.security.auth.callback.Callback[]) throws org.apache.hadoop.security.token.SecretManager$InvalidToken, javax.security.auth.callback.UnsupportedCallbackException
{
org.apache.hadoop.hive.metastore.security.DelegationTokenSecretManager v, v;
javax.security.auth.callback.UnsupportedCallbackException v;
org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge$Server$SaslDigestCallbackHandler v;
javax.security.auth.callback.Callback[] v;
org.apache.hadoop.security.token.TokenIdentifier v, v;
org.apache.hadoop.security.UserGroupInformation v, v;
int v, v;
java.lang.String v, v, v, v, v;
boolean v, v, v, v, v, v, v;
org.slf4j.Logger v, v, v;
char[] v;
javax.security.auth.callback.Callback v;
v := @this: org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge$Server$SaslDigestCallbackHandler;
v := @parameter: javax.security.auth.callback.Callback[];
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = v instanceof javax.security.sasl.AuthorizeCallback;
if v != 0 goto label;
v = v instanceof javax.security.auth.callback.NameCallback;
if v != 0 goto label;
v = v instanceof javax.security.auth.callback.PasswordCallback;
if v != 0 goto label;
v = v instanceof javax.security.sasl.RealmCallback;
if v != 0 goto label;
v = new javax.security.auth.callback.UnsupportedCallbackException;
specialinvoke v.<javax.security.auth.callback.UnsupportedCallbackException: void <init>(javax.security.auth.callback.Callback,java.lang.String)>(v, "Unrecognized SASL DIGEST-MD5 Callback");
throw v;
label:
v = v + 1;
goto label;
label:
if v == null goto label;
v = virtualinvoke v.<javax.security.auth.callback.NameCallback: java.lang.String getDefaultName()>();
v = v.<org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge$Server$SaslDigestCallbackHandler: org.apache.hadoop.hive.metastore.security.DelegationTokenSecretManager secretManager>;
v = staticinvoke <org.apache.hadoop.security.SaslRpcServer: org.apache.hadoop.security.token.TokenIdentifier getIdentifier(java.lang.String,org.apache.hadoop.security.token.SecretManager)>(v, v);
v = specialinvoke v.<org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge$Server$SaslDigestCallbackHandler: char[] getPassword(org.apache.hadoop.hive.metastore.security.DelegationTokenIdentifier)>(v);
v = <org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.hadoop.hive.metastore.security.DelegationTokenIdentifier: org.apache.hadoop.security.UserGroupInformation getUser()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("SASL server DIGEST-MD5 callback: setting password for client:{}", v);
virtualinvoke v.<javax.security.auth.callback.PasswordCallback: void setPassword(char[])>(v);
if v == null goto label;
v = virtualinvoke v.<javax.security.sasl.AuthorizeCallback: java.lang.String getAuthenticationID()>();
v = virtualinvoke v.<javax.security.sasl.AuthorizeCallback: java.lang.String getAuthorizationID()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<javax.security.sasl.AuthorizeCallback: void setAuthorized(boolean)>(1);
goto label;
label:
virtualinvoke v.<javax.security.sasl.AuthorizeCallback: void setAuthorized(boolean)>(0);
label:
v = virtualinvoke v.<javax.security.sasl.AuthorizeCallback: boolean isAuthorized()>();
if v == 0 goto label;
v = <org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge$Server$SaslDigestCallbackHandler: org.apache.hadoop.hive.metastore.security.DelegationTokenSecretManager secretManager>;
v = staticinvoke <org.apache.hadoop.security.SaslRpcServer: org.apache.hadoop.security.token.TokenIdentifier getIdentifier(java.lang.String,org.apache.hadoop.security.token.SecretManager)>(v, v);
v = virtualinvoke v.<org.apache.hadoop.hive.metastore.security.DelegationTokenIdentifier: org.apache.hadoop.security.UserGroupInformation getUser()>();
v = virtualinvoke v.<org.apache.hadoop.security.UserGroupInformation: java.lang.String getUserName()>();
v = <org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge: org.slf4j.Logger LOG>;
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[])>("SASL server DIGEST-MD5 callback: setting canonicalized client ID: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
label:
virtualinvoke v.<javax.security.sasl.AuthorizeCallback: void setAuthorizedID(java.lang.String)>(v);
label:
return;
}
}