xref: /aosp_15_r20/external/wpa_supplicant_8/hostapd/ChangeLog (revision 03f9172ca588f91df233974f4258bab95191f931)
1*03f9172cSAndroid Build Coastguard WorkerChangeLog for hostapd
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	* HE/IEEE 802.11ax/Wi-Fi 6
8*03f9172cSAndroid Build Coastguard Worker	  - various fixes
9*03f9172cSAndroid Build Coastguard Worker	* EHT/IEEE 802.11be/Wi-Fi 7
10*03f9172cSAndroid Build Coastguard Worker	  - add preliminary support
11*03f9172cSAndroid Build Coastguard Worker	* SAE: add support for fetching the password from a RADIUS server
12*03f9172cSAndroid Build Coastguard Worker	* support OpenSSL 3.0 API changes
13*03f9172cSAndroid Build Coastguard Worker	* support background radar detection and CAC with some additional
14*03f9172cSAndroid Build Coastguard Worker	  drivers
15*03f9172cSAndroid Build Coastguard Worker	* support RADIUS ACL/PSK check during 4-way handshake (wpa_psk_radius=3)
16*03f9172cSAndroid Build Coastguard Worker	* EAP-SIM/AKA: support IMSI privacy
17*03f9172cSAndroid Build Coastguard Worker	* improve 4-way handshake operations
18*03f9172cSAndroid Build Coastguard Worker	  - use Secure=1 in message 3 during PTK rekeying
19*03f9172cSAndroid Build Coastguard Worker	* OCV: do not check Frequency Segment 1 Channel Number for 160 MHz cases
20*03f9172cSAndroid Build Coastguard Worker	  to avoid interoperability issues
21*03f9172cSAndroid Build Coastguard Worker	* support new SAE AKM suites with variable length keys
22*03f9172cSAndroid Build Coastguard Worker	* support new AKM for 802.1X/EAP with SHA384
23*03f9172cSAndroid Build Coastguard Worker	* extend PASN support for secure ranging
24*03f9172cSAndroid Build Coastguard Worker	* FT: Use SHA256 to derive PMKID for AKM 00-0F-AC:3 (FT-EAP)
25*03f9172cSAndroid Build Coastguard Worker	  - this is based on additional details being added in the IEEE 802.11
26*03f9172cSAndroid Build Coastguard Worker	    standard
27*03f9172cSAndroid Build Coastguard Worker	  - the new implementation is not backwards compatible
28*03f9172cSAndroid Build Coastguard Worker	* improved ACS to cover additional channel types/bandwidths
29*03f9172cSAndroid Build Coastguard Worker	* extended Multiple BSSID support
30*03f9172cSAndroid Build Coastguard Worker	* fix beacon protection with FT protocol (incorrect BIGTK was provided)
31*03f9172cSAndroid Build Coastguard Worker	* support unsynchronized service discovery (USD)
32*03f9172cSAndroid Build Coastguard Worker	* add preliminary support for RADIUS/TLS
33*03f9172cSAndroid Build Coastguard Worker	* add support for explicit SSID protection in 4-way handshake
34*03f9172cSAndroid Build Coastguard Worker	  (a mitigation for CVE-2023-52424; disabled by default for now, can be
35*03f9172cSAndroid Build Coastguard Worker	  enabled with ssid_protection=1)
36*03f9172cSAndroid Build Coastguard Worker	* fix SAE H2E rejected groups validation to avoid downgrade attacks
37*03f9172cSAndroid Build Coastguard Worker	* use stricter validation for some RADIUS messages
38*03f9172cSAndroid Build Coastguard Worker	* a large number of other fixes, cleanup, and extensions
39*03f9172cSAndroid Build Coastguard Worker
40*03f9172cSAndroid Build Coastguard Worker2022-01-16 - v2.10
41*03f9172cSAndroid Build Coastguard Worker	* SAE changes
42*03f9172cSAndroid Build Coastguard Worker	  - improved protection against side channel attacks
43*03f9172cSAndroid Build Coastguard Worker	    [https://w1.fi/security/2022-1/]
44*03f9172cSAndroid Build Coastguard Worker	  - added option send SAE Confirm immediately (sae_config_immediate=1)
45*03f9172cSAndroid Build Coastguard Worker	    after SAE Commit
46*03f9172cSAndroid Build Coastguard Worker	  - added support for the hash-to-element mechanism (sae_pwe=1 or
47*03f9172cSAndroid Build Coastguard Worker	    sae_pwe=2)
48*03f9172cSAndroid Build Coastguard Worker	  - fixed PMKSA caching with OKC
49*03f9172cSAndroid Build Coastguard Worker	  - added support for SAE-PK
50*03f9172cSAndroid Build Coastguard Worker	* EAP-pwd changes
51*03f9172cSAndroid Build Coastguard Worker	  - improved protection against side channel attacks
52*03f9172cSAndroid Build Coastguard Worker	    [https://w1.fi/security/2022-1/]
53*03f9172cSAndroid Build Coastguard Worker	* fixed WPS UPnP SUBSCRIBE handling of invalid operations
54*03f9172cSAndroid Build Coastguard Worker	  [https://w1.fi/security/2020-1/]
55*03f9172cSAndroid Build Coastguard Worker	* fixed PMF disconnection protection bypass
56*03f9172cSAndroid Build Coastguard Worker	  [https://w1.fi/security/2019-7/]
57*03f9172cSAndroid Build Coastguard Worker	* added support for using OpenSSL 3.0
58*03f9172cSAndroid Build Coastguard Worker	* fixed various issues in experimental support for EAP-TEAP server
59*03f9172cSAndroid Build Coastguard Worker	* added configuration (max_auth_rounds, max_auth_rounds_short) to
60*03f9172cSAndroid Build Coastguard Worker	  increase the maximum number of EAP message exchanges (mainly to
61*03f9172cSAndroid Build Coastguard Worker	  support cases with very large certificates) for the EAP server
62*03f9172cSAndroid Build Coastguard Worker	* added support for DPP release 2 (Wi-Fi Device Provisioning Protocol)
63*03f9172cSAndroid Build Coastguard Worker	* extended HE (IEEE 802.11ax) support, including 6 GHz support
64*03f9172cSAndroid Build Coastguard Worker	* removed obsolete IAPP functionality
65*03f9172cSAndroid Build Coastguard Worker	* fixed EAP-FAST server with TLS GCM/CCM ciphers
66*03f9172cSAndroid Build Coastguard Worker	* dropped support for libnl 1.1
67*03f9172cSAndroid Build Coastguard Worker	* added support for nl80211 control port for EAPOL frame TX/RX
68*03f9172cSAndroid Build Coastguard Worker	* fixed OWE key derivation with groups 20 and 21; this breaks backwards
69*03f9172cSAndroid Build Coastguard Worker	  compatibility for these groups while the default group 19 remains
70*03f9172cSAndroid Build Coastguard Worker	  backwards compatible; owe_ptk_workaround=1 can be used to enabled a
71*03f9172cSAndroid Build Coastguard Worker	  a workaround for the group 20/21 backwards compatibility
72*03f9172cSAndroid Build Coastguard Worker	* added support for Beacon protection
73*03f9172cSAndroid Build Coastguard Worker	* added support for Extended Key ID for pairwise keys
74*03f9172cSAndroid Build Coastguard Worker	* removed WEP support from the default build (CONFIG_WEP=y can be used
75*03f9172cSAndroid Build Coastguard Worker	  to enable it, if really needed)
76*03f9172cSAndroid Build Coastguard Worker	* added a build option to remove TKIP support (CONFIG_NO_TKIP=y)
77*03f9172cSAndroid Build Coastguard Worker	* added support for Transition Disable mechanism to allow the AP to
78*03f9172cSAndroid Build Coastguard Worker	  automatically disable transition mode to improve security
79*03f9172cSAndroid Build Coastguard Worker	* added support for PASN
80*03f9172cSAndroid Build Coastguard Worker	* added EAP-TLS server support for TLS 1.3 (disabled by default for now)
81*03f9172cSAndroid Build Coastguard Worker	* a large number of other fixes, cleanup, and extensions
82*03f9172cSAndroid Build Coastguard Worker
83*03f9172cSAndroid Build Coastguard Worker2019-08-07 - v2.9
84*03f9172cSAndroid Build Coastguard Worker	* SAE changes
85*03f9172cSAndroid Build Coastguard Worker	  - disable use of groups using Brainpool curves
86*03f9172cSAndroid Build Coastguard Worker	  - improved protection against side channel attacks
87*03f9172cSAndroid Build Coastguard Worker	  [https://w1.fi/security/2019-6/]
88*03f9172cSAndroid Build Coastguard Worker	* EAP-pwd changes
89*03f9172cSAndroid Build Coastguard Worker	  - disable use of groups using Brainpool curves
90*03f9172cSAndroid Build Coastguard Worker	  - improved protection against side channel attacks
91*03f9172cSAndroid Build Coastguard Worker	  [https://w1.fi/security/2019-6/]
92*03f9172cSAndroid Build Coastguard Worker	* fixed FT-EAP initial mobility domain association using PMKSA caching
93*03f9172cSAndroid Build Coastguard Worker	* added configuration of airtime policy
94*03f9172cSAndroid Build Coastguard Worker	* fixed FILS to and RSNE into (Re)Association Response frames
95*03f9172cSAndroid Build Coastguard Worker	* fixed DPP bootstrapping URI parser of channel list
96*03f9172cSAndroid Build Coastguard Worker	* added support for regulatory WMM limitation (for ETSI)
97*03f9172cSAndroid Build Coastguard Worker	* added support for MACsec Key Agreement using IEEE 802.1X/PSK
98*03f9172cSAndroid Build Coastguard Worker	* added experimental support for EAP-TEAP server (RFC 7170)
99*03f9172cSAndroid Build Coastguard Worker	* added experimental support for EAP-TLS server with TLS v1.3
100*03f9172cSAndroid Build Coastguard Worker	* added support for two server certificates/keys (RSA/ECC)
101*03f9172cSAndroid Build Coastguard Worker	* added AKMSuiteSelector into "STA <addr>" control interface data to
102*03f9172cSAndroid Build Coastguard Worker	  determine with AKM was used for an association
103*03f9172cSAndroid Build Coastguard Worker	* added eap_sim_id parameter to allow EAP-SIM/AKA server pseudonym and
104*03f9172cSAndroid Build Coastguard Worker	  fast reauthentication use to be disabled
105*03f9172cSAndroid Build Coastguard Worker	* fixed an ECDH operation corner case with OpenSSL
106*03f9172cSAndroid Build Coastguard Worker
107*03f9172cSAndroid Build Coastguard Worker2019-04-21 - v2.8
108*03f9172cSAndroid Build Coastguard Worker	* SAE changes
109*03f9172cSAndroid Build Coastguard Worker	  - added support for SAE Password Identifier
110*03f9172cSAndroid Build Coastguard Worker	  - changed default configuration to enable only group 19
111*03f9172cSAndroid Build Coastguard Worker	    (i.e., disable groups 20, 21, 25, 26 from default configuration) and
112*03f9172cSAndroid Build Coastguard Worker	    disable all unsuitable groups completely based on REVmd changes
113*03f9172cSAndroid Build Coastguard Worker	  - improved anti-clogging token mechanism and SAE authentication
114*03f9172cSAndroid Build Coastguard Worker	    frame processing during heavy CPU load; this mitigates some issues
115*03f9172cSAndroid Build Coastguard Worker	    with potential DoS attacks trying to flood an AP with large number
116*03f9172cSAndroid Build Coastguard Worker	    of SAE messages
117*03f9172cSAndroid Build Coastguard Worker	  - added Finite Cyclic Group field in status code 77 responses
118*03f9172cSAndroid Build Coastguard Worker	  - reject use of unsuitable groups based on new implementation guidance
119*03f9172cSAndroid Build Coastguard Worker	    in REVmd (allow only FFC groups with prime >= 3072 bits and ECC
120*03f9172cSAndroid Build Coastguard Worker	    groups with prime >= 256)
121*03f9172cSAndroid Build Coastguard Worker	  - minimize timing and memory use differences in PWE derivation
122*03f9172cSAndroid Build Coastguard Worker	    [https://w1.fi/security/2019-1/] (CVE-2019-9494)
123*03f9172cSAndroid Build Coastguard Worker	  - fixed confirm message validation in error cases
124*03f9172cSAndroid Build Coastguard Worker	    [https://w1.fi/security/2019-3/] (CVE-2019-9496)
125*03f9172cSAndroid Build Coastguard Worker	* EAP-pwd changes
126*03f9172cSAndroid Build Coastguard Worker	  - minimize timing and memory use differences in PWE derivation
127*03f9172cSAndroid Build Coastguard Worker	    [https://w1.fi/security/2019-2/] (CVE-2019-9495)
128*03f9172cSAndroid Build Coastguard Worker	  - verify peer scalar/element
129*03f9172cSAndroid Build Coastguard Worker	    [https://w1.fi/security/2019-4/] (CVE-2019-9497 and CVE-2019-9498)
130*03f9172cSAndroid Build Coastguard Worker	  - fix message reassembly issue with unexpected fragment
131*03f9172cSAndroid Build Coastguard Worker	    [https://w1.fi/security/2019-5/]
132*03f9172cSAndroid Build Coastguard Worker	  - enforce rand,mask generation rules more strictly
133*03f9172cSAndroid Build Coastguard Worker	  - fix a memory leak in PWE derivation
134*03f9172cSAndroid Build Coastguard Worker	  - disallow ECC groups with a prime under 256 bits (groups 25, 26, and
135*03f9172cSAndroid Build Coastguard Worker	    27)
136*03f9172cSAndroid Build Coastguard Worker	* Hotspot 2.0 changes
137*03f9172cSAndroid Build Coastguard Worker	  - added support for release number 3
138*03f9172cSAndroid Build Coastguard Worker	  - reject release 2 or newer association without PMF
139*03f9172cSAndroid Build Coastguard Worker	* added support for RSN operating channel validation
140*03f9172cSAndroid Build Coastguard Worker	  (CONFIG_OCV=y and configuration parameter ocv=1)
141*03f9172cSAndroid Build Coastguard Worker	* added Multi-AP protocol support
142*03f9172cSAndroid Build Coastguard Worker	* added FTM responder configuration
143*03f9172cSAndroid Build Coastguard Worker	* fixed build with LibreSSL
144*03f9172cSAndroid Build Coastguard Worker	* added FT/RRB workaround for short Ethernet frame padding
145*03f9172cSAndroid Build Coastguard Worker	* fixed KEK2 derivation for FILS+FT
146*03f9172cSAndroid Build Coastguard Worker	* added RSSI-based association rejection from OCE
147*03f9172cSAndroid Build Coastguard Worker	* extended beacon reporting functionality
148*03f9172cSAndroid Build Coastguard Worker	* VLAN changes
149*03f9172cSAndroid Build Coastguard Worker	  - allow local VLAN management with remote RADIUS authentication
150*03f9172cSAndroid Build Coastguard Worker	  - add WPA/WPA2 passphrase/PSK -based VLAN assignment
151*03f9172cSAndroid Build Coastguard Worker	* OpenSSL: allow systemwide policies to be overridden
152*03f9172cSAndroid Build Coastguard Worker	* extended PEAP to derive EMSK to enable use with ERP/FILS
153*03f9172cSAndroid Build Coastguard Worker	* extended WPS to allow SAE configuration to be added automatically
154*03f9172cSAndroid Build Coastguard Worker	  for PSK (wps_cred_add_sae=1)
155*03f9172cSAndroid Build Coastguard Worker	* fixed FT and SA Query Action frame with AP-MLME-in-driver cases
156*03f9172cSAndroid Build Coastguard Worker	* OWE: allow Diffie-Hellman Parameter element to be included with DPP
157*03f9172cSAndroid Build Coastguard Worker	  in preparation for DPP protocol extension
158*03f9172cSAndroid Build Coastguard Worker	* RADIUS server: started to accept ERP keyName-NAI as user identity
159*03f9172cSAndroid Build Coastguard Worker	  automatically without matching EAP database entry
160*03f9172cSAndroid Build Coastguard Worker	* fixed PTK rekeying with FILS and FT
161*03f9172cSAndroid Build Coastguard Worker
162*03f9172cSAndroid Build Coastguard Worker2018-12-02 - v2.7
163*03f9172cSAndroid Build Coastguard Worker	* fixed WPA packet number reuse with replayed messages and key
164*03f9172cSAndroid Build Coastguard Worker	  reinstallation
165*03f9172cSAndroid Build Coastguard Worker	  [http://w1.fi/security/2017-1/] (CVE-2017-13082)
166*03f9172cSAndroid Build Coastguard Worker	* added support for FILS (IEEE 802.11ai) shared key authentication
167*03f9172cSAndroid Build Coastguard Worker	* added support for OWE (Opportunistic Wireless Encryption, RFC 8110;
168*03f9172cSAndroid Build Coastguard Worker	  and transition mode defined by WFA)
169*03f9172cSAndroid Build Coastguard Worker	* added support for DPP (Wi-Fi Device Provisioning Protocol)
170*03f9172cSAndroid Build Coastguard Worker	* FT:
171*03f9172cSAndroid Build Coastguard Worker	  - added local generation of PMK-R0/PMK-R1 for FT-PSK
172*03f9172cSAndroid Build Coastguard Worker	    (ft_psk_generate_local=1)
173*03f9172cSAndroid Build Coastguard Worker	  - replaced inter-AP protocol with a cleaner design that is more
174*03f9172cSAndroid Build Coastguard Worker	    easily extensible; this breaks backward compatibility and requires
175*03f9172cSAndroid Build Coastguard Worker	    all APs in the ESS to be updated at the same time to maintain FT
176*03f9172cSAndroid Build Coastguard Worker	    functionality
177*03f9172cSAndroid Build Coastguard Worker	  - added support for wildcard R0KH/R1KH
178*03f9172cSAndroid Build Coastguard Worker	  - replaced r0_key_lifetime (minutes) parameter with
179*03f9172cSAndroid Build Coastguard Worker	    ft_r0_key_lifetime (seconds)
180*03f9172cSAndroid Build Coastguard Worker	  - fixed wpa_psk_file use for FT-PSK
181*03f9172cSAndroid Build Coastguard Worker	  - fixed FT-SAE PMKID matching
182*03f9172cSAndroid Build Coastguard Worker	  - added expiration to PMK-R0 and PMK-R1 cache
183*03f9172cSAndroid Build Coastguard Worker	  - added IEEE VLAN support (including tagged VLANs)
184*03f9172cSAndroid Build Coastguard Worker	  - added support for SHA384 based AKM
185*03f9172cSAndroid Build Coastguard Worker	* SAE
186*03f9172cSAndroid Build Coastguard Worker	  - fixed some PMKSA caching cases with SAE
187*03f9172cSAndroid Build Coastguard Worker	  - added support for configuring SAE password separately of the
188*03f9172cSAndroid Build Coastguard Worker	    WPA2 PSK/passphrase
189*03f9172cSAndroid Build Coastguard Worker	  - added option to require MFP for SAE associations
190*03f9172cSAndroid Build Coastguard Worker	    (sae_require_pmf=1)
191*03f9172cSAndroid Build Coastguard Worker	  - fixed PTK and EAPOL-Key integrity and key-wrap algorithm selection
192*03f9172cSAndroid Build Coastguard Worker	    for SAE;
193*03f9172cSAndroid Build Coastguard Worker	    note: this is not backwards compatible, i.e., both the AP and
194*03f9172cSAndroid Build Coastguard Worker	    station side implementations will need to be update at the same
195*03f9172cSAndroid Build Coastguard Worker	    time to maintain interoperability
196*03f9172cSAndroid Build Coastguard Worker	  - added support for Password Identifier
197*03f9172cSAndroid Build Coastguard Worker	* hostapd_cli: added support for command history and completion
198*03f9172cSAndroid Build Coastguard Worker	* added support for requesting beacon report
199*03f9172cSAndroid Build Coastguard Worker	* large number of other fixes, cleanup, and extensions
200*03f9172cSAndroid Build Coastguard Worker	* added option to configure EAPOL-Key retry limits
201*03f9172cSAndroid Build Coastguard Worker	  (wpa_group_update_count and wpa_pairwise_update_count)
202*03f9172cSAndroid Build Coastguard Worker	* removed all PeerKey functionality
203*03f9172cSAndroid Build Coastguard Worker	* fixed nl80211 AP mode configuration regression with Linux 4.15 and
204*03f9172cSAndroid Build Coastguard Worker	  newer
205*03f9172cSAndroid Build Coastguard Worker	* added support for using wolfSSL cryptographic library
206*03f9172cSAndroid Build Coastguard Worker	* fixed some 20/40 MHz coexistence cases where the BSS could drop to
207*03f9172cSAndroid Build Coastguard Worker	  20 MHz even when 40 MHz would be allowed
208*03f9172cSAndroid Build Coastguard Worker	* Hotspot 2.0
209*03f9172cSAndroid Build Coastguard Worker	  - added support for setting Venue URL ANQP-element (venue_url)
210*03f9172cSAndroid Build Coastguard Worker	  - added support for advertising Hotspot 2.0 operator icons
211*03f9172cSAndroid Build Coastguard Worker	  - added support for Roaming Consortium Selection element
212*03f9172cSAndroid Build Coastguard Worker	  - added support for Terms and Conditions
213*03f9172cSAndroid Build Coastguard Worker	  - added support for OSEN connection in a shared RSN BSS
214*03f9172cSAndroid Build Coastguard Worker	* added support for using OpenSSL 1.1.1
215*03f9172cSAndroid Build Coastguard Worker	* added EAP-pwd server support for salted passwords
216*03f9172cSAndroid Build Coastguard Worker
217*03f9172cSAndroid Build Coastguard Worker2016-10-02 - v2.6
218*03f9172cSAndroid Build Coastguard Worker	* fixed EAP-pwd last fragment validation
219*03f9172cSAndroid Build Coastguard Worker	  [http://w1.fi/security/2015-7/] (CVE-2015-5314)
220*03f9172cSAndroid Build Coastguard Worker	* fixed WPS configuration update vulnerability with malformed passphrase
221*03f9172cSAndroid Build Coastguard Worker	  [http://w1.fi/security/2016-1/] (CVE-2016-4476)
222*03f9172cSAndroid Build Coastguard Worker	* extended channel switch support for VHT bandwidth changes
223*03f9172cSAndroid Build Coastguard Worker	* added support for configuring new ANQP-elements with
224*03f9172cSAndroid Build Coastguard Worker	  anqp_elem=<InfoID>:<hexdump of payload>
225*03f9172cSAndroid Build Coastguard Worker	* fixed Suite B 192-bit AKM to use proper PMK length
226*03f9172cSAndroid Build Coastguard Worker	  (note: this makes old releases incompatible with the fixed behavior)
227*03f9172cSAndroid Build Coastguard Worker	* added no_probe_resp_if_max_sta=1 parameter to disable Probe Response
228*03f9172cSAndroid Build Coastguard Worker	  frame sending for not-associated STAs if max_num_sta limit has been
229*03f9172cSAndroid Build Coastguard Worker	  reached
230*03f9172cSAndroid Build Coastguard Worker	* added option (-S as command line argument) to request all interfaces
231*03f9172cSAndroid Build Coastguard Worker	  to be started at the same time
232*03f9172cSAndroid Build Coastguard Worker	* modified rts_threshold and fragm_threshold configuration parameters
233*03f9172cSAndroid Build Coastguard Worker	  to allow -1 to be used to disable RTS/fragmentation
234*03f9172cSAndroid Build Coastguard Worker	* EAP-pwd: added support for Brainpool Elliptic Curves
235*03f9172cSAndroid Build Coastguard Worker	  (with OpenSSL 1.0.2 and newer)
236*03f9172cSAndroid Build Coastguard Worker	* fixed EAPOL reauthentication after FT protocol run
237*03f9172cSAndroid Build Coastguard Worker	* fixed FTIE generation for 4-way handshake after FT protocol run
238*03f9172cSAndroid Build Coastguard Worker	* fixed and improved various FST operations
239*03f9172cSAndroid Build Coastguard Worker	* TLS server
240*03f9172cSAndroid Build Coastguard Worker	  - support SHA384 and SHA512 hashes
241*03f9172cSAndroid Build Coastguard Worker	  - support TLS v1.2 signature algorithm with SHA384 and SHA512
242*03f9172cSAndroid Build Coastguard Worker	  - support PKCS #5 v2.0 PBES2
243*03f9172cSAndroid Build Coastguard Worker	  - support PKCS #5 with PKCS #12 style key decryption
244*03f9172cSAndroid Build Coastguard Worker	  - minimal support for PKCS #12
245*03f9172cSAndroid Build Coastguard Worker	  - support OCSP stapling (including ocsp_multi)
246*03f9172cSAndroid Build Coastguard Worker	* added support for OpenSSL 1.1 API changes
247*03f9172cSAndroid Build Coastguard Worker	  - drop support for OpenSSL 0.9.8
248*03f9172cSAndroid Build Coastguard Worker	  - drop support for OpenSSL 1.0.0
249*03f9172cSAndroid Build Coastguard Worker	* EAP-PEAP: support fast-connect crypto binding
250*03f9172cSAndroid Build Coastguard Worker	* RADIUS
251*03f9172cSAndroid Build Coastguard Worker	  - fix Called-Station-Id to not escape SSID
252*03f9172cSAndroid Build Coastguard Worker	  - add Event-Timestamp to all Accounting-Request packets
253*03f9172cSAndroid Build Coastguard Worker	  - add Acct-Session-Id to Accounting-On/Off
254*03f9172cSAndroid Build Coastguard Worker	  - add Acct-Multi-Session-Id  ton Access-Request packets
255*03f9172cSAndroid Build Coastguard Worker	  - add Service-Type (= Frames)
256*03f9172cSAndroid Build Coastguard Worker	  - allow server to provide PSK instead of passphrase for WPA-PSK
257*03f9172cSAndroid Build Coastguard Worker	    Tunnel_password case
258*03f9172cSAndroid Build Coastguard Worker	  - update full message for interim accounting updates
259*03f9172cSAndroid Build Coastguard Worker	  - add Acct-Delay-Time into Accounting messages
260*03f9172cSAndroid Build Coastguard Worker	  - add require_message_authenticator configuration option to require
261*03f9172cSAndroid Build Coastguard Worker	    CoA/Disconnect-Request packets to be authenticated
262*03f9172cSAndroid Build Coastguard Worker	* started to postpone WNM-Notification frame sending by 100 ms so that
263*03f9172cSAndroid Build Coastguard Worker	  the STA has some more time to configure the key before this frame is
264*03f9172cSAndroid Build Coastguard Worker	  received after the 4-way handshake
265*03f9172cSAndroid Build Coastguard Worker	* VHT: added interoperability workaround for 80+80 and 160 MHz channels
266*03f9172cSAndroid Build Coastguard Worker	* extended VLAN support (per-STA vif, etc.)
267*03f9172cSAndroid Build Coastguard Worker	* fixed PMKID derivation with SAE
268*03f9172cSAndroid Build Coastguard Worker	* nl80211
269*03f9172cSAndroid Build Coastguard Worker	  - added support for full station state operations
270*03f9172cSAndroid Build Coastguard Worker	  - fix IEEE 802.1X/WEP EAP reauthentication and rekeying to use
271*03f9172cSAndroid Build Coastguard Worker	    unencrypted EAPOL frames
272*03f9172cSAndroid Build Coastguard Worker	* added initial MBO support; number of extensions to WNM BSS Transition
273*03f9172cSAndroid Build Coastguard Worker	  Management
274*03f9172cSAndroid Build Coastguard Worker	* added initial functionality for location related operations
275*03f9172cSAndroid Build Coastguard Worker	* added assocresp_elements parameter to allow vendor specific elements
276*03f9172cSAndroid Build Coastguard Worker	  to be added into (Re)Association Response frames
277*03f9172cSAndroid Build Coastguard Worker	* improved Public Action frame addressing
278*03f9172cSAndroid Build Coastguard Worker	  - use Address 3 = wildcard BSSID in GAS response if a query from an
279*03f9172cSAndroid Build Coastguard Worker	    unassociated STA used that address
280*03f9172cSAndroid Build Coastguard Worker	  - fix TX status processing for Address 3 = wildcard BSSID
281*03f9172cSAndroid Build Coastguard Worker	  - add gas_address3 configuration parameter to control Address 3
282*03f9172cSAndroid Build Coastguard Worker	    behavior
283*03f9172cSAndroid Build Coastguard Worker	* added command line parameter -i to override interface parameter in
284*03f9172cSAndroid Build Coastguard Worker	  hostapd.conf
285*03f9172cSAndroid Build Coastguard Worker	* added command completion support to hostapd_cli
286*03f9172cSAndroid Build Coastguard Worker	* added passive client taxonomy determination (CONFIG_TAXONOMY=y
287*03f9172cSAndroid Build Coastguard Worker	  compile option and "SIGNATURE <addr>" control interface command)
288*03f9172cSAndroid Build Coastguard Worker	* number of small fixes
289*03f9172cSAndroid Build Coastguard Worker
290*03f9172cSAndroid Build Coastguard Worker2015-09-27 - v2.5
291*03f9172cSAndroid Build Coastguard Worker	* fixed WPS UPnP vulnerability with HTTP chunked transfer encoding
292*03f9172cSAndroid Build Coastguard Worker	  [http://w1.fi/security/2015-2/] (CVE-2015-4141)
293*03f9172cSAndroid Build Coastguard Worker	* fixed WMM Action frame parser
294*03f9172cSAndroid Build Coastguard Worker	  [http://w1.fi/security/2015-3/] (CVE-2015-4142)
295*03f9172cSAndroid Build Coastguard Worker	* fixed EAP-pwd server missing payload length validation
296*03f9172cSAndroid Build Coastguard Worker	  [http://w1.fi/security/2015-4/]
297*03f9172cSAndroid Build Coastguard Worker	  (CVE-2015-4143, CVE-2015-4144, CVE-2015-4145)
298*03f9172cSAndroid Build Coastguard Worker	* fixed validation of WPS and P2P NFC NDEF record payload length
299*03f9172cSAndroid Build Coastguard Worker	  [http://w1.fi/security/2015-5/]
300*03f9172cSAndroid Build Coastguard Worker	* nl80211:
301*03f9172cSAndroid Build Coastguard Worker	  - fixed vendor command handling to check OUI properly
302*03f9172cSAndroid Build Coastguard Worker	* fixed hlr_auc_gw build with OpenSSL
303*03f9172cSAndroid Build Coastguard Worker	* hlr_auc_gw: allow Milenage RES length to be reduced
304*03f9172cSAndroid Build Coastguard Worker	* disable HT for a station that does not support WMM/QoS
305*03f9172cSAndroid Build Coastguard Worker	* added support for hashed password (NtHash) in EAP-pwd server
306*03f9172cSAndroid Build Coastguard Worker	* fixed and extended dynamic VLAN cases
307*03f9172cSAndroid Build Coastguard Worker	* added EAP-EKE server support for deriving Session-Id
308*03f9172cSAndroid Build Coastguard Worker	* set Acct-Session-Id to a random value to make it more likely to be
309*03f9172cSAndroid Build Coastguard Worker	  unique even if the device does not have a proper clock
310*03f9172cSAndroid Build Coastguard Worker	* added more 2.4 GHz channels for 20/40 MHz HT co-ex scan
311*03f9172cSAndroid Build Coastguard Worker	* modified SAE routines to be more robust and PWE generation to be
312*03f9172cSAndroid Build Coastguard Worker	  stronger against timing attacks
313*03f9172cSAndroid Build Coastguard Worker	* added support for Brainpool Elliptic Curves with SAE
314*03f9172cSAndroid Build Coastguard Worker	* increases maximum value accepted for cwmin/cwmax
315*03f9172cSAndroid Build Coastguard Worker	* added support for CCMP-256 and GCMP-256 as group ciphers with FT
316*03f9172cSAndroid Build Coastguard Worker	* added Fast Session Transfer (FST) module
317*03f9172cSAndroid Build Coastguard Worker	* removed optional fields from RSNE when using FT with PMF
318*03f9172cSAndroid Build Coastguard Worker	  (workaround for interoperability issues with iOS 8.4)
319*03f9172cSAndroid Build Coastguard Worker	* added EAP server support for TLS session resumption
320*03f9172cSAndroid Build Coastguard Worker	* fixed key derivation for Suite B 192-bit AKM (this breaks
321*03f9172cSAndroid Build Coastguard Worker	  compatibility with the earlier version)
322*03f9172cSAndroid Build Coastguard Worker	* added mechanism to track unconnected stations and do minimal band
323*03f9172cSAndroid Build Coastguard Worker	  steering
324*03f9172cSAndroid Build Coastguard Worker	* number of small fixes
325*03f9172cSAndroid Build Coastguard Worker
326*03f9172cSAndroid Build Coastguard Worker2015-03-15 - v2.4
327*03f9172cSAndroid Build Coastguard Worker	* allow OpenSSL cipher configuration to be set for internal EAP server
328*03f9172cSAndroid Build Coastguard Worker	  (openssl_ciphers parameter)
329*03f9172cSAndroid Build Coastguard Worker	* fixed number of small issues based on hwsim test case failures and
330*03f9172cSAndroid Build Coastguard Worker	  static analyzer reports
331*03f9172cSAndroid Build Coastguard Worker	* fixed Accounting-Request to not include duplicated Acct-Session-Id
332*03f9172cSAndroid Build Coastguard Worker	* add support for Acct-Multi-Session-Id in RADIUS Accounting messages
333*03f9172cSAndroid Build Coastguard Worker	* add support for PMKSA caching with SAE
334*03f9172cSAndroid Build Coastguard Worker	* add support for generating BSS Load element (bss_load_update_period)
335*03f9172cSAndroid Build Coastguard Worker	* fixed channel switch from VHT to HT
336*03f9172cSAndroid Build Coastguard Worker	* add INTERFACE-ENABLED and INTERFACE-DISABLED ctrl_iface events
337*03f9172cSAndroid Build Coastguard Worker	* add support for learning STA IPv4/IPv6 addresses and configuring
338*03f9172cSAndroid Build Coastguard Worker	  ProxyARP support
339*03f9172cSAndroid Build Coastguard Worker	* dropped support for the madwifi driver interface
340*03f9172cSAndroid Build Coastguard Worker	* add support for Suite B (128-bit and 192-bit level) key management and
341*03f9172cSAndroid Build Coastguard Worker	  cipher suites
342*03f9172cSAndroid Build Coastguard Worker	* fixed a regression with driver=wired
343*03f9172cSAndroid Build Coastguard Worker	* extend EAPOL-Key msg 1/4 retry workaround for changing SNonce
344*03f9172cSAndroid Build Coastguard Worker	* add BSS_TM_REQ ctrl_iface command to send BSS Transition Management
345*03f9172cSAndroid Build Coastguard Worker	  Request frames and BSS-TM-RESP event to indicate response to such
346*03f9172cSAndroid Build Coastguard Worker	  frame
347*03f9172cSAndroid Build Coastguard Worker	* add support for EAP Re-Authentication Protocol (ERP)
348*03f9172cSAndroid Build Coastguard Worker	* fixed AP IE in EAPOL-Key 3/4 when both WPA and FT was enabled
349*03f9172cSAndroid Build Coastguard Worker	* fixed a regression in HT 20/40 coex Action frame parsing
350*03f9172cSAndroid Build Coastguard Worker	* set stdout to be line-buffered
351*03f9172cSAndroid Build Coastguard Worker	* add support for vendor specific VHT extension to enable 256 QAM rates
352*03f9172cSAndroid Build Coastguard Worker	  (VHT-MCS 8 and 9) on 2.4 GHz band
353*03f9172cSAndroid Build Coastguard Worker	* RADIUS DAS:
354*03f9172cSAndroid Build Coastguard Worker	  - extend Disconnect-Request processing to allow matching of multiple
355*03f9172cSAndroid Build Coastguard Worker	    sessions
356*03f9172cSAndroid Build Coastguard Worker	  - support Acct-Multi-Session-Id as an identifier
357*03f9172cSAndroid Build Coastguard Worker	  - allow PMKSA cache entry to be removed without association
358*03f9172cSAndroid Build Coastguard Worker	* expire hostapd STA entry if kernel does not have a matching entry
359*03f9172cSAndroid Build Coastguard Worker	* allow chanlist to be used to specify a subset of channels for ACS
360*03f9172cSAndroid Build Coastguard Worker	* improve ACS behavior on 2.4 GHz band and allow channel bias to be
361*03f9172cSAndroid Build Coastguard Worker	  configured with acs_chan_bias parameter
362*03f9172cSAndroid Build Coastguard Worker	* do not reply to a Probe Request frame that includes DSS Parameter Set
363*03f9172cSAndroid Build Coastguard Worker	  element in which the channel does not match the current operating
364*03f9172cSAndroid Build Coastguard Worker	  channel
365*03f9172cSAndroid Build Coastguard Worker	* add UPDATE_BEACON ctrl_iface command; this can be used to force Beacon
366*03f9172cSAndroid Build Coastguard Worker	  frame contents to be updated and to start beaconing on an interface
367*03f9172cSAndroid Build Coastguard Worker	  that used start_disabled=1
368*03f9172cSAndroid Build Coastguard Worker	* fixed some RADIUS server failover cases
369*03f9172cSAndroid Build Coastguard Worker
370*03f9172cSAndroid Build Coastguard Worker2014-10-09 - v2.3
371*03f9172cSAndroid Build Coastguard Worker	* fixed number of minor issues identified in static analyzer warnings
372*03f9172cSAndroid Build Coastguard Worker	* fixed DFS and channel switch operation for multi-BSS cases
373*03f9172cSAndroid Build Coastguard Worker	* started to use constant time comparison for various password and hash
374*03f9172cSAndroid Build Coastguard Worker	  values to reduce possibility of any externally measurable timing
375*03f9172cSAndroid Build Coastguard Worker	  differences
376*03f9172cSAndroid Build Coastguard Worker	* extended explicit clearing of freed memory and expired keys to avoid
377*03f9172cSAndroid Build Coastguard Worker	  keeping private data in memory longer than necessary
378*03f9172cSAndroid Build Coastguard Worker	* added support for number of new RADIUS attributes from RFC 7268
379*03f9172cSAndroid Build Coastguard Worker	  (Mobility-Domain-Id, WLAN-HESSID, WLAN-Pairwise-Cipher,
380*03f9172cSAndroid Build Coastguard Worker	  WLAN-Group-Cipher, WLAN-AKM-Suite, WLAN-Group-Mgmt-Pairwise-Cipher)
381*03f9172cSAndroid Build Coastguard Worker	* fixed GET_CONFIG wpa_pairwise_cipher value
382*03f9172cSAndroid Build Coastguard Worker	* added code to clear bridge FDB entry on station disconnection
383*03f9172cSAndroid Build Coastguard Worker	* fixed PMKSA cache timeout from Session-Timeout for WPA/WPA2 cases
384*03f9172cSAndroid Build Coastguard Worker	* fixed OKC PMKSA cache entry fetch to avoid a possible infinite loop
385*03f9172cSAndroid Build Coastguard Worker	  in case the first entry does not match
386*03f9172cSAndroid Build Coastguard Worker	* fixed hostapd_cli action script execution to use more robust mechanism
387*03f9172cSAndroid Build Coastguard Worker	  (CVE-2014-3686)
388*03f9172cSAndroid Build Coastguard Worker
389*03f9172cSAndroid Build Coastguard Worker2014-06-04 - v2.2
390*03f9172cSAndroid Build Coastguard Worker	* fixed SAE confirm-before-commit validation to avoid a potential
391*03f9172cSAndroid Build Coastguard Worker	  segmentation fault in an unexpected message sequence that could be
392*03f9172cSAndroid Build Coastguard Worker	  triggered remotely
393*03f9172cSAndroid Build Coastguard Worker	* extended VHT support
394*03f9172cSAndroid Build Coastguard Worker	  - Operating Mode Notification
395*03f9172cSAndroid Build Coastguard Worker	  - Power Constraint element (local_pwr_constraint)
396*03f9172cSAndroid Build Coastguard Worker	  - Spectrum management capability (spectrum_mgmt_required=1)
397*03f9172cSAndroid Build Coastguard Worker	  - fix VHT80 segment picking in ACS
398*03f9172cSAndroid Build Coastguard Worker	  - fix vht_capab 'Maximum A-MPDU Length Exponent' handling
399*03f9172cSAndroid Build Coastguard Worker	  - fix VHT20
400*03f9172cSAndroid Build Coastguard Worker	* fixed HT40 co-ex scan for some pri/sec channel switches
401*03f9172cSAndroid Build Coastguard Worker	* extended HT40 co-ex support to allow dynamic channel width changes
402*03f9172cSAndroid Build Coastguard Worker	  during the lifetime of the BSS
403*03f9172cSAndroid Build Coastguard Worker	* fixed HT40 co-ex support to check for overlapping 20 MHz BSS
404*03f9172cSAndroid Build Coastguard Worker	* fixed MSCHAP UTF-8 to UCS-2 conversion for three-byte encoding;
405*03f9172cSAndroid Build Coastguard Worker	  this fixes password with include UTF-8 characters that use
406*03f9172cSAndroid Build Coastguard Worker	  three-byte encoding EAP methods that use NtPasswordHash
407*03f9172cSAndroid Build Coastguard Worker	* reverted TLS certificate validation step change in v2.1 that rejected
408*03f9172cSAndroid Build Coastguard Worker	  any AAA server certificate with id-kp-clientAuth even if
409*03f9172cSAndroid Build Coastguard Worker	  id-kp-serverAuth EKU was included
410*03f9172cSAndroid Build Coastguard Worker	* fixed STA validation step for WPS ER commands to prevent a potential
411*03f9172cSAndroid Build Coastguard Worker	  crash if an ER sends an unexpected PutWLANResponse to a station that
412*03f9172cSAndroid Build Coastguard Worker	  is disassociated, but not fully removed
413*03f9172cSAndroid Build Coastguard Worker	* enforce full EAP authentication after RADIUS Disconnect-Request by
414*03f9172cSAndroid Build Coastguard Worker	  removing the PMKSA cache entry
415*03f9172cSAndroid Build Coastguard Worker	* added support for NAS-IP-Address, NAS-identifier, and NAS-IPv6-Address
416*03f9172cSAndroid Build Coastguard Worker	  in RADIUS Disconnect-Request
417*03f9172cSAndroid Build Coastguard Worker	* added mechanism for removing addresses for MAC ACLs by prefixing an
418*03f9172cSAndroid Build Coastguard Worker	  entry with "-"
419*03f9172cSAndroid Build Coastguard Worker	* Interworking/Hotspot 2.0 enhancements
420*03f9172cSAndroid Build Coastguard Worker	  - support Hotspot 2.0 Release 2
421*03f9172cSAndroid Build Coastguard Worker	    * OSEN network for online signup connection
422*03f9172cSAndroid Build Coastguard Worker	    * subscription remediation (based on RADIUS server request or
423*03f9172cSAndroid Build Coastguard Worker	      control interface HS20_WNM_NOTIF for testing purposes)
424*03f9172cSAndroid Build Coastguard Worker	    * Hotspot 2.0 release number indication in WFA RADIUS VSA
425*03f9172cSAndroid Build Coastguard Worker	    * deauthentication request (based on RADIUS server request or
426*03f9172cSAndroid Build Coastguard Worker	      control interface WNM_DEAUTH_REQ for testing purposes)
427*03f9172cSAndroid Build Coastguard Worker	    * Session Info URL RADIUS AVP to trigger ESS Disassociation Imminent
428*03f9172cSAndroid Build Coastguard Worker	    * hs20_icon config parameter to configure icon files for OSU
429*03f9172cSAndroid Build Coastguard Worker	    * osu_* config parameters for OSU Providers list
430*03f9172cSAndroid Build Coastguard Worker	  - do not use Interworking filtering rules on Probe Request if
431*03f9172cSAndroid Build Coastguard Worker	    Interworking is disabled to avoid interop issues
432*03f9172cSAndroid Build Coastguard Worker	* added/fixed nl80211 functionality
433*03f9172cSAndroid Build Coastguard Worker	  - AP interface teardown optimization
434*03f9172cSAndroid Build Coastguard Worker	  - support vendor specific driver command
435*03f9172cSAndroid Build Coastguard Worker	    (VENDOR <vendor id> <sub command id> [<hex formatted data>])
436*03f9172cSAndroid Build Coastguard Worker	* fixed PMF protection of Deauthentication frame when this is triggered
437*03f9172cSAndroid Build Coastguard Worker	  by session timeout
438*03f9172cSAndroid Build Coastguard Worker	* internal TLS implementation enhancements/fixes
439*03f9172cSAndroid Build Coastguard Worker	  - add SHA256-based cipher suites
440*03f9172cSAndroid Build Coastguard Worker	  - add DHE-RSA cipher suites
441*03f9172cSAndroid Build Coastguard Worker	  - fix X.509 validation of PKCS#1 signature to check for extra data
442*03f9172cSAndroid Build Coastguard Worker	* RADIUS server functionality
443*03f9172cSAndroid Build Coastguard Worker	  - add minimal RADIUS accounting server support (hostapd-as-server);
444*03f9172cSAndroid Build Coastguard Worker	    this is mainly to enable testing coverage with hwsim scripts
445*03f9172cSAndroid Build Coastguard Worker	  - allow authentication log to be written into SQLite database
446*03f9172cSAndroid Build Coastguard Worker	  - added option for TLS protocol testing of an EAP peer by simulating
447*03f9172cSAndroid Build Coastguard Worker	    various misbehaviors/known attacks
448*03f9172cSAndroid Build Coastguard Worker	  - MAC ACL support for testing purposes
449*03f9172cSAndroid Build Coastguard Worker	* fixed PTK derivation for CCMP-256 and GCMP-256
450*03f9172cSAndroid Build Coastguard Worker	* extended WPS per-station PSK to support ER case
451*03f9172cSAndroid Build Coastguard Worker	* added option to configure the management group cipher
452*03f9172cSAndroid Build Coastguard Worker	  (group_mgmt_cipher=AES-128-CMAC (default), BIP-GMAC-128, BIP-GMAC-256,
453*03f9172cSAndroid Build Coastguard Worker	  BIP-CMAC-256)
454*03f9172cSAndroid Build Coastguard Worker	* fixed AP mode default TXOP Limit values for AC_VI and AC_VO (these
455*03f9172cSAndroid Build Coastguard Worker	  were rounded incorrectly)
456*03f9172cSAndroid Build Coastguard Worker	* added support for postponing FT response in case PMK-R1 needs to be
457*03f9172cSAndroid Build Coastguard Worker	  pulled from R0KH
458*03f9172cSAndroid Build Coastguard Worker	* added option to advertise 40 MHz intolerant HT capability with
459*03f9172cSAndroid Build Coastguard Worker	  ht_capab=[40-INTOLERANT]
460*03f9172cSAndroid Build Coastguard Worker	* remove WPS 1.0 only support, i.e., WSC 2.0 support is now enabled
461*03f9172cSAndroid Build Coastguard Worker	  whenever CONFIG_WPS=y is set
462*03f9172cSAndroid Build Coastguard Worker	* EAP-pwd fixes
463*03f9172cSAndroid Build Coastguard Worker	  - fix possible segmentation fault on EAP method deinit if an invalid
464*03f9172cSAndroid Build Coastguard Worker	    group is negotiated
465*03f9172cSAndroid Build Coastguard Worker	* fixed RADIUS client retransmit/failover behavior
466*03f9172cSAndroid Build Coastguard Worker	  - there was a potential ctash due to freed memory being accessed
467*03f9172cSAndroid Build Coastguard Worker	  - failover to a backup server mechanism did not work properly
468*03f9172cSAndroid Build Coastguard Worker	* fixed a possible crash on double DISABLE command when multiple BSSes
469*03f9172cSAndroid Build Coastguard Worker	  are enabled
470*03f9172cSAndroid Build Coastguard Worker	* fixed a memory leak in SAE random number generation
471*03f9172cSAndroid Build Coastguard Worker	* fixed GTK rekeying when the station uses FT protocol
472*03f9172cSAndroid Build Coastguard Worker	* fixed off-by-one bounds checking in printf_encode()
473*03f9172cSAndroid Build Coastguard Worker	  - this could result in deinial of service in some EAP server cases
474*03f9172cSAndroid Build Coastguard Worker	* various bug fixes
475*03f9172cSAndroid Build Coastguard Worker
476*03f9172cSAndroid Build Coastguard Worker2014-02-04 - v2.1
477*03f9172cSAndroid Build Coastguard Worker	* added support for simultaneous authentication of equals (SAE) for
478*03f9172cSAndroid Build Coastguard Worker	  stronger password-based authentication with WPA2-Personal
479*03f9172cSAndroid Build Coastguard Worker	* added nl80211 functionality
480*03f9172cSAndroid Build Coastguard Worker	  - VHT configuration for nl80211
481*03f9172cSAndroid Build Coastguard Worker	  - support split wiphy dump
482*03f9172cSAndroid Build Coastguard Worker	  - driver-based MAC ACL
483*03f9172cSAndroid Build Coastguard Worker	  - QoS Mapping configuration
484*03f9172cSAndroid Build Coastguard Worker	* added fully automated regression testing with mac80211_hwsim
485*03f9172cSAndroid Build Coastguard Worker	* allow ctrl_iface group to be specified on command line (-G<group>)
486*03f9172cSAndroid Build Coastguard Worker	* allow single hostapd process to control independent WPS interfaces
487*03f9172cSAndroid Build Coastguard Worker	  (wps_independent=1) instead of synchronized operations through all
488*03f9172cSAndroid Build Coastguard Worker	  configured interfaces within a process
489*03f9172cSAndroid Build Coastguard Worker	* avoid processing received management frames multiple times when using
490*03f9172cSAndroid Build Coastguard Worker	  nl80211 with multiple BSSes
491*03f9172cSAndroid Build Coastguard Worker	* added support for DFS (processing radar detection events, CAC, channel
492*03f9172cSAndroid Build Coastguard Worker	  re-selection)
493*03f9172cSAndroid Build Coastguard Worker	* added EAP-EKE server
494*03f9172cSAndroid Build Coastguard Worker	* added automatic channel selection (ACS)
495*03f9172cSAndroid Build Coastguard Worker	* added option for using per-BSS (vif) configuration files with
496*03f9172cSAndroid Build Coastguard Worker	  -b<phyname>:<config file name>
497*03f9172cSAndroid Build Coastguard Worker	* extended global control interface ADD/REMOVE commands to allow BSSes
498*03f9172cSAndroid Build Coastguard Worker	  of a radio to be removed individually without having to add/remove all
499*03f9172cSAndroid Build Coastguard Worker	  other BSSes of the radio at the same time
500*03f9172cSAndroid Build Coastguard Worker	* added support for sending debug info to Linux tracing (-T on command
501*03f9172cSAndroid Build Coastguard Worker	  line)
502*03f9172cSAndroid Build Coastguard Worker	* replace dump_file functionality with same information being available
503*03f9172cSAndroid Build Coastguard Worker	  through the hostapd control interface
504*03f9172cSAndroid Build Coastguard Worker	* added support for using Protected Dual of Public Action frames for
505*03f9172cSAndroid Build Coastguard Worker	  GAS/ANQP exchanges when PMF is enabled
506*03f9172cSAndroid Build Coastguard Worker	* added support for WPS+NFC updates
507*03f9172cSAndroid Build Coastguard Worker	  - improved protocol
508*03f9172cSAndroid Build Coastguard Worker	  - option to fetch and report alternative carrier records for external
509*03f9172cSAndroid Build Coastguard Worker	    NFC operations
510*03f9172cSAndroid Build Coastguard Worker	* various bug fixes
511*03f9172cSAndroid Build Coastguard Worker
512*03f9172cSAndroid Build Coastguard Worker2013-01-12 - v2.0
513*03f9172cSAndroid Build Coastguard Worker	* added AP-STA-DISCONNECTED ctrl_iface event
514*03f9172cSAndroid Build Coastguard Worker	* improved debug logging (human readable event names, interface name
515*03f9172cSAndroid Build Coastguard Worker	  included in more entries)
516*03f9172cSAndroid Build Coastguard Worker	* added number of small changes to make it easier for static analyzers
517*03f9172cSAndroid Build Coastguard Worker	  to understand the implementation
518*03f9172cSAndroid Build Coastguard Worker	* added a workaround for Windows 7 Michael MIC failure reporting and
519*03f9172cSAndroid Build Coastguard Worker	  use of the Secure bit in EAPOL-Key msg 3/4
520*03f9172cSAndroid Build Coastguard Worker	* fixed number of small bugs (see git logs for more details)
521*03f9172cSAndroid Build Coastguard Worker	* changed OpenSSL to read full certificate chain from server_cert file
522*03f9172cSAndroid Build Coastguard Worker	* nl80211: number of updates to use new cfg80211/nl80211 functionality
523*03f9172cSAndroid Build Coastguard Worker	  - replace monitor interface with nl80211 commands
524*03f9172cSAndroid Build Coastguard Worker	  - additional information for driver-based AP SME
525*03f9172cSAndroid Build Coastguard Worker	* EAP-pwd:
526*03f9172cSAndroid Build Coastguard Worker	  - fix KDF for group 21 and zero-padding
527*03f9172cSAndroid Build Coastguard Worker	  - added support for fragmentation
528*03f9172cSAndroid Build Coastguard Worker	  - increased maximum number of hunting-and-pecking iterations
529*03f9172cSAndroid Build Coastguard Worker	* avoid excessive Probe Response retries for broadcast Probe Request
530*03f9172cSAndroid Build Coastguard Worker	  frames (only with drivers using hostapd SME/MLME)
531*03f9172cSAndroid Build Coastguard Worker	* added preliminary support for using TLS v1.2 (CONFIG_TLSV12=y)
532*03f9172cSAndroid Build Coastguard Worker	* fixed WPS operation stopping on dual concurrent AP
533*03f9172cSAndroid Build Coastguard Worker	* added wps_rf_bands configuration parameter for overriding RF Bands
534*03f9172cSAndroid Build Coastguard Worker	  value for WPS
535*03f9172cSAndroid Build Coastguard Worker	* added support for getting per-device PSK from RADIUS Tunnel-Password
536*03f9172cSAndroid Build Coastguard Worker	* added support for libnl 3.2 and newer
537*03f9172cSAndroid Build Coastguard Worker	* increased initial group key handshake retransmit timeout to 500 ms
538*03f9172cSAndroid Build Coastguard Worker	* added a workaround for 4-way handshake to update SNonce even after
539*03f9172cSAndroid Build Coastguard Worker	  having sent EAPOL-Key 3/4 to avoid issues with some supplicant
540*03f9172cSAndroid Build Coastguard Worker	  implementations that can change SNonce for each EAP-Key 2/4
541*03f9172cSAndroid Build Coastguard Worker	* added a workaround for EAPOL-Key 4/4 using incorrect type value in
542*03f9172cSAndroid Build Coastguard Worker	  WPA2 mode (some deployed stations use WPA type in that message)
543*03f9172cSAndroid Build Coastguard Worker	* added a WPS workaround for mixed mode AP Settings with Windows 7
544*03f9172cSAndroid Build Coastguard Worker	* changed WPS AP PIN disabling mechanism to disable the PIN after 10
545*03f9172cSAndroid Build Coastguard Worker	  consecutive failures in addition to using the exponential lockout
546*03f9172cSAndroid Build Coastguard Worker	  period
547*03f9172cSAndroid Build Coastguard Worker	* added support for WFA Hotspot 2.0
548*03f9172cSAndroid Build Coastguard Worker	  - GAS/ANQP advertisement of network information
549*03f9172cSAndroid Build Coastguard Worker	  - disable_dgaf parameter to disable downstream group-addressed
550*03f9172cSAndroid Build Coastguard Worker	    forwarding
551*03f9172cSAndroid Build Coastguard Worker	* simplified licensing terms by selecting the BSD license as the only
552*03f9172cSAndroid Build Coastguard Worker	  alternative
553*03f9172cSAndroid Build Coastguard Worker	* EAP-SIM: fixed re-authentication not to update pseudonym
554*03f9172cSAndroid Build Coastguard Worker	* EAP-SIM: use Notification round before EAP-Failure
555*03f9172cSAndroid Build Coastguard Worker	* EAP-AKA: added support for AT_COUNTER_TOO_SMALL
556*03f9172cSAndroid Build Coastguard Worker	* EAP-AKA: skip AKA/Identity exchange if EAP identity is recognized
557*03f9172cSAndroid Build Coastguard Worker	* EAP-AKA': fixed identity for MK derivation
558*03f9172cSAndroid Build Coastguard Worker	* EAP-AKA': updated to RFC 5448 (username prefixes changed); note: this
559*03f9172cSAndroid Build Coastguard Worker	  breaks interoperability with older versions
560*03f9172cSAndroid Build Coastguard Worker	* EAP-SIM/AKA: allow pseudonym to be used after unknown reauth id
561*03f9172cSAndroid Build Coastguard Worker	* changed ANonce to be a random number instead of Counter-based
562*03f9172cSAndroid Build Coastguard Worker	* added support for canceling WPS operations with hostapd_cli wps_cancel
563*03f9172cSAndroid Build Coastguard Worker	* fixed EAP/WPS to PSK transition on reassociation in cases where
564*03f9172cSAndroid Build Coastguard Worker	  deauthentication is missed
565*03f9172cSAndroid Build Coastguard Worker	* hlr_auc_gw enhancements:
566*03f9172cSAndroid Build Coastguard Worker	  - a new command line parameter -u can be used to enable updating of
567*03f9172cSAndroid Build Coastguard Worker	    SQN in Milenage file
568*03f9172cSAndroid Build Coastguard Worker	  - use 5 bit IND for SQN updates
569*03f9172cSAndroid Build Coastguard Worker	  - SQLite database can now be used to store Milenage information
570*03f9172cSAndroid Build Coastguard Worker	* EAP-SIM/AKA DB: added optional use of SQLite database for pseudonyms
571*03f9172cSAndroid Build Coastguard Worker	  and reauth data
572*03f9172cSAndroid Build Coastguard Worker	* added support for Chargeable-User-Identity (RFC 4372)
573*03f9172cSAndroid Build Coastguard Worker	* added radius_auth_req_attr and radius_acct_req_attr configuration
574*03f9172cSAndroid Build Coastguard Worker	  parameters to allow adding/overriding of RADIUS attributes in
575*03f9172cSAndroid Build Coastguard Worker	  Access-Request and Accounting-Request packets
576*03f9172cSAndroid Build Coastguard Worker	* added support for RADIUS dynamic authorization server (RFC 5176)
577*03f9172cSAndroid Build Coastguard Worker	* added initial support for WNM operations
578*03f9172cSAndroid Build Coastguard Worker	  - BSS max idle period
579*03f9172cSAndroid Build Coastguard Worker	  - WNM-Sleep Mode
580*03f9172cSAndroid Build Coastguard Worker	* added new WPS NFC ctrl_iface mechanism
581*03f9172cSAndroid Build Coastguard Worker	  - removed obsoleted WPS_OOB command (including support for deprecated
582*03f9172cSAndroid Build Coastguard Worker	    UFD config_method)
583*03f9172cSAndroid Build Coastguard Worker	* added FT support for drivers that implement MLME internally
584*03f9172cSAndroid Build Coastguard Worker	* added SA Query support for drivers that implement MLME internally
585*03f9172cSAndroid Build Coastguard Worker	* removed default ACM=1 from AC_VO and AC_VI
586*03f9172cSAndroid Build Coastguard Worker	* changed VENDOR-TEST EAP method to use proper private enterprise number
587*03f9172cSAndroid Build Coastguard Worker	  (this will not interoperate with older versions)
588*03f9172cSAndroid Build Coastguard Worker	* added hostapd.conf parameter vendor_elements to allow arbitrary vendor
589*03f9172cSAndroid Build Coastguard Worker	  specific elements to be added to the Beacon and Probe Response frames
590*03f9172cSAndroid Build Coastguard Worker	* added support for configuring GCMP cipher for IEEE 802.11ad
591*03f9172cSAndroid Build Coastguard Worker	* added support for 256-bit AES with internal TLS implementation
592*03f9172cSAndroid Build Coastguard Worker	* changed EAPOL transmission to use AC_VO if WMM is active
593*03f9172cSAndroid Build Coastguard Worker	* fixed EAP-TLS/PEAP/TTLS/FAST server to validate TLS Message Length
594*03f9172cSAndroid Build Coastguard Worker	  correctly; invalid messages could have caused the hostapd process to
595*03f9172cSAndroid Build Coastguard Worker	  terminate before this fix [CVE-2012-4445]
596*03f9172cSAndroid Build Coastguard Worker	* limit number of active wildcard PINs for WPS Registrar to one to avoid
597*03f9172cSAndroid Build Coastguard Worker	  confusing behavior with multiple wildcard PINs
598*03f9172cSAndroid Build Coastguard Worker	* added a workaround for WPS PBC session overlap detection to avoid
599*03f9172cSAndroid Build Coastguard Worker	  interop issues with deployed station implementations that do not
600*03f9172cSAndroid Build Coastguard Worker	  remove active PBC indication from Probe Request frames properly
601*03f9172cSAndroid Build Coastguard Worker	* added support for using SQLite for the eap_user database
602*03f9172cSAndroid Build Coastguard Worker	* added Acct-Session-Id attribute into Access-Request messages
603*03f9172cSAndroid Build Coastguard Worker	* fixed EAPOL frame transmission to non-QoS STAs with nl80211
604*03f9172cSAndroid Build Coastguard Worker	  (do not send QoS frames if the STA did not negotiate use of QoS for
605*03f9172cSAndroid Build Coastguard Worker	  this association)
606*03f9172cSAndroid Build Coastguard Worker
607*03f9172cSAndroid Build Coastguard Worker2012-05-10 - v1.0
608*03f9172cSAndroid Build Coastguard Worker	* Add channel selection support in hostapd. See hostapd.conf.
609*03f9172cSAndroid Build Coastguard Worker	* Add support for IEEE 802.11v Time Advertisement mechanism with UTC
610*03f9172cSAndroid Build Coastguard Worker	  TSF offset. See hostapd.conf for config info.
611*03f9172cSAndroid Build Coastguard Worker	* Delay STA entry removal until Deauth/Disassoc TX status in AP mode.
612*03f9172cSAndroid Build Coastguard Worker	  This allows the driver to use PS buffering of Deauthentication and
613*03f9172cSAndroid Build Coastguard Worker	  Disassociation frames when the STA is in power save sleep. Only
614*03f9172cSAndroid Build Coastguard Worker	  available with drivers that provide TX status events for Deauth/
615*03f9172cSAndroid Build Coastguard Worker	  Disassoc frames (nl80211).
616*03f9172cSAndroid Build Coastguard Worker	* Allow PMKSA caching to be disabled on the Authenticator. See
617*03f9172cSAndroid Build Coastguard Worker	  hostap.conf config parameter disable_pmksa_caching.
618*03f9172cSAndroid Build Coastguard Worker	* atheros: Add support for IEEE 802.11w configuration.
619*03f9172cSAndroid Build Coastguard Worker	* bsd: Add support for setting HT values in IFM_MMASK.
620*03f9172cSAndroid Build Coastguard Worker	* Allow client isolation to be configured with ap_isolate. Client
621*03f9172cSAndroid Build Coastguard Worker	  isolation can be used to prevent low-level bridging of frames
622*03f9172cSAndroid Build Coastguard Worker	  between associated stations in the BSS. By default, this bridging
623*03f9172cSAndroid Build Coastguard Worker	  is allowed.
624*03f9172cSAndroid Build Coastguard Worker	* Allow coexistance of HT BSSes with WEP/TKIP BSSes.
625*03f9172cSAndroid Build Coastguard Worker	* Add require_ht config parameter, which can be used to configure
626*03f9172cSAndroid Build Coastguard Worker	  hostapd to reject association with any station that does not support
627*03f9172cSAndroid Build Coastguard Worker	  HT PHY.
628*03f9172cSAndroid Build Coastguard Worker	* Add support for writing debug log to a file using "-f" option. Also
629*03f9172cSAndroid Build Coastguard Worker	  add relog CLI command to re-open the log file.
630*03f9172cSAndroid Build Coastguard Worker	* Add bridge handling for WDS STA interfaces. By default they are
631*03f9172cSAndroid Build Coastguard Worker	  added to the configured bridge of the AP interface (if present),
632*03f9172cSAndroid Build Coastguard Worker	  but the user can also specify a separate bridge using cli command
633*03f9172cSAndroid Build Coastguard Worker	  wds_bridge.
634*03f9172cSAndroid Build Coastguard Worker	* hostapd_cli:
635*03f9172cSAndroid Build Coastguard Worker	  - Add wds_bridge command for specifying bridge for WDS STA
636*03f9172cSAndroid Build Coastguard Worker	    interfaces.
637*03f9172cSAndroid Build Coastguard Worker	  - Add relog command for reopening log file.
638*03f9172cSAndroid Build Coastguard Worker	  - Send AP-STA-DISCONNECTED event when an AP disconnects a station
639*03f9172cSAndroid Build Coastguard Worker	    due to inactivity.
640*03f9172cSAndroid Build Coastguard Worker	  - Add wps_config ctrl_interface command for configuring AP. This
641*03f9172cSAndroid Build Coastguard Worker	    command can be used to configure the AP using the internal WPS
642*03f9172cSAndroid Build Coastguard Worker	    registrar. It works in the same way as new AP settings received
643*03f9172cSAndroid Build Coastguard Worker	    from an ER.
644*03f9172cSAndroid Build Coastguard Worker	  - Many WPS/WPS ER commands - see WPS/WPS ER sections for details.
645*03f9172cSAndroid Build Coastguard Worker	  - Add command get version, that returns hostapd version string.
646*03f9172cSAndroid Build Coastguard Worker	* WNM: Add BSS Transition Management Request for ESS Disassoc Imminent.
647*03f9172cSAndroid Build Coastguard Worker	  Use hostapd_cli ess_disassoc (STA addr) (URL) to send the
648*03f9172cSAndroid Build Coastguard Worker	  notification to the STA.
649*03f9172cSAndroid Build Coastguard Worker	* Allow AP mode to disconnect STAs based on low ACK condition (when
650*03f9172cSAndroid Build Coastguard Worker	  the data connection is not working properly, e.g., due to the STA
651*03f9172cSAndroid Build Coastguard Worker	  going outside the range of the AP). Disabled by default, enable by
652*03f9172cSAndroid Build Coastguard Worker	  config option disassoc_low_ack.
653*03f9172cSAndroid Build Coastguard Worker	* Add WPA_IGNORE_CONFIG_ERRORS build option to continue in case of bad
654*03f9172cSAndroid Build Coastguard Worker	  config file.
655*03f9172cSAndroid Build Coastguard Worker	* WPS:
656*03f9172cSAndroid Build Coastguard Worker	  - Send AP Settings as a wrapped Credential attribute to ctrl_iface
657*03f9172cSAndroid Build Coastguard Worker	    in WPS-NEW-AP-SETTINGS.
658*03f9172cSAndroid Build Coastguard Worker	  - Dispatch more WPS events through hostapd ctrl_iface.
659*03f9172cSAndroid Build Coastguard Worker	  - Add mechanism for indicating non-standard WPS errors.
660*03f9172cSAndroid Build Coastguard Worker	  - Change concurrent radio AP to use only one WPS UPnP instance.
661*03f9172cSAndroid Build Coastguard Worker	  - Add wps_check_pin command for processing PIN from user input.
662*03f9172cSAndroid Build Coastguard Worker	    UIs can use this command to process a PIN entered by a user and to
663*03f9172cSAndroid Build Coastguard Worker	    validate the checksum digit (if present).
664*03f9172cSAndroid Build Coastguard Worker	  - Add hostap_cli get_config command to display current AP config.
665*03f9172cSAndroid Build Coastguard Worker	  - Add new hostapd_cli command, wps_ap_pin, to manage AP PIN at
666*03f9172cSAndroid Build Coastguard Worker	    runtime and support dynamic AP PIN management.
667*03f9172cSAndroid Build Coastguard Worker	  - Disable AP PIN after 10 consecutive failures. Slow down attacks
668*03f9172cSAndroid Build Coastguard Worker	    on failures up to 10.
669*03f9172cSAndroid Build Coastguard Worker	  - Allow AP to start in Enrollee mode without AP PIN for probing,
670*03f9172cSAndroid Build Coastguard Worker	    to be compatible with Windows 7.
671*03f9172cSAndroid Build Coastguard Worker	  - Add Config Error into WPS-FAIL events to provide more info
672*03f9172cSAndroid Build Coastguard Worker	    to the user on how to resolve the issue.
673*03f9172cSAndroid Build Coastguard Worker	  - When controlling multiple interfaces:
674*03f9172cSAndroid Build Coastguard Worker	     - apply WPS commands to all interfaces configured to use WPS
675*03f9172cSAndroid Build Coastguard Worker	     - apply WPS config changes to all interfaces that use WPS
676*03f9172cSAndroid Build Coastguard Worker	     - when an attack is detected on any interface, disable AP PIN on
677*03f9172cSAndroid Build Coastguard Worker	       all interfaces
678*03f9172cSAndroid Build Coastguard Worker	* WPS ER:
679*03f9172cSAndroid Build Coastguard Worker	  - Show SetSelectedRegistrar events as ctrl_iface events.
680*03f9172cSAndroid Build Coastguard Worker	  - Add special AP Setup Locked mode to allow read only ER.
681*03f9172cSAndroid Build Coastguard Worker	    ap_setup_locked=2 can now be used to enable a special mode where
682*03f9172cSAndroid Build Coastguard Worker	    WPS ER can learn the current AP settings, but cannot change them.
683*03f9172cSAndroid Build Coastguard Worker	* WPS 2.0: Add support for WPS 2.0 (CONFIG_WPS2)
684*03f9172cSAndroid Build Coastguard Worker	  - Add build option CONFIG_WPS_EXTENSIBILITY_TESTING to enable tool
685*03f9172cSAndroid Build Coastguard Worker	    for testing protocol extensibility.
686*03f9172cSAndroid Build Coastguard Worker	  - Add build option CONFIG_WPS_STRICT to allow disabling of WPS
687*03f9172cSAndroid Build Coastguard Worker	    workarounds.
688*03f9172cSAndroid Build Coastguard Worker	  - Add support for AuthorizedMACs attribute.
689*03f9172cSAndroid Build Coastguard Worker	* TDLS:
690*03f9172cSAndroid Build Coastguard Worker	  - Allow TDLS use or TDLS channel switching in the BSS to be
691*03f9172cSAndroid Build Coastguard Worker	    prohibited in the BSS, using config params tdls_prohibit and
692*03f9172cSAndroid Build Coastguard Worker	    tdls_prohibit_chan_switch.
693*03f9172cSAndroid Build Coastguard Worker	* EAP server: Add support for configuring fragment size (see
694*03f9172cSAndroid Build Coastguard Worker	  fragment_size in hostapd.conf).
695*03f9172cSAndroid Build Coastguard Worker	* wlantest: Add a tool wlantest for IEEE802.11 protocol testing.
696*03f9172cSAndroid Build Coastguard Worker	  wlantest can be used to capture frames from a monitor interface
697*03f9172cSAndroid Build Coastguard Worker	  for realtime capturing or from pcap files for offline analysis.
698*03f9172cSAndroid Build Coastguard Worker	* Interworking: Support added for 802.11u. Enable in .config with
699*03f9172cSAndroid Build Coastguard Worker	  CONFIG_INTERWORKING. See hostapd.conf for config parameters for
700*03f9172cSAndroid Build Coastguard Worker	  interworking.
701*03f9172cSAndroid Build Coastguard Worker	* Android: Add build and runtime support for Android hostapd.
702*03f9172cSAndroid Build Coastguard Worker	* Add a new debug message level for excessive information. Use
703*03f9172cSAndroid Build Coastguard Worker	  -ddd to enable.
704*03f9172cSAndroid Build Coastguard Worker	* TLS: Add support for tls_disable_time_checks=1 in client mode.
705*03f9172cSAndroid Build Coastguard Worker	* Internal TLS:
706*03f9172cSAndroid Build Coastguard Worker	  - Add support for TLS v1.1 (RFC 4346). Enable with build parameter
707*03f9172cSAndroid Build Coastguard Worker	    CONFIG_TLSV11.
708*03f9172cSAndroid Build Coastguard Worker	  - Add domainComponent parser for X.509 names
709*03f9172cSAndroid Build Coastguard Worker	* Reorder some IEs to get closer to IEEE 802.11 standard. Move
710*03f9172cSAndroid Build Coastguard Worker	  WMM into end of Beacon, Probe Resp and (Re)Assoc Resp frames.
711*03f9172cSAndroid Build Coastguard Worker	  Move HT IEs to be later in (Re)Assoc Resp.
712*03f9172cSAndroid Build Coastguard Worker	* Many bugfixes.
713*03f9172cSAndroid Build Coastguard Worker
714*03f9172cSAndroid Build Coastguard Worker2010-04-18 - v0.7.2
715*03f9172cSAndroid Build Coastguard Worker	* fix WPS internal Registrar use when an external Registrar is also
716*03f9172cSAndroid Build Coastguard Worker	  active
717*03f9172cSAndroid Build Coastguard Worker	* bsd: Cleaned up driver wrapper and added various low-level
718*03f9172cSAndroid Build Coastguard Worker	  configuration options
719*03f9172cSAndroid Build Coastguard Worker	* TNC: fixed issues with fragmentation
720*03f9172cSAndroid Build Coastguard Worker	* EAP-TNC: add Flags field into fragment acknowledgement (needed to
721*03f9172cSAndroid Build Coastguard Worker	  interoperate with other implementations; may potentially breaks
722*03f9172cSAndroid Build Coastguard Worker	  compatibility with older wpa_supplicant/hostapd versions)
723*03f9172cSAndroid Build Coastguard Worker	* cleaned up driver wrapper API for multi-BSS operations
724*03f9172cSAndroid Build Coastguard Worker	* nl80211: fix multi-BSS and VLAN operations
725*03f9172cSAndroid Build Coastguard Worker	* fix number of issues with IEEE 802.11r/FT; this version is not
726*03f9172cSAndroid Build Coastguard Worker	  backwards compatible with old versions
727*03f9172cSAndroid Build Coastguard Worker	* add SA Query Request processing in AP mode (IEEE 802.11w)
728*03f9172cSAndroid Build Coastguard Worker	* fix IGTK PN in group rekeying (IEEE 802.11w)
729*03f9172cSAndroid Build Coastguard Worker	* fix WPS PBC session overlap detection to use correct attribute
730*03f9172cSAndroid Build Coastguard Worker	* hostapd_notif_Assoc() can now be called with all IEs to simplify
731*03f9172cSAndroid Build Coastguard Worker	  driver wrappers
732*03f9172cSAndroid Build Coastguard Worker	* work around interoperability issue with some WPS External Registrar
733*03f9172cSAndroid Build Coastguard Worker	  implementations
734*03f9172cSAndroid Build Coastguard Worker	* nl80211: fix WPS IE update
735*03f9172cSAndroid Build Coastguard Worker	* hostapd_cli: add support for action script operations (run a script
736*03f9172cSAndroid Build Coastguard Worker	  on hostapd events)
737*03f9172cSAndroid Build Coastguard Worker	* fix DH padding with internal crypto code (mainly, for WPS)
738*03f9172cSAndroid Build Coastguard Worker	* fix WPS association with both WPS IE and WPA/RSN IE present with
739*03f9172cSAndroid Build Coastguard Worker	  driver wrappers that use hostapd MLME (e.g., nl80211)
740*03f9172cSAndroid Build Coastguard Worker
741*03f9172cSAndroid Build Coastguard Worker2010-01-16 - v0.7.1
742*03f9172cSAndroid Build Coastguard Worker	* cleaned up driver wrapper API (struct wpa_driver_ops); the new API
743*03f9172cSAndroid Build Coastguard Worker	  is not fully backwards compatible, so out-of-tree driver wrappers
744*03f9172cSAndroid Build Coastguard Worker	  will need modifications
745*03f9172cSAndroid Build Coastguard Worker	* cleaned up various module interfaces
746*03f9172cSAndroid Build Coastguard Worker	* merge hostapd and wpa_supplicant developers' documentation into a
747*03f9172cSAndroid Build Coastguard Worker	  single document
748*03f9172cSAndroid Build Coastguard Worker	* fixed HT Capabilities IE with nl80211 drivers
749*03f9172cSAndroid Build Coastguard Worker	* moved generic AP functionality code into src/ap
750*03f9172cSAndroid Build Coastguard Worker	* WPS: handle Selected Registrar as union of info from all Registrars
751*03f9172cSAndroid Build Coastguard Worker	* remove obsolete Prism54.org driver wrapper
752*03f9172cSAndroid Build Coastguard Worker	* added internal debugging mechanism with backtrace support and memory
753*03f9172cSAndroid Build Coastguard Worker	  allocation/freeing validation, etc. tests (CONFIG_WPA_TRACE=y)
754*03f9172cSAndroid Build Coastguard Worker	* EAP-FAST server: piggyback Phase 2 start with the end of Phase 1
755*03f9172cSAndroid Build Coastguard Worker	* WPS: add support for dynamically selecting whether to provision the
756*03f9172cSAndroid Build Coastguard Worker	  PSK as an ASCII passphrase or PSK
757*03f9172cSAndroid Build Coastguard Worker	* added support for WDS (4-address frame) mode with per-station virtual
758*03f9172cSAndroid Build Coastguard Worker	  interfaces (wds_sta=1 in config file; only supported with
759*03f9172cSAndroid Build Coastguard Worker	  driver=nl80211 for now)
760*03f9172cSAndroid Build Coastguard Worker	* fixed WPS Probe Request processing to handle missing required
761*03f9172cSAndroid Build Coastguard Worker	  attribute
762*03f9172cSAndroid Build Coastguard Worker	* fixed PKCS#12 use with OpenSSL 1.0.0
763*03f9172cSAndroid Build Coastguard Worker	* detect bridge interface automatically so that bridge parameter in
764*03f9172cSAndroid Build Coastguard Worker	  hostapd.conf becomes optional (though, it may now be used to
765*03f9172cSAndroid Build Coastguard Worker	  automatically add then WLAN interface into a bridge with
766*03f9172cSAndroid Build Coastguard Worker	  driver=nl80211)
767*03f9172cSAndroid Build Coastguard Worker
768*03f9172cSAndroid Build Coastguard Worker2009-11-21 - v0.7.0
769*03f9172cSAndroid Build Coastguard Worker	* increased hostapd_cli ping interval to 5 seconds and made this
770*03f9172cSAndroid Build Coastguard Worker	  configurable with a new command line options (-G<seconds>)
771*03f9172cSAndroid Build Coastguard Worker	* driver_nl80211: use Linux socket filter to improve performance
772*03f9172cSAndroid Build Coastguard Worker	* added support for external Registrars with WPS (UPnP transport)
773*03f9172cSAndroid Build Coastguard Worker	* 802.11n: scan for overlapping BSSes before starting 20/40 MHz channel
774*03f9172cSAndroid Build Coastguard Worker	* driver_nl80211: fixed STA accounting data collection (TX/RX bytes
775*03f9172cSAndroid Build Coastguard Worker	  reported correctly; TX/RX packets not yet available from kernel)
776*03f9172cSAndroid Build Coastguard Worker	* added support for WPS USBA out-of-band mechanism with USB Flash
777*03f9172cSAndroid Build Coastguard Worker	  Drives (UFD) (CONFIG_WPS_UFD=y)
778*03f9172cSAndroid Build Coastguard Worker	* fixed EAPOL/EAP reauthentication when using an external RADIUS
779*03f9172cSAndroid Build Coastguard Worker	  authentication server
780*03f9172cSAndroid Build Coastguard Worker	* fixed TNC with EAP-TTLS
781*03f9172cSAndroid Build Coastguard Worker	* fixed IEEE 802.11r key derivation function to match with the standard
782*03f9172cSAndroid Build Coastguard Worker	  (note: this breaks interoperability with previous version) [Bug 303]
783*03f9172cSAndroid Build Coastguard Worker	* fixed SHA-256 based key derivation function to match with the
784*03f9172cSAndroid Build Coastguard Worker	  standard when using CCMP (for IEEE 802.11r and IEEE 802.11w)
785*03f9172cSAndroid Build Coastguard Worker	  (note: this breaks interoperability with previous version) [Bug 307]
786*03f9172cSAndroid Build Coastguard Worker	* added number of code size optimizations to remove unnecessary
787*03f9172cSAndroid Build Coastguard Worker	  functionality from the program binary based on build configuration
788*03f9172cSAndroid Build Coastguard Worker	  (part of this automatic; part configurable with CONFIG_NO_* build
789*03f9172cSAndroid Build Coastguard Worker	  options)
790*03f9172cSAndroid Build Coastguard Worker	* use shared driver wrapper files with wpa_supplicant
791*03f9172cSAndroid Build Coastguard Worker	* driver_nl80211: multiple updates to provide support for new Linux
792*03f9172cSAndroid Build Coastguard Worker	  nl80211/mac80211 functionality
793*03f9172cSAndroid Build Coastguard Worker	* updated management frame protection to use IEEE Std 802.11w-2009
794*03f9172cSAndroid Build Coastguard Worker	* fixed number of small WPS issues and added workarounds to
795*03f9172cSAndroid Build Coastguard Worker	  interoperate with common deployed broken implementations
796*03f9172cSAndroid Build Coastguard Worker	* added some IEEE 802.11n co-existence rules to disable 40 MHz channels
797*03f9172cSAndroid Build Coastguard Worker	  or modify primary/secondary channels if needed based on neighboring
798*03f9172cSAndroid Build Coastguard Worker	  networks
799*03f9172cSAndroid Build Coastguard Worker	* added support for NFC out-of-band mechanism with WPS
800*03f9172cSAndroid Build Coastguard Worker	* added preliminary support for IEEE 802.11r RIC processing
801*03f9172cSAndroid Build Coastguard Worker
802*03f9172cSAndroid Build Coastguard Worker2009-01-06 - v0.6.7
803*03f9172cSAndroid Build Coastguard Worker	* added support for Wi-Fi Protected Setup (WPS)
804*03f9172cSAndroid Build Coastguard Worker	  (hostapd can now be configured to act as an integrated WPS Registrar
805*03f9172cSAndroid Build Coastguard Worker	  and provision credentials for WPS Enrollees using PIN and PBC
806*03f9172cSAndroid Build Coastguard Worker	  methods; external wireless Registrar can configure the AP, but
807*03f9172cSAndroid Build Coastguard Worker	  external WLAN Manager Registrars are not supported); WPS support can
808*03f9172cSAndroid Build Coastguard Worker	  be enabled by adding CONFIG_WPS=y into .config and setting the
809*03f9172cSAndroid Build Coastguard Worker	  runtime configuration variables in hostapd.conf (see WPS section in
810*03f9172cSAndroid Build Coastguard Worker	  the example configuration file); new hostapd_cli commands wps_pin and
811*03f9172cSAndroid Build Coastguard Worker	  wps_pbc are used to configure WPS negotiation; see README-WPS for
812*03f9172cSAndroid Build Coastguard Worker	  more details
813*03f9172cSAndroid Build Coastguard Worker	* added IEEE 802.11n HT capability configuration (ht_capab)
814*03f9172cSAndroid Build Coastguard Worker	* added support for generating Country IE based on nl80211 regulatory
815*03f9172cSAndroid Build Coastguard Worker	  information (added if ieee80211d=1 in configuration)
816*03f9172cSAndroid Build Coastguard Worker	* fixed WEP authentication (both Open System and Shared Key) with
817*03f9172cSAndroid Build Coastguard Worker	  mac80211
818*03f9172cSAndroid Build Coastguard Worker	* added support for EAP-AKA' (draft-arkko-eap-aka-kdf)
819*03f9172cSAndroid Build Coastguard Worker	* added support for using driver_test over UDP socket
820*03f9172cSAndroid Build Coastguard Worker	* changed EAP-GPSK to use the IANA assigned EAP method type 51
821*03f9172cSAndroid Build Coastguard Worker	* updated management frame protection to use IEEE 802.11w/D7.0
822*03f9172cSAndroid Build Coastguard Worker	* fixed retransmission of EAP requests if no response is received
823*03f9172cSAndroid Build Coastguard Worker
824*03f9172cSAndroid Build Coastguard Worker2008-11-23 - v0.6.6
825*03f9172cSAndroid Build Coastguard Worker	* added a new configuration option, wpa_ptk_rekey, that can be used to
826*03f9172cSAndroid Build Coastguard Worker	  enforce frequent PTK rekeying, e.g., to mitigate some attacks against
827*03f9172cSAndroid Build Coastguard Worker	  TKIP deficiencies
828*03f9172cSAndroid Build Coastguard Worker	* updated OpenSSL code for EAP-FAST to use an updated version of the
829*03f9172cSAndroid Build Coastguard Worker	  session ticket overriding API that was included into the upstream
830*03f9172cSAndroid Build Coastguard Worker	  OpenSSL 0.9.9 tree on 2008-11-15 (no additional OpenSSL patch is
831*03f9172cSAndroid Build Coastguard Worker	  needed with that version anymore)
832*03f9172cSAndroid Build Coastguard Worker	* changed channel flags configuration to read the information from
833*03f9172cSAndroid Build Coastguard Worker	  the driver (e.g., via driver_nl80211 when using mac80211) instead of
834*03f9172cSAndroid Build Coastguard Worker	  using hostapd as the source of the regulatory information (i.e.,
835*03f9172cSAndroid Build Coastguard Worker	  information from CRDA is now used with mac80211); this allows 5 GHz
836*03f9172cSAndroid Build Coastguard Worker	  channels to be used with hostapd (if allowed in the current
837*03f9172cSAndroid Build Coastguard Worker	  regulatory domain)
838*03f9172cSAndroid Build Coastguard Worker	* fixed EAP-TLS message processing for the last TLS message if it is
839*03f9172cSAndroid Build Coastguard Worker	  large enough to require fragmentation (e.g., if a large Session
840*03f9172cSAndroid Build Coastguard Worker	  Ticket data is included)
841*03f9172cSAndroid Build Coastguard Worker	* fixed listen interval configuration for nl80211 drivers
842*03f9172cSAndroid Build Coastguard Worker
843*03f9172cSAndroid Build Coastguard Worker2008-11-01 - v0.6.5
844*03f9172cSAndroid Build Coastguard Worker	* added support for SHA-256 as X.509 certificate digest when using the
845*03f9172cSAndroid Build Coastguard Worker	  internal X.509/TLSv1 implementation
846*03f9172cSAndroid Build Coastguard Worker	* fixed EAP-FAST PAC-Opaque padding (0.6.4 broke this for some peer
847*03f9172cSAndroid Build Coastguard Worker	  identity lengths)
848*03f9172cSAndroid Build Coastguard Worker	* fixed internal TLSv1 implementation for abbreviated handshake (used
849*03f9172cSAndroid Build Coastguard Worker	  by EAP-FAST server)
850*03f9172cSAndroid Build Coastguard Worker	* added support for setting VLAN ID for STAs based on local MAC ACL
851*03f9172cSAndroid Build Coastguard Worker	  (accept_mac_file) as an alternative for RADIUS server-based
852*03f9172cSAndroid Build Coastguard Worker	  configuration
853*03f9172cSAndroid Build Coastguard Worker	* updated management frame protection to use IEEE 802.11w/D6.0
854*03f9172cSAndroid Build Coastguard Worker	  (adds a new association ping to protect against unauthenticated
855*03f9172cSAndroid Build Coastguard Worker	  authenticate or (re)associate request frames dropping association)
856*03f9172cSAndroid Build Coastguard Worker	* added support for using SHA256-based stronger key derivation for WPA2
857*03f9172cSAndroid Build Coastguard Worker	  (IEEE 802.11w)
858*03f9172cSAndroid Build Coastguard Worker	* added new "driver wrapper" for RADIUS-only configuration
859*03f9172cSAndroid Build Coastguard Worker	  (driver=none in hostapd.conf; CONFIG_DRIVER_NONE=y in .config)
860*03f9172cSAndroid Build Coastguard Worker	* fixed WPA/RSN IE validation to verify that the proto (WPA vs. WPA2)
861*03f9172cSAndroid Build Coastguard Worker	  is enabled in configuration
862*03f9172cSAndroid Build Coastguard Worker	* changed EAP-FAST configuration to use separate fields for A-ID and
863*03f9172cSAndroid Build Coastguard Worker	  A-ID-Info (eap_fast_a_id_info) to allow A-ID to be set to a fixed
864*03f9172cSAndroid Build Coastguard Worker	  16-octet len binary value for better interoperability with some peer
865*03f9172cSAndroid Build Coastguard Worker	  implementations; eap_fast_a_id is now configured as a hex string
866*03f9172cSAndroid Build Coastguard Worker	* driver_nl80211: Updated to match the current Linux mac80211 AP mode
867*03f9172cSAndroid Build Coastguard Worker	  configuration (wireless-testing.git and Linux kernel releases
868*03f9172cSAndroid Build Coastguard Worker	  starting from 2.6.29)
869*03f9172cSAndroid Build Coastguard Worker
870*03f9172cSAndroid Build Coastguard Worker2008-08-10 - v0.6.4
871*03f9172cSAndroid Build Coastguard Worker	* added peer identity into EAP-FAST PAC-Opaque and skip Phase 2
872*03f9172cSAndroid Build Coastguard Worker	  Identity Request if identity is already known
873*03f9172cSAndroid Build Coastguard Worker	* added support for EAP Sequences in EAP-FAST Phase 2
874*03f9172cSAndroid Build Coastguard Worker	* added support for EAP-TNC (Trusted Network Connect)
875*03f9172cSAndroid Build Coastguard Worker	  (this version implements the EAP-TNC method and EAP-TTLS/EAP-FAST
876*03f9172cSAndroid Build Coastguard Worker	  changes needed to run two methods in sequence (IF-T) and the IF-IMV
877*03f9172cSAndroid Build Coastguard Worker	  and IF-TNCCS interfaces from TNCS)
878*03f9172cSAndroid Build Coastguard Worker	* added support for optional cryptobinding with PEAPv0
879*03f9172cSAndroid Build Coastguard Worker	* added fragmentation support for EAP-TNC
880*03f9172cSAndroid Build Coastguard Worker	* added support for fragmenting EAP-TTLS/PEAP/FAST Phase 2 (tunneled)
881*03f9172cSAndroid Build Coastguard Worker	  data
882*03f9172cSAndroid Build Coastguard Worker	* added support for opportunistic key caching (OKC)
883*03f9172cSAndroid Build Coastguard Worker
884*03f9172cSAndroid Build Coastguard Worker2008-02-22 - v0.6.3
885*03f9172cSAndroid Build Coastguard Worker	* fixed Reassociation Response callback processing when using internal
886*03f9172cSAndroid Build Coastguard Worker	  MLME (driver_{hostap,nl80211,test}.c)
887*03f9172cSAndroid Build Coastguard Worker	* updated FT support to use the latest draft, IEEE 802.11r/D9.0
888*03f9172cSAndroid Build Coastguard Worker	* copy optional Proxy-State attributes into RADIUS response when acting
889*03f9172cSAndroid Build Coastguard Worker	  as a RADIUS authentication server
890*03f9172cSAndroid Build Coastguard Worker	* fixed EAPOL state machine to handle a case in which no response is
891*03f9172cSAndroid Build Coastguard Worker	  received from the RADIUS authentication server; previous version
892*03f9172cSAndroid Build Coastguard Worker	  could have triggered a crash in some cases after a timeout
893*03f9172cSAndroid Build Coastguard Worker	* fixed EAP-SIM/AKA realm processing to allow decorated usernames to
894*03f9172cSAndroid Build Coastguard Worker	  be used
895*03f9172cSAndroid Build Coastguard Worker	* added a workaround for EAP-SIM/AKA peers that include incorrect null
896*03f9172cSAndroid Build Coastguard Worker	  termination in the username
897*03f9172cSAndroid Build Coastguard Worker	* fixed EAP-SIM/AKA protected result indication to include AT_COUNTER
898*03f9172cSAndroid Build Coastguard Worker	  attribute in notification messages only when using fast
899*03f9172cSAndroid Build Coastguard Worker	  reauthentication
900*03f9172cSAndroid Build Coastguard Worker	* fixed EAP-SIM Start response processing for fast reauthentication
901*03f9172cSAndroid Build Coastguard Worker	  case
902*03f9172cSAndroid Build Coastguard Worker	* added support for pending EAP processing in EAP-{PEAP,TTLS,FAST}
903*03f9172cSAndroid Build Coastguard Worker	  phase 2 to allow EAP-SIM and EAP-AKA to be used as the Phase 2 method
904*03f9172cSAndroid Build Coastguard Worker
905*03f9172cSAndroid Build Coastguard Worker2008-01-01 - v0.6.2
906*03f9172cSAndroid Build Coastguard Worker	* fixed EAP-SIM and EAP-AKA message parser to validate attribute
907*03f9172cSAndroid Build Coastguard Worker	  lengths properly to avoid potential crash caused by invalid messages
908*03f9172cSAndroid Build Coastguard Worker	* added data structure for storing allocated buffers (struct wpabuf);
909*03f9172cSAndroid Build Coastguard Worker	  this does not affect hostapd usage, but many of the APIs changed
910*03f9172cSAndroid Build Coastguard Worker	  and various interfaces (e.g., EAP) is not compatible with old
911*03f9172cSAndroid Build Coastguard Worker	  versions
912*03f9172cSAndroid Build Coastguard Worker	* added support for protecting EAP-AKA/Identity messages with
913*03f9172cSAndroid Build Coastguard Worker	  AT_CHECKCODE (optional feature in RFC 4187)
914*03f9172cSAndroid Build Coastguard Worker	* added support for protected result indication with AT_RESULT_IND for
915*03f9172cSAndroid Build Coastguard Worker	  EAP-SIM and EAP-AKA (eap_sim_aka_result_ind=1)
916*03f9172cSAndroid Build Coastguard Worker	* added support for configuring EAP-TTLS phase 2 non-EAP methods in
917*03f9172cSAndroid Build Coastguard Worker	  EAP server configuration; previously all four were enabled for every
918*03f9172cSAndroid Build Coastguard Worker	  phase 2 user, now all four are disabled by default and need to be
919*03f9172cSAndroid Build Coastguard Worker	  enabled with new method names TTLS-PAP, TTLS-CHAP, TTLS-MSCHAP,
920*03f9172cSAndroid Build Coastguard Worker	  TTLS-MSCHAPV2
921*03f9172cSAndroid Build Coastguard Worker	* removed old debug printing mechanism and the related 'debug'
922*03f9172cSAndroid Build Coastguard Worker	  parameter in the configuration file; debug verbosity is now set with
923*03f9172cSAndroid Build Coastguard Worker	  -d (or -dd) command line arguments
924*03f9172cSAndroid Build Coastguard Worker	* added support for EAP-IKEv2 (draft-tschofenig-eap-ikev2-15.txt);
925*03f9172cSAndroid Build Coastguard Worker	  only shared key/password authentication is supported in this version
926*03f9172cSAndroid Build Coastguard Worker
927*03f9172cSAndroid Build Coastguard Worker2007-11-24 - v0.6.1
928*03f9172cSAndroid Build Coastguard Worker	* added experimental, integrated TLSv1 server implementation with the
929*03f9172cSAndroid Build Coastguard Worker	  needed X.509/ASN.1/RSA/bignum processing (this can be enabled by
930*03f9172cSAndroid Build Coastguard Worker	  setting CONFIG_TLS=internal and CONFIG_INTERNAL_LIBTOMMATH=y in
931*03f9172cSAndroid Build Coastguard Worker	  .config); this can be useful, e.g., if the target system does not
932*03f9172cSAndroid Build Coastguard Worker	  have a suitable TLS library and a minimal code size is required
933*03f9172cSAndroid Build Coastguard Worker	* added support for EAP-FAST server method to the integrated EAP
934*03f9172cSAndroid Build Coastguard Worker	  server
935*03f9172cSAndroid Build Coastguard Worker	* updated EAP Generalized Pre-Shared Key (EAP-GPSK) to use the latest
936*03f9172cSAndroid Build Coastguard Worker	  draft (draft-ietf-emu-eap-gpsk-07.txt)
937*03f9172cSAndroid Build Coastguard Worker	* added a new configuration parameter, rsn_pairwise, to allow different
938*03f9172cSAndroid Build Coastguard Worker	  pairwise cipher suites to be enabled for WPA and RSN/WPA2
939*03f9172cSAndroid Build Coastguard Worker	  (note: if wpa_pairwise differs from rsn_pairwise, the driver will
940*03f9172cSAndroid Build Coastguard Worker	  either need to support this or will have to use the WPA/RSN IEs from
941*03f9172cSAndroid Build Coastguard Worker	  hostapd; currently, the included madwifi and bsd driver interfaces do
942*03f9172cSAndroid Build Coastguard Worker	  not have support for this)
943*03f9172cSAndroid Build Coastguard Worker	* updated FT support to use the latest draft, IEEE 802.11r/D8.0
944*03f9172cSAndroid Build Coastguard Worker
945*03f9172cSAndroid Build Coastguard Worker2007-05-28 - v0.6.0
946*03f9172cSAndroid Build Coastguard Worker	* added experimental IEEE 802.11r/D6.0 support
947*03f9172cSAndroid Build Coastguard Worker	* updated EAP-SAKE to RFC 4763 and the IANA-allocated EAP type 48
948*03f9172cSAndroid Build Coastguard Worker	* updated EAP-PSK to use the IANA-allocated EAP type 47
949*03f9172cSAndroid Build Coastguard Worker	* fixed EAP-PSK bit ordering of the Flags field
950*03f9172cSAndroid Build Coastguard Worker	* fixed configuration reloading (SIGHUP) to re-initialize WPA PSKs
951*03f9172cSAndroid Build Coastguard Worker	  by reading wpa_psk_file [Bug 181]
952*03f9172cSAndroid Build Coastguard Worker	* fixed EAP-TTLS AVP parser processing for too short AVP lengths
953*03f9172cSAndroid Build Coastguard Worker	* fixed IPv6 connection to RADIUS accounting server
954*03f9172cSAndroid Build Coastguard Worker	* updated EAP Generalized Pre-Shared Key (EAP-GPSK) to use the latest
955*03f9172cSAndroid Build Coastguard Worker	  draft (draft-ietf-emu-eap-gpsk-04.txt)
956*03f9172cSAndroid Build Coastguard Worker	* hlr_auc_gw: read GSM triplet file into memory and rotate through the
957*03f9172cSAndroid Build Coastguard Worker	  entries instead of only using the same three triplets every time
958*03f9172cSAndroid Build Coastguard Worker	  (this does not work properly with tests using multiple clients, but
959*03f9172cSAndroid Build Coastguard Worker	  provides bit better triplet data for testing a single client; anyway,
960*03f9172cSAndroid Build Coastguard Worker	  if a better quality triplets are needed, GSM-Milenage should be used
961*03f9172cSAndroid Build Coastguard Worker	  instead of hardcoded triplet file)
962*03f9172cSAndroid Build Coastguard Worker	* fixed EAP-MSCHAPv2 server to use a space between S and M parameters
963*03f9172cSAndroid Build Coastguard Worker	  in Success Request [Bug 203]
964*03f9172cSAndroid Build Coastguard Worker	* added support for sending EAP-AKA Notifications in error cases
965*03f9172cSAndroid Build Coastguard Worker	* updated to use IEEE 802.11w/D2.0 for management frame protection
966*03f9172cSAndroid Build Coastguard Worker	  (still experimental)
967*03f9172cSAndroid Build Coastguard Worker	* RADIUS server: added support for processing duplicate messages
968*03f9172cSAndroid Build Coastguard Worker	  (retransmissions from RADIUS client) by replying with the previous
969*03f9172cSAndroid Build Coastguard Worker	  reply
970*03f9172cSAndroid Build Coastguard Worker
971*03f9172cSAndroid Build Coastguard Worker2006-11-24 - v0.5.6
972*03f9172cSAndroid Build Coastguard Worker	* added support for configuring and controlling multiple BSSes per
973*03f9172cSAndroid Build Coastguard Worker	  radio interface (bss=<ifname> in hostapd.conf); this is only
974*03f9172cSAndroid Build Coastguard Worker	  available with Devicescape and test driver interfaces
975*03f9172cSAndroid Build Coastguard Worker	* fixed PMKSA cache update in the end of successful RSN
976*03f9172cSAndroid Build Coastguard Worker	  pre-authentication
977*03f9172cSAndroid Build Coastguard Worker	* added support for dynamic VLAN configuration (i.e., selecting VLAN-ID
978*03f9172cSAndroid Build Coastguard Worker	  for each STA based on RADIUS Access-Accept attributes); this requires
979*03f9172cSAndroid Build Coastguard Worker	  VLAN support from the kernel driver/802.11 stack and this is
980*03f9172cSAndroid Build Coastguard Worker	  currently only available with Devicescape and test driver interfaces
981*03f9172cSAndroid Build Coastguard Worker	* driver_madwifi: fixed configuration of unencrypted modes (plaintext
982*03f9172cSAndroid Build Coastguard Worker	  and IEEE 802.1X without WEP)
983*03f9172cSAndroid Build Coastguard Worker	* removed STAKey handshake since PeerKey handshake has replaced it in
984*03f9172cSAndroid Build Coastguard Worker	  IEEE 802.11ma and there are no known deployments of STAKey
985*03f9172cSAndroid Build Coastguard Worker	* updated EAP Generalized Pre-Shared Key (EAP-GPSK) to use the latest
986*03f9172cSAndroid Build Coastguard Worker	  draft (draft-ietf-emu-eap-gpsk-01.txt)
987*03f9172cSAndroid Build Coastguard Worker	* added preliminary implementation of IEEE 802.11w/D1.0 (management
988*03f9172cSAndroid Build Coastguard Worker	  frame protection)
989*03f9172cSAndroid Build Coastguard Worker	  (Note: this requires driver support to work properly.)
990*03f9172cSAndroid Build Coastguard Worker	  (Note2: IEEE 802.11w is an unapproved draft and subject to change.)
991*03f9172cSAndroid Build Coastguard Worker	* hlr_auc_gw: added support for GSM-Milenage (for EAP-SIM)
992*03f9172cSAndroid Build Coastguard Worker	* hlr_auc_gw: added support for reading per-IMSI Milenage keys and
993*03f9172cSAndroid Build Coastguard Worker	  parameters from a text file to make it possible to implement proper
994*03f9172cSAndroid Build Coastguard Worker	  GSM/UMTS authentication server for multiple SIM/USIM cards using
995*03f9172cSAndroid Build Coastguard Worker	  EAP-SIM/EAP-AKA
996*03f9172cSAndroid Build Coastguard Worker	* fixed session timeout processing with drivers that do not use
997*03f9172cSAndroid Build Coastguard Worker	  ieee802_11.c (e.g., madwifi)
998*03f9172cSAndroid Build Coastguard Worker
999*03f9172cSAndroid Build Coastguard Worker2006-08-27 - v0.5.5
1000*03f9172cSAndroid Build Coastguard Worker	* added 'hostapd_cli new_sta <addr>' command for adding a new STA into
1001*03f9172cSAndroid Build Coastguard Worker	  hostapd (e.g., to initialize wired network authentication based on an
1002*03f9172cSAndroid Build Coastguard Worker	  external signal)
1003*03f9172cSAndroid Build Coastguard Worker	* fixed hostapd to add PMKID KDE into 4-Way Handshake Message 1 when
1004*03f9172cSAndroid Build Coastguard Worker	  using WPA2 even if PMKSA caching is not used
1005*03f9172cSAndroid Build Coastguard Worker	* added -P<pid file> argument for hostapd to write the current process
1006*03f9172cSAndroid Build Coastguard Worker	  id into a file
1007*03f9172cSAndroid Build Coastguard Worker	* added support for RADIUS Authentication Server MIB (RFC 2619)
1008*03f9172cSAndroid Build Coastguard Worker
1009*03f9172cSAndroid Build Coastguard Worker2006-06-20 - v0.5.4
1010*03f9172cSAndroid Build Coastguard Worker	* fixed nt_password_hash build [Bug 144]
1011*03f9172cSAndroid Build Coastguard Worker	* added PeerKey handshake implementation for IEEE 802.11e
1012*03f9172cSAndroid Build Coastguard Worker	  direct link setup (DLS) to replace STAKey handshake
1013*03f9172cSAndroid Build Coastguard Worker	* added support for EAP Generalized Pre-Shared Key (EAP-GPSK,
1014*03f9172cSAndroid Build Coastguard Worker	  draft-clancy-emu-eap-shared-secret-00.txt)
1015*03f9172cSAndroid Build Coastguard Worker	* fixed a segmentation fault when RSN pre-authentication was completed
1016*03f9172cSAndroid Build Coastguard Worker	  successfully [Bug 152]
1017*03f9172cSAndroid Build Coastguard Worker
1018*03f9172cSAndroid Build Coastguard Worker2006-04-27 - v0.5.3
1019*03f9172cSAndroid Build Coastguard Worker	* do not build nt_password_hash and hlr_auc_gw by default to avoid
1020*03f9172cSAndroid Build Coastguard Worker	  requiring a TLS library for a successful build; these programs can be
1021*03f9172cSAndroid Build Coastguard Worker	  build with 'make nt_password_hash' and 'make hlr_auc_gw'
1022*03f9172cSAndroid Build Coastguard Worker	* added a new configuration option, eapol_version, that can be used to
1023*03f9172cSAndroid Build Coastguard Worker	  set EAPOL version to 1 (default is 2) to work around broken client
1024*03f9172cSAndroid Build Coastguard Worker	  implementations that drop EAPOL frames which use version number 2
1025*03f9172cSAndroid Build Coastguard Worker	  [Bug 89]
1026*03f9172cSAndroid Build Coastguard Worker	* added support for EAP-SAKE (no EAP method number allocated yet, so
1027*03f9172cSAndroid Build Coastguard Worker	  this is using the same experimental type 255 as EAP-PSK)
1028*03f9172cSAndroid Build Coastguard Worker	* fixed EAP-MSCHAPv2 message length validation
1029*03f9172cSAndroid Build Coastguard Worker
1030*03f9172cSAndroid Build Coastguard Worker2006-03-19 - v0.5.2
1031*03f9172cSAndroid Build Coastguard Worker	* fixed stdarg use in hostapd_logger(): if both stdout and syslog
1032*03f9172cSAndroid Build Coastguard Worker	  logging was enabled, hostapd could trigger a segmentation fault in
1033*03f9172cSAndroid Build Coastguard Worker	  vsyslog on some CPU -- C library combinations
1034*03f9172cSAndroid Build Coastguard Worker	* moved HLR/AuC gateway implementation for EAP-SIM/AKA into an external
1035*03f9172cSAndroid Build Coastguard Worker	  program to make it easier to use for implementing real SS7 gateway;
1036*03f9172cSAndroid Build Coastguard Worker	  eap_sim_db is not anymore used as a file name for GSM authentication
1037*03f9172cSAndroid Build Coastguard Worker	  triplets; instead, it is path to UNIX domain socket that will be used
1038*03f9172cSAndroid Build Coastguard Worker	  to communicate with the external gateway program (e.g., hlr_auc_gw)
1039*03f9172cSAndroid Build Coastguard Worker	* added example HLR/AuC gateway implementation, hlr_auc_gw, that uses
1040*03f9172cSAndroid Build Coastguard Worker	  local information (GSM authentication triplets from a text file and
1041*03f9172cSAndroid Build Coastguard Worker	  hardcoded AKA authentication data); this can be used to test EAP-SIM
1042*03f9172cSAndroid Build Coastguard Worker	  and EAP-AKA
1043*03f9172cSAndroid Build Coastguard Worker	* added Milenage algorithm (example 3GPP AKA algorithm) to hlr_auc_gw
1044*03f9172cSAndroid Build Coastguard Worker	  to make it possible to test EAP-AKA with real USIM cards (this is
1045*03f9172cSAndroid Build Coastguard Worker	  disabled by default; define AKA_USE_MILENAGE when building hlr_auc_gw
1046*03f9172cSAndroid Build Coastguard Worker	  to enable this)
1047*03f9172cSAndroid Build Coastguard Worker	* driver_madwifi: added support for getting station RSN IE from
1048*03f9172cSAndroid Build Coastguard Worker	  madwifi-ng svn r1453 and newer; this fixes RSN that was apparently
1049*03f9172cSAndroid Build Coastguard Worker	  broken with earlier change (r1357) in the driver
1050*03f9172cSAndroid Build Coastguard Worker	* changed EAP method registration to use a dynamic list of methods
1051*03f9172cSAndroid Build Coastguard Worker	  instead of a static list generated at build time
1052*03f9172cSAndroid Build Coastguard Worker	* fixed WPA message 3/4 not to encrypt Key Data field (WPA IE)
1053*03f9172cSAndroid Build Coastguard Worker	  [Bug 125]
1054*03f9172cSAndroid Build Coastguard Worker	* added ap_max_inactivity configuration parameter
1055*03f9172cSAndroid Build Coastguard Worker
1056*03f9172cSAndroid Build Coastguard Worker2006-01-29 - v0.5.1
1057*03f9172cSAndroid Build Coastguard Worker	* driver_test: added better support for multiple APs and STAs by using
1058*03f9172cSAndroid Build Coastguard Worker	  a directory with sockets that include MAC address for each device in
1059*03f9172cSAndroid Build Coastguard Worker	  the name (test_socket=DIR:/tmp/test)
1060*03f9172cSAndroid Build Coastguard Worker	* added support for EAP expanded type (vendor specific EAP methods)
1061*03f9172cSAndroid Build Coastguard Worker
1062*03f9172cSAndroid Build Coastguard Worker2005-12-18 - v0.5.0 (beginning of 0.5.x development releases)
1063*03f9172cSAndroid Build Coastguard Worker	* added experimental STAKey handshake implementation for IEEE 802.11e
1064*03f9172cSAndroid Build Coastguard Worker	  direct link setup (DLS); note: this is disabled by default in both
1065*03f9172cSAndroid Build Coastguard Worker	  build and runtime configuration (can be enabled with CONFIG_STAKEY=y
1066*03f9172cSAndroid Build Coastguard Worker	  and stakey=1)
1067*03f9172cSAndroid Build Coastguard Worker	* added support for EAP methods to use callbacks to external programs
1068*03f9172cSAndroid Build Coastguard Worker	  by buffering a pending request and processing it after the EAP method
1069*03f9172cSAndroid Build Coastguard Worker	  is ready to continue
1070*03f9172cSAndroid Build Coastguard Worker	* improved EAP-SIM database interface to allow external request to GSM
1071*03f9172cSAndroid Build Coastguard Worker	  HLR/AuC without blocking hostapd process
1072*03f9172cSAndroid Build Coastguard Worker	* added support for using EAP-SIM pseudonyms and fast re-authentication
1073*03f9172cSAndroid Build Coastguard Worker	* added support for EAP-AKA in the integrated EAP authenticator
1074*03f9172cSAndroid Build Coastguard Worker	* added support for matching EAP identity prefixes (e.g., "1"*) in EAP
1075*03f9172cSAndroid Build Coastguard Worker	  user database to allow EAP-SIM/AKA selection without extra roundtrip
1076*03f9172cSAndroid Build Coastguard Worker	  for EAP-Nak negotiation
1077*03f9172cSAndroid Build Coastguard Worker	* added support for storing EAP user password as NtPasswordHash instead
1078*03f9172cSAndroid Build Coastguard Worker	  of plaintext password when using MSCHAP or MSCHAPv2 for
1079*03f9172cSAndroid Build Coastguard Worker	  authentication (hash:<16-octet hex value>); added nt_password_hash
1080*03f9172cSAndroid Build Coastguard Worker	  tool for hashing password to generate NtPasswordHash
1081*03f9172cSAndroid Build Coastguard Worker
1082*03f9172cSAndroid Build Coastguard Worker2005-11-20 - v0.4.7 (beginning of 0.4.x stable releases)
1083*03f9172cSAndroid Build Coastguard Worker	* driver_wired: fixed EAPOL sending to optionally use PAE group address
1084*03f9172cSAndroid Build Coastguard Worker	  as the destination instead of supplicant MAC address; this is
1085*03f9172cSAndroid Build Coastguard Worker	  disabled by default, but should be enabled with use_pae_group_addr=1
1086*03f9172cSAndroid Build Coastguard Worker	  in configuration file if the wired interface is used by only one
1087*03f9172cSAndroid Build Coastguard Worker	  device at the time (common switch configuration)
1088*03f9172cSAndroid Build Coastguard Worker	* driver_madwifi: configure driver to use TKIP countermeasures in order
1089*03f9172cSAndroid Build Coastguard Worker	  to get correct behavior (IEEE 802.11 association failing; previously,
1090*03f9172cSAndroid Build Coastguard Worker	  association succeeded, but hostpad forced disassociation immediately)
1091*03f9172cSAndroid Build Coastguard Worker	* driver_madwifi: added support for madwifi-ng
1092*03f9172cSAndroid Build Coastguard Worker
1093*03f9172cSAndroid Build Coastguard Worker2005-10-27 - v0.4.6
1094*03f9172cSAndroid Build Coastguard Worker	* added support for replacing user identity from EAP with RADIUS
1095*03f9172cSAndroid Build Coastguard Worker	  User-Name attribute from Access-Accept message, if that is included,
1096*03f9172cSAndroid Build Coastguard Worker	  for the RADIUS accounting messages (e.g., for EAP-PEAP/TTLS to get
1097*03f9172cSAndroid Build Coastguard Worker	  tunneled identity into accounting messages when the RADIUS server
1098*03f9172cSAndroid Build Coastguard Worker	  does not support better way of doing this with Class attribute)
1099*03f9172cSAndroid Build Coastguard Worker	* driver_madwifi: fixed EAPOL packet receive for configuration where
1100*03f9172cSAndroid Build Coastguard Worker	  ath# is part of a bridge interface
1101*03f9172cSAndroid Build Coastguard Worker	* added a configuration file and log analyzer script for logwatch
1102*03f9172cSAndroid Build Coastguard Worker	* fixed EAPOL state machine step function to process all state
1103*03f9172cSAndroid Build Coastguard Worker	  transitions before processing new events; this resolves a race
1104*03f9172cSAndroid Build Coastguard Worker	  condition in which EAPOL-Start message could trigger hostapd to send
1105*03f9172cSAndroid Build Coastguard Worker	  two EAP-Response/Identity frames to the authentication server
1106*03f9172cSAndroid Build Coastguard Worker
1107*03f9172cSAndroid Build Coastguard Worker2005-09-25 - v0.4.5
1108*03f9172cSAndroid Build Coastguard Worker	* added client CA list to the TLS certificate request in order to make
1109*03f9172cSAndroid Build Coastguard Worker	  it easier for the client to select which certificate to use
1110*03f9172cSAndroid Build Coastguard Worker	* added experimental support for EAP-PSK
1111*03f9172cSAndroid Build Coastguard Worker	* added support for WE-19 (hostap, madwifi)
1112*03f9172cSAndroid Build Coastguard Worker
1113*03f9172cSAndroid Build Coastguard Worker2005-08-21 - v0.4.4
1114*03f9172cSAndroid Build Coastguard Worker	* fixed build without CONFIG_RSN_PREAUTH
1115*03f9172cSAndroid Build Coastguard Worker	* fixed FreeBSD build
1116*03f9172cSAndroid Build Coastguard Worker
1117*03f9172cSAndroid Build Coastguard Worker2005-06-26 - v0.4.3
1118*03f9172cSAndroid Build Coastguard Worker	* fixed PMKSA caching to copy User-Name and Class attributes so that
1119*03f9172cSAndroid Build Coastguard Worker	  RADIUS accounting gets correct information
1120*03f9172cSAndroid Build Coastguard Worker	* start RADIUS accounting only after successful completion of WPA
1121*03f9172cSAndroid Build Coastguard Worker	  4-Way Handshake if WPA-PSK is used
1122*03f9172cSAndroid Build Coastguard Worker	* fixed PMKSA caching for the case where STA (re)associates without
1123*03f9172cSAndroid Build Coastguard Worker	  first disassociating
1124*03f9172cSAndroid Build Coastguard Worker
1125*03f9172cSAndroid Build Coastguard Worker2005-06-12 - v0.4.2
1126*03f9172cSAndroid Build Coastguard Worker	* EAP-PAX is now registered as EAP type 46
1127*03f9172cSAndroid Build Coastguard Worker	* fixed EAP-PAX MAC calculation
1128*03f9172cSAndroid Build Coastguard Worker	* fixed EAP-PAX CK and ICK key derivation
1129*03f9172cSAndroid Build Coastguard Worker	* renamed eap_authenticator configuration variable to eap_server to
1130*03f9172cSAndroid Build Coastguard Worker	  better match with RFC 3748 (EAP) terminology
1131*03f9172cSAndroid Build Coastguard Worker	* driver_test: added support for testing hostapd with wpa_supplicant
1132*03f9172cSAndroid Build Coastguard Worker	  by using test driver interface without any kernel drivers or network
1133*03f9172cSAndroid Build Coastguard Worker	  cards
1134*03f9172cSAndroid Build Coastguard Worker
1135*03f9172cSAndroid Build Coastguard Worker2005-05-22 - v0.4.1
1136*03f9172cSAndroid Build Coastguard Worker	* fixed RADIUS server initialization when only auth or acct server
1137*03f9172cSAndroid Build Coastguard Worker	  is configured and the other one is left empty
1138*03f9172cSAndroid Build Coastguard Worker	* driver_madwifi: added support for RADIUS accounting
1139*03f9172cSAndroid Build Coastguard Worker	* driver_madwifi: added preliminary support for compiling against 'BSD'
1140*03f9172cSAndroid Build Coastguard Worker	  branch of madwifi CVS tree
1141*03f9172cSAndroid Build Coastguard Worker	* driver_madwifi: fixed pairwise key removal to allow WPA reauth
1142*03f9172cSAndroid Build Coastguard Worker	  without disassociation
1143*03f9172cSAndroid Build Coastguard Worker	* added support for reading additional certificates from PKCS#12 files
1144*03f9172cSAndroid Build Coastguard Worker	  and adding them to the certificate chain
1145*03f9172cSAndroid Build Coastguard Worker	* fixed RADIUS Class attribute processing to only use Access-Accept
1146*03f9172cSAndroid Build Coastguard Worker	  packets to update Class; previously, other RADIUS authentication
1147*03f9172cSAndroid Build Coastguard Worker	  packets could have cleared Class attribute
1148*03f9172cSAndroid Build Coastguard Worker	* added support for more than one Class attribute in RADIUS packets
1149*03f9172cSAndroid Build Coastguard Worker	* added support for verifying certificate revocation list (CRL) when
1150*03f9172cSAndroid Build Coastguard Worker	  using integrated EAP authenticator for EAP-TLS; new hostapd.conf
1151*03f9172cSAndroid Build Coastguard Worker	  options 'check_crl'; CRL must be included in the ca_cert file for now
1152*03f9172cSAndroid Build Coastguard Worker
1153*03f9172cSAndroid Build Coastguard Worker2005-04-25 - v0.4.0 (beginning of 0.4.x development releases)
1154*03f9172cSAndroid Build Coastguard Worker	* added support for including network information into
1155*03f9172cSAndroid Build Coastguard Worker	  EAP-Request/Identity message (ASCII-0 (nul) in eap_message)
1156*03f9172cSAndroid Build Coastguard Worker	  (e.g., to implement draft-adrange-eap-network-discovery-07.txt)
1157*03f9172cSAndroid Build Coastguard Worker	* fixed a bug which caused some RSN pre-authentication cases to use
1158*03f9172cSAndroid Build Coastguard Worker	  freed memory and potentially crash hostapd
1159*03f9172cSAndroid Build Coastguard Worker	* fixed private key loading for cases where passphrase is not set
1160*03f9172cSAndroid Build Coastguard Worker	* added support for sending TLS alerts and aborting authentication
1161*03f9172cSAndroid Build Coastguard Worker	  when receiving a TLS alert
1162*03f9172cSAndroid Build Coastguard Worker	* fixed WPA2 to add PMKSA cache entry when using integrated EAP
1163*03f9172cSAndroid Build Coastguard Worker	  authenticator
1164*03f9172cSAndroid Build Coastguard Worker	* fixed PMKSA caching (EAP authentication was not skipped correctly
1165*03f9172cSAndroid Build Coastguard Worker	  with the new state machine changes from IEEE 802.1X draft)
1166*03f9172cSAndroid Build Coastguard Worker	* added support for RADIUS over IPv6; own_ip_addr, auth_server_addr,
1167*03f9172cSAndroid Build Coastguard Worker	  and acct_server_addr can now be IPv6 addresses (CONFIG_IPV6=y needs
1168*03f9172cSAndroid Build Coastguard Worker	  to be added to .config to include IPv6 support); for RADIUS server,
1169*03f9172cSAndroid Build Coastguard Worker	  radius_server_ipv6=1 needs to be set in hostapd.conf and addresses
1170*03f9172cSAndroid Build Coastguard Worker	  in RADIUS clients file can then use IPv6 format
1171*03f9172cSAndroid Build Coastguard Worker	* added experimental support for EAP-PAX
1172*03f9172cSAndroid Build Coastguard Worker	* replaced hostapd control interface library (hostapd_ctrl.[ch]) with
1173*03f9172cSAndroid Build Coastguard Worker	  the same implementation that wpa_supplicant is using (wpa_ctrl.[ch])
1174*03f9172cSAndroid Build Coastguard Worker
1175*03f9172cSAndroid Build Coastguard Worker2005-02-12 - v0.3.7 (beginning of 0.3.x stable releases)
1176*03f9172cSAndroid Build Coastguard Worker
1177*03f9172cSAndroid Build Coastguard Worker2005-01-23 - v0.3.5
1178*03f9172cSAndroid Build Coastguard Worker	* added support for configuring a forced PEAP version based on the
1179*03f9172cSAndroid Build Coastguard Worker	  Phase 1 identity
1180*03f9172cSAndroid Build Coastguard Worker	* fixed PEAPv1 to use tunneled EAP-Success/Failure instead of EAP-TLV
1181*03f9172cSAndroid Build Coastguard Worker	  to terminate authentication
1182*03f9172cSAndroid Build Coastguard Worker	* fixed EAP identifier duplicate processing with the new IEEE 802.1X
1183*03f9172cSAndroid Build Coastguard Worker	  draft
1184*03f9172cSAndroid Build Coastguard Worker	* clear accounting data in the driver when starting a new accounting
1185*03f9172cSAndroid Build Coastguard Worker	  session
1186*03f9172cSAndroid Build Coastguard Worker	* driver_madwifi: filter wireless events based on ifindex to allow more
1187*03f9172cSAndroid Build Coastguard Worker	  than one network interface to be used
1188*03f9172cSAndroid Build Coastguard Worker	* fixed WPA message 2/4 processing not to cancel timeout for TimeoutEvt
1189*03f9172cSAndroid Build Coastguard Worker	  setting if the packet does not pass MIC verification (e.g., due to
1190*03f9172cSAndroid Build Coastguard Worker	  incorrect PSK); previously, message 1/4 was not tried again if an
1191*03f9172cSAndroid Build Coastguard Worker	  invalid message 2/4 was received
1192*03f9172cSAndroid Build Coastguard Worker	* fixed reconfiguration of RADIUS client retransmission timer when
1193*03f9172cSAndroid Build Coastguard Worker	  adding a new message to the pending list; previously, timer was not
1194*03f9172cSAndroid Build Coastguard Worker	  updated at this point and if there was a pending message with long
1195*03f9172cSAndroid Build Coastguard Worker	  time for the next retry, the new message needed to wait that long for
1196*03f9172cSAndroid Build Coastguard Worker	  its first retry, too
1197*03f9172cSAndroid Build Coastguard Worker
1198*03f9172cSAndroid Build Coastguard Worker2005-01-09 - v0.3.4
1199*03f9172cSAndroid Build Coastguard Worker	* added support for configuring multiple allowed EAP types for Phase 2
1200*03f9172cSAndroid Build Coastguard Worker	  authentication (EAP-PEAP, EAP-TTLS)
1201*03f9172cSAndroid Build Coastguard Worker	* fixed EAPOL-Start processing to trigger WPA reauthentication
1202*03f9172cSAndroid Build Coastguard Worker	  (previously, only EAPOL authentication was done)
1203*03f9172cSAndroid Build Coastguard Worker
1204*03f9172cSAndroid Build Coastguard Worker2005-01-02 - v0.3.3
1205*03f9172cSAndroid Build Coastguard Worker	* added support for EAP-PEAP in the integrated EAP authenticator
1206*03f9172cSAndroid Build Coastguard Worker	* added support for EAP-GTC in the integrated EAP authenticator
1207*03f9172cSAndroid Build Coastguard Worker	* added support for configuring list of EAP methods for Phase 1 so that
1208*03f9172cSAndroid Build Coastguard Worker	  the integrated EAP authenticator can, e.g., use the wildcard entry
1209*03f9172cSAndroid Build Coastguard Worker	  for EAP-TLS and EAP-PEAP
1210*03f9172cSAndroid Build Coastguard Worker	* added support for EAP-TTLS in the integrated EAP authenticator
1211*03f9172cSAndroid Build Coastguard Worker	* added support for EAP-SIM in the integrated EAP authenticator
1212*03f9172cSAndroid Build Coastguard Worker	* added support for using hostapd as a RADIUS authentication server
1213*03f9172cSAndroid Build Coastguard Worker	  with the integrated EAP authenticator taking care of EAP
1214*03f9172cSAndroid Build Coastguard Worker	  authentication (new hostapd.conf options: radius_server_clients and
1215*03f9172cSAndroid Build Coastguard Worker	  radius_server_auth_port); this is not included in default build; use
1216*03f9172cSAndroid Build Coastguard Worker	  CONFIG_RADIUS_SERVER=y in .config to include
1217*03f9172cSAndroid Build Coastguard Worker
1218*03f9172cSAndroid Build Coastguard Worker2004-12-19 - v0.3.2
1219*03f9172cSAndroid Build Coastguard Worker	* removed 'daemonize' configuration file option since it has not really
1220*03f9172cSAndroid Build Coastguard Worker	  been used at all for more than year
1221*03f9172cSAndroid Build Coastguard Worker	* driver_madwifi: fixed group key setup and added get_ssid method
1222*03f9172cSAndroid Build Coastguard Worker	* added support for EAP-MSCHAPv2 in the integrated EAP authenticator
1223*03f9172cSAndroid Build Coastguard Worker
1224*03f9172cSAndroid Build Coastguard Worker2004-12-12 - v0.3.1
1225*03f9172cSAndroid Build Coastguard Worker	* added support for integrated EAP-TLS authentication (new hostapd.conf
1226*03f9172cSAndroid Build Coastguard Worker	  variables: ca_cert, server_cert, private_key, private_key_passwd);
1227*03f9172cSAndroid Build Coastguard Worker	  this enabled dynamic keying (WPA2/WPA/IEEE 802.1X/WEP) without
1228*03f9172cSAndroid Build Coastguard Worker	  external RADIUS server
1229*03f9172cSAndroid Build Coastguard Worker	* added support for reading PKCS#12 (PFX) files (as a replacement for
1230*03f9172cSAndroid Build Coastguard Worker	  PEM/DER) to get certificate and private key (CONFIG_PKCS12)
1231*03f9172cSAndroid Build Coastguard Worker
1232*03f9172cSAndroid Build Coastguard Worker2004-12-05 - v0.3.0 (beginning of 0.3.x development releases)
1233*03f9172cSAndroid Build Coastguard Worker	* added support for Acct-{Input,Output}-Gigawords
1234*03f9172cSAndroid Build Coastguard Worker	* added support for Event-Timestamp (in RADIUS Accounting-Requests)
1235*03f9172cSAndroid Build Coastguard Worker	* added support for RADIUS Authentication Client MIB (RFC2618)
1236*03f9172cSAndroid Build Coastguard Worker	* added support for RADIUS Accounting Client MIB (RFC2620)
1237*03f9172cSAndroid Build Coastguard Worker	* made EAP re-authentication period configurable (eap_reauth_period)
1238*03f9172cSAndroid Build Coastguard Worker	* fixed EAPOL reauthentication to trigger WPA/WPA2 reauthentication
1239*03f9172cSAndroid Build Coastguard Worker	* fixed EAPOL state machine to stop if STA is removed during
1240*03f9172cSAndroid Build Coastguard Worker	  eapol_sm_step(); this fixes at least one segfault triggering bug with
1241*03f9172cSAndroid Build Coastguard Worker	  IEEE 802.11i pre-authentication
1242*03f9172cSAndroid Build Coastguard Worker	* added support for multiple WPA pre-shared keys (e.g., one for each
1243*03f9172cSAndroid Build Coastguard Worker	  client MAC address or keys shared by a group of clients);
1244*03f9172cSAndroid Build Coastguard Worker	  new hostapd.conf field wpa_psk_file for setting path to a text file
1245*03f9172cSAndroid Build Coastguard Worker	  containing PSKs, see hostapd.wpa_psk for an example
1246*03f9172cSAndroid Build Coastguard Worker	* added support for multiple driver interfaces to allow hostapd to be
1247*03f9172cSAndroid Build Coastguard Worker	  used with other drivers
1248*03f9172cSAndroid Build Coastguard Worker	* added wired authenticator driver interface (driver=wired in
1249*03f9172cSAndroid Build Coastguard Worker	  hostapd.conf, see wired.conf for example configuration)
1250*03f9172cSAndroid Build Coastguard Worker	* added madwifi driver interface (driver=madwifi in hostapd.conf, see
1251*03f9172cSAndroid Build Coastguard Worker	  madwifi.conf for example configuration; Note: include files from
1252*03f9172cSAndroid Build Coastguard Worker	  madwifi project is needed for building and a configuration file,
1253*03f9172cSAndroid Build Coastguard Worker	  .config, needs to be created in hostapd directory with
1254*03f9172cSAndroid Build Coastguard Worker	  CONFIG_DRIVER_MADWIFI=y to include this driver interface in hostapd
1255*03f9172cSAndroid Build Coastguard Worker	  build)
1256*03f9172cSAndroid Build Coastguard Worker	* fixed an alignment issue that could cause SHA-1 to fail on some
1257*03f9172cSAndroid Build Coastguard Worker	  platforms (e.g., Intel ixp425 with a compiler that does not 32-bit
1258*03f9172cSAndroid Build Coastguard Worker	  align variables)
1259*03f9172cSAndroid Build Coastguard Worker	* fixed RADIUS reconnection after an error in sending interim
1260*03f9172cSAndroid Build Coastguard Worker	  accounting packets
1261*03f9172cSAndroid Build Coastguard Worker	* added hostapd control interface for external programs and an example
1262*03f9172cSAndroid Build Coastguard Worker	  CLI, hostapd_cli (like wpa_cli for wpa_supplicant)
1263*03f9172cSAndroid Build Coastguard Worker	* started adding dot11, dot1x, radius MIBs ('hostapd_cli mib',
1264*03f9172cSAndroid Build Coastguard Worker	  'hostapd_cli sta <addr>')
1265*03f9172cSAndroid Build Coastguard Worker	* finished update from IEEE 802.1X-2001 to IEEE 802.1X-REV (now d11)
1266*03f9172cSAndroid Build Coastguard Worker	* added support for strict GTK rekeying (wpa_strict_rekey in
1267*03f9172cSAndroid Build Coastguard Worker	  hostapd.conf)
1268*03f9172cSAndroid Build Coastguard Worker	* updated IAPP to use UDP port 3517 and multicast address 224.0.1.178
1269*03f9172cSAndroid Build Coastguard Worker	  (instead of broadcast) for IAPP ADD-notify (moved from draft 3 to
1270*03f9172cSAndroid Build Coastguard Worker	  IEEE 802.11F-2003)
1271*03f9172cSAndroid Build Coastguard Worker	* added Prism54 driver interface (driver=prism54 in hostapd.conf;
1272*03f9172cSAndroid Build Coastguard Worker	  note: .config needs to be created in hostapd directory with
1273*03f9172cSAndroid Build Coastguard Worker	  CONFIG_DRIVER_PRISM54=y to include this driver interface in hostapd
1274*03f9172cSAndroid Build Coastguard Worker	  build)
1275*03f9172cSAndroid Build Coastguard Worker	* dual-licensed hostapd (GPLv2 and BSD licenses)
1276*03f9172cSAndroid Build Coastguard Worker	* fixed RADIUS accounting to generate a new session id for cases where
1277*03f9172cSAndroid Build Coastguard Worker	  a station reassociates without first being complete deauthenticated
1278*03f9172cSAndroid Build Coastguard Worker	* fixed STA disassociation handler to mark next timeout state to
1279*03f9172cSAndroid Build Coastguard Worker	  deauthenticate the station, i.e., skip long wait for inactivity poll
1280*03f9172cSAndroid Build Coastguard Worker	  and extra disassociation, if the STA disassociates without
1281*03f9172cSAndroid Build Coastguard Worker	  deauthenticating
1282*03f9172cSAndroid Build Coastguard Worker	* added integrated EAP authenticator that can be used instead of
1283*03f9172cSAndroid Build Coastguard Worker	  external RADIUS authentication server; currently, only EAP-MD5 is
1284*03f9172cSAndroid Build Coastguard Worker	  supported, so this cannot yet be used for key distribution; the EAP
1285*03f9172cSAndroid Build Coastguard Worker	  method interface is generic, though, so adding new EAP methods should
1286*03f9172cSAndroid Build Coastguard Worker	  be straightforward; new hostapd.conf variables: 'eap_authenticator'
1287*03f9172cSAndroid Build Coastguard Worker	  and 'eap_user_file'; this obsoletes "minimal authentication server"
1288*03f9172cSAndroid Build Coastguard Worker	  ('minimal_eap' in hostapd.conf) which is now removed
1289*03f9172cSAndroid Build Coastguard Worker	* added support for FreeBSD and driver interface for the BSD net80211
1290*03f9172cSAndroid Build Coastguard Worker	  layer (driver=bsd in hostapd.conf and CONFIG_DRIVER_BSD=y in
1291*03f9172cSAndroid Build Coastguard Worker	  .config); please note that some of the required kernel mods have not
1292*03f9172cSAndroid Build Coastguard Worker	  yet been committed
1293*03f9172cSAndroid Build Coastguard Worker
1294*03f9172cSAndroid Build Coastguard Worker2004-07-17 - v0.2.4 (beginning of 0.2.x stable releases)
1295*03f9172cSAndroid Build Coastguard Worker	* fixed some accounting cases where Accounting-Start was sent when
1296*03f9172cSAndroid Build Coastguard Worker	  IEEE 802.1X port was being deauthorized
1297*03f9172cSAndroid Build Coastguard Worker
1298*03f9172cSAndroid Build Coastguard Worker2004-06-20 - v0.2.3
1299*03f9172cSAndroid Build Coastguard Worker	* modified RADIUS client to re-connect the socket in case of certain
1300*03f9172cSAndroid Build Coastguard Worker	  error codes that are generated when a network interface state is
1301*03f9172cSAndroid Build Coastguard Worker	  changes (e.g., when IP address changes or the interface is set UP)
1302*03f9172cSAndroid Build Coastguard Worker	* fixed couple of cases where EAPOL state for a station was freed
1303*03f9172cSAndroid Build Coastguard Worker	  twice causing a segfault for hostapd
1304*03f9172cSAndroid Build Coastguard Worker	* fixed couple of bugs in processing WPA deauthentication (freed data
1305*03f9172cSAndroid Build Coastguard Worker	  was used)
1306*03f9172cSAndroid Build Coastguard Worker
1307*03f9172cSAndroid Build Coastguard Worker2004-05-31 - v0.2.2
1308*03f9172cSAndroid Build Coastguard Worker	* fixed WPA/WPA2 group rekeying to use key index correctly (GN/GM)
1309*03f9172cSAndroid Build Coastguard Worker	* fixed group rekeying to send zero TSC in EAPOL-Key messages to fix
1310*03f9172cSAndroid Build Coastguard Worker	  cases where STAs dropped multicast frames as replay attacks
1311*03f9172cSAndroid Build Coastguard Worker	* added support for copying RADIUS Attribute 'Class' from
1312*03f9172cSAndroid Build Coastguard Worker	  authentication messages into accounting messages
1313*03f9172cSAndroid Build Coastguard Worker	* send canned EAP failure if RADIUS server sends Access-Reject without
1314*03f9172cSAndroid Build Coastguard Worker	  EAP message (previously, Supplicant was not notified in this case)
1315*03f9172cSAndroid Build Coastguard Worker	* fixed mixed WPA-PSK and WPA-EAP mode to work with WPA-PSK (i.e., do
1316*03f9172cSAndroid Build Coastguard Worker	  not start EAPOL state machines if the STA selected to use WPA-PSK)
1317*03f9172cSAndroid Build Coastguard Worker
1318*03f9172cSAndroid Build Coastguard Worker2004-05-06 - v0.2.1
1319*03f9172cSAndroid Build Coastguard Worker	* added WPA and IEEE 802.11i/RSN (WPA2) Authenticator functionality
1320*03f9172cSAndroid Build Coastguard Worker	  - based on IEEE 802.11i/D10.0 but modified to interoperate with WPA
1321*03f9172cSAndroid Build Coastguard Worker	    (i.e., IEEE 802.11i/D3.0)
1322*03f9172cSAndroid Build Coastguard Worker	  - supports WPA-only, RSN-only, and mixed WPA/RSN mode
1323*03f9172cSAndroid Build Coastguard Worker	  - both WPA-PSK and WPA-RADIUS/EAP are supported
1324*03f9172cSAndroid Build Coastguard Worker	  - PMKSA caching and pre-authentication
1325*03f9172cSAndroid Build Coastguard Worker	  - new hostapd.conf variables: wpa, wpa_psk, wpa_passphrase,
1326*03f9172cSAndroid Build Coastguard Worker	    wpa_key_mgmt, wpa_pairwise, wpa_group_rekey, wpa_gmk_rekey,
1327*03f9172cSAndroid Build Coastguard Worker	    rsn_preauth, rsn_preauth_interfaces
1328*03f9172cSAndroid Build Coastguard Worker	* fixed interim accounting to remove any pending accounting messages
1329*03f9172cSAndroid Build Coastguard Worker	  to the STA before sending a new one
1330*03f9172cSAndroid Build Coastguard Worker
1331*03f9172cSAndroid Build Coastguard Worker2004-02-15 - v0.2.0
1332*03f9172cSAndroid Build Coastguard Worker	* added support for Acct-Interim-Interval:
1333*03f9172cSAndroid Build Coastguard Worker	  - draft-ietf-radius-acct-interim-01.txt
1334*03f9172cSAndroid Build Coastguard Worker	  - use Acct-Interim-Interval attribute from Access-Accept if local
1335*03f9172cSAndroid Build Coastguard Worker	    'radius_acct_interim_interval' is not set
1336*03f9172cSAndroid Build Coastguard Worker	  - allow different update intervals for each STA
1337*03f9172cSAndroid Build Coastguard Worker	* fixed event loop to call signal handlers only after returning from
1338*03f9172cSAndroid Build Coastguard Worker	  the real signal handler
1339*03f9172cSAndroid Build Coastguard Worker	* reset sta->timeout_next after successful association to make sure
1340*03f9172cSAndroid Build Coastguard Worker	  that the previously registered inactivity timer will not remove the
1341*03f9172cSAndroid Build Coastguard Worker	  STA immediately (e.g., if STA deauthenticates and re-associates
1342*03f9172cSAndroid Build Coastguard Worker	  before the timer is triggered).
1343*03f9172cSAndroid Build Coastguard Worker	* added new hostapd.conf variable, nas_identifier, that can be used to
1344*03f9172cSAndroid Build Coastguard Worker	  add an optional RADIUS Attribute, NAS-Identifier, into authentication
1345*03f9172cSAndroid Build Coastguard Worker	  and accounting messages
1346*03f9172cSAndroid Build Coastguard Worker	* added support for Accounting-On and Accounting-Off messages
1347*03f9172cSAndroid Build Coastguard Worker	* fixed accounting session handling to send Accounting-Start only once
1348*03f9172cSAndroid Build Coastguard Worker	  per session and not to send Accounting-Stop if the session was not
1349*03f9172cSAndroid Build Coastguard Worker	  initialized properly
1350*03f9172cSAndroid Build Coastguard Worker	* fixed Accounting-Stop statistics in cases where the message was
1351*03f9172cSAndroid Build Coastguard Worker	  previously sent after the kernel entry for the STA (and/or IEEE
1352*03f9172cSAndroid Build Coastguard Worker	  802.1X data) was removed
1353*03f9172cSAndroid Build Coastguard Worker
1354*03f9172cSAndroid Build Coastguard Worker
1355*03f9172cSAndroid Build Coastguard WorkerNote:
1356*03f9172cSAndroid Build Coastguard Worker
1357*03f9172cSAndroid Build Coastguard WorkerOlder changes up to and including v0.1.0 are included in the ChangeLog
1358*03f9172cSAndroid Build Coastguard Workerof the Host AP driver.
1359