[kde-plasma-networkmanagement] 20111227 snapshot
Rex Dieter
rdieter at fedoraproject.org
Tue Dec 27 15:59:49 UTC 2011
commit 2f819b0e6ac194bb181cdae987d58655a6c037cb
Author: Rex Dieter <rdieter at fedoraproject.org>
Date: Tue Dec 27 09:59:46 2011 -0600
20111227 snapshot
0011-This-is-not-needed-anymore.patch | 41 +++
0012-Fix-broken-xml-tags-in-tooltips.patch | 64 ++++
0014-Try-again-to-fix-WPA2-config-dialog.patch | 343 ++++++++++++++++++++
...-if-suitable-NetworkManager-headers-are-n.patch | 39 +++
0016-Fix-some-spelling-errors.patch | 116 +++++++
...-the-error-messages-where-to-find-Network.patch | 37 +++
...-Ask-for-secrets-only-once-per-connection.patch | 83 +++++
...ile-is-not-necessary-for-Plasma-NM-0.8.80.patch | 81 +++++
0020-Fix-wrong-address.patch | 41 +++
...-wifi-security-methods-None-WEP-and-WPA-W.patch | 54 +++
0022-Not-all-errors-are-fatal.patch | 40 +++
...figure-adhoc-WPA-wifi-like-nm-applet-does.patch | 47 +++
...set-password-flags-if-password-is-not-set.patch | 65 ++++
0026-Increase-connection-s-row-a-bit.patch | 41 +++
kde-plasma-networkmanagement.spec | 34 ++-
15 files changed, 1124 insertions(+), 2 deletions(-)
---
diff --git a/0011-This-is-not-needed-anymore.patch b/0011-This-is-not-needed-anymore.patch
new file mode 100644
index 0000000..619e245
--- /dev/null
+++ b/0011-This-is-not-needed-anymore.patch
@@ -0,0 +1,41 @@
+From 7068bd602a35edfc6adf8f5683d6943b12ea02de Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Fri, 9 Dec 2011 01:15:04 -0200
+Subject: [PATCH 11/26] This is not needed anymore.
+
+---
+ .../nmdbussettingsconnectionprovider.cpp | 18 +-----------------
+ 1 files changed, 1 insertions(+), 17 deletions(-)
+
+diff --git a/backends/NetworkManager/nmdbussettingsconnectionprovider.cpp b/backends/NetworkManager/nmdbussettingsconnectionprovider.cpp
+index bf2d8bc..a269b23 100644
+--- a/backends/NetworkManager/nmdbussettingsconnectionprovider.cpp
++++ b/backends/NetworkManager/nmdbussettingsconnectionprovider.cpp
+@@ -370,23 +370,7 @@ void NMDBusSettingsConnectionProvider::updateConnection(const QString &uuid, Knm
+ newConnection->setUuid(uuid);
+ ConnectionDbus converter(newConnection);
+ QVariantMapMap map = converter.toDbusMap();
+-
+- if (newConnection->name() == remote->id()) {
+- remote->Update(map);
+- } else {
+- /* If connection's name (id in NM's termonology) changes during an Update
+- * NM will leave the old connection file intact and create a new connection file
+- * in /etc/NetworkManager/system-connections/ with the same uuid, which is wrong in my oppinion.
+- * Furthermore the old connection will not be shown in Plasma NM's connection list
+- * because we use connection's uuid as connection identifier.
+- * Deleting the old connection and creating a new one seems to work.
+- */
+- kDebug() << "Renaming connection:" << remote->id() << " -> " << newConnection->name();
+- QDBusPendingCall reply = remote->Delete();
+- reply.waitForFinished();
+- sleep(1);
+- addConnection(newConnection);
+- }
++ remote->Update(map);
+
+ // don't do any processing on d->connections and d->connectionList here
+ // because onRemoteConnectionUpdated() method will take care of them
+--
+1.7.7.5
+
diff --git a/0012-Fix-broken-xml-tags-in-tooltips.patch b/0012-Fix-broken-xml-tags-in-tooltips.patch
new file mode 100644
index 0000000..87ba953
--- /dev/null
+++ b/0012-Fix-broken-xml-tags-in-tooltips.patch
@@ -0,0 +1,64 @@
+From 17a5530c212483c17f9ef0dfc1c2c7feff34e1ac Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Fri, 9 Dec 2011 01:15:28 -0200
+Subject: [PATCH 12/26] Fix broken xml tags in tooltips.
+
+---
+ libs/ui/security/peapwidget.cpp | 2 +-
+ libs/ui/security/tlswidget.cpp | 2 +-
+ libs/ui/security/ttlswidget.cpp | 2 +-
+ plasma_nm_version.h | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/libs/ui/security/peapwidget.cpp b/libs/ui/security/peapwidget.cpp
+index 518d809..491b9ea 100644
+--- a/libs/ui/security/peapwidget.cpp
++++ b/libs/ui/security/peapwidget.cpp
+@@ -184,7 +184,7 @@ void PeapWidget::showAltSubjectMatchesEditor()
+ EditListDialog editor;
+ editor.setItems(leAltSubjectMatches->text().remove(QLatin1Char(' ')).split(QLatin1Char(','), QString::SkipEmptyParts));
+ editor.setCaption(i18n("Alternative Subject Matches"));
+- editor.setToolTip(i18n("<qt>This entry must be one of:<ul><li>DNS: <name or ip address></li><li>EMAIL: <email></li><li>URI: <uri, e.g. http://www.kde.org></li><ul></qt>"));
++ editor.setToolTip(i18n("<qt>This entry must be one of:<ul><li>DNS: <name or ip address></li><li>EMAIL: <email></li><li>URI: <uri, e.g. http://www.kde.org></li></ul></qt>"));
+ editor.setValidator(d->altSubjectValidator);
+ if (editor.exec() == QDialog::Accepted) {
+ leAltSubjectMatches->setText(editor.items().join(QLatin1String(", ")));
+diff --git a/libs/ui/security/tlswidget.cpp b/libs/ui/security/tlswidget.cpp
+index c6f588f..06cb183 100644
+--- a/libs/ui/security/tlswidget.cpp
++++ b/libs/ui/security/tlswidget.cpp
+@@ -286,7 +286,7 @@ void TlsWidget::showAltSubjectMatchesEditor()
+ EditListDialog editor;
+ editor.setItems(leAltSubjectMatches->text().remove(QLatin1Char(' ')).split(QLatin1Char(','), QString::SkipEmptyParts));
+ editor.setCaption(i18n("Alternative Subject Matches"));
+- editor.setToolTip(i18n("<qt>This entry must be one of:<ul><li>DNS: <name or ip address></li><li>EMAIL: <email></li><li>URI: <uri, e.g. http://www.kde.org></li><ul></qt>"));
++ editor.setToolTip(i18n("<qt>This entry must be one of:<ul><li>DNS: <name or ip address></li><li>EMAIL: <email></li><li>URI: <uri, e.g. http://www.kde.org></li></ul></qt>"));
+ editor.setValidator(d->altSubjectValidator);
+ if (editor.exec() == QDialog::Accepted) {
+ leAltSubjectMatches->setText(editor.items().join(QLatin1String(", ")));
+diff --git a/libs/ui/security/ttlswidget.cpp b/libs/ui/security/ttlswidget.cpp
+index 838b35f..085f7e5 100644
+--- a/libs/ui/security/ttlswidget.cpp
++++ b/libs/ui/security/ttlswidget.cpp
+@@ -180,7 +180,7 @@ void TtlsWidget::showAltSubjectMatchesEditor()
+ EditListDialog editor;
+ editor.setItems(leAltSubjectMatches->text().remove(QLatin1Char(' ')).split(QLatin1Char(','), QString::SkipEmptyParts));
+ editor.setCaption(i18n("Alternative Subject Matches"));
+- editor.setToolTip(i18n("<qt>This entry must be one of:<ul><li>DNS: <name or ip address></li><li>EMAIL: <email></li><li>URI: <uri, e.g. http://www.kde.org></li><ul></qt>"));
++ editor.setToolTip(i18n("<qt>This entry must be one of:<ul><li>DNS: <name or ip address></li><li>EMAIL: <email></li><li>URI: <uri, e.g. http://www.kde.org></li></ul></qt>"));
+ editor.setValidator(d->altSubjectValidator);
+ if (editor.exec() == QDialog::Accepted) {
+ leAltSubjectMatches->setText(editor.items().join(QLatin1String(", ")));
+diff --git a/plasma_nm_version.h b/plasma_nm_version.h
+index 135c4fa..92a6e23 100644
+--- a/plasma_nm_version.h
++++ b/plasma_nm_version.h
+@@ -1,4 +1,4 @@
+ #ifndef PLASMA_NM_VERSION_H
+ #define PLASMA_NM_VERSION_H
+-static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111203)";
++static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111209)";
+ #endif
+--
+1.7.7.5
+
diff --git a/0014-Try-again-to-fix-WPA2-config-dialog.patch b/0014-Try-again-to-fix-WPA2-config-dialog.patch
new file mode 100644
index 0000000..ad8a7d9
--- /dev/null
+++ b/0014-Try-again-to-fix-WPA2-config-dialog.patch
@@ -0,0 +1,343 @@
+From ed4904aa4d47c500d65aee8b77854304adc2dcdc Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Mon, 12 Dec 2011 22:12:44 -0200
+Subject: [PATCH 14/26] Try (again) to fix WPA2 config dialog.
+
+BUG: 288831
+(cherry picked from commit 7b202fc771f78b6f47c3c611d6f6c4eaab115aee)
+---
+ libs/ui/security/eapmethod.h | 2 ++
+ libs/ui/security/eapmethodleap.cpp | 11 +++++++++++
+ libs/ui/security/eapmethodleap.h | 2 ++
+ libs/ui/security/eapmethodsimple.cpp | 11 +++++++++++
+ libs/ui/security/eapmethodsimple.h | 3 +++
+ libs/ui/security/eapmethodstack.cpp | 24 +++++++++++++++++++-----
+ libs/ui/security/eapmethodstack.h | 2 ++
+ libs/ui/security/peapwidget.cpp | 12 ++++++++++++
+ libs/ui/security/peapwidget.h | 2 ++
+ libs/ui/security/securitydynamicwep.cpp | 10 ++++++++++
+ libs/ui/security/securitydynamicwep.h | 2 ++
+ libs/ui/security/tlswidget.cpp | 11 +++++++++++
+ libs/ui/security/tlswidget.h | 2 ++
+ libs/ui/security/ttlswidget.cpp | 12 ++++++++++++
+ libs/ui/security/ttlswidget.h | 2 ++
+ libs/ui/security/wpaeapwidget.cpp | 10 ++++++++++
+ libs/ui/security/wpaeapwidget.h | 2 ++
+ plasma_nm_version.h | 2 +-
+ 18 files changed, 116 insertions(+), 6 deletions(-)
+
+diff --git a/libs/ui/security/eapmethod.h b/libs/ui/security/eapmethod.h
+index 2a3a916..7f5af2d 100644
+--- a/libs/ui/security/eapmethod.h
++++ b/libs/ui/security/eapmethod.h
+@@ -46,6 +46,8 @@ public:
+ virtual void writeConfig() = 0;
+ virtual void readSecrets() = 0;
+ virtual void setShowPasswords(bool b = true) = 0;
++ virtual void syncWidgetData(const QPair<QString, QString> &widgetData) = 0;
++ virtual QPair<QString, QString> widgetData() = 0;
+ protected:
+ EapMethod(EapMethodPrivate &dd, Knm::Connection * connection, QWidget * parent = 0);
+ EapMethodPrivate * d_ptr;
+diff --git a/libs/ui/security/eapmethodleap.cpp b/libs/ui/security/eapmethodleap.cpp
+index 0ffb9c4..3677dc2 100644
+--- a/libs/ui/security/eapmethodleap.cpp
++++ b/libs/ui/security/eapmethodleap.cpp
+@@ -105,4 +105,15 @@ void EapMethodLeap::passwordStorageChanged(int type)
+ }
+ }
+
++void EapMethodLeap::syncWidgetData(const QPair<QString, QString> &widgetData)
++{
++ leUsername->setText(widgetData.first);
++ lePassword->setText(widgetData.second);
++}
++
++QPair<QString, QString> EapMethodLeap::widgetData()
++{
++ return QPair<QString, QString>(leUsername->text(), lePassword->text());
++}
++
+ // vim: sw=4 sts=4 et tw=100
+diff --git a/libs/ui/security/eapmethodleap.h b/libs/ui/security/eapmethodleap.h
+index 18f21b8..7d84bae 100644
+--- a/libs/ui/security/eapmethodleap.h
++++ b/libs/ui/security/eapmethodleap.h
+@@ -36,6 +36,8 @@ public:
+ void readConfig();
+ void writeConfig();
+ void readSecrets();
++ void syncWidgetData(const QPair<QString, QString> &widgetData);
++ QPair<QString, QString> widgetData();
+ public Q_SLOTS:
+ void setShowPasswords(bool b = true);
+ private Q_SLOTS:
+diff --git a/libs/ui/security/eapmethodsimple.cpp b/libs/ui/security/eapmethodsimple.cpp
+index 2ff7296..b3a5750 100644
+--- a/libs/ui/security/eapmethodsimple.cpp
++++ b/libs/ui/security/eapmethodsimple.cpp
+@@ -119,4 +119,15 @@ void EapMethodSimple::readSecrets()
+ }
+ }
+
++void EapMethodSimple::syncWidgetData(const QPair<QString, QString> &widgetData)
++{
++ leUserName->setText(widgetData.first);
++ lePassword->setText(widgetData.second);
++}
++
++QPair<QString, QString> EapMethodSimple::widgetData()
++{
++ return QPair<QString, QString>(leUserName->text(), lePassword->text());
++}
++
+ // vim: sw=4 sts=4 et tw=100
+diff --git a/libs/ui/security/eapmethodsimple.h b/libs/ui/security/eapmethodsimple.h
+index 352a7cb..88ea2f5 100644
+--- a/libs/ui/security/eapmethodsimple.h
++++ b/libs/ui/security/eapmethodsimple.h
+@@ -37,6 +37,9 @@ public:
+ void writeConfig();
+ void readSecrets();
+ void setShowPasswords(bool on = true);
++ void syncWidgetData(const QPair<QString, QString> &widgetData);
++ QPair<QString, QString> widgetData();
++
+ private Q_SLOTS:
+ void passwordStorageChanged(int);
+ private:
+diff --git a/libs/ui/security/eapmethodstack.cpp b/libs/ui/security/eapmethodstack.cpp
+index 14a15ae..3034246 100644
+--- a/libs/ui/security/eapmethodstack.cpp
++++ b/libs/ui/security/eapmethodstack.cpp
+@@ -79,15 +79,14 @@ void EapMethodStack::setCurrentEapMethod(int key)
+ /* Triggered when the user changes the EAP method using the cboEapMethod combo box. */
+ void EapMethodStack::setCurrentEapMethodInternal(int index)
+ {
+- // Save old eap method's data into this connection's settings.
+- qobject_cast<EapMethod *>(eapMethods->currentWidget())->writeConfig();
++ // Get old eap method's data.
++ QPair<QString, QString> pair = qobject_cast<EapMethod *>(eapMethods->currentWidget())->widgetData();
+
+ // Change to the chosen epa method.
+ eapMethods->setCurrentIndex(index);
+
+- // Load this connection's setting into the chosen epa method.
+- qobject_cast<EapMethod *>(eapMethods->widget(index))->readConfig();
+- qobject_cast<EapMethod *>(eapMethods->widget(index))->readSecrets();
++ // Load data into the chosen epa method.
++ qobject_cast<EapMethod *>(eapMethods->widget(index))->syncWidgetData(pair);
+ }
+
+ EapMethod * EapMethodStack::currentEapMethod() const
+@@ -131,4 +130,19 @@ void EapMethodStack::setShowPasswords(bool on)
+ }
+ }
+
++void EapMethodStack::syncWidgetData(const QPair<QString, QString> &widgetData)
++{
++ if (eapMethods->count()) {
++ qobject_cast<EapMethod *>(eapMethods->currentWidget())->syncWidgetData(widgetData);
++ }
++}
++
++QPair<QString, QString> EapMethodStack::widgetData()
++{
++ if (eapMethods->count()) {
++ return qobject_cast<EapMethod *>(eapMethods->currentWidget())->widgetData();
++ }
++ return QPair<QString, QString>();
++}
++
+ // vim: sw=4 sts=4 et tw=100
+diff --git a/libs/ui/security/eapmethodstack.h b/libs/ui/security/eapmethodstack.h
+index cc42cee..25264e2 100644
+--- a/libs/ui/security/eapmethodstack.h
++++ b/libs/ui/security/eapmethodstack.h
+@@ -55,6 +55,8 @@ public:
+ virtual void writeConfig();
+ virtual void readSecrets();
+ void setShowPasswords(bool on);
++ void syncWidgetData(const QPair<QString, QString> &widgetData);
++ QPair<QString, QString> widgetData();
+ private Q_SLOTS:
+ void setCurrentEapMethodInternal(int);
+ protected:
+diff --git a/libs/ui/security/peapwidget.cpp b/libs/ui/security/peapwidget.cpp
+index 491b9ea..b28a1b4 100644
+--- a/libs/ui/security/peapwidget.cpp
++++ b/libs/ui/security/peapwidget.cpp
+@@ -203,4 +203,16 @@ void PeapWidget::showServersEditor()
+ }
+ }
+
++void PeapWidget::syncWidgetData(const QPair<QString, QString> &widgetData)
++{
++ Q_D(PeapWidget);
++ d->innerAuth->syncWidgetData(widgetData);
++}
++
++QPair<QString, QString> PeapWidget::widgetData()
++{
++ Q_D(PeapWidget);
++ return d->innerAuth->widgetData();
++}
++
+ // vim: sw=4 sts=4 et tw=100
+diff --git a/libs/ui/security/peapwidget.h b/libs/ui/security/peapwidget.h
+index 95244e6..4f68618 100644
+--- a/libs/ui/security/peapwidget.h
++++ b/libs/ui/security/peapwidget.h
+@@ -40,6 +40,8 @@ public:
+ void readConfig();
+ void writeConfig();
+ void readSecrets();
++ void syncWidgetData(const QPair<QString, QString> &widgetData);
++ QPair<QString, QString> widgetData();
+ private Q_SLOTS:
+ void showAltSubjectMatchesEditor();
+ void showServersEditor();
+diff --git a/libs/ui/security/securitydynamicwep.cpp b/libs/ui/security/securitydynamicwep.cpp
+index 2280895..a91bc2c 100644
+--- a/libs/ui/security/securitydynamicwep.cpp
++++ b/libs/ui/security/securitydynamicwep.cpp
+@@ -57,4 +57,14 @@ void SecurityDynamicWep::writeConfig()
+ d->settingSecurity->setGroup(group);
+ }
+
++void SecurityDynamicWep::syncWidgetData(const QPair<QString, QString> &widgetData)
++{
++ Q_UNUSED(widgetData);
++}
++
++QPair<QString, QString> SecurityDynamicWep::widgetData()
++{
++ return QPair<QString, QString>();
++}
++
+ // vim: sw=4 sts=4 et tw=100
+diff --git a/libs/ui/security/securitydynamicwep.h b/libs/ui/security/securitydynamicwep.h
+index 5ea2070..872f4b3 100644
+--- a/libs/ui/security/securitydynamicwep.h
++++ b/libs/ui/security/securitydynamicwep.h
+@@ -31,6 +31,8 @@ public:
+ SecurityDynamicWep(Knm::Connection* connection, QWidget * parent = 0);
+ virtual ~SecurityDynamicWep();
+ void writeConfig();
++ void syncWidgetData(const QPair<QString, QString> &widgetData);
++ QPair<QString, QString> widgetData();
+ };
+
+ #endif // SECURITYDYNAMICWEP_H
+diff --git a/libs/ui/security/tlswidget.cpp b/libs/ui/security/tlswidget.cpp
+index 06cb183..94195b0 100644
+--- a/libs/ui/security/tlswidget.cpp
++++ b/libs/ui/security/tlswidget.cpp
+@@ -305,4 +305,15 @@ void TlsWidget::showServersEditor()
+ }
+ }
+
++void TlsWidget::syncWidgetData(const QPair<QString, QString> &widgetData)
++{
++ kurPrivateKey->setUrl(widgetData.first);
++ lePrivateKeyPassword->setText(widgetData.second);
++}
++
++QPair<QString, QString> TlsWidget::widgetData()
++{
++ return QPair<QString, QString>(kurPrivateKey->text(), lePrivateKeyPassword->text());
++}
++
+ // vim: sw=4 sts=4 et tw=100
+diff --git a/libs/ui/security/tlswidget.h b/libs/ui/security/tlswidget.h
+index 640ab1a..50bd058 100644
+--- a/libs/ui/security/tlswidget.h
++++ b/libs/ui/security/tlswidget.h
+@@ -48,6 +48,8 @@ public:
+ void readConfig();
+ void writeConfig();
+ void readSecrets();
++ void syncWidgetData(const QPair<QString, QString> &widgetData);
++ QPair<QString, QString> widgetData();
+ public Q_SLOTS:
+ void setShowPasswords(bool b = true);
+ private Q_SLOTS:
+diff --git a/libs/ui/security/ttlswidget.cpp b/libs/ui/security/ttlswidget.cpp
+index 085f7e5..0ce137b 100644
+--- a/libs/ui/security/ttlswidget.cpp
++++ b/libs/ui/security/ttlswidget.cpp
+@@ -199,4 +199,16 @@ void TtlsWidget::showServersEditor()
+ }
+ }
+
++void TtlsWidget::syncWidgetData(const QPair<QString, QString> &widgetData)
++{
++ Q_D(TtlsWidget);
++ d->innerAuth->syncWidgetData(widgetData);
++}
++
++QPair<QString, QString> TtlsWidget::widgetData()
++{
++ Q_D(TtlsWidget);
++ return d->innerAuth->widgetData();
++}
++
+ // vim: sw=4 sts=4 et tw=100
+diff --git a/libs/ui/security/ttlswidget.h b/libs/ui/security/ttlswidget.h
+index d0bf074..f9e85d1 100644
+--- a/libs/ui/security/ttlswidget.h
++++ b/libs/ui/security/ttlswidget.h
+@@ -40,6 +40,8 @@ public:
+ void readConfig();
+ void writeConfig();
+ void readSecrets();
++ void syncWidgetData(const QPair<QString, QString> &widgetData);
++ QPair<QString, QString> widgetData();
+ private Q_SLOTS:
+ void showAltSubjectMatchesEditor();
+ void showServersEditor();
+diff --git a/libs/ui/security/wpaeapwidget.cpp b/libs/ui/security/wpaeapwidget.cpp
+index 3032675..7142aaa 100644
+--- a/libs/ui/security/wpaeapwidget.cpp
++++ b/libs/ui/security/wpaeapwidget.cpp
+@@ -31,4 +31,14 @@ WpaEapWidget::~WpaEapWidget()
+
+ }
+
++void WpaEapWidget::syncWidgetData(const QPair<QString, QString> &widgetData)
++{
++ Q_UNUSED(widgetData);
++}
++
++QPair<QString, QString> WpaEapWidget::widgetData()
++{
++ return QPair<QString, QString>();
++}
++
+ // vim: sw=4 sts=4 et tw=100
+diff --git a/libs/ui/security/wpaeapwidget.h b/libs/ui/security/wpaeapwidget.h
+index 74608c3..bbaa1f2 100644
+--- a/libs/ui/security/wpaeapwidget.h
++++ b/libs/ui/security/wpaeapwidget.h
+@@ -29,6 +29,8 @@ Q_OBJECT
+ public:
+ WpaEapWidget(Knm::Connection* connection, QWidget * parent = 0);
+ virtual ~WpaEapWidget();
++ void syncWidgetData(const QPair<QString, QString> &widgetData);
++ QPair<QString, QString> widgetData();
+ };
+
+ #endif // WPAEAPWIDGET_H
+diff --git a/plasma_nm_version.h b/plasma_nm_version.h
+index 92a6e23..27fed92 100644
+--- a/plasma_nm_version.h
++++ b/plasma_nm_version.h
+@@ -1,4 +1,4 @@
+ #ifndef PLASMA_NM_VERSION_H
+ #define PLASMA_NM_VERSION_H
+-static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111209)";
++static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111212)";
+ #endif
+--
+1.7.7.5
+
diff --git a/0015-Abort-cmake-if-suitable-NetworkManager-headers-are-n.patch b/0015-Abort-cmake-if-suitable-NetworkManager-headers-are-n.patch
new file mode 100644
index 0000000..4b2062c
--- /dev/null
+++ b/0015-Abort-cmake-if-suitable-NetworkManager-headers-are-n.patch
@@ -0,0 +1,39 @@
+From 933f3f68392dc7c72f1afbd667936fb92959b1d8 Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Tue, 13 Dec 2011 19:15:51 -0200
+Subject: [PATCH 15/26] Abort cmake if suitable NetworkManager headers are not
+ installed. (cherry picked from commit
+ 1444705988ac1d39bcca762c7a8f9c4bba353026)
+
+---
+ CMakeLists.txt | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 788f0e2..308414e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -26,7 +26,6 @@ include_directories (${KDE4_INCLUDES})
+
+ find_package(NetworkManager ${MINIMUM_NM_VERSION_REQUIRED})
+
+-macro_log_feature(NETWORKMANAGER_FOUND "NetworkManager headers" "User controllable networking" "http://projects.gnome.org/NetworkManager" FALSE "0.9" "Needed for NetworkManager support in Network Management")
+ if (NETWORKMANAGER_FOUND)
+ find_package(GLIB2 REQUIRED)
+
+@@ -66,9 +65,10 @@ if (NETWORKMANAGER_FOUND)
+ message(STATUS "It is necessary to specify the directory where the client policy file for NetworkManager-kde4 is installed as DBUS_SYSTEM_POLICY_DIR. Normally this is /etc/dbus-1/system.d on a Linux system")
+ endif (DBUS_SYSTEM_POLICY_DIR)
+ else()
+- message("ERROR: NetworkManager version '${NETWORKMANAGER_VERSION}' does not match minimum required (${MINIMUM_NM_VERSION_REQUIRED})")
+- return()
++ message(FATAL_ERROR "ERROR: NetworkManager version '${NETWORKMANAGER_VERSION}' does not match minimum required (${MINIMUM_NM_VERSION_REQUIRED})")
+ endif()
++else(NETWORKMANAGER_FOUND)
++ message(FATAL_ERROR "ERROR: NetworkManager headers >= ${MINIMUM_NM_VERSION_REQUIRED} not installed")
+ endif(NETWORKMANAGER_FOUND)
+
+ if(INSTALL_KNM_AUTOSTART)
+--
+1.7.7.5
+
diff --git a/0016-Fix-some-spelling-errors.patch b/0016-Fix-some-spelling-errors.patch
new file mode 100644
index 0000000..62cee20
--- /dev/null
+++ b/0016-Fix-some-spelling-errors.patch
@@ -0,0 +1,116 @@
+From 07fc44de859e72f9a65ad497c417e3ba612fddd4 Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Tue, 13 Dec 2011 21:14:03 -0200
+Subject: [PATCH 16/26] Fix some spelling errors.
+
+---
+ applet/activatablelistwidget.h | 4 ++--
+ applet/nmpopup.cpp | 2 +-
+ backends/NetworkManager/connectiondbus.cpp | 4 ++--
+ libs/service/networkinterfacemonitor.cpp | 2 +-
+ libs/ui/vpnuiplugin.h | 2 +-
+ plasma_nm_version.h | 2 +-
+ vpnplugins/strongswan/strongswanwidget.cpp | 2 +-
+ 7 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/applet/activatablelistwidget.h b/applet/activatablelistwidget.h
+index 73116de..45d1512 100644
+--- a/applet/activatablelistwidget.h
++++ b/applet/activatablelistwidget.h
+@@ -45,7 +45,7 @@ public:
+ void removeType(Knm::Activatable::ActivatableType type);
+ bool accept(RemoteActivatable* activatable) const;
+ void setShowAllTypes(bool show, bool refresh = false);
+- void setHasWireless(bool hasWireless); // Used to decide wether or not to show the hidden item
++ void setHasWireless(bool hasWireless); // Used to decide whether or not to show the hidden item
+
+ Q_SIGNALS:
+ void showInterfaceDetails(QString);
+@@ -84,6 +84,6 @@ private:
+
+ bool m_showAllTypes;
+ bool m_vpn;
+- bool m_hasWireless; // Used to determine wether or not to show hidden config
++ bool m_hasWireless; // Used to determine whether or not to show hidden config
+ };
+ #endif // ACTIVATABLELISTWIDGET_H
+diff --git a/applet/nmpopup.cpp b/applet/nmpopup.cpp
+index 840e1e0..02ab6c5 100644
+--- a/applet/nmpopup.cpp
++++ b/applet/nmpopup.cpp
+@@ -693,7 +693,7 @@ void NMPopup::uncheckShowMore(RemoteActivatable *ra)
+ }
+ wicCount++;
+ if (m_oldShowMoreChecked != m_showMoreChecked) {
+- // One wireless network explicity configured by the user appeared, reset "Show More" button
++ // One wireless network explicitly configured by the user appeared, reset "Show More" button
+ // state to the value before the checkShowMore method above took action.
+ showMore(m_oldShowMoreChecked);
+ }
+diff --git a/backends/NetworkManager/connectiondbus.cpp b/backends/NetworkManager/connectiondbus.cpp
+index 4389208..aaf2d90 100644
+--- a/backends/NetworkManager/connectiondbus.cpp
++++ b/backends/NetworkManager/connectiondbus.cpp
+@@ -280,8 +280,8 @@ void ConnectionDbus::fromDbusMap(const QVariantMapMap &settings)
+ if (connectionSettings.contains(QLatin1String(NM_SETTING_CONNECTION_PERMISSIONS))) {
+ QStringList permissionsDbus = connectionSettings.value(QLatin1String(NM_SETTING_CONNECTION_PERMISSIONS)).toStringList();
+ foreach (const QString &permission, permissionsDbus) {
+- QStringList splitted = permission.split(QLatin1String(":"), QString::KeepEmptyParts);
+- permissions.insert(splitted.at(1),splitted.at(2));
++ QStringList split = permission.split(QLatin1String(":"), QString::KeepEmptyParts);
++ permissions.insert(split.at(1),split.at(2));
+ }
+ }
+ m_connection->setPermissions(permissions);
+diff --git a/libs/service/networkinterfacemonitor.cpp b/libs/service/networkinterfacemonitor.cpp
+index eeab14f..ced6e65 100644
+--- a/libs/service/networkinterfacemonitor.cpp
++++ b/libs/service/networkinterfacemonitor.cpp
+@@ -128,7 +128,7 @@ void NetworkInterfaceMonitor::modemInterfaceAdded(const QString & udi)
+ return;
+ }
+
+- // Using queued invokation to prevent kded stalling here until user enter the pin.
++ // Using queued invocation to prevent kded stalling here until user enter the pin.
+ QMetaObject::invokeMethod(modem, "unlockRequiredChanged", Qt::QueuedConnection,
+ Q_ARG(QString, modem->unlockRequired()));
+ }
+diff --git a/libs/ui/vpnuiplugin.h b/libs/ui/vpnuiplugin.h
+index acbf62a..5e71eb2 100644
+--- a/libs/ui/vpnuiplugin.h
++++ b/libs/ui/vpnuiplugin.h
+@@ -56,7 +56,7 @@ public:
+ */
+ virtual QString suggestedFileName(Knm::Connection *connection) const = 0;
+ /**
+- * File extention to be used in KFileDialog when selecting the file to import.
++ * File extension to be used in KFileDialog when selecting the file to import.
+ * The format is: *.<extension> [*.<extension> ...]. For instance: '*.pcf'
+ */
+ virtual QString supportedFileExtensions() const = 0;
+diff --git a/plasma_nm_version.h b/plasma_nm_version.h
+index 27fed92..f0d9249 100644
+--- a/plasma_nm_version.h
++++ b/plasma_nm_version.h
+@@ -1,4 +1,4 @@
+ #ifndef PLASMA_NM_VERSION_H
+ #define PLASMA_NM_VERSION_H
+-static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111212)";
++static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111213)";
+ #endif
+diff --git a/vpnplugins/strongswan/strongswanwidget.cpp b/vpnplugins/strongswan/strongswanwidget.cpp
+index 468f9eb..ff69ef2 100644
+--- a/vpnplugins/strongswan/strongswanwidget.cpp
++++ b/vpnplugins/strongswan/strongswanwidget.cpp
+@@ -90,7 +90,7 @@ void StrongswanSettingWidget::readConfig()
+ Q_D(StrongswanSettingWidget);
+ // General settings
+ QStringMap dataMap = d->setting->data();
+- // Gateway Adress
++ // Gateway Address
+ QString gateway = dataMap[NM_STRONGSWAN_GATEWAY];
+ if (!gateway.isEmpty()) {
+ d->ui.leGateway->setText(gateway);
+--
+1.7.7.5
+
diff --git a/0017-Indicate-in-the-error-messages-where-to-find-Network.patch b/0017-Indicate-in-the-error-messages-where-to-find-Network.patch
new file mode 100644
index 0000000..5a2ed84
--- /dev/null
+++ b/0017-Indicate-in-the-error-messages-where-to-find-Network.patch
@@ -0,0 +1,37 @@
+From be0a7fabf557d38281013d96ed2901d50784b682 Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Wed, 14 Dec 2011 17:44:43 -0200
+Subject: [PATCH 17/26] Indicate in the error messages where to find
+ NetworkManager.
+
+---
+ CMakeLists.txt | 2 +-
+ plasma_nm_version.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 308414e..d3e3c36 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -68,7 +68,7 @@ if (NETWORKMANAGER_FOUND)
+ message(FATAL_ERROR "ERROR: NetworkManager version '${NETWORKMANAGER_VERSION}' does not match minimum required (${MINIMUM_NM_VERSION_REQUIRED})")
+ endif()
+ else(NETWORKMANAGER_FOUND)
+- message(FATAL_ERROR "ERROR: NetworkManager headers >= ${MINIMUM_NM_VERSION_REQUIRED} not installed")
++ message(FATAL_ERROR "ERROR: NetworkManager headers >= ${MINIMUM_NM_VERSION_REQUIRED} not installed. http://projects.gnome.org/NetworkManager/")
+ endif(NETWORKMANAGER_FOUND)
+
+ if(INSTALL_KNM_AUTOSTART)
+diff --git a/plasma_nm_version.h b/plasma_nm_version.h
+index f0d9249..155b9a7 100644
+--- a/plasma_nm_version.h
++++ b/plasma_nm_version.h
+@@ -1,4 +1,4 @@
+ #ifndef PLASMA_NM_VERSION_H
+ #define PLASMA_NM_VERSION_H
+-static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111213)";
++static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111214)";
+ #endif
+--
+1.7.7.5
+
diff --git a/0018-Ask-for-secrets-only-once-per-connection.patch b/0018-Ask-for-secrets-only-once-per-connection.patch
new file mode 100644
index 0000000..0f33934
--- /dev/null
+++ b/0018-Ask-for-secrets-only-once-per-connection.patch
@@ -0,0 +1,83 @@
+From d1741d845b1bb05758946992031b04d1c6c0a050 Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Thu, 15 Dec 2011 21:01:46 -0200
+Subject: [PATCH 18/26] Ask for secrets only once per connection.
+
+BUG: 289072
+FIXED-IN: 0.9.0_rc4
+---
+ libs/service/secretstorage.cpp | 14 +++++++++++++-
+ libs/service/secretstorage.h | 2 --
+ plasma_nm_version.h | 2 +-
+ 3 files changed, 14 insertions(+), 4 deletions(-)
+
+diff --git a/libs/service/secretstorage.cpp b/libs/service/secretstorage.cpp
+index afb05d2..7cc25c4 100644
+--- a/libs/service/secretstorage.cpp
++++ b/libs/service/secretstorage.cpp
+@@ -44,6 +44,7 @@ public:
+ QList<Knm::Connection*> connectionsToWrite;
+ QList<Knm::Connection*> connectionsToRead;
+ QMultiHash<QString,QPair<QString,SecretsProvider::GetSecretsFlags> > settingsToRead;
++ QList<QString> userAskRequestsInProgress;
+ };
+
+
+@@ -268,6 +269,11 @@ void SecretStorage::loadSecrets(Knm::Connection *con, const QString &name, GetSe
+
+ void SecretStorage::askUser(Knm::Connection *con, const QString & name, const QStringList &secrets)
+ {
++ Q_D(SecretStorage);
++ if (d->userAskRequestsInProgress.contains(con->uuid().toString())) {
++ return;
++ }
++ d->userAskRequestsInProgress.append(con->uuid().toString());
+ ConnectionSecretsJob *job = new ConnectionSecretsJob(con, name, secrets);
+ connect(job, SIGNAL(finished(KJob*)), this, SLOT(gotSecrets(KJob*)));
+ job->start();
+@@ -291,12 +297,18 @@ KSharedConfig::Ptr SecretStorage::secretsFileForUuid(const QString & uuid)
+
+ void SecretStorage::gotSecrets(KJob *job)
+ {
++ Q_D(SecretStorage);
+ ConnectionSecretsJob * csj = static_cast<ConnectionSecretsJob*>(job);
+ bool failed = true;
+ if (csj->error() == ConnectionSecretsJob::EnumError::NoError) {
+ failed = false;
+ }
+- emit connectionRead(csj->connection(), csj->settingName(), failed, true);
++ Knm::Connection * con = csj->connection();
++
++ if (con) {
++ d->userAskRequestsInProgress.removeAll(con->uuid().toString());
++ }
++ emit connectionRead(con, csj->settingName(), failed, true);
+ }
+
+ void SecretStorage::switchStorage(SecretStorageMode oldMode, SecretStorageMode newMode)
+diff --git a/libs/service/secretstorage.h b/libs/service/secretstorage.h
+index bb74999..c7a1f9e 100644
+--- a/libs/service/secretstorage.h
++++ b/libs/service/secretstorage.h
+@@ -88,8 +88,6 @@ private:
+
+ static QString s_walletFolderName;
+ static WId s_walletWId;
+-
+-
+ };
+
+ #endif // SECRETSTORAGE_H
+diff --git a/plasma_nm_version.h b/plasma_nm_version.h
+index f0d9249..0f0f7a0 100644
+--- a/plasma_nm_version.h
++++ b/plasma_nm_version.h
+@@ -1,4 +1,4 @@
+ #ifndef PLASMA_NM_VERSION_H
+ #define PLASMA_NM_VERSION_H
+-static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111214)";
++static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111215)";
+ #endif
+--
+1.7.7.5
+
diff --git a/0019-This-file-is-not-necessary-for-Plasma-NM-0.8.80.patch b/0019-This-file-is-not-necessary-for-Plasma-NM-0.8.80.patch
new file mode 100644
index 0000000..4d9e769
--- /dev/null
+++ b/0019-This-file-is-not-necessary-for-Plasma-NM-0.8.80.patch
@@ -0,0 +1,81 @@
+From 9c59da5b8df0d8ff8e313b6f5462c5f90bbd9f7b Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Thu, 15 Dec 2011 22:24:20 -0200
+Subject: [PATCH 19/26] This file is not necessary for Plasma NM >= 0.8.80.
+ (cherry picked from commit
+ 66ea06807a23c8703e922ff0e64b5ad4b56e7bd3)
+
+---
+ CMakeLists.txt | 6 ------
+ NetworkManager-kde4.conf | 42 ------------------------------------------
+ 2 files changed, 0 insertions(+), 48 deletions(-)
+ delete mode 100644 NetworkManager-kde4.conf
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 308414e..0c55a04 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -58,12 +58,6 @@ if (NETWORKMANAGER_FOUND)
+ #add_subdirectory(monolithic)
+
+ install( FILES networkmanagement.notifyrc DESTINATION ${DATA_INSTALL_DIR}/networkmanagement )
+-
+- if (DBUS_SYSTEM_POLICY_DIR)
+- install( FILES NetworkManager-kde4.conf DESTINATION ${DBUS_SYSTEM_POLICY_DIR})
+- else (DBUS_SYSTEM_POLICY_DIR)
+- message(STATUS "It is necessary to specify the directory where the client policy file for NetworkManager-kde4 is installed as DBUS_SYSTEM_POLICY_DIR. Normally this is /etc/dbus-1/system.d on a Linux system")
+- endif (DBUS_SYSTEM_POLICY_DIR)
+ else()
+ message(FATAL_ERROR "ERROR: NetworkManager version '${NETWORKMANAGER_VERSION}' does not match minimum required (${MINIMUM_NM_VERSION_REQUIRED})")
+ endif()
+diff --git a/NetworkManager-kde4.conf b/NetworkManager-kde4.conf
+deleted file mode 100644
+index 402f548..0000000
+--- a/NetworkManager-kde4.conf
++++ /dev/null
+@@ -1,42 +0,0 @@
+-<!DOCTYPE busconfig PUBLIC
+- "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
+- "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+-<busconfig>
+- <!--
+- WARNING: if running any D-Bus version prior to 1.2.6, you may be
+- vulnerable to information leakage via the NM D-Bus interface.
+- Previous D-Bus versions did not deny-by-default, and this permissions
+- config file assumes that D-Bus will deny rules by default unless
+- explicitly over-ridden with an <allow /> tag.
+- -->
+-
+- <policy user="root">
+- <allow own="org.freedesktop.NetworkManagerUserSettings"/>
+-
+- <allow send_destination="org.freedesktop.NetworkManagerUserSettings"
+- send_interface="org.freedesktop.NetworkManager.Settings"/>
+-
+- <allow send_destination="org.freedesktop.NetworkManagerUserSettings"
+- send_interface="org.freedesktop.NetworkManager.Settings.Connection"/>
+-
+- <!-- Only root can get secrets -->
+- <allow send_destination="org.freedesktop.NetworkManagerUserSettings"
+- send_interface="org.freedesktop.NetworkManager.Settings.Connection.Secrets"/>
+- </policy>
+- <policy at_console="true">
+- <allow own="org.freedesktop.NetworkManagerUserSettings"/>
+-
+- <allow send_destination="org.freedesktop.NetworkManagerUserSettings"
+- send_interface="org.freedesktop.NetworkManager.Settings"/>
+-
+- <allow send_destination="org.freedesktop.NetworkManagerUserSettings"
+- send_interface="org.freedesktop.NetworkManager.Settings.Connection"/>
+- </policy>
+- <policy context="default">
+- <allow send_destination="org.freedesktop.NetworkManagerUserSettings"
+- send_interface="org.freedesktop.DBus.Introspectable"/>
+- </policy>
+-
+- <limit name="max_replies_per_connection">512</limit>
+-</busconfig>
+-
+--
+1.7.7.5
+
diff --git a/0020-Fix-wrong-address.patch b/0020-Fix-wrong-address.patch
new file mode 100644
index 0000000..68ecbf7
--- /dev/null
+++ b/0020-Fix-wrong-address.patch
@@ -0,0 +1,41 @@
+From 3cc917ecc2cdb0fed1b9e9052483019dd1e1e12e Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Sun, 18 Dec 2011 11:40:40 -0200
+Subject: [PATCH 20/26] Fix wrong address.
+
+---
+ plasma_nm_version.h | 2 +-
+ vpnplugins/novellvpn/nm-novellvpn-service.h | 7 +++----
+ 2 files changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/plasma_nm_version.h b/plasma_nm_version.h
+index 0f0f7a0..0da82d2 100644
+--- a/plasma_nm_version.h
++++ b/plasma_nm_version.h
+@@ -1,4 +1,4 @@
+ #ifndef PLASMA_NM_VERSION_H
+ #define PLASMA_NM_VERSION_H
+-static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111215)";
++static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111218)";
+ #endif
+diff --git a/vpnplugins/novellvpn/nm-novellvpn-service.h b/vpnplugins/novellvpn/nm-novellvpn-service.h
+index 0103fa4..825ce13 100644
+--- a/vpnplugins/novellvpn/nm-novellvpn-service.h
++++ b/vpnplugins/novellvpn/nm-novellvpn-service.h
+@@ -17,10 +17,9 @@
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, write to the Free Software
+- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+- *
++ * You should have received a copy of the GNU General Public License along
++ * with this program; if not, write to the Free Software Foundation, Inc.,
++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+ #ifndef NM_NOVELLVPN_SERVICE_H
+--
+1.7.7.5
+
diff --git a/0021-Only-enable-wifi-security-methods-None-WEP-and-WPA-W.patch b/0021-Only-enable-wifi-security-methods-None-WEP-and-WPA-W.patch
new file mode 100644
index 0000000..540a8be
--- /dev/null
+++ b/0021-Only-enable-wifi-security-methods-None-WEP-and-WPA-W.patch
@@ -0,0 +1,54 @@
+From cd59fd5850aa50461674907d8873b4566dbc1cc1 Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Sun, 25 Dec 2011 23:57:56 -0200
+Subject: [PATCH 21/26] Only enable wifi security methods None, WEP and
+ WPA/WPA2 Personnal for ad-hoc connections. NM does
+ not support the other methods when on ad-hoc mode.
+
+CCBUG: 289812
+---
+ libs/internals/wirelesssecurityidentifier.cpp | 4 ++--
+ libs/ui/security/wirelesssecuritysettingwidget.cpp | 3 +--
+ 2 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/libs/internals/wirelesssecurityidentifier.cpp b/libs/internals/wirelesssecurityidentifier.cpp
+index cf7ab79..43c63f3 100644
+--- a/libs/internals/wirelesssecurityidentifier.cpp
++++ b/libs/internals/wirelesssecurityidentifier.cpp
+@@ -81,13 +81,13 @@ bool Knm::WirelessSecurity::possible(Knm::WirelessSecurity::Type type, Solid::Co
+ return true;
+ }
+ if (type == Knm::WirelessSecurity::WpaPsk
+- ||type == Knm::WirelessSecurity::WpaEap) {
++ || ((type == Knm::WirelessSecurity::WpaEap) && !adhoc)) {
+ if (interfaceCaps & (Solid::Control::WirelessNetworkInterfaceNm09::Wpa)) {
+ return true;
+ }
+ }
+ if (type == Knm::WirelessSecurity::Wpa2Psk
+- ||type == Knm::WirelessSecurity::Wpa2Eap) {
++ || ((type == Knm::WirelessSecurity::Wpa2Eap) && !adhoc)) {
+ if (interfaceCaps & (Solid::Control::WirelessNetworkInterfaceNm09::Rsn)) {
+ return true;
+ }
+diff --git a/libs/ui/security/wirelesssecuritysettingwidget.cpp b/libs/ui/security/wirelesssecuritysettingwidget.cpp
+index 393a68d..3296256 100644
+--- a/libs/ui/security/wirelesssecuritysettingwidget.cpp
++++ b/libs/ui/security/wirelesssecuritysettingwidget.cpp
+@@ -143,12 +143,11 @@ void WirelessSecuritySettingWidget::setIfaceAndAccessPoint(Solid::Control::Wirel
+
+ // cache ap and device capabilities here
+ Solid::Control::WirelessNetworkInterfaceNm09::Capabilities ifaceCaps(0);
+- bool adhoc = false;
++ bool adhoc = d->settingWireless->mode() == Knm::WirelessSetting::EnumMode::adhoc;
+ Solid::Control::AccessPointNm09::Capabilities apCaps(0);
+ Solid::Control::AccessPointNm09::WpaFlags apWpa(0);
+ Solid::Control::AccessPointNm09::WpaFlags apRsn(0);
+
+-
+ if (iface) {
+ ifaceCaps = iface->wirelessCapabilities();
+ if (ap) {
+--
+1.7.7.5
+
diff --git a/0022-Not-all-errors-are-fatal.patch b/0022-Not-all-errors-are-fatal.patch
new file mode 100644
index 0000000..9f07caa
--- /dev/null
+++ b/0022-Not-all-errors-are-fatal.patch
@@ -0,0 +1,40 @@
+From 73c994190d1a67c3ca51cfbadab4f9bba26180a2 Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Mon, 26 Dec 2011 00:38:53 -0200
+Subject: [PATCH 22/26] Not all errors are fatal.
+
+---
+ plasma_nm_version.h | 2 +-
+ settings/config/manageconnectionwidget.cpp | 6 ------
+ 2 files changed, 1 insertions(+), 7 deletions(-)
+
+diff --git a/plasma_nm_version.h b/plasma_nm_version.h
+index 0da82d2..55ae5d9 100644
+--- a/plasma_nm_version.h
++++ b/plasma_nm_version.h
+@@ -1,4 +1,4 @@
+ #ifndef PLASMA_NM_VERSION_H
+ #define PLASMA_NM_VERSION_H
+-static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111218)";
++static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111226)";
+ #endif
+diff --git a/settings/config/manageconnectionwidget.cpp b/settings/config/manageconnectionwidget.cpp
+index 6ba5584..71c64d8 100644
+--- a/settings/config/manageconnectionwidget.cpp
++++ b/settings/config/manageconnectionwidget.cpp
+@@ -539,12 +539,6 @@ void ManageConnectionWidget::editGotSecrets(bool valid, const QString &errorMess
+ KMessageBox::error(this, i18n("Error"));
+ else
+ KMessageBox::error(this, errorMessage);
+-
+- if (mEditConnection && mEditConnection->uuid() == uuid) {
+- delete mEditConnection;
+- mEditConnection = 0;
+- return;
+- }
+ }
+
+ if (!mEditConnection || mEditConnection->uuid() != uuid) {
+--
+1.7.7.5
+
diff --git a/0023-Configure-adhoc-WPA-wifi-like-nm-applet-does.patch b/0023-Configure-adhoc-WPA-wifi-like-nm-applet-does.patch
new file mode 100644
index 0000000..319769d
--- /dev/null
+++ b/0023-Configure-adhoc-WPA-wifi-like-nm-applet-does.patch
@@ -0,0 +1,47 @@
+From ea572b6e35b73fbcbf5c99db112e80b09e57af7f Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Mon, 26 Dec 2011 00:51:21 -0200
+Subject: [PATCH 23/26] Configure adhoc WPA wifi like nm-applet does.
+
+CCBUG: 289812
+(cherry picked from commit e14f5841d6261f81334e0d3c220588036ef599b2)
+---
+ .../settings/802-11-wireless-securitydbus.cpp | 1 +
+ libs/ui/security/wirelesssecuritysettingwidget.cpp | 9 ++++++++-
+ 2 files changed, 9 insertions(+), 1 deletions(-)
+
+diff --git a/backends/NetworkManager/settings/802-11-wireless-securitydbus.cpp b/backends/NetworkManager/settings/802-11-wireless-securitydbus.cpp
+index 4ea8f30..933a5b7 100644
+--- a/backends/NetworkManager/settings/802-11-wireless-securitydbus.cpp
++++ b/backends/NetworkManager/settings/802-11-wireless-securitydbus.cpp
+@@ -38,6 +38,7 @@ void WirelessSecurityDbus::fromMap(const QVariantMap & map)
+ else if (map.value(QLatin1String(NM_SETTING_WIRELESS_SECURITY_KEY_MGMT)) == "wpa-none")
+ {
+ setting->setKeymgmt(Knm::WirelessSecuritySetting::EnumKeymgmt::WPANone);
++ setting->setSecurityType(Knm::WirelessSecuritySetting::EnumSecurityType::WpaPsk);
+ }
+ else if (map.value(QLatin1String(NM_SETTING_WIRELESS_SECURITY_KEY_MGMT)) == "wpa-psk")
+ {
+diff --git a/libs/ui/security/wirelesssecuritysettingwidget.cpp b/libs/ui/security/wirelesssecuritysettingwidget.cpp
+index 3296256..c3dfe07 100644
+--- a/libs/ui/security/wirelesssecuritysettingwidget.cpp
++++ b/libs/ui/security/wirelesssecuritysettingwidget.cpp
+@@ -328,7 +328,14 @@ void WirelessSecuritySettingWidget::writeConfig()
+ else if (d->ui.cboType->currentIndex() == d->wpaPsk.first) {
+ d->setting8021x->setEnabled(false);
+ d->settingSecurity->setSecurityType(Knm::WirelessSecuritySetting::EnumSecurityType::WpaPsk); // FIXME
+- d->settingSecurity->setKeymgmt(Knm::WirelessSecuritySetting::EnumKeymgmt::WPAPSK);
++ if (d->settingWireless->mode() == Knm::WirelessSetting::EnumMode::adhoc) {
++ d->settingSecurity->setKeymgmt(Knm::WirelessSecuritySetting::EnumKeymgmt::WPANone);
++ d->settingSecurity->setProto(QStringList() << "wpa");
++ d->settingSecurity->setPairwise(QStringList() << "none");
++ d->settingSecurity->setGroup(QStringList() << "tkip");
++ } else {
++ d->settingSecurity->setKeymgmt(Knm::WirelessSecuritySetting::EnumKeymgmt::WPAPSK);
++ }
+ }
+ else if (d->ui.cboType->currentIndex() == d->wpaEap.first) {
+ d->setting8021x->setEnabled(true);
+--
+1.7.7.5
+
diff --git a/0024-Do-not-set-password-flags-if-password-is-not-set.patch b/0024-Do-not-set-password-flags-if-password-is-not-set.patch
new file mode 100644
index 0000000..31ef5e8
--- /dev/null
+++ b/0024-Do-not-set-password-flags-if-password-is-not-set.patch
@@ -0,0 +1,65 @@
+From 17130fac997385ee3bc465a0c7fd0a7a02a793b4 Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Mon, 26 Dec 2011 15:47:30 -0200
+Subject: [PATCH 24/26] Do not set password flags if password is not set.
+ (cherry picked from commit
+ 1cfda04aa1e7adf066c52c0a08191e9244e06308)
+
+---
+ .../settings/802-11-wireless-securitydbus.cpp | 10 ++++------
+ 1 files changed, 4 insertions(+), 6 deletions(-)
+
+diff --git a/backends/NetworkManager/settings/802-11-wireless-securitydbus.cpp b/backends/NetworkManager/settings/802-11-wireless-securitydbus.cpp
+index 933a5b7..d914e95 100644
+--- a/backends/NetworkManager/settings/802-11-wireless-securitydbus.cpp
++++ b/backends/NetworkManager/settings/802-11-wireless-securitydbus.cpp
+@@ -74,8 +74,8 @@ void WirelessSecurityDbus::fromMap(const QVariantMap & map)
+ //SECRET
+ if (map.contains(QLatin1String(NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD))) {
+ setting->setLeappassword(map.value(QLatin1String(NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD)).value<QString>());
++ setting->setLeappasswordflags((Knm::Setting::secretsTypes)map.value(QLatin1String(NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD_FLAGS)).value<int>());
+ }
+-
+ }
+ }
+
+@@ -107,6 +107,7 @@ if (map.contains(QLatin1String(NM_SETTING_WIRELESS_SECURITY_PROTO))) {
+ // SECRET
+ if (map.contains(QLatin1String(NM_SETTING_WIRELESS_SECURITY_PSK))) {
+ setting->setPsk(map.value(QLatin1String(NM_SETTING_WIRELESS_SECURITY_PSK)).value<QString>());
++ setting->setPskflags((Knm::Setting::secretsTypes)map.value(QLatin1String(NM_SETTING_WIRELESS_SECURITY_PSK_FLAGS)).value<int>());
+ }
+
+ if (map.contains(QLatin1String(NM_SETTING_WIRELESS_SECURITY_WEP_KEY_TYPE))) {
+@@ -118,11 +119,8 @@ if (map.contains(QLatin1String(NM_SETTING_WIRELESS_SECURITY_PROTO))) {
+ {
+ setting->setWepKeyType(Knm::WirelessSecuritySetting::Passphrase);
+ }
++ setting->setWepkeyflags((Knm::Setting::secretsTypes)map.value(QLatin1String(NM_SETTING_WIRELESS_SECURITY_WEP_KEY_FLAGS)).value<int>());
+ }
+-
+- setting->setPskflags((Knm::Setting::secretsTypes)map.value(QLatin1String(NM_SETTING_WIRELESS_SECURITY_PSK_FLAGS)).value<int>());
+- setting->setWepkeyflags((Knm::Setting::secretsTypes)map.value(QLatin1String(NM_SETTING_WIRELESS_SECURITY_WEP_KEY_FLAGS)).value<int>());
+- setting->setLeappasswordflags((Knm::Setting::secretsTypes)map.value(QLatin1String(NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD_FLAGS)).value<int>());
+ }
+
+ QVariantMap WirelessSecurityDbus::toMap()
+@@ -179,6 +177,7 @@ QVariantMap WirelessSecurityDbus::toMap()
+ }
+ if (!setting->leapusername().isEmpty()) {
+ map.insert(QLatin1String(NM_SETTING_WIRELESS_SECURITY_LEAP_USERNAME), setting->leapusername());
++ map.insert(QLatin1String(NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD_FLAGS), (int)setting->leappasswordflags());
+ }
+
+ map.unite(toSecretsMap());
+@@ -189,7 +188,6 @@ QVariantMap WirelessSecurityDbus::toMap()
+ if(!setting->psk().isEmpty()) {
+ map.insert(QLatin1String(NM_SETTING_WIRELESS_SECURITY_PSK_FLAGS), (int)setting->pskflags());
+ }
+- map.insert(QLatin1String(NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD_FLAGS), (int)setting->leappasswordflags());
+
+ } // end of if not setting->clear()
+ return map;
+--
+1.7.7.5
+
diff --git a/0026-Increase-connection-s-row-a-bit.patch b/0026-Increase-connection-s-row-a-bit.patch
new file mode 100644
index 0000000..da0fbdb
--- /dev/null
+++ b/0026-Increase-connection-s-row-a-bit.patch
@@ -0,0 +1,41 @@
+From b5a64a8310b34eb634a9301ea6548a6c9a8722f6 Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Tue, 27 Dec 2011 12:10:00 -0200
+Subject: [PATCH 26/26] Increase connection's row a bit. Keep in mind that the
+ entire connection row is always resized, not only the
+ icon. The icon is free to increase as long as there
+ is room in the row's height, so it can have any
+ height, not only 22 pixels.
+
+BUG: 289856
+---
+ applet/activatableitem.cpp | 2 +-
+ plasma_nm_version.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/applet/activatableitem.cpp b/applet/activatableitem.cpp
+index c8e8ffc..6edfc29 100644
+--- a/applet/activatableitem.cpp
++++ b/applet/activatableitem.cpp
+@@ -41,7 +41,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ K_GLOBAL_STATIC_WITH_ARGS(KComponentData, s_networkManagementComponentData, ("networkmanagement", "networkmanagement", KComponentData::SkipMainComponentRegistration))
+ static const int m_iconSize = 48;
+-int rowHeight = qMax(28, QFontMetrics(KGlobalSettings::generalFont()).height()+10);
++int rowHeight = qMax(30, QFontMetrics(KGlobalSettings::generalFont()).height()+10);
+ int maxConnectionNameWidth = QFontMetrics(KGlobalSettings::generalFont()).width("12345678901234567890123");
+
+ ActivatableItem::ActivatableItem(RemoteActivatable *remote, QGraphicsItem * parent) : Plasma::IconWidget(parent),
+diff --git a/plasma_nm_version.h b/plasma_nm_version.h
+index 55ae5d9..bf09030 100644
+--- a/plasma_nm_version.h
++++ b/plasma_nm_version.h
+@@ -1,4 +1,4 @@
+ #ifndef PLASMA_NM_VERSION_H
+ #define PLASMA_NM_VERSION_H
+-static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111226)";
++static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111227)";
+ #endif
+--
+1.7.7.5
+
diff --git a/kde-plasma-networkmanagement.spec b/kde-plasma-networkmanagement.spec
index 4a2b031..0cd3f02 100644
--- a/kde-plasma-networkmanagement.spec
+++ b/kde-plasma-networkmanagement.spec
@@ -1,11 +1,11 @@
-%global beta 20111203git
+%global beta 20111227git
%global tarballversion 0.8.98
Name: kde-plasma-networkmanagement
Epoch: 1
Version: 0.9
-Release: 0.67.%{beta}.nm09%{?dist}
+Release: 0.68.%{beta}.nm09%{?dist}
Summary: NetworkManager KDE 4 integration
Group: Applications/Internet
@@ -30,6 +30,20 @@ Patch107: 0007-Try-not-to-crash-if-NM-does-not-respond-to-the-AddCo.patch
Patch108: 0008-Fix-wifi-WPA2-edit-dialog.patch
Patch109: 0009-Change-networkmanagement_configshell-to-inform-error.patch
Patch110: 0010-Change-mobile-broadband-wwan-checkbox-into-a-tristat.patch
+Patch111: 0011-This-is-not-needed-anymore.patch
+Patch112: 0012-Fix-broken-xml-tags-in-tooltips.patch
+Patch114: 0014-Try-again-to-fix-WPA2-config-dialog.patch
+Patch115: 0015-Abort-cmake-if-suitable-NetworkManager-headers-are-n.patch
+Patch116: 0016-Fix-some-spelling-errors.patch
+Patch117: 0017-Indicate-in-the-error-messages-where-to-find-Network.patch
+Patch118: 0018-Ask-for-secrets-only-once-per-connection.patch
+Patch119: 0019-This-file-is-not-necessary-for-Plasma-NM-0.8.80.patch
+Patch120: 0020-Fix-wrong-address.patch
+Patch121: 0021-Only-enable-wifi-security-methods-None-WEP-and-WPA-W.patch
+Patch122: 0022-Not-all-errors-are-fatal.patch
+Patch123: 0023-Configure-adhoc-WPA-wifi-like-nm-applet-does.patch
+Patch124: 0024-Do-not-set-password-flags-if-password-is-not-set.patch
+Patch126: 0026-Increase-connection-s-row-a-bit.patch
BuildRequires: kdelibs4-devel >= 4.5.0
@@ -122,6 +136,19 @@ Requires: NetworkManager-openconnect
%patch108 -p1 -b .0008
%patch109 -p1 -b .0009
%patch110 -p1 -b .0010
+%patch112 -p1 -b .0012
+%patch114 -p1 -b .0014
+%patch115 -p1 -b .0015
+%patch116 -p1 -b .0016
+%patch117 -p1 -b .0017
+%patch118 -p1 -b .0018
+%patch119 -p1 -b .0019
+%patch120 -p1 -b .0020
+%patch121 -p1 -b .0021
+%patch122 -p1 -b .0022
+%patch123 -p1 -b .0023
+%patch124 -p1 -b .0024
+%patch126 -p1 -b .0026
# nuke monolithic knm bits
rm -rfv monolithic po/*/knetworkmanager.po
@@ -242,6 +269,9 @@ gtk-update-icon-cache %{_kde4_iconsdir}/oxygen &> /dev/null || :
%changelog
+* Tue Dec 27 2011 Rex Dieter <rdieter at fedoraproject.org> 1:0.9-0.68.20111227git.nm09
+- 20111227 snapshot
+
* Sun Dec 04 2011 Rex Dieter <rdieter at fedoraproject.org> 1:0.9-0.67.20111203git.nm09
- 20111203 snapshot
More information about the scm-commits
mailing list