Date: prev next · Thread: first prev next last
2013 Archives by date, by thread · List index


Hi,

I have submitted a patch for review:

    https://gerrit.libreoffice.org/4019

To pull it, you can do:

    git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/19/4019/1

rhbz#961460: Don't needlessly pass URLs through INetURLObject

The WebDAV UCP uses https/davs URLs that may contain a userinfo (cf. RFC 3986)
part, and INetURLObject does not support that (in accordance with RFCs 2818 and
2616) and thus creates an empty INET_PROT_NOT_VALID INetURLObject for such a
URL, leading to failure when trying to save a document to such a URL.
(Regression introduced with 966d20e35d5a2be2fce6c204af5c156c3ead7063 "CMIS ucp:
write documents back to CMIS server.")

Change-Id: Ifd396852b211cab1d29575da7fccb32306479f93
(cherry picked from commit 3f5c45b70864af95a6362acf4684fb57eb85e348)
---
M sfx2/source/doc/docfile.cxx
1 file changed, 7 insertions(+), 8 deletions(-)



diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx
index 3ce8ab7..d08f3fc 100644
--- a/sfx2/source/doc/docfile.cxx
+++ b/sfx2/source/doc/docfile.cxx
@@ -1936,6 +1936,7 @@
 
             ::ucbhelper::Content aDestContent;
             ::ucbhelper::Content::create( aDestURL, xComEnv, 
comphelper::getProcessComponentContext(), aDestContent );
+            // For checkin, we need the object URL, not the parent folder:
             if ( !IsInCheckIn( ) )
             {
                 // Get the parent URL from the XChild if possible: why would the URL necessarily 
have
@@ -1951,13 +1952,11 @@
                     }
                 }
 
-                if ( !sParentUrl.isEmpty() )
-                    aDest = INetURLObject( sParentUrl );
-            }
-            else
-            {
-                // For checkin, we need the object URL, not the parent folder
-                aDest = INetURLObject( aDestURL );
+                if ( sParentUrl.isEmpty() )
+                    aDestURL = aDest.GetMainURL( INetURLObject::NO_DECODE );
+                        // adjust to above aDest.removeSegment()
+                else
+                    aDestURL = sParentUrl;
             }
 
             // LongName wasn't defined anywhere, only used here... get the Title instead
@@ -1970,7 +1969,7 @@
 
             try
             {
-                aTransferContent = ::ucbhelper::Content( aDest.GetMainURL( 
INetURLObject::NO_DECODE ), xComEnv, comphelper::getProcessComponentContext() );
+                aTransferContent = ::ucbhelper::Content( aDestURL, xComEnv, 
comphelper::getProcessComponentContext() );
             }
             catch (const ::com::sun::star::ucb::ContentCreationException& ex)
             {

-- 
To view, visit https://gerrit.libreoffice.org/4019
To unsubscribe, visit https://gerrit.libreoffice.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifd396852b211cab1d29575da7fccb32306479f93
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: libreoffice-4-0
Gerrit-Owner: Stephan Bergmann <sbergman@redhat.com>


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.