Browse code

OpenVPN Release 2.7_beta1

version.m4, ChangeLog, Changes.rst

Changes.rst has not received an "2.7_beta1" 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 alpha3 -> beta1 are
- a large number of signed/unsigned related warnings have been fixed
- bugfixes in --dns-updown script for linux systems using resolvconf
- rewrite of the management interface "bytecount" infastructure to better
interact with DCO
- PUSH_UPDATE server support (via management interface)
- introduction of route_redirect_gateway_ipv4 and _ipv6 env variables
- speeding up t_client tests by reducing per-test startup delay 3s -> 1s

The biggest noticeable difference in beta1 is the reformatting using
clang-format, leaving uncrustify as that wasn't stable across versions.

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

Gert Doering authored on 2025/09/04 02:03:39
Showing 3 changed files
... ...
@@ -1,6 +1,71 @@
1 1
 OpenVPN ChangeLog
2 2
 Copyright (C) 2002-2025 OpenVPN Inc <sales@openvpn.net>
3 3
 
4
+2025.09.04 -- Version 2.7_beta1
5
+
6
+Arne Schwabe (1):
7
+      Check message id/acked ids too when doing sessionid cookie checks
8
+
9
+Frank Lichtenheld (27):
10
+      Update text of GPL to latest version from FSF
11
+      Update GPL header in all source files to current recommended version
12
+      Define a .clang-format file for the project
13
+      Disable clang-format for some code parts
14
+      Update git-pre-commit-uncrustify.sh to handle clang-format
15
+      GHA: enable -Werror for mbedTLS v3 and AWS LC builds
16
+      Reformat the whole project with clang-format
17
+      Fix build error with clang-cl on latest Windows SDK
18
+      clang-format: Switch to ColumnLimit 0
19
+      Add clang-format reformat commit to .git-blame-ignore-revs
20
+      Remove uncrustify config and reformat-all.sh
21
+      buffer: remove unused function buf_write_alloc_prepend
22
+      t_client.sh: Do not wait 3 seconds for OpenVPN to come up
23
+      Collect trivial conversion fixes
24
+      options: Fix --hash-size virtual argument
25
+      Clean up documentation for --tun-mtu-max
26
+      comp: Make sure comp flags are treated as unsigned
27
+      crypto: Make sure crypto flags are treated as unsigned
28
+      options: Make sure option types are treated as unsigned
29
+      route: Make sure various route flags are treated as unsigned
30
+      socket: Create socket_util with non-socket functions
31
+      Add new unit test module test_socket
32
+      socket_util: Clean up conversion warnings in add_in6_addr
33
+      manage: Make sure various management flags are treated as unsigned
34
+      forward: Make sure pip flags are treated as unsigned
35
+      options: Introduce atoi_constrained and review usages of atoi_warn
36
+      ssl_openssl: Fix type of sslopts argument to SSL_CTX_set_options
37
+
38
+Gert Doering (3):
39
+      Remove use of 'dh dh2048.pem' from sample configs, remove 'dh2048.pem' file
40
+      Introduce env variables to communicate desired gateway redirection to NM.
41
+      OpenVPN Release 2.7_beta1
42
+
43
+Gianmarco De Gregori (1):
44
+      dco: avoid printing mi prefix on debug messages
45
+
46
+Heiko Hund (1):
47
+      dns: fix systemd dns-updown script
48
+
49
+Ilia Shipitsin (1):
50
+      GHA: limit 'Deploy Doxygen documentation' to main repo only
51
+
52
+Lev Stipakov (3):
53
+      Log setting DNS via NRPT
54
+      dco-win: add support for multipeer stats
55
+      Refactor management bytecount tracking
56
+
57
+Marco Baffo (1):
58
+      PUSH_UPDATE message sender: enabling the server to send PUSH_UPDATE control messages
59
+
60
+Ralf Lici (3):
61
+      management: resync timer on bytecount interval change
62
+      dco_linux: validate tun interface before fetching stats
63
+      management: stop bytecount on client disconnection
64
+
65
+Samuli Seppänen (2):
66
+      Add sample FFDH parameters file and use that in t_server_null tests
67
+
68
+
4 69
 2025.07.31 -- Version 2.7_alpha3
5 70
 
6 71
 Antonio Quartulli (10):
... ...
@@ -131,11 +131,23 @@ PUSH_UPDATE client support
131 131
     implementation for OpenVPN 2.x is still under development.
132 132
     See also: https://openvpn.github.io/openvpn-rfc/openvpn-wire-protocol.html
133 133
 
134
+PUSH_UPDATE server support (minimal)
135
+    new management interface commands ``push-update-broad`` and
136
+    ``push-update-cid`` to send PUSH_UPDATE option updates to all
137
+    clients ("there is a new DNS server") or only a specific client ID
138
+    ("privileges have changed, here's a new IP address").  See
139
+    doc/management-notes.txt
140
+
134 141
 Support for user-defined routing tables on Linux
135 142
     see the ``--route-table`` option in the manpage
136 143
 
137 144
 PQE support for WolfSSL
138 145
 
146
+Two new environment variables have been introduced to communicate desired
147
+    default gateway redirection to plugins like Network Manager,
148
+    ``route_redirect_gateway_ipv4`` and ``route_redirect_gateway_ipv6``.
149
+    See the "Environmental Variables" section in the man page
150
+
139 151
 
140 152
 Deprecated features
141 153
 -------------------
... ...
@@ -235,6 +247,24 @@ User-visible Changes
235 235
   server pushes DCO incompatible options), use the ``--disable-dco``
236 236
   option.
237 237
 
238
+- Apply more checks to incoming TLS handshake packets before creating
239
+  new state - namely, verify message ID / acked ID for "valid range for
240
+  an initial packet".  This fixes a problem with clients that float
241
+  very early but send control channel packet from the pre-float IP
242
+  (Github: OpenVPN/openvpn#704).
243
+
244
+- Use of ``--dh dh2048.pem`` in all sample configs has been replaced
245
+  with ``--dh none``.  The ``dh2048.pem`` file has been removed, and
246
+  has been replaced with ``ffdhe2048.pem`` for the benefit of the
247
+  t_server_null test (to test all variants of ``--dh``).
248
+
249
+- the startup delay in ``t_client.sh`` has been reduced from 3s to 1s,
250
+  making a noticeable difference for setups with many tests.
251
+
252
+- changed from using ``uncrustify`` for code formatting and pre-commit checks
253
+  to ``clang-format``.  This reformatted quite a bit of code, and requires
254
+  that regular committers change their pre-commit checks accordingly.
255
+
238 256
 
239 257
 Overview of changes in 2.6
240 258
 ==========================
... ...
@@ -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], [_alpha3])
6
+define([PRODUCT_VERSION_PATCH], [_beta1])
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], [[]])