public class org.apache.hive.service.auth.LdapAuthenticationProviderImpl extends java.lang.Object implements org.apache.hive.service.auth.PasswdAuthenticationProvider
{
private static final org.slf4j.Logger LOG;
private static final java.util.List FILTER_FACTORIES;
private final org.apache.hadoop.hive.conf.HiveConf conf;
private final org.apache.hive.service.auth.ldap.Filter filter;
private final org.apache.hive.service.auth.ldap.DirSearchFactory searchFactory;
public void <init>(org.apache.hadoop.hive.conf.HiveConf)
{
org.apache.hadoop.hive.conf.HiveConf v;
org.apache.hive.service.auth.ldap.LdapSearchFactory v;
org.apache.hive.service.auth.LdapAuthenticationProviderImpl v;
v := @this: org.apache.hive.service.auth.LdapAuthenticationProviderImpl;
v := @parameter: org.apache.hadoop.hive.conf.HiveConf;
v = new org.apache.hive.service.auth.ldap.LdapSearchFactory;
specialinvoke v.<org.apache.hive.service.auth.ldap.LdapSearchFactory: void <init>()>();
specialinvoke v.<org.apache.hive.service.auth.LdapAuthenticationProviderImpl: void <init>(org.apache.hadoop.hive.conf.HiveConf,org.apache.hive.service.auth.ldap.DirSearchFactory)>(v, v);
return;
}
void <init>(org.apache.hadoop.hive.conf.HiveConf, org.apache.hive.service.auth.ldap.DirSearchFactory)
{
org.apache.hadoop.hive.conf.HiveConf v;
org.apache.hive.service.auth.ldap.DirSearchFactory v;
org.apache.hive.service.auth.LdapAuthenticationProviderImpl v;
org.apache.hive.service.auth.ldap.Filter v;
v := @this: org.apache.hive.service.auth.LdapAuthenticationProviderImpl;
v := @parameter: org.apache.hadoop.hive.conf.HiveConf;
v := @parameter: org.apache.hive.service.auth.ldap.DirSearchFactory;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.hive.service.auth.LdapAuthenticationProviderImpl: org.apache.hadoop.hive.conf.HiveConf conf> = v;
v.<org.apache.hive.service.auth.LdapAuthenticationProviderImpl: org.apache.hive.service.auth.ldap.DirSearchFactory searchFactory> = v;
v = staticinvoke <org.apache.hive.service.auth.LdapAuthenticationProviderImpl: org.apache.hive.service.auth.ldap.Filter resolveFilter(org.apache.hadoop.hive.conf.HiveConf)>(v);
v.<org.apache.hive.service.auth.LdapAuthenticationProviderImpl: org.apache.hive.service.auth.ldap.Filter filter> = v;
return;
}
public void Authenticate(java.lang.String, java.lang.String) throws javax.security.sasl.AuthenticationException
{
java.lang.Throwable v;
javax.naming.NamingException v;
org.apache.hive.service.auth.LdapAuthenticationProviderImpl v;
org.apache.hadoop.hive.conf.HiveConf$ConfVars v, v;
java.io.Closeable[] v, v;
java.lang.String v, v, v, v, v, v, v, v, v;
boolean v, v;
org.slf4j.Logger v, v;
org.apache.hadoop.hive.conf.HiveConf v, v;
java.io.IOException v;
char[] v;
javax.security.sasl.AuthenticationException v;
org.apache.hive.service.auth.ldap.DirSearch v;
v := @this: org.apache.hive.service.auth.LdapAuthenticationProviderImpl;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = null;
v = v.<org.apache.hive.service.auth.LdapAuthenticationProviderImpl: org.apache.hadoop.hive.conf.HiveConf conf>;
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_PLAIN_LDAP_BIND_USER>;
v = virtualinvoke v.<org.apache.hadoop.hive.conf.HiveConf: java.lang.String getVar(org.apache.hadoop.hive.conf.HiveConf$ConfVars)>(v);
v = null;
label:
v = v.<org.apache.hive.service.auth.LdapAuthenticationProviderImpl: org.apache.hadoop.hive.conf.HiveConf conf>;
v = <org.apache.hadoop.hive.conf.HiveConf$ConfVars: org.apache.hadoop.hive.conf.HiveConf$ConfVars HIVE_SERVER2_PLAIN_LDAP_BIND_PASSWORD>;
v = virtualinvoke v.<org.apache.hadoop.hive.conf.HiveConf$ConfVars: java.lang.String toString()>();
v = virtualinvoke v.<org.apache.hadoop.hive.conf.HiveConf: char[] getPassword(java.lang.String)>(v);
if v == null goto label;
v = new java.lang.String;
specialinvoke v.<java.lang.String: void <init>(char[])>(v);
v = v;
label:
goto label;
label:
v := @caughtexception;
v = null;
label:
if v == null goto label;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v != 0 goto label;
v = v;
v = v;
label:
v = specialinvoke v.<org.apache.hive.service.auth.LdapAuthenticationProviderImpl: org.apache.hive.service.auth.ldap.DirSearch createDirSearch(java.lang.String,java.lang.String)>(v, v);
specialinvoke v.<org.apache.hive.service.auth.LdapAuthenticationProviderImpl: void applyFilter(org.apache.hive.service.auth.ldap.DirSearch,java.lang.String)>(v, v);
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.hive.service.auth.ldap.DirSearch: java.lang.String findUserDn(java.lang.String)>(v);
specialinvoke v.<org.apache.hive.service.auth.LdapAuthenticationProviderImpl: org.apache.hive.service.auth.ldap.DirSearch createDirSearch(java.lang.String,java.lang.String)>(v, v);
label:
v = <org.apache.hive.service.auth.LdapAuthenticationProviderImpl: org.slf4j.Logger LOG>;
v = newarray (java.io.Closeable)[1];
v[0] = v;
staticinvoke <org.apache.hive.service.ServiceUtils: void cleanup(org.slf4j.Logger,java.io.Closeable[])>(v, v);
goto label;
label:
v := @caughtexception;
v = new javax.security.sasl.AuthenticationException;
v = virtualinvoke v.<javax.naming.NamingException: java.lang.String getMessage()>();
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[])>("Unable to find the user in the LDAP tree. \u0001");
specialinvoke v.<javax.security.sasl.AuthenticationException: void <init>(java.lang.String)>(v);
throw v;
label:
v := @caughtexception;
v = <org.apache.hive.service.auth.LdapAuthenticationProviderImpl: org.slf4j.Logger LOG>;
v = newarray (java.io.Closeable)[1];
v[0] = v;
staticinvoke <org.apache.hive.service.ServiceUtils: void cleanup(org.slf4j.Logger,java.io.Closeable[])>(v, v);
throw v;
label:
return;
catch java.io.IOException from label to label with label;
catch javax.naming.NamingException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private org.apache.hive.service.auth.ldap.DirSearch createDirSearch(java.lang.String, java.lang.String) throws javax.security.sasl.AuthenticationException
{
byte[] v;
java.lang.Object[] v;
org.apache.hive.service.auth.LdapAuthenticationProviderImpl v;
byte v;
org.apache.hive.service.auth.ldap.DirSearchFactory v;
java.lang.String v, v, v;
boolean v, v, v, v;
java.util.Iterator v;
org.apache.hadoop.hive.conf.HiveConf v, v;
java.util.List v;
java.lang.Object v;
javax.security.sasl.AuthenticationException v, v, v, v;
org.apache.hive.service.auth.ldap.DirSearch v;
v := @this: org.apache.hive.service.auth.LdapAuthenticationProviderImpl;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isBlank(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = new javax.security.sasl.AuthenticationException;
specialinvoke v.<javax.security.sasl.AuthenticationException: void <init>(java.lang.String)>("Error validating LDAP user: a null or blank user name has been provided");
throw v;
label:
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isBlank(java.lang.CharSequence)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
v = v[0];
if v != 0 goto label;
label:
v = new javax.security.sasl.AuthenticationException;
specialinvoke v.<javax.security.sasl.AuthenticationException: void <init>(java.lang.String)>("Error validating LDAP user: a null or blank password has been provided");
throw v;
label:
v = v.<org.apache.hive.service.auth.LdapAuthenticationProviderImpl: org.apache.hadoop.hive.conf.HiveConf conf>;
v = staticinvoke <org.apache.hive.service.auth.ldap.LdapUtils: java.util.List createCandidatePrincipals(org.apache.hadoop.hive.conf.HiveConf,java.lang.String)>(v, v);
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()>();
label:
v = v.<org.apache.hive.service.auth.LdapAuthenticationProviderImpl: org.apache.hive.service.auth.ldap.DirSearchFactory searchFactory>;
v = v.<org.apache.hive.service.auth.LdapAuthenticationProviderImpl: org.apache.hadoop.hive.conf.HiveConf conf>;
v = interfaceinvoke v.<org.apache.hive.service.auth.ldap.DirSearchFactory: org.apache.hive.service.auth.ldap.DirSearch getInstance(org.apache.hadoop.hive.conf.HiveConf,java.lang.String,java.lang.String)>(v, v, v);
label:
return v;
label:
v := @caughtexception;
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v != 0 goto label;
throw v;
label:
v = new javax.security.sasl.AuthenticationException;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("No candidate principals for %s was found.", v);
specialinvoke v.<javax.security.sasl.AuthenticationException: void <init>(java.lang.String)>(v);
throw v;
catch javax.security.sasl.AuthenticationException from label to label with label;
}
private static org.apache.hive.service.auth.ldap.Filter resolveFilter(org.apache.hadoop.hive.conf.HiveConf)
{
java.util.List v;
java.util.Iterator v;
org.apache.hadoop.hive.conf.HiveConf v;
java.lang.Object v;
org.apache.hive.service.auth.ldap.Filter v;
boolean v;
v := @parameter: org.apache.hadoop.hive.conf.HiveConf;
v = <org.apache.hive.service.auth.LdapAuthenticationProviderImpl: java.util.List FILTER_FACTORIES>;
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.<org.apache.hive.service.auth.ldap.FilterFactory: org.apache.hive.service.auth.ldap.Filter getInstance(org.apache.hadoop.hive.conf.HiveConf)>(v);
if v == null goto label;
return v;
label:
return null;
}
private void applyFilter(org.apache.hive.service.auth.ldap.DirSearch, java.lang.String) throws javax.security.sasl.AuthenticationException
{
org.apache.hive.service.auth.LdapAuthenticationProviderImpl v;
org.apache.hive.service.auth.ldap.DirSearch v;
java.lang.String v, v;
org.apache.hive.service.auth.ldap.Filter v, v, v;
boolean v;
v := @this: org.apache.hive.service.auth.LdapAuthenticationProviderImpl;
v := @parameter: org.apache.hive.service.auth.ldap.DirSearch;
v := @parameter: java.lang.String;
v = v.<org.apache.hive.service.auth.LdapAuthenticationProviderImpl: org.apache.hive.service.auth.ldap.Filter filter>;
if v == null goto label;
v = staticinvoke <org.apache.hive.service.auth.ldap.LdapUtils: boolean hasDomain(java.lang.String)>(v);
if v == 0 goto label;
v = v.<org.apache.hive.service.auth.LdapAuthenticationProviderImpl: org.apache.hive.service.auth.ldap.Filter filter>;
v = staticinvoke <org.apache.hive.service.auth.ldap.LdapUtils: java.lang.String extractUserName(java.lang.String)>(v);
interfaceinvoke v.<org.apache.hive.service.auth.ldap.Filter: void apply(org.apache.hive.service.auth.ldap.DirSearch,java.lang.String)>(v, v);
goto label;
label:
v = v.<org.apache.hive.service.auth.LdapAuthenticationProviderImpl: org.apache.hive.service.auth.ldap.Filter filter>;
interfaceinvoke v.<org.apache.hive.service.auth.ldap.Filter: void apply(org.apache.hive.service.auth.ldap.DirSearch,java.lang.String)>(v, v);
label:
return;
}
static void <clinit>()
{
org.apache.hive.service.auth.ldap.ChainFilterFactory v;
org.slf4j.Logger v;
org.apache.hive.service.auth.ldap.UserGroupSearchFilterFactory v;
org.apache.hive.service.auth.ldap.GroupFilterFactory v;
org.apache.hive.service.auth.ldap.FilterFactory[] v;
org.apache.hive.service.auth.ldap.CustomQueryFilterFactory v;
com.google.common.collect.ImmutableList v;
org.apache.hive.service.auth.ldap.UserFilterFactory v;
org.apache.hive.service.auth.ldap.UserSearchFilterFactory v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/hive/service/auth/LdapAuthenticationProviderImpl;");
<org.apache.hive.service.auth.LdapAuthenticationProviderImpl: org.slf4j.Logger LOG> = v;
v = new org.apache.hive.service.auth.ldap.UserGroupSearchFilterFactory;
specialinvoke v.<org.apache.hive.service.auth.ldap.UserGroupSearchFilterFactory: void <init>()>();
v = new org.apache.hive.service.auth.ldap.CustomQueryFilterFactory;
specialinvoke v.<org.apache.hive.service.auth.ldap.CustomQueryFilterFactory: void <init>()>();
v = new org.apache.hive.service.auth.ldap.ChainFilterFactory;
v = newarray (org.apache.hive.service.auth.ldap.FilterFactory)[3];
v = new org.apache.hive.service.auth.ldap.UserSearchFilterFactory;
specialinvoke v.<org.apache.hive.service.auth.ldap.UserSearchFilterFactory: void <init>()>();
v[0] = v;
v = new org.apache.hive.service.auth.ldap.UserFilterFactory;
specialinvoke v.<org.apache.hive.service.auth.ldap.UserFilterFactory: void <init>()>();
v[1] = v;
v = new org.apache.hive.service.auth.ldap.GroupFilterFactory;
specialinvoke v.<org.apache.hive.service.auth.ldap.GroupFilterFactory: void <init>()>();
v[2] = v;
specialinvoke v.<org.apache.hive.service.auth.ldap.ChainFilterFactory: void <init>(org.apache.hive.service.auth.ldap.FilterFactory[])>(v);
v = staticinvoke <com.google.common.collect.ImmutableList: com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object)>(v, v, v);
<org.apache.hive.service.auth.LdapAuthenticationProviderImpl: java.util.List FILTER_FACTORIES> = v;
return;
}
}