fwhosts.cgi: properly fetch configured IPsec N2N subnets

Previously, the getcolor() function did not correctly process IPsec
N2N connections with more than one remote network configured, resulting
in networks mistakenly marked as being part of a VPN connection, or vice
versa.

Fixes: #11235

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Acked-by: Stefan Schantl <stefan.schantl@ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
This commit is contained in:
Peter Müller
2021-04-22 22:20:00 +02:00
committed by Arne Fitzenreiter
parent 9e47307d1b
commit 6f36132e68

View File

@@ -1974,11 +1974,13 @@ sub getcolor
#Check if IP is part of a IPsec N2N network
foreach my $key (sort keys %ipsecconf){
if ($ipsecconf{$key}[11]){
my ($a,$b) = split("/",$ipsecconf{$key}[11]);
$b=&General::iporsubtodec($b);
if (&General::IpInSubnet($sip,$a,$b)){
$tdcolor="<font style='color: $Header::colourvpn;'>$c</font>";
return $tdcolor;
foreach my $ipsecsubitem (split(/\|/, $ipsecconf{$key}[11])) {
my ($a,$b) = split("/",$ipsecsubitem);
$b=&General::iporsubtodec($b);
if (&General::IpInSubnet($sip,$a,$b)){
$tdcolor="<font style='color: $Header::colourvpn;'>$c</font>";
return $tdcolor;
}
}
}
}