public class oadd.org.apache.calcite.avatica.remote.ClientKeytabJaasConf extends javax.security.auth.login.Configuration
{
private static final org.slf4j.Logger LOG;
private final java.lang.String principal;
private final java.lang.String keytab;
public void <init>(java.lang.String, java.lang.String)
{
java.lang.String v, v;
oadd.org.apache.calcite.avatica.remote.ClientKeytabJaasConf v;
v := @this: oadd.org.apache.calcite.avatica.remote.ClientKeytabJaasConf;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
specialinvoke v.<javax.security.auth.login.Configuration: void <init>()>();
v.<oadd.org.apache.calcite.avatica.remote.ClientKeytabJaasConf: java.lang.String principal> = v;
v.<oadd.org.apache.calcite.avatica.remote.ClientKeytabJaasConf: java.lang.String keytab> = v;
return;
}
public javax.security.auth.login.AppConfigurationEntry[] getAppConfigurationEntry(java.lang.String)
{
org.slf4j.Logger v;
javax.security.auth.login.AppConfigurationEntry v;
java.util.HashMap v;
oadd.org.apache.calcite.avatica.remote.ClientKeytabJaasConf v;
javax.security.auth.login.AppConfigurationEntry[] v;
java.lang.String v, v, v, v, v;
javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag v;
boolean v;
v := @this: oadd.org.apache.calcite.avatica.remote.ClientKeytabJaasConf;
v := @parameter: java.lang.String;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = v.<oadd.org.apache.calcite.avatica.remote.ClientKeytabJaasConf: java.lang.String principal>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("principal", v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("refreshKrb5Config", "true");
v = staticinvoke <oadd.org.apache.calcite.avatica.remote.KerberosConnection: boolean isIbmJava()>();
if v == 0 goto label;
v = v.<oadd.org.apache.calcite.avatica.remote.ClientKeytabJaasConf: java.lang.String keytab>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("useKeytab", v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("credsType", "both");
goto label;
label:
v = v.<oadd.org.apache.calcite.avatica.remote.ClientKeytabJaasConf: java.lang.String keytab>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("keyTab", v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("useKeyTab", "true");
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("isInitiator", "true");
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("doNotPrompt", "true");
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("storeKey", "true");
label:
v = <oadd.org.apache.calcite.avatica.remote.ClientKeytabJaasConf: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("JAAS Configuration for client keytab-based Kerberos login: {}", v);
v = newarray (javax.security.auth.login.AppConfigurationEntry)[1];
v = new javax.security.auth.login.AppConfigurationEntry;
v = staticinvoke <oadd.org.apache.calcite.avatica.remote.KerberosConnection: java.lang.String getKrb5LoginModuleName()>();
v = <javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag: javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag REQUIRED>;
specialinvoke v.<javax.security.auth.login.AppConfigurationEntry: void <init>(java.lang.String,javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag,java.util.Map)>(v, v, v);
v[0] = v;
return v;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Loadd/org/apache/calcite/avatica/remote/ClientKeytabJaasConf;");
<oadd.org.apache.calcite.avatica.remote.ClientKeytabJaasConf: org.slf4j.Logger LOG> = v;
return;
}
}