public final class ServerAcl extends Object
The ACL file is reloaded whenever a modification to it is detected. If you copy in a file with an older file date, you will need to touch it.
The public runtime method is permitAccess(). The public setup method is the constructor.
Each non-comment line in the ACL file must be a rule of the format:
{allow|deny} [/significant-bits]
For example
allow ahostname
deny ahost.domain.com
allow 127.0.0.1
allow 2001:db8::/32
In order to detect bit specification mistakes, we require that non-significant bits be zero in the values. An undesirable consequence of this is, you can't use a specification like the following to mean "all of the hosts on the same network as x.admc.com":
allow x.admc.com/24
ServerAcl(File)
,
permitAccess(java.lang.String)
Modifier and Type | Class and Description |
---|---|
static class |
ServerAcl.AclFormatException |
Modifier and Type | Method and Description |
---|---|
static String |
colonNotation(byte[] uba) |
static String |
dottedNotation(byte[] uba) |
static void |
main(String[] sa)
Utility method that allows interactive testing of individal
ACL records, as well as the net effect of the ACL record list.
|
boolean |
permitAccess(byte[] addr) |
boolean |
permitAccess(String s)
Uses system network libraries to resolve the given String to an IP addr,
then determine whether this address is permitted or denied.
|
void |
setPrintWriter(PrintWriter pw) |
String |
toString() |
public ServerAcl(File aclFile) throws IOException, ServerAcl.AclFormatException
public static String dottedNotation(byte[] uba)
uba
- Unsigned byte arraypublic static String colonNotation(byte[] uba)
uba
- Unsigned byte arraypublic void setPrintWriter(PrintWriter pw)
public boolean permitAccess(String s)
permitAccess(byte[])
public boolean permitAccess(byte[] addr)
RuntimeException
- if no rule covers the candidate address.
This would be the case if this class is applied to some
network protocol other than ipv4 or ipv6, without adding a
default rule for it.public static void main(String[] sa) throws ServerAcl.AclFormatException, IOException
Copyright �� 2001 - 2013 HSQL Development Group.