From 89972b872782698c48d9c919c5766240f0a81d41 Mon Sep 17 00:00:00 2001 From: Lauris Kaplinski Date: Thu, 21 May 2026 13:56:47 +0300 Subject: [PATCH] Return configuration error if keyserver is not known --- client/CDocSupport.cpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/client/CDocSupport.cpp b/client/CDocSupport.cpp index 47a4419d1..e49a4db0f 100644 --- a/client/CDocSupport.cpp +++ b/client/CDocSupport.cpp @@ -188,26 +188,33 @@ checkConnection() std::string DDConfiguration::getValue(std::string_view domain, std::string_view param) const { - std::string def = Settings::CDOC2_DEFAULT_KEYSERVER; 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(); - QString url = data.value(QLatin1String("POST")).toString(Settings::CDOC2_POST); + if (data.isEmpty()) return {}; + QString url = data.value(QLatin1String("POST")).toString(); return url.toStdString(); #else - QString url = Settings::CDOC2_POST; - return url.toStdString(); + if (domain == Settings::CDOC2_DEFAULT_KEYSERVER) { + QString url = Settings::CDOC2_POST; + return url.toStdString(); + } #endif } 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(); - QString url = data.value(QLatin1String("FETCH")).toString(Settings::CDOC2_GET); + if (data.isEmpty()) return {}; + QString url = data.value(QLatin1String("FETCH")).toString(); return url.toStdString(); #else - QString url = Settings::CDOC2_GET; - return url.toStdString(); + if (domain == Settings::CDOC2_DEFAULT_KEYSERVER) { + QString url = Settings::CDOC2_GET; + return url.toStdString(); + } #endif } return {};