diff options
author | Chris Buechler <cmb@pfsense.org> | 2013-06-01 20:47:10 -0700 |
---|---|---|
committer | Chris Buechler <cmb@pfsense.org> | 2013-06-01 20:47:10 -0700 |
commit | 91523382a317784eeef6da2739cd0e12ec35a64f (patch) | |
tree | bff5b5ce96cce45ef68353d15243169e115d2bc5 | |
parent | 9399370b367df7b73b84d605f4f44599c93b0bbe (diff) | |
parent | 6c124212ebb5b9b8277ff96328a10daa1345c16b (diff) | |
download | pfsense-91523382a317784eeef6da2739cd0e12ec35a64f.zip pfsense-91523382a317784eeef6da2739cd0e12ec35a64f.tar.gz |
Merge pull request #665 from phil-davis/master
DHCP Server enable/disable change needs filter_configure
-rwxr-xr-x | usr/local/www/services_dhcp.php | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/usr/local/www/services_dhcp.php b/usr/local/www/services_dhcp.php index 6781ece..eeafd11 100755 --- a/usr/local/www/services_dhcp.php +++ b/usr/local/www/services_dhcp.php @@ -41,6 +41,7 @@ ##|-PRIV require("guiconfig.inc"); +require_once("filter.inc"); if(!$g['services_dhcp_server_enable']) { Header("Location: /"); @@ -424,9 +425,17 @@ if ($_POST) { if (!is_array($dhcpdconf['range'])) $dhcpdconf['range'] = array(); + $dhcpd_enable_changed = false; + // Global Options if (!is_numeric($pool) && !($act == "newpool")) { - $dhcpdconf['enable'] = ($_POST['enable']) ? true : false; + $old_dhcpd_enable = isset($dhcpdconf['enable']); + $new_dhcpd_enable = ($_POST['enable']) ? true : false; + if ($old_dhcpd_enable != $new_dhcpd_enable) { + /* DHCP has been enabled or disabled. The pf ruleset will need to be rebuilt to allow or disallow DHCP. */ + $dhcpd_enable_changed = true; + } + $dhcpdconf['enable'] = $new_dhcpd_enable; $dhcpdconf['staticarp'] = ($_POST['staticarp']) ? true : false; $previous = $dhcpdconf['failover_peerip']; if($previous <> $_POST['failover_peerip']) @@ -514,7 +523,10 @@ if ($_POST) { if ($retvaldhcp == 0) clear_subsystem_dirty('staticmaps'); } - if($retvaldhcp == 1 || $retvaldns == 1) + if ($dhcpd_enable_changed) + $retvalfc = filter_configure(); + + if($retvaldhcp == 1 || $retvaldns == 1 || $retvalfc == 1) $retval = 1; $savemsg = get_std_save_message($retval); } |