diff options
author | Szymon Kłos <szymon.klos@collabora.com> | 2020-09-16 16:41:09 +0200 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2020-09-16 20:07:47 +0200 |
commit | 9351ec6429e7985f9fc5aeb80e21316b37291c71 (patch) | |
tree | 64a7022c8fa5ab9d1da924900076761e760ad6a1 | |
parent | Simplify download process (diff) | |
download | online-9351ec6429e7985f9fc5aeb80e21316b37291c71.tar.gz online-9351ec6429e7985f9fc5aeb80e21316b37291c71.zip |
Decode file name when trying to download file
Simplified download process (ab162b6f9580315700a01c3bc10becd510a2ead4)
introduced a bug. Trying to download file with eg. space in the name
become impossible. This patch decodes the string to fix the issue.
Change-Id: I8e5d98010cf098b889eddcce4ba1ce65367b15d5
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/102874
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
(cherry picked from commit 87aad0a8bbf86502658ffcf3d0ee053af922d474)
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/102763
Reviewed-by: Andras Timar <andras.timar@collabora.com>
-rw-r--r-- | wsd/LOOLWSD.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp index 4f8e108fa7..4b78d2096a 100644 --- a/wsd/LOOLWSD.cpp +++ b/wsd/LOOLWSD.cpp @@ -2542,7 +2542,10 @@ private: bool foundDownloadId = !url.empty(); - const Path filePath(LOOLWSD::ChildRoot + jailId + JAILED_DOCUMENT_ROOT + url); + std::string decoded; + Poco::URI::decode(url, decoded); + + const Path filePath(LOOLWSD::ChildRoot + jailId + JAILED_DOCUMENT_ROOT + decoded); const std::string filePathAnonym = LOOLWSD::anonymizeUrl(filePath.toString()); if (foundDownloadId && filePath.isAbsolute() && File(filePath).exists()) |