if ($ccdip=~/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/ &&(($1>0 && $1<=255 && $2>=0 && $2<=255 && $3>=0 && $3<=255 && $4<=255 ))) {
#Subnet in decimal and valid?
if ($ccdsubnet=~/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/ &&(($1<=255 && $2<=$1 && $3<=$2 && $4<=$3 ))) {
- for (my $i=8;$i<=30;$i++){
+ for (my $i=8;$i<=32;$i++){
if (&General::cidrtosub($i) eq $ccdsubnet){
return 1;
}
}
#Subnet already in binary format?
- }elsif ($ccdsubnet=~/^(\d{1,2})$/ && (($1<=30 && $1>=8))){
+ }elsif ($ccdsubnet=~/^(\d{1,2})$/ && (($1<=32 && $1>=8))){
return 1;
}else{
return 0;
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>";