summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/metadatajob.cpp
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@digia.com>2014-06-18 10:53:31 +0200
committerTim Jenssen <tim.jenssen@digia.com>2014-06-18 10:54:35 +0200
commit8280712df738ea8e47cfbe14b491df32a162bf66 (patch)
tree144acee3e954e60bb1abb1c4d88f360f8440b2a2 /src/libs/installer/metadatajob.cpp
parentb707ec04c971c5972967d22f2bc95f9b3fbfb7da (diff)
parentf586369bd5b0a876a148c203b0243a8378b45482 (diff)
Merge remote-tracking branch 'origin/1.6'
Diffstat (limited to 'src/libs/installer/metadatajob.cpp')
-rw-r--r--src/libs/installer/metadatajob.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libs/installer/metadatajob.cpp b/src/libs/installer/metadatajob.cpp
index 67e163bef..de651af4b 100644
--- a/src/libs/installer/metadatajob.cpp
+++ b/src/libs/installer/metadatajob.cpp
@@ -280,7 +280,12 @@ MetadataJob::Status MetadataJob::parseUpdatesXml(const QList<FileTaskResult> &re
metadata.repository = item.value(TaskRole::UserRole).value<Repository>();
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();
@@ -292,7 +297,7 @@ MetadataJob::Status MetadataJob::parseUpdatesXml(const QList<FileTaskResult> &re
packageName = c2.at(j).toElement().text();
else if (c2.at(j).toElement().tagName() == scRemoteVersion)
packageVersion = (online ? c2.at(j).toElement().text() : QString());
- 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();
}