Class IPAddressHelper
- java.lang.Object
-
- eu.emi.security.authn.x509.helpers.proxy.IPAddressHelper
-
public class IPAddressHelper extends java.lang.ObjectHelpers for IP addresses comparison. Mostly the code from Tigran's ipmatcher library (GNU license).
-
-
Field Summary
Fields Modifier and Type Field Description private static intIPv4_FULL_MASKprivate static intIPv6_FULL_MASKprivate static intIPv6_HALF_MASK
-
Constructor Summary
Constructors Constructor Description IPAddressHelper()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static intgetCidrNetmask(int size, byte[] netmask, int offset)private static intgetInt(byte[] bytes, int offset)Returns the big-endianintvalue whose byte representation is the 4 bytes ofbytesstaringoffset.private static longgetLong(byte[] bytes, int offset)Returns the big-endianlongvalue whose byte representation is the 8 bytes ofbytesstaringoffset.static booleanisWithinAddressSpace(byte[] ipBytes, byte[] ipAddressWithNetmask)Tests whether the ipAddress is within the address space defined by the ipAddressWithNetmask.
-
-
-
Field Detail
-
IPv4_FULL_MASK
private static final int IPv4_FULL_MASK
- See Also:
- Constant Field Values
-
IPv6_FULL_MASK
private static final int IPv6_FULL_MASK
- See Also:
- Constant Field Values
-
IPv6_HALF_MASK
private static final int IPv6_HALF_MASK
- See Also:
- Constant Field Values
-
-
Method Detail
-
isWithinAddressSpace
public static boolean isWithinAddressSpace(byte[] ipBytes, byte[] ipAddressWithNetmask)Tests whether the ipAddress is within the address space defined by the ipAddressWithNetmask.- Parameters:
ipBytes- The IP address bytes to compare against the address space.ipAddressWithNetmask- The 8 (IPv4) or 32 (IPv6) byte array containing in the first half the base IP address bytes and in the second half the netmask bytes.- Returns:
- true if ip matches subnet.
-
getLong
private static long getLong(byte[] bytes, int offset)Returns the big-endianlongvalue whose byte representation is the 8 bytes ofbytesstaringoffset.- Parameters:
bytes-offset-- Returns:
- long value
-
getInt
private static int getInt(byte[] bytes, int offset)Returns the big-endianintvalue whose byte representation is the 4 bytes ofbytesstaringoffset.- Parameters:
bytes-offset-- Returns:
- int value
-
getCidrNetmask
private static int getCidrNetmask(int size, byte[] netmask, int offset)
-
-