diff options
author | Tobias Brunner <tobias@strongswan.org> | 2012-10-11 13:50:18 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2013-07-08 18:49:26 +0200 |
commit | 933155fae6bb47d914a1444e77490e3796315930 (patch) | |
tree | f2bc5baf5dcb1005103f6d5a48af11e990ad9faa | |
parent | c9df0f989d3d56116684fe7e3e96686a3e667f20 (diff) | |
download | strongswan-933155fae6bb47d914a1444e77490e3796315930.tar.bz2 strongswan-933155fae6bb47d914a1444e77490e3796315930.tar.xz |
android: Build option added to load BYOD related plugins and libraries in the Android app
3 files changed, 39 insertions, 8 deletions
diff --git a/src/frontends/android/jni/Android.mk b/src/frontends/android/jni/Android.mk index 0ae18fc4b..781d8a1c4 100644 --- a/src/frontends/android/jni/Android.mk +++ b/src/frontends/android/jni/Android.mk @@ -1,10 +1,18 @@ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) +# use "bring your own device" (BYOD) features (also see USE_BYOD in +# MainActivity.java) +strongswan_USE_BYOD := true + strongswan_CHARON_PLUGINS := android-log openssl fips-prf random nonce pubkey \ pkcs1 pkcs8 pem xcbc hmac socket-default kernel-netlink \ eap-identity eap-mschapv2 eap-md5 eap-gtc +ifneq ($(strongswan_USE_BYOD),) +strongswan_CHARON_PLUGINS += eap-ttls eap-tnc tnc-imc tnc-tnccs tnccs-20 +endif + strongswan_PLUGINS := $(strongswan_CHARON_PLUGINS) include $(LOCAL_PATH)/strongswan/Android.common.mk @@ -52,12 +60,25 @@ strongswan_CFLAGS := \ -DDEV_RANDOM=\"/dev/random\" \ -DDEV_URANDOM=\"/dev/urandom\" +ifneq ($(strongswan_USE_BYOD),) +strongswan_CFLAGS += -DUSE_BYOD +endif + +strongswan_BUILD := \ + vstr \ + openssl \ + libandroidbridge \ + strongswan/src/libipsec \ + strongswan/src/libcharon \ + strongswan/src/libhydra \ + strongswan/src/libstrongswan + +ifneq ($(strongswan_USE_BYOD),) +strongswan_BUILD += \ + strongswan/src/libtnccs \ + strongswan/src/libtncif \ + strongswan/src/libimcv +endif + include $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk, \ - vstr \ - openssl \ - libandroidbridge \ - strongswan/src/libipsec \ - strongswan/src/libcharon \ - strongswan/src/libhydra \ - strongswan/src/libstrongswan \ -)) + $(strongswan_BUILD))) diff --git a/src/frontends/android/src/org/strongswan/android/logic/CharonVpnService.java b/src/frontends/android/src/org/strongswan/android/logic/CharonVpnService.java index 02db8c494..5670131ab 100644 --- a/src/frontends/android/src/org/strongswan/android/logic/CharonVpnService.java +++ b/src/frontends/android/src/org/strongswan/android/logic/CharonVpnService.java @@ -600,6 +600,14 @@ public class CharonVpnService extends VpnService implements Runnable { System.loadLibrary("crypto"); System.loadLibrary("strongswan"); + + if (MainActivity.USE_BYOD) + { + System.loadLibrary("tncif"); + System.loadLibrary("tnccs"); + System.loadLibrary("imcv"); + } + System.loadLibrary("hydra"); System.loadLibrary("charon"); System.loadLibrary("ipsec"); diff --git a/src/frontends/android/src/org/strongswan/android/ui/MainActivity.java b/src/frontends/android/src/org/strongswan/android/ui/MainActivity.java index d7c1cc4ef..3cf395054 100644 --- a/src/frontends/android/src/org/strongswan/android/ui/MainActivity.java +++ b/src/frontends/android/src/org/strongswan/android/ui/MainActivity.java @@ -58,6 +58,8 @@ public class MainActivity extends Activity implements OnVpnProfileSelectedListen public static final String CONTACT_EMAIL = "android@strongswan.org"; public static final String START_PROFILE = "org.strongswan.android.action.START_PROFILE"; public static final String EXTRA_VPN_PROFILE_ID = "org.strongswan.android.VPN_PROFILE_ID"; + /** Use "bring your own device" (BYOD) features */ + public static final boolean USE_BYOD = true; private static final int PREPARE_VPN_SERVICE = 0; private static final String PROFILE_NAME = "org.strongswan.android.MainActivity.PROFILE_NAME"; private static final String PROFILE_REQUIRES_PASSWORD = "org.strongswan.android.MainActivity.REQUIRES_PASSWORD"; |