public final class java.net.SocketPermission extends java.security.Permission implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: java.net.SocketPermission
super_class: java.security.Permission
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -7204263841984476862
private static final int CONNECT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int LISTEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int ACCEPT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int RESOLVE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int NONE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int ALL;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 15
private static final int PORT_MIN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int PORT_MAX;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 65535
private static final int PRIV_PORT_MAX;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1023
private static final int DEF_EPH_LOW;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 49152
private transient int mask;
descriptor: I
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private java.lang.String actions;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private transient java.lang.String hostname;
descriptor: Ljava/lang/String;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient java.lang.String cname;
descriptor: Ljava/lang/String;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient java.net.InetAddress[] addresses;
descriptor: [Ljava/net/InetAddress;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient boolean wildcard;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient boolean init_with_ip;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient boolean invalid;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient int[] portrange;
descriptor: [I
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient boolean defaultDeny;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient boolean untrusted;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private static boolean trustProxy;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean trustNameService;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.security.util.Debug debug;
descriptor: Lsun/security/util/Debug;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean debugInit;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final int ephemeralLow;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int ephemeralHigh;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: aconst_null
putstatic java.net.SocketPermission.debug:Lsun/security/util/Debug;
1: iconst_0
putstatic java.net.SocketPermission.debugInit:Z
2: ldc "low"
ldc 49152
3: invokestatic java.net.SocketPermission.initEphemeralPorts:(Ljava/lang/String;I)I
putstatic java.net.SocketPermission.ephemeralLow:I
4: ldc "high"
ldc 65535
5: invokestatic java.net.SocketPermission.initEphemeralPorts:(Ljava/lang/String;I)I
putstatic java.net.SocketPermission.ephemeralHigh:I
6: new sun.security.action.GetBooleanAction
dup
ldc "trustProxy"
invokespecial sun.security.action.GetBooleanAction.<init>:(Ljava/lang/String;)V
7: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 0
start local 0 8: aload 0
invokevirtual java.lang.Boolean.booleanValue:()Z
putstatic java.net.SocketPermission.trustProxy:Z
9: new sun.security.action.GetBooleanAction
dup
ldc "sun.net.trustNameService"
invokespecial sun.security.action.GetBooleanAction.<init>:(Ljava/lang/String;)V
10: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 0
11: aload 0
invokevirtual java.lang.Boolean.booleanValue:()Z
putstatic java.net.SocketPermission.trustNameService:Z
end local 0 12: return
LocalVariableTable:
Start End Slot Name Signature
8 12 0 tmp Ljava/lang/Boolean;
private static synchronized sun.security.util.Debug getDebug();
descriptor: ()Lsun/security/util/Debug;
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=0, args_size=0
0: getstatic java.net.SocketPermission.debugInit:Z
ifne 3
1: ldc "access"
invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
putstatic java.net.SocketPermission.debug:Lsun/security/util/Debug;
2: iconst_1
putstatic java.net.SocketPermission.debugInit:Z
3: StackMap locals:
StackMap stack:
getstatic java.net.SocketPermission.debug:Lsun/security/util/Debug;
areturn
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokestatic java.net.SocketPermission.getHost:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.security.Permission.<init>:(Ljava/lang/String;)V
1: aload 0
iconst_0
putfield java.net.SocketPermission.defaultDeny:Z
2: aload 0
aload 0
invokevirtual java.net.SocketPermission.getName:()Ljava/lang/String;
aload 2
invokestatic java.net.SocketPermission.getMask:(Ljava/lang/String;)I
invokevirtual java.net.SocketPermission.init:(Ljava/lang/String;I)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/net/SocketPermission;
0 4 1 host Ljava/lang/String;
0 4 2 action Ljava/lang/String;
MethodParameters:
Name Flags
host
action
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
aload 1
invokestatic java.net.SocketPermission.getHost:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.security.Permission.<init>:(Ljava/lang/String;)V
1: aload 0
iconst_0
putfield java.net.SocketPermission.defaultDeny:Z
2: aload 0
aload 0
invokevirtual java.net.SocketPermission.getName:()Ljava/lang/String;
iload 2
invokevirtual java.net.SocketPermission.init:(Ljava/lang/String;I)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/net/SocketPermission;
0 4 1 host Ljava/lang/String;
0 4 2 mask I
MethodParameters:
Name Flags
host
mask
private void setDeny();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield java.net.SocketPermission.defaultDeny:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/net/SocketPermission;
private static java.lang.String getHost(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: ldc "localhost"
areturn
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpeq 17
3: aload 0
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
dup
istore 1
start local 1 4: aload 0
bipush 58
invokevirtual java.lang.String.lastIndexOf:(I)I
if_icmpeq 17
5: new java.util.StringTokenizer
dup
aload 0
ldc ":"
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 2
start local 2 6: aload 2
invokevirtual java.util.StringTokenizer.countTokens:()I
istore 3
start local 3 7: iload 3
bipush 9
if_icmpne 13
8: aload 0
bipush 58
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 1
9: new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
iconst_0
iload 1
invokevirtual java.lang.String.substring:(II)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;
10: aload 0
iload 1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 0
12: goto 17
StackMap locals: int java.util.StringTokenizer int
StackMap stack:
13: iload 3
bipush 8
if_icmpne 16
aload 0
ldc "::"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmpne 16
14: new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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 0
15: goto 17
16: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Ambiguous hostport part"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 17: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 host Ljava/lang/String;
4 17 1 ind I
6 17 2 st Ljava/util/StringTokenizer;
7 17 3 tokens I
MethodParameters:
Name Flags
host
private int[] parsePort(java.lang.String);
descriptor: (Ljava/lang/String;)[I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 1
aload 1
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
iconst_2
newarray 10
dup
iconst_1
ldc 65535
iastore
areturn
2: StackMap locals:
StackMap stack:
aload 1
bipush 45
invokevirtual java.lang.String.indexOf:(I)I
istore 2
start local 2 3: iload 2
iconst_m1
if_icmpne 6
4: aload 1
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 3
start local 3 5: iconst_2
newarray 10
dup
iconst_0
iload 3
iastore
dup
iconst_1
iload 3
iastore
areturn
end local 3 6: StackMap locals: int
StackMap stack:
aload 1
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
start local 3 7: aload 1
iload 2
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 4
start local 4 8: aload 3
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
9: iconst_0
istore 5
start local 5 10: goto 12
end local 5 11: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 3
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 5
start local 5 12: StackMap locals: int
StackMap stack:
aload 4
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
13: ldc 65535
istore 6
start local 6 14: goto 16
end local 6 15: StackMap locals:
StackMap stack:
aload 4
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 6
start local 6 16: StackMap locals: int
StackMap stack:
iload 5
iflt 17
iload 6
iflt 17
iload 6
iload 5
if_icmpge 18
17: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "invalid port range"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
iconst_2
newarray 10
dup
iconst_0
iload 5
iastore
dup
iconst_1
iload 6
iastore
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ljava/net/SocketPermission;
0 19 1 port Ljava/lang/String;
3 19 2 dash I
5 6 3 p I
7 19 3 low Ljava/lang/String;
8 19 4 high Ljava/lang/String;
10 11 5 l I
12 19 5 l I
14 15 6 h I
16 19 6 h I
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
port
private boolean includesEphemerals();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.net.SocketPermission.portrange:[I
iconst_0
iaload
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/net/SocketPermission;
private void init(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: iload 2
bipush 15
iand
iload 2
if_icmpeq 2
1: new java.lang.IllegalArgumentException
dup
ldc "invalid actions mask"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iload 2
bipush 8
ior
putfield java.net.SocketPermission.mask:I
3: iconst_0
istore 3
start local 3 4: iconst_0
istore 4
start local 4 5: iconst_0
istore 5
start local 5 6: iconst_m1
istore 6
start local 6 7: aload 1
astore 7
start local 7 8: aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpne 18
9: iconst_1
istore 4
10: aload 1
bipush 93
invokevirtual java.lang.String.indexOf:(I)I
istore 3
11: iload 3
iconst_m1
if_icmpeq 14
12: aload 1
iload 4
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
13: goto 16
14: StackMap locals: java.net.SocketPermission java.lang.String int int int int int java.lang.String
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "invalid host/port: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
aload 7
bipush 58
iload 3
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 6
17: goto 23
18: StackMap locals:
StackMap stack:
iconst_0
istore 4
19: aload 1
bipush 58
iload 3
invokevirtual java.lang.String.indexOf:(II)I
istore 6
20: iload 6
istore 5
21: iload 6
iconst_m1
if_icmpeq 23
22: aload 1
iload 4
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
23: StackMap locals:
StackMap stack:
iload 6
iconst_m1
if_icmpeq 30
24: aload 7
iload 6
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 8
start local 8 25: aload 0
aload 0
aload 8
invokevirtual java.net.SocketPermission.parsePort:(Ljava/lang/String;)[I
putfield java.net.SocketPermission.portrange:[I
26: goto 31
StackMap locals: java.net.SocketPermission java.lang.String int int int int int java.lang.String java.lang.String
StackMap stack: java.lang.Exception
27: pop
28: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "invalid port range: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
29: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 8 30: StackMap locals:
StackMap stack:
aload 0
iconst_2
newarray 10
dup
iconst_1
ldc 65535
iastore
putfield java.net.SocketPermission.portrange:[I
31: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield java.net.SocketPermission.hostname:Ljava/lang/String;
32: aload 1
bipush 42
invokevirtual java.lang.String.lastIndexOf:(I)I
ifle 35
33: new java.lang.IllegalArgumentException
dup
ldc "invalid host wildcard specification"
34: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
35: StackMap locals:
StackMap stack:
aload 1
ldc "*"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 46
36: aload 0
iconst_1
putfield java.net.SocketPermission.wildcard:Z
37: aload 1
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 40
38: aload 0
ldc ""
putfield java.net.SocketPermission.cname:Ljava/lang/String;
39: goto 45
StackMap locals:
StackMap stack:
40: aload 1
ldc "*."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 43
41: aload 0
aload 1
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
putfield java.net.SocketPermission.cname:Ljava/lang/String;
42: goto 45
43: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "invalid host wildcard specification"
44: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
45: StackMap locals:
StackMap stack:
return
46: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
ifle 60
47: aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
istore 8
start local 8 48: iload 8
bipush 58
if_icmpeq 49
iload 8
bipush 16
invokestatic java.lang.Character.digit:(CI)I
iconst_m1
if_icmpeq 60
49: StackMap locals: int
StackMap stack:
aload 1
invokestatic sun.net.util.IPAddressUtil.textToNumericFormatV4:(Ljava/lang/String;)[B
astore 9
start local 9 50: aload 9
ifnonnull 52
51: aload 1
invokestatic sun.net.util.IPAddressUtil.textToNumericFormatV6:(Ljava/lang/String;)[B
astore 9
52: StackMap locals: byte[]
StackMap stack:
aload 9
ifnull 60
53: aload 0
54: iconst_1
anewarray java.net.InetAddress
dup
iconst_0
aload 9
invokestatic java.net.InetAddress.getByAddress:([B)Ljava/net/InetAddress;
aastore
55: putfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
56: aload 0
iconst_1
putfield java.net.SocketPermission.init_with_ip:Z
57: goto 60
StackMap locals:
StackMap stack: java.net.UnknownHostException
58: pop
59: aload 0
iconst_1
putfield java.net.SocketPermission.invalid:Z
end local 9 end local 8 60: StackMap locals:
StackMap stack:
return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 61 0 this Ljava/net/SocketPermission;
0 61 1 host Ljava/lang/String;
0 61 2 mask I
4 61 3 rb I
5 61 4 start I
6 61 5 end I
7 61 6 sep I
8 61 7 hostport Ljava/lang/String;
25 30 8 port Ljava/lang/String;
48 60 8 ch C
50 60 9 ip [B
Exception table:
from to target type
25 26 27 Class java.lang.Exception
53 57 58 Class java.net.UnknownHostException
MethodParameters:
Name Flags
host
mask
private static int getMask(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "action can't be null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: new java.lang.IllegalArgumentException
dup
ldc "action can't be empty"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 5: aload 0
ldc "resolve"
if_acmpne 7
6: bipush 8
ireturn
7: StackMap locals: int
StackMap stack:
aload 0
ldc "connect"
if_acmpne 9
8: iconst_1
ireturn
9: StackMap locals:
StackMap stack:
aload 0
ldc "listen"
if_acmpne 11
10: iconst_2
ireturn
11: StackMap locals:
StackMap stack:
aload 0
ldc "accept"
if_acmpne 13
12: iconst_4
ireturn
13: StackMap locals:
StackMap stack:
aload 0
ldc "connect,accept"
if_acmpne 15
14: iconst_5
ireturn
15: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.toCharArray:()[C
astore 2
start local 2 16: aload 2
arraylength
iconst_1
isub
istore 3
start local 3 17: iload 3
ifge 78
18: iload 1
ireturn
start local 4 19: StackMap locals: char[] int int
StackMap stack:
iinc 3 -1
end local 4 20: StackMap locals:
StackMap stack:
iload 3
iconst_m1
if_icmpeq 26
aload 2
iload 3
caload
dup
istore 4
start local 4 21: bipush 32
if_icmpeq 19
22: iload 4
bipush 13
if_icmpeq 19
23: iload 4
bipush 10
if_icmpeq 19
24: iload 4
bipush 12
if_icmpeq 19
25: iload 4
bipush 9
if_icmpeq 19
end local 4 26: StackMap locals:
StackMap stack:
iload 3
bipush 6
if_icmplt 36
aload 2
iload 3
bipush 6
isub
caload
bipush 99
if_icmpeq 27
aload 2
iload 3
bipush 6
isub
caload
bipush 67
if_icmpne 36
27: StackMap locals:
StackMap stack:
aload 2
iload 3
iconst_5
isub
caload
bipush 111
if_icmpeq 28
aload 2
iload 3
iconst_5
isub
caload
bipush 79
if_icmpne 36
28: StackMap locals:
StackMap stack:
aload 2
iload 3
iconst_4
isub
caload
bipush 110
if_icmpeq 29
aload 2
iload 3
iconst_4
isub
caload
bipush 78
if_icmpne 36
29: StackMap locals:
StackMap stack:
aload 2
iload 3
iconst_3
isub
caload
bipush 110
if_icmpeq 30
aload 2
iload 3
iconst_3
isub
caload
bipush 78
if_icmpne 36
30: StackMap locals:
StackMap stack:
aload 2
iload 3
iconst_2
isub
caload
bipush 101
if_icmpeq 31
aload 2
iload 3
iconst_2
isub
caload
bipush 69
if_icmpne 36
31: StackMap locals:
StackMap stack:
aload 2
iload 3
iconst_1
isub
caload
bipush 99
if_icmpeq 32
aload 2
iload 3
iconst_1
isub
caload
bipush 67
if_icmpne 36
32: StackMap locals:
StackMap stack:
aload 2
iload 3
caload
bipush 116
if_icmpeq 33
aload 2
iload 3
caload
bipush 84
if_icmpne 36
33: StackMap locals:
StackMap stack:
bipush 7
istore 5
start local 5 34: iload 1
iconst_1
ior
istore 1
35: goto 67
end local 5 StackMap locals:
StackMap stack:
36: iload 3
bipush 6
if_icmplt 46
aload 2
iload 3
bipush 6
isub
caload
bipush 114
if_icmpeq 37
aload 2
iload 3
bipush 6
isub
caload
bipush 82
if_icmpne 46
37: StackMap locals:
StackMap stack:
aload 2
iload 3
iconst_5
isub
caload
bipush 101
if_icmpeq 38
aload 2
iload 3
iconst_5
isub
caload
bipush 69
if_icmpne 46
38: StackMap locals:
StackMap stack:
aload 2
iload 3
iconst_4
isub
caload
bipush 115
if_icmpeq 39
aload 2
iload 3
iconst_4
isub
caload
bipush 83
if_icmpne 46
39: StackMap locals:
StackMap stack:
aload 2
iload 3
iconst_3
isub
caload
bipush 111
if_icmpeq 40
aload 2
iload 3
iconst_3
isub
caload
bipush 79
if_icmpne 46
40: StackMap locals:
StackMap stack:
aload 2
iload 3
iconst_2
isub
caload
bipush 108
if_icmpeq 41
aload 2
iload 3
iconst_2
isub
caload
bipush 76
if_icmpne 46
41: StackMap locals:
StackMap stack:
aload 2
iload 3
iconst_1
isub
caload
bipush 118
if_icmpeq 42
aload 2
iload 3
iconst_1
isub
caload
bipush 86
if_icmpne 46
42: StackMap locals:
StackMap stack:
aload 2
iload 3
caload
bipush 101
if_icmpeq 43
aload 2
iload 3
caload
bipush 69
if_icmpne 46
43: StackMap locals:
StackMap stack:
bipush 7
istore 5
start local 5 44: iload 1
bipush 8
ior
istore 1
45: goto 67
end local 5 StackMap locals:
StackMap stack:
46: iload 3
iconst_5
if_icmplt 55
aload 2
iload 3
iconst_5
isub
caload
bipush 108
if_icmpeq 47
aload 2
iload 3
iconst_5
isub
caload
bipush 76
if_icmpne 55
47: StackMap locals:
StackMap stack:
aload 2
iload 3
iconst_4
isub
caload
bipush 105
if_icmpeq 48
aload 2
iload 3
iconst_4
isub
caload
bipush 73
if_icmpne 55
48: StackMap locals:
StackMap stack:
aload 2
iload 3
iconst_3
isub
caload
bipush 115
if_icmpeq 49
aload 2
iload 3
iconst_3
isub
caload
bipush 83
if_icmpne 55
49: StackMap locals:
StackMap stack:
aload 2
iload 3
iconst_2
isub
caload
bipush 116
if_icmpeq 50
aload 2
iload 3
iconst_2
isub
caload
bipush 84
if_icmpne 55
50: StackMap locals:
StackMap stack:
aload 2
iload 3
iconst_1
isub
caload
bipush 101
if_icmpeq 51
aload 2
iload 3
iconst_1
isub
caload
bipush 69
if_icmpne 55
51: StackMap locals:
StackMap stack:
aload 2
iload 3
caload
bipush 110
if_icmpeq 52
aload 2
iload 3
caload
bipush 78
if_icmpne 55
52: StackMap locals:
StackMap stack:
bipush 6
istore 5
start local 5 53: iload 1
iconst_2
ior
istore 1
54: goto 67
end local 5 StackMap locals:
StackMap stack:
55: iload 3
iconst_5
if_icmplt 64
aload 2
iload 3
iconst_5
isub
caload
bipush 97
if_icmpeq 56
aload 2
iload 3
iconst_5
isub
caload
bipush 65
if_icmpne 64
56: StackMap locals:
StackMap stack:
aload 2
iload 3
iconst_4
isub
caload
bipush 99
if_icmpeq 57
aload 2
iload 3
iconst_4
isub
caload
bipush 67
if_icmpne 64
57: StackMap locals:
StackMap stack:
aload 2
iload 3
iconst_3
isub
caload
bipush 99
if_icmpeq 58
aload 2
iload 3
iconst_3
isub
caload
bipush 67
if_icmpne 64
58: StackMap locals:
StackMap stack:
aload 2
iload 3
iconst_2
isub
caload
bipush 101
if_icmpeq 59
aload 2
iload 3
iconst_2
isub
caload
bipush 69
if_icmpne 64
59: StackMap locals:
StackMap stack:
aload 2
iload 3
iconst_1
isub
caload
bipush 112
if_icmpeq 60
aload 2
iload 3
iconst_1
isub
caload
bipush 80
if_icmpne 64
60: StackMap locals:
StackMap stack:
aload 2
iload 3
caload
bipush 116
if_icmpeq 61
aload 2
iload 3
caload
bipush 84
if_icmpne 64
61: StackMap locals:
StackMap stack:
bipush 6
istore 5
start local 5 62: iload 1
iconst_4
ior
istore 1
63: goto 67
end local 5 64: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
65: new java.lang.StringBuilder
dup
ldc "invalid permission: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
66: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
start local 5 67: StackMap locals: java.lang.String int char[] int top int
StackMap stack:
iconst_0
istore 6
start local 6 68: goto 76
69: StackMap locals: int
StackMap stack:
aload 2
iload 3
iload 5
isub
caload
lookupswitch { // 6
9: 71
10: 71
12: 71
13: 71
32: 71
44: 70
default: 72
}
70: StackMap locals:
StackMap stack:
iconst_1
istore 6
71: StackMap locals:
StackMap stack:
goto 75
72: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
73: new java.lang.StringBuilder
dup
ldc "invalid permission: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
74: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
75: StackMap locals:
StackMap stack:
iinc 3 -1
76: StackMap locals:
StackMap stack:
iload 3
iload 5
if_icmplt 77
iload 6
ifeq 69
77: StackMap locals:
StackMap stack:
iload 3
iload 5
isub
istore 3
end local 6 end local 5 78: StackMap locals: java.lang.String int char[] int
StackMap stack:
iload 3
iconst_m1
if_icmpne 20
79: iload 1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 80 0 action Ljava/lang/String;
5 80 1 mask I
16 80 2 a [C
17 80 3 i I
19 20 4 c C
21 26 4 c C
34 36 5 matchlen I
44 46 5 matchlen I
53 55 5 matchlen I
62 64 5 matchlen I
67 78 5 matchlen I
68 78 6 seencomma Z
MethodParameters:
Name Flags
action
void getCanonName();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield java.net.SocketPermission.cname:Ljava/lang/String;
ifnonnull 1
aload 0
getfield java.net.SocketPermission.invalid:Z
ifne 1
aload 0
getfield java.net.SocketPermission.untrusted:Z
ifeq 2
StackMap locals:
StackMap stack:
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
ifnonnull 4
3: aload 0
invokevirtual java.net.SocketPermission.getIP:()V
4: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketPermission.init_with_ip:Z
ifeq 7
5: aload 0
aload 0
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
iconst_0
aaload
iconst_0
invokevirtual java.net.InetAddress.getHostName:(Z)Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
putfield java.net.SocketPermission.cname:Ljava/lang/String;
6: goto 22
7: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
iconst_0
aaload
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
8: iconst_0
invokevirtual java.net.InetAddress.getHostName:(Z)Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
9: putfield java.net.SocketPermission.cname:Ljava/lang/String;
10: getstatic java.net.SocketPermission.trustNameService:Z
ifne 22
aload 0
getfield java.net.SocketPermission.hostname:Ljava/lang/String;
invokestatic sun.net.www.URLConnection.isProxiedHost:(Ljava/lang/String;)Z
ifeq 22
11: aload 0
aload 0
getfield java.net.SocketPermission.cname:Ljava/lang/String;
aload 0
getfield java.net.SocketPermission.hostname:Ljava/lang/String;
invokevirtual java.net.SocketPermission.match:(Ljava/lang/String;Ljava/lang/String;)Z
ifne 22
12: aload 0
getfield java.net.SocketPermission.defaultDeny:Z
ifne 13
aload 0
getfield java.net.SocketPermission.cname:Ljava/lang/String;
aload 0
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
iconst_0
aaload
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
13: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.net.SocketPermission.hostname:Ljava/lang/String;
aload 0
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
iconst_0
aaload
invokevirtual java.net.InetAddress.getAddress:()[B
invokevirtual java.net.SocketPermission.authorized:(Ljava/lang/String;[B)Z
ifne 22
14: aload 0
iconst_1
putfield java.net.SocketPermission.untrusted:Z
15: invokestatic java.net.SocketPermission.getDebug:()Lsun/security/util/Debug;
astore 1
start local 1 16: aload 1
ifnull 22
ldc "failure"
invokestatic sun.security.util.Debug.isOn:(Ljava/lang/String;)Z
ifeq 22
17: aload 1
new java.lang.StringBuilder
dup
ldc "socket access restriction: proxied host ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
iconst_0
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " does not match "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield java.net.SocketPermission.cname:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " from reverse lookup"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 1 18: goto 22
StackMap locals:
StackMap stack: java.net.UnknownHostException
19: astore 1
start local 1 20: aload 0
iconst_1
putfield java.net.SocketPermission.invalid:Z
21: aload 1
athrow
end local 1 22: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Ljava/net/SocketPermission;
16 18 1 debug Lsun/security/util/Debug;
20 22 1 uhe Ljava/net/UnknownHostException;
Exception table:
from to target type
2 18 19 Class java.net.UnknownHostException
Exceptions:
throws java.net.UnknownHostException
private boolean match(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 3
start local 3 1: aload 2
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 4
start local 4 2: aload 3
aload 4
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 5
3: aload 3
invokevirtual java.lang.String.length:()I
aload 4
invokevirtual java.lang.String.length:()I
if_icmpeq 4
aload 3
aload 4
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.charAt:(I)C
bipush 46
if_icmpne 5
4: StackMap locals: java.lang.String java.lang.String
StackMap stack:
iconst_1
ireturn
5: StackMap locals:
StackMap stack:
aload 4
ldc ".akamai.net"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 6
aload 4
ldc ".akamai.com"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 7
6: StackMap locals:
StackMap stack:
iconst_1
ireturn
7: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual java.net.SocketPermission.fragment:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 8: aload 0
aload 4
invokevirtual java.net.SocketPermission.fragment:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 9: aload 5
invokevirtual java.lang.String.length:()I
ifeq 10
aload 6
invokevirtual java.lang.String.length:()I
ifeq 10
aload 0
aload 3
invokevirtual java.net.SocketPermission.fragment:(Ljava/lang/String;)Ljava/lang/String;
aload 0
aload 4
invokevirtual java.net.SocketPermission.fragment:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
iconst_1
ireturn
StackMap locals: java.lang.String java.lang.String
StackMap stack:
10: iconst_0
ireturn
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 11 0 this Ljava/net/SocketPermission;
0 11 1 cname Ljava/lang/String;
0 11 2 hname Ljava/lang/String;
1 11 3 a Ljava/lang/String;
2 11 4 b Ljava/lang/String;
8 11 5 af Ljava/lang/String;
9 11 6 bf Ljava/lang/String;
MethodParameters:
Name Flags
cname
hname
private java.lang.String fragment(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 2
start local 2 1: iload 2
iconst_m1
if_icmpne 3
2: aload 1
areturn
3: StackMap locals: int
StackMap stack:
iload 2
ifne 5
4: ldc ""
areturn
5: StackMap locals:
StackMap stack:
iload 2
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
if_icmpne 8
6: aload 1
iconst_0
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
7: aload 1
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 2
8: StackMap locals:
StackMap stack:
iload 2
iconst_1
if_icmpge 10
9: ldc ""
areturn
10: StackMap locals:
StackMap stack:
aload 1
bipush 46
iload 2
iconst_1
isub
invokevirtual java.lang.String.lastIndexOf:(II)I
istore 3
start local 3 11: iload 3
iconst_m1
if_icmpne 13
12: aload 1
areturn
13: StackMap locals: int
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
iload 2
isub
iconst_3
if_icmpgt 22
iload 2
iload 3
isub
iconst_4
if_icmpgt 22
iload 3
ifle 22
14: iload 2
iload 3
isub
iconst_4
if_icmpne 18
15: aload 1
iload 3
iconst_1
iadd
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 4
start local 4 16: aload 4
ldc "com"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 18
aload 4
ldc "org"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 18
aload 4
ldc "edu"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 18
17: aload 1
iload 3
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
areturn
end local 4 18: StackMap locals:
StackMap stack:
aload 1
bipush 46
iload 3
iconst_1
isub
invokevirtual java.lang.String.lastIndexOf:(II)I
istore 4
start local 4 19: iload 4
iconst_m1
if_icmpne 21
20: aload 1
iload 3
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
areturn
21: StackMap locals: int
StackMap stack:
aload 1
iload 4
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
areturn
end local 4 22: StackMap locals:
StackMap stack:
aload 1
iload 3
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Ljava/net/SocketPermission;
0 23 1 cname Ljava/lang/String;
1 23 2 dot I
11 23 3 second I
16 18 4 s Ljava/lang/String;
19 22 4 third I
MethodParameters:
Name Flags
cname
private boolean authorized(java.lang.String, byte[]);
descriptor: (Ljava/lang/String;[B)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
arraylength
iconst_4
if_icmpne 2
1: aload 0
aload 1
aload 2
invokevirtual java.net.SocketPermission.authorizedIPv4:(Ljava/lang/String;[B)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 2
arraylength
bipush 16
if_icmpne 4
3: aload 0
aload 1
aload 2
invokevirtual java.net.SocketPermission.authorizedIPv6:(Ljava/lang/String;[B)Z
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/net/SocketPermission;
0 5 1 cname Ljava/lang/String;
0 5 2 addr [B
MethodParameters:
Name Flags
cname
addr
private boolean authorizedIPv4(java.lang.String, byte[]);
descriptor: (Ljava/lang/String;[B)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: ldc ""
astore 3
start local 3 1: new java.lang.StringBuilder
dup
ldc "auth."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: aload 2
iconst_3
baload
sipush 255
iand
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
iconst_2
baload
sipush 255
iand
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: aload 2
iconst_1
baload
sipush 255
iand
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
iconst_0
baload
sipush 255
iand
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
4: ldc ".in-addr.arpa"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
6: new java.lang.StringBuilder
dup
aload 0
getfield java.net.SocketPermission.hostname:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
7: aload 3
iconst_0
invokestatic java.net.InetAddress.getAllByName0:(Ljava/lang/String;Z)[Ljava/net/InetAddress;
iconst_0
aaload
astore 4
start local 4 8: aload 4
aload 2
invokestatic java.net.InetAddress.getByAddress:([B)Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
ifeq 10
9: iconst_1
ireturn
10: StackMap locals: java.lang.String java.net.InetAddress
StackMap stack:
invokestatic java.net.SocketPermission.getDebug:()Lsun/security/util/Debug;
astore 5
start local 5 11: aload 5
ifnull 20
ldc "failure"
invokestatic sun.security.util.Debug.isOn:(Ljava/lang/String;)Z
ifeq 20
12: aload 5
new java.lang.StringBuilder
dup
ldc "socket access restriction: IP address of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " != "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokestatic java.net.InetAddress.getByAddress:([B)Ljava/net/InetAddress;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 5 13: goto 20
end local 4 StackMap locals: java.net.SocketPermission java.lang.String byte[] java.lang.String
StackMap stack: java.net.UnknownHostException
14: pop
15: invokestatic java.net.SocketPermission.getDebug:()Lsun/security/util/Debug;
astore 5
start local 5 16: aload 5
ifnull 20
ldc "failure"
invokestatic sun.security.util.Debug.isOn:(Ljava/lang/String;)Z
ifeq 20
17: aload 5
new java.lang.StringBuilder
dup
ldc "socket access restriction: forward lookup failed for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 5 18: goto 20
19: StackMap locals:
StackMap stack: java.io.IOException
pop
20: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ljava/net/SocketPermission;
0 21 1 cname Ljava/lang/String;
0 21 2 addr [B
1 21 3 authHost Ljava/lang/String;
8 14 4 auth Ljava/net/InetAddress;
11 13 5 debug Lsun/security/util/Debug;
16 18 5 debug Lsun/security/util/Debug;
Exception table:
from to target type
1 9 14 Class java.net.UnknownHostException
10 13 14 Class java.net.UnknownHostException
1 9 19 Class java.io.IOException
10 13 19 Class java.io.IOException
MethodParameters:
Name Flags
cname
addr
private boolean authorizedIPv6(java.lang.String, byte[]);
descriptor: (Ljava/lang/String;[B)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: ldc ""
astore 3
start local 3 1: new java.lang.StringBuffer
dup
bipush 39
invokespecial java.lang.StringBuffer.<init>:(I)V
astore 5
start local 5 2: bipush 15
istore 6
start local 6 3: goto 9
4: StackMap locals: java.net.SocketPermission java.lang.String byte[] java.lang.String top java.lang.StringBuffer int
StackMap stack:
aload 5
aload 2
iload 6
baload
bipush 15
iand
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
5: aload 5
bipush 46
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
6: aload 5
aload 2
iload 6
baload
iconst_4
ishr
bipush 15
iand
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
7: aload 5
bipush 46
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
8: iinc 6 -1
StackMap locals:
StackMap stack:
9: iload 6
ifge 4
end local 6 10: new java.lang.StringBuilder
dup
ldc "auth."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "IP6.ARPA"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
11: new java.lang.StringBuilder
dup
aload 0
getfield java.net.SocketPermission.hostname:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
12: aload 3
iconst_0
invokestatic java.net.InetAddress.getAllByName0:(Ljava/lang/String;Z)[Ljava/net/InetAddress;
iconst_0
aaload
astore 4
start local 4 13: aload 4
aload 2
invokestatic java.net.InetAddress.getByAddress:([B)Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
ifeq 15
14: iconst_1
ireturn
15: StackMap locals: java.net.SocketPermission java.lang.String byte[] java.lang.String java.net.InetAddress java.lang.StringBuffer
StackMap stack:
invokestatic java.net.SocketPermission.getDebug:()Lsun/security/util/Debug;
astore 6
start local 6 16: aload 6
ifnull 25
ldc "failure"
invokestatic sun.security.util.Debug.isOn:(Ljava/lang/String;)Z
ifeq 25
17: aload 6
new java.lang.StringBuilder
dup
ldc "socket access restriction: IP address of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " != "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokestatic java.net.InetAddress.getByAddress:([B)Ljava/net/InetAddress;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 6 end local 5 18: goto 25
end local 4 StackMap locals: java.net.SocketPermission java.lang.String byte[] java.lang.String
StackMap stack: java.net.UnknownHostException
19: pop
20: invokestatic java.net.SocketPermission.getDebug:()Lsun/security/util/Debug;
astore 5
start local 5 21: aload 5
ifnull 25
ldc "failure"
invokestatic sun.security.util.Debug.isOn:(Ljava/lang/String;)Z
ifeq 25
22: aload 5
new java.lang.StringBuilder
dup
ldc "socket access restriction: forward lookup failed for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 5 23: goto 25
24: StackMap locals:
StackMap stack: java.io.IOException
pop
25: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Ljava/net/SocketPermission;
0 26 1 cname Ljava/lang/String;
0 26 2 addr [B
1 26 3 authHost Ljava/lang/String;
13 19 4 auth Ljava/net/InetAddress;
2 18 5 sb Ljava/lang/StringBuffer;
3 10 6 i I
16 18 6 debug Lsun/security/util/Debug;
21 23 5 debug Lsun/security/util/Debug;
Exception table:
from to target type
1 14 19 Class java.net.UnknownHostException
15 18 19 Class java.net.UnknownHostException
1 14 24 Class java.io.IOException
15 18 24 Class java.io.IOException
MethodParameters:
Name Flags
cname
addr
void getIP();
descriptor: ()V
flags: (0x0000)
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
ifnonnull 1
aload 0
getfield java.net.SocketPermission.wildcard:Z
ifne 1
aload 0
getfield java.net.SocketPermission.invalid:Z
ifeq 2
StackMap locals:
StackMap stack:
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.SocketPermission.getName:()Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpne 5
3: aload 0
invokevirtual java.net.SocketPermission.getName:()Ljava/lang/String;
iconst_1
aload 0
invokevirtual java.net.SocketPermission.getName:()Ljava/lang/String;
bipush 93
invokevirtual java.lang.String.indexOf:(I)I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
start local 1 4: goto 10
end local 1 5: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.SocketPermission.getName:()Ljava/lang/String;
ldc ":"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 2
start local 2 6: iload 2
iconst_m1
if_icmpne 9
7: aload 0
invokevirtual java.net.SocketPermission.getName:()Ljava/lang/String;
astore 1
start local 1 8: goto 10
end local 1 9: StackMap locals: java.net.SocketPermission top int
StackMap stack:
aload 0
invokevirtual java.net.SocketPermission.getName:()Ljava/lang/String;
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
end local 2 start local 1 10: StackMap locals: java.net.SocketPermission java.lang.String
StackMap stack:
aload 0
11: iconst_1
anewarray java.net.InetAddress
dup
iconst_0
aload 1
iconst_0
invokestatic java.net.InetAddress.getAllByName0:(Ljava/lang/String;Z)[Ljava/net/InetAddress;
iconst_0
aaload
aastore
12: putfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
end local 1 13: goto 20
StackMap locals: java.net.SocketPermission
StackMap stack: java.net.UnknownHostException
14: astore 1
start local 1 15: aload 0
iconst_1
putfield java.net.SocketPermission.invalid:Z
16: aload 1
athrow
end local 1 17: StackMap locals:
StackMap stack: java.lang.IndexOutOfBoundsException
pop
18: aload 0
iconst_1
putfield java.net.SocketPermission.invalid:Z
19: new java.net.UnknownHostException
dup
aload 0
invokevirtual java.net.SocketPermission.getName:()Ljava/lang/String;
invokespecial java.net.UnknownHostException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ljava/net/SocketPermission;
4 5 1 host Ljava/lang/String;
8 9 1 host Ljava/lang/String;
10 13 1 host Ljava/lang/String;
6 10 2 i I
15 17 1 uhe Ljava/net/UnknownHostException;
Exception table:
from to target type
2 13 14 Class java.net.UnknownHostException
2 13 17 Class java.lang.IndexOutOfBoundsException
Exceptions:
throws java.net.UnknownHostException
public boolean implies(java.security.Permission);
descriptor: (Ljava/security/Permission;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.net.SocketPermission
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
aload 0
if_acmpne 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast java.net.SocketPermission
astore 2
start local 2 5: aload 0
getfield java.net.SocketPermission.mask:I
aload 2
getfield java.net.SocketPermission.mask:I
iand
aload 2
getfield java.net.SocketPermission.mask:I
if_icmpne 8
6: aload 0
aload 2
invokevirtual java.net.SocketPermission.impliesIgnoreMask:(Ljava/net/SocketPermission;)Z
ifeq 8
7: iconst_1
ireturn
StackMap locals: java.net.SocketPermission
StackMap stack:
8: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/net/SocketPermission;
0 9 1 p Ljava/security/Permission;
5 9 2 that Ljava/net/SocketPermission;
MethodParameters:
Name Flags
p
boolean impliesIgnoreMask(java.net.SocketPermission);
descriptor: (Ljava/net/SocketPermission;)Z
flags: (0x0000)
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield java.net.SocketPermission.mask:I
bipush 8
iand
aload 1
getfield java.net.SocketPermission.mask:I
if_icmpeq 10
1: aload 1
getfield java.net.SocketPermission.portrange:[I
iconst_0
iaload
aload 0
getfield java.net.SocketPermission.portrange:[I
iconst_0
iaload
if_icmplt 3
2: aload 1
getfield java.net.SocketPermission.portrange:[I
iconst_1
iaload
aload 0
getfield java.net.SocketPermission.portrange:[I
iconst_1
iaload
if_icmple 10
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.SocketPermission.includesEphemerals:()Z
ifne 4
aload 1
invokevirtual java.net.SocketPermission.includesEphemerals:()Z
ifeq 9
4: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketPermission.portrange:[I
iconst_0
iaload
aload 0
getfield java.net.SocketPermission.portrange:[I
iconst_1
iaload
5: aload 1
getfield java.net.SocketPermission.portrange:[I
iconst_0
iaload
aload 1
getfield java.net.SocketPermission.portrange:[I
iconst_1
iaload
6: invokestatic java.net.SocketPermission.inRange:(IIII)Z
7: ifne 10
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
iconst_0
ireturn
10: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketPermission.wildcard:Z
ifeq 12
ldc ""
aload 0
getfield java.net.SocketPermission.cname:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
11: iconst_1
ireturn
12: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketPermission.invalid:Z
ifne 13
aload 1
getfield java.net.SocketPermission.invalid:Z
ifeq 16
13: StackMap locals:
StackMap stack:
getstatic java.net.SocketPermission.trustProxy:Z
ifeq 14
aload 0
aload 1
invokevirtual java.net.SocketPermission.inProxyWeTrust:(Ljava/net/SocketPermission;)Z
goto 15
StackMap locals:
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: ireturn
16: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.SocketPermission.getName:()Ljava/lang/String;
aload 1
invokevirtual java.net.SocketPermission.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 18
17: iconst_1
ireturn
18: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketPermission.init_with_ip:Z
ifeq 33
19: aload 1
getfield java.net.SocketPermission.wildcard:Z
ifeq 21
20: iconst_0
ireturn
21: StackMap locals:
StackMap stack:
aload 1
getfield java.net.SocketPermission.init_with_ip:Z
ifeq 24
22: aload 0
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
iconst_0
aaload
aload 1
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
iconst_0
aaload
invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
23: ireturn
24: StackMap locals:
StackMap stack:
aload 1
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
ifnonnull 26
25: aload 1
invokevirtual java.net.SocketPermission.getIP:()V
26: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 27: goto 31
28: StackMap locals: int
StackMap stack:
aload 0
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
iconst_0
aaload
aload 1
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
iload 2
aaload
invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
ifeq 30
29: iconst_1
ireturn
30: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
31: iload 2
aload 1
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
arraylength
if_icmplt 28
32: iconst_0
ireturn
end local 2 33: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketPermission.wildcard:Z
ifne 34
aload 1
getfield java.net.SocketPermission.wildcard:Z
ifeq 43
34: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketPermission.wildcard:Z
ifeq 37
aload 1
getfield java.net.SocketPermission.wildcard:Z
ifeq 37
35: aload 1
getfield java.net.SocketPermission.cname:Ljava/lang/String;
aload 0
getfield java.net.SocketPermission.cname:Ljava/lang/String;
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
36: ireturn
37: StackMap locals:
StackMap stack:
aload 1
getfield java.net.SocketPermission.wildcard:Z
ifeq 39
38: iconst_0
ireturn
39: StackMap locals:
StackMap stack:
aload 1
getfield java.net.SocketPermission.cname:Ljava/lang/String;
ifnonnull 41
40: aload 1
invokevirtual java.net.SocketPermission.getCanonName:()V
41: StackMap locals:
StackMap stack:
aload 1
getfield java.net.SocketPermission.cname:Ljava/lang/String;
aload 0
getfield java.net.SocketPermission.cname:Ljava/lang/String;
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
42: ireturn
43: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketPermission.cname:Ljava/lang/String;
ifnonnull 45
44: aload 0
invokevirtual java.net.SocketPermission.getCanonName:()V
45: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
ifnonnull 47
46: aload 0
invokevirtual java.net.SocketPermission.getIP:()V
47: StackMap locals:
StackMap stack:
aload 1
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
ifnonnull 49
48: aload 1
invokevirtual java.net.SocketPermission.getIP:()V
49: StackMap locals:
StackMap stack:
aload 1
getfield java.net.SocketPermission.init_with_ip:Z
ifeq 50
aload 0
getfield java.net.SocketPermission.untrusted:Z
ifne 67
50: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 51: goto 59
52: StackMap locals: java.net.SocketPermission java.net.SocketPermission top int
StackMap stack:
iconst_0
istore 2
start local 2 53: goto 57
54: StackMap locals: java.net.SocketPermission java.net.SocketPermission int int
StackMap stack:
aload 0
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
iload 3
aaload
aload 1
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
iload 2
aaload
invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
ifeq 56
55: iconst_1
ireturn
56: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
57: iload 2
aload 1
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
arraylength
if_icmplt 54
58: iinc 3 1
end local 2 StackMap locals: java.net.SocketPermission java.net.SocketPermission top int
StackMap stack:
59: iload 3
aload 0
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
arraylength
if_icmplt 52
60: aload 1
getfield java.net.SocketPermission.cname:Ljava/lang/String;
ifnonnull 62
61: aload 1
invokevirtual java.net.SocketPermission.getCanonName:()V
62: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketPermission.cname:Ljava/lang/String;
aload 1
getfield java.net.SocketPermission.cname:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
63: ireturn
end local 3 64: StackMap locals: java.net.SocketPermission java.net.SocketPermission
StackMap stack: java.net.UnknownHostException
pop
65: getstatic java.net.SocketPermission.trustProxy:Z
ifeq 67
66: aload 0
aload 1
invokevirtual java.net.SocketPermission.inProxyWeTrust:(Ljava/net/SocketPermission;)Z
ireturn
67: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 68 0 this Ljava/net/SocketPermission;
0 68 1 that Ljava/net/SocketPermission;
27 33 2 i I
53 59 2 i I
51 64 3 j I
Exception table:
from to target type
18 20 64 Class java.net.UnknownHostException
21 23 64 Class java.net.UnknownHostException
24 29 64 Class java.net.UnknownHostException
30 32 64 Class java.net.UnknownHostException
33 36 64 Class java.net.UnknownHostException
37 38 64 Class java.net.UnknownHostException
39 42 64 Class java.net.UnknownHostException
43 55 64 Class java.net.UnknownHostException
56 63 64 Class java.net.UnknownHostException
MethodParameters:
Name Flags
that
private boolean inProxyWeTrust(java.net.SocketPermission);
descriptor: (Ljava/net/SocketPermission;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield java.net.SocketPermission.hostname:Ljava/lang/String;
astore 2
start local 2 1: aload 1
getfield java.net.SocketPermission.hostname:Ljava/lang/String;
astore 3
start local 3 2: aload 2
ifnonnull 4
3: iconst_0
ireturn
4: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 2
aload 3
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/net/SocketPermission;
0 5 1 that Ljava/net/SocketPermission;
1 5 2 thisHost Ljava/lang/String;
2 5 3 thatHost Ljava/lang/String;
MethodParameters:
Name Flags
that
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.net.SocketPermission
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast java.net.SocketPermission
astore 2
start local 2 5: aload 0
getfield java.net.SocketPermission.mask:I
aload 2
getfield java.net.SocketPermission.mask:I
if_icmpeq 6
iconst_0
ireturn
6: StackMap locals: java.net.SocketPermission
StackMap stack:
aload 2
getfield java.net.SocketPermission.mask:I
bipush 8
iand
aload 2
getfield java.net.SocketPermission.mask:I
if_icmpeq 10
7: aload 0
getfield java.net.SocketPermission.portrange:[I
iconst_0
iaload
aload 2
getfield java.net.SocketPermission.portrange:[I
iconst_0
iaload
if_icmpne 9
8: aload 0
getfield java.net.SocketPermission.portrange:[I
iconst_1
iaload
aload 2
getfield java.net.SocketPermission.portrange:[I
iconst_1
iaload
if_icmpeq 10
9: StackMap locals:
StackMap stack:
iconst_0
ireturn
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.SocketPermission.getName:()Ljava/lang/String;
aload 2
invokevirtual java.net.SocketPermission.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 12
11: iconst_1
ireturn
12: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.SocketPermission.getCanonName:()V
13: aload 2
invokevirtual java.net.SocketPermission.getCanonName:()V
14: goto 17
StackMap locals:
StackMap stack: java.net.UnknownHostException
15: pop
16: iconst_0
ireturn
17: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketPermission.invalid:Z
ifne 18
aload 2
getfield java.net.SocketPermission.invalid:Z
ifeq 19
18: StackMap locals:
StackMap stack:
iconst_0
ireturn
19: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketPermission.cname:Ljava/lang/String;
ifnull 21
20: aload 0
getfield java.net.SocketPermission.cname:Ljava/lang/String;
aload 2
getfield java.net.SocketPermission.cname:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ireturn
21: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Ljava/net/SocketPermission;
0 22 1 obj Ljava/lang/Object;
5 22 2 that Ljava/net/SocketPermission;
Exception table:
from to target type
12 14 15 Class java.net.UnknownHostException
MethodParameters:
Name Flags
obj
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.net.SocketPermission.init_with_ip:Z
ifne 1
aload 0
getfield java.net.SocketPermission.wildcard:Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.SocketPermission.getName:()Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.SocketPermission.getCanonName:()V
3: goto 5
StackMap locals:
StackMap stack: java.net.UnknownHostException
4: pop
5: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketPermission.invalid:Z
ifne 6
aload 0
getfield java.net.SocketPermission.cname:Ljava/lang/String;
ifnonnull 7
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.SocketPermission.getName:()Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
ireturn
7: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketPermission.cname:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/net/SocketPermission;
Exception table:
from to target type
2 3 4 Class java.net.UnknownHostException
int getMask();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.net.SocketPermission.mask:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/net/SocketPermission;
private static java.lang.String getActions(int);
descriptor: (I)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: iload 0
iconst_1
iand
iconst_1
if_icmpne 5
3: iconst_1
istore 2
4: aload 1
ldc "connect"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: StackMap locals: java.lang.StringBuilder int
StackMap stack:
iload 0
iconst_2
iand
iconst_2
if_icmpne 9
6: iload 2
ifeq 7
aload 1
bipush 44
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
goto 8
7: StackMap locals:
StackMap stack:
iconst_1
istore 2
8: StackMap locals:
StackMap stack:
aload 1
ldc "listen"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: StackMap locals:
StackMap stack:
iload 0
iconst_4
iand
iconst_4
if_icmpne 13
10: iload 2
ifeq 11
aload 1
bipush 44
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
goto 12
11: StackMap locals:
StackMap stack:
iconst_1
istore 2
12: StackMap locals:
StackMap stack:
aload 1
ldc "accept"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: StackMap locals:
StackMap stack:
iload 0
bipush 8
iand
bipush 8
if_icmpne 17
14: iload 2
ifeq 15
aload 1
bipush 44
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
goto 16
15: StackMap locals:
StackMap stack:
iconst_1
istore 2
16: StackMap locals:
StackMap stack:
aload 1
ldc "resolve"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
17: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 mask I
1 18 1 sb Ljava/lang/StringBuilder;
2 18 2 comma Z
MethodParameters:
Name Flags
mask
public java.lang.String getActions();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.net.SocketPermission.actions:Ljava/lang/String;
ifnonnull 2
1: aload 0
aload 0
getfield java.net.SocketPermission.mask:I
invokestatic java.net.SocketPermission.getActions:(I)Ljava/lang/String;
putfield java.net.SocketPermission.actions:Ljava/lang/String;
2: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketPermission.actions:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/net/SocketPermission;
public java.security.PermissionCollection newPermissionCollection();
descriptor: ()Ljava/security/PermissionCollection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new java.net.SocketPermissionCollection
dup
invokespecial java.net.SocketPermissionCollection.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/net/SocketPermission;
private synchronized void writeObject(java.io.ObjectOutputStream);
descriptor: (Ljava/io/ObjectOutputStream;)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.net.SocketPermission.actions:Ljava/lang/String;
ifnonnull 2
1: aload 0
invokevirtual java.net.SocketPermission.getActions:()Ljava/lang/String;
pop
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/net/SocketPermission;
0 4 1 s Ljava/io/ObjectOutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
private synchronized void readObject(java.io.ObjectInputStream);
descriptor: (Ljava/io/ObjectInputStream;)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
1: aload 0
aload 0
invokevirtual java.net.SocketPermission.getName:()Ljava/lang/String;
aload 0
getfield java.net.SocketPermission.actions:Ljava/lang/String;
invokestatic java.net.SocketPermission.getMask:(Ljava/lang/String;)I
invokevirtual java.net.SocketPermission.init:(Ljava/lang/String;I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/net/SocketPermission;
0 3 1 s Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
s
private static int initEphemeralPorts(java.lang.String, int);
descriptor: (Ljava/lang/String;I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.net.SocketPermission$1
dup
aload 0
invokespecial java.net.SocketPermission$1.<init>:(Ljava/lang/String;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 suffix Ljava/lang/String;
0 2 1 defval I
MethodParameters:
Name Flags
suffix final
defval final
private static boolean inRange(int, int, int, int);
descriptor: (IIII)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
ifne 6
1: iload 0
iload 1
getstatic java.net.SocketPermission.ephemeralLow:I
getstatic java.net.SocketPermission.ephemeralHigh:I
invokestatic java.net.SocketPermission.inRange:(IIII)Z
ifne 3
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
iload 3
ifne 5
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
iconst_1
istore 2
6: StackMap locals:
StackMap stack:
iload 0
ifne 9
iload 1
ifne 9
7: iload 2
getstatic java.net.SocketPermission.ephemeralLow:I
if_icmplt 8
iload 3
getstatic java.net.SocketPermission.ephemeralHigh:I
if_icmpgt 8
iconst_1
ireturn
StackMap locals:
StackMap stack:
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
iload 0
ifeq 12
10: iload 2
iload 0
if_icmplt 11
iload 3
iload 1
if_icmpgt 11
iconst_1
ireturn
StackMap locals:
StackMap stack:
11: iconst_0
ireturn
12: StackMap locals:
StackMap stack:
iload 1
getstatic java.net.SocketPermission.ephemeralLow:I
iconst_1
isub
if_icmplt 15
13: iload 3
getstatic java.net.SocketPermission.ephemeralHigh:I
if_icmpgt 14
iconst_1
ireturn
StackMap locals:
StackMap stack:
14: iconst_0
ireturn
15: StackMap locals:
StackMap stack:
iload 2
iload 1
if_icmpgt 16
iload 3
iload 1
if_icmple 19
16: StackMap locals:
StackMap stack:
iload 2
getstatic java.net.SocketPermission.ephemeralLow:I
if_icmplt 18
iload 3
getstatic java.net.SocketPermission.ephemeralHigh:I
17: if_icmple 19
StackMap locals:
StackMap stack:
18: iconst_0
ireturn
StackMap locals:
StackMap stack:
19: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 policyLow I
0 20 1 policyHigh I
0 20 2 targetLow I
0 20 3 targetHigh I
MethodParameters:
Name Flags
policyLow
policyHigh
targetLow
targetHigh
}
SourceFile: "SocketPermission.java"
NestMembers:
java.net.SocketPermission$1
InnerClasses:
java.net.SocketPermission$1