From: Heino Gutschmidt Date: Thu, 2 Jun 2016 14:27:59 +0000 (+0200) Subject: BUG11131: fix errormessage when more ipsec subnets defined X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=refs%2Fheads%2FBUG11131;p=people%2Famarx%2Fipfire-2.x.git BUG11131: fix errormessage when more ipsec subnets defined When having more than one subnet in an ipsec connection it is not possible to create a new openvpn static subnet. Signed-off-by: Alexander Marx Signed-off-by: Heino Gutschmidt --- diff --git a/config/cfgroot/general-functions.pl b/config/cfgroot/general-functions.pl index d3d725131..298e68c5a 100644 --- a/config/cfgroot/general-functions.pl +++ b/config/cfgroot/general-functions.pl @@ -516,12 +516,14 @@ sub checksubnets &General::readhasharray("${General::swroot}/vpn/config", \%ipsecconf); foreach my $key (keys %ipsecconf){ if ($ipsecconf{$key}[11] ne ''){ - my ($ipsecip,$ipsecsub) = split (/\//, $ipsecconf{$key}[11]); - $ipsecsub=&iporsubtodec($ipsecsub); - if($ipsecconf{$key}[1] ne $ccdname){ - if ( &IpInSubnet ($ip,$ipsecip,$ipsecsub) ){ - $errormessage=$Lang::tr{'ccd err isipsecnet'}." Name: $ipsecconf{$key}[1]"; - return $errormessage; + foreach my $ipsecsubitem (split(/\|/, $ipsecconf{$key}[11])) { + my ($ipsecip,$ipsecsub) = split (/\//, $ipsecconf{$key}[11]); + $ipsecsub=&iporsubtodec($ipsecsub); + if($ipsecconf{$key}[1] ne $ccdname){ + if ( &IpInSubnet ($ip,$ipsecip,$ipsecsub) ){ + $errormessage=$Lang::tr{'ccd err isipsecnet'}." Name: $ipsecconf{$key}[1]"; + return $errormessage; + } } } }