|
|
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 |
/**
|