public class javax.security.auth.login.LoginContext
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: javax.security.auth.login.LoginContext
super_class: java.lang.Object
{
private static final java.lang.String INIT_METHOD;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "initialize"
private static final java.lang.String LOGIN_METHOD;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "login"
private static final java.lang.String COMMIT_METHOD;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "commit"
private static final java.lang.String ABORT_METHOD;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "abort"
private static final java.lang.String LOGOUT_METHOD;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "logout"
private static final java.lang.String OTHER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "other"
private static final java.lang.String DEFAULT_HANDLER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "auth.login.defaultCallbackHandler"
private javax.security.auth.Subject subject;
descriptor: Ljavax/security/auth/Subject;
flags: (0x0002) ACC_PRIVATE
private boolean subjectProvided;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean loginSucceeded;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private javax.security.auth.callback.CallbackHandler callbackHandler;
descriptor: Ljavax/security/auth/callback/CallbackHandler;
flags: (0x0002) ACC_PRIVATE
private java.util.Map state;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
private javax.security.auth.login.Configuration config;
descriptor: Ljavax/security/auth/login/Configuration;
flags: (0x0002) ACC_PRIVATE
private java.security.AccessControlContext creatorAcc;
descriptor: Ljava/security/AccessControlContext;
flags: (0x0002) ACC_PRIVATE
private javax.security.auth.login.LoginContext$ModuleInfo[] moduleStack;
descriptor: [Ljavax/security/auth/login/LoginContext$ModuleInfo;
flags: (0x0002) ACC_PRIVATE
private java.lang.ClassLoader contextClassLoader;
descriptor: Ljava/lang/ClassLoader;
flags: (0x0002) ACC_PRIVATE
private static final java.lang.Class[] PARAMS;
descriptor: [Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private int moduleIndex;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private javax.security.auth.login.LoginException firstError;
descriptor: Ljavax/security/auth/login/LoginException;
flags: (0x0002) ACC_PRIVATE
private javax.security.auth.login.LoginException firstRequiredError;
descriptor: Ljavax/security/auth/login/LoginException;
flags: (0x0002) ACC_PRIVATE
private boolean success;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static final sun.security.util.Debug debug;
descriptor: Lsun/security/util/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean noPackageAccessWithTCCL;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: iconst_0
anewarray java.lang.Class
putstatic javax.security.auth.login.LoginContext.PARAMS:[Ljava/lang/Class;
1: ldc "logincontext"
ldc "\t[LoginContext]"
invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/util/Debug;
2: putstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
3: ldc "true"
4: new javax.security.auth.login.LoginContext$1
dup
invokespecial javax.security.auth.login.LoginContext$1.<init>:()V
5: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
6: invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
putstatic javax.security.auth.login.LoginContext.noPackageAccessWithTCCL:Z
7: return
LocalVariableTable:
Start End Slot Name Signature
private void init(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=6, args_size=2
start local 0 start local 1 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 2
start local 2 1: aload 2
ifnull 5
aload 0
getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
ifnonnull 5
2: aload 2
new javax.security.auth.AuthPermission
dup
3: new java.lang.StringBuilder
dup
ldc "createLoginContext."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.security.auth.AuthPermission.<init>:(Ljava/lang/String;)V
4: invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
5: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 1
ifnonnull 9
6: new javax.security.auth.login.LoginException
dup
7: ldc "Invalid.null.input.name"
invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
8: invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.config:Ljavax/security/auth/login/Configuration;
ifnonnull 13
10: aload 0
11: new javax.security.auth.login.LoginContext$2
dup
aload 0
invokespecial javax.security.auth.login.LoginContext$2.<init>:(Ljavax/security/auth/login/LoginContext;)V
12: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast javax.security.auth.login.Configuration
putfield javax.security.auth.login.LoginContext.config:Ljavax/security/auth/login/Configuration;
13: StackMap locals:
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.config:Ljavax/security/auth/login/Configuration;
aload 1
invokevirtual javax.security.auth.login.Configuration.getAppConfigurationEntry:(Ljava/lang/String;)[Ljavax/security/auth/login/AppConfigurationEntry;
astore 3
start local 3 14: aload 3
ifnonnull 26
15: aload 2
ifnull 19
aload 0
getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
ifnonnull 19
16: aload 2
new javax.security.auth.AuthPermission
dup
17: ldc "createLoginContext.other"
invokespecial javax.security.auth.AuthPermission.<init>:(Ljava/lang/String;)V
18: invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
19: StackMap locals: javax.security.auth.login.AppConfigurationEntry[]
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.config:Ljavax/security/auth/login/Configuration;
ldc "other"
invokevirtual javax.security.auth.login.Configuration.getAppConfigurationEntry:(Ljava/lang/String;)[Ljavax/security/auth/login/AppConfigurationEntry;
astore 3
20: aload 3
ifnonnull 26
21: new java.text.MessageFormat
dup
22: ldc "No.LoginModules.configured.for.name"
23: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 4
start local 4 24: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 5
start local 5 25: new javax.security.auth.login.LoginException
dup
aload 4
aload 5
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
end local 5 end local 4 26: StackMap locals:
StackMap stack:
aload 0
aload 3
arraylength
anewarray javax.security.auth.login.LoginContext$ModuleInfo
putfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
27: iconst_0
istore 4
start local 4 28: goto 38
29: StackMap locals: int
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 4
new javax.security.auth.login.LoginContext$ModuleInfo
dup
30: new javax.security.auth.login.AppConfigurationEntry
dup
31: aload 3
iload 4
aaload
invokevirtual javax.security.auth.login.AppConfigurationEntry.getLoginModuleName:()Ljava/lang/String;
32: aload 3
iload 4
aaload
invokevirtual javax.security.auth.login.AppConfigurationEntry.getControlFlag:()Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
33: aload 3
iload 4
aaload
invokevirtual javax.security.auth.login.AppConfigurationEntry.getOptions:()Ljava/util/Map;
34: invokespecial javax.security.auth.login.AppConfigurationEntry.<init>:(Ljava/lang/String;Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;Ljava/util/Map;)V
35: aconst_null
invokespecial javax.security.auth.login.LoginContext$ModuleInfo.<init>:(Ljavax/security/auth/login/AppConfigurationEntry;Ljava/lang/Object;)V
36: aastore
37: iinc 4 1
StackMap locals:
StackMap stack:
38: iload 4
aload 3
arraylength
if_icmplt 29
end local 4 39: aload 0
40: new javax.security.auth.login.LoginContext$3
dup
aload 0
invokespecial javax.security.auth.login.LoginContext$3.<init>:(Ljavax/security/auth/login/LoginContext;)V
41: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.ClassLoader
putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
42: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Ljavax/security/auth/login/LoginContext;
0 43 1 name Ljava/lang/String;
1 43 2 sm Ljava/lang/SecurityManager;
14 43 3 entries [Ljavax/security/auth/login/AppConfigurationEntry;
24 26 4 form Ljava/text/MessageFormat;
25 26 5 source [Ljava/lang/Object;
28 39 4 i I
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
name
private void loadDefaultCallbackHandler();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
astore 1
start local 1 1: aload 0
2: new javax.security.auth.login.LoginContext$4
dup
aload 0
aload 1
invokespecial javax.security.auth.login.LoginContext$4.<init>:(Ljavax/security/auth/login/LoginContext;Ljava/lang/ClassLoader;)V
3: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast javax.security.auth.callback.CallbackHandler
putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
end local 1 4: goto 7
StackMap locals:
StackMap stack: java.security.PrivilegedActionException
5: astore 1
start local 1 6: new javax.security.auth.login.LoginException
dup
aload 1
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
end local 1 7: StackMap locals:
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
ifnull 12
aload 0
getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
ifnonnull 12
8: aload 0
new javax.security.auth.login.LoginContext$SecureCallbackHandler
dup
9: invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
10: aload 0
getfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
invokespecial javax.security.auth.login.LoginContext$SecureCallbackHandler.<init>:(Ljava/security/AccessControlContext;Ljavax/security/auth/callback/CallbackHandler;)V
11: putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
12: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljavax/security/auth/login/LoginContext;
1 4 1 finalLoader Ljava/lang/ClassLoader;
6 7 1 pae Ljava/security/PrivilegedActionException;
Exception table:
from to target type
0 4 5 Class java.security.PrivilegedActionException
Exceptions:
throws javax.security.auth.login.LoginException
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
2: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.subjectProvided:Z
3: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
4: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield javax.security.auth.login.LoginContext.state:Ljava/util/Map;
5: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
6: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
7: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.moduleIndex:I
8: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
9: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
10: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.success:Z
11: aload 0
aload 1
invokevirtual javax.security.auth.login.LoginContext.init:(Ljava/lang/String;)V
12: aload 0
invokevirtual javax.security.auth.login.LoginContext.loadDefaultCallbackHandler:()V
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljavax/security/auth/login/LoginContext;
0 14 1 name Ljava/lang/String;
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
name
public void <init>(java.lang.String, javax.security.auth.Subject);
descriptor: (Ljava/lang/String;Ljavax/security/auth/Subject;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
2: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.subjectProvided:Z
3: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
4: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield javax.security.auth.login.LoginContext.state:Ljava/util/Map;
5: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
6: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
7: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.moduleIndex:I
8: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
9: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
10: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.success:Z
11: aload 0
aload 1
invokevirtual javax.security.auth.login.LoginContext.init:(Ljava/lang/String;)V
12: aload 2
ifnonnull 16
13: new javax.security.auth.login.LoginException
dup
14: ldc "invalid.null.Subject.provided"
invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
15: invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals: javax.security.auth.login.LoginContext java.lang.String javax.security.auth.Subject
StackMap stack:
aload 0
aload 2
putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
17: aload 0
iconst_1
putfield javax.security.auth.login.LoginContext.subjectProvided:Z
18: aload 0
invokevirtual javax.security.auth.login.LoginContext.loadDefaultCallbackHandler:()V
19: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljavax/security/auth/login/LoginContext;
0 20 1 name Ljava/lang/String;
0 20 2 subject Ljavax/security/auth/Subject;
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
name
subject
public void <init>(java.lang.String, javax.security.auth.callback.CallbackHandler);
descriptor: (Ljava/lang/String;Ljavax/security/auth/callback/CallbackHandler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
2: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.subjectProvided:Z
3: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
4: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield javax.security.auth.login.LoginContext.state:Ljava/util/Map;
5: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
6: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
7: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.moduleIndex:I
8: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
9: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
10: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.success:Z
11: aload 0
aload 1
invokevirtual javax.security.auth.login.LoginContext.init:(Ljava/lang/String;)V
12: aload 2
ifnonnull 16
13: new javax.security.auth.login.LoginException
dup
14: ldc "invalid.null.CallbackHandler.provided"
15: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals: javax.security.auth.login.LoginContext java.lang.String javax.security.auth.callback.CallbackHandler
StackMap stack:
aload 0
new javax.security.auth.login.LoginContext$SecureCallbackHandler
dup
17: invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
18: aload 2
invokespecial javax.security.auth.login.LoginContext$SecureCallbackHandler.<init>:(Ljava/security/AccessControlContext;Ljavax/security/auth/callback/CallbackHandler;)V
19: putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
20: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ljavax/security/auth/login/LoginContext;
0 21 1 name Ljava/lang/String;
0 21 2 callbackHandler Ljavax/security/auth/callback/CallbackHandler;
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
name
callbackHandler
public void <init>(java.lang.String, javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler);
descriptor: (Ljava/lang/String;Ljavax/security/auth/Subject;Ljavax/security/auth/callback/CallbackHandler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokespecial javax.security.auth.login.LoginContext.<init>:(Ljava/lang/String;Ljavax/security/auth/Subject;)V
1: aload 3
ifnonnull 5
2: new javax.security.auth.login.LoginException
dup
3: ldc "invalid.null.CallbackHandler.provided"
4: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: javax.security.auth.login.LoginContext java.lang.String javax.security.auth.Subject javax.security.auth.callback.CallbackHandler
StackMap stack:
aload 0
new javax.security.auth.login.LoginContext$SecureCallbackHandler
dup
6: invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
7: aload 3
invokespecial javax.security.auth.login.LoginContext$SecureCallbackHandler.<init>:(Ljava/security/AccessControlContext;Ljavax/security/auth/callback/CallbackHandler;)V
8: putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljavax/security/auth/login/LoginContext;
0 10 1 name Ljava/lang/String;
0 10 2 subject Ljavax/security/auth/Subject;
0 10 3 callbackHandler Ljavax/security/auth/callback/CallbackHandler;
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
name
subject
callbackHandler
public void <init>(java.lang.String, javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, javax.security.auth.login.Configuration);
descriptor: (Ljava/lang/String;Ljavax/security/auth/Subject;Ljavax/security/auth/callback/CallbackHandler;Ljavax/security/auth/login/Configuration;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
2: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.subjectProvided:Z
3: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
4: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield javax.security.auth.login.LoginContext.state:Ljava/util/Map;
5: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
6: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
7: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.moduleIndex:I
8: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
9: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
10: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.success:Z
11: aload 0
aload 4
putfield javax.security.auth.login.LoginContext.config:Ljavax/security/auth/login/Configuration;
12: aload 4
ifnull 14
13: aload 0
invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
14: StackMap locals: javax.security.auth.login.LoginContext java.lang.String javax.security.auth.Subject javax.security.auth.callback.CallbackHandler javax.security.auth.login.Configuration
StackMap stack:
aload 0
aload 1
invokevirtual javax.security.auth.login.LoginContext.init:(Ljava/lang/String;)V
15: aload 2
ifnull 18
16: aload 0
aload 2
putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
17: aload 0
iconst_1
putfield javax.security.auth.login.LoginContext.subjectProvided:Z
18: StackMap locals:
StackMap stack:
aload 3
ifnonnull 21
19: aload 0
invokevirtual javax.security.auth.login.LoginContext.loadDefaultCallbackHandler:()V
20: goto 28
StackMap locals:
StackMap stack:
21: aload 0
getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
ifnonnull 27
22: aload 0
new javax.security.auth.login.LoginContext$SecureCallbackHandler
dup
23: invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
24: aload 3
invokespecial javax.security.auth.login.LoginContext$SecureCallbackHandler.<init>:(Ljava/security/AccessControlContext;Ljavax/security/auth/callback/CallbackHandler;)V
25: putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
26: goto 28
27: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
28: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Ljavax/security/auth/login/LoginContext;
0 29 1 name Ljava/lang/String;
0 29 2 subject Ljavax/security/auth/Subject;
0 29 3 callbackHandler Ljavax/security/auth/callback/CallbackHandler;
0 29 4 config Ljavax/security/auth/login/Configuration;
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
name
subject
callbackHandler
config
public void login();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
1: aload 0
getfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
ifnonnull 3
2: aload 0
new javax.security.auth.Subject
dup
invokespecial javax.security.auth.Subject.<init>:()V
putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
3: StackMap locals:
StackMap stack:
aload 0
ldc "login"
invokevirtual javax.security.auth.login.LoginContext.invokePriv:(Ljava/lang/String;)V
4: aload 0
ldc "commit"
invokevirtual javax.security.auth.login.LoginContext.invokePriv:(Ljava/lang/String;)V
5: aload 0
iconst_1
putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
6: goto 13
StackMap locals:
StackMap stack: javax.security.auth.login.LoginException
7: astore 1
start local 1 8: aload 0
ldc "abort"
invokevirtual javax.security.auth.login.LoginContext.invokePriv:(Ljava/lang/String;)V
9: goto 12
StackMap locals: javax.security.auth.login.LoginContext javax.security.auth.login.LoginException
StackMap stack: javax.security.auth.login.LoginException
10: pop
11: aload 1
athrow
12: StackMap locals:
StackMap stack:
aload 1
athrow
end local 1 13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljavax/security/auth/login/LoginContext;
8 13 1 le Ljavax/security/auth/login/LoginException;
Exception table:
from to target type
3 6 7 Class javax.security.auth.login.LoginException
8 9 10 Class javax.security.auth.login.LoginException
Exceptions:
throws javax.security.auth.login.LoginException
public void logout();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
ifnonnull 4
1: new javax.security.auth.login.LoginException
dup
2: ldc "null.subject.logout.called.before.login"
3: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
ldc "logout"
invokevirtual javax.security.auth.login.LoginContext.invokePriv:(Ljava/lang/String;)V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavax/security/auth/login/LoginContext;
Exceptions:
throws javax.security.auth.login.LoginException
public javax.security.auth.Subject getSubject();
descriptor: ()Ljavax/security/auth/Subject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.security.auth.login.LoginContext.loginSucceeded:Z
ifne 2
aload 0
getfield javax.security.auth.login.LoginContext.subjectProvided:Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/security/auth/login/LoginContext;
private void clearState();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.moduleIndex:I
1: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
2: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
3: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.success:Z
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavax/security/auth/login/LoginContext;
private void throwException(javax.security.auth.login.LoginException, javax.security.auth.login.LoginException);
descriptor: (Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual javax.security.auth.login.LoginContext.clearState:()V
1: aload 1
ifnull 2
aload 1
goto 3
StackMap locals:
StackMap stack:
2: aload 2
StackMap locals:
StackMap stack: javax.security.auth.login.LoginException
3: astore 3
start local 3 4: aload 3
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavax/security/auth/login/LoginContext;
0 5 1 originalError Ljavax/security/auth/login/LoginException;
0 5 2 le Ljavax/security/auth/login/LoginException;
4 5 3 error Ljavax/security/auth/login/LoginException;
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
originalError
le
private void invokePriv(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new javax.security.auth.login.LoginContext$5
dup
aload 0
aload 1
invokespecial javax.security.auth.login.LoginContext$5.<init>:(Ljavax/security/auth/login/LoginContext;Ljava/lang/String;)V
1: aload 0
getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
2: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
pop
3: goto 6
StackMap locals:
StackMap stack: java.security.PrivilegedActionException
4: astore 2
start local 2 5: aload 2
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
checkcast javax.security.auth.login.LoginException
athrow
end local 2 6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavax/security/auth/login/LoginContext;
0 7 1 methodName Ljava/lang/String;
5 6 2 pae Ljava/security/PrivilegedActionException;
Exception table:
from to target type
0 3 4 Class java.security.PrivilegedActionException
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
methodName final
private void invoke(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield javax.security.auth.login.LoginContext.moduleIndex:I
istore 2
start local 2 1: goto 134
2: StackMap locals: int
StackMap stack:
iconst_0
istore 3
start local 3 3: aconst_null
astore 4
start local 4 4: aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
getfield javax.security.auth.login.LoginContext$ModuleInfo.module:Ljava/lang/Object;
ifnull 7
5: aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
getfield javax.security.auth.login.LoginContext$ModuleInfo.module:Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
astore 4
6: goto 29
7: StackMap locals: int java.lang.reflect.Method[]
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
getfield javax.security.auth.login.LoginContext$ModuleInfo.entry:Ljavax/security/auth/login/AppConfigurationEntry;
invokevirtual javax.security.auth.login.AppConfigurationEntry.getLoginModuleName:()Ljava/lang/String;
8: iconst_1
9: aload 0
getfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
10: invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
astore 5
start local 5 11: getstatic javax.security.auth.login.LoginContext.noPackageAccessWithTCCL:Z
ifne 14
aload 0
getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
ifnull 14
12: aload 5
ldc Ljavax/security/auth/spi/LoginModule;
invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
pop
13: aload 5
aload 0
getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
invokestatic javax.security.auth.login.LoginContext.checkPackageAccess:(Ljava/lang/Class;Ljava/security/AccessControlContext;)V
14: StackMap locals: java.lang.Class
StackMap stack:
aload 5
getstatic javax.security.auth.login.LoginContext.PARAMS:[Ljava/lang/Class;
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 6
start local 6 15: iconst_0
anewarray java.lang.Object
astore 7
start local 7 16: aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
aload 6
aload 7
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
putfield javax.security.auth.login.LoginContext$ModuleInfo.module:Ljava/lang/Object;
17: aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
getfield javax.security.auth.login.LoginContext$ModuleInfo.module:Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
astore 4
18: iconst_0
istore 3
goto 22
19: StackMap locals: java.lang.reflect.Constructor java.lang.Object[]
StackMap stack:
aload 4
iload 3
aaload
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
ldc "initialize"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
20: goto 23
21: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
22: iload 3
aload 4
arraylength
if_icmplt 19
23: StackMap locals:
StackMap stack:
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
aastore
dup
iconst_1
24: aload 0
getfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
aastore
dup
iconst_2
25: aload 0
getfield javax.security.auth.login.LoginContext.state:Ljava/util/Map;
aastore
dup
iconst_3
26: aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
getfield javax.security.auth.login.LoginContext$ModuleInfo.entry:Ljavax/security/auth/login/AppConfigurationEntry;
invokevirtual javax.security.auth.login.AppConfigurationEntry.getOptions:()Ljava/util/Map;
aastore
27: astore 8
start local 8 28: aload 4
iload 3
aaload
aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
getfield javax.security.auth.login.LoginContext$ModuleInfo.module:Ljava/lang/Object;
aload 8
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 end local 7 end local 6 end local 5 29: StackMap locals:
StackMap stack:
iconst_0
istore 3
goto 33
30: StackMap locals:
StackMap stack:
aload 4
iload 3
aaload
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 32
31: goto 34
32: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
33: iload 3
aload 4
arraylength
if_icmplt 30
34: StackMap locals:
StackMap stack:
iconst_0
anewarray java.lang.Object
astore 5
start local 5 35: aload 4
iload 3
aaload
36: aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
getfield javax.security.auth.login.LoginContext$ModuleInfo.module:Ljava/lang/Object;
aload 5
37: invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
38: invokevirtual java.lang.Boolean.booleanValue:()Z
39: istore 6
start local 6 40: iload 6
ifeq 55
41: aload 1
ldc "abort"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 51
42: aload 1
ldc "logout"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 51
43: aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
getfield javax.security.auth.login.LoginContext$ModuleInfo.entry:Ljavax/security/auth/login/AppConfigurationEntry;
invokevirtual javax.security.auth.login.AppConfigurationEntry.getControlFlag:()Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
44: getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.SUFFICIENT:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
45: if_acmpne 51
46: aload 0
getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
ifnonnull 51
47: aload 0
invokevirtual javax.security.auth.login.LoginContext.clearState:()V
48: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
ifnull 50
49: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " SUFFICIENT success"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
50: StackMap locals: java.lang.Object[] int
StackMap stack:
return
51: StackMap locals:
StackMap stack:
getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
ifnull 53
52: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " success"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
53: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield javax.security.auth.login.LoginContext.success:Z
54: goto 133
55: StackMap locals:
StackMap stack:
getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
ifnull 133
56: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " ignored"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 6 end local 5 end local 4 end local 3 57: goto 133
StackMap locals: javax.security.auth.login.LoginContext java.lang.String int
StackMap stack: java.lang.NoSuchMethodException
58: pop
59: new java.text.MessageFormat
dup
60: ldc "unable.to.instantiate.LoginModule.module.because.it.does.not.provide.a.no.argument.constructor"
61: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 3
start local 3 62: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
getfield javax.security.auth.login.LoginContext$ModuleInfo.entry:Ljavax/security/auth/login/AppConfigurationEntry;
invokevirtual javax.security.auth.login.AppConfigurationEntry.getLoginModuleName:()Ljava/lang/String;
aastore
astore 4
start local 4 63: aload 0
aconst_null
new javax.security.auth.login.LoginException
dup
aload 3
aload 4
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
end local 4 end local 3 64: goto 133
65: StackMap locals:
StackMap stack: java.lang.InstantiationException
astore 3
start local 3 66: aload 0
aconst_null
new javax.security.auth.login.LoginException
dup
new java.lang.StringBuilder
dup
67: ldc "unable.to.instantiate.LoginModule."
68: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
69: aload 3
invokevirtual java.lang.InstantiationException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
70: invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
end local 3 71: goto 133
72: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
astore 3
start local 3 73: aload 0
aconst_null
new javax.security.auth.login.LoginException
dup
new java.lang.StringBuilder
dup
74: ldc "unable.to.find.LoginModule.class."
75: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
76: aload 3
invokevirtual java.lang.ClassNotFoundException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
77: invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
end local 3 78: goto 133
79: StackMap locals:
StackMap stack: java.lang.IllegalAccessException
astore 3
start local 3 80: aload 0
aconst_null
new javax.security.auth.login.LoginException
dup
new java.lang.StringBuilder
dup
81: ldc "unable.to.access.LoginModule."
82: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
83: aload 3
invokevirtual java.lang.IllegalAccessException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
84: invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
end local 3 85: goto 133
86: StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
astore 3
start local 3 87: aload 3
invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
instanceof sun.security.util.PendingException
ifeq 90
88: aload 1
ldc "login"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 90
89: aload 3
invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
checkcast sun.security.util.PendingException
athrow
90: StackMap locals: java.lang.reflect.InvocationTargetException
StackMap stack:
aload 3
invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
instanceof javax.security.auth.login.LoginException
ifeq 93
91: aload 3
invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
checkcast javax.security.auth.login.LoginException
astore 4
start local 4 92: goto 110
end local 4 StackMap locals:
StackMap stack:
93: aload 3
invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
instanceof java.lang.SecurityException
ifeq 104
94: new javax.security.auth.login.LoginException
dup
ldc "Security Exception"
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
astore 4
start local 4 95: aload 4
new java.lang.SecurityException
dup
invokespecial java.lang.SecurityException.<init>:()V
invokevirtual javax.security.auth.login.LoginException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
96: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
ifnull 110
97: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
98: ldc "original security exception with detail msg replaced by new exception with empty detail msg"
99: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
100: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "original security exception: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
101: aload 3
invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
102: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
103: goto 110
end local 4 104: StackMap locals:
StackMap stack:
new java.io.StringWriter
dup
invokespecial java.io.StringWriter.<init>:()V
astore 5
start local 5 105: aload 3
invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
106: new java.io.PrintWriter
dup
aload 5
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
107: invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
108: aload 5
invokevirtual java.io.StringWriter.flush:()V
109: new javax.security.auth.login.LoginException
dup
aload 5
invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
astore 4
end local 5 start local 4 110: StackMap locals: javax.security.auth.login.LoginException
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
getfield javax.security.auth.login.LoginContext$ModuleInfo.entry:Ljavax/security/auth/login/AppConfigurationEntry;
invokevirtual javax.security.auth.login.AppConfigurationEntry.getControlFlag:()Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
111: getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.REQUISITE:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
112: if_acmpne 122
113: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
ifnull 115
114: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " REQUISITE failure"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
115: StackMap locals:
StackMap stack:
aload 1
ldc "abort"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 117
116: aload 1
ldc "logout"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 120
117: StackMap locals:
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
ifnonnull 133
118: aload 0
aload 4
putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
119: goto 133
120: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
aload 4
invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
121: goto 133
StackMap locals:
StackMap stack:
122: aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
getfield javax.security.auth.login.LoginContext$ModuleInfo.entry:Ljavax/security/auth/login/AppConfigurationEntry;
invokevirtual javax.security.auth.login.AppConfigurationEntry.getControlFlag:()Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
123: getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.REQUIRED:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
if_acmpne 129
124: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
ifnull 126
125: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " REQUIRED failure"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
126: StackMap locals:
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
ifnonnull 133
127: aload 0
aload 4
putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
128: goto 133
129: StackMap locals:
StackMap stack:
getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
ifnull 131
130: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " OPTIONAL failure"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
131: StackMap locals:
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
ifnonnull 133
132: aload 0
aload 4
putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
end local 4 end local 3 133: StackMap locals:
StackMap stack:
iinc 2 1
aload 0
dup
getfield javax.security.auth.login.LoginContext.moduleIndex:I
iconst_1
iadd
putfield javax.security.auth.login.LoginContext.moduleIndex:I
StackMap locals:
StackMap stack:
134: iload 2
aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
arraylength
if_icmplt 2
end local 2 135: aload 0
getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
ifnull 138
136: aload 0
aload 0
getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
aconst_null
invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
137: goto 149
StackMap locals:
StackMap stack:
138: aload 0
getfield javax.security.auth.login.LoginContext.success:Z
ifne 141
aload 0
getfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
ifnull 141
139: aload 0
aload 0
getfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
aconst_null
invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
140: goto 149
StackMap locals:
StackMap stack:
141: aload 0
getfield javax.security.auth.login.LoginContext.success:Z
ifne 147
142: aload 0
new javax.security.auth.login.LoginException
dup
143: ldc "Login.Failure.all.modules.ignored"
invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
144: aconst_null
145: invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
146: goto 149
147: StackMap locals:
StackMap stack:
aload 0
invokevirtual javax.security.auth.login.LoginContext.clearState:()V
148: return
149: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 150 0 this Ljavax/security/auth/login/LoginContext;
0 150 1 methodName Ljava/lang/String;
1 135 2 i I
3 57 3 mIndex I
4 57 4 methods [Ljava/lang/reflect/Method;
11 29 5 c Ljava/lang/Class<*>;
15 29 6 constructor Ljava/lang/reflect/Constructor;
16 29 7 args [Ljava/lang/Object;
28 29 8 initArgs [Ljava/lang/Object;
35 57 5 args [Ljava/lang/Object;
40 57 6 status Z
62 64 3 form Ljava/text/MessageFormat;
63 64 4 source [Ljava/lang/Object;
66 71 3 ie Ljava/lang/InstantiationException;
73 78 3 cnfe Ljava/lang/ClassNotFoundException;
80 85 3 iae Ljava/lang/IllegalAccessException;
87 133 3 ite Ljava/lang/reflect/InvocationTargetException;
92 93 4 le Ljavax/security/auth/login/LoginException;
95 104 4 le Ljavax/security/auth/login/LoginException;
110 133 4 le Ljavax/security/auth/login/LoginException;
105 110 5 sw Ljava/io/StringWriter;
Exception table:
from to target type
2 50 58 Class java.lang.NoSuchMethodException
51 57 58 Class java.lang.NoSuchMethodException
2 50 65 Class java.lang.InstantiationException
51 57 65 Class java.lang.InstantiationException
2 50 72 Class java.lang.ClassNotFoundException
51 57 72 Class java.lang.ClassNotFoundException
2 50 79 Class java.lang.IllegalAccessException
51 57 79 Class java.lang.IllegalAccessException
2 50 86 Class java.lang.reflect.InvocationTargetException
51 57 86 Class java.lang.reflect.InvocationTargetException
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
methodName
static void checkPackageAccess(java.lang.Class<?>, java.security.AccessControlContext);
descriptor: (Ljava/lang/Class;Ljava/security/AccessControlContext;)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 2
start local 2 1: aload 2
ifnull 15
2: aload 0
invokestatic sun.reflect.misc.ReflectUtil.isNonPublicProxyClass:(Ljava/lang/Class;)Z
ifeq 9
3: aload 0
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 7
StackMap locals: java.lang.Class java.security.AccessControlContext java.lang.SecurityManager top int int java.lang.Class[]
StackMap stack:
4: aload 6
iload 4
aaload
astore 3
start local 3 5: aload 3
aload 1
invokestatic javax.security.auth.login.LoginContext.checkPackageAccess:(Ljava/lang/Class;Ljava/security/AccessControlContext;)V
end local 3 6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 5
if_icmplt 4
8: return
9: StackMap locals: java.lang.Class java.security.AccessControlContext java.lang.SecurityManager
StackMap stack:
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
astore 3
start local 3 10: aload 3
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 4
start local 4 11: iload 4
iconst_m1
if_icmpeq 15
12: new javax.security.auth.login.LoginContext$6
dup
aload 2
aload 3
iload 4
invokespecial javax.security.auth.login.LoginContext$6.<init>:(Ljava/lang/SecurityManager;Ljava/lang/String;I)V
13: aload 1
14: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
pop
end local 4 end local 3 15: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 cls Ljava/lang/Class<*>;
0 16 1 context Ljava/security/AccessControlContext;
1 16 2 sm Ljava/lang/SecurityManager;
5 6 3 intf Ljava/lang/Class<*>;
10 15 3 name Ljava/lang/String;
11 15 4 i I
Signature: (Ljava/lang/Class<*>;Ljava/security/AccessControlContext;)V
MethodParameters:
Name Flags
cls
context
}
SourceFile: "LoginContext.java"
NestMembers:
javax.security.auth.login.LoginContext$1 javax.security.auth.login.LoginContext$2 javax.security.auth.login.LoginContext$3 javax.security.auth.login.LoginContext$4 javax.security.auth.login.LoginContext$5 javax.security.auth.login.LoginContext$6 javax.security.auth.login.LoginContext$ModuleInfo javax.security.auth.login.LoginContext$SecureCallbackHandler javax.security.auth.login.LoginContext$SecureCallbackHandler$1
InnerClasses:
public LoginModuleControlFlag = javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag of javax.security.auth.login.AppConfigurationEntry
javax.security.auth.login.LoginContext$1
javax.security.auth.login.LoginContext$2
javax.security.auth.login.LoginContext$3
javax.security.auth.login.LoginContext$4
javax.security.auth.login.LoginContext$5
javax.security.auth.login.LoginContext$6
private ModuleInfo = javax.security.auth.login.LoginContext$ModuleInfo of javax.security.auth.login.LoginContext
private SecureCallbackHandler = javax.security.auth.login.LoginContext$SecureCallbackHandler of javax.security.auth.login.LoginContext