test infra: come up with smart ideas to test PUSH_UPDATE
Open
@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-addressactually works for--ifconfig
these are somewhat crucial code paths on both ends, so having automated tests is needed.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.