mirror of
https://github.com/deneraraujo/OpenVPNAdapter.git
synced 2026-04-24 00:00:05 +08:00
f5fda0fa73
6608878d5 [OVPN3-341] implement mssfix support 1bf3fc0e4 win: update project files f8d209435 travis: update to default osx image: xcode9.4 31eb246a8 travis.yml: align deps version to lib-version 996f86635 RunContext: fixed rebase issue that added two "default: signal_rearm();" clauses aebea6456 build script: minor changes to Cityhash inclusion 1d754072c modstat: make update_file_mod_time_nanoseconds() a no-op on non-Linux 7974c9867 Fixed some breakage caused by recent endian/ffs commits a0dd7fe8b endian.hpp: break out endian compile-time tests to endian_platform.hpp c8bdf5a34 ffs.hpp: support additional numeric types dcb0c9452 BufferType: append() argument can now be a flexible buffer type 2009a8a25 Added AsioTimerSafe 39e71b7dd event_loop_wait_barrier: use a longer default timeout when running under valgrind 8b7e08e9b string::contains_non_space_ctrl: consider ASCII char 127 (DEL) to be a control char e43024d7c RunContext: rearm non-terminating signals 6ab379323 write_binary_atomic: remove temporary file on move failure 55dc653cd path: added is_contained() 02bf235c6 Reverted previous commit: "ReplyParser: added undefined status" 84dbc5b9b Allow test/cli.cpp to be used with NetCfg Tunbuilder client 80fed2c55 Allow updating auth-token during session ad7da751e don't print time in debug message and use OPENVPN_LOG_PROTO_VERBOSE 981407994 tls-crypt-v2: implement abstract metadata parser be38bbeb8 tls-crypt-v2: test/ssl/proto.cpp - extend protocol test 60fcf374f tls-crypt-v2: implement WKc appending/unwrapping logic 51f4a3a29 tls-crypt-v2: introduce CONTROL_HARD_RESET_V3 packet type 156a6e58b tls-crypt-v2: implement client key parser and renderer 54a97b381 ssl: add support for encoding/decoding PEM format f090fcda4 tls-crypt: make HMAC API more generic d87f5bbc0 OpenSSL: init library 2ea88a93b Add Remote endpoint information to protect_socket call 0a081ee17 [OVPN3-315] cli/go: add option to compile SITNL component 5bbfb57c0 [OVPN3-315] TunLinux::Client: allow user to select netlink at compile time e8458a68e [OVPN3-315] GW: add netlink support 4e77edb9e [OVPN3-315] TunLinux: add Netlink implementation for Tun setup methods 68508fe56 bigmutex: include missing extern.hpp header a7b923e1e Fix logic inversion from commit 2de9aebc 923e10d13 runcontext: arrange members to allow inheritance 2de9aebc7 Replace deprecated mbedtls_sha1 with mbedtls_sha1_ret e9c0bd00b Remove unused private field ee17c33c2 Add virtual deconstructor to TransportClientParent fab64ba0f Fix clang warning about unused attributes and missing overrides 2624d9ddf Also parse dhcp-option DNS6 as DNS server for compatibility with OpenVPN 2 6d12c9cc2 Refuse external pki with non RSA keys 4a25059f5 test/ovpncli: Don't override PROF env variable f241c4c5f scripts: Add tool to update copyright years 27beeb03d Update lz4 version to 1.8.3 17e356858 Define DASIO_HAS_STD_STRING_VIEW on Android build b107fd994 Remove unsupported platforms from Android build 6a200f72e Ensure all Android components are always installed fbcd374a4 [OVPN3-327] OpenSSL: ensure >TLS1.0 is negotiated by default d9b1f78b6 JSON: #define OPENVPN_JSON_INTERNAL when internal JSON library is used 39290f19d Fix build issues with #if macro on big-endian hardware d4f62d9ed Fix instantiating a new URL instead of parsing the URL git-subtree-dir: Sources/OpenVPNAdapter/Libraries/Vendors/openvpn git-subtree-split: 6608878d57eec1c64c16c5a13ee65b2cf0418ca1
127 lines
2.8 KiB
Bash
Executable File
127 lines
2.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# generate expire time in python: time.mktime((2012, 5, 1, 0, 0, 0, 0, 0, -1))
|
|
# -DAPP_EXPIRE_TIME=1364796000 \
|
|
set -e
|
|
|
|
if [ -z "$O3" ]; then
|
|
echo O3 var must point to ovpn3 tree
|
|
exit 1
|
|
fi
|
|
|
|
cd $O3/core
|
|
. vars/android-sdk-path
|
|
cd javacli
|
|
git clean -q -fXd .
|
|
|
|
if [ "$PKG" ]; then
|
|
pkg=$PKG
|
|
pkg_id_def="-DOPENVPN_PACKAGE_ID=${PKG//./_}"
|
|
else
|
|
pkg=net.openvpn.openvpn
|
|
pkg_id_def="-DOPENVPN_PACKAGE_ID=net_openvpn_openvpn"
|
|
fi
|
|
echo PACKAGE $PKG
|
|
|
|
if [ "$PT_PROXY" = "1" ] && [ -d "$O3/common" ]; then
|
|
common="-I$O3/common -DPRIVATE_TUNNEL_PROXY"
|
|
else
|
|
common=""
|
|
fi
|
|
|
|
echo SWIG
|
|
swig -c++ -java -package $pkg -I$O3/core/client -I$O3/core ovpncli.i
|
|
|
|
TARGETS=${TARGETS:-android-a7a android-a8a android-x86}
|
|
|
|
for TARGET in $TARGETS; do
|
|
|
|
if [ "$DEBUG_BUILD" = "1" ]; then
|
|
. ../vars/vars-${TARGET}-dbg
|
|
vis1=""
|
|
vis2=""
|
|
opt2="$pkg_id_def $LIB_OPT_LEVEL"
|
|
else
|
|
. ../vars/vars-${TARGET}
|
|
vis1="-fvisibility=hidden"
|
|
vis2='-DSWIGEXPORT=__attribute__((visibility("default")))'
|
|
opt2="$pkg_id_def -Os"
|
|
fi
|
|
|
|
if [ "$OPENSSL" = "1" ]; then
|
|
ssl_def="-DUSE_OPENSSL"
|
|
ssl_inc="-I$DEP_DIR/openssl/openssl-$PLATFORM/include"
|
|
ssl_lib="-lssl -lcrypto"
|
|
ssl_libdir="-L$DEP_DIR/openssl/openssl-$PLATFORM/lib"
|
|
else
|
|
ssl_def="-DUSE_MBEDTLS"
|
|
ssl_inc="-I$DEP_DIR/mbedtls/mbedtls-$PLATFORM/include"
|
|
ssl_lib="-lmbedtls"
|
|
ssl_libdir="-L$DEP_DIR/mbedtls/mbedtls-$PLATFORM/library"
|
|
fi
|
|
|
|
[ -z "$GPP_CMD" ] && GPP_CMD=g++
|
|
|
|
echo CORE $ABI
|
|
$GPP_CMD \
|
|
$CXX_COMPILER_FLAGS \
|
|
$PLATFORM_FLAGS \
|
|
$OTHER_COMPILER_FLAGS \
|
|
$LIB_OPT_LEVEL $LIB_FPIC \
|
|
-Wall -Wno-sign-compare -Wno-unused-parameter \
|
|
-Wno-unused-local-typedefs \
|
|
$vis1 \
|
|
$ssl_def \
|
|
-DUSE_ASIO \
|
|
-DASIO_STANDALONE \
|
|
-DASIO_NO_DEPRECATED \
|
|
-DHAVE_LZ4 \
|
|
-DOPENVPN_USE_TLS_MD5 \
|
|
-DASIO_HAS_STD_STRING_VIEW \
|
|
-I$O3/core/client \
|
|
-I$O3/core \
|
|
$common \
|
|
-I$DEP_DIR/asio/asio/include \
|
|
$ssl_inc \
|
|
-I$DEP_DIR/lz4/lz4-$PLATFORM/include \
|
|
-c $O3/core/client/ovpncli.cpp
|
|
|
|
echo WRAP $ABI
|
|
$GPP_CMD \
|
|
$CXX_COMPILER_FLAGS \
|
|
$PLATFORM_FLAGS \
|
|
$OTHER_COMPILER_FLAGS \
|
|
$opt2 $LIB_FPIC \
|
|
-fno-strict-aliasing \
|
|
-Wall \
|
|
$vis1 $vis2 \
|
|
-I$O3/core/client \
|
|
-I$O3/core \
|
|
$common \
|
|
$ssl_libdir \
|
|
-L$DEP_DIR/lz4/lz4-$PLATFORM/lib \
|
|
ovpncli_wrap.cxx \
|
|
android/jellybean_hack.cpp \
|
|
android/cpu.cpp \
|
|
ovpncli.o \
|
|
-o libovpncli.so \
|
|
-shared -Wl,-soname,libovpncli.so \
|
|
$ssl_lib \
|
|
-llz4 \
|
|
-llog
|
|
|
|
if [ "$DEBUG_BUILD" != "1" ]; then
|
|
echo STRIP $ABI
|
|
strip libovpncli.so
|
|
fi
|
|
|
|
mkdir -p build/libs/$ABI
|
|
mv libovpncli.so build/libs/$ABI/
|
|
rm ovpncli.o
|
|
done
|
|
|
|
mv ovpncli_wrap.cxx ovpncli_wrap.h ovpncli.java ovpncliJNI.java SWIGTYPE_*.java ClientAPI_*.java build/
|
|
git clean -q -fX .
|
|
|
|
tar -czf android-core-build.tgz build
|
|
mv android-core-build.tgz $O3/
|