tdf#146703 Rework previous fix to query extension metadata
to limit its error potential by encoding only the category string
Change-Id: Ia3d3bfa6981ec46b71b500980abda9ad7f606cd1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128361
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Jenkins
(cherry picked from commit b1ec326619f7b91e56252b992159fd00bbff2ba7)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128428
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
diff --git a/cui/source/dialogs/AdditionsDialog.cxx b/cui/source/dialogs/AdditionsDialog.cxx
index aa36bf4..c4247c2 100644
--- a/cui/source/dialogs/AdditionsDialog.cxx
+++ b/cui/source/dialogs/AdditionsDialog.cxx
@@ -80,9 +80,7 @@ std::string ucbGet(const OUString& rURL)
{
try
{
OUString sEncodedUrl = INetURLObject::encode(rURL, INetURLObject::PART_FPATH,
INetURLObject::EncodeMechanism::All);
auto const s = utl::UcbStreamHelper::CreateStream(sEncodedUrl, StreamMode::STD_READ);
auto const s = utl::UcbStreamHelper::CreateStream(rURL, StreamMode::STD_READ);
if (!s)
{
SAL_WARN("cui.dialogs", "CreateStream <" << rURL << "> failed");
@@ -460,8 +458,12 @@ AdditionsDialog::AdditionsDialog(weld::Window* pParent, const OUString& sAdditio
this->set_title(titlePrefix);
m_sTag = "allextensions"; // Means empty parameter
}
OUString sEncodedURLPart = INetURLObject::encode(m_sTag, INetURLObject::PART_PCHAR,
INetURLObject::EncodeMechanism::All);
//FIXME: Temporary URL - v0 is not using actual api
OUString rURL = "https://extensions.libreoffice.org/api/v0/" + m_sTag + ".json";
OUString rURL = "https://extensions.libreoffice.org/api/v0/" + sEncodedURLPart + ".json";
m_sURL = rURL;
m_xExtensionManager