diff --git a/src/opnsense/scripts/systemhealth/clearlog b/src/opnsense/scripts/systemhealth/clearlog index 2c41f667e..28bdcc516 100755 --- a/src/opnsense/scripts/systemhealth/clearlog +++ b/src/opnsense/scripts/systemhealth/clearlog @@ -63,7 +63,6 @@ if (isset($opts['m']) && isset($opts['f'])) { } // XXX: should probably add some plugin hook for this. if ($fname == 'dhcpd' && $mname == 'core') { - killbyname('dhcpd'); plugins_configure('dhcp'); } } diff --git a/src/www/diag_logs_settings.php b/src/www/diag_logs_settings.php index 263f332af..245a05f74 100644 --- a/src/www/diag_logs_settings.php +++ b/src/www/diag_logs_settings.php @@ -78,7 +78,6 @@ function clear_all_log_files() } system_syslogd_start(); - killbyname('dhcpd'); plugins_configure('dhcp'); } diff --git a/src/www/services_dhcp.php b/src/www/services_dhcp.php index 299ecf3e9..8dbc9921f 100644 --- a/src/www/services_dhcp.php +++ b/src/www/services_dhcp.php @@ -37,11 +37,15 @@ require_once("plugins.inc.d/dhcpd.inc"); * This function will remove entries from dhcpd.leases that would otherwise * overlap with static DHCP reservations. If we don't clean these out, * then DHCP will print a warning in the logs about a duplicate lease + * + * XXX errr: why are we doing this only on this particular page? */ function dhcp_clean_leases() { global $config; + killbypid('/var/dhcpd/var/run/dhcpd.pid', 'TERM', true); + $leasesfile = dhcpd_dhcpv4_leasesfile(); if (!file_exists($leasesfile)) { return; @@ -82,8 +86,6 @@ function validate_partial_mac_list($maclist) { function reconfigure_dhcpd() { - /* Stop DHCP so we can cleanup leases */ - killbyname("dhcpd"); dhcp_clean_leases(); system_hosts_generate(); clear_subsystem_dirty('hosts'); diff --git a/src/www/status_dhcp_leases.php b/src/www/status_dhcp_leases.php index 1c152c03a..26996c63d 100644 --- a/src/www/status_dhcp_leases.php +++ b/src/www/status_dhcp_leases.php @@ -257,9 +257,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') { ); } elseif ($_SERVER['REQUEST_METHOD'] === 'POST') { if (!empty($_POST['deleteip']) && is_ipaddr($_POST['deleteip'])) { - // delete dhcp lease - /* Stop DHCPD */ - killbyname("dhcpd"); + killbypid('/var/dhcpd/var/run/dhcpd.pid', 'TERM', true); $fin = @fopen($leasesfile, "r"); $fout = @fopen($leasesfile.".new", "w"); if ($fin) { diff --git a/src/www/status_dhcpv6_leases.php b/src/www/status_dhcpv6_leases.php index e980a0968..daa79f070 100644 --- a/src/www/status_dhcpv6_leases.php +++ b/src/www/status_dhcpv6_leases.php @@ -314,9 +314,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') { } } elseif ($_SERVER['REQUEST_METHOD'] === 'POST') { if (!empty($_POST['deleteip']) && is_ipaddr($_POST['deleteip'])) { - // delete dhcp lease - /* Stop DHCPD */ - killbyname("dhcpd"); + killbypid('/var/dhcpd/var/run/dhcpdv6.pid', 'TERM', true); $fin = @fopen($leasesfile, "r"); $fout = @fopen($leasesfile.".new", "w"); if ($fin) {