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