xref: /freebsd/contrib/wpa/hostapd/ChangeLog (revision a90b9d0159070121c221b966469c3e36d912bf82)
139beb93cSSam LefflerChangeLog for hostapd
239beb93cSSam Leffler
3*a90b9d01SCy Schubert2024-07-20 - v2.11
4*a90b9d01SCy Schubert	* Wi-Fi Easy Connect
5*a90b9d01SCy Schubert	  - add support for DPP release 3
6*a90b9d01SCy Schubert	  - allow Configurator parameters to be provided during config exchange
7*a90b9d01SCy Schubert	* HE/IEEE 802.11ax/Wi-Fi 6
8*a90b9d01SCy Schubert	  - various fixes
9*a90b9d01SCy Schubert	* EHT/IEEE 802.11be/Wi-Fi 7
10*a90b9d01SCy Schubert	  - add preliminary support
11*a90b9d01SCy Schubert	* SAE: add support for fetching the password from a RADIUS server
12*a90b9d01SCy Schubert	* support OpenSSL 3.0 API changes
13*a90b9d01SCy Schubert	* support background radar detection and CAC with some additional
14*a90b9d01SCy Schubert	  drivers
15*a90b9d01SCy Schubert	* support RADIUS ACL/PSK check during 4-way handshake (wpa_psk_radius=3)
16*a90b9d01SCy Schubert	* EAP-SIM/AKA: support IMSI privacy
17*a90b9d01SCy Schubert	* improve 4-way handshake operations
18*a90b9d01SCy Schubert	  - use Secure=1 in message 3 during PTK rekeying
19*a90b9d01SCy Schubert	* OCV: do not check Frequency Segment 1 Channel Number for 160 MHz cases
20*a90b9d01SCy Schubert	  to avoid interoperability issues
21*a90b9d01SCy Schubert	* support new SAE AKM suites with variable length keys
22*a90b9d01SCy Schubert	* support new AKM for 802.1X/EAP with SHA384
23*a90b9d01SCy Schubert	* extend PASN support for secure ranging
24*a90b9d01SCy Schubert	* FT: Use SHA256 to derive PMKID for AKM 00-0F-AC:3 (FT-EAP)
25*a90b9d01SCy Schubert	  - this is based on additional details being added in the IEEE 802.11
26*a90b9d01SCy Schubert	    standard
27*a90b9d01SCy Schubert	  - the new implementation is not backwards compatible
28*a90b9d01SCy Schubert	* improved ACS to cover additional channel types/bandwidths
29*a90b9d01SCy Schubert	* extended Multiple BSSID support
30*a90b9d01SCy Schubert	* fix beacon protection with FT protocol (incorrect BIGTK was provided)
31*a90b9d01SCy Schubert	* support unsynchronized service discovery (USD)
32*a90b9d01SCy Schubert	* add preliminary support for RADIUS/TLS
33*a90b9d01SCy Schubert	* add support for explicit SSID protection in 4-way handshake
34*a90b9d01SCy Schubert	  (a mitigation for CVE-2023-52424; disabled by default for now, can be
35*a90b9d01SCy Schubert	  enabled with ssid_protection=1)
36*a90b9d01SCy Schubert	* fix SAE H2E rejected groups validation to avoid downgrade attacks
37*a90b9d01SCy Schubert	* use stricter validation for some RADIUS messages
38*a90b9d01SCy Schubert	* a large number of other fixes, cleanup, and extensions
39*a90b9d01SCy Schubert
40ec080394SCy Schubert2022-01-16 - v2.10
41ec080394SCy Schubert	* SAE changes
42ec080394SCy Schubert	  - improved protection against side channel attacks
43ec080394SCy Schubert	    [https://w1.fi/security/2022-1/]
44ec080394SCy Schubert	  - added option send SAE Confirm immediately (sae_config_immediate=1)
45ec080394SCy Schubert	    after SAE Commit
46ec080394SCy Schubert	  - added support for the hash-to-element mechanism (sae_pwe=1 or
47ec080394SCy Schubert	    sae_pwe=2)
48ec080394SCy Schubert	  - fixed PMKSA caching with OKC
49ec080394SCy Schubert	  - added support for SAE-PK
50ec080394SCy Schubert	* EAP-pwd changes
51ec080394SCy Schubert	  - improved protection against side channel attacks
52ec080394SCy Schubert	    [https://w1.fi/security/2022-1/]
53ec080394SCy Schubert	* fixed WPS UPnP SUBSCRIBE handling of invalid operations
54ec080394SCy Schubert	  [https://w1.fi/security/2020-1/]
55ec080394SCy Schubert	* fixed PMF disconnection protection bypass
56ec080394SCy Schubert	  [https://w1.fi/security/2019-7/]
57ec080394SCy Schubert	* added support for using OpenSSL 3.0
58ec080394SCy Schubert	* fixed various issues in experimental support for EAP-TEAP server
59ec080394SCy Schubert	* added configuration (max_auth_rounds, max_auth_rounds_short) to
60ec080394SCy Schubert	  increase the maximum number of EAP message exchanges (mainly to
61ec080394SCy Schubert	  support cases with very large certificates) for the EAP server
62ec080394SCy Schubert	* added support for DPP release 2 (Wi-Fi Device Provisioning Protocol)
63ec080394SCy Schubert	* extended HE (IEEE 802.11ax) support, including 6 GHz support
64ec080394SCy Schubert	* removed obsolete IAPP functionality
65ec080394SCy Schubert	* fixed EAP-FAST server with TLS GCM/CCM ciphers
66ec080394SCy Schubert	* dropped support for libnl 1.1
67ec080394SCy Schubert	* added support for nl80211 control port for EAPOL frame TX/RX
68ec080394SCy Schubert	* fixed OWE key derivation with groups 20 and 21; this breaks backwards
69ec080394SCy Schubert	  compatibility for these groups while the default group 19 remains
70ec080394SCy Schubert	  backwards compatible; owe_ptk_workaround=1 can be used to enabled a
71ec080394SCy Schubert	  a workaround for the group 20/21 backwards compatibility
72ec080394SCy Schubert	* added support for Beacon protection
73ec080394SCy Schubert	* added support for Extended Key ID for pairwise keys
74ec080394SCy Schubert	* removed WEP support from the default build (CONFIG_WEP=y can be used
75ec080394SCy Schubert	  to enable it, if really needed)
76ec080394SCy Schubert	* added a build option to remove TKIP support (CONFIG_NO_TKIP=y)
77ec080394SCy Schubert	* added support for Transition Disable mechanism to allow the AP to
78ec080394SCy Schubert	  automatically disable transition mode to improve security
79ec080394SCy Schubert	* added support for PASN
80ec080394SCy Schubert	* added EAP-TLS server support for TLS 1.3 (disabled by default for now)
81ec080394SCy Schubert	* a large number of other fixes, cleanup, and extensions
82ec080394SCy Schubert
83206b73d0SCy Schubert2019-08-07 - v2.9
84206b73d0SCy Schubert	* SAE changes
85206b73d0SCy Schubert	  - disable use of groups using Brainpool curves
86206b73d0SCy Schubert	  - improved protection against side channel attacks
87206b73d0SCy Schubert	  [https://w1.fi/security/2019-6/]
88206b73d0SCy Schubert	* EAP-pwd changes
89206b73d0SCy Schubert	  - disable use of groups using Brainpool curves
90206b73d0SCy Schubert	  - improved protection against side channel attacks
91206b73d0SCy Schubert	  [https://w1.fi/security/2019-6/]
92206b73d0SCy Schubert	* fixed FT-EAP initial mobility domain association using PMKSA caching
93206b73d0SCy Schubert	* added configuration of airtime policy
94206b73d0SCy Schubert	* fixed FILS to and RSNE into (Re)Association Response frames
95206b73d0SCy Schubert	* fixed DPP bootstrapping URI parser of channel list
96206b73d0SCy Schubert	* added support for regulatory WMM limitation (for ETSI)
97206b73d0SCy Schubert	* added support for MACsec Key Agreement using IEEE 802.1X/PSK
98206b73d0SCy Schubert	* added experimental support for EAP-TEAP server (RFC 7170)
99206b73d0SCy Schubert	* added experimental support for EAP-TLS server with TLS v1.3
100206b73d0SCy Schubert	* added support for two server certificates/keys (RSA/ECC)
101206b73d0SCy Schubert	* added AKMSuiteSelector into "STA <addr>" control interface data to
102206b73d0SCy Schubert	  determine with AKM was used for an association
103206b73d0SCy Schubert	* added eap_sim_id parameter to allow EAP-SIM/AKA server pseudonym and
104206b73d0SCy Schubert	  fast reauthentication use to be disabled
105206b73d0SCy Schubert	* fixed an ECDH operation corner case with OpenSSL
106206b73d0SCy Schubert
1074bc52338SCy Schubert2019-04-21 - v2.8
1084bc52338SCy Schubert	* SAE changes
1094bc52338SCy Schubert	  - added support for SAE Password Identifier
1104bc52338SCy Schubert	  - changed default configuration to enable only group 19
1114bc52338SCy Schubert	    (i.e., disable groups 20, 21, 25, 26 from default configuration) and
1124bc52338SCy Schubert	    disable all unsuitable groups completely based on REVmd changes
1134bc52338SCy Schubert	  - improved anti-clogging token mechanism and SAE authentication
1144bc52338SCy Schubert	    frame processing during heavy CPU load; this mitigates some issues
1154bc52338SCy Schubert	    with potential DoS attacks trying to flood an AP with large number
1164bc52338SCy Schubert	    of SAE messages
1174bc52338SCy Schubert	  - added Finite Cyclic Group field in status code 77 responses
1184bc52338SCy Schubert	  - reject use of unsuitable groups based on new implementation guidance
1194bc52338SCy Schubert	    in REVmd (allow only FFC groups with prime >= 3072 bits and ECC
1204bc52338SCy Schubert	    groups with prime >= 256)
1214bc52338SCy Schubert	  - minimize timing and memory use differences in PWE derivation
1224bc52338SCy Schubert	    [https://w1.fi/security/2019-1/] (CVE-2019-9494)
1234bc52338SCy Schubert	  - fixed confirm message validation in error cases
1244bc52338SCy Schubert	    [https://w1.fi/security/2019-3/] (CVE-2019-9496)
1254bc52338SCy Schubert	* EAP-pwd changes
1264bc52338SCy Schubert	  - minimize timing and memory use differences in PWE derivation
1274bc52338SCy Schubert	    [https://w1.fi/security/2019-2/] (CVE-2019-9495)
1284bc52338SCy Schubert	  - verify peer scalar/element
1294bc52338SCy Schubert	    [https://w1.fi/security/2019-4/] (CVE-2019-9497 and CVE-2019-9498)
1304bc52338SCy Schubert	  - fix message reassembly issue with unexpected fragment
1314bc52338SCy Schubert	    [https://w1.fi/security/2019-5/]
1324bc52338SCy Schubert	  - enforce rand,mask generation rules more strictly
1334bc52338SCy Schubert	  - fix a memory leak in PWE derivation
1344bc52338SCy Schubert	  - disallow ECC groups with a prime under 256 bits (groups 25, 26, and
1354bc52338SCy Schubert	    27)
1364bc52338SCy Schubert	* Hotspot 2.0 changes
1374bc52338SCy Schubert	  - added support for release number 3
1384bc52338SCy Schubert	  - reject release 2 or newer association without PMF
1394bc52338SCy Schubert	* added support for RSN operating channel validation
1404bc52338SCy Schubert	  (CONFIG_OCV=y and configuration parameter ocv=1)
1414bc52338SCy Schubert	* added Multi-AP protocol support
1424bc52338SCy Schubert	* added FTM responder configuration
1434bc52338SCy Schubert	* fixed build with LibreSSL
1444bc52338SCy Schubert	* added FT/RRB workaround for short Ethernet frame padding
1454bc52338SCy Schubert	* fixed KEK2 derivation for FILS+FT
1464bc52338SCy Schubert	* added RSSI-based association rejection from OCE
1474bc52338SCy Schubert	* extended beacon reporting functionality
1484bc52338SCy Schubert	* VLAN changes
1494bc52338SCy Schubert	  - allow local VLAN management with remote RADIUS authentication
1504bc52338SCy Schubert	  - add WPA/WPA2 passphrase/PSK -based VLAN assignment
1514bc52338SCy Schubert	* OpenSSL: allow systemwide policies to be overridden
1524bc52338SCy Schubert	* extended PEAP to derive EMSK to enable use with ERP/FILS
1534bc52338SCy Schubert	* extended WPS to allow SAE configuration to be added automatically
1544bc52338SCy Schubert	  for PSK (wps_cred_add_sae=1)
1554bc52338SCy Schubert	* fixed FT and SA Query Action frame with AP-MLME-in-driver cases
1564bc52338SCy Schubert	* OWE: allow Diffie-Hellman Parameter element to be included with DPP
1574bc52338SCy Schubert	  in preparation for DPP protocol extension
1584bc52338SCy Schubert	* RADIUS server: started to accept ERP keyName-NAI as user identity
1594bc52338SCy Schubert	  automatically without matching EAP database entry
1604bc52338SCy Schubert	* fixed PTK rekeying with FILS and FT
1614bc52338SCy Schubert
16285732ac8SCy Schubert2018-12-02 - v2.7
16385732ac8SCy Schubert	* fixed WPA packet number reuse with replayed messages and key
16485732ac8SCy Schubert	  reinstallation
16585732ac8SCy Schubert	  [http://w1.fi/security/2017-1/] (CVE-2017-13082)
16685732ac8SCy Schubert	* added support for FILS (IEEE 802.11ai) shared key authentication
16785732ac8SCy Schubert	* added support for OWE (Opportunistic Wireless Encryption, RFC 8110;
16885732ac8SCy Schubert	  and transition mode defined by WFA)
16985732ac8SCy Schubert	* added support for DPP (Wi-Fi Device Provisioning Protocol)
17085732ac8SCy Schubert	* FT:
17185732ac8SCy Schubert	  - added local generation of PMK-R0/PMK-R1 for FT-PSK
17285732ac8SCy Schubert	    (ft_psk_generate_local=1)
17385732ac8SCy Schubert	  - replaced inter-AP protocol with a cleaner design that is more
17485732ac8SCy Schubert	    easily extensible; this breaks backward compatibility and requires
17585732ac8SCy Schubert	    all APs in the ESS to be updated at the same time to maintain FT
17685732ac8SCy Schubert	    functionality
17785732ac8SCy Schubert	  - added support for wildcard R0KH/R1KH
17885732ac8SCy Schubert	  - replaced r0_key_lifetime (minutes) parameter with
17985732ac8SCy Schubert	    ft_r0_key_lifetime (seconds)
18085732ac8SCy Schubert	  - fixed wpa_psk_file use for FT-PSK
18185732ac8SCy Schubert	  - fixed FT-SAE PMKID matching
18285732ac8SCy Schubert	  - added expiration to PMK-R0 and PMK-R1 cache
18385732ac8SCy Schubert	  - added IEEE VLAN support (including tagged VLANs)
18485732ac8SCy Schubert	  - added support for SHA384 based AKM
18585732ac8SCy Schubert	* SAE
18685732ac8SCy Schubert	  - fixed some PMKSA caching cases with SAE
18785732ac8SCy Schubert	  - added support for configuring SAE password separately of the
18885732ac8SCy Schubert	    WPA2 PSK/passphrase
18985732ac8SCy Schubert	  - added option to require MFP for SAE associations
19085732ac8SCy Schubert	    (sae_require_pmf=1)
19185732ac8SCy Schubert	  - fixed PTK and EAPOL-Key integrity and key-wrap algorithm selection
19285732ac8SCy Schubert	    for SAE;
19385732ac8SCy Schubert	    note: this is not backwards compatible, i.e., both the AP and
19485732ac8SCy Schubert	    station side implementations will need to be update at the same
19585732ac8SCy Schubert	    time to maintain interoperability
19685732ac8SCy Schubert	  - added support for Password Identifier
19785732ac8SCy Schubert	* hostapd_cli: added support for command history and completion
19885732ac8SCy Schubert	* added support for requesting beacon report
19985732ac8SCy Schubert	* large number of other fixes, cleanup, and extensions
20085732ac8SCy Schubert	* added option to configure EAPOL-Key retry limits
20185732ac8SCy Schubert	  (wpa_group_update_count and wpa_pairwise_update_count)
20285732ac8SCy Schubert	* removed all PeerKey functionality
20385732ac8SCy Schubert	* fixed nl80211 AP mode configuration regression with Linux 4.15 and
20485732ac8SCy Schubert	  newer
20585732ac8SCy Schubert	* added support for using wolfSSL cryptographic library
20685732ac8SCy Schubert	* fixed some 20/40 MHz coexistence cases where the BSS could drop to
20785732ac8SCy Schubert	  20 MHz even when 40 MHz would be allowed
20885732ac8SCy Schubert	* Hotspot 2.0
20985732ac8SCy Schubert	  - added support for setting Venue URL ANQP-element (venue_url)
21085732ac8SCy Schubert	  - added support for advertising Hotspot 2.0 operator icons
21185732ac8SCy Schubert	  - added support for Roaming Consortium Selection element
21285732ac8SCy Schubert	  - added support for Terms and Conditions
21385732ac8SCy Schubert	  - added support for OSEN connection in a shared RSN BSS
21485732ac8SCy Schubert	* added support for using OpenSSL 1.1.1
21585732ac8SCy Schubert	* added EAP-pwd server support for salted passwords
21685732ac8SCy Schubert
217780fb4a2SCy Schubert2016-10-02 - v2.6
218780fb4a2SCy Schubert	* fixed EAP-pwd last fragment validation
219780fb4a2SCy Schubert	  [http://w1.fi/security/2015-7/] (CVE-2015-5314)
220780fb4a2SCy Schubert	* fixed WPS configuration update vulnerability with malformed passphrase
221780fb4a2SCy Schubert	  [http://w1.fi/security/2016-1/] (CVE-2016-4476)
222780fb4a2SCy Schubert	* extended channel switch support for VHT bandwidth changes
223780fb4a2SCy Schubert	* added support for configuring new ANQP-elements with
224780fb4a2SCy Schubert	  anqp_elem=<InfoID>:<hexdump of payload>
225780fb4a2SCy Schubert	* fixed Suite B 192-bit AKM to use proper PMK length
226780fb4a2SCy Schubert	  (note: this makes old releases incompatible with the fixed behavior)
227780fb4a2SCy Schubert	* added no_probe_resp_if_max_sta=1 parameter to disable Probe Response
228780fb4a2SCy Schubert	  frame sending for not-associated STAs if max_num_sta limit has been
229780fb4a2SCy Schubert	  reached
230780fb4a2SCy Schubert	* added option (-S as command line argument) to request all interfaces
231780fb4a2SCy Schubert	  to be started at the same time
232780fb4a2SCy Schubert	* modified rts_threshold and fragm_threshold configuration parameters
233780fb4a2SCy Schubert	  to allow -1 to be used to disable RTS/fragmentation
234780fb4a2SCy Schubert	* EAP-pwd: added support for Brainpool Elliptic Curves
235780fb4a2SCy Schubert	  (with OpenSSL 1.0.2 and newer)
236780fb4a2SCy Schubert	* fixed EAPOL reauthentication after FT protocol run
237780fb4a2SCy Schubert	* fixed FTIE generation for 4-way handshake after FT protocol run
238780fb4a2SCy Schubert	* fixed and improved various FST operations
239780fb4a2SCy Schubert	* TLS server
240780fb4a2SCy Schubert	  - support SHA384 and SHA512 hashes
241780fb4a2SCy Schubert	  - support TLS v1.2 signature algorithm with SHA384 and SHA512
242780fb4a2SCy Schubert	  - support PKCS #5 v2.0 PBES2
243780fb4a2SCy Schubert	  - support PKCS #5 with PKCS #12 style key decryption
244780fb4a2SCy Schubert	  - minimal support for PKCS #12
245780fb4a2SCy Schubert	  - support OCSP stapling (including ocsp_multi)
246780fb4a2SCy Schubert	* added support for OpenSSL 1.1 API changes
247780fb4a2SCy Schubert	  - drop support for OpenSSL 0.9.8
248780fb4a2SCy Schubert	  - drop support for OpenSSL 1.0.0
249780fb4a2SCy Schubert	* EAP-PEAP: support fast-connect crypto binding
250780fb4a2SCy Schubert	* RADIUS
251780fb4a2SCy Schubert	  - fix Called-Station-Id to not escape SSID
252780fb4a2SCy Schubert	  - add Event-Timestamp to all Accounting-Request packets
253780fb4a2SCy Schubert	  - add Acct-Session-Id to Accounting-On/Off
254780fb4a2SCy Schubert	  - add Acct-Multi-Session-Id  ton Access-Request packets
255780fb4a2SCy Schubert	  - add Service-Type (= Frames)
256780fb4a2SCy Schubert	  - allow server to provide PSK instead of passphrase for WPA-PSK
257780fb4a2SCy Schubert	    Tunnel_password case
258780fb4a2SCy Schubert	  - update full message for interim accounting updates
259780fb4a2SCy Schubert	  - add Acct-Delay-Time into Accounting messages
260780fb4a2SCy Schubert	  - add require_message_authenticator configuration option to require
261780fb4a2SCy Schubert	    CoA/Disconnect-Request packets to be authenticated
262780fb4a2SCy Schubert	* started to postpone WNM-Notification frame sending by 100 ms so that
263780fb4a2SCy Schubert	  the STA has some more time to configure the key before this frame is
264780fb4a2SCy Schubert	  received after the 4-way handshake
265780fb4a2SCy Schubert	* VHT: added interoperability workaround for 80+80 and 160 MHz channels
266780fb4a2SCy Schubert	* extended VLAN support (per-STA vif, etc.)
267780fb4a2SCy Schubert	* fixed PMKID derivation with SAE
268780fb4a2SCy Schubert	* nl80211
269780fb4a2SCy Schubert	  - added support for full station state operations
270780fb4a2SCy Schubert	  - fix IEEE 802.1X/WEP EAP reauthentication and rekeying to use
271780fb4a2SCy Schubert	    unencrypted EAPOL frames
272780fb4a2SCy Schubert	* added initial MBO support; number of extensions to WNM BSS Transition
273780fb4a2SCy Schubert	  Management
274780fb4a2SCy Schubert	* added initial functionality for location related operations
275780fb4a2SCy Schubert	* added assocresp_elements parameter to allow vendor specific elements
276780fb4a2SCy Schubert	  to be added into (Re)Association Response frames
277780fb4a2SCy Schubert	* improved Public Action frame addressing
278780fb4a2SCy Schubert	  - use Address 3 = wildcard BSSID in GAS response if a query from an
279780fb4a2SCy Schubert	    unassociated STA used that address
280780fb4a2SCy Schubert	  - fix TX status processing for Address 3 = wildcard BSSID
281780fb4a2SCy Schubert	  - add gas_address3 configuration parameter to control Address 3
282780fb4a2SCy Schubert	    behavior
283780fb4a2SCy Schubert	* added command line parameter -i to override interface parameter in
284780fb4a2SCy Schubert	  hostapd.conf
285780fb4a2SCy Schubert	* added command completion support to hostapd_cli
286780fb4a2SCy Schubert	* added passive client taxonomy determination (CONFIG_TAXONOMY=y
287780fb4a2SCy Schubert	  compile option and "SIGNATURE <addr>" control interface command)
288780fb4a2SCy Schubert	* number of small fixes
289780fb4a2SCy Schubert
290325151a3SRui Paulo2015-09-27 - v2.5
291325151a3SRui Paulo	* fixed WPS UPnP vulnerability with HTTP chunked transfer encoding
292325151a3SRui Paulo	  [http://w1.fi/security/2015-2/] (CVE-2015-4141)
293325151a3SRui Paulo	* fixed WMM Action frame parser
294325151a3SRui Paulo	  [http://w1.fi/security/2015-3/] (CVE-2015-4142)
295325151a3SRui Paulo	* fixed EAP-pwd server missing payload length validation
296325151a3SRui Paulo	  [http://w1.fi/security/2015-4/]
297325151a3SRui Paulo	  (CVE-2015-4143, CVE-2015-4144, CVE-2015-4145)
298325151a3SRui Paulo	* fixed validation of WPS and P2P NFC NDEF record payload length
299325151a3SRui Paulo	  [http://w1.fi/security/2015-5/]
300325151a3SRui Paulo	* nl80211:
301325151a3SRui Paulo	  - fixed vendor command handling to check OUI properly
302325151a3SRui Paulo	* fixed hlr_auc_gw build with OpenSSL
303325151a3SRui Paulo	* hlr_auc_gw: allow Milenage RES length to be reduced
304325151a3SRui Paulo	* disable HT for a station that does not support WMM/QoS
305325151a3SRui Paulo	* added support for hashed password (NtHash) in EAP-pwd server
306325151a3SRui Paulo	* fixed and extended dynamic VLAN cases
307325151a3SRui Paulo	* added EAP-EKE server support for deriving Session-Id
308325151a3SRui Paulo	* set Acct-Session-Id to a random value to make it more likely to be
309325151a3SRui Paulo	  unique even if the device does not have a proper clock
310325151a3SRui Paulo	* added more 2.4 GHz channels for 20/40 MHz HT co-ex scan
311325151a3SRui Paulo	* modified SAE routines to be more robust and PWE generation to be
312325151a3SRui Paulo	  stronger against timing attacks
313325151a3SRui Paulo	* added support for Brainpool Elliptic Curves with SAE
314325151a3SRui Paulo	* increases maximum value accepted for cwmin/cwmax
315325151a3SRui Paulo	* added support for CCMP-256 and GCMP-256 as group ciphers with FT
316325151a3SRui Paulo	* added Fast Session Transfer (FST) module
317325151a3SRui Paulo	* removed optional fields from RSNE when using FT with PMF
318325151a3SRui Paulo	  (workaround for interoperability issues with iOS 8.4)
319325151a3SRui Paulo	* added EAP server support for TLS session resumption
320325151a3SRui Paulo	* fixed key derivation for Suite B 192-bit AKM (this breaks
321325151a3SRui Paulo	  compatibility with the earlier version)
322325151a3SRui Paulo	* added mechanism to track unconnected stations and do minimal band
323325151a3SRui Paulo	  steering
324325151a3SRui Paulo	* number of small fixes
325325151a3SRui Paulo
3265b9c547cSRui Paulo2015-03-15 - v2.4
3275b9c547cSRui Paulo	* allow OpenSSL cipher configuration to be set for internal EAP server
3285b9c547cSRui Paulo	  (openssl_ciphers parameter)
3295b9c547cSRui Paulo	* fixed number of small issues based on hwsim test case failures and
3305b9c547cSRui Paulo	  static analyzer reports
3315b9c547cSRui Paulo	* fixed Accounting-Request to not include duplicated Acct-Session-Id
3325b9c547cSRui Paulo	* add support for Acct-Multi-Session-Id in RADIUS Accounting messages
3335b9c547cSRui Paulo	* add support for PMKSA caching with SAE
3345b9c547cSRui Paulo	* add support for generating BSS Load element (bss_load_update_period)
3355b9c547cSRui Paulo	* fixed channel switch from VHT to HT
3365b9c547cSRui Paulo	* add INTERFACE-ENABLED and INTERFACE-DISABLED ctrl_iface events
3375b9c547cSRui Paulo	* add support for learning STA IPv4/IPv6 addresses and configuring
3385b9c547cSRui Paulo	  ProxyARP support
3395b9c547cSRui Paulo	* dropped support for the madwifi driver interface
3405b9c547cSRui Paulo	* add support for Suite B (128-bit and 192-bit level) key management and
3415b9c547cSRui Paulo	  cipher suites
3425b9c547cSRui Paulo	* fixed a regression with driver=wired
3435b9c547cSRui Paulo	* extend EAPOL-Key msg 1/4 retry workaround for changing SNonce
3445b9c547cSRui Paulo	* add BSS_TM_REQ ctrl_iface command to send BSS Transition Management
3455b9c547cSRui Paulo	  Request frames and BSS-TM-RESP event to indicate response to such
3465b9c547cSRui Paulo	  frame
3475b9c547cSRui Paulo	* add support for EAP Re-Authentication Protocol (ERP)
3485b9c547cSRui Paulo	* fixed AP IE in EAPOL-Key 3/4 when both WPA and FT was enabled
3495b9c547cSRui Paulo	* fixed a regression in HT 20/40 coex Action frame parsing
3505b9c547cSRui Paulo	* set stdout to be line-buffered
3515b9c547cSRui Paulo	* add support for vendor specific VHT extension to enable 256 QAM rates
3525b9c547cSRui Paulo	  (VHT-MCS 8 and 9) on 2.4 GHz band
3535b9c547cSRui Paulo	* RADIUS DAS:
3545b9c547cSRui Paulo	  - extend Disconnect-Request processing to allow matching of multiple
3555b9c547cSRui Paulo	    sessions
3565b9c547cSRui Paulo	  - support Acct-Multi-Session-Id as an identifier
3575b9c547cSRui Paulo	  - allow PMKSA cache entry to be removed without association
3585b9c547cSRui Paulo	* expire hostapd STA entry if kernel does not have a matching entry
3595b9c547cSRui Paulo	* allow chanlist to be used to specify a subset of channels for ACS
3605b9c547cSRui Paulo	* improve ACS behavior on 2.4 GHz band and allow channel bias to be
3615b9c547cSRui Paulo	  configured with acs_chan_bias parameter
3625b9c547cSRui Paulo	* do not reply to a Probe Request frame that includes DSS Parameter Set
3635b9c547cSRui Paulo	  element in which the channel does not match the current operating
3645b9c547cSRui Paulo	  channel
3655b9c547cSRui Paulo	* add UPDATE_BEACON ctrl_iface command; this can be used to force Beacon
3665b9c547cSRui Paulo	  frame contents to be updated and to start beaconing on an interface
3675b9c547cSRui Paulo	  that used start_disabled=1
3685b9c547cSRui Paulo	* fixed some RADIUS server failover cases
3695b9c547cSRui Paulo
3705b9c547cSRui Paulo2014-10-09 - v2.3
3715b9c547cSRui Paulo	* fixed number of minor issues identified in static analyzer warnings
3725b9c547cSRui Paulo	* fixed DFS and channel switch operation for multi-BSS cases
3735b9c547cSRui Paulo	* started to use constant time comparison for various password and hash
3745b9c547cSRui Paulo	  values to reduce possibility of any externally measurable timing
3755b9c547cSRui Paulo	  differences
3765b9c547cSRui Paulo	* extended explicit clearing of freed memory and expired keys to avoid
3775b9c547cSRui Paulo	  keeping private data in memory longer than necessary
3785b9c547cSRui Paulo	* added support for number of new RADIUS attributes from RFC 7268
3795b9c547cSRui Paulo	  (Mobility-Domain-Id, WLAN-HESSID, WLAN-Pairwise-Cipher,
3805b9c547cSRui Paulo	  WLAN-Group-Cipher, WLAN-AKM-Suite, WLAN-Group-Mgmt-Pairwise-Cipher)
3815b9c547cSRui Paulo	* fixed GET_CONFIG wpa_pairwise_cipher value
3825b9c547cSRui Paulo	* added code to clear bridge FDB entry on station disconnection
3835b9c547cSRui Paulo	* fixed PMKSA cache timeout from Session-Timeout for WPA/WPA2 cases
3845b9c547cSRui Paulo	* fixed OKC PMKSA cache entry fetch to avoid a possible infinite loop
3855b9c547cSRui Paulo	  in case the first entry does not match
3865b9c547cSRui Paulo	* fixed hostapd_cli action script execution to use more robust mechanism
3875b9c547cSRui Paulo	  (CVE-2014-3686)
3885b9c547cSRui Paulo
3895b9c547cSRui Paulo2014-06-04 - v2.2
3905b9c547cSRui Paulo	* fixed SAE confirm-before-commit validation to avoid a potential
3915b9c547cSRui Paulo	  segmentation fault in an unexpected message sequence that could be
3925b9c547cSRui Paulo	  triggered remotely
3935b9c547cSRui Paulo	* extended VHT support
3945b9c547cSRui Paulo	  - Operating Mode Notification
3955b9c547cSRui Paulo	  - Power Constraint element (local_pwr_constraint)
3965b9c547cSRui Paulo	  - Spectrum management capability (spectrum_mgmt_required=1)
3975b9c547cSRui Paulo	  - fix VHT80 segment picking in ACS
3985b9c547cSRui Paulo	  - fix vht_capab 'Maximum A-MPDU Length Exponent' handling
3995b9c547cSRui Paulo	  - fix VHT20
4005b9c547cSRui Paulo	* fixed HT40 co-ex scan for some pri/sec channel switches
4015b9c547cSRui Paulo	* extended HT40 co-ex support to allow dynamic channel width changes
4025b9c547cSRui Paulo	  during the lifetime of the BSS
4035b9c547cSRui Paulo	* fixed HT40 co-ex support to check for overlapping 20 MHz BSS
4045b9c547cSRui Paulo	* fixed MSCHAP UTF-8 to UCS-2 conversion for three-byte encoding;
4055b9c547cSRui Paulo	  this fixes password with include UTF-8 characters that use
4065b9c547cSRui Paulo	  three-byte encoding EAP methods that use NtPasswordHash
4075b9c547cSRui Paulo	* reverted TLS certificate validation step change in v2.1 that rejected
4085b9c547cSRui Paulo	  any AAA server certificate with id-kp-clientAuth even if
4095b9c547cSRui Paulo	  id-kp-serverAuth EKU was included
4105b9c547cSRui Paulo	* fixed STA validation step for WPS ER commands to prevent a potential
4115b9c547cSRui Paulo	  crash if an ER sends an unexpected PutWLANResponse to a station that
4125b9c547cSRui Paulo	  is disassociated, but not fully removed
4135b9c547cSRui Paulo	* enforce full EAP authentication after RADIUS Disconnect-Request by
4145b9c547cSRui Paulo	  removing the PMKSA cache entry
4155b9c547cSRui Paulo	* added support for NAS-IP-Address, NAS-identifier, and NAS-IPv6-Address
4165b9c547cSRui Paulo	  in RADIUS Disconnect-Request
4175b9c547cSRui Paulo	* added mechanism for removing addresses for MAC ACLs by prefixing an
4185b9c547cSRui Paulo	  entry with "-"
4195b9c547cSRui Paulo	* Interworking/Hotspot 2.0 enhancements
4205b9c547cSRui Paulo	  - support Hotspot 2.0 Release 2
4215b9c547cSRui Paulo	    * OSEN network for online signup connection
4225b9c547cSRui Paulo	    * subscription remediation (based on RADIUS server request or
4235b9c547cSRui Paulo	      control interface HS20_WNM_NOTIF for testing purposes)
4245b9c547cSRui Paulo	    * Hotspot 2.0 release number indication in WFA RADIUS VSA
4255b9c547cSRui Paulo	    * deauthentication request (based on RADIUS server request or
4265b9c547cSRui Paulo	      control interface WNM_DEAUTH_REQ for testing purposes)
4275b9c547cSRui Paulo	    * Session Info URL RADIUS AVP to trigger ESS Disassociation Imminent
4285b9c547cSRui Paulo	    * hs20_icon config parameter to configure icon files for OSU
4295b9c547cSRui Paulo	    * osu_* config parameters for OSU Providers list
4305b9c547cSRui Paulo	  - do not use Interworking filtering rules on Probe Request if
4315b9c547cSRui Paulo	    Interworking is disabled to avoid interop issues
4325b9c547cSRui Paulo	* added/fixed nl80211 functionality
4335b9c547cSRui Paulo	  - AP interface teardown optimization
4345b9c547cSRui Paulo	  - support vendor specific driver command
4355b9c547cSRui Paulo	    (VENDOR <vendor id> <sub command id> [<hex formatted data>])
4365b9c547cSRui Paulo	* fixed PMF protection of Deauthentication frame when this is triggered
4375b9c547cSRui Paulo	  by session timeout
4385b9c547cSRui Paulo	* internal TLS implementation enhancements/fixes
4395b9c547cSRui Paulo	  - add SHA256-based cipher suites
4405b9c547cSRui Paulo	  - add DHE-RSA cipher suites
4415b9c547cSRui Paulo	  - fix X.509 validation of PKCS#1 signature to check for extra data
4425b9c547cSRui Paulo	* RADIUS server functionality
4435b9c547cSRui Paulo	  - add minimal RADIUS accounting server support (hostapd-as-server);
4445b9c547cSRui Paulo	    this is mainly to enable testing coverage with hwsim scripts
445c1d255d3SCy Schubert	  - allow authentication log to be written into SQLite database
4465b9c547cSRui Paulo	  - added option for TLS protocol testing of an EAP peer by simulating
4475b9c547cSRui Paulo	    various misbehaviors/known attacks
4485b9c547cSRui Paulo	  - MAC ACL support for testing purposes
4495b9c547cSRui Paulo	* fixed PTK derivation for CCMP-256 and GCMP-256
4505b9c547cSRui Paulo	* extended WPS per-station PSK to support ER case
4515b9c547cSRui Paulo	* added option to configure the management group cipher
4525b9c547cSRui Paulo	  (group_mgmt_cipher=AES-128-CMAC (default), BIP-GMAC-128, BIP-GMAC-256,
4535b9c547cSRui Paulo	  BIP-CMAC-256)
4545b9c547cSRui Paulo	* fixed AP mode default TXOP Limit values for AC_VI and AC_VO (these
4555b9c547cSRui Paulo	  were rounded incorrectly)
4565b9c547cSRui Paulo	* added support for postponing FT response in case PMK-R1 needs to be
4575b9c547cSRui Paulo	  pulled from R0KH
4585b9c547cSRui Paulo	* added option to advertise 40 MHz intolerant HT capability with
4595b9c547cSRui Paulo	  ht_capab=[40-INTOLERANT]
4605b9c547cSRui Paulo	* remove WPS 1.0 only support, i.e., WSC 2.0 support is now enabled
4615b9c547cSRui Paulo	  whenever CONFIG_WPS=y is set
4625b9c547cSRui Paulo	* EAP-pwd fixes
4635b9c547cSRui Paulo	  - fix possible segmentation fault on EAP method deinit if an invalid
4645b9c547cSRui Paulo	    group is negotiated
4655b9c547cSRui Paulo	* fixed RADIUS client retransmit/failover behavior
4665b9c547cSRui Paulo	  - there was a potential ctash due to freed memory being accessed
4675b9c547cSRui Paulo	  - failover to a backup server mechanism did not work properly
4685b9c547cSRui Paulo	* fixed a possible crash on double DISABLE command when multiple BSSes
4695b9c547cSRui Paulo	  are enabled
4705b9c547cSRui Paulo	* fixed a memory leak in SAE random number generation
4715b9c547cSRui Paulo	* fixed GTK rekeying when the station uses FT protocol
4725b9c547cSRui Paulo	* fixed off-by-one bounds checking in printf_encode()
4735b9c547cSRui Paulo	  - this could result in deinial of service in some EAP server cases
4745b9c547cSRui Paulo	* various bug fixes
4755b9c547cSRui Paulo
4765b9c547cSRui Paulo2014-02-04 - v2.1
4775b9c547cSRui Paulo	* added support for simultaneous authentication of equals (SAE) for
4785b9c547cSRui Paulo	  stronger password-based authentication with WPA2-Personal
4795b9c547cSRui Paulo	* added nl80211 functionality
4805b9c547cSRui Paulo	  - VHT configuration for nl80211
4815b9c547cSRui Paulo	  - support split wiphy dump
4825b9c547cSRui Paulo	  - driver-based MAC ACL
4835b9c547cSRui Paulo	  - QoS Mapping configuration
4845b9c547cSRui Paulo	* added fully automated regression testing with mac80211_hwsim
4855b9c547cSRui Paulo	* allow ctrl_iface group to be specified on command line (-G<group>)
4865b9c547cSRui Paulo	* allow single hostapd process to control independent WPS interfaces
4875b9c547cSRui Paulo	  (wps_independent=1) instead of synchronized operations through all
4885b9c547cSRui Paulo	  configured interfaces within a process
4895b9c547cSRui Paulo	* avoid processing received management frames multiple times when using
4905b9c547cSRui Paulo	  nl80211 with multiple BSSes
4915b9c547cSRui Paulo	* added support for DFS (processing radar detection events, CAC, channel
4925b9c547cSRui Paulo	  re-selection)
4935b9c547cSRui Paulo	* added EAP-EKE server
4945b9c547cSRui Paulo	* added automatic channel selection (ACS)
4955b9c547cSRui Paulo	* added option for using per-BSS (vif) configuration files with
4965b9c547cSRui Paulo	  -b<phyname>:<config file name>
4975b9c547cSRui Paulo	* extended global control interface ADD/REMOVE commands to allow BSSes
4985b9c547cSRui Paulo	  of a radio to be removed individually without having to add/remove all
4995b9c547cSRui Paulo	  other BSSes of the radio at the same time
5005b9c547cSRui Paulo	* added support for sending debug info to Linux tracing (-T on command
5015b9c547cSRui Paulo	  line)
5025b9c547cSRui Paulo	* replace dump_file functionality with same information being available
5035b9c547cSRui Paulo	  through the hostapd control interface
5045b9c547cSRui Paulo	* added support for using Protected Dual of Public Action frames for
5055b9c547cSRui Paulo	  GAS/ANQP exchanges when PMF is enabled
5065b9c547cSRui Paulo	* added support for WPS+NFC updates
5075b9c547cSRui Paulo	  - improved protocol
5085b9c547cSRui Paulo	  - option to fetch and report alternative carrier records for external
5095b9c547cSRui Paulo	    NFC operations
5105b9c547cSRui Paulo	* various bug fixes
5115b9c547cSRui Paulo
512f05cddf9SRui Paulo2013-01-12 - v2.0
513f05cddf9SRui Paulo	* added AP-STA-DISCONNECTED ctrl_iface event
514f05cddf9SRui Paulo	* improved debug logging (human readable event names, interface name
515f05cddf9SRui Paulo	  included in more entries)
516f05cddf9SRui Paulo	* added number of small changes to make it easier for static analyzers
517f05cddf9SRui Paulo	  to understand the implementation
518f05cddf9SRui Paulo	* added a workaround for Windows 7 Michael MIC failure reporting and
519f05cddf9SRui Paulo	  use of the Secure bit in EAPOL-Key msg 3/4
520f05cddf9SRui Paulo	* fixed number of small bugs (see git logs for more details)
521f05cddf9SRui Paulo	* changed OpenSSL to read full certificate chain from server_cert file
522f05cddf9SRui Paulo	* nl80211: number of updates to use new cfg80211/nl80211 functionality
523f05cddf9SRui Paulo	  - replace monitor interface with nl80211 commands
524f05cddf9SRui Paulo	  - additional information for driver-based AP SME
525f05cddf9SRui Paulo	* EAP-pwd:
526f05cddf9SRui Paulo	  - fix KDF for group 21 and zero-padding
527f05cddf9SRui Paulo	  - added support for fragmentation
528f05cddf9SRui Paulo	  - increased maximum number of hunting-and-pecking iterations
529f05cddf9SRui Paulo	* avoid excessive Probe Response retries for broadcast Probe Request
530f05cddf9SRui Paulo	  frames (only with drivers using hostapd SME/MLME)
531f05cddf9SRui Paulo	* added preliminary support for using TLS v1.2 (CONFIG_TLSV12=y)
532f05cddf9SRui Paulo	* fixed WPS operation stopping on dual concurrent AP
533f05cddf9SRui Paulo	* added wps_rf_bands configuration parameter for overriding RF Bands
534f05cddf9SRui Paulo	  value for WPS
535f05cddf9SRui Paulo	* added support for getting per-device PSK from RADIUS Tunnel-Password
536f05cddf9SRui Paulo	* added support for libnl 3.2 and newer
537f05cddf9SRui Paulo	* increased initial group key handshake retransmit timeout to 500 ms
538f05cddf9SRui Paulo	* added a workaround for 4-way handshake to update SNonce even after
539f05cddf9SRui Paulo	  having sent EAPOL-Key 3/4 to avoid issues with some supplicant
540f05cddf9SRui Paulo	  implementations that can change SNonce for each EAP-Key 2/4
541f05cddf9SRui Paulo	* added a workaround for EAPOL-Key 4/4 using incorrect type value in
542f05cddf9SRui Paulo	  WPA2 mode (some deployed stations use WPA type in that message)
543f05cddf9SRui Paulo	* added a WPS workaround for mixed mode AP Settings with Windows 7
544f05cddf9SRui Paulo	* changed WPS AP PIN disabling mechanism to disable the PIN after 10
545f05cddf9SRui Paulo	  consecutive failures in addition to using the exponential lockout
546f05cddf9SRui Paulo	  period
547f05cddf9SRui Paulo	* added support for WFA Hotspot 2.0
548f05cddf9SRui Paulo	  - GAS/ANQP advertisement of network information
549f05cddf9SRui Paulo	  - disable_dgaf parameter to disable downstream group-addressed
550f05cddf9SRui Paulo	    forwarding
551f05cddf9SRui Paulo	* simplified licensing terms by selecting the BSD license as the only
552f05cddf9SRui Paulo	  alternative
553f05cddf9SRui Paulo	* EAP-SIM: fixed re-authentication not to update pseudonym
554f05cddf9SRui Paulo	* EAP-SIM: use Notification round before EAP-Failure
555f05cddf9SRui Paulo	* EAP-AKA: added support for AT_COUNTER_TOO_SMALL
556f05cddf9SRui Paulo	* EAP-AKA: skip AKA/Identity exchange if EAP identity is recognized
557f05cddf9SRui Paulo	* EAP-AKA': fixed identity for MK derivation
558f05cddf9SRui Paulo	* EAP-AKA': updated to RFC 5448 (username prefixes changed); note: this
559f05cddf9SRui Paulo	  breaks interoperability with older versions
560f05cddf9SRui Paulo	* EAP-SIM/AKA: allow pseudonym to be used after unknown reauth id
561f05cddf9SRui Paulo	* changed ANonce to be a random number instead of Counter-based
562f05cddf9SRui Paulo	* added support for canceling WPS operations with hostapd_cli wps_cancel
563f05cddf9SRui Paulo	* fixed EAP/WPS to PSK transition on reassociation in cases where
564f05cddf9SRui Paulo	  deauthentication is missed
565f05cddf9SRui Paulo	* hlr_auc_gw enhancements:
566f05cddf9SRui Paulo	  - a new command line parameter -u can be used to enable updating of
567f05cddf9SRui Paulo	    SQN in Milenage file
568f05cddf9SRui Paulo	  - use 5 bit IND for SQN updates
569f05cddf9SRui Paulo	  - SQLite database can now be used to store Milenage information
570f05cddf9SRui Paulo	* EAP-SIM/AKA DB: added optional use of SQLite database for pseudonyms
571f05cddf9SRui Paulo	  and reauth data
572f05cddf9SRui Paulo	* added support for Chargeable-User-Identity (RFC 4372)
573f05cddf9SRui Paulo	* added radius_auth_req_attr and radius_acct_req_attr configuration
574f05cddf9SRui Paulo	  parameters to allow adding/overriding of RADIUS attributes in
575f05cddf9SRui Paulo	  Access-Request and Accounting-Request packets
576f05cddf9SRui Paulo	* added support for RADIUS dynamic authorization server (RFC 5176)
577f05cddf9SRui Paulo	* added initial support for WNM operations
578f05cddf9SRui Paulo	  - BSS max idle period
579f05cddf9SRui Paulo	  - WNM-Sleep Mode
580f05cddf9SRui Paulo	* added new WPS NFC ctrl_iface mechanism
581f05cddf9SRui Paulo	  - removed obsoleted WPS_OOB command (including support for deprecated
582f05cddf9SRui Paulo	    UFD config_method)
583f05cddf9SRui Paulo	* added FT support for drivers that implement MLME internally
584f05cddf9SRui Paulo	* added SA Query support for drivers that implement MLME internally
585f05cddf9SRui Paulo	* removed default ACM=1 from AC_VO and AC_VI
586f05cddf9SRui Paulo	* changed VENDOR-TEST EAP method to use proper private enterprise number
587f05cddf9SRui Paulo	  (this will not interoperate with older versions)
588f05cddf9SRui Paulo	* added hostapd.conf parameter vendor_elements to allow arbitrary vendor
589f05cddf9SRui Paulo	  specific elements to be added to the Beacon and Probe Response frames
590f05cddf9SRui Paulo	* added support for configuring GCMP cipher for IEEE 802.11ad
591f05cddf9SRui Paulo	* added support for 256-bit AES with internal TLS implementation
592f05cddf9SRui Paulo	* changed EAPOL transmission to use AC_VO if WMM is active
593f05cddf9SRui Paulo	* fixed EAP-TLS/PEAP/TTLS/FAST server to validate TLS Message Length
594f05cddf9SRui Paulo	  correctly; invalid messages could have caused the hostapd process to
595f05cddf9SRui Paulo	  terminate before this fix [CVE-2012-4445]
596f05cddf9SRui Paulo	* limit number of active wildcard PINs for WPS Registrar to one to avoid
597f05cddf9SRui Paulo	  confusing behavior with multiple wildcard PINs
598f05cddf9SRui Paulo	* added a workaround for WPS PBC session overlap detection to avoid
599f05cddf9SRui Paulo	  interop issues with deployed station implementations that do not
600f05cddf9SRui Paulo	  remove active PBC indication from Probe Request frames properly
601f05cddf9SRui Paulo	* added support for using SQLite for the eap_user database
602f05cddf9SRui Paulo	* added Acct-Session-Id attribute into Access-Request messages
603f05cddf9SRui Paulo	* fixed EAPOL frame transmission to non-QoS STAs with nl80211
604f05cddf9SRui Paulo	  (do not send QoS frames if the STA did not negotiate use of QoS for
605f05cddf9SRui Paulo	  this association)
606f05cddf9SRui Paulo
607f05cddf9SRui Paulo2012-05-10 - v1.0
608f05cddf9SRui Paulo	* Add channel selection support in hostapd. See hostapd.conf.
609f05cddf9SRui Paulo	* Add support for IEEE 802.11v Time Advertisement mechanism with UTC
610f05cddf9SRui Paulo	  TSF offset. See hostapd.conf for config info.
611f05cddf9SRui Paulo	* Delay STA entry removal until Deauth/Disassoc TX status in AP mode.
612f05cddf9SRui Paulo	  This allows the driver to use PS buffering of Deauthentication and
613f05cddf9SRui Paulo	  Disassociation frames when the STA is in power save sleep. Only
614f05cddf9SRui Paulo	  available with drivers that provide TX status events for Deauth/
615f05cddf9SRui Paulo	  Disassoc frames (nl80211).
616f05cddf9SRui Paulo	* Allow PMKSA caching to be disabled on the Authenticator. See
617f05cddf9SRui Paulo	  hostap.conf config parameter disable_pmksa_caching.
618f05cddf9SRui Paulo	* atheros: Add support for IEEE 802.11w configuration.
619f05cddf9SRui Paulo	* bsd: Add support for setting HT values in IFM_MMASK.
620f05cddf9SRui Paulo	* Allow client isolation to be configured with ap_isolate. Client
621f05cddf9SRui Paulo	  isolation can be used to prevent low-level bridging of frames
622f05cddf9SRui Paulo	  between associated stations in the BSS. By default, this bridging
623f05cddf9SRui Paulo	  is allowed.
624f05cddf9SRui Paulo	* Allow coexistance of HT BSSes with WEP/TKIP BSSes.
625f05cddf9SRui Paulo	* Add require_ht config parameter, which can be used to configure
626f05cddf9SRui Paulo	  hostapd to reject association with any station that does not support
627f05cddf9SRui Paulo	  HT PHY.
628f05cddf9SRui Paulo	* Add support for writing debug log to a file using "-f" option. Also
629f05cddf9SRui Paulo	  add relog CLI command to re-open the log file.
630f05cddf9SRui Paulo	* Add bridge handling for WDS STA interfaces. By default they are
631f05cddf9SRui Paulo	  added to the configured bridge of the AP interface (if present),
632f05cddf9SRui Paulo	  but the user can also specify a separate bridge using cli command
633f05cddf9SRui Paulo	  wds_bridge.
634f05cddf9SRui Paulo	* hostapd_cli:
635f05cddf9SRui Paulo	  - Add wds_bridge command for specifying bridge for WDS STA
636f05cddf9SRui Paulo	    interfaces.
637f05cddf9SRui Paulo	  - Add relog command for reopening log file.
638f05cddf9SRui Paulo	  - Send AP-STA-DISCONNECTED event when an AP disconnects a station
639f05cddf9SRui Paulo	    due to inactivity.
640f05cddf9SRui Paulo	  - Add wps_config ctrl_interface command for configuring AP. This
641f05cddf9SRui Paulo	    command can be used to configure the AP using the internal WPS
642f05cddf9SRui Paulo	    registrar. It works in the same way as new AP settings received
643f05cddf9SRui Paulo	    from an ER.
644f05cddf9SRui Paulo	  - Many WPS/WPS ER commands - see WPS/WPS ER sections for details.
645f05cddf9SRui Paulo	  - Add command get version, that returns hostapd version string.
646f05cddf9SRui Paulo	* WNM: Add BSS Transition Management Request for ESS Disassoc Imminent.
647f05cddf9SRui Paulo	  Use hostapd_cli ess_disassoc (STA addr) (URL) to send the
648f05cddf9SRui Paulo	  notification to the STA.
649f05cddf9SRui Paulo	* Allow AP mode to disconnect STAs based on low ACK condition (when
650f05cddf9SRui Paulo	  the data connection is not working properly, e.g., due to the STA
651f05cddf9SRui Paulo	  going outside the range of the AP). Disabled by default, enable by
652f05cddf9SRui Paulo	  config option disassoc_low_ack.
653f05cddf9SRui Paulo	* Add WPA_IGNORE_CONFIG_ERRORS build option to continue in case of bad
654f05cddf9SRui Paulo	  config file.
655f05cddf9SRui Paulo	* WPS:
656f05cddf9SRui Paulo	  - Send AP Settings as a wrapped Credential attribute to ctrl_iface
657f05cddf9SRui Paulo	    in WPS-NEW-AP-SETTINGS.
658f05cddf9SRui Paulo	  - Dispatch more WPS events through hostapd ctrl_iface.
659f05cddf9SRui Paulo	  - Add mechanism for indicating non-standard WPS errors.
660f05cddf9SRui Paulo	  - Change concurrent radio AP to use only one WPS UPnP instance.
661f05cddf9SRui Paulo	  - Add wps_check_pin command for processing PIN from user input.
662f05cddf9SRui Paulo	    UIs can use this command to process a PIN entered by a user and to
663f05cddf9SRui Paulo	    validate the checksum digit (if present).
664f05cddf9SRui Paulo	  - Add hostap_cli get_config command to display current AP config.
665f05cddf9SRui Paulo	  - Add new hostapd_cli command, wps_ap_pin, to manage AP PIN at
666f05cddf9SRui Paulo	    runtime and support dynamic AP PIN management.
667f05cddf9SRui Paulo	  - Disable AP PIN after 10 consecutive failures. Slow down attacks
668f05cddf9SRui Paulo	    on failures up to 10.
669f05cddf9SRui Paulo	  - Allow AP to start in Enrollee mode without AP PIN for probing,
670f05cddf9SRui Paulo	    to be compatible with Windows 7.
671f05cddf9SRui Paulo	  - Add Config Error into WPS-FAIL events to provide more info
672f05cddf9SRui Paulo	    to the user on how to resolve the issue.
673f05cddf9SRui Paulo	  - When controlling multiple interfaces:
674f05cddf9SRui Paulo	     - apply WPS commands to all interfaces configured to use WPS
675f05cddf9SRui Paulo	     - apply WPS config changes to all interfaces that use WPS
676f05cddf9SRui Paulo	     - when an attack is detected on any interface, disable AP PIN on
677f05cddf9SRui Paulo	       all interfaces
678f05cddf9SRui Paulo	* WPS ER:
679f05cddf9SRui Paulo	  - Show SetSelectedRegistrar events as ctrl_iface events.
680f05cddf9SRui Paulo	  - Add special AP Setup Locked mode to allow read only ER.
681f05cddf9SRui Paulo	    ap_setup_locked=2 can now be used to enable a special mode where
682f05cddf9SRui Paulo	    WPS ER can learn the current AP settings, but cannot change them.
683f05cddf9SRui Paulo	* WPS 2.0: Add support for WPS 2.0 (CONFIG_WPS2)
684f05cddf9SRui Paulo	  - Add build option CONFIG_WPS_EXTENSIBILITY_TESTING to enable tool
685f05cddf9SRui Paulo	    for testing protocol extensibility.
686f05cddf9SRui Paulo	  - Add build option CONFIG_WPS_STRICT to allow disabling of WPS
687f05cddf9SRui Paulo	    workarounds.
688f05cddf9SRui Paulo	  - Add support for AuthorizedMACs attribute.
689f05cddf9SRui Paulo	* TDLS:
690f05cddf9SRui Paulo	  - Allow TDLS use or TDLS channel switching in the BSS to be
691f05cddf9SRui Paulo	    prohibited in the BSS, using config params tdls_prohibit and
692f05cddf9SRui Paulo	    tdls_prohibit_chan_switch.
693f05cddf9SRui Paulo	* EAP server: Add support for configuring fragment size (see
694f05cddf9SRui Paulo	  fragment_size in hostapd.conf).
695f05cddf9SRui Paulo	* wlantest: Add a tool wlantest for IEEE802.11 protocol testing.
696f05cddf9SRui Paulo	  wlantest can be used to capture frames from a monitor interface
697f05cddf9SRui Paulo	  for realtime capturing or from pcap files for offline analysis.
698f05cddf9SRui Paulo	* Interworking: Support added for 802.11u. Enable in .config with
699f05cddf9SRui Paulo	  CONFIG_INTERWORKING. See hostapd.conf for config parameters for
700f05cddf9SRui Paulo	  interworking.
701f05cddf9SRui Paulo	* Android: Add build and runtime support for Android hostapd.
702f05cddf9SRui Paulo	* Add a new debug message level for excessive information. Use
703f05cddf9SRui Paulo	  -ddd to enable.
704f05cddf9SRui Paulo	* TLS: Add support for tls_disable_time_checks=1 in client mode.
705f05cddf9SRui Paulo	* Internal TLS:
706f05cddf9SRui Paulo	  - Add support for TLS v1.1 (RFC 4346). Enable with build parameter
707f05cddf9SRui Paulo	    CONFIG_TLSV11.
708f05cddf9SRui Paulo	  - Add domainComponent parser for X.509 names
709f05cddf9SRui Paulo	* Reorder some IEs to get closer to IEEE 802.11 standard. Move
710f05cddf9SRui Paulo	  WMM into end of Beacon, Probe Resp and (Re)Assoc Resp frames.
711f05cddf9SRui Paulo	  Move HT IEs to be later in (Re)Assoc Resp.
712f05cddf9SRui Paulo	* Many bugfixes.
713e28a4053SRui Paulo
714e28a4053SRui Paulo2010-04-18 - v0.7.2
715e28a4053SRui Paulo	* fix WPS internal Registrar use when an external Registrar is also
716e28a4053SRui Paulo	  active
717e28a4053SRui Paulo	* bsd: Cleaned up driver wrapper and added various low-level
718e28a4053SRui Paulo	  configuration options
719e28a4053SRui Paulo	* TNC: fixed issues with fragmentation
720e28a4053SRui Paulo	* EAP-TNC: add Flags field into fragment acknowledgement (needed to
721e28a4053SRui Paulo	  interoperate with other implementations; may potentially breaks
722e28a4053SRui Paulo	  compatibility with older wpa_supplicant/hostapd versions)
723e28a4053SRui Paulo	* cleaned up driver wrapper API for multi-BSS operations
724e28a4053SRui Paulo	* nl80211: fix multi-BSS and VLAN operations
725e28a4053SRui Paulo	* fix number of issues with IEEE 802.11r/FT; this version is not
726e28a4053SRui Paulo	  backwards compatible with old versions
727e28a4053SRui Paulo	* add SA Query Request processing in AP mode (IEEE 802.11w)
728e28a4053SRui Paulo	* fix IGTK PN in group rekeying (IEEE 802.11w)
729e28a4053SRui Paulo	* fix WPS PBC session overlap detection to use correct attribute
730e28a4053SRui Paulo	* hostapd_notif_Assoc() can now be called with all IEs to simplify
731e28a4053SRui Paulo	  driver wrappers
732e28a4053SRui Paulo	* work around interoperability issue with some WPS External Registrar
733e28a4053SRui Paulo	  implementations
734e28a4053SRui Paulo	* nl80211: fix WPS IE update
735e28a4053SRui Paulo	* hostapd_cli: add support for action script operations (run a script
736e28a4053SRui Paulo	  on hostapd events)
737e28a4053SRui Paulo	* fix DH padding with internal crypto code (mainly, for WPS)
738e28a4053SRui Paulo	* fix WPS association with both WPS IE and WPA/RSN IE present with
739e28a4053SRui Paulo	  driver wrappers that use hostapd MLME (e.g., nl80211)
740e28a4053SRui Paulo
741e28a4053SRui Paulo2010-01-16 - v0.7.1
742e28a4053SRui Paulo	* cleaned up driver wrapper API (struct wpa_driver_ops); the new API
743e28a4053SRui Paulo	  is not fully backwards compatible, so out-of-tree driver wrappers
744e28a4053SRui Paulo	  will need modifications
745e28a4053SRui Paulo	* cleaned up various module interfaces
746e28a4053SRui Paulo	* merge hostapd and wpa_supplicant developers' documentation into a
747e28a4053SRui Paulo	  single document
748e28a4053SRui Paulo	* fixed HT Capabilities IE with nl80211 drivers
749e28a4053SRui Paulo	* moved generic AP functionality code into src/ap
750e28a4053SRui Paulo	* WPS: handle Selected Registrar as union of info from all Registrars
751c1d255d3SCy Schubert	* remove obsolete Prism54.org driver wrapper
752e28a4053SRui Paulo	* added internal debugging mechanism with backtrace support and memory
753e28a4053SRui Paulo	  allocation/freeing validation, etc. tests (CONFIG_WPA_TRACE=y)
754e28a4053SRui Paulo	* EAP-FAST server: piggyback Phase 2 start with the end of Phase 1
755e28a4053SRui Paulo	* WPS: add support for dynamically selecting whether to provision the
756e28a4053SRui Paulo	  PSK as an ASCII passphrase or PSK
757e28a4053SRui Paulo	* added support for WDS (4-address frame) mode with per-station virtual
758e28a4053SRui Paulo	  interfaces (wds_sta=1 in config file; only supported with
759e28a4053SRui Paulo	  driver=nl80211 for now)
7603157ba21SRui Paulo	* fixed WPS Probe Request processing to handle missing required
7613157ba21SRui Paulo	  attribute
7623157ba21SRui Paulo	* fixed PKCS#12 use with OpenSSL 1.0.0
763e28a4053SRui Paulo	* detect bridge interface automatically so that bridge parameter in
764e28a4053SRui Paulo	  hostapd.conf becomes optional (though, it may now be used to
765e28a4053SRui Paulo	  automatically add then WLAN interface into a bridge with
766e28a4053SRui Paulo	  driver=nl80211)
7673157ba21SRui Paulo
768e28a4053SRui Paulo2009-11-21 - v0.7.0
76939beb93cSSam Leffler	* increased hostapd_cli ping interval to 5 seconds and made this
77039beb93cSSam Leffler	  configurable with a new command line options (-G<seconds>)
77139beb93cSSam Leffler	* driver_nl80211: use Linux socket filter to improve performance
77239beb93cSSam Leffler	* added support for external Registrars with WPS (UPnP transport)
773e28a4053SRui Paulo	* 802.11n: scan for overlapping BSSes before starting 20/40 MHz channel
774e28a4053SRui Paulo	* driver_nl80211: fixed STA accounting data collection (TX/RX bytes
775e28a4053SRui Paulo	  reported correctly; TX/RX packets not yet available from kernel)
776e28a4053SRui Paulo	* added support for WPS USBA out-of-band mechanism with USB Flash
777e28a4053SRui Paulo	  Drives (UFD) (CONFIG_WPS_UFD=y)
778e28a4053SRui Paulo	* fixed EAPOL/EAP reauthentication when using an external RADIUS
779e28a4053SRui Paulo	  authentication server
780e28a4053SRui Paulo	* fixed TNC with EAP-TTLS
781e28a4053SRui Paulo	* fixed IEEE 802.11r key derivation function to match with the standard
782e28a4053SRui Paulo	  (note: this breaks interoperability with previous version) [Bug 303]
783e28a4053SRui Paulo	* fixed SHA-256 based key derivation function to match with the
784e28a4053SRui Paulo	  standard when using CCMP (for IEEE 802.11r and IEEE 802.11w)
785e28a4053SRui Paulo	  (note: this breaks interoperability with previous version) [Bug 307]
786e28a4053SRui Paulo	* added number of code size optimizations to remove unnecessary
787e28a4053SRui Paulo	  functionality from the program binary based on build configuration
788e28a4053SRui Paulo	  (part of this automatic; part configurable with CONFIG_NO_* build
789e28a4053SRui Paulo	  options)
790e28a4053SRui Paulo	* use shared driver wrapper files with wpa_supplicant
791e28a4053SRui Paulo	* driver_nl80211: multiple updates to provide support for new Linux
792e28a4053SRui Paulo	  nl80211/mac80211 functionality
793e28a4053SRui Paulo	* updated management frame protection to use IEEE Std 802.11w-2009
794e28a4053SRui Paulo	* fixed number of small WPS issues and added workarounds to
795e28a4053SRui Paulo	  interoperate with common deployed broken implementations
796f05cddf9SRui Paulo	* added some IEEE 802.11n co-existence rules to disable 40 MHz channels
797e28a4053SRui Paulo	  or modify primary/secondary channels if needed based on neighboring
798e28a4053SRui Paulo	  networks
799e28a4053SRui Paulo	* added support for NFC out-of-band mechanism with WPS
800e28a4053SRui Paulo	* added preliminary support for IEEE 802.11r RIC processing
80139beb93cSSam Leffler
80239beb93cSSam Leffler2009-01-06 - v0.6.7
80339beb93cSSam Leffler	* added support for Wi-Fi Protected Setup (WPS)
80439beb93cSSam Leffler	  (hostapd can now be configured to act as an integrated WPS Registrar
80539beb93cSSam Leffler	  and provision credentials for WPS Enrollees using PIN and PBC
80639beb93cSSam Leffler	  methods; external wireless Registrar can configure the AP, but
80739beb93cSSam Leffler	  external WLAN Manager Registrars are not supported); WPS support can
80839beb93cSSam Leffler	  be enabled by adding CONFIG_WPS=y into .config and setting the
80939beb93cSSam Leffler	  runtime configuration variables in hostapd.conf (see WPS section in
81039beb93cSSam Leffler	  the example configuration file); new hostapd_cli commands wps_pin and
81139beb93cSSam Leffler	  wps_pbc are used to configure WPS negotiation; see README-WPS for
81239beb93cSSam Leffler	  more details
81339beb93cSSam Leffler	* added IEEE 802.11n HT capability configuration (ht_capab)
81439beb93cSSam Leffler	* added support for generating Country IE based on nl80211 regulatory
81539beb93cSSam Leffler	  information (added if ieee80211d=1 in configuration)
81639beb93cSSam Leffler	* fixed WEP authentication (both Open System and Shared Key) with
81739beb93cSSam Leffler	  mac80211
81839beb93cSSam Leffler	* added support for EAP-AKA' (draft-arkko-eap-aka-kdf)
81939beb93cSSam Leffler	* added support for using driver_test over UDP socket
82039beb93cSSam Leffler	* changed EAP-GPSK to use the IANA assigned EAP method type 51
82139beb93cSSam Leffler	* updated management frame protection to use IEEE 802.11w/D7.0
82239beb93cSSam Leffler	* fixed retransmission of EAP requests if no response is received
82339beb93cSSam Leffler
82439beb93cSSam Leffler2008-11-23 - v0.6.6
82539beb93cSSam Leffler	* added a new configuration option, wpa_ptk_rekey, that can be used to
82639beb93cSSam Leffler	  enforce frequent PTK rekeying, e.g., to mitigate some attacks against
82739beb93cSSam Leffler	  TKIP deficiencies
82839beb93cSSam Leffler	* updated OpenSSL code for EAP-FAST to use an updated version of the
82939beb93cSSam Leffler	  session ticket overriding API that was included into the upstream
83039beb93cSSam Leffler	  OpenSSL 0.9.9 tree on 2008-11-15 (no additional OpenSSL patch is
83139beb93cSSam Leffler	  needed with that version anymore)
83239beb93cSSam Leffler	* changed channel flags configuration to read the information from
83339beb93cSSam Leffler	  the driver (e.g., via driver_nl80211 when using mac80211) instead of
83439beb93cSSam Leffler	  using hostapd as the source of the regulatory information (i.e.,
83539beb93cSSam Leffler	  information from CRDA is now used with mac80211); this allows 5 GHz
83639beb93cSSam Leffler	  channels to be used with hostapd (if allowed in the current
83739beb93cSSam Leffler	  regulatory domain)
83839beb93cSSam Leffler	* fixed EAP-TLS message processing for the last TLS message if it is
83939beb93cSSam Leffler	  large enough to require fragmentation (e.g., if a large Session
84039beb93cSSam Leffler	  Ticket data is included)
84139beb93cSSam Leffler	* fixed listen interval configuration for nl80211 drivers
84239beb93cSSam Leffler
84339beb93cSSam Leffler2008-11-01 - v0.6.5
84439beb93cSSam Leffler	* added support for SHA-256 as X.509 certificate digest when using the
84539beb93cSSam Leffler	  internal X.509/TLSv1 implementation
84639beb93cSSam Leffler	* fixed EAP-FAST PAC-Opaque padding (0.6.4 broke this for some peer
84739beb93cSSam Leffler	  identity lengths)
84839beb93cSSam Leffler	* fixed internal TLSv1 implementation for abbreviated handshake (used
84939beb93cSSam Leffler	  by EAP-FAST server)
85039beb93cSSam Leffler	* added support for setting VLAN ID for STAs based on local MAC ACL
85139beb93cSSam Leffler	  (accept_mac_file) as an alternative for RADIUS server-based
85239beb93cSSam Leffler	  configuration
85339beb93cSSam Leffler	* updated management frame protection to use IEEE 802.11w/D6.0
85439beb93cSSam Leffler	  (adds a new association ping to protect against unauthenticated
85539beb93cSSam Leffler	  authenticate or (re)associate request frames dropping association)
85639beb93cSSam Leffler	* added support for using SHA256-based stronger key derivation for WPA2
85739beb93cSSam Leffler	  (IEEE 802.11w)
85839beb93cSSam Leffler	* added new "driver wrapper" for RADIUS-only configuration
85939beb93cSSam Leffler	  (driver=none in hostapd.conf; CONFIG_DRIVER_NONE=y in .config)
86039beb93cSSam Leffler	* fixed WPA/RSN IE validation to verify that the proto (WPA vs. WPA2)
86139beb93cSSam Leffler	  is enabled in configuration
86239beb93cSSam Leffler	* changed EAP-FAST configuration to use separate fields for A-ID and
86339beb93cSSam Leffler	  A-ID-Info (eap_fast_a_id_info) to allow A-ID to be set to a fixed
86439beb93cSSam Leffler	  16-octet len binary value for better interoperability with some peer
86539beb93cSSam Leffler	  implementations; eap_fast_a_id is now configured as a hex string
86639beb93cSSam Leffler	* driver_nl80211: Updated to match the current Linux mac80211 AP mode
86739beb93cSSam Leffler	  configuration (wireless-testing.git and Linux kernel releases
86839beb93cSSam Leffler	  starting from 2.6.29)
86939beb93cSSam Leffler
87039beb93cSSam Leffler2008-08-10 - v0.6.4
87139beb93cSSam Leffler	* added peer identity into EAP-FAST PAC-Opaque and skip Phase 2
87239beb93cSSam Leffler	  Identity Request if identity is already known
87339beb93cSSam Leffler	* added support for EAP Sequences in EAP-FAST Phase 2
87439beb93cSSam Leffler	* added support for EAP-TNC (Trusted Network Connect)
87539beb93cSSam Leffler	  (this version implements the EAP-TNC method and EAP-TTLS/EAP-FAST
87639beb93cSSam Leffler	  changes needed to run two methods in sequence (IF-T) and the IF-IMV
87739beb93cSSam Leffler	  and IF-TNCCS interfaces from TNCS)
87839beb93cSSam Leffler	* added support for optional cryptobinding with PEAPv0
87939beb93cSSam Leffler	* added fragmentation support for EAP-TNC
88039beb93cSSam Leffler	* added support for fragmenting EAP-TTLS/PEAP/FAST Phase 2 (tunneled)
88139beb93cSSam Leffler	  data
88239beb93cSSam Leffler	* added support for opportunistic key caching (OKC)
88339beb93cSSam Leffler
88439beb93cSSam Leffler2008-02-22 - v0.6.3
88539beb93cSSam Leffler	* fixed Reassociation Response callback processing when using internal
88639beb93cSSam Leffler	  MLME (driver_{hostap,nl80211,test}.c)
88739beb93cSSam Leffler	* updated FT support to use the latest draft, IEEE 802.11r/D9.0
88839beb93cSSam Leffler	* copy optional Proxy-State attributes into RADIUS response when acting
88939beb93cSSam Leffler	  as a RADIUS authentication server
89039beb93cSSam Leffler	* fixed EAPOL state machine to handle a case in which no response is
89139beb93cSSam Leffler	  received from the RADIUS authentication server; previous version
89239beb93cSSam Leffler	  could have triggered a crash in some cases after a timeout
89339beb93cSSam Leffler	* fixed EAP-SIM/AKA realm processing to allow decorated usernames to
89439beb93cSSam Leffler	  be used
89539beb93cSSam Leffler	* added a workaround for EAP-SIM/AKA peers that include incorrect null
89639beb93cSSam Leffler	  termination in the username
89739beb93cSSam Leffler	* fixed EAP-SIM/AKA protected result indication to include AT_COUNTER
89839beb93cSSam Leffler	  attribute in notification messages only when using fast
89939beb93cSSam Leffler	  reauthentication
90039beb93cSSam Leffler	* fixed EAP-SIM Start response processing for fast reauthentication
90139beb93cSSam Leffler	  case
90239beb93cSSam Leffler	* added support for pending EAP processing in EAP-{PEAP,TTLS,FAST}
90339beb93cSSam Leffler	  phase 2 to allow EAP-SIM and EAP-AKA to be used as the Phase 2 method
90439beb93cSSam Leffler
90539beb93cSSam Leffler2008-01-01 - v0.6.2
90639beb93cSSam Leffler	* fixed EAP-SIM and EAP-AKA message parser to validate attribute
90739beb93cSSam Leffler	  lengths properly to avoid potential crash caused by invalid messages
90839beb93cSSam Leffler	* added data structure for storing allocated buffers (struct wpabuf);
90939beb93cSSam Leffler	  this does not affect hostapd usage, but many of the APIs changed
91039beb93cSSam Leffler	  and various interfaces (e.g., EAP) is not compatible with old
91139beb93cSSam Leffler	  versions
91239beb93cSSam Leffler	* added support for protecting EAP-AKA/Identity messages with
91339beb93cSSam Leffler	  AT_CHECKCODE (optional feature in RFC 4187)
91439beb93cSSam Leffler	* added support for protected result indication with AT_RESULT_IND for
91539beb93cSSam Leffler	  EAP-SIM and EAP-AKA (eap_sim_aka_result_ind=1)
91639beb93cSSam Leffler	* added support for configuring EAP-TTLS phase 2 non-EAP methods in
91739beb93cSSam Leffler	  EAP server configuration; previously all four were enabled for every
91839beb93cSSam Leffler	  phase 2 user, now all four are disabled by default and need to be
91939beb93cSSam Leffler	  enabled with new method names TTLS-PAP, TTLS-CHAP, TTLS-MSCHAP,
92039beb93cSSam Leffler	  TTLS-MSCHAPV2
92139beb93cSSam Leffler	* removed old debug printing mechanism and the related 'debug'
92239beb93cSSam Leffler	  parameter in the configuration file; debug verbosity is now set with
92339beb93cSSam Leffler	  -d (or -dd) command line arguments
92439beb93cSSam Leffler	* added support for EAP-IKEv2 (draft-tschofenig-eap-ikev2-15.txt);
92539beb93cSSam Leffler	  only shared key/password authentication is supported in this version
92639beb93cSSam Leffler
92739beb93cSSam Leffler2007-11-24 - v0.6.1
92839beb93cSSam Leffler	* added experimental, integrated TLSv1 server implementation with the
92939beb93cSSam Leffler	  needed X.509/ASN.1/RSA/bignum processing (this can be enabled by
93039beb93cSSam Leffler	  setting CONFIG_TLS=internal and CONFIG_INTERNAL_LIBTOMMATH=y in
93139beb93cSSam Leffler	  .config); this can be useful, e.g., if the target system does not
93239beb93cSSam Leffler	  have a suitable TLS library and a minimal code size is required
93339beb93cSSam Leffler	* added support for EAP-FAST server method to the integrated EAP
93439beb93cSSam Leffler	  server
93539beb93cSSam Leffler	* updated EAP Generalized Pre-Shared Key (EAP-GPSK) to use the latest
93639beb93cSSam Leffler	  draft (draft-ietf-emu-eap-gpsk-07.txt)
93739beb93cSSam Leffler	* added a new configuration parameter, rsn_pairwise, to allow different
93839beb93cSSam Leffler	  pairwise cipher suites to be enabled for WPA and RSN/WPA2
93939beb93cSSam Leffler	  (note: if wpa_pairwise differs from rsn_pairwise, the driver will
94039beb93cSSam Leffler	  either need to support this or will have to use the WPA/RSN IEs from
94139beb93cSSam Leffler	  hostapd; currently, the included madwifi and bsd driver interfaces do
94239beb93cSSam Leffler	  not have support for this)
94339beb93cSSam Leffler	* updated FT support to use the latest draft, IEEE 802.11r/D8.0
94439beb93cSSam Leffler
94539beb93cSSam Leffler2007-05-28 - v0.6.0
94639beb93cSSam Leffler	* added experimental IEEE 802.11r/D6.0 support
94739beb93cSSam Leffler	* updated EAP-SAKE to RFC 4763 and the IANA-allocated EAP type 48
94839beb93cSSam Leffler	* updated EAP-PSK to use the IANA-allocated EAP type 47
94939beb93cSSam Leffler	* fixed EAP-PSK bit ordering of the Flags field
95039beb93cSSam Leffler	* fixed configuration reloading (SIGHUP) to re-initialize WPA PSKs
95139beb93cSSam Leffler	  by reading wpa_psk_file [Bug 181]
95239beb93cSSam Leffler	* fixed EAP-TTLS AVP parser processing for too short AVP lengths
95339beb93cSSam Leffler	* fixed IPv6 connection to RADIUS accounting server
95439beb93cSSam Leffler	* updated EAP Generalized Pre-Shared Key (EAP-GPSK) to use the latest
95539beb93cSSam Leffler	  draft (draft-ietf-emu-eap-gpsk-04.txt)
95639beb93cSSam Leffler	* hlr_auc_gw: read GSM triplet file into memory and rotate through the
95739beb93cSSam Leffler	  entries instead of only using the same three triplets every time
95839beb93cSSam Leffler	  (this does not work properly with tests using multiple clients, but
95939beb93cSSam Leffler	  provides bit better triplet data for testing a single client; anyway,
96039beb93cSSam Leffler	  if a better quality triplets are needed, GSM-Milenage should be used
96139beb93cSSam Leffler	  instead of hardcoded triplet file)
96239beb93cSSam Leffler	* fixed EAP-MSCHAPv2 server to use a space between S and M parameters
96339beb93cSSam Leffler	  in Success Request [Bug 203]
96439beb93cSSam Leffler	* added support for sending EAP-AKA Notifications in error cases
96539beb93cSSam Leffler	* updated to use IEEE 802.11w/D2.0 for management frame protection
96639beb93cSSam Leffler	  (still experimental)
96739beb93cSSam Leffler	* RADIUS server: added support for processing duplicate messages
96839beb93cSSam Leffler	  (retransmissions from RADIUS client) by replying with the previous
96939beb93cSSam Leffler	  reply
97039beb93cSSam Leffler
97139beb93cSSam Leffler2006-11-24 - v0.5.6
97239beb93cSSam Leffler	* added support for configuring and controlling multiple BSSes per
97339beb93cSSam Leffler	  radio interface (bss=<ifname> in hostapd.conf); this is only
97439beb93cSSam Leffler	  available with Devicescape and test driver interfaces
97539beb93cSSam Leffler	* fixed PMKSA cache update in the end of successful RSN
97639beb93cSSam Leffler	  pre-authentication
97739beb93cSSam Leffler	* added support for dynamic VLAN configuration (i.e., selecting VLAN-ID
97839beb93cSSam Leffler	  for each STA based on RADIUS Access-Accept attributes); this requires
97939beb93cSSam Leffler	  VLAN support from the kernel driver/802.11 stack and this is
98039beb93cSSam Leffler	  currently only available with Devicescape and test driver interfaces
98139beb93cSSam Leffler	* driver_madwifi: fixed configuration of unencrypted modes (plaintext
98239beb93cSSam Leffler	  and IEEE 802.1X without WEP)
98339beb93cSSam Leffler	* removed STAKey handshake since PeerKey handshake has replaced it in
98439beb93cSSam Leffler	  IEEE 802.11ma and there are no known deployments of STAKey
98539beb93cSSam Leffler	* updated EAP Generalized Pre-Shared Key (EAP-GPSK) to use the latest
98639beb93cSSam Leffler	  draft (draft-ietf-emu-eap-gpsk-01.txt)
98739beb93cSSam Leffler	* added preliminary implementation of IEEE 802.11w/D1.0 (management
98839beb93cSSam Leffler	  frame protection)
98939beb93cSSam Leffler	  (Note: this requires driver support to work properly.)
99039beb93cSSam Leffler	  (Note2: IEEE 802.11w is an unapproved draft and subject to change.)
99139beb93cSSam Leffler	* hlr_auc_gw: added support for GSM-Milenage (for EAP-SIM)
99239beb93cSSam Leffler	* hlr_auc_gw: added support for reading per-IMSI Milenage keys and
99339beb93cSSam Leffler	  parameters from a text file to make it possible to implement proper
99439beb93cSSam Leffler	  GSM/UMTS authentication server for multiple SIM/USIM cards using
99539beb93cSSam Leffler	  EAP-SIM/EAP-AKA
99639beb93cSSam Leffler	* fixed session timeout processing with drivers that do not use
99739beb93cSSam Leffler	  ieee802_11.c (e.g., madwifi)
99839beb93cSSam Leffler
99939beb93cSSam Leffler2006-08-27 - v0.5.5
100039beb93cSSam Leffler	* added 'hostapd_cli new_sta <addr>' command for adding a new STA into
100139beb93cSSam Leffler	  hostapd (e.g., to initialize wired network authentication based on an
100239beb93cSSam Leffler	  external signal)
100339beb93cSSam Leffler	* fixed hostapd to add PMKID KDE into 4-Way Handshake Message 1 when
100439beb93cSSam Leffler	  using WPA2 even if PMKSA caching is not used
100539beb93cSSam Leffler	* added -P<pid file> argument for hostapd to write the current process
100639beb93cSSam Leffler	  id into a file
100739beb93cSSam Leffler	* added support for RADIUS Authentication Server MIB (RFC 2619)
100839beb93cSSam Leffler
100939beb93cSSam Leffler2006-06-20 - v0.5.4
101039beb93cSSam Leffler	* fixed nt_password_hash build [Bug 144]
101139beb93cSSam Leffler	* added PeerKey handshake implementation for IEEE 802.11e
101239beb93cSSam Leffler	  direct link setup (DLS) to replace STAKey handshake
101339beb93cSSam Leffler	* added support for EAP Generalized Pre-Shared Key (EAP-GPSK,
101439beb93cSSam Leffler	  draft-clancy-emu-eap-shared-secret-00.txt)
101539beb93cSSam Leffler	* fixed a segmentation fault when RSN pre-authentication was completed
101639beb93cSSam Leffler	  successfully [Bug 152]
101739beb93cSSam Leffler
101839beb93cSSam Leffler2006-04-27 - v0.5.3
101939beb93cSSam Leffler	* do not build nt_password_hash and hlr_auc_gw by default to avoid
102039beb93cSSam Leffler	  requiring a TLS library for a successful build; these programs can be
102139beb93cSSam Leffler	  build with 'make nt_password_hash' and 'make hlr_auc_gw'
102239beb93cSSam Leffler	* added a new configuration option, eapol_version, that can be used to
102339beb93cSSam Leffler	  set EAPOL version to 1 (default is 2) to work around broken client
102439beb93cSSam Leffler	  implementations that drop EAPOL frames which use version number 2
102539beb93cSSam Leffler	  [Bug 89]
102639beb93cSSam Leffler	* added support for EAP-SAKE (no EAP method number allocated yet, so
102739beb93cSSam Leffler	  this is using the same experimental type 255 as EAP-PSK)
102839beb93cSSam Leffler	* fixed EAP-MSCHAPv2 message length validation
102939beb93cSSam Leffler
103039beb93cSSam Leffler2006-03-19 - v0.5.2
103139beb93cSSam Leffler	* fixed stdarg use in hostapd_logger(): if both stdout and syslog
103239beb93cSSam Leffler	  logging was enabled, hostapd could trigger a segmentation fault in
103339beb93cSSam Leffler	  vsyslog on some CPU -- C library combinations
103439beb93cSSam Leffler	* moved HLR/AuC gateway implementation for EAP-SIM/AKA into an external
103539beb93cSSam Leffler	  program to make it easier to use for implementing real SS7 gateway;
103639beb93cSSam Leffler	  eap_sim_db is not anymore used as a file name for GSM authentication
103739beb93cSSam Leffler	  triplets; instead, it is path to UNIX domain socket that will be used
103839beb93cSSam Leffler	  to communicate with the external gateway program (e.g., hlr_auc_gw)
103939beb93cSSam Leffler	* added example HLR/AuC gateway implementation, hlr_auc_gw, that uses
104039beb93cSSam Leffler	  local information (GSM authentication triplets from a text file and
104139beb93cSSam Leffler	  hardcoded AKA authentication data); this can be used to test EAP-SIM
104239beb93cSSam Leffler	  and EAP-AKA
104339beb93cSSam Leffler	* added Milenage algorithm (example 3GPP AKA algorithm) to hlr_auc_gw
104439beb93cSSam Leffler	  to make it possible to test EAP-AKA with real USIM cards (this is
104539beb93cSSam Leffler	  disabled by default; define AKA_USE_MILENAGE when building hlr_auc_gw
104639beb93cSSam Leffler	  to enable this)
104739beb93cSSam Leffler	* driver_madwifi: added support for getting station RSN IE from
104839beb93cSSam Leffler	  madwifi-ng svn r1453 and newer; this fixes RSN that was apparently
104939beb93cSSam Leffler	  broken with earlier change (r1357) in the driver
105039beb93cSSam Leffler	* changed EAP method registration to use a dynamic list of methods
105139beb93cSSam Leffler	  instead of a static list generated at build time
105239beb93cSSam Leffler	* fixed WPA message 3/4 not to encrypt Key Data field (WPA IE)
105339beb93cSSam Leffler	  [Bug 125]
105439beb93cSSam Leffler	* added ap_max_inactivity configuration parameter
105539beb93cSSam Leffler
105639beb93cSSam Leffler2006-01-29 - v0.5.1
105739beb93cSSam Leffler	* driver_test: added better support for multiple APs and STAs by using
105839beb93cSSam Leffler	  a directory with sockets that include MAC address for each device in
105939beb93cSSam Leffler	  the name (test_socket=DIR:/tmp/test)
106039beb93cSSam Leffler	* added support for EAP expanded type (vendor specific EAP methods)
106139beb93cSSam Leffler
106239beb93cSSam Leffler2005-12-18 - v0.5.0 (beginning of 0.5.x development releases)
106339beb93cSSam Leffler	* added experimental STAKey handshake implementation for IEEE 802.11e
106439beb93cSSam Leffler	  direct link setup (DLS); note: this is disabled by default in both
106539beb93cSSam Leffler	  build and runtime configuration (can be enabled with CONFIG_STAKEY=y
106639beb93cSSam Leffler	  and stakey=1)
106739beb93cSSam Leffler	* added support for EAP methods to use callbacks to external programs
106839beb93cSSam Leffler	  by buffering a pending request and processing it after the EAP method
106939beb93cSSam Leffler	  is ready to continue
107039beb93cSSam Leffler	* improved EAP-SIM database interface to allow external request to GSM
107139beb93cSSam Leffler	  HLR/AuC without blocking hostapd process
107239beb93cSSam Leffler	* added support for using EAP-SIM pseudonyms and fast re-authentication
107339beb93cSSam Leffler	* added support for EAP-AKA in the integrated EAP authenticator
107439beb93cSSam Leffler	* added support for matching EAP identity prefixes (e.g., "1"*) in EAP
107539beb93cSSam Leffler	  user database to allow EAP-SIM/AKA selection without extra roundtrip
107639beb93cSSam Leffler	  for EAP-Nak negotiation
107739beb93cSSam Leffler	* added support for storing EAP user password as NtPasswordHash instead
107839beb93cSSam Leffler	  of plaintext password when using MSCHAP or MSCHAPv2 for
107939beb93cSSam Leffler	  authentication (hash:<16-octet hex value>); added nt_password_hash
108039beb93cSSam Leffler	  tool for hashing password to generate NtPasswordHash
108139beb93cSSam Leffler
108239beb93cSSam Leffler2005-11-20 - v0.4.7 (beginning of 0.4.x stable releases)
108339beb93cSSam Leffler	* driver_wired: fixed EAPOL sending to optionally use PAE group address
108439beb93cSSam Leffler	  as the destination instead of supplicant MAC address; this is
108539beb93cSSam Leffler	  disabled by default, but should be enabled with use_pae_group_addr=1
108639beb93cSSam Leffler	  in configuration file if the wired interface is used by only one
108739beb93cSSam Leffler	  device at the time (common switch configuration)
108839beb93cSSam Leffler	* driver_madwifi: configure driver to use TKIP countermeasures in order
108939beb93cSSam Leffler	  to get correct behavior (IEEE 802.11 association failing; previously,
109039beb93cSSam Leffler	  association succeeded, but hostpad forced disassociation immediately)
109139beb93cSSam Leffler	* driver_madwifi: added support for madwifi-ng
109239beb93cSSam Leffler
109339beb93cSSam Leffler2005-10-27 - v0.4.6
109439beb93cSSam Leffler	* added support for replacing user identity from EAP with RADIUS
109539beb93cSSam Leffler	  User-Name attribute from Access-Accept message, if that is included,
109639beb93cSSam Leffler	  for the RADIUS accounting messages (e.g., for EAP-PEAP/TTLS to get
109739beb93cSSam Leffler	  tunneled identity into accounting messages when the RADIUS server
109839beb93cSSam Leffler	  does not support better way of doing this with Class attribute)
109939beb93cSSam Leffler	* driver_madwifi: fixed EAPOL packet receive for configuration where
110039beb93cSSam Leffler	  ath# is part of a bridge interface
110139beb93cSSam Leffler	* added a configuration file and log analyzer script for logwatch
110239beb93cSSam Leffler	* fixed EAPOL state machine step function to process all state
110339beb93cSSam Leffler	  transitions before processing new events; this resolves a race
110439beb93cSSam Leffler	  condition in which EAPOL-Start message could trigger hostapd to send
110539beb93cSSam Leffler	  two EAP-Response/Identity frames to the authentication server
110639beb93cSSam Leffler
110739beb93cSSam Leffler2005-09-25 - v0.4.5
110839beb93cSSam Leffler	* added client CA list to the TLS certificate request in order to make
110939beb93cSSam Leffler	  it easier for the client to select which certificate to use
111039beb93cSSam Leffler	* added experimental support for EAP-PSK
111139beb93cSSam Leffler	* added support for WE-19 (hostap, madwifi)
111239beb93cSSam Leffler
111339beb93cSSam Leffler2005-08-21 - v0.4.4
111439beb93cSSam Leffler	* fixed build without CONFIG_RSN_PREAUTH
111539beb93cSSam Leffler	* fixed FreeBSD build
111639beb93cSSam Leffler
111739beb93cSSam Leffler2005-06-26 - v0.4.3
111839beb93cSSam Leffler	* fixed PMKSA caching to copy User-Name and Class attributes so that
111939beb93cSSam Leffler	  RADIUS accounting gets correct information
112039beb93cSSam Leffler	* start RADIUS accounting only after successful completion of WPA
112139beb93cSSam Leffler	  4-Way Handshake if WPA-PSK is used
112239beb93cSSam Leffler	* fixed PMKSA caching for the case where STA (re)associates without
112339beb93cSSam Leffler	  first disassociating
112439beb93cSSam Leffler
112539beb93cSSam Leffler2005-06-12 - v0.4.2
112639beb93cSSam Leffler	* EAP-PAX is now registered as EAP type 46
112739beb93cSSam Leffler	* fixed EAP-PAX MAC calculation
112839beb93cSSam Leffler	* fixed EAP-PAX CK and ICK key derivation
112939beb93cSSam Leffler	* renamed eap_authenticator configuration variable to eap_server to
113039beb93cSSam Leffler	  better match with RFC 3748 (EAP) terminology
113139beb93cSSam Leffler	* driver_test: added support for testing hostapd with wpa_supplicant
113239beb93cSSam Leffler	  by using test driver interface without any kernel drivers or network
113339beb93cSSam Leffler	  cards
113439beb93cSSam Leffler
113539beb93cSSam Leffler2005-05-22 - v0.4.1
113639beb93cSSam Leffler	* fixed RADIUS server initialization when only auth or acct server
113739beb93cSSam Leffler	  is configured and the other one is left empty
113839beb93cSSam Leffler	* driver_madwifi: added support for RADIUS accounting
113939beb93cSSam Leffler	* driver_madwifi: added preliminary support for compiling against 'BSD'
114039beb93cSSam Leffler	  branch of madwifi CVS tree
114139beb93cSSam Leffler	* driver_madwifi: fixed pairwise key removal to allow WPA reauth
114239beb93cSSam Leffler	  without disassociation
114339beb93cSSam Leffler	* added support for reading additional certificates from PKCS#12 files
114439beb93cSSam Leffler	  and adding them to the certificate chain
114539beb93cSSam Leffler	* fixed RADIUS Class attribute processing to only use Access-Accept
114639beb93cSSam Leffler	  packets to update Class; previously, other RADIUS authentication
114739beb93cSSam Leffler	  packets could have cleared Class attribute
114839beb93cSSam Leffler	* added support for more than one Class attribute in RADIUS packets
114939beb93cSSam Leffler	* added support for verifying certificate revocation list (CRL) when
115039beb93cSSam Leffler	  using integrated EAP authenticator for EAP-TLS; new hostapd.conf
115139beb93cSSam Leffler	  options 'check_crl'; CRL must be included in the ca_cert file for now
115239beb93cSSam Leffler
115339beb93cSSam Leffler2005-04-25 - v0.4.0 (beginning of 0.4.x development releases)
115439beb93cSSam Leffler	* added support for including network information into
115539beb93cSSam Leffler	  EAP-Request/Identity message (ASCII-0 (nul) in eap_message)
115639beb93cSSam Leffler	  (e.g., to implement draft-adrange-eap-network-discovery-07.txt)
115739beb93cSSam Leffler	* fixed a bug which caused some RSN pre-authentication cases to use
115839beb93cSSam Leffler	  freed memory and potentially crash hostapd
115939beb93cSSam Leffler	* fixed private key loading for cases where passphrase is not set
116039beb93cSSam Leffler	* added support for sending TLS alerts and aborting authentication
116139beb93cSSam Leffler	  when receiving a TLS alert
116239beb93cSSam Leffler	* fixed WPA2 to add PMKSA cache entry when using integrated EAP
116339beb93cSSam Leffler	  authenticator
116439beb93cSSam Leffler	* fixed PMKSA caching (EAP authentication was not skipped correctly
116539beb93cSSam Leffler	  with the new state machine changes from IEEE 802.1X draft)
116639beb93cSSam Leffler	* added support for RADIUS over IPv6; own_ip_addr, auth_server_addr,
116739beb93cSSam Leffler	  and acct_server_addr can now be IPv6 addresses (CONFIG_IPV6=y needs
116839beb93cSSam Leffler	  to be added to .config to include IPv6 support); for RADIUS server,
116939beb93cSSam Leffler	  radius_server_ipv6=1 needs to be set in hostapd.conf and addresses
117039beb93cSSam Leffler	  in RADIUS clients file can then use IPv6 format
117139beb93cSSam Leffler	* added experimental support for EAP-PAX
117239beb93cSSam Leffler	* replaced hostapd control interface library (hostapd_ctrl.[ch]) with
117339beb93cSSam Leffler	  the same implementation that wpa_supplicant is using (wpa_ctrl.[ch])
117439beb93cSSam Leffler
117539beb93cSSam Leffler2005-02-12 - v0.3.7 (beginning of 0.3.x stable releases)
117639beb93cSSam Leffler
117739beb93cSSam Leffler2005-01-23 - v0.3.5
117839beb93cSSam Leffler	* added support for configuring a forced PEAP version based on the
117939beb93cSSam Leffler	  Phase 1 identity
118039beb93cSSam Leffler	* fixed PEAPv1 to use tunneled EAP-Success/Failure instead of EAP-TLV
118139beb93cSSam Leffler	  to terminate authentication
118239beb93cSSam Leffler	* fixed EAP identifier duplicate processing with the new IEEE 802.1X
118339beb93cSSam Leffler	  draft
118439beb93cSSam Leffler	* clear accounting data in the driver when starting a new accounting
118539beb93cSSam Leffler	  session
118639beb93cSSam Leffler	* driver_madwifi: filter wireless events based on ifindex to allow more
118739beb93cSSam Leffler	  than one network interface to be used
118839beb93cSSam Leffler	* fixed WPA message 2/4 processing not to cancel timeout for TimeoutEvt
118939beb93cSSam Leffler	  setting if the packet does not pass MIC verification (e.g., due to
119039beb93cSSam Leffler	  incorrect PSK); previously, message 1/4 was not tried again if an
119139beb93cSSam Leffler	  invalid message 2/4 was received
119239beb93cSSam Leffler	* fixed reconfiguration of RADIUS client retransmission timer when
119339beb93cSSam Leffler	  adding a new message to the pending list; previously, timer was not
119439beb93cSSam Leffler	  updated at this point and if there was a pending message with long
119539beb93cSSam Leffler	  time for the next retry, the new message needed to wait that long for
119639beb93cSSam Leffler	  its first retry, too
119739beb93cSSam Leffler
119839beb93cSSam Leffler2005-01-09 - v0.3.4
119939beb93cSSam Leffler	* added support for configuring multiple allowed EAP types for Phase 2
120039beb93cSSam Leffler	  authentication (EAP-PEAP, EAP-TTLS)
120139beb93cSSam Leffler	* fixed EAPOL-Start processing to trigger WPA reauthentication
120239beb93cSSam Leffler	  (previously, only EAPOL authentication was done)
120339beb93cSSam Leffler
120439beb93cSSam Leffler2005-01-02 - v0.3.3
120539beb93cSSam Leffler	* added support for EAP-PEAP in the integrated EAP authenticator
120639beb93cSSam Leffler	* added support for EAP-GTC in the integrated EAP authenticator
120739beb93cSSam Leffler	* added support for configuring list of EAP methods for Phase 1 so that
120839beb93cSSam Leffler	  the integrated EAP authenticator can, e.g., use the wildcard entry
120939beb93cSSam Leffler	  for EAP-TLS and EAP-PEAP
121039beb93cSSam Leffler	* added support for EAP-TTLS in the integrated EAP authenticator
121139beb93cSSam Leffler	* added support for EAP-SIM in the integrated EAP authenticator
121239beb93cSSam Leffler	* added support for using hostapd as a RADIUS authentication server
121339beb93cSSam Leffler	  with the integrated EAP authenticator taking care of EAP
121439beb93cSSam Leffler	  authentication (new hostapd.conf options: radius_server_clients and
121539beb93cSSam Leffler	  radius_server_auth_port); this is not included in default build; use
121639beb93cSSam Leffler	  CONFIG_RADIUS_SERVER=y in .config to include
121739beb93cSSam Leffler
121839beb93cSSam Leffler2004-12-19 - v0.3.2
121939beb93cSSam Leffler	* removed 'daemonize' configuration file option since it has not really
122039beb93cSSam Leffler	  been used at all for more than year
122139beb93cSSam Leffler	* driver_madwifi: fixed group key setup and added get_ssid method
122239beb93cSSam Leffler	* added support for EAP-MSCHAPv2 in the integrated EAP authenticator
122339beb93cSSam Leffler
122439beb93cSSam Leffler2004-12-12 - v0.3.1
122539beb93cSSam Leffler	* added support for integrated EAP-TLS authentication (new hostapd.conf
122639beb93cSSam Leffler	  variables: ca_cert, server_cert, private_key, private_key_passwd);
122739beb93cSSam Leffler	  this enabled dynamic keying (WPA2/WPA/IEEE 802.1X/WEP) without
122839beb93cSSam Leffler	  external RADIUS server
122939beb93cSSam Leffler	* added support for reading PKCS#12 (PFX) files (as a replacement for
123039beb93cSSam Leffler	  PEM/DER) to get certificate and private key (CONFIG_PKCS12)
123139beb93cSSam Leffler
123239beb93cSSam Leffler2004-12-05 - v0.3.0 (beginning of 0.3.x development releases)
123339beb93cSSam Leffler	* added support for Acct-{Input,Output}-Gigawords
123439beb93cSSam Leffler	* added support for Event-Timestamp (in RADIUS Accounting-Requests)
123539beb93cSSam Leffler	* added support for RADIUS Authentication Client MIB (RFC2618)
123639beb93cSSam Leffler	* added support for RADIUS Accounting Client MIB (RFC2620)
123739beb93cSSam Leffler	* made EAP re-authentication period configurable (eap_reauth_period)
123839beb93cSSam Leffler	* fixed EAPOL reauthentication to trigger WPA/WPA2 reauthentication
123939beb93cSSam Leffler	* fixed EAPOL state machine to stop if STA is removed during
124039beb93cSSam Leffler	  eapol_sm_step(); this fixes at least one segfault triggering bug with
124139beb93cSSam Leffler	  IEEE 802.11i pre-authentication
124239beb93cSSam Leffler	* added support for multiple WPA pre-shared keys (e.g., one for each
124339beb93cSSam Leffler	  client MAC address or keys shared by a group of clients);
124439beb93cSSam Leffler	  new hostapd.conf field wpa_psk_file for setting path to a text file
124539beb93cSSam Leffler	  containing PSKs, see hostapd.wpa_psk for an example
124639beb93cSSam Leffler	* added support for multiple driver interfaces to allow hostapd to be
124739beb93cSSam Leffler	  used with other drivers
124839beb93cSSam Leffler	* added wired authenticator driver interface (driver=wired in
124939beb93cSSam Leffler	  hostapd.conf, see wired.conf for example configuration)
125039beb93cSSam Leffler	* added madwifi driver interface (driver=madwifi in hostapd.conf, see
125139beb93cSSam Leffler	  madwifi.conf for example configuration; Note: include files from
125239beb93cSSam Leffler	  madwifi project is needed for building and a configuration file,
125339beb93cSSam Leffler	  .config, needs to be created in hostapd directory with
125439beb93cSSam Leffler	  CONFIG_DRIVER_MADWIFI=y to include this driver interface in hostapd
125539beb93cSSam Leffler	  build)
125639beb93cSSam Leffler	* fixed an alignment issue that could cause SHA-1 to fail on some
125739beb93cSSam Leffler	  platforms (e.g., Intel ixp425 with a compiler that does not 32-bit
125839beb93cSSam Leffler	  align variables)
125939beb93cSSam Leffler	* fixed RADIUS reconnection after an error in sending interim
126039beb93cSSam Leffler	  accounting packets
126139beb93cSSam Leffler	* added hostapd control interface for external programs and an example
126239beb93cSSam Leffler	  CLI, hostapd_cli (like wpa_cli for wpa_supplicant)
126339beb93cSSam Leffler	* started adding dot11, dot1x, radius MIBs ('hostapd_cli mib',
126439beb93cSSam Leffler	  'hostapd_cli sta <addr>')
126539beb93cSSam Leffler	* finished update from IEEE 802.1X-2001 to IEEE 802.1X-REV (now d11)
126639beb93cSSam Leffler	* added support for strict GTK rekeying (wpa_strict_rekey in
126739beb93cSSam Leffler	  hostapd.conf)
126839beb93cSSam Leffler	* updated IAPP to use UDP port 3517 and multicast address 224.0.1.178
126939beb93cSSam Leffler	  (instead of broadcast) for IAPP ADD-notify (moved from draft 3 to
127039beb93cSSam Leffler	  IEEE 802.11F-2003)
127139beb93cSSam Leffler	* added Prism54 driver interface (driver=prism54 in hostapd.conf;
127239beb93cSSam Leffler	  note: .config needs to be created in hostapd directory with
127339beb93cSSam Leffler	  CONFIG_DRIVER_PRISM54=y to include this driver interface in hostapd
127439beb93cSSam Leffler	  build)
127539beb93cSSam Leffler	* dual-licensed hostapd (GPLv2 and BSD licenses)
127639beb93cSSam Leffler	* fixed RADIUS accounting to generate a new session id for cases where
127739beb93cSSam Leffler	  a station reassociates without first being complete deauthenticated
127839beb93cSSam Leffler	* fixed STA disassociation handler to mark next timeout state to
127939beb93cSSam Leffler	  deauthenticate the station, i.e., skip long wait for inactivity poll
128039beb93cSSam Leffler	  and extra disassociation, if the STA disassociates without
128139beb93cSSam Leffler	  deauthenticating
128239beb93cSSam Leffler	* added integrated EAP authenticator that can be used instead of
128339beb93cSSam Leffler	  external RADIUS authentication server; currently, only EAP-MD5 is
128439beb93cSSam Leffler	  supported, so this cannot yet be used for key distribution; the EAP
128539beb93cSSam Leffler	  method interface is generic, though, so adding new EAP methods should
128639beb93cSSam Leffler	  be straightforward; new hostapd.conf variables: 'eap_authenticator'
128739beb93cSSam Leffler	  and 'eap_user_file'; this obsoletes "minimal authentication server"
128839beb93cSSam Leffler	  ('minimal_eap' in hostapd.conf) which is now removed
128939beb93cSSam Leffler	* added support for FreeBSD and driver interface for the BSD net80211
129039beb93cSSam Leffler	  layer (driver=bsd in hostapd.conf and CONFIG_DRIVER_BSD=y in
129139beb93cSSam Leffler	  .config); please note that some of the required kernel mods have not
129239beb93cSSam Leffler	  yet been committed
129339beb93cSSam Leffler
129439beb93cSSam Leffler2004-07-17 - v0.2.4 (beginning of 0.2.x stable releases)
129539beb93cSSam Leffler	* fixed some accounting cases where Accounting-Start was sent when
129639beb93cSSam Leffler	  IEEE 802.1X port was being deauthorized
129739beb93cSSam Leffler
129839beb93cSSam Leffler2004-06-20 - v0.2.3
129939beb93cSSam Leffler	* modified RADIUS client to re-connect the socket in case of certain
130039beb93cSSam Leffler	  error codes that are generated when a network interface state is
130139beb93cSSam Leffler	  changes (e.g., when IP address changes or the interface is set UP)
130239beb93cSSam Leffler	* fixed couple of cases where EAPOL state for a station was freed
130339beb93cSSam Leffler	  twice causing a segfault for hostapd
130439beb93cSSam Leffler	* fixed couple of bugs in processing WPA deauthentication (freed data
130539beb93cSSam Leffler	  was used)
130639beb93cSSam Leffler
130739beb93cSSam Leffler2004-05-31 - v0.2.2
130839beb93cSSam Leffler	* fixed WPA/WPA2 group rekeying to use key index correctly (GN/GM)
130939beb93cSSam Leffler	* fixed group rekeying to send zero TSC in EAPOL-Key messages to fix
131039beb93cSSam Leffler	  cases where STAs dropped multicast frames as replay attacks
131139beb93cSSam Leffler	* added support for copying RADIUS Attribute 'Class' from
131239beb93cSSam Leffler	  authentication messages into accounting messages
131339beb93cSSam Leffler	* send canned EAP failure if RADIUS server sends Access-Reject without
131439beb93cSSam Leffler	  EAP message (previously, Supplicant was not notified in this case)
131539beb93cSSam Leffler	* fixed mixed WPA-PSK and WPA-EAP mode to work with WPA-PSK (i.e., do
131639beb93cSSam Leffler	  not start EAPOL state machines if the STA selected to use WPA-PSK)
131739beb93cSSam Leffler
131839beb93cSSam Leffler2004-05-06 - v0.2.1
131939beb93cSSam Leffler	* added WPA and IEEE 802.11i/RSN (WPA2) Authenticator functionality
132039beb93cSSam Leffler	  - based on IEEE 802.11i/D10.0 but modified to interoperate with WPA
132139beb93cSSam Leffler	    (i.e., IEEE 802.11i/D3.0)
132239beb93cSSam Leffler	  - supports WPA-only, RSN-only, and mixed WPA/RSN mode
132339beb93cSSam Leffler	  - both WPA-PSK and WPA-RADIUS/EAP are supported
132439beb93cSSam Leffler	  - PMKSA caching and pre-authentication
132539beb93cSSam Leffler	  - new hostapd.conf variables: wpa, wpa_psk, wpa_passphrase,
132639beb93cSSam Leffler	    wpa_key_mgmt, wpa_pairwise, wpa_group_rekey, wpa_gmk_rekey,
132739beb93cSSam Leffler	    rsn_preauth, rsn_preauth_interfaces
132839beb93cSSam Leffler	* fixed interim accounting to remove any pending accounting messages
132939beb93cSSam Leffler	  to the STA before sending a new one
133039beb93cSSam Leffler
133139beb93cSSam Leffler2004-02-15 - v0.2.0
133239beb93cSSam Leffler	* added support for Acct-Interim-Interval:
133339beb93cSSam Leffler	  - draft-ietf-radius-acct-interim-01.txt
133439beb93cSSam Leffler	  - use Acct-Interim-Interval attribute from Access-Accept if local
133539beb93cSSam Leffler	    'radius_acct_interim_interval' is not set
133639beb93cSSam Leffler	  - allow different update intervals for each STA
133739beb93cSSam Leffler	* fixed event loop to call signal handlers only after returning from
133839beb93cSSam Leffler	  the real signal handler
133939beb93cSSam Leffler	* reset sta->timeout_next after successful association to make sure
134039beb93cSSam Leffler	  that the previously registered inactivity timer will not remove the
134139beb93cSSam Leffler	  STA immediately (e.g., if STA deauthenticates and re-associates
134239beb93cSSam Leffler	  before the timer is triggered).
134339beb93cSSam Leffler	* added new hostapd.conf variable, nas_identifier, that can be used to
134439beb93cSSam Leffler	  add an optional RADIUS Attribute, NAS-Identifier, into authentication
134539beb93cSSam Leffler	  and accounting messages
134639beb93cSSam Leffler	* added support for Accounting-On and Accounting-Off messages
134739beb93cSSam Leffler	* fixed accounting session handling to send Accounting-Start only once
134839beb93cSSam Leffler	  per session and not to send Accounting-Stop if the session was not
134939beb93cSSam Leffler	  initialized properly
135039beb93cSSam Leffler	* fixed Accounting-Stop statistics in cases where the message was
135139beb93cSSam Leffler	  previously sent after the kernel entry for the STA (and/or IEEE
135239beb93cSSam Leffler	  802.1X data) was removed
135339beb93cSSam Leffler
135439beb93cSSam Leffler
135539beb93cSSam LefflerNote:
135639beb93cSSam Leffler
135739beb93cSSam LefflerOlder changes up to and including v0.1.0 are included in the ChangeLog
135839beb93cSSam Lefflerof the Host AP driver.
1359