From: Tobias Brunner Date: Fri, 27 Mar 2020 09:26:51 +0000 (+0100) Subject: android: Don't require a password on Android 7 and newer X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2301a250b40b69b179218f26cdd6877ca13be9b4;p=thirdparty%2Fstrongswan.git android: Don't require a password on Android 7 and newer --- 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 c46605dfcb..7163512345 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 @@ -307,7 +307,8 @@ public class CharonVpnService extends VpnService implements Runnable, VpnStateSe { Log.i(TAG, "charon started"); - if (mCurrentProfile.getVpnType().has(VpnTypeFeature.USER_PASS) && + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N && + 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); diff --git a/src/frontends/android/app/src/main/jni/libandroidbridge/backend/android_service.c b/src/frontends/android/app/src/main/jni/libandroidbridge/backend/android_service.c index c1c1e3acd5..9c65768f19 100644 --- a/src/frontends/android/app/src/main/jni/libandroidbridge/backend/android_service.c +++ b/src/frontends/android/app/src/main/jni/libandroidbridge/backend/android_service.c @@ -662,7 +662,10 @@ static void add_auth_cfg_pw(private_android_service_t *this, } auth->add(auth, AUTH_RULE_IDENTITY, id); - this->creds->add_username_password(this->creds, username, password); + if (password) + { + this->creds->add_username_password(this->creds, username, password); + } peer_cfg->add_auth_cfg(peer_cfg, auth, TRUE); }