mirror of
https://github.com/PrismLauncher/PrismLauncher
synced 2026-04-23 09:05:03 +00:00
Improve checksum mismatch logging (#5413)
This commit is contained in:
commit
af8225e2da
|
|
@ -127,9 +127,11 @@ void BaseEntityLoadTask::executeTask()
|
|||
}
|
||||
|
||||
// on online the hash needs to match
|
||||
hashMatches = m_entity->m_sha256 == m_entity->m_file_sha256;
|
||||
const auto& expected = m_entity->m_sha256;
|
||||
const auto& actual = m_entity->m_file_sha256;
|
||||
hashMatches = expected == actual;
|
||||
if (m_mode == Net::Mode::Online && !m_entity->m_sha256.isEmpty() && !hashMatches) {
|
||||
throw Exception("mismatched checksum");
|
||||
throw Exception(QString("Checksum mismatch, expected sha256: %1, got: %2").arg(expected, actual));
|
||||
}
|
||||
|
||||
// load local file
|
||||
|
|
|
|||
|
|
@ -149,7 +149,7 @@ QList<Net::NetRequest::Ptr> Library::getDownloads(const RuntimeContext& runtimeC
|
|||
if (sha1.size()) {
|
||||
auto dl = Net::ApiDownload::makeCached(url, entry, options);
|
||||
dl->addValidator(new Net::ChecksumValidator(QCryptographicHash::Sha1, sha1));
|
||||
qDebug() << "Checksummed Download for:" << rawName().serialize() << "storage:" << storage << "url:" << url;
|
||||
qDebug() << "Checksummed Download for:" << rawName().serialize() << "storage:" << storage << "url:" << url << "expected sha1:" << sha1;
|
||||
out.append(dl);
|
||||
} else {
|
||||
out.append(Net::ApiDownload::makeCached(url, entry, options));
|
||||
|
|
|
|||
|
|
@ -38,7 +38,6 @@
|
|||
#include "Validator.h"
|
||||
|
||||
#include <QCryptographicHash>
|
||||
#include <QFile>
|
||||
|
||||
namespace Net {
|
||||
class ChecksumValidator : public Validator {
|
||||
|
|
@ -69,10 +68,10 @@ class ChecksumValidator : public Validator {
|
|||
return true;
|
||||
}
|
||||
|
||||
auto validate(QNetworkReply&) -> bool override
|
||||
auto validate(QNetworkReply& reply) -> bool override
|
||||
{
|
||||
if (m_expected.size() && m_expected != hash()) {
|
||||
qWarning() << "Checksum mismatch, download is bad.";
|
||||
if (!m_expected.isEmpty() && m_expected != hash()) {
|
||||
qWarning() << "Checksum mismatch for URL:" << reply.url().toString() << "expected:" << m_expected << "got:" << hash();
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
|
|
|||
Loading…
Reference in a new issue