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 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<java.lang.String, ?> state;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;*>;
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 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
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "logincontext"
ldc "\t[LoginContext]"
invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/util/Debug;
1: putstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
2: 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$1
dup
aload 0
invokespecial javax.security.auth.login.LoginContext$1.<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;Ljavax/security/auth/spi/LoginModule;)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$2
dup
aload 0
invokespecial javax.security.auth.login.LoginContext$2.<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$3
dup
aload 0
aload 1
invokespecial javax.security.auth.login.LoginContext$3.<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$4
dup
aload 0
aload 1
invokespecial javax.security.auth.login.LoginContext$4.<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=6, locals=7, 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 109
2: StackMap locals: int
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.module:Ljavax/security/auth/spi/LoginModule;
ifnonnull 29
3: 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;
astore 3
start local 3 4: aload 0
invokedynamic run(Ljavax/security/auth/login/LoginContext;)Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
javax/security/auth/login/LoginContext.lambda$0()Ljava/util/ServiceLoader; (7)
()Ljava/util/ServiceLoader;
5: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.util.ServiceLoader
astore 4
start local 4 6: aload 4
invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
astore 6
goto 13
StackMap locals: javax.security.auth.login.LoginContext java.lang.String int java.lang.String java.util.ServiceLoader top java.util.Iterator
StackMap stack:
7: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.security.auth.spi.LoginModule
astore 5
start local 5 8: aload 5
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
9: aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
aload 5
putfield javax.security.auth.login.LoginContext$ModuleInfo.module:Ljavax/security/auth/spi/LoginModule;
10: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
ifnull 14
11: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " loaded as a service"
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
12: goto 14
end local 5 13: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
14: StackMap locals: javax.security.auth.login.LoginContext java.lang.String int java.lang.String java.util.ServiceLoader
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.module:Ljavax/security/auth/spi/LoginModule;
ifnonnull 24
15: aload 3
iconst_0
aload 0
getfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
astore 5
start local 5 16: aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
aload 5
checkcast javax.security.auth.spi.LoginModule
putfield javax.security.auth.login.LoginContext$ModuleInfo.module:Ljavax/security/auth/spi/LoginModule;
17: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
ifnull 24
18: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " loaded via reflection"
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 5 19: goto 24
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
20: pop
21: new javax.security.auth.login.LoginException
dup
new java.lang.StringBuilder
dup
ldc "No LoginModule found for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
22: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals:
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.module:Ljavax/security/auth/spi/LoginModule;
aload 0
getfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
25: aload 0
getfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
26: aload 0
getfield javax.security.auth.login.LoginContext.state:Ljava/util/Map;
27: 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;
28: invokeinterface javax.security.auth.spi.LoginModule.initialize:(Ljavax/security/auth/Subject;Ljavax/security/auth/callback/CallbackHandler;Ljava/util/Map;Ljava/util/Map;)V
end local 4 end local 3 29: StackMap locals:
StackMap stack:
aload 1
dup
astore 4
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 4
-1354815177: 30
-1097329270: 31
92611376: 32
103149417: 33
default: 42
}
StackMap locals: javax.security.auth.login.LoginContext java.lang.String int top java.lang.String
StackMap stack:
30: aload 4
ldc "commit"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 36
goto 42
StackMap locals:
StackMap stack:
31: aload 4
ldc "logout"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 38
goto 42
StackMap locals:
StackMap stack:
32: aload 4
ldc "abort"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 40
goto 42
StackMap locals:
StackMap stack:
33: aload 4
ldc "login"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 34
goto 42
34: StackMap locals:
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.module:Ljavax/security/auth/spi/LoginModule;
invokeinterface javax.security.auth.spi.LoginModule.login:()Z
istore 3
start local 3 35: goto 43
end local 3 36: StackMap locals:
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.module:Ljavax/security/auth/spi/LoginModule;
invokeinterface javax.security.auth.spi.LoginModule.commit:()Z
istore 3
start local 3 37: goto 43
end local 3 38: StackMap locals:
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.module:Ljavax/security/auth/spi/LoginModule;
invokeinterface javax.security.auth.spi.LoginModule.logout:()Z
istore 3
start local 3 39: goto 43
end local 3 40: StackMap locals:
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.module:Ljavax/security/auth/spi/LoginModule;
invokeinterface javax.security.auth.spi.LoginModule.abort:()Z
istore 3
start local 3 41: goto 43
end local 3 42: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Unknown method "
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 java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
start local 3 43: StackMap locals: javax.security.auth.login.LoginContext java.lang.String int int
StackMap stack:
iload 3
ifeq 58
44: aload 1
ldc "abort"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 54
45: aload 1
ldc "logout"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 54
46: 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;
47: getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.SUFFICIENT:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
48: if_acmpne 54
49: aload 0
getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
ifnonnull 54
50: aload 0
invokevirtual javax.security.auth.login.LoginContext.clearState:()V
51: 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 " 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
53: StackMap locals:
StackMap stack:
return
54: StackMap locals:
StackMap stack:
getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
ifnull 56
55: 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
56: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield javax.security.auth.login.LoginContext.success:Z
57: goto 108
58: StackMap locals:
StackMap stack:
getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
ifnull 108
59: 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 3 60: goto 108
StackMap locals: javax.security.auth.login.LoginContext java.lang.String int
StackMap stack: java.lang.Exception
61: astore 3
start local 3 62: aload 3
instanceof sun.security.util.PendingException
ifeq 65
63: aload 1
ldc "login"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 65
64: aload 3
checkcast sun.security.util.PendingException
athrow
65: StackMap locals: java.lang.Exception
StackMap stack:
aload 3
instanceof javax.security.auth.login.LoginException
ifeq 68
66: aload 3
checkcast javax.security.auth.login.LoginException
astore 4
start local 4 67: goto 85
end local 4 StackMap locals:
StackMap stack:
68: aload 3
instanceof java.lang.SecurityException
ifeq 79
69: 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 70: 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
71: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
ifnull 85
72: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
73: ldc "original security exception with detail msg replaced by new exception with empty detail msg"
74: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
75: 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
76: aload 3
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
77: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
78: goto 85
end local 4 79: StackMap locals:
StackMap stack:
new java.io.StringWriter
dup
invokespecial java.io.StringWriter.<init>:()V
astore 5
start local 5 80: aload 3
81: new java.io.PrintWriter
dup
aload 5
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
82: invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintWriter;)V
83: aload 5
invokevirtual java.io.StringWriter.flush:()V
84: 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 85: 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;
86: getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.REQUISITE:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
87: if_acmpne 97
88: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
ifnull 90
89: 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
90: StackMap locals:
StackMap stack:
aload 1
ldc "abort"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 92
91: aload 1
ldc "logout"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 95
92: StackMap locals:
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
ifnonnull 108
93: aload 0
aload 4
putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
94: goto 108
95: 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
96: goto 108
StackMap locals:
StackMap stack:
97: 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;
98: getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.REQUIRED:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
if_acmpne 104
99: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
ifnull 101
100: 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
101: StackMap locals:
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
ifnonnull 108
102: aload 0
aload 4
putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
103: goto 108
104: StackMap locals:
StackMap stack:
getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
ifnull 106
105: 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
106: StackMap locals:
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
ifnonnull 108
107: aload 0
aload 4
putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
end local 4 end local 3 108: 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:
109: iload 2
aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
arraylength
if_icmplt 2
end local 2 110: aload 0
getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
ifnull 113
111: 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
112: goto 124
StackMap locals:
StackMap stack:
113: aload 0
getfield javax.security.auth.login.LoginContext.success:Z
ifne 116
aload 0
getfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
ifnull 116
114: 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
115: goto 124
StackMap locals:
StackMap stack:
116: aload 0
getfield javax.security.auth.login.LoginContext.success:Z
ifne 122
117: aload 0
new javax.security.auth.login.LoginException
dup
118: 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
119: aconst_null
120: invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
121: goto 124
122: StackMap locals:
StackMap stack:
aload 0
invokevirtual javax.security.auth.login.LoginContext.clearState:()V
123: return
124: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 125 0 this Ljavax/security/auth/login/LoginContext;
0 125 1 methodName Ljava/lang/String;
1 110 2 i I
4 29 3 name Ljava/lang/String;
6 29 4 sc Ljava/util/ServiceLoader<Ljavax/security/auth/spi/LoginModule;>;
8 13 5 m Ljavax/security/auth/spi/LoginModule;
16 19 5 tmp Ljava/lang/Object;
35 36 3 status Z
37 38 3 status Z
39 40 3 status Z
41 42 3 status Z
43 60 3 status Z
62 108 3 ite Ljava/lang/Exception;
67 68 4 le Ljavax/security/auth/login/LoginException;
70 79 4 le Ljavax/security/auth/login/LoginException;
85 108 4 le Ljavax/security/auth/login/LoginException;
80 85 5 sw Ljava/io/StringWriter;
Exception table:
from to target type
15 19 20 Class java.lang.ClassNotFoundException
2 53 61 Class java.lang.Exception
54 60 61 Class java.lang.Exception
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
methodName
private java.util.ServiceLoader lambda$0();
descriptor: ()Ljava/util/ServiceLoader;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc Ljavax/security/auth/spi/LoginModule;
aload 0
getfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
1: invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/security/auth/login/LoginContext;
}
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$ModuleInfo javax.security.auth.login.LoginContext$SecureCallbackHandler javax.security.auth.login.LoginContext$SecureCallbackHandler$1
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
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
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