public class org.apache.activemq.jaas.PropertiesLoginModule extends org.apache.activemq.jaas.PropertiesLoader implements javax.security.auth.spi.LoginModule
{
private static final java.lang.String USER_FILE_PROP_NAME;
private static final java.lang.String GROUP_FILE_PROP_NAME;
private static final org.slf4j.Logger LOG;
private javax.security.auth.Subject subject;
private javax.security.auth.callback.CallbackHandler callbackHandler;
private java.util.Properties users;
private java.util.Map groups;
private java.lang.String user;
private final java.util.Set principals;
private boolean succeeded;
private boolean commitSucceeded;
public void <init>()
{
java.util.HashSet v;
org.apache.activemq.jaas.PropertiesLoginModule v;
v := @this: org.apache.activemq.jaas.PropertiesLoginModule;
specialinvoke v.<org.apache.activemq.jaas.PropertiesLoader: void <init>()>();
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<org.apache.activemq.jaas.PropertiesLoginModule: java.util.Set principals> = v;
v.<org.apache.activemq.jaas.PropertiesLoginModule: boolean succeeded> = 0;
v.<org.apache.activemq.jaas.PropertiesLoginModule: boolean commitSucceeded> = 0;
return;
}
public void initialize(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, java.util.Map, java.util.Map)
{
org.apache.activemq.jaas.PropertiesLoginModule v;
java.util.Properties v;
org.apache.activemq.jaas.ReloadableProperties v, v;
javax.security.auth.Subject v;
javax.security.auth.callback.CallbackHandler v;
java.util.Map v, v, v;
v := @this: org.apache.activemq.jaas.PropertiesLoginModule;
v := @parameter: javax.security.auth.Subject;
v := @parameter: javax.security.auth.callback.CallbackHandler;
v := @parameter: java.util.Map;
v := @parameter: java.util.Map;
v.<org.apache.activemq.jaas.PropertiesLoginModule: javax.security.auth.Subject subject> = v;
v.<org.apache.activemq.jaas.PropertiesLoginModule: javax.security.auth.callback.CallbackHandler callbackHandler> = v;
v.<org.apache.activemq.jaas.PropertiesLoginModule: boolean succeeded> = 0;
virtualinvoke v.<org.apache.activemq.jaas.PropertiesLoginModule: void init(java.util.Map)>(v);
v = virtualinvoke v.<org.apache.activemq.jaas.PropertiesLoginModule: org.apache.activemq.jaas.ReloadableProperties load(java.lang.String,java.lang.String,java.util.Map)>("org.apache.activemq.jaas.properties.user", "user", v);
v = virtualinvoke v.<org.apache.activemq.jaas.ReloadableProperties: java.util.Properties getProps()>();
v.<org.apache.activemq.jaas.PropertiesLoginModule: java.util.Properties users> = v;
v = virtualinvoke v.<org.apache.activemq.jaas.PropertiesLoginModule: org.apache.activemq.jaas.ReloadableProperties load(java.lang.String,java.lang.String,java.util.Map)>("org.apache.activemq.jaas.properties.group", "group", v);
v = virtualinvoke v.<org.apache.activemq.jaas.ReloadableProperties: java.util.Map invertedPropertiesValuesMap()>();
v.<org.apache.activemq.jaas.PropertiesLoginModule: java.util.Map groups> = v;
return;
}
public boolean login() throws javax.security.auth.login.LoginException
{
javax.security.auth.login.LoginException v, v;
javax.security.auth.callback.UnsupportedCallbackException v;
javax.security.auth.callback.Callback[] v;
javax.security.auth.callback.CallbackHandler v;
javax.security.auth.login.FailedLoginException v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v;
boolean v, v, v;
org.apache.activemq.jaas.PropertiesLoginModule v;
javax.security.auth.callback.PasswordCallback v;
java.util.Properties v;
org.slf4j.Logger v;
java.io.IOException v;
javax.security.auth.callback.NameCallback v;
char[] v;
javax.security.auth.callback.Callback v, v;
v := @this: org.apache.activemq.jaas.PropertiesLoginModule;
v = newarray (javax.security.auth.callback.Callback)[2];
v = new javax.security.auth.callback.NameCallback;
specialinvoke v.<javax.security.auth.callback.NameCallback: void <init>(java.lang.String)>("Username: ");
v[0] = v;
v = new javax.security.auth.callback.PasswordCallback;
specialinvoke v.<javax.security.auth.callback.PasswordCallback: void <init>(java.lang.String,boolean)>("Password: ", 0);
v[1] = v;
label:
v = v.<org.apache.activemq.jaas.PropertiesLoginModule: javax.security.auth.callback.CallbackHandler callbackHandler>;
interfaceinvoke v.<javax.security.auth.callback.CallbackHandler: void handle(javax.security.auth.callback.Callback[])>(v);
label:
goto label;
label:
v := @caughtexception;
v = new javax.security.auth.login.LoginException;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
specialinvoke v.<javax.security.auth.login.LoginException: void <init>(java.lang.String)>(v);
throw v;
label:
v := @caughtexception;
v = new javax.security.auth.login.LoginException;
v = virtualinvoke v.<javax.security.auth.callback.UnsupportedCallbackException: 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[])>("\u not available to obtain information from user");
specialinvoke v.<javax.security.auth.login.LoginException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v[0];
v = virtualinvoke v.<javax.security.auth.callback.NameCallback: java.lang.String getName()>();
v.<org.apache.activemq.jaas.PropertiesLoginModule: java.lang.String user> = v;
v = v[1];
v = virtualinvoke v.<javax.security.auth.callback.PasswordCallback: char[] getPassword()>();
if v != null goto label;
v = newarray (char)[0];
label:
v = v.<org.apache.activemq.jaas.PropertiesLoginModule: java.lang.String user>;
if v != null goto label;
v = new javax.security.auth.login.FailedLoginException;
specialinvoke v.<javax.security.auth.login.FailedLoginException: void <init>(java.lang.String)>("user name is null");
throw v;
label:
v = v.<org.apache.activemq.jaas.PropertiesLoginModule: java.util.Properties users>;
v = v.<org.apache.activemq.jaas.PropertiesLoginModule: java.lang.String user>;
v = virtualinvoke v.<java.util.Properties: java.lang.String getProperty(java.lang.String)>(v);
if v != null goto label;
v = new javax.security.auth.login.FailedLoginException;
specialinvoke v.<javax.security.auth.login.FailedLoginException: void <init>(java.lang.String)>("User does exist");
throw v;
label:
v = new java.lang.String;
specialinvoke v.<java.lang.String: void <init>(char[])>(v);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = new javax.security.auth.login.FailedLoginException;
specialinvoke v.<javax.security.auth.login.FailedLoginException: void <init>(java.lang.String)>("Password does not match");
throw v;
label:
v.<org.apache.activemq.jaas.PropertiesLoginModule: boolean succeeded> = 1;
v = v.<org.apache.activemq.jaas.PropertiesLoginModule: boolean debug>;
if v == 0 goto label;
v = <org.apache.activemq.jaas.PropertiesLoginModule: org.slf4j.Logger LOG>;
v = v.<org.apache.activemq.jaas.PropertiesLoginModule: java.lang.String user>;
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[])>("login \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
label:
v = v.<org.apache.activemq.jaas.PropertiesLoginModule: boolean succeeded>;
return v;
catch java.io.IOException from label to label with label;
catch javax.security.auth.callback.UnsupportedCallbackException from label to label with label;
}
public boolean commit() throws javax.security.auth.login.LoginException
{
java.util.Map v;
java.lang.String v, v;
org.apache.activemq.jaas.GroupPrincipal v;
boolean v, v, v, v;
org.apache.activemq.jaas.PropertiesLoginModule v;
org.slf4j.Logger v, v;
java.util.Iterator v;
java.util.Set v, v, v, v;
javax.security.auth.Subject v;
org.apache.activemq.jaas.UserPrincipal v;
java.lang.Object v, v;
v := @this: org.apache.activemq.jaas.PropertiesLoginModule;
v = v.<org.apache.activemq.jaas.PropertiesLoginModule: boolean succeeded>;
if v != 0 goto label;
specialinvoke v.<org.apache.activemq.jaas.PropertiesLoginModule: void clear()>();
v = v.<org.apache.activemq.jaas.PropertiesLoginModule: boolean debug>;
if v == 0 goto label;
v = <org.apache.activemq.jaas.PropertiesLoginModule: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("commit, result: false");
label:
return 0;
label:
v = v.<org.apache.activemq.jaas.PropertiesLoginModule: java.util.Set principals>;
v = new org.apache.activemq.jaas.UserPrincipal;
v = v.<org.apache.activemq.jaas.PropertiesLoginModule: java.lang.String user>;
specialinvoke v.<org.apache.activemq.jaas.UserPrincipal: void <init>(java.lang.String)>(v);
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = v.<org.apache.activemq.jaas.PropertiesLoginModule: java.util.Map groups>;
v = v.<org.apache.activemq.jaas.PropertiesLoginModule: java.lang.String user>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = interfaceinvoke v.<java.util.Set: 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 = v.<org.apache.activemq.jaas.PropertiesLoginModule: java.util.Set principals>;
v = new org.apache.activemq.jaas.GroupPrincipal;
specialinvoke v.<org.apache.activemq.jaas.GroupPrincipal: void <init>(java.lang.String)>(v);
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
v = v.<org.apache.activemq.jaas.PropertiesLoginModule: javax.security.auth.Subject subject>;
v = virtualinvoke v.<javax.security.auth.Subject: java.util.Set getPrincipals()>();
v = v.<org.apache.activemq.jaas.PropertiesLoginModule: java.util.Set principals>;
interfaceinvoke v.<java.util.Set: boolean addAll(java.util.Collection)>(v);
v = v.<org.apache.activemq.jaas.PropertiesLoginModule: boolean debug>;
if v == 0 goto label;
v = <org.apache.activemq.jaas.PropertiesLoginModule: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("commit, result: true");
label:
v.<org.apache.activemq.jaas.PropertiesLoginModule: boolean commitSucceeded> = 1;
return 1;
}
public boolean abort() throws javax.security.auth.login.LoginException
{
org.apache.activemq.jaas.PropertiesLoginModule v;
org.slf4j.Logger v;
boolean v, v, v, v;
v := @this: org.apache.activemq.jaas.PropertiesLoginModule;
v = v.<org.apache.activemq.jaas.PropertiesLoginModule: boolean debug>;
if v == 0 goto label;
v = <org.apache.activemq.jaas.PropertiesLoginModule: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("abort");
label:
v = v.<org.apache.activemq.jaas.PropertiesLoginModule: boolean succeeded>;
if v != 0 goto label;
return 0;
label:
v = v.<org.apache.activemq.jaas.PropertiesLoginModule: boolean succeeded>;
if v == 0 goto label;
v = v.<org.apache.activemq.jaas.PropertiesLoginModule: boolean commitSucceeded>;
if v == 0 goto label;
virtualinvoke v.<org.apache.activemq.jaas.PropertiesLoginModule: boolean logout()>();
goto label;
label:
specialinvoke v.<org.apache.activemq.jaas.PropertiesLoginModule: void clear()>();
v.<org.apache.activemq.jaas.PropertiesLoginModule: boolean succeeded> = 0;
label:
return 1;
}
public boolean logout() throws javax.security.auth.login.LoginException
{
org.apache.activemq.jaas.PropertiesLoginModule v;
org.slf4j.Logger v;
java.util.Set v, v;
javax.security.auth.Subject v;
boolean v;
v := @this: org.apache.activemq.jaas.PropertiesLoginModule;
v = v.<org.apache.activemq.jaas.PropertiesLoginModule: javax.security.auth.Subject subject>;
v = virtualinvoke v.<javax.security.auth.Subject: java.util.Set getPrincipals()>();
v = v.<org.apache.activemq.jaas.PropertiesLoginModule: java.util.Set principals>;
interfaceinvoke v.<java.util.Set: boolean removeAll(java.util.Collection)>(v);
specialinvoke v.<org.apache.activemq.jaas.PropertiesLoginModule: void clear()>();
v = v.<org.apache.activemq.jaas.PropertiesLoginModule: boolean debug>;
if v == 0 goto label;
v = <org.apache.activemq.jaas.PropertiesLoginModule: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("logout");
label:
v.<org.apache.activemq.jaas.PropertiesLoginModule: boolean succeeded> = 0;
v.<org.apache.activemq.jaas.PropertiesLoginModule: boolean commitSucceeded> = 0;
return 1;
}
private void clear()
{
java.util.Set v;
org.apache.activemq.jaas.PropertiesLoginModule v;
v := @this: org.apache.activemq.jaas.PropertiesLoginModule;
v.<org.apache.activemq.jaas.PropertiesLoginModule: java.lang.String user> = null;
v = v.<org.apache.activemq.jaas.PropertiesLoginModule: java.util.Set principals>;
interfaceinvoke v.<java.util.Set: void clear()>();
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/activemq/jaas/PropertiesLoginModule;");
<org.apache.activemq.jaas.PropertiesLoginModule: org.slf4j.Logger LOG> = v;
return;
}
}