CHANGES revision 1.1
11.1Sdyoung*** 21.1Sdyoung*** Summary of changes between 2005-05-18 and 2005-07-11. 31.1Sdyoung*** 41.1Sdyoung*** % cvs -d freebsdanoncvs@anoncvs.freebsd.org:/home/ncvs co src 51.1Sdyoung*** % cd src/sys/net80211/ 61.1Sdyoung*** % cvs2cl --hide-filenames --no-indent --no-wrap -f CHANGES \ 71.1Sdyoung*** -l '-d 2005-05-18<=2005-07-11' 81.1Sdyoung*** 91.1Sdyoung 101.1Sdyoung2005-07-10 22:06 sam 111.1Sdyoung 121.1SdyoungHandle encrypt of arbitarily fragmented mbuf chains: previously 131.1Sdyoungwe bailed if we couldn't collect the 16-bytes of data required 141.1Sdyoungfor an aes block cipher in 2 mbufs; now we deal with it. While 151.1Sdyounghere make space accounting signed so a sanity check does the 161.1Sdyoungright thing for malformed mbuf chains. 171.1Sdyoung 181.1Sdyoung2005-07-10 22:00 sam 191.1Sdyoung 201.1Sdyoungnuke assert that duplicates real check 211.1Sdyoung 221.1Sdyoung2005-07-09 18:15 sam 231.1Sdyoung 241.1SdyoungChange default key allocation method to do the right thing for 251.1Sdyounglegacy parts (i.e. those that have 4 global key slots). We 261.1Sdyoungblindly assign unicast keys to key slot 0. Devices that need 271.1Sdyoungalternate allocation logic must override this method. 281.1Sdyoung 291.1Sdyoung2005-07-08 17:49 sam 301.1Sdyoung 311.1Sdyoungcorrect check for high priority wme traffic 321.1Sdyoung 331.1SdyoungNoticed by: Ralf Assmann 341.1Sdyoung 351.1Sdyoung2005-07-08 11:36 sam 361.1Sdyoung 371.1Sdyoungfix another instance of the MORE_DATA bit handling for frames on the 381.1Sdyoungpower save queue (missed in previous commit) 391.1Sdyoung 401.1SdyoungSubmitted by: Bruno Randolf 411.1Sdyoung 421.1Sdyoung2005-07-06 10:38 sam 431.1Sdyoung 441.1Sdyoungadd "pureg" mode for ap operation: reject association requests from 451.1Sdyoung11b-only stations when operating in 11g 461.1Sdyoung 471.1Sdyoung2005-07-05 20:55 sam 481.1Sdyoung 491.1SdyoungFix handling of data frames queued for a station in power save mode: 501.1Sdyoungdon't mark the MORE_DATA bit when taking it off the ps queue, there's 511.1Sdyoungno 802.11 header then; we must wait to do this at encap time so 521.1Sdyoungmark the mbuf instead. 531.1Sdyoung 541.1SdyoungObtained from: Atheros 551.1Sdyoung 561.1Sdyoung2005-07-05 20:51 sam 571.1Sdyoung 581.1SdyoungFix race condition in handling node reference counts for authenticating 591.1Sdyoungstations in ap mode. Track when a node's first auth frame is 601.1Sdyoungreceived and use this to decide whether or not to bump the refcnt. 611.1SdyoungThis insures we only ever bump the refcnt once. 621.1Sdyoung 631.1Sdyoung2005-07-05 20:31 avatar 641.1Sdyoung 651.1SdyoungOnly update the scan entry state based on newly received frames. 661.1SdyoungThis fixes duplicative BSS entries(memory leaks as well) listed in 671.1Sdyoung"ifconfig dev list scan" when a station fails to associate with an AP. 681.1Sdyoung 691.1Sdyoung2005-07-05 13:05 sam 701.1Sdyoung 711.1Sdyoungremove auto-add of IEEE80211_KEY_GROUP; all the apps that need to 721.1Sdyoungset it have been fixed 731.1Sdyoung 741.1Sdyoung2005-07-05 12:35 sam 751.1Sdyoung 761.1Sdyoungo when setting a wpa key, hold a ref on the bss node; 771.1Sdyoung fixes a ref cnt leak 781.1Sdyoungo make unicast key handling on delete identical to set 791.1Sdyoungo change legacy wep key api to reset the 802.11 state 801.1Sdyoung machine for backwards compatibility 811.1Sdyoung 821.1Sdyoung2005-07-03 20:29 sam 831.1Sdyoung 841.1Sdyoungwhen operating in ap mode, explicitly drop associated/authenticated 851.1Sdyoungstations when transitioning to INIT state (e.g. as a result of 861.1Sdyoungchanging state at the 802.11 level) 871.1Sdyoung 881.1Sdyoung2005-06-13 16:01 sam 891.1Sdyoung 901.1Sdyoungrevert 1.53; it breaks ibss merge 911.1Sdyoung 921.1SdyoungNoticed by: Bruno Randolf 931.1Sdyoung 941.1Sdyoung2005-06-10 16:30 sam 951.1Sdyoung 961.1Sdyoungdon't look at the wme ie in a beacon unless we negotiated use 971.1Sdyoung 981.1Sdyoung2005-06-10 11:49 brooks 991.1Sdyoung 1001.1SdyoungStop embedding struct ifnet at the top of driver softcs. Instead the 1011.1Sdyoungstruct ifnet or the layer 2 common structure it was embedded in have 1021.1Sdyoungbeen replaced with a struct ifnet pointer to be filled by a call to the 1031.1Sdyoungnew function, if_alloc(). The layer 2 common structure is also allocated 1041.1Sdyoungvia if_alloc() based on the interface type. It is hung off the new 1051.1Sdyoungstruct ifnet member, if_l2com. 1061.1Sdyoung 1071.1SdyoungThis change removes the size of these structures from the kernel ABI and 1081.1Sdyoungwill allow us to better manage them as interfaces come and go. 1091.1Sdyoung 1101.1SdyoungOther changes of note: 1111.1Sdyoung - Struct arpcom is no longer referenced in normal interface code. 1121.1Sdyoung Instead the Ethernet address is accessed via the IFP2ENADDR() macro. 1131.1Sdyoung To enforce this ac_enaddr has been renamed to _ac_enaddr. 1141.1Sdyoung - The second argument to ether_ifattach is now always the mac address 1151.1Sdyoung from driver private storage rather than sometimes being ac_enaddr. 1161.1Sdyoung 1171.1Sdyoung2005-06-10 11:14 sam 1181.1Sdyoung 1191.1Sdyoungvalidate the bssid for non-data frames too when operating in 1201.1Sdyoungadhoc/ahdemo/hostap modes 1211.1Sdyoung 1221.1Sdyoung2005-06-10 11:11 sam 1231.1Sdyoung 1241.1Sdyoungo fix wpa w/ wme: don't strip the QoS header on recv as tkip requires 1251.1Sdyoung it; instead pass the space occupied by the header down into the 1261.1Sdyoung crypto modules (except in the demic case which needs it only when 1271.1Sdyoung doing int in s/w) 1281.1Sdyoungo while here fix defrag to strip the header from 2nd and later frames 1291.1Sdyoungo teach decap code how to handle 4-address frames 1301.1Sdyoung 1311.1Sdyoung2005-06-10 00:04 sam 1321.1Sdyoung 1331.1Sdyoungmark stations authorized during recv processing instead of doing it 1341.1Sdyoungas a side effect of sending an auth success frame; sending mgmt 1351.1Sdyoungframes should not have side effects 1361.1Sdyoung 1371.1Sdyoung2005-06-09 23:42 sam 1381.1Sdyoung 1391.1Sdyoungmove AID implementation defines from the protocol definitions to 1401.1Sdyoungwhere they are used 1411.1Sdyoung 1421.1Sdyoung2005-06-09 23:37 sam 1431.1Sdyoung 1441.1Sdyoungaccept diassoc frame in ASSOC state 1451.1Sdyoung 1461.1Sdyoung2005-06-09 20:48 sam 1471.1Sdyoung 1481.1Sdyoungpull some debug msgs up so they're seen more often 1491.1Sdyoung 1501.1Sdyoung2005-06-09 20:47 sam 1511.1Sdyoung 1521.1Sdyoungkick the state machine when we receive failure notice from an ap (when 1531.1Sdyoungoperating in sta mode); this speeds up the state machine, previously 1541.1Sdyoungwe were acting on a timeout 1551.1Sdyoung 1561.1Sdyoung2005-06-09 20:43 sam 1571.1Sdyoung 1581.1Sdyoungdiscard open auth requests in adhoc mode 1591.1Sdyoung 1601.1Sdyoung2005-06-09 20:41 sam 1611.1Sdyoung 1621.1Sdyoungreject open auth requests when shared key auth is configured 1631.1Sdyoung 1641.1SdyoungObtained from: Atheros 1651.1Sdyoung 1661.1Sdyoung2005-06-09 20:40 sam 1671.1Sdyoung 1681.1Sdyoungadd ieee80211_send_error to encapsulate an idiom 1691.1Sdyoung 1701.1Sdyoung2005-06-09 20:38 sam 1711.1Sdyoung 1721.1Sdyoungo always check if ic_set_tim is !NULL before using it 1731.1Sdyoungo add missing call to clear tim after flushing ps q 1741.1Sdyoung 1751.1Sdyoung2005-06-09 20:35 sam 1761.1Sdyoung 1771.1Sdyoungmark state for protection only when operating in 11g 1781.1Sdyoung 1791.1Sdyoung2005-06-09 20:33 sam 1801.1Sdyoung 1811.1Sdyoungdon't reject station based on the PRIVACY bit in the capabilities; 1821.1Sdyoungthe 802.11 spec says not to 1831.1Sdyoung 1841.1SdyoungObtained from: Atheros 1851.1Sdyoung 1861.1Sdyoung2005-06-09 20:31 sam 1871.1Sdyoung 1881.1Sdyoungcorrect checks for rate set compatibility 1891.1Sdyoung 1901.1Sdyoung2005-06-09 20:29 sam 1911.1Sdyoung 1921.1Sdyoungrecord tstamp from beacons received in station mode when associated; 1931.1Sdyoungthis is needed by drivers that want to resync their timers based on 1941.1Sdyoungthe tsf of the last recv'd beacon frame 1951.1Sdyoung 1961.1Sdyoung2005-06-08 23:05 sam 1971.1Sdyoung 1981.1Sdyoungo collect dtim period+count from beacons in station mode so drivers 1991.1Sdyoung can better program beacon timers 2001.1Sdyoungo leave placeholder in com structure for future ap/adhoc mode tim support 2011.1Sdyoung 2021.1Sdyoung2005-06-07 18:37 sam 2031.1Sdyoung 2041.1SdyoungChange the MLME ASSOCIATE ioctl to accept either a ssid, a bssid, 2051.1Sdyoungor a bssid+ssid. This is needed for later versions of wpa_supplicant 2061.1Sdyoungand for forthcoming addons to wpa_supplicant. 2071.1Sdyoung 2081.1SdyoungNote this is an api change and applications must be rebuilt. 2091.1Sdyoung 2101.1Sdyoung2005-06-07 18:31 sam 2111.1Sdyoung 2121.1SdyoungDon't clock the state machine in various cases when roaming is set 2131.1Sdyoungto manual; this helps keep wpa_supplicant in sync. 2141.1Sdyoung 2151.1Sdyoung2005-06-06 19:08 sam 2161.1Sdyoung 2171.1SdyoungWPA/802.11i interoperability fixes: 2181.1Sdyoungo only include capabilities word in the WPA ie when non-zero and 2191.1Sdyoung not preauth 2201.1Sdyoungo always include the capabilities in the RSN ie 2211.1Sdyoung 2221.1SdyoungObtained from: Atheros 2231.1Sdyoung 2241.1Sdyoung2005-06-05 23:04 sam 2251.1Sdyoung 2261.1Sdyoungadd force flag to enmic/demic crypto api for use in xmit fragmentation 2271.1Sdyoungand h/w mic verification 228