From d8e7a564c100c7f04886ef1c1b2019a2f9164e33 Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Feb 19 2013 22:06:44 +0000 Subject: Add patches from upstream --- diff --git a/kde-plasma-networkmanagement-vpn-lock-indicator.patch b/kde-plasma-networkmanagement-vpn-lock-indicator.patch new file mode 100644 index 0000000..0a1cf9c --- /dev/null +++ b/kde-plasma-networkmanagement-vpn-lock-indicator.patch @@ -0,0 +1,24 @@ +--- a/applet/networkmanager.cpp ++++ b/applet/networkmanager.cpp +@@ -1039,8 +1039,9 @@ + break; + case Knm::InterfaceConnection::Unknown: + m_activeVpnConnections.remove(id); +- if (oldState == Knm::InterfaceConnection::Activated && m_totalActiveVpnConnections > 0) ++ if (oldState >= Knm::InterfaceConnection::Activated && m_totalActiveVpnConnections > 0) { + m_totalActiveVpnConnections--; ++ } + break; + } + //kDebug() << newState << m_totalActiveVpnConnections; +--- a/libs/internals/interfaceconnection.h ++++ b/libs/internals/interfaceconnection.h +@@ -48,7 +48,7 @@ + public: + friend class InterfaceConnectionBuilder; + +- enum ActivationState { Unknown, Activating, Activated }; ++ enum ActivationState { Unknown, Activating, Activated, Deactivating, Deactivated }; + + + // To create an object of InterfaceConnection class please use diff --git a/kde-plasma-networkmanagement-wpa2.patch b/kde-plasma-networkmanagement-wpa2.patch new file mode 100644 index 0000000..3437181 --- /dev/null +++ b/kde-plasma-networkmanagement-wpa2.patch @@ -0,0 +1,221 @@ +--- a/libs/internals/setting.cpp ++++ b/libs/internals/setting.cpp +@@ -179,7 +179,7 @@ + return false; + } + +-QStringList Setting::needSecrets() const ++QStringList Setting::needSecrets(const bool /*requestNew*/) const + { + return QStringList(); + } +--- a/libs/internals/setting.h ++++ b/libs/internals/setting.h +@@ -48,7 +48,7 @@ + virtual bool hasVolatileSecrets() const { return false; } + virtual QMap secretsToMap() const; + virtual void secretsFromMap(QMap); +- virtual QStringList needSecrets() const; ++ virtual QStringList needSecrets(const bool requestNew = false) const; + virtual bool hasPersistentSecrets() const; + bool secretsAvailable() const; + void setSecretsAvailable(bool secretsAvailable); +--- a/libs/internals/settings/802-11-wireless-security.cpp ++++ b/libs/internals/settings/802-11-wireless-security.cpp +@@ -111,7 +111,7 @@ + setSecretsAvailable(secretsAvailable); + } + +-QStringList WirelessSecuritySetting::needSecrets() const ++QStringList WirelessSecuritySetting::needSecrets(const bool requestNew) const + { + QStringList list; + switch (securityType()) +@@ -124,19 +124,19 @@ + switch (weptxkeyindex()) + { + case 0: +- if (wepkey0().isEmpty()) ++ if ((wepkey0().isEmpty() || requestNew)) + list.append("wepkey0"); + break; + case 1: +- if (wepkey1().isEmpty()) ++ if ((wepkey1().isEmpty() || requestNew)) + list.append("wepkey1"); + break; + case 2: +- if (wepkey2().isEmpty()) ++ if ((wepkey2().isEmpty() || requestNew)) + list.append("wepkey2"); + break; + case 3: +- if (wepkey3().isEmpty()) ++ if ((wepkey3().isEmpty() || requestNew)) + list.append("wepkey3"); + break; + } +@@ -145,11 +145,11 @@ + break; + case WirelessSecuritySetting::EnumSecurityType::WpaPsk: + case WirelessSecuritySetting::EnumSecurityType::Wpa2Psk: +- if (psk().isEmpty() && !pskflags().testFlag(Setting::NotRequired)) ++ if ((psk().isEmpty() || requestNew) && !pskflags().testFlag(Setting::NotRequired)) + list.append("psk"); + break; + case WirelessSecuritySetting::EnumSecurityType::Leap: +- if (leappassword().isEmpty() && !leappasswordflags().testFlag(Setting::NotRequired)) ++ if ((leappassword().isEmpty() || requestNew) && !leappasswordflags().testFlag(Setting::NotRequired)) + list.append("leappassword"); + break; + } +--- a/libs/internals/settings/802-11-wireless-security.h ++++ b/libs/internals/settings/802-11-wireless-security.h +@@ -41,7 +41,7 @@ + + QMap secretsToMap() const; + void secretsFromMap(QMap secrets); +- QStringList needSecrets() const; ++ QStringList needSecrets(const bool requestNew = false) const; + bool hasPersistentSecrets() const; + + /** +--- a/libs/internals/settings/802-1x.cpp ++++ b/libs/internals/settings/802-1x.cpp +@@ -88,18 +88,18 @@ + setPhase2privatekeypassword(secrets.value("phase2-private-key-password")); + } + +-QStringList Security8021xSetting::needSecrets() const ++QStringList Security8021xSetting::needSecrets(const bool requestNew) const + { + QStringList list; + if (enabled()) { + Security8021xSetting::EapMethods eap = eapFlags(); +- if (eap.testFlag(Security8021xSetting::tls) && privatekeypassword().isEmpty() && !privatekeypasswordflags().testFlag(Setting::NotRequired)) { ++ if (eap.testFlag(Security8021xSetting::tls) && (privatekeypassword().isEmpty() || requestNew) && !privatekeypasswordflags().testFlag(Setting::NotRequired)) { + list.append("private-key-password"); + } else if ((eap.testFlag(Security8021xSetting::peap) || eap.testFlag(Security8021xSetting::ttls) || eap.testFlag(Security8021xSetting::leap)) +- && password().isEmpty() && !passwordflags().testFlag(Setting::NotRequired)) { ++ && (password().isEmpty() || requestNew) && !passwordflags().testFlag(Setting::NotRequired)) { + list.append("password"); + } +- if ((phase2auth() == EnumPhase2auth::tls || phase2autheap() == EnumPhase2autheap::tls) && phase2privatekeypassword().isEmpty() ++ if ((phase2auth() == EnumPhase2auth::tls || phase2autheap() == EnumPhase2autheap::tls) && (phase2privatekeypassword().isEmpty() || requestNew) + && !phase2privatekeypasswordflags().testFlag(Setting::NotRequired)) { + list.append("phase2-private-key-password"); + } +--- a/libs/internals/settings/802-1x.h ++++ b/libs/internals/settings/802-1x.h +@@ -43,7 +43,7 @@ + + QMap secretsToMap() const; + void secretsFromMap(QMap secrets); +- QStringList needSecrets() const; ++ QStringList needSecrets(const bool requestNew = false) const; + bool hasPersistentSecrets() const; + + /** +--- a/libs/internals/settings/cdma.cpp ++++ b/libs/internals/settings/cdma.cpp +@@ -40,10 +40,10 @@ + setPassword(secrets.value("password")); + } + +-QStringList CdmaSetting::needSecrets() const ++QStringList CdmaSetting::needSecrets(const bool requestNew) const + { + QStringList list; +- if (password().isEmpty() && !passwordflags().testFlag(Setting::NotRequired)) ++ if ((password().isEmpty() || requestNew) && !passwordflags().testFlag(Setting::NotRequired)) + list.append("password"); + return list; + } +--- a/libs/internals/settings/cdma.h ++++ b/libs/internals/settings/cdma.h +@@ -22,7 +22,7 @@ + + QMap secretsToMap() const; + void secretsFromMap(QMap secrets); +- QStringList needSecrets() const; ++ QStringList needSecrets(const bool requestNew = false) const; + bool hasPersistentSecrets() const; + + /** +--- a/libs/internals/settings/gsm.cpp ++++ b/libs/internals/settings/gsm.cpp +@@ -51,12 +51,12 @@ + setPin(secrets.value("pin")); + } + +-QStringList GsmSetting::needSecrets() const ++QStringList GsmSetting::needSecrets(const bool requestNew) const + { + QStringList list; +- if (password().isEmpty() && !passwordflags().testFlag(Setting::NotRequired)) ++ if ((password().isEmpty() || requestNew) && !passwordflags().testFlag(Setting::NotRequired)) + list.append("password"); +- if (pin().isEmpty() && !pinflags().testFlag(Setting::NotRequired)) ++ if ((pin().isEmpty() || requestNew) && !pinflags().testFlag(Setting::NotRequired)) + list.append("pin"); + return list; + } +--- a/libs/internals/settings/gsm.h ++++ b/libs/internals/settings/gsm.h +@@ -22,7 +22,7 @@ + + QMap secretsToMap() const; + void secretsFromMap(QMap secrets); +- QStringList needSecrets() const; ++ QStringList needSecrets(const bool requestNew = false) const; + bool hasPersistentSecrets() const; + + /** +--- a/libs/internals/settings/pppoe.cpp ++++ b/libs/internals/settings/pppoe.cpp +@@ -40,10 +40,10 @@ + setPassword(secrets.value("password")); + } + +-QStringList PppoeSetting::needSecrets() const ++QStringList PppoeSetting::needSecrets(const bool requestNew) const + { + QStringList list; +- if (password().isEmpty() && !passwordflags().testFlag(Setting::NotRequired)) ++ if ((password().isEmpty() || requestNew) && !passwordflags().testFlag(Setting::NotRequired)) + list.append("password"); + return list; + } +--- a/libs/internals/settings/pppoe.h ++++ b/libs/internals/settings/pppoe.h +@@ -22,7 +22,7 @@ + + QMap secretsToMap() const; + void secretsFromMap(QMap secrets); +- QStringList needSecrets() const; ++ QStringList needSecrets(const bool requestNew = false) const; + bool hasPersistentSecrets() const; + + /** +--- a/libs/internals/settings/vpn.cpp ++++ b/libs/internals/settings/vpn.cpp +@@ -122,7 +122,7 @@ + setSecretsAvailable(true); + } + +-QStringList VpnSetting::needSecrets() const ++QStringList VpnSetting::needSecrets(const bool /*requestNew*/) const + { + // VPN is a bit different from other connection types. We do not need to list the secrets we need, + // but this list cannot be empty or SecretStorage will not ask for the secrets. +--- a/libs/internals/settings/vpn.h ++++ b/libs/internals/settings/vpn.h +@@ -28,7 +28,7 @@ + static QVariantMap variantMapFromStringList(const QStringList & list); + static QStringMap stringMapFromStringList(const QStringList & list); + static QStringList stringMapToStringList(const QStringMap & map); +- QStringList needSecrets() const; ++ QStringList needSecrets(const bool requestNew = false) const; + bool hasPersistentSecrets() const; + + /** diff --git a/kde-plasma-networkmanagement.spec b/kde-plasma-networkmanagement.spec index b16faf8..b07a93f 100644 --- a/kde-plasma-networkmanagement.spec +++ b/kde-plasma-networkmanagement.spec @@ -1,7 +1,7 @@ Name: kde-plasma-networkmanagement Epoch: 1 Version: 0.9.0.7 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NetworkManager KDE 4 integration License: (GPLv2 or GPLv3) and GPLv2+ and LGPLv2+ and LGPLv2 @@ -14,6 +14,8 @@ Source0: http://download.kde.org/unstable/networkmanagement/%{version}/sr Source10: 00-fedora-networkmanagement.js ## upstream patches +Patch0: kde-plasma-networkmanagement-wpa2.patch +Patch1: kde-plasma-networkmanagement-vpn-lock-indicator.patch BuildRequires: gettext BuildRequires: kdelibs4-devel @@ -91,6 +93,8 @@ Requires: NetworkManager-openconnect %prep %setup -q -n networkmanagement-%{version} +%patch0 -p1 -b .wpa2 +%patch1 -p1 -b .vpn-lock-indicator %build if [ -x %{_bindir}/plasma-dataengine-depextractor ] ; then @@ -210,6 +214,10 @@ gtk-update-icon-cache %{_kde4_iconsdir}/oxygen &> /dev/null || : %changelog +* Sat Jan 27 2013 Jan Grulich 0.9.0.7-2 +- fix the wpa2 bug with missing password field #bz832893 +- fix the bug with lock indicator #bz912603 + * Sat Jan 27 2013 Jan Grulich 0.9.0.7-1 - 0.9.0.7