xref: /aosp_15_r20/external/wpa_supplicant_8/wpa_supplicant/ChangeLog (revision 03f9172ca588f91df233974f4258bab95191f931)
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