Skip to content

Commit ec9c547

Browse files
author
Florian Schaal
committed
allow ipv6 for remote-database-access
1 parent 831dd0a commit ec9c547

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

interface/lib/classes/validate_database.inc.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,19 +42,19 @@ function valid_ip_list($field_name, $field_value, $validator) {
4242
$values = explode(",", $field_value);
4343
foreach($values as $cur_value) {
4444
$cur_value = trim($cur_value);
45-
4645
$valid = true;
47-
// if(preg_match("/^[0-9]{1,3}(\.)[0-9]{1,3}(\.)[0-9]{1,3}(\.)[0-9]{1,3}$/", $cur_value)) {
48-
if(preg_match("/^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/", $cur_value)) {
49-
$groups = explode(".", $cur_value);
50-
foreach($groups as $group){
51-
if($group<0 or $group>255)
52-
$valid=false;
46+
if(function_exists('filter_var')) {
47+
if(!filter_var($field_value, FILTER_VALIDATE_IP)) {
48+
$valid = false;
5349
}
5450
} else {
55-
$valid = false;
51+
if(
52+
!preg_match("/^[0-9a-f]{1,4}:([0-9a-f]{0,4}:){1,6}[0-9a-f]{1,4}$/", $cur_value)
53+
&&
54+
!preg_match("/^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/", $cur_value)) {
55+
$valid = false;
56+
}
5657
}
57-
5858
if($valid == false) {
5959
$errmsg = $validator['errmsg'];
6060
if(isset($app->tform->wordbook[$errmsg])) {

0 commit comments

Comments
 (0)