From a6507df2ecaf957233d77899db4bf7229fc2f226 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Wed, 24 Apr 2013 18:36:59 +0200 Subject: [PATCH] android: Build libpts and init/deinit libpts in BYOD IMC --- src/frontends/android/jni/Android.mk | 3 ++- src/frontends/android/jni/libandroidbridge/Android.mk | 3 ++- .../android/jni/libandroidbridge/byod/imc_android.c | 5 +++++ .../src/org/strongswan/android/logic/CharonVpnService.java | 1 + 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/frontends/android/jni/Android.mk b/src/frontends/android/jni/Android.mk index 781d8a1c47..0163e308d7 100644 --- a/src/frontends/android/jni/Android.mk +++ b/src/frontends/android/jni/Android.mk @@ -77,7 +77,8 @@ ifneq ($(strongswan_USE_BYOD),) strongswan_BUILD += \ strongswan/src/libtnccs \ strongswan/src/libtncif \ - strongswan/src/libimcv + strongswan/src/libimcv \ + strongswan/src/libpts endif include $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk, \ diff --git a/src/frontends/android/jni/libandroidbridge/Android.mk b/src/frontends/android/jni/libandroidbridge/Android.mk index ca154722bc..29f95e58be 100644 --- a/src/frontends/android/jni/libandroidbridge/Android.mk +++ b/src/frontends/android/jni/libandroidbridge/Android.mk @@ -34,6 +34,7 @@ LOCAL_C_INCLUDES += \ $(strongswan_PATH)/src/libimcv \ $(strongswan_PATH)/src/libtncif \ $(strongswan_PATH)/src/libtnccs \ + $(strongswan_PATH)/src/libpts \ $(strongswan_PATH)/src/libtls endif @@ -53,7 +54,7 @@ LOCAL_LDLIBS := -llog LOCAL_SHARED_LIBRARIES := libstrongswan libhydra libipsec libcharon ifneq ($(strongswan_USE_BYOD),) -LOCAL_SHARED_LIBRARIES += libimcv libtncif libtnccs +LOCAL_SHARED_LIBRARIES += libimcv libtncif libtnccs libpts endif include $(BUILD_SHARED_LIBRARY) diff --git a/src/frontends/android/jni/libandroidbridge/byod/imc_android.c b/src/frontends/android/jni/libandroidbridge/byod/imc_android.c index f83b6fdeb9..06edf359aa 100644 --- a/src/frontends/android/jni/libandroidbridge/byod/imc_android.c +++ b/src/frontends/android/jni/libandroidbridge/byod/imc_android.c @@ -17,6 +17,7 @@ #include "imc_android_state.h" #include +#include #include #include #include @@ -64,6 +65,8 @@ TNC_Result TNC_IMC_Initialize(TNC_IMCID imc_id, return TNC_RESULT_FATAL; } + libpts_init(); + if (min_version > TNC_IFIMC_VERSION_1 || max_version < TNC_IFIMC_VERSION_1) { DBG1(DBG_IMC, "no common IF-IMC version"); @@ -352,6 +355,8 @@ TNC_Result TNC_IMC_Terminate(TNC_IMCID imc_id) DBG1(DBG_IMC, "IMC \"%s\" has not been initialized", imc_name); return TNC_RESULT_NOT_INITIALIZED; } + /* has to be done before destroying the agent / deinitializing libimcv */ + libpts_deinit(); imc_android->destroy(imc_android); imc_android = NULL; return TNC_RESULT_SUCCESS; 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 5670131abe..f08a481355 100644 --- a/src/frontends/android/src/org/strongswan/android/logic/CharonVpnService.java +++ b/src/frontends/android/src/org/strongswan/android/logic/CharonVpnService.java @@ -606,6 +606,7 @@ public class CharonVpnService extends VpnService implements Runnable System.loadLibrary("tncif"); System.loadLibrary("tnccs"); System.loadLibrary("imcv"); + System.loadLibrary("pts"); } System.loadLibrary("hydra"); -- 2.47.2