From 3b7f25906e715b01bbe781522f8d57e4f5e15eb2 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Tue, 16 Apr 2013 14:31:09 +0200 Subject: [PATCH] android: Replace android-net plugin with kernel-netlink Virtual IPs are not handled by the kernel-netlink plugin and tun devices are ignored. --- src/frontends/android/jni/Android.mk | 2 +- .../android/jni/libandroidbridge/charonservice.c | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/frontends/android/jni/Android.mk b/src/frontends/android/jni/Android.mk index 9805bff7e..0ae18fc4b 100644 --- a/src/frontends/android/jni/Android.mk +++ b/src/frontends/android/jni/Android.mk @@ -2,7 +2,7 @@ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) strongswan_CHARON_PLUGINS := android-log openssl fips-prf random nonce pubkey \ - pkcs1 pkcs8 pem xcbc hmac socket-default \ + pkcs1 pkcs8 pem xcbc hmac socket-default kernel-netlink \ eap-identity eap-mschapv2 eap-md5 eap-gtc strongswan_PLUGINS := $(strongswan_CHARON_PLUGINS) diff --git a/src/frontends/android/jni/libandroidbridge/charonservice.c b/src/frontends/android/jni/libandroidbridge/charonservice.c index b6a9b7c33..4b2e58b25 100644 --- a/src/frontends/android/jni/libandroidbridge/charonservice.c +++ b/src/frontends/android/jni/libandroidbridge/charonservice.c @@ -410,6 +410,13 @@ static void set_options(char *logfile) * information */ lib->settings->set_bool(lib->settings, "charon.plugins.socket-default.set_source", FALSE); + /* don't install virtual IPs via kernel-netlink */ + lib->settings->set_bool(lib->settings, + "charon.install_virtual_ip", FALSE); + /* ignore tun devices (it's mostly tun0 but it may already be taken, ignore + * some others too) */ + lib->settings->set_str(lib->settings, + "charon.interfaces_ignore", "tun0, tun1, tun2, tun3, tun4"); } /** @@ -419,8 +426,6 @@ static void charonservice_init(JNIEnv *env, jobject service, jobject builder) { private_charonservice_t *this; static plugin_feature_t features[] = { - PLUGIN_CALLBACK(kernel_net_register, kernel_android_net_create), - PLUGIN_PROVIDE(CUSTOM, "kernel-net"), PLUGIN_CALLBACK(kernel_ipsec_register, kernel_android_ipsec_create), PLUGIN_PROVIDE(CUSTOM, "kernel-ipsec"), PLUGIN_CALLBACK((plugin_feature_callback_t)charonservice_register, NULL),