Fixed WPS credential conversion to wpa_supplicant configuration
authorJouni Malinen <j@w1.fi>
Sat, 17 Jan 2009 19:37:15 +0000 (21:37 +0200)
committerJouni Malinen <j@w1.fi>
Sat, 17 Jan 2009 19:37:15 +0000 (21:37 +0200)
Must not set pairwise_cipher/group_cipher for non-WPA/WPA2 networks
since the configuration parser is going to reject such values. In
addition, should not limit group_cipher to just TKIP or TKIP|CCMP just
in case the AP is using WEP as the group cipher. Default group_cipher
value can be used for all cases.

wpa_supplicant/wps_supplicant.c

index 9bf764c..8504851 100644 (file)
@@ -87,11 +87,8 @@ static int wpa_supplicant_wps_cred(void *ctx,
 
        switch (cred->encr_type) {
        case WPS_ENCR_NONE:
-               ssid->pairwise_cipher = ssid->group_cipher = WPA_CIPHER_NONE;
                break;
        case WPS_ENCR_WEP:
-               ssid->pairwise_cipher = ssid->group_cipher =
-                       WPA_CIPHER_WEP40 | WPA_CIPHER_WEP104;
                if (cred->key_len > 0 && cred->key_len <= MAX_WEP_KEY_LEN &&
                    cred->key_idx < NUM_WEP_KEYS) {
                        os_memcpy(ssid->wep_key[cred->key_idx], cred->key,
@@ -102,11 +99,9 @@ static int wpa_supplicant_wps_cred(void *ctx,
                break;
        case WPS_ENCR_TKIP:
                ssid->pairwise_cipher = WPA_CIPHER_TKIP;
-               ssid->group_cipher = WPA_CIPHER_TKIP;
                break;
        case WPS_ENCR_AES:
                ssid->pairwise_cipher = WPA_CIPHER_CCMP;
-               ssid->group_cipher = WPA_CIPHER_CCMP | WPA_CIPHER_TKIP;
                break;
        }