From c753939fd74845c1756197886f79bf2e9b3c293b Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Thu, 2 Jan 2014 09:15:36 +0100 Subject: [PATCH] Some cleanups, titles for RDF now HTML escaped. --- src/core/networkfactory.cpp | 3 ++- src/core/parsingfactory.cpp | 4 ++-- src/core/silentnetworkaccessmanager.cpp | 11 ++++++++--- src/core/textfactory.cpp | 6 ++++-- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/core/networkfactory.cpp b/src/core/networkfactory.cpp index e4922e150..c781b63eb 100644 --- a/src/core/networkfactory.cpp +++ b/src/core/networkfactory.cpp @@ -78,8 +78,9 @@ QNetworkReply::NetworkError NetworkFactory::downloadFile(const QString &url, QNetworkReply::NetworkError reply_error = reply->error(); - qDebug("File '%s' fetched with status %d.", + qDebug("File '%s' fetched with status '%s' (code %d).", qPrintable(url), + qPrintable(reply->errorString()), reply_error); // Delete needed stuff and exit. diff --git a/src/core/parsingfactory.cpp b/src/core/parsingfactory.cpp index 17fca2ee7..ed5cb693f 100644 --- a/src/core/parsingfactory.cpp +++ b/src/core/parsingfactory.cpp @@ -108,13 +108,13 @@ QList ParsingFactory::parseAsRDF(const QString &data) { } else { // Title is empty but description is not. - new_message.m_title = TextFactory::stripTags(elem_description.simplified()); + new_message.m_title = TextFactory::escapeHtml(TextFactory::stripTags(elem_description.simplified())); new_message.m_contents = elem_description; } } else { // Title is really not empty, description does not matter. - new_message.m_title = TextFactory::stripTags(elem_title); + new_message.m_title = TextFactory::escapeHtml(TextFactory::stripTags(elem_title)); new_message.m_contents = elem_description; } diff --git a/src/core/silentnetworkaccessmanager.cpp b/src/core/silentnetworkaccessmanager.cpp index d337b97ad..0e6fd62f7 100644 --- a/src/core/silentnetworkaccessmanager.cpp +++ b/src/core/silentnetworkaccessmanager.cpp @@ -5,7 +5,10 @@ SilentNetworkAccessManager::SilentNetworkAccessManager(QObject *parent) : BaseNetworkAccessManager(parent) { - + connect(this, SIGNAL(sslErrors(QNetworkReply*,QList)), + this, SLOT(onSslErrors(QNetworkReply*,QList))); + connect(this, SIGNAL(authenticationRequired(QNetworkReply*,QAuthenticator*)), + this, SLOT(onAuthenticationRequired(QNetworkReply*,QAuthenticator*))); } SilentNetworkAccessManager::~SilentNetworkAccessManager() { @@ -14,8 +17,10 @@ SilentNetworkAccessManager::~SilentNetworkAccessManager() { void SilentNetworkAccessManager::onSslErrors(QNetworkReply *reply, const QList &error) { - qDebug("SSL errors for '%s'.", - qPrintable(reply->url().toString())); + qDebug("SSL errors for '%s': '%s' (code %d).", + qPrintable(reply->url().toString()), + qPrintable(reply->errorString()), + (int) reply->error()); reply->ignoreSslErrors(error); } diff --git a/src/core/textfactory.cpp b/src/core/textfactory.cpp index 3b06c6d7f..0f4111df8 100644 --- a/src/core/textfactory.cpp +++ b/src/core/textfactory.cpp @@ -56,13 +56,14 @@ QString TextFactory::stripTags(QString text) { QString TextFactory::escapeHtml(const QString &html) { QMap sequences; - sequences["<"] = '<'; - sequences[">"] = '>'; + sequences["<"] = '<'; + sequences[">"] = '>'; sequences["&"] = '&'; sequences["""] = '\"'; sequences[" "] = ' '; sequences["±"] = "±"; sequences["×"] = "×"; + sequences["'"] = '\''; QList keys = sequences.uniqueKeys(); QString output = html; @@ -83,6 +84,7 @@ QString TextFactory::deEscapeHtrml(const QString &text) { sequences["\""] = """; sequences["±"] = "±"; sequences["×"] = "×"; + sequences["\'"] = "'"; QList keys = sequences.uniqueKeys(); QString output = text;