FragAttacks: Fragmentation & Aggregation Attacks
Go to file
Christopher Wiley a8c5b43ad3 nl80211: Roam correctly through cfg80211 without SME
Change the nl80211 driver in wpa_supplicant to correctly handle
connecting to a new AP through cfg80211 without SME capability. As
before, the driver will disconnect from the previously associated AP,
but now we attempt to immediately connect to our intended AP. This
prevents us from blacklisting the AP we were trying to connect to
because of a semantic mismatch between cfg80211 and wpa_supplicant. The
disconnect/connect patch generates a local disconnect nl80211 event
which we discard because we're already correctly tracking the pending
association request.

In detail:

cfg80211 does not support connecting to a new BSS while already
connected to another BSS, if the underlying driver doesn't support
separate authenticate and associate commands. wpa_supplicant is written
to expect that this is a supported operation, except for a little error
handling that disconnects from the current BSS when roaming fails and
relies on autoconnect logic to reconnect later. However, this failure to
connect is incorrectly attributed to the new AP we attempted to
associate with, rather than a local condition in cfg80211.

The combined effect of these two conditions is that full-mac drivers
accessible through cfg80211 but without SME capability take a long time
to roam across BSS's because wpa_supplicant will:
1) Fail to associate for local reasons
2) Disconnect and return that the association request failed
3) Blacklist the association target (incorrectly)
4) Do a scan
5) Pick a less desirable AP to associate with

Signed-hostap: Christoper Wiley <wiley@chromium.org>
2012-11-11 16:15:29 +02:00
doc D-Bus: Add AutoScan interface method to set/unset autoscan parameters 2012-06-26 19:05:09 +03:00
eap_example Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
hostapd WPS: Remove deprecated UFD config method and OOB ctrl_iface 2012-11-11 13:01:06 +02:00
mac80211_hwsim Remove the GPL notification from files contributed by Atheros 2012-02-11 19:39:36 +02:00
patches Add OpenSSL 0.9.8x patch for EAP-FAST 2012-07-07 11:01:02 +03:00
radius_example Fix memory leaks on radius_client_send error paths 2012-04-01 17:55:20 +03:00
src nl80211: Roam correctly through cfg80211 without SME 2012-11-11 16:15:29 +02:00
tests Add aes_gmac() as a wrapper for AES GMAC operations using GCM 2012-09-09 13:37:50 +03:00
wlantest wlantest: Add BIP-GMAC-128/256 test vectors 2012-09-09 19:04:53 +03:00
wpa_supplicant Fix a typo in a comment 2012-11-11 16:09:36 +02:00
.gitignore Move .config to the toplevel .gitignore 2011-03-15 17:52:13 +02:00
build_release Remove scripts and notes related to the Windows binary package 2012-05-08 20:49:33 +03:00
CONTRIBUTIONS Select the BSD license terms as the only license alternative 2012-02-11 19:39:31 +02:00
COPYING Select the BSD license terms as the only license alternative 2012-02-11 19:39:31 +02:00
README Select the BSD license terms as the only license alternative 2012-02-11 19:39:31 +02:00

wpa_supplicant and hostapd
--------------------------

Copyright (c) 2002-2012, Jouni Malinen <j@w1.fi> and contributors
All Rights Reserved.

These programs are licensed under the BSD license (the one with
advertisement clause removed).

If you are submitting changes to the project, please see CONTRIBUTIONS
file for more instructions.


This package may include either wpa_supplicant, hostapd, or both. See
README file respective subdirectories (wpa_supplicant/README or
hostapd/README) for more details.

Source code files were moved around in v0.6.x releases and compared to
earlier releases, the programs are now built by first going to a
subdirectory (wpa_supplicant or hostapd) and creating build
configuration (.config) and running 'make' there (for Linux/BSD/cygwin
builds).


License
-------

This software may be distributed, used, and modified under the terms of
BSD license:

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.

3. Neither the name(s) of the above-listed copyright holder(s) nor the
   names of its contributors may be used to endorse or promote products
   derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.