summaryrefslogtreecommitdiffstats
path: root/sys/net80211
Commit message (Collapse)AuthorAgeFilesLines
* Change default key allocation method to do the right thing forsam2005-07-091-1/+18
| | | | | | | | | legacy parts (i.e. those that have 4 global key slots). We blindly assign unicast keys to key slot 0. Devices that need alternate allocation logic must override this method. Reviewed by: avatar Approved by: re (scottl)
* correct check for high priority wme trafficsam2005-07-081-1/+1
| | | | | | Noticed by: Ralf Assmann Reviewed by: apatti Approved by: re (scottl)
* fix another instance of the MORE_DATA bit handling for frames on thesam2005-07-081-2/+1
| | | | | | | power save queue (missed in previous commit) Submitted by: Bruno Randolf Approved by: re (scottl)
* add "pureg" mode for ap operation: reject association requests fromsam2005-07-064-2/+23
| | | | | | | 11b-only stations when operating in 11g Reviewed by: avatar Approved by: re (scottl)
* Fix handling of data frames queued for a station in power save mode:sam2005-07-063-6/+7
| | | | | | | | | | don't mark the MORE_DATA bit when taking it off the ps queue, there's no 802.11 header then; we must wait to do this at encap time so mark the mbuf instead. Reviewed by: avatar Approved by: re (scottl) Obtained from: Atheros
* Fix race condition in handling node reference counts for authenticatingsam2005-07-063-2/+32
| | | | | | | | | stations in ap mode. Track when a node's first auth frame is received and use this to decide whether or not to bump the refcnt. This insures we only ever bump the refcnt once. Reviewed by: avatar Approved by: re (scottl)
* Only update the scan entry state based on newly received frames.avatar2005-07-061-1/+2
| | | | | | | | This fixes duplicative BSS entries(memory leaks as well) listed in "ifconfig dev list scan" when a station fails to associate with an AP. Reviewed by: sam Approved by: re (scottl)
* remove auto-add of IEEE80211_KEY_GROUP; all the apps that need tosam2005-07-051-3/+0
| | | | | | | set it have been fixed Reviewed by: avatar Approved by: re (scottl)
* o when setting a wpa key, hold a ref on the bss node;sam2005-07-051-5/+17
| | | | | | | | | | fixes a ref cnt leak o make unicast key handling on delete identical to set o change legacy wep key api to reset the 802.11 state machine for backwards compatibility Reviewed by: avatar Approved by: re (scottl)
* when operating in ap mode, explicitly drop associated/authenticatedsam2005-07-041-19/+25
| | | | | | | stations when transitioning to INIT state (e.g. as a result of changing state at the 802.11 level) Approved by: re (scottl)
* revert 1.53; it breaks ibss mergesam2005-06-131-2/+2
| | | | | Noticed by: Bruno Randolf Approved by: re (dwhite)
* don't look at the wme ie in a beacon unless we negotiated usesam2005-06-101-0/+1
|
* Stop embedding struct ifnet at the top of driver softcs. Instead thebrooks2005-06-101-4/+4
| | | | | | | | | | | | | | | | | | | | struct ifnet or the layer 2 common structure it was embedded in have been replaced with a struct ifnet pointer to be filled by a call to the new function, if_alloc(). The layer 2 common structure is also allocated via if_alloc() based on the interface type. It is hung off the new struct ifnet member, if_l2com. This change removes the size of these structures from the kernel ABI and will allow us to better manage them as interfaces come and go. Other changes of note: - Struct arpcom is no longer referenced in normal interface code. Instead the Ethernet address is accessed via the IFP2ENADDR() macro. To enforce this ac_enaddr has been renamed to _ac_enaddr. - The second argument to ether_ifattach is now always the mac address from driver private storage rather than sometimes being ac_enaddr. Reviewed by: sobomax, sam
* validate the bssid for non-data frames too when operating insam2005-06-101-2/+2
| | | | adhoc/ahdemo/hostap modes
* o fix wpa w/ wme: don't strip the QoS header on recv as tkip requiressam2005-06-107-67/+41
| | | | | | | | it; instead pass the space occupied by the header down into the crypto modules (except in the demic case which needs it only when doing int in s/w) o while here fix defrag to strip the header from 2nd and later frames o teach decap code how to handle 4-address frames
* mark stations authorized during recv processing instead of doing itsam2005-06-102-8/+7
| | | | | as a side effect of sending an auth success frame; sending mgmt frames should not have side effects
* move AID implementation defines from the protocol definitions tosam2005-06-102-6/+10
| | | | where they are used
* accept diassoc frame in ASSOC statesam2005-06-101-0/+1
|
* pull some debug msgs up so they're seen more oftensam2005-06-101-11/+10
|
* kick the state machine when we receive failure notice from an ap (whensam2005-06-101-4/+13
| | | | | operating in sta mode); this speeds up the state machine, previously we were acting on a timeout
* discard open auth requests in adhoc modesam2005-06-101-11/+4
|
* reject open auth requests when shared key auth is configuredsam2005-06-101-0/+13
| | | | Obtained from: Atheros
* add ieee80211_send_error to encapsulate an idiomsam2005-06-101-18/+38
|
* o always check if ic_set_tim is !NULL before using itsam2005-06-101-3/+8
| | | | o add missing call to clear tim after flushing ps q
* mark state for protection only when operating in 11gsam2005-06-101-2/+4
|
* don't reject station based on the PRIVACY bit in the capabilities;sam2005-06-101-6/+2
| | | | | | the 802.11 spec says not to Obtained from: Atheros
* correct checks for rate set compatibilitysam2005-06-101-8/+6
|
* record tstamp from beacons received in station mode when associated;sam2005-06-101-0/+3
| | | | | this is needed by drivers that want to resync their timers based on the tsf of the last recv'd beacon frame
* o collect dtim period+count from beacons in station mode so driverssam2005-06-093-3/+21
| | | | | | | can better program beacon timers o leave placeholder in com structure for future ap/adhoc mode tim support Reviewed by: avatar
* Change the MLME ASSOCIATE ioctl to accept either a ssid, a bssid,sam2005-06-073-16/+33
| | | | | | | or a bssid+ssid. This is needed for later versions of wpa_supplicant and for forthcoming addons to wpa_supplicant. Note this is an api change and applications must be rebuilt.
* Don't clock the state machine in various cases when roaming is setsam2005-06-071-6/+11
| | | | to manual; this helps keep wpa_supplicant in sync.
* WPA/802.11i interoperability fixes:sam2005-06-071-3/+2
| | | | | | | | o only include capabilities word in the WPA ie when non-zero and not preauth o always include the capabilities in the RSN ie Obtained from: Atheros
* add force flag to enmic/demic crypto api for use in xmit fragmentationsam2005-06-067-26/+26
| | | | | | and h/w mic verification Reviewed by: avatar
* Revise crypto api lightly to improve group key handling:sam2005-04-123-33/+44
| | | | | | | | | | | | | | | o don't pre-assign key index to the global key table entries so device has a chance to decide what to use o make ieee80211_crypto_newkey take the desired flags as an argument instead of wacking the key structure directly; this eliminates a bunch of code warts o add a new flag IEEE80211_KEY_GROUP to indicate a key is a WPA Group key so devices don't need to guess (temporarily add this flag in the ioctl code until we can get wpa_supplicant+hostapd updated) o shuffle IEEE80211_KEY_* bits to move flags used internally to the high nibble of the flags word Reviewed by: Tai-hwa Liang
* remove extern from function declssam2005-04-044-93/+83
|
* change ieee80211_input to return the frame type or -1sam2005-04-042-6/+8
|
* pass re-association events up using a new message typesam2005-03-292-5/+6
|
* when WPA is enabled discard association requests w/o a WPA iesam2005-03-261-0/+14
| | | | Submitted by: Divy Le Ray
* don't include wme ie in probe request frames; it was meant for probe responsesam2005-03-261-4/+4
| | | | | | | frames--move it there Noticed by: Ghislain Mary Submitted by: Michael Wong
* correct comparison for null ptrsam2005-03-161-1/+1
| | | | Noticed by: Coverity Prevent analysis tool
* avoid potential array index by -1sam2005-03-161-1/+2
| | | | Noticed by: Coverity Prevent analysis tool
* eliminate use after free in debug codesam2005-03-161-3/+3
| | | | Noticed by: Coverity Prevent analysis tool
* kill dead codesam2005-03-161-2/+1
| | | | Noticed by: Coverity Prevent analysis tool
* honor any desired bssid when creating an ibsssam2005-03-081-1/+4
| | | | | Prodded by: David Young Obtained from: netbsd
* Recently, it was reported to me that you could provoke a double faultwpaul2005-03-031-0/+19
| | | | | | | | | | | | | | | | | | | | panic with the NDISulator if you did "ifconfig ndis0 10.0.0.1/24," whereas "ifconfig ndis0 10.0.0.1/24 up" worked fine. The double fault was caused by the ifconfig thread running out of kernel stack space. (This was partly due to the NDIsulator using a couple of big buffers on the stack, but even after fixing that the double fault persisted.) It turns out that ndis_init() is called in both cases, but in the first case the code path passes through ieee80211_ioctl(), and it turns out ieee80211_ioctl() consumes a whopping 2400 bytes of stack space. Apparently, gcc -O2 causes the ieee80211_ioctl_get80211() routine to be inlined into ieee80211_ioctl(), and for some reason which I do not fully understand, this causes ieee80211_ioctl() to consume an extra 2K of stack space. To prevent this overly agressive optimization, ieee80211_ioctl_get80211() is now declared with __attribute__ ((noinline)). With this change, ieee80211_ioctl() now only reserves about 200 bytes of stack instead of 2400.
* mark timestamp for pending fragmentssam2005-02-231-0/+2
| | | | Noticed by: Jeffrey D. Chung
* rev 1.19 fixed wpa supplicant but broke wpa authenticator; when operatingsam2005-02-101-1/+2
| | | | | | | as an authenticator need to always check for the unicast key in the node (as was the case before) Submitted by: Divy Le Ray
* propagate state kept in the bss node when re-creating the nodesam2005-02-101-1/+16
| | | | | | | on state transitions; this is a stopgap measure, need to rethink how we do management of this state Identified by: Divy Le Ray
* correct check for unicast key being setup; wpa_supplicant in particularsam2005-02-031-1/+1
| | | | | | uses only the global key state so looking in the per-node key slot is wrong Submitted by: Tai-hwa Liang
* supply a default ic_reset method for drivers; the ioctl code expect thissam2005-01-271-0/+22
| | | | | | method to always be setup Submitted by: Tai-hwa Liang
OpenPOWER on IntegriCloud