Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/quite/humla-spongycastle.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/java/org/bouncycastle/util/IPAddress.java')
-rw-r--r--core/src/main/java/org/bouncycastle/util/IPAddress.java188
1 files changed, 0 insertions, 188 deletions
diff --git a/core/src/main/java/org/bouncycastle/util/IPAddress.java b/core/src/main/java/org/bouncycastle/util/IPAddress.java
deleted file mode 100644
index 9f5d1cbc..00000000
--- a/core/src/main/java/org/bouncycastle/util/IPAddress.java
+++ /dev/null
@@ -1,188 +0,0 @@
-package org.bouncycastle.util;
-
-public class IPAddress
-{
- /**
- * Validate the given IPv4 or IPv6 address.
- *
- * @param address the IP address as a String.
- *
- * @return true if a valid address, false otherwise
- */
- public static boolean isValid(
- String address)
- {
- return isValidIPv4(address) || isValidIPv6(address);
- }
-
- /**
- * Validate the given IPv4 or IPv6 address and netmask.
- *
- * @param address the IP address as a String.
- *
- * @return true if a valid address with netmask, false otherwise
- */
- public static boolean isValidWithNetMask(
- String address)
- {
- return isValidIPv4WithNetmask(address) || isValidIPv6WithNetmask(address);
- }
-
- /**
- * Validate the given IPv4 address.
- *
- * @param address the IP address as a String.
- *
- * @return true if a valid IPv4 address, false otherwise
- */
- public static boolean isValidIPv4(
- String address)
- {
- if (address.length() == 0)
- {
- return false;
- }
-
- int octet;
- int octets = 0;
-
- String temp = address+".";
-
- int pos;
- int start = 0;
- while (start < temp.length()
- && (pos = temp.indexOf('.', start)) > start)
- {
- if (octets == 4)
- {
- return false;
- }
- try
- {
- octet = Integer.parseInt(temp.substring(start, pos));
- }
- catch (NumberFormatException ex)
- {
- return false;
- }
- if (octet < 0 || octet > 255)
- {
- return false;
- }
- start = pos + 1;
- octets++;
- }
-
- return octets == 4;
- }
-
- public static boolean isValidIPv4WithNetmask(
- String address)
- {
- int index = address.indexOf("/");
- String mask = address.substring(index + 1);
-
- return (index > 0) && isValidIPv4(address.substring(0, index))
- && (isValidIPv4(mask) || isMaskValue(mask, 32));
- }
-
- public static boolean isValidIPv6WithNetmask(
- String address)
- {
- int index = address.indexOf("/");
- String mask = address.substring(index + 1);
-
- return (index > 0) && (isValidIPv6(address.substring(0, index))
- && (isValidIPv6(mask) || isMaskValue(mask, 128)));
- }
-
- private static boolean isMaskValue(String component, int size)
- {
- try
- {
- int value = Integer.parseInt(component);
-
- return value >= 0 && value <= size;
- }
- catch (NumberFormatException e)
- {
- return false;
- }
- }
-
- /**
- * Validate the given IPv6 address.
- *
- * @param address the IP address as a String.
- *
- * @return true if a valid IPv4 address, false otherwise
- */
- public static boolean isValidIPv6(
- String address)
- {
- if (address.length() == 0)
- {
- return false;
- }
-
- int octet;
- int octets = 0;
-
- String temp = address + ":";
- boolean doubleColonFound = false;
- int pos;
- int start = 0;
- while (start < temp.length()
- && (pos = temp.indexOf(':', start)) >= start)
- {
- if (octets == 8)
- {
- return false;
- }
-
- if (start != pos)
- {
- String value = temp.substring(start, pos);
-
- if (pos == (temp.length() - 1) && value.indexOf('.') > 0)
- {
- if (!isValidIPv4(value))
- {
- return false;
- }
-
- octets++; // add an extra one as address covers 2 words.
- }
- else
- {
- try
- {
- octet = Integer.parseInt(temp.substring(start, pos), 16);
- }
- catch (NumberFormatException ex)
- {
- return false;
- }
- if (octet < 0 || octet > 0xffff)
- {
- return false;
- }
- }
- }
- else
- {
- if (pos != 1 && pos != temp.length() - 1 && doubleColonFound)
- {
- return false;
- }
- doubleColonFound = true;
- }
- start = pos + 1;
- octets++;
- }
-
- return octets == 8 || doubleColonFound;
- }
-}
-
-