From 451eee7a2ee9f3732ac2113cf560f0e1770236fd Mon Sep 17 00:00:00 2001 From: kh1 Date: Wed, 4 Jun 2014 15:04:11 +0200 Subject: Make sure we honor the updates xml checksum flag. Change-Id: I1fb7aec13c86c1018298d25d186f200c48d1d59e Reviewed-by: Niels Weber Reviewed-by: Kai Koehne --- src/libs/installer/metadatajob.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/libs/installer/metadatajob.cpp b/src/libs/installer/metadatajob.cpp index 79c7c7b05..80f0b134c 100644 --- a/src/libs/installer/metadatajob.cpp +++ b/src/libs/installer/metadatajob.cpp @@ -273,7 +273,12 @@ MetadataJob::Status MetadataJob::parseUpdatesXml(const QList &re metadata.repository = item.value(TaskRole::UserRole).value(); const bool online = !(metadata.repository.url().scheme()).isEmpty(); + bool testCheckSum = true; const QDomElement root = doc.documentElement(); + const QDomNode checksum = root.firstChildElement(QLatin1String("Checksum")); + if (!checksum.isNull()) + testCheckSum = (checksum.toElement().text().toLower() == scTrue); + QDomNodeList children = root.childNodes(); for (int i = 0; i < children.count(); ++i) { const QDomElement el = children.at(i).toElement(); @@ -285,7 +290,7 @@ MetadataJob::Status MetadataJob::parseUpdatesXml(const QList &re packageName = c2.at(j).toElement().text(); else if (c2.at(j).toElement().tagName() == scRemoteVersion) packageVersion = c2.at(j).toElement().text(); - else if (c2.at(j).toElement().tagName() == QLatin1String("SHA1")) + else if ((c2.at(j).toElement().tagName() == QLatin1String("SHA1")) && testCheckSum) packageHash = c2.at(j).toElement().text(); } const QString repoUrl = metadata.repository.url().toString(); -- cgit v1.2.3