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 and 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()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### formatPossibleIpv6Address

          public static String formatPossibleIpv6Address(String address)

    - #### 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()

Copyright © 2021 JBoss by Red Hat. All rights reserved.