public class org.apache.catalina.realm.JNDIRealm extends org.apache.catalina.realm.RealmBase
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.catalina.realm.JNDIRealm
super_class: org.apache.catalina.realm.RealmBase
{
protected java.lang.String authentication;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String connectionName;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String connectionPassword;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String connectionURL;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String contextFactory;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String derefAliases;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
public static final java.lang.String DEREF_ALIASES;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "java.naming.ldap.derefAliases"
protected java.lang.String protocol;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected boolean adCompat;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected java.lang.String referrals;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String userBase;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String userSearch;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
private boolean userSearchAsUser;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
protected boolean userSubtree;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected java.lang.String userPassword;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String userRoleAttribute;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String[] userPatternArray;
descriptor: [Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String userPattern;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String roleBase;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String userRoleName;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String roleName;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String roleSearch;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected boolean roleSubtree;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected boolean roleNested;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected boolean roleSearchAsUser;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected java.lang.String alternateURL;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected int connectionAttempt;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected java.lang.String commonRole;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String connectionTimeout;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String readTimeout;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected long sizeLimit;
descriptor: J
flags: (0x0004) ACC_PROTECTED
protected int timeLimit;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected boolean useDelegatedCredential;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected java.lang.String spnegoDelegationQop;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
private boolean useStartTls;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private javax.naming.ldap.StartTlsResponse tls;
descriptor: Ljavax/naming/ldap/StartTlsResponse;
flags: (0x0002) ACC_PRIVATE
private java.lang.String[] cipherSuitesArray;
descriptor: [Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private javax.net.ssl.HostnameVerifier hostnameVerifier;
descriptor: Ljavax/net/ssl/HostnameVerifier;
flags: (0x0002) ACC_PRIVATE
private javax.net.ssl.SSLSocketFactory sslSocketFactory;
descriptor: Ljavax/net/ssl/SSLSocketFactory;
flags: (0x0002) ACC_PRIVATE
private java.lang.String sslSocketFactoryClassName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String cipherSuites;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String hostNameVerifierClassName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String sslProtocol;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean forceDnHexEscape;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
protected org.apache.catalina.realm.JNDIRealm$JNDIConnection singleConnection;
descriptor: Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
flags: (0x0004) ACC_PROTECTED
protected final java.util.concurrent.locks.Lock singleConnectionLock;
descriptor: Ljava/util/concurrent/locks/Lock;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected org.apache.tomcat.util.collections.SynchronizedStack<org.apache.catalina.realm.JNDIRealm$JNDIConnection> connectionPool;
descriptor: Lorg/apache/tomcat/util/collections/SynchronizedStack;
flags: (0x0004) ACC_PROTECTED
Signature: Lorg/apache/tomcat/util/collections/SynchronizedStack<Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;>;
protected int connectionPoolSize;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected boolean useContextClassLoader;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.catalina.realm.RealmBase.<init>:()V
1: aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.authentication:Ljava/lang/String;
2: aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.connectionName:Ljava/lang/String;
3: aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.connectionPassword:Ljava/lang/String;
4: aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.connectionURL:Ljava/lang/String;
5: aload 0
ldc "com.sun.jndi.ldap.LdapCtxFactory"
putfield org.apache.catalina.realm.JNDIRealm.contextFactory:Ljava/lang/String;
6: aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.derefAliases:Ljava/lang/String;
7: aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.protocol:Ljava/lang/String;
8: aload 0
iconst_0
putfield org.apache.catalina.realm.JNDIRealm.adCompat:Z
9: aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.referrals:Ljava/lang/String;
10: aload 0
ldc ""
putfield org.apache.catalina.realm.JNDIRealm.userBase:Ljava/lang/String;
11: aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.userSearch:Ljava/lang/String;
12: aload 0
iconst_0
putfield org.apache.catalina.realm.JNDIRealm.userSearchAsUser:Z
13: aload 0
iconst_0
putfield org.apache.catalina.realm.JNDIRealm.userSubtree:Z
14: aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.userPassword:Ljava/lang/String;
15: aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.userRoleAttribute:Ljava/lang/String;
16: aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.userPatternArray:[Ljava/lang/String;
17: aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.userPattern:Ljava/lang/String;
18: aload 0
ldc ""
putfield org.apache.catalina.realm.JNDIRealm.roleBase:Ljava/lang/String;
19: aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.userRoleName:Ljava/lang/String;
20: aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.roleName:Ljava/lang/String;
21: aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.roleSearch:Ljava/lang/String;
22: aload 0
iconst_0
putfield org.apache.catalina.realm.JNDIRealm.roleSubtree:Z
23: aload 0
iconst_0
putfield org.apache.catalina.realm.JNDIRealm.roleNested:Z
24: aload 0
iconst_0
putfield org.apache.catalina.realm.JNDIRealm.roleSearchAsUser:Z
25: aload 0
iconst_0
putfield org.apache.catalina.realm.JNDIRealm.connectionAttempt:I
26: aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.commonRole:Ljava/lang/String;
27: aload 0
ldc "5000"
putfield org.apache.catalina.realm.JNDIRealm.connectionTimeout:Ljava/lang/String;
28: aload 0
ldc "5000"
putfield org.apache.catalina.realm.JNDIRealm.readTimeout:Ljava/lang/String;
29: aload 0
lconst_0
putfield org.apache.catalina.realm.JNDIRealm.sizeLimit:J
30: aload 0
iconst_0
putfield org.apache.catalina.realm.JNDIRealm.timeLimit:I
31: aload 0
iconst_1
putfield org.apache.catalina.realm.JNDIRealm.useDelegatedCredential:Z
32: aload 0
ldc "auth-conf"
putfield org.apache.catalina.realm.JNDIRealm.spnegoDelegationQop:Ljava/lang/String;
33: aload 0
iconst_0
putfield org.apache.catalina.realm.JNDIRealm.useStartTls:Z
34: aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.tls:Ljavax/naming/ldap/StartTlsResponse;
35: aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.cipherSuitesArray:[Ljava/lang/String;
36: aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.hostnameVerifier:Ljavax/net/ssl/HostnameVerifier;
37: aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory;
38: aload 0
iconst_0
putfield org.apache.catalina.realm.JNDIRealm.forceDnHexEscape:Z
39: aload 0
new org.apache.catalina.realm.JNDIRealm$JNDIConnection
dup
invokespecial org.apache.catalina.realm.JNDIRealm$JNDIConnection.<init>:()V
putfield org.apache.catalina.realm.JNDIRealm.singleConnection:Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
40: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield org.apache.catalina.realm.JNDIRealm.singleConnectionLock:Ljava/util/concurrent/locks/Lock;
41: aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.connectionPool:Lorg/apache/tomcat/util/collections/SynchronizedStack;
42: aload 0
iconst_1
putfield org.apache.catalina.realm.JNDIRealm.connectionPoolSize:I
43: aload 0
iconst_1
putfield org.apache.catalina.realm.JNDIRealm.useContextClassLoader:Z
44: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lorg/apache/catalina/realm/JNDIRealm;
public boolean getForceDnHexEscape();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.forceDnHexEscape:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setForceDnHexEscape(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.apache.catalina.realm.JNDIRealm.forceDnHexEscape:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 forceDnHexEscape Z
MethodParameters:
Name Flags
forceDnHexEscape
public java.lang.String getAuthentication();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.authentication:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setAuthentication(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.authentication:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 authentication Ljava/lang/String;
MethodParameters:
Name Flags
authentication
public java.lang.String getConnectionName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setConnectionName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.connectionName:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 connectionName Ljava/lang/String;
MethodParameters:
Name Flags
connectionName
public java.lang.String getConnectionPassword();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionPassword:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setConnectionPassword(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.connectionPassword:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 connectionPassword Ljava/lang/String;
MethodParameters:
Name Flags
connectionPassword
public java.lang.String getConnectionURL();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionURL:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setConnectionURL(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.connectionURL:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 connectionURL Ljava/lang/String;
MethodParameters:
Name Flags
connectionURL
public java.lang.String getContextFactory();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.contextFactory:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setContextFactory(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.contextFactory:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 contextFactory Ljava/lang/String;
MethodParameters:
Name Flags
contextFactory
public java.lang.String getDerefAliases();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.derefAliases:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setDerefAliases(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.derefAliases:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 derefAliases Ljava/lang/String;
MethodParameters:
Name Flags
derefAliases
public java.lang.String getProtocol();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.protocol:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setProtocol(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.protocol:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 protocol Ljava/lang/String;
MethodParameters:
Name Flags
protocol
public boolean getAdCompat();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.adCompat:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setAdCompat(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.apache.catalina.realm.JNDIRealm.adCompat:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 adCompat Z
MethodParameters:
Name Flags
adCompat
public java.lang.String getReferrals();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.referrals:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setReferrals(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.referrals:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 referrals Ljava/lang/String;
MethodParameters:
Name Flags
referrals
public java.lang.String getUserBase();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.userBase:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setUserBase(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.userBase:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 userBase Ljava/lang/String;
MethodParameters:
Name Flags
userBase
public java.lang.String getUserSearch();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.userSearch:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setUserSearch(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.userSearch:Ljava/lang/String;
1: aload 0
aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.create:()Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
putfield org.apache.catalina.realm.JNDIRealm.singleConnection:Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 3 1 userSearch Ljava/lang/String;
MethodParameters:
Name Flags
userSearch
public boolean isUserSearchAsUser();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.userSearchAsUser:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setUserSearchAsUser(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.apache.catalina.realm.JNDIRealm.userSearchAsUser:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 userSearchAsUser Z
MethodParameters:
Name Flags
userSearchAsUser
public boolean getUserSubtree();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.userSubtree:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setUserSubtree(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.apache.catalina.realm.JNDIRealm.userSubtree:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 userSubtree Z
MethodParameters:
Name Flags
userSubtree
public java.lang.String getUserRoleName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.userRoleName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setUserRoleName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.userRoleName:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 userRoleName Ljava/lang/String;
MethodParameters:
Name Flags
userRoleName
public java.lang.String getRoleBase();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.roleBase:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setRoleBase(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.roleBase:Ljava/lang/String;
1: aload 0
aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.create:()Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
putfield org.apache.catalina.realm.JNDIRealm.singleConnection:Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 3 1 roleBase Ljava/lang/String;
MethodParameters:
Name Flags
roleBase
public java.lang.String getRoleName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.roleName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setRoleName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.roleName:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 roleName Ljava/lang/String;
MethodParameters:
Name Flags
roleName
public java.lang.String getRoleSearch();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.roleSearch:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setRoleSearch(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.roleSearch:Ljava/lang/String;
1: aload 0
aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.create:()Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
putfield org.apache.catalina.realm.JNDIRealm.singleConnection:Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 3 1 roleSearch Ljava/lang/String;
MethodParameters:
Name Flags
roleSearch
public boolean isRoleSearchAsUser();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.roleSearchAsUser:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setRoleSearchAsUser(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.apache.catalina.realm.JNDIRealm.roleSearchAsUser:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 roleSearchAsUser Z
MethodParameters:
Name Flags
roleSearchAsUser
public boolean getRoleSubtree();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.roleSubtree:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setRoleSubtree(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.apache.catalina.realm.JNDIRealm.roleSubtree:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 roleSubtree Z
MethodParameters:
Name Flags
roleSubtree
public boolean getRoleNested();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.roleNested:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setRoleNested(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.apache.catalina.realm.JNDIRealm.roleNested:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 roleNested Z
MethodParameters:
Name Flags
roleNested
public java.lang.String getUserPassword();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.userPassword:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setUserPassword(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.userPassword:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 userPassword Ljava/lang/String;
MethodParameters:
Name Flags
userPassword
public java.lang.String getUserRoleAttribute();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.userRoleAttribute:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setUserRoleAttribute(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.userRoleAttribute:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 userRoleAttribute Ljava/lang/String;
MethodParameters:
Name Flags
userRoleAttribute
public java.lang.String getUserPattern();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.userPattern:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setUserPattern(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
aload 1
putfield org.apache.catalina.realm.JNDIRealm.userPattern:Ljava/lang/String;
1: aload 1
ifnonnull 4
2: aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.userPatternArray:[Ljava/lang/String;
3: goto 6
4: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
invokevirtual org.apache.catalina.realm.JNDIRealm.parseUserPatternString:(Ljava/lang/String;)[Ljava/lang/String;
putfield org.apache.catalina.realm.JNDIRealm.userPatternArray:[Ljava/lang/String;
5: aload 0
aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.create:()Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
putfield org.apache.catalina.realm.JNDIRealm.singleConnection:Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 7 1 userPattern Ljava/lang/String;
MethodParameters:
Name Flags
userPattern
public java.lang.String getAlternateURL();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.alternateURL:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setAlternateURL(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.alternateURL:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 alternateURL Ljava/lang/String;
MethodParameters:
Name Flags
alternateURL
public java.lang.String getCommonRole();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.commonRole:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setCommonRole(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.commonRole:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 commonRole Ljava/lang/String;
MethodParameters:
Name Flags
commonRole
public java.lang.String getConnectionTimeout();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionTimeout:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setConnectionTimeout(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.connectionTimeout:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 timeout Ljava/lang/String;
MethodParameters:
Name Flags
timeout
public java.lang.String getReadTimeout();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.readTimeout:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setReadTimeout(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.readTimeout:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 timeout Ljava/lang/String;
MethodParameters:
Name Flags
timeout
public long getSizeLimit();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.sizeLimit:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setSizeLimit(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
putfield org.apache.catalina.realm.JNDIRealm.sizeLimit:J
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 sizeLimit J
MethodParameters:
Name Flags
sizeLimit
public int getTimeLimit();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.timeLimit:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setTimeLimit(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.apache.catalina.realm.JNDIRealm.timeLimit:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 timeLimit I
MethodParameters:
Name Flags
timeLimit
public boolean isUseDelegatedCredential();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.useDelegatedCredential:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setUseDelegatedCredential(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.apache.catalina.realm.JNDIRealm.useDelegatedCredential:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 useDelegatedCredential Z
MethodParameters:
Name Flags
useDelegatedCredential
public java.lang.String getSpnegoDelegationQop();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.spnegoDelegationQop:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setSpnegoDelegationQop(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.spnegoDelegationQop:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 spnegoDelegationQop Ljava/lang/String;
MethodParameters:
Name Flags
spnegoDelegationQop
public boolean getUseStartTls();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.useStartTls:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setUseStartTls(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.apache.catalina.realm.JNDIRealm.useStartTls:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 useStartTls Z
MethodParameters:
Name Flags
useStartTls
private java.lang.String[] getCipherSuitesArray();
descriptor: ()[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.cipherSuites:Ljava/lang/String;
ifnull 1
aload 0
getfield org.apache.catalina.realm.JNDIRealm.cipherSuitesArray:[Ljava/lang/String;
ifnull 2
1: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.cipherSuitesArray:[Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.cipherSuites:Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 6
3: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JNDIRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jndiRealm.emptyCipherSuites"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
4: aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.cipherSuitesArray:[Ljava/lang/String;
5: goto 10
6: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.apache.catalina.realm.JNDIRealm.cipherSuites:Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
ldc "\\s*,\\s*"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
putfield org.apache.catalina.realm.JNDIRealm.cipherSuitesArray:[Ljava/lang/String;
7: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JNDIRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jndiRealm.cipherSuites"
iconst_1
anewarray java.lang.Object
dup
iconst_0
8: aload 0
getfield org.apache.catalina.realm.JNDIRealm.cipherSuitesArray:[Ljava/lang/String;
invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
aastore
9: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
10: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.cipherSuitesArray:[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setCipherSuites(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.cipherSuites:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 suites Ljava/lang/String;
MethodParameters:
Name Flags
suites
public int getConnectionPoolSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionPoolSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setConnectionPoolSize(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.apache.catalina.realm.JNDIRealm.connectionPoolSize:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 connectionPoolSize I
MethodParameters:
Name Flags
connectionPoolSize
public java.lang.String getHostnameVerifierClassName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.hostnameVerifier:Ljavax/net/ssl/HostnameVerifier;
ifnonnull 2
1: ldc ""
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.hostnameVerifier:Ljavax/net/ssl/HostnameVerifier;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/catalina/realm/JNDIRealm;
public void setHostnameVerifierClassName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 3
1: aload 0
aload 1
invokevirtual java.lang.String.trim:()Ljava/lang/String;
putfield org.apache.catalina.realm.JNDIRealm.hostNameVerifierClassName:Ljava/lang/String;
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.hostNameVerifierClassName:Ljava/lang/String;
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 5 1 verifierClassName Ljava/lang/String;
MethodParameters:
Name Flags
verifierClassName
public javax.net.ssl.HostnameVerifier getHostnameVerifier();
descriptor: ()Ljavax/net/ssl/HostnameVerifier;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.hostnameVerifier:Ljavax/net/ssl/HostnameVerifier;
ifnull 2
1: aload 0
getfield org.apache.catalina.realm.JNDIRealm.hostnameVerifier:Ljavax/net/ssl/HostnameVerifier;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.hostNameVerifierClassName:Ljava/lang/String;
ifnull 4
3: aload 0
getfield org.apache.catalina.realm.JNDIRealm.hostNameVerifierClassName:Ljava/lang/String;
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: StackMap locals:
StackMap stack:
aconst_null
areturn
5: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.apache.catalina.realm.JNDIRealm.hostNameVerifierClassName:Ljava/lang/String;
invokevirtual org.apache.catalina.realm.JNDIRealm.constructInstance:(Ljava/lang/String;)Ljava/lang/Object;
astore 1
start local 1 6: aload 1
instanceof javax.net.ssl.HostnameVerifier
ifeq 10
7: aload 0
aload 1
checkcast javax.net.ssl.HostnameVerifier
putfield org.apache.catalina.realm.JNDIRealm.hostnameVerifier:Ljavax/net/ssl/HostnameVerifier;
8: aload 0
getfield org.apache.catalina.realm.JNDIRealm.hostnameVerifier:Ljavax/net/ssl/HostnameVerifier;
9: areturn
10: StackMap locals: java.lang.Object
StackMap stack:
new java.lang.IllegalArgumentException
dup
getstatic org.apache.catalina.realm.JNDIRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
11: ldc "jndiRealm.invalidHostnameVerifier"
iconst_1
anewarray java.lang.Object
dup
iconst_0
12: aload 0
getfield org.apache.catalina.realm.JNDIRealm.hostNameVerifierClassName:Ljava/lang/String;
aastore
13: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 1 14: StackMap locals: org.apache.catalina.realm.JNDIRealm
StackMap stack: java.lang.Exception
astore 1
start local 1 15: new java.lang.IllegalArgumentException
dup
getstatic org.apache.catalina.realm.JNDIRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
16: ldc "jndiRealm.invalidHostnameVerifier"
iconst_1
anewarray java.lang.Object
dup
iconst_0
17: aload 0
getfield org.apache.catalina.realm.JNDIRealm.hostNameVerifierClassName:Ljava/lang/String;
aastore
18: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
19: aload 1
20: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/apache/catalina/realm/JNDIRealm;
6 14 1 o Ljava/lang/Object;
15 21 1 e Ljava/lang/Exception;
Exception table:
from to target type
5 9 14 Class java.lang.ReflectiveOperationException
10 14 14 Class java.lang.ReflectiveOperationException
5 9 14 Class java.lang.SecurityException
10 14 14 Class java.lang.SecurityException
public void setSslSocketFactoryClassName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.sslSocketFactoryClassName:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 factoryClassName Ljava/lang/String;
MethodParameters:
Name Flags
factoryClassName
public void setSslProtocol(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.sslProtocol:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 protocol Ljava/lang/String;
MethodParameters:
Name Flags
protocol
private java.lang.String[] getSupportedSslProtocols();
descriptor: ()[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: invokestatic javax.net.ssl.SSLContext.getDefault:()Ljavax/net/ssl/SSLContext;
astore 1
start local 1 1: aload 1
invokevirtual javax.net.ssl.SSLContext.getSupportedSSLParameters:()Ljavax/net/ssl/SSLParameters;
invokevirtual javax.net.ssl.SSLParameters.getProtocols:()[Ljava/lang/String;
2: areturn
end local 1 3: StackMap locals:
StackMap stack: java.security.NoSuchAlgorithmException
astore 1
start local 1 4: new java.lang.RuntimeException
dup
getstatic org.apache.catalina.realm.JNDIRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jndiRealm.exception"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 1
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/catalina/realm/JNDIRealm;
1 3 1 sslContext Ljavax/net/ssl/SSLContext;
4 5 1 e Ljava/security/NoSuchAlgorithmException;
Exception table:
from to target type
0 2 3 Class java.security.NoSuchAlgorithmException
private java.lang.Object constructInstance(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 2
start local 2 1: aload 2
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 className Ljava/lang/String;
1 2 2 clazz Ljava/lang/Class<*>;
Exceptions:
throws java.lang.ReflectiveOperationException
MethodParameters:
Name Flags
className
public void setUseContextClassLoader(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.apache.catalina.realm.JNDIRealm.useContextClassLoader:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 2 1 useContext Z
MethodParameters:
Name Flags
useContext
public boolean isUseContextClassLoader();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.useContextClassLoader:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
public java.security.Principal authenticate(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/security/Principal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.get:()Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
astore 3
3: aload 0
aload 3
aload 1
aload 2
invokevirtual org.apache.catalina.realm.JNDIRealm.authenticate:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Principal;
astore 4
4: goto 11
StackMap locals: org.apache.catalina.realm.JNDIRealm java.lang.String java.lang.String org.apache.catalina.realm.JNDIRealm$JNDIConnection java.security.Principal
StackMap stack: java.lang.Exception
5: astore 5
start local 5 6: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JNDIRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jndiRealm.exception.retry"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 5
invokeinterface org.apache.juli.logging.Log.info:(Ljava/lang/Object;Ljava/lang/Throwable;)V
7: aload 0
aload 3
invokevirtual org.apache.catalina.realm.JNDIRealm.close:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;)V
8: aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.closePooledConnections:()V
9: aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.get:()Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
astore 3
10: aload 0
aload 3
aload 1
aload 2
invokevirtual org.apache.catalina.realm.JNDIRealm.authenticate:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Principal;
astore 4
end local 5 11: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual org.apache.catalina.realm.JNDIRealm.release:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;)V
12: aload 4
13: areturn
14: StackMap locals:
StackMap stack: javax.naming.NamingException
astore 5
start local 5 15: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JNDIRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jndiRealm.exception"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 5
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
16: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 18
17: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
ldc "Returning null principal."
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
18: StackMap locals: javax.naming.NamingException
StackMap stack:
aconst_null
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 19 1 username Ljava/lang/String;
0 19 2 credentials Ljava/lang/String;
1 19 3 connection Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
2 19 4 principal Ljava/security/Principal;
6 11 5 e Ljava/lang/Exception;
15 19 5 e Ljavax/naming/NamingException;
Exception table:
from to target type
3 4 5 Class java.lang.NullPointerException
3 4 5 Class javax.naming.NamingException
2 13 14 Class javax.naming.NamingException
MethodParameters:
Name Flags
username
credentials
public java.security.Principal authenticate(org.apache.catalina.realm.JNDIRealm$JNDIConnection, java.lang.String, java.lang.String);
descriptor: (Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Principal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnull 2
aload 2
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 2
1: aload 3
ifnull 2
aload 3
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 4
3: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
ldc "username null or empty: returning null principal."
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
aconst_null
areturn
5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.userPatternArray:[Ljava/lang/String;
ifnull 22
6: iconst_0
istore 4
start local 4 7: goto 19
8: StackMap locals: int
StackMap stack:
aload 0
aload 1
aload 2
aload 3
iload 4
invokevirtual org.apache.catalina.realm.JNDIRealm.getUser:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Ljava/lang/String;Ljava/lang/String;I)Lorg/apache/catalina/realm/JNDIRealm$User;
astore 5
start local 5 9: aload 5
ifnull 18
10: aload 0
aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
aload 5
aload 3
invokevirtual org.apache.catalina.realm.JNDIRealm.checkCredentials:(Ljavax/naming/directory/DirContext;Lorg/apache/catalina/realm/JNDIRealm$User;Ljava/lang/String;)Z
ifeq 18
11: aload 0
aload 1
aload 5
invokevirtual org.apache.catalina.realm.JNDIRealm.getRoles:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Lorg/apache/catalina/realm/JNDIRealm$User;)Ljava/util/List;
astore 6
start local 6 12: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 14
13: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Found roles: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
14: StackMap locals: org.apache.catalina.realm.JNDIRealm$User java.util.List
StackMap stack:
new org.apache.catalina.realm.GenericPrincipal
dup
aload 2
aload 6
invokespecial org.apache.catalina.realm.GenericPrincipal.<init>:(Ljava/lang/String;Ljava/util/List;)V
15: areturn
end local 6 16: StackMap locals: org.apache.catalina.realm.JNDIRealm org.apache.catalina.realm.JNDIRealm$JNDIConnection java.lang.String java.lang.String int org.apache.catalina.realm.JNDIRealm$User
StackMap stack: javax.naming.InvalidNameException
astore 6
start local 6 17: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JNDIRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jndiRealm.exception"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 6
invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 6 end local 5 18: StackMap locals:
StackMap stack:
iinc 4 1
19: StackMap locals:
StackMap stack:
iload 4
aload 0
getfield org.apache.catalina.realm.JNDIRealm.userPatternArray:[Ljava/lang/String;
arraylength
20: if_icmplt 8
end local 4 21: aconst_null
areturn
22: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.catalina.realm.JNDIRealm.getUser:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Ljava/lang/String;Ljava/lang/String;)Lorg/apache/catalina/realm/JNDIRealm$User;
astore 4
start local 4 23: aload 4
ifnonnull 25
24: aconst_null
areturn
25: StackMap locals: org.apache.catalina.realm.JNDIRealm$User
StackMap stack:
aload 0
aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
aload 4
aload 3
invokevirtual org.apache.catalina.realm.JNDIRealm.checkCredentials:(Ljavax/naming/directory/DirContext;Lorg/apache/catalina/realm/JNDIRealm$User;Ljava/lang/String;)Z
ifne 27
26: aconst_null
areturn
27: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
invokevirtual org.apache.catalina.realm.JNDIRealm.getRoles:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Lorg/apache/catalina/realm/JNDIRealm$User;)Ljava/util/List;
astore 5
start local 5 28: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 30
29: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Found roles: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
30: StackMap locals: java.util.List
StackMap stack:
new org.apache.catalina.realm.GenericPrincipal
dup
aload 2
aload 5
invokespecial org.apache.catalina.realm.GenericPrincipal.<init>:(Ljava/lang/String;Ljava/util/List;)V
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 31 1 connection Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
0 31 2 username Ljava/lang/String;
0 31 3 credentials Ljava/lang/String;
7 21 4 curUserPattern I
9 18 5 user Lorg/apache/catalina/realm/JNDIRealm$User;
12 16 6 roles Ljava/util/List<Ljava/lang/String;>;
17 18 6 ine Ljavax/naming/InvalidNameException;
23 31 4 user Lorg/apache/catalina/realm/JNDIRealm$User;
28 31 5 roles Ljava/util/List<Ljava/lang/String;>;
Exception table:
from to target type
10 15 16 Class javax.naming.InvalidNameException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
connection
username
credentials
protected org.apache.catalina.realm.JNDIRealm$User getUser(org.apache.catalina.realm.JNDIRealm$JNDIConnection, java.lang.String);
descriptor: (Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Ljava/lang/String;)Lorg/apache/catalina/realm/JNDIRealm$User;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aconst_null
iconst_m1
invokevirtual org.apache.catalina.realm.JNDIRealm.getUser:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Ljava/lang/String;Ljava/lang/String;I)Lorg/apache/catalina/realm/JNDIRealm$User;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 1 1 connection Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
0 1 2 username Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
connection
username
protected org.apache.catalina.realm.JNDIRealm$User getUser(org.apache.catalina.realm.JNDIRealm$JNDIConnection, java.lang.String, java.lang.String);
descriptor: (Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Ljava/lang/String;Ljava/lang/String;)Lorg/apache/catalina/realm/JNDIRealm$User;
flags: (0x0004) ACC_PROTECTED
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
aload 3
iconst_m1
invokevirtual org.apache.catalina.realm.JNDIRealm.getUser:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Ljava/lang/String;Ljava/lang/String;I)Lorg/apache/catalina/realm/JNDIRealm$User;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 1 1 connection Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
0 1 2 username Ljava/lang/String;
0 1 3 credentials Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
connection
username
credentials
protected org.apache.catalina.realm.JNDIRealm$User getUser(org.apache.catalina.realm.JNDIRealm$JNDIConnection, java.lang.String, java.lang.String, int);
descriptor: (Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Ljava/lang/String;Ljava/lang/String;I)Lorg/apache/catalina/realm/JNDIRealm$User;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aconst_null
astore 5
start local 5 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 6
start local 6 2: aload 0
getfield org.apache.catalina.realm.JNDIRealm.userPassword:Ljava/lang/String;
ifnull 4
3: aload 6
aload 0
getfield org.apache.catalina.realm.JNDIRealm.userPassword:Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: StackMap locals: org.apache.catalina.realm.JNDIRealm$User java.util.List
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.userRoleName:Ljava/lang/String;
ifnull 6
5: aload 6
aload 0
getfield org.apache.catalina.realm.JNDIRealm.userRoleName:Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.userRoleAttribute:Ljava/lang/String;
ifnull 8
7: aload 6
aload 0
getfield org.apache.catalina.realm.JNDIRealm.userRoleAttribute:Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.List.size:()I
anewarray java.lang.String
astore 7
start local 7 9: aload 6
aload 7
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
pop
10: aload 0
getfield org.apache.catalina.realm.JNDIRealm.userPatternArray:[Ljava/lang/String;
ifnull 15
iload 4
iflt 15
11: aload 0
aload 1
aload 2
aload 3
aload 7
iload 4
invokevirtual org.apache.catalina.realm.JNDIRealm.getUserByPattern:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;I)Lorg/apache/catalina/realm/JNDIRealm$User;
astore 5
12: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 28
13: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Found user by pattern ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
14: goto 28
15: StackMap locals: java.lang.String[]
StackMap stack:
aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.isUserSearchAsUser:()Z
istore 8
start local 8 16: iload 8
ifeq 18
17: aload 0
aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
aload 2
aload 3
invokevirtual org.apache.catalina.realm.JNDIRealm.userCredentialsAdd:(Ljavax/naming/directory/DirContext;Ljava/lang/String;Ljava/lang/String;)V
18: StackMap locals: int
StackMap stack:
aload 0
aload 1
aload 2
aload 7
invokevirtual org.apache.catalina.realm.JNDIRealm.getUserBySearch:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Ljava/lang/String;[Ljava/lang/String;)Lorg/apache/catalina/realm/JNDIRealm$User;
astore 5
19: goto 24
StackMap locals:
StackMap stack: java.lang.Throwable
20: astore 9
21: iload 8
ifeq 23
22: aload 0
aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
invokevirtual org.apache.catalina.realm.JNDIRealm.userCredentialsRemove:(Ljavax/naming/directory/DirContext;)V
23: StackMap locals: java.lang.Throwable
StackMap stack:
aload 9
athrow
24: StackMap locals:
StackMap stack:
iload 8
ifeq 26
25: aload 0
aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
invokevirtual org.apache.catalina.realm.JNDIRealm.userCredentialsRemove:(Ljavax/naming/directory/DirContext;)V
26: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 28
27: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Found user by search ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
end local 8 28: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.userPassword:Ljava/lang/String;
ifnonnull 32
aload 3
ifnull 32
aload 5
ifnull 32
29: new org.apache.catalina.realm.JNDIRealm$User
dup
aload 5
invokevirtual org.apache.catalina.realm.JNDIRealm$User.getUserName:()Ljava/lang/String;
aload 5
invokevirtual org.apache.catalina.realm.JNDIRealm$User.getDN:()Ljava/lang/String;
aload 3
30: aload 5
invokevirtual org.apache.catalina.realm.JNDIRealm$User.getRoles:()Ljava/util/List;
aload 5
invokevirtual org.apache.catalina.realm.JNDIRealm$User.getUserRoleId:()Ljava/lang/String;
31: invokespecial org.apache.catalina.realm.JNDIRealm$User.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;)V
areturn
32: StackMap locals:
StackMap stack:
aload 5
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 33 1 connection Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
0 33 2 username Ljava/lang/String;
0 33 3 credentials Ljava/lang/String;
0 33 4 curUserPattern I
1 33 5 user Lorg/apache/catalina/realm/JNDIRealm$User;
2 33 6 list Ljava/util/List<Ljava/lang/String;>;
9 33 7 attrIds [Ljava/lang/String;
16 28 8 thisUserSearchAsUser Z
Exception table:
from to target type
16 20 20 any
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
connection
username
credentials
curUserPattern
protected org.apache.catalina.realm.JNDIRealm$User getUserByPattern(javax.naming.directory.DirContext, java.lang.String, java.lang.String[], java.lang.String);
descriptor: (Ljavax/naming/directory/DirContext;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Lorg/apache/catalina/realm/JNDIRealm$User;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
ifnull 1
aload 3
arraylength
ifne 2
1: StackMap locals:
StackMap stack:
new org.apache.catalina.realm.JNDIRealm$User
dup
aload 2
aload 4
aconst_null
aconst_null
aconst_null
invokespecial org.apache.catalina.realm.JNDIRealm$User.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;)V
areturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 3: aload 1
aload 4
aload 3
invokeinterface javax.naming.directory.DirContext.getAttributes:(Ljava/lang/String;[Ljava/lang/String;)Ljavax/naming/directory/Attributes;
astore 5
4: goto 7
StackMap locals: org.apache.catalina.realm.JNDIRealm javax.naming.directory.DirContext java.lang.String java.lang.String[] java.lang.String javax.naming.directory.Attributes
StackMap stack: javax.naming.NameNotFoundException
5: pop
6: aconst_null
areturn
7: StackMap locals:
StackMap stack:
aload 5
ifnonnull 9
8: aconst_null
areturn
9: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 10: aload 0
getfield org.apache.catalina.realm.JNDIRealm.userPassword:Ljava/lang/String;
ifnull 12
11: aload 0
aload 0
getfield org.apache.catalina.realm.JNDIRealm.userPassword:Ljava/lang/String;
aload 5
invokevirtual org.apache.catalina.realm.JNDIRealm.getAttributeValue:(Ljava/lang/String;Ljavax/naming/directory/Attributes;)Ljava/lang/String;
astore 6
12: StackMap locals: java.lang.String
StackMap stack:
aconst_null
astore 7
start local 7 13: aload 0
getfield org.apache.catalina.realm.JNDIRealm.userRoleAttribute:Ljava/lang/String;
ifnull 15
14: aload 0
aload 0
getfield org.apache.catalina.realm.JNDIRealm.userRoleAttribute:Ljava/lang/String;
aload 5
invokevirtual org.apache.catalina.realm.JNDIRealm.getAttributeValue:(Ljava/lang/String;Ljavax/naming/directory/Attributes;)Ljava/lang/String;
astore 7
15: StackMap locals: java.lang.String
StackMap stack:
aconst_null
astore 8
start local 8 16: aload 0
getfield org.apache.catalina.realm.JNDIRealm.userRoleName:Ljava/lang/String;
ifnull 18
17: aload 0
aload 0
getfield org.apache.catalina.realm.JNDIRealm.userRoleName:Ljava/lang/String;
aload 5
aload 8
invokevirtual org.apache.catalina.realm.JNDIRealm.addAttributeValues:(Ljava/lang/String;Ljavax/naming/directory/Attributes;Ljava/util/ArrayList;)Ljava/util/ArrayList;
astore 8
18: StackMap locals: java.util.ArrayList
StackMap stack:
new org.apache.catalina.realm.JNDIRealm$User
dup
aload 2
aload 4
aload 6
aload 8
aload 7
invokespecial org.apache.catalina.realm.JNDIRealm$User.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;)V
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 19 1 context Ljavax/naming/directory/DirContext;
0 19 2 username Ljava/lang/String;
0 19 3 attrIds [Ljava/lang/String;
0 19 4 dn Ljava/lang/String;
3 19 5 attrs Ljavax/naming/directory/Attributes;
10 19 6 password Ljava/lang/String;
13 19 7 userRoleAttrValue Ljava/lang/String;
16 19 8 roles Ljava/util/ArrayList<Ljava/lang/String;>;
Exception table:
from to target type
3 4 5 Class javax.naming.NameNotFoundException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
context
username
attrIds
dn
protected org.apache.catalina.realm.JNDIRealm$User getUserByPattern(org.apache.catalina.realm.JNDIRealm$JNDIConnection, java.lang.String, java.lang.String, java.lang.String[], int);
descriptor: (Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;I)Lorg/apache/catalina/realm/JNDIRealm$User;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aconst_null
astore 6
start local 6 1: aload 2
ifnull 2
aload 0
getfield org.apache.catalina.realm.JNDIRealm.userPatternArray:[Ljava/lang/String;
iload 5
aaload
ifnonnull 3
2: StackMap locals: org.apache.catalina.realm.JNDIRealm$User
StackMap stack:
aconst_null
areturn
3: StackMap locals:
StackMap stack:
aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.userPatternFormatArray:[Ljava/text/MessageFormat;
iload 5
aaload
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 2
aastore
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
astore 7
start local 7 4: aload 0
aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
aload 2
aload 4
aload 7
invokevirtual org.apache.catalina.realm.JNDIRealm.getUserByPattern:(Ljavax/naming/directory/DirContext;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Lorg/apache/catalina/realm/JNDIRealm$User;
astore 6
5: goto 16
StackMap locals: org.apache.catalina.realm.JNDIRealm org.apache.catalina.realm.JNDIRealm$JNDIConnection java.lang.String java.lang.String java.lang.String[] int org.apache.catalina.realm.JNDIRealm$User java.lang.String
StackMap stack: javax.naming.NameNotFoundException
6: pop
7: aconst_null
areturn
8: StackMap locals:
StackMap stack: javax.naming.NamingException
pop
9: aload 0
aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
aload 7
aload 3
invokevirtual org.apache.catalina.realm.JNDIRealm.userCredentialsAdd:(Ljavax/naming/directory/DirContext;Ljava/lang/String;Ljava/lang/String;)V
10: aload 0
aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
aload 2
aload 4
aload 7
invokevirtual org.apache.catalina.realm.JNDIRealm.getUserByPattern:(Ljavax/naming/directory/DirContext;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Lorg/apache/catalina/realm/JNDIRealm$User;
astore 6
11: goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 8
13: aload 0
aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
invokevirtual org.apache.catalina.realm.JNDIRealm.userCredentialsRemove:(Ljavax/naming/directory/DirContext;)V
14: aload 8
athrow
15: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
invokevirtual org.apache.catalina.realm.JNDIRealm.userCredentialsRemove:(Ljavax/naming/directory/DirContext;)V
16: StackMap locals:
StackMap stack:
aload 6
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 17 1 connection Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
0 17 2 username Ljava/lang/String;
0 17 3 credentials Ljava/lang/String;
0 17 4 attrIds [Ljava/lang/String;
0 17 5 curUserPattern I
1 17 6 user Lorg/apache/catalina/realm/JNDIRealm$User;
4 17 7 dn Ljava/lang/String;
Exception table:
from to target type
4 5 6 Class javax.naming.NameNotFoundException
4 5 8 Class javax.naming.NamingException
9 12 12 any
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
connection
username
credentials
attrIds
curUserPattern
protected org.apache.catalina.realm.JNDIRealm$User getUserBySearch(org.apache.catalina.realm.JNDIRealm$JNDIConnection, java.lang.String, java.lang.String[]);
descriptor: (Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Ljava/lang/String;[Ljava/lang/String;)Lorg/apache/catalina/realm/JNDIRealm$User;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=15, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnull 1
aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.userSearchFormat:Ljava/text/MessageFormat;
ifnonnull 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.userSearchFormat:Ljava/text/MessageFormat;
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 2
aastore
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
astore 4
start local 4 3: new javax.naming.directory.SearchControls
dup
invokespecial javax.naming.directory.SearchControls.<init>:()V
astore 5
start local 5 4: aload 0
getfield org.apache.catalina.realm.JNDIRealm.userSubtree:Z
ifeq 7
5: aload 5
iconst_2
invokevirtual javax.naming.directory.SearchControls.setSearchScope:(I)V
6: goto 8
7: StackMap locals: java.lang.String javax.naming.directory.SearchControls
StackMap stack:
aload 5
iconst_1
invokevirtual javax.naming.directory.SearchControls.setSearchScope:(I)V
8: StackMap locals:
StackMap stack:
aload 5
aload 0
getfield org.apache.catalina.realm.JNDIRealm.sizeLimit:J
invokevirtual javax.naming.directory.SearchControls.setCountLimit:(J)V
9: aload 5
aload 0
getfield org.apache.catalina.realm.JNDIRealm.timeLimit:I
invokevirtual javax.naming.directory.SearchControls.setTimeLimit:(I)V
10: aload 3
ifnonnull 12
11: iconst_0
anewarray java.lang.String
astore 3
12: StackMap locals:
StackMap stack:
aload 5
aload 3
invokevirtual javax.naming.directory.SearchControls.setReturningAttributes:([Ljava/lang/String;)V
13: aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
aload 0
getfield org.apache.catalina.realm.JNDIRealm.userBase:Ljava/lang/String;
aload 4
aload 5
invokeinterface javax.naming.directory.DirContext.search:(Ljava/lang/String;Ljava/lang/String;Ljavax/naming/directory/SearchControls;)Ljavax/naming/NamingEnumeration;
14: astore 6
start local 6 15: aload 6
ifnull 16
aload 6
invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
ifne 25
16: StackMap locals: javax.naming.NamingEnumeration
StackMap stack:
aload 6
ifnull 18
17: aload 6
invokeinterface javax.naming.NamingEnumeration.close:()V
18: StackMap locals:
StackMap stack:
aconst_null
areturn
19: StackMap locals:
StackMap stack: javax.naming.PartialResultException
astore 7
start local 7 20: aload 0
getfield org.apache.catalina.realm.JNDIRealm.adCompat:Z
ifne 22
21: aload 7
athrow
22: StackMap locals: javax.naming.PartialResultException
StackMap stack:
aload 6
ifnull 24
23: aload 6
invokeinterface javax.naming.NamingEnumeration.close:()V
24: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 7 25: StackMap locals:
StackMap stack:
aload 6
invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
checkcast javax.naming.directory.SearchResult
astore 7
start local 7 26: aload 6
invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
ifeq 35
27: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isInfoEnabled:()Z
ifeq 29
28: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JNDIRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jndiRealm.multipleEntries"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.info:(Ljava/lang/Object;)V
29: StackMap locals: javax.naming.directory.SearchResult
StackMap stack:
aload 6
ifnull 31
30: aload 6
invokeinterface javax.naming.NamingEnumeration.close:()V
31: StackMap locals:
StackMap stack:
aconst_null
areturn
32: StackMap locals:
StackMap stack: javax.naming.PartialResultException
astore 8
start local 8 33: aload 0
getfield org.apache.catalina.realm.JNDIRealm.adCompat:Z
ifne 35
34: aload 8
athrow
end local 8 35: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
aload 0
getfield org.apache.catalina.realm.JNDIRealm.userBase:Ljava/lang/String;
aload 7
invokevirtual org.apache.catalina.realm.JNDIRealm.getDistinguishedName:(Ljavax/naming/directory/DirContext;Ljava/lang/String;Ljavax/naming/directory/SearchResult;)Ljava/lang/String;
astore 8
start local 8 36: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isTraceEnabled:()Z
ifeq 38
37: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc " entry found for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " with dn "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
38: StackMap locals: java.lang.String
StackMap stack:
aload 7
invokevirtual javax.naming.directory.SearchResult.getAttributes:()Ljavax/naming/directory/Attributes;
astore 9
start local 9 39: aload 9
ifnonnull 43
40: aload 6
ifnull 42
41: aload 6
invokeinterface javax.naming.NamingEnumeration.close:()V
42: StackMap locals: javax.naming.directory.Attributes
StackMap stack:
aconst_null
areturn
43: StackMap locals:
StackMap stack:
aconst_null
astore 10
start local 10 44: aload 0
getfield org.apache.catalina.realm.JNDIRealm.userPassword:Ljava/lang/String;
ifnull 46
45: aload 0
aload 0
getfield org.apache.catalina.realm.JNDIRealm.userPassword:Ljava/lang/String;
aload 9
invokevirtual org.apache.catalina.realm.JNDIRealm.getAttributeValue:(Ljava/lang/String;Ljavax/naming/directory/Attributes;)Ljava/lang/String;
astore 10
46: StackMap locals: java.lang.String
StackMap stack:
aconst_null
astore 11
start local 11 47: aload 0
getfield org.apache.catalina.realm.JNDIRealm.userRoleAttribute:Ljava/lang/String;
ifnull 49
48: aload 0
aload 0
getfield org.apache.catalina.realm.JNDIRealm.userRoleAttribute:Ljava/lang/String;
aload 9
invokevirtual org.apache.catalina.realm.JNDIRealm.getAttributeValue:(Ljava/lang/String;Ljavax/naming/directory/Attributes;)Ljava/lang/String;
astore 11
49: StackMap locals: java.lang.String
StackMap stack:
aconst_null
astore 12
start local 12 50: aload 0
getfield org.apache.catalina.realm.JNDIRealm.userRoleName:Ljava/lang/String;
ifnull 52
51: aload 0
aload 0
getfield org.apache.catalina.realm.JNDIRealm.userRoleName:Ljava/lang/String;
aload 9
aload 12
invokevirtual org.apache.catalina.realm.JNDIRealm.addAttributeValues:(Ljava/lang/String;Ljavax/naming/directory/Attributes;Ljava/util/ArrayList;)Ljava/util/ArrayList;
astore 12
52: StackMap locals: java.util.ArrayList
StackMap stack:
new org.apache.catalina.realm.JNDIRealm$User
dup
aload 2
aload 8
aload 10
aload 12
aload 11
invokespecial org.apache.catalina.realm.JNDIRealm$User.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;)V
astore 14
53: aload 6
ifnull 55
54: aload 6
invokeinterface javax.naming.NamingEnumeration.close:()V
55: StackMap locals: org.apache.catalina.realm.JNDIRealm org.apache.catalina.realm.JNDIRealm$JNDIConnection java.lang.String java.lang.String[] java.lang.String javax.naming.directory.SearchControls javax.naming.NamingEnumeration javax.naming.directory.SearchResult java.lang.String javax.naming.directory.Attributes java.lang.String java.lang.String java.util.ArrayList top org.apache.catalina.realm.JNDIRealm$User
StackMap stack:
aload 14
areturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 56: StackMap locals: org.apache.catalina.realm.JNDIRealm org.apache.catalina.realm.JNDIRealm$JNDIConnection java.lang.String java.lang.String[] java.lang.String javax.naming.directory.SearchControls javax.naming.NamingEnumeration
StackMap stack: java.lang.Throwable
astore 13
57: aload 6
ifnull 59
58: aload 6
invokeinterface javax.naming.NamingEnumeration.close:()V
59: StackMap locals: org.apache.catalina.realm.JNDIRealm org.apache.catalina.realm.JNDIRealm$JNDIConnection java.lang.String java.lang.String[] java.lang.String javax.naming.directory.SearchControls javax.naming.NamingEnumeration top top top top top top java.lang.Throwable
StackMap stack:
aload 13
athrow
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 60 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 60 1 connection Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
0 60 2 username Ljava/lang/String;
0 60 3 attrIds [Ljava/lang/String;
3 60 4 filter Ljava/lang/String;
4 60 5 constraints Ljavax/naming/directory/SearchControls;
15 60 6 results Ljavax/naming/NamingEnumeration<Ljavax/naming/directory/SearchResult;>;
20 25 7 ex Ljavax/naming/PartialResultException;
26 56 7 result Ljavax/naming/directory/SearchResult;
33 35 8 ex Ljavax/naming/PartialResultException;
36 56 8 dn Ljava/lang/String;
39 56 9 attrs Ljavax/naming/directory/Attributes;
44 56 10 password Ljava/lang/String;
47 56 11 userRoleAttrValue Ljava/lang/String;
50 56 12 roles Ljava/util/ArrayList<Ljava/lang/String;>;
Exception table:
from to target type
15 16 19 Class javax.naming.PartialResultException
26 29 32 Class javax.naming.PartialResultException
15 16 56 any
19 22 56 any
25 29 56 any
32 40 56 any
43 53 56 any
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
connection
username
attrIds
protected boolean checkCredentials(javax.naming.directory.DirContext, org.apache.catalina.realm.JNDIRealm$User, java.lang.String);
descriptor: (Ljavax/naming/directory/DirContext;Lorg/apache/catalina/realm/JNDIRealm$User;Ljava/lang/String;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: aload 0
getfield org.apache.catalina.realm.JNDIRealm.userPassword:Ljava/lang/String;
ifnonnull 4
2: aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.catalina.realm.JNDIRealm.bindAsUser:(Ljavax/naming/directory/DirContext;Lorg/apache/catalina/realm/JNDIRealm$User;Ljava/lang/String;)Z
istore 4
3: goto 5
4: StackMap locals: int
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.catalina.realm.JNDIRealm.compareCredentials:(Ljavax/naming/directory/DirContext;Lorg/apache/catalina/realm/JNDIRealm$User;Ljava/lang/String;)Z
istore 4
5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isTraceEnabled:()Z
ifeq 14
6: iload 4
ifeq 11
7: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JNDIRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jndiRealm.authenticateSuccess"
iconst_1
anewarray java.lang.Object
dup
iconst_0
8: aload 2
invokevirtual org.apache.catalina.realm.JNDIRealm$User.getUserName:()Ljava/lang/String;
aastore
9: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
10: goto 14
11: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JNDIRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jndiRealm.authenticateFailure"
iconst_1
anewarray java.lang.Object
dup
iconst_0
12: aload 2
invokevirtual org.apache.catalina.realm.JNDIRealm$User.getUserName:()Ljava/lang/String;
aastore
13: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
14: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 15 1 context Ljavax/naming/directory/DirContext;
0 15 2 user Lorg/apache/catalina/realm/JNDIRealm$User;
0 15 3 credentials Ljava/lang/String;
1 15 4 validated Z
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
context
user
credentials
protected boolean compareCredentials(javax.naming.directory.DirContext, org.apache.catalina.realm.JNDIRealm$User, java.lang.String);
descriptor: (Ljavax/naming/directory/DirContext;Lorg/apache/catalina/realm/JNDIRealm$User;Ljava/lang/String;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isTraceEnabled:()Z
ifeq 2
1: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
ldc " validating credentials"
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 2
ifnull 3
aload 3
ifnonnull 4
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.apache.catalina.realm.JNDIRealm$User.getPassword:()Ljava/lang/String;
astore 4
start local 4 5: aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.getCredentialHandler:()Lorg/apache/catalina/CredentialHandler;
aload 3
aload 4
invokeinterface org.apache.catalina.CredentialHandler.matches:(Ljava/lang/String;Ljava/lang/String;)Z
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 6 1 context Ljavax/naming/directory/DirContext;
0 6 2 info Lorg/apache/catalina/realm/JNDIRealm$User;
0 6 3 credentials Ljava/lang/String;
5 6 4 password Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
context
info
credentials
protected boolean bindAsUser(javax.naming.directory.DirContext, org.apache.catalina.realm.JNDIRealm$User, java.lang.String);
descriptor: (Ljavax/naming/directory/DirContext;Lorg/apache/catalina/realm/JNDIRealm$User;Ljava/lang/String;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
ifnull 1
aload 2
ifnonnull 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.apache.catalina.realm.JNDIRealm$User.getDN:()Ljava/lang/String;
astore 4
start local 4 3: aload 4
ifnonnull 5
4: iconst_0
ireturn
5: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isTraceEnabled:()Z
ifeq 7
6: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
ldc " validating credentials by binding as the user"
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
7: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
aload 3
invokevirtual org.apache.catalina.realm.JNDIRealm.userCredentialsAdd:(Ljavax/naming/directory/DirContext;Ljava/lang/String;Ljava/lang/String;)V
8: iconst_0
istore 5
start local 5 9: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isTraceEnabled:()Z
ifeq 11
10: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc " binding as "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
11: StackMap locals: int
StackMap stack:
aload 1
ldc ""
aconst_null
invokeinterface javax.naming.directory.DirContext.getAttributes:(Ljava/lang/String;[Ljava/lang/String;)Ljavax/naming/directory/Attributes;
pop
12: iconst_1
istore 5
13: goto 17
14: StackMap locals:
StackMap stack: javax.naming.AuthenticationException
pop
15: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isTraceEnabled:()Z
ifeq 17
16: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
ldc " bind attempt failed"
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
17: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.apache.catalina.realm.JNDIRealm.userCredentialsRemove:(Ljavax/naming/directory/DirContext;)V
18: iload 5
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 19 1 context Ljavax/naming/directory/DirContext;
0 19 2 user Lorg/apache/catalina/realm/JNDIRealm$User;
0 19 3 credentials Ljava/lang/String;
3 19 4 dn Ljava/lang/String;
9 19 5 validated Z
Exception table:
from to target type
9 13 14 Class javax.naming.AuthenticationException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
context
user
credentials
private void userCredentialsAdd(javax.naming.directory.DirContext, java.lang.String, java.lang.String);
descriptor: (Ljavax/naming/directory/DirContext;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ldc "java.naming.security.principal"
aload 2
invokeinterface javax.naming.directory.DirContext.addToEnvironment:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 1
ldc "java.naming.security.credentials"
aload 3
invokeinterface javax.naming.directory.DirContext.addToEnvironment:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 3 1 context Ljavax/naming/directory/DirContext;
0 3 2 dn Ljava/lang/String;
0 3 3 credentials Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
context
dn
credentials
private void userCredentialsRemove(javax.naming.directory.DirContext);
descriptor: (Ljavax/naming/directory/DirContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionName:Ljava/lang/String;
ifnull 5
1: aload 1
ldc "java.naming.security.principal"
2: aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionName:Ljava/lang/String;
3: invokeinterface javax.naming.directory.DirContext.addToEnvironment:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: goto 6
5: StackMap locals:
StackMap stack:
aload 1
ldc "java.naming.security.principal"
invokeinterface javax.naming.directory.DirContext.removeFromEnvironment:(Ljava/lang/String;)Ljava/lang/Object;
pop
6: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionPassword:Ljava/lang/String;
ifnull 11
7: aload 1
ldc "java.naming.security.credentials"
8: aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionPassword:Ljava/lang/String;
9: invokeinterface javax.naming.directory.DirContext.addToEnvironment:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: goto 12
11: StackMap locals:
StackMap stack:
aload 1
ldc "java.naming.security.credentials"
invokeinterface javax.naming.directory.DirContext.removeFromEnvironment:(Ljava/lang/String;)Ljava/lang/Object;
pop
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 13 1 context Ljavax/naming/directory/DirContext;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
context
protected java.util.List<java.lang.String> getRoles(org.apache.catalina.realm.JNDIRealm$JNDIConnection, org.apache.catalina.realm.JNDIRealm$User);
descriptor: (Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Lorg/apache/catalina/realm/JNDIRealm$User;)Ljava/util/List;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=22, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.apache.catalina.realm.JNDIRealm$User.getDN:()Ljava/lang/String;
astore 3
start local 3 3: aload 2
invokevirtual org.apache.catalina.realm.JNDIRealm$User.getUserName:()Ljava/lang/String;
astore 4
start local 4 4: aload 2
invokevirtual org.apache.catalina.realm.JNDIRealm$User.getUserRoleId:()Ljava/lang/String;
astore 5
start local 5 5: aload 3
ifnull 6
aload 4
ifnonnull 7
6: StackMap locals: java.lang.String java.lang.String java.lang.String
StackMap stack:
aconst_null
areturn
7: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isTraceEnabled:()Z
ifeq 9
8: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc " getRoles("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
9: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 6
start local 6 10: aload 2
invokevirtual org.apache.catalina.realm.JNDIRealm$User.getRoles:()Ljava/util/List;
astore 7
start local 7 11: aload 7
ifnull 13
12: aload 6
aload 7
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
13: StackMap locals: java.util.List java.util.List
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.commonRole:Ljava/lang/String;
ifnull 15
14: aload 6
aload 0
getfield org.apache.catalina.realm.JNDIRealm.commonRole:Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
15: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isTraceEnabled:()Z
ifeq 18
16: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc " Found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokeinterface java.util.List.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " user internal roles"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
17: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc " Found user internal roles "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
18: StackMap locals:
StackMap stack:
aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.roleFormat:Ljava/text/MessageFormat;
ifnull 19
aload 0
getfield org.apache.catalina.realm.JNDIRealm.roleName:Ljava/lang/String;
ifnonnull 20
19: StackMap locals:
StackMap stack:
aload 6
areturn
20: StackMap locals:
StackMap stack:
aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.roleFormat:Ljava/text/MessageFormat;
iconst_3
anewarray java.lang.String
dup
iconst_0
aload 0
aload 3
invokevirtual org.apache.catalina.realm.JNDIRealm.doRFC2254Encoding:(Ljava/lang/String;)Ljava/lang/String;
aastore
dup
iconst_1
aload 4
aastore
dup
iconst_2
aload 5
aastore
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
astore 8
start local 8 21: new javax.naming.directory.SearchControls
dup
invokespecial javax.naming.directory.SearchControls.<init>:()V
astore 9
start local 9 22: aload 0
getfield org.apache.catalina.realm.JNDIRealm.roleSubtree:Z
ifeq 24
23: aload 9
iconst_2
invokevirtual javax.naming.directory.SearchControls.setSearchScope:(I)V
goto 25
24: StackMap locals: java.lang.String javax.naming.directory.SearchControls
StackMap stack:
aload 9
iconst_1
invokevirtual javax.naming.directory.SearchControls.setSearchScope:(I)V
25: StackMap locals:
StackMap stack:
aload 9
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 0
getfield org.apache.catalina.realm.JNDIRealm.roleName:Ljava/lang/String;
aastore
invokevirtual javax.naming.directory.SearchControls.setReturningAttributes:([Ljava/lang/String;)V
26: aconst_null
astore 10
start local 10 27: aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.roleBaseFormat:Ljava/text/MessageFormat;
ifnull 38
28: aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
ldc ""
invokeinterface javax.naming.directory.DirContext.getNameParser:(Ljava/lang/String;)Ljavax/naming/NameParser;
astore 11
start local 11 29: aload 11
aload 3
invokeinterface javax.naming.NameParser.parse:(Ljava/lang/String;)Ljavax/naming/Name;
astore 12
start local 12 30: aload 12
invokeinterface javax.naming.Name.size:()I
anewarray java.lang.String
astore 13
start local 13 31: iconst_0
istore 14
start local 14 32: goto 35
33: StackMap locals: org.apache.catalina.realm.JNDIRealm org.apache.catalina.realm.JNDIRealm$JNDIConnection org.apache.catalina.realm.JNDIRealm$User java.lang.String java.lang.String java.lang.String java.util.List java.util.List java.lang.String javax.naming.directory.SearchControls java.lang.String javax.naming.NameParser javax.naming.Name java.lang.String[] int
StackMap stack:
aload 13
iload 14
aload 12
iload 14
invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
aastore
34: iinc 14 1
StackMap locals:
StackMap stack:
35: iload 14
aload 12
invokeinterface javax.naming.Name.size:()I
if_icmplt 33
end local 14 36: aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.roleBaseFormat:Ljava/text/MessageFormat;
aload 13
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
astore 10
end local 13 end local 12 end local 11 37: goto 39
38: StackMap locals: org.apache.catalina.realm.JNDIRealm org.apache.catalina.realm.JNDIRealm$JNDIConnection org.apache.catalina.realm.JNDIRealm$User java.lang.String java.lang.String java.lang.String java.util.List java.util.List java.lang.String javax.naming.directory.SearchControls java.lang.String
StackMap stack:
ldc ""
astore 10
39: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
aload 2
aload 10
aload 8
aload 9
40: aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.isRoleSearchAsUser:()Z
41: invokevirtual org.apache.catalina.realm.JNDIRealm.searchAsUser:(Ljavax/naming/directory/DirContext;Lorg/apache/catalina/realm/JNDIRealm$User;Ljava/lang/String;Ljava/lang/String;Ljavax/naming/directory/SearchControls;Z)Ljavax/naming/NamingEnumeration;
astore 11
start local 11 42: aload 11
ifnonnull 44
43: aload 6
areturn
44: StackMap locals: javax.naming.NamingEnumeration
StackMap stack:
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 12
start local 12 45: goto 54
46: StackMap locals: java.util.Map
StackMap stack:
aload 11
invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
checkcast javax.naming.directory.SearchResult
astore 13
start local 13 47: aload 13
invokevirtual javax.naming.directory.SearchResult.getAttributes:()Ljavax/naming/directory/Attributes;
astore 14
start local 14 48: aload 14
ifnonnull 50
49: goto 54
50: StackMap locals: javax.naming.directory.SearchResult javax.naming.directory.Attributes
StackMap stack:
aload 0
aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
aload 0
getfield org.apache.catalina.realm.JNDIRealm.roleBase:Ljava/lang/String;
aload 13
invokevirtual org.apache.catalina.realm.JNDIRealm.getDistinguishedName:(Ljavax/naming/directory/DirContext;Ljava/lang/String;Ljavax/naming/directory/SearchResult;)Ljava/lang/String;
astore 15
start local 15 51: aload 0
aload 0
getfield org.apache.catalina.realm.JNDIRealm.roleName:Ljava/lang/String;
aload 14
invokevirtual org.apache.catalina.realm.JNDIRealm.getAttributeValue:(Ljava/lang/String;Ljavax/naming/directory/Attributes;)Ljava/lang/String;
astore 16
start local 16 52: aload 16
ifnull 54
aload 15
ifnull 54
53: aload 12
aload 15
aload 16
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 16 end local 15 end local 14 end local 13 54: StackMap locals:
StackMap stack:
aload 11
invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
ifne 46
55: goto 63
StackMap locals:
StackMap stack: javax.naming.PartialResultException
56: astore 13
start local 13 57: aload 0
getfield org.apache.catalina.realm.JNDIRealm.adCompat:Z
ifne 59
58: aload 13
athrow
end local 13 59: StackMap locals:
StackMap stack:
aload 11
invokeinterface javax.naming.NamingEnumeration.close:()V
goto 64
60: StackMap locals:
StackMap stack: java.lang.Throwable
astore 17
61: aload 11
invokeinterface javax.naming.NamingEnumeration.close:()V
62: aload 17
athrow
63: StackMap locals:
StackMap stack:
aload 11
invokeinterface javax.naming.NamingEnumeration.close:()V
64: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isTraceEnabled:()Z
ifeq 71
65: aload 12
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
astore 13
start local 13 66: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc " Found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 13
invokeinterface java.util.Set.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " direct roles"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
67: aload 13
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 15
goto 70
StackMap locals: org.apache.catalina.realm.JNDIRealm org.apache.catalina.realm.JNDIRealm$JNDIConnection org.apache.catalina.realm.JNDIRealm$User java.lang.String java.lang.String java.lang.String java.util.List java.util.List java.lang.String javax.naming.directory.SearchControls java.lang.String javax.naming.NamingEnumeration java.util.Map java.util.Set top java.util.Iterator
StackMap stack:
68: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 14
start local 14 69: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc " Found direct role "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 14
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 14
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
end local 14 70: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 68
end local 13 71: StackMap locals: org.apache.catalina.realm.JNDIRealm org.apache.catalina.realm.JNDIRealm$JNDIConnection org.apache.catalina.realm.JNDIRealm$User java.lang.String java.lang.String java.lang.String java.util.List java.util.List java.lang.String javax.naming.directory.SearchControls java.lang.String javax.naming.NamingEnumeration java.util.Map
StackMap stack:
aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.getRoleNested:()Z
ifeq 110
72: new java.util.HashMap
dup
aload 12
invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
astore 13
start local 13 73: goto 109
74: StackMap locals: java.util.Map
StackMap stack:
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 14
start local 14 75: aload 13
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 16
goto 107
StackMap locals: org.apache.catalina.realm.JNDIRealm org.apache.catalina.realm.JNDIRealm$JNDIConnection org.apache.catalina.realm.JNDIRealm$User java.lang.String java.lang.String java.lang.String java.util.List java.util.List java.lang.String javax.naming.directory.SearchControls java.lang.String javax.naming.NamingEnumeration java.util.Map java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
76: aload 16
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 15
start local 15 77: aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.roleFormat:Ljava/text/MessageFormat;
iconst_3
anewarray java.lang.String
dup
iconst_0
aload 0
aload 15
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual org.apache.catalina.realm.JNDIRealm.doRFC2254Encoding:(Ljava/lang/String;)Ljava/lang/String;
aastore
dup
iconst_1
78: aload 15
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String
aastore
dup
iconst_2
aload 15
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String
aastore
79: invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
astore 8
80: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isTraceEnabled:()Z
ifeq 82
81: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Perform a nested group search with base "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.catalina.realm.JNDIRealm.roleBase:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " and filter "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
82: StackMap locals: org.apache.catalina.realm.JNDIRealm org.apache.catalina.realm.JNDIRealm$JNDIConnection org.apache.catalina.realm.JNDIRealm$User java.lang.String java.lang.String java.lang.String java.util.List java.util.List java.lang.String javax.naming.directory.SearchControls java.lang.String javax.naming.NamingEnumeration java.util.Map java.util.Map java.util.Map java.util.Map$Entry java.util.Iterator
StackMap stack:
aload 0
aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
aload 2
aload 0
getfield org.apache.catalina.realm.JNDIRealm.roleBase:Ljava/lang/String;
aload 8
aload 9
83: aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.isRoleSearchAsUser:()Z
84: invokevirtual org.apache.catalina.realm.JNDIRealm.searchAsUser:(Ljavax/naming/directory/DirContext;Lorg/apache/catalina/realm/JNDIRealm$User;Ljava/lang/String;Ljava/lang/String;Ljavax/naming/directory/SearchControls;Z)Ljavax/naming/NamingEnumeration;
astore 11
85: goto 97
86: StackMap locals:
StackMap stack:
aload 11
invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
checkcast javax.naming.directory.SearchResult
astore 17
start local 17 87: aload 17
invokevirtual javax.naming.directory.SearchResult.getAttributes:()Ljavax/naming/directory/Attributes;
astore 18
start local 18 88: aload 18
ifnonnull 90
89: goto 97
90: StackMap locals: javax.naming.directory.SearchResult javax.naming.directory.Attributes
StackMap stack:
aload 0
aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
aload 0
getfield org.apache.catalina.realm.JNDIRealm.roleBase:Ljava/lang/String;
aload 17
invokevirtual org.apache.catalina.realm.JNDIRealm.getDistinguishedName:(Ljavax/naming/directory/DirContext;Ljava/lang/String;Ljavax/naming/directory/SearchResult;)Ljava/lang/String;
astore 19
start local 19 91: aload 0
aload 0
getfield org.apache.catalina.realm.JNDIRealm.roleName:Ljava/lang/String;
aload 18
invokevirtual org.apache.catalina.realm.JNDIRealm.getAttributeValue:(Ljava/lang/String;Ljavax/naming/directory/Attributes;)Ljava/lang/String;
astore 20
start local 20 92: aload 20
ifnull 97
aload 19
ifnull 97
aload 12
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
aload 19
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 97
93: aload 12
aload 19
aload 20
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
94: aload 14
aload 19
aload 20
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
95: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isTraceEnabled:()Z
ifeq 97
96: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc " Found nested role "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 19
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 20
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
end local 20 end local 19 end local 18 end local 17 97: StackMap locals:
StackMap stack:
aload 11
invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
ifne 86
98: goto 106
StackMap locals:
StackMap stack: javax.naming.PartialResultException
99: astore 17
start local 17 100: aload 0
getfield org.apache.catalina.realm.JNDIRealm.adCompat:Z
ifne 102
101: aload 17
athrow
end local 17 102: StackMap locals:
StackMap stack:
aload 11
invokeinterface javax.naming.NamingEnumeration.close:()V
goto 107
103: StackMap locals:
StackMap stack: java.lang.Throwable
astore 21
104: aload 11
invokeinterface javax.naming.NamingEnumeration.close:()V
105: aload 21
athrow
106: StackMap locals:
StackMap stack:
aload 11
invokeinterface javax.naming.NamingEnumeration.close:()V
end local 15 107: StackMap locals: org.apache.catalina.realm.JNDIRealm org.apache.catalina.realm.JNDIRealm$JNDIConnection org.apache.catalina.realm.JNDIRealm$User java.lang.String java.lang.String java.lang.String java.util.List java.util.List java.lang.String javax.naming.directory.SearchControls java.lang.String javax.naming.NamingEnumeration java.util.Map java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
aload 16
invokeinterface java.util.Iterator.hasNext:()Z
ifne 76
108: aload 14
astore 13
end local 14 109: StackMap locals: org.apache.catalina.realm.JNDIRealm org.apache.catalina.realm.JNDIRealm$JNDIConnection org.apache.catalina.realm.JNDIRealm$User java.lang.String java.lang.String java.lang.String java.util.List java.util.List java.lang.String javax.naming.directory.SearchControls java.lang.String javax.naming.NamingEnumeration java.util.Map java.util.Map
StackMap stack:
aload 13
invokeinterface java.util.Map.isEmpty:()Z
ifeq 74
end local 13 110: StackMap locals:
StackMap stack:
aload 6
aload 12
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
111: aload 6
areturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 112 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 112 1 connection Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
0 112 2 user Lorg/apache/catalina/realm/JNDIRealm$User;
3 112 3 dn Ljava/lang/String;
4 112 4 username Ljava/lang/String;
5 112 5 userRoleId Ljava/lang/String;
10 112 6 list Ljava/util/List<Ljava/lang/String;>;
11 112 7 userRoles Ljava/util/List<Ljava/lang/String;>;
21 112 8 filter Ljava/lang/String;
22 112 9 controls Ljavax/naming/directory/SearchControls;
27 112 10 base Ljava/lang/String;
29 37 11 np Ljavax/naming/NameParser;
30 37 12 name Ljavax/naming/Name;
31 37 13 nameParts [Ljava/lang/String;
32 36 14 i I
42 112 11 results Ljavax/naming/NamingEnumeration<Ljavax/naming/directory/SearchResult;>;
45 112 12 groupMap Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
47 54 13 result Ljavax/naming/directory/SearchResult;
48 54 14 attrs Ljavax/naming/directory/Attributes;
51 54 15 dname Ljava/lang/String;
52 54 16 name Ljava/lang/String;
57 59 13 ex Ljavax/naming/PartialResultException;
66 71 13 entries Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;>;
69 70 14 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
73 110 13 newGroups Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
75 109 14 newThisRound Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
77 107 15 group Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
87 97 17 result Ljavax/naming/directory/SearchResult;
88 97 18 attrs Ljavax/naming/directory/Attributes;
91 97 19 dname Ljava/lang/String;
92 97 20 name Ljava/lang/String;
100 102 17 ex Ljavax/naming/PartialResultException;
Exception table:
from to target type
45 55 56 Class javax.naming.PartialResultException
45 59 60 any
85 98 99 Class javax.naming.PartialResultException
85 102 103 any
Exceptions:
throws javax.naming.NamingException
Signature: (Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Lorg/apache/catalina/realm/JNDIRealm$User;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
connection
user
private javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> searchAsUser(javax.naming.directory.DirContext, org.apache.catalina.realm.JNDIRealm$User, java.lang.String, java.lang.String, javax.naming.directory.SearchControls, boolean);
descriptor: (Ljavax/naming/directory/DirContext;Lorg/apache/catalina/realm/JNDIRealm$User;Ljava/lang/String;Ljava/lang/String;Ljavax/naming/directory/SearchControls;Z)Ljavax/naming/NamingEnumeration;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iload 6
ifeq 2
1: aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.realm.JNDIRealm$User.getDN:()Ljava/lang/String;
aload 2
invokevirtual org.apache.catalina.realm.JNDIRealm$User.getPassword:()Ljava/lang/String;
invokevirtual org.apache.catalina.realm.JNDIRealm.userCredentialsAdd:(Ljavax/naming/directory/DirContext;Ljava/lang/String;Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 1
aload 3
aload 4
aload 5
invokeinterface javax.naming.directory.DirContext.search:(Ljava/lang/String;Ljava/lang/String;Ljavax/naming/directory/SearchControls;)Ljavax/naming/NamingEnumeration;
astore 7
start local 7 3: goto 8
end local 7 StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 8
5: iload 6
ifeq 7
6: aload 0
aload 1
invokevirtual org.apache.catalina.realm.JNDIRealm.userCredentialsRemove:(Ljavax/naming/directory/DirContext;)V
7: StackMap locals: org.apache.catalina.realm.JNDIRealm javax.naming.directory.DirContext org.apache.catalina.realm.JNDIRealm$User java.lang.String java.lang.String javax.naming.directory.SearchControls int top java.lang.Throwable
StackMap stack:
aload 8
athrow
start local 7 8: StackMap locals: org.apache.catalina.realm.JNDIRealm javax.naming.directory.DirContext org.apache.catalina.realm.JNDIRealm$User java.lang.String java.lang.String javax.naming.directory.SearchControls int javax.naming.NamingEnumeration
StackMap stack:
iload 6
ifeq 10
9: aload 0
aload 1
invokevirtual org.apache.catalina.realm.JNDIRealm.userCredentialsRemove:(Ljavax/naming/directory/DirContext;)V
10: StackMap locals:
StackMap stack:
aload 7
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 11 1 context Ljavax/naming/directory/DirContext;
0 11 2 user Lorg/apache/catalina/realm/JNDIRealm$User;
0 11 3 base Ljava/lang/String;
0 11 4 filter Ljava/lang/String;
0 11 5 controls Ljavax/naming/directory/SearchControls;
0 11 6 searchAsUser Z
3 4 7 results Ljavax/naming/NamingEnumeration<Ljavax/naming/directory/SearchResult;>;
8 11 7 results Ljavax/naming/NamingEnumeration<Ljavax/naming/directory/SearchResult;>;
Exception table:
from to target type
0 4 4 any
Exceptions:
throws javax.naming.NamingException
Signature: (Ljavax/naming/directory/DirContext;Lorg/apache/catalina/realm/JNDIRealm$User;Ljava/lang/String;Ljava/lang/String;Ljavax/naming/directory/SearchControls;Z)Ljavax/naming/NamingEnumeration<Ljavax/naming/directory/SearchResult;>;
MethodParameters:
Name Flags
context
user
base
filter
controls
searchAsUser
private java.lang.String getAttributeValue(java.lang.String, javax.naming.directory.Attributes);
descriptor: (Ljava/lang/String;Ljavax/naming/directory/Attributes;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isTraceEnabled:()Z
ifeq 2
1: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc " retrieving attribute "
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;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 1
ifnull 3
aload 2
ifnonnull 4
3: StackMap locals:
StackMap stack:
aconst_null
areturn
4: StackMap locals:
StackMap stack:
aload 2
aload 1
invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
astore 3
start local 3 5: aload 3
ifnonnull 7
6: aconst_null
areturn
7: StackMap locals: javax.naming.directory.Attribute
StackMap stack:
aload 3
invokeinterface javax.naming.directory.Attribute.get:()Ljava/lang/Object;
astore 4
start local 4 8: aload 4
ifnonnull 10
9: aconst_null
areturn
10: StackMap locals: java.lang.Object
StackMap stack:
aconst_null
astore 5
start local 5 11: aload 4
instanceof byte[]
ifeq 13
12: new java.lang.String
dup
aload 4
checkcast byte[]
invokespecial java.lang.String.<init>:([B)V
astore 5
goto 14
13: StackMap locals: java.lang.String
StackMap stack:
aload 4
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 5
14: StackMap locals:
StackMap stack:
aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 15 1 attrId Ljava/lang/String;
0 15 2 attrs Ljavax/naming/directory/Attributes;
5 15 3 attr Ljavax/naming/directory/Attribute;
8 15 4 value Ljava/lang/Object;
11 15 5 valueString Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
attrId
attrs
private java.util.ArrayList<java.lang.String> addAttributeValues(java.lang.String, javax.naming.directory.Attributes, java.util.ArrayList<java.lang.String>);
descriptor: (Ljava/lang/String;Ljavax/naming/directory/Attributes;Ljava/util/ArrayList;)Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isTraceEnabled:()Z
ifeq 2
1: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc " retrieving values for attribute "
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;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 1
ifnull 3
aload 2
ifnonnull 4
3: StackMap locals:
StackMap stack:
aload 3
areturn
4: StackMap locals:
StackMap stack:
aload 3
ifnonnull 6
5: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
6: StackMap locals:
StackMap stack:
aload 2
aload 1
invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
astore 4
start local 4 7: aload 4
ifnonnull 9
8: aload 3
areturn
9: StackMap locals: javax.naming.directory.Attribute
StackMap stack:
aload 4
invokeinterface javax.naming.directory.Attribute.getAll:()Ljavax/naming/NamingEnumeration;
astore 5
start local 5 10: goto 13
11: StackMap locals: javax.naming.NamingEnumeration
StackMap stack:
aload 5
invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 12: aload 3
aload 6
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 6 13: StackMap locals:
StackMap stack:
aload 5
invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
ifne 11
14: goto 22
StackMap locals:
StackMap stack: javax.naming.PartialResultException
15: astore 6
start local 6 16: aload 0
getfield org.apache.catalina.realm.JNDIRealm.adCompat:Z
ifne 18
17: aload 6
athrow
end local 6 18: StackMap locals:
StackMap stack:
aload 5
invokeinterface javax.naming.NamingEnumeration.close:()V
goto 23
19: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
20: aload 5
invokeinterface javax.naming.NamingEnumeration.close:()V
21: aload 7
athrow
22: StackMap locals:
StackMap stack:
aload 5
invokeinterface javax.naming.NamingEnumeration.close:()V
23: StackMap locals:
StackMap stack:
aload 3
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 24 1 attrId Ljava/lang/String;
0 24 2 attrs Ljavax/naming/directory/Attributes;
0 24 3 values Ljava/util/ArrayList<Ljava/lang/String;>;
7 24 4 attr Ljavax/naming/directory/Attribute;
10 24 5 e Ljavax/naming/NamingEnumeration<*>;
12 13 6 value Ljava/lang/String;
16 18 6 ex Ljavax/naming/PartialResultException;
Exception table:
from to target type
10 14 15 Class javax.naming.PartialResultException
10 18 19 any
Exceptions:
throws javax.naming.NamingException
Signature: (Ljava/lang/String;Ljavax/naming/directory/Attributes;Ljava/util/ArrayList<Ljava/lang/String;>;)Ljava/util/ArrayList<Ljava/lang/String;>;
MethodParameters:
Name Flags
attrId
attrs
values
protected void close(org.apache.catalina.realm.JNDIRealm$JNDIConnection);
descriptor: (Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.tls:Ljavax/naming/ldap/StartTlsResponse;
ifnull 7
3: aload 0
getfield org.apache.catalina.realm.JNDIRealm.tls:Ljavax/naming/ldap/StartTlsResponse;
invokevirtual javax.naming.ldap.StartTlsResponse.close:()V
4: goto 7
StackMap locals:
StackMap stack: java.io.IOException
5: astore 2
start local 2 6: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JNDIRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jndiRealm.tlsClose"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 2
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 2 7: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 9
8: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
ldc "Closing directory context"
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
9: StackMap locals:
StackMap stack:
aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
invokeinterface javax.naming.directory.DirContext.close:()V
10: goto 13
StackMap locals:
StackMap stack: javax.naming.NamingException
11: astore 2
start local 2 12: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JNDIRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jndiRealm.close"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 2
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 2 13: StackMap locals:
StackMap stack:
aload 1
aconst_null
putfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
14: aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionPool:Lorg/apache/tomcat/util/collections/SynchronizedStack;
ifnonnull 16
15: aload 0
getfield org.apache.catalina.realm.JNDIRealm.singleConnectionLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
16: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 17 1 connection Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
6 7 2 e Ljava/io/IOException;
12 13 2 e Ljavax/naming/NamingException;
Exception table:
from to target type
3 4 5 Class java.io.IOException
7 10 11 Class javax.naming.NamingException
MethodParameters:
Name Flags
connection
protected void closePooledConnections();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionPool:Lorg/apache/tomcat/util/collections/SynchronizedStack;
ifnull 10
1: aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionPool:Lorg/apache/tomcat/util/collections/SynchronizedStack;
dup
astore 1
monitorenter
2: aconst_null
astore 2
start local 2 3: goto 5
4: StackMap locals: org.apache.tomcat.util.collections.SynchronizedStack org.apache.catalina.realm.JNDIRealm$JNDIConnection
StackMap stack:
aload 0
aload 2
invokevirtual org.apache.catalina.realm.JNDIRealm.close:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;)V
5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionPool:Lorg/apache/tomcat/util/collections/SynchronizedStack;
invokevirtual org.apache.tomcat.util.collections.SynchronizedStack.pop:()Ljava/lang/Object;
checkcast org.apache.catalina.realm.JNDIRealm$JNDIConnection
dup
astore 2
ifnonnull 4
end local 2 6: aload 1
monitorexit
7: goto 10
StackMap locals: org.apache.catalina.realm.JNDIRealm org.apache.tomcat.util.collections.SynchronizedStack
StackMap stack: java.lang.Throwable
8: aload 1
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/catalina/realm/JNDIRealm;
3 6 2 connection Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
Exception table:
from to target type
2 7 8 any
8 9 8 any
protected java.lang.String getPassword(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.getUserPassword:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
invokevirtual java.lang.String.isEmpty:()Z
ifeq 3
2: StackMap locals: java.lang.String
StackMap stack:
aconst_null
areturn
3: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 4: aconst_null
astore 4
start local 4 5: aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.get:()Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
astore 3
6: aload 0
aload 3
aload 1
aconst_null
invokevirtual org.apache.catalina.realm.JNDIRealm.getUser:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Ljava/lang/String;Ljava/lang/String;)Lorg/apache/catalina/realm/JNDIRealm$User;
astore 4
7: goto 14
StackMap locals: org.apache.catalina.realm.JNDIRealm java.lang.String java.lang.String org.apache.catalina.realm.JNDIRealm$JNDIConnection org.apache.catalina.realm.JNDIRealm$User
StackMap stack: java.lang.Exception
8: astore 5
start local 5 9: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JNDIRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jndiRealm.exception.retry"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 5
invokeinterface org.apache.juli.logging.Log.info:(Ljava/lang/Object;Ljava/lang/Throwable;)V
10: aload 0
aload 3
invokevirtual org.apache.catalina.realm.JNDIRealm.close:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;)V
11: aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.closePooledConnections:()V
12: aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.get:()Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
astore 3
13: aload 0
aload 3
aload 1
aconst_null
invokevirtual org.apache.catalina.realm.JNDIRealm.getUser:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Ljava/lang/String;Ljava/lang/String;)Lorg/apache/catalina/realm/JNDIRealm$User;
astore 4
end local 5 14: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual org.apache.catalina.realm.JNDIRealm.release:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;)V
15: aload 4
ifnonnull 17
16: aconst_null
areturn
17: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.apache.catalina.realm.JNDIRealm$User.getPassword:()Ljava/lang/String;
18: areturn
19: StackMap locals:
StackMap stack: javax.naming.NamingException
astore 5
start local 5 20: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JNDIRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jndiRealm.exception"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 5
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
21: aconst_null
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 22 1 username Ljava/lang/String;
1 22 2 userPassword Ljava/lang/String;
4 22 3 connection Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
5 22 4 user Lorg/apache/catalina/realm/JNDIRealm$User;
9 14 5 e Ljava/lang/Exception;
20 22 5 e Ljavax/naming/NamingException;
Exception table:
from to target type
6 7 8 Class java.lang.NullPointerException
6 7 8 Class javax.naming.NamingException
5 16 19 Class javax.naming.NamingException
17 18 19 Class javax.naming.NamingException
MethodParameters:
Name Flags
username
protected java.security.Principal getPrincipal(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/security/Principal;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual org.apache.catalina.realm.JNDIRealm.getPrincipal:(Ljava/lang/String;Lorg/ietf/jgss/GSSCredential;)Ljava/security/Principal;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 1 1 username Ljava/lang/String;
MethodParameters:
Name Flags
username
protected java.security.Principal getPrincipal(org.ietf.jgss.GSSName, org.ietf.jgss.GSSCredential);
descriptor: (Lorg/ietf/jgss/GSSName;Lorg/ietf/jgss/GSSCredential;)Ljava/security/Principal;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface org.ietf.jgss.GSSName.toString:()Ljava/lang/String;
astore 3
start local 3 1: aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.isStripRealmForGss:()Z
ifeq 5
2: aload 3
bipush 64
invokevirtual java.lang.String.indexOf:(I)I
istore 4
start local 4 3: iload 4
ifle 5
4: aload 3
iconst_0
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
end local 4 5: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 3
aload 2
invokevirtual org.apache.catalina.realm.JNDIRealm.getPrincipal:(Ljava/lang/String;Lorg/ietf/jgss/GSSCredential;)Ljava/security/Principal;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 6 1 gssName Lorg/ietf/jgss/GSSName;
0 6 2 gssCredential Lorg/ietf/jgss/GSSCredential;
1 6 3 name Ljava/lang/String;
3 5 4 i I
MethodParameters:
Name Flags
gssName
gssCredential
protected java.security.Principal getPrincipal(java.lang.String, org.ietf.jgss.GSSCredential);
descriptor: (Ljava/lang/String;Lorg/ietf/jgss/GSSCredential;)Ljava/security/Principal;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.get:()Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
astore 3
3: aload 0
aload 3
aload 1
aload 2
invokevirtual org.apache.catalina.realm.JNDIRealm.getPrincipal:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Ljava/lang/String;Lorg/ietf/jgss/GSSCredential;)Ljava/security/Principal;
astore 4
4: goto 11
StackMap locals: org.apache.catalina.realm.JNDIRealm java.lang.String org.ietf.jgss.GSSCredential org.apache.catalina.realm.JNDIRealm$JNDIConnection java.security.Principal
StackMap stack: javax.naming.NamingException
5: astore 5
start local 5 6: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JNDIRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jndiRealm.exception.retry"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 5
invokeinterface org.apache.juli.logging.Log.info:(Ljava/lang/Object;Ljava/lang/Throwable;)V
7: aload 0
aload 3
invokevirtual org.apache.catalina.realm.JNDIRealm.close:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;)V
8: aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.closePooledConnections:()V
9: aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.get:()Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
astore 3
10: aload 0
aload 3
aload 1
aload 2
invokevirtual org.apache.catalina.realm.JNDIRealm.getPrincipal:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Ljava/lang/String;Lorg/ietf/jgss/GSSCredential;)Ljava/security/Principal;
astore 4
end local 5 11: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual org.apache.catalina.realm.JNDIRealm.release:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;)V
12: aload 4
13: areturn
14: StackMap locals:
StackMap stack: javax.naming.NamingException
astore 5
start local 5 15: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JNDIRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jndiRealm.exception"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 5
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
16: aconst_null
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 17 1 username Ljava/lang/String;
0 17 2 gssCredential Lorg/ietf/jgss/GSSCredential;
1 17 3 connection Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
2 17 4 principal Ljava/security/Principal;
6 11 5 e Ljavax/naming/NamingException;
15 17 5 e Ljavax/naming/NamingException;
Exception table:
from to target type
3 4 5 Class javax.naming.CommunicationException
3 4 5 Class javax.naming.ServiceUnavailableException
2 13 14 Class javax.naming.NamingException
MethodParameters:
Name Flags
username
gssCredential
protected java.security.Principal getPrincipal(org.apache.catalina.realm.JNDIRealm$JNDIConnection, java.lang.String, org.ietf.jgss.GSSCredential);
descriptor: (Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Ljava/lang/String;Lorg/ietf/jgss/GSSCredential;)Ljava/security/Principal;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aconst_null
astore 5
start local 5 2: aconst_null
astore 6
start local 6 3: aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
astore 7
start local 7 4: aload 3
ifnull 15
aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.isUseDelegatedCredential:()Z
ifeq 15
5: aload 7
invokeinterface javax.naming.directory.DirContext.getEnvironment:()Ljava/util/Hashtable;
astore 6
6: aload 7
7: ldc "java.naming.security.authentication"
ldc "GSSAPI"
8: invokeinterface javax.naming.directory.DirContext.addToEnvironment:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: aload 7
10: ldc "javax.security.sasl.server.authentication"
ldc "true"
11: invokeinterface javax.naming.directory.DirContext.addToEnvironment:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: aload 7
13: ldc "javax.security.sasl.qop"
aload 0
getfield org.apache.catalina.realm.JNDIRealm.spnegoDelegationQop:Ljava/lang/String;
14: invokeinterface javax.naming.directory.DirContext.addToEnvironment:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: StackMap locals: org.apache.catalina.realm.JNDIRealm org.apache.catalina.realm.JNDIRealm$JNDIConnection java.lang.String org.ietf.jgss.GSSCredential org.apache.catalina.realm.JNDIRealm$User java.util.List java.util.Hashtable javax.naming.directory.DirContext
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.realm.JNDIRealm.getUser:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Ljava/lang/String;)Lorg/apache/catalina/realm/JNDIRealm$User;
astore 4
16: aload 4
ifnull 31
17: aload 0
aload 1
aload 4
invokevirtual org.apache.catalina.realm.JNDIRealm.getRoles:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;Lorg/apache/catalina/realm/JNDIRealm$User;)Ljava/util/List;
astore 5
18: goto 31
StackMap locals:
StackMap stack: java.lang.Throwable
19: astore 8
20: aload 3
ifnull 30
aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.isUseDelegatedCredential:()Z
ifeq 30
21: aload 0
aload 7
22: ldc "java.naming.security.authentication"
aload 6
23: invokevirtual org.apache.catalina.realm.JNDIRealm.restoreEnvironmentParameter:(Ljavax/naming/directory/DirContext;Ljava/lang/String;Ljava/util/Hashtable;)V
24: aload 0
aload 7
25: ldc "javax.security.sasl.server.authentication"
aload 6
26: invokevirtual org.apache.catalina.realm.JNDIRealm.restoreEnvironmentParameter:(Ljavax/naming/directory/DirContext;Ljava/lang/String;Ljava/util/Hashtable;)V
27: aload 0
aload 7
ldc "javax.security.sasl.qop"
28: aload 6
29: invokevirtual org.apache.catalina.realm.JNDIRealm.restoreEnvironmentParameter:(Ljavax/naming/directory/DirContext;Ljava/lang/String;Ljava/util/Hashtable;)V
30: StackMap locals: java.lang.Throwable
StackMap stack:
aload 8
athrow
31: StackMap locals:
StackMap stack:
aload 3
ifnull 41
aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.isUseDelegatedCredential:()Z
ifeq 41
32: aload 0
aload 7
33: ldc "java.naming.security.authentication"
aload 6
34: invokevirtual org.apache.catalina.realm.JNDIRealm.restoreEnvironmentParameter:(Ljavax/naming/directory/DirContext;Ljava/lang/String;Ljava/util/Hashtable;)V
35: aload 0
aload 7
36: ldc "javax.security.sasl.server.authentication"
aload 6
37: invokevirtual org.apache.catalina.realm.JNDIRealm.restoreEnvironmentParameter:(Ljavax/naming/directory/DirContext;Ljava/lang/String;Ljava/util/Hashtable;)V
38: aload 0
aload 7
ldc "javax.security.sasl.qop"
39: aload 6
40: invokevirtual org.apache.catalina.realm.JNDIRealm.restoreEnvironmentParameter:(Ljavax/naming/directory/DirContext;Ljava/lang/String;Ljava/util/Hashtable;)V
41: StackMap locals:
StackMap stack:
aload 4
ifnull 45
42: new org.apache.catalina.realm.GenericPrincipal
dup
aload 4
invokevirtual org.apache.catalina.realm.JNDIRealm$User.getUserName:()Ljava/lang/String;
43: aload 5
aconst_null
aconst_null
aload 3
44: invokespecial org.apache.catalina.realm.GenericPrincipal.<init>:(Ljava/lang/String;Ljava/util/List;Ljava/security/Principal;Ljavax/security/auth/login/LoginContext;Lorg/ietf/jgss/GSSCredential;)V
areturn
45: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 46 1 connection Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
0 46 2 username Ljava/lang/String;
0 46 3 gssCredential Lorg/ietf/jgss/GSSCredential;
1 46 4 user Lorg/apache/catalina/realm/JNDIRealm$User;
2 46 5 roles Ljava/util/List<Ljava/lang/String;>;
3 46 6 preservedEnvironment Ljava/util/Hashtable<**>;
4 46 7 context Ljavax/naming/directory/DirContext;
Exception table:
from to target type
4 19 19 any
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
connection
username
gssCredential
private void restoreEnvironmentParameter(javax.naming.directory.DirContext, java.lang.String, java.util.Hashtable<?, ?>);
descriptor: (Ljavax/naming/directory/DirContext;Ljava/lang/String;Ljava/util/Hashtable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
invokeinterface javax.naming.directory.DirContext.removeFromEnvironment:(Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 3
ifnull 7
aload 3
aload 2
invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
ifeq 7
2: aload 1
aload 2
3: aload 3
aload 2
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
4: invokeinterface javax.naming.directory.DirContext.addToEnvironment:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: goto 7
StackMap locals:
StackMap stack: javax.naming.NamingException
6: pop
7: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 8 1 context Ljavax/naming/directory/DirContext;
0 8 2 parameterName Ljava/lang/String;
0 8 3 preservedEnvironment Ljava/util/Hashtable<**>;
Exception table:
from to target type
0 5 6 Class javax.naming.NamingException
Signature: (Ljavax/naming/directory/DirContext;Ljava/lang/String;Ljava/util/Hashtable<**>;)V
MethodParameters:
Name Flags
context
parameterName
preservedEnvironment
protected org.apache.catalina.realm.JNDIRealm$JNDIConnection get();
descriptor: ()Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionPool:Lorg/apache/tomcat/util/collections/SynchronizedStack;
ifnull 6
2: aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionPool:Lorg/apache/tomcat/util/collections/SynchronizedStack;
invokevirtual org.apache.tomcat.util.collections.SynchronizedStack.pop:()Ljava/lang/Object;
checkcast org.apache.catalina.realm.JNDIRealm$JNDIConnection
astore 1
3: aload 1
ifnonnull 8
4: aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.create:()Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
astore 1
5: goto 8
6: StackMap locals: org.apache.catalina.realm.JNDIRealm$JNDIConnection
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.singleConnectionLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
7: aload 0
getfield org.apache.catalina.realm.JNDIRealm.singleConnection:Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
astore 1
8: StackMap locals:
StackMap stack:
aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
ifnonnull 10
9: aload 0
aload 1
invokevirtual org.apache.catalina.realm.JNDIRealm.open:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;)V
10: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/catalina/realm/JNDIRealm;
1 11 1 connection Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
Exceptions:
throws javax.naming.NamingException
protected void release(org.apache.catalina.realm.JNDIRealm$JNDIConnection);
descriptor: (Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionPool:Lorg/apache/tomcat/util/collections/SynchronizedStack;
ifnull 4
1: aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionPool:Lorg/apache/tomcat/util/collections/SynchronizedStack;
aload 1
invokevirtual org.apache.tomcat.util.collections.SynchronizedStack.push:(Ljava/lang/Object;)Z
ifne 5
2: aload 0
aload 1
invokevirtual org.apache.catalina.realm.JNDIRealm.close:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;)V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.singleConnectionLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 6 1 connection Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
MethodParameters:
Name Flags
connection
protected org.apache.catalina.realm.JNDIRealm$JNDIConnection create();
descriptor: ()Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=4, args_size=1
start local 0 0: new org.apache.catalina.realm.JNDIRealm$JNDIConnection
dup
invokespecial org.apache.catalina.realm.JNDIRealm$JNDIConnection.<init>:()V
astore 1
start local 1 1: aload 0
getfield org.apache.catalina.realm.JNDIRealm.userSearch:Ljava/lang/String;
ifnull 3
2: aload 1
new java.text.MessageFormat
dup
aload 0
getfield org.apache.catalina.realm.JNDIRealm.userSearch:Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
putfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.userSearchFormat:Ljava/text/MessageFormat;
3: StackMap locals: org.apache.catalina.realm.JNDIRealm$JNDIConnection
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.userPattern:Ljava/lang/String;
ifnull 13
4: aload 0
getfield org.apache.catalina.realm.JNDIRealm.userPatternArray:[Ljava/lang/String;
arraylength
istore 2
start local 2 5: aload 1
iload 2
anewarray java.text.MessageFormat
putfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.userPatternFormatArray:[Ljava/text/MessageFormat;
6: iconst_0
istore 3
start local 3 7: goto 12
8: StackMap locals: int int
StackMap stack:
aload 1
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.userPatternFormatArray:[Ljava/text/MessageFormat;
iload 3
9: new java.text.MessageFormat
dup
aload 0
getfield org.apache.catalina.realm.JNDIRealm.userPatternArray:[Ljava/lang/String;
iload 3
aaload
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
10: aastore
11: iinc 3 1
StackMap locals:
StackMap stack:
12: iload 3
iload 2
if_icmplt 8
end local 3 end local 2 13: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.roleBase:Ljava/lang/String;
ifnull 15
14: aload 1
new java.text.MessageFormat
dup
aload 0
getfield org.apache.catalina.realm.JNDIRealm.roleBase:Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
putfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.roleBaseFormat:Ljava/text/MessageFormat;
15: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.roleSearch:Ljava/lang/String;
ifnull 17
16: aload 1
new java.text.MessageFormat
dup
aload 0
getfield org.apache.catalina.realm.JNDIRealm.roleSearch:Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
putfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.roleFormat:Ljava/text/MessageFormat;
17: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/apache/catalina/realm/JNDIRealm;
1 18 1 connection Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
5 13 2 len I
7 13 3 i I
protected void open(org.apache.catalina.realm.JNDIRealm$JNDIConnection);
descriptor: (Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.isUseContextClassLoader:()Z
ifne 4
2: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 2
3: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
4: StackMap locals: java.lang.ClassLoader
StackMap stack:
aload 1
aload 0
aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.getDirectoryContextEnvironment:()Ljava/util/Hashtable;
invokevirtual org.apache.catalina.realm.JNDIRealm.createDirContext:(Ljava/util/Hashtable;)Ljavax/naming/directory/DirContext;
putfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
5: goto 20
StackMap locals:
StackMap stack: java.lang.Exception
6: astore 3
start local 3 7: aload 0
getfield org.apache.catalina.realm.JNDIRealm.alternateURL:Ljava/lang/String;
ifnull 8
aload 0
getfield org.apache.catalina.realm.JNDIRealm.alternateURL:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifne 9
8: StackMap locals: java.lang.Exception
StackMap stack:
aload 3
athrow
9: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.apache.catalina.realm.JNDIRealm.connectionAttempt:I
10: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JNDIRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jndiRealm.exception.retry"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 3
invokeinterface org.apache.juli.logging.Log.info:(Ljava/lang/Object;Ljava/lang/Throwable;)V
11: aload 1
aload 0
aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.getDirectoryContextEnvironment:()Ljava/util/Hashtable;
invokevirtual org.apache.catalina.realm.JNDIRealm.createDirContext:(Ljava/util/Hashtable;)Ljavax/naming/directory/DirContext;
putfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
end local 3 12: aload 0
iconst_0
putfield org.apache.catalina.realm.JNDIRealm.connectionAttempt:I
13: aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.isUseContextClassLoader:()Z
ifne 23
14: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 2
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
goto 23
15: StackMap locals: org.apache.catalina.realm.JNDIRealm org.apache.catalina.realm.JNDIRealm$JNDIConnection java.lang.ClassLoader
StackMap stack: java.lang.Throwable
astore 4
16: aload 0
iconst_0
putfield org.apache.catalina.realm.JNDIRealm.connectionAttempt:I
17: aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.isUseContextClassLoader:()Z
ifne 19
18: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 2
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
19: StackMap locals: org.apache.catalina.realm.JNDIRealm org.apache.catalina.realm.JNDIRealm$JNDIConnection java.lang.ClassLoader top java.lang.Throwable
StackMap stack:
aload 4
athrow
20: StackMap locals: org.apache.catalina.realm.JNDIRealm org.apache.catalina.realm.JNDIRealm$JNDIConnection java.lang.ClassLoader
StackMap stack:
aload 0
iconst_0
putfield org.apache.catalina.realm.JNDIRealm.connectionAttempt:I
21: aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.isUseContextClassLoader:()Z
ifne 23
22: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 2
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
23: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 24 1 connection Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
1 24 2 ocl Ljava/lang/ClassLoader;
7 12 3 e Ljava/lang/Exception;
Exception table:
from to target type
1 5 6 Class java.lang.Exception
1 12 15 any
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
connection
public boolean isAvailable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionPool:Lorg/apache/tomcat/util/collections/SynchronizedStack;
ifnonnull 1
aload 0
getfield org.apache.catalina.realm.JNDIRealm.singleConnection:Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
getfield org.apache.catalina.realm.JNDIRealm$JNDIConnection.context:Ljavax/naming/directory/DirContext;
ifnonnull 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JNDIRealm;
private javax.naming.directory.DirContext createDirContext(java.util.Hashtable<java.lang.String, java.lang.String>);
descriptor: (Ljava/util/Hashtable;)Ljavax/naming/directory/DirContext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.useStartTls:Z
ifeq 2
1: aload 0
aload 1
invokevirtual org.apache.catalina.realm.JNDIRealm.createTlsDirContext:(Ljava/util/Hashtable;)Ljavax/naming/directory/DirContext;
areturn
2: StackMap locals:
StackMap stack:
new javax.naming.directory.InitialDirContext
dup
aload 1
invokespecial javax.naming.directory.InitialDirContext.<init>:(Ljava/util/Hashtable;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 3 1 env Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;
Exceptions:
throws javax.naming.NamingException
Signature: (Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;)Ljavax/naming/directory/DirContext;
MethodParameters:
Name Flags
env
private javax.net.ssl.SSLSocketFactory getSSLSocketFactory();
descriptor: ()Ljavax/net/ssl/SSLSocketFactory;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory;
ifnull 2
1: aload 0
getfield org.apache.catalina.realm.JNDIRealm.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.sslSocketFactoryClassName:Ljava/lang/String;
ifnull 6
3: aload 0
getfield org.apache.catalina.realm.JNDIRealm.sslSocketFactoryClassName:Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
4: aload 0
aload 0
getfield org.apache.catalina.realm.JNDIRealm.sslSocketFactoryClassName:Ljava/lang/String;
invokevirtual org.apache.catalina.realm.JNDIRealm.createSSLSocketFactoryFromClassName:(Ljava/lang/String;)Ljavax/net/ssl/SSLSocketFactory;
astore 1
start local 1 5: goto 7
end local 1 6: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.apache.catalina.realm.JNDIRealm.sslProtocol:Ljava/lang/String;
invokevirtual org.apache.catalina.realm.JNDIRealm.createSSLContextFactoryFromProtocol:(Ljava/lang/String;)Ljavax/net/ssl/SSLSocketFactory;
astore 1
start local 1 7: StackMap locals: javax.net.ssl.SSLSocketFactory
StackMap stack:
aload 0
aload 1
putfield org.apache.catalina.realm.JNDIRealm.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory;
8: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/catalina/realm/JNDIRealm;
5 6 1 result Ljavax/net/ssl/SSLSocketFactory;
7 9 1 result Ljavax/net/ssl/SSLSocketFactory;
private javax.net.ssl.SSLSocketFactory createSSLSocketFactoryFromClassName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/net/ssl/SSLSocketFactory;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.apache.catalina.realm.JNDIRealm.constructInstance:(Ljava/lang/String;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
instanceof javax.net.ssl.SSLSocketFactory
ifeq 4
2: aload 0
getfield org.apache.catalina.realm.JNDIRealm.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory;
3: areturn
4: StackMap locals: java.lang.Object
StackMap stack:
new java.lang.IllegalArgumentException
dup
getstatic org.apache.catalina.realm.JNDIRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
5: ldc "jndiRealm.invalidSslSocketFactory"
iconst_1
anewarray java.lang.Object
dup
iconst_0
6: aload 1
aastore
7: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 2 8: StackMap locals: org.apache.catalina.realm.JNDIRealm java.lang.String
StackMap stack: java.lang.Exception
astore 2
start local 2 9: new java.lang.IllegalArgumentException
dup
getstatic org.apache.catalina.realm.JNDIRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
10: ldc "jndiRealm.invalidSslSocketFactory"
iconst_1
anewarray java.lang.Object
dup
iconst_0
11: aload 1
aastore
12: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
13: aload 2
14: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 15 1 className Ljava/lang/String;
1 8 2 o Ljava/lang/Object;
9 15 2 e Ljava/lang/Exception;
Exception table:
from to target type
0 3 8 Class java.lang.ReflectiveOperationException
4 8 8 Class java.lang.ReflectiveOperationException
0 3 8 Class java.lang.SecurityException
4 8 8 Class java.lang.SecurityException
MethodParameters:
Name Flags
className
private javax.net.ssl.SSLSocketFactory createSSLContextFactoryFromProtocol(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/net/ssl/SSLSocketFactory;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnull 4
1: aload 1
invokestatic javax.net.ssl.SSLContext.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/SSLContext;
astore 2
start local 2 2: aload 2
aconst_null
aconst_null
aconst_null
invokevirtual javax.net.ssl.SSLContext.init:([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V
3: goto 5
end local 2 4: StackMap locals:
StackMap stack:
invokestatic javax.net.ssl.SSLContext.getDefault:()Ljavax/net/ssl/SSLContext;
astore 2
start local 2 5: StackMap locals: javax.net.ssl.SSLContext
StackMap stack:
aload 2
invokevirtual javax.net.ssl.SSLContext.getSocketFactory:()Ljavax/net/ssl/SSLSocketFactory;
6: areturn
end local 2 7: StackMap locals: org.apache.catalina.realm.JNDIRealm java.lang.String
StackMap stack: java.security.GeneralSecurityException
astore 2
start local 2 8: aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.getSupportedSslProtocols:()[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
9: astore 3
start local 3 10: new java.lang.IllegalArgumentException
dup
11: getstatic org.apache.catalina.realm.JNDIRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jndiRealm.invalidSslProtocol"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
12: aload 3
aastore
13: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
14: aload 2
15: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 16 1 protocol Ljava/lang/String;
2 4 2 sslContext Ljavax/net/ssl/SSLContext;
5 7 2 sslContext Ljavax/net/ssl/SSLContext;
8 16 2 e Ljava/security/GeneralSecurityException;
10 16 3 allowedProtocols Ljava/util/List<Ljava/lang/String;>;
Exception table:
from to target type
0 6 7 Class java.security.NoSuchAlgorithmException
0 6 7 Class java.security.KeyManagementException
MethodParameters:
Name Flags
protocol
private javax.naming.directory.DirContext createTlsDirContext(java.util.Hashtable<java.lang.String, java.lang.String>);
descriptor: (Ljava/util/Hashtable;)Ljavax/naming/directory/DirContext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=2
start local 0 start local 1 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 1: iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "java.naming.security.authentication"
aastore
dup
iconst_1
2: ldc "java.naming.security.credentials"
aastore
dup
iconst_2
ldc "java.naming.security.principal"
aastore
dup
iconst_3
3: ldc "java.naming.security.protocol"
aastore
4: invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 9
StackMap locals: org.apache.catalina.realm.JNDIRealm java.util.Hashtable java.util.Map top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 6: aload 1
aload 3
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 7: aload 5
ifnull 9
8: aload 2
aload 3
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 end local 3 9: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
10: aconst_null
astore 3
start local 3 11: new javax.naming.ldap.InitialLdapContext
dup
aload 1
aconst_null
invokespecial javax.naming.ldap.InitialLdapContext.<init>:(Ljava/util/Hashtable;[Ljavax/naming/ldap/Control;)V
astore 3
12: aload 0
aload 3
13: new javax.naming.ldap.StartTlsRequest
dup
invokespecial javax.naming.ldap.StartTlsRequest.<init>:()V
invokeinterface javax.naming.ldap.LdapContext.extendedOperation:(Ljavax/naming/ldap/ExtendedRequest;)Ljavax/naming/ldap/ExtendedResponse;
checkcast javax.naming.ldap.StartTlsResponse
14: putfield org.apache.catalina.realm.JNDIRealm.tls:Ljavax/naming/ldap/StartTlsResponse;
15: aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.getHostnameVerifier:()Ljavax/net/ssl/HostnameVerifier;
ifnull 17
16: aload 0
getfield org.apache.catalina.realm.JNDIRealm.tls:Ljavax/naming/ldap/StartTlsResponse;
aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.getHostnameVerifier:()Ljavax/net/ssl/HostnameVerifier;
invokevirtual javax.naming.ldap.StartTlsResponse.setHostnameVerifier:(Ljavax/net/ssl/HostnameVerifier;)V
17: StackMap locals: org.apache.catalina.realm.JNDIRealm java.util.Hashtable java.util.Map javax.naming.ldap.LdapContext
StackMap stack:
aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.getCipherSuitesArray:()[Ljava/lang/String;
ifnull 19
18: aload 0
getfield org.apache.catalina.realm.JNDIRealm.tls:Ljavax/naming/ldap/StartTlsResponse;
aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.getCipherSuitesArray:()[Ljava/lang/String;
invokevirtual javax.naming.ldap.StartTlsResponse.setEnabledCipherSuites:([Ljava/lang/String;)V
19: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.tls:Ljavax/naming/ldap/StartTlsResponse;
aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.getSSLSocketFactory:()Ljavax/net/ssl/SSLSocketFactory;
invokevirtual javax.naming.ldap.StartTlsResponse.negotiate:(Ljavax/net/ssl/SSLSocketFactory;)Ljavax/net/ssl/SSLSession;
astore 4
start local 4 20: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JNDIRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jndiRealm.negotiatedTls"
iconst_1
anewarray java.lang.Object
dup
iconst_0
21: aload 4
invokeinterface javax.net.ssl.SSLSession.getProtocol:()Ljava/lang/String;
aastore
22: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
end local 4 23: goto 35
StackMap locals:
StackMap stack: java.io.IOException
24: astore 4
start local 4 25: new javax.naming.NamingException
dup
aload 4
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
athrow
end local 4 26: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
27: aload 3
ifnull 34
28: aload 2
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 33
StackMap locals: org.apache.catalina.realm.JNDIRealm java.util.Hashtable java.util.Map javax.naming.ldap.LdapContext top java.lang.Throwable top java.util.Iterator
StackMap stack:
29: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 6
start local 6 30: aload 3
aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
31: aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
32: invokeinterface javax.naming.ldap.LdapContext.addToEnvironment:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 33: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 29
34: StackMap locals: org.apache.catalina.realm.JNDIRealm java.util.Hashtable java.util.Map javax.naming.ldap.LdapContext top java.lang.Throwable
StackMap stack:
aload 5
athrow
35: StackMap locals: org.apache.catalina.realm.JNDIRealm java.util.Hashtable java.util.Map javax.naming.ldap.LdapContext
StackMap stack:
aload 3
ifnull 42
36: aload 2
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 41
StackMap locals: org.apache.catalina.realm.JNDIRealm java.util.Hashtable java.util.Map javax.naming.ldap.LdapContext top top top java.util.Iterator
StackMap stack:
37: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 6
start local 6 38: aload 3
aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
39: aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
40: invokeinterface javax.naming.ldap.LdapContext.addToEnvironment:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 41: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 37
42: StackMap locals: org.apache.catalina.realm.JNDIRealm java.util.Hashtable java.util.Map javax.naming.ldap.LdapContext
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 43 1 env Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;
1 43 2 savedEnv Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
6 9 3 key Ljava/lang/String;
7 9 5 entry Ljava/lang/Object;
11 43 3 result Ljavax/naming/ldap/LdapContext;
20 23 4 negotiate Ljavax/net/ssl/SSLSession;
25 26 4 e Ljava/io/IOException;
30 33 6 savedEntry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;
38 41 6 savedEntry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;
Exception table:
from to target type
19 23 24 Class java.io.IOException
11 26 26 any
Exceptions:
throws javax.naming.NamingException
Signature: (Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;)Ljavax/naming/directory/DirContext;
MethodParameters:
Name Flags
env
protected java.util.Hashtable<java.lang.String, java.lang.String> getDirectoryContextEnvironment();
descriptor: ()Ljava/util/Hashtable;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=1
start local 0 0: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
astore 1
start local 1 1: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 3
aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionAttempt:I
ifne 3
2: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Connecting to URL "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionURL:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
goto 5
3: StackMap locals: java.util.Hashtable
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 5
aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionAttempt:I
ifle 5
4: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Connecting to URL "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.catalina.realm.JNDIRealm.alternateURL:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
5: StackMap locals:
StackMap stack:
aload 1
ldc "java.naming.factory.initial"
aload 0
getfield org.apache.catalina.realm.JNDIRealm.contextFactory:Ljava/lang/String;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionName:Ljava/lang/String;
ifnull 8
7: aload 1
ldc "java.naming.security.principal"
aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionName:Ljava/lang/String;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionPassword:Ljava/lang/String;
ifnull 10
9: aload 1
ldc "java.naming.security.credentials"
aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionPassword:Ljava/lang/String;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionURL:Ljava/lang/String;
ifnull 12
aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionAttempt:I
ifne 12
11: aload 1
ldc "java.naming.provider.url"
aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionURL:Ljava/lang/String;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
goto 14
12: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.alternateURL:Ljava/lang/String;
ifnull 14
aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionAttempt:I
ifle 14
13: aload 1
ldc "java.naming.provider.url"
aload 0
getfield org.apache.catalina.realm.JNDIRealm.alternateURL:Ljava/lang/String;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.authentication:Ljava/lang/String;
ifnull 16
15: aload 1
ldc "java.naming.security.authentication"
aload 0
getfield org.apache.catalina.realm.JNDIRealm.authentication:Ljava/lang/String;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
16: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.protocol:Ljava/lang/String;
ifnull 18
17: aload 1
ldc "java.naming.security.protocol"
aload 0
getfield org.apache.catalina.realm.JNDIRealm.protocol:Ljava/lang/String;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.referrals:Ljava/lang/String;
ifnull 20
19: aload 1
ldc "java.naming.referral"
aload 0
getfield org.apache.catalina.realm.JNDIRealm.referrals:Ljava/lang/String;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
20: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.derefAliases:Ljava/lang/String;
ifnull 22
21: aload 1
ldc "java.naming.ldap.derefAliases"
aload 0
getfield org.apache.catalina.realm.JNDIRealm.derefAliases:Ljava/lang/String;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
22: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionTimeout:Ljava/lang/String;
ifnull 24
23: aload 1
ldc "com.sun.jndi.ldap.connect.timeout"
aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionTimeout:Ljava/lang/String;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
24: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.readTimeout:Ljava/lang/String;
ifnull 26
25: aload 1
ldc "com.sun.jndi.ldap.read.timeout"
aload 0
getfield org.apache.catalina.realm.JNDIRealm.readTimeout:Ljava/lang/String;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
26: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/apache/catalina/realm/JNDIRealm;
1 27 1 env Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;
Signature: ()Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;
protected void startInternal();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionPoolSize:I
iconst_1
if_icmpeq 2
1: aload 0
new org.apache.tomcat.util.collections.SynchronizedStack
dup
sipush 128
aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionPoolSize:I
invokespecial org.apache.tomcat.util.collections.SynchronizedStack.<init>:(II)V
putfield org.apache.catalina.realm.JNDIRealm.connectionPool:Lorg/apache/tomcat/util/collections/SynchronizedStack;
2: StackMap locals:
StackMap stack:
aconst_null
astore 1
start local 1 3: aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.get:()Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
astore 1
4: goto 11
StackMap locals: org.apache.catalina.realm.JNDIRealm org.apache.catalina.realm.JNDIRealm$JNDIConnection
StackMap stack: javax.naming.NamingException
5: astore 2
start local 2 6: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JNDIRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jndiRealm.open"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 2
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 2 7: aload 0
aload 1
invokevirtual org.apache.catalina.realm.JNDIRealm.release:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;)V
goto 12
8: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
9: aload 0
aload 1
invokevirtual org.apache.catalina.realm.JNDIRealm.release:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;)V
10: aload 3
athrow
11: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.apache.catalina.realm.JNDIRealm.release:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;)V
12: StackMap locals:
StackMap stack:
aload 0
invokespecial org.apache.catalina.realm.RealmBase.startInternal:()V
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/catalina/realm/JNDIRealm;
3 14 1 connection Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
6 7 2 e Ljavax/naming/NamingException;
Exception table:
from to target type
3 4 5 Class javax.naming.NamingException
3 7 8 any
Exceptions:
throws org.apache.catalina.LifecycleException
protected void stopInternal();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.catalina.realm.RealmBase.stopInternal:()V
1: aload 0
getfield org.apache.catalina.realm.JNDIRealm.connectionPool:Lorg/apache/tomcat/util/collections/SynchronizedStack;
ifnonnull 5
2: aload 0
getfield org.apache.catalina.realm.JNDIRealm.singleConnectionLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
3: aload 0
aload 0
getfield org.apache.catalina.realm.JNDIRealm.singleConnection:Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;
invokevirtual org.apache.catalina.realm.JNDIRealm.close:(Lorg/apache/catalina/realm/JNDIRealm$JNDIConnection;)V
4: goto 7
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.closePooledConnections:()V
6: aload 0
aconst_null
putfield org.apache.catalina.realm.JNDIRealm.connectionPool:Lorg/apache/tomcat/util/collections/SynchronizedStack;
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/catalina/realm/JNDIRealm;
Exceptions:
throws org.apache.catalina.LifecycleException
protected java.lang.String[] parseUserPatternString(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
ifnull 24
1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 2: aload 1
bipush 40
invokevirtual java.lang.String.indexOf:(I)I
istore 3
start local 3 3: iload 3
iconst_m1
if_icmpne 5
4: iconst_1
anewarray java.lang.String
dup
iconst_0
aload 1
aastore
areturn
5: StackMap locals: java.util.List int
StackMap stack:
iconst_0
istore 4
start local 4 6: goto 22
7: StackMap locals: int
StackMap stack:
iconst_0
istore 5
start local 5 8: goto 10
9: StackMap locals: int
StackMap stack:
aload 1
bipush 40
iload 3
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 3
10: StackMap locals:
StackMap stack:
aload 1
iload 3
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
bipush 124
if_icmpeq 9
11: iload 3
ifeq 12
aload 1
iload 3
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 92
if_icmpeq 9
12: StackMap locals:
StackMap stack:
aload 1
bipush 41
iload 3
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 5
13: goto 15
14: StackMap locals:
StackMap stack:
aload 1
bipush 41
iload 5
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 5
15: StackMap locals:
StackMap stack:
aload 1
iload 5
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 92
if_icmpeq 14
16: aload 1
17: iload 3
iconst_1
iadd
iload 5
18: invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 6
start local 6 19: aload 2
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
20: iload 5
iconst_1
iadd
istore 4
21: aload 1
bipush 40
iload 4
invokevirtual java.lang.String.indexOf:(II)I
istore 3
end local 6 end local 5 22: StackMap locals:
StackMap stack:
iload 3
iconst_m1
if_icmpgt 7
23: aload 2
iconst_0
anewarray java.lang.String
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
areturn
end local 4 end local 3 end local 2 24: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 25 1 userPatternString Ljava/lang/String;
2 24 2 pathList Ljava/util/List<Ljava/lang/String;>;
3 24 3 startParenLoc I
6 24 4 startingPoint I
8 22 5 endParenLoc I
19 22 6 nextPathPart Ljava/lang/String;
MethodParameters:
Name Flags
userPatternString
protected java.lang.String doRFC2254Encoding(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
aload 1
invokevirtual java.lang.String.length:()I
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 17
3: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 1
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 4: iload 4
lookupswitch { // 5
0: 13
40: 9
41: 11
42: 7
92: 5
default: 15
}
5: StackMap locals: int
StackMap stack:
aload 2
ldc "\\5c"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: goto 16
7: StackMap locals:
StackMap stack:
aload 2
ldc "\\2a"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: goto 16
9: StackMap locals:
StackMap stack:
aload 2
ldc "\\28"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: goto 16
11: StackMap locals:
StackMap stack:
aload 2
ldc "\\29"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: goto 16
13: StackMap locals:
StackMap stack:
aload 2
ldc "\\00"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
14: goto 16
15: StackMap locals:
StackMap stack:
aload 2
iload 4
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 4 16: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
17: iload 3
aload 1
invokevirtual java.lang.String.length:()I
if_icmplt 3
end local 3 18: 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 19 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 19 1 inString Ljava/lang/String;
1 19 2 buf Ljava/lang/StringBuilder;
2 18 3 i I
4 16 4 c C
MethodParameters:
Name Flags
inString
protected java.lang.String getDistinguishedName(javax.naming.directory.DirContext, java.lang.String, javax.naming.directory.SearchResult);
descriptor: (Ljavax/naming/directory/DirContext;Ljava/lang/String;Ljavax/naming/directory/SearchResult;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual javax.naming.directory.SearchResult.getName:()Ljava/lang/String;
astore 4
start local 4 1: aload 3
invokevirtual javax.naming.directory.SearchResult.isRelative:()Z
ifeq 11
2: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isTraceEnabled:()Z
ifeq 4
3: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc " search returned relative name: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
4: StackMap locals: java.lang.String
StackMap stack:
aload 1
ldc ""
invokeinterface javax.naming.directory.DirContext.getNameParser:(Ljava/lang/String;)Ljavax/naming/NameParser;
astore 6
start local 6 5: aload 6
aload 1
invokeinterface javax.naming.directory.DirContext.getNameInNamespace:()Ljava/lang/String;
invokeinterface javax.naming.NameParser.parse:(Ljava/lang/String;)Ljavax/naming/Name;
astore 7
start local 7 6: aload 6
aload 2
invokeinterface javax.naming.NameParser.parse:(Ljava/lang/String;)Ljavax/naming/Name;
astore 8
start local 8 7: aload 6
new javax.naming.CompositeName
dup
aload 4
invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
iconst_0
invokevirtual javax.naming.CompositeName.get:(I)Ljava/lang/String;
invokeinterface javax.naming.NameParser.parse:(Ljava/lang/String;)Ljavax/naming/Name;
astore 9
start local 9 8: aload 7
aload 8
invokeinterface javax.naming.Name.addAll:(Ljavax/naming/Name;)Ljavax/naming/Name;
astore 5
start local 5 9: aload 5
aload 9
invokeinterface javax.naming.Name.addAll:(Ljavax/naming/Name;)Ljavax/naming/Name;
astore 5
end local 9 end local 8 end local 7 end local 6 10: goto 30
end local 5 11: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isTraceEnabled:()Z
ifeq 13
12: aload 0
getfield org.apache.catalina.realm.JNDIRealm.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc " search returned absolute name: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
13: StackMap locals:
StackMap stack:
aload 1
ldc ""
invokeinterface javax.naming.directory.DirContext.getNameParser:(Ljava/lang/String;)Ljavax/naming/NameParser;
astore 6
start local 6 14: new java.net.URI
dup
aload 4
invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
astore 7
start local 7 15: aload 7
invokevirtual java.net.URI.getPath:()Ljava/lang/String;
astore 8
start local 8 16: aload 8
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpge 22
17: new javax.naming.InvalidNameException
dup
18: new java.lang.StringBuilder
dup
ldc "Search returned unparseable absolute name: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
19: aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
20: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
21: invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals: org.apache.catalina.realm.JNDIRealm javax.naming.directory.DirContext java.lang.String javax.naming.directory.SearchResult java.lang.String top javax.naming.NameParser java.net.URI java.lang.String
StackMap stack:
aload 6
aload 8
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokeinterface javax.naming.NameParser.parse:(Ljava/lang/String;)Ljavax/naming/Name;
astore 5
end local 8 end local 7 end local 6 start local 5 23: goto 30
end local 5 StackMap locals: org.apache.catalina.realm.JNDIRealm javax.naming.directory.DirContext java.lang.String javax.naming.directory.SearchResult java.lang.String
StackMap stack: java.net.URISyntaxException
24: pop
25: new javax.naming.InvalidNameException
dup
26: new java.lang.StringBuilder
dup
ldc "Search returned unparseable absolute name: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
27: aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
28: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
29: invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
athrow
start local 5 30: StackMap locals: javax.naming.Name
StackMap stack:
aload 0
invokevirtual org.apache.catalina.realm.JNDIRealm.getForceDnHexEscape:()Z
ifeq 32
31: aload 5
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic org.apache.catalina.realm.JNDIRealm.convertToHexEscape:(Ljava/lang/String;)Ljava/lang/String;
areturn
32: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lorg/apache/catalina/realm/JNDIRealm;
0 33 1 context Ljavax/naming/directory/DirContext;
0 33 2 base Ljava/lang/String;
0 33 3 result Ljavax/naming/directory/SearchResult;
1 33 4 resultName Ljava/lang/String;
9 11 5 name Ljavax/naming/Name;
23 24 5 name Ljavax/naming/Name;
30 33 5 name Ljavax/naming/Name;
5 10 6 parser Ljavax/naming/NameParser;
6 10 7 contextName Ljavax/naming/Name;
7 10 8 baseName Ljavax/naming/Name;
8 10 9 entryName Ljavax/naming/Name;
14 23 6 parser Ljavax/naming/NameParser;
15 23 7 userNameUri Ljava/net/URI;
16 23 8 pathComponent Ljava/lang/String;
Exception table:
from to target type
13 23 24 Class java.net.URISyntaxException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
context
base
result
protected static java.lang.String convertToHexEscape(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
bipush 92
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpne 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.String.length:()I
bipush 6
iadd
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 1
start local 1 3: iconst_0
istore 2
start local 2 4: iconst_0
istore 3
start local 3 5: goto 38
6: StackMap locals: java.lang.StringBuilder int int
StackMap stack:
aload 0
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 7: iload 2
ifeq 33
8: iload 4
lookupswitch { // 10
32: 9
34: 11
35: 13
43: 15
44: 17
59: 19
60: 21
61: 23
62: 25
92: 27
default: 29
}
9: StackMap locals: int
StackMap stack:
aload 1
ldc "\\20"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: goto 31
11: StackMap locals:
StackMap stack:
aload 1
ldc "\\22"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: goto 31
13: StackMap locals:
StackMap stack:
aload 1
ldc "\\23"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
14: goto 31
15: StackMap locals:
StackMap stack:
aload 1
ldc "\\2B"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: goto 31
17: StackMap locals:
StackMap stack:
aload 1
ldc "\\2C"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
18: goto 31
19: StackMap locals:
StackMap stack:
aload 1
ldc "\\3B"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
20: goto 31
21: StackMap locals:
StackMap stack:
aload 1
ldc "\\3C"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
22: goto 31
23: StackMap locals:
StackMap stack:
aload 1
ldc "\\3D"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
24: goto 31
25: StackMap locals:
StackMap stack:
aload 1
ldc "\\3E"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
26: goto 31
27: StackMap locals:
StackMap stack:
aload 1
ldc "\\5C"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
28: goto 31
29: StackMap locals:
StackMap stack:
aload 1
bipush 92
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
30: aload 1
iload 4
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
31: StackMap locals:
StackMap stack:
iconst_0
istore 2
32: goto 37
33: StackMap locals:
StackMap stack:
iload 4
bipush 92
if_icmpne 36
34: iconst_1
istore 2
35: goto 37
36: StackMap locals:
StackMap stack:
aload 1
iload 4
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 4 37: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
38: iload 3
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 6
end local 3 39: iload 2
ifeq 41
40: aload 1
bipush 92
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
41: StackMap locals:
StackMap stack:
aload 1
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 42 0 input Ljava/lang/String;
3 42 1 result Ljava/lang/StringBuilder;
4 42 2 previousSlash Z
5 39 3 i I
7 37 4 c C
MethodParameters:
Name Flags
input
}
SourceFile: "JNDIRealm.java"
NestMembers:
org.apache.catalina.realm.JNDIRealm$JNDIConnection org.apache.catalina.realm.JNDIRealm$User
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
protected JNDIConnection = org.apache.catalina.realm.JNDIRealm$JNDIConnection of org.apache.catalina.realm.JNDIRealm
protected User = org.apache.catalina.realm.JNDIRealm$User of org.apache.catalina.realm.JNDIRealm