public final class com.sun.jndi.ldap.LdapCtx extends com.sun.jndi.toolkit.ctx.ComponentDirContext implements javax.naming.event.EventDirContext, javax.naming.ldap.LdapContext
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.sun.jndi.ldap.LdapCtx
super_class: com.sun.jndi.toolkit.ctx.ComponentDirContext
{
private static final boolean debug;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final boolean HARD_CLOSE;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final boolean SOFT_CLOSE;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int DEFAULT_PORT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 389
public static final int DEFAULT_SSL_PORT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 636
public static final java.lang.String DEFAULT_HOST;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "localhost"
private static final boolean DEFAULT_DELETE_RDN;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final boolean DEFAULT_TYPES_ONLY;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int DEFAULT_DEREF_ALIASES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int DEFAULT_LDAP_VERSION;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
private static final int DEFAULT_BATCH_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int DEFAULT_REFERRAL_MODE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final char DEFAULT_REF_SEPARATOR;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 35
static final java.lang.String DEFAULT_SSL_FACTORY;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "javax.net.ssl.SSLSocketFactory"
private static final int DEFAULT_REFERRAL_LIMIT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10
private static final java.lang.String STARTTLS_REQ_OID;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "1.3.6.1.4.1.1466.20037"
private static final java.lang.String[] SCHEMA_ATTRIBUTES;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String VERSION;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java.naming.ldap.version"
private static final java.lang.String BINARY_ATTRIBUTES;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java.naming.ldap.attributes.binary"
private static final java.lang.String DELETE_RDN;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java.naming.ldap.deleteRDN"
private static final java.lang.String DEREF_ALIASES;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java.naming.ldap.derefAliases"
private static final java.lang.String TYPES_ONLY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java.naming.ldap.typesOnly"
private static final java.lang.String REF_SEPARATOR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java.naming.ldap.ref.separator"
private static final java.lang.String SOCKET_FACTORY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java.naming.ldap.factory.socket"
static final java.lang.String BIND_CONTROLS;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "java.naming.ldap.control.connect"
private static final java.lang.String REFERRAL_LIMIT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java.naming.ldap.referral.limit"
private static final java.lang.String TRACE_BER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "com.sun.jndi.ldap.trace.ber"
private static final java.lang.String NETSCAPE_SCHEMA_BUG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "com.sun.jndi.ldap.netscape.schemaBugs"
private static final java.lang.String OLD_NETSCAPE_SCHEMA_BUG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "com.sun.naming.netscape.schemaBugs"
private static final java.lang.String CONNECT_TIMEOUT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "com.sun.jndi.ldap.connect.timeout"
private static final java.lang.String READ_TIMEOUT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "com.sun.jndi.ldap.read.timeout"
private static final java.lang.String ENABLE_POOL;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "com.sun.jndi.ldap.connect.pool"
private static final java.lang.String DOMAIN_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "com.sun.jndi.ldap.domainname"
private static final javax.naming.NameParser parser;
descriptor: Ljavax/naming/NameParser;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final javax.naming.ldap.ControlFactory myResponseControlFactory;
descriptor: Ljavax/naming/ldap/ControlFactory;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final javax.naming.ldap.Control manageReferralControl;
descriptor: Ljavax/naming/ldap/Control;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.sun.jndi.toolkit.dir.HierMemDirCtx EMPTY_SCHEMA;
descriptor: Lcom/sun/jndi/toolkit/dir/HierMemDirCtx;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
int port_number;
descriptor: I
flags: (0x0000)
java.lang.String hostname;
descriptor: Ljava/lang/String;
flags: (0x0000)
com.sun.jndi.ldap.LdapClient clnt;
descriptor: Lcom/sun/jndi/ldap/LdapClient;
flags: (0x0000)
java.util.Hashtable envprops;
descriptor: Ljava/util/Hashtable;
flags: (0x0000)
int handleReferrals;
descriptor: I
flags: (0x0000)
boolean hasLdapsScheme;
descriptor: Z
flags: (0x0000)
java.lang.String currentDN;
descriptor: Ljava/lang/String;
flags: (0x0000)
javax.naming.Name currentParsedDN;
descriptor: Ljavax/naming/Name;
flags: (0x0000)
java.util.Vector respCtls;
descriptor: Ljava/util/Vector;
flags: (0x0000)
javax.naming.ldap.Control[] reqCtls;
descriptor: [Ljavax/naming/ldap/Control;
flags: (0x0000)
private java.io.OutputStream trace;
descriptor: Ljava/io/OutputStream;
flags: (0x0002) ACC_PRIVATE
private boolean netscapeSchemaBug;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private javax.naming.ldap.Control[] bindCtls;
descriptor: [Ljavax/naming/ldap/Control;
flags: (0x0002) ACC_PRIVATE
private int referralHopLimit;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.util.Hashtable schemaTrees;
descriptor: Ljava/util/Hashtable;
flags: (0x0002) ACC_PRIVATE
private int batchSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean deleteRDN;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean typesOnly;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int derefAliases;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private char addrEncodingSeparator;
descriptor: C
flags: (0x0002) ACC_PRIVATE
private java.util.Hashtable binaryAttrs;
descriptor: Ljava/util/Hashtable;
flags: (0x0002) ACC_PRIVATE
private int connectTimeout;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int readTimeout;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean useSsl;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean useDefaultPortNumber;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean parentIsLdapCtx;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int hopCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.lang.String url;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private com.sun.jndi.ldap.EventSupport eventSupport;
descriptor: Lcom/sun/jndi/ldap/EventSupport;
flags: (0x0002) ACC_PRIVATE
private boolean unsolicited;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean sharable;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int enumCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean closeRequested;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "objectClasses"
aastore
dup
iconst_1
ldc "attributeTypes"
aastore
dup
iconst_2
ldc "matchingRules"
aastore
dup
iconst_3
ldc "ldapSyntaxes"
aastore
1: putstatic com.sun.jndi.ldap.LdapCtx.SCHEMA_ATTRIBUTES:[Ljava/lang/String;
2: new com.sun.jndi.ldap.LdapNameParser
dup
invokespecial com.sun.jndi.ldap.LdapNameParser.<init>:()V
putstatic com.sun.jndi.ldap.LdapCtx.parser:Ljavax/naming/NameParser;
3: new com.sun.jndi.ldap.DefaultResponseControlFactory
dup
invokespecial com.sun.jndi.ldap.DefaultResponseControlFactory.<init>:()V
4: putstatic com.sun.jndi.ldap.LdapCtx.myResponseControlFactory:Ljavax/naming/ldap/ControlFactory;
5: new com.sun.jndi.ldap.ManageReferralControl
dup
iconst_0
invokespecial com.sun.jndi.ldap.ManageReferralControl.<init>:(Z)V
6: putstatic com.sun.jndi.ldap.LdapCtx.manageReferralControl:Ljavax/naming/ldap/Control;
7: new com.sun.jndi.toolkit.dir.HierMemDirCtx
dup
invokespecial com.sun.jndi.toolkit.dir.HierMemDirCtx.<init>:()V
putstatic com.sun.jndi.ldap.LdapCtx.EMPTY_SCHEMA:Lcom/sun/jndi/toolkit/dir/HierMemDirCtx;
8: getstatic com.sun.jndi.ldap.LdapCtx.EMPTY_SCHEMA:Lcom/sun/jndi/toolkit/dir/HierMemDirCtx;
9: new javax.naming.directory.SchemaViolationException
dup
ldc "Cannot update schema object"
invokespecial javax.naming.directory.SchemaViolationException.<init>:(Ljava/lang/String;)V
10: invokevirtual com.sun.jndi.toolkit.dir.HierMemDirCtx.setReadOnly:(Ljavax/naming/NamingException;)V
11: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.String, java.lang.String, int, java.util.Hashtable, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;ILjava/util/Hashtable;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial com.sun.jndi.toolkit.ctx.ComponentDirContext.<init>:()V
1: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.hostname:Ljava/lang/String;
2: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
3: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
4: aload 0
iconst_3
putfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
5: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.hasLdapsScheme:Z
6: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.respCtls:Ljava/util/Vector;
7: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
8: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.trace:Ljava/io/OutputStream;
9: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.netscapeSchemaBug:Z
10: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.bindCtls:[Ljavax/naming/ldap/Control;
11: aload 0
bipush 10
putfield com.sun.jndi.ldap.LdapCtx.referralHopLimit:I
12: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.schemaTrees:Ljava/util/Hashtable;
13: aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapCtx.batchSize:I
14: aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapCtx.deleteRDN:Z
15: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.typesOnly:Z
16: aload 0
iconst_3
putfield com.sun.jndi.ldap.LdapCtx.derefAliases:I
17: aload 0
bipush 35
putfield com.sun.jndi.ldap.LdapCtx.addrEncodingSeparator:C
18: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.binaryAttrs:Ljava/util/Hashtable;
19: aload 0
iconst_m1
putfield com.sun.jndi.ldap.LdapCtx.connectTimeout:I
20: aload 0
iconst_m1
putfield com.sun.jndi.ldap.LdapCtx.readTimeout:I
21: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.useSsl:Z
22: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.useDefaultPortNumber:Z
23: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.parentIsLdapCtx:Z
24: aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapCtx.hopCount:I
25: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.url:Ljava/lang/String;
26: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.unsolicited:Z
27: aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapCtx.sharable:Z
28: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.enumCount:I
29: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.closeRequested:Z
30: aload 0
aload 0
iload 5
dup_x1
putfield com.sun.jndi.ldap.LdapCtx.hasLdapsScheme:Z
putfield com.sun.jndi.ldap.LdapCtx.useSsl:Z
31: aload 4
ifnull 39
32: aload 0
aload 4
invokevirtual java.util.Hashtable.clone:()Ljava/lang/Object;
checkcast java.util.Hashtable
putfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
33: ldc "ssl"
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "java.naming.security.protocol"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 35
34: aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapCtx.useSsl:Z
35: StackMap locals: com.sun.jndi.ldap.LdapCtx java.lang.String java.lang.String int java.util.Hashtable int
StackMap stack:
aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "com.sun.jndi.ldap.trace.ber"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.io.OutputStream
putfield com.sun.jndi.ldap.LdapCtx.trace:Ljava/io/OutputStream;
36: aload 4
ldc "com.sun.jndi.ldap.netscape.schemaBugs"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 38
37: aload 4
ldc "com.sun.naming.netscape.schemaBugs"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 39
38: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapCtx.netscapeSchemaBug:Z
39: StackMap locals:
StackMap stack:
aload 0
aload 1
ifnull 40
aload 1
goto 41
StackMap locals:
StackMap stack: com.sun.jndi.ldap.LdapCtx
40: ldc ""
StackMap locals: com.sun.jndi.ldap.LdapCtx java.lang.String java.lang.String int java.util.Hashtable int
StackMap stack: com.sun.jndi.ldap.LdapCtx java.lang.String
41: putfield com.sun.jndi.ldap.LdapCtx.currentDN:Ljava/lang/String;
42: aload 0
getstatic com.sun.jndi.ldap.LdapCtx.parser:Ljavax/naming/NameParser;
aload 0
getfield com.sun.jndi.ldap.LdapCtx.currentDN:Ljava/lang/String;
invokeinterface javax.naming.NameParser.parse:(Ljava/lang/String;)Ljavax/naming/Name;
putfield com.sun.jndi.ldap.LdapCtx.currentParsedDN:Ljavax/naming/Name;
43: aload 0
aload 2
ifnull 44
aload 2
invokevirtual java.lang.String.length:()I
ifle 44
aload 2
goto 45
StackMap locals:
StackMap stack: com.sun.jndi.ldap.LdapCtx
44: ldc "localhost"
StackMap locals: com.sun.jndi.ldap.LdapCtx java.lang.String java.lang.String int java.util.Hashtable int
StackMap stack: com.sun.jndi.ldap.LdapCtx java.lang.String
45: putfield com.sun.jndi.ldap.LdapCtx.hostname:Ljava/lang/String;
46: aload 0
getfield com.sun.jndi.ldap.LdapCtx.hostname:Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpne 48
47: aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.hostname:Ljava/lang/String;
iconst_1
aload 0
getfield com.sun.jndi.ldap.LdapCtx.hostname:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
putfield com.sun.jndi.ldap.LdapCtx.hostname:Ljava/lang/String;
48: StackMap locals:
StackMap stack:
iload 3
ifle 51
49: aload 0
iload 3
putfield com.sun.jndi.ldap.LdapCtx.port_number:I
50: goto 55
51: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.useSsl:Z
ifeq 52
sipush 636
goto 53
StackMap locals:
StackMap stack: com.sun.jndi.ldap.LdapCtx
52: sipush 389
StackMap locals: com.sun.jndi.ldap.LdapCtx java.lang.String java.lang.String int java.util.Hashtable int
StackMap stack: com.sun.jndi.ldap.LdapCtx int
53: putfield com.sun.jndi.ldap.LdapCtx.port_number:I
54: aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapCtx.useDefaultPortNumber:Z
55: StackMap locals:
StackMap stack:
aload 0
new java.util.Hashtable
dup
bipush 11
ldc 0.75
invokespecial java.util.Hashtable.<init>:(IF)V
putfield com.sun.jndi.ldap.LdapCtx.schemaTrees:Ljava/util/Hashtable;
56: aload 0
invokevirtual com.sun.jndi.ldap.LdapCtx.initEnv:()V
57: aload 0
iconst_0
invokevirtual com.sun.jndi.ldap.LdapCtx.connect:(Z)V
58: goto 64
StackMap locals:
StackMap stack: javax.naming.NamingException
59: astore 6
start local 6 60: aload 0
invokevirtual com.sun.jndi.ldap.LdapCtx.close:()V
61: goto 63
StackMap locals: com.sun.jndi.ldap.LdapCtx java.lang.String java.lang.String int java.util.Hashtable int javax.naming.NamingException
StackMap stack: java.lang.Exception
62: pop
63: StackMap locals:
StackMap stack:
aload 6
athrow
end local 6 64: StackMap locals:
StackMap stack:
return
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 65 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 65 1 dn Ljava/lang/String;
0 65 2 host Ljava/lang/String;
0 65 3 port_number I
0 65 4 props Ljava/util/Hashtable;
0 65 5 useSsl Z
60 64 6 e Ljavax/naming/NamingException;
Exception table:
from to target type
57 58 59 Class javax.naming.NamingException
60 61 62 Class java.lang.Exception
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
dn
host
port_number
props
useSsl
void <init>(com.sun.jndi.ldap.LdapCtx, java.lang.String);
descriptor: (Lcom/sun/jndi/ldap/LdapCtx;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial com.sun.jndi.toolkit.ctx.ComponentDirContext.<init>:()V
1: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.hostname:Ljava/lang/String;
2: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
3: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
4: aload 0
iconst_3
putfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
5: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.hasLdapsScheme:Z
6: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.respCtls:Ljava/util/Vector;
7: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
8: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.trace:Ljava/io/OutputStream;
9: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.netscapeSchemaBug:Z
10: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.bindCtls:[Ljavax/naming/ldap/Control;
11: aload 0
bipush 10
putfield com.sun.jndi.ldap.LdapCtx.referralHopLimit:I
12: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.schemaTrees:Ljava/util/Hashtable;
13: aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapCtx.batchSize:I
14: aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapCtx.deleteRDN:Z
15: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.typesOnly:Z
16: aload 0
iconst_3
putfield com.sun.jndi.ldap.LdapCtx.derefAliases:I
17: aload 0
bipush 35
putfield com.sun.jndi.ldap.LdapCtx.addrEncodingSeparator:C
18: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.binaryAttrs:Ljava/util/Hashtable;
19: aload 0
iconst_m1
putfield com.sun.jndi.ldap.LdapCtx.connectTimeout:I
20: aload 0
iconst_m1
putfield com.sun.jndi.ldap.LdapCtx.readTimeout:I
21: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.useSsl:Z
22: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.useDefaultPortNumber:Z
23: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.parentIsLdapCtx:Z
24: aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapCtx.hopCount:I
25: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.url:Ljava/lang/String;
26: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.unsolicited:Z
27: aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapCtx.sharable:Z
28: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.enumCount:I
29: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.closeRequested:Z
30: aload 0
aload 1
getfield com.sun.jndi.ldap.LdapCtx.useSsl:Z
putfield com.sun.jndi.ldap.LdapCtx.useSsl:Z
31: aload 0
aload 1
getfield com.sun.jndi.ldap.LdapCtx.hasLdapsScheme:Z
putfield com.sun.jndi.ldap.LdapCtx.hasLdapsScheme:Z
32: aload 0
aload 1
getfield com.sun.jndi.ldap.LdapCtx.useDefaultPortNumber:Z
putfield com.sun.jndi.ldap.LdapCtx.useDefaultPortNumber:Z
33: aload 0
aload 1
getfield com.sun.jndi.ldap.LdapCtx.hostname:Ljava/lang/String;
putfield com.sun.jndi.ldap.LdapCtx.hostname:Ljava/lang/String;
34: aload 0
aload 1
getfield com.sun.jndi.ldap.LdapCtx.port_number:I
putfield com.sun.jndi.ldap.LdapCtx.port_number:I
35: aload 0
aload 2
putfield com.sun.jndi.ldap.LdapCtx.currentDN:Ljava/lang/String;
36: aload 1
getfield com.sun.jndi.ldap.LdapCtx.currentDN:Ljava/lang/String;
aload 0
getfield com.sun.jndi.ldap.LdapCtx.currentDN:Ljava/lang/String;
if_acmpne 39
37: aload 0
aload 1
getfield com.sun.jndi.ldap.LdapCtx.currentParsedDN:Ljavax/naming/Name;
putfield com.sun.jndi.ldap.LdapCtx.currentParsedDN:Ljavax/naming/Name;
38: goto 40
39: StackMap locals: com.sun.jndi.ldap.LdapCtx com.sun.jndi.ldap.LdapCtx java.lang.String
StackMap stack:
aload 0
getstatic com.sun.jndi.ldap.LdapCtx.parser:Ljavax/naming/NameParser;
aload 0
getfield com.sun.jndi.ldap.LdapCtx.currentDN:Ljava/lang/String;
invokeinterface javax.naming.NameParser.parse:(Ljava/lang/String;)Ljavax/naming/Name;
putfield com.sun.jndi.ldap.LdapCtx.currentParsedDN:Ljavax/naming/Name;
40: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
putfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
41: aload 0
aload 1
getfield com.sun.jndi.ldap.LdapCtx.schemaTrees:Ljava/util/Hashtable;
putfield com.sun.jndi.ldap.LdapCtx.schemaTrees:Ljava/util/Hashtable;
42: aload 0
aload 1
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
putfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
43: aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
invokevirtual com.sun.jndi.ldap.LdapClient.incRefCount:()V
44: aload 0
aload 2
ifnull 45
aload 2
aload 1
getfield com.sun.jndi.ldap.LdapCtx.currentDN:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 46
45: StackMap locals:
StackMap stack: com.sun.jndi.ldap.LdapCtx
aload 1
getfield com.sun.jndi.ldap.LdapCtx.parentIsLdapCtx:Z
goto 47
46: StackMap locals:
StackMap stack: com.sun.jndi.ldap.LdapCtx
iconst_1
47: StackMap locals: com.sun.jndi.ldap.LdapCtx com.sun.jndi.ldap.LdapCtx java.lang.String
StackMap stack: com.sun.jndi.ldap.LdapCtx int
putfield com.sun.jndi.ldap.LdapCtx.parentIsLdapCtx:Z
48: aload 0
aload 1
getfield com.sun.jndi.ldap.LdapCtx.trace:Ljava/io/OutputStream;
putfield com.sun.jndi.ldap.LdapCtx.trace:Ljava/io/OutputStream;
49: aload 0
aload 1
getfield com.sun.jndi.ldap.LdapCtx.netscapeSchemaBug:Z
putfield com.sun.jndi.ldap.LdapCtx.netscapeSchemaBug:Z
50: aload 0
invokevirtual com.sun.jndi.ldap.LdapCtx.initEnv:()V
51: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 52 1 existing Lcom/sun/jndi/ldap/LdapCtx;
0 52 2 newDN Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
existing
newDN
public javax.naming.ldap.LdapContext newInstance(javax.naming.ldap.Control[]);
descriptor: ([Ljavax/naming/ldap/Control;)Ljavax/naming/ldap/LdapContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new com.sun.jndi.ldap.LdapCtx
dup
aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.currentDN:Ljava/lang/String;
invokespecial com.sun.jndi.ldap.LdapCtx.<init>:(Lcom/sun/jndi/ldap/LdapCtx;Ljava/lang/String;)V
astore 2
start local 2 1: aload 2
aload 1
invokeinterface javax.naming.ldap.LdapContext.setRequestControls:([Ljavax/naming/ldap/Control;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 3 1 reqCtls [Ljavax/naming/ldap/Control;
1 3 2 clone Ljavax/naming/ldap/LdapContext;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
reqCtls
protected void c_bind(javax.naming.Name, java.lang.Object, com.sun.jndi.toolkit.ctx.Continuation);
descriptor: (Ljavax/naming/Name;Ljava/lang/Object;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
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
aconst_null
aload 3
invokevirtual com.sun.jndi.ldap.LdapCtx.c_bind:(Ljavax/naming/Name;Ljava/lang/Object;Ljavax/naming/directory/Attributes;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 2 1 name Ljavax/naming/Name;
0 2 2 obj Ljava/lang/Object;
0 2 3 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
obj
cont
protected void c_bind(javax.naming.Name, java.lang.Object, javax.naming.directory.Attributes, com.sun.jndi.toolkit.ctx.Continuation);
descriptor: (Ljavax/naming/Name;Ljava/lang/Object;Ljavax/naming/directory/Attributes;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
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: aload 4
aload 0
aload 1
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
1: aload 3
astore 5
start local 5 2: aload 0
invokevirtual com.sun.jndi.ldap.LdapCtx.ensureOpen:()V
3: aload 2
ifnonnull 8
4: aload 3
ifnonnull 11
5: new java.lang.IllegalArgumentException
dup
6: ldc "cannot bind null object with no attributes"
7: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: javax.naming.directory.Attributes
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.addrEncodingSeparator:C
aload 2
aload 3
9: iconst_0
aload 1
aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
10: invokestatic com.sun.jndi.ldap.Obj.determineBindAttrs:(CLjava/lang/Object;Ljavax/naming/directory/Attributes;ZLjavax/naming/Name;Ljavax/naming/Context;Ljava/util/Hashtable;)Ljavax/naming/directory/Attributes;
astore 3
11: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.fullyQualifiedName:(Ljavax/naming/Name;)Ljava/lang/String;
astore 6
start local 6 12: aload 6
aload 3
aload 5
aload 3
if_acmpeq 13
iconst_1
goto 14
StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name java.lang.Object javax.naming.directory.Attributes com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.Attributes java.lang.String
StackMap stack: java.lang.String javax.naming.directory.Attributes
13: iconst_0
StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name java.lang.Object javax.naming.directory.Attributes com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.Attributes java.lang.String
StackMap stack: java.lang.String javax.naming.directory.Attributes int
14: invokestatic com.sun.jndi.ldap.LdapCtx.addRdnAttributes:(Ljava/lang/String;Ljavax/naming/directory/Attributes;Z)Ljavax/naming/directory/Attributes;
astore 3
15: new com.sun.jndi.ldap.LdapEntry
dup
aload 6
aload 3
invokespecial com.sun.jndi.ldap.LdapEntry.<init>:(Ljava/lang/String;Ljavax/naming/directory/Attributes;)V
astore 7
start local 7 16: aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
aload 7
aload 0
getfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
invokevirtual com.sun.jndi.ldap.LdapClient.add:(Lcom/sun/jndi/ldap/LdapEntry;[Ljavax/naming/ldap/Control;)Lcom/sun/jndi/ldap/LdapResult;
astore 8
start local 8 17: aload 0
aload 8
getfield com.sun.jndi.ldap.LdapResult.resControls:Ljava/util/Vector;
putfield com.sun.jndi.ldap.LdapCtx.respCtls:Ljava/util/Vector;
18: aload 8
getfield com.sun.jndi.ldap.LdapResult.status:I
ifeq 42
19: aload 0
aload 8
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.processReturnCode:(Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;)V
end local 8 end local 7 end local 6 20: goto 42
StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name java.lang.Object javax.naming.directory.Attributes com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.Attributes
StackMap stack: com.sun.jndi.ldap.LdapReferralException
21: astore 6
start local 6 22: aload 0
getfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
iconst_2
if_icmpne 24
23: aload 4
aload 6
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
24: StackMap locals: com.sun.jndi.ldap.LdapReferralException
StackMap stack:
aload 6
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
aload 0
getfield com.sun.jndi.ldap.LdapCtx.bindCtls:[Ljavax/naming/ldap/Control;
invokevirtual com.sun.jndi.ldap.LdapReferralException.getReferralContext:(Ljava/util/Hashtable;[Ljavax/naming/ldap/Control;)Ljavax/naming/Context;
checkcast com.sun.jndi.ldap.LdapReferralContext
25: astore 7
start local 7 26: aload 7
aload 1
aload 2
aload 5
invokevirtual com.sun.jndi.ldap.LdapReferralContext.bind:(Ljavax/naming/Name;Ljava/lang/Object;Ljavax/naming/directory/Attributes;)V
27: aload 7
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
28: return
29: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name java.lang.Object javax.naming.directory.Attributes com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.Attributes com.sun.jndi.ldap.LdapReferralException com.sun.jndi.ldap.LdapReferralContext
StackMap stack: com.sun.jndi.ldap.LdapReferralException
astore 8
start local 8 30: aload 8
astore 6
31: aload 7
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
32: goto 24
end local 8 33: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
34: aload 7
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
35: aload 9
athrow
end local 7 end local 6 36: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name java.lang.Object javax.naming.directory.Attributes com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.Attributes
StackMap stack: java.io.IOException
astore 6
start local 6 37: new javax.naming.CommunicationException
dup
aload 6
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial javax.naming.CommunicationException.<init>:(Ljava/lang/String;)V
astore 7
start local 7 38: aload 7
aload 6
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
39: aload 4
aload 7
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
end local 7 end local 6 40: StackMap locals:
StackMap stack: javax.naming.NamingException
astore 6
start local 6 41: aload 4
aload 6
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
end local 6 42: StackMap locals:
StackMap stack:
return
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 43 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 43 1 name Ljavax/naming/Name;
0 43 2 obj Ljava/lang/Object;
0 43 3 attrs Ljavax/naming/directory/Attributes;
0 43 4 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
2 43 5 inputAttrs Ljavax/naming/directory/Attributes;
12 20 6 newDN Ljava/lang/String;
16 20 7 entry Lcom/sun/jndi/ldap/LdapEntry;
17 20 8 answer Lcom/sun/jndi/ldap/LdapResult;
22 36 6 e Lcom/sun/jndi/ldap/LdapReferralException;
26 36 7 refCtx Lcom/sun/jndi/ldap/LdapReferralContext;
30 33 8 re Lcom/sun/jndi/ldap/LdapReferralException;
37 40 6 e Ljava/io/IOException;
38 40 7 e2 Ljavax/naming/NamingException;
41 42 6 e Ljavax/naming/NamingException;
Exception table:
from to target type
2 20 21 Class com.sun.jndi.ldap.LdapReferralException
26 27 29 Class com.sun.jndi.ldap.LdapReferralException
26 27 33 any
29 31 33 any
2 20 36 Class java.io.IOException
2 20 40 Class javax.naming.NamingException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
obj
attrs
cont
protected void c_rebind(javax.naming.Name, java.lang.Object, com.sun.jndi.toolkit.ctx.Continuation);
descriptor: (Ljavax/naming/Name;Ljava/lang/Object;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
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
aconst_null
aload 3
invokevirtual com.sun.jndi.ldap.LdapCtx.c_rebind:(Ljavax/naming/Name;Ljava/lang/Object;Ljavax/naming/directory/Attributes;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 2 1 name Ljavax/naming/Name;
0 2 2 obj Ljava/lang/Object;
0 2 3 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
obj
cont
protected void c_rebind(javax.naming.Name, java.lang.Object, javax.naming.directory.Attributes, com.sun.jndi.toolkit.ctx.Continuation);
descriptor: (Ljavax/naming/Name;Ljava/lang/Object;Ljavax/naming/directory/Attributes;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
aload 0
aload 1
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
1: aload 3
astore 5
start local 5 2: aconst_null
astore 6
start local 6 3: aload 0
aload 1
aconst_null
aload 4
invokevirtual com.sun.jndi.ldap.LdapCtx.c_getAttributes:(Ljavax/naming/Name;[Ljava/lang/String;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/directory/Attributes;
astore 6
4: goto 6
StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name java.lang.Object javax.naming.directory.Attributes com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.Attributes javax.naming.directory.Attributes
StackMap stack: javax.naming.NameNotFoundException
5: pop
6: StackMap locals:
StackMap stack:
aload 6
ifnonnull 9
7: aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual com.sun.jndi.ldap.LdapCtx.c_bind:(Ljavax/naming/Name;Ljava/lang/Object;Ljavax/naming/directory/Attributes;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
8: return
9: StackMap locals:
StackMap stack:
aload 3
ifnonnull 11
aload 2
instanceof javax.naming.directory.DirContext
ifeq 11
10: aload 2
checkcast javax.naming.directory.DirContext
ldc ""
invokeinterface javax.naming.directory.DirContext.getAttributes:(Ljava/lang/String;)Ljavax/naming/directory/Attributes;
astore 3
11: StackMap locals:
StackMap stack:
aload 6
invokeinterface javax.naming.directory.Attributes.clone:()Ljava/lang/Object;
checkcast javax.naming.directory.Attributes
astore 7
start local 7 12: aload 3
ifnonnull 30
13: aload 6
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_0
aaload
invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
14: astore 8
start local 8 15: aload 8
ifnull 24
16: aload 8
invokeinterface javax.naming.directory.Attribute.clone:()Ljava/lang/Object;
checkcast javax.naming.directory.Attribute
astore 8
17: iconst_0
istore 9
start local 9 18: goto 22
19: StackMap locals: javax.naming.directory.Attributes javax.naming.directory.Attribute int
StackMap stack:
aload 8
getstatic com.sun.jndi.ldap.Obj.JAVA_OBJECT_CLASSES_LOWER:[Ljava/lang/String;
iload 9
aaload
invokeinterface javax.naming.directory.Attribute.remove:(Ljava/lang/Object;)Z
pop
20: aload 8
getstatic com.sun.jndi.ldap.Obj.JAVA_OBJECT_CLASSES:[Ljava/lang/String;
iload 9
aaload
invokeinterface javax.naming.directory.Attribute.remove:(Ljava/lang/Object;)Z
pop
21: iinc 9 1
StackMap locals:
StackMap stack:
22: iload 9
getstatic com.sun.jndi.ldap.Obj.JAVA_OBJECT_CLASSES:[Ljava/lang/String;
arraylength
if_icmplt 19
end local 9 23: aload 6
aload 8
invokeinterface javax.naming.directory.Attributes.put:(Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
pop
24: StackMap locals:
StackMap stack:
iconst_1
istore 9
start local 9 25: goto 28
26: StackMap locals: int
StackMap stack:
aload 6
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iload 9
aaload
invokeinterface javax.naming.directory.Attributes.remove:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
pop
27: iinc 9 1
StackMap locals:
StackMap stack:
28: iload 9
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
arraylength
if_icmplt 26
end local 9 29: aload 6
astore 3
end local 8 30: StackMap locals:
StackMap stack:
aload 2
ifnull 37
31: aload 0
getfield com.sun.jndi.ldap.LdapCtx.addrEncodingSeparator:C
aload 2
aload 3
32: aload 5
aload 3
if_acmpeq 33
iconst_1
goto 34
StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name java.lang.Object javax.naming.directory.Attributes com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.Attributes javax.naming.directory.Attributes javax.naming.directory.Attributes
StackMap stack: int java.lang.Object javax.naming.directory.Attributes
33: iconst_0
StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name java.lang.Object javax.naming.directory.Attributes com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.Attributes javax.naming.directory.Attributes javax.naming.directory.Attributes
StackMap stack: int java.lang.Object javax.naming.directory.Attributes int
34: aload 1
aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
35: invokestatic com.sun.jndi.ldap.Obj.determineBindAttrs:(CLjava/lang/Object;Ljavax/naming/directory/Attributes;ZLjavax/naming/Name;Ljavax/naming/Context;Ljava/util/Hashtable;)Ljavax/naming/directory/Attributes;
36: astore 3
37: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.fullyQualifiedName:(Ljavax/naming/Name;)Ljava/lang/String;
astore 8
start local 8 38: aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
aload 8
aload 0
getfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
invokevirtual com.sun.jndi.ldap.LdapClient.delete:(Ljava/lang/String;[Ljavax/naming/ldap/Control;)Lcom/sun/jndi/ldap/LdapResult;
astore 9
start local 9 39: aload 0
aload 9
getfield com.sun.jndi.ldap.LdapResult.resControls:Ljava/util/Vector;
putfield com.sun.jndi.ldap.LdapCtx.respCtls:Ljava/util/Vector;
40: aload 9
getfield com.sun.jndi.ldap.LdapResult.status:I
ifeq 43
41: aload 0
aload 9
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.processReturnCode:(Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;)V
42: return
43: StackMap locals: java.lang.String com.sun.jndi.ldap.LdapResult
StackMap stack:
aconst_null
astore 10
start local 10 44: aload 8
aload 3
aload 5
aload 3
if_acmpeq 45
iconst_1
goto 46
StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name java.lang.Object javax.naming.directory.Attributes com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.Attributes javax.naming.directory.Attributes javax.naming.directory.Attributes java.lang.String com.sun.jndi.ldap.LdapResult java.lang.Exception
StackMap stack: java.lang.String javax.naming.directory.Attributes
45: iconst_0
StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name java.lang.Object javax.naming.directory.Attributes com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.Attributes javax.naming.directory.Attributes javax.naming.directory.Attributes java.lang.String com.sun.jndi.ldap.LdapResult java.lang.Exception
StackMap stack: java.lang.String javax.naming.directory.Attributes int
46: invokestatic com.sun.jndi.ldap.LdapCtx.addRdnAttributes:(Ljava/lang/String;Ljavax/naming/directory/Attributes;Z)Ljavax/naming/directory/Attributes;
astore 3
47: new com.sun.jndi.ldap.LdapEntry
dup
aload 8
aload 3
invokespecial com.sun.jndi.ldap.LdapEntry.<init>:(Ljava/lang/String;Ljavax/naming/directory/Attributes;)V
astore 11
start local 11 48: aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
aload 11
aload 0
getfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
invokevirtual com.sun.jndi.ldap.LdapClient.add:(Lcom/sun/jndi/ldap/LdapEntry;[Ljavax/naming/ldap/Control;)Lcom/sun/jndi/ldap/LdapResult;
astore 9
49: aload 9
getfield com.sun.jndi.ldap.LdapResult.resControls:Ljava/util/Vector;
ifnull 57
50: aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.respCtls:Ljava/util/Vector;
aload 9
getfield com.sun.jndi.ldap.LdapResult.resControls:Ljava/util/Vector;
invokestatic com.sun.jndi.ldap.LdapCtx.appendVector:(Ljava/util/Vector;Ljava/util/Vector;)Ljava/util/Vector;
putfield com.sun.jndi.ldap.LdapCtx.respCtls:Ljava/util/Vector;
end local 11 51: goto 57
StackMap locals:
StackMap stack: javax.naming.NamingException
52: astore 11
start local 11 53: aload 11
astore 10
end local 11 54: goto 57
55: StackMap locals:
StackMap stack: java.io.IOException
astore 11
start local 11 56: aload 11
astore 10
end local 11 57: StackMap locals:
StackMap stack:
aload 10
ifnull 58
aload 10
instanceof com.sun.jndi.ldap.LdapReferralException
ifeq 59
58: StackMap locals:
StackMap stack:
aload 9
getfield com.sun.jndi.ldap.LdapResult.status:I
ifeq 65
59: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
new com.sun.jndi.ldap.LdapEntry
dup
aload 8
aload 7
invokespecial com.sun.jndi.ldap.LdapEntry.<init>:(Ljava/lang/String;Ljavax/naming/directory/Attributes;)V
aload 0
getfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
invokevirtual com.sun.jndi.ldap.LdapClient.add:(Lcom/sun/jndi/ldap/LdapEntry;[Ljavax/naming/ldap/Control;)Lcom/sun/jndi/ldap/LdapResult;
60: astore 11
start local 11 61: aload 11
getfield com.sun.jndi.ldap.LdapResult.resControls:Ljava/util/Vector;
ifnull 63
62: aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.respCtls:Ljava/util/Vector;
aload 11
getfield com.sun.jndi.ldap.LdapResult.resControls:Ljava/util/Vector;
invokestatic com.sun.jndi.ldap.LdapCtx.appendVector:(Ljava/util/Vector;Ljava/util/Vector;)Ljava/util/Vector;
putfield com.sun.jndi.ldap.LdapCtx.respCtls:Ljava/util/Vector;
63: StackMap locals: com.sun.jndi.ldap.LdapResult
StackMap stack:
aload 10
ifnonnull 65
64: aload 0
aload 9
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.processReturnCode:(Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;)V
end local 11 65: StackMap locals:
StackMap stack:
aload 10
instanceof javax.naming.NamingException
ifeq 67
66: aload 10
checkcast javax.naming.NamingException
athrow
67: StackMap locals:
StackMap stack:
aload 10
instanceof java.io.IOException
ifeq 90
68: aload 10
checkcast java.io.IOException
athrow
end local 10 end local 9 end local 8 end local 7 end local 6 69: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name java.lang.Object javax.naming.directory.Attributes com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.Attributes
StackMap stack: com.sun.jndi.ldap.LdapReferralException
astore 6
start local 6 70: aload 0
getfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
iconst_2
if_icmpne 72
71: aload 4
aload 6
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
72: StackMap locals: com.sun.jndi.ldap.LdapReferralException
StackMap stack:
aload 6
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
aload 0
getfield com.sun.jndi.ldap.LdapCtx.bindCtls:[Ljavax/naming/ldap/Control;
invokevirtual com.sun.jndi.ldap.LdapReferralException.getReferralContext:(Ljava/util/Hashtable;[Ljavax/naming/ldap/Control;)Ljavax/naming/Context;
checkcast com.sun.jndi.ldap.LdapReferralContext
73: astore 7
start local 7 74: aload 7
aload 1
aload 2
aload 5
invokevirtual com.sun.jndi.ldap.LdapReferralContext.rebind:(Ljavax/naming/Name;Ljava/lang/Object;Ljavax/naming/directory/Attributes;)V
75: aload 7
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
76: return
77: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name java.lang.Object javax.naming.directory.Attributes com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.Attributes com.sun.jndi.ldap.LdapReferralException com.sun.jndi.ldap.LdapReferralContext
StackMap stack: com.sun.jndi.ldap.LdapReferralException
astore 8
start local 8 78: aload 8
astore 6
79: aload 7
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
80: goto 72
end local 8 81: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
82: aload 7
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
83: aload 9
athrow
end local 7 end local 6 84: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name java.lang.Object javax.naming.directory.Attributes com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.Attributes
StackMap stack: java.io.IOException
astore 6
start local 6 85: new javax.naming.CommunicationException
dup
aload 6
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial javax.naming.CommunicationException.<init>:(Ljava/lang/String;)V
astore 7
start local 7 86: aload 7
aload 6
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
87: aload 4
aload 7
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
end local 7 end local 6 88: StackMap locals:
StackMap stack: javax.naming.NamingException
astore 6
start local 6 89: aload 4
aload 6
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
end local 6 90: StackMap locals:
StackMap stack:
return
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 91 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 91 1 name Ljavax/naming/Name;
0 91 2 obj Ljava/lang/Object;
0 91 3 attrs Ljavax/naming/directory/Attributes;
0 91 4 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
2 91 5 inputAttrs Ljavax/naming/directory/Attributes;
3 69 6 origAttrs Ljavax/naming/directory/Attributes;
12 69 7 keepAttrs Ljavax/naming/directory/Attributes;
15 30 8 origObjectClass Ljavax/naming/directory/Attribute;
18 23 9 i I
25 29 9 i I
38 69 8 newDN Ljava/lang/String;
39 69 9 answer Lcom/sun/jndi/ldap/LdapResult;
44 69 10 addEx Ljava/lang/Exception;
48 51 11 entry Lcom/sun/jndi/ldap/LdapEntry;
53 54 11 ae Ljavax/naming/NamingException;
56 57 11 ae Ljava/io/IOException;
61 65 11 answer2 Lcom/sun/jndi/ldap/LdapResult;
70 84 6 e Lcom/sun/jndi/ldap/LdapReferralException;
74 84 7 refCtx Lcom/sun/jndi/ldap/LdapReferralContext;
78 81 8 re Lcom/sun/jndi/ldap/LdapReferralException;
85 88 6 e Ljava/io/IOException;
86 88 7 e2 Ljavax/naming/NamingException;
89 90 6 e Ljavax/naming/NamingException;
Exception table:
from to target type
3 4 5 Class javax.naming.NameNotFoundException
44 51 52 Class javax.naming.NamingException
44 51 55 Class java.io.IOException
2 8 69 Class com.sun.jndi.ldap.LdapReferralException
9 42 69 Class com.sun.jndi.ldap.LdapReferralException
43 69 69 Class com.sun.jndi.ldap.LdapReferralException
74 75 77 Class com.sun.jndi.ldap.LdapReferralException
74 75 81 any
77 79 81 any
2 8 84 Class java.io.IOException
9 42 84 Class java.io.IOException
43 69 84 Class java.io.IOException
2 8 88 Class javax.naming.NamingException
9 42 88 Class javax.naming.NamingException
43 69 88 Class javax.naming.NamingException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
obj
attrs
cont
protected void c_unbind(javax.naming.Name, com.sun.jndi.toolkit.ctx.Continuation);
descriptor: (Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 0
aload 1
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
1: aload 0
invokevirtual com.sun.jndi.ldap.LdapCtx.ensureOpen:()V
2: aload 0
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.fullyQualifiedName:(Ljavax/naming/Name;)Ljava/lang/String;
astore 3
start local 3 3: aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
aload 3
aload 0
getfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
invokevirtual com.sun.jndi.ldap.LdapClient.delete:(Ljava/lang/String;[Ljavax/naming/ldap/Control;)Lcom/sun/jndi/ldap/LdapResult;
astore 4
start local 4 4: aload 0
aload 4
getfield com.sun.jndi.ldap.LdapResult.resControls:Ljava/util/Vector;
putfield com.sun.jndi.ldap.LdapCtx.respCtls:Ljava/util/Vector;
5: aload 0
aload 3
aload 4
invokevirtual com.sun.jndi.ldap.LdapCtx.adjustDeleteStatus:(Ljava/lang/String;Lcom/sun/jndi/ldap/LdapResult;)V
6: aload 4
getfield com.sun.jndi.ldap.LdapResult.status:I
ifeq 30
7: aload 0
aload 4
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.processReturnCode:(Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;)V
end local 4 end local 3 8: goto 30
StackMap locals:
StackMap stack: com.sun.jndi.ldap.LdapReferralException
9: astore 3
start local 3 10: aload 0
getfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
iconst_2
if_icmpne 12
11: aload 2
aload 3
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
12: StackMap locals: com.sun.jndi.ldap.LdapReferralException
StackMap stack:
aload 3
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
aload 0
getfield com.sun.jndi.ldap.LdapCtx.bindCtls:[Ljavax/naming/ldap/Control;
invokevirtual com.sun.jndi.ldap.LdapReferralException.getReferralContext:(Ljava/util/Hashtable;[Ljavax/naming/ldap/Control;)Ljavax/naming/Context;
checkcast com.sun.jndi.ldap.LdapReferralContext
13: astore 4
start local 4 14: aload 4
aload 1
invokevirtual com.sun.jndi.ldap.LdapReferralContext.unbind:(Ljavax/naming/Name;)V
15: aload 4
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
16: return
17: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name com.sun.jndi.toolkit.ctx.Continuation com.sun.jndi.ldap.LdapReferralException com.sun.jndi.ldap.LdapReferralContext
StackMap stack: com.sun.jndi.ldap.LdapReferralException
astore 5
start local 5 18: aload 5
astore 3
19: aload 4
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
20: goto 12
end local 5 21: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
22: aload 4
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
23: aload 6
athrow
end local 4 end local 3 24: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name com.sun.jndi.toolkit.ctx.Continuation
StackMap stack: java.io.IOException
astore 3
start local 3 25: new javax.naming.CommunicationException
dup
aload 3
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial javax.naming.CommunicationException.<init>:(Ljava/lang/String;)V
astore 4
start local 4 26: aload 4
aload 3
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
27: aload 2
aload 4
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
end local 4 end local 3 28: StackMap locals:
StackMap stack: javax.naming.NamingException
astore 3
start local 3 29: aload 2
aload 3
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
end local 3 30: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 31 1 name Ljavax/naming/Name;
0 31 2 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
3 8 3 fname Ljava/lang/String;
4 8 4 answer Lcom/sun/jndi/ldap/LdapResult;
10 24 3 e Lcom/sun/jndi/ldap/LdapReferralException;
14 24 4 refCtx Lcom/sun/jndi/ldap/LdapReferralContext;
18 21 5 re Lcom/sun/jndi/ldap/LdapReferralException;
25 28 3 e Ljava/io/IOException;
26 28 4 e2 Ljavax/naming/NamingException;
29 30 3 e Ljavax/naming/NamingException;
Exception table:
from to target type
1 8 9 Class com.sun.jndi.ldap.LdapReferralException
14 15 17 Class com.sun.jndi.ldap.LdapReferralException
14 15 21 any
17 19 21 any
1 8 24 Class java.io.IOException
1 8 28 Class javax.naming.NamingException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
cont
protected void c_rename(javax.naming.Name, javax.naming.Name, com.sun.jndi.toolkit.ctx.Continuation);
descriptor: (Ljavax/naming/Name;Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 8
start local 8 1: aconst_null
astore 9
start local 9 2: aload 3
aload 0
aload 1
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
3: aload 0
invokevirtual com.sun.jndi.ldap.LdapCtx.ensureOpen:()V
4: aload 1
invokeinterface javax.naming.Name.isEmpty:()Z
ifeq 7
5: getstatic com.sun.jndi.ldap.LdapCtx.parser:Ljavax/naming/NameParser;
ldc ""
invokeinterface javax.naming.NameParser.parse:(Ljava/lang/String;)Ljavax/naming/Name;
astore 6
start local 6 6: goto 9
end local 6 7: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name javax.naming.Name com.sun.jndi.toolkit.ctx.Continuation top top top top java.lang.String java.lang.String
StackMap stack:
getstatic com.sun.jndi.ldap.LdapCtx.parser:Ljavax/naming/NameParser;
aload 1
iconst_0
invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
invokeinterface javax.naming.NameParser.parse:(Ljava/lang/String;)Ljavax/naming/Name;
astore 4
start local 4 8: aload 4
aload 4
invokeinterface javax.naming.Name.size:()I
iconst_1
isub
invokeinterface javax.naming.Name.getPrefix:(I)Ljavax/naming/Name;
astore 6
end local 4 start local 6 9: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name javax.naming.Name com.sun.jndi.toolkit.ctx.Continuation top top javax.naming.Name top java.lang.String java.lang.String
StackMap stack:
aload 2
instanceof javax.naming.CompositeName
ifeq 12
10: getstatic com.sun.jndi.ldap.LdapCtx.parser:Ljavax/naming/NameParser;
aload 2
iconst_0
invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
invokeinterface javax.naming.NameParser.parse:(Ljava/lang/String;)Ljavax/naming/Name;
astore 5
start local 5 11: goto 13
end local 5 12: StackMap locals:
StackMap stack:
aload 2
astore 5
start local 5 13: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name javax.naming.Name com.sun.jndi.toolkit.ctx.Continuation top javax.naming.Name javax.naming.Name top java.lang.String java.lang.String
StackMap stack:
aload 5
aload 5
invokeinterface javax.naming.Name.size:()I
iconst_1
isub
invokeinterface javax.naming.Name.getPrefix:(I)Ljavax/naming/Name;
astore 7
start local 7 14: aload 6
aload 7
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 20
15: aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
getfield com.sun.jndi.ldap.LdapClient.isLdapv3:Z
ifne 19
16: new javax.naming.InvalidNameException
dup
17: ldc "LDAPv2 doesn't support changing the parent as a result of a rename"
18: invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name javax.naming.Name com.sun.jndi.toolkit.ctx.Continuation top javax.naming.Name javax.naming.Name javax.naming.Name java.lang.String java.lang.String
StackMap stack:
aload 0
aload 7
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual com.sun.jndi.ldap.LdapCtx.fullyQualifiedName:(Ljava/lang/String;)Ljava/lang/String;
astore 9
20: StackMap locals:
StackMap stack:
aload 5
aload 5
invokeinterface javax.naming.Name.size:()I
iconst_1
isub
invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
astore 8
21: aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
aload 0
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.fullyQualifiedName:(Ljavax/naming/Name;)Ljava/lang/String;
22: aload 8
23: aload 0
getfield com.sun.jndi.ldap.LdapCtx.deleteRDN:Z
24: aload 9
25: aload 0
getfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
26: invokevirtual com.sun.jndi.ldap.LdapClient.moddn:(Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;[Ljavax/naming/ldap/Control;)Lcom/sun/jndi/ldap/LdapResult;
astore 10
start local 10 27: aload 0
aload 10
getfield com.sun.jndi.ldap.LdapResult.resControls:Ljava/util/Vector;
putfield com.sun.jndi.ldap.LdapCtx.respCtls:Ljava/util/Vector;
28: aload 10
getfield com.sun.jndi.ldap.LdapResult.status:I
ifeq 61
29: aload 0
aload 10
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.processReturnCode:(Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;)V
end local 10 30: goto 61
end local 7 end local 6 end local 5 StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name javax.naming.Name com.sun.jndi.toolkit.ctx.Continuation top top top top java.lang.String java.lang.String
StackMap stack: com.sun.jndi.ldap.LdapReferralException
31: astore 10
start local 10 32: aload 10
aload 8
invokevirtual com.sun.jndi.ldap.LdapReferralException.setNewRdn:(Ljava/lang/String;)V
33: aload 9
ifnull 41
34: new javax.naming.PartialResultException
dup
35: new java.lang.StringBuilder
dup
ldc "Cannot continue referral processing when newSuperior is nonempty: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
36: aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
37: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
38: invokespecial javax.naming.PartialResultException.<init>:(Ljava/lang/String;)V
astore 11
start local 11 39: aload 11
aload 3
aload 10
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
invokevirtual javax.naming.PartialResultException.setRootCause:(Ljava/lang/Throwable;)V
40: aload 3
aload 11
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
end local 11 41: StackMap locals: com.sun.jndi.ldap.LdapReferralException
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
iconst_2
if_icmpne 43
42: aload 3
aload 10
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
43: StackMap locals:
StackMap stack:
aload 10
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
aload 0
getfield com.sun.jndi.ldap.LdapCtx.bindCtls:[Ljavax/naming/ldap/Control;
invokevirtual com.sun.jndi.ldap.LdapReferralException.getReferralContext:(Ljava/util/Hashtable;[Ljavax/naming/ldap/Control;)Ljavax/naming/Context;
checkcast com.sun.jndi.ldap.LdapReferralContext
44: astore 11
start local 11 45: aload 11
aload 1
aload 2
invokevirtual com.sun.jndi.ldap.LdapReferralContext.rename:(Ljavax/naming/Name;Ljavax/naming/Name;)V
46: aload 11
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
47: return
48: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name javax.naming.Name com.sun.jndi.toolkit.ctx.Continuation top top top top java.lang.String java.lang.String com.sun.jndi.ldap.LdapReferralException com.sun.jndi.ldap.LdapReferralContext
StackMap stack: com.sun.jndi.ldap.LdapReferralException
astore 12
start local 12 49: aload 12
astore 10
50: aload 11
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
51: goto 43
end local 12 52: StackMap locals:
StackMap stack: java.lang.Throwable
astore 13
53: aload 11
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
54: aload 13
athrow
end local 11 end local 10 55: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name javax.naming.Name com.sun.jndi.toolkit.ctx.Continuation top top top top java.lang.String java.lang.String
StackMap stack: java.io.IOException
astore 10
start local 10 56: new javax.naming.CommunicationException
dup
aload 10
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial javax.naming.CommunicationException.<init>:(Ljava/lang/String;)V
astore 11
start local 11 57: aload 11
aload 10
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
58: aload 3
aload 11
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
end local 11 end local 10 59: StackMap locals:
StackMap stack: javax.naming.NamingException
astore 10
start local 10 60: aload 3
aload 10
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
end local 10 start local 5 start local 6 start local 7 61: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name javax.naming.Name com.sun.jndi.toolkit.ctx.Continuation top javax.naming.Name javax.naming.Name javax.naming.Name java.lang.String java.lang.String
StackMap stack:
return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 62 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 62 1 oldName Ljavax/naming/Name;
0 62 2 newName Ljavax/naming/Name;
0 62 3 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
8 9 4 oldParsed Ljavax/naming/Name;
11 12 5 newParsed Ljavax/naming/Name;
13 31 5 newParsed Ljavax/naming/Name;
61 62 5 newParsed Ljavax/naming/Name;
6 7 6 oldParent Ljavax/naming/Name;
9 31 6 oldParent Ljavax/naming/Name;
61 62 6 oldParent Ljavax/naming/Name;
14 31 7 newParent Ljavax/naming/Name;
61 62 7 newParent Ljavax/naming/Name;
1 62 8 newRDN Ljava/lang/String;
2 62 9 newSuperior Ljava/lang/String;
27 30 10 answer Lcom/sun/jndi/ldap/LdapResult;
32 55 10 e Lcom/sun/jndi/ldap/LdapReferralException;
39 41 11 pre Ljavax/naming/PartialResultException;
45 55 11 refCtx Lcom/sun/jndi/ldap/LdapReferralContext;
49 52 12 re Lcom/sun/jndi/ldap/LdapReferralException;
56 59 10 e Ljava/io/IOException;
57 59 11 e2 Ljavax/naming/NamingException;
60 61 10 e Ljavax/naming/NamingException;
Exception table:
from to target type
3 30 31 Class com.sun.jndi.ldap.LdapReferralException
45 46 48 Class com.sun.jndi.ldap.LdapReferralException
45 46 52 any
48 50 52 any
3 30 55 Class java.io.IOException
3 30 59 Class javax.naming.NamingException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
oldName
newName
cont
protected javax.naming.Context c_createSubcontext(javax.naming.Name, com.sun.jndi.toolkit.ctx.Continuation);
descriptor: (Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/Context;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aconst_null
aload 2
invokevirtual com.sun.jndi.ldap.LdapCtx.c_createSubcontext:(Ljavax/naming/Name;Ljavax/naming/directory/Attributes;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/directory/DirContext;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 1 1 name Ljavax/naming/Name;
0 1 2 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
cont
protected javax.naming.directory.DirContext c_createSubcontext(javax.naming.Name, javax.naming.directory.Attributes, com.sun.jndi.toolkit.ctx.Continuation);
descriptor: (Ljavax/naming/Name;Ljavax/naming/directory/Attributes;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/directory/DirContext;
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
aload 0
aload 1
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
1: aload 2
astore 4
start local 4 2: aload 0
invokevirtual com.sun.jndi.ldap.LdapCtx.ensureOpen:()V
3: aload 2
ifnonnull 11
4: new javax.naming.directory.BasicAttribute
dup
5: getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_0
aaload
6: getstatic com.sun.jndi.ldap.Obj.JAVA_OBJECT_CLASSES:[Ljava/lang/String;
iconst_0
aaload
7: invokespecial javax.naming.directory.BasicAttribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
astore 5
start local 5 8: aload 5
ldc "top"
invokeinterface javax.naming.directory.Attribute.add:(Ljava/lang/Object;)Z
pop
9: new javax.naming.directory.BasicAttributes
dup
iconst_1
invokespecial javax.naming.directory.BasicAttributes.<init>:(Z)V
astore 2
10: aload 2
aload 5
invokeinterface javax.naming.directory.Attributes.put:(Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
pop
end local 5 11: StackMap locals: javax.naming.directory.Attributes
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.fullyQualifiedName:(Ljavax/naming/Name;)Ljava/lang/String;
astore 5
start local 5 12: aload 5
aload 2
aload 4
aload 2
if_acmpeq 13
iconst_1
goto 14
StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name javax.naming.directory.Attributes com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.Attributes java.lang.String
StackMap stack: java.lang.String javax.naming.directory.Attributes
13: iconst_0
StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name javax.naming.directory.Attributes com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.Attributes java.lang.String
StackMap stack: java.lang.String javax.naming.directory.Attributes int
14: invokestatic com.sun.jndi.ldap.LdapCtx.addRdnAttributes:(Ljava/lang/String;Ljavax/naming/directory/Attributes;Z)Ljavax/naming/directory/Attributes;
astore 2
15: new com.sun.jndi.ldap.LdapEntry
dup
aload 5
aload 2
invokespecial com.sun.jndi.ldap.LdapEntry.<init>:(Ljava/lang/String;Ljavax/naming/directory/Attributes;)V
astore 6
start local 6 16: aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
aload 6
aload 0
getfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
invokevirtual com.sun.jndi.ldap.LdapClient.add:(Lcom/sun/jndi/ldap/LdapEntry;[Ljavax/naming/ldap/Control;)Lcom/sun/jndi/ldap/LdapResult;
astore 7
start local 7 17: aload 0
aload 7
getfield com.sun.jndi.ldap.LdapResult.resControls:Ljava/util/Vector;
putfield com.sun.jndi.ldap.LdapCtx.respCtls:Ljava/util/Vector;
18: aload 7
getfield com.sun.jndi.ldap.LdapResult.status:I
ifeq 21
19: aload 0
aload 7
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.processReturnCode:(Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;)V
20: aconst_null
areturn
21: StackMap locals: com.sun.jndi.ldap.LdapEntry com.sun.jndi.ldap.LdapResult
StackMap stack:
new com.sun.jndi.ldap.LdapCtx
dup
aload 0
aload 5
invokespecial com.sun.jndi.ldap.LdapCtx.<init>:(Lcom/sun/jndi/ldap/LdapCtx;Ljava/lang/String;)V
22: areturn
end local 7 end local 6 end local 5 23: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name javax.naming.directory.Attributes com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.Attributes
StackMap stack: com.sun.jndi.ldap.LdapReferralException
astore 5
start local 5 24: aload 0
getfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
iconst_2
if_icmpne 26
25: aload 3
aload 5
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
26: StackMap locals: com.sun.jndi.ldap.LdapReferralException
StackMap stack:
aload 5
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
aload 0
getfield com.sun.jndi.ldap.LdapCtx.bindCtls:[Ljavax/naming/ldap/Control;
invokevirtual com.sun.jndi.ldap.LdapReferralException.getReferralContext:(Ljava/util/Hashtable;[Ljavax/naming/ldap/Control;)Ljavax/naming/Context;
checkcast com.sun.jndi.ldap.LdapReferralContext
27: astore 6
start local 6 28: aload 6
aload 1
aload 4
invokevirtual com.sun.jndi.ldap.LdapReferralContext.createSubcontext:(Ljavax/naming/Name;Ljavax/naming/directory/Attributes;)Ljavax/naming/directory/DirContext;
astore 9
29: aload 6
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
30: aload 9
areturn
31: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name javax.naming.directory.Attributes com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.Attributes com.sun.jndi.ldap.LdapReferralException com.sun.jndi.ldap.LdapReferralContext
StackMap stack: com.sun.jndi.ldap.LdapReferralException
astore 7
start local 7 32: aload 7
astore 5
33: aload 6
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
34: goto 26
end local 7 35: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
36: aload 6
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
37: aload 8
athrow
end local 6 end local 5 38: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name javax.naming.directory.Attributes com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.Attributes
StackMap stack: java.io.IOException
astore 5
start local 5 39: new javax.naming.CommunicationException
dup
aload 5
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial javax.naming.CommunicationException.<init>:(Ljava/lang/String;)V
astore 6
start local 6 40: aload 6
aload 5
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
41: aload 3
aload 6
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
end local 6 end local 5 42: StackMap locals:
StackMap stack: javax.naming.NamingException
astore 5
start local 5 43: aload 3
aload 5
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
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 44 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 44 1 name Ljavax/naming/Name;
0 44 2 attrs Ljavax/naming/directory/Attributes;
0 44 3 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
2 44 4 inputAttrs Ljavax/naming/directory/Attributes;
8 11 5 oc Ljavax/naming/directory/Attribute;
12 23 5 newDN Ljava/lang/String;
16 23 6 entry Lcom/sun/jndi/ldap/LdapEntry;
17 23 7 answer Lcom/sun/jndi/ldap/LdapResult;
24 38 5 e Lcom/sun/jndi/ldap/LdapReferralException;
28 38 6 refCtx Lcom/sun/jndi/ldap/LdapReferralContext;
32 35 7 re Lcom/sun/jndi/ldap/LdapReferralException;
39 42 5 e Ljava/io/IOException;
40 42 6 e2 Ljavax/naming/NamingException;
43 44 5 e Ljavax/naming/NamingException;
Exception table:
from to target type
2 20 23 Class com.sun.jndi.ldap.LdapReferralException
21 22 23 Class com.sun.jndi.ldap.LdapReferralException
28 29 31 Class com.sun.jndi.ldap.LdapReferralException
28 29 35 any
31 33 35 any
2 20 38 Class java.io.IOException
21 22 38 Class java.io.IOException
2 20 42 Class javax.naming.NamingException
21 22 42 Class javax.naming.NamingException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
attrs
cont
protected void c_destroySubcontext(javax.naming.Name, com.sun.jndi.toolkit.ctx.Continuation);
descriptor: (Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 0
aload 1
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
1: aload 0
invokevirtual com.sun.jndi.ldap.LdapCtx.ensureOpen:()V
2: aload 0
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.fullyQualifiedName:(Ljavax/naming/Name;)Ljava/lang/String;
astore 3
start local 3 3: aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
aload 3
aload 0
getfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
invokevirtual com.sun.jndi.ldap.LdapClient.delete:(Ljava/lang/String;[Ljavax/naming/ldap/Control;)Lcom/sun/jndi/ldap/LdapResult;
astore 4
start local 4 4: aload 0
aload 4
getfield com.sun.jndi.ldap.LdapResult.resControls:Ljava/util/Vector;
putfield com.sun.jndi.ldap.LdapCtx.respCtls:Ljava/util/Vector;
5: aload 0
aload 3
aload 4
invokevirtual com.sun.jndi.ldap.LdapCtx.adjustDeleteStatus:(Ljava/lang/String;Lcom/sun/jndi/ldap/LdapResult;)V
6: aload 4
getfield com.sun.jndi.ldap.LdapResult.status:I
ifeq 30
7: aload 0
aload 4
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.processReturnCode:(Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;)V
end local 4 end local 3 8: goto 30
StackMap locals:
StackMap stack: com.sun.jndi.ldap.LdapReferralException
9: astore 3
start local 3 10: aload 0
getfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
iconst_2
if_icmpne 12
11: aload 2
aload 3
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
12: StackMap locals: com.sun.jndi.ldap.LdapReferralException
StackMap stack:
aload 3
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
aload 0
getfield com.sun.jndi.ldap.LdapCtx.bindCtls:[Ljavax/naming/ldap/Control;
invokevirtual com.sun.jndi.ldap.LdapReferralException.getReferralContext:(Ljava/util/Hashtable;[Ljavax/naming/ldap/Control;)Ljavax/naming/Context;
checkcast com.sun.jndi.ldap.LdapReferralContext
13: astore 4
start local 4 14: aload 4
aload 1
invokevirtual com.sun.jndi.ldap.LdapReferralContext.destroySubcontext:(Ljavax/naming/Name;)V
15: aload 4
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
16: return
17: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name com.sun.jndi.toolkit.ctx.Continuation com.sun.jndi.ldap.LdapReferralException com.sun.jndi.ldap.LdapReferralContext
StackMap stack: com.sun.jndi.ldap.LdapReferralException
astore 5
start local 5 18: aload 5
astore 3
19: aload 4
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
20: goto 12
end local 5 21: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
22: aload 4
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
23: aload 6
athrow
end local 4 end local 3 24: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name com.sun.jndi.toolkit.ctx.Continuation
StackMap stack: java.io.IOException
astore 3
start local 3 25: new javax.naming.CommunicationException
dup
aload 3
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial javax.naming.CommunicationException.<init>:(Ljava/lang/String;)V
astore 4
start local 4 26: aload 4
aload 3
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
27: aload 2
aload 4
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
end local 4 end local 3 28: StackMap locals:
StackMap stack: javax.naming.NamingException
astore 3
start local 3 29: aload 2
aload 3
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
end local 3 30: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 31 1 name Ljavax/naming/Name;
0 31 2 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
3 8 3 fname Ljava/lang/String;
4 8 4 answer Lcom/sun/jndi/ldap/LdapResult;
10 24 3 e Lcom/sun/jndi/ldap/LdapReferralException;
14 24 4 refCtx Lcom/sun/jndi/ldap/LdapReferralContext;
18 21 5 re Lcom/sun/jndi/ldap/LdapReferralException;
25 28 3 e Ljava/io/IOException;
26 28 4 e2 Ljavax/naming/NamingException;
29 30 3 e Ljavax/naming/NamingException;
Exception table:
from to target type
1 8 9 Class com.sun.jndi.ldap.LdapReferralException
14 15 17 Class com.sun.jndi.ldap.LdapReferralException
14 15 21 any
17 19 21 any
1 8 24 Class java.io.IOException
1 8 28 Class javax.naming.NamingException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
cont
private static javax.naming.directory.Attributes addRdnAttributes(java.lang.String, javax.naming.directory.Attributes, boolean);
descriptor: (Ljava/lang/String;Ljavax/naming/directory/Attributes;Z)Ljavax/naming/directory/Attributes;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
new javax.naming.ldap.LdapName
dup
aload 0
invokespecial javax.naming.ldap.LdapName.<init>:(Ljava/lang/String;)V
invokevirtual javax.naming.ldap.LdapName.getRdns:()Ljava/util/List;
astore 3
start local 3 3: aload 3
aload 3
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast javax.naming.ldap.Rdn
astore 4
start local 4 4: aload 4
invokevirtual javax.naming.ldap.Rdn.toAttributes:()Ljavax/naming/directory/Attributes;
astore 5
start local 5 5: aload 5
invokeinterface javax.naming.directory.Attributes.getAll:()Ljavax/naming/NamingEnumeration;
astore 6
start local 6 6: goto 16
7: StackMap locals: java.lang.String javax.naming.directory.Attributes int java.util.List javax.naming.ldap.Rdn javax.naming.directory.Attributes javax.naming.NamingEnumeration
StackMap stack:
aload 6
invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
checkcast javax.naming.directory.Attribute
astore 7
start local 7 8: aload 1
aload 7
invokeinterface javax.naming.directory.Attribute.getID:()Ljava/lang/String;
invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
ifnonnull 16
9: aload 1
invokeinterface javax.naming.directory.Attributes.isCaseIgnored:()Z
ifne 12
10: aload 1
invokeinterface javax.naming.directory.Attributes.getIDs:()Ljavax/naming/NamingEnumeration;
aload 7
invokeinterface javax.naming.directory.Attribute.getID:()Ljava/lang/String;
invokestatic com.sun.jndi.ldap.LdapCtx.containsIgnoreCase:(Ljavax/naming/NamingEnumeration;Ljava/lang/String;)Z
ifeq 12
11: goto 16
12: StackMap locals: javax.naming.directory.Attribute
StackMap stack:
iload 2
ifne 15
13: aload 1
invokeinterface javax.naming.directory.Attributes.clone:()Ljava/lang/Object;
checkcast javax.naming.directory.Attributes
astore 1
14: iconst_1
istore 2
15: StackMap locals:
StackMap stack:
aload 1
aload 7
invokeinterface javax.naming.directory.Attributes.put:(Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
pop
end local 7 16: StackMap locals:
StackMap stack:
aload 6
invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
ifne 7
17: aload 1
areturn
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 18 0 dn Ljava/lang/String;
0 18 1 attrs Ljavax/naming/directory/Attributes;
0 18 2 directUpdate Z
3 18 3 rdnList Ljava/util/List;
4 18 4 rdn Ljavax/naming/ldap/Rdn;
5 18 5 nameAttrs Ljavax/naming/directory/Attributes;
6 18 6 enum_ Ljavax/naming/NamingEnumeration;
8 16 7 nameAttr Ljavax/naming/directory/Attribute;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
dn
attrs
directUpdate
private static boolean containsIgnoreCase(javax.naming.NamingEnumeration, java.lang.String);
descriptor: (Ljavax/naming/NamingEnumeration;Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: goto 4
1: StackMap locals:
StackMap stack:
aload 0
invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 2: aload 2
aload 1
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 4
3: iconst_1
ireturn
end local 2 4: StackMap locals:
StackMap stack:
aload 0
invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
ifne 1
5: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 enumStr Ljavax/naming/NamingEnumeration;
0 6 1 str Ljava/lang/String;
2 4 2 strEntry Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
enumStr
str
private void adjustDeleteStatus(java.lang.String, com.sun.jndi.ldap.LdapResult);
descriptor: (Ljava/lang/String;Lcom/sun/jndi/ldap/LdapResult;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield com.sun.jndi.ldap.LdapResult.status:I
bipush 32
if_icmpne 8
1: aload 2
getfield com.sun.jndi.ldap.LdapResult.matchedDN:Ljava/lang/String;
ifnull 8
2: getstatic com.sun.jndi.ldap.LdapCtx.parser:Ljavax/naming/NameParser;
aload 1
invokeinterface javax.naming.NameParser.parse:(Ljava/lang/String;)Ljavax/naming/Name;
astore 3
start local 3 3: getstatic com.sun.jndi.ldap.LdapCtx.parser:Ljavax/naming/NameParser;
aload 2
getfield com.sun.jndi.ldap.LdapResult.matchedDN:Ljava/lang/String;
invokeinterface javax.naming.NameParser.parse:(Ljava/lang/String;)Ljavax/naming/Name;
astore 4
start local 4 4: aload 3
invokeinterface javax.naming.Name.size:()I
aload 4
invokeinterface javax.naming.Name.size:()I
isub
iconst_1
if_icmpne 8
5: aload 2
iconst_0
putfield com.sun.jndi.ldap.LdapResult.status:I
end local 4 end local 3 6: goto 8
StackMap locals:
StackMap stack: javax.naming.NamingException
7: pop
8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 9 1 fname Ljava/lang/String;
0 9 2 answer Lcom/sun/jndi/ldap/LdapResult;
3 6 3 orig Ljavax/naming/Name;
4 6 4 matched Ljavax/naming/Name;
Exception table:
from to target type
2 6 7 Class javax.naming.NamingException
MethodParameters:
Name Flags
fname
answer
private static java.util.Vector appendVector(java.util.Vector, java.util.Vector);
descriptor: (Ljava/util/Vector;Ljava/util/Vector;)Ljava/util/Vector;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 3
1: aload 1
astore 0
2: goto 8
3: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 4: goto 7
5: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 2
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 1
invokevirtual java.util.Vector.size:()I
if_icmplt 5
end local 2 8: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 v1 Ljava/util/Vector;
0 9 1 v2 Ljava/util/Vector;
4 8 2 i I
MethodParameters:
Name Flags
v1
v2
protected java.lang.Object c_lookupLink(javax.naming.Name, com.sun.jndi.toolkit.ctx.Continuation);
descriptor: (Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual com.sun.jndi.ldap.LdapCtx.c_lookup:(Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 1 1 name Ljavax/naming/Name;
0 1 2 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
cont
protected java.lang.Object c_lookup(javax.naming.Name, com.sun.jndi.toolkit.ctx.Continuation);
descriptor: (Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 0
aload 1
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
1: aconst_null
astore 3
start local 3 2: new javax.naming.directory.SearchControls
dup
invokespecial javax.naming.directory.SearchControls.<init>:()V
astore 5
start local 5 3: aload 5
iconst_0
invokevirtual javax.naming.directory.SearchControls.setSearchScope:(I)V
4: aload 5
aconst_null
invokevirtual javax.naming.directory.SearchControls.setReturningAttributes:([Ljava/lang/String;)V
5: aload 5
iconst_1
invokevirtual javax.naming.directory.SearchControls.setReturningObjFlag:(Z)V
6: aload 0
aload 1
ldc "(objectClass=*)"
aload 5
iconst_1
invokevirtual com.sun.jndi.ldap.LdapCtx.doSearchOnce:(Ljavax/naming/Name;Ljava/lang/String;Ljavax/naming/directory/SearchControls;Z)Lcom/sun/jndi/ldap/LdapResult;
astore 6
start local 6 7: aload 0
aload 6
getfield com.sun.jndi.ldap.LdapResult.resControls:Ljava/util/Vector;
putfield com.sun.jndi.ldap.LdapCtx.respCtls:Ljava/util/Vector;
8: aload 6
getfield com.sun.jndi.ldap.LdapResult.status:I
ifeq 10
9: aload 0
aload 6
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.processReturnCode:(Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;)V
10: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name com.sun.jndi.toolkit.ctx.Continuation java.lang.Object top javax.naming.directory.SearchControls com.sun.jndi.ldap.LdapResult
StackMap stack:
aload 6
getfield com.sun.jndi.ldap.LdapResult.entries:Ljava/util/Vector;
ifnull 11
aload 6
getfield com.sun.jndi.ldap.LdapResult.entries:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
iconst_1
if_icmpeq 13
11: StackMap locals:
StackMap stack:
new javax.naming.directory.BasicAttributes
dup
iconst_1
invokespecial javax.naming.directory.BasicAttributes.<init>:(Z)V
astore 4
start local 4 12: goto 18
end local 4 13: StackMap locals:
StackMap stack:
aload 6
getfield com.sun.jndi.ldap.LdapResult.entries:Ljava/util/Vector;
iconst_0
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast com.sun.jndi.ldap.LdapEntry
astore 7
start local 7 14: aload 7
getfield com.sun.jndi.ldap.LdapEntry.attributes:Ljavax/naming/directory/Attributes;
astore 4
start local 4 15: aload 7
getfield com.sun.jndi.ldap.LdapEntry.respCtls:Ljava/util/Vector;
astore 8
start local 8 16: aload 8
ifnull 18
17: aload 0
getfield com.sun.jndi.ldap.LdapCtx.respCtls:Ljava/util/Vector;
aload 8
invokestatic com.sun.jndi.ldap.LdapCtx.appendVector:(Ljava/util/Vector;Ljava/util/Vector;)Ljava/util/Vector;
pop
end local 8 end local 7 18: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name com.sun.jndi.toolkit.ctx.Continuation java.lang.Object javax.naming.directory.Attributes javax.naming.directory.SearchControls com.sun.jndi.ldap.LdapResult
StackMap stack:
aload 4
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_2
aaload
invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
ifnull 20
19: aload 4
invokestatic com.sun.jndi.ldap.Obj.decodeObject:(Ljavax/naming/directory/Attributes;)Ljava/lang/Object;
astore 3
20: StackMap locals:
StackMap stack:
aload 3
ifnonnull 40
21: new com.sun.jndi.ldap.LdapCtx
dup
aload 0
aload 0
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.fullyQualifiedName:(Ljavax/naming/Name;)Ljava/lang/String;
invokespecial com.sun.jndi.ldap.LdapCtx.<init>:(Lcom/sun/jndi/ldap/LdapCtx;Ljava/lang/String;)V
astore 3
end local 6 end local 5 22: goto 40
end local 4 StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name com.sun.jndi.toolkit.ctx.Continuation java.lang.Object
StackMap stack: com.sun.jndi.ldap.LdapReferralException
23: astore 5
start local 5 24: aload 0
getfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
iconst_2
if_icmpne 26
25: aload 2
aload 5
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
26: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name com.sun.jndi.toolkit.ctx.Continuation java.lang.Object top com.sun.jndi.ldap.LdapReferralException
StackMap stack:
aload 5
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
aload 0
getfield com.sun.jndi.ldap.LdapCtx.bindCtls:[Ljavax/naming/ldap/Control;
invokevirtual com.sun.jndi.ldap.LdapReferralException.getReferralContext:(Ljava/util/Hashtable;[Ljavax/naming/ldap/Control;)Ljavax/naming/Context;
checkcast com.sun.jndi.ldap.LdapReferralContext
27: astore 6
start local 6 28: aload 6
aload 1
invokevirtual com.sun.jndi.ldap.LdapReferralContext.lookup:(Ljavax/naming/Name;)Ljava/lang/Object;
astore 9
29: aload 6
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
30: aload 9
areturn
31: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name com.sun.jndi.toolkit.ctx.Continuation java.lang.Object top com.sun.jndi.ldap.LdapReferralException com.sun.jndi.ldap.LdapReferralContext
StackMap stack: com.sun.jndi.ldap.LdapReferralException
astore 7
start local 7 32: aload 7
astore 5
33: aload 6
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
34: goto 26
end local 7 35: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
36: aload 6
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
37: aload 8
athrow
end local 6 end local 5 38: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name com.sun.jndi.toolkit.ctx.Continuation java.lang.Object
StackMap stack: javax.naming.NamingException
astore 5
start local 5 39: aload 2
aload 5
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
end local 5 start local 4 40: StackMap locals: javax.naming.directory.Attributes
StackMap stack:
aload 3
aload 1
41: aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
aload 4
42: invokestatic javax.naming.spi.DirectoryManager.getObjectInstance:(Ljava/lang/Object;Ljavax/naming/Name;Ljavax/naming/Context;Ljava/util/Hashtable;Ljavax/naming/directory/Attributes;)Ljava/lang/Object;
43: areturn
44: StackMap locals:
StackMap stack: javax.naming.NamingException
astore 5
start local 5 45: aload 2
aload 5
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
end local 5 46: StackMap locals:
StackMap stack: java.lang.Exception
astore 5
start local 5 47: new javax.naming.NamingException
dup
48: ldc "problem generating object using object factory"
49: invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
astore 6
start local 6 50: aload 6
aload 5
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
51: aload 2
aload 6
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
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 52 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 52 1 name Ljavax/naming/Name;
0 52 2 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
2 52 3 obj Ljava/lang/Object;
12 13 4 attrs Ljavax/naming/directory/Attributes;
15 23 4 attrs Ljavax/naming/directory/Attributes;
40 52 4 attrs Ljavax/naming/directory/Attributes;
3 22 5 cons Ljavax/naming/directory/SearchControls;
7 22 6 answer Lcom/sun/jndi/ldap/LdapResult;
14 18 7 entry Lcom/sun/jndi/ldap/LdapEntry;
16 18 8 entryCtls Ljava/util/Vector;
24 38 5 e Lcom/sun/jndi/ldap/LdapReferralException;
28 38 6 refCtx Lcom/sun/jndi/ldap/LdapReferralContext;
32 35 7 re Lcom/sun/jndi/ldap/LdapReferralException;
39 40 5 e Ljavax/naming/NamingException;
45 46 5 e Ljavax/naming/NamingException;
47 52 5 e Ljava/lang/Exception;
50 52 6 e2 Ljavax/naming/NamingException;
Exception table:
from to target type
2 22 23 Class com.sun.jndi.ldap.LdapReferralException
28 29 31 Class com.sun.jndi.ldap.LdapReferralException
28 29 35 any
31 33 35 any
2 22 38 Class javax.naming.NamingException
40 43 44 Class javax.naming.NamingException
40 43 46 Class java.lang.Exception
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
cont
protected javax.naming.NamingEnumeration c_list(javax.naming.Name, com.sun.jndi.toolkit.ctx.Continuation);
descriptor: (Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NamingEnumeration;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=11, args_size=3
start local 0 start local 1 start local 2 0: new javax.naming.directory.SearchControls
dup
invokespecial javax.naming.directory.SearchControls.<init>:()V
astore 3
start local 3 1: iconst_2
anewarray java.lang.String
astore 4
start local 4 2: aload 4
iconst_0
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_0
aaload
aastore
3: aload 4
iconst_1
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_2
aaload
aastore
4: aload 3
aload 4
invokevirtual javax.naming.directory.SearchControls.setReturningAttributes:([Ljava/lang/String;)V
5: aload 3
iconst_1
invokevirtual javax.naming.directory.SearchControls.setReturningObjFlag:(Z)V
6: aload 2
aload 0
aload 1
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
7: aconst_null
astore 5
start local 5 8: aload 0
aload 1
ldc "(objectClass=*)"
aload 3
iconst_1
iconst_1
invokevirtual com.sun.jndi.ldap.LdapCtx.doSearch:(Ljavax/naming/Name;Ljava/lang/String;Ljavax/naming/directory/SearchControls;ZZ)Lcom/sun/jndi/ldap/LdapResult;
astore 5
9: aload 5
getfield com.sun.jndi.ldap.LdapResult.status:I
ifne 11
10: aload 5
getfield com.sun.jndi.ldap.LdapResult.referrals:Ljava/util/Vector;
ifnull 12
11: StackMap locals: javax.naming.directory.SearchControls java.lang.String[] com.sun.jndi.ldap.LdapResult
StackMap stack:
aload 0
aload 5
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.processReturnCode:(Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;)V
12: StackMap locals:
StackMap stack:
new com.sun.jndi.ldap.LdapNamingEnumeration
dup
aload 0
aload 5
aload 1
aload 2
invokespecial com.sun.jndi.ldap.LdapNamingEnumeration.<init>:(Lcom/sun/jndi/ldap/LdapCtx;Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
13: areturn
14: StackMap locals:
StackMap stack: com.sun.jndi.ldap.LdapReferralException
astore 6
start local 6 15: aload 0
getfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
iconst_2
if_icmpne 17
16: aload 2
aload 6
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
17: StackMap locals: com.sun.jndi.ldap.LdapReferralException
StackMap stack:
aload 6
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
aload 0
getfield com.sun.jndi.ldap.LdapCtx.bindCtls:[Ljavax/naming/ldap/Control;
invokevirtual com.sun.jndi.ldap.LdapReferralException.getReferralContext:(Ljava/util/Hashtable;[Ljavax/naming/ldap/Control;)Ljavax/naming/Context;
checkcast com.sun.jndi.ldap.LdapReferralContext
18: astore 7
start local 7 19: aload 7
aload 1
invokevirtual com.sun.jndi.ldap.LdapReferralContext.list:(Ljavax/naming/Name;)Ljavax/naming/NamingEnumeration;
astore 10
20: aload 7
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
21: aload 10
areturn
22: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.SearchControls java.lang.String[] com.sun.jndi.ldap.LdapResult com.sun.jndi.ldap.LdapReferralException com.sun.jndi.ldap.LdapReferralContext
StackMap stack: com.sun.jndi.ldap.LdapReferralException
astore 8
start local 8 23: aload 8
astore 6
24: aload 7
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
25: goto 17
end local 8 26: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
27: aload 7
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
28: aload 9
athrow
end local 7 end local 6 29: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.SearchControls java.lang.String[] com.sun.jndi.ldap.LdapResult
StackMap stack: javax.naming.LimitExceededException
astore 6
start local 6 30: new com.sun.jndi.ldap.LdapNamingEnumeration
dup
aload 0
aload 5
aload 1
aload 2
invokespecial com.sun.jndi.ldap.LdapNamingEnumeration.<init>:(Lcom/sun/jndi/ldap/LdapCtx;Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
31: astore 7
start local 7 32: aload 7
33: aload 2
aload 6
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
checkcast javax.naming.LimitExceededException
34: invokevirtual com.sun.jndi.ldap.LdapNamingEnumeration.setNamingException:(Ljavax/naming/NamingException;)V
35: aload 7
areturn
end local 7 end local 6 36: StackMap locals:
StackMap stack: javax.naming.PartialResultException
astore 6
start local 6 37: new com.sun.jndi.ldap.LdapNamingEnumeration
dup
aload 0
aload 5
aload 1
aload 2
invokespecial com.sun.jndi.ldap.LdapNamingEnumeration.<init>:(Lcom/sun/jndi/ldap/LdapCtx;Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
38: astore 7
start local 7 39: aload 7
40: aload 2
aload 6
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
checkcast javax.naming.PartialResultException
41: invokevirtual com.sun.jndi.ldap.LdapNamingEnumeration.setNamingException:(Ljavax/naming/NamingException;)V
42: aload 7
areturn
end local 7 end local 6 43: StackMap locals:
StackMap stack: javax.naming.NamingException
astore 6
start local 6 44: aload 2
aload 6
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
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 45 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 45 1 name Ljavax/naming/Name;
0 45 2 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
1 45 3 cons Ljavax/naming/directory/SearchControls;
2 45 4 classAttrs [Ljava/lang/String;
8 45 5 answer Lcom/sun/jndi/ldap/LdapResult;
15 29 6 e Lcom/sun/jndi/ldap/LdapReferralException;
19 29 7 refCtx Lcom/sun/jndi/ldap/LdapReferralContext;
23 26 8 re Lcom/sun/jndi/ldap/LdapReferralException;
30 36 6 e Ljavax/naming/LimitExceededException;
32 36 7 res Lcom/sun/jndi/ldap/LdapNamingEnumeration;
37 43 6 e Ljavax/naming/PartialResultException;
39 43 7 res Lcom/sun/jndi/ldap/LdapNamingEnumeration;
44 45 6 e Ljavax/naming/NamingException;
Exception table:
from to target type
8 13 14 Class com.sun.jndi.ldap.LdapReferralException
19 20 22 Class com.sun.jndi.ldap.LdapReferralException
19 20 26 any
22 24 26 any
8 13 29 Class javax.naming.LimitExceededException
8 13 36 Class javax.naming.PartialResultException
8 13 43 Class javax.naming.NamingException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
cont
protected javax.naming.NamingEnumeration c_listBindings(javax.naming.Name, com.sun.jndi.toolkit.ctx.Continuation);
descriptor: (Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NamingEnumeration;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=10, args_size=3
start local 0 start local 1 start local 2 0: new javax.naming.directory.SearchControls
dup
invokespecial javax.naming.directory.SearchControls.<init>:()V
astore 3
start local 3 1: aload 3
aconst_null
invokevirtual javax.naming.directory.SearchControls.setReturningAttributes:([Ljava/lang/String;)V
2: aload 3
iconst_1
invokevirtual javax.naming.directory.SearchControls.setReturningObjFlag:(Z)V
3: aload 2
aload 0
aload 1
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
4: aconst_null
astore 4
start local 4 5: aload 0
aload 1
ldc "(objectClass=*)"
aload 3
iconst_1
iconst_1
invokevirtual com.sun.jndi.ldap.LdapCtx.doSearch:(Ljavax/naming/Name;Ljava/lang/String;Ljavax/naming/directory/SearchControls;ZZ)Lcom/sun/jndi/ldap/LdapResult;
astore 4
6: aload 4
getfield com.sun.jndi.ldap.LdapResult.status:I
ifne 8
7: aload 4
getfield com.sun.jndi.ldap.LdapResult.referrals:Ljava/util/Vector;
ifnull 9
8: StackMap locals: javax.naming.directory.SearchControls com.sun.jndi.ldap.LdapResult
StackMap stack:
aload 0
aload 4
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.processReturnCode:(Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;)V
9: StackMap locals:
StackMap stack:
new com.sun.jndi.ldap.LdapBindingEnumeration
dup
aload 0
aload 4
aload 1
aload 2
invokespecial com.sun.jndi.ldap.LdapBindingEnumeration.<init>:(Lcom/sun/jndi/ldap/LdapCtx;Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
10: areturn
11: StackMap locals:
StackMap stack: com.sun.jndi.ldap.LdapReferralException
astore 5
start local 5 12: aload 0
getfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
iconst_2
if_icmpne 14
13: aload 2
aload 5
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
14: StackMap locals: com.sun.jndi.ldap.LdapReferralException
StackMap stack:
aload 5
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
aload 0
getfield com.sun.jndi.ldap.LdapCtx.bindCtls:[Ljavax/naming/ldap/Control;
invokevirtual com.sun.jndi.ldap.LdapReferralException.getReferralContext:(Ljava/util/Hashtable;[Ljavax/naming/ldap/Control;)Ljavax/naming/Context;
checkcast com.sun.jndi.ldap.LdapReferralContext
15: astore 6
start local 6 16: aload 6
aload 1
invokevirtual com.sun.jndi.ldap.LdapReferralContext.listBindings:(Ljavax/naming/Name;)Ljavax/naming/NamingEnumeration;
astore 9
17: aload 6
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
18: aload 9
areturn
19: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.SearchControls com.sun.jndi.ldap.LdapResult com.sun.jndi.ldap.LdapReferralException com.sun.jndi.ldap.LdapReferralContext
StackMap stack: com.sun.jndi.ldap.LdapReferralException
astore 7
start local 7 20: aload 7
astore 5
21: aload 6
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
22: goto 14
end local 7 23: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
24: aload 6
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
25: aload 8
athrow
end local 6 end local 5 26: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.SearchControls com.sun.jndi.ldap.LdapResult
StackMap stack: javax.naming.LimitExceededException
astore 5
start local 5 27: new com.sun.jndi.ldap.LdapBindingEnumeration
dup
aload 0
aload 4
aload 1
aload 2
invokespecial com.sun.jndi.ldap.LdapBindingEnumeration.<init>:(Lcom/sun/jndi/ldap/LdapCtx;Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
28: astore 6
start local 6 29: aload 6
30: aload 2
aload 5
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
checkcast javax.naming.LimitExceededException
31: invokevirtual com.sun.jndi.ldap.LdapBindingEnumeration.setNamingException:(Ljavax/naming/NamingException;)V
32: aload 6
areturn
end local 6 end local 5 33: StackMap locals:
StackMap stack: javax.naming.PartialResultException
astore 5
start local 5 34: new com.sun.jndi.ldap.LdapBindingEnumeration
dup
aload 0
aload 4
aload 1
aload 2
invokespecial com.sun.jndi.ldap.LdapBindingEnumeration.<init>:(Lcom/sun/jndi/ldap/LdapCtx;Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
35: astore 6
start local 6 36: aload 6
37: aload 2
aload 5
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
checkcast javax.naming.PartialResultException
38: invokevirtual com.sun.jndi.ldap.LdapBindingEnumeration.setNamingException:(Ljavax/naming/NamingException;)V
39: aload 6
areturn
end local 6 end local 5 40: StackMap locals:
StackMap stack: javax.naming.NamingException
astore 5
start local 5 41: aload 2
aload 5
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
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 42 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 42 1 name Ljavax/naming/Name;
0 42 2 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
1 42 3 cons Ljavax/naming/directory/SearchControls;
5 42 4 answer Lcom/sun/jndi/ldap/LdapResult;
12 26 5 e Lcom/sun/jndi/ldap/LdapReferralException;
16 26 6 refCtx Lcom/sun/jndi/ldap/LdapReferralContext;
20 23 7 re Lcom/sun/jndi/ldap/LdapReferralException;
27 33 5 e Ljavax/naming/LimitExceededException;
29 33 6 res Lcom/sun/jndi/ldap/LdapBindingEnumeration;
34 40 5 e Ljavax/naming/PartialResultException;
36 40 6 res Lcom/sun/jndi/ldap/LdapBindingEnumeration;
41 42 5 e Ljavax/naming/NamingException;
Exception table:
from to target type
5 10 11 Class com.sun.jndi.ldap.LdapReferralException
16 17 19 Class com.sun.jndi.ldap.LdapReferralException
16 17 23 any
19 21 23 any
5 10 26 Class javax.naming.LimitExceededException
5 10 33 Class javax.naming.PartialResultException
5 10 40 Class javax.naming.NamingException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
cont
protected javax.naming.NameParser c_getNameParser(javax.naming.Name, com.sun.jndi.toolkit.ctx.Continuation);
descriptor: (Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NameParser;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setSuccess:()V
1: getstatic com.sun.jndi.ldap.LdapCtx.parser:Ljavax/naming/NameParser;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 2 1 name Ljavax/naming/Name;
0 2 2 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
cont
public java.lang.String getNameInNamespace();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jndi.ldap.LdapCtx.currentDN:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/ldap/LdapCtx;
public javax.naming.Name composeName(javax.naming.Name, javax.naming.Name);
descriptor: (Ljavax/naming/Name;Ljavax/naming/Name;)Ljavax/naming/Name;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof javax.naming.ldap.LdapName
ifeq 4
aload 2
instanceof javax.naming.ldap.LdapName
ifeq 4
1: aload 2
invokeinterface javax.naming.Name.clone:()Ljava/lang/Object;
checkcast javax.naming.Name
astore 3
start local 3 2: aload 3
aload 1
invokeinterface javax.naming.Name.addAll:(Ljavax/naming/Name;)Ljavax/naming/Name;
pop
3: new javax.naming.CompositeName
dup
invokespecial javax.naming.CompositeName.<init>:()V
aload 3
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual javax.naming.CompositeName.add:(Ljava/lang/String;)Ljavax/naming/Name;
areturn
end local 3 4: StackMap locals:
StackMap stack:
aload 1
instanceof javax.naming.CompositeName
ifne 6
5: new javax.naming.CompositeName
dup
invokespecial javax.naming.CompositeName.<init>:()V
aload 1
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual javax.naming.CompositeName.add:(Ljava/lang/String;)Ljavax/naming/Name;
astore 1
6: StackMap locals:
StackMap stack:
aload 2
instanceof javax.naming.CompositeName
ifne 8
7: new javax.naming.CompositeName
dup
invokespecial javax.naming.CompositeName.<init>:()V
aload 2
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual javax.naming.CompositeName.add:(Ljava/lang/String;)Ljavax/naming/Name;
astore 2
8: StackMap locals:
StackMap stack:
aload 2
invokeinterface javax.naming.Name.size:()I
iconst_1
isub
istore 4
start local 4 9: aload 1
invokeinterface javax.naming.Name.isEmpty:()Z
ifne 11
aload 2
invokeinterface javax.naming.Name.isEmpty:()Z
ifne 11
10: aload 1
iconst_0
invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 11
aload 2
iload 4
invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
11: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name javax.naming.Name top int
StackMap stack:
aload 0
aload 1
aload 2
invokespecial com.sun.jndi.toolkit.ctx.ComponentDirContext.composeName:(Ljavax/naming/Name;Ljavax/naming/Name;)Ljavax/naming/Name;
areturn
12: StackMap locals:
StackMap stack:
aload 2
invokeinterface javax.naming.Name.clone:()Ljava/lang/Object;
checkcast javax.naming.Name
astore 3
start local 3 13: aload 3
aload 1
invokeinterface javax.naming.Name.addAll:(Ljavax/naming/Name;)Ljavax/naming/Name;
pop
14: aload 0
getfield com.sun.jndi.ldap.LdapCtx.parentIsLdapCtx:Z
ifeq 21
15: aload 3
iload 4
iconst_1
iadd
invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
16: aload 3
iload 4
invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
17: invokestatic com.sun.jndi.ldap.LdapCtx.concatNames:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 18: aload 3
iload 4
iconst_1
iadd
invokeinterface javax.naming.Name.remove:(I)Ljava/lang/Object;
pop
19: aload 3
iload 4
invokeinterface javax.naming.Name.remove:(I)Ljava/lang/Object;
pop
20: aload 3
iload 4
aload 5
invokeinterface javax.naming.Name.add:(ILjava/lang/String;)Ljavax/naming/Name;
pop
end local 5 21: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name javax.naming.Name javax.naming.Name int
StackMap stack:
aload 3
areturn
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 Lcom/sun/jndi/ldap/LdapCtx;
0 22 1 name Ljavax/naming/Name;
0 22 2 prefix Ljavax/naming/Name;
2 4 3 result Ljavax/naming/Name;
13 22 3 result Ljavax/naming/Name;
9 22 4 prefixLast I
18 21 5 ldapComp Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
prefix
private java.lang.String fullyQualifiedName(javax.naming.Name);
descriptor: (Ljavax/naming/Name;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface javax.naming.Name.isEmpty:()Z
ifeq 2
1: aload 0
getfield com.sun.jndi.ldap.LdapCtx.currentDN:Ljava/lang/String;
goto 3
2: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
invokevirtual com.sun.jndi.ldap.LdapCtx.fullyQualifiedName:(Ljava/lang/String;)Ljava/lang/String;
3: StackMap locals:
StackMap stack: java.lang.String
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 4 1 rel Ljavax/naming/Name;
MethodParameters:
Name Flags
rel
private java.lang.String fullyQualifiedName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield com.sun.jndi.ldap.LdapCtx.currentDN:Ljava/lang/String;
invokestatic com.sun.jndi.ldap.LdapCtx.concatNames:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 1 1 rel Ljava/lang/String;
MethodParameters:
Name Flags
rel
private static java.lang.String concatNames(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnull 1
aload 0
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
ifnull 3
aload 1
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: StackMap locals:
StackMap stack:
aload 0
areturn
4: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ","
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 lesser Ljava/lang/String;
0 5 1 greater Ljava/lang/String;
MethodParameters:
Name Flags
lesser
greater
protected javax.naming.directory.Attributes c_getAttributes(javax.naming.Name, java.lang.String[], com.sun.jndi.toolkit.ctx.Continuation);
descriptor: (Ljavax/naming/Name;[Ljava/lang/String;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/directory/Attributes;
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
aload 0
aload 1
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
1: new javax.naming.directory.SearchControls
dup
invokespecial javax.naming.directory.SearchControls.<init>:()V
astore 4
start local 4 2: aload 4
iconst_0
invokevirtual javax.naming.directory.SearchControls.setSearchScope:(I)V
3: aload 4
aload 2
invokevirtual javax.naming.directory.SearchControls.setReturningAttributes:([Ljava/lang/String;)V
4: aload 0
aload 1
ldc "(objectClass=*)"
aload 4
iconst_1
invokevirtual com.sun.jndi.ldap.LdapCtx.doSearchOnce:(Ljavax/naming/Name;Ljava/lang/String;Ljavax/naming/directory/SearchControls;Z)Lcom/sun/jndi/ldap/LdapResult;
5: astore 5
start local 5 6: aload 0
aload 5
getfield com.sun.jndi.ldap.LdapResult.resControls:Ljava/util/Vector;
putfield com.sun.jndi.ldap.LdapCtx.respCtls:Ljava/util/Vector;
7: aload 5
getfield com.sun.jndi.ldap.LdapResult.status:I
ifeq 9
8: aload 0
aload 5
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.processReturnCode:(Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;)V
9: StackMap locals: javax.naming.directory.SearchControls com.sun.jndi.ldap.LdapResult
StackMap stack:
aload 5
getfield com.sun.jndi.ldap.LdapResult.entries:Ljava/util/Vector;
ifnull 10
aload 5
getfield com.sun.jndi.ldap.LdapResult.entries:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
iconst_1
if_icmpeq 12
10: StackMap locals:
StackMap stack:
new javax.naming.directory.BasicAttributes
dup
iconst_1
invokespecial javax.naming.directory.BasicAttributes.<init>:(Z)V
11: areturn
12: StackMap locals:
StackMap stack:
aload 5
getfield com.sun.jndi.ldap.LdapResult.entries:Ljava/util/Vector;
iconst_0
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast com.sun.jndi.ldap.LdapEntry
astore 6
start local 6 13: aload 6
getfield com.sun.jndi.ldap.LdapEntry.respCtls:Ljava/util/Vector;
astore 7
start local 7 14: aload 7
ifnull 16
15: aload 0
getfield com.sun.jndi.ldap.LdapCtx.respCtls:Ljava/util/Vector;
aload 7
invokestatic com.sun.jndi.ldap.LdapCtx.appendVector:(Ljava/util/Vector;Ljava/util/Vector;)Ljava/util/Vector;
pop
16: StackMap locals: com.sun.jndi.ldap.LdapEntry java.util.Vector
StackMap stack:
aload 0
aload 6
getfield com.sun.jndi.ldap.LdapEntry.attributes:Ljavax/naming/directory/Attributes;
aload 1
invokeinterface javax.naming.Name.clone:()Ljava/lang/Object;
checkcast javax.naming.Name
invokevirtual com.sun.jndi.ldap.LdapCtx.setParents:(Ljavax/naming/directory/Attributes;Ljavax/naming/Name;)V
17: aload 6
getfield com.sun.jndi.ldap.LdapEntry.attributes:Ljavax/naming/directory/Attributes;
18: areturn
end local 7 end local 6 end local 5 19: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name java.lang.String[] com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.SearchControls
StackMap stack: com.sun.jndi.ldap.LdapReferralException
astore 5
start local 5 20: aload 0
getfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
iconst_2
if_icmpne 22
21: aload 3
aload 5
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
22: StackMap locals: com.sun.jndi.ldap.LdapReferralException
StackMap stack:
aload 5
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
aload 0
getfield com.sun.jndi.ldap.LdapCtx.bindCtls:[Ljavax/naming/ldap/Control;
invokevirtual com.sun.jndi.ldap.LdapReferralException.getReferralContext:(Ljava/util/Hashtable;[Ljavax/naming/ldap/Control;)Ljavax/naming/Context;
checkcast com.sun.jndi.ldap.LdapReferralContext
23: astore 6
start local 6 24: aload 6
aload 1
aload 2
invokevirtual com.sun.jndi.ldap.LdapReferralContext.getAttributes:(Ljavax/naming/Name;[Ljava/lang/String;)Ljavax/naming/directory/Attributes;
astore 9
25: aload 6
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
26: aload 9
areturn
27: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name java.lang.String[] com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.SearchControls com.sun.jndi.ldap.LdapReferralException com.sun.jndi.ldap.LdapReferralContext
StackMap stack: com.sun.jndi.ldap.LdapReferralException
astore 7
start local 7 28: aload 7
astore 5
29: aload 6
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
30: goto 22
end local 7 31: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
32: aload 6
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
33: aload 8
athrow
end local 6 end local 5 34: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name java.lang.String[] com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.SearchControls
StackMap stack: javax.naming.NamingException
astore 5
start local 5 35: aload 3
aload 5
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
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 36 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 36 1 name Ljavax/naming/Name;
0 36 2 attrIds [Ljava/lang/String;
0 36 3 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
2 36 4 cons Ljavax/naming/directory/SearchControls;
6 19 5 answer Lcom/sun/jndi/ldap/LdapResult;
13 19 6 entry Lcom/sun/jndi/ldap/LdapEntry;
14 19 7 entryCtls Ljava/util/Vector;
20 34 5 e Lcom/sun/jndi/ldap/LdapReferralException;
24 34 6 refCtx Lcom/sun/jndi/ldap/LdapReferralContext;
28 31 7 re Lcom/sun/jndi/ldap/LdapReferralException;
35 36 5 e Ljavax/naming/NamingException;
Exception table:
from to target type
4 11 19 Class com.sun.jndi.ldap.LdapReferralException
12 18 19 Class com.sun.jndi.ldap.LdapReferralException
24 25 27 Class com.sun.jndi.ldap.LdapReferralException
24 25 31 any
27 29 31 any
4 11 34 Class javax.naming.NamingException
12 18 34 Class javax.naming.NamingException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
attrIds
cont
protected void c_modifyAttributes(javax.naming.Name, int, javax.naming.directory.Attributes, com.sun.jndi.toolkit.ctx.Continuation);
descriptor: (Ljavax/naming/Name;ILjavax/naming/directory/Attributes;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
aload 0
aload 1
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
1: aload 0
invokevirtual com.sun.jndi.ldap.LdapCtx.ensureOpen:()V
2: aload 3
ifnull 3
aload 3
invokeinterface javax.naming.directory.Attributes.size:()I
ifne 4
3: StackMap locals:
StackMap stack:
return
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.fullyQualifiedName:(Ljavax/naming/Name;)Ljava/lang/String;
astore 5
start local 5 5: iload 2
invokestatic com.sun.jndi.ldap.LdapCtx.convertToLdapModCode:(I)I
istore 6
start local 6 6: aload 3
invokeinterface javax.naming.directory.Attributes.size:()I
newarray 10
astore 7
start local 7 7: aload 3
invokeinterface javax.naming.directory.Attributes.size:()I
anewarray javax.naming.directory.Attribute
astore 8
start local 8 8: aload 3
invokeinterface javax.naming.directory.Attributes.getAll:()Ljavax/naming/NamingEnumeration;
astore 9
start local 9 9: iconst_0
istore 10
start local 10 10: goto 14
11: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name int javax.naming.directory.Attributes com.sun.jndi.toolkit.ctx.Continuation java.lang.String int int[] javax.naming.directory.Attribute[] javax.naming.NamingEnumeration int
StackMap stack:
aload 7
iload 10
iload 6
iastore
12: aload 8
iload 10
aload 9
invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
checkcast javax.naming.directory.Attribute
aastore
13: iinc 10 1
StackMap locals:
StackMap stack:
14: iload 10
aload 7
arraylength
if_icmpge 15
aload 9
invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
ifne 11
end local 10 15: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
aload 5
aload 7
aload 8
aload 0
getfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
invokevirtual com.sun.jndi.ldap.LdapClient.modify:(Ljava/lang/String;[I[Ljavax/naming/directory/Attribute;[Ljavax/naming/ldap/Control;)Lcom/sun/jndi/ldap/LdapResult;
astore 10
start local 10 16: aload 0
aload 10
getfield com.sun.jndi.ldap.LdapResult.resControls:Ljava/util/Vector;
putfield com.sun.jndi.ldap.LdapCtx.respCtls:Ljava/util/Vector;
17: aload 10
getfield com.sun.jndi.ldap.LdapResult.status:I
ifeq 41
18: aload 0
aload 10
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.processReturnCode:(Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;)V
19: return
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 20: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name int javax.naming.directory.Attributes com.sun.jndi.toolkit.ctx.Continuation
StackMap stack: com.sun.jndi.ldap.LdapReferralException
astore 5
start local 5 21: aload 0
getfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
iconst_2
if_icmpne 23
22: aload 4
aload 5
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
23: StackMap locals: com.sun.jndi.ldap.LdapReferralException
StackMap stack:
aload 5
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
aload 0
getfield com.sun.jndi.ldap.LdapCtx.bindCtls:[Ljavax/naming/ldap/Control;
invokevirtual com.sun.jndi.ldap.LdapReferralException.getReferralContext:(Ljava/util/Hashtable;[Ljavax/naming/ldap/Control;)Ljavax/naming/Context;
checkcast com.sun.jndi.ldap.LdapReferralContext
24: astore 6
start local 6 25: aload 6
aload 1
iload 2
aload 3
invokevirtual com.sun.jndi.ldap.LdapReferralContext.modifyAttributes:(Ljavax/naming/Name;ILjavax/naming/directory/Attributes;)V
26: aload 6
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
27: return
28: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name int javax.naming.directory.Attributes com.sun.jndi.toolkit.ctx.Continuation com.sun.jndi.ldap.LdapReferralException com.sun.jndi.ldap.LdapReferralContext
StackMap stack: com.sun.jndi.ldap.LdapReferralException
astore 7
start local 7 29: aload 7
astore 5
30: aload 6
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
31: goto 23
end local 7 32: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
33: aload 6
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
34: aload 8
athrow
end local 6 end local 5 35: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name int javax.naming.directory.Attributes com.sun.jndi.toolkit.ctx.Continuation
StackMap stack: java.io.IOException
astore 5
start local 5 36: new javax.naming.CommunicationException
dup
aload 5
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial javax.naming.CommunicationException.<init>:(Ljava/lang/String;)V
astore 6
start local 6 37: aload 6
aload 5
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
38: aload 4
aload 6
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
end local 6 end local 5 39: StackMap locals:
StackMap stack: javax.naming.NamingException
astore 5
start local 5 40: aload 4
aload 5
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
end local 5 41: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 42 1 name Ljavax/naming/Name;
0 42 2 mod_op I
0 42 3 attrs Ljavax/naming/directory/Attributes;
0 42 4 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
5 20 5 newDN Ljava/lang/String;
6 20 6 jmod_op I
7 20 7 jmods [I
8 20 8 jattrs [Ljavax/naming/directory/Attribute;
9 20 9 ae Ljavax/naming/NamingEnumeration;
10 15 10 i I
16 20 10 answer Lcom/sun/jndi/ldap/LdapResult;
21 35 5 e Lcom/sun/jndi/ldap/LdapReferralException;
25 35 6 refCtx Lcom/sun/jndi/ldap/LdapReferralContext;
29 32 7 re Lcom/sun/jndi/ldap/LdapReferralException;
36 39 5 e Ljava/io/IOException;
37 39 6 e2 Ljavax/naming/NamingException;
40 41 5 e Ljavax/naming/NamingException;
Exception table:
from to target type
1 3 20 Class com.sun.jndi.ldap.LdapReferralException
4 19 20 Class com.sun.jndi.ldap.LdapReferralException
25 26 28 Class com.sun.jndi.ldap.LdapReferralException
25 26 32 any
28 30 32 any
1 3 35 Class java.io.IOException
4 19 35 Class java.io.IOException
1 3 39 Class javax.naming.NamingException
4 19 39 Class javax.naming.NamingException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
mod_op
attrs
cont
protected void c_modifyAttributes(javax.naming.Name, javax.naming.directory.ModificationItem[], com.sun.jndi.toolkit.ctx.Continuation);
descriptor: (Ljavax/naming/Name;[Ljavax/naming/directory/ModificationItem;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
aload 0
aload 1
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
1: aload 0
invokevirtual com.sun.jndi.ldap.LdapCtx.ensureOpen:()V
2: aload 2
ifnull 3
aload 2
arraylength
ifne 4
3: StackMap locals:
StackMap stack:
return
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.fullyQualifiedName:(Ljavax/naming/Name;)Ljava/lang/String;
astore 4
start local 4 5: aload 2
arraylength
newarray 10
astore 5
start local 5 6: aload 2
arraylength
anewarray javax.naming.directory.Attribute
astore 6
start local 6 7: iconst_0
istore 8
start local 8 8: goto 13
9: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name javax.naming.directory.ModificationItem[] com.sun.jndi.toolkit.ctx.Continuation java.lang.String int[] javax.naming.directory.Attribute[] top int
StackMap stack:
aload 2
iload 8
aaload
astore 7
start local 7 10: aload 5
iload 8
aload 7
invokevirtual javax.naming.directory.ModificationItem.getModificationOp:()I
invokestatic com.sun.jndi.ldap.LdapCtx.convertToLdapModCode:(I)I
iastore
11: aload 6
iload 8
aload 7
invokevirtual javax.naming.directory.ModificationItem.getAttribute:()Ljavax/naming/directory/Attribute;
aastore
12: iinc 8 1
end local 7 StackMap locals:
StackMap stack:
13: iload 8
aload 5
arraylength
if_icmplt 9
end local 8 14: aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
aload 4
aload 5
aload 6
aload 0
getfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
invokevirtual com.sun.jndi.ldap.LdapClient.modify:(Ljava/lang/String;[I[Ljavax/naming/directory/Attribute;[Ljavax/naming/ldap/Control;)Lcom/sun/jndi/ldap/LdapResult;
astore 8
start local 8 15: aload 0
aload 8
getfield com.sun.jndi.ldap.LdapResult.resControls:Ljava/util/Vector;
putfield com.sun.jndi.ldap.LdapCtx.respCtls:Ljava/util/Vector;
16: aload 8
getfield com.sun.jndi.ldap.LdapResult.status:I
ifeq 40
17: aload 0
aload 8
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.processReturnCode:(Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;)V
end local 8 end local 6 end local 5 end local 4 18: goto 40
StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name javax.naming.directory.ModificationItem[] com.sun.jndi.toolkit.ctx.Continuation
StackMap stack: com.sun.jndi.ldap.LdapReferralException
19: astore 4
start local 4 20: aload 0
getfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
iconst_2
if_icmpne 22
21: aload 3
aload 4
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
22: StackMap locals: com.sun.jndi.ldap.LdapReferralException
StackMap stack:
aload 4
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
aload 0
getfield com.sun.jndi.ldap.LdapCtx.bindCtls:[Ljavax/naming/ldap/Control;
invokevirtual com.sun.jndi.ldap.LdapReferralException.getReferralContext:(Ljava/util/Hashtable;[Ljavax/naming/ldap/Control;)Ljavax/naming/Context;
checkcast com.sun.jndi.ldap.LdapReferralContext
23: astore 5
start local 5 24: aload 5
aload 1
aload 2
invokevirtual com.sun.jndi.ldap.LdapReferralContext.modifyAttributes:(Ljavax/naming/Name;[Ljavax/naming/directory/ModificationItem;)V
25: aload 5
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
26: return
27: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name javax.naming.directory.ModificationItem[] com.sun.jndi.toolkit.ctx.Continuation com.sun.jndi.ldap.LdapReferralException com.sun.jndi.ldap.LdapReferralContext
StackMap stack: com.sun.jndi.ldap.LdapReferralException
astore 6
start local 6 28: aload 6
astore 4
29: aload 5
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
30: goto 22
end local 6 31: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
32: aload 5
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
33: aload 7
athrow
end local 5 end local 4 34: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name javax.naming.directory.ModificationItem[] com.sun.jndi.toolkit.ctx.Continuation
StackMap stack: java.io.IOException
astore 4
start local 4 35: new javax.naming.CommunicationException
dup
aload 4
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial javax.naming.CommunicationException.<init>:(Ljava/lang/String;)V
astore 5
start local 5 36: aload 5
aload 4
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
37: aload 3
aload 5
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
end local 5 end local 4 38: StackMap locals:
StackMap stack: javax.naming.NamingException
astore 4
start local 4 39: aload 3
aload 4
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
end local 4 40: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 41 1 name Ljavax/naming/Name;
0 41 2 mods [Ljavax/naming/directory/ModificationItem;
0 41 3 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
5 18 4 newDN Ljava/lang/String;
6 18 5 jmods [I
7 18 6 jattrs [Ljavax/naming/directory/Attribute;
10 13 7 mod Ljavax/naming/directory/ModificationItem;
8 14 8 i I
15 18 8 answer Lcom/sun/jndi/ldap/LdapResult;
20 34 4 e Lcom/sun/jndi/ldap/LdapReferralException;
24 34 5 refCtx Lcom/sun/jndi/ldap/LdapReferralContext;
28 31 6 re Lcom/sun/jndi/ldap/LdapReferralException;
35 38 4 e Ljava/io/IOException;
36 38 5 e2 Ljavax/naming/NamingException;
39 40 4 e Ljavax/naming/NamingException;
Exception table:
from to target type
1 3 19 Class com.sun.jndi.ldap.LdapReferralException
4 18 19 Class com.sun.jndi.ldap.LdapReferralException
24 25 27 Class com.sun.jndi.ldap.LdapReferralException
24 25 31 any
27 29 31 any
1 3 34 Class java.io.IOException
4 18 34 Class java.io.IOException
1 3 38 Class javax.naming.NamingException
4 18 38 Class javax.naming.NamingException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
mods
cont
private static int convertToLdapModCode(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
tableswitch { // 1 - 3
1: 1
2: 2
3: 3
default: 4
}
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iconst_2
ireturn
3: StackMap locals:
StackMap stack:
iconst_1
ireturn
4: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Invalid modification code"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 mod_op I
MethodParameters:
Name Flags
mod_op
protected javax.naming.directory.DirContext c_getSchema(javax.naming.Name, com.sun.jndi.toolkit.ctx.Continuation);
descriptor: (Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/directory/DirContext;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 0
aload 1
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
1: aload 0
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.getSchemaTree:(Ljavax/naming/Name;)Ljavax/naming/directory/DirContext;
2: areturn
3: StackMap locals:
StackMap stack: javax.naming.NamingException
astore 3
start local 3 4: aload 2
aload 3
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 5 1 name Ljavax/naming/Name;
0 5 2 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
4 5 3 e Ljavax/naming/NamingException;
Exception table:
from to target type
1 2 3 Class javax.naming.NamingException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
cont
protected javax.naming.directory.DirContext c_getSchemaClassDefinition(javax.naming.Name, com.sun.jndi.toolkit.ctx.Continuation);
descriptor: (Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/directory/DirContext;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 0
aload 1
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
1: aload 0
aload 1
2: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "objectclass"
aastore
aload 2
3: invokevirtual com.sun.jndi.ldap.LdapCtx.c_getAttributes:(Ljavax/naming/Name;[Ljava/lang/String;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/directory/Attributes;
4: ldc "objectclass"
invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
5: astore 3
start local 3 6: aload 3
ifnull 7
aload 3
invokeinterface javax.naming.directory.Attribute.size:()I
ifne 9
7: StackMap locals: javax.naming.directory.Attribute
StackMap stack:
getstatic com.sun.jndi.ldap.LdapCtx.EMPTY_SCHEMA:Lcom/sun/jndi/toolkit/dir/HierMemDirCtx;
8: areturn
9: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual com.sun.jndi.ldap.LdapCtx.c_getSchema:(Ljavax/naming/Name;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/directory/DirContext;
10: ldc "ClassDefinition"
11: invokeinterface javax.naming.directory.DirContext.lookup:(Ljava/lang/String;)Ljava/lang/Object;
checkcast javax.naming.Context
astore 4
start local 4 12: new com.sun.jndi.toolkit.dir.HierMemDirCtx
dup
invokespecial com.sun.jndi.toolkit.dir.HierMemDirCtx.<init>:()V
astore 5
start local 5 13: aload 3
invokeinterface javax.naming.directory.Attribute.getAll:()Ljavax/naming/NamingEnumeration;
astore 8
start local 8 14: goto 18
15: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.Attribute javax.naming.Context com.sun.jndi.toolkit.dir.HierMemDirCtx top top java.util.Enumeration
StackMap stack:
aload 8
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 16: aload 4
aload 7
invokeinterface javax.naming.Context.lookup:(Ljava/lang/String;)Ljava/lang/Object;
checkcast javax.naming.directory.DirContext
astore 6
start local 6 17: aload 5
aload 7
aload 6
invokevirtual com.sun.jndi.toolkit.dir.HierMemDirCtx.bind:(Ljava/lang/String;Ljava/lang/Object;)V
end local 7 end local 6 18: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 15
end local 8 19: aload 5
20: new javax.naming.directory.SchemaViolationException
dup
ldc "Cannot update schema object"
invokespecial javax.naming.directory.SchemaViolationException.<init>:(Ljava/lang/String;)V
21: invokevirtual com.sun.jndi.toolkit.dir.HierMemDirCtx.setReadOnly:(Ljavax/naming/NamingException;)V
22: aload 5
23: areturn
end local 5 end local 4 end local 3 24: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name com.sun.jndi.toolkit.ctx.Continuation
StackMap stack: javax.naming.NamingException
astore 3
start local 3 25: aload 2
aload 3
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 26 1 name Ljavax/naming/Name;
0 26 2 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
6 24 3 objectClassAttr Ljavax/naming/directory/Attribute;
12 24 4 ocSchema Ljavax/naming/Context;
13 24 5 objectClassCtx Lcom/sun/jndi/toolkit/dir/HierMemDirCtx;
17 18 6 objectClassDef Ljavax/naming/directory/DirContext;
16 18 7 objectClassName Ljava/lang/String;
14 19 8 objectClasses Ljava/util/Enumeration;
25 26 3 e Ljavax/naming/NamingException;
Exception table:
from to target type
1 8 24 Class javax.naming.NamingException
9 23 24 Class javax.naming.NamingException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
cont
private javax.naming.directory.DirContext getSchemaTree(javax.naming.Name);
descriptor: (Ljavax/naming/Name;)Ljavax/naming/directory/DirContext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual com.sun.jndi.ldap.LdapCtx.getSchemaEntry:(Ljavax/naming/Name;Z)Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield com.sun.jndi.ldap.LdapCtx.schemaTrees:Ljava/util/Hashtable;
aload 2
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.naming.directory.DirContext
astore 3
start local 3 2: aload 3
ifnonnull 5
3: aload 0
aload 2
invokevirtual com.sun.jndi.ldap.LdapCtx.buildSchemaTree:(Ljava/lang/String;)Ljavax/naming/directory/DirContext;
astore 3
4: aload 0
getfield com.sun.jndi.ldap.LdapCtx.schemaTrees:Ljava/util/Hashtable;
aload 2
aload 3
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: StackMap locals: java.lang.String javax.naming.directory.DirContext
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 6 1 name Ljavax/naming/Name;
1 6 2 subschemasubentry Ljava/lang/String;
2 6 3 schemaTree Ljavax/naming/directory/DirContext;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
private javax.naming.directory.DirContext buildSchemaTree(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/naming/directory/DirContext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=7, args_size=2
start local 0 start local 1 0: new javax.naming.directory.SearchControls
dup
iconst_0
1: lconst_0
iconst_0
2: getstatic com.sun.jndi.ldap.LdapCtx.SCHEMA_ATTRIBUTES:[Ljava/lang/String;
3: iconst_1
4: iconst_0
5: invokespecial javax.naming.directory.SearchControls.<init>:(IJI[Ljava/lang/String;ZZ)V
astore 2
start local 2 6: new javax.naming.CompositeName
dup
invokespecial javax.naming.CompositeName.<init>:()V
aload 1
invokevirtual javax.naming.CompositeName.add:(Ljava/lang/String;)Ljavax/naming/Name;
astore 3
start local 3 7: aload 0
aload 3
ldc "(objectClass=subschema)"
aload 2
8: iconst_0
iconst_1
new com.sun.jndi.toolkit.ctx.Continuation
dup
invokespecial com.sun.jndi.toolkit.ctx.Continuation.<init>:()V
9: invokevirtual com.sun.jndi.ldap.LdapCtx.searchAux:(Ljavax/naming/Name;Ljava/lang/String;Ljavax/naming/directory/SearchControls;ZZLcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NamingEnumeration;
10: astore 4
start local 4 11: aload 4
invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
ifne 15
12: new javax.naming.OperationNotSupportedException
dup
13: new java.lang.StringBuilder
dup
ldc "Cannot get read subschemasubentry: "
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;
14: invokespecial javax.naming.OperationNotSupportedException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals: javax.naming.directory.SearchControls javax.naming.Name javax.naming.NamingEnumeration
StackMap stack:
aload 4
invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
checkcast javax.naming.directory.SearchResult
astore 5
start local 5 16: aload 4
invokeinterface javax.naming.NamingEnumeration.close:()V
17: aload 5
invokevirtual javax.naming.directory.SearchResult.getObject:()Ljava/lang/Object;
astore 6
start local 6 18: aload 6
instanceof com.sun.jndi.ldap.LdapCtx
ifne 22
19: new javax.naming.NamingException
dup
20: new java.lang.StringBuilder
dup
ldc "Cannot get schema object as DirContext: "
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;
21: invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals: javax.naming.directory.SearchResult java.lang.Object
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
aload 1
23: aload 6
checkcast com.sun.jndi.ldap.LdapCtx
24: aload 5
invokevirtual javax.naming.directory.SearchResult.getAttributes:()Ljavax/naming/directory/Attributes;
25: aload 0
getfield com.sun.jndi.ldap.LdapCtx.netscapeSchemaBug:Z
26: invokestatic com.sun.jndi.ldap.LdapSchemaCtx.createSchemaTree:(Ljava/util/Hashtable;Ljava/lang/String;Lcom/sun/jndi/ldap/LdapCtx;Ljavax/naming/directory/Attributes;Z)Ljavax/naming/directory/DirContext;
areturn
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 27 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 27 1 subschemasubentry Ljava/lang/String;
6 27 2 constraints Ljavax/naming/directory/SearchControls;
7 27 3 sse Ljavax/naming/Name;
11 27 4 results Ljavax/naming/NamingEnumeration;
16 27 5 result Ljavax/naming/directory/SearchResult;
18 27 6 obj Ljava/lang/Object;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
subschemasubentry
private java.lang.String getSchemaEntry(javax.naming.Name, boolean);
descriptor: (Ljavax/naming/Name;Z)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=7, args_size=3
start local 0 start local 1 start local 2 0: new javax.naming.directory.SearchControls
dup
iconst_0
1: lconst_0
iconst_0
2: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "subschemasubentry"
aastore
3: iconst_0
4: iconst_0
5: invokespecial javax.naming.directory.SearchControls.<init>:(IJI[Ljava/lang/String;ZZ)V
astore 3
start local 3 6: aload 0
aload 1
ldc "objectclass=*"
aload 3
iload 2
7: iconst_1
new com.sun.jndi.toolkit.ctx.Continuation
dup
invokespecial com.sun.jndi.toolkit.ctx.Continuation.<init>:()V
8: invokevirtual com.sun.jndi.ldap.LdapCtx.searchAux:(Ljavax/naming/Name;Ljava/lang/String;Ljavax/naming/directory/SearchControls;ZZLcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NamingEnumeration;
astore 4
start local 4 9: goto 16
end local 4 StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name int javax.naming.directory.SearchControls
StackMap stack: javax.naming.NamingException
10: astore 5
start local 5 11: aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
getfield com.sun.jndi.ldap.LdapClient.isLdapv3:Z
ifne 15
aload 0
getfield com.sun.jndi.ldap.LdapCtx.currentDN:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifne 15
aload 1
invokeinterface javax.naming.Name.isEmpty:()Z
ifeq 15
12: new javax.naming.OperationNotSupportedException
dup
13: ldc "Cannot get schema information from server"
14: invokespecial javax.naming.OperationNotSupportedException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name int javax.naming.directory.SearchControls top javax.naming.NamingException
StackMap stack:
aload 5
athrow
end local 5 start local 4 16: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name int javax.naming.directory.SearchControls javax.naming.NamingEnumeration
StackMap stack:
aload 4
invokeinterface javax.naming.NamingEnumeration.hasMoreElements:()Z
ifne 20
17: new javax.naming.ConfigurationException
dup
18: new java.lang.StringBuilder
dup
ldc "Requesting schema of nonexistent entry: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: invokespecial javax.naming.ConfigurationException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
aload 4
invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
checkcast javax.naming.directory.SearchResult
astore 5
start local 5 21: aload 4
invokeinterface javax.naming.NamingEnumeration.close:()V
22: aload 5
invokevirtual javax.naming.directory.SearchResult.getAttributes:()Ljavax/naming/directory/Attributes;
ldc "subschemasubentry"
invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
23: astore 6
start local 6 24: aload 6
ifnull 25
aload 6
invokeinterface javax.naming.directory.Attribute.size:()I
ifge 30
25: StackMap locals: javax.naming.directory.SearchResult javax.naming.directory.Attribute
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.currentDN:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifne 29
aload 1
invokeinterface javax.naming.Name.isEmpty:()Z
ifeq 29
26: new javax.naming.OperationNotSupportedException
dup
27: ldc "Cannot read subschemasubentry of root DSE"
28: invokespecial javax.naming.OperationNotSupportedException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals:
StackMap stack:
aload 0
new javax.naming.CompositeName
dup
invokespecial javax.naming.CompositeName.<init>:()V
iconst_0
invokevirtual com.sun.jndi.ldap.LdapCtx.getSchemaEntry:(Ljavax/naming/Name;Z)Ljava/lang/String;
areturn
30: StackMap locals:
StackMap stack:
aload 6
invokeinterface javax.naming.directory.Attribute.get:()Ljava/lang/Object;
checkcast java.lang.String
areturn
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 31 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 31 1 name Ljavax/naming/Name;
0 31 2 relative Z
6 31 3 constraints Ljavax/naming/directory/SearchControls;
9 10 4 results Ljavax/naming/NamingEnumeration;
16 31 4 results Ljavax/naming/NamingEnumeration;
11 16 5 ne Ljavax/naming/NamingException;
21 31 5 result Ljavax/naming/directory/SearchResult;
24 31 6 schemaEntryAttr Ljavax/naming/directory/Attribute;
Exception table:
from to target type
6 9 10 Class javax.naming.NamingException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
relative
void setParents(javax.naming.directory.Attributes, javax.naming.Name);
descriptor: (Ljavax/naming/directory/Attributes;Ljavax/naming/Name;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface javax.naming.directory.Attributes.getAll:()Ljavax/naming/NamingEnumeration;
astore 3
start local 3 1: goto 3
2: StackMap locals: javax.naming.NamingEnumeration
StackMap stack:
aload 3
invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
checkcast com.sun.jndi.ldap.LdapAttribute
aload 0
aload 2
invokevirtual com.sun.jndi.ldap.LdapAttribute.setParent:(Ljavax/naming/directory/DirContext;Ljavax/naming/Name;)V
3: StackMap locals:
StackMap stack:
aload 3
invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
ifne 2
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 5 1 attrs Ljavax/naming/directory/Attributes;
0 5 2 name Ljavax/naming/Name;
1 5 3 ae Ljavax/naming/NamingEnumeration;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
attrs
name
java.lang.String getURL();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jndi.ldap.LdapCtx.url:Ljava/lang/String;
ifnonnull 4
1: aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.hostname:Ljava/lang/String;
aload 0
getfield com.sun.jndi.ldap.LdapCtx.port_number:I
aload 0
getfield com.sun.jndi.ldap.LdapCtx.currentDN:Ljava/lang/String;
2: aload 0
getfield com.sun.jndi.ldap.LdapCtx.hasLdapsScheme:Z
3: invokestatic com.sun.jndi.ldap.LdapURL.toUrlString:(Ljava/lang/String;ILjava/lang/String;Z)Ljava/lang/String;
putfield com.sun.jndi.ldap.LdapCtx.url:Ljava/lang/String;
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.url:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/jndi/ldap/LdapCtx;
protected javax.naming.NamingEnumeration c_search(javax.naming.Name, javax.naming.directory.Attributes, com.sun.jndi.toolkit.ctx.Continuation);
descriptor: (Ljavax/naming/Name;Ljavax/naming/directory/Attributes;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NamingEnumeration;
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
aconst_null
aload 3
invokevirtual com.sun.jndi.ldap.LdapCtx.c_search:(Ljavax/naming/Name;Ljavax/naming/directory/Attributes;[Ljava/lang/String;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NamingEnumeration;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 1 1 name Ljavax/naming/Name;
0 1 2 matchingAttributes Ljavax/naming/directory/Attributes;
0 1 3 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
matchingAttributes
cont
protected javax.naming.NamingEnumeration c_search(javax.naming.Name, javax.naming.directory.Attributes, java.lang.String[], com.sun.jndi.toolkit.ctx.Continuation);
descriptor: (Ljavax/naming/Name;Ljavax/naming/directory/Attributes;[Ljava/lang/String;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NamingEnumeration;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new javax.naming.directory.SearchControls
dup
invokespecial javax.naming.directory.SearchControls.<init>:()V
astore 5
start local 5 1: aload 5
aload 3
invokevirtual javax.naming.directory.SearchControls.setReturningAttributes:([Ljava/lang/String;)V
2: aload 2
invokestatic com.sun.jndi.toolkit.dir.SearchFilter.format:(Ljavax/naming/directory/Attributes;)Ljava/lang/String;
astore 6
start local 6 3: goto 7
end local 6 StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name javax.naming.directory.Attributes java.lang.String[] com.sun.jndi.toolkit.ctx.Continuation javax.naming.directory.SearchControls
StackMap stack: javax.naming.NamingException
4: astore 7
start local 7 5: aload 4
aload 0
aload 1
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
6: aload 4
aload 7
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
end local 7 start local 6 7: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 1
aload 6
aload 5
aload 4
invokevirtual com.sun.jndi.ldap.LdapCtx.c_search:(Ljavax/naming/Name;Ljava/lang/String;Ljavax/naming/directory/SearchControls;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NamingEnumeration;
areturn
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 8 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 8 1 name Ljavax/naming/Name;
0 8 2 matchingAttributes Ljavax/naming/directory/Attributes;
0 8 3 attributesToReturn [Ljava/lang/String;
0 8 4 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
1 8 5 cons Ljavax/naming/directory/SearchControls;
3 4 6 filter Ljava/lang/String;
7 8 6 filter Ljava/lang/String;
5 7 7 e Ljavax/naming/NamingException;
Exception table:
from to target type
2 3 4 Class javax.naming.NamingException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
matchingAttributes
attributesToReturn
cont
protected javax.naming.NamingEnumeration c_search(javax.naming.Name, java.lang.String, javax.naming.directory.SearchControls, com.sun.jndi.toolkit.ctx.Continuation);
descriptor: (Ljavax/naming/Name;Ljava/lang/String;Ljavax/naming/directory/SearchControls;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NamingEnumeration;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
invokestatic com.sun.jndi.ldap.LdapCtx.cloneSearchControls:(Ljavax/naming/directory/SearchControls;)Ljavax/naming/directory/SearchControls;
iconst_1
iconst_1
1: aload 4
2: invokevirtual com.sun.jndi.ldap.LdapCtx.searchAux:(Ljavax/naming/Name;Ljava/lang/String;Ljavax/naming/directory/SearchControls;ZZLcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NamingEnumeration;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 3 1 name Ljavax/naming/Name;
0 3 2 filter Ljava/lang/String;
0 3 3 cons Ljavax/naming/directory/SearchControls;
0 3 4 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
filter
cons
cont
protected javax.naming.NamingEnumeration c_search(javax.naming.Name, java.lang.String, java.lang.Object[], javax.naming.directory.SearchControls, com.sun.jndi.toolkit.ctx.Continuation);
descriptor: (Ljavax/naming/Name;Ljava/lang/String;[Ljava/lang/Object;Ljavax/naming/directory/SearchControls;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NamingEnumeration;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 2
aload 3
invokestatic com.sun.jndi.toolkit.dir.SearchFilter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 6
start local 6 1: goto 5
end local 6 StackMap locals:
StackMap stack: javax.naming.NamingException
2: astore 7
start local 7 3: aload 5
aload 0
aload 1
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
4: aload 5
aload 7
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
end local 7 start local 6 5: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 1
aload 6
aload 4
aload 5
invokevirtual com.sun.jndi.ldap.LdapCtx.c_search:(Ljavax/naming/Name;Ljava/lang/String;Ljavax/naming/directory/SearchControls;Lcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NamingEnumeration;
areturn
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 6 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 6 1 name Ljavax/naming/Name;
0 6 2 filterExpr Ljava/lang/String;
0 6 3 filterArgs [Ljava/lang/Object;
0 6 4 cons Ljavax/naming/directory/SearchControls;
0 6 5 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
1 2 6 strfilter Ljava/lang/String;
5 6 6 strfilter Ljava/lang/String;
3 5 7 e Ljavax/naming/NamingException;
Exception table:
from to target type
0 1 2 Class javax.naming.NamingException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
filterExpr
filterArgs
cons
cont
javax.naming.NamingEnumeration searchAux(javax.naming.Name, java.lang.String, javax.naming.directory.SearchControls, boolean, boolean, com.sun.jndi.toolkit.ctx.Continuation);
descriptor: (Ljavax/naming/Name;Ljava/lang/String;Ljavax/naming/directory/SearchControls;ZZLcom/sun/jndi/toolkit/ctx/Continuation;)Ljavax/naming/NamingEnumeration;
flags: (0x0000)
Code:
stack=7, locals=16, 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: aconst_null
astore 7
start local 7 1: iconst_2
anewarray java.lang.String
astore 8
start local 8 2: aload 3
ifnonnull 4
3: new javax.naming.directory.SearchControls
dup
invokespecial javax.naming.directory.SearchControls.<init>:()V
astore 3
4: StackMap locals: com.sun.jndi.ldap.LdapResult java.lang.String[]
StackMap stack:
aload 3
invokevirtual javax.naming.directory.SearchControls.getReturningAttributes:()[Ljava/lang/String;
astore 9
start local 9 5: aload 3
invokevirtual javax.naming.directory.SearchControls.getReturningObjFlag:()Z
ifeq 25
6: aload 9
ifnull 25
7: iconst_0
istore 10
start local 10 8: aload 9
arraylength
iconst_1
isub
istore 11
start local 11 9: goto 14
10: StackMap locals: java.lang.String[] int int
StackMap stack:
aload 9
iload 11
aaload
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
11: iconst_1
istore 10
12: goto 15
13: StackMap locals:
StackMap stack:
iinc 11 -1
StackMap locals:
StackMap stack:
14: iload 11
ifge 10
end local 11 15: StackMap locals:
StackMap stack:
iload 10
ifne 25
16: aload 9
arraylength
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
arraylength
iadd
anewarray java.lang.String
17: astore 11
start local 11 18: aload 9
iconst_0
aload 11
iconst_0
19: aload 9
arraylength
20: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
21: getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
iconst_0
aload 11
22: aload 9
arraylength
getstatic com.sun.jndi.ldap.Obj.JAVA_ATTRIBUTES:[Ljava/lang/String;
arraylength
23: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
24: aload 3
aload 11
invokevirtual javax.naming.directory.SearchControls.setReturningAttributes:([Ljava/lang/String;)V
end local 11 end local 10 25: StackMap locals:
StackMap stack:
new com.sun.jndi.ldap.LdapCtx$SearchArgs
dup
aload 1
aload 2
aload 3
aload 9
invokespecial com.sun.jndi.ldap.LdapCtx$SearchArgs.<init>:(Ljavax/naming/Name;Ljava/lang/String;Ljavax/naming/directory/SearchControls;[Ljava/lang/String;)V
26: astore 10
start local 10 27: aload 6
aload 0
aload 1
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.setError:(Ljava/lang/Object;Ljavax/naming/Name;)V
28: aload 2
aload 3
aload 8
invokestatic com.sun.jndi.ldap.LdapCtx.searchToCompare:(Ljava/lang/String;Ljavax/naming/directory/SearchControls;[Ljava/lang/String;)Z
ifeq 33
29: aload 0
aload 1
aload 8
iconst_0
aaload
aload 8
iconst_1
aaload
invokevirtual com.sun.jndi.ldap.LdapCtx.compare:(Ljavax/naming/Name;Ljava/lang/String;Ljava/lang/String;)Lcom/sun/jndi/ldap/LdapResult;
astore 7
30: aload 7
aload 0
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.fullyQualifiedName:(Ljavax/naming/Name;)Ljava/lang/String;
invokevirtual com.sun.jndi.ldap.LdapResult.compareToSearchResult:(Ljava/lang/String;)Z
ifne 35
31: aload 0
aload 7
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.processReturnCode:(Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;)V
32: goto 35
33: StackMap locals: com.sun.jndi.ldap.LdapCtx$SearchArgs
StackMap stack:
aload 0
aload 1
aload 2
aload 3
iload 4
iload 5
invokevirtual com.sun.jndi.ldap.LdapCtx.doSearch:(Ljavax/naming/Name;Ljava/lang/String;Ljavax/naming/directory/SearchControls;ZZ)Lcom/sun/jndi/ldap/LdapResult;
astore 7
34: aload 0
aload 7
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.processReturnCode:(Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;)V
35: StackMap locals:
StackMap stack:
new com.sun.jndi.ldap.LdapSearchEnumeration
dup
aload 0
aload 7
36: aload 0
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.fullyQualifiedName:(Ljavax/naming/Name;)Ljava/lang/String;
aload 10
aload 6
37: invokespecial com.sun.jndi.ldap.LdapSearchEnumeration.<init>:(Lcom/sun/jndi/ldap/LdapCtx;Lcom/sun/jndi/ldap/LdapResult;Ljava/lang/String;Lcom/sun/jndi/ldap/LdapCtx$SearchArgs;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
38: areturn
39: StackMap locals:
StackMap stack: com.sun.jndi.ldap.LdapReferralException
astore 11
start local 11 40: aload 0
getfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
iconst_2
if_icmpne 42
41: aload 6
aload 11
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
42: StackMap locals: com.sun.jndi.ldap.LdapReferralException
StackMap stack:
aload 11
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
aload 0
getfield com.sun.jndi.ldap.LdapCtx.bindCtls:[Ljavax/naming/ldap/Control;
invokevirtual com.sun.jndi.ldap.LdapReferralException.getReferralContext:(Ljava/util/Hashtable;[Ljavax/naming/ldap/Control;)Ljavax/naming/Context;
checkcast com.sun.jndi.ldap.LdapReferralContext
43: astore 12
start local 12 44: aload 12
aload 1
aload 2
aload 3
invokevirtual com.sun.jndi.ldap.LdapReferralContext.search:(Ljavax/naming/Name;Ljava/lang/String;Ljavax/naming/directory/SearchControls;)Ljavax/naming/NamingEnumeration;
astore 15
45: aload 12
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
46: aload 15
areturn
47: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name java.lang.String javax.naming.directory.SearchControls int int com.sun.jndi.toolkit.ctx.Continuation com.sun.jndi.ldap.LdapResult java.lang.String[] java.lang.String[] com.sun.jndi.ldap.LdapCtx$SearchArgs com.sun.jndi.ldap.LdapReferralException com.sun.jndi.ldap.LdapReferralContext
StackMap stack: com.sun.jndi.ldap.LdapReferralException
astore 13
start local 13 48: aload 13
astore 11
49: aload 12
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
50: goto 42
end local 13 51: StackMap locals:
StackMap stack: java.lang.Throwable
astore 14
52: aload 12
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
53: aload 14
athrow
end local 12 end local 11 54: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name java.lang.String javax.naming.directory.SearchControls int int com.sun.jndi.toolkit.ctx.Continuation com.sun.jndi.ldap.LdapResult java.lang.String[] java.lang.String[] com.sun.jndi.ldap.LdapCtx$SearchArgs
StackMap stack: javax.naming.LimitExceededException
astore 11
start local 11 55: new com.sun.jndi.ldap.LdapSearchEnumeration
dup
aload 0
aload 7
aload 0
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.fullyQualifiedName:(Ljavax/naming/Name;)Ljava/lang/String;
56: aload 10
aload 6
57: invokespecial com.sun.jndi.ldap.LdapSearchEnumeration.<init>:(Lcom/sun/jndi/ldap/LdapCtx;Lcom/sun/jndi/ldap/LdapResult;Ljava/lang/String;Lcom/sun/jndi/ldap/LdapCtx$SearchArgs;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
58: astore 12
start local 12 59: aload 12
aload 11
invokevirtual com.sun.jndi.ldap.LdapSearchEnumeration.setNamingException:(Ljavax/naming/NamingException;)V
60: aload 12
areturn
end local 12 end local 11 61: StackMap locals:
StackMap stack: javax.naming.PartialResultException
astore 11
start local 11 62: new com.sun.jndi.ldap.LdapSearchEnumeration
dup
aload 0
aload 7
aload 0
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.fullyQualifiedName:(Ljavax/naming/Name;)Ljava/lang/String;
63: aload 10
aload 6
64: invokespecial com.sun.jndi.ldap.LdapSearchEnumeration.<init>:(Lcom/sun/jndi/ldap/LdapCtx;Lcom/sun/jndi/ldap/LdapResult;Ljava/lang/String;Lcom/sun/jndi/ldap/LdapCtx$SearchArgs;Lcom/sun/jndi/toolkit/ctx/Continuation;)V
65: astore 12
start local 12 66: aload 12
aload 11
invokevirtual com.sun.jndi.ldap.LdapSearchEnumeration.setNamingException:(Ljavax/naming/NamingException;)V
67: aload 12
areturn
end local 12 end local 11 68: StackMap locals:
StackMap stack: java.io.IOException
astore 11
start local 11 69: new javax.naming.CommunicationException
dup
aload 11
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial javax.naming.CommunicationException.<init>:(Ljava/lang/String;)V
astore 12
start local 12 70: aload 12
aload 11
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
71: aload 6
aload 12
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
end local 12 end local 11 72: StackMap locals:
StackMap stack: javax.naming.NamingException
astore 11
start local 11 73: aload 6
aload 11
invokevirtual com.sun.jndi.toolkit.ctx.Continuation.fillInException:(Ljavax/naming/NamingException;)Ljavax/naming/NamingException;
athrow
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 74 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 74 1 name Ljavax/naming/Name;
0 74 2 filter Ljava/lang/String;
0 74 3 cons Ljavax/naming/directory/SearchControls;
0 74 4 relative Z
0 74 5 waitForReply Z
0 74 6 cont Lcom/sun/jndi/toolkit/ctx/Continuation;
1 74 7 answer Lcom/sun/jndi/ldap/LdapResult;
2 74 8 tokens [Ljava/lang/String;
5 74 9 reqAttrs [Ljava/lang/String;
8 25 10 hasWildcard Z
9 15 11 i I
18 25 11 totalAttrs [Ljava/lang/String;
27 74 10 args Lcom/sun/jndi/ldap/LdapCtx$SearchArgs;
40 54 11 e Lcom/sun/jndi/ldap/LdapReferralException;
44 54 12 refCtx Lcom/sun/jndi/ldap/LdapReferralContext;
48 51 13 re Lcom/sun/jndi/ldap/LdapReferralException;
55 61 11 e Ljavax/naming/LimitExceededException;
59 61 12 res Lcom/sun/jndi/ldap/LdapSearchEnumeration;
62 68 11 e Ljavax/naming/PartialResultException;
66 68 12 res Lcom/sun/jndi/ldap/LdapSearchEnumeration;
69 72 11 e Ljava/io/IOException;
70 72 12 e2 Ljavax/naming/NamingException;
73 74 11 e Ljavax/naming/NamingException;
Exception table:
from to target type
28 38 39 Class com.sun.jndi.ldap.LdapReferralException
44 45 47 Class com.sun.jndi.ldap.LdapReferralException
44 45 51 any
47 49 51 any
28 38 54 Class javax.naming.LimitExceededException
28 38 61 Class javax.naming.PartialResultException
28 38 68 Class java.io.IOException
28 38 72 Class javax.naming.NamingException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
filter
cons
relative
waitForReply
cont
com.sun.jndi.ldap.LdapResult getSearchReply(com.sun.jndi.ldap.LdapClient, com.sun.jndi.ldap.LdapResult);
descriptor: (Lcom/sun/jndi/ldap/LdapClient;Lcom/sun/jndi/ldap/LdapResult;)Lcom/sun/jndi/ldap/LdapResult;
flags: (0x0000)
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
aload 1
if_acmpeq 4
1: new javax.naming.CommunicationException
dup
2: ldc "Context's connection changed; unable to continue enumeration"
3: invokespecial javax.naming.CommunicationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield com.sun.jndi.ldap.LdapCtx.batchSize:I
aload 2
aload 0
getfield com.sun.jndi.ldap.LdapCtx.binaryAttrs:Ljava/util/Hashtable;
invokevirtual com.sun.jndi.ldap.LdapClient.getSearchReply:(ILcom/sun/jndi/ldap/LdapResult;Ljava/util/Hashtable;)Lcom/sun/jndi/ldap/LdapResult;
5: areturn
6: StackMap locals:
StackMap stack: java.io.IOException
astore 3
start local 3 7: new javax.naming.CommunicationException
dup
aload 3
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial javax.naming.CommunicationException.<init>:(Ljava/lang/String;)V
astore 4
start local 4 8: aload 4
aload 3
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
9: aload 4
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 10 1 eClnt Lcom/sun/jndi/ldap/LdapClient;
0 10 2 res Lcom/sun/jndi/ldap/LdapResult;
7 10 3 e Ljava/io/IOException;
8 10 4 e2 Ljavax/naming/NamingException;
Exception table:
from to target type
4 5 6 Class java.io.IOException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
eClnt
res
private com.sun.jndi.ldap.LdapResult doSearchOnce(javax.naming.Name, java.lang.String, javax.naming.directory.SearchControls, boolean);
descriptor: (Ljavax/naming/Name;Ljava/lang/String;Ljavax/naming/directory/SearchControls;Z)Lcom/sun/jndi/ldap/LdapResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.sun.jndi.ldap.LdapCtx.batchSize:I
istore 5
start local 5 1: aload 0
iconst_2
putfield com.sun.jndi.ldap.LdapCtx.batchSize:I
2: aload 0
aload 1
aload 2
aload 3
iload 4
iconst_1
invokevirtual com.sun.jndi.ldap.LdapCtx.doSearch:(Ljavax/naming/Name;Ljava/lang/String;Ljavax/naming/directory/SearchControls;ZZ)Lcom/sun/jndi/ldap/LdapResult;
astore 6
start local 6 3: aload 0
iload 5
putfield com.sun.jndi.ldap.LdapCtx.batchSize:I
4: aload 6
areturn
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 5 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 5 1 name Ljavax/naming/Name;
0 5 2 filter Ljava/lang/String;
0 5 3 cons Ljavax/naming/directory/SearchControls;
0 5 4 relative Z
1 5 5 savedBatchSize I
3 5 6 answer Lcom/sun/jndi/ldap/LdapResult;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
filter
cons
relative
private com.sun.jndi.ldap.LdapResult doSearch(javax.naming.Name, java.lang.String, javax.naming.directory.SearchControls, boolean, boolean);
descriptor: (Ljavax/naming/Name;Ljava/lang/String;Ljavax/naming/directory/SearchControls;ZZ)Lcom/sun/jndi/ldap/LdapResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=13, locals=12, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokevirtual com.sun.jndi.ldap.LdapCtx.ensureOpen:()V
1: aload 3
invokevirtual javax.naming.directory.SearchControls.getSearchScope:()I
tableswitch { // 0 - 2
0: 2
1: 4
2: 6
default: 4
}
2: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 3: goto 7
end local 6 4: StackMap locals:
StackMap stack:
iconst_1
istore 6
start local 6 5: goto 7
end local 6 6: StackMap locals:
StackMap stack:
iconst_2
istore 6
start local 6 7: StackMap locals: int
StackMap stack:
aload 3
invokevirtual javax.naming.directory.SearchControls.getReturningAttributes:()[Ljava/lang/String;
astore 7
start local 7 8: aload 7
ifnull 11
aload 7
arraylength
ifne 11
9: iconst_1
anewarray java.lang.String
astore 7
10: aload 7
iconst_0
ldc "1.1"
aastore
11: StackMap locals: java.lang.String[]
StackMap stack:
iload 4
ifeq 13
12: aload 0
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.fullyQualifiedName:(Ljavax/naming/Name;)Ljava/lang/String;
goto 16
13: StackMap locals:
StackMap stack:
aload 1
invokeinterface javax.naming.Name.isEmpty:()Z
ifeq 15
14: ldc ""
goto 16
15: StackMap locals:
StackMap stack:
aload 1
iconst_0
invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
16: StackMap locals:
StackMap stack: java.lang.String
astore 8
start local 8 17: aload 3
invokevirtual javax.naming.directory.SearchControls.getTimeLimit:()I
istore 9
start local 9 18: iconst_0
istore 10
start local 10 19: iload 9
ifle 21
20: iload 9
sipush 1000
idiv
iconst_1
iadd
istore 10
21: StackMap locals: java.lang.String int int
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
aload 8
22: iload 6
23: aload 0
getfield com.sun.jndi.ldap.LdapCtx.derefAliases:I
24: aload 3
invokevirtual javax.naming.directory.SearchControls.getCountLimit:()J
l2i
25: iload 10
26: aload 3
invokevirtual javax.naming.directory.SearchControls.getReturningObjFlag:()Z
ifeq 27
iconst_0
goto 28
StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name java.lang.String javax.naming.directory.SearchControls int int int java.lang.String[] java.lang.String int int
StackMap stack: com.sun.jndi.ldap.LdapClient java.lang.String int int int int
27: aload 0
getfield com.sun.jndi.ldap.LdapCtx.typesOnly:Z
28: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name java.lang.String javax.naming.directory.SearchControls int int int java.lang.String[] java.lang.String int int
StackMap stack: com.sun.jndi.ldap.LdapClient java.lang.String int int int int int
aload 7
29: aload 2
30: aload 0
getfield com.sun.jndi.ldap.LdapCtx.batchSize:I
31: aload 0
getfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
32: aload 0
getfield com.sun.jndi.ldap.LdapCtx.binaryAttrs:Ljava/util/Hashtable;
33: iload 5
34: invokevirtual com.sun.jndi.ldap.LdapClient.search:(Ljava/lang/String;IIIIZ[Ljava/lang/String;Ljava/lang/String;I[Ljavax/naming/ldap/Control;Ljava/util/Hashtable;Z)Lcom/sun/jndi/ldap/LdapResult;
35: astore 11
start local 11 36: aload 0
aload 11
getfield com.sun.jndi.ldap.LdapResult.resControls:Ljava/util/Vector;
putfield com.sun.jndi.ldap.LdapCtx.respCtls:Ljava/util/Vector;
37: aload 11
38: areturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 39: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.Name java.lang.String javax.naming.directory.SearchControls int int
StackMap stack: java.io.IOException
astore 6
start local 6 40: new javax.naming.CommunicationException
dup
aload 6
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial javax.naming.CommunicationException.<init>:(Ljava/lang/String;)V
astore 7
start local 7 41: aload 7
aload 6
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
42: aload 7
athrow
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 43 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 43 1 name Ljavax/naming/Name;
0 43 2 filter Ljava/lang/String;
0 43 3 cons Ljavax/naming/directory/SearchControls;
0 43 4 relative Z
0 43 5 waitFirstReply Z
3 4 6 scope I
5 6 6 scope I
7 39 6 scope I
8 39 7 retattrs [Ljava/lang/String;
17 39 8 nm Ljava/lang/String;
18 39 9 msecLimit I
19 39 10 secLimit I
36 39 11 answer Lcom/sun/jndi/ldap/LdapResult;
40 43 6 e Ljava/io/IOException;
41 43 7 e2 Ljavax/naming/NamingException;
Exception table:
from to target type
1 38 39 Class java.io.IOException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
name
filter
cons
relative
waitFirstReply
private static boolean searchToCompare(java.lang.String, javax.naming.directory.SearchControls, java.lang.String[]);
descriptor: (Ljava/lang/String;Ljavax/naming/directory/SearchControls;[Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual javax.naming.directory.SearchControls.getSearchScope:()I
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual javax.naming.directory.SearchControls.getReturningAttributes:()[Ljava/lang/String;
astore 3
start local 3 3: aload 3
ifnull 4
aload 3
arraylength
ifeq 5
4: StackMap locals: java.lang.String[]
StackMap stack:
iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 0
aload 2
invokestatic com.sun.jndi.ldap.LdapCtx.filterToAssertion:(Ljava/lang/String;[Ljava/lang/String;)Z
ifne 7
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 filter Ljava/lang/String;
0 8 1 cons Ljavax/naming/directory/SearchControls;
0 8 2 tokens [Ljava/lang/String;
3 8 3 attrs [Ljava/lang/String;
MethodParameters:
Name Flags
filter
cons
tokens
private static boolean filterToAssertion(java.lang.String, java.lang.String[]);
descriptor: (Ljava/lang/String;[Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: new java.util.StringTokenizer
dup
aload 0
ldc "="
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 2
start local 2 1: aload 2
invokevirtual java.util.StringTokenizer.countTokens:()I
iconst_2
if_icmpeq 3
2: iconst_0
ireturn
3: StackMap locals: java.util.StringTokenizer
StackMap stack:
aload 1
iconst_0
aload 2
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
aastore
4: aload 1
iconst_1
aload 2
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
aastore
5: aload 1
iconst_1
aaload
bipush 42
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 7
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 8: aload 1
iconst_1
aaload
invokevirtual java.lang.String.length:()I
istore 4
start local 4 9: aload 1
iconst_0
aaload
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 40
if_icmpne 13
10: aload 1
iconst_1
aaload
iload 4
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 41
if_icmpne 13
11: iconst_1
istore 3
12: goto 16
StackMap locals: int int
StackMap stack:
13: aload 1
iconst_0
aaload
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 40
if_icmpeq 15
14: aload 1
iconst_1
aaload
iload 4
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 41
if_icmpne 16
15: StackMap locals:
StackMap stack:
iconst_0
ireturn
16: StackMap locals:
StackMap stack:
new java.util.StringTokenizer
dup
aload 1
iconst_0
aaload
ldc "()&|!=~><*"
iconst_1
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
17: astore 5
start local 5 18: aload 5
invokevirtual java.util.StringTokenizer.countTokens:()I
iload 3
ifeq 19
iconst_2
goto 20
StackMap locals: java.lang.String java.lang.String[] java.util.StringTokenizer int int java.util.StringTokenizer
StackMap stack: int
19: iconst_1
StackMap locals: java.lang.String java.lang.String[] java.util.StringTokenizer int int java.util.StringTokenizer
StackMap stack: int int
20: if_icmpeq 22
21: iconst_0
ireturn
22: StackMap locals:
StackMap stack:
new java.util.StringTokenizer
dup
aload 1
iconst_1
aaload
ldc "()&|!=~><*"
iconst_1
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
23: astore 5
24: aload 5
invokevirtual java.util.StringTokenizer.countTokens:()I
iload 3
ifeq 25
iconst_2
goto 26
StackMap locals:
StackMap stack: int
25: iconst_1
StackMap locals: java.lang.String java.lang.String[] java.util.StringTokenizer int int java.util.StringTokenizer
StackMap stack: int int
26: if_icmpeq 28
27: iconst_0
ireturn
28: StackMap locals:
StackMap stack:
iload 3
ifeq 31
29: aload 1
iconst_0
aload 1
iconst_0
aaload
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
aastore
30: aload 1
iconst_1
aload 1
iconst_1
aaload
iconst_0
iload 4
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
aastore
31: StackMap locals:
StackMap stack:
iconst_1
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 32 0 filter Ljava/lang/String;
0 32 1 tokens [Ljava/lang/String;
1 32 2 assertionTokenizer Ljava/util/StringTokenizer;
8 32 3 hasParens Z
9 32 4 len I
18 32 5 illegalCharsTokenizer Ljava/util/StringTokenizer;
MethodParameters:
Name Flags
filter
tokens
private com.sun.jndi.ldap.LdapResult compare(javax.naming.Name, java.lang.String, java.lang.String);
descriptor: (Ljavax/naming/Name;Ljava/lang/String;Ljava/lang/String;)Lcom/sun/jndi/ldap/LdapResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual com.sun.jndi.ldap.LdapCtx.ensureOpen:()V
1: aload 0
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.fullyQualifiedName:(Ljavax/naming/Name;)Ljava/lang/String;
astore 4
start local 4 2: aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
aload 4
aload 2
aload 3
aload 0
getfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
invokevirtual com.sun.jndi.ldap.LdapClient.compare:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljavax/naming/ldap/Control;)Lcom/sun/jndi/ldap/LdapResult;
astore 5
start local 5 3: aload 0
aload 5
getfield com.sun.jndi.ldap.LdapResult.resControls:Ljava/util/Vector;
putfield com.sun.jndi.ldap.LdapCtx.respCtls:Ljava/util/Vector;
4: 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 5 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 5 1 name Ljavax/naming/Name;
0 5 2 type Ljava/lang/String;
0 5 3 value Ljava/lang/String;
2 5 4 nm Ljava/lang/String;
3 5 5 answer Lcom/sun/jndi/ldap/LdapResult;
Exceptions:
throws java.io.IOException, javax.naming.NamingException
MethodParameters:
Name Flags
name
type
value
private static javax.naming.directory.SearchControls cloneSearchControls(javax.naming.directory.SearchControls);
descriptor: (Ljavax/naming/directory/SearchControls;)Ljavax/naming/directory/SearchControls;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=3, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual javax.naming.directory.SearchControls.getReturningAttributes:()[Ljava/lang/String;
astore 1
start local 1 3: aload 1
ifnull 7
4: aload 1
arraylength
anewarray java.lang.String
astore 2
start local 2 5: aload 1
iconst_0
aload 2
iconst_0
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: aload 2
astore 1
end local 2 7: StackMap locals: java.lang.String[]
StackMap stack:
new javax.naming.directory.SearchControls
dup
aload 0
invokevirtual javax.naming.directory.SearchControls.getSearchScope:()I
8: aload 0
invokevirtual javax.naming.directory.SearchControls.getCountLimit:()J
9: aload 0
invokevirtual javax.naming.directory.SearchControls.getTimeLimit:()I
10: aload 1
11: aload 0
invokevirtual javax.naming.directory.SearchControls.getReturningObjFlag:()Z
12: aload 0
invokevirtual javax.naming.directory.SearchControls.getDerefLinkFlag:()Z
13: invokespecial javax.naming.directory.SearchControls.<init>:(IJI[Ljava/lang/String;ZZ)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 cons Ljavax/naming/directory/SearchControls;
3 14 1 retAttrs [Ljava/lang/String;
5 7 2 attrs [Ljava/lang/String;
MethodParameters:
Name Flags
cons
protected java.util.Hashtable p_getEnvironment();
descriptor: ()Ljava/util/Hashtable;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/ldap/LdapCtx;
public java.util.Hashtable getEnvironment();
descriptor: ()Ljava/util/Hashtable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ifnonnull 2
1: new java.util.Hashtable
dup
iconst_5
ldc 0.75
invokespecial java.util.Hashtable.<init>:(IF)V
goto 3
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.clone:()Ljava/lang/Object;
checkcast java.util.Hashtable
3: StackMap locals:
StackMap stack: java.util.Hashtable
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/jndi/ldap/LdapCtx;
Exceptions:
throws javax.naming.NamingException
public java.lang.Object removeFromEnvironment(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ifnull 1
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
ldc "java.naming.ldap.ref.separator"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
3: aload 0
bipush 35
putfield com.sun.jndi.ldap.LdapCtx.addrEncodingSeparator:C
4: goto 48
StackMap locals:
StackMap stack:
5: aload 1
ldc "java.naming.ldap.typesOnly"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
6: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.typesOnly:Z
7: goto 48
StackMap locals:
StackMap stack:
8: aload 1
ldc "java.naming.ldap.deleteRDN"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
9: aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapCtx.deleteRDN:Z
10: goto 48
StackMap locals:
StackMap stack:
11: aload 1
ldc "java.naming.ldap.derefAliases"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
12: aload 0
iconst_3
putfield com.sun.jndi.ldap.LdapCtx.derefAliases:I
13: goto 48
StackMap locals:
StackMap stack:
14: aload 1
ldc "java.naming.batchsize"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
15: aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapCtx.batchSize:I
16: goto 48
StackMap locals:
StackMap stack:
17: aload 1
ldc "java.naming.ldap.referral.limit"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 20
18: aload 0
bipush 10
putfield com.sun.jndi.ldap.LdapCtx.referralHopLimit:I
19: goto 48
StackMap locals:
StackMap stack:
20: aload 1
ldc "java.naming.referral"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
21: aload 0
aconst_null
iconst_1
invokevirtual com.sun.jndi.ldap.LdapCtx.setReferralMode:(Ljava/lang/String;Z)V
22: goto 48
StackMap locals:
StackMap stack:
23: aload 1
ldc "java.naming.ldap.attributes.binary"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 26
24: aload 0
aconst_null
invokevirtual com.sun.jndi.ldap.LdapCtx.setBinaryAttributes:(Ljava/lang/String;)V
25: goto 48
StackMap locals:
StackMap stack:
26: aload 1
ldc "com.sun.jndi.ldap.connect.timeout"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 29
27: aload 0
iconst_m1
putfield com.sun.jndi.ldap.LdapCtx.connectTimeout:I
28: goto 48
StackMap locals:
StackMap stack:
29: aload 1
ldc "com.sun.jndi.ldap.read.timeout"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 32
30: aload 0
iconst_m1
putfield com.sun.jndi.ldap.LdapCtx.readTimeout:I
31: goto 48
StackMap locals:
StackMap stack:
32: aload 1
ldc "java.naming.security.protocol"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 40
33: aload 0
iconst_0
invokevirtual com.sun.jndi.ldap.LdapCtx.closeConnection:(Z)V
34: aload 0
getfield com.sun.jndi.ldap.LdapCtx.useSsl:Z
ifeq 48
aload 0
getfield com.sun.jndi.ldap.LdapCtx.hasLdapsScheme:Z
ifne 48
35: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.useSsl:Z
36: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.url:Ljava/lang/String;
37: aload 0
getfield com.sun.jndi.ldap.LdapCtx.useDefaultPortNumber:Z
ifeq 48
38: aload 0
sipush 389
putfield com.sun.jndi.ldap.LdapCtx.port_number:I
39: goto 48
StackMap locals:
StackMap stack:
40: aload 1
ldc "java.naming.ldap.version"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 42
41: aload 1
ldc "java.naming.ldap.factory.socket"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 44
42: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual com.sun.jndi.ldap.LdapCtx.closeConnection:(Z)V
43: goto 48
StackMap locals:
StackMap stack:
44: aload 1
ldc "java.naming.security.authentication"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 47
45: aload 1
ldc "java.naming.security.principal"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 47
46: aload 1
ldc "java.naming.security.credentials"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 48
47: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.sharable:Z
48: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.clone:()Ljava/lang/Object;
checkcast java.util.Hashtable
putfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
49: aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 50 1 propName Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
propName
public java.lang.Object addToEnvironment(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: aload 0
aload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.removeFromEnvironment:(Ljava/lang/String;)Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
aload 1
ldc "java.naming.ldap.ref.separator"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
3: aload 0
aload 2
checkcast java.lang.String
invokevirtual com.sun.jndi.ldap.LdapCtx.setRefSeparator:(Ljava/lang/String;)V
4: goto 48
StackMap locals:
StackMap stack:
5: aload 1
ldc "java.naming.ldap.typesOnly"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
6: aload 0
aload 2
checkcast java.lang.String
invokevirtual com.sun.jndi.ldap.LdapCtx.setTypesOnly:(Ljava/lang/String;)V
7: goto 48
StackMap locals:
StackMap stack:
8: aload 1
ldc "java.naming.ldap.deleteRDN"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
9: aload 0
aload 2
checkcast java.lang.String
invokevirtual com.sun.jndi.ldap.LdapCtx.setDeleteRDN:(Ljava/lang/String;)V
10: goto 48
StackMap locals:
StackMap stack:
11: aload 1
ldc "java.naming.ldap.derefAliases"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
12: aload 0
aload 2
checkcast java.lang.String
invokevirtual com.sun.jndi.ldap.LdapCtx.setDerefAliases:(Ljava/lang/String;)V
13: goto 48
StackMap locals:
StackMap stack:
14: aload 1
ldc "java.naming.batchsize"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
15: aload 0
aload 2
checkcast java.lang.String
invokevirtual com.sun.jndi.ldap.LdapCtx.setBatchSize:(Ljava/lang/String;)V
16: goto 48
StackMap locals:
StackMap stack:
17: aload 1
ldc "java.naming.ldap.referral.limit"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 20
18: aload 0
aload 2
checkcast java.lang.String
invokevirtual com.sun.jndi.ldap.LdapCtx.setReferralLimit:(Ljava/lang/String;)V
19: goto 48
StackMap locals:
StackMap stack:
20: aload 1
ldc "java.naming.referral"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
21: aload 0
aload 2
checkcast java.lang.String
iconst_1
invokevirtual com.sun.jndi.ldap.LdapCtx.setReferralMode:(Ljava/lang/String;Z)V
22: goto 48
StackMap locals:
StackMap stack:
23: aload 1
ldc "java.naming.ldap.attributes.binary"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 26
24: aload 0
aload 2
checkcast java.lang.String
invokevirtual com.sun.jndi.ldap.LdapCtx.setBinaryAttributes:(Ljava/lang/String;)V
25: goto 48
StackMap locals:
StackMap stack:
26: aload 1
ldc "com.sun.jndi.ldap.connect.timeout"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 29
27: aload 0
aload 2
checkcast java.lang.String
invokevirtual com.sun.jndi.ldap.LdapCtx.setConnectTimeout:(Ljava/lang/String;)V
28: goto 48
StackMap locals:
StackMap stack:
29: aload 1
ldc "com.sun.jndi.ldap.read.timeout"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 32
30: aload 0
aload 2
checkcast java.lang.String
invokevirtual com.sun.jndi.ldap.LdapCtx.setReadTimeout:(Ljava/lang/String;)V
31: goto 48
StackMap locals:
StackMap stack:
32: aload 1
ldc "java.naming.security.protocol"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 40
33: aload 0
iconst_0
invokevirtual com.sun.jndi.ldap.LdapCtx.closeConnection:(Z)V
34: ldc "ssl"
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 48
35: aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapCtx.useSsl:Z
36: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.url:Ljava/lang/String;
37: aload 0
getfield com.sun.jndi.ldap.LdapCtx.useDefaultPortNumber:Z
ifeq 48
38: aload 0
sipush 636
putfield com.sun.jndi.ldap.LdapCtx.port_number:I
39: goto 48
StackMap locals:
StackMap stack:
40: aload 1
ldc "java.naming.ldap.version"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 42
41: aload 1
ldc "java.naming.ldap.factory.socket"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 44
42: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual com.sun.jndi.ldap.LdapCtx.closeConnection:(Z)V
43: goto 48
StackMap locals:
StackMap stack:
44: aload 1
ldc "java.naming.security.authentication"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 47
45: aload 1
ldc "java.naming.security.principal"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 47
46: aload 1
ldc "java.naming.security.credentials"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 48
47: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.sharable:Z
48: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ifnonnull 50
49: new java.util.Hashtable
dup
iconst_5
ldc 0.75
invokespecial java.util.Hashtable.<init>:(IF)V
goto 51
50: StackMap locals:
StackMap stack: com.sun.jndi.ldap.LdapCtx
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.clone:()Ljava/lang/Object;
checkcast java.util.Hashtable
51: StackMap locals: com.sun.jndi.ldap.LdapCtx java.lang.String java.lang.Object
StackMap stack: com.sun.jndi.ldap.LdapCtx java.util.Hashtable
putfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
52: aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
aload 1
aload 2
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 53 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 53 1 propName Ljava/lang/String;
0 53 2 propVal Ljava/lang/Object;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
propName
propVal
void setProviderUrl(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ifnull 2
1: aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "java.naming.provider.url"
aload 1
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 3 1 providerUrl Ljava/lang/String;
MethodParameters:
Name Flags
providerUrl
void setDomainName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ifnull 2
1: aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "com.sun.jndi.ldap.domainname"
aload 1
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 3 1 domainName Ljava/lang/String;
MethodParameters:
Name Flags
domainName
private void initEnv();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ifnonnull 3
1: aload 0
aconst_null
iconst_0
invokevirtual com.sun.jndi.ldap.LdapCtx.setReferralMode:(Ljava/lang/String;Z)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "java.naming.batchsize"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual com.sun.jndi.ldap.LdapCtx.setBatchSize:(Ljava/lang/String;)V
4: aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "java.naming.ldap.ref.separator"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual com.sun.jndi.ldap.LdapCtx.setRefSeparator:(Ljava/lang/String;)V
5: aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "java.naming.ldap.deleteRDN"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual com.sun.jndi.ldap.LdapCtx.setDeleteRDN:(Ljava/lang/String;)V
6: aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "java.naming.ldap.typesOnly"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual com.sun.jndi.ldap.LdapCtx.setTypesOnly:(Ljava/lang/String;)V
7: aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "java.naming.ldap.derefAliases"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual com.sun.jndi.ldap.LdapCtx.setDerefAliases:(Ljava/lang/String;)V
8: aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "java.naming.ldap.referral.limit"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual com.sun.jndi.ldap.LdapCtx.setReferralLimit:(Ljava/lang/String;)V
9: aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "java.naming.ldap.attributes.binary"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual com.sun.jndi.ldap.LdapCtx.setBinaryAttributes:(Ljava/lang/String;)V
10: aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "java.naming.ldap.control.connect"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.naming.ldap.Control[]
invokestatic com.sun.jndi.ldap.LdapCtx.cloneControls:([Ljavax/naming/ldap/Control;)[Ljavax/naming/ldap/Control;
putfield com.sun.jndi.ldap.LdapCtx.bindCtls:[Ljavax/naming/ldap/Control;
11: aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "java.naming.referral"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
iconst_0
invokevirtual com.sun.jndi.ldap.LdapCtx.setReferralMode:(Ljava/lang/String;Z)V
12: aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "com.sun.jndi.ldap.connect.timeout"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual com.sun.jndi.ldap.LdapCtx.setConnectTimeout:(Ljava/lang/String;)V
13: aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "com.sun.jndi.ldap.read.timeout"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual com.sun.jndi.ldap.LdapCtx.setReadTimeout:(Ljava/lang/String;)V
14: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/jndi/ldap/LdapCtx;
Exceptions:
throws javax.naming.NamingException
private void setDeleteRDN(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 4
1: aload 1
ldc "false"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 4
2: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.deleteRDN:Z
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapCtx.deleteRDN:Z
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 6 1 deleteRDNProp Ljava/lang/String;
MethodParameters:
Name Flags
deleteRDNProp
private void setTypesOnly(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 4
1: aload 1
ldc "true"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 4
2: aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapCtx.typesOnly:Z
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.typesOnly:Z
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 6 1 typesOnlyProp Ljava/lang/String;
MethodParameters:
Name Flags
typesOnlyProp
private void setBatchSize(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 3
1: aload 0
aload 1
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
putfield com.sun.jndi.ldap.LdapCtx.batchSize:I
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapCtx.batchSize:I
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 5 1 batchSizeProp Ljava/lang/String;
MethodParameters:
Name Flags
batchSizeProp
private void setReferralMode(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 16
1: aload 1
ldc "follow-scheme"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
2: aload 0
iconst_4
putfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
3: goto 17
StackMap locals:
StackMap stack:
4: aload 1
ldc "follow"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
5: aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
6: goto 17
StackMap locals:
StackMap stack:
7: aload 1
ldc "throw"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
8: aload 0
iconst_2
putfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
9: goto 17
StackMap locals:
StackMap stack:
10: aload 1
ldc "ignore"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
11: aload 0
iconst_3
putfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
12: goto 17
13: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
14: ldc "Illegal value for java.naming.referral property."
15: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
aload 0
iconst_3
putfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
17: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
iconst_3
if_icmpne 20
18: aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
getstatic com.sun.jndi.ldap.LdapCtx.manageReferralControl:Ljavax/naming/ldap/Control;
invokestatic com.sun.jndi.ldap.LdapCtx.addControl:([Ljavax/naming/ldap/Control;Ljavax/naming/ldap/Control;)[Ljavax/naming/ldap/Control;
putfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
19: goto 22
StackMap locals:
StackMap stack:
20: iload 2
ifeq 22
21: aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
getstatic com.sun.jndi.ldap.LdapCtx.manageReferralControl:Ljavax/naming/ldap/Control;
invokestatic com.sun.jndi.ldap.LdapCtx.removeControl:([Ljavax/naming/ldap/Control;Ljavax/naming/ldap/Control;)[Ljavax/naming/ldap/Control;
putfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
22: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 23 1 ref Ljava/lang/String;
0 23 2 update Z
MethodParameters:
Name Flags
ref
update
private void setDerefAliases(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 14
1: aload 1
ldc "never"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
2: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.derefAliases:I
3: goto 15
StackMap locals:
StackMap stack:
4: aload 1
ldc "searching"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
5: aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapCtx.derefAliases:I
6: goto 15
StackMap locals:
StackMap stack:
7: aload 1
ldc "finding"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
8: aload 0
iconst_2
putfield com.sun.jndi.ldap.LdapCtx.derefAliases:I
9: goto 15
StackMap locals:
StackMap stack:
10: aload 1
ldc "always"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
11: aload 0
iconst_3
putfield com.sun.jndi.ldap.LdapCtx.derefAliases:I
12: goto 15
13: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Illegal value for java.naming.ldap.derefAliases property."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 0
iconst_3
putfield com.sun.jndi.ldap.LdapCtx.derefAliases:I
15: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 16 1 deref Ljava/lang/String;
MethodParameters:
Name Flags
deref
private void setRefSeparator(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 3
aload 1
invokevirtual java.lang.String.length:()I
ifle 3
1: aload 0
aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
putfield com.sun.jndi.ldap.LdapCtx.addrEncodingSeparator:C
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
bipush 35
putfield com.sun.jndi.ldap.LdapCtx.addrEncodingSeparator:C
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 5 1 sepStr Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
sepStr
private void setReferralLimit(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 5
1: aload 0
aload 1
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
putfield com.sun.jndi.ldap.LdapCtx.referralHopLimit:I
2: aload 0
getfield com.sun.jndi.ldap.LdapCtx.referralHopLimit:I
ifne 6
3: aload 0
ldc 2147483647
putfield com.sun.jndi.ldap.LdapCtx.referralHopLimit:I
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
bipush 10
putfield com.sun.jndi.ldap.LdapCtx.referralHopLimit:I
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 7 1 referralLimitProp Ljava/lang/String;
MethodParameters:
Name Flags
referralLimitProp
void setHopCount(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.sun.jndi.ldap.LdapCtx.hopCount:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 2 1 hopCount I
MethodParameters:
Name Flags
hopCount
private void setConnectTimeout(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 3
1: aload 0
aload 1
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
putfield com.sun.jndi.ldap.LdapCtx.connectTimeout:I
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
iconst_m1
putfield com.sun.jndi.ldap.LdapCtx.connectTimeout:I
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 5 1 connectTimeoutProp Ljava/lang/String;
MethodParameters:
Name Flags
connectTimeoutProp
private void setReadTimeout(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 3
1: aload 0
aload 1
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
putfield com.sun.jndi.ldap.LdapCtx.readTimeout:I
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
iconst_m1
putfield com.sun.jndi.ldap.LdapCtx.readTimeout:I
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 5 1 readTimeoutProp Ljava/lang/String;
MethodParameters:
Name Flags
readTimeoutProp
private static java.util.Vector (java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Vector;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: int int
StackMap stack:
iinc 1 1
4: iinc 2 1
5: StackMap locals:
StackMap stack:
aload 0
bipush 10
iload 1
invokevirtual java.lang.String.indexOf:(II)I
dup
istore 1
ifge 3
6: new java.util.Vector
dup
iload 2
invokespecial java.util.Vector.<init>:(I)V
astore 3
start local 3 7: aload 0
bipush 10
invokevirtual java.lang.String.indexOf:(I)I
istore 1
8: iload 1
iconst_1
iadd
istore 4
start local 4 9: goto 12
10: StackMap locals: java.util.Vector int
StackMap stack:
aload 3
aload 0
iload 4
iload 1
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
11: iload 1
iconst_1
iadd
istore 4
12: StackMap locals:
StackMap stack:
aload 0
bipush 10
iload 4
invokevirtual java.lang.String.indexOf:(II)I
dup
istore 1
ifge 10
13: aload 3
aload 0
iload 4
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
14: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 refString Ljava/lang/String;
1 15 1 separator I
2 15 2 urlCount I
7 15 3 referrals Ljava/util/Vector;
9 15 4 iURL I
MethodParameters:
Name Flags
refString
private void setBinaryAttributes(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.binaryAttrs:Ljava/util/Hashtable;
2: goto 9
3: StackMap locals:
StackMap stack:
aload 0
new java.util.Hashtable
dup
bipush 11
ldc 0.75
invokespecial java.util.Hashtable.<init>:(IF)V
putfield com.sun.jndi.ldap.LdapCtx.binaryAttrs:Ljava/util/Hashtable;
4: new java.util.StringTokenizer
dup
aload 1
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
ldc " "
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
5: astore 2
start local 2 6: goto 8
7: StackMap locals: java.util.StringTokenizer
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.binaryAttrs:Ljava/util/Hashtable;
aload 2
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 7
end local 2 9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 10 1 attrIds Ljava/lang/String;
6 9 2 tokens Ljava/util/StringTokenizer;
MethodParameters:
Name Flags
attrIds
protected void finalize();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.jndi.ldap.LdapCtx.close:()V
1: goto 3
StackMap locals:
StackMap stack: javax.naming.NamingException
2: pop
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/jndi/ldap/LdapCtx;
Exception table:
from to target type
0 1 2 Class javax.naming.NamingException
public synchronized void close();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jndi.ldap.LdapCtx.eventSupport:Lcom/sun/jndi/ldap/EventSupport;
ifnull 3
1: aload 0
getfield com.sun.jndi.ldap.LdapCtx.eventSupport:Lcom/sun/jndi/ldap/EventSupport;
invokevirtual com.sun.jndi.ldap.EventSupport.cleanup:()V
2: aload 0
invokevirtual com.sun.jndi.ldap.LdapCtx.removeUnsolicited:()V
3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.enumCount:I
ifle 6
4: aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapCtx.closeRequested:Z
5: return
6: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual com.sun.jndi.ldap.LdapCtx.closeConnection:(Z)V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/jndi/ldap/LdapCtx;
Exceptions:
throws javax.naming.NamingException
public void reconnect(javax.naming.ldap.Control[]);
descriptor: ([Ljavax/naming/ldap/Control;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ifnonnull 2
1: new java.util.Hashtable
dup
iconst_5
ldc 0.75
invokespecial java.util.Hashtable.<init>:(IF)V
goto 3
2: StackMap locals:
StackMap stack: com.sun.jndi.ldap.LdapCtx
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.clone:()Ljava/lang/Object;
checkcast java.util.Hashtable
3: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.ldap.Control[]
StackMap stack: com.sun.jndi.ldap.LdapCtx java.util.Hashtable
putfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
4: aload 1
ifnonnull 8
5: aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "java.naming.ldap.control.connect"
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
6: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.bindCtls:[Ljavax/naming/ldap/Control;
7: goto 9
8: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "java.naming.ldap.control.connect"
aload 0
aload 1
invokestatic com.sun.jndi.ldap.LdapCtx.cloneControls:([Ljavax/naming/ldap/Control;)[Ljavax/naming/ldap/Control;
dup_x1
putfield com.sun.jndi.ldap.LdapCtx.bindCtls:[Ljavax/naming/ldap/Control;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.sharable:Z
10: aload 0
invokevirtual com.sun.jndi.ldap.LdapCtx.ensureOpen:()V
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 12 1 connCtls [Ljavax/naming/ldap/Control;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
connCtls
private void ensureOpen();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual com.sun.jndi.ldap.LdapCtx.ensureOpen:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/ldap/LdapCtx;
Exceptions:
throws javax.naming.NamingException
private void ensureOpen(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
ifnonnull 4
1: aload 0
new java.util.Hashtable
dup
bipush 11
ldc 0.75
invokespecial java.util.Hashtable.<init>:(IF)V
putfield com.sun.jndi.ldap.LdapCtx.schemaTrees:Ljava/util/Hashtable;
2: aload 0
iload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.connect:(Z)V
3: goto 20
StackMap locals:
StackMap stack:
4: aload 0
getfield com.sun.jndi.ldap.LdapCtx.sharable:Z
ifeq 5
iload 1
ifeq 20
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
dup
astore 2
monitorenter
6: aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
getfield com.sun.jndi.ldap.LdapClient.isLdapv3:Z
ifeq 9
7: aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
getfield com.sun.jndi.ldap.LdapClient.referenceCount:I
iconst_1
if_icmpgt 9
8: aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
invokevirtual com.sun.jndi.ldap.LdapClient.usingSaslStreams:()Z
ifeq 10
9: StackMap locals: com.sun.jndi.ldap.LdapClient
StackMap stack:
aload 0
iconst_0
invokevirtual com.sun.jndi.ldap.LdapCtx.closeConnection:(Z)V
10: StackMap locals:
StackMap stack:
aload 2
monitorexit
11: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
12: aload 2
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
aload 0
new java.util.Hashtable
dup
bipush 11
ldc 0.75
invokespecial java.util.Hashtable.<init>:(IF)V
putfield com.sun.jndi.ldap.LdapCtx.schemaTrees:Ljava/util/Hashtable;
15: aload 0
iload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.connect:(Z)V
16: goto 20
StackMap locals:
StackMap stack: java.lang.Throwable
17: astore 3
18: aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapCtx.sharable:Z
19: aload 3
athrow
20: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapCtx.sharable:Z
21: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 22 1 startTLS Z
Exception table:
from to target type
6 11 12 any
12 13 12 any
0 17 17 any
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
startTLS
private void connect(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=15, locals=15, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aconst_null
astore 4
start local 4 3: aconst_null
astore 5
start local 5 4: aconst_null
astore 6
start local 6 5: aconst_null
astore 7
start local 7 6: iconst_0
istore 9
start local 9 7: aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ifnull 18
8: aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "java.naming.security.principal"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
9: aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "java.naming.security.credentials"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
10: aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "java.naming.ldap.version"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 7
11: aload 0
getfield com.sun.jndi.ldap.LdapCtx.useSsl:Z
ifeq 12
ldc "ssl"
goto 13
StackMap locals: com.sun.jndi.ldap.LdapCtx int java.lang.String java.lang.Object java.lang.String java.lang.String java.lang.String java.lang.String top int
StackMap stack:
12: aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "java.naming.security.protocol"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
13: StackMap locals:
StackMap stack: java.lang.String
astore 4
14: aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "java.naming.ldap.factory.socket"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 5
15: aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "java.naming.security.authentication"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
16: astore 6
17: ldc "true"
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "com.sun.jndi.ldap.connect.pool"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
istore 9
18: StackMap locals:
StackMap stack:
aload 5
ifnonnull 22
19: ldc "ssl"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 20
ldc "javax.net.ssl.SSLSocketFactory"
goto 21
StackMap locals:
StackMap stack:
20: aconst_null
21: StackMap locals:
StackMap stack: java.lang.String
astore 5
22: StackMap locals:
StackMap stack:
aload 6
ifnonnull 26
23: aload 2
ifnonnull 24
ldc "none"
goto 25
StackMap locals:
StackMap stack:
24: ldc "simple"
StackMap locals:
StackMap stack: java.lang.String
25: astore 6
26: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
ifnonnull 27
iconst_1
goto 28
StackMap locals:
StackMap stack:
27: iconst_0
StackMap locals:
StackMap stack: int
28: istore 10
start local 10 29: iload 10
ifeq 51
30: aload 7
ifnull 31
aload 7
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
goto 32
31: StackMap locals: int
StackMap stack:
bipush 32
32: StackMap locals:
StackMap stack: int
istore 8
start local 8 33: aload 0
34: iload 9
35: aload 0
getfield com.sun.jndi.ldap.LdapCtx.hostname:Ljava/lang/String;
36: aload 0
getfield com.sun.jndi.ldap.LdapCtx.port_number:I
37: aload 5
38: aload 0
getfield com.sun.jndi.ldap.LdapCtx.connectTimeout:I
39: aload 0
getfield com.sun.jndi.ldap.LdapCtx.readTimeout:I
40: aload 0
getfield com.sun.jndi.ldap.LdapCtx.trace:Ljava/io/OutputStream;
41: iload 8
42: aload 6
43: aload 0
getfield com.sun.jndi.ldap.LdapCtx.bindCtls:[Ljavax/naming/ldap/Control;
44: aload 4
45: aload 2
46: aload 3
47: aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
48: invokestatic com.sun.jndi.ldap.LdapClient.getInstance:(ZLjava/lang/String;ILjava/lang/String;IILjava/io/OutputStream;ILjava/lang/String;[Ljavax/naming/ldap/Control;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/util/Hashtable;)Lcom/sun/jndi/ldap/LdapClient;
putfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
49: aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
invokevirtual com.sun.jndi.ldap.LdapClient.authenticateCalled:()Z
ifeq 54
50: return
end local 8 51: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.sharable:Z
ifeq 53
iload 1
ifeq 53
52: return
53: StackMap locals:
StackMap stack:
iconst_3
istore 8
start local 8 54: StackMap locals: com.sun.jndi.ldap.LdapCtx int java.lang.String java.lang.Object java.lang.String java.lang.String java.lang.String java.lang.String int int int
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
iload 10
55: aload 2
aload 3
iload 8
aload 6
aload 0
getfield com.sun.jndi.ldap.LdapCtx.bindCtls:[Ljavax/naming/ldap/Control;
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
56: invokevirtual com.sun.jndi.ldap.LdapClient.authenticate:(ZLjava/lang/String;Ljava/lang/Object;ILjava/lang/String;[Ljavax/naming/ldap/Control;Ljava/util/Hashtable;)Lcom/sun/jndi/ldap/LdapResult;
astore 11
start local 11 57: aload 0
aload 11
getfield com.sun.jndi.ldap.LdapResult.resControls:Ljava/util/Vector;
putfield com.sun.jndi.ldap.LdapCtx.respCtls:Ljava/util/Vector;
58: aload 11
getfield com.sun.jndi.ldap.LdapResult.status:I
ifeq 84
59: iload 10
ifeq 61
60: aload 0
iconst_1
invokevirtual com.sun.jndi.ldap.LdapCtx.closeConnection:(Z)V
61: StackMap locals: com.sun.jndi.ldap.LdapResult
StackMap stack:
aload 0
aload 11
invokevirtual com.sun.jndi.ldap.LdapCtx.processReturnCode:(Lcom/sun/jndi/ldap/LdapResult;)V
end local 11 end local 10 62: goto 84
end local 8 StackMap locals: com.sun.jndi.ldap.LdapCtx int java.lang.String java.lang.Object java.lang.String java.lang.String java.lang.String java.lang.String top int
StackMap stack: com.sun.jndi.ldap.LdapReferralException
63: astore 10
start local 10 64: aload 0
getfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
iconst_2
if_icmpne 66
65: aload 10
athrow
66: StackMap locals: com.sun.jndi.ldap.LdapReferralException
StackMap stack:
aconst_null
astore 13
start local 13 67: StackMap locals: com.sun.jndi.ldap.LdapCtx int java.lang.String java.lang.Object java.lang.String java.lang.String java.lang.String java.lang.String top int com.sun.jndi.ldap.LdapReferralException top top javax.naming.NamingException
StackMap stack:
aload 10
invokevirtual com.sun.jndi.ldap.LdapReferralException.getNextReferral:()Ljava/lang/String;
dup
astore 11
start local 11 68: ifnonnull 74
69: aload 13
ifnull 71
70: aload 13
invokevirtual javax.naming.NamingException.fillInStackTrace:()Ljava/lang/Throwable;
checkcast javax.naming.NamingException
athrow
71: StackMap locals: com.sun.jndi.ldap.LdapCtx int java.lang.String java.lang.Object java.lang.String java.lang.String java.lang.String java.lang.String top int com.sun.jndi.ldap.LdapReferralException java.lang.String top javax.naming.NamingException
StackMap stack:
new javax.naming.NamingException
dup
72: ldc "Internal error processing referral during connection"
73: invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
athrow
74: StackMap locals:
StackMap stack:
new com.sun.jndi.ldap.LdapURL
dup
aload 11
invokespecial com.sun.jndi.ldap.LdapURL.<init>:(Ljava/lang/String;)V
astore 12
start local 12 75: aload 0
aload 12
invokevirtual com.sun.jndi.ldap.LdapURL.getHost:()Ljava/lang/String;
putfield com.sun.jndi.ldap.LdapCtx.hostname:Ljava/lang/String;
76: aload 0
getfield com.sun.jndi.ldap.LdapCtx.hostname:Ljava/lang/String;
ifnull 78
aload 0
getfield com.sun.jndi.ldap.LdapCtx.hostname:Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpne 78
77: aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.hostname:Ljava/lang/String;
iconst_1
aload 0
getfield com.sun.jndi.ldap.LdapCtx.hostname:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
putfield com.sun.jndi.ldap.LdapCtx.hostname:Ljava/lang/String;
78: StackMap locals: com.sun.jndi.ldap.LdapCtx int java.lang.String java.lang.Object java.lang.String java.lang.String java.lang.String java.lang.String top int com.sun.jndi.ldap.LdapReferralException java.lang.String com.sun.jndi.ldap.LdapURL javax.naming.NamingException
StackMap stack:
aload 0
aload 12
invokevirtual com.sun.jndi.ldap.LdapURL.getPort:()I
putfield com.sun.jndi.ldap.LdapCtx.port_number:I
79: aload 0
iload 1
invokevirtual com.sun.jndi.ldap.LdapCtx.connect:(Z)V
80: goto 84
81: StackMap locals:
StackMap stack: javax.naming.NamingException
astore 14
start local 14 82: aload 14
astore 13
end local 14 end local 12 end local 11 83: goto 67
end local 13 end local 10 84: StackMap locals: com.sun.jndi.ldap.LdapCtx int java.lang.String java.lang.Object java.lang.String java.lang.String java.lang.String java.lang.String top int
StackMap stack:
return
end local 9 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 85 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 85 1 startTLS Z
1 85 2 user Ljava/lang/String;
2 85 3 passwd Ljava/lang/Object;
3 85 4 secProtocol Ljava/lang/String;
4 85 5 socketFactory Ljava/lang/String;
5 85 6 authMechanism Ljava/lang/String;
6 85 7 ver Ljava/lang/String;
33 51 8 ldapVersion I
54 63 8 ldapVersion I
7 85 9 usePool Z
29 62 10 initial Z
57 62 11 answer Lcom/sun/jndi/ldap/LdapResult;
64 84 10 e Lcom/sun/jndi/ldap/LdapReferralException;
68 83 11 referral Ljava/lang/String;
75 83 12 url Lcom/sun/jndi/ldap/LdapURL;
67 84 13 saved_ex Ljavax/naming/NamingException;
82 83 14 ne Ljavax/naming/NamingException;
Exception table:
from to target type
26 50 63 Class com.sun.jndi.ldap.LdapReferralException
51 52 63 Class com.sun.jndi.ldap.LdapReferralException
53 62 63 Class com.sun.jndi.ldap.LdapReferralException
79 80 81 Class javax.naming.NamingException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
startTLS
private void closeConnection(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.jndi.ldap.LdapCtx.removeUnsolicited:()V
1: aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
ifnull 4
2: aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
aload 0
getfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
iload 1
invokevirtual com.sun.jndi.ldap.LdapClient.close:([Ljavax/naming/ldap/Control;Z)V
3: aload 0
aconst_null
putfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 5 1 hardclose Z
MethodParameters:
Name Flags
hardclose
synchronized void incEnumCount();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield com.sun.jndi.ldap.LdapCtx.enumCount:I
iconst_1
iadd
putfield com.sun.jndi.ldap.LdapCtx.enumCount:I
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/ldap/LdapCtx;
synchronized void decEnumCount();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield com.sun.jndi.ldap.LdapCtx.enumCount:I
iconst_1
isub
putfield com.sun.jndi.ldap.LdapCtx.enumCount:I
1: aload 0
getfield com.sun.jndi.ldap.LdapCtx.enumCount:I
ifne 5
aload 0
getfield com.sun.jndi.ldap.LdapCtx.closeRequested:Z
ifeq 5
2: aload 0
invokevirtual com.sun.jndi.ldap.LdapCtx.close:()V
3: goto 5
StackMap locals:
StackMap stack: javax.naming.NamingException
4: pop
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/jndi/ldap/LdapCtx;
Exception table:
from to target type
2 3 4 Class javax.naming.NamingException
protected void processReturnCode(com.sun.jndi.ldap.LdapResult);
descriptor: (Lcom/sun/jndi/ldap/LdapResult;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
aload 0
aconst_null
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
aconst_null
invokevirtual com.sun.jndi.ldap.LdapCtx.processReturnCode:(Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;Ljava/lang/Object;Ljavax/naming/Name;Ljava/util/Hashtable;Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 2 1 answer Lcom/sun/jndi/ldap/LdapResult;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
answer
void processReturnCode(com.sun.jndi.ldap.LdapResult, javax.naming.Name);
descriptor: (Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;)V
flags: (0x0000)
Code:
stack=8, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
1: new javax.naming.CompositeName
dup
invokespecial javax.naming.CompositeName.<init>:()V
aload 0
getfield com.sun.jndi.ldap.LdapCtx.currentDN:Ljava/lang/String;
invokevirtual javax.naming.CompositeName.add:(Ljava/lang/String;)Ljavax/naming/Name;
2: aload 0
3: aload 2
4: aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
5: aload 0
aload 2
invokevirtual com.sun.jndi.ldap.LdapCtx.fullyQualifiedName:(Ljavax/naming/Name;)Ljava/lang/String;
6: invokevirtual com.sun.jndi.ldap.LdapCtx.processReturnCode:(Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;Ljava/lang/Object;Ljavax/naming/Name;Ljava/util/Hashtable;Ljava/lang/String;)V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 8 1 answer Lcom/sun/jndi/ldap/LdapResult;
0 8 2 remainName Ljavax/naming/Name;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
answer
remainName
protected void processReturnCode(com.sun.jndi.ldap.LdapResult, javax.naming.Name, java.lang.Object, javax.naming.Name, java.util.Hashtable, java.lang.String);
descriptor: (Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;Ljava/lang/Object;Ljavax/naming/Name;Ljava/util/Hashtable;Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=10, locals=14, 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: aload 1
getfield com.sun.jndi.ldap.LdapResult.status:I
aload 1
getfield com.sun.jndi.ldap.LdapResult.errorMessage:Ljava/lang/String;
invokestatic com.sun.jndi.ldap.LdapClient.getErrorMessage:(ILjava/lang/String;)Ljava/lang/String;
astore 7
start local 7 1: aconst_null
astore 9
start local 9 2: aload 1
getfield com.sun.jndi.ldap.LdapResult.status:I
lookupswitch { // 5
0: 3
9: 75
10: 43
34: 108
64: 108
default: 114
}
3: StackMap locals: com.sun.jndi.ldap.LdapCtx com.sun.jndi.ldap.LdapResult javax.naming.Name java.lang.Object javax.naming.Name java.util.Hashtable java.lang.String java.lang.String top com.sun.jndi.ldap.LdapReferralException
StackMap stack:
aload 1
getfield com.sun.jndi.ldap.LdapResult.referrals:Ljava/util/Vector;
ifnull 42
4: ldc "Unprocessed Continuation Reference(s)"
astore 7
5: aload 0
getfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
iconst_3
if_icmpne 8
6: new javax.naming.PartialResultException
dup
aload 7
invokespecial javax.naming.PartialResultException.<init>:(Ljava/lang/String;)V
astore 8
start local 8 7: goto 115
end local 8 8: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.jndi.ldap.LdapResult.referrals:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
istore 10
start local 10 9: aconst_null
astore 11
start local 11 10: aconst_null
astore 12
start local 12 11: ldc "Continuation Reference"
astore 7
12: iconst_0
istore 13
start local 13 13: goto 27
14: StackMap locals: com.sun.jndi.ldap.LdapCtx com.sun.jndi.ldap.LdapResult javax.naming.Name java.lang.Object javax.naming.Name java.util.Hashtable java.lang.String java.lang.String top com.sun.jndi.ldap.LdapReferralException int com.sun.jndi.ldap.LdapReferralException com.sun.jndi.ldap.LdapReferralException int
StackMap stack:
new com.sun.jndi.ldap.LdapReferralException
dup
aload 2
aload 3
15: aload 4
aload 7
aload 5
aload 6
aload 0
getfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
16: aload 0
getfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
17: invokespecial com.sun.jndi.ldap.LdapReferralException.<init>:(Ljavax/naming/Name;Ljava/lang/Object;Ljavax/naming/Name;Ljava/lang/String;Ljava/util/Hashtable;Ljava/lang/String;I[Ljavax/naming/ldap/Control;)V
astore 9
18: aload 9
aload 1
getfield com.sun.jndi.ldap.LdapResult.referrals:Ljava/util/Vector;
iload 13
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast java.util.Vector
iconst_1
invokevirtual com.sun.jndi.ldap.LdapReferralException.setReferralInfo:(Ljava/util/Vector;Z)V
19: aload 0
getfield com.sun.jndi.ldap.LdapCtx.hopCount:I
iconst_1
if_icmple 21
20: aload 9
aload 0
getfield com.sun.jndi.ldap.LdapCtx.hopCount:I
invokevirtual com.sun.jndi.ldap.LdapReferralException.setHopCount:(I)V
21: StackMap locals:
StackMap stack:
aload 11
ifnonnull 24
22: aload 9
dup
astore 12
astore 11
23: goto 26
24: StackMap locals:
StackMap stack:
aload 12
aload 9
putfield com.sun.jndi.ldap.LdapReferralException.nextReferralEx:Lcom/sun/jndi/ldap/LdapReferralException;
25: aload 9
astore 12
26: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
27: iload 13
iload 10
if_icmplt 14
end local 13 28: aload 1
aconst_null
putfield com.sun.jndi.ldap.LdapResult.referrals:Ljava/util/Vector;
29: aload 1
getfield com.sun.jndi.ldap.LdapResult.refEx:Lcom/sun/jndi/ldap/LdapReferralException;
ifnonnull 32
30: aload 1
aload 11
putfield com.sun.jndi.ldap.LdapResult.refEx:Lcom/sun/jndi/ldap/LdapReferralException;
31: goto 37
32: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.jndi.ldap.LdapResult.refEx:Lcom/sun/jndi/ldap/LdapReferralException;
astore 12
33: goto 35
34: StackMap locals:
StackMap stack:
aload 12
getfield com.sun.jndi.ldap.LdapReferralException.nextReferralEx:Lcom/sun/jndi/ldap/LdapReferralException;
astore 12
35: StackMap locals:
StackMap stack:
aload 12
getfield com.sun.jndi.ldap.LdapReferralException.nextReferralEx:Lcom/sun/jndi/ldap/LdapReferralException;
ifnonnull 34
36: aload 12
aload 11
putfield com.sun.jndi.ldap.LdapReferralException.nextReferralEx:Lcom/sun/jndi/ldap/LdapReferralException;
37: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.hopCount:I
aload 0
getfield com.sun.jndi.ldap.LdapCtx.referralHopLimit:I
if_icmple 42
38: new javax.naming.LimitExceededException
dup
ldc "Referral limit exceeded"
invokespecial javax.naming.LimitExceededException.<init>:(Ljava/lang/String;)V
39: astore 13
start local 13 40: aload 13
aload 9
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
41: aload 13
athrow
end local 13 end local 12 end local 11 end local 10 42: StackMap locals:
StackMap stack:
return
43: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
iconst_3
if_icmpne 46
44: new javax.naming.PartialResultException
dup
aload 7
invokespecial javax.naming.PartialResultException.<init>:(Ljava/lang/String;)V
astore 8
start local 8 45: goto 115
end local 8 46: StackMap locals:
StackMap stack:
new com.sun.jndi.ldap.LdapReferralException
dup
aload 2
aload 3
aload 4
47: aload 7
aload 5
aload 6
aload 0
getfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
aload 0
getfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
48: invokespecial com.sun.jndi.ldap.LdapReferralException.<init>:(Ljavax/naming/Name;Ljava/lang/Object;Ljavax/naming/Name;Ljava/lang/String;Ljava/util/Hashtable;Ljava/lang/String;I[Ljavax/naming/ldap/Control;)V
astore 9
49: aload 1
getfield com.sun.jndi.ldap.LdapResult.referrals:Ljava/util/Vector;
ifnonnull 52
50: aconst_null
astore 10
start local 10 51: goto 64
end local 10 StackMap locals:
StackMap stack:
52: aload 0
getfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
iconst_4
if_icmpne 63
53: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 10
start local 10 54: aload 1
getfield com.sun.jndi.ldap.LdapResult.referrals:Ljava/util/Vector;
iconst_0
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast java.util.Vector
astore 11
start local 11 55: aload 11
invokevirtual java.util.Vector.iterator:()Ljava/util/Iterator;
astore 13
goto 59
StackMap locals: com.sun.jndi.ldap.LdapCtx com.sun.jndi.ldap.LdapResult javax.naming.Name java.lang.Object javax.naming.Name java.util.Hashtable java.lang.String java.lang.String top com.sun.jndi.ldap.LdapReferralException java.util.Vector java.util.Vector top java.util.Iterator
StackMap stack:
56: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 12
start local 12 57: aload 12
ldc "ldap:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 59
58: aload 10
aload 12
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
end local 12 59: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 56
60: aload 10
invokevirtual java.util.Vector.isEmpty:()Z
ifeq 64
61: aconst_null
astore 10
end local 11 62: goto 64
end local 10 63: StackMap locals: com.sun.jndi.ldap.LdapCtx com.sun.jndi.ldap.LdapResult javax.naming.Name java.lang.Object javax.naming.Name java.util.Hashtable java.lang.String java.lang.String top com.sun.jndi.ldap.LdapReferralException
StackMap stack:
aload 1
getfield com.sun.jndi.ldap.LdapResult.referrals:Ljava/util/Vector;
iconst_0
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast java.util.Vector
astore 10
start local 10 64: StackMap locals: java.util.Vector
StackMap stack:
aload 9
aload 10
iconst_0
invokevirtual com.sun.jndi.ldap.LdapReferralException.setReferralInfo:(Ljava/util/Vector;Z)V
65: aload 0
getfield com.sun.jndi.ldap.LdapCtx.hopCount:I
iconst_1
if_icmple 67
66: aload 9
aload 0
getfield com.sun.jndi.ldap.LdapCtx.hopCount:I
invokevirtual com.sun.jndi.ldap.LdapReferralException.setHopCount:(I)V
67: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.hopCount:I
aload 0
getfield com.sun.jndi.ldap.LdapCtx.referralHopLimit:I
if_icmple 73
68: new javax.naming.LimitExceededException
dup
ldc "Referral limit exceeded"
invokespecial javax.naming.LimitExceededException.<init>:(Ljava/lang/String;)V
69: astore 11
start local 11 70: aload 11
aload 9
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
71: aload 11
astore 8
end local 11 start local 8 72: goto 115
end local 8 73: StackMap locals:
StackMap stack:
aload 9
astore 8
start local 8 74: goto 115
end local 10 end local 8 75: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
iconst_3
if_icmpne 78
76: new javax.naming.PartialResultException
dup
aload 7
invokespecial javax.naming.PartialResultException.<init>:(Ljava/lang/String;)V
astore 8
start local 8 77: goto 115
end local 8 78: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.jndi.ldap.LdapResult.errorMessage:Ljava/lang/String;
ifnull 81
aload 1
getfield com.sun.jndi.ldap.LdapResult.errorMessage:Ljava/lang/String;
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 81
79: aload 1
aload 1
getfield com.sun.jndi.ldap.LdapResult.errorMessage:Ljava/lang/String;
invokestatic com.sun.jndi.ldap.LdapCtx.extractURLs:(Ljava/lang/String;)Ljava/util/Vector;
putfield com.sun.jndi.ldap.LdapResult.referrals:Ljava/util/Vector;
80: goto 83
81: StackMap locals:
StackMap stack:
new javax.naming.PartialResultException
dup
aload 7
invokespecial javax.naming.PartialResultException.<init>:(Ljava/lang/String;)V
astore 8
start local 8 82: goto 115
end local 8 83: StackMap locals:
StackMap stack:
new com.sun.jndi.ldap.LdapReferralException
dup
aload 2
84: aload 3
85: aload 4
86: aload 7
87: aload 5
88: aload 6
89: aload 0
getfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
90: aload 0
getfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
91: invokespecial com.sun.jndi.ldap.LdapReferralException.<init>:(Ljavax/naming/Name;Ljava/lang/Object;Ljavax/naming/Name;Ljava/lang/String;Ljava/util/Hashtable;Ljava/lang/String;I[Ljavax/naming/ldap/Control;)V
astore 9
92: aload 0
getfield com.sun.jndi.ldap.LdapCtx.hopCount:I
iconst_1
if_icmple 94
93: aload 9
aload 0
getfield com.sun.jndi.ldap.LdapCtx.hopCount:I
invokevirtual com.sun.jndi.ldap.LdapReferralException.setHopCount:(I)V
94: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.jndi.ldap.LdapResult.entries:Ljava/util/Vector;
ifnull 95
aload 1
getfield com.sun.jndi.ldap.LdapResult.entries:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
ifne 105
95: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.jndi.ldap.LdapResult.referrals:Ljava/util/Vector;
ifnull 105
aload 1
getfield com.sun.jndi.ldap.LdapResult.referrals:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
iconst_1
if_icmpne 105
96: aload 9
aload 1
getfield com.sun.jndi.ldap.LdapResult.referrals:Ljava/util/Vector;
iconst_0
invokevirtual com.sun.jndi.ldap.LdapReferralException.setReferralInfo:(Ljava/util/Vector;Z)V
97: aload 0
getfield com.sun.jndi.ldap.LdapCtx.hopCount:I
aload 0
getfield com.sun.jndi.ldap.LdapCtx.referralHopLimit:I
if_icmple 103
98: new javax.naming.LimitExceededException
dup
ldc "Referral limit exceeded"
invokespecial javax.naming.LimitExceededException.<init>:(Ljava/lang/String;)V
99: astore 11
start local 11 100: aload 11
aload 9
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
101: aload 11
astore 8
end local 11 start local 8 102: goto 115
end local 8 103: StackMap locals:
StackMap stack:
aload 9
astore 8
start local 8 104: goto 115
end local 8 105: StackMap locals:
StackMap stack:
aload 9
aload 1
getfield com.sun.jndi.ldap.LdapResult.referrals:Ljava/util/Vector;
iconst_1
invokevirtual com.sun.jndi.ldap.LdapReferralException.setReferralInfo:(Ljava/util/Vector;Z)V
106: aload 1
aload 9
putfield com.sun.jndi.ldap.LdapResult.refEx:Lcom/sun/jndi/ldap/LdapReferralException;
107: return
108: StackMap locals:
StackMap stack:
aload 4
ifnull 112
109: new javax.naming.InvalidNameException
dup
new java.lang.StringBuilder
dup
aload 4
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
110: invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
astore 8
start local 8 111: goto 115
end local 8 112: StackMap locals:
StackMap stack:
new javax.naming.InvalidNameException
dup
aload 7
invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
astore 8
start local 8 113: goto 115
end local 8 114: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.jndi.ldap.LdapResult.status:I
aload 1
getfield com.sun.jndi.ldap.LdapResult.errorMessage:Ljava/lang/String;
invokestatic com.sun.jndi.ldap.LdapCtx.mapErrorCode:(ILjava/lang/String;)Ljavax/naming/NamingException;
astore 8
start local 8 115: StackMap locals: com.sun.jndi.ldap.LdapCtx com.sun.jndi.ldap.LdapResult javax.naming.Name java.lang.Object javax.naming.Name java.util.Hashtable java.lang.String java.lang.String javax.naming.NamingException com.sun.jndi.ldap.LdapReferralException
StackMap stack:
aload 8
aload 2
invokevirtual javax.naming.NamingException.setResolvedName:(Ljavax/naming/Name;)V
116: aload 8
aload 3
invokevirtual javax.naming.NamingException.setResolvedObj:(Ljava/lang/Object;)V
117: aload 8
aload 4
invokevirtual javax.naming.NamingException.setRemainingName:(Ljavax/naming/Name;)V
118: aload 8
athrow
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 119 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 119 1 res Lcom/sun/jndi/ldap/LdapResult;
0 119 2 resolvedName Ljavax/naming/Name;
0 119 3 resolvedObj Ljava/lang/Object;
0 119 4 remainName Ljavax/naming/Name;
0 119 5 envprops Ljava/util/Hashtable;
0 119 6 fullDN Ljava/lang/String;
1 119 7 msg Ljava/lang/String;
7 8 8 e Ljavax/naming/NamingException;
45 46 8 e Ljavax/naming/NamingException;
72 73 8 e Ljavax/naming/NamingException;
74 75 8 e Ljavax/naming/NamingException;
77 78 8 e Ljavax/naming/NamingException;
82 83 8 e Ljavax/naming/NamingException;
102 103 8 e Ljavax/naming/NamingException;
104 105 8 e Ljavax/naming/NamingException;
111 112 8 e Ljavax/naming/NamingException;
113 114 8 e Ljavax/naming/NamingException;
115 119 8 e Ljavax/naming/NamingException;
2 119 9 r Lcom/sun/jndi/ldap/LdapReferralException;
9 42 10 contRefCount I
10 42 11 head Lcom/sun/jndi/ldap/LdapReferralException;
11 42 12 ptr Lcom/sun/jndi/ldap/LdapReferralException;
13 28 13 i I
40 42 13 lee Ljavax/naming/NamingException;
51 52 10 refs Ljava/util/Vector<Ljava/lang/String;>;
54 63 10 refs Ljava/util/Vector<Ljava/lang/String;>;
64 75 10 refs Ljava/util/Vector<Ljava/lang/String;>;
55 62 11 v Ljava/util/Vector<Ljava/lang/String;>;
57 59 12 s Ljava/lang/String;
70 72 11 lee Ljavax/naming/NamingException;
100 102 11 lee Ljavax/naming/NamingException;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
res
resolvedName
resolvedObj
remainName
envprops
fullDN
public static javax.naming.NamingException mapErrorCode(int, java.lang.String);
descriptor: (ILjava/lang/String;)Ljavax/naming/NamingException;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: iload 0
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 3: iload 0
aload 1
invokestatic com.sun.jndi.ldap.LdapClient.getErrorMessage:(ILjava/lang/String;)Ljava/lang/String;
astore 3
start local 3 4: iload 0
tableswitch { // 1 - 80
1: 33
2: 37
3: 41
4: 39
5: 51
6: 51
7: 11
8: 11
9: 57
10: 55
11: 53
12: 43
13: 11
14: 15
15: 61
16: 25
17: 47
18: 17
19: 21
20: 9
21: 21
22: 61
23: 61
24: 61
25: 61
26: 61
27: 61
28: 61
29: 61
30: 61
31: 61
32: 27
33: 7
34: 59
35: 51
36: 5
37: 61
38: 61
39: 61
40: 61
41: 61
42: 61
43: 61
44: 61
45: 61
46: 61
47: 61
48: 11
49: 15
50: 19
51: 45
52: 45
53: 49
54: 23
55: 61
56: 61
57: 61
58: 61
59: 61
60: 61
61: 61
62: 61
63: 61
64: 59
65: 29
66: 31
67: 29
68: 13
69: 29
70: 61
71: 61
72: 61
73: 61
74: 61
75: 61
76: 61
77: 61
78: 61
79: 61
80: 35
default: 61
}
5: StackMap locals: javax.naming.NamingException java.lang.String
StackMap stack:
new javax.naming.NamingException
dup
aload 3
invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
astore 2
6: goto 62
7: StackMap locals:
StackMap stack:
new javax.naming.NamingException
dup
aload 3
invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
astore 2
8: goto 62
9: StackMap locals:
StackMap stack:
new javax.naming.directory.AttributeInUseException
dup
aload 3
invokespecial javax.naming.directory.AttributeInUseException.<init>:(Ljava/lang/String;)V
astore 2
10: goto 62
11: StackMap locals:
StackMap stack:
new javax.naming.AuthenticationNotSupportedException
dup
aload 3
invokespecial javax.naming.AuthenticationNotSupportedException.<init>:(Ljava/lang/String;)V
astore 2
12: goto 62
13: StackMap locals:
StackMap stack:
new javax.naming.NameAlreadyBoundException
dup
aload 3
invokespecial javax.naming.NameAlreadyBoundException.<init>:(Ljava/lang/String;)V
astore 2
14: goto 62
15: StackMap locals:
StackMap stack:
new javax.naming.AuthenticationException
dup
aload 3
invokespecial javax.naming.AuthenticationException.<init>:(Ljava/lang/String;)V
astore 2
16: goto 62
17: StackMap locals:
StackMap stack:
new javax.naming.directory.InvalidSearchFilterException
dup
aload 3
invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
astore 2
18: goto 62
19: StackMap locals:
StackMap stack:
new javax.naming.NoPermissionException
dup
aload 3
invokespecial javax.naming.NoPermissionException.<init>:(Ljava/lang/String;)V
astore 2
20: goto 62
21: StackMap locals:
StackMap stack:
new javax.naming.directory.InvalidAttributeValueException
dup
aload 3
invokespecial javax.naming.directory.InvalidAttributeValueException.<init>:(Ljava/lang/String;)V
astore 2
22: goto 62
23: StackMap locals:
StackMap stack:
new javax.naming.NamingException
dup
aload 3
invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
astore 2
24: goto 62
25: StackMap locals:
StackMap stack:
new javax.naming.directory.NoSuchAttributeException
dup
aload 3
invokespecial javax.naming.directory.NoSuchAttributeException.<init>:(Ljava/lang/String;)V
astore 2
26: goto 62
27: StackMap locals:
StackMap stack:
new javax.naming.NameNotFoundException
dup
aload 3
invokespecial javax.naming.NameNotFoundException.<init>:(Ljava/lang/String;)V
astore 2
28: goto 62
29: StackMap locals:
StackMap stack:
new javax.naming.directory.SchemaViolationException
dup
aload 3
invokespecial javax.naming.directory.SchemaViolationException.<init>:(Ljava/lang/String;)V
astore 2
30: goto 62
31: StackMap locals:
StackMap stack:
new javax.naming.ContextNotEmptyException
dup
aload 3
invokespecial javax.naming.ContextNotEmptyException.<init>:(Ljava/lang/String;)V
astore 2
32: goto 62
33: StackMap locals:
StackMap stack:
new javax.naming.NamingException
dup
aload 3
invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
astore 2
34: goto 62
35: StackMap locals:
StackMap stack:
new javax.naming.NamingException
dup
aload 3
invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
astore 2
36: goto 62
37: StackMap locals:
StackMap stack:
new javax.naming.CommunicationException
dup
aload 3
invokespecial javax.naming.CommunicationException.<init>:(Ljava/lang/String;)V
astore 2
38: goto 62
39: StackMap locals:
StackMap stack:
new javax.naming.SizeLimitExceededException
dup
aload 3
invokespecial javax.naming.SizeLimitExceededException.<init>:(Ljava/lang/String;)V
astore 2
40: goto 62
41: StackMap locals:
StackMap stack:
new javax.naming.TimeLimitExceededException
dup
aload 3
invokespecial javax.naming.TimeLimitExceededException.<init>:(Ljava/lang/String;)V
astore 2
42: goto 62
43: StackMap locals:
StackMap stack:
new javax.naming.OperationNotSupportedException
dup
aload 3
invokespecial javax.naming.OperationNotSupportedException.<init>:(Ljava/lang/String;)V
astore 2
44: goto 62
45: StackMap locals:
StackMap stack:
new javax.naming.ServiceUnavailableException
dup
aload 3
invokespecial javax.naming.ServiceUnavailableException.<init>:(Ljava/lang/String;)V
astore 2
46: goto 62
47: StackMap locals:
StackMap stack:
new javax.naming.directory.InvalidAttributeIdentifierException
dup
aload 3
invokespecial javax.naming.directory.InvalidAttributeIdentifierException.<init>:(Ljava/lang/String;)V
astore 2
48: goto 62
49: StackMap locals:
StackMap stack:
new javax.naming.OperationNotSupportedException
dup
aload 3
invokespecial javax.naming.OperationNotSupportedException.<init>:(Ljava/lang/String;)V
astore 2
50: goto 62
51: StackMap locals:
StackMap stack:
new javax.naming.NamingException
dup
aload 3
invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
astore 2
52: goto 62
53: StackMap locals:
StackMap stack:
new javax.naming.LimitExceededException
dup
aload 3
invokespecial javax.naming.LimitExceededException.<init>:(Ljava/lang/String;)V
astore 2
54: goto 62
55: StackMap locals:
StackMap stack:
new javax.naming.NamingException
dup
aload 3
invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
astore 2
56: goto 62
57: StackMap locals:
StackMap stack:
new javax.naming.NamingException
dup
aload 3
invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
astore 2
58: goto 62
59: StackMap locals:
StackMap stack:
new javax.naming.InvalidNameException
dup
aload 3
invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
astore 2
60: goto 62
61: StackMap locals:
StackMap stack:
new javax.naming.NamingException
dup
aload 3
invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
astore 2
62: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 63 0 errorCode I
0 63 1 errorMessage Ljava/lang/String;
3 63 2 e Ljavax/naming/NamingException;
4 63 3 message Ljava/lang/String;
MethodParameters:
Name Flags
errorCode
errorMessage
public javax.naming.ldap.ExtendedResponse extendedOperation(javax.naming.ldap.ExtendedRequest);
descriptor: (Ljavax/naming/ldap/ExtendedRequest;)Ljavax/naming/ldap/ExtendedResponse;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface javax.naming.ldap.ExtendedRequest.getID:()Ljava/lang/String;
ldc "1.3.6.1.4.1.1466.20037"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
istore 2
start local 2 1: aload 0
iload 2
invokevirtual com.sun.jndi.ldap.LdapCtx.ensureOpen:(Z)V
2: aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
aload 1
invokeinterface javax.naming.ldap.ExtendedRequest.getID:()Ljava/lang/String;
aload 1
invokeinterface javax.naming.ldap.ExtendedRequest.getEncodedValue:()[B
3: aload 0
getfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
iload 2
4: invokevirtual com.sun.jndi.ldap.LdapClient.extendedOp:(Ljava/lang/String;[B[Ljavax/naming/ldap/Control;Z)Lcom/sun/jndi/ldap/LdapResult;
5: astore 3
start local 3 6: aload 0
aload 3
getfield com.sun.jndi.ldap.LdapResult.resControls:Ljava/util/Vector;
putfield com.sun.jndi.ldap.LdapCtx.respCtls:Ljava/util/Vector;
7: aload 3
getfield com.sun.jndi.ldap.LdapResult.status:I
ifeq 9
8: aload 0
aload 3
new javax.naming.CompositeName
dup
invokespecial javax.naming.CompositeName.<init>:()V
invokevirtual com.sun.jndi.ldap.LdapCtx.processReturnCode:(Lcom/sun/jndi/ldap/LdapResult;Ljavax/naming/Name;)V
9: StackMap locals: int com.sun.jndi.ldap.LdapResult
StackMap stack:
aload 3
getfield com.sun.jndi.ldap.LdapResult.extensionValue:[B
ifnonnull 11
10: iconst_0
goto 12
11: StackMap locals:
StackMap stack:
aload 3
getfield com.sun.jndi.ldap.LdapResult.extensionValue:[B
arraylength
12: StackMap locals:
StackMap stack: int
istore 4
start local 4 13: aload 1
aload 3
getfield com.sun.jndi.ldap.LdapResult.extensionId:Ljava/lang/String;
14: aload 3
getfield com.sun.jndi.ldap.LdapResult.extensionValue:[B
iconst_0
iload 4
15: invokeinterface javax.naming.ldap.ExtendedRequest.createExtendedResponse:(Ljava/lang/String;[BII)Ljavax/naming/ldap/ExtendedResponse;
16: astore 5
start local 5 17: aload 5
instanceof com.sun.jndi.ldap.ext.StartTlsResponseImpl
ifeq 22
18: aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ifnull 19
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
ldc "com.sun.jndi.ldap.domainname"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
goto 20
StackMap locals: int javax.naming.ldap.ExtendedResponse
StackMap stack:
19: aconst_null
20: StackMap locals:
StackMap stack: java.lang.Object
checkcast java.lang.String
astore 6
start local 6 21: aload 5
checkcast com.sun.jndi.ldap.ext.StartTlsResponseImpl
aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
getfield com.sun.jndi.ldap.LdapClient.conn:Lcom/sun/jndi/ldap/Connection;
aload 6
invokevirtual com.sun.jndi.ldap.ext.StartTlsResponseImpl.setConnection:(Lcom/sun/jndi/ldap/Connection;Ljava/lang/String;)V
end local 6 22: StackMap locals:
StackMap stack:
aload 5
23: areturn
end local 5 end local 4 end local 3 24: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.ldap.ExtendedRequest int
StackMap stack: com.sun.jndi.ldap.LdapReferralException
astore 3
start local 3 25: aload 0
getfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
iconst_2
if_icmpne 27
26: aload 3
athrow
27: StackMap locals: com.sun.jndi.ldap.LdapReferralException
StackMap stack:
aload 3
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
aload 0
getfield com.sun.jndi.ldap.LdapCtx.bindCtls:[Ljavax/naming/ldap/Control;
invokevirtual com.sun.jndi.ldap.LdapReferralException.getReferralContext:(Ljava/util/Hashtable;[Ljavax/naming/ldap/Control;)Ljavax/naming/Context;
checkcast com.sun.jndi.ldap.LdapReferralContext
28: astore 4
start local 4 29: aload 4
aload 1
invokevirtual com.sun.jndi.ldap.LdapReferralContext.extendedOperation:(Ljavax/naming/ldap/ExtendedRequest;)Ljavax/naming/ldap/ExtendedResponse;
astore 7
30: aload 4
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
31: aload 7
areturn
32: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.ldap.ExtendedRequest int com.sun.jndi.ldap.LdapReferralException com.sun.jndi.ldap.LdapReferralContext
StackMap stack: com.sun.jndi.ldap.LdapReferralException
astore 5
start local 5 33: aload 5
astore 3
34: aload 4
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
35: goto 27
end local 5 36: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
37: aload 4
invokevirtual com.sun.jndi.ldap.LdapReferralContext.close:()V
38: aload 6
athrow
end local 4 end local 3 39: StackMap locals: com.sun.jndi.ldap.LdapCtx javax.naming.ldap.ExtendedRequest int
StackMap stack: java.io.IOException
astore 3
start local 3 40: new javax.naming.CommunicationException
dup
aload 3
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial javax.naming.CommunicationException.<init>:(Ljava/lang/String;)V
astore 4
start local 4 41: aload 4
aload 3
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
42: aload 4
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 43 1 request Ljavax/naming/ldap/ExtendedRequest;
1 43 2 startTLS Z
6 24 3 answer Lcom/sun/jndi/ldap/LdapResult;
13 24 4 len I
17 24 5 er Ljavax/naming/ldap/ExtendedResponse;
21 22 6 domainName Ljava/lang/String;
25 39 3 e Lcom/sun/jndi/ldap/LdapReferralException;
29 39 4 refCtx Lcom/sun/jndi/ldap/LdapReferralContext;
33 36 5 re Lcom/sun/jndi/ldap/LdapReferralException;
40 43 3 e Ljava/io/IOException;
41 43 4 e2 Ljavax/naming/NamingException;
Exception table:
from to target type
2 23 24 Class com.sun.jndi.ldap.LdapReferralException
29 30 32 Class com.sun.jndi.ldap.LdapReferralException
29 30 36 any
32 34 36 any
2 23 39 Class java.io.IOException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
request
public void setRequestControls(javax.naming.ldap.Control[]);
descriptor: ([Ljavax/naming/ldap/Control;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jndi.ldap.LdapCtx.handleReferrals:I
iconst_3
if_icmpne 3
1: aload 0
aload 1
getstatic com.sun.jndi.ldap.LdapCtx.manageReferralControl:Ljavax/naming/ldap/Control;
invokestatic com.sun.jndi.ldap.LdapCtx.addControl:([Ljavax/naming/ldap/Control;Ljavax/naming/ldap/Control;)[Ljavax/naming/ldap/Control;
putfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic com.sun.jndi.ldap.LdapCtx.cloneControls:([Ljavax/naming/ldap/Control;)[Ljavax/naming/ldap/Control;
putfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 5 1 reqCtls [Ljavax/naming/ldap/Control;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
reqCtls
public javax.naming.ldap.Control[] getRequestControls();
descriptor: ()[Ljavax/naming/ldap/Control;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jndi.ldap.LdapCtx.reqCtls:[Ljavax/naming/ldap/Control;
invokestatic com.sun.jndi.ldap.LdapCtx.cloneControls:([Ljavax/naming/ldap/Control;)[Ljavax/naming/ldap/Control;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/ldap/LdapCtx;
Exceptions:
throws javax.naming.NamingException
public javax.naming.ldap.Control[] getConnectControls();
descriptor: ()[Ljavax/naming/ldap/Control;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jndi.ldap.LdapCtx.bindCtls:[Ljavax/naming/ldap/Control;
invokestatic com.sun.jndi.ldap.LdapCtx.cloneControls:([Ljavax/naming/ldap/Control;)[Ljavax/naming/ldap/Control;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/ldap/LdapCtx;
Exceptions:
throws javax.naming.NamingException
public javax.naming.ldap.Control[] getResponseControls();
descriptor: ()[Ljavax/naming/ldap/Control;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jndi.ldap.LdapCtx.respCtls:Ljava/util/Vector;
ifnull 1
aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.respCtls:Ljava/util/Vector;
invokevirtual com.sun.jndi.ldap.LdapCtx.convertControls:(Ljava/util/Vector;)[Ljavax/naming/ldap/Control;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: javax.naming.ldap.Control[]
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/jndi/ldap/LdapCtx;
Exceptions:
throws javax.naming.NamingException
javax.naming.ldap.Control[] convertControls(java.util.Vector);
descriptor: (Ljava/util/Vector;)[Ljavax/naming/ldap/Control;
flags: (0x0000)
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.Vector.size:()I
istore 2
start local 2 1: iload 2
ifne 3
2: aconst_null
areturn
3: StackMap locals: int
StackMap stack:
iload 2
anewarray javax.naming.ldap.Control
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 14
6: StackMap locals: javax.naming.ldap.Control[] int
StackMap stack:
aload 3
iload 4
getstatic com.sun.jndi.ldap.LdapCtx.myResponseControlFactory:Ljavax/naming/ldap/ControlFactory;
7: aload 1
iload 4
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast javax.naming.ldap.Control
8: invokevirtual javax.naming.ldap.ControlFactory.getControlInstance:(Ljavax/naming/ldap/Control;)Ljavax/naming/ldap/Control;
aastore
9: aload 3
iload 4
aaload
ifnonnull 13
10: aload 3
iload 4
11: aload 1
iload 4
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast javax.naming.ldap.Control
aload 0
aload 0
getfield com.sun.jndi.ldap.LdapCtx.envprops:Ljava/util/Hashtable;
12: invokestatic javax.naming.ldap.ControlFactory.getControlInstance:(Ljavax/naming/ldap/Control;Ljavax/naming/Context;Ljava/util/Hashtable;)Ljavax/naming/ldap/Control;
aastore
13: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
iload 2
if_icmplt 6
end local 4 15: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 16 1 ctls Ljava/util/Vector;
1 16 2 count I
4 16 3 controls [Ljavax/naming/ldap/Control;
5 15 4 i I
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
ctls
private static javax.naming.ldap.Control[] addControl(javax.naming.ldap.Control[], javax.naming.ldap.Control);
descriptor: ([Ljavax/naming/ldap/Control;Ljavax/naming/ldap/Control;)[Ljavax/naming/ldap/Control;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: iconst_1
anewarray javax.naming.ldap.Control
dup
iconst_0
aload 1
aastore
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic com.sun.jndi.ldap.LdapCtx.findControl:([Ljavax/naming/ldap/Control;Ljavax/naming/ldap/Control;)I
istore 2
start local 2 3: iload 2
iconst_m1
if_icmpeq 5
4: aload 0
areturn
5: StackMap locals: int
StackMap stack:
aload 0
arraylength
iconst_1
iadd
anewarray javax.naming.ldap.Control
astore 3
start local 3 6: aload 0
iconst_0
aload 3
iconst_0
aload 0
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 3
aload 0
arraylength
aload 1
aastore
8: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 prevCtls [Ljavax/naming/ldap/Control;
0 9 1 addition Ljavax/naming/ldap/Control;
3 9 2 found I
6 9 3 newCtls [Ljavax/naming/ldap/Control;
MethodParameters:
Name Flags
prevCtls
addition
private static int findControl(javax.naming.ldap.Control[], javax.naming.ldap.Control);
descriptor: ([Ljavax/naming/ldap/Control;Ljavax/naming/ldap/Control;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
iload 2
aaload
aload 1
if_acmpne 4
3: iload 2
ireturn
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
arraylength
if_icmplt 2
end local 2 6: iconst_m1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 ctls [Ljavax/naming/ldap/Control;
0 7 1 target Ljavax/naming/ldap/Control;
1 6 2 i I
MethodParameters:
Name Flags
ctls
target
private static javax.naming.ldap.Control[] removeControl(javax.naming.ldap.Control[], javax.naming.ldap.Control);
descriptor: ([Ljavax/naming/ldap/Control;Ljavax/naming/ldap/Control;)[Ljavax/naming/ldap/Control;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic com.sun.jndi.ldap.LdapCtx.findControl:([Ljavax/naming/ldap/Control;Ljavax/naming/ldap/Control;)I
istore 2
start local 2 3: iload 2
iconst_m1
if_icmpne 5
4: aload 0
areturn
5: StackMap locals: int
StackMap stack:
aload 0
arraylength
iconst_1
isub
anewarray javax.naming.ldap.Control
astore 3
start local 3 6: aload 0
iconst_0
aload 3
iconst_0
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 0
iload 2
iconst_1
iadd
aload 3
iload 2
8: aload 0
arraylength
iload 2
isub
iconst_1
isub
9: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 prevCtls [Ljavax/naming/ldap/Control;
0 11 1 target Ljavax/naming/ldap/Control;
3 11 2 found I
6 11 3 newCtls [Ljavax/naming/ldap/Control;
MethodParameters:
Name Flags
prevCtls
target
private static javax.naming.ldap.Control[] cloneControls(javax.naming.ldap.Control[]);
descriptor: ([Ljavax/naming/ldap/Control;)[Ljavax/naming/ldap/Control;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
arraylength
anewarray javax.naming.ldap.Control
astore 1
start local 1 3: aload 0
iconst_0
aload 1
iconst_0
aload 0
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 ctls [Ljavax/naming/ldap/Control;
3 5 1 copiedCtls [Ljavax/naming/ldap/Control;
MethodParameters:
Name Flags
ctls
public void addNamingListener(javax.naming.Name, int, javax.naming.event.NamingListener);
descriptor: (Ljavax/naming/Name;ILjavax/naming/event/NamingListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokestatic com.sun.jndi.ldap.LdapCtx.getTargetName:(Ljavax/naming/Name;)Ljava/lang/String;
iload 2
aload 3
invokevirtual com.sun.jndi.ldap.LdapCtx.addNamingListener:(Ljava/lang/String;ILjavax/naming/event/NamingListener;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 2 1 nm Ljavax/naming/Name;
0 2 2 scope I
0 2 3 l Ljavax/naming/event/NamingListener;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
nm
scope
l
public void addNamingListener(java.lang.String, int, javax.naming.event.NamingListener);
descriptor: (Ljava/lang/String;ILjavax/naming/event/NamingListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.jndi.ldap.LdapCtx.eventSupport:Lcom/sun/jndi/ldap/EventSupport;
ifnonnull 2
1: aload 0
new com.sun.jndi.ldap.EventSupport
dup
aload 0
invokespecial com.sun.jndi.ldap.EventSupport.<init>:(Lcom/sun/jndi/ldap/LdapCtx;)V
putfield com.sun.jndi.ldap.LdapCtx.eventSupport:Lcom/sun/jndi/ldap/EventSupport;
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.eventSupport:Lcom/sun/jndi/ldap/EventSupport;
new javax.naming.CompositeName
dup
aload 1
invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
invokestatic com.sun.jndi.ldap.LdapCtx.getTargetName:(Ljavax/naming/Name;)Ljava/lang/String;
3: iload 2
aload 3
4: invokevirtual com.sun.jndi.ldap.EventSupport.addNamingListener:(Ljava/lang/String;ILjavax/naming/event/NamingListener;)V
5: aload 3
instanceof javax.naming.ldap.UnsolicitedNotificationListener
ifeq 7
aload 0
getfield com.sun.jndi.ldap.LdapCtx.unsolicited:Z
ifne 7
6: aload 0
invokevirtual com.sun.jndi.ldap.LdapCtx.addUnsolicited:()V
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 Lcom/sun/jndi/ldap/LdapCtx;
0 8 1 nm Ljava/lang/String;
0 8 2 scope I
0 8 3 l Ljavax/naming/event/NamingListener;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
nm
scope
l
public void removeNamingListener(javax.naming.event.NamingListener);
descriptor: (Ljavax/naming/event/NamingListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jndi.ldap.LdapCtx.eventSupport:Lcom/sun/jndi/ldap/EventSupport;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.eventSupport:Lcom/sun/jndi/ldap/EventSupport;
aload 1
invokevirtual com.sun.jndi.ldap.EventSupport.removeNamingListener:(Ljavax/naming/event/NamingListener;)V
3: aload 1
instanceof javax.naming.ldap.UnsolicitedNotificationListener
ifeq 6
4: aload 0
getfield com.sun.jndi.ldap.LdapCtx.eventSupport:Lcom/sun/jndi/ldap/EventSupport;
invokevirtual com.sun.jndi.ldap.EventSupport.hasUnsolicited:()Z
ifne 6
5: aload 0
invokevirtual com.sun.jndi.ldap.LdapCtx.removeUnsolicited:()V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 7 1 l Ljavax/naming/event/NamingListener;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
l
public void addNamingListener(java.lang.String, java.lang.String, javax.naming.directory.SearchControls, javax.naming.event.NamingListener);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljavax/naming/directory/SearchControls;Ljavax/naming/event/NamingListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.sun.jndi.ldap.LdapCtx.eventSupport:Lcom/sun/jndi/ldap/EventSupport;
ifnonnull 2
1: aload 0
new com.sun.jndi.ldap.EventSupport
dup
aload 0
invokespecial com.sun.jndi.ldap.EventSupport.<init>:(Lcom/sun/jndi/ldap/LdapCtx;)V
putfield com.sun.jndi.ldap.LdapCtx.eventSupport:Lcom/sun/jndi/ldap/EventSupport;
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.eventSupport:Lcom/sun/jndi/ldap/EventSupport;
new javax.naming.CompositeName
dup
aload 1
invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
invokestatic com.sun.jndi.ldap.LdapCtx.getTargetName:(Ljavax/naming/Name;)Ljava/lang/String;
3: aload 2
aload 3
invokestatic com.sun.jndi.ldap.LdapCtx.cloneSearchControls:(Ljavax/naming/directory/SearchControls;)Ljavax/naming/directory/SearchControls;
aload 4
4: invokevirtual com.sun.jndi.ldap.EventSupport.addNamingListener:(Ljava/lang/String;Ljava/lang/String;Ljavax/naming/directory/SearchControls;Ljavax/naming/event/NamingListener;)V
5: aload 4
instanceof javax.naming.ldap.UnsolicitedNotificationListener
ifeq 7
aload 0
getfield com.sun.jndi.ldap.LdapCtx.unsolicited:Z
ifne 7
6: aload 0
invokevirtual com.sun.jndi.ldap.LdapCtx.addUnsolicited:()V
7: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 8 1 nm Ljava/lang/String;
0 8 2 filter Ljava/lang/String;
0 8 3 ctls Ljavax/naming/directory/SearchControls;
0 8 4 l Ljavax/naming/event/NamingListener;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
nm
filter
ctls
l
public void addNamingListener(javax.naming.Name, java.lang.String, javax.naming.directory.SearchControls, javax.naming.event.NamingListener);
descriptor: (Ljavax/naming/Name;Ljava/lang/String;Ljavax/naming/directory/SearchControls;Ljavax/naming/event/NamingListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
invokestatic com.sun.jndi.ldap.LdapCtx.getTargetName:(Ljavax/naming/Name;)Ljava/lang/String;
aload 2
aload 3
aload 4
invokevirtual com.sun.jndi.ldap.LdapCtx.addNamingListener:(Ljava/lang/String;Ljava/lang/String;Ljavax/naming/directory/SearchControls;Ljavax/naming/event/NamingListener;)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 2 1 nm Ljavax/naming/Name;
0 2 2 filter Ljava/lang/String;
0 2 3 ctls Ljavax/naming/directory/SearchControls;
0 2 4 l Ljavax/naming/event/NamingListener;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
nm
filter
ctls
l
public void addNamingListener(javax.naming.Name, java.lang.String, java.lang.Object[], javax.naming.directory.SearchControls, javax.naming.event.NamingListener);
descriptor: (Ljavax/naming/Name;Ljava/lang/String;[Ljava/lang/Object;Ljavax/naming/directory/SearchControls;Ljavax/naming/event/NamingListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
invokestatic com.sun.jndi.ldap.LdapCtx.getTargetName:(Ljavax/naming/Name;)Ljava/lang/String;
aload 2
aload 3
aload 4
aload 5
invokevirtual com.sun.jndi.ldap.LdapCtx.addNamingListener:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;Ljavax/naming/directory/SearchControls;Ljavax/naming/event/NamingListener;)V
1: return
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 2 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 2 1 nm Ljavax/naming/Name;
0 2 2 filter Ljava/lang/String;
0 2 3 filterArgs [Ljava/lang/Object;
0 2 4 ctls Ljavax/naming/directory/SearchControls;
0 2 5 l Ljavax/naming/event/NamingListener;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
nm
filter
filterArgs
ctls
l
public void addNamingListener(java.lang.String, java.lang.String, java.lang.Object[], javax.naming.directory.SearchControls, javax.naming.event.NamingListener);
descriptor: (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;Ljavax/naming/directory/SearchControls;Ljavax/naming/event/NamingListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 2
aload 3
invokestatic com.sun.jndi.toolkit.dir.SearchFilter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 6
start local 6 1: aload 0
new javax.naming.CompositeName
dup
aload 1
invokespecial javax.naming.CompositeName.<init>:(Ljava/lang/String;)V
invokestatic com.sun.jndi.ldap.LdapCtx.getTargetName:(Ljavax/naming/Name;)Ljava/lang/String;
aload 6
aload 4
aload 5
invokevirtual com.sun.jndi.ldap.LdapCtx.addNamingListener:(Ljava/lang/String;Ljava/lang/String;Ljavax/naming/directory/SearchControls;Ljavax/naming/event/NamingListener;)V
2: return
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 3 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 3 1 nm Ljava/lang/String;
0 3 2 filterExpr Ljava/lang/String;
0 3 3 filterArgs [Ljava/lang/Object;
0 3 4 ctls Ljavax/naming/directory/SearchControls;
0 3 5 l Ljavax/naming/event/NamingListener;
1 3 6 strfilter Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
nm
filterExpr
filterArgs
ctls
l
public boolean targetMustExist();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/ldap/LdapCtx;
private static java.lang.String getTargetName(javax.naming.Name);
descriptor: (Ljavax/naming/Name;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
instanceof javax.naming.CompositeName
ifeq 8
1: aload 0
invokeinterface javax.naming.Name.size:()I
iconst_1
if_icmple 5
2: new javax.naming.InvalidNameException
dup
3: new java.lang.StringBuilder
dup
ldc "Target cannot span multiple namespaces: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial javax.naming.InvalidNameException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
invokeinterface javax.naming.Name.size:()I
ifne 7
6: ldc ""
areturn
7: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokeinterface javax.naming.Name.get:(I)Ljava/lang/String;
areturn
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 nm Ljavax/naming/Name;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
nm
private void addUnsolicited();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.jndi.ldap.LdapCtx.ensureOpen:()V
1: aload 0
getfield com.sun.jndi.ldap.LdapCtx.eventSupport:Lcom/sun/jndi/ldap/EventSupport;
dup
astore 1
monitorenter
2: aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
aload 0
invokevirtual com.sun.jndi.ldap.LdapClient.addUnsolicited:(Lcom/sun/jndi/ldap/LdapCtx;)V
3: aload 0
iconst_1
putfield com.sun.jndi.ldap.LdapCtx.unsolicited:Z
4: aload 1
monitorexit
5: goto 8
StackMap locals: com.sun.jndi.ldap.LdapCtx com.sun.jndi.ldap.EventSupport
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/jndi/ldap/LdapCtx;
Exception table:
from to target type
2 5 6 any
6 7 6 any
Exceptions:
throws javax.naming.NamingException
private void removeUnsolicited();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.jndi.ldap.LdapCtx.eventSupport:Lcom/sun/jndi/ldap/EventSupport;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.ldap.LdapCtx.eventSupport:Lcom/sun/jndi/ldap/EventSupport;
dup
astore 1
monitorenter
3: aload 0
getfield com.sun.jndi.ldap.LdapCtx.unsolicited:Z
ifeq 5
aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
ifnull 5
4: aload 0
getfield com.sun.jndi.ldap.LdapCtx.clnt:Lcom/sun/jndi/ldap/LdapClient;
aload 0
invokevirtual com.sun.jndi.ldap.LdapClient.removeUnsolicited:(Lcom/sun/jndi/ldap/LdapCtx;)V
5: StackMap locals: com.sun.jndi.ldap.EventSupport
StackMap stack:
aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.unsolicited:Z
6: aload 1
monitorexit
7: goto 10
StackMap locals:
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 Lcom/sun/jndi/ldap/LdapCtx;
Exception table:
from to target type
3 7 8 any
8 9 8 any
void fireUnsolicited(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jndi.ldap.LdapCtx.eventSupport:Lcom/sun/jndi/ldap/EventSupport;
dup
astore 2
monitorenter
1: aload 0
getfield com.sun.jndi.ldap.LdapCtx.unsolicited:Z
ifeq 5
2: aload 0
getfield com.sun.jndi.ldap.LdapCtx.eventSupport:Lcom/sun/jndi/ldap/EventSupport;
aload 1
invokevirtual com.sun.jndi.ldap.EventSupport.fireUnsolicited:(Ljava/lang/Object;)V
3: aload 1
instanceof javax.naming.NamingException
ifeq 5
4: aload 0
iconst_0
putfield com.sun.jndi.ldap.LdapCtx.unsolicited:Z
5: StackMap locals: com.sun.jndi.ldap.EventSupport
StackMap stack:
aload 2
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 2
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/jndi/ldap/LdapCtx;
0 10 1 obj Ljava/lang/Object;
Exception table:
from to target type
1 6 7 any
7 8 7 any
MethodParameters:
Name Flags
obj
}
SourceFile: "LdapCtx.java"
NestMembers:
com.sun.jndi.ldap.LdapCtx$SearchArgs
InnerClasses:
final SearchArgs = com.sun.jndi.ldap.LdapCtx$SearchArgs of com.sun.jndi.ldap.LdapCtx