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

150 Commits

Author SHA1 Message Date
David Sommerseth
75dbcdfa93
Merge OpenVPN 3 Core v3.8.2 into master
Signed-off-by: David Sommerseth <davids@openvpn.net>
2023-09-13 16:46:05 +02:00
Frank Lichtenheld
6c3aa11aaa vcpkg-ports/mbedtls: unused, removed
We haven't done any mbedtls builds for Windows in a long
time. Let's not pretend that is something we support by
having this cruft lying around.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2023-09-08 12:11:58 +02:00
Frank Lichtenheld
358280f72f deps/mbedtls: drop old patch
mbedtls clearly don't want to apply this patch. So
affected users will need to find other solutions.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2023-09-08 12:10:36 +02:00
Frank Lichtenheld
1fa0e9589f deps: update mbedTLS to 2.28.4
We're specifically interested in the fix for the unit tests.
("Update test data to avoid failures of unit tests after
2023-08-07")

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2023-08-23 11:58:44 +02:00
David Sommerseth
bc3b549ed6
Merge changes from releaseprep/3.8
Signed-off-by: David Sommerseth <davids@openvpn.net>
2023-03-08 17:24:24 +01:00
Arne Schwabe
171fd2f0af
Fix mbed TLS AEAD encrypt/decrypt with newer mbed TLS 2.x versions
Newer mbed TLS version changed the API. This fixes our usage of the API and
also removed the micro optimisation of reusing the buffer for plain and cipher
text.

It also adds a unit test to ensure the data is correctly encrypted/decrypted.

Signed-off-by: Arne Schwabe <arne@openvpn.net>
2023-03-08 17:06:24 +01:00
Frank Lichtenheld
63499ba7ac CMake: add CMakePresets.json and switch GHA to use it
For now define vcpkg builds for MSVC and MinGW

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2023-02-28 13:45:16 +01:00
Frank Lichtenheld
71cf5f48fe vcpkg-ports/asio: copy update asio-config.cmake from vcpkg
Fixes problems when calling find_package on asio multiple
times.

Originally fixed by commit cba75f1aa08374733dcc79abebeca262ae94118a
in vcpkg#28299.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2023-02-28 12:30:30 +01:00
Frank Lichtenheld
98c002ffea vcpkg_ports/asio: apply all patches
So that we can use this port for building all binaries.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2023-02-28 12:30:30 +01:00
Frank Lichtenheld
fb9bee5ad6 vcpkg.json: Allow to use on Linux
- Fix PATCHES to work on Linux
- While here, fix version number

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2023-02-28 12:30:30 +01:00
Lev Stipakov
e01375daa0
vcpkg-ports: remove ovpn-dco-win port
The UAPI header (ovpn-dco.h) is now part of openvpn3 core
repo, so no need in separate vcpkg port.

Signed-off-by: Lev Stipakov <lev@openvpn.net>
2022-10-13 15:16:21 +02:00
Lev Stipakov
544522d990
asio: bump version to 1.24.0
Rebase "async_connect_post_open" patch.

Signed-off-by: Lev Stipakov <lev@openvpn.net>
2022-10-13 15:16:17 +02:00
Arne Schwabe
664b3d6651
Remove several no longer used or supported build scripts
- the OpenSSL build script for all platform, was only
  used on macOS and better alternatives like homebrew exit there
- mac build scripts in general, cmake/homebrew is a better alternative
- vars for Android, Android uses CMake based build, see ics-openvpn for an example
- lzo build scripts. Core can do lzo decompress witout it and if used, system lzo can
  be used

Signed-off-by: Arne Schwabe <arne@openvpn.net>
2022-08-24 17:09:13 +02:00
Frank Lichtenheld
88f7f7c70b
deps/lib-versions: update OpenSSL to 1.1.1n
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2022-03-17 18:13:01 +01:00
Arne Schwabe
a219ce0303 update mbed TLS to latest 2.7 version
Signed-off-by: Arne Schwabe <arne@openvpn.net>
2022-02-10 18:59:01 +01:00
Frank Lichtenheld
e82303ad2a deps: remove unused dependencies
Most of these haven't been used in years and are
probably useless now. If required they can always
be recovered from the git history.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2022-01-28 12:18:39 +01:00
Frank Lichtenheld
b3e70d8a58 asio: add patch to fix unitialized warning with gcc 10+
Submitted to upstream: https://github.com/chriskohlhoff/asio/pull/968

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2021-12-27 10:23:30 +01:00
Frank Lichtenheld
b9e0d776fd
vcpkg-ports: add patch for jsoncpp
See https://github.com/open-source-parsers/jsoncpp/issues/1356

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2021-11-18 18:33:45 +01:00
Frank Lichtenheld
8bafab1ebb OVPN3-800 build: enable LTO by default on linux
No need to set LTO flag.
2021-10-20 19:53:38 +02:00
Frank Lichtenheld
f0c02a7341
OVPN3-799 openssl: reproducible builds
Set SOURCE_EPOCH_DATE to handle "built on" information.

Make sure we use the same RANLIB during install_sw
as we use during build_libs.
2021-10-20 18:13:18 +02:00
Frank Lichtenheld
603a5758ea
OVPN3-799 build/deps: make AR and RANLIB more flexible
Make it possible to specify arguments for both.
2021-10-20 18:12:29 +02:00
Frank Lichtenheld
9c520dff14 OVPN3-800 build: re-enable -flto for linux deps
lz4 and mbedtls are currently the only deps
that are built for linux (asio and xxHash
are only copied, not built).

If LTO flag is specified (which is a variable
already supported by scrips/build) and target
is linux then enable -flto but allow to
speficy a random-seed to allow reproducibility.
2021-10-19 14:24:34 +02:00
Lev Stipakov
fd0655969d
Merge release of OpenVPN Core library 3.6.4 to master 2021-09-22 13:56:37 +02:00
Lev Stipakov
a32137f7e7
vcpkg-ports: remove openssl port and use the latest version from repo
We want to upgrade to OpenSSL 1.1.1l, but instead of upgrading
our local port we can now rely on the OpenSSL version shipped
with the vcpkg's upstream repo.

We can now do so because starting from vcpkg's commit
06f8fd63 ("[OpenSSL] support for "no-autoload-config" config option
(#18389)") support for the OpenSSL no-autoload-config build option
has been added upstream. This option is required by our builds.

Until now this option was hardcoded in our custom port, but now we
can turn it on by defining our custom triplets "<arch>-windows-ovpn3".

Given the above, we can now drop the custom port and directly rely
on the upstream repo shipping the most recent OpenSSL version.

Signed-off-by: Lev Stipakov <lev@openvpn.net>
2021-09-09 10:41:19 +02:00
Arne Schwabe
1af2a38e82 Update OpenSSL to 1.1.1l 2021-08-25 18:03:43 +02:00
Arne Schwabe
f3634251fb
Update ASIO to 1.19.2 2021-08-18 19:38:37 +02:00
Arne Schwabe
2f28336749 Update to OpenSSL 1.1.1k 2021-07-30 14:00:21 +02:00
Lev Stipakov
fa03fa7d6c
vcpkg-ports/mbedtls: remove references to deleted patches
Signed-off-by: Lev Stipakov <lev@openvpn.net>
2021-06-16 15:56:29 +03:00
David Sommerseth
6530f876c8 OpenVPN 3 Core library version 3.6.3
Jira: VULREP-15
 URL: https://openvpn.atlassian.net/browse/VULREP-15
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEgDq5E1p1aZrNLFFkhs+UTJZx/fIFAmDHst8THGRhdmlkc0Bv
 cGVudnBuLm5ldAAKCRCGz5RMlnH98pEaD/9VaUW4M9q7hpwzoCDqktrdaUzpRgvx
 hCYLSzAuIkAgPO1UXQTL6DWazTAI+vUAfuV+a4dgPmSs52qQ3K1UNUtuuQLurBiQ
 AopeNYY2VVZeVhAzDQDQTPsqCLn0Bigy4m4quJZBVOir+hGoSNnK7XTllNDCc8Li
 6PBIzM408B+6ARISxmxIdqlpsYwthYhRSPRPGTFuYqrbaRC85seHeRUTHTTQ/LVi
 uoAikYHm/IuY/CCNQoYX26M9FAtLA6zKWpPtJ4RzB+Muw8kToT5tpsKVZvjgwvN7
 YvcipYeALqQTf/WX7q8BKF24XzOYaZ1DHEuS8H3KLx66ESXHWZlfsb0uoj0Nv0AV
 HDloyhK5W7l+IfNmW4ZrPm2YZnvemLWYJwPQMZqfVkUiqqBmJIvidoAdiyWJUu5r
 YPkwidx3pjfoAqgWUZWYgEuW9hBkTgcj67HpyrCUvdDMby7yf9y+KKEu1hvVnYFw
 Mwq+UbEGagNBkQns5xAMCjhyIDaJhcXFmvIj7p3t4uTmotX2iybV3msdqTc5WEa+
 f5OuBskMhOUaL3DKhVmoUZL3IC7Wz9aoWnwXEUhcHnt7MYlIqL+k41hZZ4WDiIa3
 VsNMdW+dL63duLTfW1yaUSA7ptvni3Q8+6GCB9AWqO9ERdzxWBcXhufh4IO9L79j
 9QC60f/gPhjcnQ==
 =8Jg2
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEgDq5E1p1aZrNLFFkhs+UTJZx/fIFAmDHtPgTHGRhdmlkc0Bv
 cGVudnBuLm5ldAAKCRCGz5RMlnH98mX5D/4kBPuzRqYKxveM5jBZwV4sSM6rC7iS
 N5xAQr2HSVFPhKQFykxAjc5gAPqXEnxGScICCCjCj0a0LNlLT80HukeeClGZQtdC
 L/XwNjkxNUjaBXrqQKm7zehSKUAlmpG8cP+rs+qOKWRQwNfMXkYhMfXAnf7URk1C
 2uu0G8KfK46QyY5eRruNv/V5F2lvIu1Evux1ePVtp4X/kz6axEQFAC4O5ZCDJkZN
 QxbmXh2VJP3MOYO/vOh+OG47kAVxDb3b2eK5xGvwMVikcbqcA50hlX1oj/zntCBQ
 pP/lUPnym7C7xRmRL8v2RoDRLtLvmhld1D8bLOTFdeGrIbrFX0PXWIekHR3RnegG
 TP3CGvwga7iZDF1Ovn6i+fykxkMIxLe6bcVZZTr3oH2djl+LBoahy/wZIRmP1Fwv
 Pf9qyYEjkLcjueIiTPCygONJ5Bo6Q6VcZO8FPmKRzIMP5uFKqOPPlOqfYRsKrNAP
 m1YFFI8+j01bkvPayUgOSYjrHcgfSOm8VhB7EPg+twwcbYrGE4WQFRMAfpKVJd6a
 Cikjx/i79NDTqC6wk2FHm1/ViVlSP5qPZkludSKrK58xz9G6TA9Vhnp0SfWWhXIw
 KmG7sbe9moC3W7o8gQf1SnlK5r+grpNvh+IGAl4sMggvCiZIsxwCK1Ptet8ag5AQ
 rI99XAaeje6snQ==
 =KuRd
 -----END PGP SIGNATURE-----

Merge tag 'release/3.6.3'

OpenVPN 3 Core library version 3.6.3

Signed-off-by: David Sommerseth <davids@openvpn.net>
2021-06-14 21:58:27 +02:00
Lev Stipakov
f746588d45
vcpkg: add openssl port with no-autoload-conf
In default configuration OpenSSL loads config from
certain location on disk, which may pose a security risk.

There is "no-autoload-config" config option for OpenSSL
which disables this functionality:

   https://github.com/openssl/openssl/pull/5959

however it is not "exported" to vcpkg.

This adds openssl port overlay which sets "no-autoload-config"
config option. Here is the diff:

diff --git a/ports/openssl/windows/portfile.cmake
b/ports/openssl/windows/portfile.cmake
index 7a3bf08ed..c873eb756 100644
--- a/ports/openssl/windows/portfile.cmake
+++ b/ports/openssl/windows/portfile.cmake
@@ -21,6 +21,7 @@ set(CONFIGURE_OPTIONS
     enable-capieng
     no-ssl2
     no-tests
+    no-autoload-config
     -utf-8
     ${OPENSSL_SHARED}
)

There is also corresponsing PR to vcpkg:

  https://github.com/microsoft/vcpkg/pull/18389

When above PR is merged, this port overlay can be removed.

Signed-off-by: Lev Stipakov <lev@openvpn.net>
2021-06-11 13:01:09 +03:00
Lev Stipakov
d31620d0c6
agent mac: move from common
Windows agent has been moved from common to core,
so for consistency move mac agent too.

Since agent and agent-enabled client depend on jsoncpp,
also move jsoncpp build scripts.

Signed-off-by: Lev Stipakov <lev@openvpn.net>
2021-06-10 23:06:24 +02:00
Lev Stipakov
8cae2a770b
asio: support for version 1.18
ASIO 1.18 enabled UNIX domain sockets on Windows,
which breaks our code, since we use Linux-specific
API to work with sockets.

Fix by disabling UNIX domain (local in ASIO terminology)
sockets on Windows.

Bump ASIO version to 1.18.

Signed-off-by: Lev Stipakov <lev@openvpn.net>
2021-06-10 22:43:26 +02:00
David Sommerseth
3c86a086e1
Merge changes from Core library v3.6.1 release 2021-04-14 22:46:43 +02:00
Lev Stipakov
e9c62c1b08
Add vcpkg port for dco-win
Port script only copies uapi header, same way it is done for tap-windows6.

Signed-off-by: Lev Stipakov <lev@openvpn.net>
Signed-off-by: Heiko Hund <heiko@openvpn.net>
2021-04-14 22:44:52 +02:00
Heiko Hund
f7910bb885 remove references to deleted mbedTLS patches
Signed-off-by: Heiko Hund <heiko@openvpn.net>
2021-03-24 17:31:21 +01:00
Arne Schwabe
ac8083edd9 Update OpenSSL to 1.1.1j
Signed-off-by: Arne Schwabe <arne@openvpn.net>
2021-03-10 16:11:32 +01:00
Arne Schwabe
3905ec3592 Update OpenSSL to 1.1.1i
(cherry picked from commit 58b9256923cf5f5f116ff09f226b5d1374cacaff)
2021-03-10 16:11:31 +01:00
Arne Schwabe
af43bf0145
Add script for building xxHash
The code that requires xxHash requires a fairly new xxHash version, so
add a local copy of 0.8.0 to build with this header only library.

Signed-off-by: Arne Schwabe <arne@openvpn.net>
2021-01-20 17:02:30 +01:00
David Sommerseth
5b15dbe940
Merge changes from Core library v3.5 2020-09-23 20:13:07 +02:00
Arne Schwabe
2952f5611a Update OpenSSL to 1.1.1h
Signed-off-by: Arne Schwabe <arne@openvpn.net>
2020-09-23 09:28:42 +02:00
Arne Schwabe
7eaa2893d4
Remove unused patch to fix compilation on Android
Signed-off-by: Arne Schwabe <arne@openvpn.net>
2020-09-09 18:58:54 +02:00
Arne Schwabe
1c751cc55b
Remove patch/code to allow unsupported name constraints in mbed TLS
This code was originally used in the Connect clients to allow PKIs that
use the (not commonly used) Name constraints feature. This is a
potential security risk but was done to allow PKIs that used that
feature. OpenSSL natively supports Name constraints and will check these.

Remove this hacky feature as feature as it also breaks compiling with
an unpatched mbed TLS and is not used by code anymore.
2020-09-09 18:58:53 +02:00
James Yonan
fd11e37ca8
Asio patches: in basic_resolver_results, added data() and cdata() members for access to underlying storage vector
This seems like a more general solution for developing resolver results mutators
such as randomize and filter by IP version.

Signed-off-by: James Yonan <james@openvpn.net>
2020-08-19 18:52:55 +02:00
Arne Schwabe
d7f4c1611d Modify asio patch to avoid warning about non virtual destructor
The asio patch adds a virtual method to basic_socket. This triggers
compiler warnings about a non-virtual destructor. Fix this by also
making the destructor virtual.

Signed-off-by: Arne Schwabe <arne@openvpn.net>
2020-04-29 11:55:38 +02:00
Arne Schwabe
531c29f177 Update ASIO to 1.16.1
Signed-off-by: Arne Schwabe <arne@openvpn.net>
2020-04-29 11:55:38 +02:00
Arne Schwabe
e6d544b8a5 Add support building deps with clang/libc++
Signed-off-by: Arne Schwabe <arne@openvpn.net>
2020-04-29 11:55:38 +02:00
David Sommerseth
492661fd02
Merging release/3.5.5 into master 2020-04-24 17:33:51 +02:00
Arne Schwabe
bbcf90171f Upgrade OpenSSL to 1.1.1g
Signed-off-by: Arne Schwabe <arne@openvpn.net>
2020-04-22 14:59:00 +02:00
Dmitriy Dudnik
abb7857452 Bump openssl version to 1.1.1f
Signed-off-by: Dmitriy Dudnik <dmytro.dudnik@openvpn.net>
2020-04-09 14:35:21 +03:00
Dmitriy Dudnik
89a3283944 Fix variable name typo in build-openssl
Signed-off-by: Dmitriy Dudnik <dmytro.dudnik@openvpn.net>
2020-04-09 14:35:21 +03:00