Introduction

This page shows the high-level status of the OpenVPN 2.4 release. For all the details, see the Active Tickets by Milestone report.

Schedule

  • November 16 - 2.4_beta1 After this date, no new features are allowed; stabilizing starts for real. Some minor "nice to have" patches might be accepted after evaluation/discussion on IRC.

  • (optional) November 24th/25th - 2.4_beta2 Only patches related to stabilizing and important bug-fixes are allowed after this point. No more "nice to have" patches after this point. This release can be skipped if there are no bug fixes or otherwise stabilizing code.

  • December 1st - 2.4_rc1 Only really needed and critical bug fixes allowed. This is also the time where we change to a unified coding style across the whole source code.

  • December 15th - 2.4_rc2 Branching out release/2.4 happens here.

  • December 28th - 2.4.0 Final release.

Deadline: Debian 9 freeze

Mattock asked the Debian package maintainer about getting 2.4_something into Debian 9 before the freeze. Here's the response: "I'll consider uploading 2.4_something in early December, so we have a month to fix possible issues. After December 29, it won't be doable."

Features/Fixes to Include

Must Have

All done.

Minor, but "We Should Try to Make It Happen"

Task Description Assigned to Status
struct argv overhaul d12fk Patch review completed (dazo), patches 1-4 applied, patches 5-7 need v2
auth-gen-token: Inform client why auth-token was rejected dazo Patch review in progress (syzzer)
tftp/wpad patch jjk Patch on list, needs review and merge
Support TLS record splitting (like ovpn3) syzzer #554 (started, but no patches available yet)
Allow OpenVPN to communicate to peers via a Linux VRF - Updated patches need review + ML submission
Test server that does --auth-user-pass and/or challenge stuff cron2 (snair) Not started
Update auth-user-pass docs mattock Not started, discussion here
Update OpenVPN PRF (move away from SHA1/MD5) syzzer Not started

Work Needed

  • Trac tickets (2.3.x, 2.4.x, unclassified)

(Major) Items Already Done

  • Poor man's NCP (v6)
  • Make openvpnserv2 use exit-events
  • Combined 32/64-bit Windows installers
  • Semi-automated testing of OpenVPN/OpenVPN-GUI/openvpnserv2 on Windows using openvpn-windows-test
  • dhcp-option DNS6 (stub, windows netsh+service, android)
  • Bundle OpenSSL 1.0.2 on Windows
  • Refactor CRL handling
  • --tls-crypt control channel encryption #633
  • ifconfig-before-open reversal patch for Windows fixed (argv_printf) and merged
  • openvpnserv2 integration
  • Pushable ciphers, and cipher negotiation
  • True dual-stack operation (2.3 has "dual single-stack")
  • Interactive service + openvpn-gui integration
  • IPv6 route-gateway redirection
  • AEAD cipher
  • Cipher negotiation (for all but a few corner cases)
  • Peer-id (server and client, 2.3 has only client)
  • Compression v2 = more efficient alignment
  • Unified TCP timeout handling (Arne v3)
  • New buildbots for FreeBSD 10.3, NetBSD 7.0.1, OpenBSD 6.0, MacOS X, various recent Linux versions
  • --multihome fixed on BSD/amd64 architectures, tested by buildbots
  • Recursive routing fixup (Lev v4)
  • Block-outside-dns on multiple tunnels (v2, Selva)
  • Re-indent formatting (dazo, syzzer). More details on CodeStyle