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 )
computeChecksum->setChecksumType(supportedChecksumTypes.first());
}
}
+ if (!uploadChecksumEnabled()) {
+ computeChecksum->setChecksumType(QByteArray());
+ }
connect(computeChecksum, SIGNAL(done(QByteArray,QByteArray)),
SLOT(slotStartUpload(QByteArray,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)
{
/// 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