[Libreoffice-commits] core.git: officecfg/registry sfx2/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Sat Dec 1 02:09:04 UTC 2018
officecfg/registry/schema/org/openoffice/Office/Common.xcs | 9 +++++++
sfx2/source/doc/docfile.cxx | 15 +++++++++++++
2 files changed, 24 insertions(+)
New commits:
commit 297be63c8d1dd8f802b5216048d860c5b2661edc
Author: Katarina Behrens <Katarina.Behrens at cib.de>
AuthorDate: Tue Nov 27 15:30:24 2018 +0100
Commit: Thorsten Behrens <Thorsten.Behrens at CIB.de>
CommitDate: Sat Dec 1 03:08:36 2018 +0100
Option to turn off WebDAV file locking
Locking files on WebDAV shares was implemented in tdf#82744,
in particular:
commit 26e6d4b05ab444e6a7529ffcac7fbe592fc94833
tdf#82744: fix WebDAV lock/unlock behaviour - part 1
commit bc9a8ddbb7081f79e915c841e56fd1c40f0df6f9
tdf#82744: fix WebDAV lock/unlock behaviour - part 2
commit b4576f3da4d90139fc5140962d13cb91dab98797
tdf#82744: fix WebDAV lock/unlock behaviour - part 3
commit fed2984281a85a5a2f308841ec810f218c75f2ab
tdf#82744: fix WebDAV lock/unlock behaviour - part 4
Before that, files on WebDAV shares were accessed w/o locking since
the beginning of [OOo] time. This option allows to revert to
the old behaviour i.e. non-locking WebDAV access.
For concurrent read-write WebDAV access by multiple users it is
recommended to keep UseWebDAVFileLocking at default value (true)
Change-Id: Id92177631d4854d6c7bf412164acbd9740db9592
Reviewed-on: https://gerrit.libreoffice.org/64116
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
index 225567c53a06..6e7869bb8bf7 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
@@ -5356,6 +5356,15 @@
</info>
<value>true</value>
</prop>
+ <prop oor:name="UseWebDAVFileLocking" oor:type="xs:boolean" oor:nillable="false">
+ <info>
+ <desc>Determines if WebDAV-specific file locking is used for documents
+ on WebDAV shares. It is not recommended to set this option to 'false' in
+ scenarios where multi-user, concurrent read/write access to WebDAV share
+ is required</desc>
+ </info>
+ <value>true</value>
+ </prop>
<prop oor:name="UseDocumentOOoLockFile" oor:type="xs:boolean" oor:nillable="false">
<info>
<desc>Allows to specify whether the OOo document file locking
diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx
index 144fe50aa64c..f232cc0d2ba8 100644
--- a/sfx2/source/doc/docfile.cxx
+++ b/sfx2/source/doc/docfile.cxx
@@ -173,6 +173,11 @@ bool IsLockingUsed()
#endif
+bool IsWebDAVLockingUsed()
+{
+ return officecfg::Office::Common::Misc::UseWebDAVFileLocking::get();
+}
+
/// Gets default attributes of a file:// URL.
sal_uInt64 GetDefaultFileAttributes(const OUString& rURL)
{
@@ -1088,6 +1093,10 @@ SfxMedium::LockFileResult SfxMedium::LockOrigFileOnDemand( bool bLoading, bool b
if ( GetURLObject().isAnyKnownWebDAVScheme() )
{
+ // do nothing if WebDAV locking is disabled
+ if (!IsWebDAVLockingUsed())
+ return LockFileResult::Succeeded;
+
try
{
bool bResult = pImpl->m_bLocked;
@@ -2866,6 +2875,12 @@ void SfxMedium::UnlockFile( bool bReleaseLockStream )
// check if webdav
if ( GetURLObject().isAnyKnownWebDAVScheme() )
{
+ // do nothing if WebDAV locking if disabled
+ // (shouldn't happen because we already skipped locking,
+ // see LockOrigFileOnDemand, but just in case ...)
+ if (!IsWebDAVLockingUsed())
+ return;
+
if ( pImpl->m_bLocked )
{
// an interaction handler should be used for authentication, if needed
More information about the Libreoffice-commits
mailing list