Attention is currently required from: ordex, plaisthos.

cron2 has posted comments on this change by cron2. ( 
http://gerrit.openvpn.net/c/openvpn/+/1830?usp=email )

Change subject: SIGHUP-restart instance on UDP write error EADDRNOTAVAIL
......................................................................


Patch Set 2:

(6 comments)

Patchset:

PS2:
> !!!
Done


Commit Message:

http://gerrit.openvpn.net/c/openvpn/+/1830/comment/e511e034_10a29e06?usp=email :
PS2, Line 17: not - so we can notice, and restart the instance.  A full SIGHUP 
restart
> I think SIGHUP is a bit too much here since it reloads the config and other 
> things. […]
SIGUSR1 does not work (at least not if there is a `--persist-tun` in the 
config, need to re-test `SIGUSR1 without persist-tun`), as we have no 
signalling for "remove all routes, but keep tun, reconnect".

I need to look more closely at logs, it seems, as I thought `--ping-restart` 
would trigger `SIGHUP`, but the documentation tells me otherwise.  Wait for 
v3...


File src/openvpn/forward.c:

http://gerrit.openvpn.net/c/openvpn/+/1830/comment/f2b2751a_e3b2d8b0?usp=email :
PS2, Line 1865:         if (size < 0 && errno == EADDRNOTAVAIL)
> Here you should be checking for `error_code`, not `errno`. […]
good catch.  Will adjust.

No idea what windows does, but it's not really relevant - this fixes one 
particular situation on one particular platform, while not making things worse 
for other platforms (if *that* error comes back, our socket is no longer fit 
for the purpose).


http://gerrit.openvpn.net/c/openvpn/+/1830/comment/6ec1208a_91cf9db6?usp=email :
PS2, Line 1868:             register_signal(c->sig, SIGHUP, "link-changed");
> using SIGHUP this way makes `--config stdin` + `--remap-usr1 SIGHUP` a fatal 
> usage error: SIGHUP re- […]
I can't follow you.  I am not raising SIGUSR1, so why should `remap-usr1` be 
relevant here?


http://gerrit.openvpn.net/c/openvpn/+/1830/comment/9ca7aeec_dcbc3856?usp=email :
PS2, Line 1868:             register_signal(c->sig, SIGHUP, "link-changed");
> There is no guard preventing this check to fire on a server.... […]
I'm not sure this can be triggered in a meaningful way on a server - there are 
no redirect routes for client IPs that might stop working on an interface 
change.  It might be triggerable if `--bind` is in use and someone configures 
away the bound IP address - in which case, we'll just fail either way.  But I 
can add a guard here.


http://gerrit.openvpn.net/c/openvpn/+/1830/comment/8e8a2c47_c038c444?usp=email :
PS2, Line 1868:             register_signal(c->sig, SIGHUP, "link-changed");
> have you checked how this SIGHUP interacts with `--connect-retry-max` ? 
> SIGHUP makes openvpn re-read […]
In this case, we would do a `SIGHUP` reconnect anyway, just "after 
`--ping-restart` expires".  No?  So nothing changes,



--
To view, visit http://gerrit.openvpn.net/c/openvpn/+/1830?usp=email
To unsubscribe, or for help writing mail filters, visit 
http://gerrit.openvpn.net/settings?usp=email

Gerrit-MessageType: comment
Gerrit-Project: openvpn
Gerrit-Branch: master
Gerrit-Change-Id: I96b5ea3542df77b1be17079874fb9e4970b539ed
Gerrit-Change-Number: 1830
Gerrit-PatchSet: 2
Gerrit-Owner: cron2 <[email protected]>
Gerrit-Reviewer: ordex <[email protected]>
Gerrit-Reviewer: plaisthos <[email protected]>
Gerrit-CC: openvpn-devel <[email protected]>
Gerrit-Attention: plaisthos <[email protected]>
Gerrit-Attention: ordex <[email protected]>
Gerrit-Comment-Date: Mon, 03 Aug 2026 11:16:25 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: plaisthos <[email protected]>
Comment-In-Reply-To: ordex <[email protected]>
_______________________________________________
Openvpn-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to