From: Christian Kamm Date: Wed, 28 Oct 2015 13:22:29 +0000 (+0100) Subject: Checksum: Fixes after review X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~1478^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=566131209d1e5ed1eeb17fca382552662a770466;p=nextcloud-desktop.git Checksum: Fixes after review --- diff --git a/src/libsync/capabilities.cpp b/src/libsync/capabilities.cpp index 81f8d9846..202be4937 100644 --- a/src/libsync/capabilities.cpp +++ b/src/libsync/capabilities.cpp @@ -65,14 +65,14 @@ bool Capabilities::shareResharing() const return _capabilities["files_sharing"].toMap()["resharing"].toBool(); } -QList Capabilities::supportedChecksumTypesRaw() const +QList Capabilities::supportedChecksumTypesAdvertised() const { return QList(); } QList Capabilities::supportedChecksumTypes() const { - auto list = supportedChecksumTypesRaw(); + auto list = supportedChecksumTypesAdvertised(); QByteArray cfgType = ConfigFile().transmissionChecksum().toLatin1(); if (!cfgType.isEmpty()) { list.prepend(cfgType); diff --git a/src/libsync/capabilities.h b/src/libsync/capabilities.h index 7f0984cc2..963c4cb53 100644 --- a/src/libsync/capabilities.h +++ b/src/libsync/capabilities.h @@ -41,7 +41,7 @@ public: bool shareResharing() const; /// Returns the checksum types the server explicitly advertises - QList supportedChecksumTypesRaw() const; + QList supportedChecksumTypesAdvertised() const; /// Like supportedChecksumTypesRaw(), but includes the type from the config QList supportedChecksumTypes() const; diff --git a/src/libsync/propagateupload.cpp b/src/libsync/propagateupload.cpp index 10724a417..eb509a21c 100644 --- a/src/libsync/propagateupload.cpp +++ b/src/libsync/propagateupload.cpp @@ -213,6 +213,10 @@ void PropagateUploadFileQNAM::start() // If we already have a checksum header and the checksum type is supported // by the server, we keep that - otherwise recompute. + // + // Note: Currently we *always* recompute because we usually only upload + // files that have changed and thus have a new checksum. But if an earlier + // phase computed a checksum, this is where we would make use of it. if (!_item->_transmissionChecksumType.isEmpty()) { if (supportedChecksumTypes.contains(_item->_transmissionChecksumType)) { // TODO: We could validate the old checksum and thereby determine whether