Package org.keycloak.common.util
Class NetworkUtils
- java.lang.Object
-
- org.keycloak.common.util.NetworkUtils
-
public class NetworkUtils extends Object
Utility methods related to networking.- Author:
- Brian Stansberry (c) 2011 Red Hat Inc.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static String
canonize(String ipv6Address)
Convert IPv6 adress into RFC 5952 form.static boolean
checkForMac()
static String
formatAddress(InetAddress inet)
Formats input address.static String
formatAddress(InetSocketAddress inet)
Converts socket address into string literal, which has form: 'address:port'.static String
formatPossibleIpv6Address(String address)
static boolean
isBindingToMulticastDressSupported()
-
-
-
Method Detail
-
canonize
public static String canonize(String ipv6Address) throws IllegalArgumentException
Convert IPv6 adress into RFC 5952 form. E.g. 2001:db8:0:1:0:0:0:1 -> 2001:db8:0:1::1
Method is null safe, and if IPv4 address or host name is passed to the method it is returned wihout any processing.
Method also supports IPv4 in IPv6 (e.g. 0:0:0:0:0:ffff:192.0.2.1 -> ::ffff:192.0.2.1), and zone ID (e.g. fe80:0:0:0:f0f0:c0c0:1919:1234%4 -> fe80::f0f0:c0c0:1919:1234%4).
- Parameters:
ipv6Address
- String representing valid IPv6 address.- Returns:
- String representing IPv6 in canonical form.
- Throws:
IllegalArgumentException
- if IPv6 format is unacceptable.
-
formatAddress
public static String formatAddress(InetAddress inet)
Formats input address. For IPV4 returns simply host address, for IPV6 formats address according to RFC5952 rules. It does not embed IPV6 address in '[', ']', since those are part of IPV6 URI literal.- Parameters:
inet
-- Returns:
-
formatAddress
public static String formatAddress(InetSocketAddress inet)
Converts socket address into string literal, which has form: 'address:port'. Example:
- 127.0.0.1:8080
- dns.name.com:8080
- [0fe:1::20]:8080
- [::1]:8080
- Parameters:
inet
-- Returns:
-
isBindingToMulticastDressSupported
public static boolean isBindingToMulticastDressSupported()
-
checkForMac
public static boolean checkForMac()
-
-