cli: wifi: connect with PSK when the AP supports WPA-PSK and WPA-EAP

'nmcli device wifi connect' only supports WEP and WPA-PSK at the
moment, but not WPA-EAP. If the AP supports both WPA-PSK and WPA-EAP,
nmcli doesn't add the PSK to the connection, causing a connection
failure. Fix this.

https://bugzilla.redhat.com/show_bug.cgi?id=1492064
This commit is contained in:
Beniamino Galvani
2017-09-16 11:59:46 +02:00
parent 05618aaaf3
commit 7af471919a

View File

@@ -3182,8 +3182,8 @@ do_device_wifi_connect_network (NmCli *nmc, int argc, char **argv)
NM_SETTING_WIRELESS_SECURITY_WEP_KEY_TYPE, NM_SETTING_WIRELESS_SECURITY_WEP_KEY_TYPE,
wep_passphrase ? NM_WEP_KEY_TYPE_PASSPHRASE: NM_WEP_KEY_TYPE_KEY, wep_passphrase ? NM_WEP_KEY_TYPE_PASSPHRASE: NM_WEP_KEY_TYPE_KEY,
NULL); NULL);
} else if ( !(ap_wpa_flags & NM_802_11_AP_SEC_KEY_MGMT_802_1X) } else if ( (ap_wpa_flags & NM_802_11_AP_SEC_KEY_MGMT_PSK)
&& !(ap_rsn_flags & NM_802_11_AP_SEC_KEY_MGMT_802_1X)) { || (ap_rsn_flags & NM_802_11_AP_SEC_KEY_MGMT_PSK)) {
/* WPA PSK */ /* WPA PSK */
g_object_set (s_wsec, NM_SETTING_WIRELESS_SECURITY_PSK, password, NULL); g_object_set (s_wsec, NM_SETTING_WIRELESS_SECURITY_PSK, password, NULL);
} }