public final class org.hsqldb.server.ServerAcl
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.hsqldb.server.ServerAcl
super_class: java.lang.Object
{
protected static final byte[] ALL_SET_4BYTES;
descriptor: [B
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final byte[] ALL_SET_16BYTES;
descriptor: [B
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
private java.io.PrintWriter pw;
descriptor: Ljava/io/PrintWriter;
flags: (0x0002) ACC_PRIVATE
private java.util.List aclEntries;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
private static org.hsqldb.server.ServerAcl$AclEntry PROHIBIT_ALL_IPV4;
descriptor: Lorg/hsqldb/server/ServerAcl$AclEntry;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static org.hsqldb.server.ServerAcl$AclEntry PROHIBIT_ALL_IPV6;
descriptor: Lorg/hsqldb/server/ServerAcl$AclEntry;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private java.io.File aclFile;
descriptor: Ljava/io/File;
flags: (0x0002) ACC_PRIVATE
private long lastLoadTime;
descriptor: J
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=1, args_size=0
0: iconst_4
newarray 8
dup
iconst_0
1: iconst_m1
bastore
dup
iconst_1
iconst_m1
bastore
dup
iconst_2
iconst_m1
bastore
dup
iconst_3
iconst_m1
bastore
2: putstatic org.hsqldb.server.ServerAcl.ALL_SET_4BYTES:[B
3: bipush 16
newarray 8
dup
iconst_0
4: iconst_m1
bastore
dup
iconst_1
iconst_m1
bastore
dup
iconst_2
iconst_m1
bastore
dup
iconst_3
iconst_m1
bastore
dup
iconst_4
iconst_m1
bastore
dup
iconst_5
iconst_m1
bastore
dup
bipush 6
iconst_m1
bastore
dup
bipush 7
iconst_m1
bastore
dup
bipush 8
iconst_m1
bastore
dup
bipush 9
iconst_m1
bastore
dup
bipush 10
iconst_m1
bastore
dup
bipush 11
iconst_m1
bastore
dup
bipush 12
iconst_m1
bastore
dup
bipush 13
iconst_m1
bastore
dup
bipush 14
iconst_m1
bastore
dup
bipush 15
iconst_m1
bastore
5: putstatic org.hsqldb.server.ServerAcl.ALL_SET_16BYTES:[B
6: new org.hsqldb.server.ServerAcl$AclEntry
dup
ldc "0.0.0.0"
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getAddress:()[B
iconst_0
7: iconst_0
8: invokespecial org.hsqldb.server.ServerAcl$AclEntry.<init>:([BIZ)V
9: putstatic org.hsqldb.server.ServerAcl.PROHIBIT_ALL_IPV4:Lorg/hsqldb/server/ServerAcl$AclEntry;
10: new org.hsqldb.server.ServerAcl$AclEntry
dup
ldc "::"
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getAddress:()[B
iconst_0
11: iconst_0
12: invokespecial org.hsqldb.server.ServerAcl$AclEntry.<init>:([BIZ)V
13: putstatic org.hsqldb.server.ServerAcl.PROHIBIT_ALL_IPV6:Lorg/hsqldb/server/ServerAcl$AclEntry;
14: goto 23
StackMap locals:
StackMap stack: java.net.UnknownHostException
15: astore 0
start local 0 16: new java.lang.RuntimeException
dup
17: ldc "Unexpected problem in static initializer"
aload 0
18: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 0 19: StackMap locals:
StackMap stack: org.hsqldb.server.ServerAcl$AclFormatException
astore 0
start local 0 20: new java.lang.RuntimeException
dup
21: ldc "Unexpected problem in static initializer"
aload 0
22: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 0 23: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
16 19 0 uke Ljava/net/UnknownHostException;
20 23 0 afe Lorg/hsqldb/server/ServerAcl$AclFormatException;
Exception table:
from to target type
6 14 15 Class java.net.UnknownHostException
6 14 19 Class org.hsqldb.server.ServerAcl$AclFormatException
public static java.lang.String dottedNotation(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, 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: goto 7
3: StackMap locals: java.lang.StringBuilder int
StackMap stack:
iload 2
ifle 5
4: aload 1
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
5: StackMap locals:
StackMap stack:
aload 1
aload 0
iload 2
baload
sipush 255
iand
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 0
arraylength
if_icmplt 3
end local 2 8: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 uba [B
1 9 1 sb Ljava/lang/StringBuilder;
2 8 2 i I
MethodParameters:
Name Flags
uba
public static java.lang.String colonNotation(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
arraylength
iconst_2
idiv
iconst_2
imul
aload 0
arraylength
if_icmpeq 4
1: new java.lang.RuntimeException
dup
2: ldc "At this time .colonNotation only handles even byte quantities"
3: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 5: iconst_0
istore 2
start local 2 6: goto 13
7: StackMap locals: java.lang.StringBuilder int
StackMap stack:
iload 2
ifle 9
8: aload 1
bipush 58
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: StackMap locals:
StackMap stack:
aload 1
aload 0
iload 2
baload
sipush 255
iand
sipush 256
imul
10: aload 0
iload 2
iconst_1
iadd
baload
sipush 255
iand
iadd
11: invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: iinc 2 2
StackMap locals:
StackMap stack:
13: iload 2
aload 0
arraylength
if_icmplt 7
end local 2 14: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 uba [B
5 15 1 sb Ljava/lang/StringBuilder;
6 14 2 i I
MethodParameters:
Name Flags
uba
public void setPrintWriter(java.io.PrintWriter);
descriptor: (Ljava/io/PrintWriter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.hsqldb.server.ServerAcl.pw:Ljava/io/PrintWriter;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hsqldb/server/ServerAcl;
0 2 1 pw Ljava/io/PrintWriter;
MethodParameters:
Name Flags
pw
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, 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: goto 7
3: StackMap locals: java.lang.StringBuilder int
StackMap stack:
iload 2
ifle 5
4: aload 1
bipush 10
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
5: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "Entry "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.hsqldb.server.ServerAcl.aclEntries:Ljava/util/List;
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 0
getfield org.hsqldb.server.ServerAcl.aclEntries:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 3
end local 2 8: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/hsqldb/server/ServerAcl;
1 9 1 sb Ljava/lang/StringBuilder;
2 8 2 i I
public boolean permitAccess(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getAddress:()[B
invokevirtual org.hsqldb.server.ServerAcl.permitAccess:([B)Z
1: ireturn
2: StackMap locals:
StackMap stack: java.net.UnknownHostException
pop
3: aload 0
new java.lang.StringBuilder
dup
ldc "'"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' denied because failed to resolve to an addr"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.hsqldb.server.ServerAcl.println:(Ljava/lang/String;)V
4: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hsqldb/server/ServerAcl;
0 5 1 s Ljava/lang/String;
Exception table:
from to target type
0 1 2 Class java.net.UnknownHostException
MethodParameters:
Name Flags
s
public boolean permitAccess(byte[]);
descriptor: ([B)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.hsqldb.server.ServerAcl.ensureAclsUptodate:()V
1: iconst_0
istore 2
start local 2 2: goto 10
3: StackMap locals: int
StackMap stack:
aload 0
getfield org.hsqldb.server.ServerAcl.aclEntries:Ljava/util/List;
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.hsqldb.server.ServerAcl$AclEntry
aload 1
invokevirtual org.hsqldb.server.ServerAcl$AclEntry.matches:([B)Z
ifeq 9
4: aload 0
getfield org.hsqldb.server.ServerAcl.aclEntries:Ljava/util/List;
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.hsqldb.server.ServerAcl$AclEntry
astore 3
start local 3 5: aload 0
new java.lang.StringBuilder
dup
ldc "Addr '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokestatic org.hsqldb.server.ServerAcl.dottedNotation:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: ldc "' matched rule #"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokevirtual org.hsqldb.server.ServerAcl.println:(Ljava/lang/String;)V
8: aload 3
getfield org.hsqldb.server.ServerAcl$AclEntry.allow:Z
ireturn
end local 3 9: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
10: iload 2
aload 0
getfield org.hsqldb.server.ServerAcl.aclEntries:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 3
end local 2 11: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "No rule matches address '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
12: aload 1
invokestatic org.hsqldb.server.ServerAcl.dottedNotation:([B)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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/hsqldb/server/ServerAcl;
0 14 1 addr [B
2 11 2 i I
5 9 3 hit Lorg/hsqldb/server/ServerAcl$AclEntry;
MethodParameters:
Name Flags
addr
private void println(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.hsqldb.server.ServerAcl.pw:Ljava/io/PrintWriter;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.server.ServerAcl.pw:Ljava/io/PrintWriter;
aload 1
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
3: aload 0
getfield org.hsqldb.server.ServerAcl.pw:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.flush:()V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hsqldb/server/ServerAcl;
0 5 1 s Ljava/lang/String;
MethodParameters:
Name Flags
s
public void <init>(java.io.File);
descriptor: (Ljava/io/File;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield org.hsqldb.server.ServerAcl.pw:Ljava/io/PrintWriter;
2: aload 0
lconst_0
putfield org.hsqldb.server.ServerAcl.lastLoadTime:J
3: aload 0
aload 1
putfield org.hsqldb.server.ServerAcl.aclFile:Ljava/io/File;
4: aload 0
aload 0
invokevirtual org.hsqldb.server.ServerAcl.load:()Ljava/util/List;
putfield org.hsqldb.server.ServerAcl.aclEntries:Ljava/util/List;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/hsqldb/server/ServerAcl;
0 6 1 aclFile Ljava/io/File;
Exceptions:
throws java.io.IOException, org.hsqldb.server.ServerAcl$AclFormatException
MethodParameters:
Name Flags
aclFile
protected synchronized void ensureAclsUptodate();
descriptor: ()V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.server.ServerAcl.lastLoadTime:J
aload 0
getfield org.hsqldb.server.ServerAcl.aclFile:Ljava/io/File;
invokevirtual java.io.File.lastModified:()J
lcmp
ifle 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual org.hsqldb.server.ServerAcl.load:()Ljava/util/List;
putfield org.hsqldb.server.ServerAcl.aclEntries:Ljava/util/List;
3: aload 0
ldc "ACLs reloaded from file"
invokevirtual org.hsqldb.server.ServerAcl.println:(Ljava/lang/String;)V
4: return
5: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 6: aload 0
new java.lang.StringBuilder
dup
ldc "Failed to reload ACL file. Retaining old ACLs. "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.hsqldb.server.ServerAcl.println:(Ljava/lang/String;)V
end local 1 7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/hsqldb/server/ServerAcl;
6 7 1 e Ljava/lang/Exception;
Exception table:
from to target type
2 4 5 Class java.lang.Exception
protected java.util.List load();
descriptor: ()Ljava/util/List;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=15, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.server.ServerAcl.aclFile:Ljava/io/File;
invokevirtual java.io.File.exists:()Z
ifne 4
1: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "File '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.hsqldb.server.ServerAcl.aclFile:Ljava/io/File;
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc "' is not present"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.server.ServerAcl.aclFile:Ljava/io/File;
invokevirtual java.io.File.isFile:()Z
ifne 8
5: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "'"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.hsqldb.server.ServerAcl.aclFile:Ljava/io/File;
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: ldc "' is not a regular file"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.server.ServerAcl.aclFile:Ljava/io/File;
invokevirtual java.io.File.canRead:()Z
ifne 12
9: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "'"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.hsqldb.server.ServerAcl.aclFile:Ljava/io/File;
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: ldc "' is not accessible"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 13: iconst_0
istore 7
start local 7 14: new java.io.BufferedReader
dup
new java.io.FileReader
dup
aload 0
getfield org.hsqldb.server.ServerAcl.aclFile:Ljava/io/File;
invokespecial java.io.FileReader.<init>:(Ljava/io/File;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 11
start local 11 15: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 12
start local 12 16: goto 73
start local 1 17: StackMap locals: org.hsqldb.server.ServerAcl java.lang.String top top top java.lang.String top int top top top java.io.BufferedReader java.util.List
StackMap stack:
iinc 7 1
18: aload 1
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 1
19: aload 1
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpge 21
20: goto 73
21: StackMap locals:
StackMap stack:
aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 35
if_icmpne 23
22: goto 73
23: StackMap locals:
StackMap stack:
new java.util.StringTokenizer
dup
aload 1
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;)V
astore 3
start local 3 24: aload 3
invokevirtual java.util.StringTokenizer.countTokens:()I
iconst_2
if_icmpeq 26
25: new org.hsqldb.server.ServerAcl$InternalException
dup
invokespecial org.hsqldb.server.ServerAcl$InternalException.<init>:()V
athrow
26: StackMap locals: org.hsqldb.server.ServerAcl java.lang.String top java.util.StringTokenizer top java.lang.String top int top top top java.io.BufferedReader java.util.List
StackMap stack:
aload 3
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 2
start local 2 27: aload 3
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 4
start local 4 28: aload 4
bipush 47
invokevirtual java.lang.String.indexOf:(I)I
istore 6
start local 6 29: iload 6
iconst_m1
if_icmple 32
30: aload 4
iload 6
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 5
31: aload 4
iconst_0
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 4
32: StackMap locals: org.hsqldb.server.ServerAcl java.lang.String java.lang.String java.util.StringTokenizer java.lang.String java.lang.String int int top top top java.io.BufferedReader java.util.List
StackMap stack:
aload 4
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getAddress:()[B
astore 8
start local 8 33: aload 5
ifnonnull 34
aload 8
arraylength
bipush 8
imul
goto 35
34: StackMap locals: org.hsqldb.server.ServerAcl java.lang.String java.lang.String java.util.StringTokenizer java.lang.String java.lang.String int int byte[] top top java.io.BufferedReader java.util.List
StackMap stack:
aload 5
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
35: StackMap locals:
StackMap stack: int
istore 10
start local 10 36: aload 2
ldc "allow"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 39
37: iconst_1
istore 9
start local 9 38: goto 65
end local 9 StackMap locals: org.hsqldb.server.ServerAcl java.lang.String java.lang.String java.util.StringTokenizer java.lang.String java.lang.String int int byte[] top int java.io.BufferedReader java.util.List
StackMap stack:
39: aload 2
ldc "permit"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 42
40: iconst_1
istore 9
start local 9 41: goto 65
end local 9 StackMap locals:
StackMap stack:
42: aload 2
ldc "accept"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 45
43: iconst_1
istore 9
start local 9 44: goto 65
end local 9 StackMap locals:
StackMap stack:
45: aload 2
ldc "prohibit"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 48
46: iconst_0
istore 9
start local 9 47: goto 65
end local 9 StackMap locals:
StackMap stack:
48: aload 2
ldc "deny"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 51
49: iconst_0
istore 9
start local 9 50: goto 65
end local 9 StackMap locals:
StackMap stack:
51: aload 2
ldc "reject"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 54
52: iconst_0
istore 9
start local 9 53: goto 65
end local 9 54: StackMap locals:
StackMap stack:
new org.hsqldb.server.ServerAcl$InternalException
dup
invokespecial org.hsqldb.server.ServerAcl$InternalException.<init>:()V
athrow
end local 10 end local 8 end local 6 end local 4 end local 2 55: StackMap locals: org.hsqldb.server.ServerAcl java.lang.String top java.util.StringTokenizer top java.lang.String top int top top top java.io.BufferedReader java.util.List
StackMap stack: java.lang.NumberFormatException
pop
56: new org.hsqldb.server.ServerAcl$AclFormatException
dup
new java.lang.StringBuilder
dup
ldc "Syntax error at ACL file '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
57: aload 0
getfield org.hsqldb.server.ServerAcl.aclFile:Ljava/io/File;
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
58: ldc "', line "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
59: invokespecial org.hsqldb.server.ServerAcl$AclFormatException.<init>:(Ljava/lang/String;)V
athrow
60: StackMap locals:
StackMap stack: org.hsqldb.server.ServerAcl$InternalException
pop
61: new org.hsqldb.server.ServerAcl$AclFormatException
dup
new java.lang.StringBuilder
dup
ldc "Syntax error at ACL file '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
62: aload 0
getfield org.hsqldb.server.ServerAcl.aclFile:Ljava/io/File;
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
63: ldc "', line "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
64: invokespecial org.hsqldb.server.ServerAcl$AclFormatException.<init>:(Ljava/lang/String;)V
athrow
start local 2 start local 4 start local 6 start local 8 start local 9 start local 10 65: StackMap locals: org.hsqldb.server.ServerAcl java.lang.String java.lang.String java.util.StringTokenizer java.lang.String java.lang.String int int byte[] int int java.io.BufferedReader java.util.List
StackMap stack:
aload 12
new org.hsqldb.server.ServerAcl$AclEntry
dup
aload 8
iload 10
iload 9
invokespecial org.hsqldb.server.ServerAcl$AclEntry.<init>:([BIZ)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
66: goto 73
StackMap locals:
StackMap stack: org.hsqldb.server.ServerAcl$AclFormatException
67: astore 13
start local 13 68: new org.hsqldb.server.ServerAcl$AclFormatException
dup
new java.lang.StringBuilder
dup
ldc "Syntax error at ACL file '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
69: aload 0
getfield org.hsqldb.server.ServerAcl.aclFile:Ljava/io/File;
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
70: ldc "', line "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
71: aload 13
invokevirtual org.hsqldb.server.ServerAcl$AclFormatException.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
72: invokespecial org.hsqldb.server.ServerAcl$AclFormatException.<init>:(Ljava/lang/String;)V
athrow
end local 13 end local 10 end local 9 end local 8 end local 6 end local 4 end local 3 end local 2 end local 1 73: StackMap locals: org.hsqldb.server.ServerAcl top top top top java.lang.String top int top top top java.io.BufferedReader java.util.List
StackMap stack:
aload 11
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 1
start local 1 74: ifnonnull 17
75: goto 79
end local 1 StackMap locals:
StackMap stack: java.lang.Throwable
76: astore 14
77: aload 11
invokevirtual java.io.BufferedReader.close:()V
78: aload 14
athrow
start local 1 79: StackMap locals: org.hsqldb.server.ServerAcl java.lang.String top top top java.lang.String top int top top top java.io.BufferedReader java.util.List
StackMap stack:
aload 11
invokevirtual java.io.BufferedReader.close:()V
80: aload 12
getstatic org.hsqldb.server.ServerAcl.PROHIBIT_ALL_IPV4:Lorg/hsqldb/server/ServerAcl$AclEntry;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
81: aload 12
getstatic org.hsqldb.server.ServerAcl.PROHIBIT_ALL_IPV6:Lorg/hsqldb/server/ServerAcl$AclEntry;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
82: aload 0
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
invokevirtual java.util.Date.getTime:()J
putfield org.hsqldb.server.ServerAcl.lastLoadTime:J
83: aload 12
areturn
end local 12 end local 11 end local 7 end local 5 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 84 0 this Lorg/hsqldb/server/ServerAcl;
17 73 1 line Ljava/lang/String;
74 76 1 line Ljava/lang/String;
79 84 1 line Ljava/lang/String;
27 55 2 ruleTypeString Ljava/lang/String;
65 73 2 ruleTypeString Ljava/lang/String;
24 73 3 toker Ljava/util/StringTokenizer;
28 55 4 addrString Ljava/lang/String;
65 73 4 addrString Ljava/lang/String;
13 84 5 bitString Ljava/lang/String;
29 55 6 slashIndex I
65 73 6 slashIndex I
14 84 7 linenum I
33 55 8 addr [B
65 73 8 addr [B
38 39 9 allow Z
41 42 9 allow Z
44 45 9 allow Z
47 48 9 allow Z
50 51 9 allow Z
53 54 9 allow Z
65 73 9 allow Z
36 55 10 bits I
65 73 10 bits I
15 84 11 br Ljava/io/BufferedReader;
16 84 12 newAcls Ljava/util/List<Lorg/hsqldb/server/ServerAcl$AclEntry;>;
68 73 13 afe Lorg/hsqldb/server/ServerAcl$AclFormatException;
Exception table:
from to target type
24 55 55 Class java.lang.NumberFormatException
24 55 60 Class org.hsqldb.server.ServerAcl$InternalException
65 66 67 Class org.hsqldb.server.ServerAcl$AclFormatException
16 76 76 any
Exceptions:
throws java.io.IOException, org.hsqldb.server.ServerAcl$AclFormatException
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
arraylength
iconst_1
if_icmple 5
1: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Try: java -cp path/to/hsqldb.jar "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: ldc Lorg/hsqldb/server/ServerAcl;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc " --help"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
arraylength
ifle 12
aload 0
iconst_0
aaload
ldc "--help"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
6: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "SYNTAX: java -cp path/to/hsqldb.jar "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: ldc Lorg/hsqldb/server/ServerAcl;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: ldc " [filepath.txt]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "ACL file path defaults to 'acl.txt' in the current directory."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
11: iconst_0
invokestatic java.lang.System.exit:(I)V
12: StackMap locals:
StackMap stack:
new org.hsqldb.server.ServerAcl
dup
13: new java.io.File
dup
aload 0
arraylength
ifne 15
14: ldc "acl.txt"
goto 16
15: StackMap locals: java.lang.String[]
StackMap stack: new 12 new 12 new 13 new 13
aload 0
iconst_0
aaload
StackMap locals: java.lang.String[]
StackMap stack: new 12 new 12 new 13 new 13 java.lang.String
16: invokespecial java.io.File.<init>:(Ljava/lang/String;)V
17: invokespecial org.hsqldb.server.ServerAcl.<init>:(Ljava/io/File;)V
astore 1
start local 1 18: aload 1
new java.io.PrintWriter
dup
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
invokevirtual org.hsqldb.server.ServerAcl.setPrintWriter:(Ljava/io/PrintWriter;)V
19: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 1
invokevirtual org.hsqldb.server.ServerAcl.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
20: new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
getstatic java.lang.System.in:Ljava/io/InputStream;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
21: astore 2
start local 2 22: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Enter hostnames or IP addresses to be tested (one per line)."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
23: goto 28
start local 3 24: StackMap locals: org.hsqldb.server.ServerAcl java.io.BufferedReader java.lang.String
StackMap stack:
aload 3
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 3
25: aload 3
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpge 27
26: goto 28
27: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 1
aload 3
invokevirtual org.hsqldb.server.ServerAcl.permitAccess:(Ljava/lang/String;)Z
invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 3 28: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 3
start local 3 29: ifnonnull 24
30: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 sa [Ljava/lang/String;
18 31 1 serverAcl Lorg/hsqldb/server/ServerAcl;
22 31 2 br Ljava/io/BufferedReader;
24 28 3 s Ljava/lang/String;
29 31 3 s Ljava/lang/String;
Exceptions:
throws org.hsqldb.server.ServerAcl$AclFormatException, java.io.IOException
MethodParameters:
Name Flags
sa
}
SourceFile: "ServerAcl.java"
NestMembers:
org.hsqldb.server.ServerAcl$AclEntry org.hsqldb.server.ServerAcl$AclFormatException org.hsqldb.server.ServerAcl$InternalException
InnerClasses:
private final AclEntry = org.hsqldb.server.ServerAcl$AclEntry of org.hsqldb.server.ServerAcl
public final AclFormatException = org.hsqldb.server.ServerAcl$AclFormatException of org.hsqldb.server.ServerAcl
private final InternalException = org.hsqldb.server.ServerAcl$InternalException of org.hsqldb.server.ServerAcl