Recent madwifi-ng releases (since r1451 or so) have been busted. The attached patch fixed it for me.
Robert Love
diff -ur madwifi-ng-r1451-20060212/net80211/ieee80211_input.c madwifi-ng-r1451-20060212.mod/net80211/ieee80211_input.c --- madwifi-ng-r1451-20060212/net80211/ieee80211_input.c 2006-02-03 12:28:14.000000000 +0100 +++ madwifi-ng-r1451-20060212.mod/net80211/ieee80211_input.c 2006-03-03 14:11:44.000000000 +0100 @@ -1199,8 +1199,12 @@ vap->iv_stats.is_rx_auth_fail++; ieee80211_new_state(vap, IEEE80211_S_SCAN, IEEE80211_SCAN_FAIL_STATUS); - } else + } else { + /* mark the port authorized */ + if (ni->ni_authmode != IEEE80211_AUTH_8021X) + ieee80211_node_authorize(ni); ieee80211_new_state(vap, IEEE80211_S_ASSOC, 0); + } break; case IEEE80211_M_MONITOR: break; @@ -3025,7 +3029,7 @@ rates = xrates = wme = NULL; while (frm < efrm) { - IEEE80211_VERIFY_LENGTH(efrm - frm, frm[1]); + /*IEEE80211_VERIFY_LENGTH(efrm - frm, frm[1]);*/ switch (*frm) { case IEEE80211_ELEMID_RATES: rates = frm; @@ -3040,8 +3044,6 @@ } frm += frm[1] + 2; } - if (frm > efrm) - return; IEEE80211_VERIFY_ELEMENT(rates, IEEE80211_RATE_MAXSIZE); rate = ieee80211_setup_rates(ni, rates, xrates, IEEE80211_F_DOSORT | IEEE80211_F_DOFRATE |
_______________________________________________ NetworkManager-list mailing list NetworkManager-list@gnome.org http://mail.gnome.org/mailman/listinfo/networkmanager-list