summaryrefslogtreecommitdiffstats
path: root/installerbuilder/libinstaller/3rdparty/kdtools/kdupdaterfiledownloader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'installerbuilder/libinstaller/3rdparty/kdtools/kdupdaterfiledownloader.cpp')
-rw-r--r--installerbuilder/libinstaller/3rdparty/kdtools/kdupdaterfiledownloader.cpp212
1 files changed, 0 insertions, 212 deletions
diff --git a/installerbuilder/libinstaller/3rdparty/kdtools/kdupdaterfiledownloader.cpp b/installerbuilder/libinstaller/3rdparty/kdtools/kdupdaterfiledownloader.cpp
index 0a3fc4564..c36b78402 100644
--- a/installerbuilder/libinstaller/3rdparty/kdtools/kdupdaterfiledownloader.cpp
+++ b/installerbuilder/libinstaller/3rdparty/kdtools/kdupdaterfiledownloader.cpp
@@ -22,8 +22,6 @@
#include "kdupdaterfiledownloader_p.h"
#include "kdupdaterfiledownloaderfactory.h"
-#include "kdupdatersignatureverifier.h"
-#include "kdupdatersignatureverificationresult.h"
#include <QFile>
#include <QFtp>
@@ -1294,213 +1292,3 @@ void KDUpdater::HttpDownloader::onAuthenticationRequired(QNetworkReply *reply, Q
authenticator->setPassword(this->authenticator().password());
}
}
-
-
-// -- SignatureVerificationDownloader
-
-class SignatureVerificationDownloader::Private
-{
- SignatureVerificationDownloader *const q;
-public:
- explicit Private(FileDownloader *dl, SignatureVerificationDownloader *qq)
- : q(qq)
- , verifier(0)
- , downloader(dl)
- , sigDownloader(0)
- , actualDownloadDone(false)
- {
- Q_ASSERT(downloader);
- q->connect(downloader, SIGNAL(downloadProgress(double)), q, SIGNAL(downloadProgress(double)));
- q->connect(downloader, SIGNAL(downloadStarted()), q, SLOT(dataDownloadStarted()));
- q->connect(downloader, SIGNAL(downloadCompleted()), q, SLOT(dataDownloadCompleted()));
- q->connect(downloader, SIGNAL(downloadCanceled()), q, SLOT(dataDownloadCanceled()));
- q->connect(downloader, SIGNAL(downloadAborted(QString)), q, SLOT(dataDownloadAborted(QString)));
- }
-
- ~Private()
- {
- delete verifier;
- delete downloader;
- delete sigDownloader;
- }
-
- const SignatureVerifier *verifier;
- FileDownloader *downloader;
- FileDownloader *sigDownloader;
- QUrl signatureUrl;
- SignatureVerificationResult result;
- QString downloadedFileName;
- bool actualDownloadDone : 1;
-};
-
-SignatureVerificationDownloader::SignatureVerificationDownloader(FileDownloader *downloader, QObject *parent)
- : FileDownloader(downloader->scheme(), parent)
- , d(new Private(downloader, this))
-{
-}
-
-SignatureVerificationDownloader::~SignatureVerificationDownloader()
-{
- delete d;
-}
-
-QUrl SignatureVerificationDownloader::signatureUrl() const
-{
- return d->signatureUrl;
-}
-
-void SignatureVerificationDownloader::setSignatureUrl(const QUrl &url)
-{
- d->signatureUrl = url;
-}
-
-const SignatureVerifier* SignatureVerificationDownloader::signatureVerifier() const
-{
- return d->verifier;
-}
-
-void SignatureVerificationDownloader::setSignatureVerifier(const SignatureVerifier *verifier)
-{
- delete d->verifier;
- d->verifier = verifier ? verifier->clone() : 0;
-}
-
-SignatureVerificationResult SignatureVerificationDownloader::result() const
-{
- return d->result;
-}
-
-bool SignatureVerificationDownloader::canDownload() const
-{
- return d->downloader->canDownload();
-}
-
-bool SignatureVerificationDownloader::isDownloaded() const
-{
- return d->downloader->isDownloaded();
-}
-
-QString SignatureVerificationDownloader::downloadedFileName() const
-{
- return d->downloadedFileName;
-}
-
-void SignatureVerificationDownloader::setDownloadedFileName(const QString &/*name*/)
-{
- Q_ASSERT_X(false, "SignatureVerificationDownloader::setDownloadedFileName", "Not supported!");
-}
-
-FileDownloader *SignatureVerificationDownloader::clone(QObject *parent) const
-{
- return new SignatureVerificationDownloader(d->downloader->clone(), parent);
-}
-
-void SignatureVerificationDownloader::onError()
-{
- delete d->sigDownloader;
- d->sigDownloader = 0;
- if (QFile::exists(d->downloadedFileName))
- QFile::remove(d->downloadedFileName);
-}
-
-void SignatureVerificationDownloader::onSuccess()
-{
- delete d->sigDownloader;
- d->sigDownloader = 0;
-}
-
-void SignatureVerificationDownloader::cancelDownload()
-{
- if (!d->actualDownloadDone) {
- d->downloader->cancelDownload();
- return;
- }
-
- if (d->sigDownloader)
- d->sigDownloader->cancelDownload();
-}
-
-void SignatureVerificationDownloader::doDownload()
-{
- Q_ASSERT(d->verifier);
- Q_ASSERT(d->downloader);
- d->downloader->setUrl(url());
- d->downloader->setSha1Sum(sha1Sum());
- d->downloader->download();
-}
-
-void SignatureVerificationDownloader::dataDownloadStarted()
-{
- emit downloadStarted();
-}
-
-void SignatureVerificationDownloader::dataDownloadAborted(const QString &err)
-{
- setDownloadAborted(err);
-}
-
-void SignatureVerificationDownloader::dataDownloadCanceled()
-{
- setDownloadCanceled();
-}
-
-static QUrl suggestSignatureUrl(const QUrl &url)
-{
- return url.toString() + QLatin1String(".sig");
-}
-
-void SignatureVerificationDownloader::dataDownloadCompleted()
-{
- d->downloadedFileName = d->downloader->downloadedFileName();
- d->actualDownloadDone = true;
-
- QUrl url = d->signatureUrl;
- if (url.isEmpty())
- url = suggestSignatureUrl(d->downloader->url());
- delete d->sigDownloader;
- d->sigDownloader = FileDownloaderFactory::instance().create(url.scheme(), this);
- if (!d->sigDownloader) {
- setDownloadAborted(tr("Could not download signature: scheme %1 not supported.").arg(url.scheme()));
- return;
- }
- d->sigDownloader->setUrl(url);
- connect(d->sigDownloader, SIGNAL(downloadCompleted()), this, SLOT(signatureDownloadCompleted()));
- connect(d->sigDownloader, SIGNAL(downloadCanceled()), this, SLOT(signatureDownloadCanceled()));
- connect(d->sigDownloader, SIGNAL(downloadAborted(QString)), this,
- SLOT(signatureDownloadAborted(QString)));
- d->sigDownloader->download();
-}
-
-void SignatureVerificationDownloader::signatureDownloadAborted(const QString &err)
-{
- setDownloadAborted(tr("Downloading signature: %1").arg(err));
-}
-
-void SignatureVerificationDownloader::signatureDownloadCanceled()
-{
- setDownloadCanceled();
-}
-
-void SignatureVerificationDownloader::signatureDownloadCompleted()
-{
- QFile sigFile(d->sigDownloader->downloadedFileName());
- if (!sigFile.open(QIODevice::ReadOnly)) {
- setDownloadAborted(tr("Could not open signature file: %1").arg(sigFile.errorString()));
- return;
- }
-
- QFile dataFile(d->downloadedFileName);
- if (!dataFile.open(QIODevice::ReadOnly)) {
- setDownloadAborted(tr("Could not open file for verification: %1").arg(dataFile.errorString()));
- return;
- }
-
- const QByteArray signature = sigFile.readAll();
- const QByteArray dataHash = calculateHash(&dataFile, QCryptographicHash::Sha1);
- d->result = d->verifier->verify(dataHash, signature);
- if (! d->result.isValid()) {
- setDownloadAborted(d->result.errorString());
- return;
- }
- setDownloadCompleted(d->downloadedFileName);
-}