summaryrefslogtreecommitdiffstats
path: root/src/etc/inc/interfaces.inc
diff options
context:
space:
mode:
Diffstat (limited to 'src/etc/inc/interfaces.inc')
-rw-r--r--src/etc/inc/interfaces.inc23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc
index 40e5c27..d50aab8 100644
--- a/src/etc/inc/interfaces.inc
+++ b/src/etc/inc/interfaces.inc
@@ -38,6 +38,27 @@ function interfaces_bring_up($interface) {
}
/*
+ * Validate comma-separated list of IPv4 addresses
+ */
+function validate_ipv4_list($value) {
+ $value = trim($value);
+
+ if (empty($value)) {
+ return false;
+ }
+
+ $list = explode(',', $value);
+
+ foreach ($list as $ip) {
+ if (!is_ipaddrv4($ip)) {
+ return false;
+ }
+ }
+
+ return true;
+}
+
+/*
* Return the interface array
*/
function get_interface_arr($flush = false) {
@@ -4509,7 +4530,7 @@ initial-interval 1;
script "/usr/local/sbin/pfSense-dhclient-script";
EOD;
- if (is_ipaddrv4($wancfg['dhcprejectfrom'])) {
+ if (validate_ipv4_list($wancfg['dhcprejectfrom'])) {
$dhclientconf .= <<<EOD
reject {$wancfg['dhcprejectfrom']};
OpenPOWER on IntegriCloud