diff --git a/interface/lib/classes/validate_dns.inc.php b/interface/lib/classes/validate_dns.inc.php index c4b94b5f7765d02a2e5715cc97d88e320e83c049..15d670d84a4162057d19cee22ac38fe1e85361e0 100644 --- a/interface/lib/classes/validate_dns.inc.php +++ b/interface/lib/classes/validate_dns.inc.php @@ -310,7 +310,6 @@ class validate_dns { if(strpos($ip, '/') !== false) { list($ip, $subnet) = explode('/', $ip, 2); $ip = trim($ip); - $subnet = intval($subnet); } if(function_exists('filter_var')) { if(!filter_var($ip, FILTER_VALIDATE_IP)) { @@ -320,7 +319,11 @@ class validate_dns { } else $this->errorMessage .= "function filter_var missing
\r\n"; // Check if the range is valid if ($subnet !== '') { - if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) { + if (!is_numeric($subnet)) { + $errmsg = $validator['errmsg']; + $errorMessage .= $app->tform->lng($errmsg)."
\r\n"; + } + elseif (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) { if ($subnet < 1 || $subnet > 128) { $errmsg = $validator['errmsg']; $errorMessage .= $app->tform->lng($errmsg)."
\r\n";