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

108 Commits

Author SHA1 Message Date
James Yonan
18bf3158a5 Updated ovpn3 dependencies:
* Updated all libraries to latest versions
* PolarSSL -> mbedTLS renaming
2015-12-28 17:47:18 -07:00
James Yonan
2ee8bbde1e Added scripts/snapshot tool to make it easier
to build .tar.gz files from git checkouts.
2015-12-28 17:47:18 -07:00
James Yonan
420766503b Removed "exit 0" from scripts/mac/build-all, so the
script can be sourced.
2015-12-28 17:47:18 -07:00
James Yonan
6eaf1e324b Changes to build script:
* Added EXTRA_CPP var for specifying additional .cpp files
  to be built as separate compilation units.

* Don't emit -fwhole-program flag if compile-only flag
  (CO) is enabled or EXTRA_CPP is defined.

* Clear out EXTRA_SRC_OBJ if compile-only flag (CO) is
  enabled to avoid warnings.
2015-11-25 12:14:02 -07:00
James Yonan
7b14dae436 In zlib.hpp, don't compile zlib code unless
HAVE_ZLIB is defined.

In scripts/build-extras/zlib.sh, define
HAVE_ZLIB when running build script with
ZLIB=1.
2015-10-16 13:49:11 -06:00
James Yonan
3825535db2 Added "JAVA=1" option to build script to build with JVM. 2015-08-14 05:19:04 -07:00
James Yonan
16bde170c0 Don't use deprecated asio features. 2015-06-30 00:05:37 -06:00
James Yonan
04637e486a Started process of switching over from asiodispatch
to C++11 lambdas.
2015-06-24 16:16:57 -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
4d660c0eca Added OUTBIN parm to build script. 2015-04-25 15:12:15 -06:00
James Yonan
a51c0bf0bf Mostly complete transition from boost::thread to std::thread. 2015-04-23 17:07:56 -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
7b6533484e Added gzip compression support to ovpn3 library. 2015-02-13 14:29:09 -07:00
James Yonan
2856dc759a Build OpenSSL shared libraries on Linux. 2015-02-10 15:49:49 -07:00
James Yonan
c1c6bdb639 Don't build or include minicrypto for Android. 2015-02-05 10:22:39 -07:00
James Yonan
433f4e362d Minicrypto build fixes:
* Disable minicrypto for now in both Android and Apple builds.

* In deps/polarssl/build-polarssl, don't apply the minicrypto
  patch unless "$USE_MINICRYPTO" = "1".
2015-01-19 17:48:10 -07:00
James Yonan
031554e45a Comment out the "set -e" at the top of scripts/android/build-toolchain
as it appears to cause premature exit.
2014-10-16 11:45:28 -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
68afaf3324 Created build-extras system where other components (outside of core)
can modify build system behavior.
2014-08-28 16:06:26 -06:00
James Yonan
6ba90c9ef7 In build script, remove references to DBG_DIR_SUFFIX as it is made
obsolete by existence of vars-x-dbg files.
2014-08-28 16:04:27 -06:00
James Yonan
302046c3ea Updated build scripts for repo reorganization. 2014-08-28 13:33:14 -06:00
James Yonan
e8194fa543 In scripts/mac/build-all, don't disable SSL server functionality
when building PolarSSL for Mac OS X.
2014-08-15 22:02:56 -06:00
James Yonan
76b317e9f1 Added JsonCpp support. 2014-08-10 20:16:36 -06:00
James Yonan
d9dfc91031 In build script, don't add -fwhole-program
flag when DEBUG_BUILD == 1.
2014-08-10 20:02:25 -06:00
James Yonan
df860644e8 Built ovpn3 cli tool on Linux (gcc 4.8.2) with some
minor edits:

* Don't build OpenSSL.
* Edited ovpncli/README.txt with updated build command.
* Enabled C++11 in compiler flags, and turned off
  some spurious warnings.
* Added CXX_COMPILER_FLAGS build flag to allow
  C++-only flags to be defined.

Changes to build script as well:

* Honor OTHER_COMPILER_FLAGS and CXX_COMPILER_FLAGS
  settings.
* For debug builds, DEBUG_BUILD=1 setting should be placed
  in vars-x.  Existing build DEBUG=1 setting now only
  sets -g.
* For clang builds, don't emit -fvisibility=hidden because
  that should be placed in OTHER_COMPILER_FLAGS in vars-x.
2014-07-28 12:08:49 -06:00
James Yonan
d5e72f7806 Updated dependencies and build scripts for building with Xcode 5.1:
* Updated lib-versions:

  lzo-2.08
  lz4-r119
  polarssl-1.3.8
  openssl-1.0.1h

* Turned off Minicrypto as it is broken on polarssl-1.3.8.
2014-07-09 17:51:03 -06:00
James Yonan
11acfc6ca2 Implemented Mac connection lifecycle monitoring object
(MacLifeCycle).

Monitor connection lifecycle notifications, such as sleep, wakeup,
network-unavailable, and network-available.

Note that not all platforms define a lifecycle object.  Some
platforms such as Android and iOS manage lifecycle notifications at
the service level, and they call pause(), resume(), reconnect(),
etc. as needed using the main ovpncli API.

Also, added a reason string to Pause event.
2014-03-24 17:28:46 -06:00
James Yonan
074dbafa27 Ported minicrypto lib to OS X for PolarSSL optimization.
These scripts

  scripts/mac/build-minicrypto
  scripts/mac/build-polarssl

will now build PolarSSL (on OSX) with libminicrypto linkage.
Currently, only SHA1/256/512 implementations from OpenSSL are
built in libminicrypto.  We leave the current PolarSSL AES
implementation as-is since it now implements AES-NI.

Also added portable openssl/build-openssl script.
2014-03-04 17:42:00 -07:00
James Yonan
5975b4b53c Core build script changes:
* Added new cross-platform boost/build-boost script.

* Added new LINK_MODE var (static|shared) that is
  used by Boost, PolarSSL, and OpenSSL (Linux) builds.

* More DEP_DIR flexibility:
  (a) DEP_DIR can be defined prior to call of build-all scripts.
  (b) On Linux, vars-linux script will not override DEP_DIR.
2014-03-03 14:34:39 -07:00
James Yonan
a76c67f63c On Mac OS X, build now defaults to utun-only and
BOOST_ASIO_DISABLE_KQUEUE is left undefined.  To enable
fallback to Mac TunTap driver, MAC_TUNTAP_FALLBACK
and BOOST_ASIO_DISABLE_KQUEUE must be defined.
2014-02-27 23:05:11 -07:00
James Yonan
382f8a2828 Mac OS X build script changes to allow building "fat" 32/64-bit
binaries with minimum deployment target of OS X 10.6.
2014-02-27 17:57:38 -07:00
James Yonan
5cb4dd43bb Updated Linux build scripts including adding a new script
to build lz4.
2014-02-09 03:12:33 -07:00
James Yonan
b02bfa8e2e In build scripts, standardize on $DL referring to downloads
directory and pointing to ~/Downloads by default.
2014-02-09 03:10:02 -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
f9660fe8ae Minor fixes to iOS build scripts:
* build-all can be run from any directory, will still use
  ~/src/mac to write products.

* to make sure that scripts don't trigger a false error exit
  by their caller, add "exit 0" to last line of all scripts
  called by build-all.
2014-01-13 17:51:19 -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
2cbe310f35 OpenVPN 1.0.4 build 114 (iOS)
Dusted off LZ4 implementation and enabled in iOS
and cli.cpp builds.

Tested LZ4 as well with OpenVPN 3 acting as the client,
with a hacked AS and OpenVPN 2.3 (JY) acting as the server
(see lz4hack patches).
2013-12-27 22:21:22 -07:00
James Yonan
1481327d72 OpenVPN 1.0.2 build 98 (iOS)
Ported iOS client and OpenVPN 3 core to ARM-64.
Now building a "fat binary" with Xcode 5.0.1 that
targets arm7, arm7s, and arm64.

Outstanding issues:

* IPv6 doesn't route through tunnel on iOS7
* Client doesn't install on iOS 5.1.1.
2013-11-11 12:33:35 -07:00
James Yonan
f290f9feee Extended IP.Addr class to handle extents as IP.Addr objects. This
extends the IP.Addr class to act more-or-less as a generic 128-bit
unsigned integer class.
2013-07-29 05:48:03 +00:00
James Yonan
0f17a169fc Added notes (doc/README.txt) describing OpenVPN 3 build process on
Mac OS X that is intended to be used with openvpn3.tar.gz
distribution.
2013-06-28 04:17:27 +00: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
dc10d6f541 Added scripts/linux/build-polarssl-ovpn2 to build OpenVPN 2.x with
PolarSSL.
2013-06-11 05:46:58 +00:00
James Yonan
f48aed317a Refactored polar-openssl.patch to make it easier for PolarSSL
team to merge.
2013-05-31 20:42:49 +00:00
James Yonan
413498ae4f Android 1.1.10 build 39
iOS 1.0.1 build 73

Updated to PolarSSL 1.1.6
2013-03-14 07:15:28 +00:00
James Yonan
32e9c62db7 Support usage such as this:
remote foo.bar 1194 tcp-client
2013-02-19 06:54:12 +00:00
James Yonan
9f18b28f86 Misc build system changes to support OpenSSL. 2012-11-27 03:05:46 +00:00
James Yonan
5ea06010c5 Get PolarSSL-based client and test builds working on Linux again. 2012-11-26 18:53:12 +00:00
James Yonan
f72aab4b40 Added support to new core for remote-cert-tls, remote-cert-ku,
and remote-cert-eku directives.
2012-10-31 14:46:40 +00:00