User talk:Hauke
Hello,
In file hostapd/src/wpa_supplicant/sme.c,function sme_event_auth(), when an unsuccessful authentication happens,
if (data->auth.status_code != WLAN_STATUS_NOT_SUPPORTED_AUTH_ALG || wpa_s->sme.auth_alg == data->auth.auth_type || wpa_s->current_ssid->auth_alg == WPA_AUTH_ALG_LEAP) { wpas_connection_failed(wpa_s, wpa_s->pending_bssid); return; }
But here, wpa_s->sme.auth_alg is a bitfield and data->auth.auth_type is a value (not bitfield). The comparison will never be equal. I think this contition should change to:
if (data->auth.status_code != WLAN_STATUS_NOT_SUPPORTED_AUTH_ALG || wpa_s->sme.auth_alg == 1<<(data->auth.auth_type) || wpa_s->current_ssid->auth_alg == WPA_AUTH_ALG_LEAP) { wpas_connection_failed(wpa_s, wpa_s->pending_bssid); return; }
Am I right?
Thanks,
Jeff