[Libreoffice-commits] online.git: Branch 'distro/collabora/collabora-online-3' - 4 commits - configure.ac debian/changelog debian/control loleaflet/dist loleaflet/src loolwsd.spec.in test/UnitWOPISaveAs.cpp test/WopiTestServer.hpp wsd/ClientSession.cpp

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Thu Mar 28 11:30:46 UTC 2019


 configure.ac                          |    2 +-
 debian/changelog                      |    6 ++++++
 debian/control                        |    2 +-
 loleaflet/dist/toolbar/toolbar.js     |    4 +++-
 loleaflet/src/layer/tile/TileLayer.js |    2 ++
 loolwsd.spec.in                       |    2 +-
 test/UnitWOPISaveAs.cpp               |   10 ++++++----
 test/WopiTestServer.hpp               |    2 +-
 wsd/ClientSession.cpp                 |   14 +++++++++-----
 9 files changed, 30 insertions(+), 14 deletions(-)

New commits:
commit 6931f9b2771d0fd58085ddf11a5c05baa59936d5
Author:     Andras Timar <andras.timar at collabora.com>
AuthorDate: Thu Mar 28 11:13:16 2019 +0100
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Mar 28 12:30:03 2019 +0100

    Bump package version to 3.4.4-1 and updated dependencies
    
    Change-Id: I752a862aff6b6c01108b9f11b78d018a669ea293

diff --git a/configure.ac b/configure.ac
index b1f54a955..6bed901c3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@
 
 AC_PREREQ([2.63])
 
-AC_INIT([loolwsd], [3.4.3], [libreoffice at lists.freedesktop.org])
+AC_INIT([loolwsd], [3.4.4], [libreoffice at lists.freedesktop.org])
 LT_INIT([shared, disable-static, dlopen])
 
 AM_INIT_AUTOMAKE([1.10 subdir-objects tar-pax -Wno-portability])
diff --git a/debian/changelog b/debian/changelog
index aad29b23a..e324af6e7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+loolwsd (3.4.4-1) unstable; urgency=medium
+
+  * see the git log: http://col.la/cool3
+
+ -- Andras Timar <andras.timar at collabora.com>  Thu, 28 Mar 2019 10:30:00 +0100
+
 loolwsd (3.4.3-1) unstable; urgency=medium
 
   * see the git log: http://col.la/cool3
diff --git a/debian/control b/debian/control
index 00c38b69d..e814c92a8 100644
--- a/debian/control
+++ b/debian/control
@@ -8,7 +8,7 @@ Standards-Version: 3.9.7
 Package: loolwsd
 Section: web
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, libsm6, libxinerama1, libxrender1, libgl1-mesa-glx, libcups2, libxcb-render0, libxcb-shm0, locales-all, adduser, expat, fontconfig, cpio, libcap2-bin, collaboraofficebasis5.3-calc (>= 5.3.10.62), collaboraofficebasis5.3-core (>= 5.3.10.62), collaboraofficebasis5.3-graphicfilter (>= 5.3.10.62), collaboraofficebasis5.3-images (>= 5.3.10.62), collaboraofficebasis5.3-impress (>= 5.3.10.62), collaboraofficebasis5.3-ooofonts (>= 5.3.10.62), collaboraofficebasis5.3-writer (>= 5.3.10.62), collaboraoffice5.3 (>= 5.3.10.62), collaboraoffice5.3-ure (>= 5.3.10.62), collaboraofficebasis5.3-en-us (>= 5.3.10.62), collaboraofficebasis5.3-en-us-calc (>= 5.3.10.62), collaboraofficebasis5.3-en-us-res (>= 5.3.10.62), collaboraofficebasis5.3-noto-fonts (>= 5.3.10.62), collaboraofficebasis5.3-draw (>= 5.3.10.62), collaboraofficebasis5.3-extension-pdf-import (>= 5.3.10.62), collaboraofficebasis5.3-filter-data (>= 5.3.10.62), collaboraofficebasis5.3-ooolinguisti
 c (>= 5.3.10.62), collaboraoffice5.3-dict-en (>= 5.3.10.62)
+Depends: ${shlibs:Depends}, ${misc:Depends}, libsm6, libxinerama1, libxrender1, libgl1-mesa-glx, libcups2, libxcb-render0, libxcb-shm0, locales-all, adduser, expat, fontconfig, cpio, libcap2-bin, collaboraofficebasis5.3-calc (>= 5.3.10.64), collaboraofficebasis5.3-core (>= 5.3.10.64), collaboraofficebasis5.3-graphicfilter (>= 5.3.10.64), collaboraofficebasis5.3-images (>= 5.3.10.64), collaboraofficebasis5.3-impress (>= 5.3.10.64), collaboraofficebasis5.3-ooofonts (>= 5.3.10.64), collaboraofficebasis5.3-writer (>= 5.3.10.64), collaboraoffice5.3 (>= 5.3.10.64), collaboraoffice5.3-ure (>= 5.3.10.64), collaboraofficebasis5.3-en-us (>= 5.3.10.64), collaboraofficebasis5.3-en-us-calc (>= 5.3.10.64), collaboraofficebasis5.3-en-us-res (>= 5.3.10.64), collaboraofficebasis5.3-noto-fonts (>= 5.3.10.64), collaboraofficebasis5.3-draw (>= 5.3.10.64), collaboraofficebasis5.3-extension-pdf-import (>= 5.3.10.64), collaboraofficebasis5.3-filter-data (>= 5.3.10.64), collaboraofficebasis5.3-ooolinguisti
 c (>= 5.3.10.64), collaboraoffice5.3-dict-en (>= 5.3.10.64)
 Conflicts: collaboraofficebasis5.3-gnome-integration, collaboraofficebasis5.3-kde-integration
 Description: LibreOffice Online WebSocket Daemon
  LOOLWSD is a daemon that talks to web browser clients and provides LibreOffice
diff --git a/loolwsd.spec.in b/loolwsd.spec.in
index a02960c11..4134620e5 100644
--- a/loolwsd.spec.in
+++ b/loolwsd.spec.in
@@ -38,7 +38,7 @@ BuildRequires:  libcap-progs linux-glibc-devel systemd-rpm-macros
 BuildRequires:  libcap-progs
 %endif
 
-Requires:       collaboraoffice5.3 >= 5.3.10.62 collaboraoffice5.3-ure >= 5.3.10.62 collaboraofficebasis5.3-core >= 5.3.10.62 collaboraofficebasis5.3-writer >= 5.3.10.62 collaboraofficebasis5.3-impress >= 5.3.10.62 collaboraofficebasis5.3-graphicfilter >= 5.3.10.62 collaboraofficebasis5.3-en-US >= 5.3.10.62 collaboraofficebasis5.3-calc >= 5.3.10.62 collaboraofficebasis5.3-en-US-res >= 5.3.10.62 collaboraofficebasis5.3-en-US-calc >= 5.3.10.62 collaboraofficebasis5.3-ooofonts >= 5.3.10.62 collaboraofficebasis5.3-images >= 5.3.10.62 collaboraofficebasis5.3-noto-fonts >= 5.3.10.62 collaboraofficebasis5.3-draw >= 5.3.10.62 collaboraofficebasis5.3-extension-pdf-import >= 5.3.10.62 collaboraofficebasis5.3-filter-data >= 5.3.10.62 collaboraofficebasis5.3-ooolinguistic >= 5.3.10.62
+Requires:       collaboraoffice5.3 >= 5.3.10.64 collaboraoffice5.3-ure >= 5.3.10.64 collaboraofficebasis5.3-core >= 5.3.10.64 collaboraofficebasis5.3-writer >= 5.3.10.64 collaboraofficebasis5.3-impress >= 5.3.10.64 collaboraofficebasis5.3-graphicfilter >= 5.3.10.64 collaboraofficebasis5.3-en-US >= 5.3.10.64 collaboraofficebasis5.3-calc >= 5.3.10.64 collaboraofficebasis5.3-en-US-res >= 5.3.10.64 collaboraofficebasis5.3-en-US-calc >= 5.3.10.64 collaboraofficebasis5.3-ooofonts >= 5.3.10.64 collaboraofficebasis5.3-images >= 5.3.10.64 collaboraofficebasis5.3-noto-fonts >= 5.3.10.64 collaboraofficebasis5.3-draw >= 5.3.10.64 collaboraofficebasis5.3-extension-pdf-import >= 5.3.10.64 collaboraofficebasis5.3-filter-data >= 5.3.10.64 collaboraofficebasis5.3-ooolinguistic >= 5.3.10.64
 Conflicts:      collaboraofficebasis5.3-kde-integration collaboraofficebasis5.3-gnome-integration
 Requires(post): coreutils grep sed
 %if 0%{?rhel} == 6
commit ac3553ef227da8009c31a035738a2e2e167df917
Author:     Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Thu Mar 28 12:29:09 2019 +0100
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Mar 28 12:30:03 2019 +0100

    Block executing JS code from links
    
    Example: hyperlink with target "javascript:alert(document.domain)"
    After user clicked the link alert was shown.
    
    Change-Id: Id9fe06015b45f37ae415f8e3607434d984a6074f

diff --git a/loleaflet/dist/toolbar/toolbar.js b/loleaflet/dist/toolbar/toolbar.js
index 48157a8f8..06cfa9dfa 100644
--- a/loleaflet/dist/toolbar/toolbar.js
+++ b/loleaflet/dist/toolbar/toolbar.js
@@ -1521,7 +1521,9 @@ map.on('zoomend', function () {
 });
 
 map.on('hyperlinkclicked', function (e) {
-	window.open(e.url, '_blank');
+	if (!e.url.startsWith('javascript:')) {
+		window.open(e.url, '_blank');
+	}
 });
 
 map.on('updatepermission', function (e) {
commit 830e054b7cd8806321b244b73b8dcc7a8047c78b
Author:     Eduard Ardeleanu <eduard-andrei.ardeleanu at 1and1.ro>
AuthorDate: Tue Mar 19 16:00:38 2019 +0200
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Mar 28 11:08:35 2019 +0100

    fix: saveAs breaks when '%' character is used within the filename
    
    Change-Id: I2df059abd67be88acae8bd44ae2c74be7778a595
    Reviewed-on: https://gerrit.libreoffice.org/69424
    Reviewed-by: Jan Holesovsky <kendy at collabora.com>
    Tested-by: Jan Holesovsky <kendy at collabora.com>
    (cherry picked from commit 1926bee07e1c8c7a452fc0bd59235d6a6e540271)

diff --git a/test/UnitWOPISaveAs.cpp b/test/UnitWOPISaveAs.cpp
index 578ec37f8..2b1f97ea2 100644
--- a/test/UnitWOPISaveAs.cpp
+++ b/test/UnitWOPISaveAs.cpp
@@ -34,7 +34,7 @@ public:
     void assertPutRelativeFileRequest(const Poco::Net::HTTPRequest& request) override
     {
         // spec says UTF-7...
-        CPPUNIT_ASSERT_EQUAL(std::string("/jan/hole+AWE-ovsk+AP0-/hello world.pdf"), request.get("X-WOPI-SuggestedTarget"));
+        CPPUNIT_ASSERT_EQUAL(std::string("/jan/hole+AWE-ovsk+AP0-/hello world+ACU-1.pdf"), request.get("X-WOPI-SuggestedTarget"));
 
         // make sure it is a pdf - or at least that it is larger than what it
         // used to be
@@ -43,8 +43,10 @@ public:
 
     bool filterSendMessage(const char* data, const size_t len, const WSOpCode /* code */, const bool /* flush */, int& /*unitReturn*/) override
     {
-        std::string message(data, len);
-        if (message == "saveas: url=" + helpers::getTestServerURI() + "/something%20wopi/files/1?access_token=anything filename=hello%20world.pdf")
+        const std::string message(data, len);
+
+        const std::string expected("saveas: url=" + helpers::getTestServerURI() + "/something%20wopi/files/1?access_token=anything filename=hello%20world%251.pdf");
+        if (message.find(expected) == 0)
         {
             // successfully exit the test if we also got the outgoing message
             // notifying about saving the file
@@ -65,7 +67,7 @@ public:
                 initWebsocket("/wopi/files/0?access_token=anything");
 
                 helpers::sendTextFrame(*_ws->getLOOLWebSocket(), "load url=" + _wopiSrc, testName);
-                helpers::sendTextFrame(*_ws->getLOOLWebSocket(), "saveas url=wopi:///jan/hole%C5%A1ovsk%C3%BD/hello%20world.pdf", testName);
+                helpers::sendTextFrame(*_ws->getLOOLWebSocket(), "saveas url=wopi:///jan/hole%C5%A1ovsk%C3%BD/hello%20world%251.pdf", testName);
                 SocketPoll::wakeupWorld();
 
                 _phase = Phase::Polling;
diff --git a/test/WopiTestServer.hpp b/test/WopiTestServer.hpp
index 9cac05987..65a4fb9c1 100644
--- a/test/WopiTestServer.hpp
+++ b/test/WopiTestServer.hpp
@@ -167,7 +167,7 @@ protected:
             assertPutRelativeFileRequest(request);
 
             std::string wopiURL = helpers::getTestServerURI() + "/something wopi/files/1?access_token=anything";
-            std::string content = "{ \"Name\":\"hello world.pdf\", \"Url\":\"" + wopiURL + "\" }";
+            std::string content = "{ \"Name\":\"hello world%1.pdf\", \"Url\":\"" + wopiURL + "\" }";
 
             std::ostringstream oss;
             oss << "HTTP/1.1 200 OK\r\n"
diff --git a/wsd/ClientSession.cpp b/wsd/ClientSession.cpp
index 864863288..2eee1f797 100644
--- a/wsd/ClientSession.cpp
+++ b/wsd/ClientSession.cpp
@@ -779,12 +779,12 @@ bool ClientSession::handleKitToClientMessage(const char* buffer, const int lengt
             return false;
         }
 
-        std::string url, wopiFilename;
-        Poco::URI::decode(encodedURL, url);
+        // Save-as completed, inform the ClientSession.
+        std::string wopiFilename;
         Poco::URI::decode(encodedWopiFilename, wopiFilename);
 
-        // Save-as completed, inform the ClientSession.
-        Poco::URI resultURL(url);
+        // URI constructor implicitly decodes when it gets std::string as param
+        Poco::URI resultURL(encodedURL);
         if (resultURL.getScheme() == "file")
         {
             std::string relative(resultURL.getPath());
@@ -795,7 +795,11 @@ bool ClientSession::handleKitToClientMessage(const char* buffer, const int lengt
             const Path path(docBroker->getJailRoot(), relative);
             if (Poco::File(path).exists())
             {
-                resultURL.setPath(path.toString());
+                // Encode path for special characters (i.e '%') since Poco::URI::setPath implicitly decodes the input param
+                std::string encodedPath;
+                Poco::URI::encode(path.toString(), "", encodedPath);
+
+                resultURL.setPath(encodedPath);
             }
             else
             {
commit 0050989ae4f69df82997a965a63341d8a1b69610
Author:     Szymon Kłos <eszkadev at gmail.com>
AuthorDate: Mon Mar 11 15:57:24 2019 +0100
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Mar 28 11:05:30 2019 +0100

    Always show cursor header
    
    (cherry picked from commit 6c3db87af104fda1c985d807cba1f660fa7d862f)

diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js
index 106a16503..c0accaba8 100644
--- a/loleaflet/src/layer/tile/TileLayer.js
+++ b/loleaflet/src/layer/tile/TileLayer.js
@@ -1539,6 +1539,8 @@ L.TileLayer = L.GridLayer.extend({
 		else if (viewCursorMarker) {
 			this._viewLayerGroup.removeLayer(viewCursorMarker);
 		}
+
+		this._viewCursors[viewId].marker.showCursorHeader();
 	},
 
 	updateAllViewCursors : function() {


More information about the Libreoffice-commits mailing list