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 serverPort;
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.serverPort: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.serverPort: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.serverPort: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.serverPort: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 12
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.serverPort:I
end local 3 12: StackMap locals: java.net.SocksSocketImpl java.net.Proxy java.net.SocketAddress
StackMap stack:
aload 0
aload 1
invokestatic java.net.SocksSocketImpl.useV4:(Ljava/net/Proxy;)Z
putfield java.net.SocksSocketImpl.useV4:Z
13: 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 12 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 static boolean useV4(java.net.Proxy);
descriptor: (Ljava/net/Proxy;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
instanceof sun.net.SocksProxy
ifeq 3
1: aload 0
checkcast sun.net.SocksProxy
invokevirtual sun.net.SocksProxy.protocolVersion:()I
iconst_4
if_icmpne 3
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
invokestatic sun.net.spi.DefaultProxySelector.socksProxyVersion:()I
iconst_4
if_icmpne 4
iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 proxy Ljava/net/Proxy;
MethodParameters:
Name Flags
proxy
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 static int remainingMillis(long);
descriptor: (J)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: lload 0
lconst_0
lcmp
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
lload 0
invokestatic java.lang.System.currentTimeMillis:()J
lsub
lstore 2
start local 2 3: lload 2
lconst_0
lcmp
ifle 5
4: lload 2
l2i
ireturn
5: StackMap locals: long
StackMap stack:
new java.net.SocketTimeoutException
dup
invokespecial java.net.SocketTimeoutException.<init>:()V
athrow
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 deadlineMillis J
3 6 2 remaining J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
deadlineMillis
private int readSocksReply(java.io.InputStream, byte[]);
descriptor: (Ljava/io/InputStream;[B)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
lconst_0
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[BJ)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/net/SocksSocketImpl;
0 1 1 in Ljava/io/InputStream;
0 1 2 data [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
data
private int readSocksReply(java.io.InputStream, byte[], long);
descriptor: (Ljava/io/InputStream;[BJ)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
arraylength
istore 5
start local 5 1: iconst_0
istore 6
start local 6 2: goto 10
3: StackMap locals: int int
StackMap stack:
aload 1
checkcast java.net.SocketInputStream
aload 2
iload 6
iload 5
iload 6
isub
lload 3
invokestatic java.net.SocksSocketImpl.remainingMillis:(J)I
invokevirtual java.net.SocketInputStream.read:([BIII)I
istore 7
start local 7 4: goto 7
end local 7 StackMap locals:
StackMap stack: java.net.SocketTimeoutException
5: pop
6: new java.net.SocketTimeoutException
dup
ldc "Connect timed out"
invokespecial java.net.SocketTimeoutException.<init>:(Ljava/lang/String;)V
athrow
start local 7 7: StackMap locals: int
StackMap stack:
iload 7
ifge 9
8: new java.net.SocketException
dup
ldc "Malformed reply from SOCKS server"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
iload 6
iload 7
iadd
istore 6
end local 7 10: StackMap locals:
StackMap stack:
iload 6
iload 5
if_icmplt 3
11: iload 6
ireturn
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/net/SocksSocketImpl;
0 12 1 in Ljava/io/InputStream;
0 12 2 data [B
0 12 3 deadlineMillis J
1 12 5 len I
2 12 6 received I
4 5 7 count I
7 10 7 count I
Exception table:
from to target type
3 4 5 Class java.net.SocketTimeoutException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
data
deadlineMillis
private boolean authenticate(byte, java.io.InputStream, java.io.BufferedOutputStream);
descriptor: (BLjava/io/InputStream;Ljava/io/BufferedOutputStream;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
aload 2
aload 3
lconst_0
invokevirtual java.net.SocksSocketImpl.authenticate:(BLjava/io/InputStream;Ljava/io/BufferedOutputStream;J)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/net/SocksSocketImpl;
0 1 1 method B
0 1 2 in Ljava/io/InputStream;
0 1 3 out Ljava/io/BufferedOutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
method
in
out
private boolean authenticate(byte, java.io.InputStream, java.io.BufferedOutputStream, long);
descriptor: (BLjava/io/InputStream;Ljava/io/BufferedOutputStream;J)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 1
ifne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iload 1
iconst_2
if_icmpne 36
3: aconst_null
astore 7
start local 7 4: 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 5: new java.net.SocksSocketImpl$2
dup
aload 0
aload 8
invokespecial java.net.SocksSocketImpl$2.<init>:(Ljava/net/SocksSocketImpl;Ljava/net/InetAddress;)V
6: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.net.PasswordAuthentication
7: astore 9
start local 9 8: aload 9
ifnull 12
9: aload 9
invokevirtual java.net.PasswordAuthentication.getUserName:()Ljava/lang/String;
astore 6
start local 6 10: new java.lang.String
dup
aload 9
invokevirtual java.net.PasswordAuthentication.getPassword:()[C
invokespecial java.lang.String.<init>:([C)V
astore 7
11: goto 13
end local 6 12: StackMap locals: java.net.SocksSocketImpl int java.io.InputStream java.io.BufferedOutputStream long top java.lang.String java.net.InetAddress java.net.PasswordAuthentication
StackMap stack:
invokestatic jdk.internal.util.StaticProperty.userName:()Ljava/lang/String;
astore 6
start local 6 13: StackMap locals: java.net.SocksSocketImpl int java.io.InputStream java.io.BufferedOutputStream long java.lang.String java.lang.String java.net.InetAddress java.net.PasswordAuthentication
StackMap stack:
aload 6
ifnonnull 15
14: iconst_0
ireturn
15: StackMap locals:
StackMap stack:
aload 3
iconst_1
invokevirtual java.io.BufferedOutputStream.write:(I)V
16: aload 3
aload 6
invokevirtual java.lang.String.length:()I
invokevirtual java.io.BufferedOutputStream.write:(I)V
17: aload 3
aload 6
ldc "ISO-8859-1"
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
invokevirtual java.io.BufferedOutputStream.write:([B)V
18: goto 21
StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
19: pop
20: getstatic java.net.SocksSocketImpl.$assertionsDisabled:Z
ifne 21
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
21: StackMap locals:
StackMap stack:
aload 7
ifnull 27
22: aload 3
aload 7
invokevirtual java.lang.String.length:()I
invokevirtual java.io.BufferedOutputStream.write:(I)V
23: aload 3
aload 7
ldc "ISO-8859-1"
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
invokevirtual java.io.BufferedOutputStream.write:([B)V
24: goto 28
StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
25: pop
26: getstatic java.net.SocksSocketImpl.$assertionsDisabled:Z
ifne 28
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
27: StackMap locals:
StackMap stack:
aload 3
iconst_0
invokevirtual java.io.BufferedOutputStream.write:(I)V
28: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.io.BufferedOutputStream.flush:()V
29: iconst_2
newarray 8
astore 10
start local 10 30: aload 0
aload 2
aload 10
lload 4
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[BJ)I
istore 11
start local 11 31: iload 11
iconst_2
if_icmpne 32
aload 10
iconst_1
baload
ifeq 35
32: StackMap locals: byte[] int
StackMap stack:
aload 3
invokevirtual java.io.BufferedOutputStream.close:()V
33: aload 2
invokevirtual java.io.InputStream.close:()V
34: iconst_0
ireturn
35: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 36: StackMap locals: java.net.SocksSocketImpl int java.io.InputStream java.io.BufferedOutputStream long
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 37 0 this Ljava/net/SocksSocketImpl;
0 37 1 method B
0 37 2 in Ljava/io/InputStream;
0 37 3 out Ljava/io/BufferedOutputStream;
0 37 4 deadlineMillis J
10 12 6 userName Ljava/lang/String;
13 36 6 userName Ljava/lang/String;
4 36 7 password Ljava/lang/String;
5 36 8 addr Ljava/net/InetAddress;
8 36 9 pw Ljava/net/PasswordAuthentication;
30 36 10 data [B
31 36 11 i I
Exception table:
from to target type
17 18 19 Class java.io.UnsupportedEncodingException
23 24 25 Class java.io.UnsupportedEncodingException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
method
in
out
deadlineMillis
private void connectV4(java.io.InputStream, java.io.OutputStream, java.net.InetSocketAddress, long);
descriptor: (Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/net/InetSocketAddress;J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 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 6
start local 6 8: aload 2
aload 6
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 long 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 7
start local 7 15: aload 0
aload 1
aload 7
lload 4
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[BJ)I
istore 8
start local 8 16: iload 8
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 8
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 7
iconst_0
baload
ifeq 20
aload 7
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 9
start local 9 21: aload 7
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 9
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 9
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 9
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 9
31: StackMap locals:
StackMap stack:
aload 9
ifnull 35
32: aload 1
invokevirtual java.io.InputStream.close:()V
33: aload 2
invokevirtual java.io.OutputStream.close:()V
34: aload 9
athrow
35: StackMap locals:
StackMap stack:
return
end local 9 end local 8 end local 7 end local 6 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;
0 36 4 deadlineMillis J
8 36 6 userName Ljava/lang/String;
15 36 7 data [B
16 36 8 n I
21 36 9 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
deadlineMillis
protected void connect(java.net.SocketAddress, int);
descriptor: (Ljava/net/SocketAddress;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=16, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifne 3
1: lconst_0
lstore 3
start local 3 2: goto 7
end local 3 3: StackMap locals:
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
iload 2
i2l
ladd
lstore 5
start local 5 4: lload 5
lconst_0
lcmp
ifge 5
ldc 9223372036854775807
goto 6
StackMap locals: java.net.SocksSocketImpl java.net.SocketAddress int top top long
StackMap stack:
5: lload 5
StackMap locals:
StackMap stack: long
6: lstore 3
end local 5 start local 3 7: StackMap locals: java.net.SocksSocketImpl java.net.SocketAddress int long
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 5
start local 5 8: aload 1
ifnull 9
aload 1
instanceof java.net.InetSocketAddress
ifne 10
9: 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
10: StackMap locals:
StackMap stack:
aload 1
checkcast java.net.InetSocketAddress
astore 6
start local 6 11: aload 5
ifnull 20
12: aload 6
invokevirtual java.net.InetSocketAddress.isUnresolved:()Z
ifeq 17
13: aload 5
aload 6
invokevirtual java.net.InetSocketAddress.getHostName:()Ljava/lang/String;
14: aload 6
invokevirtual java.net.InetSocketAddress.getPort:()I
15: invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
16: goto 20
17: StackMap locals: java.net.InetSocketAddress
StackMap stack:
aload 5
aload 6
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
18: aload 6
invokevirtual java.net.InetSocketAddress.getPort:()I
19: invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
20: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocksSocketImpl.server:Ljava/lang/String;
ifnonnull 63
21: new java.net.SocksSocketImpl$3
dup
aload 0
invokespecial java.net.SocksSocketImpl$3.<init>:(Ljava/net/SocksSocketImpl;)V
22: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.net.ProxySelector
astore 7
start local 7 23: aload 7
ifnonnull 26
24: aload 0
aload 6
lload 3
invokestatic java.net.SocksSocketImpl.remainingMillis:(J)I
invokespecial java.net.PlainSocketImpl.connect:(Ljava/net/SocketAddress;I)V
25: return
26: StackMap locals: java.net.ProxySelector
StackMap stack:
aload 6
invokevirtual java.net.InetSocketAddress.getHostString:()Ljava/lang/String;
astore 9
start local 9 27: aload 6
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
instanceof java.net.Inet6Address
ifeq 30
28: aload 9
ldc "["
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 30
aload 9
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
iflt 30
29: new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
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 9
30: StackMap locals: java.net.SocksSocketImpl java.net.SocketAddress int long java.lang.SecurityManager java.net.InetSocketAddress java.net.ProxySelector top 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 9
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 6
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 8
start local 8 31: goto 35
end local 8 StackMap locals:
StackMap stack: java.net.URISyntaxException
32: astore 10
start local 10 33: getstatic java.net.SocksSocketImpl.$assertionsDisabled:Z
ifne 34
new java.lang.AssertionError
dup
aload 10
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
34: StackMap locals: java.net.URISyntaxException
StackMap stack:
aconst_null
astore 8
end local 10 start local 8 35: StackMap locals: java.net.SocksSocketImpl java.net.SocketAddress int long java.lang.SecurityManager java.net.InetSocketAddress java.net.ProxySelector java.net.URI java.lang.String
StackMap stack:
aconst_null
astore 10
start local 10 36: aconst_null
astore 11
start local 11 37: aconst_null
astore 12
start local 12 38: aload 7
aload 8
invokevirtual java.net.ProxySelector.select:(Ljava/net/URI;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
39: aload 12
ifnull 40
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 58
40: StackMap locals: java.net.Proxy java.io.IOException java.util.Iterator
StackMap stack:
aload 0
aload 6
lload 3
invokestatic java.net.SocksSocketImpl.remainingMillis:(J)I
invokespecial java.net.PlainSocketImpl.connect:(Ljava/net/SocketAddress;I)V
41: return
42: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.Proxy
astore 10
43: aload 10
ifnull 44
aload 10
invokevirtual java.net.Proxy.type:()Ljava/net/Proxy$Type;
getstatic java.net.Proxy$Type.SOCKS:Ljava/net/Proxy$Type;
if_acmpeq 46
44: StackMap locals:
StackMap stack:
aload 0
aload 6
lload 3
invokestatic java.net.SocksSocketImpl.remainingMillis:(J)I
invokespecial java.net.PlainSocketImpl.connect:(Ljava/net/SocketAddress;I)V
45: return
46: StackMap locals:
StackMap stack:
aload 10
invokevirtual java.net.Proxy.address:()Ljava/net/SocketAddress;
instanceof java.net.InetSocketAddress
ifne 48
47: new java.net.SocketException
dup
new java.lang.StringBuilder
dup
ldc "Unknown address type for proxy: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
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
48: StackMap locals:
StackMap stack:
aload 0
aload 10
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;
49: aload 0
aload 10
invokevirtual java.net.Proxy.address:()Ljava/net/SocketAddress;
checkcast java.net.InetSocketAddress
invokevirtual java.net.InetSocketAddress.getPort:()I
putfield java.net.SocksSocketImpl.serverPort:I
50: aload 0
aload 10
invokestatic java.net.SocksSocketImpl.useV4:(Ljava/net/Proxy;)Z
putfield java.net.SocksSocketImpl.useV4:Z
51: aload 0
aload 0
getfield java.net.SocksSocketImpl.server:Ljava/lang/String;
aload 0
getfield java.net.SocksSocketImpl.serverPort:I
lload 3
invokestatic java.net.SocksSocketImpl.remainingMillis:(J)I
invokevirtual java.net.SocksSocketImpl.privilegedConnect:(Ljava/lang/String;II)V
52: goto 59
53: StackMap locals:
StackMap stack: java.io.IOException
astore 13
start local 13 54: aload 7
aload 8
aload 10
invokevirtual java.net.Proxy.address:()Ljava/net/SocketAddress;
aload 13
invokevirtual java.net.ProxySelector.connectFailed:(Ljava/net/URI;Ljava/net/SocketAddress;Ljava/io/IOException;)V
55: aload 0
aconst_null
putfield java.net.SocksSocketImpl.server:Ljava/lang/String;
56: aload 0
iconst_m1
putfield java.net.SocksSocketImpl.serverPort:I
57: aload 13
astore 11
end local 13 58: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 42
59: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocksSocketImpl.server:Ljava/lang/String;
ifnonnull 67
60: 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
61: aload 11
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;
62: invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 63: StackMap locals: java.net.SocksSocketImpl java.net.SocketAddress int long 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.serverPort:I
lload 3
invokestatic java.net.SocksSocketImpl.remainingMillis:(J)I
invokevirtual java.net.SocksSocketImpl.privilegedConnect:(Ljava/lang/String;II)V
64: goto 67
StackMap locals:
StackMap stack: java.io.IOException
65: astore 7
start local 7 66: new java.net.SocketException
dup
aload 7
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
end local 7 67: 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 7
start local 7 68: aload 0
getfield java.net.SocksSocketImpl.cmdIn:Ljava/io/InputStream;
astore 8
start local 8 69: aload 0
getfield java.net.SocksSocketImpl.useV4:Z
ifeq 74
70: aload 6
invokevirtual java.net.InetSocketAddress.isUnresolved:()Z
ifeq 72
71: new java.net.UnknownHostException
dup
aload 6
invokevirtual java.net.InetSocketAddress.toString:()Ljava/lang/String;
invokespecial java.net.UnknownHostException.<init>:(Ljava/lang/String;)V
athrow
72: StackMap locals: java.io.BufferedOutputStream java.io.InputStream
StackMap stack:
aload 0
aload 8
aload 7
aload 6
lload 3
invokevirtual java.net.SocksSocketImpl.connectV4:(Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/net/InetSocketAddress;J)V
73: return
74: StackMap locals:
StackMap stack:
aload 7
iconst_5
invokevirtual java.io.BufferedOutputStream.write:(I)V
75: aload 7
iconst_2
invokevirtual java.io.BufferedOutputStream.write:(I)V
76: aload 7
iconst_0
invokevirtual java.io.BufferedOutputStream.write:(I)V
77: aload 7
iconst_2
invokevirtual java.io.BufferedOutputStream.write:(I)V
78: aload 7
invokevirtual java.io.BufferedOutputStream.flush:()V
79: iconst_2
newarray 8
astore 9
start local 9 80: aload 0
aload 8
aload 9
lload 3
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[BJ)I
istore 10
start local 10 81: iload 10
iconst_2
if_icmpne 82
aload 9
iconst_0
baload
iconst_5
if_icmpeq 86
82: StackMap locals: byte[] int
StackMap stack:
aload 6
invokevirtual java.net.InetSocketAddress.isUnresolved:()Z
ifeq 84
83: new java.net.UnknownHostException
dup
aload 6
invokevirtual java.net.InetSocketAddress.toString:()Ljava/lang/String;
invokespecial java.net.UnknownHostException.<init>:(Ljava/lang/String;)V
athrow
84: StackMap locals:
StackMap stack:
aload 0
aload 8
aload 7
aload 6
lload 3
invokevirtual java.net.SocksSocketImpl.connectV4:(Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/net/InetSocketAddress;J)V
85: return
86: StackMap locals:
StackMap stack:
aload 9
iconst_1
baload
iconst_m1
if_icmpne 88
87: new java.net.SocketException
dup
ldc "SOCKS : No acceptable methods"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
88: StackMap locals:
StackMap stack:
aload 0
aload 9
iconst_1
baload
aload 8
aload 7
lload 3
invokevirtual java.net.SocksSocketImpl.authenticate:(BLjava/io/InputStream;Ljava/io/BufferedOutputStream;J)Z
ifne 90
89: new java.net.SocketException
dup
ldc "SOCKS : authentication failed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
90: StackMap locals:
StackMap stack:
aload 7
iconst_5
invokevirtual java.io.BufferedOutputStream.write:(I)V
91: aload 7
iconst_1
invokevirtual java.io.BufferedOutputStream.write:(I)V
92: aload 7
iconst_0
invokevirtual java.io.BufferedOutputStream.write:(I)V
93: aload 6
invokevirtual java.net.InetSocketAddress.isUnresolved:()Z
ifeq 103
94: aload 7
iconst_3
invokevirtual java.io.BufferedOutputStream.write:(I)V
95: aload 7
aload 6
invokevirtual java.net.InetSocketAddress.getHostName:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
invokevirtual java.io.BufferedOutputStream.write:(I)V
96: aload 7
aload 6
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
97: goto 100
StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
98: pop
99: getstatic java.net.SocksSocketImpl.$assertionsDisabled:Z
ifne 100
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
100: StackMap locals:
StackMap stack:
aload 7
aload 6
invokevirtual java.net.InetSocketAddress.getPort:()I
bipush 8
ishr
sipush 255
iand
invokevirtual java.io.BufferedOutputStream.write:(I)V
101: aload 7
aload 6
invokevirtual java.net.InetSocketAddress.getPort:()I
iconst_0
ishr
sipush 255
iand
invokevirtual java.io.BufferedOutputStream.write:(I)V
102: goto 113
StackMap locals:
StackMap stack:
103: aload 6
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
instanceof java.net.Inet6Address
ifeq 109
104: aload 7
iconst_4
invokevirtual java.io.BufferedOutputStream.write:(I)V
105: aload 7
aload 6
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getAddress:()[B
invokevirtual java.io.BufferedOutputStream.write:([B)V
106: aload 7
aload 6
invokevirtual java.net.InetSocketAddress.getPort:()I
bipush 8
ishr
sipush 255
iand
invokevirtual java.io.BufferedOutputStream.write:(I)V
107: aload 7
aload 6
invokevirtual java.net.InetSocketAddress.getPort:()I
iconst_0
ishr
sipush 255
iand
invokevirtual java.io.BufferedOutputStream.write:(I)V
108: goto 113
109: StackMap locals:
StackMap stack:
aload 7
iconst_1
invokevirtual java.io.BufferedOutputStream.write:(I)V
110: aload 7
aload 6
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getAddress:()[B
invokevirtual java.io.BufferedOutputStream.write:([B)V
111: aload 7
aload 6
invokevirtual java.net.InetSocketAddress.getPort:()I
bipush 8
ishr
sipush 255
iand
invokevirtual java.io.BufferedOutputStream.write:(I)V
112: aload 7
aload 6
invokevirtual java.net.InetSocketAddress.getPort:()I
iconst_0
ishr
sipush 255
iand
invokevirtual java.io.BufferedOutputStream.write:(I)V
113: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.io.BufferedOutputStream.flush:()V
114: iconst_4
newarray 8
astore 9
115: aload 0
aload 8
aload 9
lload 3
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[BJ)I
istore 10
116: iload 10
iconst_4
if_icmpeq 118
117: new java.net.SocketException
dup
ldc "Reply from SOCKS server has bad length"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
118: StackMap locals:
StackMap stack:
aconst_null
astore 11
start local 11 119: aload 9
iconst_1
baload
tableswitch { // 0 - 8
0: 120
1: 153
2: 155
3: 157
4: 159
5: 161
6: 163
7: 165
8: 167
default: 168
}
120: StackMap locals: java.net.SocketException
StackMap stack:
aload 9
iconst_3
baload
tableswitch { // 1 - 4
1: 121
2: 151
3: 129
4: 142
default: 151
}
121: StackMap locals:
StackMap stack:
iconst_4
newarray 8
astore 13
start local 13 122: aload 0
aload 8
aload 13
lload 3
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[BJ)I
istore 10
123: iload 10
iconst_4
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.SocketAddress int long 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 9
126: aload 0
aload 8
aload 9
lload 3
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[BJ)I
istore 10
127: iload 10
iconst_2
if_icmpeq 168
128: new java.net.SocketException
dup
ldc "Reply from SOCKS server badly formatted"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
end local 13 129: StackMap locals: java.net.SocksSocketImpl java.net.SocketAddress int long java.lang.SecurityManager java.net.InetSocketAddress java.io.BufferedOutputStream java.io.InputStream byte[] int java.net.SocketException
StackMap stack:
iconst_1
newarray 8
astore 14
start local 14 130: aload 0
aload 8
aload 14
lload 3
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[BJ)I
istore 10
131: iload 10
iconst_1
if_icmpeq 133
132: new java.net.SocketException
dup
ldc "Reply from SOCKS server badly formatted"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
133: StackMap locals: java.net.SocksSocketImpl java.net.SocketAddress int long java.lang.SecurityManager java.net.InetSocketAddress java.io.BufferedOutputStream java.io.InputStream byte[] int java.net.SocketException top top byte[]
StackMap stack:
aload 14
iconst_0
baload
sipush 255
iand
istore 12
start local 12 134: iload 12
newarray 8
astore 15
start local 15 135: aload 0
aload 8
aload 15
lload 3
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[BJ)I
istore 10
136: iload 10
iload 12
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.SocketAddress int long java.lang.SecurityManager java.net.InetSocketAddress java.io.BufferedOutputStream java.io.InputStream byte[] int java.net.SocketException int top byte[] byte[]
StackMap stack:
iconst_2
newarray 8
astore 9
139: aload 0
aload 8
aload 9
lload 3
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[BJ)I
istore 10
140: iload 10
iconst_2
if_icmpeq 168
141: new java.net.SocketException
dup
ldc "Reply from SOCKS server badly formatted"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
end local 15 end local 14 end local 12 142: StackMap locals: java.net.SocksSocketImpl java.net.SocketAddress int long java.lang.SecurityManager java.net.InetSocketAddress java.io.BufferedOutputStream java.io.InputStream byte[] int java.net.SocketException
StackMap stack:
bipush 16
istore 12
start local 12 143: iload 12
newarray 8
astore 13
start local 13 144: aload 0
aload 8
aload 13
lload 3
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[BJ)I
istore 10
145: iload 10
iload 12
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: int byte[]
StackMap stack:
iconst_2
newarray 8
astore 9
148: aload 0
aload 8
aload 9
lload 3
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[BJ)I
istore 10
149: iload 10
iconst_2
if_icmpeq 168
150: new java.net.SocketException
dup
ldc "Reply from SOCKS server badly formatted"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
end local 13 end local 12 151: 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 11
152: goto 168
153: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS server general failure"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 11
154: goto 168
155: 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 11
156: goto 168
157: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: Network unreachable"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 11
158: goto 168
159: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: Host unreachable"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 11
160: goto 168
161: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: Connection refused"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 11
162: goto 168
163: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: TTL expired"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 11
164: goto 168
165: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: Command not supported"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 11
166: goto 168
167: 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 11
168: StackMap locals:
StackMap stack:
aload 11
ifnull 172
169: aload 8
invokevirtual java.io.InputStream.close:()V
170: aload 7
invokevirtual java.io.BufferedOutputStream.close:()V
171: aload 11
athrow
172: StackMap locals:
StackMap stack:
aload 0
aload 6
putfield java.net.SocksSocketImpl.external_address:Ljava/net/InetSocketAddress;
173: return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 174 0 this Ljava/net/SocksSocketImpl;
0 174 1 endpoint Ljava/net/SocketAddress;
0 174 2 timeout I
2 3 3 deadlineMillis J
7 174 3 deadlineMillis J
4 7 5 finish J
8 174 5 security Ljava/lang/SecurityManager;
11 174 6 epoint Ljava/net/InetSocketAddress;
23 63 7 sel Ljava/net/ProxySelector;
31 32 8 uri Ljava/net/URI;
35 63 8 uri Ljava/net/URI;
27 63 9 host Ljava/lang/String;
33 35 10 e Ljava/net/URISyntaxException;
36 63 10 p Ljava/net/Proxy;
37 63 11 savedExc Ljava/io/IOException;
38 63 12 iProxy Ljava/util/Iterator<Ljava/net/Proxy;>;
54 58 13 e Ljava/io/IOException;
66 67 7 e Ljava/io/IOException;
68 174 7 out Ljava/io/BufferedOutputStream;
69 174 8 in Ljava/io/InputStream;
80 174 9 data [B
81 174 10 i I
119 174 11 ex Ljava/net/SocketException;
134 142 12 len I
143 151 12 len I
122 129 13 addr [B
144 151 13 addr [B
130 142 14 lenByte [B
135 142 15 host [B
Exception table:
from to target type
30 31 32 Class java.net.URISyntaxException
51 52 53 Class java.io.IOException
63 64 65 Class java.io.IOException
96 97 98 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$4
dup
aload 0
invokespecial java.net.SocksSocketImpl$4.<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 44
3: new java.net.SocksSocketImpl$5
dup
aload 0
invokespecial java.net.SocksSocketImpl$5.<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:
aload 1
invokevirtual java.net.InetSocketAddress.getHostString:()Ljava/lang/String;
astore 4
start local 4 8: aload 1
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
instanceof java.net.Inet6Address
ifeq 11
9: aload 4
ldc "["
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 11
aload 4
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
iflt 11
10: 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
11: StackMap locals: java.net.SocksSocketImpl java.net.InetSocketAddress java.net.ProxySelector top 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
start local 3 12: goto 16
end local 3 StackMap locals:
StackMap stack: java.net.URISyntaxException
13: astore 5
start local 5 14: getstatic java.net.SocksSocketImpl.$assertionsDisabled:Z
ifne 15
new java.lang.AssertionError
dup
aload 5
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
15: StackMap locals: java.net.URISyntaxException
StackMap stack:
aconst_null
astore 3
end local 5 start local 3 16: StackMap locals: java.net.SocksSocketImpl java.net.InetSocketAddress java.net.ProxySelector java.net.URI java.lang.String
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 39
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
invokevirtual java.net.Proxy.type:()Ljava/net/Proxy$Type;
getstatic java.net.Proxy$Type.SOCKS:Ljava/net/Proxy$Type;
if_acmpeq 25
24: StackMap locals:
StackMap stack:
return
25: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.net.Proxy.address:()Ljava/net/SocketAddress;
instanceof java.net.InetSocketAddress
ifne 27
26: new java.net.SocketException
dup
new java.lang.StringBuilder
dup
ldc "Unknown 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
27: 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;
28: 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.serverPort:I
29: aload 0
aload 5
invokestatic java.net.SocksSocketImpl.useV4:(Ljava/net/Proxy;)Z
putfield java.net.SocksSocketImpl.useV4:Z
30: new java.net.SocksSocketImpl$6
dup
aload 0
invokespecial java.net.SocksSocketImpl$6.<init>:(Ljava/net/SocksSocketImpl;)V
31: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
pop
32: goto 39
StackMap locals:
StackMap stack: java.lang.Exception
33: astore 8
start local 8 34: 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
35: aload 0
aconst_null
putfield java.net.SocksSocketImpl.server:Ljava/lang/String;
36: aload 0
iconst_m1
putfield java.net.SocksSocketImpl.serverPort:I
37: aload 0
aconst_null
putfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
38: aload 8
astore 6
end local 8 39: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
40: aload 0
getfield java.net.SocksSocketImpl.server:Ljava/lang/String;
ifnull 41
aload 0
getfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
ifnonnull 49
41: 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
42: 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;
43: 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 44: StackMap locals: java.net.SocksSocketImpl java.net.InetSocketAddress
StackMap stack:
new java.net.SocksSocketImpl$7
dup
aload 0
invokespecial java.net.SocksSocketImpl$7.<init>:(Ljava/net/SocksSocketImpl;)V
45: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
pop
46: goto 49
StackMap locals:
StackMap stack: java.lang.Exception
47: astore 2
start local 2 48: 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 49: 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 50: aload 0
getfield java.net.SocksSocketImpl.cmdIn:Ljava/io/InputStream;
astore 3
start local 3 51: aload 0
getfield java.net.SocksSocketImpl.useV4:Z
ifeq 54
52: 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
53: return
54: StackMap locals: java.io.BufferedOutputStream java.io.InputStream
StackMap stack:
aload 2
iconst_5
invokevirtual java.io.BufferedOutputStream.write:(I)V
55: aload 2
iconst_2
invokevirtual java.io.BufferedOutputStream.write:(I)V
56: aload 2
iconst_0
invokevirtual java.io.BufferedOutputStream.write:(I)V
57: aload 2
iconst_2
invokevirtual java.io.BufferedOutputStream.write:(I)V
58: aload 2
invokevirtual java.io.BufferedOutputStream.flush:()V
59: iconst_2
newarray 8
astore 4
start local 4 60: aload 0
aload 3
aload 4
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 5
start local 5 61: iload 5
iconst_2
if_icmpne 62
aload 4
iconst_0
baload
iconst_5
if_icmpeq 64
62: 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
63: return
64: StackMap locals:
StackMap stack:
aload 4
iconst_1
baload
iconst_m1
if_icmpne 66
65: new java.net.SocketException
dup
ldc "SOCKS : No acceptable methods"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
66: 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 68
67: new java.net.SocketException
dup
ldc "SOCKS : authentication failed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
68: StackMap locals:
StackMap stack:
aload 2
iconst_5
invokevirtual java.io.BufferedOutputStream.write:(I)V
69: aload 2
iconst_2
invokevirtual java.io.BufferedOutputStream.write:(I)V
70: aload 2
iconst_0
invokevirtual java.io.BufferedOutputStream.write:(I)V
71: aload 1
invokevirtual java.net.InetSocketAddress.getPort:()I
istore 6
start local 6 72: aload 1
invokevirtual java.net.InetSocketAddress.isUnresolved:()Z
ifeq 82
73: aload 2
iconst_3
invokevirtual java.io.BufferedOutputStream.write:(I)V
74: 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
75: 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
76: goto 79
StackMap locals: java.net.SocksSocketImpl java.net.InetSocketAddress java.io.BufferedOutputStream java.io.InputStream byte[] int int
StackMap stack: java.io.UnsupportedEncodingException
77: pop
78: getstatic java.net.SocksSocketImpl.$assertionsDisabled:Z
ifne 79
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
79: StackMap locals:
StackMap stack:
aload 2
iload 6
bipush 8
ishr
sipush 255
iand
invokevirtual java.io.BufferedOutputStream.write:(I)V
80: aload 2
iload 6
iconst_0
ishr
sipush 255
iand
invokevirtual java.io.BufferedOutputStream.write:(I)V
81: goto 100
StackMap locals:
StackMap stack:
82: aload 1
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
instanceof java.net.Inet4Address
ifeq 90
83: aload 1
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getAddress:()[B
astore 7
start local 7 84: aload 2
iconst_1
invokevirtual java.io.BufferedOutputStream.write:(I)V
85: aload 2
aload 7
invokevirtual java.io.BufferedOutputStream.write:([B)V
86: aload 2
iload 6
bipush 8
ishr
sipush 255
iand
invokevirtual java.io.BufferedOutputStream.write:(I)V
87: aload 2
iload 6
iconst_0
ishr
sipush 255
iand
invokevirtual java.io.BufferedOutputStream.write:(I)V
88: aload 2
invokevirtual java.io.BufferedOutputStream.flush:()V
end local 7 89: goto 100
StackMap locals:
StackMap stack:
90: aload 1
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
instanceof java.net.Inet6Address
ifeq 98
91: aload 1
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getAddress:()[B
astore 7
start local 7 92: aload 2
iconst_4
invokevirtual java.io.BufferedOutputStream.write:(I)V
93: aload 2
aload 7
invokevirtual java.io.BufferedOutputStream.write:([B)V
94: aload 2
iload 6
bipush 8
ishr
sipush 255
iand
invokevirtual java.io.BufferedOutputStream.write:(I)V
95: aload 2
iload 6
iconst_0
ishr
sipush 255
iand
invokevirtual java.io.BufferedOutputStream.write:(I)V
96: aload 2
invokevirtual java.io.BufferedOutputStream.flush:()V
end local 7 97: goto 100
98: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
invokevirtual java.net.Socket.close:()V
99: 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
100: StackMap locals:
StackMap stack:
iconst_4
newarray 8
astore 4
101: aload 0
aload 3
aload 4
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 5
102: aconst_null
astore 7
start local 7 103: aload 4
iconst_1
baload
tableswitch { // 0 - 8
0: 104
1: 147
2: 149
3: 151
4: 153
5: 155
6: 157
7: 159
8: 161
default: 162
}
104: StackMap locals: java.net.SocketException
StackMap stack:
aload 4
iconst_3
baload
tableswitch { // 1 - 4
1: 105
2: 146
3: 119
4: 132
default: 146
}
105: StackMap locals:
StackMap stack:
iconst_4
newarray 8
astore 10
start local 10 106: aload 0
aload 3
aload 10
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 5
107: iload 5
iconst_4
if_icmpeq 109
108: new java.net.SocketException
dup
ldc "Reply from SOCKS server badly formatted"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
109: 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
110: aload 0
aload 3
aload 4
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 5
111: iload 5
iconst_2
if_icmpeq 113
112: new java.net.SocketException
dup
ldc "Reply from SOCKS server badly formatted"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
113: StackMap locals:
StackMap stack:
aload 4
iconst_0
baload
sipush 255
iand
bipush 8
ishl
istore 9
start local 9 114: iload 9
aload 4
iconst_1
baload
sipush 255
iand
iadd
istore 9
115: aload 0
116: 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
117: putfield java.net.SocksSocketImpl.external_address:Ljava/net/InetSocketAddress;
118: goto 162
end local 10 end local 9 119: 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 120: iload 8
newarray 8
astore 11
start local 11 121: aload 0
aload 3
aload 11
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 5
122: iload 5
iload 8
if_icmpeq 124
123: new java.net.SocketException
dup
ldc "Reply from SOCKS server badly formatted"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
124: 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
125: aload 0
aload 3
aload 4
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 5
126: iload 5
iconst_2
if_icmpeq 128
127: new java.net.SocketException
dup
ldc "Reply from SOCKS server badly formatted"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
128: StackMap locals:
StackMap stack:
aload 4
iconst_0
baload
sipush 255
iand
bipush 8
ishl
istore 9
start local 9 129: iload 9
aload 4
iconst_1
baload
sipush 255
iand
iadd
istore 9
130: 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;
131: goto 162
end local 11 end local 9 end local 8 132: 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 133: iload 8
newarray 8
astore 10
start local 10 134: aload 0
aload 3
aload 10
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 5
135: iload 5
iload 8
if_icmpeq 137
136: new java.net.SocketException
dup
ldc "Reply from SOCKS server badly formatted"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
137: 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
138: aload 0
aload 3
aload 4
invokevirtual java.net.SocksSocketImpl.readSocksReply:(Ljava/io/InputStream;[B)I
istore 5
139: iload 5
iconst_2
if_icmpeq 141
140: new java.net.SocketException
dup
ldc "Reply from SOCKS server badly formatted"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
141: StackMap locals:
StackMap stack:
aload 4
iconst_0
baload
sipush 255
iand
bipush 8
ishl
istore 9
start local 9 142: iload 9
aload 4
iconst_1
baload
sipush 255
iand
iadd
istore 9
143: aload 0
144: 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
145: putfield java.net.SocksSocketImpl.external_address:Ljava/net/InetSocketAddress;
end local 10 end local 9 end local 8 146: StackMap locals: java.net.SocksSocketImpl java.net.InetSocketAddress java.io.BufferedOutputStream java.io.InputStream byte[] int int java.net.SocketException
StackMap stack:
goto 162
147: 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
148: goto 162
149: 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
150: goto 162
151: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: Network unreachable"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 7
152: goto 162
153: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: Host unreachable"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 7
154: goto 162
155: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: Connection refused"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 7
156: goto 162
157: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "SOCKS: TTL expired"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 7
158: goto 162
159: 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
160: goto 162
161: 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
162: StackMap locals:
StackMap stack:
aload 7
ifnull 168
163: aload 3
invokevirtual java.io.InputStream.close:()V
164: aload 2
invokevirtual java.io.BufferedOutputStream.close:()V
165: aload 0
getfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
invokevirtual java.net.Socket.close:()V
166: aload 0
aconst_null
putfield java.net.SocksSocketImpl.cmdsock:Ljava/net/Socket;
167: aload 7
athrow
168: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield java.net.SocksSocketImpl.cmdIn:Ljava/io/InputStream;
169: aload 0
aload 2
putfield java.net.SocksSocketImpl.cmdOut:Ljava/io/OutputStream;
170: 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 171 0 this Ljava/net/SocksSocketImpl;
0 171 1 saddr Ljava/net/InetSocketAddress;
5 44 2 sel Ljava/net/ProxySelector;
12 13 3 uri Ljava/net/URI;
16 44 3 uri Ljava/net/URI;
8 44 4 host Ljava/lang/String;
14 16 5 e Ljava/net/URISyntaxException;
17 44 5 p Ljava/net/Proxy;
18 44 6 savedExc Ljava/lang/Exception;
19 44 7 iProxy Ljava/util/Iterator<Ljava/net/Proxy;>;
34 39 8 e Ljava/lang/Exception;
48 49 2 e Ljava/lang/Exception;
50 171 2 out Ljava/io/BufferedOutputStream;
51 171 3 in Ljava/io/InputStream;
60 171 4 data [B
61 171 5 i I
72 171 6 lport I
84 89 7 addr1 [B
92 97 7 addr1 [B
103 171 7 ex Ljava/net/SocketException;
120 132 8 len I
133 146 8 len I
114 119 9 nport I
129 132 9 nport I
142 146 9 nport I
106 119 10 addr [B
134 146 10 addr [B
121 132 11 host [B
Exception table:
from to target type
11 12 13 Class java.net.URISyntaxException
30 32 33 Class java.lang.Exception
44 46 47 Class java.lang.Exception
75 76 77 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=1, 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 7
StackMap locals: java.net.SocksSocketImpl java.lang.String
StackMap stack: java.lang.SecurityException
4: pop
5: goto 7
6: StackMap locals:
StackMap stack:
invokestatic jdk.internal.util.StaticProperty.userName:()Ljava/lang/String;
astore 1
7: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/net/SocksSocketImpl;
1 8 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
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