From fd067f3a365b37f2c2a5f766d5805b8a9a228171 Mon Sep 17 00:00:00 2001 From: Monviech Date: Tue, 4 Jun 2024 17:01:33 +0000 Subject: [PATCH] www/caddy: Validation - When Auto HTTPS is enabled, an ACME Email address is required since caddy >=v2.8.0 --- .../mvc/app/models/OPNsense/Caddy/Caddy.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/www/caddy/src/opnsense/mvc/app/models/OPNsense/Caddy/Caddy.php b/www/caddy/src/opnsense/mvc/app/models/OPNsense/Caddy/Caddy.php index 631afe4b9..2c009e188 100644 --- a/www/caddy/src/opnsense/mvc/app/models/OPNsense/Caddy/Caddy.php +++ b/www/caddy/src/opnsense/mvc/app/models/OPNsense/Caddy/Caddy.php @@ -141,6 +141,19 @@ class Caddy extends BaseModel } } + // 5. Check for ACME Email being required when Auto HTTPS on + private function checkAcmeEmailAutoHttps($messages) { + $tlsAutoHttpsSetting = (string)$this->general->TlsAutoHttps; + $tlsEmail = (string)$this->general->TlsEmail; + + if (empty($tlsEmail) && $tlsAutoHttpsSetting !== 'off') { + $messages->appendMessage(new Message( + gettext('To use "Auto HTTPS", an email address is required.'), + "general.TlsEmail" + )); + } + } + // Perform the actual validation public function performValidation($validateFullModel = false) { @@ -153,6 +166,8 @@ class Caddy extends BaseModel $this->checkSubdomainsAgainstDomains($this->reverseproxy->subdomain->iterateItems(), $this->reverseproxy->reverse->iterateItems(), $messages); // 4. Check WebGUI conflicts $this->checkWebGuiSettings($messages); + // 5. Check for ACME Email requirement + $this->checkAcmeEmailAutoHttps($messages); return $messages; }