User talk:Hauke

From Driver Backports Wiki
Jump to: navigation, search

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

Personal tools