Please note: This project is no longer active. The website is kept online for historic purposes only.
If you´re looking for a Linux driver for your Atheros WLAN device, you should continue here .

Ticket #241: hostapd-devel.patch

File hostapd-devel.patch, 1.3 kB (added by parthan@gmail.com, 13 years ago)

Patch against CVS version of hostapd. WARNING: I have not tested this myself since my AP is still operating at hostapd-0.4.7.

  • driver_madwifi.c

    old new  
    696696                printf("Failed to get WPA/RSN information element.\n"); 
    697697                return -1;              /* XXX not right */ 
    698698        } 
    699         ielen = ie.wpa_ie[1]; 
    700         if (ielen == 0) { 
     699        if ((ie.wpa_ie[1] == 0) && (ie.rsn.ie[1] == 0)){ 
    701700                printf("No WPA/RSN information element for station!?\n"); 
    702701                return -1;              /* XXX not right */ 
    703702        } 
    704         ielen += 2; 
    705703        if (sta->wpa_sm == NULL) 
    706704                sta->wpa_sm = wpa_auth_sta_init(hapd->wpa_auth, sta->addr); 
    707705        if (sta->wpa_sm == NULL) { 
    708706                printf("Failed to initialize WPA state machine\n"); 
    709707                return -1; 
    710708        } 
     709        ielen = ie.rsn_ie[1]; 
     710        ielen += 2; 
    711711        res = wpa_validate_wpa_ie(hapd->wpa_auth, sta->wpa_sm, 
    712                                   ie.wpa_ie, ielen); 
     712                                  ie.rsn_ie, ielen); 
    713713        if (res != WPA_IE_OK) { 
    714                 printf("WPA/RSN information element rejected? (res %u)\n", res); 
    715                 return -1; 
     714                // did not find an RSN IE, look for a WPA IE 
     715                ielen = ie.wpa_ie[1]; 
     716                ielen += 2; 
     717                res = wpa_validate_wpa_ie(hapd->wpa_auth, sta->wpa_sm, 
     718                                          ie.wpa_ie, ielen); 
     719                if (res != WPA_IE_OK){ 
     720                        printf("WPA/RSN information element rejected? (res %u)\n", res); 
     721                        return -1; 
     722                } 
    716723        } 
    717724        return 0; 
    718725}