loleaflet/js/global.js | 11 +++++++++-- wsd/LOOLWSD.cpp | 6 +++--- 2 files changed, 12 insertions(+), 5 deletions(-)
New commits: commit 4513318e58ed22709637374918fec3a95ad5dcab Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> AuthorDate: Mon Jun 1 08:18:13 2020 -0400 Commit: Ashod Nakashian <ashnak...@gmail.com> CommitDate: Tue Jun 2 20:05:19 2020 +0200 wsd: leaflet: fix reuse_cookies support reuse_cookies is now always encoded in the URL. And, there is no need for the WOPISrc in the three cases in this patch, and by passing the DocumentURI proper (without /ws?WOPISrc=...) ensures that all query-params in the DocumentURI are properly processed. This fixes the reuse_cookies regression where it wasn't passed to WOPI requests. Change-Id: I8dccfb09a7b4102d10c1aef24f43b699a07bfed8 Reviewed-on: https://gerrit.libreoffice.org/c/online/+/95293 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Ashod Nakashian <ashnak...@gmail.com> diff --git a/loleaflet/js/global.js b/loleaflet/js/global.js index 20757e2a5..1c951b089 100644 --- a/loleaflet/js/global.js +++ b/loleaflet/js/global.js @@ -653,9 +653,16 @@ else if (global.accessHeader !== '') { wopiParams = { 'access_header': global.accessHeader }; } - else if (global.reuseCookies !== '') { - wopiParams = { 'reuse_cookies': global.reuseCookies }; + + if (global.reuseCookies !== '') { + if (wopiParams) { + wopiParams['reuse_cookies'] = global.reuseCookies; + } + else { + wopiParams = { 'reuse_cookies': global.reuseCookies }; + } } + if (wopiParams) { docParams = Object.keys(wopiParams).map(function(key) { return encodeURIComponent(key) + '=' + encodeURIComponent(wopiParams[key]); diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp index 51bd22e38..db7bfbaef 100644 --- a/wsd/LOOLWSD.cpp +++ b/wsd/LOOLWSD.cpp @@ -2810,7 +2810,7 @@ private: const std::string formName(form.get("name")); // Validate the docKey - const std::string decodedUri = requestDetails.getLegacyDocumentURI(); + const std::string decodedUri = requestDetails.getDocumentURI(); const std::string docKey = DocumentBroker::getDocKey(DocumentBroker::sanitizeURI(decodedUri)); std::unique_lock<std::mutex> docBrokersLock(DocBrokersMutex); @@ -2846,7 +2846,7 @@ private: // TODO: Check that the user in question has access to this file! // 1. Validate the dockey - const std::string decodedUri = requestDetails.getLegacyDocumentURI(); + const std::string decodedUri = requestDetails.getDocumentURI(); const std::string docKey = DocumentBroker::getDocKey(DocumentBroker::sanitizeURI(decodedUri)); std::unique_lock<std::mutex> docBrokersLock(DocBrokersMutex); @@ -3025,7 +3025,7 @@ private: SocketDisposition& disposition, const std::shared_ptr<StreamSocket>& socket) { - const std::string url = requestDetails.getLegacyDocumentURI(); + const std::string url = requestDetails.getDocumentURI(); assert(socket && "Must have a valid socket"); // must be trace for anonymization _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits