aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* nl80211: Use defines for NL80211_KEY_CIPHER valuesJouni Malinen2009-09-151-5/+8
|
* Revert "nl80211: Share the same routine for NL80211_ATTR_KEY_CIPHER setup"Jouni Malinen2009-09-151-37/+44
| | | | | | | | This reverts commit 5aa9cb5cca24268ae3a8cc35c85215b4a9a513b6. The nested key attribute is using different attribute values (NL80211_KEY_* vs. NL80211_ATTR_KEY_*), so cannot share the same routine for these purposes..
* nl80211: Share the same routine for NL80211_ATTR_KEY_CIPHER setupJouni Malinen2009-09-151-44/+37
|
* driver_nl80211: Fix MLME key settings for static WEPJohannes Berg2009-09-155-5/+77
| | | | | | | | | | | | | | Current wpa_supplicant has a bug with WEP keys, it adds a zero-length sequence counter field to netlink which the kernel doesn't accept. Additionally, the kernel API slightly changed to accept keys only when connected, so we need to send it the keys after that. For that to work with shared key authentication, we also include the default WEP TX key in the authentication command. To upload the keys properly _after_ associating, add a new flag WPA_DRIVER_FLAGS_SET_KEYS_AFTER_ASSOC_DONE indicating that the driver needs the keys at that point and not earlier.
* Add preliminary background scan and roaming module designJouni Malinen2009-09-1510-15/+393
| | | | | | | | | | | | | | | | | | | | | | This allows background scanning and roaming decisions to be contained in a single place based on a defined set of notification events which will hopefully make it easier to experiment with roaming improvements. In addition, this allows multiple intra-ESS roaming policies to be used (each network configuration block can configure its own bgscan module). The beacon loss and signal strength notifications are implemented for the bgscan API, but the actual events are not yet available from the driver. The included sample bgscan module ("simple") is an example of what can be done with the new bgscan mechanism. It requests periodic background scans when the device remains associated with an ESS and has couple of notes on what a more advanced bgscan module could do to optimize background scanning and roaming. The periodic scans will cause the scan result handler to pick a better AP if one becomes available. This bgscan module can be taken into use by adding bgscan="simple" (or bgscan="simple:<bgscan interval in seconds>") into the network configuration block.
* Getting back to DISCONNECTED afer SCANNINGSamuel Ortiz2009-09-142-3/+9
| | | | | | After transitioning from DISCONNECTED to SCANNING, we never go back to DISCONNECTED even though scanning is done or failed. We're thus stuck in SCANNING while scanning is actually done.
* WPS: Fix CONFIG_WPS=y compilation of wpa_supplicantMasashi Honma2009-09-141-0/+1
| | | | | The wpa_supplicant compilation failed with CONFIG_WPS=y option if CONFIG_CLIENT_MLME and CONFIG_IEEE80211R are not used.
* Share same freeing and error checking code in get_scan_resultsWitold Sowa2009-09-131-29/+18
| | | | | | | Convert wpa_supplicant_get_scan_results_old() to use the same return style with the other get_scan_results options and clean up the code by sharing the same scan result freeing and error checking code for all the options.
* Use shared functions for network operations and param changesWitold Sowa2009-09-134-131/+253
| | | | | | Instead of implementing these separately in various control interface handlers, use shared functions. These add some of the previously missing notification calls, too, for the affected areas.
* Add wpa_supplicant notification callsJouni Malinen2009-09-1311-19/+314
| | | | | | | | | This introduces a new mechanism for collecting notification calls into a single place (notify.c). As a result of this, most of the wpa_supplicant code does not need to know about dbus (etc. mechanisms that could use the notifications). Some empty placeholder functions are also added in preparation of new dbus code that needs more event notifications.
* Remove extra whitespaceWitold Sowa2009-09-133-4/+3
|
* wpa_gui-qt4: Fix WPS AP detection for peer windowJouni Malinen2009-09-111-1/+1
|
* wpa_gui-qt4: Add scan results into the peer windowJouni Malinen2009-09-112-8/+115
| | | | | | In addition, add a peer entry type for each peer entry. Currently, this is only stored as an integer and visible in the context menu. Eventually, different icons should be used based on this type.
* wpa_gui-qt4: Handle UNKNOWN COMMAND reply during peer window updateJouni Malinen2009-09-111-1/+2
| | | | Avoid an infinite loop if wpa_supplicant is not built with AP support.
* Add parsed information from WPS IE(s) into scan resultsJouni Malinen2009-09-115-0/+129
| | | | | This makes it easier for external programs to show WPS information since they do not need to parse the WPS IE themselves anymore.
* WPS: Add parsing of AP Setup Locked attributeJouni Malinen2009-09-112-0/+9
|
* Fix driver_test for hostapdJouni Malinen2009-09-111-0/+1
| | | | | | | Commit 0b55b934ee6243f2682524b0a733cc1468e20050 broke this by not initializing drv->ap = 1 in hostapd case since the mode updating code ended up unlinking the socket file. Setting drv->ap = 1 removes the mode change and as such, unlinking of the socket file.
* Convert WPS IE concat routine to a generic helperJouni Malinen2009-09-113-31/+49
| | | | | This may also be needed in wpa_supplicant and potentially for other IE types, too.
* driver_test: Update BSS data when using wpa_supplicant AP modeJouni Malinen2009-09-111-9/+39
|
* driver_test: Implement set_mode for wpa_supplicant AP deinitJouni Malinen2009-09-111-9/+25
|
* driver_test: Preliminary support for wpa_supplicant AP functionalityJouni Malinen2009-09-101-11/+69
|
* driver_test: Share the same deinit() for hostapd and wpa_supplicantJouni Malinen2009-09-101-53/+33
|
* driver_test: Merge socket_dir into test_dirJouni Malinen2009-09-101-14/+13
|
* driver_test: Some additional merging of send_mlmeJouni Malinen2009-09-101-49/+40
|
* driver_test: Claim AP mode capability for wpa_supplicantJouni Malinen2009-09-101-0/+1
|
* driver_test: Build most of code in unconditionallyJouni Malinen2009-09-101-117/+116
| | | | | | It is simpler to just build in all the test driver code regardless of whether this is for hostapd or wpa_supplicant (which will eventually get AP mode support with driver_test, too).
* driver_test: Merge wpa_supplicant and hostapd data structuresJouni Malinen2009-09-101-46/+36
| | | | | There is no real need to keep these in separate data structures with different names.
* wpa_gui-qt4: Add context menu for peers dialogJouni Malinen2009-09-105-9/+137
| | | | | Replace the clicked() event with more appropriate context menu and add a WPS PIN entry as an example command.
* radius_server: clean up completed sessions soonerAlex Badea2009-09-091-1/+5
| | | | | | | | | | | | | | radius_server_encapsulate_eap() resets sess->eap->if->eap{Success,Fail} to FALSE, such that the completion condition is never true. The net effect is that completed sessions would linger for RADIUS_SESSION_TIMEOUT seconds. Signed-off-by: Alex Badea <vamposdecampos@gmail.com> Previously, the default settings allowed 100 sessions in 60 seconds. With this fix, the default limit is now 100 sessions per 10 seconds. [Bug 329]
* wpa_gui-qt4: Include cstdio to avoid some compiler issuesJouni Malinen2009-09-091-0/+1
| | | | | It looks like some build systems do not find snprintf() here unless cstdio is included explicitly.
* wpa_gui-qt4: Add a new window for showing peer informationJouni Malinen2009-09-087-2/+257
| | | | | | | | | | This provides some initial functionality for showing peer information, i.e., showing information about other devices that has been discovered. Currently, information is only available in the AP mode (list of associated stations), but this is expected to increase in the future (e.g., show the current AP in station mode, other stations in IBSS, etc.). Furthermore, there will be actions available for doing things like providing a WPS PIN for a station.
* Add station table query to wpa_supplicant AP ctrl_ifaceJouni Malinen2009-09-085-0/+123
| | | | | | "wpa_cli all_sta" and "wpa_cli sta <addr>" can now be used to fetch information about stations associated with the wpa_supplicant-controlled AP.
* Move STA list ctrl_iface handlers to a separate fileJouni Malinen2009-09-084-82/+130
| | | | | This makes it easier to share the hostapd station table query functionality with wpa_supplicant AP mode operations.
* WPS: Store device info and make it available through AP ctrl_ifaceJouni Malinen2009-09-0713-1/+170
| | | | | | | | Store a copy of device attributes during WPS protocol run and make it available for external programs via the control interface STA MIB command for associated stations. This gives access to device name and type which can be useful when showing user information about associated stations.
* WPS: Add support for AP reconfiguration with wps_regJouni Malinen2009-09-0611-37/+252
| | | | | | | | | | wpa_supplicant can now reconfigure the AP by acting as an External Registrar with the wps_reg command. Previously, this was only used to fetch the current AP settings, but now the wps_reg command has optional arguments which can be used to provide the new AP configuration. When the new parameters are set, the WPS protocol run is allowed to continue through M8 to reconfigure the AP instead of stopping at M7.
* Fix WPA reconfiguration to update GTKJouni Malinen2009-09-061-15/+35
| | | | | | The group key state machine needs to be re-initialized with possible updated GTK length when restarting WPA (e.g., when WPS was used to reconfigure the AP).
* Delay processing of EAPOL frames when not associatedJouni Malinen2009-09-043-0/+47
| | | | | | | | | | If an EAPOL frame is received while wpa_supplicant thinks the driver is not associated, queue the frame for processing at the moment when the association event is received. This is a workaround to a race condition in receiving data frames and management events from the kernel. The pending EAPOL frame will not be processed unless an association event is received within 100 msec for the same BSSID.
* nl80211: Ignore connect/roam/disconnect events when using SMEJouni Malinen2009-09-041-0/+19
| | | | | Getting double association/disassociation events can get core code confused, so better filter out the extra events.
* nl80211: Connect API supportZhu Yi2009-09-031-0/+217
| | | | | If the driver does not support separate authentication and association steps, use the connect API instead.
* nl80211: Add connect/disconnect event processingZhu Yi2009-09-031-0/+46
|
* nl80211: Check whether the driver support separate auth/assoc commandsZhu Yi2009-09-031-5/+30
| | | | | | This is an initial step in adding support for the new connect command. For now, we just add the capability query. The actual use of the new command will be added separately.
* nl80211: Use defines for cipher suite selectorsZhu Yi2009-09-032-5/+21
|
* Fix comment in wpa_supplicant_event_associnfoChuck Tuffli2009-08-261-1/+1
| | | | | Found what I think is a copy/paste error in the comments for the .11r code.
* OpenBSD: wired IEEE 802.1X for OpenBSDMasashi Honma2009-08-263-5/+13
| | | | | | | | | | | | This is a patch for OpenBSD wired IEEE 802.1X. This is only for wired, not wireless, because OpenBSD uses wpa_supplicant only on wired now. http://www.openbsd.org/cgi-bin/cvsweb/ports/security/wpa_supplicant/ I have tested with these. OS : OpenBSD 4.5 EAP : EAP-TLS Switch : CentreCOM 8724SL
* WPS: Aggregate deinit calls in WPS OOBMasashi Honma2009-08-261-11/+9
| | | | | In WPS OOB, deinit_func() is called from 3 locations. This patch aggregates these to one.
* Fix a bug with ap_rx_from_unknown_sta() recursionWitold Sowa2009-08-262-4/+4
| | | | | ap_rx_from_unknown_sta was going into infinite recursion, or could even crash because of corrupted pointer cast.
* nl80211: Use two sockets to avoid mixing command replies with eventsJouni Malinen2009-08-261-6/+38
| | | | | | | Previously, both the command replies and unsolicited events were received from the same socket. This could cause problems if an event message is received between a command and the response to that command. Using two sockets avoids this issue.
* Disable PMTU discovery for RADIUS packets (sent them without DF)Jouni Malinen2009-08-231-0/+18
| | | | | | | | | | | When Linux has Path MTU discovery enabled, it sets by default the DF bit on all outgoing datagrams, also UDP ones. If a RADIUS message is bigger than the smallest MTU size to the target, it will be discarded. This effectively limits RADIUS messages to ~ 1500 Bytes, while they can be up to 4k according to RFC2865. In practice, this can mean trouble when doing EAP-TLS with many RADIUS attributes besides the EAP-Message. [Bug 326]
* Disable PMTU discovery for RADIUS packets (sent them without DF)Stefan Winter2009-08-231-2/+22
| | | | | | | | | | | When Linux has Path MTU discovery enabled, it sets by default the DF bit on all outgoing datagrams, also UDP ones. If a RADIUS message is bigger than the smallest MTU size to the target, it will be discarded. This effectively limits RADIUS messages to ~ 1500 Bytes, while they can be up to 4k according to RFC2865. In practice, this can mean trouble when doing EAP-TLS with many RADIUS attributes besides the EAP-Message. [Bug 326]
* Reject X.509 certificate strings with embedded NUL charactersJouni Malinen2009-08-231-0/+31
| | | | | | | | | | | | | These could, at least in theory, be used to generate unexpected common name or subject alternative name matches should a CA sign strings with NUL (C string termination) in them. For now, just reject the certificate if an embedded NUL is detected. In theory, all the comparison routines could be made to compare these strings as binary blobs (with additional X.509 rules to handle some exceptions) and display NUL characters somehow. Anyway, just rejecting the certificate will get rid of potential problems with the C string getting terminated and it should not really be used in certificates, so this should not break valid use cases.