Jouni Malinen [Mon, 28 Jun 2010 21:32:17 +0000 (14:32 -0700)]
P2P: Fix country string mismatch validation off-by-one offset
0x04 was being checked from incorrect location when skipping country
code validation.
Jouni Malinen [Mon, 28 Jun 2010 16:24:17 +0000 (09:24 -0700)]
P2P: Initial support for SD fragmentation (GAS Comeback Request/Response)
Jouni Malinen [Mon, 28 Jun 2010 06:26:47 +0000 (23:26 -0700)]
P2P: Fix memory leak in SD service entries
Need to flush stored service entries when wpa_supplicant is being
terminated.
Jouni Malinen [Sun, 27 Jun 2010 18:46:44 +0000 (11:46 -0700)]
P2P: Rename SD info not available define to match with spec change
Jouni Malinen [Sun, 27 Jun 2010 07:27:08 +0000 (00:27 -0700)]
P2P: Stop early when processing not-persistent invitation result
Jouni Malinen [Sun, 27 Jun 2010 07:13:14 +0000 (00:13 -0700)]
P2P: Fix Group ID in Invitation Request from active GO
Need to get P2P Device Address, not the Interface Address.
Jouni Malinen [Sun, 27 Jun 2010 07:11:42 +0000 (00:11 -0700)]
P2P: Add command for pre-authorizing an invitation to an active group
This is mainly designed for testing and allows p2p_connect join auth
to be used to accept a specific invitation to an active group that
may be received in the future.
Jouni Malinen [Sun, 27 Jun 2010 05:49:41 +0000 (22:49 -0700)]
P2P: Set Device Password ID in WPS M1/M2 per new rules
If the P2P client (WPS Enrollee) uses a PIN from the GO (Registrar),
Device Password ID in M1 & M2 is set to Registrar-specified.
Jouni Malinen [Sat, 26 Jun 2010 23:20:57 +0000 (16:20 -0700)]
P2P: Run a scan before provision discovery in p2p_connect join
This is needed to make sure we have fresh BSS information for the GO.
Jouni Malinen [Thu, 24 Jun 2010 06:04:21 +0000 (23:04 -0700)]
P2P: Implement power save configuration
wpa_cli p2p_set ps <0/1/2>
wpa_cli p2p_set oppps <0/1>
wpa_cli p2p_set ctwindow <0..> msec
Jouni Malinen [Thu, 24 Jun 2010 05:37:27 +0000 (22:37 -0700)]
P2P: Handle p2p_scan tracking in SEARCH state
Previously, only the initial p2p_scan was used to delay starting new
P2P operations. However, this should have applied to the SEARCH state
scans, too.
Jouni Malinen [Thu, 24 Jun 2010 04:51:38 +0000 (21:51 -0700)]
P2P: Do not schedule new remain-on-channel if waiting for drv event
The driver event for remain-on-channel may be delayed in a way that
allows management-frame-received event to be received before
wpa_supplicant knows that the driver is actually already on the
previously requested channel. We should not request a new
remain-on-channel to send a response to just a frame if we are waiting
for the driver to get to the same channel. Instead, just continue
waiting for the driver event.
Jouni Malinen [Wed, 23 Jun 2010 03:08:14 +0000 (20:08 -0700)]
P2P: Fix infinite loop on interface selection for Action frame TX
When the first wpa_supplicant interface is not the correct one for
transmitting an Action frame (e.g., P2P Presence Request frame
uses a group interface), the code got stuck in an infinite busy
loop. Fix the iteration to go through the interfaces properly.
Jouni Malinen [Sun, 18 Jul 2010 21:30:26 +0000 (14:30 -0700)]
P2P: Add preliminary P2P Manager AP support for hostapd
Jouni Malinen [Sun, 18 Jul 2010 21:30:26 +0000 (14:30 -0700)]
P2P: wpa_qui-qt4: Add P2P functionality into the GUI
Jouni Malinen [Sun, 18 Jul 2010 21:30:26 +0000 (14:30 -0700)]
P2P: Document new control interface commands and events
Jouni Malinen [Sun, 18 Jul 2010 21:30:26 +0000 (14:30 -0700)]
P2P: wpa_cli action calls for P2P group started/removed events
Jouni Malinen [Sun, 18 Jul 2010 21:30:26 +0000 (14:30 -0700)]
wpa_cli: Add P2P commands
Jouni Malinen [Sun, 18 Jul 2010 21:30:25 +0000 (14:30 -0700)]
P2P: Add disassociation/deauthentication IE notifications
Jouni Malinen [Sun, 18 Jul 2010 21:30:25 +0000 (14:30 -0700)]
P2P: Add group notification from (re)association request
Jouni Malinen [Sun, 18 Jul 2010 21:30:25 +0000 (14:30 -0700)]
P2P: Map driver events to P2P event notifications
Jouni Malinen [Sun, 18 Jul 2010 21:30:25 +0000 (14:30 -0700)]
P2P: Show P2P info in ctrl_iface scan results
Jouni Malinen [Sun, 18 Jul 2010 21:30:25 +0000 (14:30 -0700)]
P2P: Show P2P Device Address in wpa_cli status
Jouni Malinen [Sun, 18 Jul 2010 21:30:25 +0000 (14:30 -0700)]
P2P: Add control interface commands for P2P
Jouni Malinen [Sun, 18 Jul 2010 21:30:25 +0000 (14:30 -0700)]
P2P: Optimize scan timeouts for group formation
Jouni Malinen [Sun, 18 Jul 2010 21:30:25 +0000 (14:30 -0700)]
P2P: Add P2P IE into (Re)Association Request frames
Jouni Malinen [Sun, 18 Jul 2010 21:30:25 +0000 (14:30 -0700)]
P2P: Add P2P IE into Probe Request frames
Jouni Malinen [Sun, 18 Jul 2010 21:30:25 +0000 (14:30 -0700)]
P2P: Use PSK format in WPS Credential
Jouni Malinen [Sun, 18 Jul 2010 21:30:25 +0000 (14:30 -0700)]
P2P: Let the driver wrapper know if association is for P2P group
Jouni Malinen [Sun, 18 Jul 2010 21:30:25 +0000 (14:30 -0700)]
P2P: Add group notifications
Jouni Malinen [Sun, 18 Jul 2010 21:30:25 +0000 (14:30 -0700)]
P2P: Add P2P configuration and callbacks in hostapd code
Jouni Malinen [Sun, 18 Jul 2010 21:30:25 +0000 (14:30 -0700)]
P2P: Add initial version of P2P Module
Jouni Malinen [Sun, 18 Jul 2010 21:30:25 +0000 (14:30 -0700)]
P2P: Preparations for adding P2P IE into Beacon/Probe Response frames
Jouni Malinen [Sun, 18 Jul 2010 21:30:25 +0000 (14:30 -0700)]
P2P: Save a copy of P2P IE(s) data from (Re)Association Request
Jouni Malinen [Sun, 18 Jul 2010 21:30:25 +0000 (14:30 -0700)]
P2P: Do not register l2_packet on dedicated P2P device interface
Jouni Malinen [Sun, 18 Jul 2010 21:30:25 +0000 (14:30 -0700)]
P2P: Add TODO note for Group Formation bit use in AP selection
Jouni Malinen [Sun, 18 Jul 2010 21:30:25 +0000 (14:30 -0700)]
P2P: Remove 802.11b rates from wpa_supplicant AP mode operations
TODO: do this only for P2P group interface
Jouni Malinen [Sun, 18 Jul 2010 21:30:25 +0000 (14:30 -0700)]
P2P: Use config block with disabled==2 to store persistent groups
Jouni Malinen [Sun, 18 Jul 2010 21:30:25 +0000 (14:30 -0700)]
nl80211: Add P2P operations
Jouni Malinen [Sun, 18 Jul 2010 21:30:24 +0000 (14:30 -0700)]
driver_test: Add functionality for allowing P2P testing
Jouni Malinen [Sun, 18 Jul 2010 21:30:24 +0000 (14:30 -0700)]
P2P: Add driver operations for P2P use
Jouni Malinen [Sun, 18 Jul 2010 21:30:24 +0000 (14:30 -0700)]
P2P: Do not save temporary networks
Jouni Malinen [Sun, 18 Jul 2010 21:30:24 +0000 (14:30 -0700)]
P2P: Do not filter BSSes based on SSID during P2P Provisioning
TODO: Use group id from GO Neg instead(?)
Jouni Malinen [Sun, 18 Jul 2010 21:30:24 +0000 (14:30 -0700)]
P2P: Let WPS code know if it is used in a P2P group
Jouni Malinen [Sun, 18 Jul 2010 21:30:24 +0000 (14:30 -0700)]
P2P: Add global configuration parameters for P2P
Jouni Malinen [Sun, 18 Jul 2010 21:30:24 +0000 (14:30 -0700)]
P2P: Add dynamic network config block parameters for P2P
Jouni Malinen [Sun, 18 Jul 2010 21:30:24 +0000 (14:30 -0700)]
P2P: Do no process Probe Request with P2P wildcard SSID in WPS
The Probe Request frames used in P2P Device Discovery should not be
processed by the WPS implementation.
Jouni Malinen [Sun, 18 Jul 2010 21:30:24 +0000 (14:30 -0700)]
P2P: Enable use of WPS Requested Device Type without WPS 2.0
Jouni Malinen [Sun, 18 Jul 2010 21:30:24 +0000 (14:30 -0700)]
P2P: Add Device Name into WPS IE in Probe Request frames
Jouni Malinen [Sun, 18 Jul 2010 21:30:24 +0000 (14:30 -0700)]
Make IEEE 802.11 IE parser aware of P2P IE
This does not handle fragmented IEs and is only used to check quickly
whether the IE blob includes any P2P IE(s).
Jouni Malinen [Sun, 18 Jul 2010 21:30:24 +0000 (14:30 -0700)]
P2P: Wi-Fi Direct frame format definitions
Jouni Malinen [Sun, 18 Jul 2010 21:30:24 +0000 (14:30 -0700)]
Allow ctrl_iface SET command to change global config parameters
Jouni Malinen [Sun, 18 Jul 2010 21:30:24 +0000 (14:30 -0700)]
Add flag indicating which global configuration parameters have changed
Jouni Malinen [Sun, 18 Jul 2010 21:30:24 +0000 (14:30 -0700)]
Move global configuration parser into config.c
This makes it easier to provide support for dynamic updates of the
global configuration parameters while wpa_supplicant is running.
Jouni Malinen [Thu, 29 Jul 2010 17:23:20 +0000 (10:23 -0700)]
WPS 2.0: Convert new attributes into WFA vendor extension
The WSC 2.0 specification moved to use another design for the new
attributes to avoid backwards compatibility issues with some
deployed implementations.
Jouni Malinen [Thu, 22 Jul 2010 20:29:52 +0000 (13:29 -0700)]
WPS 2.0: Fix strict mode validation of UPnP MAC Address format
This was supposed to only reject the message from WPS 2.0 ER, not from
WPS 1.0 ER.
Jouni Malinen [Thu, 22 Jul 2010 17:24:23 +0000 (10:24 -0700)]
WPS: Make fragment size configurable for EAP-WSC peer
"wpa_cli set wps_fragment_size <val>" can now be used to configure the
fragment size limit for EAP-WSC.
Jouni Malinen [Thu, 22 Jul 2010 16:37:22 +0000 (09:37 -0700)]
WPS: Add more debug prints for authorized MACs operations
Jouni Malinen [Thu, 22 Jul 2010 02:19:53 +0000 (19:19 -0700)]
WPS ER: Use PBC overlap detection
ER should follow same rules as internal Registrar in an AP for
session overlap detection.
Jouni Malinen [Thu, 22 Jul 2010 02:13:31 +0000 (19:13 -0700)]
WPS 2.0: Only reject Probe Request frames from WPS 2.0 devices
Jouni Malinen [Wed, 21 Jul 2010 05:18:17 +0000 (22:18 -0700)]
WPS 2.0: By default, use strict validation reject only with WPS 2.0
Jouni Malinen [Wed, 21 Jul 2010 05:15:06 +0000 (22:15 -0700)]
WPS: Fix CONFIG_WPS_STRICT build option
This was not supposed to be depending on CONFIG_WPS_NFC.
Jouni Malinen [Wed, 21 Jul 2010 05:14:00 +0000 (22:14 -0700)]
WPS: Fix strict validation to mandate Network Index attribute
While this attribute is is now deprecated, it is still required
for backwards compatibility. Better check this if strict validation
is enabled.
Jouni Malinen [Wed, 21 Jul 2010 05:07:52 +0000 (22:07 -0700)]
WPS 2.0: Use strict validation of NewWLANEventMAC only with WPS 2.0
This avoids some testing issues with WPS 1.0 implementations while
maintaining strict validation for WPS 2.0 implementations.
Jouni Malinen [Wed, 21 Jul 2010 05:06:28 +0000 (22:06 -0700)]
WPS ER: Do not use SetSelectedRegistrar when learning/configuring AP
Jouni Malinen [Mon, 19 Jul 2010 05:53:15 +0000 (22:53 -0700)]
WPS 2.0: Make sure PHY/VIRT flag gets set for PBC
Jouni Malinen [Mon, 19 Jul 2010 01:54:58 +0000 (18:54 -0700)]
WPS 2.0: Add strict validation of SetSelectedRegistrar attributes
Jouni Malinen [Sun, 18 Jul 2010 01:12:00 +0000 (18:12 -0700)]
WPS 2.0: Add wildcard AuthorizedMACs if Enrollee address is not known
Jouni Malinen [Fri, 18 Jun 2010 01:35:18 +0000 (18:35 -0700)]
WPS 2.0: Make WSC 2.0 support to be build option (CONFIG_WPS2)
For now, the default build will only include WSC 1.0 support.
CONFIG_WPS2=y can be used to add support for WSC 2.0.
Jouni Malinen [Fri, 11 Jun 2010 05:25:51 +0000 (22:25 -0700)]
WPS 2.0: Add tool for testing protocol extensibility
This is disabled by default and can be enabled by defining
CONFIG_WPS_EXTENSIBILITY_TESTING.
Jouni Malinen [Fri, 4 Jun 2010 06:34:34 +0000 (23:34 -0700)]
WPS: Add a test mechanism for adding an extra credential into M8
This can be used to build a test version of ER that adds an extra
Credential attribute into M8.
Jouni Malinen [Wed, 26 May 2010 14:16:14 +0000 (17:16 +0300)]
WPS 2.0: Validate WPS attributes in management frames and WSC messages
If CONFIG_WPS_STRICT is set, validate WPS IE(s) in management frames and
reject the frames if any of the mandatory attributes is missing or if an
included attribute uses an invalid value. In addition, verify that all
mandatory attributes are included and have valid values in the WSC
messages.
Jouni Malinen [Fri, 4 Jun 2010 06:35:34 +0000 (23:35 -0700)]
atheros: Use larger buffer for WSC IE changes
This resolves issues in updating Beacon/Probe Response frame IEs
in a case where the value may be long enough to get fragmented
into multiple IEs.
Jouni Malinen [Sat, 29 May 2010 19:19:33 +0000 (22:19 +0300)]
WPS 2.0: Ignore WEP Credentials as station Enrollee
Ignore Credential if it is for a WEP network. Reject the message if
no valid Credential is found.
Jouni Malinen [Sat, 29 May 2010 09:41:15 +0000 (12:41 +0300)]
WPS 2.0: Enforce new security policy of received AP Settings
When receiving new AP Settings from ER, reject WEP configuration
and upgrade WPA-Personal/TKIP only to mixed mode (i.e., add
WPA2-Personal/CCMP).
Jouni Malinen [Wed, 26 May 2010 16:11:55 +0000 (19:11 +0300)]
WPS 2.0: Fix Probe Request WPS IE building to be able to fragment data
If all the device information attributes use their maximum lengths,
a single WPS IE is not enough to fit in all the data and as such,
we must be able to fragment the data. In addition, the wpabuf needs
to be allocated larger to fit in maximum data.
Jouni Malinen [Wed, 26 May 2010 08:16:54 +0000 (11:16 +0300)]
WPS 2.0: Disable WPS workarounds if CONFIG_WPS_STRICT is defined
Jouni Malinen [Wed, 26 May 2010 06:46:48 +0000 (09:46 +0300)]
WPS 2.0: Modify empty-string workaround to meet 2.0 rules
Instead of using 0x00 as the extra character, use space (' ') to
avoid failing tests that verify that the variable length string
attributes are not null terminated. In addition, this workaround
can now be disabled by defining CONFIG_WPS_STRICT for the build.
This can be done by adding following line to .config:
CFLAGS += -DCONFIG_WPS_STRICT
However, it should be noted that such a build may not interoperate
with some deployed WPS 1.0 -based implementations and as such, is
mainly designed for testing.
Jouni Malinen [Tue, 22 Dec 2009 23:21:12 +0000 (01:21 +0200)]
WPS 2.0: Add virtual/physical display and pushbutton config methods
Jouni Malinen [Tue, 22 Dec 2009 23:10:25 +0000 (01:10 +0200)]
WPS 2.0: Add device attributes into Probe Request
Add Manufacturer, Model Name, Model Number, and Device Name attributes
into the WSC IE in the Probe Request frames.
Jouni Malinen [Tue, 22 Dec 2009 23:03:15 +0000 (01:03 +0200)]
WPS 2.0: Add Request to Enroll attribute into Probe Request
Whenever wpa_supplication is using Request Type Enrollee, it is trying
to enroll into a network. Indicate this with the explicit inclusion of
Request to Enroll attribute with value TRUE.
Jouni Malinen [Sat, 12 Dec 2009 14:40:10 +0000 (16:40 +0200)]
WPS 2.0: Add support for AuthorizedMACs attribute
Advertize list of authorized enrollee MAC addresses in Beacon and
Probe Response frames and use these when selecting the AP. In order
to provide the list, the enrollee MAC address should be specified
whenever adding a new PIN. In addition, add UUID-R into
SetSelectedRegistrar action to make it potentially easier for an AP
to figure out which ER sent the action should there be multiple ERs
using the same IP address.
Jouni Malinen [Fri, 11 Dec 2009 16:00:10 +0000 (18:00 +0200)]
WPS 2.0: Add new attributes and update version negotiation
This adds definitions and parsing of the new attributes that were added
in WPS 2.0. In addition, the version negotiation is updated to use the
new mechanism, i.e., accept everything received and use the new Version2
attribute in transmitted messages.
Jouni Malinen [Thu, 9 Sep 2010 12:59:06 +0000 (05:59 -0700)]
bgscan learn: Fix build
Commit
9ff80a10e8009c0dc65a4b7e08dcf1655cd2a483 forgot to include the
new scan variable in the coded copied from bgscan_simple.c. Add that
here to fix the build.
Jouni Malinen [Sun, 5 Sep 2010 10:11:42 +0000 (13:11 +0300)]
Indicate Barker Preamble Mode in ERP IE also based on local configuration
While this is not strictly speaking required based on dynamic
configuration (i.e., dot11ShortPreambleOptionImplemented is static
value based on implementation, not runtime configuration), it is better
to follow local configuration parameter for short preamble in addition
to the associated station capabilities.
Jouni Malinen [Sun, 5 Sep 2010 10:04:03 +0000 (13:04 +0300)]
atheros: Fix driver deinit function to be run
hostapd uses hapd_deinit(), not deinit() wpa_driver_ops.
Jouni Malinen [Sun, 5 Sep 2010 10:03:26 +0000 (13:03 +0300)]
atheros: Deinit l2_packet sock_xmit on error path
Jouni Malinen [Sun, 5 Sep 2010 09:47:16 +0000 (12:47 +0300)]
Fix segfault in hostapd_eid_ht_capabilities() with some drivers
This function is not really needed in case of drivers that build the
HT IEs internally. However, since this can get called if ieee80211n=1
is set in hostapd.conf, we better not segfault even if the driver
does not provide hw info (hapd->iface->current_mode == NULL).
Jouni Malinen [Sun, 5 Sep 2010 09:41:15 +0000 (12:41 +0300)]
Fix hostapd build with CONFIG_IEEE80211N but without NEED_AP_MLME
Jouni Malinen [Sun, 5 Sep 2010 09:34:04 +0000 (12:34 +0300)]
WPS: Fix hostapd build without CONFIG_WPS_UPNP
Commit
5a1cc30f1a04eb19d315680928927651024e172e added code that was
assuming CONFIG_WPS_UPNP is enabled whenever CONFIG_WPS is. Fix this
by making the UPnP calls conditional on CONFIG_WPS_UPNP define.
Jouni Malinen [Sat, 4 Sep 2010 19:01:29 +0000 (22:01 +0300)]
dbus: Verify WPA/RSN IE parser result before returning data
Jouni Malinen [Sat, 4 Sep 2010 18:50:12 +0000 (21:50 +0300)]
wpa_supplicant AP: Make sure deauth/disassoc event is valid
Verify that the driver wrapper is using a valid deauth/disassoc
event before dereferencing the addr pointer. The address is required
to be set in AP mode, but it is safer to verify this here than to
trust on all driver wrappers doing the correct thing.
Jouni Malinen [Sat, 4 Sep 2010 18:37:36 +0000 (21:37 +0300)]
WPS: Use more defensive design to avoid theoretical NULL deref
Prior to commit
6195adda9b4306cda2b06b930c59c95832d026a9 the sm->user
dereference did not exist here. While this is in practice non-NULL,
better use more defensive construction here to avoid NULL pointer
dereference should this ever change.
Jouni Malinen [Sat, 4 Sep 2010 14:39:33 +0000 (17:39 +0300)]
wpa_gui-qt4: Update copyright years to include 2010
Jouni Malinen [Sat, 4 Sep 2010 14:37:57 +0000 (17:37 +0300)]
Update WinPcap to the latest stable version 4.1.2
Jouni Malinen [Sat, 4 Sep 2010 10:56:12 +0000 (13:56 +0300)]
NDIS: Fix association for WPS provisioning with protected AP
Some NDIS drivers require a workaround to allow them to associate
with a WPS AP that is already using protection (Privacy field = 1).
Let driver_ndis.c know if the AP is already using Privacy and if so,
configure a dummy WEP key to force the driver to associate.
Jouni Malinen [Sat, 4 Sep 2010 09:55:55 +0000 (12:55 +0300)]
Add libgcc_s_dw2-1.dll to the Windows installation package
This seems to be needed for wpa_gui.exe with the new Qt version.
Jouni Malinen [Thu, 2 Sep 2010 10:23:14 +0000 (13:23 +0300)]
l2_packet_ndis: Fix overlapped write not to corrupt stack
When using overlapped write, we must have the provided memory
areas available during the operation and cannot just use stack
unless we wait for the completion within the function. In the case
of TX here, we can easily wait for the completion since it is likely
to happen immediately. In addition, this provides more reliable
success/failure return value for l2_packet_send(). [Bug 328]
Jouni Malinen [Thu, 2 Sep 2010 10:22:52 +0000 (13:22 +0300)]
winreg: Get rid of compiler warning
Helmut Schaa [Sat, 28 Aug 2010 09:25:44 +0000 (12:25 +0300)]
hostapd: enable STBC only for STBC capable STAs
hostapd simply used its own STBC configuration in the STA's HT caps. This
resulted in TX STBC being used for STAs not supporting RX STBC, which in
turn resulted in the STA not receiving anything.
Fix this by handling the STBC flags in the same way mac80211 does. Mask
out RX STBC if we don't support TX STBC and vice versa.
Tested only with the nl80211 driver and a STBC incapable STA.
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>