Package io.undertow.util
Class NetworkUtils
java.lang.Object
io.undertow.util.NetworkUtils
- Author:
- Stuart Douglas, baranowb
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic StringformatPossibleIpv6Address(String address) static InetAddressparseIpv4Address(String addressString) static InetAddressparseIpv6Address(String addressString) static byte[]parseIpv6AddressToBytes(String addressString) static StringtoObfuscatedString(InetAddress address)
-
Field Details
-
IP4_SEGMENT
IPv4Segment: (25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])- See Also:
-
IP4_EXACT
?: - unnamed groups are used for performance reasons. IPv4Segment: 25[0-5]|((2[0-4]|1){0,1}[0-9]){0,1}[0-9]) -extra () is not needed but makes it clear for OR IPv4Address: (IPv4Segment\.){3,3}IPv4Segment- See Also:
-
IP6_SEGMENT
IPv6Segment: ([0-9a-fA-F]{1,4}) - 1 to 4 hex digits- See Also:
-
IP6_EXACT
IPV6 match. ?: - unnamed groups are used for performance reasons. Requirements: - match full or partial IPV6 ( sliding '::') - match end to start - ^$ to ensure it does not match part of some random (\d:){n,m} - IPv4-Embedded IPv6 Address - TODO: special types of addresses ? Explanation: IPv6Segment: ([0-9a-fA-F]{1,4}) - 1 to 4 hex digits IPv6Address: (IPv6Segment:){1,n}IPv6Segment or (IPv6Segment:){1,x}(:IPv6Segment){1,y} where x+y<8 ^ shift of segments ~left to right with qualifiers Above is just general form for pure IPv6 without any spices ^(?:([0-9a-fA-F]{1,4}:){7,7}(?:[0-9a-fA-F]){1,4} - 1:2:3:4:5:6:7:8 |(?:([0-9a-fA-F]{1,4}:)){1,7}(?:(:)) - 1:: 1:2:3:4:5:6:7:: |(?:([0-9a-fA-F]{1,4}:)){1,6}(?:(:[0-9a-fA-F]){1,4}) - 1::8 1:2:3:4:5:6::8 |(?:([0-9a-fA-F]{1,4}:)){1,5}(?:(:[0-9a-fA-F]{1,4})){1,2} - 1::7:8 1:2:3:4:5::8 |(?:([0-9a-fA-F]{1,4}:)){1,4}(?:(:[0-9a-fA-F]{1,4})){1,3} - 1::6:7:8 1:2:3:4::8 |(?:([0-9a-fA-F]{1,4}:)){1,3}(?:(:[0-9a-fA-F]{1,4})){1,4} - 1::5:6:7:8 1:2:3::8 |(?:([0-9a-fA-F]{1,4}:)){1,2}(?:(:[0-9a-fA-F]{1,4})){1,5} - 1::4:5:6:7:8 1:2::8 |(?:([0-9a-fA-F]{1,4}:))(?:(:[0-9a-fA-F]{1,4})){1,6} - 1::3:4:5:6:7:8 1::8 |(?:(:))(?:((:[0-9a-fA-F]{1,4}){1,7}|(?:(:)))) - ::2:3:4:5:6:7:8 ::8 :: |(?:([0-9a-fA-F]{1,4}:)){1,4}(?:(:IPv4Address)))$ - 1.2.3.4::192.168.1.1 1::192.168.1.1- See Also:
-
-
Method Details
-
formatPossibleIpv6Address
-
parseIpv4Address
- Throws:
IOException
-
parseIpv6Address
public static InetAddress parseIpv6Address(String addressString) throws IllegalArgumentException, UnknownHostException -
parseIpv6AddressToBytes
public static byte[] parseIpv6AddressToBytes(String addressString) throws IllegalArgumentException, UnknownHostException -
toObfuscatedString
-