public class com.sun.security.auth.module.LdapLoginModule implements javax.security.auth.spi.LoginModule
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.security.auth.module.LdapLoginModule
super_class: java.lang.Object
{
private static final java.lang.String USERNAME_KEY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.security.auth.login.name"
private static final java.lang.String PASSWORD_KEY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.security.auth.login.password"
private static final java.lang.String USER_PROVIDER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "userProvider"
private static final java.lang.String USER_FILTER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "userFilter"
private static final java.lang.String AUTHC_IDENTITY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "authIdentity"
private static final java.lang.String AUTHZ_IDENTITY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "authzIdentity"
private static final java.lang.String USERNAME_TOKEN;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "{USERNAME}"
private static final java.util.regex.Pattern USERNAME_PATTERN;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.lang.String userProvider;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String userFilter;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String authcIdentity;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String authzIdentity;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String authzIdentityAttr;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean useSSL;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean authFirst;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean authOnly;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean useFirstPass;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean tryFirstPass;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean storePass;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean clearPass;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean debug;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean succeeded;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean commitSucceeded;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.String username;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private char[] password;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private com.sun.security.auth.LdapPrincipal ldapPrincipal;
descriptor: Lcom/sun/security/auth/LdapPrincipal;
flags: (0x0002) ACC_PRIVATE
private com.sun.security.auth.UserPrincipal userPrincipal;
descriptor: Lcom/sun/security/auth/UserPrincipal;
flags: (0x0002) ACC_PRIVATE
private com.sun.security.auth.UserPrincipal authzPrincipal;
descriptor: Lcom/sun/security/auth/UserPrincipal;
flags: (0x0002) ACC_PRIVATE
private javax.security.auth.Subject subject;
descriptor: Ljavax/security/auth/Subject;
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, java.lang.Object> sharedState;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
private java.util.Map<java.lang.String, ?> options;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;*>;
private javax.naming.ldap.LdapContext ctx;
descriptor: Ljavax/naming/ldap/LdapContext;
flags: (0x0002) ACC_PRIVATE
private java.util.regex.Matcher identityMatcher;
descriptor: Ljava/util/regex/Matcher;
flags: (0x0002) ACC_PRIVATE
private java.util.regex.Matcher filterMatcher;
descriptor: Ljava/util/regex/Matcher;
flags: (0x0002) ACC_PRIVATE
private java.util.Hashtable<java.lang.String, java.lang.Object> ldapEnvironment;
descriptor: Ljava/util/Hashtable;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Object;>;
private javax.naming.directory.SearchControls constraints;
descriptor: Ljavax/naming/directory/SearchControls;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "\\{USERNAME\\}"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
1: putstatic com.sun.security.auth.module.LdapLoginModule.USERNAME_PATTERN:Ljava/util/regex/Pattern;
2: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield com.sun.security.auth.module.LdapLoginModule.authzIdentityAttr:Ljava/lang/String;
2: aload 0
iconst_1
putfield com.sun.security.auth.module.LdapLoginModule.useSSL:Z
3: aload 0
iconst_0
putfield com.sun.security.auth.module.LdapLoginModule.authFirst:Z
4: aload 0
iconst_0
putfield com.sun.security.auth.module.LdapLoginModule.authOnly:Z
5: aload 0
iconst_0
putfield com.sun.security.auth.module.LdapLoginModule.useFirstPass:Z
6: aload 0
iconst_0
putfield com.sun.security.auth.module.LdapLoginModule.tryFirstPass:Z
7: aload 0
iconst_0
putfield com.sun.security.auth.module.LdapLoginModule.storePass:Z
8: aload 0
iconst_0
putfield com.sun.security.auth.module.LdapLoginModule.clearPass:Z
9: aload 0
iconst_0
putfield com.sun.security.auth.module.LdapLoginModule.debug:Z
10: aload 0
iconst_0
putfield com.sun.security.auth.module.LdapLoginModule.succeeded:Z
11: aload 0
iconst_0
putfield com.sun.security.auth.module.LdapLoginModule.commitSucceeded:Z
12: aload 0
aconst_null
putfield com.sun.security.auth.module.LdapLoginModule.identityMatcher:Ljava/util/regex/Matcher;
13: aload 0
aconst_null
putfield com.sun.security.auth.module.LdapLoginModule.filterMatcher:Ljava/util/regex/Matcher;
14: aload 0
aconst_null
putfield com.sun.security.auth.module.LdapLoginModule.constraints:Ljavax/naming/directory/SearchControls;
15: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/security/auth/module/LdapLoginModule;
public void initialize(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, java.util.Map<java.lang.String, ?>, java.util.Map<java.lang.String, ?>);
descriptor: (Ljavax/security/auth/Subject;Ljavax/security/auth/callback/CallbackHandler;Ljava/util/Map;Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
putfield com.sun.security.auth.module.LdapLoginModule.subject:Ljavax/security/auth/Subject;
1: aload 0
aload 2
putfield com.sun.security.auth.module.LdapLoginModule.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
2: aload 0
aload 3
putfield com.sun.security.auth.module.LdapLoginModule.sharedState:Ljava/util/Map;
3: aload 0
aload 4
putfield com.sun.security.auth.module.LdapLoginModule.options:Ljava/util/Map;
4: aload 0
new java.util.Hashtable
dup
bipush 9
invokespecial java.util.Hashtable.<init>:(I)V
putfield com.sun.security.auth.module.LdapLoginModule.ldapEnvironment:Ljava/util/Hashtable;
5: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.ldapEnvironment:Ljava/util/Hashtable;
ldc "java.naming.factory.initial"
6: ldc "com.sun.jndi.ldap.LdapCtxFactory"
7: invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: aload 4
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 12
StackMap locals: com.sun.security.auth.module.LdapLoginModule javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
9: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 10: aload 5
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmple 12
11: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.ldapEnvironment:Ljava/util/Hashtable;
aload 5
aload 4
aload 5
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 12: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
13: aload 0
aload 4
ldc "userProvider"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
putfield com.sun.security.auth.module.LdapLoginModule.userProvider:Ljava/lang/String;
14: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.userProvider:Ljava/lang/String;
ifnull 16
15: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.ldapEnvironment:Ljava/util/Hashtable;
ldc "java.naming.provider.url"
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.userProvider:Ljava/lang/String;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
16: StackMap locals: com.sun.security.auth.module.LdapLoginModule javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.util.Map java.util.Map
StackMap stack:
aload 0
aload 4
ldc "authIdentity"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
putfield com.sun.security.auth.module.LdapLoginModule.authcIdentity:Ljava/lang/String;
17: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authcIdentity:Ljava/lang/String;
ifnull 20
18: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authcIdentity:Ljava/lang/String;
ldc "{USERNAME}"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmpeq 20
19: aload 0
getstatic com.sun.security.auth.module.LdapLoginModule.USERNAME_PATTERN:Ljava/util/regex/Pattern;
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authcIdentity:Ljava/lang/String;
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
putfield com.sun.security.auth.module.LdapLoginModule.identityMatcher:Ljava/util/regex/Matcher;
20: StackMap locals:
StackMap stack:
aload 0
aload 4
ldc "userFilter"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
putfield com.sun.security.auth.module.LdapLoginModule.userFilter:Ljava/lang/String;
21: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.userFilter:Ljava/lang/String;
ifnull 27
22: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.userFilter:Ljava/lang/String;
ldc "{USERNAME}"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmpeq 24
23: aload 0
getstatic com.sun.security.auth.module.LdapLoginModule.USERNAME_PATTERN:Ljava/util/regex/Pattern;
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.userFilter:Ljava/lang/String;
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
putfield com.sun.security.auth.module.LdapLoginModule.filterMatcher:Ljava/util/regex/Matcher;
24: StackMap locals:
StackMap stack:
aload 0
new javax.naming.directory.SearchControls
dup
invokespecial javax.naming.directory.SearchControls.<init>:()V
putfield com.sun.security.auth.module.LdapLoginModule.constraints:Ljavax/naming/directory/SearchControls;
25: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.constraints:Ljavax/naming/directory/SearchControls;
iconst_2
invokevirtual javax.naming.directory.SearchControls.setSearchScope:(I)V
26: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.constraints:Ljavax/naming/directory/SearchControls;
iconst_0
anewarray java.lang.String
invokevirtual javax.naming.directory.SearchControls.setReturningAttributes:([Ljava/lang/String;)V
27: StackMap locals:
StackMap stack:
aload 0
aload 4
ldc "authzIdentity"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
putfield com.sun.security.auth.module.LdapLoginModule.authzIdentity:Ljava/lang/String;
28: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authzIdentity:Ljava/lang/String;
ifnull 38
29: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authzIdentity:Ljava/lang/String;
ldc "{"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 38
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authzIdentity:Ljava/lang/String;
ldc "}"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 38
30: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.constraints:Ljavax/naming/directory/SearchControls;
ifnull 37
31: aload 0
32: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authzIdentity:Ljava/lang/String;
iconst_1
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authzIdentity:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
33: putfield com.sun.security.auth.module.LdapLoginModule.authzIdentityAttr:Ljava/lang/String;
34: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.constraints:Ljavax/naming/directory/SearchControls;
35: iconst_1
anewarray java.lang.String
dup
iconst_0
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authzIdentityAttr:Ljava/lang/String;
aastore
36: invokevirtual javax.naming.directory.SearchControls.setReturningAttributes:([Ljava/lang/String;)V
37: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.sun.security.auth.module.LdapLoginModule.authzIdentity:Ljava/lang/String;
38: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authcIdentity:Ljava/lang/String;
ifnull 43
39: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.userFilter:Ljava/lang/String;
ifnull 42
40: aload 0
iconst_1
putfield com.sun.security.auth.module.LdapLoginModule.authFirst:Z
41: goto 43
42: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.security.auth.module.LdapLoginModule.authOnly:Z
43: StackMap locals:
StackMap stack:
ldc "false"
aload 4
ldc "useSSL"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 47
44: aload 0
iconst_0
putfield com.sun.security.auth.module.LdapLoginModule.useSSL:Z
45: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.ldapEnvironment:Ljava/util/Hashtable;
ldc "java.naming.security.protocol"
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
46: goto 48
47: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.ldapEnvironment:Ljava/util/Hashtable;
ldc "java.naming.security.protocol"
ldc "ssl"
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
48: StackMap locals:
StackMap stack:
aload 0
49: ldc "true"
aload 4
ldc "tryFirstPass"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
50: putfield com.sun.security.auth.module.LdapLoginModule.tryFirstPass:Z
51: aload 0
52: ldc "true"
aload 4
ldc "useFirstPass"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
53: putfield com.sun.security.auth.module.LdapLoginModule.useFirstPass:Z
54: aload 0
ldc "true"
aload 4
ldc "storePass"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
putfield com.sun.security.auth.module.LdapLoginModule.storePass:Z
55: aload 0
ldc "true"
aload 4
ldc "clearPass"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
putfield com.sun.security.auth.module.LdapLoginModule.clearPass:Z
56: aload 0
ldc "true"
aload 4
ldc "debug"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
putfield com.sun.security.auth.module.LdapLoginModule.debug:Z
57: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.debug:Z
ifeq 77
58: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authFirst:Z
ifeq 65
59: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\t\t[LdapLoginModule] authentication-first mode; "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
60: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.useSSL:Z
ifeq 61
ldc "SSL enabled"
goto 62
StackMap locals: com.sun.security.auth.module.LdapLoginModule javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.util.Map java.util.Map
StackMap stack: java.io.PrintStream java.lang.StringBuilder
61: ldc "SSL disabled"
StackMap locals: com.sun.security.auth.module.LdapLoginModule javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.util.Map java.util.Map
StackMap stack: java.io.PrintStream java.lang.StringBuilder java.lang.String
62: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
63: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
64: goto 77
StackMap locals:
StackMap stack:
65: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authOnly:Z
ifeq 72
66: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\t\t[LdapLoginModule] authentication-only mode; "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
67: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.useSSL:Z
ifeq 68
ldc "SSL enabled"
goto 69
StackMap locals: com.sun.security.auth.module.LdapLoginModule javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.util.Map java.util.Map
StackMap stack: java.io.PrintStream java.lang.StringBuilder
68: ldc "SSL disabled"
StackMap locals: com.sun.security.auth.module.LdapLoginModule javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.util.Map java.util.Map
StackMap stack: java.io.PrintStream java.lang.StringBuilder java.lang.String
69: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
70: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
71: goto 77
72: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\t\t[LdapLoginModule] search-first mode; "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
73: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.useSSL:Z
ifeq 74
ldc "SSL enabled"
goto 75
StackMap locals: com.sun.security.auth.module.LdapLoginModule javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.util.Map java.util.Map
StackMap stack: java.io.PrintStream java.lang.StringBuilder
74: ldc "SSL disabled"
StackMap locals: com.sun.security.auth.module.LdapLoginModule javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.util.Map java.util.Map
StackMap stack: java.io.PrintStream java.lang.StringBuilder java.lang.String
75: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
76: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
77: 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 78 0 this Lcom/sun/security/auth/module/LdapLoginModule;
0 78 1 subject Ljavax/security/auth/Subject;
0 78 2 callbackHandler Ljavax/security/auth/callback/CallbackHandler;
0 78 3 sharedState Ljava/util/Map<Ljava/lang/String;*>;
0 78 4 options Ljava/util/Map<Ljava/lang/String;*>;
10 12 5 key Ljava/lang/String;
Signature: (Ljavax/security/auth/Subject;Ljavax/security/auth/callback/CallbackHandler;Ljava/util/Map<Ljava/lang/String;*>;Ljava/util/Map<Ljava/lang/String;*>;)V
MethodParameters:
Name Flags
subject
callbackHandler
sharedState
options
public boolean login();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.userProvider:Ljava/lang/String;
ifnonnull 4
1: new javax.security.auth.login.LoginException
dup
2: ldc "Unable to locate the LDAP directory service"
3: invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.debug:Z
ifeq 8
5: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\t\t[LdapLoginModule] user provider: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.userProvider:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
8: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.tryFirstPass:Z
ifeq 21
9: aload 0
iconst_1
invokevirtual com.sun.security.auth.module.LdapLoginModule.attemptAuthentication:(Z)V
10: aload 0
iconst_1
putfield com.sun.security.auth.module.LdapLoginModule.succeeded:Z
11: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.debug:Z
ifeq 13
12: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\t\t[LdapLoginModule] tryFirstPass succeeded"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
13: StackMap locals:
StackMap stack:
iconst_1
ireturn
14: StackMap locals:
StackMap stack: javax.security.auth.login.LoginException
astore 1
start local 1 15: aload 0
invokevirtual com.sun.security.auth.module.LdapLoginModule.cleanState:()V
16: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.debug:Z
ifeq 32
17: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\t\t[LdapLoginModule] tryFirstPass failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
18: aload 1
invokevirtual javax.security.auth.login.LoginException.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 1 20: goto 32
StackMap locals:
StackMap stack:
21: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.useFirstPass:Z
ifeq 32
22: aload 0
iconst_1
invokevirtual com.sun.security.auth.module.LdapLoginModule.attemptAuthentication:(Z)V
23: aload 0
iconst_1
putfield com.sun.security.auth.module.LdapLoginModule.succeeded:Z
24: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.debug:Z
ifeq 26
25: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\t\t[LdapLoginModule] useFirstPass succeeded"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
26: StackMap locals:
StackMap stack:
iconst_1
ireturn
27: StackMap locals:
StackMap stack: javax.security.auth.login.LoginException
astore 1
start local 1 28: aload 0
invokevirtual com.sun.security.auth.module.LdapLoginModule.cleanState:()V
29: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.debug:Z
ifeq 31
30: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\t\t[LdapLoginModule] useFirstPass failed"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
31: StackMap locals: javax.security.auth.login.LoginException
StackMap stack:
aload 1
athrow
end local 1 32: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual com.sun.security.auth.module.LdapLoginModule.attemptAuthentication:(Z)V
33: aload 0
iconst_1
putfield com.sun.security.auth.module.LdapLoginModule.succeeded:Z
34: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.debug:Z
ifeq 36
35: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\t\t[LdapLoginModule] authentication succeeded"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
36: StackMap locals:
StackMap stack:
iconst_1
ireturn
37: StackMap locals:
StackMap stack: javax.security.auth.login.LoginException
astore 1
start local 1 38: aload 0
invokevirtual com.sun.security.auth.module.LdapLoginModule.cleanState:()V
39: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.debug:Z
ifeq 41
40: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\t\t[LdapLoginModule] authentication failed"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
41: StackMap locals: javax.security.auth.login.LoginException
StackMap stack:
aload 1
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lcom/sun/security/auth/module/LdapLoginModule;
15 20 1 le Ljavax/security/auth/login/LoginException;
28 32 1 le Ljavax/security/auth/login/LoginException;
38 42 1 le Ljavax/security/auth/login/LoginException;
Exception table:
from to target type
9 13 14 Class javax.security.auth.login.LoginException
22 26 27 Class javax.security.auth.login.LoginException
32 36 37 Class javax.security.auth.login.LoginException
Exceptions:
throws javax.security.auth.login.LoginException
public boolean commit();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.succeeded:Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.subject:Ljavax/security/auth/Subject;
invokevirtual javax.security.auth.Subject.isReadOnly:()Z
ifeq 5
3: aload 0
invokevirtual com.sun.security.auth.module.LdapLoginModule.cleanState:()V
4: new javax.security.auth.login.LoginException
dup
ldc "Subject is read-only"
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.subject:Ljavax/security/auth/Subject;
invokevirtual javax.security.auth.Subject.getPrincipals:()Ljava/util/Set;
astore 1
start local 1 6: aload 1
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.ldapPrincipal:Lcom/sun/security/auth/LdapPrincipal;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 8
7: aload 1
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.ldapPrincipal:Lcom/sun/security/auth/LdapPrincipal;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
8: StackMap locals: java.util.Set
StackMap stack:
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.debug:Z
ifeq 13
9: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\t\t[LdapLoginModule] added LdapPrincipal \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
10: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.ldapPrincipal:Lcom/sun/security/auth/LdapPrincipal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
11: ldc "\" to Subject"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
13: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.userPrincipal:Lcom/sun/security/auth/UserPrincipal;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 15
14: aload 1
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.userPrincipal:Lcom/sun/security/auth/UserPrincipal;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
15: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.debug:Z
ifeq 20
16: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\t\t[LdapLoginModule] added UserPrincipal \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
17: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.userPrincipal:Lcom/sun/security/auth/UserPrincipal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
18: ldc "\" to Subject"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
20: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authzPrincipal:Lcom/sun/security/auth/UserPrincipal;
ifnull 28
21: aload 1
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authzPrincipal:Lcom/sun/security/auth/UserPrincipal;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 28
22: aload 1
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authzPrincipal:Lcom/sun/security/auth/UserPrincipal;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
23: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.debug:Z
ifeq 28
24: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\t\t[LdapLoginModule] added UserPrincipal \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
25: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authzPrincipal:Lcom/sun/security/auth/UserPrincipal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
26: ldc "\" to Subject"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
27: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 1 28: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.security.auth.module.LdapLoginModule.cleanState:()V
29: aload 0
iconst_1
putfield com.sun.security.auth.module.LdapLoginModule.commitSucceeded:Z
30: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/sun/security/auth/module/LdapLoginModule;
6 28 1 principals Ljava/util/Set<Ljava/security/Principal;>;
Exceptions:
throws javax.security.auth.login.LoginException
public boolean abort();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.debug:Z
ifeq 2
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\t\t[LdapLoginModule] aborted authentication"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.succeeded:Z
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.succeeded:Z
ifeq 11
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.commitSucceeded:Z
ifne 11
5: aload 0
iconst_0
putfield com.sun.security.auth.module.LdapLoginModule.succeeded:Z
6: aload 0
invokevirtual com.sun.security.auth.module.LdapLoginModule.cleanState:()V
7: aload 0
aconst_null
putfield com.sun.security.auth.module.LdapLoginModule.ldapPrincipal:Lcom/sun/security/auth/LdapPrincipal;
8: aload 0
aconst_null
putfield com.sun.security.auth.module.LdapLoginModule.userPrincipal:Lcom/sun/security/auth/UserPrincipal;
9: aload 0
aconst_null
putfield com.sun.security.auth.module.LdapLoginModule.authzPrincipal:Lcom/sun/security/auth/UserPrincipal;
10: goto 12
11: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.security.auth.module.LdapLoginModule.logout:()Z
pop
12: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/security/auth/module/LdapLoginModule;
Exceptions:
throws javax.security.auth.login.LoginException
public boolean logout();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.subject:Ljavax/security/auth/Subject;
invokevirtual javax.security.auth.Subject.isReadOnly:()Z
ifeq 3
1: aload 0
invokevirtual com.sun.security.auth.module.LdapLoginModule.cleanState:()V
2: new javax.security.auth.login.LoginException
dup
ldc "Subject is read-only"
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.subject:Ljavax/security/auth/Subject;
invokevirtual javax.security.auth.Subject.getPrincipals:()Ljava/util/Set;
astore 1
start local 1 4: aload 1
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.ldapPrincipal:Lcom/sun/security/auth/LdapPrincipal;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
5: aload 1
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.userPrincipal:Lcom/sun/security/auth/UserPrincipal;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
6: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authzIdentity:Ljava/lang/String;
ifnull 8
7: aload 1
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authzPrincipal:Lcom/sun/security/auth/UserPrincipal;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
8: StackMap locals: java.util.Set
StackMap stack:
aload 0
invokevirtual com.sun.security.auth.module.LdapLoginModule.cleanState:()V
9: aload 0
iconst_0
putfield com.sun.security.auth.module.LdapLoginModule.succeeded:Z
10: aload 0
iconst_0
putfield com.sun.security.auth.module.LdapLoginModule.commitSucceeded:Z
11: aload 0
aconst_null
putfield com.sun.security.auth.module.LdapLoginModule.ldapPrincipal:Lcom/sun/security/auth/LdapPrincipal;
12: aload 0
aconst_null
putfield com.sun.security.auth.module.LdapLoginModule.userPrincipal:Lcom/sun/security/auth/UserPrincipal;
13: aload 0
aconst_null
putfield com.sun.security.auth.module.LdapLoginModule.authzPrincipal:Lcom/sun/security/auth/UserPrincipal;
14: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.debug:Z
ifeq 16
15: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\t\t[LdapLoginModule] logged out Subject"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
16: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/security/auth/module/LdapLoginModule;
4 17 1 principals Ljava/util/Set<Ljava/security/Principal;>;
Exceptions:
throws javax.security.auth.login.LoginException
private void attemptAuthentication(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.sun.security.auth.module.LdapLoginModule.getUsernamePassword:(Z)V
1: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.password:[C
ifnull 2
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.password:[C
arraylength
ifne 4
2: StackMap locals:
StackMap stack:
new javax.security.auth.login.FailedLoginException
dup
ldc "No password was supplied"
invokespecial javax.security.auth.login.FailedLoginException.<init>:(Ljava/lang/String;)V
3: athrow
4: StackMap locals:
StackMap stack:
ldc ""
astore 2
start local 2 5: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authFirst:Z
ifne 6
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authOnly:Z
ifeq 25
6: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.identityMatcher:Ljava/util/regex/Matcher;
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authcIdentity:Ljava/lang/String;
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.username:Ljava/lang/String;
invokevirtual com.sun.security.auth.module.LdapLoginModule.replaceUsernameToken:(Ljava/util/regex/Matcher;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
7: astore 3
start local 3 8: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.ldapEnvironment:Ljava/util/Hashtable;
ldc "java.naming.security.credentials"
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.password:[C
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.ldapEnvironment:Ljava/util/Hashtable;
ldc "java.naming.security.principal"
aload 3
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.debug:Z
ifeq 14
11: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\t\t[LdapLoginModule] attempting to authenticate user: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
12: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.username:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
14: StackMap locals: java.lang.String
StackMap stack:
aload 0
new javax.naming.ldap.InitialLdapContext
dup
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.ldapEnvironment:Ljava/util/Hashtable;
aconst_null
invokespecial javax.naming.ldap.InitialLdapContext.<init>:(Ljava/util/Hashtable;[Ljavax/naming/ldap/Control;)V
putfield com.sun.security.auth.module.LdapLoginModule.ctx:Ljavax/naming/ldap/LdapContext;
15: goto 20
StackMap locals:
StackMap stack: javax.naming.NamingException
16: astore 4
start local 4 17: new javax.security.auth.login.FailedLoginException
dup
ldc "Cannot bind to LDAP server"
invokespecial javax.security.auth.login.FailedLoginException.<init>:(Ljava/lang/String;)V
18: aload 4
invokevirtual javax.security.auth.login.FailedLoginException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
19: checkcast javax.security.auth.login.LoginException
athrow
end local 4 20: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.userFilter:Ljava/lang/String;
ifnull 23
21: aload 0
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.ctx:Ljavax/naming/ldap/LdapContext;
invokevirtual com.sun.security.auth.module.LdapLoginModule.findUserDN:(Ljavax/naming/ldap/LdapContext;)Ljava/lang/String;
astore 2
22: goto 45
23: StackMap locals:
StackMap stack:
aload 3
astore 2
end local 3 24: goto 45
25: StackMap locals:
StackMap stack:
aload 0
new javax.naming.ldap.InitialLdapContext
dup
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.ldapEnvironment:Ljava/util/Hashtable;
aconst_null
invokespecial javax.naming.ldap.InitialLdapContext.<init>:(Ljava/util/Hashtable;[Ljavax/naming/ldap/Control;)V
putfield com.sun.security.auth.module.LdapLoginModule.ctx:Ljavax/naming/ldap/LdapContext;
26: goto 31
StackMap locals:
StackMap stack: javax.naming.NamingException
27: astore 3
start local 3 28: new javax.security.auth.login.FailedLoginException
dup
ldc "Cannot connect to LDAP server"
invokespecial javax.security.auth.login.FailedLoginException.<init>:(Ljava/lang/String;)V
29: aload 3
invokevirtual javax.security.auth.login.FailedLoginException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
30: checkcast javax.security.auth.login.LoginException
athrow
end local 3 31: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.ctx:Ljavax/naming/ldap/LdapContext;
invokevirtual com.sun.security.auth.module.LdapLoginModule.findUserDN:(Ljavax/naming/ldap/LdapContext;)Ljava/lang/String;
astore 2
32: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.ctx:Ljavax/naming/ldap/LdapContext;
ldc "java.naming.security.authentication"
ldc "simple"
invokeinterface javax.naming.ldap.LdapContext.addToEnvironment:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
33: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.ctx:Ljavax/naming/ldap/LdapContext;
ldc "java.naming.security.principal"
aload 2
invokeinterface javax.naming.ldap.LdapContext.addToEnvironment:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
34: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.ctx:Ljavax/naming/ldap/LdapContext;
ldc "java.naming.security.credentials"
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.password:[C
invokeinterface javax.naming.ldap.LdapContext.addToEnvironment:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
35: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.debug:Z
ifeq 39
36: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\t\t[LdapLoginModule] attempting to authenticate user: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
37: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.username:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
38: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
39: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.ctx:Ljavax/naming/ldap/LdapContext;
aconst_null
invokeinterface javax.naming.ldap.LdapContext.reconnect:([Ljavax/naming/ldap/Control;)V
40: goto 45
StackMap locals:
StackMap stack: javax.naming.NamingException
41: astore 3
start local 3 42: new javax.security.auth.login.FailedLoginException
dup
ldc "Cannot bind to LDAP server"
invokespecial javax.security.auth.login.FailedLoginException.<init>:(Ljava/lang/String;)V
43: aload 3
invokevirtual javax.security.auth.login.FailedLoginException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
44: checkcast javax.security.auth.login.LoginException
athrow
end local 3 45: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.storePass:Z
ifeq 50
46: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.sharedState:Ljava/util/Map;
ldc "javax.security.auth.login.name"
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 50
47: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.sharedState:Ljava/util/Map;
ldc "javax.security.auth.login.password"
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 50
48: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.sharedState:Ljava/util/Map;
ldc "javax.security.auth.login.name"
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.username:Ljava/lang/String;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
49: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.sharedState:Ljava/util/Map;
ldc "javax.security.auth.login.password"
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.password:[C
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
50: StackMap locals:
StackMap stack:
aload 0
new com.sun.security.auth.UserPrincipal
dup
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.username:Ljava/lang/String;
invokespecial com.sun.security.auth.UserPrincipal.<init>:(Ljava/lang/String;)V
putfield com.sun.security.auth.module.LdapLoginModule.userPrincipal:Lcom/sun/security/auth/UserPrincipal;
51: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authzIdentity:Ljava/lang/String;
ifnull 53
52: aload 0
new com.sun.security.auth.UserPrincipal
dup
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authzIdentity:Ljava/lang/String;
invokespecial com.sun.security.auth.UserPrincipal.<init>:(Ljava/lang/String;)V
putfield com.sun.security.auth.module.LdapLoginModule.authzPrincipal:Lcom/sun/security/auth/UserPrincipal;
53: StackMap locals:
StackMap stack:
aload 0
new com.sun.security.auth.LdapPrincipal
dup
aload 2
invokespecial com.sun.security.auth.LdapPrincipal.<init>:(Ljava/lang/String;)V
putfield com.sun.security.auth.module.LdapLoginModule.ldapPrincipal:Lcom/sun/security/auth/LdapPrincipal;
54: goto 61
StackMap locals:
StackMap stack: javax.naming.InvalidNameException
55: astore 3
start local 3 56: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.debug:Z
ifeq 58
57: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\t\t[LdapLoginModule] cannot create LdapPrincipal: bad DN"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
58: StackMap locals: javax.naming.InvalidNameException
StackMap stack:
new javax.security.auth.login.FailedLoginException
dup
ldc "Cannot create LdapPrincipal"
invokespecial javax.security.auth.login.FailedLoginException.<init>:(Ljava/lang/String;)V
59: aload 3
invokevirtual javax.security.auth.login.FailedLoginException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
60: checkcast javax.security.auth.login.LoginException
athrow
end local 3 61: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 62 0 this Lcom/sun/security/auth/module/LdapLoginModule;
0 62 1 getPasswdFromSharedState Z
5 62 2 dn Ljava/lang/String;
8 24 3 id Ljava/lang/String;
17 20 4 e Ljavax/naming/NamingException;
28 31 3 e Ljavax/naming/NamingException;
42 45 3 e Ljavax/naming/NamingException;
56 61 3 e Ljavax/naming/InvalidNameException;
Exception table:
from to target type
14 15 16 Class javax.naming.NamingException
25 26 27 Class javax.naming.NamingException
32 40 41 Class javax.naming.NamingException
53 54 55 Class javax.naming.InvalidNameException
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
getPasswdFromSharedState
private java.lang.String findUserDN(javax.naming.ldap.LdapContext);
descriptor: (Ljavax/naming/ldap/LdapContext;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: ldc ""
astore 2
start local 2 1: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.userFilter:Ljava/lang/String;
ifnull 7
2: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.debug:Z
ifeq 13
3: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\t\t[LdapLoginModule] searching for entry belonging to user: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.username:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: goto 13
7: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.debug:Z
ifeq 11
8: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\t\t[LdapLoginModule] cannot search for entry belonging to user: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.username:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
11: StackMap locals:
StackMap stack:
new javax.security.auth.login.FailedLoginException
dup
ldc "Cannot find user's LDAP entry"
invokespecial javax.security.auth.login.FailedLoginException.<init>:(Ljava/lang/String;)V
12: athrow
13: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.filterMatcher:Ljava/util/regex/Matcher;
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.userFilter:Ljava/lang/String;
14: aload 0
invokevirtual com.sun.security.auth.module.LdapLoginModule.escapeUsernameChars:()Ljava/lang/String;
15: invokevirtual com.sun.security.auth.module.LdapLoginModule.replaceUsernameToken:(Ljava/util/regex/Matcher;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
16: astore 3
start local 3 17: aload 1
ldc ""
aload 3
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.constraints:Ljavax/naming/directory/SearchControls;
invokeinterface javax.naming.ldap.LdapContext.search:(Ljava/lang/String;Ljava/lang/String;Ljavax/naming/directory/SearchControls;)Ljavax/naming/NamingEnumeration;
18: astore 4
start local 4 19: aload 4
invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
ifeq 35
20: aload 4
invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
checkcast javax.naming.directory.SearchResult
astore 5
start local 5 21: aload 5
invokevirtual javax.naming.directory.SearchResult.getNameInNamespace:()Ljava/lang/String;
astore 2
22: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.debug:Z
ifeq 26
23: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\t\t[LdapLoginModule] found entry: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
24: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
25: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
26: StackMap locals: java.lang.String javax.naming.NamingEnumeration javax.naming.directory.SearchResult
StackMap stack:
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authzIdentityAttr:Ljava/lang/String;
ifnull 33
27: aload 5
invokevirtual javax.naming.directory.SearchResult.getAttributes:()Ljavax/naming/directory/Attributes;
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.authzIdentityAttr:Ljava/lang/String;
invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
28: astore 6
start local 6 29: aload 6
ifnull 33
30: aload 6
invokeinterface javax.naming.directory.Attribute.get:()Ljava/lang/Object;
astore 7
start local 7 31: aload 7
instanceof java.lang.String
ifeq 33
32: aload 0
aload 7
checkcast java.lang.String
putfield com.sun.security.auth.module.LdapLoginModule.authzIdentity:Ljava/lang/String;
end local 7 end local 6 33: StackMap locals:
StackMap stack:
aload 4
invokeinterface javax.naming.NamingEnumeration.close:()V
end local 5 34: goto 39
35: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.debug:Z
ifeq 39
36: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\t\t[LdapLoginModule] user's entry not found"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 4 end local 3 37: goto 39
StackMap locals: com.sun.security.auth.module.LdapLoginModule javax.naming.ldap.LdapContext java.lang.String
StackMap stack: javax.naming.NamingException
38: pop
39: StackMap locals:
StackMap stack:
aload 2
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 42
40: new javax.security.auth.login.FailedLoginException
dup
ldc "Cannot find user's LDAP entry"
invokespecial javax.security.auth.login.FailedLoginException.<init>:(Ljava/lang/String;)V
41: athrow
42: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lcom/sun/security/auth/module/LdapLoginModule;
0 43 1 ctx Ljavax/naming/ldap/LdapContext;
1 43 2 userDN Ljava/lang/String;
17 37 3 canonicalUserFilter Ljava/lang/String;
19 37 4 results Ljavax/naming/NamingEnumeration<Ljavax/naming/directory/SearchResult;>;
21 34 5 entry Ljavax/naming/directory/SearchResult;
29 33 6 attr Ljavax/naming/directory/Attribute;
31 33 7 val Ljava/lang/Object;
Exception table:
from to target type
13 37 38 Class javax.naming.NamingException
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
ctx
private java.lang.String escapeUsernameChars();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.username:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
istore 1
start local 1 1: new java.lang.StringBuilder
dup
iload 1
bipush 16
iadd
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 18
4: StackMap locals: int java.lang.StringBuilder int
StackMap stack:
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.username:Ljava/lang/String;
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 5: iload 4
lookupswitch { // 5
0: 14
40: 8
41: 10
42: 6
92: 12
default: 16
}
6: StackMap locals: int
StackMap stack:
aload 2
ldc "\\\\2A"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: goto 17
8: StackMap locals:
StackMap stack:
aload 2
ldc "\\\\28"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: goto 17
10: StackMap locals:
StackMap stack:
aload 2
ldc "\\\\29"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: goto 17
12: StackMap locals:
StackMap stack:
aload 2
ldc "\\\\5C"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: goto 17
14: StackMap locals:
StackMap stack:
aload 2
ldc "\\\\00"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: goto 17
16: StackMap locals:
StackMap stack:
aload 2
iload 4
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 4 17: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
18: iload 3
iload 1
if_icmplt 4
end local 3 19: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/sun/security/auth/module/LdapLoginModule;
1 20 1 len I
2 20 2 escapedUsername Ljava/lang/StringBuilder;
3 19 3 i I
5 17 4 c C
private java.lang.String replaceUsernameToken(java.util.regex.Matcher, java.lang.String, java.lang.String);
descriptor: (Ljava/util/regex/Matcher;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnull 1
aload 1
aload 3
invokevirtual java.util.regex.Matcher.replaceAll:(Ljava/lang/String;)Ljava/lang/String;
goto 2
StackMap locals:
StackMap stack:
1: aload 2
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/security/auth/module/LdapLoginModule;
0 3 1 matcher Ljava/util/regex/Matcher;
0 3 2 string Ljava/lang/String;
0 3 3 username Ljava/lang/String;
MethodParameters:
Name Flags
matcher
string
username
private void getUsernamePassword(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: iload 1
ifeq 4
1: aload 0
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.sharedState:Ljava/util/Map;
ldc "javax.security.auth.login.name"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
putfield com.sun.security.auth.module.LdapLoginModule.username:Ljava/lang/String;
2: aload 0
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.sharedState:Ljava/util/Map;
ldc "javax.security.auth.login.password"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast char[]
putfield com.sun.security.auth.module.LdapLoginModule.password:[C
3: return
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
ifnonnull 6
5: new javax.security.auth.login.LoginException
dup
ldc "No CallbackHandler available to acquire authentication information from the user"
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
iconst_2
anewarray javax.security.auth.callback.Callback
astore 2
start local 2 7: aload 2
iconst_0
new javax.security.auth.callback.NameCallback
dup
ldc "username."
invokestatic sun.security.util.ResourcesMgr.getAuthResourceString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial javax.security.auth.callback.NameCallback.<init>:(Ljava/lang/String;)V
aastore
8: aload 2
iconst_1
new javax.security.auth.callback.PasswordCallback
dup
ldc "password."
invokestatic sun.security.util.ResourcesMgr.getAuthResourceString:(Ljava/lang/String;)Ljava/lang/String;
iconst_0
invokespecial javax.security.auth.callback.PasswordCallback.<init>:(Ljava/lang/String;Z)V
aastore
9: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
aload 2
invokeinterface javax.security.auth.callback.CallbackHandler.handle:([Ljavax/security/auth/callback/Callback;)V
10: aload 0
aload 2
iconst_0
aaload
checkcast javax.security.auth.callback.NameCallback
invokevirtual javax.security.auth.callback.NameCallback.getName:()Ljava/lang/String;
putfield com.sun.security.auth.module.LdapLoginModule.username:Ljava/lang/String;
11: aload 2
iconst_1
aaload
checkcast javax.security.auth.callback.PasswordCallback
invokevirtual javax.security.auth.callback.PasswordCallback.getPassword:()[C
astore 3
start local 3 12: aload 0
aload 3
arraylength
newarray 5
putfield com.sun.security.auth.module.LdapLoginModule.password:[C
13: aload 3
iconst_0
14: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.password:[C
iconst_0
aload 3
arraylength
15: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
16: aload 2
iconst_1
aaload
checkcast javax.security.auth.callback.PasswordCallback
invokevirtual javax.security.auth.callback.PasswordCallback.clearPassword:()V
end local 3 17: goto 25
StackMap locals: com.sun.security.auth.module.LdapLoginModule int javax.security.auth.callback.Callback[]
StackMap stack: java.io.IOException
18: astore 3
start local 3 19: new javax.security.auth.login.LoginException
dup
aload 3
invokevirtual java.io.IOException.toString:()Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
end local 3 20: StackMap locals:
StackMap stack: javax.security.auth.callback.UnsupportedCallbackException
astore 3
start local 3 21: new javax.security.auth.login.LoginException
dup
new java.lang.StringBuilder
dup
ldc "Error: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual javax.security.auth.callback.UnsupportedCallbackException.getCallback:()Ljavax/security/auth/callback/Callback;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
22: ldc " not available to acquire authentication information"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: ldc " from the user"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
24: invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
end local 3 25: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/sun/security/auth/module/LdapLoginModule;
0 26 1 getPasswdFromSharedState Z
7 26 2 callbacks [Ljavax/security/auth/callback/Callback;
12 17 3 tmpPassword [C
19 20 3 ioe Ljava/io/IOException;
21 25 3 uce Ljavax/security/auth/callback/UnsupportedCallbackException;
Exception table:
from to target type
9 17 18 Class java.io.IOException
9 17 20 Class javax.security.auth.callback.UnsupportedCallbackException
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
getPasswdFromSharedState
private void cleanState();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield com.sun.security.auth.module.LdapLoginModule.username:Ljava/lang/String;
1: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.password:[C
ifnull 4
2: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.password:[C
bipush 32
invokestatic java.util.Arrays.fill:([CC)V
3: aload 0
aconst_null
putfield com.sun.security.auth.module.LdapLoginModule.password:[C
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.security.auth.module.LdapLoginModule.ctx:Ljavax/naming/ldap/LdapContext;
ifnull 8
5: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.ctx:Ljavax/naming/ldap/LdapContext;
invokeinterface javax.naming.ldap.LdapContext.close:()V
6: goto 8
StackMap locals:
StackMap stack: javax.naming.NamingException
7: pop
8: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.sun.security.auth.module.LdapLoginModule.ctx:Ljavax/naming/ldap/LdapContext;
9: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.clearPass:Z
ifeq 12
10: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.sharedState:Ljava/util/Map;
ldc "javax.security.auth.login.name"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
11: aload 0
getfield com.sun.security.auth.module.LdapLoginModule.sharedState:Ljava/util/Map;
ldc "javax.security.auth.login.password"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
12: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/security/auth/module/LdapLoginModule;
Exception table:
from to target type
4 6 7 Class javax.naming.NamingException
}
SourceFile: "LdapLoginModule.java"