From 1bf1c693da0d616b6a2a860133b9e84cc62b88c2 Mon Sep 17 00:00:00 2001 From: Stephan de Wit Date: Mon, 4 May 2026 16:39:25 +0200 Subject: [PATCH] Captive Portal: reload ipfw on captive portal reconfigure (#10253) --- .../CaptivePortal/Api/ServiceController.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api/ServiceController.php b/src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api/ServiceController.php index 0f0a409de9..38f79efc7e 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api/ServiceController.php +++ b/src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api/ServiceController.php @@ -29,6 +29,7 @@ namespace OPNsense\CaptivePortal\Api; use OPNsense\Base\ApiMutableServiceControllerBase; +use OPNsense\Core\Backend; /** * Class ServiceController @@ -40,6 +41,24 @@ class ServiceController extends ApiMutableServiceControllerBase protected static $internalServiceTemplate = 'OPNsense/Captiveportal'; protected static $internalServiceName = 'captiveportal'; + public function reconfigureAction() + { + $status = ['status' => 'failed']; + + if ($this->request->isPost()) { + $backend = new Backend(); + $backend->configdRun('template reload OPNsense/IPFW'); + $result = trim($backend->configdRun("ipfw reload")); + if ($result != "OK") { + return ["status" => "error reloading ipfw (" . $result . ")"]; + } + + $status = parent::reconfigureAction(); + } + + return $status; + } + protected function serviceEnabled() { return $this->getModel()->isEnabled();