diff --git a/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/settings.xml b/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/settings.xml index 65afd3a4f..8f5debb9d 100644 --- a/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/settings.xml +++ b/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/settings.xml @@ -30,4 +30,11 @@ true + + acmeclient.settings.restartTimeout + + text + + true + diff --git a/security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/AcmeClient.xml b/security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/AcmeClient.xml index 5edec0877..65e463196 100644 --- a/security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/AcmeClient.xml +++ b/security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/AcmeClient.xml @@ -43,6 +43,12 @@ 65535 Y + + 600 + 10 + 86400 + Y + 0 N diff --git a/security/acme-client/src/opnsense/scripts/OPNsense/AcmeClient/certhelper.php b/security/acme-client/src/opnsense/scripts/OPNsense/AcmeClient/certhelper.php index 324b8f9b4..c1fbd1767 100755 --- a/security/acme-client/src/opnsense/scripts/OPNsense/AcmeClient/certhelper.php +++ b/security/acme-client/src/opnsense/scripts/OPNsense/AcmeClient/certhelper.php @@ -957,6 +957,7 @@ function run_restart_actions($certlist, $modelObj) { global $config; $return = 0; + $configObj = Config::getInstance()->object(); // NOTE: Do NOT run any restart action twice, collect duplicates first. $restart_actions = array(); @@ -1041,8 +1042,12 @@ function run_restart_actions($certlist, $modelObj) $proc_stderr = ''; $result = ''; // exit code (or '99' in case of timeout) - // TODO: Make the timeout configurable. - $timeout = '600'; + // Timeout for custom restart actions. + if (!empty((string)$configObj->OPNsense->AcmeClient->settings->restartTimeout)) { + $timeout = (string)$configObj->OPNsense->AcmeClient->settings->restartTimeout; + } else { + $timeout = '600'; + } $starttime = time(); $proc_cmd = (string)$action->custom;