openvpn ccd: Fix subnet mask validation.

This commit is contained in:
Alexander Marx
2012-11-21 11:49:53 +01:00
committed by Michael Tremer
parent 52d08bcbd2
commit 290007b3b0
2 changed files with 25 additions and 10 deletions

View File

@@ -494,21 +494,36 @@ sub addccdnet
my $checkup;
my $ccdip;
my $baseaddress;
if(!&General::validhostname($ccdname)){
#check name
if ($ccdname eq '')
{
$errormessage=$errormessage.$Lang::tr{'ccd err name'}."<br>";
return
}
if(!&General::validhostname($ccdname))
{
$errormessage=$Lang::tr{'ccd err invalidname'};
return;
}
#check ip
if (&General::validipandmask($ccdnet)){
$ccdnet=&General::iporsubtocidr($ccdnet);
}else{
($ccdip,$subcidr) = split (/\//,$ccdnet);
$subcidr=&General::iporsubtocidr($subcidr);
#check subnet
if ($subcidr > 30)
{
$errormessage=$Lang::tr{'ccd err invalidnet'};
return;
}
($ccdip,$subcidr) = split (/\//,$ccdnet);
if ($ccdname eq '') {
$errormessage=$errormessage.$Lang::tr{'ccd err name'}."<br>";
#check ip
if (!&General::validipandmask($ccdnet)){
$errormessage=$Lang::tr{'ccd err invalidnet'};
return;
}
#check if we try to use same network as ovpn server
if (&General::iporsubtocidr($ccdnet) eq &General::iporsubtocidr($ovpnsubnet)) {
$errormessage=$errormessage.$Lang::tr{'ccd err isovpnnet'}."<br>";