proxy: Skip VPNs that route everything for proxy.pac

The function tries to figure out which networks are connected locally,
but VPN tunnels that use 0.0.0.0 and GRE/VTI interfaces will be
considered local and the proxy is being disabled for everyone.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
Michael Tremer
2023-03-24 15:49:22 +00:00
committed by Peter Müller
parent 51e29a797e
commit 80c04308de

View File

@@ -2986,6 +2986,7 @@ END
foreach my $network (@networks) {
my ($vpnip, $vpnsub) = split("/", $network);
$vpnsub = &Network::convert_prefix2netmask($vpnsub) || $vpnsub;
next if ($vpnip eq "0.0.0.0" || $vpnsub eq "0.0.0.0");
print FILE " (isInNet(host, \"$vpnip\", \"$vpnsub\")) ||\n";
}
}
@@ -2996,6 +2997,8 @@ END
my @networks = split(/\|/, $ovpnconfig{$key}[11]);
foreach my $network (@networks) {
my ($vpnip, $vpnsub) = split("/", $network);
$vpnsub = &Network::convert_prefix2netmask($vpnsub) || $vpnsub;
next if ($vpnip eq "0.0.0.0" || $vpnsub eq "0.0.0.0");
print FILE " (isInNet(host, \"$vpnip\", \"$vpnsub\")) ||\n";
}
}