diff --git a/0055-Enable-Wikipedia-over-SSL.patch b/0055-Enable-Wikipedia-over-SSL.patch new file mode 100644 index 0000000..ee1a08b --- /dev/null +++ b/0055-Enable-Wikipedia-over-SSL.patch @@ -0,0 +1,165 @@ +From 284342b48dc32341c3553fd2b0ee5069d75b58f9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Frank=20Meerk=C3=B6tter?= +Date: Thu, 12 Sep 2013 21:44:03 +0200 +Subject: [PATCH 055/471] Enable Wikipedia over SSL. + +This patch makes SSL the default. It also adds a checkbox to disable +it so if there would be a problem a fallback to HTTP is possible. + +BUG: 322249 +REVIEW: 112706 +FIXED-IN: 2.9 +--- + src/context/applets/wikipedia/WikipediaApplet.cpp | 6 ++++++ + src/context/applets/wikipedia/WikipediaApplet_p.h | 1 + + .../applets/wikipedia/wikipediaGeneralSettings.ui | 11 +++++++++-- + src/context/engines/wikipedia/WikipediaEngine.cpp | 18 +++++++++++++++--- + 4 files changed, 31 insertions(+), 5 deletions(-) + +diff --git a/src/context/applets/wikipedia/WikipediaApplet.cpp b/src/context/applets/wikipedia/WikipediaApplet.cpp +index 507db96..21365f2 100644 +--- a/src/context/applets/wikipedia/WikipediaApplet.cpp ++++ b/src/context/applets/wikipedia/WikipediaApplet.cpp +@@ -250,11 +250,14 @@ WikipediaAppletPrivate::_loadSettings() + } + langList = list; + useMobileWikipedia = (generalSettingsUi.mobileCheckBox->checkState() == Qt::Checked); ++ useSSL = (generalSettingsUi.sslCheckBox->checkState() == Qt::Checked); + Amarok::config("Wikipedia Applet").writeEntry( "PreferredLang", list ); + Amarok::config("Wikipedia Applet").writeEntry( "UseMobile", useMobileWikipedia ); ++ Amarok::config( "Wikipedia Applet" ).writeEntry( "UseSSL", useSSL ); + _paletteChanged( App::instance()->palette() ); + dataContainer->setData( "lang", langList ); + dataContainer->setData( "mobile", useMobileWikipedia ); ++ dataContainer->setData( "ssl", useSSL ); + scheduleEngineUpdate(); + } + +@@ -656,9 +659,11 @@ WikipediaApplet::init() + // Read config and inform the engine. + d->langList = Amarok::config("Wikipedia Applet").readEntry( "PreferredLang", QStringList() << "en" ); + d->useMobileWikipedia = Amarok::config("Wikipedia Applet").readEntry( "UseMobile", false ); ++ d->useSSL = Amarok::config( "Wikipedia Applet" ).readEntry( "UseSSL", true ); + d->_paletteChanged( App::instance()->palette() ); + d->dataContainer->setData( "lang", d->langList ); + d->dataContainer->setData( "mobile", d->useMobileWikipedia ); ++ d->dataContainer->setData( "ssl", d->useSSL ); + d->scheduleEngineUpdate(); + + updateConstraints(); +@@ -787,6 +792,7 @@ WikipediaApplet::createConfigurationInterface( KConfigDialog *parent ) + QWidget *genSettings = new QWidget; + d->generalSettingsUi.setupUi( genSettings ); + d->generalSettingsUi.mobileCheckBox->setCheckState( d->useMobileWikipedia ? Qt::Checked : Qt::Unchecked ); ++ d->generalSettingsUi.sslCheckBox->setCheckState( d->useSSL ? Qt::Checked : Qt::Unchecked ); + + connect( d->languageSettingsUi.downloadButton, SIGNAL(clicked()), this, SLOT(_getLangMap()) ); + connect( parent, SIGNAL(okClicked()), this, SLOT(_loadSettings()) ); +diff --git a/src/context/applets/wikipedia/WikipediaApplet_p.h b/src/context/applets/wikipedia/WikipediaApplet_p.h +index c52a0bf..df5ddc3 100644 +--- a/src/context/applets/wikipedia/WikipediaApplet_p.h ++++ b/src/context/applets/wikipedia/WikipediaApplet_p.h +@@ -143,6 +143,7 @@ public: + bool isForwardHistory; + bool isBackwardHistory; + bool useMobileWikipedia; ++ bool useSSL; + }; + + class WikipediaSearchLineEdit : public Plasma::LineEdit +diff --git a/src/context/applets/wikipedia/wikipediaGeneralSettings.ui b/src/context/applets/wikipedia/wikipediaGeneralSettings.ui +index a615dee..84cb5df 100644 +--- a/src/context/applets/wikipedia/wikipediaGeneralSettings.ui ++++ b/src/context/applets/wikipedia/wikipediaGeneralSettings.ui +@@ -6,8 +6,8 @@ + + 0 + 0 +- 244 +- 23 ++ 253 ++ 62 + + + +@@ -32,6 +32,13 @@ + + + ++ ++ ++ ++ Use &SSL ++ ++ ++ + + + +diff --git a/src/context/engines/wikipedia/WikipediaEngine.cpp b/src/context/engines/wikipedia/WikipediaEngine.cpp +index f22e443..982d3fd 100644 +--- a/src/context/engines/wikipedia/WikipediaEngine.cpp ++++ b/src/context/engines/wikipedia/WikipediaEngine.cpp +@@ -45,6 +45,7 @@ public: + : q_ptr( parent ) + , currentSelection( Artist ) + , useMobileVersion( false ) ++ , useSSL( true ) + , dataContainer( 0 ) + {} + ~WikipediaEnginePrivate() {} +@@ -88,6 +89,7 @@ public: + } + } m_previousTrackMetadata; + bool useMobileVersion; ++ bool useSSL; + + Plasma::DataContainer *dataContainer; + +@@ -169,6 +171,16 @@ WikipediaEnginePrivate::_dataContainerUpdated( const QString &source, const Plas + } + } + ++ if( data.contains( QLatin1String("ssl") ) ) ++ { ++ const bool ssl = data.value( QLatin1String("ssl") ).toBool(); ++ if( ssl != useSSL ) ++ { ++ useSSL = ssl; ++ updateEngine(); ++ } ++ } ++ + if( data.contains( QLatin1String("lang") ) ) + { + QStringList langList = data.value( QLatin1String("lang") ).toStringList(); +@@ -532,7 +544,7 @@ WikipediaEnginePrivate::fetchWikiUrl( const QString &title, const QString &urlPr + Q_Q( WikipediaEngine ); + KUrl pageUrl; + QString host( ".wikipedia.org" ); +- pageUrl.setScheme( QLatin1String("http") ); ++ pageUrl.setScheme( useSSL ? QLatin1String( "https" ) : QLatin1String( "http" ) ); + + if( useMobileVersion ) + { +@@ -570,7 +582,7 @@ WikipediaEnginePrivate::fetchLangLinks( const QString &title, + { + Q_Q( WikipediaEngine ); + KUrl url; +- url.setScheme( QLatin1String("http") ); ++ url.setScheme( useSSL ? QLatin1String( "https" ) : QLatin1String( "http" ) ); + url.setHost( hostLang + QLatin1String(".wikipedia.org") ); + url.setPath( QLatin1String("/w/api.php") ); + url.addQueryItem( QLatin1String("action"), QLatin1String("query") ); +@@ -592,7 +604,7 @@ WikipediaEnginePrivate::fetchListing( const QString &title, const QString &hostL + { + Q_Q( WikipediaEngine ); + KUrl url; +- url.setScheme( QLatin1String("http") ); ++ url.setScheme( useSSL ? QLatin1String( "https" ) : QLatin1String( "http" ) ); + url.setHost( hostLang + QLatin1String(".wikipedia.org") ); + url.setPath( QLatin1String("/w/api.php") ); + url.addQueryItem( QLatin1String("action"), QLatin1String("query") ); +-- +2.4.3 + diff --git a/amarok.spec b/amarok.spec index fc9b51f..770a009 100644 --- a/amarok.spec +++ b/amarok.spec @@ -8,7 +8,7 @@ Name: amarok Summary: Media player Version: 2.8.0 -Release: 16%{?dist} +Release: 17%{?dist} # KDE e.V. may determine that future GPL versions are accepted License: GPLv2 or GPLv3 @@ -28,7 +28,7 @@ Source1: amarok.appdata.xml Patch0: amarok-2.8.0-onlinedoc.patch # try to allow build without kdewebkit (like rhel), use QWeb* instead of KWeb* -#Patch1: amarok-2.8.0-no_kdewebkit.patch +Patch1: amarok-2.8.0-no_kdewebkit.patch ## upstreamable patches @@ -36,6 +36,7 @@ Patch0: amarok-2.8.0-onlinedoc.patch Patch0004: 0004-Code-cleanup-and-added-comments.patch Patch0014: 0014-Fix-compilation-and-linking-issues.patch Patch0039: 0039-Optimization-Don-t-draw-more-than-necessary.patch +Patch0055: 0055-Enable-Wikipedia-over-SSL.patch Patch0070: 0070-Rewrite-Block-Analyzer-to-use-pure-OpenGL-instead-of.patch Patch0071: 0071-Fix-rendering-glitch-introduced-with-commit-f4a3f4f.patch @@ -148,6 +149,7 @@ Requires: %{name} = %{version}-%{release} %patch0004 -p1 -b .0004 %patch0014 -p1 -b .0014 %patch0039 -p1 -b .0039 +%patch0055 -p1 -b .0055 %patch0070 -p1 -b .0070 %patch0071 -p1 -b .0071 @@ -288,6 +290,9 @@ fi %changelog +* Sun Jun 28 2015 Rex Dieter 2.8.0-17 +- pull in upstream fixes for wikipedia plugin (kde#349313) + * Tue Jun 16 2015 Fedora Release Engineering - 2.8.0-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild