From f0b3e303c45398a6f348efa9b90825676e8627d8 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Thu, 14 Jun 2018 15:16:45 +0200 Subject: [PATCH] android: Show an error if a profile without a password is initiated This could happen if an incomplete profile is used with Always-on VPN. --- .../org/strongswan/android/logic/CharonVpnService.java | 8 ++++++++ .../org/strongswan/android/logic/VpnStateService.java | 3 +++ .../android/app/src/main/res/values-de/strings.xml | 1 + .../android/app/src/main/res/values-pl/strings.xml | 1 + .../android/app/src/main/res/values-ru/strings.xml | 1 + .../android/app/src/main/res/values-ua/strings.xml | 1 + .../android/app/src/main/res/values-zh-rCN/strings.xml | 1 + .../android/app/src/main/res/values-zh-rTW/strings.xml | 1 + src/frontends/android/app/src/main/res/values/strings.xml | 1 + 9 files changed, 18 insertions(+) diff --git a/src/frontends/android/app/src/main/java/org/strongswan/android/logic/CharonVpnService.java b/src/frontends/android/app/src/main/java/org/strongswan/android/logic/CharonVpnService.java index 24cc1da909..458204c533 100644 --- a/src/frontends/android/app/src/main/java/org/strongswan/android/logic/CharonVpnService.java +++ b/src/frontends/android/app/src/main/java/org/strongswan/android/logic/CharonVpnService.java @@ -274,6 +274,14 @@ public class CharonVpnService extends VpnService implements Runnable, VpnStateSe if (initializeCharon(builder, mLogFile, mAppDir, mCurrentProfile.getVpnType().has(VpnTypeFeature.BYOD))) { Log.i(TAG, "charon started"); + + if (mCurrentProfile.getVpnType().has(VpnTypeFeature.USER_PASS) && + mCurrentProfile.getPassword() == null) + { /* this can happen if Always-on VPN is enabled with an incomplete profile */ + setError(ErrorState.PASSWORD_MISSING); + continue; + } + SettingsWriter writer = new SettingsWriter(); writer.setValue("global.language", Locale.getDefault().getLanguage()); writer.setValue("global.mtu", mCurrentProfile.getMTU()); diff --git a/src/frontends/android/app/src/main/java/org/strongswan/android/logic/VpnStateService.java b/src/frontends/android/app/src/main/java/org/strongswan/android/logic/VpnStateService.java index 5effafdf10..4f3073691a 100644 --- a/src/frontends/android/app/src/main/java/org/strongswan/android/logic/VpnStateService.java +++ b/src/frontends/android/app/src/main/java/org/strongswan/android/logic/VpnStateService.java @@ -61,6 +61,7 @@ public class VpnStateService extends Service LOOKUP_FAILED, UNREACHABLE, GENERIC_ERROR, + PASSWORD_MISSING, } /** @@ -191,6 +192,8 @@ public class VpnStateService extends Service return R.string.error_lookup_failed; case UNREACHABLE: return R.string.error_unreachable; + case PASSWORD_MISSING: + return R.string.error_password_missing; default: return R.string.error_generic; } diff --git a/src/frontends/android/app/src/main/res/values-de/strings.xml b/src/frontends/android/app/src/main/res/values-de/strings.xml index 45de885dd5..2dbe13fb2f 100644 --- a/src/frontends/android/app/src/main/res/values-de/strings.xml +++ b/src/frontends/android/app/src/main/res/values-de/strings.xml @@ -187,6 +187,7 @@ Benutzerauthentifizierung ist fehlgeschlagen Sicherheitsassessment ist fehlgeschlagen Unbekannter Fehler während des Verbindens + Passwort nicht verfügbar VPN verbunden Dieses VPN Profil ist momentan verbunden! Neu verbinden diff --git a/src/frontends/android/app/src/main/res/values-pl/strings.xml b/src/frontends/android/app/src/main/res/values-pl/strings.xml index 091417b525..f9a88b825d 100644 --- a/src/frontends/android/app/src/main/res/values-pl/strings.xml +++ b/src/frontends/android/app/src/main/res/values-pl/strings.xml @@ -187,6 +187,7 @@ Błąd przy autoryzacji użytkownika Security assessment failed Nieznany błąd w czasie połączenia + Password unavailable Połączenie z VPN Ten profil VPN jest obecnie połaczony! Połączyć ponownie diff --git a/src/frontends/android/app/src/main/res/values-ru/strings.xml b/src/frontends/android/app/src/main/res/values-ru/strings.xml index 5b53893bad..8fec5a1d72 100644 --- a/src/frontends/android/app/src/main/res/values-ru/strings.xml +++ b/src/frontends/android/app/src/main/res/values-ru/strings.xml @@ -184,6 +184,7 @@ Ошибка авторизации пользователя Security assessment failed Неизвестная ошибка + Password unavailable Соединение с VPN установлено Подключение к этому профилю VPN уже существует! Переподключить diff --git a/src/frontends/android/app/src/main/res/values-ua/strings.xml b/src/frontends/android/app/src/main/res/values-ua/strings.xml index c21c2f8fff..d9525223b1 100644 --- a/src/frontends/android/app/src/main/res/values-ua/strings.xml +++ b/src/frontends/android/app/src/main/res/values-ua/strings.xml @@ -185,6 +185,7 @@ Помилка аутентифікації користувача Security assessment failed Невідома помилка під час підключення + Password unavailable VPN підключено Цей VPN профіль зараз підключений! Перепідключитися diff --git a/src/frontends/android/app/src/main/res/values-zh-rCN/strings.xml b/src/frontends/android/app/src/main/res/values-zh-rCN/strings.xml index 74ad2490a9..00e6e8ba23 100644 --- a/src/frontends/android/app/src/main/res/values-zh-rCN/strings.xml +++ b/src/frontends/android/app/src/main/res/values-zh-rCN/strings.xml @@ -184,6 +184,7 @@ 用户鉴权失败 可靠性评估失败 连接中遭遇未知失败 + Password unavailable VPN已连接 此VPN配置目前已连接。 重连 diff --git a/src/frontends/android/app/src/main/res/values-zh-rTW/strings.xml b/src/frontends/android/app/src/main/res/values-zh-rTW/strings.xml index e7f004e387..cb7b3438d1 100644 --- a/src/frontends/android/app/src/main/res/values-zh-rTW/strings.xml +++ b/src/frontends/android/app/src/main/res/values-zh-rTW/strings.xml @@ -184,6 +184,7 @@ 用戶授權失敗 穩定性評估失敗 連線中遇到不明錯誤 + Password unavailable VPN已連線 這個VPN設定檔目前已經連線。 重新連線 diff --git a/src/frontends/android/app/src/main/res/values/strings.xml b/src/frontends/android/app/src/main/res/values/strings.xml index 8c0bf5f6c5..a86a1b5111 100644 --- a/src/frontends/android/app/src/main/res/values/strings.xml +++ b/src/frontends/android/app/src/main/res/values/strings.xml @@ -187,6 +187,7 @@ User authentication failed Security assessment failed Unspecified failure while connecting + Password unavailable VPN connected This VPN profile is currently connected! Reconnect -- 2.47.2