summaryrefslogtreecommitdiffhomepage
path: root/app/src/main/java/com/wireguard/config/InetNetwork.java
diff options
context:
space:
mode:
authorHarsh Shandilya <me@msfjarvis.dev>2020-03-09 19:00:14 +0530
committerHarsh Shandilya <me@msfjarvis.dev>2020-03-09 19:24:26 +0530
commitadc613d8011af7c508050badb1272e8326554c39 (patch)
tree4eadedc0767e1f4f482b7c22ec905329acab62a6 /app/src/main/java/com/wireguard/config/InetNetwork.java
parentfd573f6c1c37bcfcd09237dfcd55e08b1e0eaff9 (diff)
Migrate tunnel related classes to tunnel/ Gradle module
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
Diffstat (limited to 'app/src/main/java/com/wireguard/config/InetNetwork.java')
-rw-r--r--app/src/main/java/com/wireguard/config/InetNetwork.java76
1 files changed, 0 insertions, 76 deletions
diff --git a/app/src/main/java/com/wireguard/config/InetNetwork.java b/app/src/main/java/com/wireguard/config/InetNetwork.java
deleted file mode 100644
index f89322fd..00000000
--- a/app/src/main/java/com/wireguard/config/InetNetwork.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright © 2017-2019 WireGuard LLC. All Rights Reserved.
- * SPDX-License-Identifier: Apache-2.0
- */
-
-package com.wireguard.config;
-
-import java.net.Inet4Address;
-import java.net.InetAddress;
-
-/**
- * An Internet network, denoted by its address and netmask
- * <p>
- * Instances of this class are immutable.
- */
-public final class InetNetwork {
- private final InetAddress address;
- private final int mask;
-
- private InetNetwork(final InetAddress address, final int mask) {
- this.address = address;
- this.mask = mask;
- }
-
- public static InetNetwork parse(final String network) throws ParseException {
- final int slash = network.lastIndexOf('/');
- final String maskString;
- final int rawMask;
- final String rawAddress;
- if (slash >= 0) {
- maskString = network.substring(slash + 1);
- try {
- rawMask = Integer.parseInt(maskString, 10);
- } catch (final NumberFormatException ignored) {
- throw new ParseException(Integer.class, maskString);
- }
- rawAddress = network.substring(0, slash);
- } else {
- maskString = "";
- rawMask = -1;
- rawAddress = network;
- }
- final InetAddress address = InetAddresses.parse(rawAddress);
- final int maxMask = (address instanceof Inet4Address) ? 32 : 128;
- if (rawMask > maxMask)
- throw new ParseException(InetNetwork.class, maskString, "Invalid network mask");
- final int mask = rawMask >= 0 && rawMask <= maxMask ? rawMask : maxMask;
- return new InetNetwork(address, mask);
- }
-
- @Override
- public boolean equals(final Object obj) {
- if (!(obj instanceof InetNetwork))
- return false;
- final InetNetwork other = (InetNetwork) obj;
- return address.equals(other.address) && mask == other.mask;
- }
-
- public InetAddress getAddress() {
- return address;
- }
-
- public int getMask() {
- return mask;
- }
-
- @Override
- public int hashCode() {
- return address.hashCode() ^ mask;
- }
-
- @Override
- public String toString() {
- return address.getHostAddress() + '/' + mask;
- }
-}