1 1.1 dyoung *** 2 1.1 dyoung *** Summary of changes between 2005-05-18 and 2005-07-11. 3 1.1 dyoung *** 4 1.1 dyoung *** % cvs -d freebsdanoncvs (a] anoncvs.freebsd.org:/home/ncvs co src 5 1.1 dyoung *** % cd src/sys/net80211/ 6 1.1 dyoung *** % cvs2cl --hide-filenames --no-indent --no-wrap -f CHANGES \ 7 1.1 dyoung *** -l '-d 2005-05-18<=2005-07-11' 8 1.1 dyoung *** 9 1.1 dyoung 10 1.1 dyoung 2005-07-10 22:06 sam 11 1.1 dyoung 12 1.1 dyoung Handle encrypt of arbitarily fragmented mbuf chains: previously 13 1.1 dyoung we bailed if we couldn't collect the 16-bytes of data required 14 1.1 dyoung for an aes block cipher in 2 mbufs; now we deal with it. While 15 1.1 dyoung here make space accounting signed so a sanity check does the 16 1.1 dyoung right thing for malformed mbuf chains. 17 1.1 dyoung 18 1.1 dyoung 2005-07-10 22:00 sam 19 1.1 dyoung 20 1.1 dyoung nuke assert that duplicates real check 21 1.1 dyoung 22 1.1 dyoung 2005-07-09 18:15 sam 23 1.1 dyoung 24 1.1 dyoung Change default key allocation method to do the right thing for 25 1.1 dyoung legacy parts (i.e. those that have 4 global key slots). We 26 1.1 dyoung blindly assign unicast keys to key slot 0. Devices that need 27 1.1 dyoung alternate allocation logic must override this method. 28 1.1 dyoung 29 1.1 dyoung 2005-07-08 17:49 sam 30 1.1 dyoung 31 1.1 dyoung correct check for high priority wme traffic 32 1.1 dyoung 33 1.1 dyoung Noticed by: Ralf Assmann 34 1.1 dyoung 35 1.1 dyoung 2005-07-08 11:36 sam 36 1.1 dyoung 37 1.1 dyoung fix another instance of the MORE_DATA bit handling for frames on the 38 1.1 dyoung power save queue (missed in previous commit) 39 1.1 dyoung 40 1.1 dyoung Submitted by: Bruno Randolf 41 1.1 dyoung 42 1.1 dyoung 2005-07-06 10:38 sam 43 1.1 dyoung 44 1.1 dyoung add "pureg" mode for ap operation: reject association requests from 45 1.1 dyoung 11b-only stations when operating in 11g 46 1.1 dyoung 47 1.1 dyoung 2005-07-05 20:55 sam 48 1.1 dyoung 49 1.1 dyoung Fix handling of data frames queued for a station in power save mode: 50 1.1 dyoung don't mark the MORE_DATA bit when taking it off the ps queue, there's 51 1.1 dyoung no 802.11 header then; we must wait to do this at encap time so 52 1.1 dyoung mark the mbuf instead. 53 1.1 dyoung 54 1.1 dyoung Obtained from: Atheros 55 1.1 dyoung 56 1.1 dyoung 2005-07-05 20:51 sam 57 1.1 dyoung 58 1.1 dyoung Fix race condition in handling node reference counts for authenticating 59 1.1 dyoung stations in ap mode. Track when a node's first auth frame is 60 1.1 dyoung received and use this to decide whether or not to bump the refcnt. 61 1.1 dyoung This insures we only ever bump the refcnt once. 62 1.1 dyoung 63 1.1 dyoung 2005-07-05 20:31 avatar 64 1.1 dyoung 65 1.1 dyoung Only update the scan entry state based on newly received frames. 66 1.1 dyoung This fixes duplicative BSS entries(memory leaks as well) listed in 67 1.1 dyoung "ifconfig dev list scan" when a station fails to associate with an AP. 68 1.1 dyoung 69 1.1 dyoung 2005-07-05 13:05 sam 70 1.1 dyoung 71 1.1 dyoung remove auto-add of IEEE80211_KEY_GROUP; all the apps that need to 72 1.1 dyoung set it have been fixed 73 1.1 dyoung 74 1.1 dyoung 2005-07-05 12:35 sam 75 1.1 dyoung 76 1.1 dyoung o when setting a wpa key, hold a ref on the bss node; 77 1.1 dyoung fixes a ref cnt leak 78 1.1 dyoung o make unicast key handling on delete identical to set 79 1.1 dyoung o change legacy wep key api to reset the 802.11 state 80 1.1 dyoung machine for backwards compatibility 81 1.1 dyoung 82 1.1 dyoung 2005-07-03 20:29 sam 83 1.1 dyoung 84 1.1 dyoung when operating in ap mode, explicitly drop associated/authenticated 85 1.1 dyoung stations when transitioning to INIT state (e.g. as a result of 86 1.1 dyoung changing state at the 802.11 level) 87 1.1 dyoung 88 1.1 dyoung 2005-06-13 16:01 sam 89 1.1 dyoung 90 1.1 dyoung revert 1.53; it breaks ibss merge 91 1.1 dyoung 92 1.1 dyoung Noticed by: Bruno Randolf 93 1.1 dyoung 94 1.1 dyoung 2005-06-10 16:30 sam 95 1.1 dyoung 96 1.1 dyoung don't look at the wme ie in a beacon unless we negotiated use 97 1.1 dyoung 98 1.1 dyoung 2005-06-10 11:49 brooks 99 1.1 dyoung 100 1.1 dyoung Stop embedding struct ifnet at the top of driver softcs. Instead the 101 1.1 dyoung struct ifnet or the layer 2 common structure it was embedded in have 102 1.1 dyoung been replaced with a struct ifnet pointer to be filled by a call to the 103 1.1 dyoung new function, if_alloc(). The layer 2 common structure is also allocated 104 1.1 dyoung via if_alloc() based on the interface type. It is hung off the new 105 1.1 dyoung struct ifnet member, if_l2com. 106 1.1 dyoung 107 1.1 dyoung This change removes the size of these structures from the kernel ABI and 108 1.1 dyoung will allow us to better manage them as interfaces come and go. 109 1.1 dyoung 110 1.1 dyoung Other changes of note: 111 1.1 dyoung - Struct arpcom is no longer referenced in normal interface code. 112 1.1 dyoung Instead the Ethernet address is accessed via the IFP2ENADDR() macro. 113 1.1 dyoung To enforce this ac_enaddr has been renamed to _ac_enaddr. 114 1.1 dyoung - The second argument to ether_ifattach is now always the mac address 115 1.1 dyoung from driver private storage rather than sometimes being ac_enaddr. 116 1.1 dyoung 117 1.1 dyoung 2005-06-10 11:14 sam 118 1.1 dyoung 119 1.1 dyoung validate the bssid for non-data frames too when operating in 120 1.1 dyoung adhoc/ahdemo/hostap modes 121 1.1 dyoung 122 1.1 dyoung 2005-06-10 11:11 sam 123 1.1 dyoung 124 1.1 dyoung o fix wpa w/ wme: don't strip the QoS header on recv as tkip requires 125 1.1 dyoung it; instead pass the space occupied by the header down into the 126 1.1 dyoung crypto modules (except in the demic case which needs it only when 127 1.1 dyoung doing int in s/w) 128 1.1 dyoung o while here fix defrag to strip the header from 2nd and later frames 129 1.1 dyoung o teach decap code how to handle 4-address frames 130 1.1 dyoung 131 1.1 dyoung 2005-06-10 00:04 sam 132 1.1 dyoung 133 1.1 dyoung mark stations authorized during recv processing instead of doing it 134 1.1 dyoung as a side effect of sending an auth success frame; sending mgmt 135 1.1 dyoung frames should not have side effects 136 1.1 dyoung 137 1.1 dyoung 2005-06-09 23:42 sam 138 1.1 dyoung 139 1.1 dyoung move AID implementation defines from the protocol definitions to 140 1.1 dyoung where they are used 141 1.1 dyoung 142 1.1 dyoung 2005-06-09 23:37 sam 143 1.1 dyoung 144 1.1 dyoung accept diassoc frame in ASSOC state 145 1.1 dyoung 146 1.1 dyoung 2005-06-09 20:48 sam 147 1.1 dyoung 148 1.1 dyoung pull some debug msgs up so they're seen more often 149 1.1 dyoung 150 1.1 dyoung 2005-06-09 20:47 sam 151 1.1 dyoung 152 1.1 dyoung kick the state machine when we receive failure notice from an ap (when 153 1.1 dyoung operating in sta mode); this speeds up the state machine, previously 154 1.1 dyoung we were acting on a timeout 155 1.1 dyoung 156 1.1 dyoung 2005-06-09 20:43 sam 157 1.1 dyoung 158 1.1 dyoung discard open auth requests in adhoc mode 159 1.1 dyoung 160 1.1 dyoung 2005-06-09 20:41 sam 161 1.1 dyoung 162 1.1 dyoung reject open auth requests when shared key auth is configured 163 1.1 dyoung 164 1.1 dyoung Obtained from: Atheros 165 1.1 dyoung 166 1.1 dyoung 2005-06-09 20:40 sam 167 1.1 dyoung 168 1.1 dyoung add ieee80211_send_error to encapsulate an idiom 169 1.1 dyoung 170 1.1 dyoung 2005-06-09 20:38 sam 171 1.1 dyoung 172 1.1 dyoung o always check if ic_set_tim is !NULL before using it 173 1.1 dyoung o add missing call to clear tim after flushing ps q 174 1.1 dyoung 175 1.1 dyoung 2005-06-09 20:35 sam 176 1.1 dyoung 177 1.1 dyoung mark state for protection only when operating in 11g 178 1.1 dyoung 179 1.1 dyoung 2005-06-09 20:33 sam 180 1.1 dyoung 181 1.1 dyoung don't reject station based on the PRIVACY bit in the capabilities; 182 1.1 dyoung the 802.11 spec says not to 183 1.1 dyoung 184 1.1 dyoung Obtained from: Atheros 185 1.1 dyoung 186 1.1 dyoung 2005-06-09 20:31 sam 187 1.1 dyoung 188 1.1 dyoung correct checks for rate set compatibility 189 1.1 dyoung 190 1.1 dyoung 2005-06-09 20:29 sam 191 1.1 dyoung 192 1.1 dyoung record tstamp from beacons received in station mode when associated; 193 1.1 dyoung this is needed by drivers that want to resync their timers based on 194 1.1 dyoung the tsf of the last recv'd beacon frame 195 1.1 dyoung 196 1.1 dyoung 2005-06-08 23:05 sam 197 1.1 dyoung 198 1.1 dyoung o collect dtim period+count from beacons in station mode so drivers 199 1.1 dyoung can better program beacon timers 200 1.1 dyoung o leave placeholder in com structure for future ap/adhoc mode tim support 201 1.1 dyoung 202 1.1 dyoung 2005-06-07 18:37 sam 203 1.1 dyoung 204 1.1 dyoung Change the MLME ASSOCIATE ioctl to accept either a ssid, a bssid, 205 1.1 dyoung or a bssid+ssid. This is needed for later versions of wpa_supplicant 206 1.1 dyoung and for forthcoming addons to wpa_supplicant. 207 1.1 dyoung 208 1.1 dyoung Note this is an api change and applications must be rebuilt. 209 1.1 dyoung 210 1.1 dyoung 2005-06-07 18:31 sam 211 1.1 dyoung 212 1.1 dyoung Don't clock the state machine in various cases when roaming is set 213 1.1 dyoung to manual; this helps keep wpa_supplicant in sync. 214 1.1 dyoung 215 1.1 dyoung 2005-06-06 19:08 sam 216 1.1 dyoung 217 1.1 dyoung WPA/802.11i interoperability fixes: 218 1.1 dyoung o only include capabilities word in the WPA ie when non-zero and 219 1.1 dyoung not preauth 220 1.1 dyoung o always include the capabilities in the RSN ie 221 1.1 dyoung 222 1.1 dyoung Obtained from: Atheros 223 1.1 dyoung 224 1.1 dyoung 2005-06-05 23:04 sam 225 1.1 dyoung 226 1.1 dyoung add force flag to enmic/demic crypto api for use in xmit fragmentation 227 1.1 dyoung and h/w mic verification 228