Introduction
This page shows the high-level status of the OpenVPN 2.6 release. For all the details, see the Active Tickets by Milestone report.
Schedule
Currently planned:
- All "must have" code in and all major (crash) bugs fixed: January 11, 2023
- RC candidates: December 28, 2022, and January 12, 2023
- 2.6.0 release: January 26, 2023
Features/Fixes to Include
Must Have
| Task Description | Assigned to | Status | Ticket | Patchwork |
|---|---|---|---|---|
| DCO (on Linux) | ordex, plaisthos, cron2 | merged, now ironing out bugs (p2p reconnection) | - | Series 1516 |
| DCO (on Windows) | lev, d12fk, plaisthos, ordex | merged, ironing out bugs (--windows-driver, --disable-dco quirks) | - | Series 1516 |
| DCO (on FreeBSD) | kp, cron2 | merged, fine-tuning (/24-on-/24 iroute, peer stats, exit notification with stats) | - | - |
| Update auth-user-pass docs | mattock | wip: man-page updates (discussion) | - | - |
| TLS handshake replay protection (up for discussion) | plaisthos | pending review | - | patch 2747 |
| Sort out multiple-plugin auth mess | dazo, cron2 | on-going | - | RFC patch 2327 |
Must Have - Completed/Done
| Task Description | Assigned to | Status | Ticket | Patchwork |
|---|---|---|---|---|
| Frame/buffer size handling | plaisthos | done | - | - |
| OpenSSL 3.0.0 support | plaisthos | mostly done 2021-11-12 | - | - |
| OpenSSL 3.0.0 xkey | selva | done 2022-01-20 | - | - |
| Switch to 3.0.1 for Windows builds | lev, mattock | done | - | - |
| OpenSSL Config file handling | lev, selva(?) | done 2021-11-24 | - | - |
--nobind for --pull by default |
plaisthos | done 2021-12-06 | #936, #877 | - |
| DNS option rework (split DNS) - new option parsing | d12fk | done (commit b3e0d95dcf) | - | patch 2494 |
| Review INSTALL, README, PORTS, etc. files | cron2 | done | - | - |
| Do not push route-ipv6 entries that are also in the iroute-ipv6 list | ordex, cron2 | done, commit 437812d4eac9 | #354 | patch 332 |
| Polish auth-token / auth-gen-token corner cases | cron2, plaisthos, selva | "seems to be all in good shape now" | - | patch 2303, patch 2488 |
| DDoS reflection hardening (rate-limiting) | plaisthos, cron2 | merged | - | - |
Nice to Have / Wild Ideas
| Task Description | Assigned to | Status | Ticket | Patchwork |
|---|---|---|---|---|
| Implement kqueue on MacOS | plaisthos | wip (but slower than poll()) | - | - |
| DNS option rework (split DNS) - Windows backend | lev, d12fk | not started | - | - |
| Support TLS alerts | plaisthos | ??? | - | - |
| AUTH_TEMP_FAIL ("I cannot handle you now, but please come back later") | plaisthos | review pending | - | series 1580 |
| Test server that does --auth-user-pass and/or challenge stuff | cron2 (snair) | --auth-user-pass done, challenge missing | - | - |
| Update OpenVPN PRF (move away from SHA1/MD5) | syzzer/plaisthos | done(?) | - | - |
| Maybe: fix radius-plugin | ??? | ??? | - | - |
| Test framework improvements (local "make check" crypto tests) | syzzer | - | - | - |
Unlikely to Happen, Keeping the List
| Task Description | Assigned to | Status | Ticket | Patchwork |
|---|---|---|---|---|
| Inner VRF support? | ?? | ?? | ?? | ?? |
| Route monitoring (enable clients to react to network changes) | cron2 | not started | - | - |
| Maybe: add PRF plugin interface | ??? | ??? | - | - |
| Maybe: add key exchange plugin interface (allows easily doing e.g., post-quantum kex) | ??? | ??? | - | - |
| Maybe: add data channel separation (or, move to ovpn3, which already has this?) | ??? | ??? | - | - |
| Dynamic routes ('route in ccd-file'), depends on netlink support | ??? | ??? | - | - |
| Transport plugin (primary use case: obfuscation) | ordex | wip | - | - |
| tftp/wpad patch | jjk | patch on list, needs review and merge | - | - |
| Support TLS record splitting (like ovpn3) | syzzer | (started, but no patches available yet) | #554 | - |
| Support for multiple-protocol sockets (UDP/TCP) | ordex | wip | - | - |
| Support for multiple sockets (multi-port/multi-IP) | ordex | pending review | #556 | - |
| Improve control channel performance (further) - redo reliability layer, introduce windowing/scaling | syzzer | ??? | - | - |
