summaryrefslogtreecommitdiff
path: root/main/jni
diff options
context:
space:
mode:
Diffstat (limited to 'main/jni')
-rw-r--r--main/jni/Android.mk49
-rw-r--r--main/jni/Application.mk17
-rw-r--r--main/jni/jbcrypto.cpp3
-rw-r--r--main/jni/scan_ifs.c8
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;
}