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 transient boolean trusted;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
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 transient java.lang.String cdomain;
descriptor: Ljava/lang/String;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient java.lang.String hdomain;
descriptor: Ljava/lang/String;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
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: new sun.security.action.GetBooleanAction
dup
ldc "sun.net.trustNameService"
invokespecial sun.security.action.GetBooleanAction.<init>:(Ljava/lang/String;)V
3: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 0
start local 0 4: aload 0
invokevirtual java.lang.Boolean.booleanValue:()Z
putstatic java.net.SocketPermission.trustNameService:Z
end local 0 5: return
LocalVariableTable:
Start End Slot Name Signature
4 5 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
invokevirtual java.lang.String.isEmpty:()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
invokevirtual java.lang.String.isEmpty:()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
invokevirtual java.lang.String.isEmpty:()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
invokevirtual java.lang.String.isEmpty:()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.isEmpty:()Z
ifne 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
invokevirtual java.lang.String.isEmpty:()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 81
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 79
69: StackMap locals: int
StackMap stack:
aload 2
iload 3
iload 5
isub
caload
dup
istore 4
start local 4 70: lookupswitch { // 5
9: 71
10: 71
12: 71
13: 71
32: 71
default: 72
}
71: StackMap locals: java.lang.String int char[] int int int int
StackMap stack:
goto 78
72: StackMap locals:
StackMap stack:
iload 4
bipush 44
if_icmpne 75
iload 3
iload 5
if_icmple 75
73: iconst_1
istore 6
74: goto 78
75: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
76: 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;
77: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
78: StackMap locals:
StackMap stack:
iinc 3 -1
end local 4 79: StackMap locals: java.lang.String int char[] int top int int
StackMap stack:
iload 3
iload 5
if_icmplt 80
iload 6
ifeq 69
80: StackMap locals:
StackMap stack:
iload 3
iload 5
isub
istore 3
end local 6 end local 5 81: StackMap locals: java.lang.String int char[] int
StackMap stack:
iload 3
iconst_m1
if_icmpne 20
82: iload 1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 83 0 action Ljava/lang/String;
5 83 1 mask I
16 83 2 a [C
17 83 3 i I
19 20 4 c C
21 26 4 c C
70 79 4 c C
34 36 5 matchlen I
44 46 5 matchlen I
53 55 5 matchlen I
62 64 5 matchlen I
67 81 5 matchlen I
68 81 6 seencomma Z
MethodParameters:
Name Flags
action
private boolean isUntrusted();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield java.net.SocketPermission.trusted:Z
ifeq 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketPermission.invalid:Z
ifne 2
aload 0
getfield java.net.SocketPermission.untrusted:Z
ifeq 3
StackMap locals:
StackMap stack:
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
getstatic java.net.SocketPermission.trustNameService:Z
ifne 19
aload 0
getfield java.net.SocketPermission.defaultDeny:Z
ifne 5
4: aload 0
getfield java.net.SocketPermission.hostname:Ljava/lang/String;
invokestatic sun.net.www.URLConnection.isProxiedHost:(Ljava/lang/String;)Z
ifeq 19
5: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketPermission.cname:Ljava/lang/String;
ifnonnull 7
6: aload 0
invokevirtual java.net.SocketPermission.getCanonName:()V
7: StackMap locals:
StackMap stack:
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 14
8: 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 14
9: aload 0
iconst_1
putfield java.net.SocketPermission.untrusted:Z
10: invokestatic java.net.SocketPermission.getDebug:()Lsun/security/util/Debug;
astore 1
start local 1 11: aload 1
ifnull 13
ldc "failure"
invokestatic sun.security.util.Debug.isOn:(Ljava/lang/String;)Z
ifeq 13
12: 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
13: StackMap locals: sun.security.util.Debug
StackMap stack:
iconst_1
ireturn
end local 1 14: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield java.net.SocketPermission.trusted:Z
15: goto 19
StackMap locals:
StackMap stack: java.net.UnknownHostException
16: astore 1
start local 1 17: aload 0
iconst_1
putfield java.net.SocketPermission.invalid:Z
18: aload 1
athrow
end local 1 19: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljava/net/SocketPermission;
11 14 1 debug Lsun/security/util/Debug;
17 19 1 uhe Ljava/net/UnknownHostException;
Exception table:
from to target type
3 13 16 Class java.net.UnknownHostException
14 15 16 Class java.net.UnknownHostException
Exceptions:
throws java.net.UnknownHostException
void getCanonName();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, 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 14
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: goto 14
StackMap locals:
StackMap stack: java.net.UnknownHostException
11: astore 1
start local 1 12: aload 0
iconst_1
putfield java.net.SocketPermission.invalid:Z
13: aload 1
athrow
end local 1 14: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljava/net/SocketPermission;
12 14 1 uhe Ljava/net/UnknownHostException;
Exception table:
from to target type
2 10 11 Class java.net.UnknownHostException
Exceptions:
throws java.net.UnknownHostException
private static java.lang.String checkForIDN(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "xn--"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 1
aload 0
ldc ".xn--"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
invokestatic java.net.IDN.toUnicode:(Ljava/lang/String;)Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
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=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
invokestatic java.net.SocketPermission.checkForIDN:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 1: aload 2
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
invokestatic java.net.SocketPermission.checkForIDN:(Ljava/lang/String;)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 0
getfield java.net.SocketPermission.cdomain:Ljava/lang/String;
ifnonnull 10
6: aload 0
aload 3
invokestatic sun.security.util.RegisteredDomain.from:(Ljava/lang/String;)Ljava/util/Optional;
7: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
sun/security/util/RegisteredDomain.name()Ljava/lang/String; (9 itf)
(Lsun/security/util/RegisteredDomain;)Ljava/lang/String;
invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
8: aload 3
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
9: putfield java.net.SocketPermission.cdomain:Ljava/lang/String;
10: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketPermission.hdomain:Ljava/lang/String;
ifnonnull 15
11: aload 0
aload 4
invokestatic sun.security.util.RegisteredDomain.from:(Ljava/lang/String;)Ljava/util/Optional;
12: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
sun/security/util/RegisteredDomain.name()Ljava/lang/String; (9 itf)
(Lsun/security/util/RegisteredDomain;)Ljava/lang/String;
invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
13: aload 4
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
14: putfield java.net.SocketPermission.hdomain:Ljava/lang/String;
15: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketPermission.cdomain:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifne 16
aload 0
getfield java.net.SocketPermission.hdomain:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifne 16
aload 0
getfield java.net.SocketPermission.cdomain:Ljava/lang/String;
aload 0
getfield java.net.SocketPermission.hdomain:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
iconst_1
ireturn
StackMap locals:
StackMap stack:
16: 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 17 0 this Ljava/net/SocketPermission;
0 17 1 cname Ljava/lang/String;
0 17 2 hname Ljava/lang/String;
1 17 3 a Ljava/lang/String;
2 17 4 b Ljava/lang/String;
MethodParameters:
Name Flags
cname
hname
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 18
ldc "failure"
invokestatic sun.security.util.Debug.isOn:(Ljava/lang/String;)Z
ifeq 18
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 18
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 18
ldc "failure"
invokestatic sun.security.util.Debug.isOn:(Ljava/lang/String;)Z
ifeq 18
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: 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 19 0 this Ljava/net/SocketPermission;
0 19 1 cname Ljava/lang/String;
0 19 2 addr [B
1 19 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
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.StringBuilder
dup
bipush 39
invokespecial java.lang.StringBuilder.<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.StringBuilder 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.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: aload 5
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
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.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: aload 5
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
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.StringBuilder.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.StringBuilder
StackMap stack:
invokestatic java.net.SocketPermission.getDebug:()Lsun/security/util/Debug;
astore 6
start local 6 16: aload 6
ifnull 23
ldc "failure"
invokestatic sun.security.util.Debug.isOn:(Ljava/lang/String;)Z
ifeq 23
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 23
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 23
ldc "failure"
invokestatic sun.security.util.Debug.isOn:(Ljava/lang/String;)Z
ifeq 23
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: 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 24 0 this Ljava/net/SocketPermission;
0 24 1 cname Ljava/lang/String;
0 24 2 addr [B
1 24 3 authHost Ljava/lang/String;
13 19 4 auth Ljava/net/InetAddress;
2 18 5 sb Ljava/lang/StringBuilder;
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
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;
bipush 58
invokevirtual java.lang.String.indexOf:(I)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 14
13: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.net.SocketPermission.compareHostnames:(Ljava/net/SocketPermission;)Z
ireturn
14: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketPermission.init_with_ip:Z
ifeq 29
15: aload 1
getfield java.net.SocketPermission.wildcard:Z
ifeq 17
16: iconst_0
ireturn
17: StackMap locals:
StackMap stack:
aload 1
getfield java.net.SocketPermission.init_with_ip:Z
ifeq 20
18: 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
19: ireturn
20: StackMap locals:
StackMap stack:
aload 1
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
ifnonnull 22
21: aload 1
invokevirtual java.net.SocketPermission.getIP:()V
22: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 23: goto 27
24: 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 26
25: iconst_1
ireturn
26: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
27: iload 2
aload 1
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
arraylength
if_icmplt 24
28: iconst_0
ireturn
end local 2 29: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketPermission.wildcard:Z
ifne 30
aload 1
getfield java.net.SocketPermission.wildcard:Z
ifeq 39
30: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketPermission.wildcard:Z
ifeq 33
aload 1
getfield java.net.SocketPermission.wildcard:Z
ifeq 33
31: 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
32: ireturn
33: StackMap locals:
StackMap stack:
aload 1
getfield java.net.SocketPermission.wildcard:Z
ifeq 35
34: iconst_0
ireturn
35: StackMap locals:
StackMap stack:
aload 1
getfield java.net.SocketPermission.cname:Ljava/lang/String;
ifnonnull 37
36: aload 1
invokevirtual java.net.SocketPermission.getCanonName:()V
37: 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
38: ireturn
39: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
ifnonnull 41
40: aload 0
invokevirtual java.net.SocketPermission.getIP:()V
41: StackMap locals:
StackMap stack:
aload 1
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
ifnonnull 43
42: aload 1
invokevirtual java.net.SocketPermission.getIP:()V
43: StackMap locals:
StackMap stack:
aload 1
getfield java.net.SocketPermission.init_with_ip:Z
ifeq 44
aload 0
invokevirtual java.net.SocketPermission.isUntrusted:()Z
ifne 62
44: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 45: goto 53
46: StackMap locals: java.net.SocketPermission java.net.SocketPermission top int
StackMap stack:
iconst_0
istore 2
start local 2 47: goto 51
48: 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 50
49: iconst_1
ireturn
50: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
51: iload 2
aload 1
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
arraylength
if_icmplt 48
52: iinc 3 1
end local 2 StackMap locals: java.net.SocketPermission java.net.SocketPermission top int
StackMap stack:
53: iload 3
aload 0
getfield java.net.SocketPermission.addresses:[Ljava/net/InetAddress;
arraylength
if_icmplt 46
54: aload 0
getfield java.net.SocketPermission.cname:Ljava/lang/String;
ifnonnull 56
55: aload 0
invokevirtual java.net.SocketPermission.getCanonName:()V
56: StackMap locals:
StackMap stack:
aload 1
getfield java.net.SocketPermission.cname:Ljava/lang/String;
ifnonnull 58
57: aload 1
invokevirtual java.net.SocketPermission.getCanonName:()V
58: 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
59: ireturn
end local 3 60: StackMap locals: java.net.SocketPermission java.net.SocketPermission
StackMap stack: java.net.UnknownHostException
pop
61: aload 0
aload 1
invokevirtual java.net.SocketPermission.compareHostnames:(Ljava/net/SocketPermission;)Z
ireturn
62: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 63 0 this Ljava/net/SocketPermission;
0 63 1 that Ljava/net/SocketPermission;
23 29 2 i I
47 53 2 i I
45 60 3 j I
Exception table:
from to target type
14 16 60 Class java.net.UnknownHostException
17 19 60 Class java.net.UnknownHostException
20 25 60 Class java.net.UnknownHostException
26 28 60 Class java.net.UnknownHostException
29 32 60 Class java.net.UnknownHostException
33 34 60 Class java.net.UnknownHostException
35 38 60 Class java.net.UnknownHostException
39 49 60 Class java.net.UnknownHostException
50 59 60 Class java.net.UnknownHostException
MethodParameters:
Name Flags
that
private boolean compareHostnames(java.net.SocketPermission);
descriptor: (Ljava/net/SocketPermission;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, 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 0
getfield java.net.SocketPermission.wildcard:Z
ifeq 10
5: aload 0
getfield java.net.SocketPermission.cname:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
istore 4
start local 4 6: aload 3
iconst_1
7: aload 3
invokevirtual java.lang.String.length:()I
iload 4
isub
8: aload 0
getfield java.net.SocketPermission.cname:Ljava/lang/String;
iconst_0
iload 4
9: invokevirtual java.lang.String.regionMatches:(ZILjava/lang/String;II)Z
ireturn
end local 4 10: StackMap locals:
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 11 0 this Ljava/net/SocketPermission;
0 11 1 that Ljava/net/SocketPermission;
1 11 2 thisHost Ljava/lang/String;
2 11 3 thatHost Ljava/lang/String;
6 10 4 cnameLength I
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=3, locals=2, args_size=1
start local 0 0: new java.util.StringJoiner
dup
ldc ","
invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;)V
astore 1
start local 1 1: iload 0
iconst_1
iand
iconst_1
if_icmpne 3
2: aload 1
ldc "connect"
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
3: StackMap locals: java.util.StringJoiner
StackMap stack:
iload 0
iconst_2
iand
iconst_2
if_icmpne 5
4: aload 1
ldc "listen"
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
5: StackMap locals:
StackMap stack:
iload 0
iconst_4
iand
iconst_4
if_icmpne 7
6: aload 1
ldc "accept"
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
7: StackMap locals:
StackMap stack:
iload 0
bipush 8
iand
bipush 8
if_icmpne 9
8: aload 1
ldc "resolve"
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.StringJoiner.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 mask I
1 10 1 sj Ljava/util/StringJoiner;
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
defval
private static boolean inRange(int, int, int, int);
descriptor: (IIII)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic java.net.SocketPermission$EphemeralRange.low:I
istore 4
start local 4 1: getstatic java.net.SocketPermission$EphemeralRange.high:I
istore 5
start local 5 2: iload 2
ifne 8
3: iload 0
iload 1
iload 4
iload 5
invokestatic java.net.SocketPermission.inRange:(IIII)Z
ifne 5
4: iconst_0
ireturn
5: StackMap locals: int int
StackMap stack:
iload 3
ifne 7
6: iconst_1
ireturn
7: StackMap locals:
StackMap stack:
iconst_1
istore 2
8: StackMap locals:
StackMap stack:
iload 0
ifne 11
iload 1
ifne 11
9: iload 2
iload 4
if_icmplt 10
iload 3
iload 5
if_icmpgt 10
iconst_1
ireturn
StackMap locals:
StackMap stack:
10: iconst_0
ireturn
11: StackMap locals:
StackMap stack:
iload 0
ifeq 14
12: iload 2
iload 0
if_icmplt 13
iload 3
iload 1
if_icmpgt 13
iconst_1
ireturn
StackMap locals:
StackMap stack:
13: iconst_0
ireturn
14: StackMap locals:
StackMap stack:
iload 1
iload 4
iconst_1
isub
if_icmplt 17
15: iload 3
iload 5
if_icmpgt 16
iconst_1
ireturn
StackMap locals:
StackMap stack:
16: iconst_0
ireturn
17: StackMap locals:
StackMap stack:
iload 2
iload 1
if_icmpgt 18
iload 3
iload 1
if_icmple 21
18: StackMap locals:
StackMap stack:
iload 2
iload 4
if_icmplt 20
iload 3
iload 5
19: if_icmple 21
StackMap locals:
StackMap stack:
20: iconst_0
ireturn
StackMap locals:
StackMap stack:
21: iconst_1
ireturn
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 22 0 policyLow I
0 22 1 policyHigh I
0 22 2 targetLow I
0 22 3 targetHigh I
1 22 4 ephemeralLow I
2 22 5 ephemeralHigh I
MethodParameters:
Name Flags
policyLow
policyHigh
targetLow
targetHigh
}
SourceFile: "SocketPermission.java"
NestMembers:
java.net.SocketPermission$1 java.net.SocketPermission$EphemeralRange
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
java.net.SocketPermission$1
private EphemeralRange = java.net.SocketPermission$EphemeralRange of java.net.SocketPermission