diff options
author | Ermal <eri@pfsense.org> | 2013-01-26 11:59:53 +0000 |
---|---|---|
committer | Ermal <eri@pfsense.org> | 2013-01-26 11:59:53 +0000 |
commit | abdd01f53e32ebb42eae379fa17e721e87a258ce (patch) | |
tree | 24a523b49c1cf2ca6b1bd27093c533ab8090845d /etc/inc/pfsense-utils.inc | |
parent | 7bb09580afe7d622f2b859d63f0f49294be43460 (diff) | |
download | pfsense-abdd01f53e32ebb42eae379fa17e721e87a258ce.zip pfsense-abdd01f53e32ebb42eae379fa17e721e87a258ce.tar.gz |
Correctly generate dhcpleases file to avoid issues with dhcpleases. Also while here correct code and make some optiomizations and corrections
Diffstat (limited to 'etc/inc/pfsense-utils.inc')
-rw-r--r-- | etc/inc/pfsense-utils.inc | 47 |
1 files changed, 14 insertions, 33 deletions
diff --git a/etc/inc/pfsense-utils.inc b/etc/inc/pfsense-utils.inc index 36d04fe..42d4479 100644 --- a/etc/inc/pfsense-utils.inc +++ b/etc/inc/pfsense-utils.inc @@ -1054,59 +1054,40 @@ function print_value_list($list, $count = 10, $separator = ",") { } /* DHCP enabled on any interfaces? */ -function is_dhcp_server_enabled() -{ +function is_dhcp_server_enabled() { global $config; - $dhcpdenable = false; - if (!is_array($config['dhcpd'])) return false; - $Iflist = get_configured_interface_list(); - - if(is_array($config['dhcpd'])) { - foreach ($config['dhcpd'] as $dhcpif => $dhcpifconf) { - if (isset($dhcpifconf['enable']) && isset($Iflist[$dhcpif])) { - $dhcpdenable = true; - break; - } - } + foreach ($config['dhcpd'] as $dhcpif => $dhcpifconf) { + if (isset($dhcpifconf['enable']) && !empty($config['interfaces'][$dhcpif])) + return true; } - return $dhcpdenable; + return false; } /* DHCP enabled on any interfaces? */ -function is_dhcpv6_server_enabled() -{ +function is_dhcpv6_server_enabled() { global $config; - $dhcpdenable = false; - - $Iflist = get_configured_interface_list(); - $Iflist = array_merge($Iflist, get_configured_pppoe_server_interfaces()); - - foreach($Iflist as $ifname) { - if($config['interfaces'][$ifname]['track6-interface'] <> "") { - return true; + if (is_array($config['interfaces'])) { + foreach ($config['interfaces'] as $ifcfg) { + if (!empty($ifcfg['track6-interface'])) + return true; } } if (!is_array($config['dhcpdv6'])) return false; - - if(is_array($config['dhcpdv6'])) { - foreach ($config['dhcpdv6'] as $dhcpv6if => $dhcpv6ifconf) { - if (isset($dhcpv6ifconf['enable']) && isset($Iflist[$dhcpv6if])) { - $dhcpdenable = true; - break; - } - } + foreach ($config['dhcpdv6'] as $dhcpv6if => $dhcpv6ifconf) { + if (isset($dhcpv6ifconf['enable']) && isset($Iflist[$dhcpv6if])) + return true; } - return $dhcpdenable; + return false; } /* radvd enabled on any interfaces? */ |