1*03f9172cSAndroid Build Coastguard WorkerChangeLog for wpa_supplicant 2*03f9172cSAndroid Build Coastguard Worker 3*03f9172cSAndroid Build Coastguard Worker2024-07-20 - v2.11 4*03f9172cSAndroid Build Coastguard Worker * Wi-Fi Easy Connect 5*03f9172cSAndroid Build Coastguard Worker - add support for DPP release 3 6*03f9172cSAndroid Build Coastguard Worker - allow Configurator parameters to be provided during config exchange 7*03f9172cSAndroid Build Coastguard Worker * MACsec 8*03f9172cSAndroid Build Coastguard Worker - add support for GCM-AES-256 cipher suite 9*03f9172cSAndroid Build Coastguard Worker - remove incorrect EAP Session-Id length constraint 10*03f9172cSAndroid Build Coastguard Worker - add hardware offload support for additional drivers 11*03f9172cSAndroid Build Coastguard Worker * HE/IEEE 802.11ax/Wi-Fi 6 12*03f9172cSAndroid Build Coastguard Worker - support BSS color updates 13*03f9172cSAndroid Build Coastguard Worker - various fixes 14*03f9172cSAndroid Build Coastguard Worker * EHT/IEEE 802.11be/Wi-Fi 7 15*03f9172cSAndroid Build Coastguard Worker - add preliminary support 16*03f9172cSAndroid Build Coastguard Worker * support OpenSSL 3.0 API changes 17*03f9172cSAndroid Build Coastguard Worker * improve EAP-TLS support for TLSv1.3 18*03f9172cSAndroid Build Coastguard Worker * EAP-SIM/AKA: support IMSI privacy 19*03f9172cSAndroid Build Coastguard Worker * improve mitigation against DoS attacks when PMF is used 20*03f9172cSAndroid Build Coastguard Worker * improve 4-way handshake operations 21*03f9172cSAndroid Build Coastguard Worker - discard unencrypted EAPOL frames in additional cases 22*03f9172cSAndroid Build Coastguard Worker - use Secure=1 in message 2 during PTK rekeying 23*03f9172cSAndroid Build Coastguard Worker * OCV: do not check Frequency Segment 1 Channel Number for 160 MHz cases 24*03f9172cSAndroid Build Coastguard Worker to avoid interoperability issues 25*03f9172cSAndroid Build Coastguard Worker * support new SAE AKM suites with variable length keys 26*03f9172cSAndroid Build Coastguard Worker * support new AKM for 802.1X/EAP with SHA384 27*03f9172cSAndroid Build Coastguard Worker * improve cross-AKM roaming with driver-based SME/BSS selection 28*03f9172cSAndroid Build Coastguard Worker * PASN 29*03f9172cSAndroid Build Coastguard Worker - extend support for secure ranging 30*03f9172cSAndroid Build Coastguard Worker - allow PASN implementation to be used with external programs for 31*03f9172cSAndroid Build Coastguard Worker Wi-Fi Aware 32*03f9172cSAndroid Build Coastguard Worker * FT: Use SHA256 to derive PMKID for AKM 00-0F-AC:3 (FT-EAP) 33*03f9172cSAndroid Build Coastguard Worker - this is based on additional details being added in the IEEE 802.11 34*03f9172cSAndroid Build Coastguard Worker standard 35*03f9172cSAndroid Build Coastguard Worker - the new implementation is not backwards compatible, but PMKSA 36*03f9172cSAndroid Build Coastguard Worker caching with FT-EAP was, and still is, disabled by default 37*03f9172cSAndroid Build Coastguard Worker * support a pregenerated MAC (mac_addr=3) as an alternative mechanism 38*03f9172cSAndroid Build Coastguard Worker for using per-network random MAC addresses 39*03f9172cSAndroid Build Coastguard Worker * EAP-PEAP: require Phase 2 authentication by default (phase2_auth=1) 40*03f9172cSAndroid Build Coastguard Worker to improve security for still unfortunately common invalid 41*03f9172cSAndroid Build Coastguard Worker configurations that do not set ca_cert 42*03f9172cSAndroid Build Coastguard Worker * extend SCS support for QoS Characteristics 43*03f9172cSAndroid Build Coastguard Worker * extend MSCS support 44*03f9172cSAndroid Build Coastguard Worker * support unsynchronized service discovery (USD) 45*03f9172cSAndroid Build Coastguard Worker * add support for explicit SSID protection in 4-way handshake 46*03f9172cSAndroid Build Coastguard Worker (a mitigation for CVE-2023-52424; disabled by default for now, can be 47*03f9172cSAndroid Build Coastguard Worker enabled with ssid_protection=1) 48*03f9172cSAndroid Build Coastguard Worker - in addition, verify SSID after key setup when beacon protection is 49*03f9172cSAndroid Build Coastguard Worker used 50*03f9172cSAndroid Build Coastguard Worker * fix SAE H2E rejected groups validation to avoid downgrade attacks 51*03f9172cSAndroid Build Coastguard Worker * a large number of other fixes, cleanup, and extensions 52*03f9172cSAndroid Build Coastguard Worker 53*03f9172cSAndroid Build Coastguard Worker2022-01-16 - v2.10 54*03f9172cSAndroid Build Coastguard Worker * SAE changes 55*03f9172cSAndroid Build Coastguard Worker - improved protection against side channel attacks 56*03f9172cSAndroid Build Coastguard Worker [https://w1.fi/security/2022-1/] 57*03f9172cSAndroid Build Coastguard Worker - added support for the hash-to-element mechanism (sae_pwe=1 or 58*03f9172cSAndroid Build Coastguard Worker sae_pwe=2); this is currently disabled by default, but will likely 59*03f9172cSAndroid Build Coastguard Worker get enabled by default in the future 60*03f9172cSAndroid Build Coastguard Worker - fixed PMKSA caching with OKC 61*03f9172cSAndroid Build Coastguard Worker - added support for SAE-PK 62*03f9172cSAndroid Build Coastguard Worker * EAP-pwd changes 63*03f9172cSAndroid Build Coastguard Worker - improved protection against side channel attacks 64*03f9172cSAndroid Build Coastguard Worker [https://w1.fi/security/2022-1/] 65*03f9172cSAndroid Build Coastguard Worker * fixed P2P provision discovery processing of a specially constructed 66*03f9172cSAndroid Build Coastguard Worker invalid frame 67*03f9172cSAndroid Build Coastguard Worker [https://w1.fi/security/2021-1/] 68*03f9172cSAndroid Build Coastguard Worker * fixed P2P group information processing of a specially constructed 69*03f9172cSAndroid Build Coastguard Worker invalid frame 70*03f9172cSAndroid Build Coastguard Worker [https://w1.fi/security/2020-2/] 71*03f9172cSAndroid Build Coastguard Worker * fixed PMF disconnection protection bypass in AP mode 72*03f9172cSAndroid Build Coastguard Worker [https://w1.fi/security/2019-7/] 73*03f9172cSAndroid Build Coastguard Worker * added support for using OpenSSL 3.0 74*03f9172cSAndroid Build Coastguard Worker * increased the maximum number of EAP message exchanges (mainly to 75*03f9172cSAndroid Build Coastguard Worker support cases with very large certificates) 76*03f9172cSAndroid Build Coastguard Worker * fixed various issues in experimental support for EAP-TEAP peer 77*03f9172cSAndroid Build Coastguard Worker * added support for DPP release 2 (Wi-Fi Device Provisioning Protocol) 78*03f9172cSAndroid Build Coastguard Worker * a number of MKA/MACsec fixes and extensions 79*03f9172cSAndroid Build Coastguard Worker * added support for SAE (WPA3-Personal) AP mode configuration 80*03f9172cSAndroid Build Coastguard Worker * added P2P support for EDMG (IEEE 802.11ay) channels 81*03f9172cSAndroid Build Coastguard Worker * fixed EAP-FAST peer with TLS GCM/CCM ciphers 82*03f9172cSAndroid Build Coastguard Worker * improved throughput estimation and BSS selection 83*03f9172cSAndroid Build Coastguard Worker * dropped support for libnl 1.1 84*03f9172cSAndroid Build Coastguard Worker * added support for nl80211 control port for EAPOL frame TX/RX 85*03f9172cSAndroid Build Coastguard Worker * fixed OWE key derivation with groups 20 and 21; this breaks backwards 86*03f9172cSAndroid Build Coastguard Worker compatibility for these groups while the default group 19 remains 87*03f9172cSAndroid Build Coastguard Worker backwards compatible 88*03f9172cSAndroid Build Coastguard Worker * added support for Beacon protection 89*03f9172cSAndroid Build Coastguard Worker * added support for Extended Key ID for pairwise keys 90*03f9172cSAndroid Build Coastguard Worker * removed WEP support from the default build (CONFIG_WEP=y can be used 91*03f9172cSAndroid Build Coastguard Worker to enable it, if really needed) 92*03f9172cSAndroid Build Coastguard Worker * added a build option to remove TKIP support (CONFIG_NO_TKIP=y) 93*03f9172cSAndroid Build Coastguard Worker * added support for Transition Disable mechanism to allow the AP to 94*03f9172cSAndroid Build Coastguard Worker automatically disable transition mode to improve security 95*03f9172cSAndroid Build Coastguard Worker * extended D-Bus interface 96*03f9172cSAndroid Build Coastguard Worker * added support for PASN 97*03f9172cSAndroid Build Coastguard Worker * added a file-based backend for external password storage to allow 98*03f9172cSAndroid Build Coastguard Worker secret information to be moved away from the main configuration file 99*03f9172cSAndroid Build Coastguard Worker without requiring external tools 100*03f9172cSAndroid Build Coastguard Worker * added EAP-TLS peer support for TLS 1.3 (disabled by default for now) 101*03f9172cSAndroid Build Coastguard Worker * added support for SCS, MSCS, DSCP policy 102*03f9172cSAndroid Build Coastguard Worker * changed driver interface selection to default to automatic fallback 103*03f9172cSAndroid Build Coastguard Worker to other compiled in options 104*03f9172cSAndroid Build Coastguard Worker * a large number of other fixes, cleanup, and extensions 105*03f9172cSAndroid Build Coastguard Worker 106*03f9172cSAndroid Build Coastguard Worker2019-08-07 - v2.9 107*03f9172cSAndroid Build Coastguard Worker * SAE changes 108*03f9172cSAndroid Build Coastguard Worker - disable use of groups using Brainpool curves 109*03f9172cSAndroid Build Coastguard Worker - improved protection against side channel attacks 110*03f9172cSAndroid Build Coastguard Worker [https://w1.fi/security/2019-6/] 111*03f9172cSAndroid Build Coastguard Worker * EAP-pwd changes 112*03f9172cSAndroid Build Coastguard Worker - disable use of groups using Brainpool curves 113*03f9172cSAndroid Build Coastguard Worker - allow the set of groups to be configured (eap_pwd_groups) 114*03f9172cSAndroid Build Coastguard Worker - improved protection against side channel attacks 115*03f9172cSAndroid Build Coastguard Worker [https://w1.fi/security/2019-6/] 116*03f9172cSAndroid Build Coastguard Worker * fixed FT-EAP initial mobility domain association using PMKSA caching 117*03f9172cSAndroid Build Coastguard Worker (disabled by default for backwards compatibility; can be enabled 118*03f9172cSAndroid Build Coastguard Worker with ft_eap_pmksa_caching=1) 119*03f9172cSAndroid Build Coastguard Worker * fixed a regression in OpenSSL 1.1+ engine loading 120*03f9172cSAndroid Build Coastguard Worker * added validation of RSNE in (Re)Association Response frames 121*03f9172cSAndroid Build Coastguard Worker * fixed DPP bootstrapping URI parser of channel list 122*03f9172cSAndroid Build Coastguard Worker * extended EAP-SIM/AKA fast re-authentication to allow use with FILS 123*03f9172cSAndroid Build Coastguard Worker * extended ca_cert_blob to support PEM format 124*03f9172cSAndroid Build Coastguard Worker * improved robustness of P2P Action frame scheduling 125*03f9172cSAndroid Build Coastguard Worker * added support for EAP-SIM/AKA using anonymous@realm identity 126*03f9172cSAndroid Build Coastguard Worker * fixed Hotspot 2.0 credential selection based on roaming consortium 127*03f9172cSAndroid Build Coastguard Worker to ignore credentials without a specific EAP method 128*03f9172cSAndroid Build Coastguard Worker * added experimental support for EAP-TEAP peer (RFC 7170) 129*03f9172cSAndroid Build Coastguard Worker * added experimental support for EAP-TLS peer with TLS v1.3 130*03f9172cSAndroid Build Coastguard Worker * fixed a regression in WMM parameter configuration for a TDLS peer 131*03f9172cSAndroid Build Coastguard Worker * fixed a regression in operation with drivers that offload 802.1X 132*03f9172cSAndroid Build Coastguard Worker 4-way handshake 133*03f9172cSAndroid Build Coastguard Worker * fixed an ECDH operation corner case with OpenSSL 134*03f9172cSAndroid Build Coastguard Worker 135*03f9172cSAndroid Build Coastguard Worker2019-04-21 - v2.8 136*03f9172cSAndroid Build Coastguard Worker * SAE changes 137*03f9172cSAndroid Build Coastguard Worker - added support for SAE Password Identifier 138*03f9172cSAndroid Build Coastguard Worker - changed default configuration to enable only groups 19, 20, 21 139*03f9172cSAndroid Build Coastguard Worker (i.e., disable groups 25 and 26) and disable all unsuitable groups 140*03f9172cSAndroid Build Coastguard Worker completely based on REVmd changes 141*03f9172cSAndroid Build Coastguard Worker - do not regenerate PWE unnecessarily when the AP uses the 142*03f9172cSAndroid Build Coastguard Worker anti-clogging token mechanisms 143*03f9172cSAndroid Build Coastguard Worker - fixed some association cases where both SAE and FT-SAE were enabled 144*03f9172cSAndroid Build Coastguard Worker on both the station and the selected AP 145*03f9172cSAndroid Build Coastguard Worker - started to prefer FT-SAE over SAE AKM if both are enabled 146*03f9172cSAndroid Build Coastguard Worker - started to prefer FT-SAE over FT-PSK if both are enabled 147*03f9172cSAndroid Build Coastguard Worker - fixed FT-SAE when SAE PMKSA caching is used 148*03f9172cSAndroid Build Coastguard Worker - reject use of unsuitable groups based on new implementation guidance 149*03f9172cSAndroid Build Coastguard Worker in REVmd (allow only FFC groups with prime >= 3072 bits and ECC 150*03f9172cSAndroid Build Coastguard Worker groups with prime >= 256) 151*03f9172cSAndroid Build Coastguard Worker - minimize timing and memory use differences in PWE derivation 152*03f9172cSAndroid Build Coastguard Worker [https://w1.fi/security/2019-1/] (CVE-2019-9494) 153*03f9172cSAndroid Build Coastguard Worker * EAP-pwd changes 154*03f9172cSAndroid Build Coastguard Worker - minimize timing and memory use differences in PWE derivation 155*03f9172cSAndroid Build Coastguard Worker [https://w1.fi/security/2019-2/] (CVE-2019-9495) 156*03f9172cSAndroid Build Coastguard Worker - verify server scalar/element 157*03f9172cSAndroid Build Coastguard Worker [https://w1.fi/security/2019-4/] (CVE-2019-9499) 158*03f9172cSAndroid Build Coastguard Worker - fix message reassembly issue with unexpected fragment 159*03f9172cSAndroid Build Coastguard Worker [https://w1.fi/security/2019-5/] 160*03f9172cSAndroid Build Coastguard Worker - enforce rand,mask generation rules more strictly 161*03f9172cSAndroid Build Coastguard Worker - fix a memory leak in PWE derivation 162*03f9172cSAndroid Build Coastguard Worker - disallow ECC groups with a prime under 256 bits (groups 25, 26, and 163*03f9172cSAndroid Build Coastguard Worker 27) 164*03f9172cSAndroid Build Coastguard Worker * fixed CONFIG_IEEE80211R=y (FT) build without CONFIG_FILS=y 165*03f9172cSAndroid Build Coastguard Worker * Hotspot 2.0 changes 166*03f9172cSAndroid Build Coastguard Worker - do not indicate release number that is higher than the one 167*03f9172cSAndroid Build Coastguard Worker AP supports 168*03f9172cSAndroid Build Coastguard Worker - added support for release number 3 169*03f9172cSAndroid Build Coastguard Worker - enable PMF automatically for network profiles created from 170*03f9172cSAndroid Build Coastguard Worker credentials 171*03f9172cSAndroid Build Coastguard Worker * fixed OWE network profile saving 172*03f9172cSAndroid Build Coastguard Worker * fixed DPP network profile saving 173*03f9172cSAndroid Build Coastguard Worker * added support for RSN operating channel validation 174*03f9172cSAndroid Build Coastguard Worker (CONFIG_OCV=y and network profile parameter ocv=1) 175*03f9172cSAndroid Build Coastguard Worker * added Multi-AP backhaul STA support 176*03f9172cSAndroid Build Coastguard Worker * fixed build with LibreSSL 177*03f9172cSAndroid Build Coastguard Worker * number of MKA/MACsec fixes and extensions 178*03f9172cSAndroid Build Coastguard Worker * extended domain_match and domain_suffix_match to allow list of values 179*03f9172cSAndroid Build Coastguard Worker * fixed dNSName matching in domain_match and domain_suffix_match when 180*03f9172cSAndroid Build Coastguard Worker using wolfSSL 181*03f9172cSAndroid Build Coastguard Worker * started to prefer FT-EAP-SHA384 over WPA-EAP-SUITE-B-192 AKM if both 182*03f9172cSAndroid Build Coastguard Worker are enabled 183*03f9172cSAndroid Build Coastguard Worker * extended nl80211 Connect and external authentication to support 184*03f9172cSAndroid Build Coastguard Worker SAE, FT-SAE, FT-EAP-SHA384 185*03f9172cSAndroid Build Coastguard Worker * fixed KEK2 derivation for FILS+FT 186*03f9172cSAndroid Build Coastguard Worker * extended client_cert file to allow loading of a chain of PEM 187*03f9172cSAndroid Build Coastguard Worker encoded certificates 188*03f9172cSAndroid Build Coastguard Worker * extended beacon reporting functionality 189*03f9172cSAndroid Build Coastguard Worker * extended D-Bus interface with number of new properties 190*03f9172cSAndroid Build Coastguard Worker * fixed a regression in FT-over-DS with mac80211-based drivers 191*03f9172cSAndroid Build Coastguard Worker * OpenSSL: allow systemwide policies to be overridden 192*03f9172cSAndroid Build Coastguard Worker * extended driver flags indication for separate 802.1X and PSK 193*03f9172cSAndroid Build Coastguard Worker 4-way handshake offload capability 194*03f9172cSAndroid Build Coastguard Worker * added support for random P2P Device/Interface Address use 195*03f9172cSAndroid Build Coastguard Worker * extended PEAP to derive EMSK to enable use with ERP/FILS 196*03f9172cSAndroid Build Coastguard Worker * extended WPS to allow SAE configuration to be added automatically 197*03f9172cSAndroid Build Coastguard Worker for PSK (wps_cred_add_sae=1) 198*03f9172cSAndroid Build Coastguard Worker * removed support for the old D-Bus interface (CONFIG_CTRL_IFACE_DBUS) 199*03f9172cSAndroid Build Coastguard Worker * extended domain_match and domain_suffix_match to allow list of values 200*03f9172cSAndroid Build Coastguard Worker * added a RSN workaround for misbehaving PMF APs that advertise 201*03f9172cSAndroid Build Coastguard Worker IGTK/BIP KeyID using incorrect byte order 202*03f9172cSAndroid Build Coastguard Worker * fixed PTK rekeying with FILS and FT 203*03f9172cSAndroid Build Coastguard Worker 204*03f9172cSAndroid Build Coastguard Worker2018-12-02 - v2.7 205*03f9172cSAndroid Build Coastguard Worker * fixed WPA packet number reuse with replayed messages and key 206*03f9172cSAndroid Build Coastguard Worker reinstallation 207*03f9172cSAndroid Build Coastguard Worker [https://w1.fi/security/2017-1/] (CVE-2017-13077, CVE-2017-13078, 208*03f9172cSAndroid Build Coastguard Worker CVE-2017-13079, CVE-2017-13080, CVE-2017-13081, CVE-2017-13082, 209*03f9172cSAndroid Build Coastguard Worker CVE-2017-13086, CVE-2017-13087, CVE-2017-13088) 210*03f9172cSAndroid Build Coastguard Worker * fixed unauthenticated EAPOL-Key decryption in wpa_supplicant 211*03f9172cSAndroid Build Coastguard Worker [https://w1.fi/security/2018-1/] (CVE-2018-14526) 212*03f9172cSAndroid Build Coastguard Worker * added support for FILS (IEEE 802.11ai) shared key authentication 213*03f9172cSAndroid Build Coastguard Worker * added support for OWE (Opportunistic Wireless Encryption, RFC 8110; 214*03f9172cSAndroid Build Coastguard Worker and transition mode defined by WFA) 215*03f9172cSAndroid Build Coastguard Worker * added support for DPP (Wi-Fi Device Provisioning Protocol) 216*03f9172cSAndroid Build Coastguard Worker * added support for RSA 3k key case with Suite B 192-bit level 217*03f9172cSAndroid Build Coastguard Worker * fixed Suite B PMKSA caching not to update PMKID during each 4-way 218*03f9172cSAndroid Build Coastguard Worker handshake 219*03f9172cSAndroid Build Coastguard Worker * fixed EAP-pwd pre-processing with PasswordHashHash 220*03f9172cSAndroid Build Coastguard Worker * added EAP-pwd client support for salted passwords 221*03f9172cSAndroid Build Coastguard Worker * fixed a regression in TDLS prohibited bit validation 222*03f9172cSAndroid Build Coastguard Worker * started to use estimated throughput to avoid undesired signal 223*03f9172cSAndroid Build Coastguard Worker strength based roaming decision 224*03f9172cSAndroid Build Coastguard Worker * MACsec/MKA: 225*03f9172cSAndroid Build Coastguard Worker - new macsec_linux driver interface support for the Linux 226*03f9172cSAndroid Build Coastguard Worker kernel macsec module 227*03f9172cSAndroid Build Coastguard Worker - number of fixes and extensions 228*03f9172cSAndroid Build Coastguard Worker * added support for external persistent storage of PMKSA cache 229*03f9172cSAndroid Build Coastguard Worker (PMKSA_GET/PMKSA_ADD control interface commands; and 230*03f9172cSAndroid Build Coastguard Worker MESH_PMKSA_GET/MESH_PMKSA_SET for the mesh case) 231*03f9172cSAndroid Build Coastguard Worker * fixed mesh channel configuration pri/sec switch case 232*03f9172cSAndroid Build Coastguard Worker * added support for beacon report 233*03f9172cSAndroid Build Coastguard Worker * large number of other fixes, cleanup, and extensions 234*03f9172cSAndroid Build Coastguard Worker * added support for randomizing local address for GAS queries 235*03f9172cSAndroid Build Coastguard Worker (gas_rand_mac_addr parameter) 236*03f9172cSAndroid Build Coastguard Worker * fixed EAP-SIM/AKA/AKA' ext auth cases within TLS tunnel 237*03f9172cSAndroid Build Coastguard Worker * added option for using random WPS UUID (auto_uuid=1) 238*03f9172cSAndroid Build Coastguard Worker * added SHA256-hash support for OCSP certificate matching 239*03f9172cSAndroid Build Coastguard Worker * fixed EAP-AKA' to add AT_KDF into Synchronization-Failure 240*03f9172cSAndroid Build Coastguard Worker * fixed a regression in RSN pre-authentication candidate selection 241*03f9172cSAndroid Build Coastguard Worker * added option to configure allowed group management cipher suites 242*03f9172cSAndroid Build Coastguard Worker (group_mgmt network profile parameter) 243*03f9172cSAndroid Build Coastguard Worker * removed all PeerKey functionality 244*03f9172cSAndroid Build Coastguard Worker * fixed nl80211 AP and mesh mode configuration regression with 245*03f9172cSAndroid Build Coastguard Worker Linux 4.15 and newer 246*03f9172cSAndroid Build Coastguard Worker * added ap_isolate configuration option for AP mode 247*03f9172cSAndroid Build Coastguard Worker * added support for nl80211 to offload 4-way handshake into the driver 248*03f9172cSAndroid Build Coastguard Worker * added support for using wolfSSL cryptographic library 249*03f9172cSAndroid Build Coastguard Worker * SAE 250*03f9172cSAndroid Build Coastguard Worker - added support for configuring SAE password separately of the 251*03f9172cSAndroid Build Coastguard Worker WPA2 PSK/passphrase 252*03f9172cSAndroid Build Coastguard Worker - fixed PTK and EAPOL-Key integrity and key-wrap algorithm selection 253*03f9172cSAndroid Build Coastguard Worker for SAE; 254*03f9172cSAndroid Build Coastguard Worker note: this is not backwards compatible, i.e., both the AP and 255*03f9172cSAndroid Build Coastguard Worker station side implementations will need to be update at the same 256*03f9172cSAndroid Build Coastguard Worker time to maintain interoperability 257*03f9172cSAndroid Build Coastguard Worker - added support for Password Identifier 258*03f9172cSAndroid Build Coastguard Worker - fixed FT-SAE PMKID matching 259*03f9172cSAndroid Build Coastguard Worker * Hotspot 2.0 260*03f9172cSAndroid Build Coastguard Worker - added support for fetching of Operator Icon Metadata ANQP-element 261*03f9172cSAndroid Build Coastguard Worker - added support for Roaming Consortium Selection element 262*03f9172cSAndroid Build Coastguard Worker - added support for Terms and Conditions 263*03f9172cSAndroid Build Coastguard Worker - added support for OSEN connection in a shared RSN BSS 264*03f9172cSAndroid Build Coastguard Worker - added support for fetching Venue URL information 265*03f9172cSAndroid Build Coastguard Worker * added support for using OpenSSL 1.1.1 266*03f9172cSAndroid Build Coastguard Worker * FT 267*03f9172cSAndroid Build Coastguard Worker - disabled PMKSA caching with FT since it is not fully functional 268*03f9172cSAndroid Build Coastguard Worker - added support for SHA384 based AKM 269*03f9172cSAndroid Build Coastguard Worker - added support for BIP ciphers BIP-CMAC-256, BIP-GMAC-128, 270*03f9172cSAndroid Build Coastguard Worker BIP-GMAC-256 in addition to previously supported BIP-CMAC-128 271*03f9172cSAndroid Build Coastguard Worker - fixed additional IE inclusion in Reassociation Request frame when 272*03f9172cSAndroid Build Coastguard Worker using FT protocol 273*03f9172cSAndroid Build Coastguard Worker 274*03f9172cSAndroid Build Coastguard Worker2016-10-02 - v2.6 275*03f9172cSAndroid Build Coastguard Worker * fixed WNM Sleep Mode processing when PMF is not enabled 276*03f9172cSAndroid Build Coastguard Worker [http://w1.fi/security/2015-6/] (CVE-2015-5310) 277*03f9172cSAndroid Build Coastguard Worker * fixed EAP-pwd last fragment validation 278*03f9172cSAndroid Build Coastguard Worker [http://w1.fi/security/2015-7/] (CVE-2015-5315) 279*03f9172cSAndroid Build Coastguard Worker * fixed EAP-pwd unexpected Confirm message processing 280*03f9172cSAndroid Build Coastguard Worker [http://w1.fi/security/2015-8/] (CVE-2015-5316) 281*03f9172cSAndroid Build Coastguard Worker * fixed WPS configuration update vulnerability with malformed passphrase 282*03f9172cSAndroid Build Coastguard Worker [http://w1.fi/security/2016-1/] (CVE-2016-4476) 283*03f9172cSAndroid Build Coastguard Worker * fixed configuration update vulnerability with malformed parameters set 284*03f9172cSAndroid Build Coastguard Worker over the local control interface 285*03f9172cSAndroid Build Coastguard Worker [http://w1.fi/security/2016-1/] (CVE-2016-4477) 286*03f9172cSAndroid Build Coastguard Worker * fixed TK configuration to the driver in EAPOL-Key 3/4 retry case 287*03f9172cSAndroid Build Coastguard Worker * extended channel switch support for P2P GO 288*03f9172cSAndroid Build Coastguard Worker * started to throttle control interface event message bursts to avoid 289*03f9172cSAndroid Build Coastguard Worker issues with monitor sockets running out of buffer space 290*03f9172cSAndroid Build Coastguard Worker * mesh mode fixes/improvements 291*03f9172cSAndroid Build Coastguard Worker - generate proper AID for peer 292*03f9172cSAndroid Build Coastguard Worker - enable WMM by default 293*03f9172cSAndroid Build Coastguard Worker - add VHT support 294*03f9172cSAndroid Build Coastguard Worker - fix PMKID derivation 295*03f9172cSAndroid Build Coastguard Worker - improve robustness on various exchanges 296*03f9172cSAndroid Build Coastguard Worker - fix peer link counting in reconnect case 297*03f9172cSAndroid Build Coastguard Worker - improve mesh joining behavior 298*03f9172cSAndroid Build Coastguard Worker - allow DTIM period to be configured 299*03f9172cSAndroid Build Coastguard Worker - allow HT to be disabled (disable_ht=1) 300*03f9172cSAndroid Build Coastguard Worker - add MESH_PEER_ADD and MESH_PEER_REMOVE commands 301*03f9172cSAndroid Build Coastguard Worker - add support for PMKSA caching 302*03f9172cSAndroid Build Coastguard Worker - add minimal support for SAE group negotiation 303*03f9172cSAndroid Build Coastguard Worker - allow pairwise/group cipher to be configured in the network profile 304*03f9172cSAndroid Build Coastguard Worker - use ieee80211w profile parameter to enable/disable PMF and derive 305*03f9172cSAndroid Build Coastguard Worker a separate TX IGTK if PMF is enabled instead of using MGTK 306*03f9172cSAndroid Build Coastguard Worker incorrectly 307*03f9172cSAndroid Build Coastguard Worker - fix AEK and MTK derivation 308*03f9172cSAndroid Build Coastguard Worker - remove GTKdata and IGTKdata from Mesh Peering Confirm/Close 309*03f9172cSAndroid Build Coastguard Worker - note: these changes are not fully backwards compatible for secure 310*03f9172cSAndroid Build Coastguard Worker (RSN) mesh network 311*03f9172cSAndroid Build Coastguard Worker * fixed PMKID derivation with SAE 312*03f9172cSAndroid Build Coastguard Worker * added support for requesting and fetching arbitrary ANQP-elements 313*03f9172cSAndroid Build Coastguard Worker without internal support in wpa_supplicant for the specific element 314*03f9172cSAndroid Build Coastguard Worker (anqp[265]=<hexdump> in "BSS <BSSID>" command output) 315*03f9172cSAndroid Build Coastguard Worker * P2P 316*03f9172cSAndroid Build Coastguard Worker - filter control characters in group client device names to be 317*03f9172cSAndroid Build Coastguard Worker consistent with other P2P peer cases 318*03f9172cSAndroid Build Coastguard Worker - support VHT 80+80 MHz and 160 MHz 319*03f9172cSAndroid Build Coastguard Worker - indicate group completion in P2P Client role after data association 320*03f9172cSAndroid Build Coastguard Worker instead of already after the WPS provisioning step 321*03f9172cSAndroid Build Coastguard Worker - improve group-join operation to use SSID, if known, to filter BSS 322*03f9172cSAndroid Build Coastguard Worker entries 323*03f9172cSAndroid Build Coastguard Worker - added optional ssid=<hexdump> argument to P2P_CONNECT for join case 324*03f9172cSAndroid Build Coastguard Worker - added P2P_GROUP_MEMBER command to fetch client interface address 325*03f9172cSAndroid Build Coastguard Worker * P2PS 326*03f9172cSAndroid Build Coastguard Worker - fix follow-on PD Response behavior 327*03f9172cSAndroid Build Coastguard Worker - fix PD Response generation for unknown peer 328*03f9172cSAndroid Build Coastguard Worker - fix persistent group reporting 329*03f9172cSAndroid Build Coastguard Worker - add channel policy to PD Request 330*03f9172cSAndroid Build Coastguard Worker - add group SSID to the P2PS-PROV-DONE event 331*03f9172cSAndroid Build Coastguard Worker - allow "P2P_CONNECT <addr> p2ps" to be used without specifying the 332*03f9172cSAndroid Build Coastguard Worker default PIN 333*03f9172cSAndroid Build Coastguard Worker * BoringSSL 334*03f9172cSAndroid Build Coastguard Worker - support for OCSP stapling 335*03f9172cSAndroid Build Coastguard Worker - support building of h20-osu-client 336*03f9172cSAndroid Build Coastguard Worker * D-Bus 337*03f9172cSAndroid Build Coastguard Worker - add ExpectDisconnect() 338*03f9172cSAndroid Build Coastguard Worker - add global config parameters as properties 339*03f9172cSAndroid Build Coastguard Worker - add SaveConfig() 340*03f9172cSAndroid Build Coastguard Worker - add VendorElemAdd(), VendorElemGet(), VendorElemRem() 341*03f9172cSAndroid Build Coastguard Worker * fixed Suite B 192-bit AKM to use proper PMK length 342*03f9172cSAndroid Build Coastguard Worker (note: this makes old releases incompatible with the fixed behavior) 343*03f9172cSAndroid Build Coastguard Worker * improved PMF behavior for cases where the AP and STA has different 344*03f9172cSAndroid Build Coastguard Worker configuration by not trying to connect in some corner cases where the 345*03f9172cSAndroid Build Coastguard Worker connection cannot succeed 346*03f9172cSAndroid Build Coastguard Worker * added option to reopen debug log (e.g., to rotate the file) upon 347*03f9172cSAndroid Build Coastguard Worker receipt of SIGHUP signal 348*03f9172cSAndroid Build Coastguard Worker * EAP-pwd: added support for Brainpool Elliptic Curves 349*03f9172cSAndroid Build Coastguard Worker (with OpenSSL 1.0.2 and newer) 350*03f9172cSAndroid Build Coastguard Worker * fixed EAPOL reauthentication after FT protocol run 351*03f9172cSAndroid Build Coastguard Worker * fixed FTIE generation for 4-way handshake after FT protocol run 352*03f9172cSAndroid Build Coastguard Worker * extended INTERFACE_ADD command to allow certain type (sta/ap) 353*03f9172cSAndroid Build Coastguard Worker interface to be created 354*03f9172cSAndroid Build Coastguard Worker * fixed and improved various FST operations 355*03f9172cSAndroid Build Coastguard Worker * added 80+80 MHz and 160 MHz VHT support for IBSS/mesh 356*03f9172cSAndroid Build Coastguard Worker * fixed SIGNAL_POLL in IBSS and mesh cases 357*03f9172cSAndroid Build Coastguard Worker * added an option to abort an ongoing scan (used to speed up connection 358*03f9172cSAndroid Build Coastguard Worker and can also be done with the new ABORT_SCAN command) 359*03f9172cSAndroid Build Coastguard Worker * TLS client 360*03f9172cSAndroid Build Coastguard Worker - do not verify CA certificates when ca_cert is not specified 361*03f9172cSAndroid Build Coastguard Worker - support validating server certificate hash 362*03f9172cSAndroid Build Coastguard Worker - support SHA384 and SHA512 hashes 363*03f9172cSAndroid Build Coastguard Worker - add signature_algorithms extension into ClientHello 364*03f9172cSAndroid Build Coastguard Worker - support TLS v1.2 signature algorithm with SHA384 and SHA512 365*03f9172cSAndroid Build Coastguard Worker - support server certificate probing 366*03f9172cSAndroid Build Coastguard Worker - allow specific TLS versions to be disabled with phase2 parameter 367*03f9172cSAndroid Build Coastguard Worker - support extKeyUsage 368*03f9172cSAndroid Build Coastguard Worker - support PKCS #5 v2.0 PBES2 369*03f9172cSAndroid Build Coastguard Worker - support PKCS #5 with PKCS #12 style key decryption 370*03f9172cSAndroid Build Coastguard Worker - minimal support for PKCS #12 371*03f9172cSAndroid Build Coastguard Worker - support OCSP stapling (including ocsp_multi) 372*03f9172cSAndroid Build Coastguard Worker * OpenSSL 373*03f9172cSAndroid Build Coastguard Worker - support OpenSSL 1.1 API changes 374*03f9172cSAndroid Build Coastguard Worker - drop support for OpenSSL 0.9.8 375*03f9172cSAndroid Build Coastguard Worker - drop support for OpenSSL 1.0.0 376*03f9172cSAndroid Build Coastguard Worker * added support for multiple schedule scan plans (sched_scan_plans) 377*03f9172cSAndroid Build Coastguard Worker * added support for external server certificate chain validation 378*03f9172cSAndroid Build Coastguard Worker (tls_ext_cert_check=1 in the network profile phase1 parameter) 379*03f9172cSAndroid Build Coastguard Worker * made phase2 parser more strict about correct use of auth=<val> and 380*03f9172cSAndroid Build Coastguard Worker autheap=<val> values 381*03f9172cSAndroid Build Coastguard Worker * improved GAS offchannel operations with comeback request 382*03f9172cSAndroid Build Coastguard Worker * added SIGNAL_MONITOR command to request signal strength monitoring 383*03f9172cSAndroid Build Coastguard Worker events 384*03f9172cSAndroid Build Coastguard Worker * added command for retrieving HS 2.0 icons with in-memory storage 385*03f9172cSAndroid Build Coastguard Worker (REQ_HS20_ICON, GET_HS20_ICON, DEL_HS20_ICON commands and 386*03f9172cSAndroid Build Coastguard Worker RX-HS20-ICON event) 387*03f9172cSAndroid Build Coastguard Worker * enabled ACS support for AP mode operations with wpa_supplicant 388*03f9172cSAndroid Build Coastguard Worker * EAP-PEAP: fixed interoperability issue with Windows 2012r2 server 389*03f9172cSAndroid Build Coastguard Worker ("Invalid Compound_MAC in cryptobinding TLV") 390*03f9172cSAndroid Build Coastguard Worker * EAP-TTLS: fixed success after fragmented final Phase 2 message 391*03f9172cSAndroid Build Coastguard Worker * VHT: added interoperability workaround for 80+80 and 160 MHz channels 392*03f9172cSAndroid Build Coastguard Worker * WNM: workaround for broken AP operating class behavior 393*03f9172cSAndroid Build Coastguard Worker * added kqueue(2) support for eloop (CONFIG_ELOOP_KQUEUE) 394*03f9172cSAndroid Build Coastguard Worker * nl80211: 395*03f9172cSAndroid Build Coastguard Worker - add support for full station state operations 396*03f9172cSAndroid Build Coastguard Worker - do not add NL80211_ATTR_SMPS_MODE attribute if HT is disabled 397*03f9172cSAndroid Build Coastguard Worker - add NL80211_ATTR_PREV_BSSID with Connect command 398*03f9172cSAndroid Build Coastguard Worker - fix IEEE 802.1X/WEP EAP reauthentication and rekeying to use 399*03f9172cSAndroid Build Coastguard Worker unencrypted EAPOL frames 400*03f9172cSAndroid Build Coastguard Worker * added initial MBO support; number of extensions to WNM BSS Transition 401*03f9172cSAndroid Build Coastguard Worker Management 402*03f9172cSAndroid Build Coastguard Worker * added support for PBSS/PCP and P2P on 60 GHz 403*03f9172cSAndroid Build Coastguard Worker * Interworking: add credential realm to EAP-TLS identity 404*03f9172cSAndroid Build Coastguard Worker * fixed EAPOL-Key Request Secure bit to be 1 if PTK is set 405*03f9172cSAndroid Build Coastguard Worker * HS 2.0: add support for configuring frame filters 406*03f9172cSAndroid Build Coastguard Worker * added POLL_STA command to check connectivity in AP mode 407*03f9172cSAndroid Build Coastguard Worker * added initial functionality for location related operations 408*03f9172cSAndroid Build Coastguard Worker * started to ignore pmf=1/2 parameter for non-RSN networks 409*03f9172cSAndroid Build Coastguard Worker * added wps_disabled=1 network profile parameter to allow AP mode to 410*03f9172cSAndroid Build Coastguard Worker be started without enabling WPS 411*03f9172cSAndroid Build Coastguard Worker * wpa_cli: added action script support for AP-ENABLED and AP-DISABLED 412*03f9172cSAndroid Build Coastguard Worker events 413*03f9172cSAndroid Build Coastguard Worker * improved Public Action frame addressing 414*03f9172cSAndroid Build Coastguard Worker - add gas_address3 configuration parameter to control Address 3 415*03f9172cSAndroid Build Coastguard Worker behavior 416*03f9172cSAndroid Build Coastguard Worker * number of small fixes 417*03f9172cSAndroid Build Coastguard Worker 418*03f9172cSAndroid Build Coastguard Worker2015-09-27 - v2.5 419*03f9172cSAndroid Build Coastguard Worker * fixed P2P validation of SSID element length before copying it 420*03f9172cSAndroid Build Coastguard Worker [http://w1.fi/security/2015-1/] (CVE-2015-1863) 421*03f9172cSAndroid Build Coastguard Worker * fixed WPS UPnP vulnerability with HTTP chunked transfer encoding 422*03f9172cSAndroid Build Coastguard Worker [http://w1.fi/security/2015-2/] (CVE-2015-4141) 423*03f9172cSAndroid Build Coastguard Worker * fixed WMM Action frame parser (AP mode) 424*03f9172cSAndroid Build Coastguard Worker [http://w1.fi/security/2015-3/] (CVE-2015-4142) 425*03f9172cSAndroid Build Coastguard Worker * fixed EAP-pwd peer missing payload length validation 426*03f9172cSAndroid Build Coastguard Worker [http://w1.fi/security/2015-4/] 427*03f9172cSAndroid Build Coastguard Worker (CVE-2015-4143, CVE-2015-4144, CVE-2015-4145, CVE-2015-4146) 428*03f9172cSAndroid Build Coastguard Worker * fixed validation of WPS and P2P NFC NDEF record payload length 429*03f9172cSAndroid Build Coastguard Worker [http://w1.fi/security/2015-5/] 430*03f9172cSAndroid Build Coastguard Worker * nl80211: 431*03f9172cSAndroid Build Coastguard Worker - added VHT configuration for IBSS 432*03f9172cSAndroid Build Coastguard Worker - fixed vendor command handling to check OUI properly 433*03f9172cSAndroid Build Coastguard Worker - allow driver-based roaming to change ESS 434*03f9172cSAndroid Build Coastguard Worker * added AVG_BEACON_RSSI to SIGNAL_POLL output 435*03f9172cSAndroid Build Coastguard Worker * wpa_cli: added tab completion for number of commands 436*03f9172cSAndroid Build Coastguard Worker * removed unmaintained and not yet completed SChannel/CryptoAPI support 437*03f9172cSAndroid Build Coastguard Worker * modified Extended Capabilities element use in Probe Request frames to 438*03f9172cSAndroid Build Coastguard Worker include all cases if any of the values are non-zero 439*03f9172cSAndroid Build Coastguard Worker * added support for dynamically creating/removing a virtual interface 440*03f9172cSAndroid Build Coastguard Worker with interface_add/interface_remove 441*03f9172cSAndroid Build Coastguard Worker * added support for hashed password (NtHash) in EAP-pwd peer 442*03f9172cSAndroid Build Coastguard Worker * added support for memory-only PSK/passphrase (mem_only_psk=1 and 443*03f9172cSAndroid Build Coastguard Worker CTRL-REQ/RSP-PSK_PASSPHRASE) 444*03f9172cSAndroid Build Coastguard Worker * P2P 445*03f9172cSAndroid Build Coastguard Worker - optimize scan frequencies list when re-joining a persistent group 446*03f9172cSAndroid Build Coastguard Worker - fixed number of sequences with nl80211 P2P Device interface 447*03f9172cSAndroid Build Coastguard Worker - added operating class 125 for P2P use cases (this allows 5 GHz 448*03f9172cSAndroid Build Coastguard Worker channels 161 and 169 to be used if they are enabled in the current 449*03f9172cSAndroid Build Coastguard Worker regulatory domain) 450*03f9172cSAndroid Build Coastguard Worker - number of fixes to P2PS functionality 451*03f9172cSAndroid Build Coastguard Worker - do not allow 40 MHz co-ex PRI/SEC switch to force MCC 452*03f9172cSAndroid Build Coastguard Worker - extended support for preferred channel listing 453*03f9172cSAndroid Build Coastguard Worker * D-Bus: 454*03f9172cSAndroid Build Coastguard Worker - fixed WPS property of fi.w1.wpa_supplicant1.BSS interface 455*03f9172cSAndroid Build Coastguard Worker - fixed PresenceRequest to use group interface 456*03f9172cSAndroid Build Coastguard Worker - added new signals: FindStopped, WPS pbc-overlap, 457*03f9172cSAndroid Build Coastguard Worker GroupFormationFailure, WPS timeout, InvitationReceived 458*03f9172cSAndroid Build Coastguard Worker - added new methods: WPS Cancel, P2P Cancel, Reconnect, RemoveClient 459*03f9172cSAndroid Build Coastguard Worker - added manufacturer info 460*03f9172cSAndroid Build Coastguard Worker * added EAP-EKE peer support for deriving Session-Id 461*03f9172cSAndroid Build Coastguard Worker * added wps_priority configuration parameter to set the default priority 462*03f9172cSAndroid Build Coastguard Worker for all network profiles added by WPS 463*03f9172cSAndroid Build Coastguard Worker * added support to request a scan with specific SSIDs with the SCAN 464*03f9172cSAndroid Build Coastguard Worker command (optional "ssid <hexdump>" arguments) 465*03f9172cSAndroid Build Coastguard Worker * removed support for WEP40/WEP104 as a group cipher with WPA/WPA2 466*03f9172cSAndroid Build Coastguard Worker * fixed SAE group selection in an error case 467*03f9172cSAndroid Build Coastguard Worker * modified SAE routines to be more robust and PWE generation to be 468*03f9172cSAndroid Build Coastguard Worker stronger against timing attacks 469*03f9172cSAndroid Build Coastguard Worker * added support for Brainpool Elliptic Curves with SAE 470*03f9172cSAndroid Build Coastguard Worker * added support for CCMP-256 and GCMP-256 as group ciphers with FT 471*03f9172cSAndroid Build Coastguard Worker * fixed BSS selection based on estimated throughput 472*03f9172cSAndroid Build Coastguard Worker * added option to disable TLSv1.0 with OpenSSL 473*03f9172cSAndroid Build Coastguard Worker (phase1="tls_disable_tlsv1_0=1") 474*03f9172cSAndroid Build Coastguard Worker * added Fast Session Transfer (FST) module 475*03f9172cSAndroid Build Coastguard Worker * fixed OpenSSL PKCS#12 extra certificate handling 476*03f9172cSAndroid Build Coastguard Worker * fixed key derivation for Suite B 192-bit AKM (this breaks 477*03f9172cSAndroid Build Coastguard Worker compatibility with the earlier version) 478*03f9172cSAndroid Build Coastguard Worker * added RSN IE to Mesh Peering Open/Confirm frames 479*03f9172cSAndroid Build Coastguard Worker * number of small fixes 480*03f9172cSAndroid Build Coastguard Worker 481*03f9172cSAndroid Build Coastguard Worker2015-03-15 - v2.4 482*03f9172cSAndroid Build Coastguard Worker * allow OpenSSL cipher configuration to be set for internal EAP server 483*03f9172cSAndroid Build Coastguard Worker (openssl_ciphers parameter) 484*03f9172cSAndroid Build Coastguard Worker * fixed number of small issues based on hwsim test case failures and 485*03f9172cSAndroid Build Coastguard Worker static analyzer reports 486*03f9172cSAndroid Build Coastguard Worker * P2P: 487*03f9172cSAndroid Build Coastguard Worker - add new=<0/1> flag to P2P-DEVICE-FOUND events 488*03f9172cSAndroid Build Coastguard Worker - add passive channels in invitation response from P2P Client 489*03f9172cSAndroid Build Coastguard Worker - enable nl80211 P2P_DEVICE support by default 490*03f9172cSAndroid Build Coastguard Worker - fix regresssion in disallow_freq preventing search on social 491*03f9172cSAndroid Build Coastguard Worker channels 492*03f9172cSAndroid Build Coastguard Worker - fix regressions in P2P SD query processing 493*03f9172cSAndroid Build Coastguard Worker - try to re-invite with social operating channel if no common channels 494*03f9172cSAndroid Build Coastguard Worker in invitation 495*03f9172cSAndroid Build Coastguard Worker - allow cross connection on parent interface (this fixes number of 496*03f9172cSAndroid Build Coastguard Worker use cases with nl80211) 497*03f9172cSAndroid Build Coastguard Worker - add support for P2P services (P2PS) 498*03f9172cSAndroid Build Coastguard Worker - add p2p_go_ctwindow configuration parameter to allow GO CTWindow to 499*03f9172cSAndroid Build Coastguard Worker be configured 500*03f9172cSAndroid Build Coastguard Worker * increase postponing of EAPOL-Start by one second with AP/GO that 501*03f9172cSAndroid Build Coastguard Worker supports WPS 2.0 (this makes it less likely to trigger extra roundtrip 502*03f9172cSAndroid Build Coastguard Worker of identity frames) 503*03f9172cSAndroid Build Coastguard Worker * add support for PMKSA caching with SAE 504*03f9172cSAndroid Build Coastguard Worker * add support for control mesh BSS (IEEE 802.11s) operations 505*03f9172cSAndroid Build Coastguard Worker * fixed number of issues with D-Bus P2P commands 506*03f9172cSAndroid Build Coastguard Worker * fixed regression in ap_scan=2 special case for WPS 507*03f9172cSAndroid Build Coastguard Worker * fixed macsec_validate configuration 508*03f9172cSAndroid Build Coastguard Worker * add a workaround for incorrectly behaving APs that try to use 509*03f9172cSAndroid Build Coastguard Worker EAPOL-Key descriptor version 3 when the station supports PMF even if 510*03f9172cSAndroid Build Coastguard Worker PMF is not enabled on the AP 511*03f9172cSAndroid Build Coastguard Worker * allow TLS v1.1 and v1.2 to be negotiated by default; previous behavior 512*03f9172cSAndroid Build Coastguard Worker of disabling these can be configured to work around issues with broken 513*03f9172cSAndroid Build Coastguard Worker servers with phase1="tls_disable_tlsv1_1=1 tls_disable_tlsv1_2=1" 514*03f9172cSAndroid Build Coastguard Worker * add support for Suite B (128-bit and 192-bit level) key management and 515*03f9172cSAndroid Build Coastguard Worker cipher suites 516*03f9172cSAndroid Build Coastguard Worker * add WMM-AC support (WMM_AC_ADDTS/WMM_AC_DELTS) 517*03f9172cSAndroid Build Coastguard Worker * improved BSS Transition Management processing 518*03f9172cSAndroid Build Coastguard Worker * add support for neighbor report 519*03f9172cSAndroid Build Coastguard Worker * add support for link measurement 520*03f9172cSAndroid Build Coastguard Worker * fixed expiration of BSS entry with all-zeros BSSID 521*03f9172cSAndroid Build Coastguard Worker * add optional LAST_ID=x argument to LIST_NETWORK to allow all 522*03f9172cSAndroid Build Coastguard Worker configured networks to be listed even with huge number of network 523*03f9172cSAndroid Build Coastguard Worker profiles 524*03f9172cSAndroid Build Coastguard Worker * add support for EAP Re-Authentication Protocol (ERP) 525*03f9172cSAndroid Build Coastguard Worker * fixed EAP-IKEv2 fragmentation reassembly 526*03f9172cSAndroid Build Coastguard Worker * improved PKCS#11 configuration for OpenSSL 527*03f9172cSAndroid Build Coastguard Worker * set stdout to be line-buffered 528*03f9172cSAndroid Build Coastguard Worker * add TDLS channel switch configuration 529*03f9172cSAndroid Build Coastguard Worker * add support for MAC address randomization in scans with nl80211 530*03f9172cSAndroid Build Coastguard Worker * enable HT for IBSS if supported by the driver 531*03f9172cSAndroid Build Coastguard Worker * add BSSID black and white lists (bssid_blacklist, bssid_whitelist) 532*03f9172cSAndroid Build Coastguard Worker * add support for domain_suffix_match with GnuTLS 533*03f9172cSAndroid Build Coastguard Worker * add OCSP stapling client support with GnuTLS 534*03f9172cSAndroid Build Coastguard Worker * include peer certificate in EAP events even without a separate probe 535*03f9172cSAndroid Build Coastguard Worker operation; old behavior can be restored with cert_in_cb=0 536*03f9172cSAndroid Build Coastguard Worker * add peer ceritficate alt subject name to EAP events 537*03f9172cSAndroid Build Coastguard Worker (CTRL-EVENT-EAP-PEER-ALT) 538*03f9172cSAndroid Build Coastguard Worker * add domain_match network profile parameter (similar to 539*03f9172cSAndroid Build Coastguard Worker domain_suffix_match, but full match is required) 540*03f9172cSAndroid Build Coastguard Worker * enable AP/GO mode HT Tx STBC automatically based on driver support 541*03f9172cSAndroid Build Coastguard Worker * add ANQP-QUERY-DONE event to provide information on ANQP parsing 542*03f9172cSAndroid Build Coastguard Worker status 543*03f9172cSAndroid Build Coastguard Worker * allow passive scanning to be forced with passive_scan=1 544*03f9172cSAndroid Build Coastguard Worker * add a workaround for Linux packet socket behavior when interface is in 545*03f9172cSAndroid Build Coastguard Worker bridge 546*03f9172cSAndroid Build Coastguard Worker * increase 5 GHz band preference in BSS selection (estimate SNR, if info 547*03f9172cSAndroid Build Coastguard Worker not available from driver; estimate maximum throughput based on common 548*03f9172cSAndroid Build Coastguard Worker HT/VHT/specific TX rate support) 549*03f9172cSAndroid Build Coastguard Worker * add INTERWORKING_ADD_NETWORK ctrl_iface command; this can be used to 550*03f9172cSAndroid Build Coastguard Worker implement Interworking network selection behavior in upper layers 551*03f9172cSAndroid Build Coastguard Worker software components 552*03f9172cSAndroid Build Coastguard Worker * add optional reassoc_same_bss_optim=1 (disabled by default) 553*03f9172cSAndroid Build Coastguard Worker optimization to avoid unnecessary Authentication frame exchange 554*03f9172cSAndroid Build Coastguard Worker * extend TDLS frame padding workaround to cover all packets 555*03f9172cSAndroid Build Coastguard Worker * allow wpa_supplicant to recover nl80211 functionality if the cfg80211 556*03f9172cSAndroid Build Coastguard Worker module gets removed and reloaded without restarting wpa_supplicant 557*03f9172cSAndroid Build Coastguard Worker * allow hostapd DFS implementation to be used in wpa_supplicant AP mode 558*03f9172cSAndroid Build Coastguard Worker 559*03f9172cSAndroid Build Coastguard Worker2014-10-09 - v2.3 560*03f9172cSAndroid Build Coastguard Worker * fixed number of minor issues identified in static analyzer warnings 561*03f9172cSAndroid Build Coastguard Worker * fixed wfd_dev_info to be more careful and not read beyond the buffer 562*03f9172cSAndroid Build Coastguard Worker when parsing invalid information for P2P-DEVICE-FOUND 563*03f9172cSAndroid Build Coastguard Worker * extended P2P and GAS query operations to support drivers that have 564*03f9172cSAndroid Build Coastguard Worker maximum remain-on-channel time below 1000 ms (500 ms is the current 565*03f9172cSAndroid Build Coastguard Worker minimum supported value) 566*03f9172cSAndroid Build Coastguard Worker * added p2p_search_delay parameter to make the default p2p_find delay 567*03f9172cSAndroid Build Coastguard Worker configurable 568*03f9172cSAndroid Build Coastguard Worker * improved P2P operating channel selection for various multi-channel 569*03f9172cSAndroid Build Coastguard Worker concurrency cases 570*03f9172cSAndroid Build Coastguard Worker * fixed some TDLS failure cases to clean up driver state 571*03f9172cSAndroid Build Coastguard Worker * fixed dynamic interface addition cases with nl80211 to avoid adding 572*03f9172cSAndroid Build Coastguard Worker ifindex values to incorrect interface to skip foreign interface events 573*03f9172cSAndroid Build Coastguard Worker properly 574*03f9172cSAndroid Build Coastguard Worker * added TDLS workaround for some APs that may add extra data to the 575*03f9172cSAndroid Build Coastguard Worker end of a short frame 576*03f9172cSAndroid Build Coastguard Worker * fixed EAP-AKA' message parser with multiple AT_KDF attributes 577*03f9172cSAndroid Build Coastguard Worker * added configuration option (p2p_passphrase_len) to allow longer 578*03f9172cSAndroid Build Coastguard Worker passphrases to be generated for P2P groups 579*03f9172cSAndroid Build Coastguard Worker * fixed IBSS channel configuration in some corner cases 580*03f9172cSAndroid Build Coastguard Worker * improved HT/VHT/QoS parameter setup for TDLS 581*03f9172cSAndroid Build Coastguard Worker * modified D-Bus interface for P2P peers/groups 582*03f9172cSAndroid Build Coastguard Worker * started to use constant time comparison for various password and hash 583*03f9172cSAndroid Build Coastguard Worker values to reduce possibility of any externally measurable timing 584*03f9172cSAndroid Build Coastguard Worker differences 585*03f9172cSAndroid Build Coastguard Worker * extended explicit clearing of freed memory and expired keys to avoid 586*03f9172cSAndroid Build Coastguard Worker keeping private data in memory longer than necessary 587*03f9172cSAndroid Build Coastguard Worker * added optional scan_id parameter to the SCAN command to allow manual 588*03f9172cSAndroid Build Coastguard Worker scan requests for active scans for specific configured SSIDs 589*03f9172cSAndroid Build Coastguard Worker * fixed CTRL-EVENT-REGDOM-CHANGE event init parameter value 590*03f9172cSAndroid Build Coastguard Worker * added option to set Hotspot 2.0 Rel 2 update_identifier in network 591*03f9172cSAndroid Build Coastguard Worker configuration to support external configuration 592*03f9172cSAndroid Build Coastguard Worker * modified Android PNO functionality to send Probe Request frames only 593*03f9172cSAndroid Build Coastguard Worker for hidden SSIDs (based on scan_ssid=1) 594*03f9172cSAndroid Build Coastguard Worker * added generic mechanism for adding vendor elements into frames at 595*03f9172cSAndroid Build Coastguard Worker runtime (VENDOR_ELEM_ADD, VENDOR_ELEM_GET, VENDOR_ELEM_REMOVE) 596*03f9172cSAndroid Build Coastguard Worker * added fields to show unrecognized vendor elements in P2P_PEER 597*03f9172cSAndroid Build Coastguard Worker * removed EAP-TTLS/MSCHAPv2 interoperability workaround so that 598*03f9172cSAndroid Build Coastguard Worker MS-CHAP2-Success is required to be present regardless of 599*03f9172cSAndroid Build Coastguard Worker eap_workaround configuration 600*03f9172cSAndroid Build Coastguard Worker * modified EAP fast session resumption to allow results to be used only 601*03f9172cSAndroid Build Coastguard Worker with the same network block that generated them 602*03f9172cSAndroid Build Coastguard Worker * extended freq_list configuration to apply for sched_scan as well as 603*03f9172cSAndroid Build Coastguard Worker normal scan 604*03f9172cSAndroid Build Coastguard Worker * modified WPS to merge mixed-WPA/WPA2 credentials from a single session 605*03f9172cSAndroid Build Coastguard Worker * fixed nl80211/RTM_DELLINK processing when a P2P GO interface is 606*03f9172cSAndroid Build Coastguard Worker removed from a bridge 607*03f9172cSAndroid Build Coastguard Worker * fixed number of small P2P issues to make negotiations more robust in 608*03f9172cSAndroid Build Coastguard Worker corner cases 609*03f9172cSAndroid Build Coastguard Worker * added experimental support for using temporary, random local MAC 610*03f9172cSAndroid Build Coastguard Worker address (mac_addr and preassoc_mac_addr parameters); this is disabled 611*03f9172cSAndroid Build Coastguard Worker by default (i.e., previous behavior of using permanent address is 612*03f9172cSAndroid Build Coastguard Worker maintained if configuration is not changed) 613*03f9172cSAndroid Build Coastguard Worker * added D-Bus interface for setting/clearing WFD IEs 614*03f9172cSAndroid Build Coastguard Worker * fixed TDLS AID configuration for VHT 615*03f9172cSAndroid Build Coastguard Worker * modified -m<conf> configuration file to be used only for the P2P 616*03f9172cSAndroid Build Coastguard Worker non-netdev management device and do not load this for the default 617*03f9172cSAndroid Build Coastguard Worker station interface or load the station interface configuration for 618*03f9172cSAndroid Build Coastguard Worker the P2P management interface 619*03f9172cSAndroid Build Coastguard Worker * fixed external MAC address changes while wpa_supplicant is running 620*03f9172cSAndroid Build Coastguard Worker * started to enable HT (if supported by the driver) for IBSS 621*03f9172cSAndroid Build Coastguard Worker * fixed wpa_cli action script execution to use more robust mechanism 622*03f9172cSAndroid Build Coastguard Worker (CVE-2014-3686) 623*03f9172cSAndroid Build Coastguard Worker 624*03f9172cSAndroid Build Coastguard Worker2014-06-04 - v2.2 625*03f9172cSAndroid Build Coastguard Worker * added DFS indicator to get_capability freq 626*03f9172cSAndroid Build Coastguard Worker * added/fixed nl80211 functionality 627*03f9172cSAndroid Build Coastguard Worker - BSSID/frequency hint for driver-based BSS selection 628*03f9172cSAndroid Build Coastguard Worker - fix tearing down WDS STA interfaces 629*03f9172cSAndroid Build Coastguard Worker - support vendor specific driver command 630*03f9172cSAndroid Build Coastguard Worker (VENDOR <vendor id> <sub command id> [<hex formatted data>]) 631*03f9172cSAndroid Build Coastguard Worker - GO interface teardown optimization 632*03f9172cSAndroid Build Coastguard Worker - allow beacon interval to be configured for IBSS 633*03f9172cSAndroid Build Coastguard Worker - add SHA256-based AKM suites to CONNECT/ASSOCIATE commands 634*03f9172cSAndroid Build Coastguard Worker * removed unused NFC_RX_HANDOVER_REQ and NFC_RX_HANDOVER_SEL control 635*03f9172cSAndroid Build Coastguard Worker interface commands (the more generic NFC_REPORT_HANDOVER is now used) 636*03f9172cSAndroid Build Coastguard Worker * fixed MSCHAP UTF-8 to UCS-2 conversion for three-byte encoding; 637*03f9172cSAndroid Build Coastguard Worker this fixes password with include UTF-8 characters that use 638*03f9172cSAndroid Build Coastguard Worker three-byte encoding EAP methods that use NtPasswordHash 639*03f9172cSAndroid Build Coastguard Worker * fixed couple of sequences where radio work items could get stuck, 640*03f9172cSAndroid Build Coastguard Worker e.g., when rfkill blocking happens during scanning or when 641*03f9172cSAndroid Build Coastguard Worker scan-for-auth workaround is used 642*03f9172cSAndroid Build Coastguard Worker * P2P enhancements/fixes 643*03f9172cSAndroid Build Coastguard Worker - enable enable U-APSD on GO automatically if the driver indicates 644*03f9172cSAndroid Build Coastguard Worker support for this 645*03f9172cSAndroid Build Coastguard Worker - fixed some service discovery cases with broadcast queries not being 646*03f9172cSAndroid Build Coastguard Worker sent to all stations 647*03f9172cSAndroid Build Coastguard Worker - fixed Probe Request frame triggering invitation to trigger only a 648*03f9172cSAndroid Build Coastguard Worker single invitation instance even if multiple Probe Request frames are 649*03f9172cSAndroid Build Coastguard Worker received 650*03f9172cSAndroid Build Coastguard Worker - fixed a potential NULL pointer dereference crash when processing an 651*03f9172cSAndroid Build Coastguard Worker invalid Invitation Request frame 652*03f9172cSAndroid Build Coastguard Worker - add optional configuration file for the P2P_DEVICE parameters 653*03f9172cSAndroid Build Coastguard Worker - optimize scan for GO during persistent group invocation 654*03f9172cSAndroid Build Coastguard Worker - fix possible segmentation fault when PBC overlap is detected while 655*03f9172cSAndroid Build Coastguard Worker using a separate P2P group interface 656*03f9172cSAndroid Build Coastguard Worker - improve GO Negotiation robustness by allowing GO Negotiation 657*03f9172cSAndroid Build Coastguard Worker Confirmation to be retransmitted 658*03f9172cSAndroid Build Coastguard Worker - do use freed memory on device found event when P2P NFC 659*03f9172cSAndroid Build Coastguard Worker * added phase1 network parameter options for disabling TLS v1.1 and v1.2 660*03f9172cSAndroid Build Coastguard Worker to allow workarounds with misbehaving AAA servers 661*03f9172cSAndroid Build Coastguard Worker (tls_disable_tlsv1_1=1 and tls_disable_tlsv1_2=1) 662*03f9172cSAndroid Build Coastguard Worker * added support for OCSP stapling to validate AAA server certificate 663*03f9172cSAndroid Build Coastguard Worker during TLS exchange 664*03f9172cSAndroid Build Coastguard Worker * Interworking/Hotspot 2.0 enhancements 665*03f9172cSAndroid Build Coastguard Worker - prefer the last added network in Interworking connection to make the 666*03f9172cSAndroid Build Coastguard Worker behavior more consistent with likely user expectation 667*03f9172cSAndroid Build Coastguard Worker - roaming partner configuration (roaming_partner within a cred block) 668*03f9172cSAndroid Build Coastguard Worker - support Hotspot 2.0 Release 2 669*03f9172cSAndroid Build Coastguard Worker * "hs20_anqp_get <BSSID> 8" to request OSU Providers list 670*03f9172cSAndroid Build Coastguard Worker * "hs20_icon_request <BSSID> <icon filename>" to request icon files 671*03f9172cSAndroid Build Coastguard Worker * "fetch_osu" and "cancel_osu_fetch" to start/stop full OSU provider 672*03f9172cSAndroid Build Coastguard Worker search (all suitable APs in scan results) 673*03f9172cSAndroid Build Coastguard Worker * OSEN network for online signup connection 674*03f9172cSAndroid Build Coastguard Worker * min_{dl,ul}_bandwidth_{home,roaming} cred parameters 675*03f9172cSAndroid Build Coastguard Worker * max_bss_load cred parameter 676*03f9172cSAndroid Build Coastguard Worker * req_conn_capab cred parameter 677*03f9172cSAndroid Build Coastguard Worker * sp_priority cred parameter 678*03f9172cSAndroid Build Coastguard Worker * ocsp cred parameter 679*03f9172cSAndroid Build Coastguard Worker * slow down automatic connection attempts on EAP failure to meet 680*03f9172cSAndroid Build Coastguard Worker required behavior (no more than 10 retries within a 10-minute 681*03f9172cSAndroid Build Coastguard Worker interval) 682*03f9172cSAndroid Build Coastguard Worker * sample implementation of online signup client (both SPP and 683*03f9172cSAndroid Build Coastguard Worker OMA-DM protocols) (hs20/client/*) 684*03f9172cSAndroid Build Coastguard Worker - fixed GAS indication for additional comeback delay with status 685*03f9172cSAndroid Build Coastguard Worker code 95 686*03f9172cSAndroid Build Coastguard Worker - extend ANQP_GET to accept Hotspot 2.0 subtypes 687*03f9172cSAndroid Build Coastguard Worker ANQP_GET <addr> <info id>[,<info id>]... 688*03f9172cSAndroid Build Coastguard Worker [,hs20:<subtype>][...,hs20:<subtype>] 689*03f9172cSAndroid Build Coastguard Worker - add control interface events CRED-ADDED <id>, 690*03f9172cSAndroid Build Coastguard Worker CRED-MODIFIED <id> <field>, CRED-REMOVED <id> 691*03f9172cSAndroid Build Coastguard Worker - add "GET_CRED <id> <field>" command 692*03f9172cSAndroid Build Coastguard Worker - enable FT for the connection automatically if the AP advertises 693*03f9172cSAndroid Build Coastguard Worker support for this 694*03f9172cSAndroid Build Coastguard Worker - fix a case where auto_interworking=1 could end up stopping scanning 695*03f9172cSAndroid Build Coastguard Worker * fixed TDLS interoperability issues with supported operating class in 696*03f9172cSAndroid Build Coastguard Worker some deployed stations 697*03f9172cSAndroid Build Coastguard Worker * internal TLS implementation enhancements/fixes 698*03f9172cSAndroid Build Coastguard Worker - add SHA256-based cipher suites 699*03f9172cSAndroid Build Coastguard Worker - add DHE-RSA cipher suites 700*03f9172cSAndroid Build Coastguard Worker - fix X.509 validation of PKCS#1 signature to check for extra data 701*03f9172cSAndroid Build Coastguard Worker * fixed PTK derivation for CCMP-256 and GCMP-256 702*03f9172cSAndroid Build Coastguard Worker * added "reattach" command for fast reassociate-back-to-same-BSS 703*03f9172cSAndroid Build Coastguard Worker * allow PMF to be enabled for AP mode operation with the ieee80211w 704*03f9172cSAndroid Build Coastguard Worker parameter 705*03f9172cSAndroid Build Coastguard Worker * added "get_capability tdls" command 706*03f9172cSAndroid Build Coastguard Worker * added option to set config blobs through control interface with 707*03f9172cSAndroid Build Coastguard Worker "SET blob <name> <hexdump>" 708*03f9172cSAndroid Build Coastguard Worker * D-Bus interface extensions/fixes 709*03f9172cSAndroid Build Coastguard Worker - make p2p_no_group_iface configurable 710*03f9172cSAndroid Build Coastguard Worker - declare ServiceDiscoveryRequest method properly 711*03f9172cSAndroid Build Coastguard Worker - export peer's device address as a property 712*03f9172cSAndroid Build Coastguard Worker - make reassociate command behave like the control interface one, 713*03f9172cSAndroid Build Coastguard Worker i.e., to allow connection from disconnected state 714*03f9172cSAndroid Build Coastguard Worker * added optional "freq=<channel ranges>" parameter to SET pno 715*03f9172cSAndroid Build Coastguard Worker * added optional "freq=<channel ranges>" parameter to SELECT_NETWORK 716*03f9172cSAndroid Build Coastguard Worker * fixed OBSS scan result processing for 20/40 MHz co-ex report 717*03f9172cSAndroid Build Coastguard Worker * remove WPS 1.0 only support, i.e., WSC 2.0 support is now enabled 718*03f9172cSAndroid Build Coastguard Worker whenever CONFIG_WPS=y is set 719*03f9172cSAndroid Build Coastguard Worker * fixed regression in parsing of WNM Sleep Mode exit key data 720*03f9172cSAndroid Build Coastguard Worker * fixed potential segmentation fault and memory leaks in WNM neighbor 721*03f9172cSAndroid Build Coastguard Worker report processing 722*03f9172cSAndroid Build Coastguard Worker * EAP-pwd fixes 723*03f9172cSAndroid Build Coastguard Worker - fragmentation of PWD-Confirm-Resp 724*03f9172cSAndroid Build Coastguard Worker - fix memory leak when fragmentation is used 725*03f9172cSAndroid Build Coastguard Worker - fix possible segmentation fault on EAP method deinit if an invalid 726*03f9172cSAndroid Build Coastguard Worker group is negotiated 727*03f9172cSAndroid Build Coastguard Worker * added MACsec/IEEE Std 802.1X-2010 PAE implementation (currently 728*03f9172cSAndroid Build Coastguard Worker available only with the macsec_qca driver wrapper) 729*03f9172cSAndroid Build Coastguard Worker * fixed EAP-SIM counter-too-small message 730*03f9172cSAndroid Build Coastguard Worker * added 'dup_network <id_s> <id_d> <name>' command; this can be used to 731*03f9172cSAndroid Build Coastguard Worker clone the psk field without having toextract it from wpa_supplicant 732*03f9172cSAndroid Build Coastguard Worker * fixed GSM authentication on USIM 733*03f9172cSAndroid Build Coastguard Worker * added support for using epoll in eloop (CONFIG_ELOOP_EPOLL=y) 734*03f9172cSAndroid Build Coastguard Worker * fixed some concurrent virtual interface cases with dedicated P2P 735*03f9172cSAndroid Build Coastguard Worker management interface to not catch events from removed interface (this 736*03f9172cSAndroid Build Coastguard Worker could result in the management interface getting disabled) 737*03f9172cSAndroid Build Coastguard Worker * fixed a memory leak in SAE random number generation 738*03f9172cSAndroid Build Coastguard Worker * fixed off-by-one bounds checking in printf_encode() 739*03f9172cSAndroid Build Coastguard Worker - this could result in some control interface ATTACH command cases 740*03f9172cSAndroid Build Coastguard Worker terminating wpa_supplicant 741*03f9172cSAndroid Build Coastguard Worker * fixed EAPOL-Key exchange when GCMP is used with SHA256-based AKM 742*03f9172cSAndroid Build Coastguard Worker * various bug fixes 743*03f9172cSAndroid Build Coastguard Worker 744*03f9172cSAndroid Build Coastguard Worker2014-02-04 - v2.1 745*03f9172cSAndroid Build Coastguard Worker * added support for simultaneous authentication of equals (SAE) for 746*03f9172cSAndroid Build Coastguard Worker stronger password-based authentication with WPA2-Personal 747*03f9172cSAndroid Build Coastguard Worker * improved P2P negotiation and group formation robustness 748*03f9172cSAndroid Build Coastguard Worker - avoid unnecessary Dialog Token value changes during retries 749*03f9172cSAndroid Build Coastguard Worker - avoid more concurrent scanning cases during full group formation 750*03f9172cSAndroid Build Coastguard Worker sequence 751*03f9172cSAndroid Build Coastguard Worker - do not use potentially obsolete scan result data from driver 752*03f9172cSAndroid Build Coastguard Worker cache for peer discovery/updates 753*03f9172cSAndroid Build Coastguard Worker - avoid undesired re-starting of GO negotiation based on Probe 754*03f9172cSAndroid Build Coastguard Worker Request frames 755*03f9172cSAndroid Build Coastguard Worker - increase GO Negotiation and Invitation timeouts to address busy 756*03f9172cSAndroid Build Coastguard Worker environments and peers that take long time to react to messages, 757*03f9172cSAndroid Build Coastguard Worker e.g., due to power saving 758*03f9172cSAndroid Build Coastguard Worker - P2P Device interface type 759*03f9172cSAndroid Build Coastguard Worker * improved P2P channel selection (use more peer information and allow 760*03f9172cSAndroid Build Coastguard Worker more local options) 761*03f9172cSAndroid Build Coastguard Worker * added support for optional per-device PSK assignment by P2P GO 762*03f9172cSAndroid Build Coastguard Worker (wpa_cli p2p_set per_sta_psk <0/1>) 763*03f9172cSAndroid Build Coastguard Worker * added P2P_REMOVE_CLIENT for removing a client from P2P groups 764*03f9172cSAndroid Build Coastguard Worker (including persistent groups); this can be used to securely remove 765*03f9172cSAndroid Build Coastguard Worker a client from a group if per-device PSKs are used 766*03f9172cSAndroid Build Coastguard Worker * added more configuration flexibility for allowed P2P GO/client 767*03f9172cSAndroid Build Coastguard Worker channels (p2p_no_go_freq list and p2p_add_cli_chan=0/1) 768*03f9172cSAndroid Build Coastguard Worker * added nl80211 functionality 769*03f9172cSAndroid Build Coastguard Worker - VHT configuration for nl80211 770*03f9172cSAndroid Build Coastguard Worker - MFP (IEEE 802.11w) information for nl80211 command API 771*03f9172cSAndroid Build Coastguard Worker - support split wiphy dump 772*03f9172cSAndroid Build Coastguard Worker - FT (IEEE 802.11r) with driver-based SME 773*03f9172cSAndroid Build Coastguard Worker - use advertised number of supported concurrent channels 774*03f9172cSAndroid Build Coastguard Worker - QoS Mapping configuration 775*03f9172cSAndroid Build Coastguard Worker * improved TDLS negotiation robustness 776*03f9172cSAndroid Build Coastguard Worker * added more TDLS peer parameters to be configured to the driver 777*03f9172cSAndroid Build Coastguard Worker * optimized connection time by allowing recently received scan results 778*03f9172cSAndroid Build Coastguard Worker to be used instead of having to run through a new scan 779*03f9172cSAndroid Build Coastguard Worker * fixed ctrl_iface BSS command iteration with RANGE argument and no 780*03f9172cSAndroid Build Coastguard Worker exact matches; also fixed argument parsing for some cases with 781*03f9172cSAndroid Build Coastguard Worker multiple arguments 782*03f9172cSAndroid Build Coastguard Worker * added 'SCAN TYPE=ONLY' ctrl_iface command to request manual scan 783*03f9172cSAndroid Build Coastguard Worker without executing roaming/network re-selection on scan results 784*03f9172cSAndroid Build Coastguard Worker * added Session-Id derivation for EAP peer methods 785*03f9172cSAndroid Build Coastguard Worker * added fully automated regression testing with mac80211_hwsim 786*03f9172cSAndroid Build Coastguard Worker * changed configuration parser to reject invalid integer values 787*03f9172cSAndroid Build Coastguard Worker * allow AP/Enrollee to be specified with BSSID instead of UUID for 788*03f9172cSAndroid Build Coastguard Worker WPS ER operations 789*03f9172cSAndroid Build Coastguard Worker * disable network block temporarily on repeated connection failures 790*03f9172cSAndroid Build Coastguard Worker * changed the default driver interface from wext to nl80211 if both are 791*03f9172cSAndroid Build Coastguard Worker included in the build 792*03f9172cSAndroid Build Coastguard Worker * remove duplicate networks if WPS provisioning is run multiple times 793*03f9172cSAndroid Build Coastguard Worker * remove duplicate networks when Interworking network selection uses the 794*03f9172cSAndroid Build Coastguard Worker same network 795*03f9172cSAndroid Build Coastguard Worker * added global freq_list configuration to allow scan frequencies to be 796*03f9172cSAndroid Build Coastguard Worker limited for all cases instead of just for a specific network block 797*03f9172cSAndroid Build Coastguard Worker * added support for BSS Transition Management 798*03f9172cSAndroid Build Coastguard Worker * added option to use "IFNAME=<ifname> " prefix to use the global 799*03f9172cSAndroid Build Coastguard Worker control interface connection to perform per-interface commands; 800*03f9172cSAndroid Build Coastguard Worker similarly, allow global control interface to be used as a monitor 801*03f9172cSAndroid Build Coastguard Worker interface to receive events from all interfaces 802*03f9172cSAndroid Build Coastguard Worker * fixed OKC-based PMKSA cache entry clearing 803*03f9172cSAndroid Build Coastguard Worker * fixed TKIP group key configuration with FT 804*03f9172cSAndroid Build Coastguard Worker * added support for using OCSP stapling to validate server certificate 805*03f9172cSAndroid Build Coastguard Worker (ocsp=1 as optional and ocsp=2 as mandatory) 806*03f9172cSAndroid Build Coastguard Worker * added EAP-EKE peer 807*03f9172cSAndroid Build Coastguard Worker * added peer restart detection for IBSS RSN 808*03f9172cSAndroid Build Coastguard Worker * added domain_suffix_match (and domain_suffix_match2 for Phase 2 809*03f9172cSAndroid Build Coastguard Worker EAP-TLS) to specify additional constraint for the server certificate 810*03f9172cSAndroid Build Coastguard Worker domain name 811*03f9172cSAndroid Build Coastguard Worker * added support for external SIM/USIM processing in EAP-SIM, EAP-AKA, 812*03f9172cSAndroid Build Coastguard Worker and EAP-AKA' (CTRL-REQ-SIM and CTRL-RSP-SIM commands over control 813*03f9172cSAndroid Build Coastguard Worker interface) 814*03f9172cSAndroid Build Coastguard Worker * added global bgscan configuration option as a default for all network 815*03f9172cSAndroid Build Coastguard Worker blocks that do not specify their own bgscan parameters 816*03f9172cSAndroid Build Coastguard Worker * added D-Bus methods for TDLS 817*03f9172cSAndroid Build Coastguard Worker * added more control to scan requests 818*03f9172cSAndroid Build Coastguard Worker - "SCAN freq=<freq list>" can be used to specify which channels are 819*03f9172cSAndroid Build Coastguard Worker scanned (comma-separated frequency ranges in MHz) 820*03f9172cSAndroid Build Coastguard Worker - "SCAN passive=1" can be used to request a passive scan (no Probe 821*03f9172cSAndroid Build Coastguard Worker Request frames are sent) 822*03f9172cSAndroid Build Coastguard Worker - "SCAN use_id" can be used to request a scan id to be returned and 823*03f9172cSAndroid Build Coastguard Worker included in event messages related to this specific scan operation 824*03f9172cSAndroid Build Coastguard Worker - "SCAN only_new=1" can be used to request the driver/cfg80211 to 825*03f9172cSAndroid Build Coastguard Worker report only BSS entries that have been updated during this scan 826*03f9172cSAndroid Build Coastguard Worker round 827*03f9172cSAndroid Build Coastguard Worker - these optional arguments to the SCAN command can be combined with 828*03f9172cSAndroid Build Coastguard Worker each other 829*03f9172cSAndroid Build Coastguard Worker * modified behavior on externally triggered scans 830*03f9172cSAndroid Build Coastguard Worker - avoid concurrent operations requiring full control of the radio when 831*03f9172cSAndroid Build Coastguard Worker an externally triggered scan is detected 832*03f9172cSAndroid Build Coastguard Worker - do not use results for internal roaming decision 833*03f9172cSAndroid Build Coastguard Worker * added a new cred block parameter 'temporary' to allow credential 834*03f9172cSAndroid Build Coastguard Worker blocks to be stored separately even if wpa_supplicant configuration 835*03f9172cSAndroid Build Coastguard Worker file is used to maintain other network information 836*03f9172cSAndroid Build Coastguard Worker * added "radio work" framework to schedule exclusive radio operations 837*03f9172cSAndroid Build Coastguard Worker for off-channel functionality 838*03f9172cSAndroid Build Coastguard Worker - reduce issues with concurrent operations that try to control which 839*03f9172cSAndroid Build Coastguard Worker channel is used 840*03f9172cSAndroid Build Coastguard Worker - allow external programs to request exclusive radio control in a way 841*03f9172cSAndroid Build Coastguard Worker that avoids conflicts with wpa_supplicant 842*03f9172cSAndroid Build Coastguard Worker * added support for using Protected Dual of Public Action frames for 843*03f9172cSAndroid Build Coastguard Worker GAS/ANQP exchanges when associated with PMF 844*03f9172cSAndroid Build Coastguard Worker * added support for WPS+NFC updates and P2P+NFC 845*03f9172cSAndroid Build Coastguard Worker - improved protocol for WPS 846*03f9172cSAndroid Build Coastguard Worker - P2P group formation/join based on NFC connection handover 847*03f9172cSAndroid Build Coastguard Worker - new IPv4 address assignment for P2P groups (ip_addr_* configuration 848*03f9172cSAndroid Build Coastguard Worker parameters on the GO) to replace DHCP 849*03f9172cSAndroid Build Coastguard Worker - option to fetch and report alternative carrier records for external 850*03f9172cSAndroid Build Coastguard Worker NFC operations 851*03f9172cSAndroid Build Coastguard Worker * various bug fixes 852*03f9172cSAndroid Build Coastguard Worker 853*03f9172cSAndroid Build Coastguard Worker2013-01-12 - v2.0 854*03f9172cSAndroid Build Coastguard Worker * removed Qt3-based wpa_gui (obsoleted by wpa_qui-qt4) 855*03f9172cSAndroid Build Coastguard Worker * removed unmaintained driver wrappers broadcom, iphone, osx, ralink, 856*03f9172cSAndroid Build Coastguard Worker hostap, madwifi (hostap and madwifi remain available for hostapd; 857*03f9172cSAndroid Build Coastguard Worker their wpa_supplicant functionality is obsoleted by wext) 858*03f9172cSAndroid Build Coastguard Worker * improved debug logging (human readable event names, interface name 859*03f9172cSAndroid Build Coastguard Worker included in more entries) 860*03f9172cSAndroid Build Coastguard Worker * changed AP mode behavior to enable WPS only for open and 861*03f9172cSAndroid Build Coastguard Worker WPA/WPA2-Personal configuration 862*03f9172cSAndroid Build Coastguard Worker * improved P2P concurrency operations 863*03f9172cSAndroid Build Coastguard Worker - better coordination of concurrent scan and P2P search operations 864*03f9172cSAndroid Build Coastguard Worker - avoid concurrent remain-on-channel operation requests by canceling 865*03f9172cSAndroid Build Coastguard Worker previous operations prior to starting a new one 866*03f9172cSAndroid Build Coastguard Worker - reject operations that would require multi-channel concurrency if 867*03f9172cSAndroid Build Coastguard Worker the driver does not support it 868*03f9172cSAndroid Build Coastguard Worker - add parameter to select whether STA or P2P connection is preferred 869*03f9172cSAndroid Build Coastguard Worker if the driver cannot support both at the same time 870*03f9172cSAndroid Build Coastguard Worker - allow driver to indicate channel changes 871*03f9172cSAndroid Build Coastguard Worker - added optional delay=<search delay in milliseconds> parameter for 872*03f9172cSAndroid Build Coastguard Worker p2p_find to avoid taking all radio resources 873*03f9172cSAndroid Build Coastguard Worker - use 500 ms p2p_find search delay by default during concurrent 874*03f9172cSAndroid Build Coastguard Worker operations 875*03f9172cSAndroid Build Coastguard Worker - allow all channels in GO Negotiation if the driver supports 876*03f9172cSAndroid Build Coastguard Worker multi-channel concurrency 877*03f9172cSAndroid Build Coastguard Worker * added number of small changes to make it easier for static analyzers 878*03f9172cSAndroid Build Coastguard Worker to understand the implementation 879*03f9172cSAndroid Build Coastguard Worker * fixed number of small bugs (see git logs for more details) 880*03f9172cSAndroid Build Coastguard Worker * nl80211: number of updates to use new cfg80211/nl80211 functionality 881*03f9172cSAndroid Build Coastguard Worker - replace monitor interface with nl80211 commands for AP mode 882*03f9172cSAndroid Build Coastguard Worker - additional information for driver-based AP SME 883*03f9172cSAndroid Build Coastguard Worker - STA entry authorization in RSN IBSS 884*03f9172cSAndroid Build Coastguard Worker * EAP-pwd: 885*03f9172cSAndroid Build Coastguard Worker - fixed KDF for group 21 and zero-padding 886*03f9172cSAndroid Build Coastguard Worker - added support for fragmentation 887*03f9172cSAndroid Build Coastguard Worker - increased maximum number of hunting-and-pecking iterations 888*03f9172cSAndroid Build Coastguard Worker * avoid excessive Probe Response retries for broadcast Probe Request 889*03f9172cSAndroid Build Coastguard Worker frames (only with drivers using wpa_supplicant AP mode SME/MLME) 890*03f9172cSAndroid Build Coastguard Worker * added "GET country" ctrl_iface command 891*03f9172cSAndroid Build Coastguard Worker * do not save an invalid network block in wpa_supplicant.conf to avoid 892*03f9172cSAndroid Build Coastguard Worker problems reading the file on next start 893*03f9172cSAndroid Build Coastguard Worker * send STA connected/disconnected ctrl_iface events to both the P2P 894*03f9172cSAndroid Build Coastguard Worker group and parent interfaces 895*03f9172cSAndroid Build Coastguard Worker * added preliminary support for using TLS v1.2 (CONFIG_TLSV12=y) 896*03f9172cSAndroid Build Coastguard Worker * added "SET pno <1/0>" ctrl_iface command to start/stop preferred 897*03f9172cSAndroid Build Coastguard Worker network offload with sched_scan driver command 898*03f9172cSAndroid Build Coastguard Worker * merged in number of changes from Android repository for P2P, nl80211, 899*03f9172cSAndroid Build Coastguard Worker and build parameters 900*03f9172cSAndroid Build Coastguard Worker * changed P2P GO mode configuration to use driver capabilities to 901*03f9172cSAndroid Build Coastguard Worker automatically enable HT operations when supported 902*03f9172cSAndroid Build Coastguard Worker * added "wpa_cli status wps" command to fetch WPA2-Personal passhrase 903*03f9172cSAndroid Build Coastguard Worker for WPS use cases in AP mode 904*03f9172cSAndroid Build Coastguard Worker * EAP-AKA: keep pseudonym identity across EAP exchanges to match EAP-SIM 905*03f9172cSAndroid Build Coastguard Worker behavior 906*03f9172cSAndroid Build Coastguard Worker * improved reassociation behavior in cases where association is rejected 907*03f9172cSAndroid Build Coastguard Worker or when an AP disconnects us to handle common load balancing 908*03f9172cSAndroid Build Coastguard Worker mechanisms 909*03f9172cSAndroid Build Coastguard Worker - try to avoid extra scans when the needed information is available 910*03f9172cSAndroid Build Coastguard Worker * added optional "join" argument for p2p_prov_disc ctrl_iface command 911*03f9172cSAndroid Build Coastguard Worker * added group ifname to P2P-PROV-DISC-* events 912*03f9172cSAndroid Build Coastguard Worker * added P2P Device Address to AP-STA-DISCONNECTED event and use 913*03f9172cSAndroid Build Coastguard Worker p2p_dev_addr parameter name with AP-STA-CONNECTED 914*03f9172cSAndroid Build Coastguard Worker * added workarounds for WPS PBC overlap detection for some P2P use cases 915*03f9172cSAndroid Build Coastguard Worker where deployed stations work incorrectly 916*03f9172cSAndroid Build Coastguard Worker * optimize WPS connection speed by disconnecting prior to WPS scan and 917*03f9172cSAndroid Build Coastguard Worker by using single channel scans when AP channel is known 918*03f9172cSAndroid Build Coastguard Worker * PCSC and SIM/USIM improvements: 919*03f9172cSAndroid Build Coastguard Worker - accept 0x67 (Wrong length) as a response to READ RECORD to fix 920*03f9172cSAndroid Build Coastguard Worker issues with some USIM cards 921*03f9172cSAndroid Build Coastguard Worker - try to read MNC length from SIM/USIM 922*03f9172cSAndroid Build Coastguard Worker - build realm according to 3GPP TS 23.003 with identity from the SIM 923*03f9172cSAndroid Build Coastguard Worker - allow T1 protocol to be enabled 924*03f9172cSAndroid Build Coastguard Worker * added more WPS and P2P information available through D-Bus 925*03f9172cSAndroid Build Coastguard Worker * improve P2P negotiation robustness 926*03f9172cSAndroid Build Coastguard Worker - extra waits to get ACK frames through 927*03f9172cSAndroid Build Coastguard Worker - longer timeouts for cases where deployed devices have been 928*03f9172cSAndroid Build Coastguard Worker identified have issues meeting the specification requirements 929*03f9172cSAndroid Build Coastguard Worker - more retries for some P2P frames 930*03f9172cSAndroid Build Coastguard Worker - handle race conditions in GO Negotiation start by both devices 931*03f9172cSAndroid Build Coastguard Worker - ignore unexpected GO Negotiation Response frame 932*03f9172cSAndroid Build Coastguard Worker * added support for libnl 3.2 and newer 933*03f9172cSAndroid Build Coastguard Worker * added P2P persistent group info to P2P_PEER data 934*03f9172cSAndroid Build Coastguard Worker * maintain a list of P2P Clients for persistent group on GO 935*03f9172cSAndroid Build Coastguard Worker * AP: increased initial group key handshake retransmit timeout to 500 ms 936*03f9172cSAndroid Build Coastguard Worker * added optional dev_id parameter for p2p_find 937*03f9172cSAndroid Build Coastguard Worker * added P2P-FIND-STOPPED ctrl_iface event 938*03f9172cSAndroid Build Coastguard Worker * fixed issues in WPA/RSN element validation when roaming with ap_scan=1 939*03f9172cSAndroid Build Coastguard Worker and driver-based BSS selection 940*03f9172cSAndroid Build Coastguard Worker * do not expire P2P peer entries while connected with the peer in a 941*03f9172cSAndroid Build Coastguard Worker group 942*03f9172cSAndroid Build Coastguard Worker * fixed WSC element inclusion in cases where P2P is disabled 943*03f9172cSAndroid Build Coastguard Worker * AP: added a WPS workaround for mixed mode AP Settings with Windows 7 944*03f9172cSAndroid Build Coastguard Worker * EAP-SIM: fixed AT_COUNTER_TOO_SMALL use 945*03f9172cSAndroid Build Coastguard Worker * EAP-SIM/AKA: append realm to pseudonym identity 946*03f9172cSAndroid Build Coastguard Worker * EAP-SIM/AKA: store pseudonym identity in network configuration to 947*03f9172cSAndroid Build Coastguard Worker allow it to persist over multiple EAP sessions and wpa_supplicant 948*03f9172cSAndroid Build Coastguard Worker restarts 949*03f9172cSAndroid Build Coastguard Worker * EAP-AKA': updated to RFC 5448 (username prefixes changed); note: this 950*03f9172cSAndroid Build Coastguard Worker breaks interoperability with older versions 951*03f9172cSAndroid Build Coastguard Worker * added support for WFA Hotspot 2.0 952*03f9172cSAndroid Build Coastguard Worker - GAS/ANQP to fetch network information 953*03f9172cSAndroid Build Coastguard Worker - credential configuration and automatic network selections based on 954*03f9172cSAndroid Build Coastguard Worker credential match with ANQP information 955*03f9172cSAndroid Build Coastguard Worker * limited PMKSA cache entries to be used only with the network context 956*03f9172cSAndroid Build Coastguard Worker that was used to create them 957*03f9172cSAndroid Build Coastguard Worker * improved PMKSA cache expiration to avoid unnecessary disconnections 958*03f9172cSAndroid Build Coastguard Worker * adjusted bgscan_simple fast-scan backoff to avoid too frequent 959*03f9172cSAndroid Build Coastguard Worker background scans 960*03f9172cSAndroid Build Coastguard Worker * removed ctrl_iface event on P2P PD Response in join-group case 961*03f9172cSAndroid Build Coastguard Worker * added option to fetch BSS table entry based on P2P Device Address 962*03f9172cSAndroid Build Coastguard Worker ("BSS p2p_dev_addr=<P2P Device Address>") 963*03f9172cSAndroid Build Coastguard Worker * added BSS entry age to ctrl_iface BSS command output 964*03f9172cSAndroid Build Coastguard Worker * added optional MASK=0xH option for ctrl_iface BSS command to select 965*03f9172cSAndroid Build Coastguard Worker which fields are included in the response 966*03f9172cSAndroid Build Coastguard Worker * added optional RANGE=ALL|N1-N2 option for ctrl_iface BSS command to 967*03f9172cSAndroid Build Coastguard Worker fetch information about several BSSes in one call 968*03f9172cSAndroid Build Coastguard Worker * simplified licensing terms by selecting the BSD license as the only 969*03f9172cSAndroid Build Coastguard Worker alternative 970*03f9172cSAndroid Build Coastguard Worker * added "P2P_SET disallow_freq <freq list>" ctrl_iface command to 971*03f9172cSAndroid Build Coastguard Worker disable channels from P2P use 972*03f9172cSAndroid Build Coastguard Worker * added p2p_pref_chan configuration parameter to allow preferred P2P 973*03f9172cSAndroid Build Coastguard Worker channels to be specified 974*03f9172cSAndroid Build Coastguard Worker * added support for advertising immediate availability of a WPS 975*03f9172cSAndroid Build Coastguard Worker credential for P2P use cases 976*03f9172cSAndroid Build Coastguard Worker * optimized scan operations for P2P use cases (use single channel scan 977*03f9172cSAndroid Build Coastguard Worker for a specific SSID when possible) 978*03f9172cSAndroid Build Coastguard Worker * EAP-TTLS: fixed peer challenge generation for MSCHAPv2 979*03f9172cSAndroid Build Coastguard Worker * SME: do not use reassociation after explicit disconnection request 980*03f9172cSAndroid Build Coastguard Worker (local or a notification from an AP) 981*03f9172cSAndroid Build Coastguard Worker * added support for sending debug info to Linux tracing (-T on command 982*03f9172cSAndroid Build Coastguard Worker line) 983*03f9172cSAndroid Build Coastguard Worker * added support for using Deauthentication reason code 3 as an 984*03f9172cSAndroid Build Coastguard Worker indication of P2P group termination 985*03f9172cSAndroid Build Coastguard Worker * added wps_vendor_ext_m1 configuration parameter to allow vendor 986*03f9172cSAndroid Build Coastguard Worker specific attributes to be added to WPS M1 987*03f9172cSAndroid Build Coastguard Worker * started using separate TLS library context for tunneled TLS 988*03f9172cSAndroid Build Coastguard Worker (EAP-PEAP/TLS, EAP-TTLS/TLS, EAP-FAST/TLS) to support different CA 989*03f9172cSAndroid Build Coastguard Worker certificate configuration between Phase 1 and Phase 2 990*03f9172cSAndroid Build Coastguard Worker * added optional "auto" parameter for p2p_connect to request automatic 991*03f9172cSAndroid Build Coastguard Worker GO Negotiation vs. join-a-group selection 992*03f9172cSAndroid Build Coastguard Worker * added disabled_scan_offload parameter to disable automatic scan 993*03f9172cSAndroid Build Coastguard Worker offloading (sched_scan) 994*03f9172cSAndroid Build Coastguard Worker * added optional persistent=<network id> parameter for p2p_connect to 995*03f9172cSAndroid Build Coastguard Worker allow forcing of a specific SSID/passphrase for GO Negotiation 996*03f9172cSAndroid Build Coastguard Worker * added support for OBSS scan requests and 20/40 BSS coexistence reports 997*03f9172cSAndroid Build Coastguard Worker * reject PD Request for unknown group 998*03f9172cSAndroid Build Coastguard Worker * removed scripts and notes related to Windows binary releases (which 999*03f9172cSAndroid Build Coastguard Worker have not been used starting from 1.x) 1000*03f9172cSAndroid Build Coastguard Worker * added initial support for WNM operations 1001*03f9172cSAndroid Build Coastguard Worker - Keep-alive based on BSS max idle period 1002*03f9172cSAndroid Build Coastguard Worker - WNM-Sleep Mode 1003*03f9172cSAndroid Build Coastguard Worker - minimal BSS Transition Management processing 1004*03f9172cSAndroid Build Coastguard Worker * added autoscan module to control scanning behavior while not connected 1005*03f9172cSAndroid Build Coastguard Worker - autoscan_periodic and autoscan_exponential modules 1006*03f9172cSAndroid Build Coastguard Worker * added new WPS NFC ctrl_iface mechanism 1007*03f9172cSAndroid Build Coastguard Worker - added initial support NFC connection handover 1008*03f9172cSAndroid Build Coastguard Worker - removed obsoleted WPS_OOB command (including support for deprecated 1009*03f9172cSAndroid Build Coastguard Worker UFD config_method) 1010*03f9172cSAndroid Build Coastguard Worker * added optional framework for external password storage ("ext:<name>") 1011*03f9172cSAndroid Build Coastguard Worker * wpa_cli: added optional support for controlling wpa_supplicant 1012*03f9172cSAndroid Build Coastguard Worker remotely over UDP (CONFIG_CTRL_IFACE=udp-remote) for testing purposes 1013*03f9172cSAndroid Build Coastguard Worker * wpa_cli: extended tab completion to more commands 1014*03f9172cSAndroid Build Coastguard Worker * changed SSID output to use printf-escaped strings instead of masking 1015*03f9172cSAndroid Build Coastguard Worker of non-ASCII characters 1016*03f9172cSAndroid Build Coastguard Worker - SSID can now be configured in the same format: ssid=P"abc\x00test" 1017*03f9172cSAndroid Build Coastguard Worker * removed default ACM=1 from AC_VO and AC_VI 1018*03f9172cSAndroid Build Coastguard Worker * added optional "ht40" argument for P2P ctrl_iface commands to allow 1019*03f9172cSAndroid Build Coastguard Worker 40 MHz channels to be requested on the 5 GHz band 1020*03f9172cSAndroid Build Coastguard Worker * added optional parameters for p2p_invite command to specify channel 1021*03f9172cSAndroid Build Coastguard Worker when reinvoking a persistent group as the GO 1022*03f9172cSAndroid Build Coastguard Worker * improved FIPS mode builds with OpenSSL 1023*03f9172cSAndroid Build Coastguard Worker - "make fips" with CONFIG_FIPS=y to build wpa_supplicant with the 1024*03f9172cSAndroid Build Coastguard Worker OpenSSL FIPS object module 1025*03f9172cSAndroid Build Coastguard Worker - replace low level OpenSSL AES API calls to use EVP 1026*03f9172cSAndroid Build Coastguard Worker - use OpenSSL keying material exporter when possible 1027*03f9172cSAndroid Build Coastguard Worker - do not export TLS keys in FIPS mode 1028*03f9172cSAndroid Build Coastguard Worker - remove MD5 from CONFIG_FIPS=y builds 1029*03f9172cSAndroid Build Coastguard Worker - use OpenSSL function for PKBDF2 passphrase-to-PSK 1030*03f9172cSAndroid Build Coastguard Worker - use OpenSSL HMAC implementation 1031*03f9172cSAndroid Build Coastguard Worker - mix RAND_bytes() output into random_get_bytes() to force OpenSSL 1032*03f9172cSAndroid Build Coastguard Worker DRBG to be used in FIPS mode 1033*03f9172cSAndroid Build Coastguard Worker - use OpenSSL CMAC implementation 1034*03f9172cSAndroid Build Coastguard Worker * added mechanism to disable TLS Session Ticket extension 1035*03f9172cSAndroid Build Coastguard Worker - a workaround for servers that do not support TLS extensions that 1036*03f9172cSAndroid Build Coastguard Worker was enabled by default in recent OpenSSL versions 1037*03f9172cSAndroid Build Coastguard Worker - tls_disable_session_ticket=1 1038*03f9172cSAndroid Build Coastguard Worker - automatically disable TLS Session Ticket extension by default when 1039*03f9172cSAndroid Build Coastguard Worker using EAP-TLS/PEAP/TTLS (i.e., only use it with EAP-FAST) 1040*03f9172cSAndroid Build Coastguard Worker * changed VENDOR-TEST EAP method to use proper private enterprise number 1041*03f9172cSAndroid Build Coastguard Worker (this will not interoperate with older versions) 1042*03f9172cSAndroid Build Coastguard Worker * disable network block temporarily on authentication failures 1043*03f9172cSAndroid Build Coastguard Worker * improved WPS AP selection during WPS PIN iteration 1044*03f9172cSAndroid Build Coastguard Worker * added support for configuring GCMP cipher for IEEE 802.11ad 1045*03f9172cSAndroid Build Coastguard Worker * added support for Wi-Fi Display extensions 1046*03f9172cSAndroid Build Coastguard Worker - WFD_SUBELEMENT_SET ctrl_iface command to configure WFD subelements 1047*03f9172cSAndroid Build Coastguard Worker - SET wifi_display <0/1> to disable/enable WFD support 1048*03f9172cSAndroid Build Coastguard Worker - WFD service discovery 1049*03f9172cSAndroid Build Coastguard Worker - an external program is needed to manage the audio/video streaming 1050*03f9172cSAndroid Build Coastguard Worker and codecs 1051*03f9172cSAndroid Build Coastguard Worker * optimized scan result use for network selection 1052*03f9172cSAndroid Build Coastguard Worker - use the internal BSS table instead of raw scan results 1053*03f9172cSAndroid Build Coastguard Worker - allow unnecessary scans to be skipped if fresh information is 1054*03f9172cSAndroid Build Coastguard Worker available (e.g., after GAS/ANQP round for Interworking) 1055*03f9172cSAndroid Build Coastguard Worker * added support for 256-bit AES with internal TLS implementation 1056*03f9172cSAndroid Build Coastguard Worker * allow peer to propose channel in P2P invitation process for a 1057*03f9172cSAndroid Build Coastguard Worker persistent group 1058*03f9172cSAndroid Build Coastguard Worker * added disallow_aps parameter to allow BSSIDs/SSIDs to be disallowed 1059*03f9172cSAndroid Build Coastguard Worker from network selection 1060*03f9172cSAndroid Build Coastguard Worker * re-enable the networks disabled during WPS operations 1061*03f9172cSAndroid Build Coastguard Worker * allow P2P functionality to be disabled per interface (p2p_disabled=1) 1062*03f9172cSAndroid Build Coastguard Worker * added secondary device types into P2P_PEER output 1063*03f9172cSAndroid Build Coastguard Worker * added an option to disable use of a separate P2P group interface 1064*03f9172cSAndroid Build Coastguard Worker (p2p_no_group_iface=1) 1065*03f9172cSAndroid Build Coastguard Worker * fixed P2P Bonjour SD to match entries with both compressed and not 1066*03f9172cSAndroid Build Coastguard Worker compressed domain name format and support multiple Bonjour PTR matches 1067*03f9172cSAndroid Build Coastguard Worker for the same key 1068*03f9172cSAndroid Build Coastguard Worker * use deauthentication instead of disassociation for all disconnection 1069*03f9172cSAndroid Build Coastguard Worker operations; this removes the now unused disassociate() wpa_driver_ops 1070*03f9172cSAndroid Build Coastguard Worker callback 1071*03f9172cSAndroid Build Coastguard Worker * optimized PSK generation on P2P GO by caching results to avoid 1072*03f9172cSAndroid Build Coastguard Worker multiple PBKDF2 operations 1073*03f9172cSAndroid Build Coastguard Worker * added okc=1 global configuration parameter to allow OKC to be enabled 1074*03f9172cSAndroid Build Coastguard Worker by default for all network blocks 1075*03f9172cSAndroid Build Coastguard Worker * added a workaround for WPS PBC session overlap detection to avoid 1076*03f9172cSAndroid Build Coastguard Worker interop issues with deployed station implementations that do not 1077*03f9172cSAndroid Build Coastguard Worker remove active PBC indication from Probe Request frames properly 1078*03f9172cSAndroid Build Coastguard Worker * added basic support for 60 GHz band 1079*03f9172cSAndroid Build Coastguard Worker * extend EAPOL frames processing workaround for roaming cases 1080*03f9172cSAndroid Build Coastguard Worker (postpone processing of unexpected EAPOL frame until association 1081*03f9172cSAndroid Build Coastguard Worker event to handle reordered events) 1082*03f9172cSAndroid Build Coastguard Worker 1083*03f9172cSAndroid Build Coastguard Worker2012-05-10 - v1.0 1084*03f9172cSAndroid Build Coastguard Worker * bsd: Add support for setting HT values in IFM_MMASK. 1085*03f9172cSAndroid Build Coastguard Worker * Delay STA entry removal until Deauth/Disassoc TX status in AP mode. 1086*03f9172cSAndroid Build Coastguard Worker This allows the driver to use PS buffering of Deauthentication and 1087*03f9172cSAndroid Build Coastguard Worker Disassociation frames when the STA is in power save sleep. Only 1088*03f9172cSAndroid Build Coastguard Worker available with drivers that provide TX status events for Deauth/ 1089*03f9172cSAndroid Build Coastguard Worker Disassoc frames (nl80211). 1090*03f9172cSAndroid Build Coastguard Worker * Drop oldest unknown BSS table entries first. This makes it less 1091*03f9172cSAndroid Build Coastguard Worker likely to hit connection issues in environments with huge number 1092*03f9172cSAndroid Build Coastguard Worker of visible APs. 1093*03f9172cSAndroid Build Coastguard Worker * Add systemd support. 1094*03f9172cSAndroid Build Coastguard Worker * Add support for setting the syslog facility from the config file 1095*03f9172cSAndroid Build Coastguard Worker at build time. 1096*03f9172cSAndroid Build Coastguard Worker * atheros: Add support for IEEE 802.11w configuration. 1097*03f9172cSAndroid Build Coastguard Worker * AP mode: Allow enable HT20 if driver supports it, by setting the 1098*03f9172cSAndroid Build Coastguard Worker config parameter ieee80211n. 1099*03f9172cSAndroid Build Coastguard Worker * Allow AP mode to disconnect STAs based on low ACK condition (when 1100*03f9172cSAndroid Build Coastguard Worker the data connection is not working properly, e.g., due to the STA 1101*03f9172cSAndroid Build Coastguard Worker going outside the range of the AP). Disabled by default, enable by 1102*03f9172cSAndroid Build Coastguard Worker config option disassoc_low_ack. 1103*03f9172cSAndroid Build Coastguard Worker * nl80211: 1104*03f9172cSAndroid Build Coastguard Worker - Support GTK rekey offload. 1105*03f9172cSAndroid Build Coastguard Worker - Support PMKSA candidate events. This adds support for RSN 1106*03f9172cSAndroid Build Coastguard Worker pre-authentication with nl80211 interface and drivers that handle 1107*03f9172cSAndroid Build Coastguard Worker roaming internally. 1108*03f9172cSAndroid Build Coastguard Worker * dbus: 1109*03f9172cSAndroid Build Coastguard Worker - Add a DBus signal for EAP SM requests, emitted on the Interface 1110*03f9172cSAndroid Build Coastguard Worker object. 1111*03f9172cSAndroid Build Coastguard Worker - Export max scan ssids supported by the driver as MaxScanSSID. 1112*03f9172cSAndroid Build Coastguard Worker - Add signal Certification for information about server certification. 1113*03f9172cSAndroid Build Coastguard Worker - Add BSSExpireAge and BSSExpireCount interface properties and 1114*03f9172cSAndroid Build Coastguard Worker support set/get, which allows for setting BSS cache expiration age 1115*03f9172cSAndroid Build Coastguard Worker and expiration scan count. 1116*03f9172cSAndroid Build Coastguard Worker - Add ConfigFile to AddInterface properties. 1117*03f9172cSAndroid Build Coastguard Worker - Add Interface.Country property and support to get/set the value. 1118*03f9172cSAndroid Build Coastguard Worker - Add DBus property CurrentAuthMode. 1119*03f9172cSAndroid Build Coastguard Worker - P2P DBus API added. 1120*03f9172cSAndroid Build Coastguard Worker - Emit property changed events (for property BSSs) when adding/ 1121*03f9172cSAndroid Build Coastguard Worker removing BSSs. 1122*03f9172cSAndroid Build Coastguard Worker - Treat '' in SSIDs of Interface.Scan as a request for broadcast 1123*03f9172cSAndroid Build Coastguard Worker scan, instead of ignoring it. 1124*03f9172cSAndroid Build Coastguard Worker - Add DBus getter/setter for FastReauth. 1125*03f9172cSAndroid Build Coastguard Worker - Raise PropertiesChanged on org.freedesktop.DBus.Properties. 1126*03f9172cSAndroid Build Coastguard Worker * wpa_cli: 1127*03f9172cSAndroid Build Coastguard Worker - Send AP-STA-DISCONNECTED event when an AP disconnects a station 1128*03f9172cSAndroid Build Coastguard Worker due to inactivity. 1129*03f9172cSAndroid Build Coastguard Worker - Make second argument to set command optional. This can be used to 1130*03f9172cSAndroid Build Coastguard Worker indicate a zero length value. 1131*03f9172cSAndroid Build Coastguard Worker - Add signal_poll command. 1132*03f9172cSAndroid Build Coastguard Worker - Add bss_expire_age and bss_expire_count commands to set/get BSS 1133*03f9172cSAndroid Build Coastguard Worker cache expiration age and expiration scan count. 1134*03f9172cSAndroid Build Coastguard Worker - Add ability to set scan interval (the time in seconds wpa_s waits 1135*03f9172cSAndroid Build Coastguard Worker before requesting a new scan after failing to find a suitable 1136*03f9172cSAndroid Build Coastguard Worker network in scan results) using scan_interval command. 1137*03f9172cSAndroid Build Coastguard Worker - Add event CTRL-EVENT-ASSOC-REJECT for association rejected. 1138*03f9172cSAndroid Build Coastguard Worker - Add command get version, that returns wpa_supplicant version string. 1139*03f9172cSAndroid Build Coastguard Worker - Add command sta_autoconnect for disabling automatic reconnection 1140*03f9172cSAndroid Build Coastguard Worker on receiving disconnection event. 1141*03f9172cSAndroid Build Coastguard Worker - Setting bssid parameter to an empty string "" or any can now be 1142*03f9172cSAndroid Build Coastguard Worker used to clear the bssid_set flag in a network block, i.e., to remove 1143*03f9172cSAndroid Build Coastguard Worker bssid filtering. 1144*03f9172cSAndroid Build Coastguard Worker - Add tdls_testing command to add a special testing feature for 1145*03f9172cSAndroid Build Coastguard Worker changing TDLS behavior. Build param CONFIG_TDLS_TESTING must be 1146*03f9172cSAndroid Build Coastguard Worker enabled as well. 1147*03f9172cSAndroid Build Coastguard Worker - For interworking, add wpa_cli commands interworking_select, 1148*03f9172cSAndroid Build Coastguard Worker interworking_connect, anqp_get, fetch_anqp, and stop_fetch_anqp. 1149*03f9172cSAndroid Build Coastguard Worker - Many P2P commands were added. See README-P2P. 1150*03f9172cSAndroid Build Coastguard Worker - Many WPS/WPS ER commands - see WPS/WPS ER sections for details. 1151*03f9172cSAndroid Build Coastguard Worker - Allow set command to change global config parameters. 1152*03f9172cSAndroid Build Coastguard Worker - Add log_level command, which can be used to display the current 1153*03f9172cSAndroid Build Coastguard Worker debugging level and to change the log level during run time. 1154*03f9172cSAndroid Build Coastguard Worker - Add note command, which can be used to insert notes to the debug 1155*03f9172cSAndroid Build Coastguard Worker log. 1156*03f9172cSAndroid Build Coastguard Worker - Add internal line edit implementation. CONFIG_WPA_CLI_EDIT=y 1157*03f9172cSAndroid Build Coastguard Worker can now be used to build wpa_cli with internal implementation of 1158*03f9172cSAndroid Build Coastguard Worker line editing and history support. This can be used as a replacement 1159*03f9172cSAndroid Build Coastguard Worker for CONFIG_READLINE=y. 1160*03f9172cSAndroid Build Coastguard Worker * AP mode: Add max_num_sta config option, which can be used to limit 1161*03f9172cSAndroid Build Coastguard Worker the number of stations allowed to connect to the AP. 1162*03f9172cSAndroid Build Coastguard Worker * Add WPA_IGNORE_CONFIG_ERRORS build option to continue in case of bad 1163*03f9172cSAndroid Build Coastguard Worker config file. 1164*03f9172cSAndroid Build Coastguard Worker * wext: Increase scan timeout from 5 to 10 seconds. 1165*03f9172cSAndroid Build Coastguard Worker * Add blacklist command, allowing an external program to 1166*03f9172cSAndroid Build Coastguard Worker manage the BSS blacklist and display its current contents. 1167*03f9172cSAndroid Build Coastguard Worker * WPS: 1168*03f9172cSAndroid Build Coastguard Worker - Add wpa_cli wps_pin get command for generating random PINs. This can 1169*03f9172cSAndroid Build Coastguard Worker be used in a UI to generate a PIN without starting WPS (or P2P) 1170*03f9172cSAndroid Build Coastguard Worker operation. 1171*03f9172cSAndroid Build Coastguard Worker - Set RF bands based on driver capabilities, instead of hardcoding 1172*03f9172cSAndroid Build Coastguard Worker them. 1173*03f9172cSAndroid Build Coastguard Worker - Add mechanism for indicating non-standard WPS errors. 1174*03f9172cSAndroid Build Coastguard Worker - Add CONFIG_WPS_REG_DISABLE_OPEN=y option to disable open networks 1175*03f9172cSAndroid Build Coastguard Worker by default. 1176*03f9172cSAndroid Build Coastguard Worker - Add wps_ap_pin cli command for wpa_supplicant AP mode. 1177*03f9172cSAndroid Build Coastguard Worker - Add wps_check_pin cli command for processing PIN from user input. 1178*03f9172cSAndroid Build Coastguard Worker UIs can use this command to process a PIN entered by a user and to 1179*03f9172cSAndroid Build Coastguard Worker validate the checksum digit (if present). 1180*03f9172cSAndroid Build Coastguard Worker - Cancel WPS operation on PBC session overlap detection. 1181*03f9172cSAndroid Build Coastguard Worker - New wps_cancel command in wpa_cli will cancel a pending WPS 1182*03f9172cSAndroid Build Coastguard Worker operation. 1183*03f9172cSAndroid Build Coastguard Worker - wpa_cli action: Add WPS_EVENT_SUCCESS and WPS_EVENT_FAIL handlers. 1184*03f9172cSAndroid Build Coastguard Worker - Trigger WPS config update on Manufacturer, Model Name, Model 1185*03f9172cSAndroid Build Coastguard Worker Number, and Serial Number changes. 1186*03f9172cSAndroid Build Coastguard Worker - Fragment size is now configurable for EAP-WSC peer. Use 1187*03f9172cSAndroid Build Coastguard Worker wpa_cli set wps_fragment_size <val>. 1188*03f9172cSAndroid Build Coastguard Worker - Disable AP PIN after 10 consecutive failures. Slow down attacks on 1189*03f9172cSAndroid Build Coastguard Worker failures up to 10. 1190*03f9172cSAndroid Build Coastguard Worker - Allow AP to start in Enrollee mode without AP PIN for probing, to 1191*03f9172cSAndroid Build Coastguard Worker be compatible with Windows 7. 1192*03f9172cSAndroid Build Coastguard Worker - Add Config Error into WPS-FAIL events to provide more info to the 1193*03f9172cSAndroid Build Coastguard Worker user on how to resolve the issue. 1194*03f9172cSAndroid Build Coastguard Worker - Label and Display config methods are not allowed to be enabled 1195*03f9172cSAndroid Build Coastguard Worker at the same time, since it is unclear which PIN to use if both 1196*03f9172cSAndroid Build Coastguard Worker methods are advertised. 1197*03f9172cSAndroid Build Coastguard Worker - When controlling multiple interfaces: 1198*03f9172cSAndroid Build Coastguard Worker - apply WPS commands to all interfaces configured to use WPS 1199*03f9172cSAndroid Build Coastguard Worker - apply WPS config changes to all interfaces that use WPS 1200*03f9172cSAndroid Build Coastguard Worker - when an attack is detected on any interface, disable AP PIN on 1201*03f9172cSAndroid Build Coastguard Worker all interfaces 1202*03f9172cSAndroid Build Coastguard Worker * WPS ER: 1203*03f9172cSAndroid Build Coastguard Worker - Add special AP Setup Locked mode to allow read only ER. 1204*03f9172cSAndroid Build Coastguard Worker ap_setup_locked=2 can now be used to enable a special mode where 1205*03f9172cSAndroid Build Coastguard Worker WPS ER can learn the current AP settings, but cannot change them. 1206*03f9172cSAndroid Build Coastguard Worker - Show SetSelectedRegistrar events as ctrl_iface events 1207*03f9172cSAndroid Build Coastguard Worker - Add wps_er_set_config to enroll a network based on a local 1208*03f9172cSAndroid Build Coastguard Worker network configuration block instead of having to (re-)learn the 1209*03f9172cSAndroid Build Coastguard Worker current AP settings with wps_er_learn. 1210*03f9172cSAndroid Build Coastguard Worker - Allow AP filtering based on IP address, add ctrl_iface event for 1211*03f9172cSAndroid Build Coastguard Worker learned AP settings, add wps_er_config command to configure an AP. 1212*03f9172cSAndroid Build Coastguard Worker * WPS 2.0: Add support for WPS 2.0 (CONFIG_WPS2) 1213*03f9172cSAndroid Build Coastguard Worker - Add build option CONFIG_WPS_EXTENSIBILITY_TESTING to enable tool 1214*03f9172cSAndroid Build Coastguard Worker for testing protocol extensibility. 1215*03f9172cSAndroid Build Coastguard Worker - Add build option CONFIG_WPS_STRICT to allow disabling of WPS 1216*03f9172cSAndroid Build Coastguard Worker workarounds. 1217*03f9172cSAndroid Build Coastguard Worker - Add support for AuthorizedMACs attribute. 1218*03f9172cSAndroid Build Coastguard Worker * TDLS: 1219*03f9172cSAndroid Build Coastguard Worker - Propagate TDLS related nl80211 capability flags from kernel and 1220*03f9172cSAndroid Build Coastguard Worker add them as driver capability flags. If the driver doesn't support 1221*03f9172cSAndroid Build Coastguard Worker capabilities, assume TDLS is supported internally. When TDLS is 1222*03f9172cSAndroid Build Coastguard Worker explicitly not supported, disable all user facing TDLS operations. 1223*03f9172cSAndroid Build Coastguard Worker - Allow TDLS to be disabled at runtime (mostly for testing). 1224*03f9172cSAndroid Build Coastguard Worker Use set tdls_disabled. 1225*03f9172cSAndroid Build Coastguard Worker - Honor AP TDLS settings that prohibit/allow TDLS. 1226*03f9172cSAndroid Build Coastguard Worker - Add a special testing feature for changing TDLS behavior. Use 1227*03f9172cSAndroid Build Coastguard Worker CONFIG_TDLS_TESTING build param to enable. Configure at runtime 1228*03f9172cSAndroid Build Coastguard Worker with tdls_testing cli command. 1229*03f9172cSAndroid Build Coastguard Worker - Add support for TDLS 802.11z. 1230*03f9172cSAndroid Build Coastguard Worker * wlantest: Add a tool wlantest for IEEE802.11 protocol testing. 1231*03f9172cSAndroid Build Coastguard Worker wlantest can be used to capture frames from a monitor interface 1232*03f9172cSAndroid Build Coastguard Worker for realtime capturing or from pcap files for offline analysis. 1233*03f9172cSAndroid Build Coastguard Worker * Interworking: Support added for 802.11u. Enable in .config with 1234*03f9172cSAndroid Build Coastguard Worker CONFIG_INTERWORKING. See wpa_supplicant.conf for config parameters 1235*03f9172cSAndroid Build Coastguard Worker for interworking. wpa_cli commands added to support this are 1236*03f9172cSAndroid Build Coastguard Worker interworking_select, interworking_connect, anqp_get, fetch_anqp, 1237*03f9172cSAndroid Build Coastguard Worker and stop_fetch_anqp. 1238*03f9172cSAndroid Build Coastguard Worker * Android: Add build and runtime support for Android wpa_supplicant. 1239*03f9172cSAndroid Build Coastguard Worker * bgscan learn: Add new bgscan that learns BSS information based on 1240*03f9172cSAndroid Build Coastguard Worker previous scans, and uses that information to dynamically generate 1241*03f9172cSAndroid Build Coastguard Worker the list of channels for background scans. 1242*03f9172cSAndroid Build Coastguard Worker * Add a new debug message level for excessive information. Use 1243*03f9172cSAndroid Build Coastguard Worker -ddd to enable. 1244*03f9172cSAndroid Build Coastguard Worker * TLS: Add support for tls_disable_time_checks=1 in client mode. 1245*03f9172cSAndroid Build Coastguard Worker * Internal TLS: 1246*03f9172cSAndroid Build Coastguard Worker - Add support for TLS v1.1 (RFC 4346). Enable with build parameter 1247*03f9172cSAndroid Build Coastguard Worker CONFIG_TLSV11. 1248*03f9172cSAndroid Build Coastguard Worker - Add domainComponent parser for X.509 names. 1249*03f9172cSAndroid Build Coastguard Worker * Linux: Add RFKill support by adding an interface state "disabled". 1250*03f9172cSAndroid Build Coastguard Worker * Reorder some IEs to get closer to IEEE 802.11 standard. Move 1251*03f9172cSAndroid Build Coastguard Worker WMM into end of Beacon, Probe Resp and (Re)Assoc Resp frames. 1252*03f9172cSAndroid Build Coastguard Worker Move HT IEs to be later in (Re)Assoc Resp. 1253*03f9172cSAndroid Build Coastguard Worker * Solaris: Add support for wired 802.1X client. 1254*03f9172cSAndroid Build Coastguard Worker * Wi-Fi Direct support. See README-P2P for more information. 1255*03f9172cSAndroid Build Coastguard Worker * Many bugfixes. 1256*03f9172cSAndroid Build Coastguard Worker 1257*03f9172cSAndroid Build Coastguard Worker2010-04-18 - v0.7.2 1258*03f9172cSAndroid Build Coastguard Worker * nl80211: fixed number of issues with roaming 1259*03f9172cSAndroid Build Coastguard Worker * avoid unnecessary roaming if multiple APs with similar signal 1260*03f9172cSAndroid Build Coastguard Worker strength are present in scan results 1261*03f9172cSAndroid Build Coastguard Worker * add TLS client events and server probing to ease design of 1262*03f9172cSAndroid Build Coastguard Worker automatic detection of EAP parameters 1263*03f9172cSAndroid Build Coastguard Worker * add option for server certificate matching (SHA256 hash of the 1264*03f9172cSAndroid Build Coastguard Worker certificate) instead of trusted CA certificate configuration 1265*03f9172cSAndroid Build Coastguard Worker * bsd: Cleaned up driver wrapper and added various low-level 1266*03f9172cSAndroid Build Coastguard Worker configuration options 1267*03f9172cSAndroid Build Coastguard Worker * wpa_gui-qt4: do not show too frequent WPS AP available events as 1268*03f9172cSAndroid Build Coastguard Worker tray messages 1269*03f9172cSAndroid Build Coastguard Worker * TNC: fixed issues with fragmentation 1270*03f9172cSAndroid Build Coastguard Worker * EAP-TNC: add Flags field into fragment acknowledgement (needed to 1271*03f9172cSAndroid Build Coastguard Worker interoperate with other implementations; may potentially breaks 1272*03f9172cSAndroid Build Coastguard Worker compatibility with older wpa_supplicant/hostapd versions) 1273*03f9172cSAndroid Build Coastguard Worker * wpa_cli: added option for using a separate process to receive event 1274*03f9172cSAndroid Build Coastguard Worker messages to reduce latency in showing these 1275*03f9172cSAndroid Build Coastguard Worker (CFLAGS += -DCONFIG_WPA_CLI_FORK=y in .config to enable this) 1276*03f9172cSAndroid Build Coastguard Worker * maximum BSS table size can now be configured (bss_max_count) 1277*03f9172cSAndroid Build Coastguard Worker * BSSes to be included in the BSS table can be filtered based on 1278*03f9172cSAndroid Build Coastguard Worker configured SSIDs to save memory (filter_ssids) 1279*03f9172cSAndroid Build Coastguard Worker * fix number of issues with IEEE 802.11r/FT; this version is not 1280*03f9172cSAndroid Build Coastguard Worker backwards compatible with old versions 1281*03f9172cSAndroid Build Coastguard Worker * nl80211: add support for IEEE 802.11r/FT protocol (both over-the-air 1282*03f9172cSAndroid Build Coastguard Worker and over-the-DS) 1283*03f9172cSAndroid Build Coastguard Worker * add freq_list network configuration parameter to allow the AP 1284*03f9172cSAndroid Build Coastguard Worker selection to filter out entries based on the operating channel 1285*03f9172cSAndroid Build Coastguard Worker * add signal strength change events for bgscan; this allows more 1286*03f9172cSAndroid Build Coastguard Worker dynamic changes to background scanning interval based on changes in 1287*03f9172cSAndroid Build Coastguard Worker the signal strength with the current AP; this improves roaming within 1288*03f9172cSAndroid Build Coastguard Worker ESS quite a bit, e.g., with bgscan="simple:30:-45:300" in the network 1289*03f9172cSAndroid Build Coastguard Worker configuration block to request background scans less frequently when 1290*03f9172cSAndroid Build Coastguard Worker signal strength remains good and to automatically trigger background 1291*03f9172cSAndroid Build Coastguard Worker scans whenever signal strength drops noticeably 1292*03f9172cSAndroid Build Coastguard Worker (this is currently only available with nl80211) 1293*03f9172cSAndroid Build Coastguard Worker * add BSSID and reason code (if available) to disconnect event messages 1294*03f9172cSAndroid Build Coastguard Worker * wpa_gui-qt4: more complete support for translating the GUI with 1295*03f9172cSAndroid Build Coastguard Worker linguist and add German translation 1296*03f9172cSAndroid Build Coastguard Worker * fix DH padding with internal crypto code (mainly, for WPS) 1297*03f9172cSAndroid Build Coastguard Worker * do not trigger initial scan automatically anymore if there are no 1298*03f9172cSAndroid Build Coastguard Worker enabled networks 1299*03f9172cSAndroid Build Coastguard Worker 1300*03f9172cSAndroid Build Coastguard Worker2010-01-16 - v0.7.1 1301*03f9172cSAndroid Build Coastguard Worker * cleaned up driver wrapper API (struct wpa_driver_ops); the new API 1302*03f9172cSAndroid Build Coastguard Worker is not fully backwards compatible, so out-of-tree driver wrappers 1303*03f9172cSAndroid Build Coastguard Worker will need modifications 1304*03f9172cSAndroid Build Coastguard Worker * cleaned up various module interfaces 1305*03f9172cSAndroid Build Coastguard Worker * merge hostapd and wpa_supplicant developers' documentation into a 1306*03f9172cSAndroid Build Coastguard Worker single document 1307*03f9172cSAndroid Build Coastguard Worker * nl80211: use explicit deauthentication to clear cfg80211 state to 1308*03f9172cSAndroid Build Coastguard Worker avoid issues when roaming between APs 1309*03f9172cSAndroid Build Coastguard Worker * dbus: major design changes in the new D-Bus API 1310*03f9172cSAndroid Build Coastguard Worker (fi.w1.wpa_supplicant1) 1311*03f9172cSAndroid Build Coastguard Worker * nl80211: added support for IBSS networks 1312*03f9172cSAndroid Build Coastguard Worker * added internal debugging mechanism with backtrace support and memory 1313*03f9172cSAndroid Build Coastguard Worker allocation/freeing validation, etc. tests (CONFIG_WPA_TRACE=y) 1314*03f9172cSAndroid Build Coastguard Worker * added WPS ER unsubscription command to more cleanly unregister from 1315*03f9172cSAndroid Build Coastguard Worker receiving UPnP events when ER is terminated 1316*03f9172cSAndroid Build Coastguard Worker * cleaned up AP mode operations to avoid need for virtual driver_ops 1317*03f9172cSAndroid Build Coastguard Worker wrapper 1318*03f9172cSAndroid Build Coastguard Worker * added BSS table to maintain more complete scan result information 1319*03f9172cSAndroid Build Coastguard Worker over multiple scans (that may include only partial results) 1320*03f9172cSAndroid Build Coastguard Worker * wpa_gui-qt4: update Peers dialog information more dynamically while 1321*03f9172cSAndroid Build Coastguard Worker the dialog is kept open 1322*03f9172cSAndroid Build Coastguard Worker * fixed PKCS#12 use with OpenSSL 1.0.0 1323*03f9172cSAndroid Build Coastguard Worker * driver_wext: Added cfg80211-specific optimization to avoid some 1324*03f9172cSAndroid Build Coastguard Worker unnecessary scans and to speed up association 1325*03f9172cSAndroid Build Coastguard Worker 1326*03f9172cSAndroid Build Coastguard Worker2009-11-21 - v0.7.0 1327*03f9172cSAndroid Build Coastguard Worker * increased wpa_cli ping interval to 5 seconds and made this 1328*03f9172cSAndroid Build Coastguard Worker configurable with a new command line options (-G<seconds>) 1329*03f9172cSAndroid Build Coastguard Worker * fixed scan buffer processing with WEXT to handle up to 65535 1330*03f9172cSAndroid Build Coastguard Worker byte result buffer (previously, limited to 32768 bytes) 1331*03f9172cSAndroid Build Coastguard Worker * allow multiple driver wrappers to be specified on command line 1332*03f9172cSAndroid Build Coastguard Worker (e.g., -Dnl80211,wext); the first one that is able to initialize the 1333*03f9172cSAndroid Build Coastguard Worker interface will be used 1334*03f9172cSAndroid Build Coastguard Worker * added support for multiple SSIDs per scan request to optimize 1335*03f9172cSAndroid Build Coastguard Worker scan_ssid=1 operations in ap_scan=1 mode (i.e., search for hidden 1336*03f9172cSAndroid Build Coastguard Worker SSIDs); this requires driver support and can currently be used only 1337*03f9172cSAndroid Build Coastguard Worker with nl80211 1338*03f9172cSAndroid Build Coastguard Worker * added support for WPS USBA out-of-band mechanism with USB Flash 1339*03f9172cSAndroid Build Coastguard Worker Drives (UFD) (CONFIG_WPS_UFD=y) 1340*03f9172cSAndroid Build Coastguard Worker * driver_ndis: add PAE group address to the multicast address list to 1341*03f9172cSAndroid Build Coastguard Worker fix wired IEEE 802.1X authentication 1342*03f9172cSAndroid Build Coastguard Worker * fixed IEEE 802.11r key derivation function to match with the standard 1343*03f9172cSAndroid Build Coastguard Worker (note: this breaks interoperability with previous version) [Bug 303] 1344*03f9172cSAndroid Build Coastguard Worker * added better support for drivers that allow separate authentication 1345*03f9172cSAndroid Build Coastguard Worker and association commands (e.g., mac80211-based Linux drivers with 1346*03f9172cSAndroid Build Coastguard Worker nl80211; SME in wpa_supplicant); this allows over-the-air FT protocol 1347*03f9172cSAndroid Build Coastguard Worker to be used (IEEE 802.11r) 1348*03f9172cSAndroid Build Coastguard Worker * fixed SHA-256 based key derivation function to match with the 1349*03f9172cSAndroid Build Coastguard Worker standard when using CCMP (for IEEE 802.11r and IEEE 802.11w) 1350*03f9172cSAndroid Build Coastguard Worker (note: this breaks interoperability with previous version) [Bug 307] 1351*03f9172cSAndroid Build Coastguard Worker * use shared driver wrapper files with hostapd 1352*03f9172cSAndroid Build Coastguard Worker * added AP mode functionality (CONFIG_AP=y) with mode=2 in the network 1353*03f9172cSAndroid Build Coastguard Worker block; this can be used for open and WPA2-Personal networks 1354*03f9172cSAndroid Build Coastguard Worker (optionally, with WPS); this links in parts of hostapd functionality 1355*03f9172cSAndroid Build Coastguard Worker into wpa_supplicant 1356*03f9172cSAndroid Build Coastguard Worker * wpa_gui-qt4: added new Peers dialog to show information about peers 1357*03f9172cSAndroid Build Coastguard Worker (other devices, including APs and stations, etc. in the neighborhood) 1358*03f9172cSAndroid Build Coastguard Worker * added support for WPS External Registrar functionality (configure APs 1359*03f9172cSAndroid Build Coastguard Worker and enroll new devices); can be used with wpa_gui-qt4 Peers dialog 1360*03f9172cSAndroid Build Coastguard Worker and wpa_cli commands wps_er_start, wps_er_stop, wps_er_pin, 1361*03f9172cSAndroid Build Coastguard Worker wps_er_pbc, wps_er_learn 1362*03f9172cSAndroid Build Coastguard Worker (this can also be used with a new 'none' driver wrapper if no 1363*03f9172cSAndroid Build Coastguard Worker wireless device or IEEE 802.1X on wired is needed) 1364*03f9172cSAndroid Build Coastguard Worker * driver_nl80211: multiple updates to provide support for new Linux 1365*03f9172cSAndroid Build Coastguard Worker nl80211/mac80211 functionality 1366*03f9172cSAndroid Build Coastguard Worker * updated management frame protection to use IEEE Std 802.11w-2009 1367*03f9172cSAndroid Build Coastguard Worker * fixed number of small WPS issues and added workarounds to 1368*03f9172cSAndroid Build Coastguard Worker interoperate with common deployed broken implementations 1369*03f9172cSAndroid Build Coastguard Worker * added support for NFC out-of-band mechanism with WPS 1370*03f9172cSAndroid Build Coastguard Worker * driver_ndis: fixed wired IEEE 802.1X authentication with PAE group 1371*03f9172cSAndroid Build Coastguard Worker address frames 1372*03f9172cSAndroid Build Coastguard Worker * added preliminary support for IEEE 802.11r RIC processing 1373*03f9172cSAndroid Build Coastguard Worker * added support for specifying subset of enabled frequencies to scan 1374*03f9172cSAndroid Build Coastguard Worker (scan_freq option in the network configuration block); this can speed 1375*03f9172cSAndroid Build Coastguard Worker up scanning process considerably if it is known that only a small 1376*03f9172cSAndroid Build Coastguard Worker subset of channels is actually used in the network (this is currently 1377*03f9172cSAndroid Build Coastguard Worker supported only with -Dnl80211) 1378*03f9172cSAndroid Build Coastguard Worker * added a workaround for race condition between receiving the 1379*03f9172cSAndroid Build Coastguard Worker association event and the following EAPOL-Key 1380*03f9172cSAndroid Build Coastguard Worker * added background scan and roaming infrastructure to allow 1381*03f9172cSAndroid Build Coastguard Worker network-specific optimizations to be used to improve roaming within 1382*03f9172cSAndroid Build Coastguard Worker an ESS (same SSID) 1383*03f9172cSAndroid Build Coastguard Worker * added new DBus interface (fi.w1.wpa_supplicant1) 1384*03f9172cSAndroid Build Coastguard Worker 1385*03f9172cSAndroid Build Coastguard Worker2009-01-06 - v0.6.7 1386*03f9172cSAndroid Build Coastguard Worker * added support for Wi-Fi Protected Setup (WPS) 1387*03f9172cSAndroid Build Coastguard Worker (wpa_supplicant can now be configured to act as a WPS Enrollee to 1388*03f9172cSAndroid Build Coastguard Worker enroll credentials for a network using PIN and PBC methods; in 1389*03f9172cSAndroid Build Coastguard Worker addition, wpa_supplicant can act as a wireless WPS Registrar to 1390*03f9172cSAndroid Build Coastguard Worker configure an AP); WPS support can be enabled by adding CONFIG_WPS=y 1391*03f9172cSAndroid Build Coastguard Worker into .config and setting the runtime configuration variables in 1392*03f9172cSAndroid Build Coastguard Worker wpa_supplicant.conf (see WPS section in the example configuration 1393*03f9172cSAndroid Build Coastguard Worker file); new wpa_cli commands wps_pin, wps_pbc, and wps_reg are used to 1394*03f9172cSAndroid Build Coastguard Worker manage WPS negotiation; see README-WPS for more details 1395*03f9172cSAndroid Build Coastguard Worker * added support for EAP-AKA' (draft-arkko-eap-aka-kdf) 1396*03f9172cSAndroid Build Coastguard Worker * added support for using driver_test over UDP socket 1397*03f9172cSAndroid Build Coastguard Worker * fixed PEAPv0 Cryptobinding interoperability issue with Windows Server 1398*03f9172cSAndroid Build Coastguard Worker 2008 NPS; optional cryptobinding is now enabled (again) by default 1399*03f9172cSAndroid Build Coastguard Worker * fixed PSK editing in wpa_gui 1400*03f9172cSAndroid Build Coastguard Worker * changed EAP-GPSK to use the IANA assigned EAP method type 51 1401*03f9172cSAndroid Build Coastguard Worker * added a Windows installer that includes WinPcap and all the needed 1402*03f9172cSAndroid Build Coastguard Worker DLLs; in addition, it set up the registry automatically so that user 1403*03f9172cSAndroid Build Coastguard Worker will only need start wpa_gui to get prompted to start the wpasvc 1404*03f9172cSAndroid Build Coastguard Worker servide and add a new interface if needed through wpa_gui dialog 1405*03f9172cSAndroid Build Coastguard Worker * updated management frame protection to use IEEE 802.11w/D7.0 1406*03f9172cSAndroid Build Coastguard Worker 1407*03f9172cSAndroid Build Coastguard Worker2008-11-23 - v0.6.6 1408*03f9172cSAndroid Build Coastguard Worker * added Milenage SIM/USIM emulator for EAP-SIM/EAP-AKA 1409*03f9172cSAndroid Build Coastguard Worker (can be used to simulate test SIM/USIM card with a known private key; 1410*03f9172cSAndroid Build Coastguard Worker enable with CONFIG_SIM_SIMULATOR=y/CONFIG_USIM_SIMULATOR=y in .config 1411*03f9172cSAndroid Build Coastguard Worker and password="Ki:OPc"/password="Ki:OPc:SQN" in network configuration) 1412*03f9172cSAndroid Build Coastguard Worker * added a new network configuration option, wpa_ptk_rekey, that can be 1413*03f9172cSAndroid Build Coastguard Worker used to enforce frequent PTK rekeying, e.g., to mitigate some attacks 1414*03f9172cSAndroid Build Coastguard Worker against TKIP deficiencies 1415*03f9172cSAndroid Build Coastguard Worker * added an optional mitigation mechanism for certain attacks against 1416*03f9172cSAndroid Build Coastguard Worker TKIP by delaying Michael MIC error reports by a random amount of time 1417*03f9172cSAndroid Build Coastguard Worker between 0 and 60 seconds; this can be enabled with a build option 1418*03f9172cSAndroid Build Coastguard Worker CONFIG_DELAYED_MIC_ERROR_REPORT=y in .config 1419*03f9172cSAndroid Build Coastguard Worker * fixed EAP-AKA to use RES Length field in AT_RES as length in bits, 1420*03f9172cSAndroid Build Coastguard Worker not bytes 1421*03f9172cSAndroid Build Coastguard Worker * updated OpenSSL code for EAP-FAST to use an updated version of the 1422*03f9172cSAndroid Build Coastguard Worker session ticket overriding API that was included into the upstream 1423*03f9172cSAndroid Build Coastguard Worker OpenSSL 0.9.9 tree on 2008-11-15 (no additional OpenSSL patch is 1424*03f9172cSAndroid Build Coastguard Worker needed with that version anymore) 1425*03f9172cSAndroid Build Coastguard Worker * updated userspace MLME instructions to match with the current Linux 1426*03f9172cSAndroid Build Coastguard Worker mac80211 implementation; please also note that this can only be used 1427*03f9172cSAndroid Build Coastguard Worker with driver_nl80211.c (the old code from driver_wext.c was removed) 1428*03f9172cSAndroid Build Coastguard Worker * added support (Linux only) for RoboSwitch chipsets (often found in 1429*03f9172cSAndroid Build Coastguard Worker consumer grade routers); driver interface 'roboswitch' 1430*03f9172cSAndroid Build Coastguard Worker * fixed canceling of PMKSA caching when using drivers that generate 1431*03f9172cSAndroid Build Coastguard Worker RSN IE and refuse to drop PMKIDs that wpa_supplicant does not know 1432*03f9172cSAndroid Build Coastguard Worker about 1433*03f9172cSAndroid Build Coastguard Worker 1434*03f9172cSAndroid Build Coastguard Worker2008-11-01 - v0.6.5 1435*03f9172cSAndroid Build Coastguard Worker * added support for SHA-256 as X.509 certificate digest when using the 1436*03f9172cSAndroid Build Coastguard Worker internal X.509/TLSv1 implementation 1437*03f9172cSAndroid Build Coastguard Worker * updated management frame protection to use IEEE 802.11w/D6.0 1438*03f9172cSAndroid Build Coastguard Worker * added support for using SHA256-based stronger key derivation for WPA2 1439*03f9172cSAndroid Build Coastguard Worker (IEEE 802.11w) 1440*03f9172cSAndroid Build Coastguard Worker * fixed FT (IEEE 802.11r) authentication after a failed association to 1441*03f9172cSAndroid Build Coastguard Worker use correct FTIE 1442*03f9172cSAndroid Build Coastguard Worker * added support for configuring Phase 2 (inner/tunneled) authentication 1443*03f9172cSAndroid Build Coastguard Worker method with wpa_gui-qt4 1444*03f9172cSAndroid Build Coastguard Worker 1445*03f9172cSAndroid Build Coastguard Worker2008-08-10 - v0.6.4 1446*03f9172cSAndroid Build Coastguard Worker * added support for EAP Sequences in EAP-FAST Phase 2 1447*03f9172cSAndroid Build Coastguard Worker * added support for using TNC with EAP-FAST 1448*03f9172cSAndroid Build Coastguard Worker * added driver_ps3 for the PS3 Linux wireless driver 1449*03f9172cSAndroid Build Coastguard Worker * added support for optional cryptobinding with PEAPv0 1450*03f9172cSAndroid Build Coastguard Worker * fixed the OpenSSL patches (0.9.8g and 0.9.9) for EAP-FAST to 1451*03f9172cSAndroid Build Coastguard Worker allow fallback to full handshake if server rejects PAC-Opaque 1452*03f9172cSAndroid Build Coastguard Worker * added fragmentation support for EAP-TNC 1453*03f9172cSAndroid Build Coastguard Worker * added support for parsing PKCS #8 formatted private keys into the 1454*03f9172cSAndroid Build Coastguard Worker internal TLS implementation (both PKCS #1 RSA key and PKCS #8 1455*03f9172cSAndroid Build Coastguard Worker encapsulated RSA key can now be used) 1456*03f9172cSAndroid Build Coastguard Worker * added option of using faster, but larger, routines in the internal 1457*03f9172cSAndroid Build Coastguard Worker LibTomMath (for internal TLS implementation) to speed up DH and RSA 1458*03f9172cSAndroid Build Coastguard Worker calculations (CONFIG_INTERNAL_LIBTOMMATH_FAST=y) 1459*03f9172cSAndroid Build Coastguard Worker * fixed race condition between disassociation event and group key 1460*03f9172cSAndroid Build Coastguard Worker handshake to avoid getting stuck in incorrect state [Bug 261] 1461*03f9172cSAndroid Build Coastguard Worker * fixed opportunistic key caching (proactive_key_caching) 1462*03f9172cSAndroid Build Coastguard Worker 1463*03f9172cSAndroid Build Coastguard Worker2008-02-22 - v0.6.3 1464*03f9172cSAndroid Build Coastguard Worker * removed 'nai' and 'eappsk' network configuration variables that were 1465*03f9172cSAndroid Build Coastguard Worker previously used for configuring user identity and key for EAP-PSK, 1466*03f9172cSAndroid Build Coastguard Worker EAP-PAX, EAP-SAKE, and EAP-GPSK. 'identity' field is now used as the 1467*03f9172cSAndroid Build Coastguard Worker replacement for 'nai' (if old configuration used a separate 1468*03f9172cSAndroid Build Coastguard Worker 'identity' value, that would now be configured as 1469*03f9172cSAndroid Build Coastguard Worker 'anonymous_identity'). 'password' field is now used as the 1470*03f9172cSAndroid Build Coastguard Worker replacement for 'eappsk' (it can also be set using hexstring to 1471*03f9172cSAndroid Build Coastguard Worker present random binary data) 1472*03f9172cSAndroid Build Coastguard Worker * removed '-w' command line parameter (wait for interface to be added, 1473*03f9172cSAndroid Build Coastguard Worker if needed); cleaner way of handling this functionality is to use an 1474*03f9172cSAndroid Build Coastguard Worker external mechanism (e.g., hotplug scripts) that start wpa_supplicant 1475*03f9172cSAndroid Build Coastguard Worker when an interface is added 1476*03f9172cSAndroid Build Coastguard Worker * updated FT support to use the latest draft, IEEE 802.11r/D9.0 1477*03f9172cSAndroid Build Coastguard Worker * added ctrl_iface monitor event (CTRL-EVENT-SCAN-RESULTS) for 1478*03f9172cSAndroid Build Coastguard Worker indicating when new scan results become available 1479*03f9172cSAndroid Build Coastguard Worker * added new ctrl_iface command, BSS, to allow scan results to be 1480*03f9172cSAndroid Build Coastguard Worker fetched without hitting the message size limits (this command 1481*03f9172cSAndroid Build Coastguard Worker can be used to iterate through the scan results one BSS at the time) 1482*03f9172cSAndroid Build Coastguard Worker * fixed EAP-SIM not to include AT_NONCE_MT and AT_SELECTED_VERSION 1483*03f9172cSAndroid Build Coastguard Worker attributes in EAP-SIM Start/Response when using fast reauthentication 1484*03f9172cSAndroid Build Coastguard Worker * fixed EAPOL not to end up in infinite loop when processing dynamic 1485*03f9172cSAndroid Build Coastguard Worker WEP keys with IEEE 802.1X 1486*03f9172cSAndroid Build Coastguard Worker * fixed problems in getting NDIS events from WMI on Windows 2000 1487*03f9172cSAndroid Build Coastguard Worker 1488*03f9172cSAndroid Build Coastguard Worker2008-01-01 - v0.6.2 1489*03f9172cSAndroid Build Coastguard Worker * added support for Makefile builds to include debug-log-to-a-file 1490*03f9172cSAndroid Build Coastguard Worker functionality (CONFIG_DEBUG_FILE=y and -f<path> on command line) 1491*03f9172cSAndroid Build Coastguard Worker * fixed EAP-SIM and EAP-AKA message parser to validate attribute 1492*03f9172cSAndroid Build Coastguard Worker lengths properly to avoid potential crash caused by invalid messages 1493*03f9172cSAndroid Build Coastguard Worker * added data structure for storing allocated buffers (struct wpabuf); 1494*03f9172cSAndroid Build Coastguard Worker this does not affect wpa_supplicant usage, but many of the APIs 1495*03f9172cSAndroid Build Coastguard Worker changed and various interfaces (e.g., EAP) is not compatible with old 1496*03f9172cSAndroid Build Coastguard Worker versions 1497*03f9172cSAndroid Build Coastguard Worker * added support for protecting EAP-AKA/Identity messages with 1498*03f9172cSAndroid Build Coastguard Worker AT_CHECKCODE (optional feature in RFC 4187) 1499*03f9172cSAndroid Build Coastguard Worker * added support for protected result indication with AT_RESULT_IND for 1500*03f9172cSAndroid Build Coastguard Worker EAP-SIM and EAP-AKA (phase1="result_ind=1") 1501*03f9172cSAndroid Build Coastguard Worker * added driver_wext workaround for race condition between scanning and 1502*03f9172cSAndroid Build Coastguard Worker association with drivers that take very long time to scan all 1503*03f9172cSAndroid Build Coastguard Worker channels (e.g., madwifi with dual-band cards); wpa_supplicant is now 1504*03f9172cSAndroid Build Coastguard Worker using a longer hardcoded timeout for the scan if the driver supports 1505*03f9172cSAndroid Build Coastguard Worker notifications for scan completion (SIOCGIWSCAN event); this helps, 1506*03f9172cSAndroid Build Coastguard Worker e.g., in cases where wpa_supplicant and madwifi driver ended up in 1507*03f9172cSAndroid Build Coastguard Worker loop where the driver did not even try to associate 1508*03f9172cSAndroid Build Coastguard Worker * stop EAPOL timer tick when no timers are in use in order to reduce 1509*03f9172cSAndroid Build Coastguard Worker power consumption (no need to wake up the process once per second) 1510*03f9172cSAndroid Build Coastguard Worker [Bug 237] 1511*03f9172cSAndroid Build Coastguard Worker * added support for privilege separation (run only minimal part of 1512*03f9172cSAndroid Build Coastguard Worker wpa_supplicant functionality as root and rest as unprivileged, 1513*03f9172cSAndroid Build Coastguard Worker non-root process); see 'Privilege separation' in README for details; 1514*03f9172cSAndroid Build Coastguard Worker this is disabled by default and can be enabled with CONFIG_PRIVSEP=y 1515*03f9172cSAndroid Build Coastguard Worker in .config 1516*03f9172cSAndroid Build Coastguard Worker * changed scan results data structure to include all information 1517*03f9172cSAndroid Build Coastguard Worker elements to make it easier to support new IEs; old get_scan_result() 1518*03f9172cSAndroid Build Coastguard Worker driver_ops is still supported for backwards compatibility (results 1519*03f9172cSAndroid Build Coastguard Worker are converted internally to the new format), but all drivers should 1520*03f9172cSAndroid Build Coastguard Worker start using the new get_scan_results2() to make them more likely to 1521*03f9172cSAndroid Build Coastguard Worker work with new features 1522*03f9172cSAndroid Build Coastguard Worker * Qt4 version of wpa_gui (wpa_gui-qt4 subdirectory) is now native Qt4 1523*03f9172cSAndroid Build Coastguard Worker application, i.e., it does not require Qt3Support anymore; Windows 1524*03f9172cSAndroid Build Coastguard Worker binary of wpa_gui.exe is now from this directory and only requires 1525*03f9172cSAndroid Build Coastguard Worker QtCore4.dll and QtGui4.dll libraries 1526*03f9172cSAndroid Build Coastguard Worker * updated Windows binary build to use Qt 4.3.3 and made Qt DLLs 1527*03f9172cSAndroid Build Coastguard Worker available as a separate package to make wpa_gui installation easier: 1528*03f9172cSAndroid Build Coastguard Worker http://w1.fi/wpa_supplicant/qt4/wpa_gui-qt433-windows-dll.zip 1529*03f9172cSAndroid Build Coastguard Worker * added support for EAP-IKEv2 (draft-tschofenig-eap-ikev2-15.txt); 1530*03f9172cSAndroid Build Coastguard Worker only shared key/password authentication is supported in this version 1531*03f9172cSAndroid Build Coastguard Worker 1532*03f9172cSAndroid Build Coastguard Worker2007-11-24 - v0.6.1 1533*03f9172cSAndroid Build Coastguard Worker * added support for configuring password as NtPasswordHash 1534*03f9172cSAndroid Build Coastguard Worker (16-byte MD4 hash of password) in hash:<32 hex digits> format 1535*03f9172cSAndroid Build Coastguard Worker * added support for fallback from abbreviated TLS handshake to 1536*03f9172cSAndroid Build Coastguard Worker full handshake when using EAP-FAST (e.g., due to an expired 1537*03f9172cSAndroid Build Coastguard Worker PAC-Opaque) 1538*03f9172cSAndroid Build Coastguard Worker * updated EAP Generalized Pre-Shared Key (EAP-GPSK) to use the latest 1539*03f9172cSAndroid Build Coastguard Worker draft (draft-ietf-emu-eap-gpsk-07.txt) 1540*03f9172cSAndroid Build Coastguard Worker * added support for drivers that take care of RSN 4-way handshake 1541*03f9172cSAndroid Build Coastguard Worker internally (WPA_DRIVER_FLAGS_4WAY_HANDSHAKE in get_capa flags and 1542*03f9172cSAndroid Build Coastguard Worker WPA_ALG_PMK in set_key) 1543*03f9172cSAndroid Build Coastguard Worker * added an experimental port for Mac OS X (CONFIG_DRIVER_OSX=y in 1544*03f9172cSAndroid Build Coastguard Worker .config); this version supports only ap_scan=2 mode and allow the 1545*03f9172cSAndroid Build Coastguard Worker driver to take care of the 4-way handshake 1546*03f9172cSAndroid Build Coastguard Worker * fixed a buffer overflow in parsing TSF from scan results when using 1547*03f9172cSAndroid Build Coastguard Worker driver_wext.c with a driver that includes the TSF (e.g., iwl4965) 1548*03f9172cSAndroid Build Coastguard Worker [Bug 232] 1549*03f9172cSAndroid Build Coastguard Worker * updated FT support to use the latest draft, IEEE 802.11r/D8.0 1550*03f9172cSAndroid Build Coastguard Worker * fixed an integer overflow issue in the ASN.1 parser used by the 1551*03f9172cSAndroid Build Coastguard Worker (experimental) internal TLS implementation to avoid a potential 1552*03f9172cSAndroid Build Coastguard Worker buffer read overflow 1553*03f9172cSAndroid Build Coastguard Worker * fixed a race condition with -W option (wait for a control interface 1554*03f9172cSAndroid Build Coastguard Worker monitor before starting) that could have caused the first messages to 1555*03f9172cSAndroid Build Coastguard Worker be lost 1556*03f9172cSAndroid Build Coastguard Worker * added support for processing TNCC-TNCS-Messages to report 1557*03f9172cSAndroid Build Coastguard Worker recommendation (allow/none/isolate) when using TNC [Bug 243] 1558*03f9172cSAndroid Build Coastguard Worker 1559*03f9172cSAndroid Build Coastguard Worker2007-05-28 - v0.6.0 1560*03f9172cSAndroid Build Coastguard Worker * added network configuration parameter 'frequency' for setting 1561*03f9172cSAndroid Build Coastguard Worker initial channel for IBSS (adhoc) networks 1562*03f9172cSAndroid Build Coastguard Worker * added experimental IEEE 802.11r/D6.0 support 1563*03f9172cSAndroid Build Coastguard Worker * updated EAP-SAKE to RFC 4763 and the IANA-allocated EAP type 48 1564*03f9172cSAndroid Build Coastguard Worker * updated EAP-PSK to use the IANA-allocated EAP type 47 1565*03f9172cSAndroid Build Coastguard Worker * fixed EAP-PAX key derivation 1566*03f9172cSAndroid Build Coastguard Worker * fixed EAP-PSK bit ordering of the Flags field 1567*03f9172cSAndroid Build Coastguard Worker * fixed EAP-PEAP/TTLS/FAST to use the correct EAP identifier in 1568*03f9172cSAndroid Build Coastguard Worker tunnelled identity request (previously, the identifier from the outer 1569*03f9172cSAndroid Build Coastguard Worker method was used, not the tunnelled identifier which could be 1570*03f9172cSAndroid Build Coastguard Worker different) 1571*03f9172cSAndroid Build Coastguard Worker * added support for fragmentation of outer TLS packets during Phase 2 1572*03f9172cSAndroid Build Coastguard Worker of EAP-PEAP/TTLS/FAST 1573*03f9172cSAndroid Build Coastguard Worker * fixed EAP-TTLS AVP parser processing for too short AVP lengths 1574*03f9172cSAndroid Build Coastguard Worker * added support for EAP-FAST authentication with inner methods that 1575*03f9172cSAndroid Build Coastguard Worker generate MSK (e.g., EAP-MSCHAPv2 that was previously only supported 1576*03f9172cSAndroid Build Coastguard Worker for PAC provisioning) 1577*03f9172cSAndroid Build Coastguard Worker * added support for authenticated EAP-FAST provisioning 1578*03f9172cSAndroid Build Coastguard Worker * added support for configuring maximum number of EAP-FAST PACs to 1579*03f9172cSAndroid Build Coastguard Worker store in a PAC list (fast_max_pac_list_len=<max> in phase1 string) 1580*03f9172cSAndroid Build Coastguard Worker * added support for storing EAP-FAST PACs in binary format 1581*03f9172cSAndroid Build Coastguard Worker (fast_pac_format=binary in phase1 string) 1582*03f9172cSAndroid Build Coastguard Worker * fixed dbus ctrl_iface to validate message interface before 1583*03f9172cSAndroid Build Coastguard Worker dispatching to avoid a possible segfault [Bug 190] 1584*03f9172cSAndroid Build Coastguard Worker * fixed PeerKey key derivation to use the correct PRF label 1585*03f9172cSAndroid Build Coastguard Worker * updated Windows binary build to link against OpenSSL 0.9.8d and 1586*03f9172cSAndroid Build Coastguard Worker added support for EAP-FAST 1587*03f9172cSAndroid Build Coastguard Worker * updated EAP Generalized Pre-Shared Key (EAP-GPSK) to use the latest 1588*03f9172cSAndroid Build Coastguard Worker draft (draft-ietf-emu-eap-gpsk-04.txt) 1589*03f9172cSAndroid Build Coastguard Worker * fixed EAP-AKA Notification processing to allow Notification to be 1590*03f9172cSAndroid Build Coastguard Worker processed after AKA Challenge response has been sent 1591*03f9172cSAndroid Build Coastguard Worker * updated to use IEEE 802.11w/D2.0 for management frame protection 1592*03f9172cSAndroid Build Coastguard Worker (still experimental) 1593*03f9172cSAndroid Build Coastguard Worker * fixed EAP-TTLS implementation not to crash on use of freed memory 1594*03f9172cSAndroid Build Coastguard Worker if TLS library initialization fails 1595*03f9172cSAndroid Build Coastguard Worker * added support for EAP-TNC (Trusted Network Connect) 1596*03f9172cSAndroid Build Coastguard Worker (this version implements the EAP-TNC method and EAP-TTLS changes 1597*03f9172cSAndroid Build Coastguard Worker needed to run two methods in sequence (IF-T) and the IF-IMC and 1598*03f9172cSAndroid Build Coastguard Worker IF-TNCCS interfaces from TNCC) 1599*03f9172cSAndroid Build Coastguard Worker 1600*03f9172cSAndroid Build Coastguard Worker2006-11-24 - v0.5.6 1601*03f9172cSAndroid Build Coastguard Worker * added experimental, integrated TLSv1 client implementation with the 1602*03f9172cSAndroid Build Coastguard Worker needed X.509/ASN.1/RSA/bignum processing (this can be enabled by 1603*03f9172cSAndroid Build Coastguard Worker setting CONFIG_TLS=internal and CONFIG_INTERNAL_LIBTOMMATH=y in 1604*03f9172cSAndroid Build Coastguard Worker .config); this can be useful, e.g., if the target system does not 1605*03f9172cSAndroid Build Coastguard Worker have a suitable TLS library and a minimal code size is required 1606*03f9172cSAndroid Build Coastguard Worker (total size of this internal TLS/crypto code is bit under 50 kB on 1607*03f9172cSAndroid Build Coastguard Worker x86 and the crypto code is shared by rest of the supplicant so some 1608*03f9172cSAndroid Build Coastguard Worker of it was already required; TLSv1/X.509/ASN.1/RSA added about 25 kB) 1609*03f9172cSAndroid Build Coastguard Worker * removed STAKey handshake since PeerKey handshake has replaced it in 1610*03f9172cSAndroid Build Coastguard Worker IEEE 802.11ma and there are no known deployments of STAKey 1611*03f9172cSAndroid Build Coastguard Worker * updated EAP Generalized Pre-Shared Key (EAP-GPSK) to use the latest 1612*03f9172cSAndroid Build Coastguard Worker draft (draft-ietf-emu-eap-gpsk-01.txt) 1613*03f9172cSAndroid Build Coastguard Worker * added preliminary implementation of IEEE 802.11w/D1.0 (management 1614*03f9172cSAndroid Build Coastguard Worker frame protection) 1615*03f9172cSAndroid Build Coastguard Worker (Note: this requires driver support to work properly.) 1616*03f9172cSAndroid Build Coastguard Worker (Note2: IEEE 802.11w is an unapproved draft and subject to change.) 1617*03f9172cSAndroid Build Coastguard Worker * fixed Windows named pipes ctrl_iface to not stop listening for 1618*03f9172cSAndroid Build Coastguard Worker commands if client program opens a named pipe and closes it 1619*03f9172cSAndroid Build Coastguard Worker immediately without sending a command 1620*03f9172cSAndroid Build Coastguard Worker * fixed USIM PIN status determination for the case that PIN is not 1621*03f9172cSAndroid Build Coastguard Worker needed (this allows EAP-AKA to be used with USIM cards that do not 1622*03f9172cSAndroid Build Coastguard Worker use PIN) 1623*03f9172cSAndroid Build Coastguard Worker * added support for reading 3G USIM AID from EF_DIR to allow EAP-AKA to 1624*03f9172cSAndroid Build Coastguard Worker be used with cards that do not support file selection based on 1625*03f9172cSAndroid Build Coastguard Worker partial AID 1626*03f9172cSAndroid Build Coastguard Worker * added support for matching the subjectAltName of the authentication 1627*03f9172cSAndroid Build Coastguard Worker server certificate against multiple name components (e.g., 1628*03f9172cSAndroid Build Coastguard Worker altsubject_match="DNS:server.example.com;DNS:server2.example.com") 1629*03f9172cSAndroid Build Coastguard Worker * fixed EAP-SIM/AKA key derivation for re-authentication case (only 1630*03f9172cSAndroid Build Coastguard Worker affects IEEE 802.1X with dynamic WEP keys) 1631*03f9172cSAndroid Build Coastguard Worker * changed ctrl_iface network configuration 'get' operations to not 1632*03f9172cSAndroid Build Coastguard Worker return password/key material; if these fields are requested, "*" 1633*03f9172cSAndroid Build Coastguard Worker will be returned if the password/key is set, but the value of the 1634*03f9172cSAndroid Build Coastguard Worker parameter is not exposed 1635*03f9172cSAndroid Build Coastguard Worker 1636*03f9172cSAndroid Build Coastguard Worker2006-08-27 - v0.5.5 1637*03f9172cSAndroid Build Coastguard Worker * added support for building Windows version with UNICODE defined 1638*03f9172cSAndroid Build Coastguard Worker (wide-char functions) 1639*03f9172cSAndroid Build Coastguard Worker * driver_ndis: fixed static WEP configuration to avoid race condition 1640*03f9172cSAndroid Build Coastguard Worker issues with some NDIS drivers between association and setting WEP 1641*03f9172cSAndroid Build Coastguard Worker keys 1642*03f9172cSAndroid Build Coastguard Worker * driver_ndis: added validation for IELength value in scan results to 1643*03f9172cSAndroid Build Coastguard Worker avoid crashes when using buggy NDIS drivers [Bug 165] 1644*03f9172cSAndroid Build Coastguard Worker * fixed Release|Win32 target in the Visual Studio project files 1645*03f9172cSAndroid Build Coastguard Worker (previously, only Debug|Win32 target was set properly) 1646*03f9172cSAndroid Build Coastguard Worker * changed control interface API call wpa_ctrl_pending() to allow it to 1647*03f9172cSAndroid Build Coastguard Worker return -1 on error (e.g., connection lost); control interface clients 1648*03f9172cSAndroid Build Coastguard Worker will need to make sure that they verify that the value is indeed >0 1649*03f9172cSAndroid Build Coastguard Worker when determining whether there are pending messages 1650*03f9172cSAndroid Build Coastguard Worker * added an alternative control interface backend for Windows targets: 1651*03f9172cSAndroid Build Coastguard Worker Named Pipe (CONFIG_CTRL_IFACE=named_pipe); this is now the default 1652*03f9172cSAndroid Build Coastguard Worker control interface mechanism for Windows builds (previously, UDP to 1653*03f9172cSAndroid Build Coastguard Worker localhost was used) 1654*03f9172cSAndroid Build Coastguard Worker * changed ctrl_interface configuration for UNIX domain sockets: 1655*03f9172cSAndroid Build Coastguard Worker - deprecated ctrl_interface_group variable (it may be removed in 1656*03f9172cSAndroid Build Coastguard Worker future versions) 1657*03f9172cSAndroid Build Coastguard Worker - allow both directory and group be configured with ctrl_interface 1658*03f9172cSAndroid Build Coastguard Worker in following format: DIR=/var/run/wpa_supplicant GROUP=wheel 1659*03f9172cSAndroid Build Coastguard Worker - ctrl_interface=/var/run/wpa_supplicant is still supported for the 1660*03f9172cSAndroid Build Coastguard Worker case when group is not changed 1661*03f9172cSAndroid Build Coastguard Worker * added support for controlling more than one interface per process in 1662*03f9172cSAndroid Build Coastguard Worker Windows version 1663*03f9172cSAndroid Build Coastguard Worker * added a workaround for a case where the AP is using unknown address 1664*03f9172cSAndroid Build Coastguard Worker (e.g., MAC address of the wired interface) as the source address for 1665*03f9172cSAndroid Build Coastguard Worker EAPOL-Key frames; previously, that source address was used as the 1666*03f9172cSAndroid Build Coastguard Worker destination for EAPOL-Key frames and in key derivation; now, BSSID is 1667*03f9172cSAndroid Build Coastguard Worker used even if the source address does not match with it 1668*03f9172cSAndroid Build Coastguard Worker (this resolves an interoperability issue with Thomson SpeedTouch 580) 1669*03f9172cSAndroid Build Coastguard Worker * added a workaround for UDP-based control interface (which was used in 1670*03f9172cSAndroid Build Coastguard Worker Windows builds before this release) to prevent packets with forged 1671*03f9172cSAndroid Build Coastguard Worker addresses from being accepted as local control requests 1672*03f9172cSAndroid Build Coastguard Worker * removed ndis_events.cpp and possibility of using external 1673*03f9172cSAndroid Build Coastguard Worker ndis_events.exe; C version (ndis_events.c) is fully functional and 1674*03f9172cSAndroid Build Coastguard Worker there is no desire to maintain two separate versions of this 1675*03f9172cSAndroid Build Coastguard Worker implementation 1676*03f9172cSAndroid Build Coastguard Worker * ndis_events: Changed NDIS event notification design to use WMI to 1677*03f9172cSAndroid Build Coastguard Worker learn the adapter description through Win32_PnPEntity class; this 1678*03f9172cSAndroid Build Coastguard Worker should fix some cases where the adapter name was not recognized 1679*03f9172cSAndroid Build Coastguard Worker correctly (e.g., with some USB WLAN adapters, e.g., Ralink RT2500 1680*03f9172cSAndroid Build Coastguard Worker USB) [Bug 113] 1681*03f9172cSAndroid Build Coastguard Worker * fixed selection of the first network in ap_scan=2 mode; previously, 1682*03f9172cSAndroid Build Coastguard Worker wpa_supplicant could get stuck in SCANNING state when only the first 1683*03f9172cSAndroid Build Coastguard Worker network for enabled (e.g., after 'wpa_cli select_network 0') 1684*03f9172cSAndroid Build Coastguard Worker * winsvc: added support for configuring ctrl_interface parameters in 1685*03f9172cSAndroid Build Coastguard Worker registry (ctrl_interface string value in 1686*03f9172cSAndroid Build Coastguard Worker HKLM\SOFTWARE\wpa_supplicant\interfaces\0000 key); this new value is 1687*03f9172cSAndroid Build Coastguard Worker required to enable control interface (previously, this was hardcoded 1688*03f9172cSAndroid Build Coastguard Worker to be enabled) 1689*03f9172cSAndroid Build Coastguard Worker * allow wpa_gui subdirectory to be built with both Qt3 and Qt4 1690*03f9172cSAndroid Build Coastguard Worker * converted wpa_gui-qt4 subdirectory to use Qt4 specific project format 1691*03f9172cSAndroid Build Coastguard Worker 1692*03f9172cSAndroid Build Coastguard Worker2006-06-20 - v0.5.4 1693*03f9172cSAndroid Build Coastguard Worker * fixed build with CONFIG_STAKEY=y [Bug 143] 1694*03f9172cSAndroid Build Coastguard Worker * added support for doing MLME (IEEE 802.11 management frame 1695*03f9172cSAndroid Build Coastguard Worker processing) in wpa_supplicant when using Devicescape IEEE 802.11 1696*03f9172cSAndroid Build Coastguard Worker stack (wireless-dev.git tree) 1697*03f9172cSAndroid Build Coastguard Worker * added a new network block configuration option, fragment_size, to 1698*03f9172cSAndroid Build Coastguard Worker configure the maximum EAP fragment size 1699*03f9172cSAndroid Build Coastguard Worker * driver_ndis: Disable WZC automatically for the selected interface to 1700*03f9172cSAndroid Build Coastguard Worker avoid conflicts with two programs trying to control the radio; WZC 1701*03f9172cSAndroid Build Coastguard Worker will be re-enabled (if it was enabled originally) when wpa_supplicant 1702*03f9172cSAndroid Build Coastguard Worker is terminated 1703*03f9172cSAndroid Build Coastguard Worker * added an experimental TLSv1 client implementation 1704*03f9172cSAndroid Build Coastguard Worker (CONFIG_TLS=internal) that can be used instead of an external TLS 1705*03f9172cSAndroid Build Coastguard Worker library, e.g., to reduce total size requirement on systems that do 1706*03f9172cSAndroid Build Coastguard Worker not include any TLS library by default (this is not yet complete; 1707*03f9172cSAndroid Build Coastguard Worker basic functionality is there, but certificate validation is not yet 1708*03f9172cSAndroid Build Coastguard Worker included) 1709*03f9172cSAndroid Build Coastguard Worker * added PeerKey handshake implementation for IEEE 802.11e 1710*03f9172cSAndroid Build Coastguard Worker direct link setup (DLS) to replace STAKey handshake 1711*03f9172cSAndroid Build Coastguard Worker * fixed WPA PSK update through ctrl_iface for the case where the old 1712*03f9172cSAndroid Build Coastguard Worker PSK was derived from an ASCII passphrase and the new PSK is set as 1713*03f9172cSAndroid Build Coastguard Worker a raw PSK (hex string) 1714*03f9172cSAndroid Build Coastguard Worker * added new configuration option for identifying which network block 1715*03f9172cSAndroid Build Coastguard Worker was used (id_str in wpa_supplicant.conf; included on 1716*03f9172cSAndroid Build Coastguard Worker WPA_EVENT_CONNECT monitor event and as WPA_ID_STR environmental 1717*03f9172cSAndroid Build Coastguard Worker variable in wpa_cli action scripts; in addition WPA_ID variable is 1718*03f9172cSAndroid Build Coastguard Worker set to the current unique identifier that wpa_supplicant assigned 1719*03f9172cSAndroid Build Coastguard Worker automatically for the network and that can be used with 1720*03f9172cSAndroid Build Coastguard Worker GET_NETWORK/SET_NETWORK ctrl_iface commands) 1721*03f9172cSAndroid Build Coastguard Worker * wpa_cli action script is now called only when the connect/disconnect 1722*03f9172cSAndroid Build Coastguard Worker status changes or when associating with a different network 1723*03f9172cSAndroid Build Coastguard Worker * fixed configuration parser not to remove CCMP from group cipher list 1724*03f9172cSAndroid Build Coastguard Worker if WPA-None (adhoc) is used (pairwise=NONE in that case) 1725*03f9172cSAndroid Build Coastguard Worker * fixed integrated NDIS events processing not to hang the process due 1726*03f9172cSAndroid Build Coastguard Worker to a missed change in eloop_win.c API in v0.5.3 [Bug 155] 1727*03f9172cSAndroid Build Coastguard Worker * added support for EAP Generalized Pre-Shared Key (EAP-GPSK, 1728*03f9172cSAndroid Build Coastguard Worker draft-clancy-emu-eap-shared-secret-00.txt) 1729*03f9172cSAndroid Build Coastguard Worker * added Microsoft Visual Studio 2005 solution and project files for 1730*03f9172cSAndroid Build Coastguard Worker build wpa_supplicant for Windows (see vs2005 subdirectory) 1731*03f9172cSAndroid Build Coastguard Worker * eloop_win: fixed unregistration of Windows events 1732*03f9172cSAndroid Build Coastguard Worker * l2_packet_winpcap: fixed a deadlock in deinitializing l2_packet 1733*03f9172cSAndroid Build Coastguard Worker at the end of RSN pre-authentication and added unregistration of 1734*03f9172cSAndroid Build Coastguard Worker a Windows event to avoid getting eloop_win stuck with an invalid 1735*03f9172cSAndroid Build Coastguard Worker handle 1736*03f9172cSAndroid Build Coastguard Worker * driver_ndis: added support for selecting AP based on BSSID 1737*03f9172cSAndroid Build Coastguard Worker * added new environmental variable for wpa_cli action scripts: 1738*03f9172cSAndroid Build Coastguard Worker WPA_CTRL_DIR is the current control interface directory 1739*03f9172cSAndroid Build Coastguard Worker * driver_ndis: added support for using NDISUIO instead of WinPcap for 1740*03f9172cSAndroid Build Coastguard Worker OID set/query operations (CONFIG_USE_NDISUIO=y in .config); with new 1741*03f9172cSAndroid Build Coastguard Worker l2_packet_ndis (CONFIG_L2_PACKET=ndis), this can be used to build 1742*03f9172cSAndroid Build Coastguard Worker wpa_supplicant without requiring WinPcap; note that using NDISUIO 1743*03f9172cSAndroid Build Coastguard Worker requires that WZC is disabled (net stop wzcsvc) since NDISUIO allows 1744*03f9172cSAndroid Build Coastguard Worker only one application to open the device 1745*03f9172cSAndroid Build Coastguard Worker * changed NDIS driver naming to only include device GUID, e.g., 1746*03f9172cSAndroid Build Coastguard Worker {7EE3EFE5-C165-472F-986D-F6FBEDFE8C8D}, instead of including WinPcap 1747*03f9172cSAndroid Build Coastguard Worker specific \Device\NPF_ prefix before the GUID; the prefix is still 1748*03f9172cSAndroid Build Coastguard Worker allowed for backwards compatibility, but it is not required anymore 1749*03f9172cSAndroid Build Coastguard Worker when specifying the interface 1750*03f9172cSAndroid Build Coastguard Worker * driver_ndis: re-initialize driver interface is the adapter is removed 1751*03f9172cSAndroid Build Coastguard Worker and re-inserted [Bug 159] 1752*03f9172cSAndroid Build Coastguard Worker * driver_madwifi: fixed TKIP and CCMP sequence number configuration on 1753*03f9172cSAndroid Build Coastguard Worker big endian hosts [Bug 146] 1754*03f9172cSAndroid Build Coastguard Worker 1755*03f9172cSAndroid Build Coastguard Worker2006-04-27 - v0.5.3 1756*03f9172cSAndroid Build Coastguard Worker * fixed EAP-GTC response to include correct user identity when run as 1757*03f9172cSAndroid Build Coastguard Worker phase 2 method of EAP-FAST (i.e., EAP-FAST did not work in v0.5.2) 1758*03f9172cSAndroid Build Coastguard Worker * driver_ndis: Fixed encryption mode configuration for unencrypted 1759*03f9172cSAndroid Build Coastguard Worker networks (some NDIS drivers ignored this, but others, e.g., Broadcom, 1760*03f9172cSAndroid Build Coastguard Worker refused to associate with open networks) [Bug 106] 1761*03f9172cSAndroid Build Coastguard Worker * driver_ndis: use BSSID OID polling to detect when IBSS network is 1762*03f9172cSAndroid Build Coastguard Worker formed even when ndis_events code is included since some NDIS drivers 1763*03f9172cSAndroid Build Coastguard Worker do not generate media connect events in IBSS mode 1764*03f9172cSAndroid Build Coastguard Worker * config_winreg: allow global ctrl_interface parameter to be configured 1765*03f9172cSAndroid Build Coastguard Worker in Windows registry 1766*03f9172cSAndroid Build Coastguard Worker * config_winreg: added support for saving configuration data into 1767*03f9172cSAndroid Build Coastguard Worker Windows registry 1768*03f9172cSAndroid Build Coastguard Worker * added support for controlling network device operational state 1769*03f9172cSAndroid Build Coastguard Worker (dormant/up) for Linux 2.6.17 to improve DHCP processing (see 1770*03f9172cSAndroid Build Coastguard Worker http://www.flamewarmaster.de/software/dhcpclient/ for a DHCP client 1771*03f9172cSAndroid Build Coastguard Worker that can use this information) 1772*03f9172cSAndroid Build Coastguard Worker * driver_wext: added support for WE-21 change to SSID configuration 1773*03f9172cSAndroid Build Coastguard Worker * driver_wext: fixed privacy configuration for static WEP keys mode 1774*03f9172cSAndroid Build Coastguard Worker [Bug 140] 1775*03f9172cSAndroid Build Coastguard Worker * added an optional driver_ops callback for MLME-SETPROTECTION.request 1776*03f9172cSAndroid Build Coastguard Worker primitive 1777*03f9172cSAndroid Build Coastguard Worker * added support for EAP-SAKE (no EAP method number allocated yet, so 1778*03f9172cSAndroid Build Coastguard Worker this is using the same experimental type 255 as EAP-PSK) 1779*03f9172cSAndroid Build Coastguard Worker * added support for dynamically loading EAP methods (.so files) instead 1780*03f9172cSAndroid Build Coastguard Worker of requiring them to be statically linked in; this is disabled by 1781*03f9172cSAndroid Build Coastguard Worker default (see CONFIG_DYNAMIC_EAP_METHODS in defconfig for information 1782*03f9172cSAndroid Build Coastguard Worker on how to use this) 1783*03f9172cSAndroid Build Coastguard Worker 1784*03f9172cSAndroid Build Coastguard Worker2006-03-19 - v0.5.2 1785*03f9172cSAndroid Build Coastguard Worker * do not try to use USIM APDUs when initializing PC/SC for SIM card 1786*03f9172cSAndroid Build Coastguard Worker access for a network that has not enabled EAP-AKA 1787*03f9172cSAndroid Build Coastguard Worker * fixed EAP phase 2 Nak for EAP-{PEAP,TTLS,FAST} (this was broken in 1788*03f9172cSAndroid Build Coastguard Worker v0.5.1 due to the new support for expanded EAP types) 1789*03f9172cSAndroid Build Coastguard Worker * added support for generating EAP Expanded Nak 1790*03f9172cSAndroid Build Coastguard Worker * try to fetch scan results once before requesting new scan when 1791*03f9172cSAndroid Build Coastguard Worker starting up in ap_scan=1 mode (this can speed up initial association 1792*03f9172cSAndroid Build Coastguard Worker a lot with, e.g., madwifi-ng driver) 1793*03f9172cSAndroid Build Coastguard Worker * added support for receiving EAPOL frames from a Linux bridge 1794*03f9172cSAndroid Build Coastguard Worker interface (-bbr0 on command line) 1795*03f9172cSAndroid Build Coastguard Worker * fixed EAPOL re-authentication for sessions that used PMKSA caching 1796*03f9172cSAndroid Build Coastguard Worker * changed EAP method registration to use a dynamic list of methods 1797*03f9172cSAndroid Build Coastguard Worker instead of a static list generated at build time 1798*03f9172cSAndroid Build Coastguard Worker * fixed PMKSA cache deinitialization not to use freed memory when 1799*03f9172cSAndroid Build Coastguard Worker removing PMKSA entries 1800*03f9172cSAndroid Build Coastguard Worker * fixed a memory leak in EAP-TTLS re-authentication 1801*03f9172cSAndroid Build Coastguard Worker * reject WPA/WPA2 message 3/4 if it does not include any valid 1802*03f9172cSAndroid Build Coastguard Worker WPA/RSN IE 1803*03f9172cSAndroid Build Coastguard Worker * driver_wext: added fallback to use SIOCSIWENCODE for setting auth_alg 1804*03f9172cSAndroid Build Coastguard Worker if the driver does not support SIOCSIWAUTH 1805*03f9172cSAndroid Build Coastguard Worker 1806*03f9172cSAndroid Build Coastguard Worker2006-01-29 - v0.5.1 1807*03f9172cSAndroid Build Coastguard Worker * driver_test: added better support for multiple APs and STAs by using 1808*03f9172cSAndroid Build Coastguard Worker a directory with sockets that include MAC address for each device in 1809*03f9172cSAndroid Build Coastguard Worker the name (driver_param=test_dir=/tmp/test) 1810*03f9172cSAndroid Build Coastguard Worker * added support for EAP expanded type (vendor specific EAP methods) 1811*03f9172cSAndroid Build Coastguard Worker * added AP_SCAN command into ctrl_iface so that ap_scan configuration 1812*03f9172cSAndroid Build Coastguard Worker option can be changed if needed 1813*03f9172cSAndroid Build Coastguard Worker * wpa_cli/wpa_gui: skip non-socket files in control directory when 1814*03f9172cSAndroid Build Coastguard Worker using UNIX domain sockets; this avoids selecting an incorrect 1815*03f9172cSAndroid Build Coastguard Worker interface (e.g., a PID file could be in this directory, even though 1816*03f9172cSAndroid Build Coastguard Worker use of this directory for something else than socket files is not 1817*03f9172cSAndroid Build Coastguard Worker recommended) 1818*03f9172cSAndroid Build Coastguard Worker * fixed TLS library deinitialization after RSN pre-authentication not 1819*03f9172cSAndroid Build Coastguard Worker to disable TLS library for normal authentication 1820*03f9172cSAndroid Build Coastguard Worker * driver_wext: Remove null-termination from SSID length if the driver 1821*03f9172cSAndroid Build Coastguard Worker used it; some Linux drivers do this and they were causing problems in 1822*03f9172cSAndroid Build Coastguard Worker wpa_supplicant not finding matching configuration block. This change 1823*03f9172cSAndroid Build Coastguard Worker would break a case where the SSID actually ends in '\0', but that is 1824*03f9172cSAndroid Build Coastguard Worker not likely to happen in real use. 1825*03f9172cSAndroid Build Coastguard Worker * fixed PMKSA cache processing not to trigger deauthentication if the 1826*03f9172cSAndroid Build Coastguard Worker current PMKSA cache entry is replaced with a valid new entry 1827*03f9172cSAndroid Build Coastguard Worker * fixed PC/SC initialization for ap_scan != 1 modes (this fixes 1828*03f9172cSAndroid Build Coastguard Worker EAP-SIM and EAP-AKA with real SIM/USIM card when using ap_scan=0 or 1829*03f9172cSAndroid Build Coastguard Worker ap_scan=2) 1830*03f9172cSAndroid Build Coastguard Worker 1831*03f9172cSAndroid Build Coastguard Worker2005-12-18 - v0.5.0 (beginning of 0.5.x development releases) 1832*03f9172cSAndroid Build Coastguard Worker * added experimental STAKey handshake implementation for IEEE 802.11e 1833*03f9172cSAndroid Build Coastguard Worker direct link setup (DLS); note: this is disabled by default in both 1834*03f9172cSAndroid Build Coastguard Worker build and runtime configuration (can be enabled with CONFIG_STAKEY=y 1835*03f9172cSAndroid Build Coastguard Worker and stakey=1) 1836*03f9172cSAndroid Build Coastguard Worker * fixed EAP-SIM and EAP-AKA pseudonym and fast re-authentication to 1837*03f9172cSAndroid Build Coastguard Worker decrypt AT_ENCR_DATA attributes correctly 1838*03f9172cSAndroid Build Coastguard Worker * fixed EAP-AKA to allow resynchronization within the same session 1839*03f9172cSAndroid Build Coastguard Worker * made code closer to ANSI C89 standard to make it easier to port to 1840*03f9172cSAndroid Build Coastguard Worker other C libraries and compilers 1841*03f9172cSAndroid Build Coastguard Worker * started moving operating system or C library specific functions into 1842*03f9172cSAndroid Build Coastguard Worker wrapper functions defined in os.h and implemented in os_*.c to make 1843*03f9172cSAndroid Build Coastguard Worker code more portable 1844*03f9172cSAndroid Build Coastguard Worker * wpa_supplicant can now be built with Microsoft Visual C++ 1845*03f9172cSAndroid Build Coastguard Worker (e.g., with the freely available Toolkit 2003 version or Visual 1846*03f9172cSAndroid Build Coastguard Worker C++ 2005 Express Edition and Platform SDK); see nmake.mak for an 1847*03f9172cSAndroid Build Coastguard Worker example makefile for nmake 1848*03f9172cSAndroid Build Coastguard Worker * added support for using Windows registry for command line parameters 1849*03f9172cSAndroid Build Coastguard Worker (CONFIG_MAIN=main_winsvc) and configuration data 1850*03f9172cSAndroid Build Coastguard Worker (CONFIG_BACKEND=winreg); see win_example.reg for an example registry 1851*03f9172cSAndroid Build Coastguard Worker contents; this version can be run both as a Windows service and as a 1852*03f9172cSAndroid Build Coastguard Worker normal application; 'wpasvc.exe app' to start as applicant, 1853*03f9172cSAndroid Build Coastguard Worker 'wpasvc.exe reg <full path to wpasvc.exe>' to register a service, 1854*03f9172cSAndroid Build Coastguard Worker 'net start wpasvc' to start the service, 'wpasvc.exe unreg' to 1855*03f9172cSAndroid Build Coastguard Worker unregister a service 1856*03f9172cSAndroid Build Coastguard Worker * made it possible to link ndis_events.exe functionality into 1857*03f9172cSAndroid Build Coastguard Worker wpa_supplicant.exe by defining CONFIG_NDIS_EVENTS_INTEGRATED 1858*03f9172cSAndroid Build Coastguard Worker * added better support for multiple control interface backends 1859*03f9172cSAndroid Build Coastguard Worker (CONFIG_CTRL_IFACE option); currently, 'unix' and 'udp' are supported 1860*03f9172cSAndroid Build Coastguard Worker * fixed PC/SC code to use correct length for GSM AUTH command buffer 1861*03f9172cSAndroid Build Coastguard Worker and to not use pioRecvPci with SCardTransmit() calls; these were not 1862*03f9172cSAndroid Build Coastguard Worker causing visible problems with pcsc-lite, but Windows Winscard.dll 1863*03f9172cSAndroid Build Coastguard Worker refused the previously used parameters; this fixes EAP-SIM and 1864*03f9172cSAndroid Build Coastguard Worker EAP-AKA authentication using SIM/USIM card under Windows 1865*03f9172cSAndroid Build Coastguard Worker * added new event loop implementation for Windows using 1866*03f9172cSAndroid Build Coastguard Worker WaitForMultipleObject() instead of select() in order to allow waiting 1867*03f9172cSAndroid Build Coastguard Worker for non-socket objects; this can be selected with 1868*03f9172cSAndroid Build Coastguard Worker CONFIG_ELOOP=eloop_win in .config 1869*03f9172cSAndroid Build Coastguard Worker * added support for selecting l2_packet implementation in .config 1870*03f9172cSAndroid Build Coastguard Worker (CONFIG_L2_PACKET; following options are available now: linux, pcap, 1871*03f9172cSAndroid Build Coastguard Worker winpcap, freebsd, none) 1872*03f9172cSAndroid Build Coastguard Worker * added new l2_packet implementation for WinPcap 1873*03f9172cSAndroid Build Coastguard Worker (CONFIG_L2_PACKET=winpcap) that uses a separate receive thread to 1874*03f9172cSAndroid Build Coastguard Worker reduce latency in EAPOL receive processing from about 100 ms to about 1875*03f9172cSAndroid Build Coastguard Worker 3 ms 1876*03f9172cSAndroid Build Coastguard Worker * added support for EAP-FAST key derivation using other ciphers than 1877*03f9172cSAndroid Build Coastguard Worker RC4-128-SHA for authentication and AES128-SHA for provisioning 1878*03f9172cSAndroid Build Coastguard Worker * added support for configuring CA certificate as DER file and as a 1879*03f9172cSAndroid Build Coastguard Worker configuration blob 1880*03f9172cSAndroid Build Coastguard Worker * fixed private key configuration as configuration blob and added 1881*03f9172cSAndroid Build Coastguard Worker support for using PKCS#12 as a blob 1882*03f9172cSAndroid Build Coastguard Worker * tls_gnutls: added support for using PKCS#12 files; added support for 1883*03f9172cSAndroid Build Coastguard Worker session resumption 1884*03f9172cSAndroid Build Coastguard Worker * added support for loading trusted CA certificates from Windows 1885*03f9172cSAndroid Build Coastguard Worker certificate store: ca_cert="cert_store://<name>", where <name> is 1886*03f9172cSAndroid Build Coastguard Worker likely CA (Intermediate CA certificates) or ROOT (root certificates) 1887*03f9172cSAndroid Build Coastguard Worker * added C version of ndis_events.cpp and made it possible to build this 1888*03f9172cSAndroid Build Coastguard Worker with MinGW so that CONFIG_NDIS_EVENTS_INTEGRATED can be used more 1889*03f9172cSAndroid Build Coastguard Worker easily on cross-compilation builds 1890*03f9172cSAndroid Build Coastguard Worker * added wpasvc.exe into Windows binary release; this is an alternative 1891*03f9172cSAndroid Build Coastguard Worker version of wpa_supplicant.exe with configuration backend using 1892*03f9172cSAndroid Build Coastguard Worker Windows registry and with the entry point designed to run as a 1893*03f9172cSAndroid Build Coastguard Worker Windows service 1894*03f9172cSAndroid Build Coastguard Worker * integrated ndis_events.exe functionality into wpa_supplicant.exe and 1895*03f9172cSAndroid Build Coastguard Worker wpasvc.exe and removed this additional tool from the Windows binary 1896*03f9172cSAndroid Build Coastguard Worker release since it is not needed anymore 1897*03f9172cSAndroid Build Coastguard Worker * load winscard.dll functions dynamically when building with MinGW 1898*03f9172cSAndroid Build Coastguard Worker since MinGW does not yet include winscard library 1899*03f9172cSAndroid Build Coastguard Worker 1900*03f9172cSAndroid Build Coastguard Worker2005-11-20 - v0.4.7 (beginning of 0.4.x stable releases) 1901*03f9172cSAndroid Build Coastguard Worker * l2_packet_pcap: fixed wired IEEE 802.1X authentication with libpcap 1902*03f9172cSAndroid Build Coastguard Worker and WinPcap to receive frames sent to PAE group address 1903*03f9172cSAndroid Build Coastguard Worker * disable EAP state machine when IEEE 802.1X authentication is not used 1904*03f9172cSAndroid Build Coastguard Worker in order to get rid of bogus "EAP failed" messages 1905*03f9172cSAndroid Build Coastguard Worker * fixed OpenSSL error reporting to go through all pending errors to 1906*03f9172cSAndroid Build Coastguard Worker avoid confusing reports of old errors being reported at later point 1907*03f9172cSAndroid Build Coastguard Worker during handshake 1908*03f9172cSAndroid Build Coastguard Worker * fixed configuration file updating to not write empty variables 1909*03f9172cSAndroid Build Coastguard Worker (e.g., proto or key_mgmt) that the file parser would not accept 1910*03f9172cSAndroid Build Coastguard Worker * fixed ADD_NETWORK ctrl_iface command to use the same default values 1911*03f9172cSAndroid Build Coastguard Worker for variables as empty network definitions read from config file 1912*03f9172cSAndroid Build Coastguard Worker would get 1913*03f9172cSAndroid Build Coastguard Worker * fixed EAP state machine to not discard EAP-Failure messages in many 1914*03f9172cSAndroid Build Coastguard Worker cases (e.g., during TLS handshake) 1915*03f9172cSAndroid Build Coastguard Worker * fixed a infinite loop in private key reading if the configured file 1916*03f9172cSAndroid Build Coastguard Worker cannot be parsed successfully 1917*03f9172cSAndroid Build Coastguard Worker * driver_madwifi: added support for madwifi-ng 1918*03f9172cSAndroid Build Coastguard Worker * wpa_gui: do not display password/PSK field contents 1919*03f9172cSAndroid Build Coastguard Worker * wpa_gui: added CA certificate configuration 1920*03f9172cSAndroid Build Coastguard Worker * driver_ndis: fixed scan request in ap_scan=2 mode not to change SSID 1921*03f9172cSAndroid Build Coastguard Worker * driver_ndis: include Beacon IEs in AssocInfo in order to notice if 1922*03f9172cSAndroid Build Coastguard Worker the new AP is using different WPA/RSN IE 1923*03f9172cSAndroid Build Coastguard Worker * use longer timeout for IEEE 802.11 association to avoid problems with 1924*03f9172cSAndroid Build Coastguard Worker drivers that may take more than five second to associate 1925*03f9172cSAndroid Build Coastguard Worker 1926*03f9172cSAndroid Build Coastguard Worker2005-10-27 - v0.4.6 1927*03f9172cSAndroid Build Coastguard Worker * allow fallback to WPA, if mixed WPA+WPA2 networks have mismatch in 1928*03f9172cSAndroid Build Coastguard Worker RSN IE, but WPA IE would match with wpa_supplicant configuration 1929*03f9172cSAndroid Build Coastguard Worker * added support for named configuration blobs in order to avoid having 1930*03f9172cSAndroid Build Coastguard Worker to use file system for external files (e.g., certificates); 1931*03f9172cSAndroid Build Coastguard Worker variables can be set to "blob://<blob name>" instead of file path to 1932*03f9172cSAndroid Build Coastguard Worker use a named blob; supported fields: pac_file, client_cert, 1933*03f9172cSAndroid Build Coastguard Worker private_key 1934*03f9172cSAndroid Build Coastguard Worker * fixed RSN pre-authentication (it was broken in the clean up of WPA 1935*03f9172cSAndroid Build Coastguard Worker state machine interface in v0.4.5) 1936*03f9172cSAndroid Build Coastguard Worker * driver_madwifi: set IEEE80211_KEY_GROUP flag for group keys to make 1937*03f9172cSAndroid Build Coastguard Worker sure the driver configures broadcast decryption correctly 1938*03f9172cSAndroid Build Coastguard Worker * added ca_path (and ca_path2) configuration variables that can be used 1939*03f9172cSAndroid Build Coastguard Worker to configure OpenSSL CA path, e.g., /etc/ssl/certs, for using the 1940*03f9172cSAndroid Build Coastguard Worker system-wide trusted CA list 1941*03f9172cSAndroid Build Coastguard Worker * added support for starting wpa_supplicant without a configuration 1942*03f9172cSAndroid Build Coastguard Worker file (-C argument must be used to set ctrl_interface parameter for 1943*03f9172cSAndroid Build Coastguard Worker this case; in addition, -p argument can be used to provide 1944*03f9172cSAndroid Build Coastguard Worker driver_param; these new arguments can also be used with a 1945*03f9172cSAndroid Build Coastguard Worker configuration to override the values from the configuration) 1946*03f9172cSAndroid Build Coastguard Worker * added global control interface that can be optionally used for adding 1947*03f9172cSAndroid Build Coastguard Worker and removing network interfaces dynamically (-g command line argument 1948*03f9172cSAndroid Build Coastguard Worker for both wpa_supplicant and wpa_cli) without having to restart 1949*03f9172cSAndroid Build Coastguard Worker wpa_supplicant process 1950*03f9172cSAndroid Build Coastguard Worker * wpa_gui: 1951*03f9172cSAndroid Build Coastguard Worker - try to save configuration whenever something is modified 1952*03f9172cSAndroid Build Coastguard Worker - added WEP key configuration 1953*03f9172cSAndroid Build Coastguard Worker - added possibility to edit the current network configuration 1954*03f9172cSAndroid Build Coastguard Worker * driver_ndis: fixed driver polling not to increase frequency on each 1955*03f9172cSAndroid Build Coastguard Worker received EAPOL frame due to incorrectly cancelled timeout 1956*03f9172cSAndroid Build Coastguard Worker * added simple configuration file examples (in examples subdirectory) 1957*03f9172cSAndroid Build Coastguard Worker * fixed driver_wext.c to filter wireless events based on ifindex to 1958*03f9172cSAndroid Build Coastguard Worker avoid interfaces receiving events from other interfaces 1959*03f9172cSAndroid Build Coastguard Worker * delay sending initial EAPOL-Start couple of seconds to speed up 1960*03f9172cSAndroid Build Coastguard Worker authentication for the most common case of Authenticator starting 1961*03f9172cSAndroid Build Coastguard Worker EAP authentication immediately after association 1962*03f9172cSAndroid Build Coastguard Worker 1963*03f9172cSAndroid Build Coastguard Worker2005-09-25 - v0.4.5 1964*03f9172cSAndroid Build Coastguard Worker * added a workaround for clearing keys with ndiswrapper to allow 1965*03f9172cSAndroid Build Coastguard Worker roaming from WPA enabled AP to plaintext one 1966*03f9172cSAndroid Build Coastguard Worker * added docbook documentation (doc/docbook) that can be used to 1967*03f9172cSAndroid Build Coastguard Worker generate, e.g., man pages 1968*03f9172cSAndroid Build Coastguard Worker * l2_packet_linux: use socket type SOCK_DGRAM instead of SOCK_RAW for 1969*03f9172cSAndroid Build Coastguard Worker PF_PACKET in order to prepare for network devices that do not use 1970*03f9172cSAndroid Build Coastguard Worker Ethernet headers (e.g., network stack that includes IEEE 802.11 1971*03f9172cSAndroid Build Coastguard Worker header in the frames) 1972*03f9172cSAndroid Build Coastguard Worker * use receipt of EAPOL-Key frame as a lower layer success indication 1973*03f9172cSAndroid Build Coastguard Worker for EAP state machine to allow recovery from dropped EAP-Success 1974*03f9172cSAndroid Build Coastguard Worker frame 1975*03f9172cSAndroid Build Coastguard Worker * cleaned up internal EAPOL frame processing by not including link 1976*03f9172cSAndroid Build Coastguard Worker layer (Ethernet) header during WPA and EAPOL/EAP processing; this 1977*03f9172cSAndroid Build Coastguard Worker header is added only when transmitted the frame; this makes it easier 1978*03f9172cSAndroid Build Coastguard Worker to use wpa_supplicant on link layers that use different header than 1979*03f9172cSAndroid Build Coastguard Worker Ethernet 1980*03f9172cSAndroid Build Coastguard Worker * updated EAP-PSK to use draft 9 by default since this can now be 1981*03f9172cSAndroid Build Coastguard Worker tested with hostapd; removed support for draft 3, including 1982*03f9172cSAndroid Build Coastguard Worker server_nai configuration option from network blocks 1983*03f9172cSAndroid Build Coastguard Worker * driver_wired: add PAE address to the multicast address list in order 1984*03f9172cSAndroid Build Coastguard Worker to be able to receive EAPOL frames with drivers that do not include 1985*03f9172cSAndroid Build Coastguard Worker these multicast addresses by default 1986*03f9172cSAndroid Build Coastguard Worker * driver_wext: add support for WE-19 1987*03f9172cSAndroid Build Coastguard Worker * added support for multiple configuration backends (CONFIG_BACKEND 1988*03f9172cSAndroid Build Coastguard Worker option); currently, only 'file' is supported (i.e., the format used 1989*03f9172cSAndroid Build Coastguard Worker in wpa_supplicant.conf) 1990*03f9172cSAndroid Build Coastguard Worker * added support for updating configuration ('wpa_cli save_config'); 1991*03f9172cSAndroid Build Coastguard Worker this is disabled by default and can be enabled with global 1992*03f9172cSAndroid Build Coastguard Worker update_config=1 variable in wpa_supplicant.conf; this allows wpa_cli 1993*03f9172cSAndroid Build Coastguard Worker and wpa_gui to store the configuration changes in a permanent store 1994*03f9172cSAndroid Build Coastguard Worker * added GET_NETWORK ctrl_iface command 1995*03f9172cSAndroid Build Coastguard Worker (e.g., 'wpa_cli get_network 0 ssid') 1996*03f9172cSAndroid Build Coastguard Worker 1997*03f9172cSAndroid Build Coastguard Worker2005-08-21 - v0.4.4 1998*03f9172cSAndroid Build Coastguard Worker * replaced OpenSSL patch for EAP-FAST support 1999*03f9172cSAndroid Build Coastguard Worker (openssl-tls-extensions.patch) with a more generic and correct 2000*03f9172cSAndroid Build Coastguard Worker patch (the new patch is not compatible with the previous one, so the 2001*03f9172cSAndroid Build Coastguard Worker OpenSSL library will need to be patched with the new patch in order 2002*03f9172cSAndroid Build Coastguard Worker to be able to build wpa_supplicant with EAP-FAST support) 2003*03f9172cSAndroid Build Coastguard Worker * added support for using Windows certificate store (through CryptoAPI) 2004*03f9172cSAndroid Build Coastguard Worker for client certificate and private key operations (EAP-TLS) 2005*03f9172cSAndroid Build Coastguard Worker (see wpa_supplicant.conf for more information on how to configure 2006*03f9172cSAndroid Build Coastguard Worker this with private_key) 2007*03f9172cSAndroid Build Coastguard Worker * ported wpa_gui to Windows 2008*03f9172cSAndroid Build Coastguard Worker * added Qt4 version of wpa_gui (wpa_gui-qt4 directory); this can be 2009*03f9172cSAndroid Build Coastguard Worker built with the open source version of the Qt4 for Windows 2010*03f9172cSAndroid Build Coastguard Worker * allow non-WPA modes (e.g., IEEE 802.1X with dynamic WEP) to be used 2011*03f9172cSAndroid Build Coastguard Worker with drivers that do not support WPA 2012*03f9172cSAndroid Build Coastguard Worker * ndis_events: fixed Windows 2000 support 2013*03f9172cSAndroid Build Coastguard Worker * added support for enabling/disabling networks from the list of all 2014*03f9172cSAndroid Build Coastguard Worker configured networks ('wpa_cli enable_network <network id>' and 2015*03f9172cSAndroid Build Coastguard Worker 'wpa_cli disable_network <network id>') 2016*03f9172cSAndroid Build Coastguard Worker * added support for adding and removing network from the current 2017*03f9172cSAndroid Build Coastguard Worker configuration ('wpa_cli add_network' and 'wpa_cli remove_network 2018*03f9172cSAndroid Build Coastguard Worker <network id>'); added networks are disabled by default and they can 2019*03f9172cSAndroid Build Coastguard Worker be enabled with enable_network command once the configuration is done 2020*03f9172cSAndroid Build Coastguard Worker for the new network; note: configuration file is not yet updated, so 2021*03f9172cSAndroid Build Coastguard Worker these new networks are lost when wpa_supplicant is restarted 2022*03f9172cSAndroid Build Coastguard Worker * added support for setting network configuration parameters through 2023*03f9172cSAndroid Build Coastguard Worker the control interface, for example: 2024*03f9172cSAndroid Build Coastguard Worker wpa_cli set_network 0 ssid "\"my network\"" 2025*03f9172cSAndroid Build Coastguard Worker * fixed parsing of strings that include both " and # within double 2026*03f9172cSAndroid Build Coastguard Worker quoted area (e.g., "start"#end") 2027*03f9172cSAndroid Build Coastguard Worker * added EAP workaround for PEAP session resumption: allow outer, 2028*03f9172cSAndroid Build Coastguard Worker i.e., not tunneled, EAP-Success to terminate session since; this can 2029*03f9172cSAndroid Build Coastguard Worker be disabled with eap_workaround=0 2030*03f9172cSAndroid Build Coastguard Worker (this was allowed for PEAPv1 before, but now it is also allowed for 2031*03f9172cSAndroid Build Coastguard Worker PEAPv0 since at least one RADIUS authentication server seems to be 2032*03f9172cSAndroid Build Coastguard Worker doing this for PEAPv0, too) 2033*03f9172cSAndroid Build Coastguard Worker * wpa_gui: added preliminary support for adding new networks to the 2034*03f9172cSAndroid Build Coastguard Worker wpa_supplicant configuration (double click on the scan results to 2035*03f9172cSAndroid Build Coastguard Worker open network configuration) 2036*03f9172cSAndroid Build Coastguard Worker 2037*03f9172cSAndroid Build Coastguard Worker2005-06-26 - v0.4.3 2038*03f9172cSAndroid Build Coastguard Worker * removed interface for external EAPOL/EAP supplicant (e.g., 2039*03f9172cSAndroid Build Coastguard Worker Xsupplicant), (CONFIG_XSUPPLICANT_IFACE) since it is not required 2040*03f9172cSAndroid Build Coastguard Worker anymore and is unlikely to be used by anyone 2041*03f9172cSAndroid Build Coastguard Worker * driver_ndis: fixed WinPcap 3.0 support 2042*03f9172cSAndroid Build Coastguard Worker * fixed build with CONFIG_DNET_PCAP=y on Linux 2043*03f9172cSAndroid Build Coastguard Worker * l2_packet: moved different implementations into separate files 2044*03f9172cSAndroid Build Coastguard Worker (l2_packet_*.c) 2045*03f9172cSAndroid Build Coastguard Worker 2046*03f9172cSAndroid Build Coastguard Worker2005-06-12 - v0.4.2 2047*03f9172cSAndroid Build Coastguard Worker * driver_ipw: updated driver structures to match with ipw2200-1.0.4 2048*03f9172cSAndroid Build Coastguard Worker (note: ipw2100-1.1.0 is likely to require an update to work with 2049*03f9172cSAndroid Build Coastguard Worker this) 2050*03f9172cSAndroid Build Coastguard Worker * added support for using ap_scan=2 mode with multiple network blocks; 2051*03f9172cSAndroid Build Coastguard Worker wpa_supplicant will go through the networks one by one until the 2052*03f9172cSAndroid Build Coastguard Worker driver reports a successful association; this uses the same order for 2053*03f9172cSAndroid Build Coastguard Worker networks as scan_ssid=1 scans, i.e., the priority field is ignored 2054*03f9172cSAndroid Build Coastguard Worker and the network block order in the file is used instead 2055*03f9172cSAndroid Build Coastguard Worker * fixed a potential issue in RSN pre-authentication ending up using 2056*03f9172cSAndroid Build Coastguard Worker freed memory if pre-authentication times out 2057*03f9172cSAndroid Build Coastguard Worker * added support for matching alternative subject name extensions of the 2058*03f9172cSAndroid Build Coastguard Worker authentication server certificate; new configuration variables 2059*03f9172cSAndroid Build Coastguard Worker altsubject_match and altsubject_match2 2060*03f9172cSAndroid Build Coastguard Worker * driver_ndis: added support for IEEE 802.1X authentication with wired 2061*03f9172cSAndroid Build Coastguard Worker NDIS drivers 2062*03f9172cSAndroid Build Coastguard Worker * added support for querying private key password (EAP-TLS) through the 2063*03f9172cSAndroid Build Coastguard Worker control interface (wpa_cli/wpa_gui) if one is not included in the 2064*03f9172cSAndroid Build Coastguard Worker configuration file 2065*03f9172cSAndroid Build Coastguard Worker * driver_broadcom: fixed couple of memory leaks in scan result 2066*03f9172cSAndroid Build Coastguard Worker processing 2067*03f9172cSAndroid Build Coastguard Worker * EAP-PAX is now registered as EAP type 46 2068*03f9172cSAndroid Build Coastguard Worker * fixed EAP-PAX MAC calculation 2069*03f9172cSAndroid Build Coastguard Worker * fixed EAP-PAX CK and ICK key derivation 2070*03f9172cSAndroid Build Coastguard Worker * added support for using password with EAP-PAX (as an alternative to 2071*03f9172cSAndroid Build Coastguard Worker entering key with eappsk); SHA-1 hash of the password will be used as 2072*03f9172cSAndroid Build Coastguard Worker the key in this case 2073*03f9172cSAndroid Build Coastguard Worker * added support for arbitrary driver interface parameters through the 2074*03f9172cSAndroid Build Coastguard Worker configuration file with a new driver_param field; this adds a new 2075*03f9172cSAndroid Build Coastguard Worker driver_ops function set_param() 2076*03f9172cSAndroid Build Coastguard Worker * added possibility to override l2_packet module with driver interface 2077*03f9172cSAndroid Build Coastguard Worker API (new send_eapol handler); this can be used to implement driver 2078*03f9172cSAndroid Build Coastguard Worker specific TX/RX functions for EAPOL frames 2079*03f9172cSAndroid Build Coastguard Worker * fixed ctrl_interface_group processing for the case where gid is 2080*03f9172cSAndroid Build Coastguard Worker entered as a number, not group name 2081*03f9172cSAndroid Build Coastguard Worker * driver_test: added support for testing hostapd with wpa_supplicant 2082*03f9172cSAndroid Build Coastguard Worker by using test driver interface without any kernel drivers or network 2083*03f9172cSAndroid Build Coastguard Worker cards 2084*03f9172cSAndroid Build Coastguard Worker 2085*03f9172cSAndroid Build Coastguard Worker2005-05-22 - v0.4.1 2086*03f9172cSAndroid Build Coastguard Worker * driver_madwifi: fixed WPA/WPA2 mode configuration to allow EAPOL 2087*03f9172cSAndroid Build Coastguard Worker packets to be encrypted; this was apparently broken by the changed 2088*03f9172cSAndroid Build Coastguard Worker ioctl order in v0.4.0 2089*03f9172cSAndroid Build Coastguard Worker * driver_madwifi: added preliminary support for compiling against 'BSD' 2090*03f9172cSAndroid Build Coastguard Worker branch of madwifi CVS tree 2091*03f9172cSAndroid Build Coastguard Worker * added support for EAP-MSCHAPv2 password retries within the same EAP 2092*03f9172cSAndroid Build Coastguard Worker authentication session 2093*03f9172cSAndroid Build Coastguard Worker * added support for password changes with EAP-MSCHAPv2 (used when the 2094*03f9172cSAndroid Build Coastguard Worker password has expired) 2095*03f9172cSAndroid Build Coastguard Worker * added support for reading additional certificates from PKCS#12 files 2096*03f9172cSAndroid Build Coastguard Worker and adding them to the certificate chain 2097*03f9172cSAndroid Build Coastguard Worker * fixed association with IEEE 802.1X (no WPA) when dynamic WEP keys 2098*03f9172cSAndroid Build Coastguard Worker were used 2099*03f9172cSAndroid Build Coastguard Worker * fixed a possible double free in EAP-TTLS fast-reauthentication when 2100*03f9172cSAndroid Build Coastguard Worker identity or password is entered through control interface 2101*03f9172cSAndroid Build Coastguard Worker * display EAP Notification messages to user through control interface 2102*03f9172cSAndroid Build Coastguard Worker with "CTRL-EVENT-EAP-NOTIFICATION" prefix 2103*03f9172cSAndroid Build Coastguard Worker * added GUI version of wpa_cli, wpa_gui; this is not build 2104*03f9172cSAndroid Build Coastguard Worker automatically with 'make'; use 'make wpa_gui' to build (this requires 2105*03f9172cSAndroid Build Coastguard Worker Qt development tools) 2106*03f9172cSAndroid Build Coastguard Worker * added 'disconnect' command to control interface for setting 2107*03f9172cSAndroid Build Coastguard Worker wpa_supplicant in state where it will not associate before 2108*03f9172cSAndroid Build Coastguard Worker 'reassociate' command has been used 2109*03f9172cSAndroid Build Coastguard Worker * added support for selecting a network from the list of all configured 2110*03f9172cSAndroid Build Coastguard Worker networks ('wpa_cli select_network <network id>'; this disabled all 2111*03f9172cSAndroid Build Coastguard Worker other networks; to re-enable, 'wpa_cli select_network any') 2112*03f9172cSAndroid Build Coastguard Worker * added support for getting scan results through control interface 2113*03f9172cSAndroid Build Coastguard Worker * added EAP workaround for PEAPv1 session resumption: allow outer, 2114*03f9172cSAndroid Build Coastguard Worker i.e., not tunneled, EAP-Success to terminate session since; this can 2115*03f9172cSAndroid Build Coastguard Worker be disabled with eap_workaround=0 2116*03f9172cSAndroid Build Coastguard Worker 2117*03f9172cSAndroid Build Coastguard Worker2005-04-25 - v0.4.0 (beginning of 0.4.x development releases) 2118*03f9172cSAndroid Build Coastguard Worker * added a new build time option, CONFIG_NO_STDOUT_DEBUG, that can be 2119*03f9172cSAndroid Build Coastguard Worker used to reduce the size of the wpa_supplicant considerably if 2120*03f9172cSAndroid Build Coastguard Worker debugging code is not needed 2121*03f9172cSAndroid Build Coastguard Worker * fixed EAPOL-Key validation to drop packets with invalid Key Data 2122*03f9172cSAndroid Build Coastguard Worker Length; such frames could have crashed wpa_supplicant due to buffer 2123*03f9172cSAndroid Build Coastguard Worker overflow 2124*03f9172cSAndroid Build Coastguard Worker * added support for wired authentication (IEEE 802.1X on wired 2125*03f9172cSAndroid Build Coastguard Worker Ethernet); driver interface 'wired' 2126*03f9172cSAndroid Build Coastguard Worker * obsoleted set_wpa() handler in the driver interface API (it can be 2127*03f9172cSAndroid Build Coastguard Worker replaced by moving enable/disable functionality into init()/deinit()) 2128*03f9172cSAndroid Build Coastguard Worker (calls to set_wpa() are still present for backwards compatibility, 2129*03f9172cSAndroid Build Coastguard Worker but they may be removed in the future) 2130*03f9172cSAndroid Build Coastguard Worker * driver_madwifi: fixed association in plaintext mode 2131*03f9172cSAndroid Build Coastguard Worker * modified the EAP workaround that accepts EAP-Success with incorrect 2132*03f9172cSAndroid Build Coastguard Worker Identifier to be even less strict about verification in order to 2133*03f9172cSAndroid Build Coastguard Worker interoperate with some authentication servers 2134*03f9172cSAndroid Build Coastguard Worker * added support for sending TLS alerts 2135*03f9172cSAndroid Build Coastguard Worker * added support for 'any' SSID wildcard; if ssid is not configured or 2136*03f9172cSAndroid Build Coastguard Worker is set to an empty string, any SSID will be accepted for non-WPA AP 2137*03f9172cSAndroid Build Coastguard Worker * added support for asking PIN (for SIM) from frontends (e.g., 2138*03f9172cSAndroid Build Coastguard Worker wpa_cli); if a PIN is needed, but not included in the configuration 2139*03f9172cSAndroid Build Coastguard Worker file, a control interface request is sent and EAP processing is 2140*03f9172cSAndroid Build Coastguard Worker delayed until the PIN is available 2141*03f9172cSAndroid Build Coastguard Worker * added support for using external devices (e.g., a smartcard) for 2142*03f9172cSAndroid Build Coastguard Worker private key operations in EAP-TLS (CONFIG_SMARTCARD=y in .config); 2143*03f9172cSAndroid Build Coastguard Worker new wpa_supplicant.conf variables: 2144*03f9172cSAndroid Build Coastguard Worker - global: opensc_engine_path, pkcs11_engine_path, pkcs11_module_path 2145*03f9172cSAndroid Build Coastguard Worker - network: engine, engine_id, key_id 2146*03f9172cSAndroid Build Coastguard Worker * added experimental support for EAP-PAX 2147*03f9172cSAndroid Build Coastguard Worker * added monitor mode for wpa_cli (-a<path to a program to run>) that 2148*03f9172cSAndroid Build Coastguard Worker allows external commands (e.g., shell scripts) to be run based on 2149*03f9172cSAndroid Build Coastguard Worker wpa_supplicant events, e.g., when authentication has been completed 2150*03f9172cSAndroid Build Coastguard Worker and data connection is ready; other related wpa_cli arguments: 2151*03f9172cSAndroid Build Coastguard Worker -B (run in background), -P (write PID file); wpa_supplicant has a new 2152*03f9172cSAndroid Build Coastguard Worker command line argument (-W) that can be used to make it wait until a 2153*03f9172cSAndroid Build Coastguard Worker control interface command is received in order to avoid missing 2154*03f9172cSAndroid Build Coastguard Worker events 2155*03f9172cSAndroid Build Coastguard Worker * added support for opportunistic WPA2 PMKSA key caching (disabled by 2156*03f9172cSAndroid Build Coastguard Worker default, can be enabled with proactive_key_caching=1) 2157*03f9172cSAndroid Build Coastguard Worker * fixed RSN IE in 4-Way Handshake message 2/4 for the case where 2158*03f9172cSAndroid Build Coastguard Worker Authenticator rejects PMKSA caching attempt and the driver is not 2159*03f9172cSAndroid Build Coastguard Worker using assoc_info events 2160*03f9172cSAndroid Build Coastguard Worker * added -P<pid file> argument for wpa_supplicant to write the current 2161*03f9172cSAndroid Build Coastguard Worker process id into a file 2162*03f9172cSAndroid Build Coastguard Worker 2163*03f9172cSAndroid Build Coastguard Worker2005-02-12 - v0.3.7 (beginning of 0.3.x stable releases) 2164*03f9172cSAndroid Build Coastguard Worker * added new phase1 option parameter, include_tls_length=1, to force 2165*03f9172cSAndroid Build Coastguard Worker wpa_supplicant to add TLS Message Length field to all TLS messages 2166*03f9172cSAndroid Build Coastguard Worker even if the packet is not fragmented; this may be needed with some 2167*03f9172cSAndroid Build Coastguard Worker authentication servers 2168*03f9172cSAndroid Build Coastguard Worker * fixed WPA/RSN IE verification in message 3 of 4-Way Handshake when 2169*03f9172cSAndroid Build Coastguard Worker using drivers that take care of AP selection (e.g., when using 2170*03f9172cSAndroid Build Coastguard Worker ap_scan=2) 2171*03f9172cSAndroid Build Coastguard Worker * fixed reprocessing of pending request after ctrl_iface requests for 2172*03f9172cSAndroid Build Coastguard Worker identity/password/otp 2173*03f9172cSAndroid Build Coastguard Worker * fixed ctrl_iface requests for identity/password/otp in Phase 2 of 2174*03f9172cSAndroid Build Coastguard Worker EAP-PEAP and EAP-TTLS 2175*03f9172cSAndroid Build Coastguard Worker * all drivers using driver_wext: set interface up and select Managed 2176*03f9172cSAndroid Build Coastguard Worker mode when starting wpa_supplicant; set interface down when exiting 2177*03f9172cSAndroid Build Coastguard Worker * renamed driver_ipw2100.c to driver_ipw.c since it now supports both 2178*03f9172cSAndroid Build Coastguard Worker ipw2100 and ipw2200; please note that this also changed the 2179*03f9172cSAndroid Build Coastguard Worker configuration variable in .config to CONFIG_DRIVER_IPW 2180*03f9172cSAndroid Build Coastguard Worker 2181*03f9172cSAndroid Build Coastguard Worker2005-01-24 - v0.3.6 2182*03f9172cSAndroid Build Coastguard Worker * fixed a busy loop introduced in v0.3.5 for scan result processing 2183*03f9172cSAndroid Build Coastguard Worker when no matching AP is found 2184*03f9172cSAndroid Build Coastguard Worker 2185*03f9172cSAndroid Build Coastguard Worker2005-01-23 - v0.3.5 2186*03f9172cSAndroid Build Coastguard Worker * added a workaround for an interoperability issue with a Cisco AP 2187*03f9172cSAndroid Build Coastguard Worker when using WPA2-PSK 2188*03f9172cSAndroid Build Coastguard Worker * fixed non-WPA IEEE 802.1X to use the same authentication timeout as 2189*03f9172cSAndroid Build Coastguard Worker WPA with IEEE 802.1X (i.e., timeout 10 -> 70 sec to allow 2190*03f9172cSAndroid Build Coastguard Worker retransmission of dropped frames) 2191*03f9172cSAndroid Build Coastguard Worker * fixed issues with 64-bit CPUs and SHA1 cleanup in previous version 2192*03f9172cSAndroid Build Coastguard Worker (e.g., segfault when processing EAPOL-Key frames) 2193*03f9172cSAndroid Build Coastguard Worker * fixed EAP workaround and fast reauthentication configuration for 2194*03f9172cSAndroid Build Coastguard Worker RSN pre-authentication; previously these were disabled and 2195*03f9172cSAndroid Build Coastguard Worker pre-authentication would fail if the used authentication server 2196*03f9172cSAndroid Build Coastguard Worker requires EAP workarounds 2197*03f9172cSAndroid Build Coastguard Worker * added support for blacklisting APs that fail or timeout 2198*03f9172cSAndroid Build Coastguard Worker authentication in ap_scan=1 mode so that all APs are tried in cases 2199*03f9172cSAndroid Build Coastguard Worker where the ones with strongest signal level are failing authentication 2200*03f9172cSAndroid Build Coastguard Worker * fixed CA certificate loading after a failed EAP-TLS/PEAP/TTLS 2201*03f9172cSAndroid Build Coastguard Worker authentication attempt 2202*03f9172cSAndroid Build Coastguard Worker * allow EAP-PEAP/TTLS fast reauthentication only if Phase 2 succeeded 2203*03f9172cSAndroid Build Coastguard Worker in the previous authentication (previously, only Phase 1 success was 2204*03f9172cSAndroid Build Coastguard Worker verified) 2205*03f9172cSAndroid Build Coastguard Worker 2206*03f9172cSAndroid Build Coastguard Worker2005-01-09 - v0.3.4 2207*03f9172cSAndroid Build Coastguard Worker * added preliminary support for IBSS (ad-hoc) mode configuration 2208*03f9172cSAndroid Build Coastguard Worker (mode=1 in network block); this included a new key_mgmt mode 2209*03f9172cSAndroid Build Coastguard Worker WPA-NONE, i.e., TKIP or CCMP with a fixed key (based on psk) and no 2210*03f9172cSAndroid Build Coastguard Worker key management; see wpa_supplicant.conf for more details and an 2211*03f9172cSAndroid Build Coastguard Worker example on how to configure this (note: this is currently implemented 2212*03f9172cSAndroid Build Coastguard Worker only for driver_hostapd.c, but the changes should be trivial to add 2213*03f9172cSAndroid Build Coastguard Worker in associate() handler for other drivers, too (assuming the driver 2214*03f9172cSAndroid Build Coastguard Worker supports WPA-None) 2215*03f9172cSAndroid Build Coastguard Worker * added preliminary port for native Windows (i.e., no cygwin) using 2216*03f9172cSAndroid Build Coastguard Worker mingw 2217*03f9172cSAndroid Build Coastguard Worker 2218*03f9172cSAndroid Build Coastguard Worker2005-01-02 - v0.3.3 2219*03f9172cSAndroid Build Coastguard Worker * added optional support for GNU Readline and History Libraries for 2220*03f9172cSAndroid Build Coastguard Worker wpa_cli (CONFIG_READLINE) 2221*03f9172cSAndroid Build Coastguard Worker * cleaned up EAP state machine <-> method interface and number of 2222*03f9172cSAndroid Build Coastguard Worker small problems with error case processing not terminating on 2223*03f9172cSAndroid Build Coastguard Worker EAP-Failure but waiting for timeout 2224*03f9172cSAndroid Build Coastguard Worker * added couple of workarounds for interoperability issues with a 2225*03f9172cSAndroid Build Coastguard Worker Cisco AP when using WPA2 2226*03f9172cSAndroid Build Coastguard Worker * added support for EAP-FAST (draft-cam-winget-eap-fast-00.txt); 2227*03f9172cSAndroid Build Coastguard Worker Note: This requires a patch for openssl to add support for TLS 2228*03f9172cSAndroid Build Coastguard Worker extensions and number of workarounds for operations without 2229*03f9172cSAndroid Build Coastguard Worker certificates. Proof of concept type of experimental patch is 2230*03f9172cSAndroid Build Coastguard Worker included in openssl-tls-extensions.patch. 2231*03f9172cSAndroid Build Coastguard Worker 2232*03f9172cSAndroid Build Coastguard Worker2004-12-19 - v0.3.2 2233*03f9172cSAndroid Build Coastguard Worker * fixed private key loading for cases where passphrase is not set 2234*03f9172cSAndroid Build Coastguard Worker * fixed Windows/cygwin L2 packet handler freeing; previous version 2235*03f9172cSAndroid Build Coastguard Worker could cause a segfault when RSN pre-authentication was completed 2236*03f9172cSAndroid Build Coastguard Worker * added support for PMKSA caching with drivers that generate RSN IEs 2237*03f9172cSAndroid Build Coastguard Worker (e.g., NDIS); currently, this is only implemented in driver_ndis.c, 2238*03f9172cSAndroid Build Coastguard Worker but similar code can be easily added to driver_ndiswrapper.c once 2239*03f9172cSAndroid Build Coastguard Worker ndiswrapper gets full support for RSN PMKSA caching 2240*03f9172cSAndroid Build Coastguard Worker * improved recovery from PMKID mismatches by requesting full EAP 2241*03f9172cSAndroid Build Coastguard Worker authentication in case of failed PMKSA caching attempt 2242*03f9172cSAndroid Build Coastguard Worker * driver_ndis: added support for NDIS NdisMIncidateStatus() events 2243*03f9172cSAndroid Build Coastguard Worker (this requires that ndis_events is ran while wpa_supplicant is 2244*03f9172cSAndroid Build Coastguard Worker running) 2245*03f9172cSAndroid Build Coastguard Worker * driver_ndis: use ADD_WEP/REMOVE_WEP when configuring WEP keys 2246*03f9172cSAndroid Build Coastguard Worker * added support for driver interfaces to replace the interface name 2247*03f9172cSAndroid Build Coastguard Worker based on driver/OS specific mapping, e.g., in case of driver_ndis, 2248*03f9172cSAndroid Build Coastguard Worker this allows the beginning of the adapter description to be used as 2249*03f9172cSAndroid Build Coastguard Worker the interface name 2250*03f9172cSAndroid Build Coastguard Worker * added support for CR+LF (Windows-style) line ends in configuration 2251*03f9172cSAndroid Build Coastguard Worker file 2252*03f9172cSAndroid Build Coastguard Worker * driver_ndis: enable radio before starting scanning, disable radio 2253*03f9172cSAndroid Build Coastguard Worker when exiting 2254*03f9172cSAndroid Build Coastguard Worker * modified association event handler to set portEnabled = FALSE before 2255*03f9172cSAndroid Build Coastguard Worker clearing port Valid in order to reset EAP state machine and avoid 2256*03f9172cSAndroid Build Coastguard Worker problems with new authentication getting ignored because of state 2257*03f9172cSAndroid Build Coastguard Worker machines ending up in AUTHENTICATED/SUCCESS state based on old 2258*03f9172cSAndroid Build Coastguard Worker information 2259*03f9172cSAndroid Build Coastguard Worker * added support for driver events to add PMKID candidates in order to 2260*03f9172cSAndroid Build Coastguard Worker allow drivers to give priority to most likely roaming candidates 2261*03f9172cSAndroid Build Coastguard Worker * driver_hostap: moved PrivacyInvoked configuration to associate() 2262*03f9172cSAndroid Build Coastguard Worker function so that this will not be set for plaintext connections 2263*03f9172cSAndroid Build Coastguard Worker * added KEY_MGMT_802_1X_NO_WPA as a new key_mgmt type so that driver 2264*03f9172cSAndroid Build Coastguard Worker interface can distinguish plaintext and IEEE 802.1X (no WPA) 2265*03f9172cSAndroid Build Coastguard Worker authentication 2266*03f9172cSAndroid Build Coastguard Worker * fixed static WEP key configuration to use broadcast/default type for 2267*03f9172cSAndroid Build Coastguard Worker all keys (previously, the default TX key was configured as pairwise/ 2268*03f9172cSAndroid Build Coastguard Worker unicast key) 2269*03f9172cSAndroid Build Coastguard Worker * driver_ndis: added legacy WPA capability detection for non-WPA2 2270*03f9172cSAndroid Build Coastguard Worker drivers 2271*03f9172cSAndroid Build Coastguard Worker * added support for setting static WEP keys for IEEE 802.1X without 2272*03f9172cSAndroid Build Coastguard Worker dynamic WEP keying (eapol_flags=0) 2273*03f9172cSAndroid Build Coastguard Worker 2274*03f9172cSAndroid Build Coastguard Worker2004-12-12 - v0.3.1 2275*03f9172cSAndroid Build Coastguard Worker * added support for reading PKCS#12 (PFX) files (as a replacement for 2276*03f9172cSAndroid Build Coastguard Worker PEM/DER) to get certificate and private key (CONFIG_PKCS12) 2277*03f9172cSAndroid Build Coastguard Worker * fixed compilation with CONFIG_PCSC=y 2278*03f9172cSAndroid Build Coastguard Worker * added new ap_scan mode, ap_scan=2, for drivers that take care of 2279*03f9172cSAndroid Build Coastguard Worker association, but need to be configured with security policy and SSID, 2280*03f9172cSAndroid Build Coastguard Worker e.g., ndiswrapper and NDIS driver; this mode should allow such 2281*03f9172cSAndroid Build Coastguard Worker drivers to work with hidden SSIDs and optimized roaming; when 2282*03f9172cSAndroid Build Coastguard Worker ap_scan=2 is used, only the first network block in the configuration 2283*03f9172cSAndroid Build Coastguard Worker file is used and this configuration should have explicit security 2284*03f9172cSAndroid Build Coastguard Worker policy (i.e., only one option in the lists) for key_mgmt, pairwise, 2285*03f9172cSAndroid Build Coastguard Worker group, proto variables 2286*03f9172cSAndroid Build Coastguard Worker * added experimental port of wpa_supplicant for Windows 2287*03f9172cSAndroid Build Coastguard Worker - driver_ndis.c driver interface (NDIS OIDs) 2288*03f9172cSAndroid Build Coastguard Worker - currently, this requires cygwin and WinPcap 2289*03f9172cSAndroid Build Coastguard Worker - small utility, win_if_list, can be used to get interface name 2290*03f9172cSAndroid Build Coastguard Worker * control interface can now be removed at build time; add 2291*03f9172cSAndroid Build Coastguard Worker CONFIG_CTRL_IFACE=y to .config to maintain old functionality 2292*03f9172cSAndroid Build Coastguard Worker * optional Xsupplicant interface can now be removed at build time; 2293*03f9172cSAndroid Build Coastguard Worker (CONFIG_XSUPPLICANT_IFACE=y in .config to bring it back) 2294*03f9172cSAndroid Build Coastguard Worker * added auth_alg to driver interface associate() parameters to make it 2295*03f9172cSAndroid Build Coastguard Worker easier for drivers to configure authentication algorithm as part of 2296*03f9172cSAndroid Build Coastguard Worker the association 2297*03f9172cSAndroid Build Coastguard Worker 2298*03f9172cSAndroid Build Coastguard Worker2004-12-05 - v0.3.0 (beginning of 0.3.x development releases) 2299*03f9172cSAndroid Build Coastguard Worker * driver_broadcom: added new driver interface for Broadcom wl.o driver 2300*03f9172cSAndroid Build Coastguard Worker (a generic driver for Broadcom IEEE 802.11a/g cards) 2301*03f9172cSAndroid Build Coastguard Worker * wpa_cli: fixed parsing of -p <path> command line argument 2302*03f9172cSAndroid Build Coastguard Worker * PEAPv1: fixed tunneled EAP-Success reply handling to reply with TLS 2303*03f9172cSAndroid Build Coastguard Worker ACK, not tunneled EAP-Success (of which only the first byte was 2304*03f9172cSAndroid Build Coastguard Worker actually send due to a bug in previous code); this seems to 2305*03f9172cSAndroid Build Coastguard Worker interoperate with most RADIUS servers that implements PEAPv1 2306*03f9172cSAndroid Build Coastguard Worker * PEAPv1: added support for terminating PEAP authentication on tunneled 2307*03f9172cSAndroid Build Coastguard Worker EAP-Success message; this can be configured by adding 2308*03f9172cSAndroid Build Coastguard Worker peap_outer_success=0 on phase1 parameters in wpa_supplicant.conf 2309*03f9172cSAndroid Build Coastguard Worker (some RADIUS servers require this whereas others require a tunneled 2310*03f9172cSAndroid Build Coastguard Worker reply 2311*03f9172cSAndroid Build Coastguard Worker * PEAPv1: changed phase1 option peaplabel to use default to 0, i.e., to 2312*03f9172cSAndroid Build Coastguard Worker the old label for key derivation; previously, the default was 1, 2313*03f9172cSAndroid Build Coastguard Worker but it looks like most existing PEAPv1 implementations use the old 2314*03f9172cSAndroid Build Coastguard Worker label which is thus more suitable default option 2315*03f9172cSAndroid Build Coastguard Worker * added support for EAP-PSK (draft-bersani-eap-psk-03.txt) 2316*03f9172cSAndroid Build Coastguard Worker * fixed parsing of wep_tx_keyidx 2317*03f9172cSAndroid Build Coastguard Worker * added support for configuring list of allowed Phase 2 EAP types 2318*03f9172cSAndroid Build Coastguard Worker (for both EAP-PEAP and EAP-TTLS) instead of only one type 2319*03f9172cSAndroid Build Coastguard Worker * added support for configuring IEEE 802.11 authentication algorithm 2320*03f9172cSAndroid Build Coastguard Worker (auth_alg; mainly for using Shared Key authentication with static 2321*03f9172cSAndroid Build Coastguard Worker WEP keys) 2322*03f9172cSAndroid Build Coastguard Worker * added support for EAP-AKA (with UMTS SIM) 2323*03f9172cSAndroid Build Coastguard Worker * fixed couple of errors in PCSC handling that could have caused 2324*03f9172cSAndroid Build Coastguard Worker random-looking errors for EAP-SIM 2325*03f9172cSAndroid Build Coastguard Worker * added support for EAP-SIM pseudonyms and fast re-authentication 2326*03f9172cSAndroid Build Coastguard Worker * added support for EAP-TLS/PEAP/TTLS fast re-authentication (TLS 2327*03f9172cSAndroid Build Coastguard Worker session resumption) 2328*03f9172cSAndroid Build Coastguard Worker * added support for EAP-SIM with two challenges 2329*03f9172cSAndroid Build Coastguard Worker (phase1="sim_min_num_chal=3" can be used to require three challenges) 2330*03f9172cSAndroid Build Coastguard Worker * added support for configuring DH/DSA parameters for an ephemeral DH 2331*03f9172cSAndroid Build Coastguard Worker key exchange (EAP-TLS/PEAP/TTLS) using new configuration parameters 2332*03f9172cSAndroid Build Coastguard Worker dh_file and dh_file2 (phase 2); this adds support for using DSA keys 2333*03f9172cSAndroid Build Coastguard Worker and optional DH key exchange to achieve forward secracy with RSA keys 2334*03f9172cSAndroid Build Coastguard Worker * added support for matching subject of the authentication server 2335*03f9172cSAndroid Build Coastguard Worker certificate with a substring when using EAP-TLS/PEAP/TTLS; new 2336*03f9172cSAndroid Build Coastguard Worker configuration variables subject_match and subject_match2 2337*03f9172cSAndroid Build Coastguard Worker * changed SSID configuration in driver_wext.c (used by many driver 2338*03f9172cSAndroid Build Coastguard Worker interfaces) to use ssid_len+1 as the length for SSID since some Linux 2339*03f9172cSAndroid Build Coastguard Worker drivers expect this 2340*03f9172cSAndroid Build Coastguard Worker * fixed couple of unaligned reads in scan result parsing to fix WPA 2341*03f9172cSAndroid Build Coastguard Worker connection on some platforms (e.g., ARM) 2342*03f9172cSAndroid Build Coastguard Worker * added driver interface for Intel ipw2100 driver 2343*03f9172cSAndroid Build Coastguard Worker * added support for LEAP with WPA 2344*03f9172cSAndroid Build Coastguard Worker * added support for larger scan results report (old limit was 4 kB of 2345*03f9172cSAndroid Build Coastguard Worker data, i.e., about 35 or so APs) when using Linux wireless extensions 2346*03f9172cSAndroid Build Coastguard Worker v17 or newer 2347*03f9172cSAndroid Build Coastguard Worker * fixed a bug in PMKSA cache processing: skip sending of EAPOL-Start 2348*03f9172cSAndroid Build Coastguard Worker only if there is a PMKSA cache entry for the current AP 2349*03f9172cSAndroid Build Coastguard Worker * fixed error handling for case where reading of scan results fails: 2350*03f9172cSAndroid Build Coastguard Worker must schedule a new scan or wpa_supplicant will remain waiting 2351*03f9172cSAndroid Build Coastguard Worker forever 2352*03f9172cSAndroid Build Coastguard Worker * changed debug output to remove shared password/key material by 2353*03f9172cSAndroid Build Coastguard Worker default; all key information can be included with -K command line 2354*03f9172cSAndroid Build Coastguard Worker argument to match the previous behavior 2355*03f9172cSAndroid Build Coastguard Worker * added support for timestamping debug log messages (disabled by 2356*03f9172cSAndroid Build Coastguard Worker default, can be enabled with -t command line argument) 2357*03f9172cSAndroid Build Coastguard Worker * set pairwise/group cipher suite for non-WPA IEEE 802.1X to WEP-104 2358*03f9172cSAndroid Build Coastguard Worker if keys are not configured to be used; this fixes IEEE 802.1X mode 2359*03f9172cSAndroid Build Coastguard Worker with drivers that use this information to configure whether Privacy 2360*03f9172cSAndroid Build Coastguard Worker bit can be in Beacon frames (e.g., ndiswrapper) 2361*03f9172cSAndroid Build Coastguard Worker * avoid clearing driver keys if no keys have been configured since last 2362*03f9172cSAndroid Build Coastguard Worker key clear request; this seems to improve reliability of group key 2363*03f9172cSAndroid Build Coastguard Worker handshake for ndiswrapper & NDIS driver which seems to be suffering 2364*03f9172cSAndroid Build Coastguard Worker of some kind of timing issue when the keys are cleared again after 2365*03f9172cSAndroid Build Coastguard Worker association 2366*03f9172cSAndroid Build Coastguard Worker * changed driver interface API: 2367*03f9172cSAndroid Build Coastguard Worker - WPA_SUPPLICANT_DRIVER_VERSION define can be used to determine which 2368*03f9172cSAndroid Build Coastguard Worker version is being used (now, this is set to 2; previously, it was 2369*03f9172cSAndroid Build Coastguard Worker not defined) 2370*03f9172cSAndroid Build Coastguard Worker - pass pointer to private data structure to all calls 2371*03f9172cSAndroid Build Coastguard Worker - the new API is not backwards compatible; all in-tree driver 2372*03f9172cSAndroid Build Coastguard Worker interfaces has been converted to the new API 2373*03f9172cSAndroid Build Coastguard Worker * added support for controlling multiple interfaces (radios) per 2374*03f9172cSAndroid Build Coastguard Worker wpa_supplicant process; each interface needs to be listed on the 2375*03f9172cSAndroid Build Coastguard Worker command line (-c, -i, -D arguments) with -N as a separator 2376*03f9172cSAndroid Build Coastguard Worker (-cwpa1.conf -iwlan0 -Dhostap -N -cwpa2.conf -iath0 -Dmadwifi) 2377*03f9172cSAndroid Build Coastguard Worker * added a workaround for EAP servers that incorrectly use same Id for 2378*03f9172cSAndroid Build Coastguard Worker sequential EAP packets 2379*03f9172cSAndroid Build Coastguard Worker * changed libpcap/libdnet configuration to use .config variable, 2380*03f9172cSAndroid Build Coastguard Worker CONFIG_DNET_PCAP, instead of requiring Makefile modification 2381*03f9172cSAndroid Build Coastguard Worker * improved downgrade attack detection in IE verification of msg 3/4: 2382*03f9172cSAndroid Build Coastguard Worker verify both WPA and RSN IEs, if present, not only the selected one; 2383*03f9172cSAndroid Build Coastguard Worker reject the AP if an RSN IE is found in msg 3/4, but not in Beacon or 2384*03f9172cSAndroid Build Coastguard Worker Probe Response frame, and RSN is enabled in wpa_supplicant 2385*03f9172cSAndroid Build Coastguard Worker configuration 2386*03f9172cSAndroid Build Coastguard Worker * fixed WPA msg 3/4 processing to allow Key Data field contain other 2387*03f9172cSAndroid Build Coastguard Worker IEs than just one WPA IE 2388*03f9172cSAndroid Build Coastguard Worker * added support for FreeBSD and driver interface for the BSD net80211 2389*03f9172cSAndroid Build Coastguard Worker layer (CONFIG_DRIVER_BSD=y in .config); please note that some of the 2390*03f9172cSAndroid Build Coastguard Worker required kernel mods have not yet been committed 2391*03f9172cSAndroid Build Coastguard Worker * made EAP workarounds configurable; enabled by default, can be 2392*03f9172cSAndroid Build Coastguard Worker disabled with network block option eap_workaround=0 2393*03f9172cSAndroid Build Coastguard Worker 2394*03f9172cSAndroid Build Coastguard Worker2004-07-17 - v0.2.4 (beginning of 0.2.x stable releases) 2395*03f9172cSAndroid Build Coastguard Worker * resolved couple of interoperability issues with EAP-PEAPv1 and 2396*03f9172cSAndroid Build Coastguard Worker Phase 2 (inner EAP) fragment reassembly 2397*03f9172cSAndroid Build Coastguard Worker * driver_madwifi: fixed WEP key configuration for IEEE 802.1X when the 2398*03f9172cSAndroid Build Coastguard Worker AP is using non-zero key index for the unicast key and key index zero 2399*03f9172cSAndroid Build Coastguard Worker for the broadcast key 2400*03f9172cSAndroid Build Coastguard Worker * driver_hostap: fixed IEEE 802.1X WEP key updates and 2401*03f9172cSAndroid Build Coastguard Worker re-authentication by allowing unencrypted EAPOL frames when not using 2402*03f9172cSAndroid Build Coastguard Worker WPA 2403*03f9172cSAndroid Build Coastguard Worker * added a new driver interface, 'wext', which uses only standard, 2404*03f9172cSAndroid Build Coastguard Worker driver independent functionality in Linux wireless extensions; 2405*03f9172cSAndroid Build Coastguard Worker currently, this can be used only for non-WPA IEEE 802.1X mode, but 2406*03f9172cSAndroid Build Coastguard Worker eventually, this is to be extended to support full WPA/WPA2 once 2407*03f9172cSAndroid Build Coastguard Worker Linux wireless extensions get support for this 2408*03f9172cSAndroid Build Coastguard Worker * added support for mode in which the driver is responsible for AP 2409*03f9172cSAndroid Build Coastguard Worker scanning and selection; this is disabled by default and can be 2410*03f9172cSAndroid Build Coastguard Worker enabled with global ap_scan=0 variable in wpa_supplicant.conf; 2411*03f9172cSAndroid Build Coastguard Worker this mode can be used, e.g., with generic 'wext' driver interface to 2412*03f9172cSAndroid Build Coastguard Worker use wpa_supplicant as IEEE 802.1X Supplicant with any Linux driver 2413*03f9172cSAndroid Build Coastguard Worker supporting wireless extensions. 2414*03f9172cSAndroid Build Coastguard Worker * driver_madwifi: fixed WPA2 configuration and scan_ssid=1 (e.g., 2415*03f9172cSAndroid Build Coastguard Worker operation with an AP that does not include SSID in the Beacon frames) 2416*03f9172cSAndroid Build Coastguard Worker * added support for new EAP authentication methods: 2417*03f9172cSAndroid Build Coastguard Worker EAP-TTLS/EAP-OTP, EAP-PEAPv0/OTP, EAP-PEAPv1/OTP, EAP-OTP 2418*03f9172cSAndroid Build Coastguard Worker * added support for asking one-time-passwords from frontends (e.g., 2419*03f9172cSAndroid Build Coastguard Worker wpa_cli); this 'otp' command works otherwise like 'password' command, 2420*03f9172cSAndroid Build Coastguard Worker but the password is used only once and the frontend will be asked for 2421*03f9172cSAndroid Build Coastguard Worker a new password whenever a request from authenticator requires a 2422*03f9172cSAndroid Build Coastguard Worker password; this can be used with both EAP-OTP and EAP-GTC 2423*03f9172cSAndroid Build Coastguard Worker * changed wpa_cli to automatically re-establish connection so that it 2424*03f9172cSAndroid Build Coastguard Worker does not need to be re-started when wpa_supplicant is terminated and 2425*03f9172cSAndroid Build Coastguard Worker started again 2426*03f9172cSAndroid Build Coastguard Worker * improved user data (identity/password/otp) requests through 2427*03f9172cSAndroid Build Coastguard Worker frontends: process pending EAPOL packets after getting new 2428*03f9172cSAndroid Build Coastguard Worker information so that full authentication does not need to be 2429*03f9172cSAndroid Build Coastguard Worker restarted; in addition, send pending requests again whenever a new 2430*03f9172cSAndroid Build Coastguard Worker frontend is attached 2431*03f9172cSAndroid Build Coastguard Worker * changed control frontends to use a new directory for socket files to 2432*03f9172cSAndroid Build Coastguard Worker make it easier for wpa_cli to automatically select between interfaces 2433*03f9172cSAndroid Build Coastguard Worker and to provide access control for the control interface; 2434*03f9172cSAndroid Build Coastguard Worker wpa_supplicant.conf: ctrl_interface is now a path 2435*03f9172cSAndroid Build Coastguard Worker (/var/run/wpa_supplicant is the recommended path) and 2436*03f9172cSAndroid Build Coastguard Worker ctrl_interface_group can be used to select which group gets access to 2437*03f9172cSAndroid Build Coastguard Worker the control interface; 2438*03f9172cSAndroid Build Coastguard Worker wpa_cli: by default, try to connect to the first interface available 2439*03f9172cSAndroid Build Coastguard Worker in /var/run/wpa_supplicant; this path can be overridden with -p option 2440*03f9172cSAndroid Build Coastguard Worker and an interface can be selected with -i option (i.e., in most common 2441*03f9172cSAndroid Build Coastguard Worker cases, wpa_cli does not need to get any arguments) 2442*03f9172cSAndroid Build Coastguard Worker * added support for LEAP 2443*03f9172cSAndroid Build Coastguard Worker * added driver interface for Linux ndiswrapper 2444*03f9172cSAndroid Build Coastguard Worker * added priority option for network blocks in the configuration file; 2445*03f9172cSAndroid Build Coastguard Worker this allows networks to be grouped based on priority (the scan 2446*03f9172cSAndroid Build Coastguard Worker results are searched for matches with network blocks in this order) 2447*03f9172cSAndroid Build Coastguard Worker 2448*03f9172cSAndroid Build Coastguard Worker2004-06-20 - v0.2.3 2449*03f9172cSAndroid Build Coastguard Worker * sort scan results to improve AP selection 2450*03f9172cSAndroid Build Coastguard Worker * fixed control interface socket removal for some error cases 2451*03f9172cSAndroid Build Coastguard Worker * improved scan requesting and authentication timeout 2452*03f9172cSAndroid Build Coastguard Worker * small improvements/bug fixes for EAP-MSCHAPv2, EAP-PEAP, and 2453*03f9172cSAndroid Build Coastguard Worker TLS processing 2454*03f9172cSAndroid Build Coastguard Worker * PEAP version can now be forced with phase1="peapver=<ver>" 2455*03f9172cSAndroid Build Coastguard Worker (mostly for testing; by default, the highest version supported by 2456*03f9172cSAndroid Build Coastguard Worker both the Supplicant and Authentication Server is selected 2457*03f9172cSAndroid Build Coastguard Worker automatically) 2458*03f9172cSAndroid Build Coastguard Worker * added support for madwifi driver (Atheros ar521x) 2459*03f9172cSAndroid Build Coastguard Worker * added a workaround for cases where AP sets Install Tx/Rx bit for 2460*03f9172cSAndroid Build Coastguard Worker WPA Group Key messages when pairwise keys are used (without this, 2461*03f9172cSAndroid Build Coastguard Worker the Group Key would be used for Tx and the AP would drop frames 2462*03f9172cSAndroid Build Coastguard Worker from the station) 2463*03f9172cSAndroid Build Coastguard Worker * added GSM SIM/USIM interface for GSM authentication algorithm for 2464*03f9172cSAndroid Build Coastguard Worker EAP-SIM; this requires pcsc-lite 2465*03f9172cSAndroid Build Coastguard Worker * added support for ATMEL AT76C5XXx driver 2466*03f9172cSAndroid Build Coastguard Worker * fixed IEEE 802.1X WEP key derivation in the case where Authenticator 2467*03f9172cSAndroid Build Coastguard Worker does not include key data in the EAPOL-Key frame (i.e., part of 2468*03f9172cSAndroid Build Coastguard Worker EAP keying material is used as data encryption key) 2469*03f9172cSAndroid Build Coastguard Worker * added support for using plaintext and static WEP networks 2470*03f9172cSAndroid Build Coastguard Worker (key_mgmt=NONE) 2471*03f9172cSAndroid Build Coastguard Worker 2472*03f9172cSAndroid Build Coastguard Worker2004-05-31 - v0.2.2 2473*03f9172cSAndroid Build Coastguard Worker * added support for new EAP authentication methods: 2474*03f9172cSAndroid Build Coastguard Worker EAP-TTLS/EAP-MD5-Challenge 2475*03f9172cSAndroid Build Coastguard Worker EAP-TTLS/EAP-GTC 2476*03f9172cSAndroid Build Coastguard Worker EAP-TTLS/EAP-MSCHAPv2 2477*03f9172cSAndroid Build Coastguard Worker EAP-TTLS/EAP-TLS 2478*03f9172cSAndroid Build Coastguard Worker EAP-TTLS/MSCHAPv2 2479*03f9172cSAndroid Build Coastguard Worker EAP-TTLS/MSCHAP 2480*03f9172cSAndroid Build Coastguard Worker EAP-TTLS/PAP 2481*03f9172cSAndroid Build Coastguard Worker EAP-TTLS/CHAP 2482*03f9172cSAndroid Build Coastguard Worker EAP-PEAP/TLS 2483*03f9172cSAndroid Build Coastguard Worker EAP-PEAP/GTC 2484*03f9172cSAndroid Build Coastguard Worker EAP-PEAP/MD5-Challenge 2485*03f9172cSAndroid Build Coastguard Worker EAP-GTC 2486*03f9172cSAndroid Build Coastguard Worker EAP-SIM (not yet complete; needs GSM/SIM authentication interface) 2487*03f9172cSAndroid Build Coastguard Worker * added support for anonymous identity (to be used when identity is 2488*03f9172cSAndroid Build Coastguard Worker sent in plaintext; real identity will be used within TLS protected 2489*03f9172cSAndroid Build Coastguard Worker tunnel (e.g., with EAP-TTLS) 2490*03f9172cSAndroid Build Coastguard Worker * added event messages from wpa_supplicant to frontends, e.g., wpa_cli 2491*03f9172cSAndroid Build Coastguard Worker * added support for requesting identity and password information using 2492*03f9172cSAndroid Build Coastguard Worker control interface; in other words, the password for EAP-PEAP or 2493*03f9172cSAndroid Build Coastguard Worker EAP-TTLS does not need to be included in the configuration file since 2494*03f9172cSAndroid Build Coastguard Worker a frontand (e.g., wpa_cli) can ask it from the user 2495*03f9172cSAndroid Build Coastguard Worker * improved RSN pre-authentication to use a candidate list and process 2496*03f9172cSAndroid Build Coastguard Worker all candidates from each scan; not only one per scan 2497*03f9172cSAndroid Build Coastguard Worker * fixed RSN IE and WPA IE capabilities field parsing 2498*03f9172cSAndroid Build Coastguard Worker * ignore Tx bit in GTK IE when Pairwise keys are used 2499*03f9172cSAndroid Build Coastguard Worker * avoid making new scan requests during IEEE 802.1X negotiation 2500*03f9172cSAndroid Build Coastguard Worker * use openssl/libcrypto for MD5 and SHA-1 when compiling wpa_supplicant 2501*03f9172cSAndroid Build Coastguard Worker with TLS support (this replaces the included implementation with 2502*03f9172cSAndroid Build Coastguard Worker library code to save about 8 kB since the library code is needed 2503*03f9172cSAndroid Build Coastguard Worker anyway for TLS) 2504*03f9172cSAndroid Build Coastguard Worker * fixed WPA-PSK only mode when compiled without IEEE 802.1X support 2505*03f9172cSAndroid Build Coastguard Worker (i.e., without CONFIG_IEEE8021X_EAPOL=y in .config) 2506*03f9172cSAndroid Build Coastguard Worker 2507*03f9172cSAndroid Build Coastguard Worker2004-05-06 - v0.2.1 2508*03f9172cSAndroid Build Coastguard Worker * added support for internal IEEE 802.1X (actually, IEEE 802.1aa/D6.1) 2509*03f9172cSAndroid Build Coastguard Worker Supplicant 2510*03f9172cSAndroid Build Coastguard Worker - EAPOL state machines for Supplicant [IEEE 802.1aa/D6.1] 2511*03f9172cSAndroid Build Coastguard Worker - EAP peer state machine [draft-ietf-eap-statemachine-02.pdf] 2512*03f9172cSAndroid Build Coastguard Worker - EAP-MD5 (cannot be used with WPA-RADIUS) 2513*03f9172cSAndroid Build Coastguard Worker [draft-ietf-eap-rfc2284bis-09.txt] 2514*03f9172cSAndroid Build Coastguard Worker - EAP-TLS [RFC 2716] 2515*03f9172cSAndroid Build Coastguard Worker - EAP-MSCHAPv2 (currently used only with EAP-PEAP) 2516*03f9172cSAndroid Build Coastguard Worker - EAP-PEAP/MSCHAPv2 [draft-josefsson-pppext-eap-tls-eap-07.txt] 2517*03f9172cSAndroid Build Coastguard Worker [draft-kamath-pppext-eap-mschapv2-00.txt] 2518*03f9172cSAndroid Build Coastguard Worker (PEAP version 0, 1, and parts of 2; only 0 and 1 are enabled by 2519*03f9172cSAndroid Build Coastguard Worker default; tested with FreeRADIUS, Microsoft IAS, and Funk Odyssey) 2520*03f9172cSAndroid Build Coastguard Worker - new configuration file options: eap, identity, password, ca_cert, 2521*03f9172cSAndroid Build Coastguard Worker client_cert, privatekey, private_key_passwd 2522*03f9172cSAndroid Build Coastguard Worker - Xsupplicant is not required anymore, but it can be used by 2523*03f9172cSAndroid Build Coastguard Worker disabling the internal IEEE 802.1X Supplicant with -e command line 2524*03f9172cSAndroid Build Coastguard Worker option 2525*03f9172cSAndroid Build Coastguard Worker - this code is not included in the default build; Makefile need to 2526*03f9172cSAndroid Build Coastguard Worker be edited for this (uncomment lines for selected functionality) 2527*03f9172cSAndroid Build Coastguard Worker - EAP-TLS and EAP-PEAP require openssl libraries 2528*03f9172cSAndroid Build Coastguard Worker * use module prefix in debug messages (WPA, EAP, EAP-TLS, ..) 2529*03f9172cSAndroid Build Coastguard Worker * added support for non-WPA IEEE 802.1X mode with dynamic WEP keys 2530*03f9172cSAndroid Build Coastguard Worker (i.e., complete IEEE 802.1X/EAP authentication and use IEEE 802.1X 2531*03f9172cSAndroid Build Coastguard Worker EAPOL-Key frames instead of WPA key handshakes) 2532*03f9172cSAndroid Build Coastguard Worker * added support for IEEE 802.11i/RSN (WPA2) 2533*03f9172cSAndroid Build Coastguard Worker - improved PTK Key Handshake 2534*03f9172cSAndroid Build Coastguard Worker - PMKSA caching, pre-authentication 2535*03f9172cSAndroid Build Coastguard Worker * fixed wpa_supplicant to ignore possible extra data after WPA 2536*03f9172cSAndroid Build Coastguard Worker EAPOL-Key packets (this fixes 'Invalid EAPOL-Key MIC when using 2537*03f9172cSAndroid Build Coastguard Worker TPTK' error from message 3 of 4-Way Handshake in case the AP 2538*03f9172cSAndroid Build Coastguard Worker includes extra data after the EAPOL-Key) 2539*03f9172cSAndroid Build Coastguard Worker * added interface for external programs (frontends) to control 2540*03f9172cSAndroid Build Coastguard Worker wpa_supplicant 2541*03f9172cSAndroid Build Coastguard Worker - CLI example (wpa_cli) with interactive mode and command line 2542*03f9172cSAndroid Build Coastguard Worker mode 2543*03f9172cSAndroid Build Coastguard Worker - replaced SIGUSR1 status/statistics with the new control interface 2544*03f9172cSAndroid Build Coastguard Worker * made some feature compile time configurable 2545*03f9172cSAndroid Build Coastguard Worker - .config file for make 2546*03f9172cSAndroid Build Coastguard Worker - driver interfaces (hostap, hermes, ..) 2547*03f9172cSAndroid Build Coastguard Worker - EAPOL/EAP functions 2548*03f9172cSAndroid Build Coastguard Worker 2549*03f9172cSAndroid Build Coastguard Worker2004-02-15 - v0.2.0 2550*03f9172cSAndroid Build Coastguard Worker * Initial version of wpa_supplicant 2551