OpenVPN / OpenVPN/openvpn

Feature request: allow `verify-x509-name` in `<connection>` blocks

Open
#376 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
C
Stars
14.6k
Forks
3.4k
PR merge metrics
No merged PRs in 30d

Description

According to the docs (as of this writing):

The following OpenVPN options may be used inside of a block:

bind, connect-retry, connect-retry-max, connect-timeout, explicit-exit-notify, float, fragment, http-proxy, http-proxy-option, link-mtu, local, lport, mssfix, mtu-disc, nobind, port, proto, remote, rport, socks-proxy, tun-mtu and tun-mtu-extra.

verify-x509-name is notably absent. x509 verification can be remote specific. A good example of this is NordVPN configs which often contain remotes such as:

remote xxx.xxx.xxx.xxx yyy
verify-x509-name CN=zzz.nordvpn.com

Where xxx.xxx.xxx.xxx is the IP address, yyy is the port, and zzz is the expected host name. It would be nice to be able to do something like the following:

# ...
<connection>
remote 123.123.123.123 1234
verify-x509-name CN=co123.nordvpn.com
<connection>

<connection>
remote 234.234.234.234 2345
verify-x509-name CN=co234.nordvpn.com
<connection>

remote-random
# ...

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source file or test is named. Start by tracing how verify-x509-name and options are parsed, then compare the existing connection-block option list with the documented behavior. Done means each connection can carry its own verify-x509-name value while preserving the existing global behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
networking, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.