diff --git a/src/opnsense/mvc/app/library/OPNsense/Backup/Nextcloud.php b/src/opnsense/mvc/app/library/OPNsense/Backup/Nextcloud.php
index fc13aa10f..6b0208ffd 100644
--- a/src/opnsense/mvc/app/library/OPNsense/Backup/Nextcloud.php
+++ b/src/opnsense/mvc/app/library/OPNsense/Backup/Nextcloud.php
@@ -74,6 +74,13 @@ class Nextcloud extends Base implements IBackupProvider
"help" => gettext("The app password which has been generated for you"),
"value" => null
),
+ array(
+ "name" => "password_encryption",
+ "type" => "password",
+ "label" => gettext("Encryption Password (Optional)"),
+ "help" => gettext("A password to encrypt your configuration"),
+ "value" => null
+ ),
array(
"name" => "backupdir",
"type" => "text",
@@ -128,13 +135,16 @@ class Nextcloud extends Base implements IBackupProvider
$username = (string)$nextcloud->user;
$password = (string)$nextcloud->password;
$backupdir = (string)$nextcloud->backupdir;
+ $crypto_password = (string)$nextcloud->password_encryption;
$hostname = $config->system->hostname . '.' .$config->system->domain;
$configname = 'config-' . $hostname . '-' . date("Y-m-d_H:i:s") . '.xml';
// backup source data to local strings (plain/encrypted)
$confdata = file_get_contents('/conf/config.xml');
- $confdata_enc = chunk_split(
- $this->encrypt($confdata, (string)$nextcloud->password)
- );
+ if (!empty($crypto_password)) {
+ $confdata = chunk_split(
+ $this->encrypt($confdata, $crypto_password)
+ );
+ }
try {
$directories = $this->listFiles($url, $username, $password, '/');
if (!in_array("/$backupdir/", $directories)) {
@@ -146,7 +156,7 @@ class Nextcloud extends Base implements IBackupProvider
$password,
$backupdir,
$configname,
- $confdata_enc
+ $confdata
);
// do not list directories
return array_filter(
diff --git a/src/opnsense/mvc/app/models/OPNsense/Backup/NextcloudSettings.xml b/src/opnsense/mvc/app/models/OPNsense/Backup/NextcloudSettings.xml
index b9743a5fe..cff613b78 100644
--- a/src/opnsense/mvc/app/models/OPNsense/Backup/NextcloudSettings.xml
+++ b/src/opnsense/mvc/app/models/OPNsense/Backup/NextcloudSettings.xml
@@ -41,6 +41,9 @@
+
+ N
+
Y
/[a-z0-9\-]+/i