#
386d84f6 |
| 22-Feb-2006 |
Sam Leffler <sam@FreeBSD.org> |
honor user-specified key index for global key slots
Submitted by: Joe Love Reviewed by: avatar MFC after: 1 week
|
#
d3b3a464 |
| 20-Feb-2006 |
Sam Leffler <sam@FreeBSD.org> |
treat setting the optional ie to a zero-length datum to mean "delete the ie"; this helps drivers that (wrongly) check ic_opt_ie against NULL when making decisions
Reviewed by: luigi, avatar MFC afte
treat setting the optional ie to a zero-length datum to mean "delete the ie"; this helps drivers that (wrongly) check ic_opt_ie against NULL when making decisions
Reviewed by: luigi, avatar MFC after: 3 days
show more ...
|
#
239cc3b6 |
| 18-Jan-2006 |
Sam Leffler <sam@FreeBSD.org> |
Rev ioctl to get scan results: o lock the list walk o malloc a results buffer instead of copying out one result at a time using an on-stack buffer o fix definition of ieee80211req_scan_result so si
Rev ioctl to get scan results: o lock the list walk o malloc a results buffer instead of copying out one result at a time using an on-stack buffer o fix definition of ieee80211req_scan_result so size of variable-length information elements is large enough to hold all possible ie's (still only return wpa+wme, at some point may return all) o make rssi+noise data signed; they should've been so all along o add a bit more padding for future additions while we're here o define a new ioctl for new api and add compat code for old ioctl under COMPAT_FREEBSD6 (temporarily enabled local to the file)
Reviewed by: Scott Long MFC after: 2 weeks
show more ...
|
#
9238d0af |
| 18-Jan-2006 |
Colin Percival <cperciva@FreeBSD.org> |
Correct a buffer overflow when scanning for 802.11 wireless networks.
Security: FreeBSD-SA-06:05.80211
|
#
c27e4e31 |
| 14-Dec-2005 |
Sam Leffler <sam@FreeBSD.org> |
make packet bursting configurable (default to on if device is capable)
|
#
259bb4d3 |
| 14-Dec-2005 |
Sam Leffler <sam@FreeBSD.org> |
allow setting the bssid in any mode
Obtained from: netbsd
|
#
64353cb0 |
| 12-Dec-2005 |
Sam Leffler <sam@FreeBSD.org> |
add fixed rate for sending multicast frames
Obtained from: atheros MFC after: 1 week
|
#
c2544286 |
| 12-Dec-2005 |
Sam Leffler <sam@FreeBSD.org> |
change malloc when setting an optional ie to use M_NOWAIT
MFC after: 3 days
|
#
e55e5e42 |
| 12-Dec-2005 |
Sam Leffler <sam@FreeBSD.org> |
correct parameter check when retrieving the current channel list
MFC after: 3 days
|
#
4a0d6638 |
| 11-Nov-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
- Store pointer to the link-level address right in "struct ifnet" rather than in ifindex_table[]; all (except one) accesses are through ifp anyway. IF_LLADDR() works faster, and all (except on
- Store pointer to the link-level address right in "struct ifnet" rather than in ifindex_table[]; all (except one) accesses are through ifp anyway. IF_LLADDR() works faster, and all (except one) ifaddr_byindex() users were converted to use ifp->if_addr.
- Stop storing a (pointer to) Ethernet address in "struct arpcom", and drop the IFP2ENADDR() macro; all users have been converted to use IF_LLADDR() instead.
show more ...
|
Revision tags: release/6.0.0_cvs, release/6.0.0 |
|
#
8157976a |
| 30-Aug-2005 |
Tai-hwa Liang <avatar@FreeBSD.org> |
Properly set ic_curchan before calling back to device driver to do channel switching(ifconfig devX channel Y). This fix should make channel changing works again in monitor mode.
Submitted by: sam X
Properly set ic_curchan before calling back to device driver to do channel switching(ifconfig devX channel Y). This fix should make channel changing works again in monitor mode.
Submitted by: sam X-MFC-With: other ic_curchan changes
show more ...
|
#
188757f5 |
| 13-Aug-2005 |
Sam Leffler <sam@FreeBSD.org> |
Extend acl support to pass ioctl requests through and use this to add support for getting the current policy setting and collecting the list of mac addresses in the acl table.
Submitted by: Michal M
Extend acl support to pass ioctl requests through and use this to add support for getting the current policy setting and collecting the list of mac addresses in the acl table.
Submitted by: Michal Mertl (original version) MFC after: 2 weeks
show more ...
|
#
b5c99415 |
| 10-Aug-2005 |
Sam Leffler <sam@FreeBSD.org> |
Clarify/fix handling of the current channel: o add ic_curchan and use it uniformly for specifying the current channel instead of overloading ic->ic_bss->ni_chan (or in some drivers ic_ibss_chan)
Clarify/fix handling of the current channel: o add ic_curchan and use it uniformly for specifying the current channel instead of overloading ic->ic_bss->ni_chan (or in some drivers ic_ibss_chan) o add ieee80211_scanparams structure to encapsulate scanning-related state captured for rx frames o move rx beacon+probe response frame handling into separate routines o change beacon+probe response handling to treat the scan table more like a scan cache--look for an existing entry before adding a new one; this combined with ic_curchan use corrects handling of stations that were previously found at a different channel o move adhoc neighbor discovery by beacon+probe response frames to a new ieee80211_add_neighbor routine
Reviewed by: avatar Tested by: avatar, Michal Mertl MFC after: 2 weeks
show more ...
|
#
13f4c340 |
| 09-Aug-2005 |
Robert Watson <rwatson@FreeBSD.org> |
Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and IFF_DRV_RUNNING, as well as the move from ifnet.if_flags to ifnet.if_drv_flags. Device drivers are now responsible for synchron
Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and IFF_DRV_RUNNING, as well as the move from ifnet.if_flags to ifnet.if_drv_flags. Device drivers are now responsible for synchronizing access to these flags, as they are in if_drv_flags. This helps prevent races between the network stack and device driver in maintaining the interface flags field.
Many __FreeBSD__ and __FreeBSD_version checks maintained and continued; some less so.
Reviewed by: pjd, bz MFC after: 7 days
show more ...
|
#
c1225b52 |
| 08-Aug-2005 |
Sam Leffler <sam@FreeBSD.org> |
Split crypto tx+rx key indices and add a key index -> node mapping table:
Crypto changes: o change driver/net80211 key_alloc api to return tx+rx key indices; a driver can leave the rx key index se
Split crypto tx+rx key indices and add a key index -> node mapping table:
Crypto changes: o change driver/net80211 key_alloc api to return tx+rx key indices; a driver can leave the rx key index set to IEEE80211_KEYIX_NONE or set it to be the same as the tx key index (the former disables use of the key index in building the keyix->node mapping table and is the default setup for naive drivers by null_key_alloc) o add cs_max_keyid to crypto state to specify the max h/w key index a driver will return; this is used to allocate the key index mapping table and to bounds check table loookups o while here introduce ieee80211_keyix (finally) for the type of a h/w key index o change crypto notifiers for rx failures to pass the rx key index up as appropriate (michael failure, replay, etc.)
Node table changes: o optionally allocate a h/w key index to node mapping table for the station table using the max key index setting supplied by drivers (note the scan table does not get a map) o defer node table allocation to lateattach so the driver has a chance to set the max key id to size the key index map o while here also defer the aid bitmap allocation o add new ieee80211_find_rxnode_withkey api to find a sta/node entry on frame receive with an optional h/w key index to use in checking mapping table; also updates the map if it does a hash lookup and the found node has a rx key index set in the unicast key; note this work is separated from the old ieee80211_find_rxnode call so drivers do not need to be aware of the new mechanism o move some node table manipulation under the node table lock to close a race on node delete o add ieee80211_node_delucastkey to do the dirty work of deleting unicast key state for a node (deletes any key and handles key map references)
Ath driver: o nuke private sc_keyixmap mechansim in favor of net80211 support o update key alloc api
These changes close several race conditions for the ath driver operating in ap mode. Other drivers should see no change. Station mode operation for ath no longer uses the key index map but performance tests show no noticeable change and this will be fixed when the scan table is eliminated with the new scanning support.
Tested by: Michal Mertl, avatar, others Reviewed by: avatar, others MFC after: 2 weeks
show more ...
|
#
2cab1d3d |
| 08-Aug-2005 |
Sam Leffler <sam@FreeBSD.org> |
use ieee80211_iterate_nodes to retrieve station data; the previous code walked the list w/o locking
MFC after: 1 week
|
#
d365f9c7 |
| 08-Aug-2005 |
Sam Leffler <sam@FreeBSD.org> |
Cleanup beacon/listen interval handling: o separate configured beacon interval from listen interval; this avoids potential use of one value for the other (e.g. setting powersavesleep to 0 clobber
Cleanup beacon/listen interval handling: o separate configured beacon interval from listen interval; this avoids potential use of one value for the other (e.g. setting powersavesleep to 0 clobbers the beacon interval used in hostap or ibss mode) o bounds check the beacon interval received in probe response and beacon frames and drop frames with bogus settings; not clear if we should instead clamp the value as any alteration would result in mismatched sta+ap configuration and probably be more confusing (don't want to log to the console but perhaps ok with rate limiting) o while here up max beacon interval to reflect WiFi standard
Noticed by: Martin <nakal@nurfuerspam.de> MFC after: 1 week
show more ...
|
#
e4918ecd |
| 22-Jul-2005 |
Sam Leffler <sam@FreeBSD.org> |
simplify ieee80211_node_authorize and ieee80211_node_unauthorize api's
MFC after: 3 days
|
#
70231e3d |
| 22-Jul-2005 |
Sam Leffler <sam@FreeBSD.org> |
o add IEEE80211_IOC_FRAGTHRESHOLD for getting+setting the tx fragmentation threshold o fix bounds checking on IEEE80211_IOC_RTSTHRESHOLD
MFC after: 3 days
|
#
2c39b32c |
| 22-Jul-2005 |
Sam Leffler <sam@FreeBSD.org> |
diff reduction against p4: define IEEE80211_FIXED_RATE_NONE and use it instead of -1
|
#
c4f040c3 |
| 06-Jul-2005 |
Sam Leffler <sam@FreeBSD.org> |
add "pureg" mode for ap operation: reject association requests from 11b-only stations when operating in 11g
Reviewed by: avatar Approved by: re (scottl)
|
#
e5f9856f |
| 05-Jul-2005 |
Sam Leffler <sam@FreeBSD.org> |
remove auto-add of IEEE80211_KEY_GROUP; all the apps that need to set it have been fixed
Reviewed by: avatar Approved by: re (scottl)
|
#
b5d4660f |
| 05-Jul-2005 |
Sam Leffler <sam@FreeBSD.org> |
o when setting a wpa key, hold a ref on the bss node; 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
o when setting a wpa key, hold a ref on the bss node; 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)
show more ...
|
#
fc74a9f9 |
| 10-Jun-2005 |
Brooks Davis <brooks@FreeBSD.org> |
Stop embedding struct ifnet at the top of driver softcs. Instead the 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 c
Stop embedding struct ifnet at the top of driver softcs. Instead the 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
show more ...
|
#
f02a0bd2 |
| 08-Jun-2005 |
Sam Leffler <sam@FreeBSD.org> |
Change the MLME ASSOCIATE ioctl to accept either a ssid, a bssid, or a bssid+ssid. This is needed for later versions of wpa_supplicant and for forthcoming addons to wpa_supplicant.
Note this is an a
Change the MLME ASSOCIATE ioctl to accept either a ssid, a bssid, 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.
show more ...
|