diff --git a/client/CDocSupport.cpp b/client/CDocSupport.cpp
index 19cf47812..7b9c969c2 100644
--- a/client/CDocSupport.cpp
+++ b/client/CDocSupport.cpp
@@ -213,11 +213,13 @@ DDConfiguration::getValue(std::string_view domain, std::string_view param) const
if (param == libcdoc::Configuration::KEYSERVER_SEND_URL) {
#ifdef CONFIG_URL
QJsonObject list = Application::confValue(QLatin1String("CDOC2-CONF")).toObject();
- if (list.isEmpty()) return {};
QJsonObject data = list.value(QLatin1String(domain.data(), domain.size())).toObject();
- if (data.isEmpty()) return {};
- QString url = data.value(QLatin1String("POST")).toString();
- return url.toStdString();
+ if (QString url = data.value(QLatin1String("POST")).toString(); !url.isEmpty())
+ return url.toStdString();
+ if (!domain.empty() && domain == Settings::CDOC2_UUID) {
+ QString url = Settings::CDOC2_POST;
+ return url.toStdString();
+ }
#else
if (domain == Settings::CDOC2_DEFAULT_KEYSERVER) {
QString url = Settings::CDOC2_POST;
@@ -227,11 +229,13 @@ DDConfiguration::getValue(std::string_view domain, std::string_view param) const
} else if (param == libcdoc::Configuration::KEYSERVER_FETCH_URL) {
#ifdef CONFIG_URL
QJsonObject list = Application::confValue(QLatin1String("CDOC2-CONF")).toObject();
- if (list.isEmpty()) return {};
QJsonObject data = list.value(QLatin1String(domain.data(), domain.size())).toObject();
- if (data.isEmpty()) return {};
- QString url = data.value(QLatin1String("FETCH")).toString();
- return url.toStdString();
+ if (QString url = data.value(QLatin1String("FETCH")).toString(); !url.isEmpty())
+ return url.toStdString();
+ if (!domain.empty() && domain == Settings::CDOC2_UUID) {
+ QString url = Settings::CDOC2_GET;
+ return url.toStdString();
+ }
#else
if (domain == Settings::CDOC2_DEFAULT_KEYSERVER) {
QString url = Settings::CDOC2_GET;
diff --git a/client/CryptoDoc.cpp b/client/CryptoDoc.cpp
index a83b10d91..a285cbaa9 100644
--- a/client/CryptoDoc.cpp
+++ b/client/CryptoDoc.cpp
@@ -413,6 +413,14 @@ bool CryptoDoc::encrypt(const QString &filename, const QString& label, const QBy
->open();
return false;
}
+ if(d->version == 2 && Settings::CDOC2_USE_KEYSERVER && QString(Settings::CDOC2_DEFAULT_KEYSERVER).isEmpty())
+ {
+ WarningDialog::create()
+ ->withTitle(tr("Failed to encrypt document"))
+ ->withText(tr("Key transfer server is not configured"))
+ ->open();
+ return false;
+ }
QString writer_last_error;
libcdoc::result_t result = waitFor([&] -> libcdoc::result_t {
qCDebug(CRYPTO) << "Encrypt" << d->fileName;
diff --git a/client/dialogs/SettingsDialog.cpp b/client/dialogs/SettingsDialog.cpp
index 9ad9e6a4f..dff6252c5 100644
--- a/client/dialogs/SettingsDialog.cpp
+++ b/client/dialogs/SettingsDialog.cpp
@@ -205,7 +205,7 @@ SettingsDialog::SettingsDialog(int page, QWidget *parent)
ui->txtCdoc2UUID->setDisabled(disabled);
ui->txtCdoc2Fetch->setDisabled(disabled);
ui->txtCdoc2Post->setDisabled(disabled);
- ui->txtCdoc2UUID->setClearButtonEnabled(!disabled);
+ ui->txtCdoc2UUID->setClearButtonEnabled(false);
ui->txtCdoc2Fetch->setClearButtonEnabled(!disabled);
ui->txtCdoc2Post->setClearButtonEnabled(!disabled);
ui->wgtCDoc2Cert->setHidden(disabled);
diff --git a/client/translations/en.ts b/client/translations/en.ts
index e0ee8edf5..f3a2aae5d 100644
--- a/client/translations/en.ts
+++ b/client/translations/en.ts
@@ -600,6 +600,10 @@
Failed to encrypt document
Failed to encrypt document
+
+ Key transfer server is not configured
+
+
Failed to remove key
Failed to remove key
@@ -1303,6 +1307,10 @@
Failed to init ldap
Failed to init ldap
+
+ Failed to set ldap CA cert
+
+
Failed to init ldap search
Failed to init ldap search
diff --git a/client/translations/et.ts b/client/translations/et.ts
index b8052a14a..c611242a3 100644
--- a/client/translations/et.ts
+++ b/client/translations/et.ts
@@ -600,6 +600,10 @@
Failed to encrypt document
Dokumendi krüpteerimine ebaõnnestus
+
+ Key transfer server is not configured
+ Võtmeedastusserver ei ole seadistatud
+
Failed to remove key
Võtme eemaldamine ebaõnnestus
@@ -1303,6 +1307,10 @@
Failed to init ldap
LDAP initsialiseerimine ebaõnnestus
+
+ Failed to set ldap CA cert
+
+
Failed to init ldap search
LDAP otsingu initsialiseerimine ebaõnnestus