From c2189a78b9dafc237afd3de5f9fc66bc1567eb15 Mon Sep 17 00:00:00 2001 From: Samuel Holland Date: Thu, 17 Aug 2017 03:32:01 -0500 Subject: [PATCH] ConfigEditFragment: Add extremely basic validation Signed-off-by: Jason A. Donenfeld --- .../java/com/wireguard/android/ConfigEditFragment.java | 6 +++++- app/src/main/java/com/wireguard/config/Config.java | 8 ++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/wireguard/android/ConfigEditFragment.java b/app/src/main/java/com/wireguard/android/ConfigEditFragment.java index 7cbcfddd..384aadef 100644 --- a/app/src/main/java/com/wireguard/android/ConfigEditFragment.java +++ b/app/src/main/java/com/wireguard/android/ConfigEditFragment.java @@ -73,7 +73,11 @@ public class ConfigEditFragment extends BaseConfigFragment { } private void saveConfig() { - // FIXME: validate input + final String errorMessage = localConfig.validate(); + if (errorMessage != null) { + Toast.makeText(getActivity(), errorMessage, Toast.LENGTH_SHORT).show(); + return; + } try { if (getCurrentConfig() != null) VpnService.getInstance().update(getCurrentConfig().getName(), localConfig); diff --git a/app/src/main/java/com/wireguard/config/Config.java b/app/src/main/java/com/wireguard/config/Config.java index 9f1dbf4c..3f98cbcb 100644 --- a/app/src/main/java/com/wireguard/config/Config.java +++ b/app/src/main/java/com/wireguard/config/Config.java @@ -127,4 +127,12 @@ public class Config extends BaseObservable sb.append('\n').append(peer); return sb.toString(); } + + public String validate() { + if (name == null || !isNameValid(name)) + return "This configuration does not have a valid name."; + if (iface.getPublicKey() == null) + return "This configuration does not have a valid keypair."; + return null; + } }