summaryrefslogtreecommitdiffhomepage
path: root/app/src/main/java/com/wireguard/config/Interface.java
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2018-12-11 02:28:34 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2018-12-11 02:28:34 +0100
commit266ee7626c4c602c6f690c7c663526e38141986b (patch)
treeb28166b4cf938d0a75fc5ad82f84c0cda89cd350 /app/src/main/java/com/wireguard/config/Interface.java
parentc1ba1f409cd1566cb11d0c26d610ffdff4d2e24c (diff)
Throw illegalargumentexception instead of nullpointerexception for builder errors
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'app/src/main/java/com/wireguard/config/Interface.java')
-rw-r--r--app/src/main/java/com/wireguard/config/Interface.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/app/src/main/java/com/wireguard/config/Interface.java b/app/src/main/java/com/wireguard/config/Interface.java
index 7b114a09..f97c4731 100644
--- a/app/src/main/java/com/wireguard/config/Interface.java
+++ b/app/src/main/java/com/wireguard/config/Interface.java
@@ -44,11 +44,14 @@ public final class Interface {
private final Optional<Integer> mtu;
private Interface(final Builder builder) {
+ if (builder.keyPair == null)
+ throw new IllegalArgumentException("Interfaces must have a private key");
+
// Defensively copy to ensure immutability even if the Builder is reused.
addresses = Collections.unmodifiableSet(new LinkedHashSet<>(builder.addresses));
dnsServers = Collections.unmodifiableSet(new LinkedHashSet<>(builder.dnsServers));
excludedApplications = Collections.unmodifiableSet(new LinkedHashSet<>(builder.excludedApplications));
- keyPair = Objects.requireNonNull(builder.keyPair, "Interfaces must have a private key");
+ keyPair = builder.keyPair;
listenPort = builder.listenPort;
mtu = builder.mtu;
}