Class AddressUtils


  • public class AddressUtils
    extends java.lang.Object
    • Field Detail

      • i2p_is_lan_limit

        private static boolean i2p_is_lan_limit
      • host_map

        private static java.util.Map host_map
      • pending_addresses

        private static java.util.Set<java.net.InetSocketAddress> pending_addresses
      • extra_ipv6_globals

        static volatile java.util.List<java.lang.Object[]> extra_ipv6_globals
        checks if the provided address is a global-scope ipv6 unicast address
    • Constructor Detail

      • AddressUtils

        public AddressUtils()
    • Method Detail

      • adjustURL

        public static java.net.URL adjustURL​(java.net.URL url)
      • addHostRedirect

        public static void addHostRedirect​(java.lang.String from_host,
                                           java.lang.String to_host)
      • adjustTCPAddress

        public static java.net.InetSocketAddress adjustTCPAddress​(java.net.InetSocketAddress address,
                                                                  boolean ext_to_lan)
      • adjustUDPAddress

        public static java.net.InetSocketAddress adjustUDPAddress​(java.net.InetSocketAddress address,
                                                                  boolean ext_to_lan)
      • adjustDHTAddress

        public static java.net.InetSocketAddress adjustDHTAddress​(java.net.InetSocketAddress address,
                                                                  boolean ext_to_lan)
      • adjustAddress

        private static java.net.InetSocketAddress adjustAddress​(java.net.InetSocketAddress address,
                                                                boolean ext_to_lan,
                                                                int port_type)
      • getLANAddresses

        public static java.util.List<java.lang.String> getLANAddresses​(java.lang.String address)
      • isLANLocalAddress

        public static byte isLANLocalAddress​(java.net.InetSocketAddress socket_address)
      • isLANLocalAddress

        public static byte isLANLocalAddress​(java.lang.String address)
      • addExplicitLANRateLimitAddress

        public static void addExplicitLANRateLimitAddress​(java.net.InetSocketAddress address)
      • isExplicitLANRateLimitAddress

        public static boolean isExplicitLANRateLimitAddress​(java.net.InetSocketAddress address)
      • isExplicitLANRateLimitAddress

        public static boolean isExplicitLANRateLimitAddress​(java.lang.String ip)
      • removeExplicitLANRateLimitAddress

        public static void removeExplicitLANRateLimitAddress​(java.net.InetSocketAddress address)
      • applyLANRateLimits

        public static boolean applyLANRateLimits​(java.net.InetSocketAddress address)
      • isGlobalAddressV6

        public static boolean isGlobalAddressV6​(java.net.InetAddress addr)
      • isTeredo

        public static boolean isTeredo​(java.net.InetAddress addr)
      • is6to4

        public static boolean is6to4​(java.net.InetAddress addr)
      • pickBestGlobalV6Addresses

        public static java.util.List<java.net.InetAddress> pickBestGlobalV6Addresses​(java.util.List<java.net.InetAddress> addrs)
        picks 1 global-scoped address out of a list based on the heuristic "true" ipv6/tunnel broker > 6to4 > teredo
        Returns:
        empty list if no proper v6 address is found, best one otherwise
      • getByName

        public static java.net.InetAddress getByName​(java.lang.String host)
                                              throws java.net.UnknownHostException
        Throws:
        java.net.UnknownHostException
      • getAllByName

        public static java.net.InetAddress[] getAllByName​(java.lang.String host)
                                                   throws java.net.UnknownHostException
        Throws:
        java.net.UnknownHostException
      • getAddressBytes

        public static byte[] getAddressBytes​(java.net.InetSocketAddress address)
      • getHostAddress

        public static java.lang.String getHostAddress​(java.net.InetSocketAddress address)
      • sameHost

        public static boolean sameHost​(java.net.InetSocketAddress a1,
                                       java.net.InetSocketAddress a2)
      • getSocketAddress

        public static java.net.InetSocketAddress getSocketAddress​(java.lang.String host)
                                                           throws java.net.UnknownHostException
        Throws:
        java.net.UnknownHostException
      • getHostAddressForURL

        public static java.lang.String getHostAddressForURL​(java.net.InetSocketAddress address)
      • getHostNameNoResolve

        public static java.lang.String getHostNameNoResolve​(java.net.InetSocketAddress address)
      • convertToShortForm

        public static java.lang.String convertToShortForm​(java.lang.String address)
      • isPotentialLiteralOrHostAddress

        public static boolean isPotentialLiteralOrHostAddress​(java.lang.String str)
      • matchesCIDR

        public static boolean matchesCIDR​(java.lang.String address_mask,
                                          int len,
                                          java.net.InetAddress address)
      • matchesCIDR

        public static boolean matchesCIDR​(byte[] prefix,
                                          int len,
                                          byte[] bytes)
      • getShortForm

        public static java.lang.String getShortForm​(java.net.Inet6Address a)
      • getShortForm

        private static java.lang.String getShortForm​(java.lang.String str)