From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Tremer To: development@lists.ipfire.org Subject: [PATCH] proxy: Skip VPNs that route everything for proxy.pac Date: Fri, 24 Mar 2023 15:49:22 +0000 Message-ID: <20230324154922.276520-1-michael.tremer@ipfire.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4940582627669157531==" List-Id: --===============4940582627669157531== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit 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 --- html/cgi-bin/proxy.cgi | 3 +++ 1 file changed, 3 insertions(+) diff --git a/html/cgi-bin/proxy.cgi b/html/cgi-bin/proxy.cgi index a718d5771..71be315f6 100644 --- a/html/cgi-bin/proxy.cgi +++ b/html/cgi-bin/proxy.cgi @@ -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"; } } -- 2.30.2 --===============4940582627669157531==--