path: root/wpa_supplicant/wps_supplicant.h
Commit message (Collapse)AuthorAgeFilesLines
* WPS: Replace wpas_wps_in_progress with identical wpas_wps_searchingJouni Malinen2013-12-291-1/+0
| | | | | | | There is no point in maintaining two different functions that do practically the same check of WPS state. Signed-hostap: Jouni Malinen <j@w1.fi>
* WPS NFC: Allow configuration token to be built from network blockJouni Malinen2013-04-011-1/+1
| | | | | | | "WPS_NFC_CONFIG_TOKEN <WPS/NDEF> <network id>" can now be used to build an NFC configuration token from a locally configured network. Signed-hostap: Jouni Malinen <j@w1.fi>
* WPS NFC: Add connection handover support for ERJouni Malinen2013-02-241-1/+1
| | | | | | | | | wpa_supplicant can now generate the WPS carrier record for connection handover response when acting as an ER. The AP whose configuration is provided in this way is identified with an UUID as an argument to wps-nfc.py. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* WPS: Add support for NFC handover select generation with wpa_supplicantJouni Malinen2013-02-151-1/+2
| | | | | | | | When wpa_supplicant is controlling an AP mode interface, it can generate the alternative carrier record for NFC connection handover select message similarly to the way this is done in hostapd. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* WPS: Add support for config token generation with wpa_supplicantJouni Malinen2013-02-151-0/+2
| | | | | | | | When wpa_supplicant is controlling an AP mode interface, it can generate the NFC configuration token similarly to the way this is done in hostapd. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* WPS: Report NFC connection handover completion differentlyJouni Malinen2013-02-111-0/+3
| | | | | | | | Instead of reporting only one connection handover message, report completion of NFC connection handover with carrier record from both the request and select messages. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* WPS: Fetch only the carrier record from wpa_supplicant for NFCJouni Malinen2013-02-101-1/+1
| | | | | | | | Since there could be multiple carrier records, it is cleaner to build only the WPS carrier record instead of full NFC connection handover request within wpa_supplicant. Signed-hostap: Jouni Malinen <j@w1.fi>
* Fix forgotten no-CONFIG_WPS=y wrapperJouni Malinen2012-11-141-2/+1
| | | | | | | | | Commit 620c783753bddd37988269314862dc7e4a62f700 modified wpas_wps_ssid_wildcard_ok() prototype, but forgot to update the non-WPS-build wrapper. Fix that to match with the new bss parameter type and remove the now unused declaration of wpa_scan_res. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* WPS: Remove deprecated UFD config method and OOB ctrl_ifaceJouni Malinen2012-11-111-2/+0
| | | | | | | | | | The UFD (USB flash drive) configuration method was deprecated in WSC 2.0. Since this is not known to be used, remove the UFD implementation from hostapd and wpa_supplicant to allow the WPS implementation to be cleaned up. This removes the now unused OOB operations and ctrl_iface commands that had already been deprecated by the new NFC operations. Signed-hostap: Jouni Malinen <j@w1.fi>
* WPS: Remove old OOB NFC interfaceJouni Malinen2012-10-281-1/+1
| | | | | | | | | | The old WPS interface for using NFC has no known deployments and even the binary libraries referenced here are not easily available anymore. Since the new interface for using NFC with WPS covers the same functionality, remove the old implementation to clean up WPS implementation. Signed-hostap: Jouni Malinen <j@w1.fi>
* WPS: Add preliminary NFC connection handover support for EnrolleeJouni Malinen2012-10-281-0/+6
| | | | | | | | | | This commit adds new wpa_supplicant ctrl_iface commands to allow external programs to go through NFC connection handover mechanism with wpa_supplicant taking care of the WPS processing. This version includes only the case where wpa_supplicant is operating as a station/Enrollee. Signed-hostap: Jouni Malinen <j@w1.fi>
* Fix build without CONFIG_WPS=yJouni Malinen2012-10-011-1/+1
| | | | | | | | | Commit 620c783753bddd37988269314862dc7e4a62f700 modified wpas_wps_ssid_bss_match() prototype but forgot to update the non-WPS wrapper inline function. Fix that to match with the new bss parameter type. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* Use BSS entries instead of scan results for BSS selectionJouni Malinen2012-09-021-2/+2
| | | | | | | | This allows the BSS selection functions to be called without having the scan result data structure. This can be used to skip extra scans in cases where previous results can be considered fresh. Signed-hostap: Jouni Malinen <j@w1.fi>
* WPS: Maintain more AP state during WPS PIN iterationJouni Malinen2012-08-271-0/+14
| | | | | | | | | | | Maintain state of WPS APs during iteration to find the correct AP for WPS PIN operation when no specific BSSID is specified. This information can be used for optimizing the order in which the APs are tried. This commit is only adding the collection of the information and more detailed debug information to make debug logs more helpful in figuring out how the AP selection order could be improved. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* WPS ER: Add support for building NFC configuration tokenJouni Malinen2012-06-281-0/+2
| | | | | | | | WPS_ER_NFC_CONFIG_TOKEN command can now be used to build a NFC configuration token based on AP Settings learnt with WPS_ER_LEARN or set with WPS_ER_CONFIG. Signed-hostap: Jouni Malinen <j@w1.fi>
* WPS: Add support for NFC configuration token from external programJouni Malinen2012-06-281-1/+3
| | | | | | | | The new wpa_supplicant ctrl_iface command WPS_NFC_TAG_READ can now be used to process NFC tags read by external programs to initiate wpa_supplicant to use NFC Configuration Token to create a new network. Signed-hostap: Jouni Malinen <j@w1.fi>
* WPS: Add new mechanism for NFC config method using password tokenJouni Malinen2012-06-271-0/+2
| | | | | | | | | | | | Instead of requiring low-level access to an NFC device and synchronous operations, the new WPS_NFC_TOKEN and WPS_NFC ctrl_iface commands can be used to build a NFC password token and initiate WPS protocol run using that token (or pre-configured values) as separate commands. The WPS_NFC_TOKEN output can be written to a NFC tag using an external program, i.e., wpa_supplicant does not need to have low-level code for NFC operations for this. Signed-hostap: Jouni Malinen <j@w1.fi>
* Remove the GPL notification from files contributed by Jouni MalinenJouni Malinen2012-02-111-8/+2
| | | | | | | Remove the GPL notification text from the files that were initially contributed by myself. Signed-hostap: Jouni Malinen <j@w1.fi>
* WPS ER: Add wps_er_set_config to use local configurationJouni Malinen2010-10-201-0/+2
| | | | | | This command can be used to enroll a network based on a local network configuration block instead of having to (re-)learn the current AP settings with wps_er_learn.
* WPS: Allow pending WPS operation to be cancelledArdong Chen2010-09-101-0/+1
| | | | | | | A new ctrl_interface command, WPS_CANCEL, can now be used to cancel a pending or ongoing WPS operation. For now, this is only available with wpa_supplicant (either in station or AP mode). Similar functionality should be added for hostapd, too.
* P2P: Set Device Password ID in WPS M1/M2 per new rulesJouni Malinen2010-09-091-1/+1
| | | | | If the P2P client (WPS Enrollee) uses a PIN from the GO (Registrar), Device Password ID in M1 & M2 is set to Registrar-specified.
* P2P: Let WPS code know if it is used in a P2P groupJouni Malinen2010-09-091-2/+3
* Allow ctrl_iface SET command to change global config parametersJouni Malinen2010-09-091-0/+1
* WPS 2.0: Add support for AuthorizedMACs attributeJouni Malinen2010-09-091-2/+2
| | | | | | | | | | 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.
* WPS: Use different scan result sorting rules when doing WPS provisioningJouni Malinen2010-06-111-0/+1
| | | | | | | | | The AP configuration may change after provisioning, so it is better not to use the current security policy to prioritize results. Instead, use WPS Selected Registrar attribute as the main sorting key and use signal strength next without considering security policy or rate sets. The non-WPS provisioning case remains as-is, i.e., this change applies only when trying to find an AP for WPS provisioning.
* WPS ER: Add command for configuring an APJouni Malinen2010-05-271-0/+2
| | | | | | wps_er_config can now be used to configure an AP. It is similar to wps_er_learn, but instead of only learning the current AP settings, it continues to send M8 with the new settings for the AP.
* WPS ER: Allow AP filtering based on IP addressJouni Malinen2010-05-271-1/+1
| | | | | | | wps_er_start command now takes an optional parameter that can be used to configure a filter to only allow UPnP SSDP messages from the specified IP address. In practice, this limits the WPS ER operations to a single AP and filters out all other devices in the network.
* Fix compiler warnings for non-WPS buildJouni Malinen2010-01-031-2/+3
* Do not store raw scan resultsJouni Malinen2010-01-021-0/+1
| | | | | Use scan results to update the BSS table and to select the BSS for connection, but do not store the results for longer time.
* Use BSS table entry instead of raw scan result for connectionJouni Malinen2010-01-021-2/+3
* WPS ER: Delay wpa_supplicant termination to allow unsubscriptionJouni Malinen2009-12-191-0/+1
| | | | | | Instead of forcefully deinitializing ER immediately, give it some time to complete unsubscription and call eloop_terminate() only once ER code has completed its work.
* WPS ER: Add command for fetching current AP settingsJouni Malinen2009-11-151-0/+2
* WPS ER: Add preliminary PBC supportJouni Malinen2009-11-151-0/+1
| | | | | | This will need some additional code in wps_er_pbc() to handle PBC mode enabling for a single AP only. For now, this can only be expected to work when the ER is connected to a single AP.
* WPS ER: Add PIN configuration and SetSelectedRegistrar callJouni Malinen2009-11-131-0/+2
| | | | | | New PINs can now be added to WPS ER. This results in the ER code using SetSelectedRegistrar to modify AP state so that Enrollees will be able to notice the actice registrar more easily.
* WPS: Add initial part of External Registrar functionalityJouni Malinen2009-11-071-0/+2
| | | | | | This is the first step in adding support for using wpa_supplicant as a WPS External Registrar to manage APs over UPnP. Only the device discovery part is implemented in this commit.
* Add parsed information from WPS IE(s) into scan resultsJouni Malinen2009-09-111-0/+2
| | | | | 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 support for AP reconfiguration with wps_regJouni Malinen2009-09-061-2/+9
| | | | | | | | | | 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.
* WPS: Add support for NFC out-of-band mechanismMasashi Honma2009-03-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new file wps_nfc.c and ndef.c implements NFC device independent operation, wps_nfc_pn531.c implements NFC device dependent operation. This patch is only for the following use case: - Enrollee = wpa_supplicant - Registrar = hostapd internal Registrar Following NFC methods can be used: - Enrollee PIN with NFC - Registrar PIN with NFC - unencrypted credential with NFC Encrypted credentials are not supported. Enrollee side operation: Registrar side operation: Example configuration. CONFIG_WPS=y CONFIG_WPS_NFC=y CONFIG_WPS_NFC_PN531=y I used NFC device "NXP PN531". The NFC device access method is confidential, so I used outer library. Please download below files from https://www.saice-wpsnfc.bz/index.php [WPS NFC Library] WpsNfcLibrary/WpsNfc.h WpsNfcLibrary/WpsNfcType.h WpsNfcLibrary/WpsNfcVersion.h WpsNfcLibrary/linux/libnfc_mapping_pn53x.dll WpsNfcLibrary/linux/wpsnfc.dll [NFC Reader/Writer Kernel Driver] NFCKernelDriver-1.0.3/linux/kobj/sonyrw.ko <WiFi test> The hostapd/wpa_supplicant with this patch passed below tests on "Wi-Fi WPS Test Plan Version 1.6". 4.2.5 Add device using NFC Method with password token (I used SONY STA instead of NXP STA.) 4.2.6 Add device using NFC Method with configuration token 5.1.9 Add to AP using NFC Method with password token through internal registrar (I used SONY AP instead of NXP AP.) 5.1.10 Add to AP using NFC Method with configuration token through internal registrar
* WPS: Add UFD support (USBA out-of-band mechanism)Masashi Honma2009-02-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | This patch is only for the following use case: - Enrollee = wpa_supplicant - Registrar = hostapd internal Registrar Following UFD methods can be used: - Enrollee PIN with UFD - Registrar PIN with UFD - unencrypted credential with UFD Encrypted credentials are not supported. Enrollee side operation: wpa_cli -i ath0 wps_oob <device type> <mount point> <oob method> oob method = pin-e/pin-r/cred wpa_cli -i ath0 wps_oob ufd /mnt/ pin-r Registrar side operation: ./hostapd_cli -i ath0 wps_oob <device type> <mount point> <oob method> oob method = pin-e/pin-r/cred hostapd_cli -i ath0 wps_oob ufd /mnt/ cred
* Allow WPS APs for PIN enrollment even without Selected RegistrarJouni Malinen2009-01-231-4/+8
| | | | | | | | | Some WPS APs do not set Selected Registrar attribute to 1 properly when using an external Registrar. Allow such an AP to be selected for PIN registration after couple of scan runs that do not find APs marked with Selected Registrar = 1. This allows wpa_supplicant to iterate through all APs that advertise WPS support without delaying connection with implementations that set Selected Registrar = 1 properly.
* Added Doxygen documentation for WPS codeJouni Malinen2009-01-031-1/+4
* WPS: Added support for wildcard SSID matching in ap_scan=2 modeJouni Malinen2008-12-201-0/+6
| | | | | | | Change association behavior to match with ap_scan=1 when WPS is used in ap_scan=2 mode with wildcard SSID matching. In addition, allow hardcoded BSSID to be used to select AP even if selected registrar attribute is not present.
* WPS: Added control interface notification for available WPS APsJouni Malinen2008-12-151-0/+5
| | | | | | | Whenever new scan results include WPS AP(s) and the client is not associated, send a notification message to control interface monitors. This makes it easier for GUIs to notify the user about possible WPS availability without having to go through the scan results.
* WPS: Added support for fragmented WPS IE in Beacon and Probe ResponseJouni Malinen2008-11-291-1/+25
| | | | | | | | Fragment WPS IE if needed to fit into the IE length limits in hostapd and Reassemble WPS IE data from multiple IEs in wpa_supplicant. In addition, moved WPS code from events.c into wps_supplicant.c to clean up module interfaces.
* WPS: Added wpa_supplicant ctrl_iface commands to start WPS processingJouni Malinen2008-11-291-0/+5
| | | | | | | New control interface commands WPS_PBC, WPS_PIN, and WPS_REG can be used to start WPS processing. These add and select the WPS network block into the configuration temporarily, i.e., there is no need to add the WPS network block manually anymore.
* WPS: Set Request Type properly into WPS IE in ProbeReq/AssocReqJouni Malinen2008-11-291-3/+3
* WPS: Moved wps_context initialization into wps_supplicant.cJouni Malinen2008-11-281-0/+11
| | | | | | | The wps_context data is now managed at wpa_supplicant, not EAP-WSC. This makes wpa_supplicant design for WPS match with hostapd one and also makes it easier configure whatever parameters and callbacks are needed for WPS.
* WPS: Move WPS glue code from wpas_glue.c to wps_supplicant.cJouni Malinen2008-11-281-0/+37
This cleans up the internal interface between different modules and is the first step in getting wpa_supplicant design closer to hostapd as far as WPS is concerned.