From 2544813dd035fe6c3193492b9aff3f26b487d9b3 Mon Sep 17 00:00:00 2001 From: Jared Hendrickson Date: Tue, 25 Nov 2025 19:44:02 -0700 Subject: [PATCH 1/2] fix(DHCPServer): ensure dhcp servers are initialized as assoc arrays #787 --- .../files/usr/local/pkg/RESTAPI/Models/DHCPServer.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pfSense-pkg-RESTAPI/files/usr/local/pkg/RESTAPI/Models/DHCPServer.inc b/pfSense-pkg-RESTAPI/files/usr/local/pkg/RESTAPI/Models/DHCPServer.inc index b36aad34..073d03eb 100644 --- a/pfSense-pkg-RESTAPI/files/usr/local/pkg/RESTAPI/Models/DHCPServer.inc +++ b/pfSense-pkg-RESTAPI/files/usr/local/pkg/RESTAPI/Models/DHCPServer.inc @@ -267,7 +267,7 @@ class DHCPServer extends Model { # Otherwise, make this interface eligible for a DHCP server if (!in_array($if_id, $ifs_using_dhcp_server)) { - $this->set_config(path: "$this->config_path/$if_id", value: []); + $this->set_config(path: "$this->config_path/$if_id", value: ['range' => ['from' => '', 'to' => '']]); } } } From 88b5d7d05a658c1019683b584861d9c4463b02ca Mon Sep 17 00:00:00 2001 From: Jared Hendrickson Date: Tue, 25 Nov 2025 19:50:08 -0700 Subject: [PATCH 2/2] fix(DHCPServer): use new pfsense dhcp server apply method 2.8.0+ introduced a new method to apply dhcp server changes. This commit updates the codebase to use that method instead of the old services_dhcpd_configure() method. --- .../local/pkg/RESTAPI/Dispatchers/DHCPServerApplyDispatcher.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pfSense-pkg-RESTAPI/files/usr/local/pkg/RESTAPI/Dispatchers/DHCPServerApplyDispatcher.inc b/pfSense-pkg-RESTAPI/files/usr/local/pkg/RESTAPI/Dispatchers/DHCPServerApplyDispatcher.inc index 32d70052..fe0252da 100644 --- a/pfSense-pkg-RESTAPI/files/usr/local/pkg/RESTAPI/Dispatchers/DHCPServerApplyDispatcher.inc +++ b/pfSense-pkg-RESTAPI/files/usr/local/pkg/RESTAPI/Dispatchers/DHCPServerApplyDispatcher.inc @@ -13,7 +13,7 @@ class DHCPServerApplyDispatcher extends Dispatcher { * Reloads the DHCP server and associated services. */ protected function _process(mixed ...$arguments): void { - services_dhcpd_configure(); + dhcp_apply_changes(); clear_subsystem_dirty('dhcpd'); } }