diff options
Diffstat (limited to 'main/jni')
-rw-r--r-- | main/jni/Android.mk | 49 | ||||
-rw-r--r-- | main/jni/Application.mk | 17 | ||||
-rw-r--r-- | main/jni/jbcrypto.cpp | 3 | ||||
-rw-r--r-- | main/jni/scan_ifs.c | 8 |
4 files changed, 45 insertions, 32 deletions
diff --git a/main/jni/Android.mk b/main/jni/Android.mk index 22ba4c7f..5848edd6 100644 --- a/main/jni/Android.mk +++ b/main/jni/Android.mk @@ -2,38 +2,42 @@ JNI_DIR := $(call my-dir) #optional arguments -#WITH_POLAR=1 +#WITH_MBEDTLS=1 #WITH_OPENVPN3=1 -# Build openvpn with polar (OpenVPN3 core is always build with polar) -#WITH_BREAKPAD=0 - +# Build openvpn with mbedTLS (OpenVPN3 core is always build with mbedTLS) +#USE_BREAKPAD=0 include lzo/Android.mk include openssl/Android.mk ifeq ($(TARGET_ARCH),mips) - USE_BREAKPAD=0 -endif -ifeq ($(TARGET_ARCH),mips64) - USE_BREAKPAD=0 -endif - -ifeq ($(USE_BREAKPAD),1) + WITH_BREAKPAD=0 +else ifeq ($(TARGET_ARCH),mips64) + WITH_BREAKPAD=0 +else ifeq ($(USE_BREAKPAD),1) WITH_BREAKPAD=1 - include breakpad/android/google_breakpad/Android.mk else WITH_BREAKPAD=0 endif -ifeq ($(WITH_POLAR),1) - USE_POLAR=1 +#ifeq ($(TARGET_ARCH),x86) +# USE_BREAKPAD=0 +#endif + + +ifeq ($(WITH_BREAKPAD),1) + include breakpad/android/google_breakpad/Android.mk +endif + +ifeq ($(WITH_MBEDTLS),1) + USE_MBEDTLS=1 endif ifeq ($(WITH_OPENVPN3),1) - USE_POLAR=1 + USE_MBEDTLS=1 endif -ifeq ($(USE_POLAR),1) - include polarssl/Android.mk +ifeq ($(USE_MBEDTLS),1) + include mbedtls/Android.mk endif include openvpn/Android.mk @@ -47,15 +51,15 @@ LOCAL_PATH := $(JNI_DIR) # The only real JNI libraries include $(CLEAR_VARS) LOCAL_LDLIBS := -llog -lz -LOCAL_CFLAGS = --std=c99 -DTARGET_ARCH_ABI=\"${TARGET_ARCH_ABI}\" +LOCAL_CFLAGS = -DTARGET_ARCH_ABI=\"${TARGET_ARCH_ABI}\" LOCAL_SRC_FILES:= jniglue.c scan_ifs.c LOCAL_MODULE = opvpnutil include $(BUILD_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_LDLIBS := -llog -lz -LOCAL_CFLAGS = --std=c99 -LOCAL_C_INCLUDES := openssl/include openssl/crypto openssl +LOCAL_CFLAGS = +LOCAL_C_INCLUDES := openssl/include openssl/crypto openssl openssl/crypto/include LOCAL_SRC_FILES:= jbcrypto.cpp LOCAL_MODULE = jbcrypto LOCAL_SHARED_LIBRARIES := libcrypto @@ -64,8 +68,7 @@ include $(BUILD_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_LDLIBS := -lz -lc -LOCAL_SHARED_LIBRARIES := libssl libcrypto openvpn - +LOCAL_STATIC_LIBRARIES := libssl_static libcrypto_static openvpn LOCAL_SRC_FILES:= minivpn.c dummy.cpp LOCAL_MODULE = nopie_openvpn # ======= @@ -79,7 +82,7 @@ include $(CLEAR_VARS) LOCAL_LDLIBS := -lz -lc LOCAL_CFLAGS= -fPIE -pie LOCAL_LDFLAGS = -fPIE -pie -LOCAL_SHARED_LIBRARIES := libssl libcrypto openvpn +LOCAL_STATIC_LIBRARIES := libssl_static libcrypto_static openvpn LOCAL_SRC_FILES:= minivpn.c dummy.cpp LOCAL_MODULE = pie_openvpn # ======= diff --git a/main/jni/Application.mk b/main/jni/Application.mk index 9ecbf2e1..838c2eba 100644 --- a/main/jni/Application.mk +++ b/main/jni/Application.mk @@ -1,11 +1,18 @@ -APP_ABI := arm64-v8a armeabi armeabi-v7a mips x86 x86_64 +ifeq ($(USE_SHORT_COMMANDS),1) + APP_SHORT_COMMANDS := true +endif + +APP_ABI := arm64-v8a armeabi armeabi-v7a x86 x86_64 APP_PLATFORM := android-14 -APP_STL:=stlport_static -#APP_STL:=gnustl_shared +#APP_STL:=stlport_static +APP_STL:=c++_static + #APP_OPTIM := release -#LOCAL_ARM_MODE := arm +#NDK_TOOLCHAIN_VERSION=4.9 +APP_CPPFLAGS += -std=c++1y +APP_CFLAGS += -funwind-tables + -#NDK_TOOLCHAIN_VERSION=clang
\ No newline at end of file diff --git a/main/jni/jbcrypto.cpp b/main/jni/jbcrypto.cpp index 2fd1262a..810a3bc7 100644 --- a/main/jni/jbcrypto.cpp +++ b/main/jni/jbcrypto.cpp @@ -8,6 +8,8 @@ #include <jni.h> + +#include <internal/cryptlib.h> #include <openssl/ssl.h> #include <openssl/rsa.h> #include <openssl/objects.h> @@ -15,6 +17,7 @@ #include <android/log.h> #include <openssl/err.h> +#include <internal/evp_int.h> extern "C" { jbyteArray Java_de_blinkt_openvpn_core_NativeUtils_rsasign(JNIEnv* env, jclass, jbyteArray from, jint pkeyRef); diff --git a/main/jni/scan_ifs.c b/main/jni/scan_ifs.c index e0024c54..a26e2b36 100644 --- a/main/jni/scan_ifs.c +++ b/main/jni/scan_ifs.c @@ -61,8 +61,8 @@ jobjectArray Java_de_blinkt_openvpn_core_NativeUtils_getIfconfig(JNIEnv* env) /* get interface addr, prefilled by SIOGIFCONF */ int err; - if (err=getnameinfo(&ifr->ifr_addr, sizeof(struct sockaddr_in), buf, NI_MAXHOST, NULL, 0, - NI_NUMERICHOST) !=0) { + if ((err=getnameinfo(&ifr->ifr_addr, sizeof(struct sockaddr_in), buf, NI_MAXHOST, NULL, 0, + NI_NUMERICHOST)) !=0) { __android_log_print(ANDROID_LOG_DEBUG, "openvpn", "getnameinfo failed for %s: %s", ifr->ifr_name, gai_strerror(err)); continue; } @@ -90,8 +90,8 @@ jobjectArray Java_de_blinkt_openvpn_core_NativeUtils_getIfconfig(JNIEnv* env) continue; } - if (err=getnameinfo(&ifreq.ifr_netmask, sizeof(struct sockaddr_in), buf, NI_MAXHOST, NULL, 0, - NI_NUMERICHOST) !=0) { + if ((err=getnameinfo(&ifreq.ifr_netmask, sizeof(struct sockaddr_in), buf, NI_MAXHOST, NULL, 0, + NI_NUMERICHOST)) !=0) { __android_log_print(ANDROID_LOG_DEBUG, "openvpn", "getnameinfo failed for %s: %s", ifr->ifr_name, gai_strerror(err)); continue; } |