diff options
author | Renato Botelho <garga@FreeBSD.org> | 2014-12-17 15:26:19 -0200 |
---|---|---|
committer | Renato Botelho <garga@FreeBSD.org> | 2014-12-17 15:26:19 -0200 |
commit | 570066460e88a63d186e8892930927e6e9825fc4 (patch) | |
tree | 690ba5849f7604872380f40e0abf96c3e3e8d044 /etc | |
parent | f4c40620dab99da0c52f21e7999b022fc3a35831 (diff) | |
download | pfsense-570066460e88a63d186e8892930927e6e9825fc4.zip pfsense-570066460e88a63d186e8892930927e6e9825fc4.tar.gz |
Check if interface is disabled when configuring DHCP server. It fixes #4119
Diffstat (limited to 'etc')
-rw-r--r-- | etc/inc/services.inc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/etc/inc/services.inc b/etc/inc/services.inc index 1902bbb..f22e646 100644 --- a/etc/inc/services.inc +++ b/etc/inc/services.inc @@ -458,6 +458,9 @@ EOD; */ foreach ($dhcpdcfg as $dhcpif => $dhcpifconf) { + if (!isset($config['interfaces'][$dhcpif]['enable'])) + continue; + interfaces_staticarp_configure($dhcpif); if (!isset($dhcpifconf['enable'])) @@ -1122,7 +1125,7 @@ EOD; $ifcfgv6 = $config['interfaces'][$dhcpv6if]; - if (!isset($dhcpv6ifconf['enable']) || !isset($Iflist[$dhcpv6if])) + if (!isset($dhcpv6ifconf['enable']) || !isset($Iflist[$dhcpv6if]) || !isset($ifcfgv6['enable'])) continue; $ifcfgipv6 = get_interface_ipv6($dhcpv6if); $ifcfgsnv6 = get_interface_subnetv6($dhcpv6if); @@ -1273,7 +1276,7 @@ EOD; $dhcpdv6conf .= dhcpdzones($ddns_zones, $dhcpv6ifconf); } - if ($config['dhcpdv6'][$dhcpv6if]['ramode'] <> "unmanaged") { + if ($config['dhcpdv6'][$dhcpv6if]['ramode'] <> "unmanaged" && isset($config['interfaces'][$dhcpv6if]['enable'])) { if(preg_match("/poes/si", $dhcpv6if)) { /* magic here */ $dhcpdv6ifs = array_merge($dhcpdv6ifs, get_pppoes_child_interfaces($dhcpv6if)); |