public class com.sun.jndi.dns.DnsClient
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.jndi.dns.DnsClient
super_class: java.lang.Object
{
private static final int IDENT_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int FLAGS_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int NUMQ_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int NUMANS_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6
private static final int NUMAUTH_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int NUMADD_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10
private static final int DNS_HDR_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 12
private static final int NO_ERROR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int FORMAT_ERROR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int SERVER_FAILURE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int NAME_ERROR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int NOT_IMPL;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int REFUSED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private static final java.lang.String[] rcodeDescription;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int DEFAULT_PORT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 53
private static final int TRANSACTION_ID_BOUND;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 65536
private static final java.security.SecureRandom random;
descriptor: Ljava/security/SecureRandom;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.net.InetAddress[] servers;
descriptor: [Ljava/net/InetAddress;
flags: (0x0002) ACC_PRIVATE
private int[] serverPorts;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int timeout;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int retries;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final java.lang.Object udpSocketLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final com.sun.jndi.dns.DNSDatagramSocketFactory factory;
descriptor: Lcom/sun/jndi/dns/DNSDatagramSocketFactory;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.util.Map<java.lang.Integer, com.sun.jndi.dns.ResourceRecord> reqs;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/Integer;Lcom/sun/jndi/dns/ResourceRecord;>;
private java.util.Map<java.lang.Integer, byte[]> resps;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/Integer;[B>;
private java.lang.Object queuesLock;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private static boolean debug;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: bipush 6
anewarray java.lang.String
dup
iconst_0
1: ldc "No error"
aastore
dup
iconst_1
2: ldc "DNS format error"
aastore
dup
iconst_2
3: ldc "DNS server failure"
aastore
dup
iconst_3
4: ldc "DNS name not found"
aastore
dup
iconst_4
5: ldc "DNS operation not supported"
aastore
dup
iconst_5
6: ldc "DNS service refused"
aastore
7: putstatic com.sun.jndi.dns.DnsClient.rcodeDescription:[Ljava/lang/String;
8: invokestatic sun.security.jca.JCAUtil.getSecureRandom:()Ljava/security/SecureRandom;
putstatic com.sun.jndi.dns.DnsClient.random:Ljava/security/SecureRandom;
9: new com.sun.jndi.dns.DNSDatagramSocketFactory
dup
getstatic com.sun.jndi.dns.DnsClient.random:Ljava/security/SecureRandom;
invokespecial com.sun.jndi.dns.DNSDatagramSocketFactory.<init>:(Ljava/util/Random;)V
10: putstatic com.sun.jndi.dns.DnsClient.factory:Lcom/sun/jndi/dns/DNSDatagramSocketFactory;
11: iconst_0
putstatic com.sun.jndi.dns.DnsClient.debug:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.String[], int, int);
descriptor: ([Ljava/lang/String;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield com.sun.jndi.dns.DnsClient.udpSocketLock:Ljava/lang/Object;
2: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield com.sun.jndi.dns.DnsClient.queuesLock:Ljava/lang/Object;
3: aload 0
iload 2
putfield com.sun.jndi.dns.DnsClient.timeout:I
4: aload 0
iload 3
putfield com.sun.jndi.dns.DnsClient.retries:I
5: aload 0
aload 1
arraylength
anewarray java.net.InetAddress
putfield com.sun.jndi.dns.DnsClient.servers:[Ljava/net/InetAddress;
6: aload 0
aload 1
arraylength
newarray 10
putfield com.sun.jndi.dns.DnsClient.serverPorts:[I
7: iconst_0
istore 4
start local 4 8: goto 29
9: StackMap locals: com.sun.jndi.dns.DnsClient java.lang.String[] int int int
StackMap stack:
aload 1
iload 4
aaload
bipush 58
10: aload 1
iload 4
aaload
bipush 93
invokevirtual java.lang.String.indexOf:(I)I
iconst_1
iadd
11: invokevirtual java.lang.String.indexOf:(II)I
istore 5
start local 5 12: aload 0
getfield com.sun.jndi.dns.DnsClient.serverPorts:[I
iload 4
iload 5
ifge 14
13: bipush 53
goto 15
14: StackMap locals: com.sun.jndi.dns.DnsClient java.lang.String[] int int int int
StackMap stack: int[] int
aload 1
iload 4
aaload
iload 5
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
15: StackMap locals: com.sun.jndi.dns.DnsClient java.lang.String[] int int int int
StackMap stack: int[] int int
iastore
16: iload 5
ifge 18
17: aload 1
iload 4
aaload
goto 19
18: StackMap locals:
StackMap stack:
aload 1
iload 4
aaload
iconst_0
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
19: StackMap locals:
StackMap stack: java.lang.String
astore 6
start local 6 20: aload 0
getfield com.sun.jndi.dns.DnsClient.servers:[Ljava/net/InetAddress;
iload 4
aload 6
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
aastore
21: goto 28
StackMap locals: com.sun.jndi.dns.DnsClient java.lang.String[] int int int int java.lang.String
StackMap stack: java.net.UnknownHostException
22: astore 7
start local 7 23: new javax.naming.ConfigurationException
dup
24: new java.lang.StringBuilder
dup
ldc "Unknown DNS server: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
25: invokespecial javax.naming.ConfigurationException.<init>:(Ljava/lang/String;)V
astore 8
start local 8 26: aload 8
aload 7
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
27: aload 8
athrow
end local 8 end local 7 end local 6 end local 5 28: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
29: iload 4
aload 1
arraylength
if_icmplt 9
end local 4 30: aload 0
31: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
32: invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
putfield com.sun.jndi.dns.DnsClient.reqs:Ljava/util/Map;
33: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
putfield com.sun.jndi.dns.DnsClient.resps:Ljava/util/Map;
34: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lcom/sun/jndi/dns/DnsClient;
0 35 1 servers [Ljava/lang/String;
0 35 2 timeout I
0 35 3 retries I
8 30 4 i I
12 28 5 colon I
20 28 6 server Ljava/lang/String;
23 28 7 e Ljava/net/UnknownHostException;
26 28 8 ne Ljavax/naming/NamingException;
Exception table:
from to target type
20 21 22 Class java.net.UnknownHostException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
servers
timeout
retries
java.net.DatagramSocket getDatagramSocket();
descriptor: ()Ljava/net/DatagramSocket;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=1
start local 0 0: getstatic com.sun.jndi.dns.DnsClient.factory:Lcom/sun/jndi/dns/DNSDatagramSocketFactory;
invokevirtual com.sun.jndi.dns.DNSDatagramSocketFactory.open:()Ljava/net/DatagramSocket;
1: areturn
2: StackMap locals:
StackMap stack: java.net.SocketException
astore 1
start local 1 3: new javax.naming.ConfigurationException
dup
invokespecial javax.naming.ConfigurationException.<init>:()V
astore 2
start local 2 4: aload 2
aload 1
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
5: aload 2
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/jndi/dns/DnsClient;
3 6 1 e Ljava/net/SocketException;
4 6 2 ne Ljavax/naming/NamingException;
Exception table:
from to target type
0 1 2 Class java.net.SocketException
Exceptions:
throws javax.naming.NamingException
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.dns.DnsClient.close:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/dns/DnsClient;
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.jndi.dns.DnsClient.queuesLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield com.sun.jndi.dns.DnsClient.reqs:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
2: aload 0
getfield com.sun.jndi.dns.DnsClient.resps:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
3: aload 1
monitorexit
4: goto 7
StackMap locals: com.sun.jndi.dns.DnsClient java.lang.Object
StackMap stack: java.lang.Throwable
5: aload 1
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/jndi/dns/DnsClient;
Exception table:
from to target type
1 4 5 any
5 6 5 any
com.sun.jndi.dns.ResourceRecords query(com.sun.jndi.dns.DnsName, int, int, boolean, boolean);
descriptor: (Lcom/sun/jndi/dns/DnsName;IIZZ)Lcom/sun/jndi/dns/ResourceRecords;
flags: (0x0000)
Code:
stack=9, locals=22, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: StackMap locals:
StackMap stack:
getstatic com.sun.jndi.dns.DnsClient.random:Ljava/security/SecureRandom;
ldc 65536
invokevirtual java.security.SecureRandom.nextInt:(I)I
istore 6
start local 6 1: aload 0
aload 1
iload 6
iload 2
iload 3
iload 4
invokevirtual com.sun.jndi.dns.DnsClient.makeQueryPacket:(Lcom/sun/jndi/dns/DnsName;IIIZ)Lcom/sun/jndi/dns/Packet;
astore 7
start local 7 2: aload 0
getfield com.sun.jndi.dns.DnsClient.reqs:Ljava/util/Map;
dup
astore 9
monitorenter
3: aload 0
getfield com.sun.jndi.dns.DnsClient.reqs:Ljava/util/Map;
iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
new com.sun.jndi.dns.ResourceRecord
dup
aload 7
invokevirtual com.sun.jndi.dns.Packet.getData:()[B
4: aload 7
invokevirtual com.sun.jndi.dns.Packet.length:()I
bipush 12
iconst_1
iconst_0
invokespecial com.sun.jndi.dns.ResourceRecord.<init>:([BIIZZ)V
5: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.jndi.dns.ResourceRecord
dup
astore 8
start local 8 6: ifnull 8
7: aload 0
getfield com.sun.jndi.dns.DnsClient.reqs:Ljava/util/Map;
iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 8
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: StackMap locals: com.sun.jndi.dns.DnsClient com.sun.jndi.dns.DnsName int int int int int com.sun.jndi.dns.Packet com.sun.jndi.dns.ResourceRecord java.util.Map
StackMap stack:
aload 9
monitorexit
9: goto 12
end local 8 StackMap locals: com.sun.jndi.dns.DnsClient com.sun.jndi.dns.DnsName int int int int int com.sun.jndi.dns.Packet top java.util.Map
StackMap stack: java.lang.Throwable
10: aload 9
monitorexit
11: athrow
start local 8 12: StackMap locals: com.sun.jndi.dns.DnsClient com.sun.jndi.dns.DnsName int int int int int com.sun.jndi.dns.Packet com.sun.jndi.dns.ResourceRecord
StackMap stack:
aload 8
ifnonnull 0
13: aconst_null
astore 9
start local 9 14: aload 0
getfield com.sun.jndi.dns.DnsClient.servers:[Ljava/net/InetAddress;
arraylength
newarray 4
astore 10
start local 10 15: iconst_0
istore 11
start local 11 16: goto 95
17: StackMap locals: java.lang.Exception boolean[] int
StackMap stack:
iconst_0
istore 12
start local 12 18: goto 93
19: StackMap locals: int
StackMap stack:
aload 10
iload 12
baload
ifeq 21
20: goto 92
21: StackMap locals:
StackMap stack:
getstatic com.sun.jndi.dns.DnsClient.debug:Z
ifeq 23
22: new java.lang.StringBuilder
dup
ldc "SEND ID ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 11
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "): "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.jndi.dns.DnsClient.dprint:(Ljava/lang/String;)V
23: StackMap locals:
StackMap stack:
aconst_null
astore 13
start local 13 24: aload 0
aload 7
aload 0
getfield com.sun.jndi.dns.DnsClient.servers:[Ljava/net/InetAddress;
iload 12
aaload
aload 0
getfield com.sun.jndi.dns.DnsClient.serverPorts:[I
iload 12
iaload
25: iload 11
iload 6
26: invokevirtual com.sun.jndi.dns.DnsClient.doUdpQuery:(Lcom/sun/jndi/dns/Packet;Ljava/net/InetAddress;III)[B
astore 13
27: aload 13
ifnonnull 32
28: aload 0
getfield com.sun.jndi.dns.DnsClient.resps:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
ifle 30
29: aload 0
iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual com.sun.jndi.dns.DnsClient.lookupResponse:(Ljava/lang/Integer;)[B
astore 13
30: StackMap locals: byte[]
StackMap stack:
aload 13
ifnonnull 32
31: goto 92
32: StackMap locals:
StackMap stack:
new com.sun.jndi.dns.Header
dup
aload 13
aload 13
arraylength
invokespecial com.sun.jndi.dns.Header.<init>:([BI)V
astore 14
start local 14 33: iload 5
ifeq 39
aload 14
getfield com.sun.jndi.dns.Header.authoritative:Z
ifne 39
34: new javax.naming.NameNotFoundException
dup
35: ldc "DNS response not authoritative"
36: invokespecial javax.naming.NameNotFoundException.<init>:(Ljava/lang/String;)V
astore 9
37: aload 10
iload 12
iconst_1
bastore
38: goto 92
39: StackMap locals: com.sun.jndi.dns.Header
StackMap stack:
aload 14
getfield com.sun.jndi.dns.Header.truncated:Z
ifeq 68
40: iconst_0
istore 15
start local 15 41: goto 67
42: StackMap locals: int
StackMap stack:
iload 12
iload 15
iadd
aload 0
getfield com.sun.jndi.dns.DnsClient.servers:[Ljava/net/InetAddress;
arraylength
irem
istore 16
start local 16 43: aload 10
iload 16
baload
ifeq 45
44: goto 66
45: StackMap locals: int
StackMap stack:
new com.sun.jndi.dns.Tcp
dup
aload 0
getfield com.sun.jndi.dns.DnsClient.servers:[Ljava/net/InetAddress;
iload 16
aaload
aload 0
getfield com.sun.jndi.dns.DnsClient.serverPorts:[I
iload 16
iaload
invokespecial com.sun.jndi.dns.Tcp.<init>:(Ljava/net/InetAddress;I)V
46: astore 17
start local 17 47: aload 0
aload 17
aload 7
invokevirtual com.sun.jndi.dns.DnsClient.doTcpQuery:(Lcom/sun/jndi/dns/Tcp;Lcom/sun/jndi/dns/Packet;)[B
astore 18
start local 18 48: goto 52
end local 18 StackMap locals: com.sun.jndi.dns.DnsClient com.sun.jndi.dns.DnsName int int int int int com.sun.jndi.dns.Packet com.sun.jndi.dns.ResourceRecord java.lang.Exception boolean[] int int byte[] com.sun.jndi.dns.Header int int com.sun.jndi.dns.Tcp
StackMap stack: java.lang.Throwable
49: astore 19
50: aload 17
invokevirtual com.sun.jndi.dns.Tcp.close:()V
51: aload 19
athrow
start local 18 52: StackMap locals: byte[]
StackMap stack:
aload 17
invokevirtual com.sun.jndi.dns.Tcp.close:()V
53: new com.sun.jndi.dns.Header
dup
aload 18
aload 18
arraylength
invokespecial com.sun.jndi.dns.Header.<init>:([BI)V
astore 19
start local 19 54: aload 19
getfield com.sun.jndi.dns.Header.query:Z
ifeq 58
55: new javax.naming.CommunicationException
dup
56: ldc "DNS error: expecting response"
57: invokespecial javax.naming.CommunicationException.<init>:(Ljava/lang/String;)V
athrow
58: StackMap locals: com.sun.jndi.dns.Header
StackMap stack:
aload 0
aload 19
invokevirtual com.sun.jndi.dns.DnsClient.checkResponseCode:(Lcom/sun/jndi/dns/Header;)V
59: iload 5
ifeq 60
aload 19
getfield com.sun.jndi.dns.Header.authoritative:Z
ifeq 63
60: StackMap locals:
StackMap stack:
aload 19
astore 14
61: aload 18
astore 13
62: goto 68
63: StackMap locals:
StackMap stack:
aload 10
iload 16
iconst_1
bastore
end local 19 end local 18 end local 17 64: goto 66
StackMap locals: com.sun.jndi.dns.DnsClient com.sun.jndi.dns.DnsName int int int int int com.sun.jndi.dns.Packet com.sun.jndi.dns.ResourceRecord java.lang.Exception boolean[] int int byte[] com.sun.jndi.dns.Header int int
StackMap stack: java.lang.Exception
65: pop
end local 16 66: StackMap locals:
StackMap stack:
iinc 15 1
StackMap locals:
StackMap stack:
67: iload 15
aload 0
getfield com.sun.jndi.dns.DnsClient.servers:[Ljava/net/InetAddress;
arraylength
if_icmplt 42
end local 15 68: StackMap locals:
StackMap stack:
new com.sun.jndi.dns.ResourceRecords
dup
aload 13
aload 13
arraylength
aload 14
iconst_0
invokespecial com.sun.jndi.dns.ResourceRecords.<init>:([BILcom/sun/jndi/dns/Header;Z)V
astore 21
69: aload 0
getfield com.sun.jndi.dns.DnsClient.reqs:Ljava/util/Map;
iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
70: aload 21
areturn
end local 14 end local 13 71: StackMap locals: com.sun.jndi.dns.DnsClient com.sun.jndi.dns.DnsName int int int int int com.sun.jndi.dns.Packet com.sun.jndi.dns.ResourceRecord java.lang.Exception boolean[] int int
StackMap stack: java.io.IOException
astore 13
start local 13 72: getstatic com.sun.jndi.dns.DnsClient.debug:Z
ifeq 74
73: new java.lang.StringBuilder
dup
ldc "Caught IOException:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 13
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.jndi.dns.DnsClient.dprint:(Ljava/lang/String;)V
74: StackMap locals: java.io.IOException
StackMap stack:
aload 9
ifnonnull 76
75: aload 13
astore 9
76: StackMap locals:
StackMap stack:
aload 13
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
77: ldc "java.net.PortUnreachableException"
78: invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
79: ifeq 92
80: aload 10
iload 12
iconst_1
bastore
end local 13 81: goto 92
82: StackMap locals: com.sun.jndi.dns.DnsClient com.sun.jndi.dns.DnsName int int int int int com.sun.jndi.dns.Packet com.sun.jndi.dns.ResourceRecord java.lang.Exception boolean[] int int
StackMap stack: javax.naming.NameNotFoundException
astore 13
start local 13 83: aload 13
athrow
end local 13 84: StackMap locals:
StackMap stack: javax.naming.CommunicationException
astore 13
start local 13 85: aload 9
ifnonnull 92
86: aload 13
astore 9
end local 13 87: goto 92
88: StackMap locals:
StackMap stack: javax.naming.NamingException
astore 13
start local 13 89: aload 9
ifnonnull 91
90: aload 13
astore 9
91: StackMap locals: javax.naming.NamingException
StackMap stack:
aload 10
iload 12
iconst_1
bastore
end local 13 92: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
93: iload 12
aload 0
getfield com.sun.jndi.dns.DnsClient.servers:[Ljava/net/InetAddress;
arraylength
if_icmplt 19
end local 12 94: iinc 11 1
StackMap locals:
StackMap stack:
95: iload 11
aload 0
getfield com.sun.jndi.dns.DnsClient.retries:I
if_icmplt 17
end local 11 96: goto 100
StackMap locals: com.sun.jndi.dns.DnsClient com.sun.jndi.dns.DnsName int int int int int com.sun.jndi.dns.Packet com.sun.jndi.dns.ResourceRecord java.lang.Exception boolean[]
StackMap stack: java.lang.Throwable
97: astore 20
98: aload 0
getfield com.sun.jndi.dns.DnsClient.reqs:Ljava/util/Map;
iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
99: aload 20
athrow
100: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.dns.DnsClient.reqs:Ljava/util/Map;
iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
101: aload 9
instanceof javax.naming.NamingException
ifeq 103
102: aload 9
checkcast javax.naming.NamingException
athrow
103: StackMap locals:
StackMap stack:
new javax.naming.CommunicationException
dup
ldc "DNS error"
invokespecial javax.naming.CommunicationException.<init>:(Ljava/lang/String;)V
astore 11
start local 11 104: aload 11
aload 9
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
105: aload 11
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 106 0 this Lcom/sun/jndi/dns/DnsClient;
0 106 1 fqdn Lcom/sun/jndi/dns/DnsName;
0 106 2 qclass I
0 106 3 qtype I
0 106 4 recursion Z
0 106 5 auth Z
1 106 6 xid I
2 106 7 pkt Lcom/sun/jndi/dns/Packet;
6 10 8 collision Lcom/sun/jndi/dns/ResourceRecord;
12 106 8 collision Lcom/sun/jndi/dns/ResourceRecord;
14 106 9 caughtException Ljava/lang/Exception;
15 106 10 doNotRetry [Z
16 96 11 retry I
18 94 12 i I
24 71 13 msg [B
33 71 14 hdr Lcom/sun/jndi/dns/Header;
41 68 15 j I
43 66 16 ij I
47 64 17 tcp Lcom/sun/jndi/dns/Tcp;
48 49 18 msg2 [B
52 64 18 msg2 [B
54 64 19 hdr2 Lcom/sun/jndi/dns/Header;
72 81 13 e Ljava/io/IOException;
83 84 13 e Ljavax/naming/NameNotFoundException;
85 87 13 e Ljavax/naming/CommunicationException;
89 92 13 e Ljavax/naming/NamingException;
104 106 11 ne Ljavax/naming/NamingException;
Exception table:
from to target type
3 9 10 any
10 11 10 any
47 49 49 any
45 62 65 Class java.lang.Exception
63 64 65 Class java.lang.Exception
21 31 71 Class java.io.IOException
32 38 71 Class java.io.IOException
39 69 71 Class java.io.IOException
21 31 82 Class javax.naming.NameNotFoundException
32 38 82 Class javax.naming.NameNotFoundException
39 69 82 Class javax.naming.NameNotFoundException
21 31 84 Class javax.naming.CommunicationException
32 38 84 Class javax.naming.CommunicationException
39 69 84 Class javax.naming.CommunicationException
21 31 88 Class javax.naming.NamingException
32 38 88 Class javax.naming.NamingException
39 69 88 Class javax.naming.NamingException
15 69 97 any
71 97 97 any
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
fqdn
qclass
qtype
recursion
auth
com.sun.jndi.dns.ResourceRecords queryZone(com.sun.jndi.dns.DnsName, int, boolean);
descriptor: (Lcom/sun/jndi/dns/DnsName;IZ)Lcom/sun/jndi/dns/ResourceRecords;
flags: (0x0000)
Code:
stack=6, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic com.sun.jndi.dns.DnsClient.random:Ljava/security/SecureRandom;
ldc 65536
invokevirtual java.security.SecureRandom.nextInt:(I)I
istore 4
start local 4 1: aload 0
aload 1
iload 4
iload 2
2: sipush 252
iload 3
3: invokevirtual com.sun.jndi.dns.DnsClient.makeQueryPacket:(Lcom/sun/jndi/dns/DnsName;IIIZ)Lcom/sun/jndi/dns/Packet;
astore 5
start local 5 4: aconst_null
astore 6
start local 6 5: iconst_0
istore 7
start local 7 6: goto 45
7: StackMap locals: com.sun.jndi.dns.DnsClient com.sun.jndi.dns.DnsName int int int com.sun.jndi.dns.Packet java.lang.Exception int
StackMap stack:
new com.sun.jndi.dns.Tcp
dup
aload 0
getfield com.sun.jndi.dns.DnsClient.servers:[Ljava/net/InetAddress;
iload 7
aaload
aload 0
getfield com.sun.jndi.dns.DnsClient.serverPorts:[I
iload 7
iaload
invokespecial com.sun.jndi.dns.Tcp.<init>:(Ljava/net/InetAddress;I)V
astore 8
start local 8 8: aload 0
aload 8
aload 5
invokevirtual com.sun.jndi.dns.DnsClient.doTcpQuery:(Lcom/sun/jndi/dns/Tcp;Lcom/sun/jndi/dns/Packet;)[B
astore 9
start local 9 9: new com.sun.jndi.dns.Header
dup
aload 9
aload 9
arraylength
invokespecial com.sun.jndi.dns.Header.<init>:([BI)V
astore 10
start local 10 10: aload 0
aload 10
invokevirtual com.sun.jndi.dns.DnsClient.checkResponseCode:(Lcom/sun/jndi/dns/Header;)V
11: new com.sun.jndi.dns.ResourceRecords
dup
aload 9
aload 9
arraylength
aload 10
iconst_1
invokespecial com.sun.jndi.dns.ResourceRecords.<init>:([BILcom/sun/jndi/dns/Header;Z)V
12: astore 11
start local 11 13: aload 11
invokevirtual com.sun.jndi.dns.ResourceRecords.getFirstAnsType:()I
bipush 6
if_icmpeq 17
14: new javax.naming.CommunicationException
dup
15: ldc "DNS error: zone xfer doesn't begin with SOA"
16: invokespecial javax.naming.CommunicationException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals: com.sun.jndi.dns.DnsClient com.sun.jndi.dns.DnsName int int int com.sun.jndi.dns.Packet java.lang.Exception int com.sun.jndi.dns.Tcp byte[] com.sun.jndi.dns.Header com.sun.jndi.dns.ResourceRecords
StackMap stack:
aload 11
getfield com.sun.jndi.dns.ResourceRecords.answer:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
iconst_1
if_icmpeq 19
18: aload 11
invokevirtual com.sun.jndi.dns.ResourceRecords.getLastAnsType:()I
bipush 6
if_icmpeq 30
19: StackMap locals:
StackMap stack:
aload 0
aload 8
invokevirtual com.sun.jndi.dns.DnsClient.continueTcpQuery:(Lcom/sun/jndi/dns/Tcp;)[B
astore 9
20: aload 9
ifnonnull 24
21: new javax.naming.CommunicationException
dup
22: ldc "DNS error: incomplete zone transfer"
23: invokespecial javax.naming.CommunicationException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals:
StackMap stack:
new com.sun.jndi.dns.Header
dup
aload 9
aload 9
arraylength
invokespecial com.sun.jndi.dns.Header.<init>:([BI)V
astore 10
25: aload 0
aload 10
invokevirtual com.sun.jndi.dns.DnsClient.checkResponseCode:(Lcom/sun/jndi/dns/Header;)V
26: aload 11
aload 9
aload 9
arraylength
aload 10
invokevirtual com.sun.jndi.dns.ResourceRecords.add:([BILcom/sun/jndi/dns/Header;)V
27: aload 11
invokevirtual com.sun.jndi.dns.ResourceRecords.getLastAnsType:()I
28: bipush 6
29: if_icmpne 19
30: StackMap locals:
StackMap stack:
aload 11
getfield com.sun.jndi.dns.ResourceRecords.answer:Ljava/util/Vector;
aload 11
getfield com.sun.jndi.dns.ResourceRecords.answer:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
iconst_1
isub
invokevirtual java.util.Vector.removeElementAt:(I)V
31: aload 11
astore 13
32: aload 8
invokevirtual com.sun.jndi.dns.Tcp.close:()V
33: aload 13
areturn
end local 11 end local 10 end local 9 34: StackMap locals: com.sun.jndi.dns.DnsClient com.sun.jndi.dns.DnsName int int int com.sun.jndi.dns.Packet java.lang.Exception int com.sun.jndi.dns.Tcp
StackMap stack: java.lang.Throwable
astore 12
35: aload 8
invokevirtual com.sun.jndi.dns.Tcp.close:()V
36: aload 12
athrow
end local 8 37: StackMap locals: com.sun.jndi.dns.DnsClient com.sun.jndi.dns.DnsName int int int com.sun.jndi.dns.Packet java.lang.Exception int
StackMap stack: java.io.IOException
astore 8
start local 8 38: aload 8
astore 6
end local 8 39: goto 44
40: StackMap locals:
StackMap stack: javax.naming.NameNotFoundException
astore 8
start local 8 41: aload 8
athrow
end local 8 42: StackMap locals:
StackMap stack: javax.naming.NamingException
astore 8
start local 8 43: aload 8
astore 6
end local 8 44: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
45: iload 7
aload 0
getfield com.sun.jndi.dns.DnsClient.servers:[Ljava/net/InetAddress;
arraylength
if_icmplt 7
end local 7 46: aload 6
instanceof javax.naming.NamingException
ifeq 48
47: aload 6
checkcast javax.naming.NamingException
athrow
48: StackMap locals:
StackMap stack:
new javax.naming.CommunicationException
dup
49: ldc "DNS error during zone transfer"
50: invokespecial javax.naming.CommunicationException.<init>:(Ljava/lang/String;)V
astore 7
start local 7 51: aload 7
aload 6
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
52: 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 53 0 this Lcom/sun/jndi/dns/DnsClient;
0 53 1 zone Lcom/sun/jndi/dns/DnsName;
0 53 2 qclass I
0 53 3 recursion Z
1 53 4 xid I
4 53 5 pkt Lcom/sun/jndi/dns/Packet;
5 53 6 caughtException Ljava/lang/Exception;
6 46 7 i I
8 37 8 tcp Lcom/sun/jndi/dns/Tcp;
9 34 9 msg [B
10 34 10 hdr Lcom/sun/jndi/dns/Header;
13 34 11 rrs Lcom/sun/jndi/dns/ResourceRecords;
38 39 8 e Ljava/io/IOException;
41 42 8 e Ljavax/naming/NameNotFoundException;
43 44 8 e Ljavax/naming/NamingException;
51 53 7 ne Ljavax/naming/NamingException;
Exception table:
from to target type
8 32 34 any
7 33 37 Class java.io.IOException
34 37 37 Class java.io.IOException
7 33 40 Class javax.naming.NameNotFoundException
34 37 40 Class javax.naming.NameNotFoundException
7 33 42 Class javax.naming.NamingException
34 37 42 Class javax.naming.NamingException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
zone
qclass
recursion
private byte[] doUdpQuery(com.sun.jndi.dns.Packet, java.net.InetAddress, int, int, int);
descriptor: (Lcom/sun/jndi/dns/Packet;Ljava/net/InetAddress;III)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=22, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: bipush 50
istore 6
start local 6 1: aload 0
getfield com.sun.jndi.dns.DnsClient.udpSocketLock:Ljava/lang/Object;
dup
astore 7
monitorenter
2: aload 0
invokevirtual com.sun.jndi.dns.DnsClient.getDatagramSocket:()Ljava/net/DatagramSocket;
astore 8
start local 8 3: new java.net.DatagramPacket
dup
4: aload 1
invokevirtual com.sun.jndi.dns.Packet.getData:()[B
aload 1
invokevirtual com.sun.jndi.dns.Packet.length:()I
aload 2
iload 3
5: invokespecial java.net.DatagramPacket.<init>:([BILjava/net/InetAddress;I)V
astore 9
start local 9 6: new java.net.DatagramPacket
dup
sipush 8000
newarray 8
sipush 8000
invokespecial java.net.DatagramPacket.<init>:([BI)V
astore 10
start local 10 7: aload 8
aload 2
iload 3
invokevirtual java.net.DatagramSocket.connect:(Ljava/net/InetAddress;I)V
8: aload 0
getfield com.sun.jndi.dns.DnsClient.timeout:I
iconst_1
iload 4
ishl
imul
istore 11
start local 11 9: aload 8
aload 9
invokevirtual java.net.DatagramSocket.send:(Ljava/net/DatagramPacket;)V
10: iload 11
istore 12
start local 12 11: iconst_0
istore 13
start local 13 12: StackMap locals: com.sun.jndi.dns.DnsClient com.sun.jndi.dns.Packet java.net.InetAddress int int int int java.lang.Object java.net.DatagramSocket java.net.DatagramPacket java.net.DatagramPacket int int int
StackMap stack:
getstatic com.sun.jndi.dns.DnsClient.debug:Z
ifeq 19
13: iinc 13 1
14: new java.lang.StringBuilder
dup
ldc "Trying RECEIVE("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
15: iload 13
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") retry("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
16: ldc ") for:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " sock-timeout:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
17: iload 12
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ms."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
18: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.jndi.dns.DnsClient.dprint:(Ljava/lang/String;)V
19: StackMap locals:
StackMap stack:
aload 8
iload 12
invokevirtual java.net.DatagramSocket.setSoTimeout:(I)V
20: invokestatic java.lang.System.currentTimeMillis:()J
lstore 14
start local 14 21: aload 8
aload 10
invokevirtual java.net.DatagramSocket.receive:(Ljava/net/DatagramPacket;)V
22: invokestatic java.lang.System.currentTimeMillis:()J
lstore 16
start local 16 23: aload 10
invokevirtual java.net.DatagramPacket.getData:()[B
astore 18
start local 18 24: aload 0
aload 18
iload 5
invokevirtual com.sun.jndi.dns.DnsClient.isMatchResponse:([BI)Z
ifeq 30
25: aload 18
astore 20
26: aload 8
invokevirtual java.net.DatagramSocket.disconnect:()V
27: aload 8
invokevirtual java.net.DatagramSocket.close:()V
28: aload 7
monitorexit
29: aload 20
areturn
30: StackMap locals: long long byte[]
StackMap stack:
iload 11
lload 16
lload 14
lsub
l2i
isub
istore 12
end local 18 end local 16 end local 14 31: iload 12
iload 6
32: if_icmpgt 12
end local 13 end local 12 33: goto 37
StackMap locals: com.sun.jndi.dns.DnsClient com.sun.jndi.dns.Packet java.net.InetAddress int int int int java.lang.Object java.net.DatagramSocket java.net.DatagramPacket java.net.DatagramPacket int
StackMap stack: java.lang.Throwable
34: astore 19
35: aload 8
invokevirtual java.net.DatagramSocket.disconnect:()V
36: aload 19
athrow
37: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.net.DatagramSocket.disconnect:()V
38: aload 8
invokevirtual java.net.DatagramSocket.close:()V
aload 7
monitorexit
39: aconst_null
areturn
end local 11 end local 10 end local 9 40: StackMap locals: com.sun.jndi.dns.DnsClient com.sun.jndi.dns.Packet java.net.InetAddress int int int int java.lang.Object java.net.DatagramSocket
StackMap stack: java.lang.Throwable
astore 21
41: aload 8
invokevirtual java.net.DatagramSocket.close:()V
42: aload 21
athrow
end local 8 43: StackMap locals: com.sun.jndi.dns.DnsClient com.sun.jndi.dns.Packet java.net.InetAddress int int int int java.lang.Object
StackMap stack: java.lang.Throwable
aload 7
monitorexit
44: 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/dns/DnsClient;
0 45 1 pkt Lcom/sun/jndi/dns/Packet;
0 45 2 server Ljava/net/InetAddress;
0 45 3 port I
0 45 4 retry I
0 45 5 xid I
1 45 6 minTimeout I
3 43 8 udpSocket Ljava/net/DatagramSocket;
6 40 9 opkt Ljava/net/DatagramPacket;
7 40 10 ipkt Ljava/net/DatagramPacket;
9 40 11 pktTimeout I
11 33 12 timeoutLeft I
12 33 13 cnt I
21 31 14 start J
23 31 16 end J
24 31 18 data [B
Exception table:
from to target type
9 26 34 any
30 34 34 any
3 27 40 any
30 38 40 any
2 29 43 any
30 39 43 any
40 44 43 any
Exceptions:
throws java.io.IOException, javax.naming.NamingException
MethodParameters:
Name Flags
pkt
server
port
retry
xid
private byte[] doTcpQuery(com.sun.jndi.dns.Tcp, com.sun.jndi.dns.Packet);
descriptor: (Lcom/sun/jndi/dns/Tcp;Lcom/sun/jndi/dns/Packet;)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual com.sun.jndi.dns.Packet.length:()I
istore 3
start local 3 1: aload 1
getfield com.sun.jndi.dns.Tcp.out:Ljava/io/OutputStream;
iload 3
bipush 8
ishr
invokevirtual java.io.OutputStream.write:(I)V
2: aload 1
getfield com.sun.jndi.dns.Tcp.out:Ljava/io/OutputStream;
iload 3
invokevirtual java.io.OutputStream.write:(I)V
3: aload 1
getfield com.sun.jndi.dns.Tcp.out:Ljava/io/OutputStream;
aload 2
invokevirtual com.sun.jndi.dns.Packet.getData:()[B
iconst_0
iload 3
invokevirtual java.io.OutputStream.write:([BII)V
4: aload 1
getfield com.sun.jndi.dns.Tcp.out:Ljava/io/OutputStream;
invokevirtual java.io.OutputStream.flush:()V
5: aload 0
aload 1
invokevirtual com.sun.jndi.dns.DnsClient.continueTcpQuery:(Lcom/sun/jndi/dns/Tcp;)[B
astore 4
start local 4 6: aload 4
ifnonnull 8
7: new java.io.IOException
dup
ldc "DNS error: no response"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: int byte[]
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/jndi/dns/DnsClient;
0 9 1 tcp Lcom/sun/jndi/dns/Tcp;
0 9 2 pkt Lcom/sun/jndi/dns/Packet;
1 9 3 len I
6 9 4 msg [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
tcp
pkt
private byte[] continueTcpQuery(com.sun.jndi.dns.Tcp);
descriptor: (Lcom/sun/jndi/dns/Tcp;)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.jndi.dns.Tcp.in:Ljava/io/InputStream;
invokevirtual java.io.InputStream.read:()I
istore 2
start local 2 1: iload 2
iconst_m1
if_icmpne 3
2: aconst_null
areturn
3: StackMap locals: int
StackMap stack:
aload 1
getfield com.sun.jndi.dns.Tcp.in:Ljava/io/InputStream;
invokevirtual java.io.InputStream.read:()I
istore 3
start local 3 4: iload 3
iconst_m1
if_icmpne 6
5: new java.io.IOException
dup
ldc "Corrupted DNS response: bad length"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: int
StackMap stack:
iload 2
bipush 8
ishl
iload 3
ior
istore 4
start local 4 7: iload 4
newarray 8
astore 5
start local 5 8: iconst_0
istore 6
start local 6 9: goto 17
10: StackMap locals: int byte[] int
StackMap stack:
aload 1
getfield com.sun.jndi.dns.Tcp.in:Ljava/io/InputStream;
aload 5
iload 6
iload 4
invokevirtual java.io.InputStream.read:([BII)I
istore 7
start local 7 11: iload 7
iconst_m1
if_icmpne 15
12: new java.io.IOException
dup
13: ldc "Corrupted DNS response: too little data"
14: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals: int
StackMap stack:
iload 4
iload 7
isub
istore 4
16: iload 6
iload 7
iadd
istore 6
end local 7 17: StackMap locals:
StackMap stack:
iload 4
ifgt 10
18: aload 5
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 19 0 this Lcom/sun/jndi/dns/DnsClient;
0 19 1 tcp Lcom/sun/jndi/dns/Tcp;
1 19 2 lenHi I
4 19 3 lenLo I
7 19 4 len I
8 19 5 msg [B
9 19 6 pos I
11 17 7 n I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
tcp
private com.sun.jndi.dns.Packet makeQueryPacket(com.sun.jndi.dns.DnsName, int, int, int, boolean);
descriptor: (Lcom/sun/jndi/dns/DnsName;IIIZ)Lcom/sun/jndi/dns/Packet;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
invokevirtual com.sun.jndi.dns.DnsName.getOctets:()S
istore 6
start local 6 1: bipush 12
iload 6
iadd
iconst_4
iadd
istore 7
start local 7 2: new com.sun.jndi.dns.Packet
dup
iload 7
invokespecial com.sun.jndi.dns.Packet.<init>:(I)V
astore 8
start local 8 3: iload 5
ifeq 4
sipush 256
goto 5
StackMap locals: int int com.sun.jndi.dns.Packet
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 9
start local 9 6: aload 8
iload 2
iconst_0
invokevirtual com.sun.jndi.dns.Packet.putShort:(II)V
7: aload 8
iload 9
iconst_2
invokevirtual com.sun.jndi.dns.Packet.putShort:(II)V
8: aload 8
iconst_1
iconst_4
invokevirtual com.sun.jndi.dns.Packet.putShort:(II)V
9: aload 8
iconst_0
bipush 6
invokevirtual com.sun.jndi.dns.Packet.putShort:(II)V
10: aload 8
iconst_0
bipush 8
invokevirtual com.sun.jndi.dns.Packet.putInt:(II)V
11: aload 0
aload 1
aload 8
bipush 12
invokevirtual com.sun.jndi.dns.DnsClient.makeQueryName:(Lcom/sun/jndi/dns/DnsName;Lcom/sun/jndi/dns/Packet;I)V
12: aload 8
iload 4
bipush 12
iload 6
iadd
invokevirtual com.sun.jndi.dns.Packet.putShort:(II)V
13: aload 8
iload 3
bipush 12
iload 6
iadd
iconst_2
iadd
invokevirtual com.sun.jndi.dns.Packet.putShort:(II)V
14: aload 8
areturn
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 15 0 this Lcom/sun/jndi/dns/DnsClient;
0 15 1 fqdn Lcom/sun/jndi/dns/DnsName;
0 15 2 xid I
0 15 3 qclass I
0 15 4 qtype I
0 15 5 recursion Z
1 15 6 qnameLen I
2 15 7 pktLen I
3 15 8 pkt Lcom/sun/jndi/dns/Packet;
6 15 9 flags S
MethodParameters:
Name Flags
fqdn
xid
qclass
qtype
recursion
private void makeQueryName(com.sun.jndi.dns.DnsName, com.sun.jndi.dns.Packet, int);
descriptor: (Lcom/sun/jndi/dns/DnsName;Lcom/sun/jndi/dns/Packet;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual com.sun.jndi.dns.DnsName.size:()I
iconst_1
isub
istore 4
start local 4 1: goto 11
2: StackMap locals: int
StackMap stack:
aload 1
iload 4
invokevirtual com.sun.jndi.dns.DnsName.get:(I)Ljava/lang/String;
astore 5
start local 5 3: aload 5
invokevirtual java.lang.String.length:()I
istore 6
start local 6 4: aload 2
iload 6
iload 3
iinc 3 1
invokevirtual com.sun.jndi.dns.Packet.putByte:(II)V
5: iconst_0
istore 7
start local 7 6: goto 9
7: StackMap locals: java.lang.String int int
StackMap stack:
aload 2
aload 5
iload 7
invokevirtual java.lang.String.charAt:(I)C
iload 3
iinc 3 1
invokevirtual com.sun.jndi.dns.Packet.putByte:(II)V
8: iinc 7 1
StackMap locals:
StackMap stack:
9: iload 7
iload 6
if_icmplt 7
end local 7 end local 6 end local 5 10: iinc 4 -1
StackMap locals:
StackMap stack:
11: iload 4
ifge 2
end local 4 12: aload 1
invokevirtual com.sun.jndi.dns.DnsName.hasRootLabel:()Z
ifne 14
13: aload 2
iconst_0
iload 3
invokevirtual com.sun.jndi.dns.Packet.putByte:(II)V
14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/jndi/dns/DnsClient;
0 15 1 fqdn Lcom/sun/jndi/dns/DnsName;
0 15 2 pkt Lcom/sun/jndi/dns/Packet;
0 15 3 off I
1 12 4 i I
3 10 5 label Ljava/lang/String;
4 10 6 len I
6 10 7 j I
MethodParameters:
Name Flags
fqdn
pkt
off
private byte[] lookupResponse(java.lang.Integer);
descriptor: (Ljava/lang/Integer;)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: getstatic com.sun.jndi.dns.DnsClient.debug:Z
ifeq 4
1: new java.lang.StringBuilder
dup
ldc "LOOKUP for: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2: ldc "\tResponse Q:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.jndi.dns.DnsClient.resps:Ljava/util/Map;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.jndi.dns.DnsClient.dprint:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.dns.DnsClient.resps:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
dup
astore 2
start local 2 5: ifnull 18
6: aload 0
new com.sun.jndi.dns.Header
dup
aload 2
aload 2
arraylength
invokespecial com.sun.jndi.dns.Header.<init>:([BI)V
invokevirtual com.sun.jndi.dns.DnsClient.checkResponseCode:(Lcom/sun/jndi/dns/Header;)V
7: aload 0
getfield com.sun.jndi.dns.DnsClient.queuesLock:Ljava/lang/Object;
dup
astore 3
monitorenter
8: aload 0
getfield com.sun.jndi.dns.DnsClient.resps:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
9: aload 0
getfield com.sun.jndi.dns.DnsClient.reqs:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
10: aload 3
monitorexit
11: goto 14
StackMap locals: com.sun.jndi.dns.DnsClient java.lang.Integer byte[] java.lang.Object
StackMap stack: java.lang.Throwable
12: aload 3
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
getstatic com.sun.jndi.dns.DnsClient.debug:Z
ifeq 18
15: new java.lang.StringBuilder
dup
ldc "FOUND ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
16: ldc ") for:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
17: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.jndi.dns.DnsClient.dprint:(Ljava/lang/String;)V
18: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/jndi/dns/DnsClient;
0 19 1 xid Ljava/lang/Integer;
5 19 2 pkt [B
Exception table:
from to target type
8 11 12 any
12 13 12 any
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
xid
private boolean isMatchResponse(byte[], int);
descriptor: ([BI)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=10, args_size=3
start local 0 start local 1 start local 2 0: new com.sun.jndi.dns.Header
dup
aload 1
aload 1
arraylength
invokespecial com.sun.jndi.dns.Header.<init>:([BI)V
astore 3
start local 3 1: aload 3
getfield com.sun.jndi.dns.Header.query:Z
ifeq 3
2: new javax.naming.CommunicationException
dup
ldc "DNS error: expecting response"
invokespecial javax.naming.CommunicationException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: com.sun.jndi.dns.Header
StackMap stack:
aload 0
getfield com.sun.jndi.dns.DnsClient.reqs:Ljava/util/Map;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 5
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 3
getfield com.sun.jndi.dns.Header.xid:I
iload 2
if_icmpne 39
6: getstatic com.sun.jndi.dns.DnsClient.debug:Z
ifeq 8
7: new java.lang.StringBuilder
dup
ldc "XID MATCH:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.jndi.dns.DnsClient.dprint:(Ljava/lang/String;)V
8: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual com.sun.jndi.dns.DnsClient.checkResponseCode:(Lcom/sun/jndi/dns/Header;)V
9: aload 3
getfield com.sun.jndi.dns.Header.query:Z
ifne 38
aload 3
getfield com.sun.jndi.dns.Header.numQuestions:I
iconst_1
if_icmpne 38
10: new com.sun.jndi.dns.ResourceRecord
dup
aload 1
aload 1
arraylength
11: bipush 12
iconst_1
iconst_0
12: invokespecial com.sun.jndi.dns.ResourceRecord.<init>:([BIIZZ)V
astore 4
start local 4 13: aload 0
getfield com.sun.jndi.dns.DnsClient.reqs:Ljava/util/Map;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.jndi.dns.ResourceRecord
astore 5
start local 5 14: aload 5
invokevirtual com.sun.jndi.dns.ResourceRecord.getType:()I
istore 6
start local 6 15: aload 5
invokevirtual com.sun.jndi.dns.ResourceRecord.getRrclass:()I
istore 7
start local 7 16: aload 5
invokevirtual com.sun.jndi.dns.ResourceRecord.getName:()Lcom/sun/jndi/dns/DnsName;
astore 8
start local 8 17: iload 6
sipush 255
if_icmpeq 19
18: iload 6
aload 4
invokevirtual com.sun.jndi.dns.ResourceRecord.getType:()I
if_icmpne 34
19: StackMap locals: com.sun.jndi.dns.DnsClient byte[] int com.sun.jndi.dns.Header com.sun.jndi.dns.ResourceRecord com.sun.jndi.dns.ResourceRecord int int com.sun.jndi.dns.DnsName
StackMap stack:
iload 7
sipush 255
if_icmpeq 21
20: iload 7
aload 4
invokevirtual com.sun.jndi.dns.ResourceRecord.getRrclass:()I
if_icmpne 34
21: StackMap locals:
StackMap stack:
aload 8
aload 4
invokevirtual com.sun.jndi.dns.ResourceRecord.getName:()Lcom/sun/jndi/dns/DnsName;
invokevirtual com.sun.jndi.dns.DnsName.equals:(Ljava/lang/Object;)Z
ifeq 34
22: getstatic com.sun.jndi.dns.DnsClient.debug:Z
ifeq 26
23: new java.lang.StringBuilder
dup
ldc "MATCH NAME:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " QTYPE:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
24: ldc " QCLASS:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
25: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.jndi.dns.DnsClient.dprint:(Ljava/lang/String;)V
26: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.dns.DnsClient.queuesLock:Ljava/lang/Object;
dup
astore 9
monitorenter
27: aload 0
getfield com.sun.jndi.dns.DnsClient.resps:Ljava/util/Map;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
28: aload 0
getfield com.sun.jndi.dns.DnsClient.reqs:Ljava/util/Map;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
29: aload 9
monitorexit
30: goto 33
StackMap locals: com.sun.jndi.dns.DnsClient byte[] int com.sun.jndi.dns.Header com.sun.jndi.dns.ResourceRecord com.sun.jndi.dns.ResourceRecord int int com.sun.jndi.dns.DnsName java.lang.Object
StackMap stack: java.lang.Throwable
31: aload 9
monitorexit
32: athrow
33: StackMap locals:
StackMap stack:
iconst_1
ireturn
34: StackMap locals:
StackMap stack:
getstatic com.sun.jndi.dns.DnsClient.debug:Z
ifeq 38
35: new java.lang.StringBuilder
dup
ldc "NO-MATCH NAME:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " QTYPE:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
36: ldc " QCLASS:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
37: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.jndi.dns.DnsClient.dprint:(Ljava/lang/String;)V
end local 8 end local 7 end local 6 end local 5 end local 4 38: StackMap locals: com.sun.jndi.dns.DnsClient byte[] int com.sun.jndi.dns.Header
StackMap stack:
iconst_0
ireturn
39: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.dns.DnsClient.queuesLock:Ljava/lang/Object;
dup
astore 4
monitorenter
40: aload 0
getfield com.sun.jndi.dns.DnsClient.reqs:Ljava/util/Map;
aload 3
getfield com.sun.jndi.dns.Header.xid:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 42
41: aload 0
getfield com.sun.jndi.dns.DnsClient.resps:Ljava/util/Map;
aload 3
getfield com.sun.jndi.dns.Header.xid:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
42: StackMap locals: java.lang.Object
StackMap stack:
aload 4
monitorexit
43: goto 46
StackMap locals:
StackMap stack: java.lang.Throwable
44: aload 4
monitorexit
45: athrow
46: StackMap locals:
StackMap stack:
getstatic com.sun.jndi.dns.DnsClient.debug:Z
ifeq 52
47: new java.lang.StringBuilder
dup
ldc "NO-MATCH SEND ID:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
48: iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " RECVD ID:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
getfield com.sun.jndi.dns.Header.xid:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
49: ldc " Response Q:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.jndi.dns.DnsClient.resps:Ljava/util/Map;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
50: ldc " Reqs size:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.jndi.dns.DnsClient.reqs:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
51: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.jndi.dns.DnsClient.dprint:(Ljava/lang/String;)V
52: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 53 0 this Lcom/sun/jndi/dns/DnsClient;
0 53 1 pkt [B
0 53 2 xid I
1 53 3 hdr Lcom/sun/jndi/dns/Header;
13 38 4 rr Lcom/sun/jndi/dns/ResourceRecord;
14 38 5 query Lcom/sun/jndi/dns/ResourceRecord;
15 38 6 qtype I
16 38 7 qclass I
17 38 8 qname Lcom/sun/jndi/dns/DnsName;
Exception table:
from to target type
27 30 31 any
31 32 31 any
40 43 44 any
44 45 44 any
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
pkt
xid
private void (com.sun.jndi.dns.Header);
descriptor: (Lcom/sun/jndi/dns/Header;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.jndi.dns.Header.rcode:I
istore 2
start local 2 1: iload 2
ifne 3
2: return
3: StackMap locals: int
StackMap stack:
iload 2
getstatic com.sun.jndi.dns.DnsClient.rcodeDescription:[Ljava/lang/String;
arraylength
if_icmpge 5
4: getstatic com.sun.jndi.dns.DnsClient.rcodeDescription:[Ljava/lang/String;
iload 2
aaload
goto 6
5: StackMap locals:
StackMap stack:
ldc "DNS error"
6: StackMap locals:
StackMap stack: java.lang.String
astore 3
start local 3 7: new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " [response code "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
8: iload 2
tableswitch { // 1 - 5
1: 12
2: 9
3: 10
4: 11
5: 11
default: 12
}
9: StackMap locals: java.lang.String
StackMap stack:
new javax.naming.ServiceUnavailableException
dup
aload 3
invokespecial javax.naming.ServiceUnavailableException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
new javax.naming.NameNotFoundException
dup
aload 3
invokespecial javax.naming.NameNotFoundException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
new javax.naming.OperationNotSupportedException
dup
aload 3
invokespecial javax.naming.OperationNotSupportedException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
new javax.naming.NamingException
dup
aload 3
invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/jndi/dns/DnsClient;
0 13 1 hdr Lcom/sun/jndi/dns/Header;
1 13 2 rcode I
7 13 3 msg Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
hdr
public static void setDebug(boolean);
descriptor: (Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
putstatic com.sun.jndi.dns.DnsClient.debug:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 flag Z
MethodParameters:
Name Flags
flag
private static void dprint(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic com.sun.jndi.dns.DnsClient.debug:Z
ifeq 2
1: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "DNS: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 mess Ljava/lang/String;
MethodParameters:
Name Flags
mess
}
SourceFile: "DnsClient.java"