summaryrefslogtreecommitdiffstats
path: root/kde/patch/kdelibs
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2014-12-22 15:03:24 +0100
committer Eric Hameleers <alien@slackware.com>2014-12-22 15:03:24 +0100
commit270c1ba7053478dbd1c632eea18d6e54d51e4ecc (patch)
tree4e25b7466faf321a1a1fe7e90ce182afdd5ef9dd /kde/patch/kdelibs
parent290362d91d840ad6feed5b59191a058f5e998d3c (diff)
downloadktown-270c1ba7053478dbd1c632eea18d6e54d51e4ecc.tar.gz
ktown-270c1ba7053478dbd1c632eea18d6e54d51e4ecc.tar.xz
KDE 4.7.4 for Slackware 13.37 (06dec2011)4.7.4
Diffstat (limited to 'kde/patch/kdelibs')
-rw-r--r--kde/patch/kdelibs/kdelibs.docbook.patch.gzbin0 -> 361 bytes
-rw-r--r--kde/patch/kdelibs/kdelibs.klocale.numberfix.patch130
-rw-r--r--kde/patch/kdelibs/kdelibs.kssl.CVE-2011-3365.patch24
-rw-r--r--kde/patch/kdelibs/kdelibs.nepomuk.unicode.patch65
4 files changed, 219 insertions, 0 deletions
diff --git a/kde/patch/kdelibs/kdelibs.docbook.patch.gz b/kde/patch/kdelibs/kdelibs.docbook.patch.gz
new file mode 100644
index 0000000..2de9a66
--- /dev/null
+++ b/kde/patch/kdelibs/kdelibs.docbook.patch.gz
Binary files differ
diff --git a/kde/patch/kdelibs/kdelibs.klocale.numberfix.patch b/kde/patch/kdelibs/kdelibs.klocale.numberfix.patch
new file mode 100644
index 0000000..d27c2a3
--- /dev/null
+++ b/kde/patch/kdelibs/kdelibs.klocale.numberfix.patch
@@ -0,0 +1,130 @@
+commit 2993b24bc21a340695ad35b4f014a684f4d0c651
+Author: John Layt <jlayt@kde.org>
+Date: Sat Dec 17 16:27:51 2011 +0000
+
+ KLocale: Fix readNumber() and readMoney() for lenient group parsing
+
+ Restore the old pre-4.7 behaviour of accepting as valid any numbers
+ that do not contain any group separators but strictly enforce group
+ rules when the number contains 1 or more group separators.
+
+ Distro's will really want to backport this fix to all versions of 4.7
+ as previously number entry for all KDE apps would have been seriously
+ broken.
+
+ I'm amazed I wasn't beaten up for this earlier!
+
+ BUG: 288963
+ FIXED-IN: 4.7.5
+ CCMAIL: kde-packager@kde.org
+
+diff --git a/kdecore/localization/klocale_kde.cpp b/kdecore/localization/klocale_kde.cpp
+index 6cf85f9..6690f4a 100644
+--- a/kdecore/localization/klocale_kde.cpp
++++ b/kdecore/localization/klocale_kde.cpp
+@@ -1894,7 +1894,10 @@ double KLocalePrivate::readNumber(const QString &_str, bool * ok) const
+
+ // Remove group separators
+ bool groupOk = true;
+- str = parseDigitGroup(str, thousandsSeparator(), decimalSymbol(), numericDigitGrouping(), &groupOk);
++ if(str.contains(thousandsSeparator())) {
++ str = parseDigitGroup(str, thousandsSeparator(), decimalSymbol(),
++ numericDigitGrouping(), &groupOk);
++ }
+
+ if (!groupOk) {
+ if (ok) {
+@@ -2013,7 +2016,10 @@ double KLocalePrivate::readMoney(const QString &_str, bool *ok) const
+
+ // Remove group separators
+ bool groupOk = true;
+- str = parseDigitGroup(str, monetaryThousandsSeparator(), monetaryDecimalSymbol(), monetaryDigitGrouping(), &groupOk);
++ if(str.contains(monetaryThousandsSeparator())) {
++ str = parseDigitGroup(str, monetaryThousandsSeparator(), monetaryDecimalSymbol(),
++ monetaryDigitGrouping(), &groupOk);
++ }
+
+ if (!groupOk) {
+ if (ok) {
+diff --git a/kdecore/tests/klocaletest.cpp b/kdecore/tests/klocaletest.cpp
+index 97a3bce..f80de85 100644
+--- a/kdecore/tests/klocaletest.cpp
++++ b/kdecore/tests/klocaletest.cpp
+@@ -180,9 +180,13 @@ KLocaleTest::readNumber()
+ QVERIFY(!ok);
+ QCOMPARE(locale.readNumber(QString("123,456,789.01"), &ok), 0.0);
+ QVERIFY(!ok);
+- QCOMPARE(locale.readNumber(QString("123456789"), &ok), 0.0);
++ QCOMPARE(locale.readNumber(QString("123456789"), &ok), 123456789.0);
++ QVERIFY(ok);
++ QCOMPARE(locale.readNumber(QString("123456789.01"), &ok), 123456789.01);
++ QVERIFY(ok);
++ QCOMPARE(locale.readNumber(QString("123456,789"), &ok), 0.0);
+ QVERIFY(!ok);
+- QCOMPARE(locale.readNumber(QString("123456789.01"), &ok), 0.0);
++ QCOMPARE(locale.readNumber(QString("123456,789.01"), &ok), 0.0);
+ QVERIFY(!ok);
+
+ //Test it parses correctly with an empty separator.
+@@ -204,6 +208,14 @@ KLocaleTest::readNumber()
+ QVERIFY(ok);
+ QCOMPARE(locale.readNumber(QString("123 456 789.01"), &ok), 123456789.01);
+ QVERIFY(ok);
++ QCOMPARE(locale.readNumber(QString("123456789"), &ok), 123456789.0);
++ QVERIFY(ok);
++ QCOMPARE(locale.readNumber(QString("123456789.01"), &ok), 123456789.01);
++ QVERIFY(ok);
++ QCOMPARE(locale.readNumber(QString("123456 789"), &ok), 0.0);
++ QVERIFY(!ok);
++ QCOMPARE(locale.readNumber(QString("123456 789.01"), &ok), 0.0);
++ QVERIFY(!ok);
+ QCOMPARE(locale.readNumber(QString("123,456,789"), &ok), 0.0);
+ QVERIFY(!ok);
+ QCOMPARE(locale.readNumber(QString("123,456,789.01"), &ok), 0.0);
+@@ -479,6 +491,10 @@ void KLocaleTest::readMoney()
+ QVERIFY(ok);
+ QCOMPARE(locale.readMoney("$ 987,654,321.12", &ok), 987654321.12);
+ QVERIFY(ok);
++ QCOMPARE(locale.readMoney("$ 987654321.12", &ok), 987654321.12);
++ QVERIFY(ok);
++ QCOMPARE(locale.readMoney("$ 987654,321.12", &ok), 0.0);
++ QVERIFY(!ok);
+
+ QCOMPARE(locale.readMoney( "$ -1.12", &ok), -1.12);
+ QVERIFY(ok);
+@@ -498,6 +514,10 @@ void KLocaleTest::readMoney()
+ QVERIFY(ok);
+ QCOMPARE(locale.readMoney("$ -987,654,321.12", &ok), -987654321.12);
+ QVERIFY(ok);
++ QCOMPARE(locale.readMoney("$ -987654321.12", &ok), -987654321.12);
++ QVERIFY(ok);
++ QCOMPARE(locale.readMoney("$ -987654,321.12", &ok), 0.0);
++ QVERIFY(!ok);
+
+ // Test incomplete formats
+ QCOMPARE(locale.readMoney( "$ 1", &ok), 1.00);
+@@ -521,17 +541,21 @@ void KLocaleTest::readMoney()
+
+ // Test Grouping
+ locale.d->setMonetaryDigitGrouping(QList<int>());
+- QCOMPARE(locale.readMoney( "$ 987654321.12", &ok), 987654321.12);
++ QCOMPARE(locale.readMoney("$ 987654321.12", &ok), 987654321.12);
+ QVERIFY(ok);
+ QCOMPARE(locale.readMoney("$ -987654321.12", &ok), -987654321.12);
+ QVERIFY(ok);
+ locale.d->setMonetaryDigitGrouping(QList<int>() << 3 << 2);
+- QCOMPARE(locale.readMoney( "$ 98,76,54,321.12", &ok), 987654321.12);
++ QCOMPARE(locale.readMoney("$ 98,76,54,321.12", &ok), 987654321.12);
+ QVERIFY(ok);
+ QCOMPARE(locale.readMoney("$ -98,76,54,321.12", &ok), -987654321.12);
+ QVERIFY(ok);
++ QCOMPARE(locale.readMoney("$ 987654321.12", &ok), 987654321.12);
++ QVERIFY(ok);
++ QCOMPARE(locale.readMoney("$ -987654321.12", &ok), -987654321.12);
++ QVERIFY(ok);
+ locale.d->setMonetaryDigitGrouping(QList<int>() << 3 << -1);
+- QCOMPARE(locale.readMoney( "$ 987654,321.12", &ok), 987654321.12);
++ QCOMPARE(locale.readMoney("$ 987654,321.12", &ok), 987654321.12);
+ QVERIFY(ok);
+ QCOMPARE(locale.readMoney("$ -987654,321.12", &ok), -987654321.12);
+ QVERIFY(ok);
diff --git a/kde/patch/kdelibs/kdelibs.kssl.CVE-2011-3365.patch b/kde/patch/kdelibs/kdelibs.kssl.CVE-2011-3365.patch
new file mode 100644
index 0000000..b44b865
--- /dev/null
+++ b/kde/patch/kdelibs/kdelibs.kssl.CVE-2011-3365.patch
@@ -0,0 +1,24 @@
+commit bd70d4e589711fda9ab07738c46e37eee8376214
+Author: David Faure <faure@kde.org>
+Date: Thu Jun 30 23:43:45 2011 +0200
+
+ Security fix: don't interpret html tags
+
+ Credits to Tim Brown for the find.
+
+diff --git a/kio/kssl/ksslcertificatebox.cpp b/kio/kssl/ksslcertificatebox.cpp
+index 4ffc613..094787a 100644
+--- a/kio/kssl/ksslcertificatebox.cpp
++++ b/kio/kssl/ksslcertificatebox.cpp
+@@ -36,6 +36,10 @@ KSslCertificateBox::KSslCertificateBox(QWidget *parent)
+ d(new KSslCertificateBoxPrivate())
+ {
+ d->ui.setupUi(this);
++ // No fooling us with html tags
++ Q_FOREACH(QLabel* label, qFindChildren<QLabel *>(this)) {
++ label->setTextFormat(Qt::PlainText);
++ }
+ }
+
+
+
diff --git a/kde/patch/kdelibs/kdelibs.nepomuk.unicode.patch b/kde/patch/kdelibs/kdelibs.nepomuk.unicode.patch
new file mode 100644
index 0000000..819a429
--- /dev/null
+++ b/kde/patch/kdelibs/kdelibs.nepomuk.unicode.patch
@@ -0,0 +1,65 @@
+diff --git a/nepomuk/query/querybuilderdata_p.h b/nepomuk/query/querybuilderdata_p.h
+index 055482e..3880e13 100644
+--- a/nepomuk/query/querybuilderdata_p.h
++++ b/nepomuk/query/querybuilderdata_p.h
+@@ -32,6 +32,28 @@
+ #include "query_p.h"
+ #include "groupterm_p.h"
+
++namespace {
++/// A hack to avoid passing extended chars to the bif:search_excerpts method which cannot handle
++/// utf8 chars which use more than one char, ie. wide chars.
++/// Thus, we simply truncate each term at the first wide char.
++QStringList stripExtendedCharsHack(const QStringList& terms) {
++ QStringList newTerms;
++ foreach(const QString& term, terms) {
++ int i = 0;
++ while(i < term.length()) {
++ if(term[i].unicode() > 0x7f) {
++ break;
++ }
++ ++i;
++ }
++ if(i > 0) {
++ newTerms.append(term.left(i));
++ }
++ }
++ return newTerms;
++}
++}
++
+ namespace Nepomuk {
+ namespace Query {
+ class QueryBuilderData
+@@ -246,16 +268,23 @@ namespace Nepomuk {
+ for( QHash<QString, QStringList>::const_iterator it = m_fullTextSearchTerms.constBegin();
+ it != m_fullTextSearchTerms.constEnd(); ++it ) {
+ const QString& varName = it.key();
+- const QStringList& terms = it.value();
+- // bif:search_excerpt wants a vector of all search terms
+- excerptParts
+- << QString::fromLatin1("bif:search_excerpt(bif:vector(bif:charset_recode('%1', '_WIDE_', 'UTF-8')), %2)")
+- .arg( terms.join(QLatin1String("','")),
+- varName );
++ const QStringList terms = stripExtendedCharsHack(it.value());
++ if(terms.count()) {
++ // bif:search_excerpt wants a vector of all search terms
++ excerptParts
++ << QString::fromLatin1("bif:search_excerpt(bif:vector('%1'), %2)")
++ .arg( terms.join(QLatin1String("','")),
++ varName );
++ }
+ }
+
+- return QString::fromLatin1("(bif:concat(%1)) as ?_n_f_t_m_ex_")
+- .arg(excerptParts.join(QLatin1String(",")));
++ if(excerptParts.count()) {
++ return QString::fromLatin1("(bif:concat(%1)) as ?_n_f_t_m_ex_")
++ .arg(excerptParts.join(QLatin1String(",")));
++ }
++ else {
++ return QString();
++ }
+ }
+ else {
+ return QString();