[network-manager-openvpn] core: don't ask for password if it's marked NOT_REQUIRED
- From: Dan Williams <dcbw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [network-manager-openvpn] core: don't ask for password if it's marked NOT_REQUIRED
- Date: Tue, 19 Feb 2013 17:54:14 +0000 (UTC)
commit 0259c41e3859c77866577b7b0d9967ed4a0a3743
Author: Dan Williams <dcbw redhat com>
Date: Tue Feb 19 11:53:58 2013 -0600
core: don't ask for password if it's marked NOT_REQUIRED
The secret flags were getting ignored by the core, so even if the
password was marked NOT_REQUIRED, it would be asked for.
src/nm-openvpn-service.c | 15 +++++++++++++--
1 files changed, 13 insertions(+), 2 deletions(-)
---
diff --git a/src/nm-openvpn-service.c b/src/nm-openvpn-service.c
index cabb5a0..7b4cbd7 100644
--- a/src/nm-openvpn-service.c
+++ b/src/nm-openvpn-service.c
@@ -1115,6 +1115,7 @@ static const char *
check_need_secrets (NMSettingVPN *s_vpn, gboolean *need_secrets)
{
const char *tmp, *key, *ctype;
+ NMSettingSecretFlags secret_flags = NM_SETTING_SECRET_FLAG_NONE;
g_return_val_if_fail (s_vpn != NULL, FALSE);
g_return_val_if_fail (need_secrets != NULL, FALSE);
@@ -1132,12 +1133,22 @@ check_need_secrets (NMSettingVPN *s_vpn, gboolean *need_secrets)
if (is_encrypted (key) && !nm_setting_vpn_get_secret (s_vpn, NM_OPENVPN_KEY_CERTPASS))
*need_secrets = TRUE;
- if (!nm_setting_vpn_get_secret (s_vpn, NM_OPENVPN_KEY_PASSWORD))
+ if (!nm_setting_vpn_get_secret (s_vpn, NM_OPENVPN_KEY_PASSWORD)) {
*need_secrets = TRUE;
+ if (nm_setting_get_secret_flags (NM_SETTING (s_vpn), NM_OPENVPN_KEY_PASSWORD,
&secret_flags, NULL)) {
+ if (secret_flags & NM_SETTING_SECRET_FLAG_NOT_REQUIRED)
+ *need_secrets = FALSE;
+ }
+ }
} else if (!strcmp (ctype, NM_OPENVPN_CONTYPE_PASSWORD)) {
/* Will require a password */
- if (!nm_setting_vpn_get_secret (s_vpn, NM_OPENVPN_KEY_PASSWORD))
+ if (!nm_setting_vpn_get_secret (s_vpn, NM_OPENVPN_KEY_PASSWORD)) {
*need_secrets = TRUE;
+ if (nm_setting_get_secret_flags (NM_SETTING (s_vpn), NM_OPENVPN_KEY_PASSWORD,
&secret_flags, NULL)) {
+ if (secret_flags & NM_SETTING_SECRET_FLAG_NOT_REQUIRED)
+ *need_secrets = FALSE;
+ }
+ }
} else if (!strcmp (ctype, NM_OPENVPN_CONTYPE_TLS)) {
/* May require private key password */
key = nm_setting_vpn_get_data_item (s_vpn, NM_OPENVPN_KEY_KEY);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]