0
0
mirror of https://github.com/OpenVPN/openvpn3.git synced 2024-09-19 19:52:15 +02:00
Commit Graph

46 Commits

Author SHA1 Message Date
Arne Schwabe
7897c3bd7e
Rename OPENVPN_USE_TLS_MD5 to OPENVPN_ALLOW_INSECURE_CERTPROFILE
With OpenSSL 3.0 the name with MD5 no longer makes sense as it affects
not only MD5 but also SHA1 and number of other settings. So replace the
define with a more fitting name.

Signed-off-by: Arne Schwabe <arne@openvpn.net>
2021-11-12 20:58:44 +01:00
Arne Schwabe
17e356858f Define DASIO_HAS_STD_STRING_VIEW on Android build
ASIO precompiler magic decides that <experimental/string_view>
is better than <string_view> as header. Unfortenately, that is not
true on newer libc++ library. Explicitly set the define to use
<string_view>
2018-11-07 17:23:02 +01:00
Antonio Quartulli
fc8f89d394 [OVPN3-129] android: ensure all SWIG files are archived and saved
The core libraries together with the all the SWIG output files
are now archived and saved in the O3 folder for later usage.

Signed-off-by: Antonio Quartulli <antonio@openvpn.net>
2017-12-22 17:59:39 +08:00
Antonio Quartulli
e143bc0a7e [OVPN3-129] android: improve build system in order to perform full build
the scripts/android/build-all script is now in charge of
performing all the steps required to build a full android core.

Signed-off-by: Antonio Quartulli <antonio@openvpn.net>
2017-12-22 17:59:39 +08:00
Antonio Quartulli
e2c60c8662 android: build core library with MD5 support
Signed-off-by: Antonio Quartulli <antonio@openvpn.net>
2017-12-22 17:59:39 +08:00
Antonio Quartulli
d3da3dfeb0 android: build client lib for x86 (for emulator)
Signed-off-by: Antonio Quartulli <antonio@openvpn.net>
2017-12-22 17:59:38 +08:00
David Nimon
4302651dd8 changes to support android building 2017-12-22 17:59:38 +08:00
James Yonan
691a641a43 Added i/o abstraction layer.
Created a lightweight abstraction layer so that another i/o
reactor can be dropped in place of asio.

The basic approach is to rename all references to asio::xxx
types to openvpn_io::xxx and then make openvpn_io a
preprocessor variable that points to the top-level namespace
of the i/o reactor implementation.

All of the source files that currently include <asio.hpp> now
include <openvpn/io/io.hpp> instead:

This gives us a lightweight abstraction layer that allows us
to define openvpn_io to be something other than asio.

Other changes:

* Inclusion of asio by scripts/build is now optional, and is
  enabled by passing ASIO=1 or ASIO_DIR=<dir>.

* Refactored openvpn/common/socktypes.hpp to no longer
  require asio.

* Refactored openvpn/log/logthread.hpp to no longer require
  asio.

* Added openvpn::get_hostname() method as alternative to
  calling asio directly.

* openvpn/openssl/util/init.hpp will now #error
  if USE_ASIO is undefined.

Signed-off-by: James Yonan <james@openvpn.net>
2017-03-30 15:48:14 -06:00
James Yonan
052f565ed7 build-mbedtls : simplify mbedTLS build script to no longer
depend on cmake.
2017-03-18 12:24:54 -06:00
James Yonan
1434d9a599 android : in build-android, removed "android" target which
no longer builds with latest Asio.  This leaves
"android-a8a" and "android-a7a" targets.
2017-03-18 12:24:54 -06:00
James Yonan
bc406975b0 android : updated javacli/build-android for mbedTLS 2017-03-18 12:24:54 -06:00
James Yonan
050e8717f1 mbedTLS: Port from polarssl-1.3 to mbedtls-2.3 (symbol renames)
This patch renames internal OpenVPN 3 symbols
from polarssl -> mbedtls.

Signed-off-by: James Yonan <james@openvpn.net>
2017-03-18 12:24:54 -06:00
James Yonan
09fe1fa8fd In Android build scripts, change -lpolarssl to -lmbedtls. 2015-12-28 21:12:41 -07:00
James Yonan
d61f36ce3d Added ASIO_NO_DEPRECATED to android and java/linux
build scripts.
2015-06-30 03:23:55 -06:00
James Yonan
1563dca02f Added Asio to deps/lib-versions.
Removed Snappy dependency as ovpn3 clients now
standardize on LZ4 (with LZO-asym fallback).
2015-06-06 13:29:30 -06:00
James Yonan
c6a21c827b Boost dependency elimination -- final removal of Boost
dependency.  Asio is now included as a standalone,
header-only dependency.
2015-06-06 10:59:18 -06:00
James Yonan
d442e777de Updated Android build system to support ARM64:
* Updated SDK and NDK to Android 5:
    android-sdk_r24.0.2-macosx.zip
    android-ndk-r10d-darwin-x86_64.bin

* Updated build-toolchain to build both ARM
  and ARM64 toolchains.

* Added ARMv8-a architecture (64-bit) to all
  core builds.

* Patched "Page Size" issue in boost_1_57_0.
2015-02-27 09:20:35 -07:00
James Yonan
c1c6bdb639 Don't build or include minicrypto for Android. 2015-02-05 10:22:39 -07:00
James Yonan
77e764720b Turned off PT Proxy by default in javacli/build-android.
To turn it back on, set PT_PROXY=1
2015-02-04 21:25:57 -07:00
James Yonan
557df02296 Added AltProxy API that allows for alternative proxy implementations
to be developed outside the core.
2015-02-02 23:11:51 -07:00
James Yonan
7c88c27849 Added .gitignore in javacli and remove all
git cleans in build-android that don't use -X.
2014-12-22 22:46:42 -07:00
James Yonan
c192716aa4 Fixes to javacli/build-android :
* Use "git clean -q -fXd ." to clean.
* Remove DBG_DIR_SUFFIX code, as this is now built into
  $PLATFORM definitions in vars.
* Added CXX_COMPILER_FLAGS.
2014-08-29 23:29:49 -06:00
James Yonan
5539a22684 Repo reorganization: standardize on $O3 representing the top-level
directory that contains core and possibly other components as well.
2014-08-29 18:42:02 -06:00
James Yonan
758af9708e After git repo reorganization, updated Android build scripts for
dependencies and OpenVPN 3 shared library.
2014-08-29 11:52:16 -06:00
James Yonan
95fceb5e43 Android: log tunnel bytes per CPU second. 2014-01-14 22:52:28 -07:00
James Yonan
a6ab17fde0 Android: build two versions of OpenVPN core library (libovpncli.so)
for different ARM platforms:

1. armeabi
2. armeabi-v7a

Android build script will package both versions of libovpncli.so
in the .apk, where the correct version should be automatically
chosen by Android on install.
2014-01-14 16:40:25 -07:00
James Yonan
7e0490f647 Updated Android SDK, NDK, and build scripts:
SDK: adt-bundle-mac-x86_64-20131030
NDK: android-ndk-r9c
2014-01-13 17:48:37 -07:00
James Yonan
7fe6fad18a Added crypto self test capability to core.
Added polarssl/bignum-arm.patch to resolve issue where
asm-optimized bignum code would crash on iOS.
2013-06-14 00:34:49 +00:00
James Yonan
de0da474ef Revamp remote-list handling so that DNS names that resolve to
multiple addresses will be treated as if each address was an
individual remote directive.

Fixed issue where UDP transport driver was calling socket
connect method synchronously.  This can cause exceptions
to be thrown in corner cases, such as "No route to host"
on OSX/iOS for connections to IPv6 addresses when no default
IPv6 route exists on system.  Refactoring UDP connect
operation to be asychronous fixes the issue.

Implemented remote-random.
2013-03-12 19:20:37 +00:00
James Yonan
842c93bfe9 Added capability to build Android development packages for customers. 2013-03-08 01:53:33 +00:00
James Yonan
9f18b28f86 Misc build system changes to support OpenSSL. 2012-11-27 03:05:46 +00:00
James Yonan
fd0f89bbfd PT Android core can now be built with
PT=1 ./build-android-polar

from ovpn3/javacli directory.

Turned off inclusion of standard LZO library, but
LZOAsym is now active for downlink decompression.
2012-09-09 03:41:47 +00:00
James Yonan
8b7b797ef5 iOS version: 1.0 Beta 17
Android version: 1.1 beta 1

More alignment of iOS and Android clients:

* Normalized building of dependencies for Android and iOS:

  This build adds some new library dependencies:
  The library versions required are enumerated in
  ovpn3/lib-versions, currently:

    export BOOST_VERSION=boost_1_51_0
    export OPENSSL_VERSION=openssl-1.0.1c
    export POLARSSL_VERSION=polarssl-1.1.4
    export LZO_VERSION=lzo-2.06

  To build, first mkdir ~/src/android and ~/src/mac if they don't
  already exist.  Set the env var O3 to point to the ovpn3 dir,
  usually ~/src/ovpn3.

  Build on iOS:

    [set PATH to include NDK]
    cd ~/src/android
    $O3/scripts/android/build-boost
    $O3/scripts/android/build-minicrypto
    $O3/scripts/android/build-polarssl
    $O3/scripts/android/build-lzo

  Build on Android:

    [set PATH to include NDK]
    cd ~/src/android
    $O3/scripts/android/build-boost
    $O3/scripts/android/build-minicrypto
    $O3/scripts/android/build-polarssl
    $O3/scripts/android/build-lzo

* Integrated Minicrypto library (an assembly language library
  of low-level crypto functions adapted from OpenSSL).

* Added LZO compression with a preference/settings item
  to enable or disable.

* Added special compression handling to support older servers
  that ignore compression handshake -- this will handle receiving
  compressed packets even if we didn't ask for them.

* Normalized profile naming conventions.

iOS changes:

* Log tunnel performance stats immediately on disconnection
  of tunnel.

Android changes:

* Client now supports loading profiles as attachments
  opened from other apps.

* Added Import Private Tunnel menu item, however current
  Private Tunnel download page needs to be adapted to fit
  requirements of Android download manager.

* Enter key should advance to the next input field,
  or connect if entered from the last field.

* Import from Access Server now provides the option to
  download autologin vs. userlogin profiles.

* "About" page now shows copyright text for included
  libraries/content (except for LZO and PolarSSL
  which will presumably be commercially licensed).
2012-09-05 01:09:34 +00:00
James Yonan
e4d4b4d9f9 Updated Android build for Android Market:
* updated version number to 1.0
* removed expiration
2012-06-20 20:20:11 +00:00
James Yonan
5d3ef89157 Android core build updates.
* Updated OpenSSL to 1.0.1c
* Updated Boost to 1_49_0
* Updated core expiration to 2012.09.01
2012-05-31 12:23:48 +00:00
James Yonan
ce9820fed5 Moved ovpncli.hpp and ovpncli.cpp to client/ so that they can be used
by library wrappings other than javacli.
2012-05-23 05:05:42 +00:00
James Yonan
d5a32c5a75 Copyright updates.
OpenSSL license now embedded in core.
Added OpenVPNClient::copyright() method.
Beta expire extended to 2012.6.1.
2012-04-17 22:12:27 +00:00
James Yonan
8528564b51 For Android builds, moved away from gcc -fwhole-program in favor
of -fvisibility=hidden.
2012-03-25 00:26:50 +00:00
James Yonan
eca10fa23d Minor changes to Android 4 client and core:
* clear_auth() now clears username field.

* OpenSSL impl in core now logs TLS handshake details.

* Added build-openssl-small to build a trimmed-down version
  of OpenSSL.
2012-03-11 04:59:51 +00:00
James Yonan
e82d3986d9 Android 4:
* Added beta expiration capability.  Current expiration is May 1, 2012.

* Fixed issue where closing the OpenVPNClient activity would sometimes
  wrongly shut down the service.

* Moved additional methods from OpenVPNClient into OpenVPNClientBase.
2012-03-10 04:55:32 +00:00
James Yonan
82d4a24489 Android 4 UI work:
* Multi-profile support.
* UI now only shows required fields for each profile.
* Added support for server field.
* Added support for static challenge/response.
* Persist profile/server settings to preferences store.
2012-03-01 08:11:00 +00:00
James Yonan
e1410fd891 Minor UI improvements:
* Added OpenVPN icon
* Show only important events in UI
2012-02-20 05:38:52 +00:00
James Yonan
3f30ffc74f Added additional files missing from previous commit. 2012-02-19 17:43:42 +00:00
James Yonan
540c58e5d8 Android client successfully tested with null tun/tap. 2012-02-16 20:46:38 +00:00
James Yonan
f2ab7971f9 checkpoint 2012-02-15 22:32:45 +00:00
James Yonan
5394a28d2e Added script to build libovpncli.so (Java-wrapped client) for Android.
Required r12868 from swig svn:

http://swig.svn.sourceforge.net/viewvc/swig/trunk/Lib/java/director.swg?view=log
2012-02-14 15:20:15 +00:00