11.1Sdyoung*** 21.2Sskrll*** Summary of changes between 2005-05-18 and 2005-11-01. 31.1Sdyoung*** 41.2Sskrll*** % setenv TZ UTC 51.1Sdyoung*** % cvs -d freebsdanoncvs@anoncvs.freebsd.org:/home/ncvs co src 61.1Sdyoung*** % cd src/sys/net80211/ 71.2Sskrll*** % cvs2cl --follow trunk --hide-filenames --no-indent --no-wrap \ 81.2Sskrll*** -f CHANGES -l '-d 2005-05-18<=2005-11-01' 91.1Sdyoung*** 101.1Sdyoung 111.2Sskrll2005-08-30 14:27 avatar 121.2Sskrll 131.2SskrllProperly set ic_curchan before calling back to device driver to do channel 141.2Sskrllswitching(ifconfig devX channel Y). This fix should make channel changing 151.2Sskrllworks again in monitor mode. 161.2Sskrll 171.2SskrllSubmitted by: sam 181.2SskrllX-MFC-With: other ic_curchan changes 191.2Sskrll 201.2Sskrll2005-08-13 17:50 sam 211.2Sskrll 221.2Sskrllrevert 1.64: we cannot use the channel characteristics to decide when to 231.2Sskrlldo 11g erp sta accounting because b/g channels show up as false positives 241.2Sskrllwhen operating in 11b. 251.2Sskrll 261.2SskrllNoticed by: Michal Mertl 271.2Sskrll 281.2Sskrll2005-08-13 17:31 sam 291.2Sskrll 301.2SskrllExtend acl support to pass ioctl requests through and use this to 311.2Sskrlladd support for getting the current policy setting and collecting 321.2Sskrllthe list of mac addresses in the acl table. 331.2Sskrll 341.2SskrllSubmitted by: Michal Mertl (original version) 351.2SskrllMFC after: 2 weeks 361.2Sskrll 371.2Sskrll2005-08-10 17:42 sam 381.2Sskrll 391.2SskrllDon't use ic_curmode to decide when to do 11g station accounting, 401.2Sskrlluse the station channel properties. Fixes assert failure/bogus 411.2Sskrlloperation when an ap is operating in 11a and has associated stations 421.2Sskrllthen switches to 11g. 431.2Sskrll 441.2SskrllNoticed by: Michal Mertl 451.2SskrllReviewed by: avatar 461.2SskrllMFC after: 2 weeks 471.2Sskrll 481.2Sskrll2005-08-10 16:22 sam 491.2Sskrll 501.2SskrllClarify/fix handling of the current channel: 511.2Sskrllo add ic_curchan and use it uniformly for specifying the current 521.2Sskrll channel instead of overloading ic->ic_bss->ni_chan (or in some 531.2Sskrll drivers ic_ibss_chan) 541.2Sskrllo add ieee80211_scanparams structure to encapsulate scanning-related 551.2Sskrll state captured for rx frames 561.2Sskrllo move rx beacon+probe response frame handling into separate routines 571.2Sskrllo change beacon+probe response handling to treat the scan table 581.2Sskrll more like a scan cache--look for an existing entry before adding 591.2Sskrll a new one; this combined with ic_curchan use corrects handling of 601.2Sskrll stations that were previously found at a different channel 611.2Sskrllo move adhoc neighbor discovery by beacon+probe response frames to 621.2Sskrll a new ieee80211_add_neighbor routine 631.2Sskrll 641.2SskrllReviewed by: avatar 651.2SskrllTested by: avatar, Michal Mertl 661.2SskrllMFC after: 2 weeks 671.2Sskrll 681.2Sskrll2005-08-09 10:19 rwatson 691.2Sskrll 701.2SskrllPropagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 711.2SskrllIFF_DRV_RUNNING, as well as the move from ifnet.if_flags to 721.2Sskrllifnet.if_drv_flags. Device drivers are now responsible for 731.2Sskrllsynchronizing access to these flags, as they are in if_drv_flags. This 741.2Sskrllhelps prevent races between the network stack and device driver in 751.2Sskrllmaintaining the interface flags field. 761.2Sskrll 771.2SskrllMany __FreeBSD__ and __FreeBSD_version checks maintained and continued; 781.2Sskrllsome less so. 791.2Sskrll 801.2SskrllReviewed by: pjd, bz 811.2SskrllMFC after: 7 days 821.2Sskrll 831.2Sskrll2005-08-08 18:46 sam 841.2Sskrll 851.2SskrllSplit crypto tx+rx key indices and add a key index -> node mapping table: 861.2Sskrll 871.2SskrllCrypto changes: 881.2Sskrllo change driver/net80211 key_alloc api to return tx+rx key indices; a 891.2Sskrll driver can leave the rx key index set to IEEE80211_KEYIX_NONE or set 901.2Sskrll it to be the same as the tx key index (the former disables use of 911.2Sskrll the key index in building the keyix->node mapping table and is the 921.2Sskrll default setup for naive drivers by null_key_alloc) 931.2Sskrllo add cs_max_keyid to crypto state to specify the max h/w key index a 941.2Sskrll driver will return; this is used to allocate the key index mapping 951.2Sskrll table and to bounds check table loookups 961.2Sskrllo while here introduce ieee80211_keyix (finally) for the type of a h/w 971.2Sskrll key index 981.2Sskrllo change crypto notifiers for rx failures to pass the rx key index up 991.2Sskrll as appropriate (michael failure, replay, etc.) 1001.2Sskrll 1011.2SskrllNode table changes: 1021.2Sskrllo optionally allocate a h/w key index to node mapping table for the 1031.2Sskrll station table using the max key index setting supplied by drivers 1041.2Sskrll (note the scan table does not get a map) 1051.2Sskrllo defer node table allocation to lateattach so the driver has a chance 1061.2Sskrll to set the max key id to size the key index map 1071.2Sskrllo while here also defer the aid bitmap allocation 1081.2Sskrllo add new ieee80211_find_rxnode_withkey api to find a sta/node entry 1091.2Sskrll on frame receive with an optional h/w key index to use in checking 1101.2Sskrll mapping table; also updates the map if it does a hash lookup and the 1111.2Sskrll found node has a rx key index set in the unicast key; note this work 1121.2Sskrll is separated from the old ieee80211_find_rxnode call so drivers do 1131.2Sskrll not need to be aware of the new mechanism 1141.2Sskrllo move some node table manipulation under the node table lock to close 1151.2Sskrll a race on node delete 1161.2Sskrllo add ieee80211_node_delucastkey to do the dirty work of deleting 1171.2Sskrll unicast key state for a node (deletes any key and handles key map 1181.2Sskrll references) 1191.2Sskrll 1201.2SskrllAth driver: 1211.2Sskrllo nuke private sc_keyixmap mechansim in favor of net80211 support 1221.2Sskrllo update key alloc api 1231.2Sskrll 1241.2SskrllThese changes close several race conditions for the ath driver operating 1251.2Sskrllin ap mode. Other drivers should see no change. Station mode operation 1261.2Sskrllfor ath no longer uses the key index map but performance tests show no 1271.2Sskrllnoticeable change and this will be fixed when the scan table is eliminated 1281.2Sskrllwith the new scanning support. 1291.2Sskrll 1301.2SskrllTested by: Michal Mertl, avatar, others 1311.2SskrllReviewed by: avatar, others 1321.2SskrllMFC after: 2 weeks 1331.2Sskrll 1341.2Sskrll2005-08-08 05:49 sam 1351.2Sskrll 1361.2Sskrlluse ieee80211_iterate_nodes to retrieve station data; the previous 1371.2Sskrllcode walked the list w/o locking 1381.2Sskrll 1391.2SskrllMFC after: 1 week 1401.2Sskrll 1411.2Sskrll2005-08-08 03:30 sam 1421.2Sskrll 1431.2SskrllCleanup beacon/listen interval handling: 1441.2Sskrllo separate configured beacon interval from listen interval; this 1451.2Sskrll avoids potential use of one value for the other (e.g. setting 1461.2Sskrll powersavesleep to 0 clobbers the beacon interval used in hostap 1471.2Sskrll or ibss mode) 1481.2Sskrllo bounds check the beacon interval received in probe response and 1491.2Sskrll beacon frames and drop frames with bogus settings; not clear 1501.2Sskrll if we should instead clamp the value as any alteration would 1511.2Sskrll result in mismatched sta+ap configuration and probably be more 1521.2Sskrll confusing (don't want to log to the console but perhaps ok with 1531.2Sskrll rate limiting) 1541.2Sskrllo while here up max beacon interval to reflect WiFi standard 1551.2Sskrll 1561.2SskrllNoticed by: Martin <nakal@nurfuerspam.de> 1571.2SskrllMFC after: 1 week 1581.2Sskrll 1591.2Sskrll2005-08-06 04:57 sam 1601.2Sskrll 1611.2Sskrllfix debug msg typo 1621.2Sskrll 1631.2SskrllMFC after: 3 days 1641.2Sskrll 1651.2Sskrll2005-08-06 04:56 sam 1661.2Sskrll 1671.2SskrllFix handling of frames sent prior to a station being authorized 1681.2Sskrllwhen operating in ap mode. Previously we allocated a node from the 1691.2Sskrllstation table, sent the frame (using the node), then released the 1701.2Sskrllreference that "held the frame in the table". But while the frame 1711.2Sskrllwas in flight the node might be reclaimed which could lead to 1721.2Sskrllproblems. The solution is to add an ieee80211_tmp_node routine 1731.2Sskrllthat crafts a node that does exist in a table and so isn't ever 1741.2Sskrllreclaimed; it exists only so long as the associated frame is in flight. 1751.2Sskrll 1761.2SskrllMFC after: 5 days 1771.2Sskrll 1781.2Sskrll2005-07-31 06:12 sam 1791.2Sskrll 1801.2Sskrllclose a race between reclaiming a node when a station is inactive 1811.2Sskrlland sending the null data frame used to probe inactive stations 1821.2Sskrll 1831.2SskrllMFC after: 5 days 1841.2Sskrll 1851.2Sskrll2005-07-27 04:41 sam 1861.2Sskrll 1871.2Sskrllwhen bridging internally bypass the bss node as traffic to it 1881.2Sskrllmust follow the normal input path 1891.2Sskrll 1901.2SskrllSubmitted by: Michal Mertl 1911.2SskrllMFC after: 5 days 1921.2Sskrll 1931.2Sskrll2005-07-27 02:53 sam 1941.2Sskrll 1951.2Sskrllbandaid ni_fails handling so ap's with association failures are 1961.2Sskrllreconsidered after a bit; a proper fix involves more changes to 1971.2Sskrllthe scanning infrastructure 1981.2Sskrll 1991.2SskrllReviewed by: avatar, David Young 2001.2SskrllMFC after: 5 days 2011.2Sskrll 2021.2Sskrll2005-07-23 00:16 sam 2031.2Sskrll 2041.2Sskrllthe AREF flag is only meaningful in ap mode; adhoc neighbors now 2051.2Sskrllare timed out of the sta/neighbor table 2061.2Sskrll 2071.2Sskrll2005-07-22 23:25 sam 2081.2Sskrll 2091.2Sskrllo move inactivity-related debug msgs under IEEE80211_MSG_INACT 2101.2Sskrllo probe inactive neighbors in adhoc mode (they don't have an 2111.2Sskrll association id so previously were being timed out) 2121.2Sskrll 2131.2SskrllMFC after: 3 days 2141.2Sskrll 2151.2Sskrll2005-07-22 21:11 sam 2161.2Sskrll 2171.2Sskrllsplit xmit of probe request frame out into a separate routine that 2181.2Sskrlltakes explicit parameters; this will be needed when scanning is 2191.2Sskrlldecoupled from the state machine to do bg scanning 2201.2Sskrll 2211.2SskrllMFC after: 3 days 2221.2Sskrll 2231.2Sskrll2005-07-22 20:48 sam 2241.2Sskrll 2251.2Sskrllsplit 802.11 frame xmit setup code into ieee80211_send_setup 2261.2Sskrll 2271.2SskrllMFC after: 3 days 2281.2Sskrll 2291.2Sskrll2005-07-22 17:57 sam 2301.2Sskrll 2311.2Sskrllsimplify ic_newassoc callback 2321.2Sskrll 2331.2SskrllMFC after: 3 days 2341.2Sskrll 2351.2Sskrll2005-07-22 17:54 sam 2361.2Sskrll 2371.2Sskrllsimplify ieee80211_ibss_merge api 2381.2Sskrll 2391.2SskrllMFC after: 3 days 2401.2Sskrll 2411.2Sskrll2005-07-22 17:50 sam 2421.2Sskrll 2431.2Sskrlladd stats we know we'll need soon and some spare fields for future expansion 2441.2Sskrll 2451.2SskrllMFC after: 3 days 2461.2Sskrll 2471.2Sskrll2005-07-22 17:45 sam 2481.2Sskrll 2491.2Sskrllsimplify tim callback api 2501.2Sskrll 2511.2SskrllMFC after: 3 days 2521.2Sskrll 2531.2Sskrll2005-07-22 17:42 sam 2541.2Sskrll 2551.2Sskrlldon't include 802.3 header in min frame length calculation as it may 2561.2Sskrllnot be present for a frag; fixes problem with small (fragmented) frames 2571.2Sskrllbeing dropped 2581.2Sskrll 2591.2SskrllObtained from: Atheros 2601.2SskrllMFC after: 3 days 2611.2Sskrll 2621.2Sskrll2005-07-22 17:36 sam 2631.2Sskrll 2641.2Sskrllsimplify ieee80211_node_authorize and ieee80211_node_unauthorize api's 2651.2Sskrll 2661.2SskrllMFC after: 3 days 2671.2Sskrll 2681.2Sskrll2005-07-22 17:31 sam 2691.2Sskrll 2701.2Sskrllsimplifiy ieee80211_send_nulldata api 2711.2Sskrll 2721.2SskrllMFC after: 3 days 2731.2Sskrll 2741.2Sskrll2005-07-22 17:29 sam 2751.2Sskrll 2761.2Sskrllsimplify rate set api's by removing ic parameter (implicit in node reference) 2771.2Sskrll 2781.2SskrllMFC after: 3 days 2791.2Sskrll 2801.2Sskrll2005-07-22 17:21 sam 2811.2Sskrll 2821.2Sskrllreject association requests with a wpa/rsn ie when wpa/rsn is not 2831.2Sskrllconfigured on the ap; previously we either ignored the ie or (possibly) 2841.2Sskrllfailed an assertion 2851.2Sskrll 2861.2SskrllObtained from: Atheros 2871.2SskrllMFC after: 3 days 2881.2Sskrll 2891.2Sskrll2005-07-22 17:16 sam 2901.2Sskrll 2911.2Sskrllmissed one in last commit; add device name to discard msgs 2921.2Sskrll 2931.2Sskrll2005-07-22 17:13 sam 2941.2Sskrll 2951.2Sskrllinclude device name in discard msgs 2961.2Sskrll 2971.2Sskrll2005-07-22 17:12 sam 2981.2Sskrll 2991.2Sskrlladd diag msgs for frames discarded because the direction field is wrong 3001.2Sskrll 3011.2Sskrll2005-07-22 17:08 sam 3021.2Sskrll 3031.2Sskrllsplit data frame delivery out to a new function ieee80211_deliver_data 3041.2Sskrll 3051.2Sskrll2005-07-22 17:00 sam 3061.2Sskrll 3071.2Sskrllo add IEEE80211_IOC_FRAGTHRESHOLD for getting+setting the 3081.2Sskrll tx fragmentation threshold 3091.2Sskrllo fix bounds checking on IEEE80211_IOC_RTSTHRESHOLD 3101.2Sskrll 3111.2SskrllMFC after: 3 days 3121.2Sskrll 3131.2Sskrll2005-07-22 16:55 sam 3141.2Sskrll 3151.2Sskrllo add IEEE80211_FRAG_DEFAULT 3161.2Sskrllo move default settings for RTS and frag thresholds to ieee80211_var.h 3171.2Sskrll 3181.2Sskrll2005-07-22 16:50 sam 3191.2Sskrll 3201.2Sskrlldiff reduction against p4: define IEEE80211_FIXED_RATE_NONE and use 3211.2Sskrllit instead of -1 3221.2Sskrll 3231.2Sskrll2005-07-22 16:37 sam 3241.2Sskrll 3251.2Sskrlladd flags missed in last merge 3261.2Sskrll 3271.2Sskrll2005-07-22 16:36 sam 3281.2Sskrll 3291.2SskrllDiff reduction against p4: 3301.3Sandvaro add ic_flags_ext for eventual extension of ic_flags 3311.2Sskrllo define/reserve flag+capabilities bits for superg, 3321.2Sskrll bg scan, and roaming support 3331.2Sskrllo refactor debug msg macros 3341.2Sskrll 3351.2SskrllMFC after: 3 days 3361.2Sskrll 3371.2Sskrll2005-07-22 05:17 sam 3381.2Sskrll 3391.2Sskrllsend a response when an auth request is denied due to an acl; 3401.2Sskrllmight be better to silently ignore the frame but this way we 3411.2Sskrllgive stations a chance of figuring out what's wrong 3421.2Sskrll 3431.2Sskrll2005-07-22 05:15 sam 3441.2Sskrll 3451.2Sskrllremove excess whitespace 3461.2Sskrll 3471.2Sskrll2005-07-22 04:55 sam 3481.2Sskrll 3491.2Sskrlluse IF_HANDOFF when bridging frames internally so if_start gets 3501.2Sskrllcalled; fixes communication between associated sta's 3511.2Sskrll 3521.2SskrllMFC after: 3 days 3531.2Sskrll 3541.2Sskrll2005-07-11 03:06 sam 3551.1Sdyoung 3561.1SdyoungHandle encrypt of arbitarily fragmented mbuf chains: previously 3571.1Sdyoungwe bailed if we couldn't collect the 16-bytes of data required 3581.1Sdyoungfor an aes block cipher in 2 mbufs; now we deal with it. While 3591.1Sdyounghere make space accounting signed so a sanity check does the 3601.1Sdyoungright thing for malformed mbuf chains. 3611.1Sdyoung 3621.2SskrllApproved by: re (scottl) 3631.2Sskrll 3641.2Sskrll2005-07-11 03:00 sam 3651.1Sdyoung 3661.1Sdyoungnuke assert that duplicates real check 3671.1Sdyoung 3681.2SskrllReviewed by: avatar 3691.2SskrllApproved by: re (scottl) 3701.2Sskrll 3711.2Sskrll2005-07-09 23:15 sam 3721.1Sdyoung 3731.1SdyoungChange default key allocation method to do the right thing for 3741.1Sdyounglegacy parts (i.e. those that have 4 global key slots). We 3751.1Sdyoungblindly assign unicast keys to key slot 0. Devices that need 3761.1Sdyoungalternate allocation logic must override this method. 3771.1Sdyoung 3781.2SskrllReviewed by: avatar 3791.2SskrllApproved by: re (scottl) 3801.2Sskrll 3811.2Sskrll2005-07-08 22:49 sam 3821.1Sdyoung 3831.1Sdyoungcorrect check for high priority wme traffic 3841.1Sdyoung 3851.1SdyoungNoticed by: Ralf Assmann 3861.2SskrllReviewed by: apatti 3871.2SskrllApproved by: re (scottl) 3881.1Sdyoung 3891.2Sskrll2005-07-08 16:36 sam 3901.1Sdyoung 3911.1Sdyoungfix another instance of the MORE_DATA bit handling for frames on the 3921.1Sdyoungpower save queue (missed in previous commit) 3931.1Sdyoung 3941.1SdyoungSubmitted by: Bruno Randolf 3951.2SskrllApproved by: re (scottl) 3961.1Sdyoung 3971.2Sskrll2005-07-06 15:38 sam 3981.1Sdyoung 3991.1Sdyoungadd "pureg" mode for ap operation: reject association requests from 4001.1Sdyoung11b-only stations when operating in 11g 4011.1Sdyoung 4021.2SskrllReviewed by: avatar 4031.2SskrllApproved by: re (scottl) 4041.2Sskrll 4051.2Sskrll2005-07-06 01:55 sam 4061.1Sdyoung 4071.1SdyoungFix handling of data frames queued for a station in power save mode: 4081.1Sdyoungdon't mark the MORE_DATA bit when taking it off the ps queue, there's 4091.1Sdyoungno 802.11 header then; we must wait to do this at encap time so 4101.1Sdyoungmark the mbuf instead. 4111.1Sdyoung 4121.2SskrllReviewed by: avatar 4131.2SskrllApproved by: re (scottl) 4141.1SdyoungObtained from: Atheros 4151.1Sdyoung 4161.2Sskrll2005-07-06 01:51 sam 4171.1Sdyoung 4181.1SdyoungFix race condition in handling node reference counts for authenticating 4191.1Sdyoungstations in ap mode. Track when a node's first auth frame is 4201.1Sdyoungreceived and use this to decide whether or not to bump the refcnt. 4211.1SdyoungThis insures we only ever bump the refcnt once. 4221.1Sdyoung 4231.2SskrllReviewed by: avatar 4241.2SskrllApproved by: re (scottl) 4251.2Sskrll 4261.2Sskrll2005-07-06 01:31 avatar 4271.1Sdyoung 4281.1SdyoungOnly update the scan entry state based on newly received frames. 4291.1SdyoungThis fixes duplicative BSS entries(memory leaks as well) listed in 4301.1Sdyoung"ifconfig dev list scan" when a station fails to associate with an AP. 4311.1Sdyoung 4321.2SskrllReviewed by: sam 4331.2SskrllApproved by: re (scottl) 4341.2Sskrll 4351.2Sskrll2005-07-05 18:05 sam 4361.1Sdyoung 4371.1Sdyoungremove auto-add of IEEE80211_KEY_GROUP; all the apps that need to 4381.1Sdyoungset it have been fixed 4391.1Sdyoung 4401.2SskrllReviewed by: avatar 4411.2SskrllApproved by: re (scottl) 4421.2Sskrll 4431.2Sskrll2005-07-05 17:35 sam 4441.1Sdyoung 4451.1Sdyoungo when setting a wpa key, hold a ref on the bss node; 4461.1Sdyoung fixes a ref cnt leak 4471.1Sdyoungo make unicast key handling on delete identical to set 4481.1Sdyoungo change legacy wep key api to reset the 802.11 state 4491.1Sdyoung machine for backwards compatibility 4501.1Sdyoung 4511.2SskrllReviewed by: avatar 4521.2SskrllApproved by: re (scottl) 4531.2Sskrll 4541.2Sskrll2005-07-04 01:29 sam 4551.1Sdyoung 4561.1Sdyoungwhen operating in ap mode, explicitly drop associated/authenticated 4571.1Sdyoungstations when transitioning to INIT state (e.g. as a result of 4581.1Sdyoungchanging state at the 802.11 level) 4591.1Sdyoung 4601.2SskrllApproved by: re (scottl) 4611.2Sskrll 4621.2Sskrll2005-06-13 21:01 sam 4631.1Sdyoung 4641.1Sdyoungrevert 1.53; it breaks ibss merge 4651.1Sdyoung 4661.1SdyoungNoticed by: Bruno Randolf 4671.2SskrllApproved by: re (dwhite) 4681.1Sdyoung 4691.2Sskrll2005-06-10 21:30 sam 4701.1Sdyoung 4711.1Sdyoungdon't look at the wme ie in a beacon unless we negotiated use 4721.1Sdyoung 4731.2Sskrll2005-06-10 16:49 brooks 4741.1Sdyoung 4751.1SdyoungStop embedding struct ifnet at the top of driver softcs. Instead the 4761.1Sdyoungstruct ifnet or the layer 2 common structure it was embedded in have 4771.1Sdyoungbeen replaced with a struct ifnet pointer to be filled by a call to the 4781.1Sdyoungnew function, if_alloc(). The layer 2 common structure is also allocated 4791.1Sdyoungvia if_alloc() based on the interface type. It is hung off the new 4801.1Sdyoungstruct ifnet member, if_l2com. 4811.1Sdyoung 4821.1SdyoungThis change removes the size of these structures from the kernel ABI and 4831.1Sdyoungwill allow us to better manage them as interfaces come and go. 4841.1Sdyoung 4851.1SdyoungOther changes of note: 4861.1Sdyoung - Struct arpcom is no longer referenced in normal interface code. 4871.1Sdyoung Instead the Ethernet address is accessed via the IFP2ENADDR() macro. 4881.1Sdyoung To enforce this ac_enaddr has been renamed to _ac_enaddr. 4891.1Sdyoung - The second argument to ether_ifattach is now always the mac address 4901.1Sdyoung from driver private storage rather than sometimes being ac_enaddr. 4911.1Sdyoung 4921.2SskrllReviewed by: sobomax, sam 4931.2Sskrll 4941.2Sskrll2005-06-10 16:14 sam 4951.1Sdyoung 4961.1Sdyoungvalidate the bssid for non-data frames too when operating in 4971.1Sdyoungadhoc/ahdemo/hostap modes 4981.1Sdyoung 4991.2Sskrll2005-06-10 16:11 sam 5001.1Sdyoung 5011.1Sdyoungo fix wpa w/ wme: don't strip the QoS header on recv as tkip requires 5021.1Sdyoung it; instead pass the space occupied by the header down into the 5031.1Sdyoung crypto modules (except in the demic case which needs it only when 5041.1Sdyoung doing int in s/w) 5051.1Sdyoungo while here fix defrag to strip the header from 2nd and later frames 5061.1Sdyoungo teach decap code how to handle 4-address frames 5071.1Sdyoung 5081.2Sskrll2005-06-10 05:04 sam 5091.1Sdyoung 5101.1Sdyoungmark stations authorized during recv processing instead of doing it 5111.1Sdyoungas a side effect of sending an auth success frame; sending mgmt 5121.1Sdyoungframes should not have side effects 5131.1Sdyoung 5141.2Sskrll2005-06-10 04:42 sam 5151.1Sdyoung 5161.1Sdyoungmove AID implementation defines from the protocol definitions to 5171.1Sdyoungwhere they are used 5181.1Sdyoung 5191.2Sskrll2005-06-10 04:37 sam 5201.1Sdyoung 5211.1Sdyoungaccept diassoc frame in ASSOC state 5221.1Sdyoung 5231.2Sskrll2005-06-10 01:48 sam 5241.1Sdyoung 5251.1Sdyoungpull some debug msgs up so they're seen more often 5261.1Sdyoung 5271.2Sskrll2005-06-10 01:47 sam 5281.1Sdyoung 5291.1Sdyoungkick the state machine when we receive failure notice from an ap (when 5301.1Sdyoungoperating in sta mode); this speeds up the state machine, previously 5311.1Sdyoungwe were acting on a timeout 5321.1Sdyoung 5331.2Sskrll2005-06-10 01:43 sam 5341.1Sdyoung 5351.1Sdyoungdiscard open auth requests in adhoc mode 5361.1Sdyoung 5371.2Sskrll2005-06-10 01:41 sam 5381.1Sdyoung 5391.1Sdyoungreject open auth requests when shared key auth is configured 5401.1Sdyoung 5411.1SdyoungObtained from: Atheros 5421.1Sdyoung 5431.2Sskrll2005-06-10 01:40 sam 5441.1Sdyoung 5451.1Sdyoungadd ieee80211_send_error to encapsulate an idiom 5461.1Sdyoung 5471.2Sskrll2005-06-10 01:38 sam 5481.1Sdyoung 5491.1Sdyoungo always check if ic_set_tim is !NULL before using it 5501.1Sdyoungo add missing call to clear tim after flushing ps q 5511.1Sdyoung 5521.2Sskrll2005-06-10 01:35 sam 5531.1Sdyoung 5541.1Sdyoungmark state for protection only when operating in 11g 5551.1Sdyoung 5561.2Sskrll2005-06-10 01:33 sam 5571.1Sdyoung 5581.1Sdyoungdon't reject station based on the PRIVACY bit in the capabilities; 5591.1Sdyoungthe 802.11 spec says not to 5601.1Sdyoung 5611.1SdyoungObtained from: Atheros 5621.1Sdyoung 5631.2Sskrll2005-06-10 01:31 sam 5641.1Sdyoung 5651.1Sdyoungcorrect checks for rate set compatibility 5661.1Sdyoung 5671.2Sskrll2005-06-10 01:29 sam 5681.1Sdyoung 5691.1Sdyoungrecord tstamp from beacons received in station mode when associated; 5701.1Sdyoungthis is needed by drivers that want to resync their timers based on 5711.1Sdyoungthe tsf of the last recv'd beacon frame 5721.1Sdyoung 5731.2Sskrll2005-06-09 04:05 sam 5741.1Sdyoung 5751.1Sdyoungo collect dtim period+count from beacons in station mode so drivers 5761.1Sdyoung can better program beacon timers 5771.1Sdyoungo leave placeholder in com structure for future ap/adhoc mode tim support 5781.1Sdyoung 5791.2SskrllReviewed by: avatar 5801.2Sskrll 5811.2Sskrll2005-06-07 23:37 sam 5821.1Sdyoung 5831.1SdyoungChange the MLME ASSOCIATE ioctl to accept either a ssid, a bssid, 5841.1Sdyoungor a bssid+ssid. This is needed for later versions of wpa_supplicant 5851.1Sdyoungand for forthcoming addons to wpa_supplicant. 5861.1Sdyoung 5871.1SdyoungNote this is an api change and applications must be rebuilt. 5881.1Sdyoung 5891.2Sskrll2005-06-07 23:31 sam 5901.1Sdyoung 5911.1SdyoungDon't clock the state machine in various cases when roaming is set 5921.1Sdyoungto manual; this helps keep wpa_supplicant in sync. 5931.1Sdyoung 5941.2Sskrll2005-06-07 00:08 sam 5951.1Sdyoung 5961.1SdyoungWPA/802.11i interoperability fixes: 5971.1Sdyoungo only include capabilities word in the WPA ie when non-zero and 5981.1Sdyoung not preauth 5991.1Sdyoungo always include the capabilities in the RSN ie 6001.1Sdyoung 6011.1SdyoungObtained from: Atheros 6021.1Sdyoung 6031.2Sskrll2005-06-06 04:04 sam 6041.1Sdyoung 6051.1Sdyoungadd force flag to enmic/demic crypto api for use in xmit fragmentation 6061.1Sdyoungand h/w mic verification 6071.2Sskrll 6081.2SskrllReviewed by: avatar 6091.2Sskrll 610