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