aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant/Android.mk
Commit message (Collapse)AuthorAgeFilesLines
* FST: wpa_supplicant build rulesAnton Nayshtut2015-07-161-0/+13
| | | | Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* Android: Rename ANDROID_P2P_STUB to ANDROID_LIB_STUBKevin Cernekee2015-06-261-1/+2
| | | | | | | | | | If BOARD_HOSTAPD_PRIVATE_LIB is not used on an Android build, we will need to replace both the p2p functions *and* wpa_driver_nl80211_driver_cmd in order to successfully link. Let's make the name more generic so it is more obvious what it is used for. Suggested-by: Dmitry Shmidt <dimitrysh@google.com> Signed-off-by: Kevin Cernekee <cernekee@google.com>
* OpenSSL: Implement AES-128 CBC using EVP APIJouni Malinen2015-03-291-0/+2
| | | | | | | | This replaces the internal CBC mode implementation in aes_128_cbc_encrypt() and aes_128_cbc_decrypt() with the OpenSSL implementation for CONFIG_TLS=openssl builds. Signed-off-by: Jouni Malinen <j@w1.fi>
* wpa_cli: Use .wpa_cli_history under AndroidMikael Kanstrup2015-03-261-0/+3
| | | | | | | wpa_cli already implements a command history file for easy accessing commands previously used. Enable the functionality on Android, too. Signed-off-by: Mikael Kanstrup <mikael.kanstrup@sonymobile.com>
* Fix CONFIG_EAP_UNAUTH_TLS without CONFIG_EAP_TLS buildJouni Malinen2015-03-201-1/+1
| | | | Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* Remove SChannel supportJouni Malinen2015-03-181-15/+0
| | | | | | | | | SChannel/CryptoAPI as a TLS/crypto library alternative was never completed. Critical functionality is missing and there are bugs in this implementation. Since there are no known plans of completing this support, it is better to remove this code. Signed-off-by: Jouni Malinen <j@w1.fi>
* P2P: Move upper layer SD interaction into a separate fileJouni Malinen2015-03-151-0/+1
| | | | | | | | wpa_supplicant/p2p_supplicant.c has reached almost 10000 lines in length and was getting a bit inconvenient to edit, so start splitting it into separate files. Signed-off-by: Jouni Malinen <j@w1.fi>
* OpenSSL: Implement aes_wrap() and aes_unwrap()Jouni Malinen2015-01-281-0/+4
| | | | | | | | This replaces the implementation in aes-wrap.c and aes-unwrap.c with OpenSSL AES_wrap_key() and AES_unwrap_key() functions when building hostapd or wpa_supplicant with OpenSSL. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* OpenSSL: Replace internal HMAC-MD5 implementationJouni Malinen2015-01-281-0/+2
| | | | | | | Use OpenSSL HMAC_* functions to implement HMAC-MD5 instead of depending on the src/crypto/md5.c implementation. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* Add Suite B 192-bit AKMJouni Malinen2015-01-261-0/+5
| | | | | | | WPA-EAP-SUITE-B-192 can now be used to select 192-bit level Suite B into use as the key management method. Signed-off-by: Jouni Malinen <j@w1.fi>
* Add HMAC-SHA384Jouni Malinen2015-01-261-0/+3
| | | | | | For now, this is only implemented with OpenSSL. Signed-off-by: Jouni Malinen <j@w1.fi>
* Remove Network Security Service (NSS) supportJouni Malinen2015-01-101-17/+0
| | | | | | | | | | NSS as a TLS/crypto library alternative was never completed and this barely functional code does not even build with the current NSS version. Taken into account that there has not been much interest in working on this crypto wrapper over the years, it is better to just remove this code rather than try to get it into somewhat more functional state. Signed-off-by: Jouni Malinen <j@w1.fi>
* Introduce common hw featuresJanusz Dziedzic2015-01-101-0/+1
| | | | | | Introduce wpa_supplicant/hostapd hw features. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
* ERP: Add support for ERP on EAP peerJouni Malinen2014-12-041-0/+9
| | | | | | | | | | | | | | Derive rRK and rIK on EAP peer if ERP is enabled. The new wpa_supplicant network configuration parameter erp=1 can now be used to configure the EAP peer to derive EMSK, rRK, and rIK at the successful completion of an EAP authentication method. This functionality is not included in the default build and can be enabled with CONFIG_ERP=y. If EAP authenticator indicates support for re-authentication protocol, initiate this with EAP-Initiate/Re-auth and complete protocol when receiving EAP-Finish/Re-auth. Signed-off-by: Jouni Malinen <j@w1.fi>
* WMM AC: Parse WMM IE on associationMoshe Benji2014-11-161-0/+1
| | | | | | | | | Initialize WMM AC data structures upon successful association with an AP that publishes WMM support, and deinitialize the data structure when the association is no longer valid. Signed-off-by: Moshe Benji <moshe.benji@intel.com> Signed-off-by: Eliad Peller <eliadx.peller@intel.com>
* mesh: Add mesh robust security networkThomas Pedersen2014-11-161-0/+7
| | | | | | | | | | | | | | This implementation provides: - Mesh SAE authentication mechanism - Key management (set/get PSK) - Cryptographic key establishment - Enhanced protection mechanisms for robust management frames Signed-off-by: Javier Lopez <jlopex@gmail.com> Signed-off-by: Javier Cardona <javier@cozybit.com> Signed-off-by: Jason Mobarak <x@jason.mobarak.name> Signed-off-by: Thomas Pedersen <thomas@noack.us>
* Suite B: PMKID derivation for AKM 00-0F-AC:11Jouni Malinen2014-11-161-0/+6
| | | | | | | | | The new AKM uses a different mechanism of deriving the PMKID based on KCK instead of PMK. hostapd was already doing this after the KCK had been derived, but wpa_supplicant functionality needs to be moved from processing of EAPOL-Key frame 1/4 to 3/4 to have the KCK available. Signed-off-by: Jouni Malinen <j@w1.fi>
* mesh: Add mesh peering managerBob Copeland2014-10-251-0/+1
| | | | | | | | | | | | | | | The mesh peering manager establishes and maintains links among mesh peers, tracking each peer link via a finite state machine. This implementation supports open mesh peerings. [assorted fixes from Yu Niiro <yu.niiro@gmail.com>] [more fixes from Masashi Honma <masashi.honma@gmail.com>] Signed-off-by: Javier Lopez <jlopex@gmail.com> Signed-off-by: Javier Cardona <javier@cozybit.com> Signed-off-by: Ashok Nagarajan <ashok.dragon@gmail.com> Signed-off-by: Jason Mobarak <x@jason.mobarak.name> Signed-hostap: Bob Copeland <me@bobcopeland.com>
* mesh: Add mesh mode routinesThomas Pedersen2014-10-251-0/+1
| | | | | | | | | | Add routines to (de)initialize mesh interface data structures and join and leave mesh networks. Signed-off-by: Javier Lopez <jlopex@gmail.com> Signed-off-by: Javier Cardona <javier@cozybit.com> Signed-off-by: Jason Mobarak <x@jason.mobarak.name> Signed-off-by: Thomas Pedersen <thomas@noack.us>
* AP: Add support for BSS load element (STA Count, Channel Utilization)Kyeyoon Park2014-10-211-0/+1
| | | | | | | | | | | | | | | The new "bss_load_update_period" parameter can be used to configure hostapd to advertise its BSS Load element in Beacon and Probe Response frames. This parameter is in the units of BUs (Beacon Units). When enabled, the STA Count and the Channel Utilization value will be updated periodically in the BSS Load element. The AAC is set to 0 sinze explicit admission control is not supported. Channel Utilization is calculated based on the channel survey information from the driver and as such, requires a driver that supports providing that information for the current operating channel. Signed-off-by: Kyeyoon Park <kyeyoonp@qca.qualcomm.com>
* nl80211: Add new commands to support mesh interfacesBob Copeland2014-10-191-0/+5
| | | | | | | | | Create init_mesh, mesh_join, and mesh_leave actions to kernel. Signed-off-by: Javier Lopez <jlopex@gmail.com> Signed-off-by: Javier Cardona <javier@cozybit.com> Signed-off-by: Jason Mobarak <x@jason.mobarak.name> Signed-off-by: Bob Copeland <me@bobcopeland.com>
* Implement RFC 5297 AES-SIVBob Copeland2014-10-191-0/+3
| | | | | | | | | | | | Add an implementation of Synthetic Initialization Vector (SIV) Authenticated Encryption Using the Advanced Encryption Standard (AES). This mode of AES is used to protect peering frames when using the authenticated mesh peering exchange. Signed-off-by: Javier Lopez <jlopex@gmail.com> Signed-off-by: Jason Mobarak <x@jason.mobarak.name> Signed-off-by: Bob Copeland <me@bobcopeland.com>
* Include ieee802_11_common.c in wpa_supplicant build unconditionallyJouni Malinen2014-10-121-7/+0
| | | | | | | | | | | This is needed for number of items and it was possible to make a build configuration that did not include ieee802_11_common.c while still trying to use functions from there. While it would be possible to add NEED_80211_COMMON=y to all the cases where this file is needed, the extra complexity from this is not really justifiable anymore, so include the file unconditionally. Signed-off-by: Jouni Malinen <j@w1.fi>
* test: Remove driver_test.cJouni Malinen2014-10-111-22/+0
| | | | | | | | | | | | The driver_test.c driver wrapper (-Dtest in wpa_supplicant and driver=test in hostapd) was previously used for testing without real Wi-Fi hardware. mac80211_hwsim-based tests have practically replaced all these needs and there has been no improvements or use for driver_test.c in a long while. Because of this, there has not really been any effort to maintain this older test tool and no justification to change this either. Remove the obsoleted test mechanism to clean up the repository. Signed-off-by: Jouni Malinen <j@w1.fi>
* P2P: Make the default p2p_find delay value configurableNirav Shah2014-06-091-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | This makes the p2p_find default delay value configurable as p2p_search_delay parameter through the configuration file (and through control interface "SET p2p_search_delay <value>" on the P2P management interface. This parameter controls the number milliseconds of extra delay that is added between search iterations when there is a concurrent operation in progress. This can be used, e.g., p2p_search_delay=100 to make p2p_find friendlier to concurrent operations by avoiding it from taking 100% of the radio resources. The default value is the previous default, i.e., 500 ms. Smaller values can be used to find peers more quickly at the cost of larger effect to concurrent operations while a larger value leaves more time for the concurrent operations at the cost of making device discovery take longer time. The optional p2p_find delay argument can still be used to override the search delay for each search operation. Since the P2P_CONCURRENT_SEARCH_DELAY macro is not used anymore, the driver specific build parameter for bcmdhd from Android.mk is also removed. Similar configuration can now be achieved with p2p_search_delay=0 in the p2p0 interface configuration file. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* eloop: Add epoll option for better performanceMasashi Honma2014-05-161-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds epoll option for the eloop implementation. This can be selected with the CONFIG_ELOOP_EPOLL=y build option. [merit] See Table1. Table1. comparison table +--------+--------+-----------+------------+-------------+ | | add fd | remove fd | prepare fd | dispatch fd | +--------+--------+-----------+------------+-------------+ | select | O(1) | O(1) | O(N) | O(N) | +--------+--------+-----------+------------+-------------+ | poll | O(1) | O(1) | O(N) | O(N) | +--------+--------+-----------+------------+-------------+ | epoll | O(1) | O(1) | 0 | O(M) | +--------+--------+-----------+------------+-------------+ "add fd" is addition of fd by eloop_sock_table_add_sock(). "remove fd" is removal of fd by eloop_sock_table_remove_sock(). "prepare fd" is preparation of fds before wait in eloop_run(). "dispatch fd" is dispatchment of fds by eloop_sock_table_dispatch(). "N" is all watching fds. "M" is fds which could be dispatched after waiting. As shown in Table1, epoll option has better performance on "prepare fd" column. Because select/poll option requires setting fds before every select()/poll(). But epoll_wait() doesn't need it. And epoll option has also better performance on "dispatch fd" column. Because select/poll option needs to check all registered fds to find out dispatchable fds. But epoll option doesn't require checking all registered fds. Because epoll_wait() returns dispatchable fd set. So epoll option is effective for GO/AP functionality. [demerit] The epoll option requires additional heap memory. In case of P2P GO, it is about 8K bytes. Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
* Android: Use extended P2P functionality (ANDROID_P2P) for all vendorsDmitry Shmidt2014-04-291-9/+6
| | | | Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* Android: Disable unused parameter warningsGreg Hackmann2014-04-241-0/+3
| | | | | | | This avoids large number of undesired compiler warnings since Android build system is added -Wextra. Signed-off-by: Greg Hackmann <ghackmann@google.com>
* Android: Add qca-vendor.h to be exportedAmarnath Hullur Subramanyam2014-04-101-0/+1
| | | | | | | Add qca-vendor.h along with wpa_ctrl.h to be exported to common staged location. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* WPS: Enable WSC 2.0 support unconditionallyJouni Malinen2014-03-251-4/+0
| | | | | | | | | There is not much point in building devices with WPS 1.0 only supported nowadays. As such, there is not sufficient justification for maintaining extra complexity for the CONFIG_WPS2 build option either. Remove this by enabling WSC 2.0 support unconditionally. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* Use internal FIPS 186-2 PRF if neededJouni Malinen2014-03-111-3/+6
| | | | | | | | | | | | Previously, EAP-SIM/AKA/AKA' did not work with number of crypto libraries (GnuTLS, CryptoAPI, NSS) since the required FIPS 186-2 PRF function was not implemented. This resulted in somewhat confusing error messages since the placeholder functions were silently returning an error. Fix this by using the internal implementation of FIP 186-2 PRF (including internal SHA-1 implementation) with crypto libraries that do not implement this in case EAP-SIM/AKA/AKA' is included in the build. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* HS 2.0R2: Add common OSEN definitionsJouni Malinen2014-02-251-0/+1
| | | | Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* Android: Use external libnl 2.0 dynamic libraryDmitry Shmidt2014-02-191-0/+8
| | | | Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* P2P: Add support for IP address assignment in 4-way handshakeJouni Malinen2014-01-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This new mechanism allows P2P Client to request an IPv4 address from the GO as part of the 4-way handshake to avoid use of DHCP exchange after 4-way handshake. If the new mechanism is used, the assigned IP address is shown in the P2P-GROUP-STARTED event on the client side with following new parameters: ip_addr, ip_mask, go_ip_addr. The assigned IP address is included in the AP-STA-CONNECTED event on the GO side as a new ip_addr parameter. The IP address is valid for the duration of the association. The IP address pool for this new mechanism is configured as global wpa_supplicant configuration file parameters ip_addr_go, ip_addr_mask, ip_addr_star, ip_addr_end. For example: ip_addr_go=192.168.42.1 ip_addr_mask=255.255.255.0 ip_addr_start=192.168.42.2 ip_addr_end=192.168.42.100 DHCP mechanism is expected to be enabled at the same time to support P2P Devices that do not use the new mechanism. The easiest way of managing the IP addresses is by splitting the IP address range into two parts and assign a separate range for wpa_supplicant and DHCP server. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* eap_proxy: Extend Android.mk to support additional librariesNaresh Jayaram2013-12-081-1/+5
| | | | | | | | Allow addition static and shared libraries to be specified from the eap_proxy_*.mk file for Android build. In addition use $(LOCAL_PATH) as a prefix for that Android makefile part. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* Android: Reset MD5OBJS value before += operationDmitry Shmidt2013-11-091-0/+1
| | | | Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* Android: Sync Android.mk with MakefileJouni Malinen2013-11-081-0/+4
| | | | | | | This brings in commit 411f56705019ac5b13b4daf62f423fceb3c703e2 changes to allow libdl to be linked in after OpenSSL. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
* Android: Set proper path to keystore include dirDmitry Shmidt2013-11-081-4/+1
| | | | Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* Android: Fix CONFIG_EAP_PROXY option and move it to right placeDmitry Shmidt2013-11-081-6/+7
| | | | Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* Android: Add CONFIG_IEEE80211AC option to makefileDmitry Shmidt2013-11-081-2/+8
| | | | Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* Android: Add CONFIG_EAP_UNAUTH_TLS option to makefileDmitry Shmidt2013-11-081-0/+11
| | | | Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* Android: Add liblogYing Wang2013-11-081-3/+3
| | | | Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* Android: Switch keystore to binderKenny Root2013-11-081-1/+1
| | | | Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* Android: Get rid of LOCAL_MODULE_TAGS := userJoe Onorato2013-11-081-1/+0
| | | | Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* Android: Restore OpenSSL ENGINE supportKenny Root2013-11-081-3/+0
| | | | | | We now use an OpenSSL ENGINE to support keystore functionality. Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* Android: Remove obsolete WPA_UNICODE_SSID defineDmitry Shmidt2013-11-071-3/+0
| | | | Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* Android: Fix compilation without BOARD_WPA_SUPPLICANT_DRIVERDmitry Shmidt2013-11-071-6/+2
| | | | Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* Android: Add ANDROID_P2P define under BOARD_WLAN_DEVICEDmitry Shmidt2013-11-071-0/+13
| | | | Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* Android: Fix CFLAGS -> L_CFLAGSDmitry Shmidt2013-11-071-2/+2
| | | | Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* Android: Add dfs.c into buildJouni Malinen2013-10-181-0/+1
| | | | | | | This fixes Android build after commit e76da5052980f301fe61f2fc0e1e7a5789716061 that added the new dfs.c file. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>