Browse code

Preparing release 2.6_beta1

version.m4, ChangeLog, branching off release/2.6 from master.

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

Gert Doering authored on 2022/12/02 00:32:02
Showing 2 changed files
... ...
@@ -1,7 +1,812 @@
1 1
 OpenVPN ChangeLog
2 2
 Copyright (C) 2002-2022 OpenVPN Inc <sales@openvpn.net>
3 3
 
4
-This file is not maintained in this branch of the OpenVPN git repository.
4
+2022.12.01 -- Version 2.6_beta1
5
+
6
+Adrian (1):
7
+      Fix error in example firewall.sh script
8
+
9
+Antonio Quartulli (99):
10
+      tun.c: remove unused variable
11
+      openssl: fix EVP_PKEY_CTX memory leak
12
+      openssl: avoid NULL pointer dereference
13
+      ssl: remove unneeded if block
14
+      options: check for blanks in fingerprints and reject string if found
15
+      crypto: respect ECB argument type from prototype
16
+      Add documentation on EVENT_READ/EVENT_WRITE constants
17
+      windows: use appropriate and portable format specifier for 64bit pointer
18
+      windows: define variable only where used
19
+      windows: list all enum values in switch block
20
+      forward: get rid of useless declarations for actually static functions
21
+      mbedtls: do not define mbedtls_ctr_drbg_update_ret when not needed
22
+      route.c: pass the right parameter to IN6_IS_ADDR_UNSPECIFIED
23
+      man/protocol-options: add missing ending metachar
24
+      compat-mode: allow user to specify version to be compatible with
25
+      reject compression by default
26
+      Remove support for PF (Packet Filter)
27
+      configure: search also for rst2{man, html}.py
28
+      multi: remove extra brackets in multi_process_incoming_link()
29
+      do not include --cipher value in data-ciphers
30
+      compat-mode: add --data-cipher-fallback auomatically if requested
31
+      Set TLS 1.2 as minimum by default
32
+      doc: fix indentation in protocol-options.rst
33
+      networking: add and implement net_addr_ll_set() API
34
+      networking: add missing brackets
35
+      set_lladdr: use networking API net_addr_ll_set() on Linux
36
+      configure: remove useless -Wno-* from default CFLAGS
37
+      options.c: fix version reported in --cipher warning message
38
+      doc/cipher-negotiation.rst: avoid warning by fixing indentation
39
+      doc: remove PF leftovers from documentation
40
+      sig.c: define signal_handler on non-windows only
41
+      GitHub Actions: ensure Ubuntu builds are made with the chosen SSL library
42
+      ssl.c: use arrow operator to access object member
43
+      use 'static inline' instead of 'inline static'
44
+      GitHub Actions: add other config flavours
45
+      unit-test: fix test_crypto when USE_COMP is not defined
46
+      update copyright year to 2022
47
+      keyingmaterialexporter.c: include strings.h
48
+      crypto: move validation logic from cipher_get to cipher_valid
49
+      crypto: move OpenSSL specific FIPS check to its backend
50
+      Get rid of README.IPv6 and TODO.IPv6
51
+      auth_token/tls_crypt: fix usage of md_valid()
52
+      crypto: unify key_type creation code
53
+      remove unused sitnl.h file
54
+      options: drop useless netmask variable
55
+      networking: use OPENVPN_ETH_ALEN instead of ETH_ALEN
56
+      networking: silence warnings about unused arguments
57
+      networking_iproute2: don't pass M_WARN to openvpn_execve_check()
58
+      networking: implement net_iface_new and net_iface_del APIs
59
+      t_net.sh: delete dummy iface using iproute command
60
+      auth-pam.c: add missing include limits.h
61
+      dco: introduce low-level code for handling ovpn-dco in the Linux kernel
62
+      dco: add helper function to detect if DCO is enabled or not
63
+      dco: create DCO interface using SITNL
64
+      tls-crypt-v2: bail out if the client key is too small
65
+      dco: use specific metric when installing routes
66
+      networking: fix doc for net_iface_new() API
67
+      options: don't export local function pre_connect_save()
68
+      networking_sitnl: always return negative error code in case of failure
69
+      networking: add net_iface_type API
70
+      tun: create tun_name_is_fixed helper
71
+      dco: add option check - disable DCO if conflict is detected
72
+      dco: allow user to disable it at runtime
73
+      GitHub Actions: add Linux DCO build (on Ubuntu 20.04)
74
+      dco: introduce open_tun_dco_generic() to open dynamic or fixed-name DCO devices
75
+      dco: initialize context and save pointer in TLS object
76
+      dco: configure keys in DCO right after generating them
77
+      disable DCO if no --dev was specified
78
+      dco: periodically check and possibly rotate/delete keys
79
+      dco: split option parsing routines
80
+      push: fix compilation with --disable-management and --enable-werror
81
+      dco: check that pulled options are compatible
82
+      dco: implement dco support for p2p/client code path
83
+      dco: add documentation for ovpn-dco-linux
84
+      dco: implement dco support for p2mp/server code path
85
+      dco: perform pull options check only if we pulled any option
86
+      dco: disable DCO if --allow-compress yes/asym was specified
87
+      dco: turn supported ciphers list into a function
88
+      do_open_tun: restyle 'can preserve TUN' check
89
+      do_close_tun: get rid of one level of indentation
90
+      ovpn-dco: print some netlink messages to debug level
91
+      dco: move message to DCO debug level and reword a bit
92
+      dco: properly name variables
93
+      dco: don't pass VPN IPs to NEW_PEER API in P2P mode
94
+      dco-win: ensure the DCO API is not used when running on Windows
95
+      ssl_util: fix prototype style
96
+      dco: move availability check to the end of check_option_conflict() function
97
+      dco-win: introduce low-level code for handling ovpn-dco-win in Windows
98
+      dco-win: check for incompatible options
99
+      dco-win: implement ovpn-dco support in P2P Windows code path
100
+      dco-win: add documentation to README.dco.md
101
+      dco-win: update GH Actions config file
102
+      dco: trigger ping timeout event only if the peer expired
103
+      delete_routes(_ipv6): avoid memleak if RT_DEFINED is not set
104
+      solaris/open_tun: prevent crash when dev is empty string
105
+      do not push route-ipv6 entries that are also in the iroute-ipv6 list
106
+      auth-user-pass: add support for inline credentials
107
+      get_user_pass_cr: get password from stdin if missing inline
108
+      close_tun: print interface type consistently in message
109
+
110
+Arne Schwabe (289):
111
+      Fix client's poor man NCP fallback
112
+      Refactor key_state_export_keying_material functions
113
+      Fix compilation with older mbed TLS versions (mbedtls_tls_prf_types undefined)
114
+      Fix client NCP OCC fallback when server and client cipher are identical
115
+      Move openvpn specific key expansion into its own function
116
+      Allow 'none' cipher being specified in --data-ciphers
117
+      Implement generating data channel keys via EKM/RFC 5705
118
+      Ignore deprecation warning for daemon on macOS
119
+      Add function for common env setting of verify user/pass calls
120
+      Inline function tls_get_peer_info
121
+      Align reliable_free with other free methods to accept NULL
122
+      Remove NULL checks before calling free
123
+      Remove explicit setting of peer_id to false
124
+      Remove --disable-def-auth configure argument
125
+      Replace key_scan array of static pointers with inline function
126
+      Add more documentation about our internal TLS functions
127
+      Improve keys out of sync message
128
+      Clean up tls_authentication_status and document it
129
+      Rename DECRYPT_KEY_ENABLED to TLS_AUTHENTICATED
130
+      Send AUTH_FAILED message to clients on renegotiation failures
131
+      Make any auth failure tls_authentication_status return auth failed
132
+      Fix auth-token not being updated if auth-nocache is set
133
+      Remove auth_user_pass.wait_for_push variable
134
+      Fix port-share option with TLS-Crypt v2
135
+      Zero initialise msghdr prior to calling sendmesg
136
+      Fix tls-auth mismatch OCC message when tls-cryptv2 is used.
137
+      Remove inetd support from OpenVPN
138
+      Change pull request timeout use a timeout rather than a number
139
+      Check return values in md_ctx_init and hmac_ctx_init
140
+      Implement client side handling of AUTH_PENDING message
141
+      Introduce management client state for AUTH_PENDING notifications
142
+      Add S_EXITCODE flag for openvpn_run_script to report exit code
143
+      Prefer TLS libraries TLS PRF function, fix OpenVPN in FIPS mode
144
+      Implement server side of AUTH_PENDING with extending timeout
145
+      Refactor extract_var_peer_info into standalone function and add ssl_util.c
146
+      Change parameter of send_auth_pending_messages from context to tls_multi
147
+      Allow pending auth to be send from a auth plugin
148
+      Avoid generating unecessary mbed debug messages
149
+      Add README.wolfssl documentating the state of WolfSSL in OpenVPN
150
+      Fix multiple problems when compiling with LLVM/Windows (clang-cl)
151
+      Move extract_iv_proto to ssl_util.c/h
152
+      Extend verify-hash to allow multiple hashes
153
+      Implement peer-fingerprint to check fingerprint of peer certificate
154
+      Document the simple self-signed certificate setup in examples
155
+      Deprecate the --verify-hash option
156
+      Remove empty dummy functions
157
+      Move restoring pre pull options to initialising of c2 context
158
+      Move NCP saving and restore to the prepush restore code
159
+      Restore also ping related options on a reconnect
160
+      Make buffer related function conversion explicit when narrowing
161
+      Fix socket related functions using int instead of socket_descriptor_t
162
+      Use correct types for OpenSSL and Windows APIs
163
+      Cleanup print_details and add signature/ED certificate print
164
+      Remove flexible array member autoconf check
165
+      Remove support for non ISO C99 vararg support
166
+      Fix #elif TARGET_LINUX missing defined() call
167
+      Remove superflous ifdefs around enum like defines
168
+      Rename tunnel_server_udp_single_threaded to tunnel_server_udp
169
+      Remove code for aligning non-swapped compression
170
+      Remove pointless tun_adjust_frame_parameters function
171
+      Remove unused field txqueuelen from struct tuntap
172
+      Remove unused function tls_test_auth_deferred_interval
173
+      Remove unused variable pass_config_info
174
+      Move is_proto function to the socket.h header
175
+      Implement '--compress migrate' to migrate to non-compression setup
176
+      Remove thread_mode field of multi_context
177
+      Extract multi_assign_peer_id into its own function
178
+      Remove do_init_socket_2 and do_init_socket_1 wrapper function
179
+      Always disable TLS renegotiations
180
+      Allow running a default configuration with TLS libraries without BF-CBC
181
+      Deprecate non TLS mode in OpenVPN
182
+      Remove deprecated option '--keysize'
183
+      Move auth deferred related members into its own struct
184
+      log file descriptor in more socket related error messages
185
+      Fix async push broken after auth deferred refactor
186
+      Remove conditionals compilation for P2MP, ENABLE_SHAPER and TIME_BACKTRACK_PROTECTION
187
+      Remove check for socket functions and Win XP compatbility code
188
+      Remove checks for uint* types that are part of C99
189
+      Remove a number of checks for functions/headers that are always present
190
+      Use EVP_CTRL_AEAD_* instead EVP_CTRL_GCM_*
191
+      Remove OpenSSL configure checks
192
+      Always save/restore pull options
193
+      Also restore/save compress related options in reconnects
194
+      Also restore/save route-gateway options on SIGUSR1 reconnects
195
+      Remove LibreSSL specific defines not needed for modern LibreSSL
196
+      Add parsing of dhcp-option PROXY_HTTP
197
+      Ensure using const variables with EVP_PKEY_get0_*
198
+      Move context_auth from context_2 to tls_multi and name it multi_state
199
+      Fix condition to generate session keys
200
+      Remove always enabled USE_64_BIT_COUNTERS define
201
+      Fix a number of mingw warnings
202
+      Move tls_select_primary_key into its own function
203
+      Allow all GCM ciphers
204
+      Change options->data_channel_use_ekm to flags
205
+      Implement deferred auth for scripts
206
+      Use functions to access key_state instead direct member access
207
+      Avoid failing_test unused warning in example_test
208
+      Move direct.h header where it is used
209
+      Replace OS_SPECIFIC_DIRSEP with PATH_SEPARATOR
210
+      Remove a number of platform specific checks in configure.ac
211
+      Remove --disable-multihome option
212
+      Remove support for blocking connect()
213
+      Fix memory leak in misc unit test
214
+      Fix binary and (&) used in auth-token check instead of logical and (&&)
215
+      Add missing free_key_ctx for auth_token
216
+      Remove explicit struct iovec check (HAVE_IOVEC)
217
+      Remove getpeername, getpid check
218
+      Inline do_init_auth_token_key
219
+      Add noreturn attribute for MSVC to assert_failed method.
220
+      Move utility function from win32.c to win32-util.c
221
+      Document stub-v2 being basically an alias for no compression at all
222
+      Return cached result in tls_authentication_status
223
+      Use exponential backoff for caching in tls_authentication_status
224
+      Add github actions
225
+      Silence warning about format string in check_ca_required
226
+      Implement auth-token-user
227
+      Move auth_token_state from multi to key_state
228
+      Add connection_established as state in tls_multi->context_auth
229
+      Make waiting on auth an explicit state in the context state machine
230
+      Ensure tls session is authenticated before sending push reply
231
+      Extracting key_state deferred auth status update into function
232
+      Move examples into openvpn-examples(5) man page
233
+      Introduce S_GENERATED_KEYS state and generate keys only when authenticated
234
+      Fix tls-cert-profile broken on OpenSSL 1.1+
235
+      Cleanup handling of initial auth token
236
+      Remove --ncp-disable option
237
+      Add detailed man page section to setup a OpenVPN setup with peer-fingerprint
238
+      Support NCP in pure P2P VPN setups
239
+      Remove unistd.h from unit test
240
+      Introduce webauth auth pending method and deprecate openurl
241
+      Include Chacha20-Poly1305 into default --data-ciphers when available
242
+      Detect unusable ciphers on patched OpenSSL of RHEL/Centos
243
+      Fix Ubuntu spelling and duplicate run in Github Actions
244
+      Add message when decoding PKCS12 file fails.
245
+      Add small unit test for testing HMAC
246
+      Deprecate --ecdh-curve with OpenSSL 3.0 and adjust mbed TLS message
247
+      Use EVP_PKEY based API for loading DH keys
248
+      Remove DES check with OpenSSL 3.0
249
+      Remove DES key fixup code
250
+      Do not allow CTS ciphers
251
+      Use new EVP_MAC API for HMAC implementation
252
+      Add --with-openssl-engine autoconf option (auto|yes|no)
253
+      Use EVP_PKEY_get_group_name to query group name
254
+      Replace EVP_get_cipherbyname with EVP_CIPHER_fetch
255
+      Use EVP_MD_get0_name instead EV_MD_name
256
+      Remove dependency on BF-CBC existance from test_ncp
257
+      Implement DES ECB encrypt via EVP_CIPHER api
258
+      Fix error when BF-CBC is not available
259
+      Fix function name in DH error message
260
+      Add insecure tls-cert-profile options
261
+      Remove custom PRNG function
262
+      Completely remove DES checks
263
+      Refactor early initialisation and uninitialisation into methods
264
+      Use TYPE_do_all_provided function for listing cipher/digest
265
+      Add macos OpenSSL 3.0 and ASAN builds
266
+      Allow loading of non default providers
267
+      Move IV_TCPNL from comp_generate_peer_info_string to push_peer_info
268
+      Implement optional cipher in --data-ciphers prefixed with ?
269
+      Directly use hardcoed OPENVPN_AEAD_TAG_LENGTH instead lookup
270
+      Remove cipher_kt_var_key_size and remaining --keysize documentation
271
+      Remove cipher_ctx_get_cipher_kt and replace with direct context calls
272
+      Remove key_type->cipher_length field
273
+      Remove key_type->hmac_length
274
+      Fix handling an optional invalid cipher at the end of data-ciphers
275
+      Make --nobind default for --pull
276
+      Remove ENABLE_CRYPTO_OPENSSL ifdef inside ENABLE_CRYPTO_OPENSSL ifdef
277
+      Remove max_size from buffer_list_new
278
+      Add argv_insert_head__empty_argv__head_only to argv tests
279
+      Remove cipher_kt_t and change type to const char* in API
280
+      Move deprecation of SWEET32/64bit block size ciphers to 2.7
281
+      Adjust cipher-negotiation.rst with compat-mode changes
282
+      Remove md_kt_t and change crypto API to use const char*
283
+      Initialise kt_cipher even when no crypto is enabled
284
+      Remove align_adjust frame code
285
+      Fix triggering assertion of ks->authenticated after tls_deauthenticate
286
+      Document frame related function and variables a bit more
287
+      Remove post_open_mtu code
288
+      Make github actions names nicer, include Ubuntu18+OpenSSL 1.0.2
289
+      Add helper functions to calculate header/payload sizes
290
+      Decouple MSS fix calculation from frame calculation
291
+      Rework occ link-mtu calculation
292
+      Remove pointless do_init_frame_tls function
293
+      Remove BUFFER_LIST_AGGREGATE_TEST test code
294
+      Deprecate link-mtu
295
+      Fix mssfix and frame calculation in CBC mode
296
+      Change buffer allocation calculation and checks to be more static
297
+      Fix datagram_overhead and assorted functions
298
+      Implement optional mtu parameter for mssfix
299
+      Remove link_mtu parameter when running up/down scripts
300
+      Replace TUN_MTU_SIZE with frame->tun_mtu
301
+      Change the default for mssfix to mssfix 1492 mtu
302
+      Add mtu paramter to --fragment and change fragment calculation
303
+      Update fragment and mssfix related warnings
304
+      Use new frame header methods to calculate OCC_MTU_LOAD payload size
305
+      Remove extra_link from frame
306
+      Remove frame->link_mtu
307
+      Remove frame.extra_frame and frame.extra_buffer
308
+      Default to --cipher BF-CBC if not set and compat-mode < 2.4.0
309
+      Fix 'defined but not used' warnings with enable-small/disable-management
310
+      Add Werror to github action ubuntu build
311
+      Add better documentation for CAS_* states
312
+      Add unit test for mssfix with compression involved
313
+      Remove FRAME_HEADROOM, PAYLOAD_SIZE, EXTRA_FRAME and TUN_LINK_DELTA macros
314
+      Fix mbed TLS compile if OpenSSL headers are not available
315
+      Remove unused function cipher_var_key_size
316
+      Implement fixed MSS value for mssfix and use it for non default MTUs
317
+      networking: remove duplicate methods from networking_sitnl.c
318
+      Remove dead PID_TEST code
319
+      Remove inc_pid argument from reliable_mark_deleted that is always true
320
+      Remove EXPONENTIAL_BACKOFF define
321
+      Remove tls_init_control_channel_frame_parameters wrapper function
322
+      Add documentation for swap_hmac function
323
+      Make buf_write_u8/16/32 take the type they pretend to take
324
+      Move pre decrypt lite check to its own function
325
+      Extend tls_pre_decrypt_lite to return type of packet and keep state
326
+      Move ssl function related to control channel wrap/unwrap to ssl_pkt.c/h
327
+      Add unit tests for test_tls_decrypt_lite
328
+      Split out reliable_ack_parse from reliable_ack_read
329
+      Refactor tls-auth/tls-crypt wrapping into into own function
330
+      Extract session_move_pre_start as own function, use local buffer variable
331
+      Change FULL_SYNC macro to no_pending_reliable_packets function
332
+      Extract session_move_active into its own function
333
+      Move tls_process_state into its own function
334
+      Remove pointless indentation from tls_process.
335
+      Move CRL reload to key_state_init from S_START transition
336
+      Change reliable_get_buf_sequenced to reliable_get_entry_sequenced
337
+      Implement constructing a control channel reset client as standalone function
338
+      Implement stateless HMAC-based sesssion-id three-way-handshake
339
+      Extract read_incoming_tls_ciphertext into function
340
+      Fix format specifier for printing size_t on 32bit size_t platforms
341
+      Remove workaround for Android 4.4
342
+      Implement HMAC based session id for tls-crypt v2
343
+      Optimise three-way handshake condition for S_PRE_START to S_START
344
+      Extract read_incoming_tls_plaintext into its own function
345
+      Add uncrustify check to github actions
346
+      Add ubuntu 22.04 to Github Actions
347
+      Implement ED448 and ED25519 support in xkey_provider
348
+      Translate OpenSSL 3.0 digest names to OpenSSL 1.1 digest names
349
+      Fix client-pending-auth error message to say ERROR instead of SUCCESS
350
+      Remove useless empty line from CR_RESPONSE message
351
+      Remove leftover frame_set_mtu_dynamic definitions in mtu.h
352
+      Inline frame_add_to_extra_tun function and remove frame_defined
353
+      tun: extract close_tun_handle into its own fucntion and print correct type
354
+      Error out if both remap-usr1 SIGHUP and config stdin are used
355
+      Fix segfault when no --config argument is given
356
+      Extract check_session_cipher into standalone function
357
+      Cleanup receive_auth_failed and simplify method
358
+      Fix IV_PLAT_VER and UV_ variables sent without push-peer-info
359
+      Rename OPT_P_IPWIN32 to OPT_P_DHCPDNS and include --dns in it
360
+      Include DCO status in GLOBAL_STATS status v2 output
361
+      Github Actions: Add libreSSL actions
362
+      Include libressl and macOS 12 to macOS github actions
363
+      Fix declaration of pubkeys in test_provider.c in MSVC builds
364
+      Change command help to match man page and implementation
365
+      Implement --client-crresponse script options and plugin interface
366
+      Add example script demonstrating TOTP via auth-pending
367
+      Add OpenSSL 3.0 to mingw build
368
+      Update android.txt to reflect more recent changes.
369
+      Allow scripts and plugins to set a custom AUTH_FAILED message
370
+      Implement exit notification via control channel
371
+      Implement AUTH_FAIL, TEMP message support
372
+      Document/cleanup event_timeout functions
373
+      Fix OpenVPN querying user/password if auth-token with user expires
374
+      Enable -Werror on macOS builds
375
+      Ensure only CBC, CFB, OFB and AEAD ciphers are considered valid data ciphers
376
+      Change exit signal in P2P to be a SIGUSR1 and delayed CC exit in P2MP
377
+      Allow Authtoken lifetime to be short than renegotiation time
378
+      Allows renegotiation only to start if session is fully established
379
+      Fix renewal spelling and actually allow external-auth with renewal time
380
+      Fix regression of ignoring --user
381
+      Refactor/optimise code sending TLS control channel messages
382
+      Add unit test for reliable_get_num_output_sequenced_available
383
+      Allow setting control channel packet size with max-packet-size
384
+      Always include ACKs for the last seen control packets
385
+      Add workaround for Softether server dropping P_ACK_V1 with >= 5 acks
386
+      Improve data key id not found error message
387
+      Add packet type in accept/reject messages for HMAC packet
388
+      Fix md_kt_size in mbed TLS when queried for size of "none"
389
+      Add algorithm and bits used in key_print2 method and refactor method
390
+      Remove unused addr_inet4or6, addr_guess_family and inline addr_copy_sa
391
+      Allow tun-mtu to be pushed
392
+      Push server mtu to client when supported and support occ mtu
393
+      Fix logic error in checking early negotiation support check
394
+      Move dco_installed from sock->info to sock->info.lsa.actual
395
+      Use dedicated multi->dco_peer_id for DCO instead of multi->peer_id
396
+      Add section about common error with OpenVPN 2.6 and OpenSSL 3.0
397
+      Introduce connection state for reconnecting peer in p2p
398
+      Signal USR1 when connection initialising fails
399
+      Allow reconnecting in p2p mode work under FreeBSD
400
+
401

                
402
+      Removed error message for an option flag not supported with --server-ipv6
403
+
404
+David Korczynski (1):
405
+      Fix argv leaks in add_route() and add_route_ipv6()
406
+
407
+David Sommerseth (18):
408
+      man: Add missing --server-ipv6
409
+      man: Improve --remote entry
410
+      sample-plugins: Partially autotoolize the sample-plugins build
411
+      build: Fix make distclean/distcheck
412
+      compat/lz4: Update to v1.9.2
413
+      build: Fix missing install of man page in certain environments
414
+      build: Remove compat-lz4
415
+      Update copyrights
416
+      doc: Use generic rules for man/html generation
417
+      man: Clarify IV_HWADDR
418
+      crypto: Fix OPENSSL_FIPS enabled builds
419
+      sample-plugin: New plugin for testing multiple auth plugins
420
+      plugins: Remove defer/simple.c sample plugin
421
+      plug-ins: Disallow multiple deferred authentication plug-ins
422
+      dev-tools: Remove no longer needed openvpn-plugin.h.in patching
423
+      dev-tools: Remove uncrustify -p
424
+      dev-tools: Avoid uncrustify mangling MAC_FMT macro
425
+      The Great Reformatting of 2022
426
+
427
+Dmitry Zelenkovsky (1):
428
+      implement --session-timeout
429
+
430
+Domagoj Pensa (3):
431
+      Fix too early argv freeing when registering DNS
432
+      Remove 1 second delay before running netsh
433
+      Skip DHCP renew with Wintun adapter
434
+
435
+Eric Thorpe (1):
436
+      Fixes a bug in management_callback_send_cc_message, should be strlen instead of sizeof
437
+
438
+Frank Lichtenheld (18):
439
+      doc/Makefile: rebuild rst docs if input files change
440
+      doc: fix misc documentation issues
441
+      doc/options: clean up documentation for --proto and related options
442
+      Reformat for sp_after_comma=add
443
+      uncrustify: add sp_after_comma=add
444
+      uncrustify: have exactly one newline at the end of files
445
+      t_client: Allow to force FAIL on prerequisite fails
446
+      systemd: remove generated service files on clean
447
+      Reduce usage of __DATE__
448
+      config-version.h: remove unused includes
449
+      t_client.sh: do not require fping6
450
+      doc: cleanup for --data-ciphers and related
451
+      test_crypto: fix test_occ_mtu_calculation with --disable-fragment
452
+      msvc: always call git-version.py
453
+      GitHub Issues: add note to Changes as well
454
+      GitHub Issues: add new links to INSTALL and README
455
+      GitHub Issues: Create first issue template (Bug)
456
+      documentation: avoid recommending --user nobody
457
+
458
+Gert Doering (67):
459
+      Change version.m4 to 2.6_git
460
+      Fix stack overflow in OpenSolaris NEXTADDR()
461
+      Workaround FreeBSD 12+ race condition on tun/tap open with IPv6.
462
+      Document that --push-remove is generally more suitable than --push-reset
463
+      Fix error detection / abort in --inetd corner case.
464
+      Fix TUNSETGROUP compatibility with very old Linux systems.
465
+      Fix handling of 'route remote_host' for IPv6 transport case.
466
+      Replace 'echo -n' with 'printf' in tests/t_lpback.sh
467
+      Fix description of --client-disconnect calling convention in manpage.
468
+      Handle NULL returns from calloc() in sample plugins.
469
+      Fix --show-gateway for IPv6 on NetBSD/i386.
470
+      socks.c: fix alen for DOMAIN type addresses, bump up buffer sizes
471
+      Fix netbits setting (in TAP mode) for IPv6 on Windows.
472
+      If IPv6 pool specification sets pool start to ::0 address, increment.
473
+      Add demo plugin that excercises "CLIENT_CONNECT" and "CLIENT_CONNECT_V2" paths
474
+      Fix combination of --dev tap and --topology subnet across multiple platforms.
475
+      Fix redirecting of IPv4 default gateway if connecting over IPv6.
476
+      Fix compilation on pre-EKM mbedTLS libraries.
477
+      Avoid passing NULL to argv_printf_cat() in temp_file error case.
478
+      Change travis build scripts to use https when fetching prerequisites.
479
+      Fix line number reporting on config file errors after <inline> segments
480
+      Clarify --block-ipv6 intent and direction.
481
+      Document common uses of 'echo' directive, re-enable logging for 'echo'.
482
+      Make OPENVPN_PLUGIN_ENABLE_PF failures FATAL
483
+      clean up / rewrite sample-plugins/defer/simple.c
484
+      Fix EVP_PKEY_CTX_... compilation with LibreSSL
485
+      Require at least 100MB of mlock()-able memory if --mlock is used.
486
+      Get rid of last PLUGIN_DEF_AUTH #ifdef
487
+      Fix 'compress migrate' for 2.2 clients.
488
+      Fix potential NULL ptr crash if compiled with DMALLOC
489
+      Repair --secret deprecation warning.
490
+      rewrite parse_hash_fingerprint()
491
+      Ignore leading whitespace and comment lines for peer-fingerprint.
492
+      Add error reporting to get_console_input_win32().
493
+      Ignore --explicit-exit-notify in TCP mode.
494
+      Use more C99 initialization in add_route/add_route_ipv6().
495
+      Include --push-remove in the output of --help.
496
+      Move '--push-peer-info' documentation from 'server' to 'client options'
497
+      add test case(s) to notice 'openvpn --show-cipher' crashing
498
+      Repair --inactive with 'bytes' argument larger 2Gbytes.
499
+      Fix --mtu-disc maybe|yes on Linux.
500
+      Fix trailing-whitespace errors in last patch.
501
+      Exclude the last two whitespace-only uncrustify fixes from git blame output.
502
+      Implement --mtu-disc for IPv6 UDP sockets.
503
+      Fix non-compliant whitespace introduced by commit 54800aa975418fe35.
504
+      Pass proper sockaddr_* structure for IPv6 socket errors.
505
+      Fix error message about extended errors for IPv4-only sockets.
506
+      Break 'try 256 dco devices' loop on EPERM
507
+      Cleanup: get rid of 'dynamic' argument of open_tun_generic()
508
+      Remove outdated information from ChangeLog, point at release branches.
509
+      Apply uncrustify changes that were forgotten in the last patch.
510
+      Apply uncrustify changes that were forgotten in the FreeBSD DCO 1/2 patch.
511
+      FreeBSD-DCO: repair device iteration to find first free interface.
512
+      DCO: require valid netbits setting for non-primary iroutes.
513
+      Adjust Linux+FreeBSD DCO device name handling to 'non DCO linux style'
514
+      cleanup open_tun() for TARGET_NETBSD
515
+      t_client: add per-instance arguments to fping
516
+      introduce V= level to manage t_client.sh output verbosity
517
+      un-break undo_ifconfig_ipv4()/_ipv6() on all non-linux/non-win32 platforms
518
+      use boolean '||' to join two bools, not bitwise '|'
519
+      denoise tests/t_lpback.sh
520
+      FreeBSD: for topology subnet, put tun interface into IFF_BROADCAST mode
521
+      FreeBSD DCO: introduce real subnet mode
522
+      Improve documentation for --dev and --dev-node.
523
+      Update PORTS
524
+      rework INSTALL and README to prepare for 2.6 release
525
+      Preparing release 2.6_beta1
526
+
527
+Greg Cox (5):
528
+      Fix naming error in sample-plugins/defer/simple.c
529
+      Documentation fixes around openvpn_plugin_func_v3 in openvpn-plugin.h.in
530
+      Update openvpn_plugin_func_v2 to _v3 in sample-plugins/defer/simple.c
531
+      More explicit versioning compatibility in sample-plugins/defer/simple.c
532
+      Explain structver usage in sample defer plugin.
533
+
534
+Heiko Hund (10):
535
+      add support for --dns option
536
+      Add git pre-commit hook script to uncrustify
537
+      pre-commit: uncrustify based on staged changes
538
+      remove foreign_option() call for IPv6 DNS servers
539
+      remove dead foreign-option parsing code
540
+      rename foreign_option() and move it up
541
+      doc: fix literal block in tls-options.rst
542
+      dns: also (re)place foreign dhcp options in env
543
+      signal --dns support in peer info
544
+      make %x destination unsigned
545
+
546
+Ilya Ponetayev (1):
547
+      fix compilation issues with small and w/o debug
548
+
549
+Ilya Shipitsin (2):
550
+      CI: github actions: keep "pdb" in artifacts
551
+      BUILD: enable CFG and Spectre mitigation for MSVC
552
+
553
+Jan Mikkelsen (1):
554
+      cipher-negotiation.rst missing from doc/Makefile.am
555
+
556
+Jan Seeger (1):
557
+      Added 'route_ipv6_metric_NN' environment variable for IPv6 route metric.
558
+
559
+Jason A. Donenfeld (1):
560
+      Support fingerprint authentication without CA certificate
561
+
562
+Jeff (1):
563
+      duplicate function declaration.
564
+
565
+Juliusz Sosinowicz (4):
566
+      EVP_DigestSignFinal siglen parameter correction
567
+      Support for wolfSSL in OpenVPN
568
+      build: Add support for pkg-config < 0.28 for old autoconf versions
569
+      README.wolfssl Update
570
+
571
+Kristof Provost (6):
572
+      Handle exceeding 'max-clients'
573
+      ovpn-dco: introduce FreeBSD data-channel offload support
574
+      Support creating iroute route entries on FreeBSD
575
+      FreeBSD networking cleanup
576
+      FreeBSD DCO: support AES-192-GCM
577
+      dco: pass control packets through the socket on FreeBSD
578
+
579
+Lev Stipakov (68):
580
+      tun.c: enable using wintun driver under SYSTEM
581
+      openvpnmsica: make adapter renaming non-fatal
582
+      msvc: better support for 32bit architecture
583
+      Alias ADAPTER_DOMAIN_SUFFIX to DOMAIN
584
+      ssl_common.h: fix 'not all control paths return a value' msvc warning
585
+      Remove compat-lz4 references from VS project files
586
+      tapctl: support for ovpn-dco Windows driver
587
+      msvc: add ARM64 configuration
588
+      win32: add missing include header
589
+      openvpnmsica: properly schedule reboot in the end of installation
590
+      options.c: fix msvc build error
591
+      msvc: standalone building
592
+      contrib/vcpkg-ports: add pkcs11-helper port
593
+      vcpkg-ports: restore trailing whitespaces in .patch files
594
+      GitHub actions: add MSVC build
595
+      crypto_openssl.c: disable explicit initialization on Windows (CVE-2121-3606)
596
+      contrib/vcpkg-ports: add openssl port with --no-autoload-config option set (CVE-2121-3606)
597
+      Fix console prompts with redirected log
598
+      GitHub Actions: fix MSVC builds
599
+      contrib/vcpkg-ports: remove openssl port
600
+      Add building man page on Windows
601
+      GitHub Actions: remove Ubuntu 16.04 environment
602
+      Fix loading PKCS12 files on Windows
603
+      msvc: fix product version display
604
+      config-msvc.h: fix OpenSSL-related defines
605
+      GitHub Actions: use latest working lukka/run-vcpkg
606
+      Use network address for emulated DHCP server as a default
607
+      Load OpenSSL config on Windows from trusted location
608
+      ring_buffer.h: fix GCC warning about unused function
609
+      ssh_openssl.h: remove unused declaration
610
+      vcpkg/pkcs11-helper: compatibility with latest vcpkg
611
+      config-msvc.h: indicate key material export support
612
+      auth_token.c: add NULL initialization
613
+      tun: remove tun_finalize()
614
+      vcpkg-ports/pkcs11-helper: bump to release 1.28
615
+      vcpkg-ports/pkcs11-helper: indicate OpenSSL EC support
616
+      xkey: fix msvc build
617
+      msvc: switch to openssl3
618
+      msvc: cleanup
619
+      vcpkg: link lzo statically
620
+      openvpnmsica: add ovpn-dco custom actions
621
+      vcpkg-ports/pkcs11-helper: adapt to new upstream URL
622
+      vcpkg-ports\pkcs11-helper: shorten patch filename
623
+      vcpkg-ports\openssl3: update to 3.0.2
624
+      Fix incorrect default mssfix value in server mode
625
+      msvc: adjust build options to harden binaries
626
+      vcpkg: switch to manifest
627
+      Fix M_ERRNO behavior on Windows
628
+      GitHub Actions: trigger openvpn-build GHA on success
629
+      Set o->use_peer_id flag for p2p mode
630
+      openvpnmsica: remove OpenVPNService state check code
631
+      tun.c: remove unused gc_arena from init_tun()
632
+      error.c: remove unused crash() function
633
+      tun: properly handle device interface list
634
+      dco.h: fix return type when DCO is not enabled
635
+      dco-win: use run-time dynamic linking for GetOverlappedResultEx
636
+      vcpkg: bump baseline version
637
+      do_persist_tuntap: remove indentation level
638
+      msvc: remove .filters files
639
+      dco.c: check certain options only on startup
640
+      Use DCO on Windows by default
641
+      doc: add "ovpn-dco" to usage and man page
642
+      dco-win: support for --persist-tun
643
+      msvc: add branch name and commit hash to version output
644
+      vcpkg: use the latest versions of dependency ports
645
+      win32: detect arm64 architecture and emulations
646
+      INSTALL: update Windows notes
647
+      dco: disable dco on Windows if --remote is not defined
648
+
649
+Magnus Kroken (2):
650
+      doc: fix typos in cipher-negotiation.rst
651
+      Changes.rst: fix mistyped option names
652
+
653
+Marc Becker (2):
654
+      vcpkg-ports/pkcs11-helper: bump to release 1.29
655
+      fix GitHub workflow working directories in MinGW builds
656
+
657
+Martin Janů (1):
658
+      Update the replay-window backtrack log message
659
+
660
+Matthias Andree (1):
661
+      Fix SIGSEGV (NULL deref) receiving push "echo"
662
+
663
+Max Fillinger (15):
664
+      Wipe Socks5 credentials after use
665
+      Fix build with mbedtls w/o SSL renegotiation support
666
+      In init_ssl, open the correct CRL path pre-chroot
667
+      Abort if CRL file can't be stat-ed in ssl_init
668
+      Update Fox e-mail address in copyright notices
669
+      Replace deprecated mbedtls DRBG update function
670
+      Fix build with compression disabled
671
+      Don't manually free DH params in OpenSSL 3
672
+      Remove unused havege.h header
673
+      Don't use BF-CBC in unit tests if we don't have it
674
+      Add warning about mbed TLS licensing problem
675
+      Don't "undo" ifconfig on exit if it wasn't done
676
+      Update openssl_compat.h for newer LibreSSL
677
+      Handle EVP_MD_CTX as an opaque struct
678
+      Check if pkcs11_cert is NULL before freeing it
679
+
680
+Michael Baentsch (1):
681
+      Enable usage of TLS groups not identified by a NID in OpenSSL 3
682
+
683
+Paolo Cerrito (1):
684
+      Insert client connection data into PAM environment
685
+
686
+Richard Bonhomme (3):
687
+      Improve error msg when all TAP adapters are in use 'or disabled'
688
+      Man page sections corrections
689
+      Do not print Diffie Hellman parameters file to log file
690
+
691
+Richard T Bonhomme (3):
692
+      Log messages: Replace NCP with --data-ciphers (NFC)
693
+      doc link-options.rst: Use free open-source dynamic-DNS provider URL
694
+      doc/protocol-options.rst: Correct default for --allow-compression
695
+
696
+Saifur Rahman Mohsin (1):
697
+      Ignore deprecation warning for daemon() on macOS (plugin/auth-pam)
698
+
699
+Selva Nair (64):
700
+      Improve the documentation for --dhcp-option
701
+      In tap.c use DiInstallDevice to install the driver on a new adapter
702
+      Add a remark on dropping privileges when --mlock is used
703
+      Allow --dhcp-option in config file when windows-driver is wintun
704
+      Set DNS Domain using iservice
705
+      Improve documentation of --username-as-common-name
706
+      Quote the domain name argument passed to the wmic command
707
+      Remove automatic service
708
+      tun.c on WIN32: remove more unused variables
709
+      Make it explicit that WIndows build requires UNICODE support
710
+      Use C standard compliant format specs in wprintf functions
711
+      Print format spec changes for tapctl and openvpnmscia
712
+      Replace TEXT(__FUNCTION__) by __FUNCTION__ in openvpnmscia.c
713
+      Fix parsing of IV_SSO string
714
+      Do not require CA when peer-fingerprint is used
715
+      Improve documentation of AUTH_PENDING related directives
716
+      Apply the connect-retry backoff to only one side of a connection
717
+      Fix client-pending-auth help message in management interface
718
+      Minor doc correction: tls-crypt-v2 key generation
719
+      Fix the "default" tls-version-min setting
720
+      Fix some more wrong defines in config-msvc.h
721
+      Require Windows CNG keys for cryptoapicert
722
+      Remove error injection into OpenSSL from cryptoapi.c
723
+      Require EC key support in Windows builds
724
+      Ensure the current common_name is in the environment for scripts
725
+      Avoid memory leak in hmac_ctx_new (OpenSSL 3.0 only)
726
+      Fix tls-version-min default once again
727
+      A built-in provider for using external key with OpenSSL 3.0
728
+      Implement KEYMGMT in the xkey provider
729
+      Implement SIGNATURE operations in xkey provider
730
+      Implement import of custom external keys
731
+      Initialize the xkey provider and use it in SSL context
732
+      A helper function to import private key for management-external-key
733
+      Add xkey_provider sources and includes to MSVC project
734
+      Enable signing via provider for management-external-key
735
+      Add a function to encode digests with PKCS1 DigestInfo wrapper
736
+      Allow management client to announce pss padding support
737
+      Respect algorithm support announced by management client
738
+      Support sending DigestSign request to management client
739
+      Increase ERR_BUF_SIZE when management interface support is enabled
740
+      Add a generic key loading helper function for xkey provider
741
+      pkcs11: Interface the xkey provider with pkcs11-helper
742
+      Enable signing using CNG through xkey provider
743
+      Add a unit test for external key provider
744
+      xkey: Use a custom error level for debug messages
745
+      Fix max saltlen calculation in cryptoapi.c
746
+      Support PSS signing using pkcs11-helper >= 1.28
747
+      Do not error when md_kt_size() is called with mdname="none"
748
+      Fix a potential memory leak in tls_ctx_use_management_external_key
749
+      pkcs11_openssl.c: check EVP_get_digestbyname() != NULL
750
+      Fix crash in xkey-provider in msvc builds
751
+      Remove management_write_peer_info_file and related code
752
+      Log the actual management interface port in use
753
+      Log address of management client on accept
754
+      In x_check_status() read errno early
755
+      xkey_provider: fix building with --disable-management
756
+      Do not skip ERROR:/SUCCESS: response from management interface
757
+      Allow a few levels of recursion in virtual_output_callback()
758
+      Fix auth-token usage with management-def-auth
759
+      Ensure --auth-nocache is handled during renegotiation
760
+      Purge auth-token as well while purging passwords
761
+      Do not copy auth_token username to itself
762
+      Do not add leading space to pushed options
763
+      pull-filter: ignore leading "spaces" in option names
764
+
765
+Sergio E. Nemirowski (1):
766
+      resolvconf fails with -p
767
+
768
+Simon Rozman (9):
769
+      iservice: Resolve MSVC C4996 warnings
770
+      openvpnserv: Cache last error before it is overridden
771
+      netsh: Specify interfaces by index rather than name
772
+      netsh: Clear existing IPv6 DNS servers before configuring new ones
773
+      netsh: Delete WINS servers on TUN close
774
+      openvpnmsica: Simplify find_adapters() to void return
775
+      tun.c: Remove dead code
776
+      interactive.c: Resolve MSVC C4996 warning
777
+      tapctl: Resolve MSVC C4996 warnings
778
+
779
+Steffan Karger (5):
780
+      networking_iproute2: fix memory leak in net_iface_mtu_set()
781
+      Simplify key material exporter backend API
782
+      tls-crypt-v2: fix server memory leak
783
+      tls-crypt-v2: also preload tls-crypt-v2 keys (if --persist-key)
784
+      reliable: retransmit if 3 follow-up ACKs are received
785
+
786
+Timo Rothenpieler (5):
787
+      Linux: Retain CAP_NET_ADMIN when dropping privileges
788
+      GitHub Actions: Add new libcap-ng-dev dependency
789
+      Github Actions: update used actions
790
+      dco: disable DCO if --user specified but unable to retain capabilities
791
+      dco: turn platform config checks into separate function
792
+
793
+Todd Zullinger (2):
794
+      Update IRC information in CONTRIBUTING.rst
795
+      doc/man (vpn-network-options): fix foreign_option_{n} typo
796
+
797

                
798
+      Stop using deprecated getpass()
799
+
800

                
801
+      README.down-root: Fix plugin module name
802
+
803
+Vladislav Grishenko (8):
804
+      Fix best gateway selection over netlink
805
+      Fix fatal error at switching remotes (#629)
806
+      Fix update_time() and openvpn_gettimeofday() coexistence
807
+      Selectively reformat too long lines
808
+      Speedup TCP remote hosts connections
809
+      Support X509 field list to be username
810
+      Fix IPv4 default gateway with multiple route tables
811
+      Add CRL extractor script for --crl-verify dir mode
5 812
 
6
-Release branches (release/2.5, release/2.4, etc) have individual ChangeLog
7
-files with all changes relevant for these releases.
... ...
@@ -3,12 +3,12 @@ define([PRODUCT_NAME], [OpenVPN])
3 3
 define([PRODUCT_TARNAME], [openvpn])
4 4
 define([PRODUCT_VERSION_MAJOR], [2])
5 5
 define([PRODUCT_VERSION_MINOR], [6])
6
-define([PRODUCT_VERSION_PATCH], [_git])
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], [[]])
10 10
 define([PRODUCT_BUGREPORT], [openvpn-users@lists.sourceforge.net])
11
-define([PRODUCT_VERSION_RESOURCE], [2,6,0,0])
11
+define([PRODUCT_VERSION_RESOURCE], [2,6,0,1])
12 12
 dnl define the TAP version
13 13
 define([PRODUCT_TAP_WIN_COMPONENT_ID], [tap0901])
14 14
 define([PRODUCT_TAP_WIN_MIN_MAJOR], [9])