Blame kde-plasma-networkmanagement-wpa2.patch

d8e7a56
--- a/libs/internals/setting.cpp
d8e7a56
+++ b/libs/internals/setting.cpp
d8e7a56
@@ -179,7 +179,7 @@
d8e7a56
     return false;
d8e7a56
 }
d8e7a56
 
d8e7a56
-QStringList Setting::needSecrets() const
d8e7a56
+QStringList Setting::needSecrets(const bool /*requestNew*/) const
d8e7a56
 {
d8e7a56
     return QStringList();
d8e7a56
 }
d8e7a56
--- a/libs/internals/setting.h
d8e7a56
+++ b/libs/internals/setting.h
d8e7a56
@@ -48,7 +48,7 @@
d8e7a56
     virtual bool hasVolatileSecrets() const { return false; }
d8e7a56
     virtual QMap<QString,QString> secretsToMap() const;
d8e7a56
     virtual void secretsFromMap(QMap<QString,QString>);
d8e7a56
-    virtual QStringList needSecrets() const;
d8e7a56
+    virtual QStringList needSecrets(const bool requestNew = false) const;
d8e7a56
     virtual bool hasPersistentSecrets() const;
d8e7a56
     bool secretsAvailable() const;
d8e7a56
     void setSecretsAvailable(bool secretsAvailable);
d8e7a56
--- a/libs/internals/settings/802-11-wireless-security.cpp
d8e7a56
+++ b/libs/internals/settings/802-11-wireless-security.cpp
d8e7a56
@@ -111,7 +111,7 @@
d8e7a56
     setSecretsAvailable(secretsAvailable);
d8e7a56
 }
d8e7a56
 
d8e7a56
-QStringList WirelessSecuritySetting::needSecrets() const
d8e7a56
+QStringList WirelessSecuritySetting::needSecrets(const bool requestNew) const
d8e7a56
 {
d8e7a56
     QStringList list;
d8e7a56
     switch (securityType())
d8e7a56
@@ -124,19 +124,19 @@
d8e7a56
                 switch (weptxkeyindex())
d8e7a56
                 {
d8e7a56
                     case 0:
d8e7a56
-                        if (wepkey0().isEmpty())
d8e7a56
+                        if ((wepkey0().isEmpty() || requestNew))
d8e7a56
                             list.append("wepkey0");
d8e7a56
                         break;
d8e7a56
                     case 1:
d8e7a56
-                        if (wepkey1().isEmpty())
d8e7a56
+                        if ((wepkey1().isEmpty() || requestNew))
d8e7a56
                             list.append("wepkey1");
d8e7a56
                         break;
d8e7a56
                     case 2:
d8e7a56
-                        if (wepkey2().isEmpty())
d8e7a56
+                        if ((wepkey2().isEmpty() || requestNew))
d8e7a56
                             list.append("wepkey2");
d8e7a56
                         break;
d8e7a56
                     case 3:
d8e7a56
-                        if (wepkey3().isEmpty())
d8e7a56
+                        if ((wepkey3().isEmpty() || requestNew))
d8e7a56
                             list.append("wepkey3");
d8e7a56
                         break;
d8e7a56
                 }
d8e7a56
@@ -145,11 +145,11 @@
d8e7a56
             break;
d8e7a56
         case WirelessSecuritySetting::EnumSecurityType::WpaPsk:
d8e7a56
         case WirelessSecuritySetting::EnumSecurityType::Wpa2Psk:
d8e7a56
-            if (psk().isEmpty() && !pskflags().testFlag(Setting::NotRequired))
d8e7a56
+            if ((psk().isEmpty() || requestNew) && !pskflags().testFlag(Setting::NotRequired))
d8e7a56
                 list.append("psk");
d8e7a56
             break;
d8e7a56
         case WirelessSecuritySetting::EnumSecurityType::Leap:
d8e7a56
-            if (leappassword().isEmpty() && !leappasswordflags().testFlag(Setting::NotRequired))
d8e7a56
+            if ((leappassword().isEmpty() || requestNew) && !leappasswordflags().testFlag(Setting::NotRequired))
d8e7a56
                 list.append("leappassword");
d8e7a56
             break;
d8e7a56
     }
d8e7a56
--- a/libs/internals/settings/802-11-wireless-security.h
d8e7a56
+++ b/libs/internals/settings/802-11-wireless-security.h
d8e7a56
@@ -41,7 +41,7 @@
d8e7a56
 
d8e7a56
     QMap<QString,QString> secretsToMap() const;
d8e7a56
     void secretsFromMap(QMap<QString,QString> secrets);
d8e7a56
-    QStringList needSecrets() const;
d8e7a56
+    QStringList needSecrets(const bool requestNew = false) const;
d8e7a56
     bool hasPersistentSecrets() const;
d8e7a56
 
d8e7a56
     /**
d8e7a56
--- a/libs/internals/settings/802-1x.cpp
d8e7a56
+++ b/libs/internals/settings/802-1x.cpp
d8e7a56
@@ -88,18 +88,18 @@
d8e7a56
     setPhase2privatekeypassword(secrets.value("phase2-private-key-password"));
d8e7a56
 }
d8e7a56
 
d8e7a56
-QStringList Security8021xSetting::needSecrets() const
d8e7a56
+QStringList Security8021xSetting::needSecrets(const bool requestNew) const
d8e7a56
 {
d8e7a56
     QStringList list;
d8e7a56
     if (enabled()) {
d8e7a56
         Security8021xSetting::EapMethods eap = eapFlags();
d8e7a56
-        if (eap.testFlag(Security8021xSetting::tls) && privatekeypassword().isEmpty() && !privatekeypasswordflags().testFlag(Setting::NotRequired)) {
d8e7a56
+        if (eap.testFlag(Security8021xSetting::tls) && (privatekeypassword().isEmpty() || requestNew) && !privatekeypasswordflags().testFlag(Setting::NotRequired)) {
d8e7a56
             list.append("private-key-password");
d8e7a56
         } else if ((eap.testFlag(Security8021xSetting::peap) || eap.testFlag(Security8021xSetting::ttls) || eap.testFlag(Security8021xSetting::leap))
d8e7a56
-            && password().isEmpty() && !passwordflags().testFlag(Setting::NotRequired)) {
d8e7a56
+            && (password().isEmpty() || requestNew) && !passwordflags().testFlag(Setting::NotRequired)) {
d8e7a56
             list.append("password");
d8e7a56
         }
d8e7a56
-        if ((phase2auth() == EnumPhase2auth::tls || phase2autheap() == EnumPhase2autheap::tls) && phase2privatekeypassword().isEmpty()
d8e7a56
+        if ((phase2auth() == EnumPhase2auth::tls || phase2autheap() == EnumPhase2autheap::tls) && (phase2privatekeypassword().isEmpty() || requestNew)
d8e7a56
             && !phase2privatekeypasswordflags().testFlag(Setting::NotRequired)) {
d8e7a56
             list.append("phase2-private-key-password");
d8e7a56
         }
d8e7a56
--- a/libs/internals/settings/802-1x.h
d8e7a56
+++ b/libs/internals/settings/802-1x.h
d8e7a56
@@ -43,7 +43,7 @@
d8e7a56
 
d8e7a56
     QMap<QString,QString> secretsToMap() const;
d8e7a56
     void secretsFromMap(QMap<QString,QString> secrets);
d8e7a56
-    QStringList needSecrets() const;
d8e7a56
+    QStringList needSecrets(const bool requestNew = false) const;
d8e7a56
     bool hasPersistentSecrets() const;
d8e7a56
 
d8e7a56
     /**
d8e7a56
--- a/libs/internals/settings/cdma.cpp
d8e7a56
+++ b/libs/internals/settings/cdma.cpp
d8e7a56
@@ -40,10 +40,10 @@
d8e7a56
     setPassword(secrets.value("password"));
d8e7a56
 }
d8e7a56
 
d8e7a56
-QStringList CdmaSetting::needSecrets() const
d8e7a56
+QStringList CdmaSetting::needSecrets(const bool requestNew) const
d8e7a56
 {
d8e7a56
     QStringList list;
d8e7a56
-    if (password().isEmpty() && !passwordflags().testFlag(Setting::NotRequired))
d8e7a56
+    if ((password().isEmpty() || requestNew) && !passwordflags().testFlag(Setting::NotRequired))
d8e7a56
         list.append("password");
d8e7a56
     return list;
d8e7a56
 }
d8e7a56
--- a/libs/internals/settings/cdma.h
d8e7a56
+++ b/libs/internals/settings/cdma.h
d8e7a56
@@ -22,7 +22,7 @@
d8e7a56
 
d8e7a56
     QMap<QString,QString> secretsToMap() const;
d8e7a56
     void secretsFromMap(QMap<QString,QString> secrets);
d8e7a56
-    QStringList needSecrets() const;
d8e7a56
+    QStringList needSecrets(const bool requestNew = false) const;
d8e7a56
     bool hasPersistentSecrets() const;
d8e7a56
 
d8e7a56
     /**
d8e7a56
--- a/libs/internals/settings/gsm.cpp
d8e7a56
+++ b/libs/internals/settings/gsm.cpp
d8e7a56
@@ -51,12 +51,12 @@
d8e7a56
     setPin(secrets.value("pin"));
d8e7a56
 }
d8e7a56
 
d8e7a56
-QStringList GsmSetting::needSecrets() const
d8e7a56
+QStringList GsmSetting::needSecrets(const bool requestNew) const
d8e7a56
 {
d8e7a56
     QStringList list;
d8e7a56
-    if (password().isEmpty() && !passwordflags().testFlag(Setting::NotRequired))
d8e7a56
+    if ((password().isEmpty() || requestNew) && !passwordflags().testFlag(Setting::NotRequired))
d8e7a56
         list.append("password");
d8e7a56
-    if (pin().isEmpty() && !pinflags().testFlag(Setting::NotRequired))
d8e7a56
+    if ((pin().isEmpty() || requestNew) && !pinflags().testFlag(Setting::NotRequired))
d8e7a56
         list.append("pin");
d8e7a56
     return list;
d8e7a56
 }
d8e7a56
--- a/libs/internals/settings/gsm.h
d8e7a56
+++ b/libs/internals/settings/gsm.h
d8e7a56
@@ -22,7 +22,7 @@
d8e7a56
 
d8e7a56
     QMap<QString,QString> secretsToMap() const;
d8e7a56
     void secretsFromMap(QMap<QString,QString> secrets);
d8e7a56
-    QStringList needSecrets() const;
d8e7a56
+    QStringList needSecrets(const bool requestNew = false) const;
d8e7a56
     bool hasPersistentSecrets() const;
d8e7a56
 
d8e7a56
     /**
d8e7a56
--- a/libs/internals/settings/pppoe.cpp
d8e7a56
+++ b/libs/internals/settings/pppoe.cpp
d8e7a56
@@ -40,10 +40,10 @@
d8e7a56
     setPassword(secrets.value("password"));
d8e7a56
 }
d8e7a56
 
d8e7a56
-QStringList PppoeSetting::needSecrets() const
d8e7a56
+QStringList PppoeSetting::needSecrets(const bool requestNew) const
d8e7a56
 {
d8e7a56
     QStringList list;
d8e7a56
-    if (password().isEmpty() && !passwordflags().testFlag(Setting::NotRequired))
d8e7a56
+    if ((password().isEmpty() || requestNew) && !passwordflags().testFlag(Setting::NotRequired))
d8e7a56
         list.append("password");
d8e7a56
     return list;
d8e7a56
 }
d8e7a56
--- a/libs/internals/settings/pppoe.h
d8e7a56
+++ b/libs/internals/settings/pppoe.h
d8e7a56
@@ -22,7 +22,7 @@
d8e7a56
 
d8e7a56
     QMap<QString,QString> secretsToMap() const;
d8e7a56
     void secretsFromMap(QMap<QString,QString> secrets);
d8e7a56
-    QStringList needSecrets() const;
d8e7a56
+    QStringList needSecrets(const bool requestNew = false) const;
d8e7a56
     bool hasPersistentSecrets() const;
d8e7a56
 
d8e7a56
     /**
d8e7a56
--- a/libs/internals/settings/vpn.cpp
d8e7a56
+++ b/libs/internals/settings/vpn.cpp
d8e7a56
@@ -122,7 +122,7 @@
d8e7a56
     setSecretsAvailable(true);
d8e7a56
 }
d8e7a56
 
d8e7a56
-QStringList VpnSetting::needSecrets() const
d8e7a56
+QStringList VpnSetting::needSecrets(const bool /*requestNew*/) const
d8e7a56
 {
d8e7a56
     // VPN is a bit different from other connection types. We do not need to list the secrets we need,
d8e7a56
     // but this list cannot be empty or SecretStorage will not ask for the secrets.
d8e7a56
--- a/libs/internals/settings/vpn.h
d8e7a56
+++ b/libs/internals/settings/vpn.h
d8e7a56
@@ -28,7 +28,7 @@
d8e7a56
     static QVariantMap variantMapFromStringList(const QStringList & list);
d8e7a56
     static QStringMap stringMapFromStringList(const QStringList & list);
d8e7a56
     static QStringList stringMapToStringList(const QStringMap & map);
d8e7a56
-    QStringList needSecrets() const;
d8e7a56
+    QStringList needSecrets(const bool requestNew = false) const;
d8e7a56
     bool hasPersistentSecrets() const;
d8e7a56
 
d8e7a56
     /**