correct validating list of AXFR-servers, fixes #1440
Signed-off-by: Michael Kaufmann (d00p) <d00p@froxlor.org>
This commit is contained in:
@@ -74,6 +74,7 @@ return array(
|
|||||||
'varname' => 'axfrservers',
|
'varname' => 'axfrservers',
|
||||||
'type' => 'string',
|
'type' => 'string',
|
||||||
'string_type' => 'validate_ip',
|
'string_type' => 'validate_ip',
|
||||||
|
'string_delimiter' => ',',
|
||||||
'string_emptyallowed' => true,
|
'string_emptyallowed' => true,
|
||||||
'default' => '',
|
'default' => '',
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
|
|||||||
@@ -107,11 +107,8 @@ function validateFormFieldString($fieldname, $fielddata, $newfieldvalue)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
elseif (isset($fielddata['string_type']) && $fielddata['string_type'] == 'validate_ip') {
|
elseif (isset($fielddata['string_type']) && $fielddata['string_type'] == 'validate_ip') {
|
||||||
$newfieldvalue = validate_ip($newfieldvalue, true);
|
$newfieldvalue = validate_ip2($newfieldvalue);
|
||||||
if ($newfieldvalue === false) {
|
$returnvalue = ($newfieldvalue !== false ? true : 'invalidip');
|
||||||
$newfieldvalue = '';
|
|
||||||
}
|
|
||||||
$returnvalue = false;
|
|
||||||
}
|
}
|
||||||
elseif (preg_match('/^[^\r\n\t\f\0]*$/D', $newfieldvalue)) {
|
elseif (preg_match('/^[^\r\n\t\f\0]*$/D', $newfieldvalue)) {
|
||||||
$returnvalue = true;
|
$returnvalue = true;
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
* Checks whether it is a valid ip
|
* Checks whether it is a valid ip
|
||||||
*
|
*
|
||||||
* @return mixed ip address on success, standard_error on failure
|
* @return mixed ip address on success, standard_error on failure
|
||||||
|
* @deprecated use validate_ip2
|
||||||
*/
|
*/
|
||||||
function validate_ip($ip, $return_bool = false, $lng = 'invalidip') {
|
function validate_ip($ip, $return_bool = false, $lng = 'invalidip') {
|
||||||
|
|
||||||
@@ -32,9 +33,32 @@ function validate_ip($ip, $return_bool = false, $lng = 'invalidip') {
|
|||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
standard_error($lng, $ip);
|
standard_error($lng, $ip);
|
||||||
exit;
|
exit();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return $ip;
|
return $ip;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks whether it is a valid ip
|
||||||
|
*
|
||||||
|
* @return mixed ip address on success, false on failure
|
||||||
|
*/
|
||||||
|
function validate_ip2($ip, $return_bool = false, $lng = 'invalidip') {
|
||||||
|
|
||||||
|
if ((filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)
|
||||||
|
|| filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4))
|
||||||
|
&& filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE | FILTER_FLAG_NO_PRIV_RANGE)
|
||||||
|
) {
|
||||||
|
return $ip;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($return_bool) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
standard_error($lng, $ip);
|
||||||
|
exit();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user