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();