diff options
author | Tobias Brunner <tobias@strongswan.org> | 2012-02-22 15:36:33 +0100 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2012-08-08 15:12:24 +0200 |
commit | 06ed785e5ab9dfc0dedf04855c1ea5019c256d8e (patch) | |
tree | 934f63fef9d8533d9bf26d9de32dfda62083d3b6 | |
parent | b70139fbfd942547a7b591db3e3f2c7f9e6666f2 (diff) | |
download | strongswan-06ed785e5ab9dfc0dedf04855c1ea5019c256d8e.tar.bz2 strongswan-06ed785e5ab9dfc0dedf04855c1ea5019c256d8e.tar.xz |
Load libipsec in Android app.
4 files changed, 15 insertions, 1 deletions
diff --git a/src/frontends/android/jni/Android.mk b/src/frontends/android/jni/Android.mk index e5659a4df..ad5ddd6d3 100644 --- a/src/frontends/android/jni/Android.mk +++ b/src/frontends/android/jni/Android.mk @@ -57,6 +57,7 @@ include $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk, \ vstr \ openssl \ libandroidbridge \ + strongswan/src/libipsec \ strongswan/src/libcharon \ strongswan/src/libhydra \ strongswan/src/libstrongswan \ diff --git a/src/frontends/android/jni/libandroidbridge/Android.mk b/src/frontends/android/jni/libandroidbridge/Android.mk index 7f25a540a..3b8b98b86 100644 --- a/src/frontends/android/jni/libandroidbridge/Android.mk +++ b/src/frontends/android/jni/libandroidbridge/Android.mk @@ -9,6 +9,7 @@ charonservice.c LOCAL_C_INCLUDES += \ $(libvstr_PATH) \ + $(strongswan_PATH)/src/libipsec \ $(strongswan_PATH)/src/libhydra \ $(strongswan_PATH)/src/libcharon \ $(strongswan_PATH)/src/libstrongswan @@ -26,7 +27,7 @@ LOCAL_PRELINK_MODULE := false LOCAL_LDLIBS := -llog -LOCAL_SHARED_LIBRARIES := libstrongswan libhydra libcharon +LOCAL_SHARED_LIBRARIES := libstrongswan libhydra libipsec libcharon include $(BUILD_SHARED_LIBRARY) diff --git a/src/frontends/android/jni/libandroidbridge/charonservice.c b/src/frontends/android/jni/libandroidbridge/charonservice.c index ecc243481..424d50d24 100644 --- a/src/frontends/android/jni/libandroidbridge/charonservice.c +++ b/src/frontends/android/jni/libandroidbridge/charonservice.c @@ -18,6 +18,7 @@ #include <jni.h> #include <hydra.h> +#include <ipsec.h> #include <daemon.h> #include <library.h> @@ -88,10 +89,19 @@ JNI_METHOD(CharonVpnService, initializeCharon, void) return; } + if (!libipsec_init()) + { + libipsec_deinit(); + libhydra_deinit(); + library_deinit(); + return; + } + if (!libcharon_init("charon") || !charon->initialize(charon, PLUGINS)) { libcharon_deinit(); + libipsec_deinit(); libhydra_deinit(); library_deinit(); return; @@ -107,6 +117,7 @@ JNI_METHOD(CharonVpnService, initializeCharon, void) JNI_METHOD(CharonVpnService, deinitializeCharon, void) { libcharon_deinit(); + libipsec_deinit(); libhydra_deinit(); library_deinit(); } diff --git a/src/frontends/android/src/org/strongswan/android/CharonVpnService.java b/src/frontends/android/src/org/strongswan/android/CharonVpnService.java index 596372f9d..52d427c2f 100644 --- a/src/frontends/android/src/org/strongswan/android/CharonVpnService.java +++ b/src/frontends/android/src/org/strongswan/android/CharonVpnService.java @@ -45,6 +45,7 @@ public class CharonVpnService extends VpnService { System.loadLibrary("strongswan"); System.loadLibrary("hydra"); System.loadLibrary("charon"); + System.loadLibrary("ipsec"); System.loadLibrary("androidbridge"); } } |