Browse code

OpenVPN Release 2.7_alpha3

version.m4, ChangeLog, Changes.rst

Changes.rst has not received an "2.7_alpha3" section - it has the
"highlevel" overview of what is new in 2.7, but for alpha/beta releases
it's better to look at git log to see what has been added/fixed.

New features alpha2 -> alpha3 are
- --dns-updown script for macOS
- client-side support for PUSH_UPDATE handling
- support for floating TLS clients when DCO is active
(handling float notifications sent from kernel to userland)
- use of user-defined routing tables on Linux
- PQE support for WolfSSL

Besides new features, alpha3 sees a rewrite of the way kernel events
are handled by the linux DCO module, because under certain circumstances
notifications could get lost, leading to problems later.

Signed-off-by: Gert Doering <gert@greenie.muc.de>

Gert Doering authored on 2025/07/31 15:51:26
Showing 3 changed files
... ...
@@ -1,6 +1,90 @@
1 1
 OpenVPN ChangeLog
2 2
 Copyright (C) 2002-2025 OpenVPN Inc <sales@openvpn.net>
3 3
 
4
+2025.07.31 -- Version 2.7_alpha3
5
+
6
+Antonio Quartulli (10):
7
+      README.dco: update Linux instructions
8
+      dco_linux: fix case statement by using proper error value
9
+      dco_linux: use M_FATAL instead of M_ERR in netlink error code paths
10
+      dco_linux: rearrange functions
11
+      multi: store multi_context address inside top instance
12
+      dco: only pass struct context to init function
13
+      dco_linux: factor out netlink notification code
14
+      dco_linux: fix async message reception
15
+      multi: make some multi_*() functions static
16
+      dco_linux: clean up PEER_GET trigger and parser
17
+
18
+Arne Schwabe (1):
19
+      Cleanup/simplify mbed TLS related define from autoconf
20
+
21
+Christian Schürmann (1):
22
+      Replace deprecated OpenSSL.crypto.load_crl
23
+
24
+Frank Lichtenheld (8):
25
+      packet_id: Fix build with --disable-debug
26
+      Fix new doxygen warnings about using @return in void functions
27
+      Fix compiler warning in reliable.c with --disable-debug
28
+      reliable: Review and fix gc_arena usage
29
+      configure.ac: Remove use of PKCS11_HELPER_LIBS in mbedTLS checks
30
+      GHA: Dependency updates July 2025
31
+      plugins: Clean up -Wconversion warnings
32
+      options: Simplify function setenv_foreign_option
33
+
34
+Gert Doering (3):
35
+      mudp.c, multi.c, multi_io.c: get rid of 'all three DCO platforms' #ifdefs
36
+      unit_tests/plugins/auth-pam: fix stdint.h related build error on fedora 42
37
+      OpenVPN Release 2.7_alpha3
38
+
39
+Gianmarco De Gregori (2):
40
+      Route: add support for user defined routing table
41
+      Multi-socket: Fix assert triggered by stale peer-id reuse
42
+
43
+Heiko Hund (9):
44
+      dns: add updown script for macOS
45
+      fix macOS dns-updown handling of parallel full redirects
46
+      run forced --dns-updown without --script-security
47
+      dns: create NRPT registry key if it doesn't exist
48
+      dns: do not run updown scripts with lwipovpn
49
+      prevent search domain races with macOS dns-updown
50
+      move macOS dns-updown common code into functions
51
+      mac dns: compare servers before restoring backup
52
+      mac dns: do not run dns-updown in parallel
53
+
54
+Kristof Provost (3):
55
+      dco: support float notifications on FreeBSD
56
+      dco-freebsd: always enable float notification support
57
+      dco-freebsd: pass address scope to the kernel
58
+
59
+Lev Stipakov (4):
60
+      Fix broken DHCP options
61
+      Fix --dns options for TAP adapter
62
+      Fix DNS options duplication on PUSH_UPDATE
63
+      Fix wrong byte order of --dns server
64
+
65
+Marco Baffo (3):
66
+      PUSH_UPDATE: Allow OpenVPN in client mode to receive and handle PUSH UPDATE control messages to allow options updating at runtime.
67
+      PUSH_UPDATE: Added remove_option() and do_update().
68
+      PUSH_UPDATE: Added update_option() function.
69
+
70
+Ralf Lici (5):
71
+      dco linux: avoid redefining ovpn enums
72
+      dco linux: avoid sending local port to ovpn
73
+      dco: Add support for float notifications
74
+      improve float collision logging
75
+      add flag to print addresses in a consistent format during float
76
+
77
+Samuli Seppänen (2):
78
+      t_server_null: add multi-socket testing
79
+      t_server_null: match test numbers with server numbers
80
+
81
+Terrance (1):
82
+      Update systemd service name param to match command
83
+
84
+rein.vanbaaren (1):
85
+      Added PQE to WolfSSL
86
+
87
+
4 88
 2025.06.18 -- Version 2.7_alpha2
5 89
 
6 90
 Antonio Quartulli (1):
... ...
@@ -9,14 +9,15 @@ Multi-socket support for servers
9 9
     and TCP connections at the same time, or listen on multiple addresses
10 10
     and/or ports.
11 11
 
12
-Client implementations for DNS options sent by server for Linux/BSD
13
-    Linux and BSD versions of OpenVPN now ship with a default ``dns-updown``
14
-    script that implements proper handling of DNS configuration sent
15
-    by the server. The scripts should work on systems that use
16
-    ``systemd`` or ``resolveconf`` to manage the DNS setup, as well as
17
-    raw ``/etc/resolv.conf`` files. However, the exact features supported
18
-    will depend on the configuration method. On Linux this should usually
19
-    mean that split-DNS configurations are supported out-of-the-box now.
12
+Client implementations for DNS options sent by server for Linux/BSD/macOS
13
+    Linux, BSD and macOS versions of OpenVPN now ship with a per-platform
14
+    default ``--dns-updown`` script that implements proper handling of
15
+    DNS configuration sent by the server.  The scripts should work on
16
+    systems that use ``systemd`` or ``resolveconf`` to manage the DNS
17
+    setup, as well as raw ``/etc/resolv.conf`` files. However, the exact
18
+    features supported will depend on the configuration method.
19
+    On Linux and MacOS this should usually make split-DNS configurations
20
+    supported out-of-the-box now.
20 21
 
21 22
     Note that this new script will not be used by default if a ``--up``
22 23
     script is already in use to reduce problems with
... ...
@@ -55,6 +56,12 @@ Support for new version of Linux DCO module
55 55
 Support for server mode in win-dco driver
56 56
     On Windows the win-dco driver can now be used in server setups.
57 57
 
58
+Support for TLS client floating in DCO implementations
59
+    The kernel modules will detect clients floating to a new IP address
60
+    and notify userland so both data packets (kernel) and TLS packets
61
+    (sent by userland) can reach the new client IP.
62
+    (Actual support depends on recent-enough kernel implementation)
63
+
58 64
 Enforcement of AES-GCM usage limit
59 65
     OpenVPN will now enforce the usage limits on AES-GCM with the same
60 66
     confidentiality margin as TLS 1.3 does. This mean that renegotiation will
... ...
@@ -116,6 +123,19 @@ Support for Haiku OS
116 116
 
117 117
 TLS1.3 support with mbedTLS (very recent mbedTLS development versions only)
118 118
 
119
+PUSH_UPDATE client support
120
+    It is now possible to update parts of the client-side configuration
121
+    (IP address, routes, MTU, DNS) by sending a new server-to-client
122
+    control message, PUSH_UPDATE,<options>.  Server-side support is
123
+    currently only supported by OpenVPN Inc commercial offerings, the
124
+    implementation for OpenVPN 2.x is still under development.
125
+    See also: https://openvpn.github.io/openvpn-rfc/openvpn-wire-protocol.html
126
+
127
+Support for user-defined routing tables on Linux
128
+    see the ``--route-table`` option in the manpage
129
+
130
+PQE support for WolfSSL
131
+
119 132
 
120 133
 Deprecated features
121 134
 -------------------
... ...
@@ -3,7 +3,7 @@ define([PRODUCT_NAME], [OpenVPN])
3 3
 define([PRODUCT_TARNAME], [openvpn])
4 4
 define([PRODUCT_VERSION_MAJOR], [2])
5 5
 define([PRODUCT_VERSION_MINOR], [7])
6
-define([PRODUCT_VERSION_PATCH], [_alpha2])
6
+define([PRODUCT_VERSION_PATCH], [_alpha3])
7 7
 m4_append([PRODUCT_VERSION], [PRODUCT_VERSION_MAJOR])
8 8
 m4_append([PRODUCT_VERSION], [PRODUCT_VERSION_MINOR], [[.]])
9 9
 m4_append([PRODUCT_VERSION], [PRODUCT_VERSION_PATCH], [[]])