diff --git a/security/acme-client/pkg-descr b/security/acme-client/pkg-descr
index 19c9cb23a..46af10d17 100644
--- a/security/acme-client/pkg-descr
+++ b/security/acme-client/pkg-descr
@@ -13,9 +13,10 @@ Plugin Changelog
Added:
* Add support for MyDNS.JP DNS API (#4328)
* Add support for fornex DNS API (#4389)
+* Add support for OTP Code to Synology deploy hook (#4045)
Changed:
-* Convert synology_dsm deploy hook variables to uppercase (#4286)
+* Convert Synology deploy hook variables to uppercase (#4286)
Fixed:
* SFTP/SSH automation results in fatal PHP error (#4363)
diff --git a/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogAction.xml b/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogAction.xml
index 09066d054..97d14b355 100644
--- a/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogAction.xml
+++ b/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogAction.xml
@@ -225,6 +225,12 @@
textIf Synology DSM has OTP enabled, then the device name has to be provided so that no OTP is required when running the automation.
+
+ action.acme_synology_dsm_otpcode
+
+ text
+ If Synology DSM has OTP enabled, then a OTP may be required.
+ action.acme_synology_dsm_create
diff --git a/security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeAutomation/AcmeSynologyDsm.php b/security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeAutomation/AcmeSynologyDsm.php
index 8762bebf6..48c520d9c 100644
--- a/security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeAutomation/AcmeSynologyDsm.php
+++ b/security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeAutomation/AcmeSynologyDsm.php
@@ -53,6 +53,9 @@ class AcmeSynologyDsm extends Base implements LeAutomationInterface
if (!empty((string)$this->config->acme_synology_dsm_devicename)) {
$this->acme_env['SYNO_DEVICE_NAME'] = (string)$this->config->acme_synology_dsm_devicename;
}
+ if (!empty((string)$this->config->acme_synology_dsm_otpcode)) {
+ $this->acme_env['SYNO_OTP_CODE'] = (string)$this->config->acme_synology_dsm_otpcode;
+ }
$this->acme_args[] = '--deploy-hook synology_dsm';
return 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 49fd92867..93a1de578 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
@@ -1506,6 +1506,11 @@
/^.{1,1024}$/uShould be a string between 1 and 1024 characters.
+
+ N
+ /^.{1,1024}$/u
+ Should be a string between 1 and 1024 characters.
+ N/^.{1,1024}$/u