Jouni Malinen [Sat, 16 Jan 2010 17:04:38 +0000 (19:04 +0200)]
Preparations for v0.7.1 release
Jouni Malinen [Sat, 16 Jan 2010 16:49:17 +0000 (18:49 +0200)]
Update VS 2005 project files with new/removed source files
Jouni Malinen [Sat, 16 Jan 2010 15:19:06 +0000 (17:19 +0200)]
Make sure the resutl from readlink is properly null terminated
Witold Sowa [Sat, 16 Jan 2010 14:37:37 +0000 (16:37 +0200)]
dbus: Change WPA/RSNIE byte array props to dicts
Expose RSN and WPA properties for BSS objects containing information
about key management and cipher suites. Get rid of WPA/RSN/WPSIE
byte array properties and add IEs byte array property with all IE data
instead.
Jouni Malinen [Sat, 16 Jan 2010 14:11:05 +0000 (16:11 +0200)]
Fetch IEs from both Beacon and Probe Response frames if available
This allows the driver wrappers to return two sets of IEs, so that
the BSS code can use information from both Beacon and Probe Response
frames if needed. For example, some Cisco APs seem to include more
information in Wireless Provisioning Services IE when it is in the
Beacon frame.
Jouni Malinen [Sat, 16 Jan 2010 13:19:58 +0000 (15:19 +0200)]
hostapd: Detect bridge interface automatically
This makes the bridge parameter unnecessary for cases where the interface
is already in a bridge and sysfs is mounted to /sys so that the detection
code works.
For nl80211, the bridge parameter can be used to request the AP
interface to be added to the bridge automatically (brctl may refuse to
do this before hostapd has been started to change the interface mode).
If needed, the bridge interface is also created.
Jouni Malinen [Sat, 16 Jan 2010 10:26:03 +0000 (12:26 +0200)]
driver_test: Learn scan result channel from DS Params IE
Jouni Malinen [Sat, 16 Jan 2010 10:24:31 +0000 (12:24 +0200)]
driver_test: Initialize bss_ctx based on drv->ctx for new BSS interfaces
This is needed with wpa_supplicant to get the correct context pointer
for a virtual BSS interface.
Jouni Malinen [Sat, 16 Jan 2010 10:23:39 +0000 (12:23 +0200)]
driver_test: Add support for per-SSID scans for non-MLME case
Jouni Malinen [Sat, 16 Jan 2010 10:20:51 +0000 (12:20 +0200)]
Add deinit_ap driver op to help wpa_supplicant AP mode use
Jouni Malinen [Sat, 16 Jan 2010 10:16:20 +0000 (12:16 +0200)]
Add BSSID to TX/RX Action frame driver ops
This meets better the needs for various Public Action frame use cases.
Jouni Malinen [Sat, 16 Jan 2010 10:11:19 +0000 (12:11 +0200)]
Add driver op for disabling 802.11b rates
Jouni Malinen [Sat, 16 Jan 2010 10:06:42 +0000 (12:06 +0200)]
Sync with wireless-testing.git linux/nl80211.h
Masashi Honma [Sat, 16 Jan 2010 09:47:05 +0000 (11:47 +0200)]
driver_bsd.c: Clean up EAPOL frame transmission code
The bsd_send_eapol() prepares 3000 bytes buffer for every EAPOL
frame transmission. I think malloc() is better way for efficient
memory use.
Jouni Malinen [Sat, 16 Jan 2010 08:38:53 +0000 (10:38 +0200)]
Fix linking of nt_password_hash
Need to use conditional linking of some crypto functionality and add
couple of additional object files. [Bug 343]
Jouni Malinen [Sat, 16 Jan 2010 07:44:41 +0000 (09:44 +0200)]
Remove completed to-do item
Jouni Malinen [Fri, 15 Jan 2010 17:24:08 +0000 (19:24 +0200)]
Add preliminary documentation for ctrl_iface events
Jouni Malinen [Tue, 12 Jan 2010 18:01:09 +0000 (20:01 +0200)]
wext: Add cfg80211-specific optimization to avoid silly behavior
If the driver is detected to use cfg80211, we can rely on it being able
to disconnect with SIOCSIWMLME commands and to use empty SSID as a way
to stop it from associating when we are in progress of configuring the
driver for association. Consequently, we can remove the hack that uses
random 32-octet SSID to force disconnection and re-order association
commands to match the expectations that cfg80211 has for WEXT ioctls.
This gets rid of extra scan rounds and attempts to associate with the
silly 32-octet SSID.
Jouni Malinen [Tue, 12 Jan 2010 16:31:56 +0000 (18:31 +0200)]
Preparations for 0.6.10 release
Jouni Malinen [Sun, 10 Jan 2010 20:53:36 +0000 (22:53 +0200)]
Make wpa_bss_get_max_rate() a bit more readable with a local variable
Jouni Malinen [Sun, 10 Jan 2010 20:28:21 +0000 (22:28 +0200)]
Verify that os_get_random() success for SA Query id
Jouni Malinen [Sun, 10 Jan 2010 20:26:11 +0000 (22:26 +0200)]
wext: Check hexstr2bin() return value in custom scan text processing
Jouni Malinen [Sun, 10 Jan 2010 20:18:50 +0000 (22:18 +0200)]
WEXT: Show BSSID/SSID set failures on disconnect in debug log
Jouni Malinen [Sun, 10 Jan 2010 20:16:51 +0000 (22:16 +0200)]
wext: Check hexstr2bin() return value
Jouni Malinen [Sun, 10 Jan 2010 20:12:55 +0000 (22:12 +0200)]
WPS ER: Check uuid_str2bin() return value
Jouni Malinen [Sun, 10 Jan 2010 20:08:43 +0000 (22:08 +0200)]
WPS ER: Verify os_get_random() return value
Jouni Malinen [Sun, 10 Jan 2010 20:04:59 +0000 (22:04 +0200)]
EAP-FAST peer: Clean up PAC writing function
Use more explicit validation of input parameters and clean up the
writes by using a local end-of-buffer variable to simplify
calculations.
Jouni Malinen [Sun, 10 Jan 2010 19:53:17 +0000 (21:53 +0200)]
IBSS RSN: Explicitly check addr != NULL before passing it to memcmp
idx == 0 should be enough to make sure that the addr is set, but
verify that this is indeed the case to avoid any potential issues if
auth_set_key() gets called incorrectly.
Jouni Malinen [Sun, 10 Jan 2010 19:48:27 +0000 (21:48 +0200)]
eloop: Clear timeout data during allocation
Better make sure the eloop_timeout data gets fully initialized. The
current code is filling in all the fields, but it is clearer to just
zero the buffer to make sure any new field added to the structure gets
initialized.
Jouni Malinen [Sun, 10 Jan 2010 19:45:44 +0000 (21:45 +0200)]
IBSS RSN: Check explicitly that WPA auth sm assoc call succeeded
Verify that association processing did not end up freeing the state
machine. This should not really happen in practice, but better verify
it anyway.
Jouni Malinen [Sun, 10 Jan 2010 19:31:54 +0000 (21:31 +0200)]
Remove unnecessary bss != NULL checks from sme_authenticate()
This is already verified in the beginning of the function, so no need
to repeat that multiple times.
Jouni Malinen [Sun, 10 Jan 2010 18:49:22 +0000 (20:49 +0200)]
Check WPS attr build helper return value
These are hardcoded to return success, but should check the value
anyway.
Jouni Malinen [Sun, 10 Jan 2010 18:41:33 +0000 (20:41 +0200)]
Fix client MLME test code for IBSS scan request
wpa_s->mlme.ssid is an array so it is always != NULL and this
comparision should really have used ssid_len instead.
Jouni Malinen [Sun, 10 Jan 2010 17:00:25 +0000 (19:00 +0200)]
Use zero address when reporting unknown peer in SMK error
This avoids potential use of uninitialized stack memory when printing
out peer address based on SMK error message that does not include the
MAC address.
Jouni Malinen [Sun, 10 Jan 2010 16:54:41 +0000 (18:54 +0200)]
Avoid a theoretical use-after-free in WPA auth sm init
wpa_sm_step() could theoretically free the statemachine, but it does
not do it in this particular case. Anyway, the code can be cleaned to
verify whether the state machine data is still available after the
wpa_sm_step() call.
Marcel Holtmann [Sun, 10 Jan 2010 16:18:08 +0000 (18:18 +0200)]
dbus: Fix value of BSS Privacy property
Checking for IEEE80211_CAP_PRIVACY needs to use & and not &&.
Jouni Malinen [Sat, 9 Jan 2010 21:56:09 +0000 (23:56 +0200)]
Fix alloc validation in wpa_bss_get_bit_rates()
Need to check the value returned by os_malloc(), not the pointer to
this value.
Jouni Malinen [Sat, 9 Jan 2010 20:29:41 +0000 (22:29 +0200)]
Close config file on error path
Jouni Malinen [Sat, 9 Jan 2010 14:57:15 +0000 (16:57 +0200)]
WPS: Remove unused mac_addr_text parameter from get_netif_info()
Witold Sowa [Sat, 9 Jan 2010 09:40:15 +0000 (11:40 +0200)]
dbus: Change BSS, Network and some errors interface names
Remove ".Interface" part from BSS and Network objects and some
error names.
Masashi Honma [Sat, 9 Jan 2010 09:04:44 +0000 (11:04 +0200)]
FreeBSD: Fix driver_bsd.c build
On FreeBSD 8.0, driver_bsd.c build fails because of changes from
older versions of FreeBSD. The error messages are below:
In file included from ../src/drivers/driver_bsd.c:38:
/usr/include/net80211/ieee80211_crypto.h:94: error: 'IEEE80211_TID_SIZE'
undeclared here (not in a function)
../src/drivers/driver_bsd.c: In function 'wpa_driver_bsd_set_wpa_ie':
../src/drivers/driver_bsd.c:968: error: 'IEEE80211_IOC_OPTIE' undeclared (first
use in this function)
../src/drivers/driver_bsd.c:968: error: (Each undeclared identifier is reported
only once
../src/drivers/driver_bsd.c:968: error: for each function it appears in.)
gmake: *** [../src/drivers/driver_bsd.o] Error 1
This patch solves this issue.
Masashi Honma [Sat, 9 Jan 2010 09:01:12 +0000 (11:01 +0200)]
bsd: Add support for WPA_TRACE and WPA_TRACE_BFD
On FreeBSD 8.0, WPA_TRACE and WPA_TRACE_BFD functionality build fails.
Masashi Honma [Sat, 9 Jan 2010 08:53:44 +0000 (10:53 +0200)]
bsd: Fix driver_wired.c build
Jouni Malinen [Fri, 8 Jan 2010 22:38:09 +0000 (00:38 +0200)]
Fix PKCS#12 use with OpenSSL 1.0.0
Add 40-bit RC2 CBC explicitly since OpenSSL 1.0.0 does not seem to that
anymore with PKCS12_PBE_add(). Furthermore, at least 1.0.0-beta4 crashes
if the needed cipher is not registered when parsing the PKCS#12 data
(this crashing part should be fixed in newer 1.0.0 versions)
Following bug reports are related to the issue:
https://bugzilla.redhat.com/show_bug.cgi?id=541924
https://bugzilla.redhat.com/show_bug.cgi?id=538851
http://rt.openssl.org/Ticket/Display.html?id=2127
http://rt.openssl.org/Ticket/Display.html?id=2128
Jouni Malinen [Wed, 6 Jan 2010 19:33:54 +0000 (21:33 +0200)]
dbus: Add a test script for D-Bus API signals
Jouni Malinen [Wed, 6 Jan 2010 19:31:13 +0000 (21:31 +0200)]
dbus: Do not try to unregister not-yet-registered network object
Jouni Malinen [Wed, 6 Jan 2010 19:23:15 +0000 (21:23 +0200)]
Convert RSN pre-authentication to use struct dl_list
Jouni Malinen [Wed, 6 Jan 2010 19:14:09 +0000 (21:14 +0200)]
Fix memory leak on RSN preauth init error path
Lennert Buytenhek [Wed, 6 Jan 2010 18:48:29 +0000 (20:48 +0200)]
Fix WMM default parameters
wmm_ac_??_cw{min,max} parameters are in log form
When the wme_ac_??_cw{min,max} parameters aren't specified in
hostapd.conf, hostapd uses an incorrect set of default values, as the
defaults are in 2^x-1 form instead of in log form. This patch changes
them over to the expected log form.
Jouni Malinen [Wed, 6 Jan 2010 18:23:47 +0000 (20:23 +0200)]
Remove forgotten script termination attempt
Jouni Malinen [Wed, 6 Jan 2010 18:06:11 +0000 (20:06 +0200)]
dbus: Document BSS PropertiesChanged signal
Witold Sowa [Wed, 6 Jan 2010 18:03:01 +0000 (20:03 +0200)]
dbus: Add BSS property change notifications
Jouni Malinen [Wed, 6 Jan 2010 10:14:35 +0000 (12:14 +0200)]
dbus: Fix crash on property change if D-Bus API is disabled
Jouni Malinen [Wed, 6 Jan 2010 09:55:21 +0000 (11:55 +0200)]
dbus: Fix prop_changed_flags allocation to count properties correctly
There was an extra semicolon that broke the calculation of registered
properties and resulted in obj_desc->prop_changed_flags not being
allocated long enough for all the flags.
Jouni Malinen [Wed, 6 Jan 2010 09:50:43 +0000 (11:50 +0200)]
dbus: Fix flush_object_timeout_handler context to be consistent
The path pointer used as the timeout_ctx was not constant; the path
string itself may have been the same, but the pointer certainly was not
since it was sometimes from stack and sometimes from the dynamically
allocated buffer in obj_desc. This caused some of the eloop timeout
cancellations not to find the timeout. Fix this by using the obj_desc
as the timeout context data.
Jouni Malinen [Mon, 4 Jan 2010 17:16:19 +0000 (19:16 +0200)]
Mark fmt parameter const for wpa_printf/msg
Witold Sowa [Mon, 4 Jan 2010 15:15:57 +0000 (17:15 +0200)]
dbus: Aggregate PropertiesChanged signals
Instead of sending PropertiesChanged signals for each changed
property separately, mark properties as changed and send aggregated
PropertiesChanged signals for each interface in each object.
Aggregated PropertiesChanged signal is sent
- for all object after responding on DBus call
- for specified object after manual call to
wpa_dbus_flush_object_changed_properties() function
- for each object separately after short timeout (currently 5 ms)
which starts when first property in object is marked changed
Witold Sowa [Mon, 4 Jan 2010 14:52:30 +0000 (16:52 +0200)]
dbus: Change BSS property MaxRate to Rates
Instead of exposing maximum BSS bit rate, expose sorted array
of all supported rates.
Jouni Malinen [Mon, 4 Jan 2010 14:35:38 +0000 (16:35 +0200)]
dbus: Remove forgotten, unused functions from GetAll script
Jouni Malinen [Mon, 4 Jan 2010 14:34:06 +0000 (16:34 +0200)]
dbus: Update example scripts to use PropertiesChanged
The StateChanged signal was removed, to use PropertiesChanged instead.
Marcel Holtmann [Mon, 4 Jan 2010 14:33:44 +0000 (16:33 +0200)]
dbus: Replace StateChanged with PropertiesChanged signal
The actual supplicant state is exposed via a property on the interface
object. So having a separate signal StateChanged for notifying about
changes is a bad idea. The standard PropertiesChanged signal should be
used for this.
The advantage of StateChanged signal was that it includes the previous
state, but not even NetworkManager is making use of this. And tracking
the old state via the property and this signal is easily possible anyway.
Marcel Holtmann [Mon, 4 Jan 2010 14:22:26 +0000 (16:22 +0200)]
dbus: Use simple strings for debug level
Instead of using some magic integer values that really only mean
something to WPA internal code, just use simple strings. Possible
values are "msgdump", "debug", "info", "warning" and "error" which
map directly to WPA debugging support.
Jouni Malinen [Sun, 3 Jan 2010 20:20:27 +0000 (22:20 +0200)]
nl80211: Fix a typo
Jouni Malinen [Sun, 3 Jan 2010 20:17:08 +0000 (22:17 +0200)]
Use common driver code for Linux hwaddr get/set
Jouni Malinen [Sun, 3 Jan 2010 20:08:26 +0000 (22:08 +0200)]
Share a single Linux ioctl helper fo setting interface up/down
Number of Linux driver wrappers included this more or less identical
function, so lets add a new helper file to be able to share some more
code between the driver wrappers.
Jouni Malinen [Sun, 3 Jan 2010 19:21:03 +0000 (21:21 +0200)]
Fix compiler warnings for non-WPS build
Jouni Malinen [Sun, 3 Jan 2010 19:18:55 +0000 (21:18 +0200)]
bsd: Fix a typo
Jouni Malinen [Sun, 3 Jan 2010 19:14:40 +0000 (21:14 +0200)]
Standardize on a single definition of auth_alg bitfield values
Jouni Malinen [Sun, 3 Jan 2010 19:02:51 +0000 (21:02 +0200)]
Share the same enum for MFP configuration
The three existing enums were already depending on using the same
values in couple of places and it is just simpler to standardize on
one of these to avoid need for mapping between different enums for
the exact same thing.
Jouni Malinen [Sun, 3 Jan 2010 18:49:48 +0000 (20:49 +0200)]
More Doxygen documentation for the driver interface
Jouni Malinen [Sun, 3 Jan 2010 18:27:32 +0000 (20:27 +0200)]
Remove src/drivers/scan_helpers.c
Most of this file was already moved into wpa_supplicant/scan.c and
we can remove the file completely by having couple of small helper
functions copied to the remaining users outside core wpa_supplicant
code.
Jouni Malinen [Sun, 3 Jan 2010 16:48:11 +0000 (18:48 +0200)]
Move wpa_supplicant specific scan code away from src/drivers
This fits better in wpa_supplicant/scan.c. Couple of remaining
scan_helpers.c functions are currently used in driver wrappers,
but they can likely be removed in the future.
Jouni Malinen [Sun, 3 Jan 2010 16:35:01 +0000 (18:35 +0200)]
Add drv_event_eapol_rx() helper
Jouni Malinen [Sun, 3 Jan 2010 16:22:22 +0000 (18:22 +0200)]
Use generic driver event notification for AP mode assoc/disassoc
Jouni Malinen [Sun, 3 Jan 2010 15:44:40 +0000 (17:44 +0200)]
Use driver event, EVENT_EAPOL_RX, for EAPOL frame indication
Jouni Malinen [Sun, 3 Jan 2010 14:46:18 +0000 (16:46 +0200)]
Replace hostapd_notif_new_sta() with new driver event, EVENT_NEW_STA
Jouni Malinen [Sun, 3 Jan 2010 12:01:20 +0000 (14:01 +0200)]
driver_test: Add channel awareness for the MLME test code
This allows the MLME mode of driver_test to filter frames based on
the frequency on which they were sent and the frequency used by the
receiver.
Jouni Malinen [Sun, 3 Jan 2010 11:57:51 +0000 (13:57 +0200)]
Add driver API functionality for off-channel Action frames
This adds new commands and events for allowing off-channel Action
frame exchanges to be requested. This functionality is not yet used
and is only fully supported by driver_test.c at this point.
driver_nl80211.c has support for the remain-on-channel commands, but
the Action frame TX/RX part is still pending review for the kernel
code and as such, is not yet included here.
Jouni Malinen [Sun, 3 Jan 2010 11:56:18 +0000 (13:56 +0200)]
Sync with wireless-testing.git linux/nl80211.h
Jouni Malinen [Sun, 3 Jan 2010 11:42:06 +0000 (13:42 +0200)]
Add driver ops for allocating interface addresses
This adds placeholder code for allowing the virtual interfaces to be
pre-allocated a MAC address before the interface type is known with
drivers that do not handle interface type changes.
Jouni Malinen [Sun, 3 Jan 2010 11:30:22 +0000 (13:30 +0200)]
Add a driver op for enabling Probe Request reporting in station mode
Jouni Malinen [Sun, 3 Jan 2010 11:10:12 +0000 (13:10 +0200)]
Remove unnecessary wpa_event_type typedef
Jouni Malinen [Sun, 3 Jan 2010 11:05:54 +0000 (13:05 +0200)]
Fix CONFIG_AP=y build after driver API changes
Jouni Malinen [Sun, 3 Jan 2010 10:37:02 +0000 (12:37 +0200)]
Move struct hostapd_frame_info definition away from driver API
This is internal data structure for hostapd/AP functionality and does
not need to be defined in driver.h.
Jouni Malinen [Sun, 3 Jan 2010 10:36:32 +0000 (12:36 +0200)]
driver_test: Remove forgotten, unused prototypes
Jouni Malinen [Sun, 3 Jan 2010 10:17:20 +0000 (12:17 +0200)]
Remove struct ieee80211_hdr dependency from EVENT_RX_FROM_UNKNOWN
It is simpler to just pass in u8* to the beginning of the header.
Jouni Malinen [Sun, 3 Jan 2010 10:11:44 +0000 (12:11 +0200)]
Replace hostapd_probe_req_rx() with EVENT_RX_PROBE_REQ driver event
Jouni Malinen [Sun, 3 Jan 2010 09:50:26 +0000 (11:50 +0200)]
Replace wpa_supplicant_sta_rx() call with driver event
Get rid of wpa_supplicant_sta_rx() and add a new driver event that is
marked to be used only with driver_test.c. In addition, remove this
functionality from privsep wrapper. This is only use for client mode
MLME testing with driver_test.c.
Jouni Malinen [Sun, 3 Jan 2010 08:55:31 +0000 (10:55 +0200)]
Use shared function for figuring out if BSS is in use
The BSS that is currently in use must not be freed even if it does
not show up in scan results.
Jouni Malinen [Sun, 3 Jan 2010 08:54:14 +0000 (10:54 +0200)]
hostapd: Fix deinit on initialization failure
Jouni Malinen [Sat, 2 Jan 2010 23:25:43 +0000 (01:25 +0200)]
Fix memory corruption on BSS entry reallocation
The wpa_s->bss_id list was being corrupted when the BSS entry needed
to be reallocated due to longer IE data. The entry has to be removed
from all lists before reallocation to avoid this (it was only removed
from the wpa_s->bss list).
Jouni Malinen [Sat, 2 Jan 2010 23:01:56 +0000 (01:01 +0200)]
dbus: Use free_dbus_object_desc() consistently to free object descriptor
Jouni Malinen [Sat, 2 Jan 2010 22:52:30 +0000 (00:52 +0200)]
dbus: Remove duplication of object methods/signals/properties
There is no need to duplicate the method/signal/property arrays that
were registered for objects. The registration was using static arrays
on methods/signals/properties in all places and we can as well use
those throughout without having to allocate memory and copy all the
entries for every object. This reduces number of allocations and
amount of unnecessary code quite a bit.
Jouni Malinen [Sat, 2 Jan 2010 15:17:00 +0000 (17:17 +0200)]
dbus: Use stack for temporary object path
This is small enough buffer to not require more complex dynamic
allocation for temporary use.
Jouni Malinen [Sat, 2 Jan 2010 14:59:19 +0000 (16:59 +0200)]
Maintain a pointer to the current BSS table entry
Jouni Malinen [Sat, 2 Jan 2010 14:41:38 +0000 (16:41 +0200)]
Do not store raw scan results
Use scan results to update the BSS table and to select the BSS for
connection, but do not store the results for longer time.
Jouni Malinen [Sat, 2 Jan 2010 14:16:02 +0000 (16:16 +0200)]
Use BSS table entry instead of raw scan result for connection
Jouni Malinen [Sat, 2 Jan 2010 13:26:50 +0000 (15:26 +0200)]
Use BSS table for WPA get-Beacon-IEs operation
Jouni Malinen [Sat, 2 Jan 2010 13:19:35 +0000 (15:19 +0200)]
Convert ctrl_iface scan_results cmd to use BSS table
Jouni Malinen [Sat, 2 Jan 2010 13:13:25 +0000 (15:13 +0200)]
dbus: Use BSS table instead of raw scan results in older API
Change the old D-Bus API to use the new BSS table instead of raw
scan results.