OpenVPN / OpenVPN/openvpn

test infra: come up with smart ideas to test PUSH_UPDATE

Open
#871 0 comments 0 reactions 2 assignees View on GitHub

@mattock is already working on this.

Since Oct 17, 2025.

enhancement feature non-trivial change
Dominant language
C
Stars
14.6k
Forks
3.4k
PR merge metrics
No merged PRs in 30d

Description

so we do have server/client tests, but they do not come near the PUSH_UPDATE infra - and it does not really fit easily into the "do magic by --auth-user-pass-verify or --client-connect scripts", as it needs to be driven by the management interface.

So we need something like

  • client sents an UV_I_WANT_UPDATES message
  • "something new" listens on the server side management interface, and on seeing such a client, sends an PUSH_UPDATE message (content to be agreed between "t_client instance" and "server instance")
  • the t_client instance actually waits for the PUSH_UPDATE and then goes ahead and pings - so this could be PUSH_UPDATE'ing --dns (ping v4.open.vpn) or --route (not all necessary routes in inital PUSH_REPLY), maybe also --ifconfig (push something nonworking first, then update with proper address)
  • server can verify that --learn-address actually works for --ifconfig

these are somewhat crucial code paths on both ends, so having automated tests is needed.

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.