class java.net.SocksSocketImpl extends java.net.PlainSocketImpl implements java.net.SocksConsts
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.net.SocksSocketImpl
super_class: java.net.PlainSocketImpl
{
private java.lang.String server;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private int port;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.net.InetSocketAddress external_address;
descriptor: Ljava/net/InetSocketAddress;
flags: (0x0002) ACC_PRIVATE
private boolean useV4;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.net.Socket cmdsock;
descriptor: Ljava/net/Socket;
flags: (0x0002) ACC_PRIVATE
private java.io.InputStream cmdIn;
descriptor: Ljava/io/InputStream;
flags: (0x0002) ACC_PRIVATE
private java.io.OutputStream cmdOut;
descriptor: Ljava/io/OutputStream;
flags: (0x0002) ACC_PRIVATE
private boolean applicationSetProxy;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Ljava/net/SocksSocketImpl;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic java.net.SocksSocketImpl.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.net.PlainSocketImpl.<init>:()V
1: aload 0
aconst_null
putfield java.net.SocksSocketImpl.server:Ljava/lang/String;
2: aload 0
sipush 1080
putfield java.net.SocksSocketImpl.port:I
3: aload 0
iconst_0
putfield java.net.SocksSocketImpl.useV4:Z
4: aload 0
aconst_null
putfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
5: aload 0
aconst_null
putfield java.net.SocksSocketImpl.cmdIn:Ljava/io/InputStream;
6: aload 0
aconst_null
putfield java.net.SocksSocketImpl.cmdOut:Ljava/io/OutputStream;
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/net/SocksSocketImpl;
void <init>(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.net.PlainSocketImpl.<init>:()V
1: aload 0
aconst_null
putfield java.net.SocksSocketImpl.server:Ljava/lang/String;
2: aload 0
sipush 1080
putfield java.net.SocksSocketImpl.port:I
3: aload 0
iconst_0
putfield java.net.SocksSocketImpl.useV4:Z
4: aload 0
aconst_null
putfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
5: aload 0
aconst_null
putfield java.net.SocksSocketImpl.cmdIn:Ljava/io/InputStream;
6: aload 0
aconst_null
putfield java.net.SocksSocketImpl.cmdOut:Ljava/io/OutputStream;
7: aload 0
aload 1
putfield java.net.SocksSocketImpl.server:Ljava/lang/String;
8: aload 0
iload 2
iconst_m1
if_icmpne 9
sipush 1080
goto 10
StackMap locals: java.net.SocksSocketImpl java.lang.String int
StackMap stack: java.net.SocksSocketImpl
9: iload 2
StackMap locals: java.net.SocksSocketImpl java.lang.String int
StackMap stack: java.net.SocksSocketImpl int
10: putfield java.net.SocksSocketImpl.port:I
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/net/SocksSocketImpl;
0 12 1 server Ljava/lang/String;
0 12 2 port I
MethodParameters:
Name Flags
server
port
void <init>(java.net.Proxy);
descriptor: (Ljava/net/Proxy;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.net.PlainSocketImpl.<init>:()V
1: aload 0
aconst_null
putfield java.net.SocksSocketImpl.server:Ljava/lang/String;
2: aload 0
sipush 1080
putfield java.net.SocksSocketImpl.port:I
3: aload 0
iconst_0
putfield java.net.SocksSocketImpl.useV4:Z
4: aload 0
aconst_null
putfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
5: aload 0
aconst_null
putfield java.net.SocksSocketImpl.cmdIn:Ljava/io/InputStream;
6: aload 0
aconst_null
putfield java.net.SocksSocketImpl.cmdOut:Ljava/io/OutputStream;
7: aload 1
invokevirtual java.net.Proxy.address:()Ljava/net/SocketAddress;
astore 2
start local 2 8: aload 2
instanceof java.net.InetSocketAddress
ifeq 13
9: aload 2
checkcast java.net.InetSocketAddress
astore 3
start local 3 10: aload 0
aload 3
invokevirtual java.net.InetSocketAddress.getHostString:()Ljava/lang/String;
putfield java.net.SocksSocketImpl.server:Ljava/lang/String;
11: aload 0
aload 3
invokevirtual java.net.InetSocketAddress.getPort:()I
putfield java.net.SocksSocketImpl.port:I
12: aload 0
iconst_1
putfield java.net.SocksSocketImpl.applicationSetProxy:Z
end local 3 13: StackMap locals: java.net.SocksSocketImpl java.net.Proxy java.net.SocketAddress
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/net/SocksSocketImpl;
0 14 1 proxy Ljava/net/Proxy;
8 14 2 a Ljava/net/SocketAddress;
10 13 3 ad Ljava/net/InetSocketAddress;
MethodParameters:
Name Flags
proxy
void setV4();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield java.net.SocksSocketImpl.useV4:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/net/SocksSocketImpl;
private synchronized void privilegedConnect(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.net.SocksSocketImpl$1
dup
aload 0
aload 1
iload 2
iload 3
invokespecial java.net.SocksSocketImpl$1.<init>:(Ljava/net/SocksSocketImpl;Ljava/lang/String;II)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
pop
2: goto 5
StackMap locals:
StackMap stack: java.security.PrivilegedActionException
3: astore 4
start local 4 4: aload 4
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
checkcast java.io.IOException
athrow
end local 4 5: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/net/SocksSocketImpl;
0 6 1 host Ljava/lang/String;
0 6 2 port I
0 6 3 timeout I
4 5 4 pae Ljava/security/PrivilegedActionException;
Exception table:
from to target type
0 2 3 Class java.security.PrivilegedActionException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
host final
port final
timeout final
private void superConnectServer(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
new java.net.InetSocketAddress
dup
aload 1
iload 2
invokespecial java.net.InetSocketAddress.<init>:(Ljava/lang/String;I)V
iload 3
invokespecial java.net.PlainSocketImpl.connect:(Ljava/net/SocketAddress;I)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 Ljava/net/SocksSocketImpl;
0 2 1 host Ljava/lang/String;
0 2 2 port I
0 2 3 timeout I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
host
port
timeout
private int readSocksReply(java.io.InputStream, byte[]);
descriptor: (Ljava/io/InputStream;[B)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
arraylength
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 9
4: StackMap locals: int int int
StackMap stack:
aload 1
aload 2
iload 4
iload 3
iload 4
isub
invokevirtual java.io.InputStream.read:([BII)I
istore 6
start local 6 5: iload 6
ifge 7
6: new java.net.SocketException
dup
ldc "Malformed reply from SOCKS server"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: int
StackMap stack:
iload 4
iload 6
iadd
istore 4
end local 6 8: iinc 5 1
StackMap locals:
StackMap stack:
9: iload 4
iload 3
if_icmpge 10
iload 5
iconst_3
if_icmplt 4
end local 5 10: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/net/SocksSocketImpl;
0 11 1 in Ljava/io/InputStream;
0 11 2 data [B
1 11 3 len I
2 11 4 received I
3 10 5 attempts I
5 8 6 count I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
data
private boolean authenticate(byte, java.io.InputStream, java.io.BufferedOutputStream);
descriptor: (BLjava/io/InputStream;Ljava/io/BufferedOutputStream;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: iload 1
ifne 3
2: iconst_1
ireturn
3: StackMap locals: byte[]
StackMap stack:
iload 1
iconst_2
if_icmpne 49
4: aconst_null
astore 7
start local 7 5: aload 0
getfield java.net.SocksSocketImpl.server:Ljava/lang/String;
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
astore 8
start local 8 6: new java.net.SocksSocketImpl$2
dup
aload 0
aload 8
invokespecial java.net.SocksSocketImpl$2.<init>:(Ljava/net/SocksSocketImpl;Ljava/net/InetAddress;)V
7: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.net.PasswordAuthentication
8: astore 9
start local 9 9: aload 9
ifnull 13
10: aload 9
invokevirtual java.net.PasswordAuthentication.getUserName:()Ljava/lang/String;
astore 6
start local 6 11: new java.lang.String
dup
aload 9
invokevirtual java.net.PasswordAuthentication.getPassword:()[C
invokespecial java.lang.String.<init>:([C)V
astore 7
12: goto 26
end local 6 13: StackMap locals: java.net.SocksSocketImpl int java.io.InputStream java.io.BufferedOutputStream byte[] top top java.lang.String java.net.InetAddress java.net.PasswordAuthentication
StackMap stack:
invokestatic java.util.prefs.Preferences.userRoot:()Ljava/util/prefs/Preferences;
ldc "/java/net/socks"
invokevirtual java.util.prefs.Preferences.node:(Ljava/lang/String;)Ljava/util/prefs/Preferences;
astore 10
start local 10 14: new java.net.SocksSocketImpl$3
dup
aload 0
aload 10
invokespecial java.net.SocksSocketImpl$3.<init>:(Ljava/net/SocksSocketImpl;Ljava/util/prefs/Preferences;)V
15: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 16: goto 19
end local 6 StackMap locals: java.net.SocksSocketImpl int java.io.InputStream java.io.BufferedOutputStream byte[] top top java.lang.String java.net.InetAddress java.net.PasswordAuthentication java.util.prefs.Preferences
StackMap stack: java.security.PrivilegedActionException
17: astore 11
start local 11 18: aload 11
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
checkcast java.io.IOException
athrow
end local 11 start local 6 19: StackMap locals: java.net.SocksSocketImpl int java.io.InputStream java.io.BufferedOutputStream byte[] top java.lang.String java.lang.String java.net.InetAddress java.net.PasswordAuthentication java.util.prefs.Preferences
StackMap stack:
aload 6
ifnull 25
20: new java.net.SocksSocketImpl$4
dup
aload 0
aload 10
invokespecial java.net.SocksSocketImpl$4.<init>:(Ljava/net/SocksSocketImpl;Ljava/util/prefs/Preferences;)V
21: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 7
22: goto 26
StackMap locals:
StackMap stack: java.security.PrivilegedActionException
23: astore 11
start local 11 24: aload 11
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
checkcast java.io.IOException
athrow
end local 11 25: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.SocksSocketImpl.getUserName:()Ljava/lang/String;
astore 6
end local 10 26: StackMap locals:
StackMap stack:
aload 6
ifnonnull 28
27: iconst_0
ireturn
28: StackMap locals:
StackMap stack:
aload 3
iconst_1
invokevirtual java.io.BufferedOutputStream.write:(I)V
29: aload 3
aload 6
invokevirtual java.lang.String.length:()I
invokevirtual java.io.BufferedOutputStream.write:(I)V
30: aload 3
aload 6
ldc "ISO-8859-1"
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
invokevirtual java.io.BufferedOutputStream.write:([B)V
31: goto 34
StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
32: pop
33: getstatic java.net.SocksSocketImpl.$assertionsDisabled:Z
ifne 34
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
34: StackMap locals:
StackMap stack:
aload 7
ifnull 40
35: aload 3
aload 7
invokevirtual java.lang.String.length:()I
invokevirtual java.io.BufferedOutputStream.write:(I)V
36: aload 3
aload 7
ldc "ISO-8859-1"
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
invokevirtual java.io.BufferedOutputStream.write:([B)V
37: goto 41
StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
38: pop
39: getstatic java.net.SocksSocketImpl.$assertionsDisabled:Z
ifne 41
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
40: StackMap locals:
StackMap stack:
aload 3
iconst_0
invokevirtual java.io.BufferedOutputStream.write:(I)V
41: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.io.BufferedOutputStream.flush:()V
42: iconst_2
newarray 8
astore 4
43: aload 0
aload 2
aload 4
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 5
start local 5 44: iload 5
iconst_2
if_icmpne 45
aload 4
iconst_1
baload
ifeq 48
45: StackMap locals: java.net.SocksSocketImpl int java.io.InputStream java.io.BufferedOutputStream byte[] int java.lang.String java.lang.String java.net.InetAddress java.net.PasswordAuthentication
StackMap stack:
aload 3
invokevirtual java.io.BufferedOutputStream.close:()V
46: aload 2
invokevirtual java.io.InputStream.close:()V
47: iconst_0
ireturn
48: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 9 end local 8 end local 7 end local 6 end local 5 49: StackMap locals: java.net.SocksSocketImpl int java.io.InputStream java.io.BufferedOutputStream byte[]
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 this Ljava/net/SocksSocketImpl;
0 50 1 method B
0 50 2 in Ljava/io/InputStream;
0 50 3 out Ljava/io/BufferedOutputStream;
1 50 4 data [B
44 49 5 i I
11 13 6 userName Ljava/lang/String;
16 17 6 userName Ljava/lang/String;
19 49 6 userName Ljava/lang/String;
5 49 7 password Ljava/lang/String;
6 49 8 addr Ljava/net/InetAddress;
9 49 9 pw Ljava/net/PasswordAuthentication;
14 26 10 prefs Ljava/util/prefs/Preferences;
18 19 11 pae Ljava/security/PrivilegedActionException;
24 25 11 pae Ljava/security/PrivilegedActionException;
Exception table:
from to target type
14 16 17 Class java.security.PrivilegedActionException
20 22 23 Class java.security.PrivilegedActionException
30 31 32 Class java.io.UnsupportedEncodingException
36 37 38 Class java.io.UnsupportedEncodingException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
method
in
out
private void connectV4(java.io.InputStream, java.io.OutputStream, java.net.InetSocketAddress);
descriptor: (Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/net/InetSocketAddress;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
instanceof java.net.Inet4Address
ifne 2
1: new java.net.SocketException
dup
ldc "SOCKS V4 requires IPv4 only addresses"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 2
iconst_4
invokevirtual java.io.OutputStream.write:(I)V
3: aload 2
iconst_1
invokevirtual java.io.OutputStream.write:(I)V
4: aload 2
aload 3
invokevirtual java.net.InetSocketAddress.getPort:()I
bipush 8
ishr
sipush 255
iand
invokevirtual java.io.OutputStream.write:(I)V
5: aload 2
aload 3
invokevirtual java.net.InetSocketAddress.getPort:()I
iconst_0
ishr
sipush 255
iand
invokevirtual java.io.OutputStream.write:(I)V
6: aload 2
aload 3
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getAddress:()[B
invokevirtual java.io.OutputStream.write:([B)V
7: aload 0
invokevirtual java.net.SocksSocketImpl.getUserName:()Ljava/lang/String;
astore 4
start local 4 8: aload 2
aload 4
ldc "ISO-8859-1"
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
invokevirtual java.io.OutputStream.write:([B)V
9: goto 12
StackMap locals: java.net.SocksSocketImpl java.io.InputStream java.io.OutputStream java.net.InetSocketAddress java.lang.String
StackMap stack: java.io.UnsupportedEncodingException
10: pop
11: getstatic java.net.SocksSocketImpl.$assertionsDisabled:Z
ifne 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
aload 2
iconst_0
invokevirtual java.io.OutputStream.write:(I)V
13: aload 2
invokevirtual java.io.OutputStream.flush:()V
14: bipush 8
newarray 8
astore 5
start local 5 15: aload 0
aload 1
aload 5
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 6
start local 6 16: iload 6
bipush 8
if_icmpeq 18
17: new java.net.SocketException
dup
new java.lang.StringBuilder
dup
ldc "Reply from SOCKS server has bad length: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals: byte[] int
StackMap stack:
aload 5
iconst_0
baload
ifeq 20
aload 5
iconst_0
baload
iconst_4
if_icmpeq 20
19: new java.net.SocketException
dup
ldc "Reply from SOCKS server has bad version"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
aconst_null
astore 7
start local 7 21: aload 5
iconst_1
baload
tableswitch { // 90 - 93
90: 22
91: 24
92: 26
93: 28
default: 30
}
22: StackMap locals: java.net.SocketException
StackMap stack:
aload 0
aload 3
putfield java.net.SocksSocketImpl.external_address:Ljava/net/InetSocketAddress;
23: goto 31
24: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS request rejected"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 7
25: goto 31
26: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS server couldn't reach destination"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 7
27: goto 31
28: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS authentication failed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 7
29: goto 31
30: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "Reply from SOCKS server contains bad status"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 7
31: StackMap locals:
StackMap stack:
aload 7
ifnull 35
32: aload 1
invokevirtual java.io.InputStream.close:()V
33: aload 2
invokevirtual java.io.OutputStream.close:()V
34: aload 7
athrow
35: StackMap locals:
StackMap stack:
return
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 36 0 this Ljava/net/SocksSocketImpl;
0 36 1 in Ljava/io/InputStream;
0 36 2 out Ljava/io/OutputStream;
0 36 3 endpoint Ljava/net/InetSocketAddress;
8 36 4 userName Ljava/lang/String;
15 36 5 data [B
16 36 6 n I
21 36 7 ex Ljava/net/SocketException;
Exception table:
from to target type
8 9 10 Class java.io.UnsupportedEncodingException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
out
endpoint
protected void connect(java.net.SocketAddress, int);
descriptor: (Ljava/net/SocketAddress;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=13, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 3
start local 3 1: aload 1
ifnull 2
aload 1
instanceof java.net.InetSocketAddress
ifne 3
2: StackMap locals: java.lang.SecurityManager
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Unsupported address type"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 1
checkcast java.net.InetSocketAddress
astore 4
start local 4 4: aload 3
ifnull 13
5: aload 4
invokevirtual java.net.InetSocketAddress.isUnresolved:()Z
ifeq 10
6: aload 3
aload 4
invokevirtual java.net.InetSocketAddress.getHostName:()Ljava/lang/String;
7: aload 4
invokevirtual java.net.InetSocketAddress.getPort:()I
8: invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
9: goto 13
10: StackMap locals: java.net.InetSocketAddress
StackMap stack:
aload 3
aload 4
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
11: aload 4
invokevirtual java.net.InetSocketAddress.getPort:()I
12: invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
13: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocksSocketImpl.server:Ljava/lang/String;
ifnonnull 57
14: new java.net.SocksSocketImpl$5
dup
aload 0
invokespecial java.net.SocksSocketImpl$5.<init>:(Ljava/net/SocksSocketImpl;)V
15: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.net.ProxySelector
astore 5
start local 5 16: aload 5
ifnonnull 19
17: aload 0
aload 4
iload 2
invokespecial java.net.PlainSocketImpl.connect:(Ljava/net/SocketAddress;I)V
18: return
19: StackMap locals: java.net.ProxySelector
StackMap stack:
aconst_null
astore 6
start local 6 20: aload 4
invokevirtual java.net.InetSocketAddress.getHostString:()Ljava/lang/String;
astore 7
start local 7 21: aload 4
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
instanceof java.net.Inet6Address
ifeq 24
22: aload 7
ldc "["
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 24
aload 7
ldc ":"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iflt 24
23: new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
24: StackMap locals: java.net.URI java.lang.String
StackMap stack:
new java.net.URI
dup
new java.lang.StringBuilder
dup
ldc "socket://"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokestatic sun.net.www.ParseUtil.encodePath:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.net.InetSocketAddress.getPort:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
astore 6
25: goto 28
StackMap locals:
StackMap stack: java.net.URISyntaxException
26: astore 8
start local 8 27: getstatic java.net.SocksSocketImpl.$assertionsDisabled:Z
ifne 28
new java.lang.AssertionError
dup
aload 8
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 8 28: StackMap locals:
StackMap stack:
aconst_null
astore 8
start local 8 29: aconst_null
astore 9
start local 9 30: aconst_null
astore 10
start local 10 31: aload 5
aload 6
invokevirtual java.net.ProxySelector.select:(Ljava/net/URI;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
32: aload 10
ifnull 33
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 52
33: StackMap locals: java.net.Proxy java.io.IOException java.util.Iterator
StackMap stack:
aload 0
aload 4
iload 2
invokespecial java.net.PlainSocketImpl.connect:(Ljava/net/SocketAddress;I)V
34: return
35: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.Proxy
astore 8
36: aload 8
ifnull 37
aload 8
getstatic java.net.Proxy.NO_PROXY:Ljava/net/Proxy;
if_acmpne 39
37: StackMap locals:
StackMap stack:
aload 0
aload 4
iload 2
invokespecial java.net.PlainSocketImpl.connect:(Ljava/net/SocketAddress;I)V
38: return
39: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.net.Proxy.type:()Ljava/net/Proxy$Type;
getstatic java.net.Proxy$Type.SOCKS:Ljava/net/Proxy$Type;
if_acmpeq 41
40: new java.net.SocketException
dup
new java.lang.StringBuilder
dup
ldc "Unknown proxy type : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.net.Proxy.type:()Ljava/net/Proxy$Type;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
41: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.net.Proxy.address:()Ljava/net/SocketAddress;
instanceof java.net.InetSocketAddress
ifne 43
42: new java.net.SocketException
dup
new java.lang.StringBuilder
dup
ldc "Unknow address type for proxy: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
43: StackMap locals:
StackMap stack:
aload 0
aload 8
invokevirtual java.net.Proxy.address:()Ljava/net/SocketAddress;
checkcast java.net.InetSocketAddress
invokevirtual java.net.InetSocketAddress.getHostString:()Ljava/lang/String;
putfield java.net.SocksSocketImpl.server:Ljava/lang/String;
44: aload 0
aload 8
invokevirtual java.net.Proxy.address:()Ljava/net/SocketAddress;
checkcast java.net.InetSocketAddress
invokevirtual java.net.InetSocketAddress.getPort:()I
putfield java.net.SocksSocketImpl.port:I
45: aload 0
aload 0
getfield java.net.SocksSocketImpl.server:Ljava/lang/String;
aload 0
getfield java.net.SocksSocketImpl.port:I
iload 2
invokevirtual java.net.SocksSocketImpl.privilegedConnect:(Ljava/lang/String;II)V
46: goto 53
47: StackMap locals:
StackMap stack: java.io.IOException
astore 11
start local 11 48: aload 5
aload 6
aload 8
invokevirtual java.net.Proxy.address:()Ljava/net/SocketAddress;
aload 11
invokevirtual java.net.ProxySelector.connectFailed:(Ljava/net/URI;Ljava/net/SocketAddress;Ljava/io/IOException;)V
49: aload 0
aconst_null
putfield java.net.SocksSocketImpl.server:Ljava/lang/String;
50: aload 0
iconst_m1
putfield java.net.SocksSocketImpl.port:I
51: aload 11
astore 9
end local 11 52: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 35
53: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocksSocketImpl.server:Ljava/lang/String;
ifnonnull 61
54: new java.net.SocketException
dup
new java.lang.StringBuilder
dup
ldc "Can't connect to SOCKS proxy:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
55: aload 9
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
56: invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 57: StackMap locals: java.net.SocksSocketImpl java.net.SocketAddress int java.lang.SecurityManager java.net.InetSocketAddress
StackMap stack:
aload 0
aload 0
getfield java.net.SocksSocketImpl.server:Ljava/lang/String;
aload 0
getfield java.net.SocksSocketImpl.port:I
iload 2
invokevirtual java.net.SocksSocketImpl.privilegedConnect:(Ljava/lang/String;II)V
58: goto 61
StackMap locals:
StackMap stack: java.io.IOException
59: astore 5
start local 5 60: new java.net.SocketException
dup
aload 5
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
end local 5 61: StackMap locals:
StackMap stack:
new java.io.BufferedOutputStream
dup
aload 0
getfield java.net.SocksSocketImpl.cmdOut:Ljava/io/OutputStream;
sipush 512
invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;I)V
astore 5
start local 5 62: aload 0
getfield java.net.SocksSocketImpl.cmdIn:Ljava/io/InputStream;
astore 6
start local 6 63: aload 0
getfield java.net.SocksSocketImpl.useV4:Z
ifeq 68
64: aload 4
invokevirtual java.net.InetSocketAddress.isUnresolved:()Z
ifeq 66
65: new java.net.UnknownHostException
dup
aload 4
invokevirtual java.net.InetSocketAddress.toString:()Ljava/lang/String;
invokespecial java.net.UnknownHostException.<init>:(Ljava/lang/String;)V
athrow
66: StackMap locals: java.io.BufferedOutputStream java.io.InputStream
StackMap stack:
aload 0
aload 6
aload 5
aload 4
invokevirtual java.net.SocksSocketImpl.connectV4:(Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/net/InetSocketAddress;)V
67: return
68: StackMap locals:
StackMap stack:
aload 5
iconst_5
invokevirtual java.io.BufferedOutputStream.write:(I)V
69: aload 5
iconst_2
invokevirtual java.io.BufferedOutputStream.write:(I)V
70: aload 5
iconst_0
invokevirtual java.io.BufferedOutputStream.write:(I)V
71: aload 5
iconst_2
invokevirtual java.io.BufferedOutputStream.write:(I)V
72: aload 5
invokevirtual java.io.BufferedOutputStream.flush:()V
73: iconst_2
newarray 8
astore 7
start local 7 74: aload 0
aload 6
aload 7
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 8
start local 8 75: iload 8
iconst_2
if_icmpne 76
aload 7
iconst_0
baload
iconst_5
if_icmpeq 80
76: StackMap locals: byte[] int
StackMap stack:
aload 4
invokevirtual java.net.InetSocketAddress.isUnresolved:()Z
ifeq 78
77: new java.net.UnknownHostException
dup
aload 4
invokevirtual java.net.InetSocketAddress.toString:()Ljava/lang/String;
invokespecial java.net.UnknownHostException.<init>:(Ljava/lang/String;)V
athrow
78: StackMap locals:
StackMap stack:
aload 0
aload 6
aload 5
aload 4
invokevirtual java.net.SocksSocketImpl.connectV4:(Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/net/InetSocketAddress;)V
79: return
80: StackMap locals:
StackMap stack:
aload 7
iconst_1
baload
iconst_m1
if_icmpne 82
81: new java.net.SocketException
dup
ldc "SOCKS : No acceptable methods"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
82: StackMap locals:
StackMap stack:
aload 0
aload 7
iconst_1
baload
aload 6
aload 5
invokevirtual java.net.SocksSocketImpl.authenticate:(BLjava/io/InputStream;Ljava/io/BufferedOutputStream;)Z
ifne 84
83: new java.net.SocketException
dup
ldc "SOCKS : authentication failed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
84: StackMap locals:
StackMap stack:
aload 5
iconst_5
invokevirtual java.io.BufferedOutputStream.write:(I)V
85: aload 5
iconst_1
invokevirtual java.io.BufferedOutputStream.write:(I)V
86: aload 5
iconst_0
invokevirtual java.io.BufferedOutputStream.write:(I)V
87: aload 4
invokevirtual java.net.InetSocketAddress.isUnresolved:()Z
ifeq 97
88: aload 5
iconst_3
invokevirtual java.io.BufferedOutputStream.write:(I)V
89: aload 5
aload 4
invokevirtual java.net.InetSocketAddress.getHostName:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
invokevirtual java.io.BufferedOutputStream.write:(I)V
90: aload 5
aload 4
invokevirtual java.net.InetSocketAddress.getHostName:()Ljava/lang/String;
ldc "ISO-8859-1"
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
invokevirtual java.io.BufferedOutputStream.write:([B)V
91: goto 94
StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
92: pop
93: getstatic java.net.SocksSocketImpl.$assertionsDisabled:Z
ifne 94
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
94: StackMap locals:
StackMap stack:
aload 5
aload 4
invokevirtual java.net.InetSocketAddress.getPort:()I
bipush 8
ishr
sipush 255
iand
invokevirtual java.io.BufferedOutputStream.write:(I)V
95: aload 5
aload 4
invokevirtual java.net.InetSocketAddress.getPort:()I
iconst_0
ishr
sipush 255
iand
invokevirtual java.io.BufferedOutputStream.write:(I)V
96: goto 107
StackMap locals:
StackMap stack:
97: aload 4
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
instanceof java.net.Inet6Address
ifeq 103
98: aload 5
iconst_4
invokevirtual java.io.BufferedOutputStream.write:(I)V
99: aload 5
aload 4
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getAddress:()[B
invokevirtual java.io.BufferedOutputStream.write:([B)V
100: aload 5
aload 4
invokevirtual java.net.InetSocketAddress.getPort:()I
bipush 8
ishr
sipush 255
iand
invokevirtual java.io.BufferedOutputStream.write:(I)V
101: aload 5
aload 4
invokevirtual java.net.InetSocketAddress.getPort:()I
iconst_0
ishr
sipush 255
iand
invokevirtual java.io.BufferedOutputStream.write:(I)V
102: goto 107
103: StackMap locals:
StackMap stack:
aload 5
iconst_1
invokevirtual java.io.BufferedOutputStream.write:(I)V
104: aload 5
aload 4
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getAddress:()[B
invokevirtual java.io.BufferedOutputStream.write:([B)V
105: aload 5
aload 4
invokevirtual java.net.InetSocketAddress.getPort:()I
bipush 8
ishr
sipush 255
iand
invokevirtual java.io.BufferedOutputStream.write:(I)V
106: aload 5
aload 4
invokevirtual java.net.InetSocketAddress.getPort:()I
iconst_0
ishr
sipush 255
iand
invokevirtual java.io.BufferedOutputStream.write:(I)V
107: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.io.BufferedOutputStream.flush:()V
108: iconst_4
newarray 8
astore 7
109: aload 0
aload 6
aload 7
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 8
110: iload 8
iconst_4
if_icmpeq 112
111: new java.net.SocketException
dup
ldc "Reply from SOCKS server has bad length"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
112: StackMap locals:
StackMap stack:
aconst_null
astore 9
start local 9 113: aload 7
iconst_1
baload
tableswitch { // 0 - 8
0: 114
1: 152
2: 154
3: 156
4: 158
5: 160
6: 162
7: 164
8: 166
default: 167
}
114: StackMap locals: java.net.SocketException
StackMap stack:
aload 7
iconst_3
baload
tableswitch { // 1 - 4
1: 115
2: 150
3: 126
4: 138
default: 150
}
115: StackMap locals:
StackMap stack:
iconst_4
newarray 8
astore 11
start local 11 116: aload 0
aload 6
aload 11
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 8
117: iload 8
iconst_4
if_icmpeq 119
118: new java.net.SocketException
dup
ldc "Reply from SOCKS server badly formatted"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
119: StackMap locals: java.net.SocksSocketImpl java.net.SocketAddress int java.lang.SecurityManager java.net.InetSocketAddress java.io.BufferedOutputStream java.io.InputStream byte[] int java.net.SocketException top byte[]
StackMap stack:
iconst_2
newarray 8
astore 7
120: aload 0
aload 6
aload 7
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 8
121: iload 8
iconst_2
if_icmpeq 123
122: new java.net.SocketException
dup
ldc "Reply from SOCKS server badly formatted"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
123: StackMap locals:
StackMap stack:
aload 7
iconst_0
baload
sipush 255
iand
bipush 8
ishl
pop
124: aload 7
iconst_1
baload
pop
125: goto 167
end local 11 126: StackMap locals: java.net.SocksSocketImpl java.net.SocketAddress int java.lang.SecurityManager java.net.InetSocketAddress java.io.BufferedOutputStream java.io.InputStream byte[] int java.net.SocketException
StackMap stack:
aload 7
iconst_1
baload
istore 10
start local 10 127: iload 10
newarray 8
astore 12
start local 12 128: aload 0
aload 6
aload 12
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 8
129: iload 8
iload 10
if_icmpeq 131
130: new java.net.SocketException
dup
ldc "Reply from SOCKS server badly formatted"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
131: StackMap locals: java.net.SocksSocketImpl java.net.SocketAddress int java.lang.SecurityManager java.net.InetSocketAddress java.io.BufferedOutputStream java.io.InputStream byte[] int java.net.SocketException int top byte[]
StackMap stack:
iconst_2
newarray 8
astore 7
132: aload 0
aload 6
aload 7
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 8
133: iload 8
iconst_2
if_icmpeq 135
134: new java.net.SocketException
dup
ldc "Reply from SOCKS server badly formatted"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
135: StackMap locals:
StackMap stack:
aload 7
iconst_0
baload
sipush 255
iand
bipush 8
ishl
pop
136: aload 7
iconst_1
baload
pop
137: goto 167
end local 12 end local 10 138: StackMap locals: java.net.SocksSocketImpl java.net.SocketAddress int java.lang.SecurityManager java.net.InetSocketAddress java.io.BufferedOutputStream java.io.InputStream byte[] int java.net.SocketException
StackMap stack:
aload 7
iconst_1
baload
istore 10
start local 10 139: iload 10
newarray 8
astore 11
start local 11 140: aload 0
aload 6
aload 11
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 8
141: iload 8
iload 10
if_icmpeq 143
142: new java.net.SocketException
dup
ldc "Reply from SOCKS server badly formatted"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
143: StackMap locals: int byte[]
StackMap stack:
iconst_2
newarray 8
astore 7
144: aload 0
aload 6
aload 7
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 8
145: iload 8
iconst_2
if_icmpeq 147
146: new java.net.SocketException
dup
ldc "Reply from SOCKS server badly formatted"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
147: StackMap locals:
StackMap stack:
aload 7
iconst_0
baload
sipush 255
iand
bipush 8
ishl
pop
148: aload 7
iconst_1
baload
pop
149: goto 167
end local 11 end local 10 150: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "Reply from SOCKS server contains wrong code"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 9
151: goto 167
152: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS server general failure"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 9
153: goto 167
154: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: Connection not allowed by ruleset"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 9
155: goto 167
156: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: Network unreachable"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 9
157: goto 167
158: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: Host unreachable"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 9
159: goto 167
160: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: Connection refused"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 9
161: goto 167
162: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: TTL expired"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 9
163: goto 167
164: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: Command not supported"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 9
165: goto 167
166: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: address type not supported"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 9
167: StackMap locals:
StackMap stack:
aload 9
ifnull 171
168: aload 6
invokevirtual java.io.InputStream.close:()V
169: aload 5
invokevirtual java.io.BufferedOutputStream.close:()V
170: aload 9
athrow
171: StackMap locals:
StackMap stack:
aload 0
aload 4
putfield java.net.SocksSocketImpl.external_address:Ljava/net/InetSocketAddress;
172: return
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 173 0 this Ljava/net/SocksSocketImpl;
0 173 1 endpoint Ljava/net/SocketAddress;
0 173 2 timeout I
1 173 3 security Ljava/lang/SecurityManager;
4 173 4 epoint Ljava/net/InetSocketAddress;
16 57 5 sel Ljava/net/ProxySelector;
20 57 6 uri Ljava/net/URI;
21 57 7 host Ljava/lang/String;
27 28 8 e Ljava/net/URISyntaxException;
29 57 8 p Ljava/net/Proxy;
30 57 9 savedExc Ljava/io/IOException;
31 57 10 iProxy Ljava/util/Iterator<Ljava/net/Proxy;>;
48 52 11 e Ljava/io/IOException;
60 61 5 e Ljava/io/IOException;
62 173 5 out Ljava/io/BufferedOutputStream;
63 173 6 in Ljava/io/InputStream;
74 173 7 data [B
75 173 8 i I
113 173 9 ex Ljava/net/SocketException;
127 138 10 len I
139 150 10 len I
116 126 11 addr [B
140 150 11 addr [B
128 138 12 host [B
Exception table:
from to target type
24 25 26 Class java.net.URISyntaxException
45 46 47 Class java.io.IOException
57 58 59 Class java.io.IOException
90 91 92 Class java.io.UnsupportedEncodingException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
endpoint
timeout
private void bindV4(java.io.InputStream, java.io.OutputStream, java.net.InetAddress, int);
descriptor: (Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/net/InetAddress;I)V
flags: (0x0002) ACC_PRIVATE
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 3
instanceof java.net.Inet4Address
ifne 2
1: new java.net.SocketException
dup
ldc "SOCKS V4 requires IPv4 only addresses"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 3
iload 4
invokespecial java.net.PlainSocketImpl.bind:(Ljava/net/InetAddress;I)V
3: aload 3
invokevirtual java.net.InetAddress.getAddress:()[B
astore 5
start local 5 4: aload 3
astore 6
start local 6 5: aload 6
invokevirtual java.net.InetAddress.isAnyLocalAddress:()Z
ifeq 9
6: new java.net.SocksSocketImpl$6
dup
aload 0
invokespecial java.net.SocksSocketImpl$6.<init>:(Ljava/net/SocksSocketImpl;)V
7: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.net.InetAddress
astore 6
8: aload 6
invokevirtual java.net.InetAddress.getAddress:()[B
astore 5
9: StackMap locals: byte[] java.net.InetAddress
StackMap stack:
aload 2
iconst_4
invokevirtual java.io.OutputStream.write:(I)V
10: aload 2
iconst_2
invokevirtual java.io.OutputStream.write:(I)V
11: aload 2
aload 0
invokespecial java.net.PlainSocketImpl.getLocalPort:()I
bipush 8
ishr
sipush 255
iand
invokevirtual java.io.OutputStream.write:(I)V
12: aload 2
aload 0
invokespecial java.net.PlainSocketImpl.getLocalPort:()I
iconst_0
ishr
sipush 255
iand
invokevirtual java.io.OutputStream.write:(I)V
13: aload 2
aload 5
invokevirtual java.io.OutputStream.write:([B)V
14: aload 0
invokevirtual java.net.SocksSocketImpl.getUserName:()Ljava/lang/String;
astore 7
start local 7 15: aload 2
aload 7
ldc "ISO-8859-1"
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
invokevirtual java.io.OutputStream.write:([B)V
16: goto 19
StackMap locals: java.net.SocksSocketImpl java.io.InputStream java.io.OutputStream java.net.InetAddress int byte[] java.net.InetAddress java.lang.String
StackMap stack: java.io.UnsupportedEncodingException
17: pop
18: getstatic java.net.SocksSocketImpl.$assertionsDisabled:Z
ifne 19
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
19: StackMap locals:
StackMap stack:
aload 2
iconst_0
invokevirtual java.io.OutputStream.write:(I)V
20: aload 2
invokevirtual java.io.OutputStream.flush:()V
21: bipush 8
newarray 8
astore 8
start local 8 22: aload 0
aload 1
aload 8
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 9
start local 9 23: iload 9
bipush 8
if_icmpeq 25
24: new java.net.SocketException
dup
new java.lang.StringBuilder
dup
ldc "Reply from SOCKS server has bad length: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals: byte[] int
StackMap stack:
aload 8
iconst_0
baload
ifeq 27
aload 8
iconst_0
baload
iconst_4
if_icmpeq 27
26: new java.net.SocketException
dup
ldc "Reply from SOCKS server has bad version"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
27: StackMap locals:
StackMap stack:
aconst_null
astore 10
start local 10 28: aload 8
iconst_1
baload
tableswitch { // 90 - 93
90: 29
91: 31
92: 33
93: 35
default: 37
}
29: StackMap locals: java.net.SocketException
StackMap stack:
aload 0
new java.net.InetSocketAddress
dup
aload 3
iload 4
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
putfield java.net.SocksSocketImpl.external_address:Ljava/net/InetSocketAddress;
30: goto 38
31: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS request rejected"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 10
32: goto 38
33: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS server couldn't reach destination"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 10
34: goto 38
35: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS authentication failed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 10
36: goto 38
37: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "Reply from SOCKS server contains bad status"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 10
38: StackMap locals:
StackMap stack:
aload 10
ifnull 42
39: aload 1
invokevirtual java.io.InputStream.close:()V
40: aload 2
invokevirtual java.io.OutputStream.close:()V
41: aload 10
athrow
42: StackMap locals:
StackMap stack:
return
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 43 0 this Ljava/net/SocksSocketImpl;
0 43 1 in Ljava/io/InputStream;
0 43 2 out Ljava/io/OutputStream;
0 43 3 baddr Ljava/net/InetAddress;
0 43 4 lport I
4 43 5 addr1 [B
5 43 6 naddr Ljava/net/InetAddress;
15 43 7 userName Ljava/lang/String;
22 43 8 data [B
23 43 9 n I
28 43 10 ex Ljava/net/SocketException;
Exception table:
from to target type
15 16 17 Class java.io.UnsupportedEncodingException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
out
baddr
lport
protected synchronized void socksBind(java.net.InetSocketAddress);
descriptor: (Ljava/net/InetSocketAddress;)V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=7, locals=12, args_size=2
start local 0 start local 1 0: aload 0
getfield java.net.SocksSocketImpl.socket:Ljava/net/Socket;
ifnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocksSocketImpl.server:Ljava/lang/String;
ifnonnull 45
3: new java.net.SocksSocketImpl$7
dup
aload 0
invokespecial java.net.SocksSocketImpl$7.<init>:(Ljava/net/SocksSocketImpl;)V
4: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.net.ProxySelector
astore 2
start local 2 5: aload 2
ifnonnull 7
6: return
7: StackMap locals: java.net.ProxySelector
StackMap stack:
aconst_null
astore 3
start local 3 8: aload 1
invokevirtual java.net.InetSocketAddress.getHostString:()Ljava/lang/String;
astore 4
start local 4 9: aload 1
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
instanceof java.net.Inet6Address
ifeq 12
10: aload 4
ldc "["
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 12
aload 4
ldc ":"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iflt 12
11: new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
12: StackMap locals: java.net.URI java.lang.String
StackMap stack:
new java.net.URI
dup
new java.lang.StringBuilder
dup
ldc "serversocket://"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokestatic sun.net.www.ParseUtil.encodePath:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.net.InetSocketAddress.getPort:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
astore 3
13: goto 16
StackMap locals:
StackMap stack: java.net.URISyntaxException
14: astore 5
start local 5 15: getstatic java.net.SocksSocketImpl.$assertionsDisabled:Z
ifne 16
new java.lang.AssertionError
dup
aload 5
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 5 16: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 17: aconst_null
astore 6
start local 6 18: aconst_null
astore 7
start local 7 19: aload 2
aload 3
invokevirtual java.net.ProxySelector.select:(Ljava/net/URI;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
20: aload 7
ifnull 21
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 40
21: StackMap locals: java.net.Proxy java.lang.Exception java.util.Iterator
StackMap stack:
return
22: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.Proxy
astore 5
23: aload 5
ifnull 24
aload 5
getstatic java.net.Proxy.NO_PROXY:Ljava/net/Proxy;
if_acmpne 25
24: StackMap locals:
StackMap stack:
return
25: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.net.Proxy.type:()Ljava/net/Proxy$Type;
getstatic java.net.Proxy$Type.SOCKS:Ljava/net/Proxy$Type;
if_acmpeq 27
26: new java.net.SocketException
dup
new java.lang.StringBuilder
dup
ldc "Unknown proxy type : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.net.Proxy.type:()Ljava/net/Proxy$Type;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
27: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.net.Proxy.address:()Ljava/net/SocketAddress;
instanceof java.net.InetSocketAddress
ifne 29
28: new java.net.SocketException
dup
new java.lang.StringBuilder
dup
ldc "Unknow address type for proxy: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual java.net.Proxy.address:()Ljava/net/SocketAddress;
checkcast java.net.InetSocketAddress
invokevirtual java.net.InetSocketAddress.getHostString:()Ljava/lang/String;
putfield java.net.SocksSocketImpl.server:Ljava/lang/String;
30: aload 0
aload 5
invokevirtual java.net.Proxy.address:()Ljava/net/SocketAddress;
checkcast java.net.InetSocketAddress
invokevirtual java.net.InetSocketAddress.getPort:()I
putfield java.net.SocksSocketImpl.port:I
31: new java.net.SocksSocketImpl$8
dup
aload 0
invokespecial java.net.SocksSocketImpl$8.<init>:(Ljava/net/SocksSocketImpl;)V
32: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
pop
33: goto 40
StackMap locals:
StackMap stack: java.lang.Exception
34: astore 8
start local 8 35: aload 2
aload 3
aload 5
invokevirtual java.net.Proxy.address:()Ljava/net/SocketAddress;
new java.net.SocketException
dup
aload 8
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
invokevirtual java.net.ProxySelector.connectFailed:(Ljava/net/URI;Ljava/net/SocketAddress;Ljava/io/IOException;)V
36: aload 0
aconst_null
putfield java.net.SocksSocketImpl.server:Ljava/lang/String;
37: aload 0
iconst_m1
putfield java.net.SocksSocketImpl.port:I
38: aload 0
aconst_null
putfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
39: aload 8
astore 6
end local 8 40: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
41: aload 0
getfield java.net.SocksSocketImpl.server:Ljava/lang/String;
ifnull 42
aload 0
getfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
ifnonnull 50
42: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
new java.lang.StringBuilder
dup
ldc "Can't connect to SOCKS proxy:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
43: aload 6
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
44: invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 45: StackMap locals: java.net.SocksSocketImpl java.net.InetSocketAddress
StackMap stack:
new java.net.SocksSocketImpl$9
dup
aload 0
invokespecial java.net.SocksSocketImpl$9.<init>:(Ljava/net/SocksSocketImpl;)V
46: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
pop
47: goto 50
StackMap locals:
StackMap stack: java.lang.Exception
48: astore 2
start local 2 49: new java.net.SocketException
dup
aload 2
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
end local 2 50: StackMap locals:
StackMap stack:
new java.io.BufferedOutputStream
dup
aload 0
getfield java.net.SocksSocketImpl.cmdOut:Ljava/io/OutputStream;
sipush 512
invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;I)V
astore 2
start local 2 51: aload 0
getfield java.net.SocksSocketImpl.cmdIn:Ljava/io/InputStream;
astore 3
start local 3 52: aload 0
getfield java.net.SocksSocketImpl.useV4:Z
ifeq 55
53: aload 0
aload 3
aload 2
aload 1
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
aload 1
invokevirtual java.net.InetSocketAddress.getPort:()I
invokevirtual java.net.SocksSocketImpl.bindV4:(Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/net/InetAddress;I)V
54: return
55: StackMap locals: java.io.BufferedOutputStream java.io.InputStream
StackMap stack:
aload 2
iconst_5
invokevirtual java.io.BufferedOutputStream.write:(I)V
56: aload 2
iconst_2
invokevirtual java.io.BufferedOutputStream.write:(I)V
57: aload 2
iconst_0
invokevirtual java.io.BufferedOutputStream.write:(I)V
58: aload 2
iconst_2
invokevirtual java.io.BufferedOutputStream.write:(I)V
59: aload 2
invokevirtual java.io.BufferedOutputStream.flush:()V
60: iconst_2
newarray 8
astore 4
start local 4 61: aload 0
aload 3
aload 4
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 5
start local 5 62: iload 5
iconst_2
if_icmpne 63
aload 4
iconst_0
baload
iconst_5
if_icmpeq 65
63: StackMap locals: byte[] int
StackMap stack:
aload 0
aload 3
aload 2
aload 1
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
aload 1
invokevirtual java.net.InetSocketAddress.getPort:()I
invokevirtual java.net.SocksSocketImpl.bindV4:(Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/net/InetAddress;I)V
64: return
65: StackMap locals:
StackMap stack:
aload 4
iconst_1
baload
iconst_m1
if_icmpne 67
66: new java.net.SocketException
dup
ldc "SOCKS : No acceptable methods"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
67: StackMap locals:
StackMap stack:
aload 0
aload 4
iconst_1
baload
aload 3
aload 2
invokevirtual java.net.SocksSocketImpl.authenticate:(BLjava/io/InputStream;Ljava/io/BufferedOutputStream;)Z
ifne 69
68: new java.net.SocketException
dup
ldc "SOCKS : authentication failed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
69: StackMap locals:
StackMap stack:
aload 2
iconst_5
invokevirtual java.io.BufferedOutputStream.write:(I)V
70: aload 2
iconst_2
invokevirtual java.io.BufferedOutputStream.write:(I)V
71: aload 2
iconst_0
invokevirtual java.io.BufferedOutputStream.write:(I)V
72: aload 1
invokevirtual java.net.InetSocketAddress.getPort:()I
istore 6
start local 6 73: aload 1
invokevirtual java.net.InetSocketAddress.isUnresolved:()Z
ifeq 83
74: aload 2
iconst_3
invokevirtual java.io.BufferedOutputStream.write:(I)V
75: aload 2
aload 1
invokevirtual java.net.InetSocketAddress.getHostName:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
invokevirtual java.io.BufferedOutputStream.write:(I)V
76: aload 2
aload 1
invokevirtual java.net.InetSocketAddress.getHostName:()Ljava/lang/String;
ldc "ISO-8859-1"
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
invokevirtual java.io.BufferedOutputStream.write:([B)V
77: goto 80
StackMap locals: java.net.SocksSocketImpl java.net.InetSocketAddress java.io.BufferedOutputStream java.io.InputStream byte[] int int
StackMap stack: java.io.UnsupportedEncodingException
78: pop
79: getstatic java.net.SocksSocketImpl.$assertionsDisabled:Z
ifne 80
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
80: StackMap locals:
StackMap stack:
aload 2
iload 6
bipush 8
ishr
sipush 255
iand
invokevirtual java.io.BufferedOutputStream.write:(I)V
81: aload 2
iload 6
iconst_0
ishr
sipush 255
iand
invokevirtual java.io.BufferedOutputStream.write:(I)V
82: goto 101
StackMap locals:
StackMap stack:
83: aload 1
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
instanceof java.net.Inet4Address
ifeq 91
84: aload 1
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getAddress:()[B
astore 7
start local 7 85: aload 2
iconst_1
invokevirtual java.io.BufferedOutputStream.write:(I)V
86: aload 2
aload 7
invokevirtual java.io.BufferedOutputStream.write:([B)V
87: aload 2
iload 6
bipush 8
ishr
sipush 255
iand
invokevirtual java.io.BufferedOutputStream.write:(I)V
88: aload 2
iload 6
iconst_0
ishr
sipush 255
iand
invokevirtual java.io.BufferedOutputStream.write:(I)V
89: aload 2
invokevirtual java.io.BufferedOutputStream.flush:()V
end local 7 90: goto 101
StackMap locals:
StackMap stack:
91: aload 1
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
instanceof java.net.Inet6Address
ifeq 99
92: aload 1
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getAddress:()[B
astore 7
start local 7 93: aload 2
iconst_4
invokevirtual java.io.BufferedOutputStream.write:(I)V
94: aload 2
aload 7
invokevirtual java.io.BufferedOutputStream.write:([B)V
95: aload 2
iload 6
bipush 8
ishr
sipush 255
iand
invokevirtual java.io.BufferedOutputStream.write:(I)V
96: aload 2
iload 6
iconst_0
ishr
sipush 255
iand
invokevirtual java.io.BufferedOutputStream.write:(I)V
97: aload 2
invokevirtual java.io.BufferedOutputStream.flush:()V
end local 7 98: goto 101
99: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
invokevirtual java.net.Socket.close:()V
100: new java.net.SocketException
dup
new java.lang.StringBuilder
dup
ldc "unsupported address type : "
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;
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
101: StackMap locals:
StackMap stack:
iconst_4
newarray 8
astore 4
102: aload 0
aload 3
aload 4
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 5
103: aconst_null
astore 7
start local 7 104: aload 4
iconst_1
baload
tableswitch { // 0 - 8
0: 105
1: 148
2: 150
3: 152
4: 154
5: 156
6: 158
7: 160
8: 162
default: 163
}
105: StackMap locals: java.net.SocketException
StackMap stack:
aload 4
iconst_3
baload
tableswitch { // 1 - 4
1: 106
2: 147
3: 120
4: 133
default: 147
}
106: StackMap locals:
StackMap stack:
iconst_4
newarray 8
astore 10
start local 10 107: aload 0
aload 3
aload 10
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 5
108: iload 5
iconst_4
if_icmpeq 110
109: new java.net.SocketException
dup
ldc "Reply from SOCKS server badly formatted"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
110: StackMap locals: java.net.SocksSocketImpl java.net.InetSocketAddress java.io.BufferedOutputStream java.io.InputStream byte[] int int java.net.SocketException top top byte[]
StackMap stack:
iconst_2
newarray 8
astore 4
111: aload 0
aload 3
aload 4
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 5
112: iload 5
iconst_2
if_icmpeq 114
113: new java.net.SocketException
dup
ldc "Reply from SOCKS server badly formatted"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
114: StackMap locals:
StackMap stack:
aload 4
iconst_0
baload
sipush 255
iand
bipush 8
ishl
istore 9
start local 9 115: iload 9
aload 4
iconst_1
baload
sipush 255
iand
iadd
istore 9
116: aload 0
117: new java.net.InetSocketAddress
dup
new java.net.Inet4Address
dup
ldc ""
aload 10
invokespecial java.net.Inet4Address.<init>:(Ljava/lang/String;[B)V
iload 9
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
118: putfield java.net.SocksSocketImpl.external_address:Ljava/net/InetSocketAddress;
119: goto 163
end local 10 end local 9 120: StackMap locals: java.net.SocksSocketImpl java.net.InetSocketAddress java.io.BufferedOutputStream java.io.InputStream byte[] int int java.net.SocketException
StackMap stack:
aload 4
iconst_1
baload
istore 8
start local 8 121: iload 8
newarray 8
astore 11
start local 11 122: aload 0
aload 3
aload 11
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 5
123: iload 5
iload 8
if_icmpeq 125
124: new java.net.SocketException
dup
ldc "Reply from SOCKS server badly formatted"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
125: StackMap locals: java.net.SocksSocketImpl java.net.InetSocketAddress java.io.BufferedOutputStream java.io.InputStream byte[] int int java.net.SocketException int top top byte[]
StackMap stack:
iconst_2
newarray 8
astore 4
126: aload 0
aload 3
aload 4
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 5
127: iload 5
iconst_2
if_icmpeq 129
128: new java.net.SocketException
dup
ldc "Reply from SOCKS server badly formatted"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
129: StackMap locals:
StackMap stack:
aload 4
iconst_0
baload
sipush 255
iand
bipush 8
ishl
istore 9
start local 9 130: iload 9
aload 4
iconst_1
baload
sipush 255
iand
iadd
istore 9
131: aload 0
new java.net.InetSocketAddress
dup
new java.lang.String
dup
aload 11
invokespecial java.lang.String.<init>:([B)V
iload 9
invokespecial java.net.InetSocketAddress.<init>:(Ljava/lang/String;I)V
putfield java.net.SocksSocketImpl.external_address:Ljava/net/InetSocketAddress;
132: goto 163
end local 11 end local 9 end local 8 133: StackMap locals: java.net.SocksSocketImpl java.net.InetSocketAddress java.io.BufferedOutputStream java.io.InputStream byte[] int int java.net.SocketException
StackMap stack:
aload 4
iconst_1
baload
istore 8
start local 8 134: iload 8
newarray 8
astore 10
start local 10 135: aload 0
aload 3
aload 10
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 5
136: iload 5
iload 8
if_icmpeq 138
137: new java.net.SocketException
dup
ldc "Reply from SOCKS server badly formatted"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
138: StackMap locals: java.net.SocksSocketImpl java.net.InetSocketAddress java.io.BufferedOutputStream java.io.InputStream byte[] int int java.net.SocketException int top byte[]
StackMap stack:
iconst_2
newarray 8
astore 4
139: aload 0
aload 3
aload 4
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 5
140: iload 5
iconst_2
if_icmpeq 142
141: new java.net.SocketException
dup
ldc "Reply from SOCKS server badly formatted"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
142: StackMap locals:
StackMap stack:
aload 4
iconst_0
baload
sipush 255
iand
bipush 8
ishl
istore 9
start local 9 143: iload 9
aload 4
iconst_1
baload
sipush 255
iand
iadd
istore 9
144: aload 0
145: new java.net.InetSocketAddress
dup
new java.net.Inet6Address
dup
ldc ""
aload 10
invokespecial java.net.Inet6Address.<init>:(Ljava/lang/String;[B)V
iload 9
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
146: putfield java.net.SocksSocketImpl.external_address:Ljava/net/InetSocketAddress;
end local 10 end local 9 end local 8 147: StackMap locals: java.net.SocksSocketImpl java.net.InetSocketAddress java.io.BufferedOutputStream java.io.InputStream byte[] int int java.net.SocketException
StackMap stack:
goto 163
148: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS server general failure"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 7
149: goto 163
150: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: Bind not allowed by ruleset"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 7
151: goto 163
152: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: Network unreachable"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 7
153: goto 163
154: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: Host unreachable"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 7
155: goto 163
156: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: Connection refused"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 7
157: goto 163
158: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: TTL expired"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 7
159: goto 163
160: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: Command not supported"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 7
161: goto 163
162: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: address type not supported"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 7
163: StackMap locals:
StackMap stack:
aload 7
ifnull 169
164: aload 3
invokevirtual java.io.InputStream.close:()V
165: aload 2
invokevirtual java.io.BufferedOutputStream.close:()V
166: aload 0
getfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
invokevirtual java.net.Socket.close:()V
167: aload 0
aconst_null
putfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
168: aload 7
athrow
169: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield java.net.SocksSocketImpl.cmdIn:Ljava/io/InputStream;
170: aload 0
aload 2
putfield java.net.SocksSocketImpl.cmdOut:Ljava/io/OutputStream;
171: return
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 172 0 this Ljava/net/SocksSocketImpl;
0 172 1 saddr Ljava/net/InetSocketAddress;
5 45 2 sel Ljava/net/ProxySelector;
8 45 3 uri Ljava/net/URI;
9 45 4 host Ljava/lang/String;
15 16 5 e Ljava/net/URISyntaxException;
17 45 5 p Ljava/net/Proxy;
18 45 6 savedExc Ljava/lang/Exception;
19 45 7 iProxy Ljava/util/Iterator<Ljava/net/Proxy;>;
35 40 8 e Ljava/lang/Exception;
49 50 2 e Ljava/lang/Exception;
51 172 2 out Ljava/io/BufferedOutputStream;
52 172 3 in Ljava/io/InputStream;
61 172 4 data [B
62 172 5 i I
73 172 6 lport I
85 90 7 addr1 [B
93 98 7 addr1 [B
104 172 7 ex Ljava/net/SocketException;
121 133 8 len I
134 147 8 len I
115 120 9 nport I
130 133 9 nport I
143 147 9 nport I
107 120 10 addr [B
135 147 10 addr [B
122 133 11 host [B
Exception table:
from to target type
12 13 14 Class java.net.URISyntaxException
31 33 34 Class java.lang.Exception
45 47 48 Class java.lang.Exception
76 77 78 Class java.io.UnsupportedEncodingException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
saddr
protected void acceptFrom(java.net.SocketImpl, java.net.InetSocketAddress);
descriptor: (Ljava/net/SocketImpl;Ljava/net/InetSocketAddress;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocksSocketImpl.cmdIn:Ljava/io/InputStream;
astore 3
start local 3 3: aload 0
aload 2
invokevirtual java.net.SocksSocketImpl.socksBind:(Ljava/net/InetSocketAddress;)V
4: aload 3
invokevirtual java.io.InputStream.read:()I
pop
5: aload 3
invokevirtual java.io.InputStream.read:()I
istore 4
start local 4 6: aload 3
invokevirtual java.io.InputStream.read:()I
pop
7: aconst_null
astore 5
start local 5 8: aconst_null
astore 8
start local 8 9: iload 4
tableswitch { // 0 - 8
0: 10
1: 33
2: 35
3: 37
4: 39
5: 41
6: 43
7: 45
8: 47
default: 48
}
10: StackMap locals: java.net.SocksSocketImpl java.net.SocketImpl java.net.InetSocketAddress java.io.InputStream int java.net.SocketException top top java.net.InetSocketAddress
StackMap stack:
aload 3
invokevirtual java.io.InputStream.read:()I
istore 4
11: iload 4
tableswitch { // 1 - 4
1: 12
2: 32
3: 19
4: 26
default: 32
}
12: StackMap locals:
StackMap stack:
iconst_4
newarray 8
astore 7
start local 7 13: aload 0
aload 3
aload 7
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
pop
14: aload 3
invokevirtual java.io.InputStream.read:()I
bipush 8
ishl
istore 6
start local 6 15: iload 6
aload 3
invokevirtual java.io.InputStream.read:()I
iadd
istore 6
16: new java.net.InetSocketAddress
dup
new java.net.Inet4Address
dup
ldc ""
aload 7
invokespecial java.net.Inet4Address.<init>:(Ljava/lang/String;[B)V
iload 6
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
17: astore 8
18: goto 48
end local 7 end local 6 19: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.io.InputStream.read:()I
istore 9
start local 9 20: iload 9
newarray 8
astore 7
start local 7 21: aload 0
aload 3
aload 7
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
pop
22: aload 3
invokevirtual java.io.InputStream.read:()I
bipush 8
ishl
istore 6
start local 6 23: iload 6
aload 3
invokevirtual java.io.InputStream.read:()I
iadd
istore 6
24: new java.net.InetSocketAddress
dup
new java.lang.String
dup
aload 7
invokespecial java.lang.String.<init>:([B)V
iload 6
invokespecial java.net.InetSocketAddress.<init>:(Ljava/lang/String;I)V
astore 8
25: goto 48
end local 9 end local 7 end local 6 26: StackMap locals:
StackMap stack:
bipush 16
newarray 8
astore 7
start local 7 27: aload 0
aload 3
aload 7
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
pop
28: aload 3
invokevirtual java.io.InputStream.read:()I
bipush 8
ishl
istore 6
start local 6 29: iload 6
aload 3
invokevirtual java.io.InputStream.read:()I
iadd
istore 6
30: new java.net.InetSocketAddress
dup
new java.net.Inet6Address
dup
ldc ""
aload 7
invokespecial java.net.Inet6Address.<init>:(Ljava/lang/String;[B)V
iload 6
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
31: astore 8
end local 7 end local 6 32: StackMap locals:
StackMap stack:
goto 48
33: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS server general failure"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 5
34: goto 48
35: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: Accept not allowed by ruleset"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 5
36: goto 48
37: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: Network unreachable"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 5
38: goto 48
39: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: Host unreachable"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 5
40: goto 48
41: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: Connection refused"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 5
42: goto 48
43: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: TTL expired"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 5
44: goto 48
45: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: Command not supported"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 5
46: goto 48
47: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: address type not supported"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 5
48: StackMap locals:
StackMap stack:
aload 5
ifnull 54
49: aload 0
getfield java.net.SocksSocketImpl.cmdIn:Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
50: aload 0
getfield java.net.SocksSocketImpl.cmdOut:Ljava/io/OutputStream;
invokevirtual java.io.OutputStream.close:()V
51: aload 0
getfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
invokevirtual java.net.Socket.close:()V
52: aload 0
aconst_null
putfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
53: aload 5
athrow
54: StackMap locals:
StackMap stack:
aload 1
instanceof java.net.SocksSocketImpl
ifeq 56
55: aload 1
checkcast java.net.SocksSocketImpl
aload 8
putfield java.net.SocksSocketImpl.external_address:Ljava/net/InetSocketAddress;
56: StackMap locals:
StackMap stack:
aload 1
instanceof java.net.PlainSocketImpl
ifeq 64
57: aload 1
checkcast java.net.PlainSocketImpl
astore 9
start local 9 58: aload 9
aload 3
checkcast java.net.SocketInputStream
invokevirtual java.net.PlainSocketImpl.setInputStream:(Ljava/net/SocketInputStream;)V
59: aload 9
aload 0
getfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
invokevirtual java.net.SocketImpl.getFileDescriptor:()Ljava/io/FileDescriptor;
invokevirtual java.net.PlainSocketImpl.setFileDescriptor:(Ljava/io/FileDescriptor;)V
60: aload 9
aload 0
getfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
invokevirtual java.net.SocketImpl.getInetAddress:()Ljava/net/InetAddress;
invokevirtual java.net.PlainSocketImpl.setAddress:(Ljava/net/InetAddress;)V
61: aload 9
aload 0
getfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
invokevirtual java.net.SocketImpl.getPort:()I
invokevirtual java.net.PlainSocketImpl.setPort:(I)V
62: aload 9
aload 0
getfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
invokevirtual java.net.SocketImpl.getLocalPort:()I
invokevirtual java.net.PlainSocketImpl.setLocalPort:(I)V
end local 9 63: goto 68
64: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
getfield java.net.SocketImpl.fd:Ljava/io/FileDescriptor;
putfield java.net.SocketImpl.fd:Ljava/io/FileDescriptor;
65: aload 1
aload 0
getfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
getfield java.net.SocketImpl.address:Ljava/net/InetAddress;
putfield java.net.SocketImpl.address:Ljava/net/InetAddress;
66: aload 1
aload 0
getfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
getfield java.net.SocketImpl.port:I
putfield java.net.SocketImpl.port:I
67: aload 1
aload 0
getfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
invokevirtual java.net.Socket.getImpl:()Ljava/net/SocketImpl;
getfield java.net.SocketImpl.localport:I
putfield java.net.SocketImpl.localport:I
68: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
69: return
end local 8 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 70 0 this Ljava/net/SocksSocketImpl;
0 70 1 s Ljava/net/SocketImpl;
0 70 2 saddr Ljava/net/InetSocketAddress;
3 70 3 in Ljava/io/InputStream;
6 70 4 i I
8 70 5 ex Ljava/net/SocketException;
15 19 6 nport I
23 26 6 nport I
29 32 6 nport I
13 19 7 addr [B
21 26 7 addr [B
27 32 7 addr [B
9 70 8 real_end Ljava/net/InetSocketAddress;
20 26 9 len I
58 63 9 psi Ljava/net/PlainSocketImpl;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
saddr
protected java.net.InetAddress getInetAddress();
descriptor: ()Ljava/net/InetAddress;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.net.SocksSocketImpl.external_address:Ljava/net/InetSocketAddress;
ifnull 2
1: aload 0
getfield java.net.SocksSocketImpl.external_address:Ljava/net/InetSocketAddress;
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokespecial java.net.PlainSocketImpl.getInetAddress:()Ljava/net/InetAddress;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/net/SocksSocketImpl;
protected int getPort();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.net.SocksSocketImpl.external_address:Ljava/net/InetSocketAddress;
ifnull 2
1: aload 0
getfield java.net.SocksSocketImpl.external_address:Ljava/net/InetSocketAddress;
invokevirtual java.net.InetSocketAddress.getPort:()I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokespecial java.net.PlainSocketImpl.getPort:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/net/SocksSocketImpl;
protected int getLocalPort();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.net.SocksSocketImpl.socket:Ljava/net/Socket;
ifnull 2
1: aload 0
invokespecial java.net.PlainSocketImpl.getLocalPort:()I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocksSocketImpl.external_address:Ljava/net/InetSocketAddress;
ifnull 4
3: aload 0
getfield java.net.SocksSocketImpl.external_address:Ljava/net/InetSocketAddress;
invokevirtual java.net.InetSocketAddress.getPort:()I
ireturn
4: StackMap locals:
StackMap stack:
aload 0
invokespecial java.net.PlainSocketImpl.getLocalPort:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/net/SocksSocketImpl;
protected void close();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
ifnull 2
1: aload 0
getfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
invokevirtual java.net.Socket.close:()V
2: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
3: aload 0
invokespecial java.net.PlainSocketImpl.close:()V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/net/SocksSocketImpl;
Exceptions:
throws java.io.IOException
private java.lang.String getUserName();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: ldc ""
astore 1
start local 1 1: aload 0
getfield java.net.SocksSocketImpl.applicationSetProxy:Z
ifeq 6
2: ldc "user.name"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 1
3: goto 8
StackMap locals: java.net.SocksSocketImpl java.lang.String
StackMap stack: java.lang.SecurityException
4: pop
5: goto 8
6: StackMap locals:
StackMap stack:
new sun.security.action.GetPropertyAction
dup
ldc "user.name"
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
7: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 1
8: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/net/SocksSocketImpl;
1 9 1 userName Ljava/lang/String;
Exception table:
from to target type
2 3 4 Class java.lang.SecurityException
}
SourceFile: "SocksSocketImpl.java"
NestMembers:
java.net.SocksSocketImpl$1 java.net.SocksSocketImpl$2 java.net.SocksSocketImpl$3 java.net.SocksSocketImpl$4 java.net.SocksSocketImpl$5 java.net.SocksSocketImpl$6 java.net.SocksSocketImpl$7 java.net.SocksSocketImpl$8 java.net.SocksSocketImpl$9
InnerClasses:
public final Type = java.net.Proxy$Type of java.net.Proxy
java.net.SocksSocketImpl$1
java.net.SocksSocketImpl$2
java.net.SocksSocketImpl$3
java.net.SocksSocketImpl$4
java.net.SocksSocketImpl$5
java.net.SocksSocketImpl$6
java.net.SocksSocketImpl$7
java.net.SocksSocketImpl$8
java.net.SocksSocketImpl$9