From b6ca05f9a0c34d500bd46de20548f14e797252ee Mon Sep 17 00:00:00 2001 From: Lukas Reschke Date: Tue, 26 Jan 2016 17:31:01 +0100 Subject: [PATCH] Add fake locking support for OneNote 2013 Fixes https://github.com/owncloud/core/issues/21925 --- apps/dav/lib/connector/sabre/serverfactory.php | 9 ++++++--- apps/dav/lib/server.php | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/apps/dav/lib/connector/sabre/serverfactory.php b/apps/dav/lib/connector/sabre/serverfactory.php index 92038c1872..ee782f79a8 100644 --- a/apps/dav/lib/connector/sabre/serverfactory.php +++ b/apps/dav/lib/connector/sabre/serverfactory.php @@ -103,9 +103,12 @@ class ServerFactory { $server->addPlugin(new \OCA\DAV\Connector\Sabre\DummyGetResponsePlugin()); $server->addPlugin(new \OCA\DAV\Connector\Sabre\ExceptionLoggerPlugin('webdav', $this->logger)); $server->addPlugin(new \OCA\DAV\Connector\Sabre\LockPlugin()); - // Finder on OS X requires Class 2 WebDAV support (locking), since we do - // not provide locking we emulate it using a fake locking plugin. - if($this->request->isUserAgent(['/WebDAVFS/'])) { + // Some WebDAV clients do require Class 2 WebDAV support (locking), since + // we do not provide locking we emulate it using a fake locking plugin. + if($this->request->isUserAgent([ + '/WebDAVFS/', + '/Microsoft Office OneNote 2013/', + ])) { $server->addPlugin(new \OCA\DAV\Connector\Sabre\FakeLockerPlugin()); } diff --git a/apps/dav/lib/server.php b/apps/dav/lib/server.php index a0ba9c1aa9..7519a631d5 100644 --- a/apps/dav/lib/server.php +++ b/apps/dav/lib/server.php @@ -96,9 +96,12 @@ class Server { \OC::$server->getUserSession() )); - // Finder on OS X requires Class 2 WebDAV support (locking), since we do - // not provide locking we emulate it using a fake locking plugin. - if($request->isUserAgent(['/WebDAVFS/'])) { + // Some WebDAV clients do require Class 2 WebDAV support (locking), since + // we do not provide locking we emulate it using a fake locking plugin. + if($request->isUserAgent([ + '/WebDAVFS/', + '/Microsoft Office OneNote 2013/', + ])) { $this->server->addPlugin(new \OCA\DAV\Connector\Sabre\FakeLockerPlugin()); }