From: Matthieu Gallien Date: Wed, 25 Sep 2024 15:20:59 +0000 (+0200) Subject: lock token should be sent via webdav only for token lock type X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~58^2^2~167^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c77562022d05d3b3755e2155e62497e3f7b07c06;p=nextcloud-desktop.git lock token should be sent via webdav only for token lock type to be able to modify a locked file using token lock, we must sent it with webdav requests this must not be sent if the file is locked but the lock type is not a token lock Signed-off-by: Matthieu Gallien --- diff --git a/src/libsync/propagateuploadng.cpp b/src/libsync/propagateuploadng.cpp index a67225d2a..32e1192f3 100644 --- a/src/libsync/propagateuploadng.cpp +++ b/src/libsync/propagateuploadng.cpp @@ -328,7 +328,8 @@ void PropagateUploadFileNG::finishUpload() const auto fileSize = _fileToUpload._size; headers[QByteArrayLiteral("OC-Total-Length")] = QByteArray::number(fileSize); - if (_item->_locked == SyncFileItem::LockStatus::LockedItem) { + if (_item->_lockOwnerType == SyncFileItem::LockOwnerType::TokenLock && + _item->_locked == SyncFileItem::LockStatus::LockedItem) { headers[QByteArrayLiteral("If")] = (QLatin1String("<") + propagator()->account()->davUrl().toString() + _fileToUpload._file + "> (_lockToken.toUtf8() + ">)").toUtf8(); } diff --git a/src/libsync/propagateuploadv1.cpp b/src/libsync/propagateuploadv1.cpp index 7467b2ce3..6bab06305 100644 --- a/src/libsync/propagateuploadv1.cpp +++ b/src/libsync/propagateuploadv1.cpp @@ -102,7 +102,8 @@ void PropagateUploadFileV1::startNextChunk() QString path = _fileToUpload._file; - if (_item->_locked == SyncFileItem::LockStatus::LockedItem) { + if (_item->_lockOwnerType == SyncFileItem::LockOwnerType::TokenLock && + _item->_locked == SyncFileItem::LockStatus::LockedItem) { headers[QByteArrayLiteral("If")] = (QLatin1String("<") + propagator()->account()->davUrl().toString() + _fileToUpload._file + "> (_lockToken.toUtf8() + ">)").toUtf8(); }