* [git.ipfire.org] IPFire 2.x development tree branch, master, updated. d4eb2e77a9647c6b85a73f3d5695d72c1665f03a
@ 2025-08-29 21:29 Michael Tremer
0 siblings, 0 replies; only message in thread
From: Michael Tremer @ 2025-08-29 21:29 UTC (permalink / raw)
To: ipfire-scm
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "IPFire 2.x development tree".
The branch, master has been updated
via d4eb2e77a9647c6b85a73f3d5695d72c1665f03a (commit)
from 351113e21eecd730b33a2d73c1bb74eff9fcb845 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit d4eb2e77a9647c6b85a73f3d5695d72c1665f03a
Author: Michael Tremer <michael.tremer@ipfire.org>
Date: Fri Aug 29 21:54:17 2025 +0100
ovpnmain.cgi: Explicitely pass the gateway for static routes
OpenVPN seems to fail to use the correct gateway if the client does not
use the default pool. In that case, we need to explicitely push the
correct gateway.
Fixes: #13872 - Warning: route gateway is not reachable on any active network adapters
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
-----------------------------------------------------------------------
Summary of changes:
html/cgi-bin/ovpnmain.cgi | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
Difference in files:
diff --git a/html/cgi-bin/ovpnmain.cgi b/html/cgi-bin/ovpnmain.cgi
index 0b2513174..ccf46fb02 100644
--- a/html/cgi-bin/ovpnmain.cgi
+++ b/html/cgi-bin/ovpnmain.cgi
@@ -605,6 +605,7 @@ sub write_ccd_configs() {
foreach my $key (keys %conns) {
my $name = $conns{$key}[1];
my $type = $conns{$key}[3];
+ my $gateway = "";
# Skip anything that isn't a host connection
next unless ($type eq "host");
@@ -631,8 +632,13 @@ sub write_ccd_configs() {
# Fetch the network of the pool
my $network = &get_cdd_network($pool);
+ my $netaddr = &Network::get_netaddress($network);
my $netmask = &Network::get_netmask($network);
+ # The gateway is always the first address in the network
+ # (this is needed to push any routes below)
+ $gateway = &Network::find_next_ip_address($netaddr, 1);
+
if (defined $address && defined $network && defined $netmask) {
print CONF "# Allocated IP address from $pool\n";
print CONF "ifconfig-push ${address} ${netmask}\n\n";
@@ -708,7 +714,7 @@ sub write_ccd_configs() {
next;
}
- print CONF "push \"route $netaddress $netmask\"\n";
+ print CONF "push \"route $netaddress $netmask $gateway\"\n";
}
# Newline
hooks/post-receive
--
IPFire 2.x development tree
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-08-29 21:29 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-08-29 21:29 [git.ipfire.org] IPFire 2.x development tree branch, master, updated. d4eb2e77a9647c6b85a73f3d5695d72c1665f03a Michael Tremer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox