# 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:3) 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](https://patchwork.openvpn.net/project/openvpn2/list/?series=1516) |
| DCO (on Windows) | lev, d12fk, plaisthos, ordex | merged, ironing out bugs (--windows-driver, --disable-dco quirks) | - | [Series 1516](https://patchwork.openvpn.net/project/openvpn2/list/?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](https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg12835.html)) | - | - |
| TLS handshake replay protection (up for discussion) | plaisthos | pending review | - | [patch 2747](https://patchwork.openvpn.net/patch2747) |
| Sort out multiple-plugin auth mess | dazo, cron2 | on-going | - | [RFC patch 2327](https://patchwork.openvpn.net/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](https://gitlab.com/openvpn/openvpn/-/commit/b3e0d95dcfd0de2a5fe6545fed8f46e0dd35784d)) | - | [patch 2494](https://patchwork.openvpn.net/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](https://patchwork.openvpn.net/patch/332) |
| Polish auth-token / auth-gen-token corner cases | cron2, plaisthos, selva | "seems to be all in good shape now" | - | [patch 2303](https://patchwork.openvpn.net/patch/2303/), [patch 2488](https://patchwork.openvpn.net/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](https://patchwork.openvpn.net/project/openvpn2/list/?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](http://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg10511.html) | 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 | ??? | - | - |
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9