diff options
-rw-r--r-- | etc/inc/gwlb.inc | 19 | ||||
-rwxr-xr-x | usr/local/www/system.php | 4 |
2 files changed, 13 insertions, 10 deletions
diff --git a/etc/inc/gwlb.inc b/etc/inc/gwlb.inc index 1e694cf..e87a7c1 100644 --- a/etc/inc/gwlb.inc +++ b/etc/inc/gwlb.inc @@ -877,14 +877,17 @@ function validate_address_family($ipaddr, $gwname) { $v4gw = true; if(is_ipaddrv6(lookup_gateway_ip_by_name($gwname))) $v6gw = true; - /* are they dynamic */ - switch($gwname) { - case "dynamic": - $v4gw = true; - break; - case "dynamic6": - $v6gw = true; - break; + + $gw_array = return_gateways_array(); + if(is_array($gw_array[$gwname])) { + switch($gw_array[$gwname]['ipprotocol']) { + case "inet": + $v4gw = true; + break; + case "inet6": + $v6gw = true; + break; + } } if($v4ip && $v4gw) diff --git a/usr/local/www/system.php b/usr/local/www/system.php index d149e11..75896a6 100755 --- a/usr/local/www/system.php +++ b/usr/local/www/system.php @@ -128,8 +128,8 @@ if ($_POST) { if (($_POST[$dnsname] && !is_ipaddr($_POST[$dnsname]))) { $input_errors[] = gettext("A valid IP address must be specified for the DNS server $dnscounter."); } - if (($_POST[$dnsgwname] <> "none") && (is_ipaddr($_POST[$dnsname])) && (validate_address_family($_POST[$dnsname], lookup_gateway_ip_by_name($_POST[$dnsgwname])) === false )) { - $input_errors[] = gettext("The gateway specified for DNS server '{$_POST[$dnsname]}' is not from the same Address Family as gateway '". lookup_gateway_ip_by_name($_POST[$dnsgwname]) ."'."); + if (($_POST[$dnsgwname] <> "none") && (is_ipaddr($_POST[$dnsname])) && (validate_address_family($_POST[$dnsname], $_POST[$dnsgwname]) === false )) { + $input_errors[] = gettext("The gateway specified for DNS server '{$_POST[$dnsname]}' is not from the same Address Family as gateway '". $_POST[$dnsgwname] ."'."); } } |