Checksum: Add env variables to disable #3735
authorChristian Kamm <mail@ckamm.de>
Thu, 15 Oct 2015 07:39:49 +0000 (09:39 +0200)
committerChristian Kamm <mail@ckamm.de>
Wed, 28 Oct 2015 08:56:39 +0000 (09:56 +0100)
src/libsync/propagatedownload.cpp
src/libsync/propagateupload.cpp
src/libsync/transmissionchecksumvalidator.cpp
src/libsync/transmissionchecksumvalidator.h

index 5fd94da6695f126693c576ccba0163a86dcfeb69..1f0a1b7b20dd974fd0eb77b56f44dd042715d4ec 100644 (file)
@@ -537,7 +537,11 @@ void PropagateDownloadFileQNAM::slotGetFinished()
     ValidateChecksumHeader *validator = new ValidateChecksumHeader(this);
     connect(validator, SIGNAL(validated(QByteArray)), this, SLOT(downloadFinished(QByteArray)));
     connect(validator, SIGNAL(validationFailed(QString)), this, SLOT(slotChecksumFail(QString)));
-    validator->start(_tmpFile.fileName(), job->reply()->rawHeader(checkSumHeaderC));
+    auto checksumHeader = job->reply()->rawHeader(checkSumHeaderC);
+    if (!downloadChecksumEnabled()) {
+        checksumHeader.clear();
+    }
+    validator->start(_tmpFile.fileName(), checksumHeader);
 }
 
 void PropagateDownloadFileQNAM::slotChecksumFail( const QString& errMsg )
index c2b073082be657cd8a03a4bf364c61ff1ea4dc48..a745d467534b1c52a4b174b7bf4a814eb83c6504 100644 (file)
@@ -237,6 +237,9 @@ void PropagateUploadFileQNAM::start()
             computeChecksum->setChecksumType(supportedChecksumTypes.first());
         }
     }
+    if (!uploadChecksumEnabled()) {
+        computeChecksum->setChecksumType(QByteArray());
+    }
 
     connect(computeChecksum, SIGNAL(done(QByteArray,QByteArray)),
             SLOT(slotStartUpload(QByteArray,QByteArray)));
index b598149c237561d4033c2bd0a8b2a58d39705ee0..21653fc51802f8afdec792d190969b3f882b5b77 100644 (file)
@@ -49,6 +49,18 @@ bool parseChecksumHeader(const QByteArray& header, QByteArray* type, QByteArray*
     return true;
 }
 
+bool uploadChecksumEnabled()
+{
+    static bool enabled = qgetenv("OWNCLOUD_DISABLE_CHECKSUM_UPLOAD").isEmpty();
+    return enabled;
+}
+
+bool downloadChecksumEnabled()
+{
+    static bool enabled = qgetenv("OWNCLOUD_DISABLE_CHECKSUM_DOWNLOAD").isEmpty();
+    return enabled;
+}
+
 ComputeChecksum::ComputeChecksum(QObject* parent)
     : QObject(parent)
 {
index ef1792d81b06d72189a2763a17ded0e666aaf764..b8f10223f36ca2137ecb08228e90dd4d7114c2df 100644 (file)
@@ -29,6 +29,12 @@ QByteArray makeChecksumHeader(const QByteArray& checksumType, const QByteArray&
 /// Parses a checksum header
 bool parseChecksumHeader(const QByteArray& header, QByteArray* type, QByteArray* checksum);
 
+/// Checks OWNCLOUD_DISABLE_CHECKSUM_UPLOAD
+bool uploadChecksumEnabled();
+
+/// Checks OWNCLOUD_DISABLE_CHECKSUM_DOWNLOAD
+bool downloadChecksumEnabled();
+
 /**
  * Computes the checksum of a file.
  * \ingroup libsync