139beb93cSSam LefflerChangeLog for hostapd 239beb93cSSam Leffler 3*f05cddf9SRui Paulo2013-01-12 - v2.0 4*f05cddf9SRui Paulo * added AP-STA-DISCONNECTED ctrl_iface event 5*f05cddf9SRui Paulo * improved debug logging (human readable event names, interface name 6*f05cddf9SRui Paulo included in more entries) 7*f05cddf9SRui Paulo * added number of small changes to make it easier for static analyzers 8*f05cddf9SRui Paulo to understand the implementation 9*f05cddf9SRui Paulo * added a workaround for Windows 7 Michael MIC failure reporting and 10*f05cddf9SRui Paulo use of the Secure bit in EAPOL-Key msg 3/4 11*f05cddf9SRui Paulo * fixed number of small bugs (see git logs for more details) 12*f05cddf9SRui Paulo * changed OpenSSL to read full certificate chain from server_cert file 13*f05cddf9SRui Paulo * nl80211: number of updates to use new cfg80211/nl80211 functionality 14*f05cddf9SRui Paulo - replace monitor interface with nl80211 commands 15*f05cddf9SRui Paulo - additional information for driver-based AP SME 16*f05cddf9SRui Paulo * EAP-pwd: 17*f05cddf9SRui Paulo - fix KDF for group 21 and zero-padding 18*f05cddf9SRui Paulo - added support for fragmentation 19*f05cddf9SRui Paulo - increased maximum number of hunting-and-pecking iterations 20*f05cddf9SRui Paulo * avoid excessive Probe Response retries for broadcast Probe Request 21*f05cddf9SRui Paulo frames (only with drivers using hostapd SME/MLME) 22*f05cddf9SRui Paulo * added preliminary support for using TLS v1.2 (CONFIG_TLSV12=y) 23*f05cddf9SRui Paulo * fixed WPS operation stopping on dual concurrent AP 24*f05cddf9SRui Paulo * added wps_rf_bands configuration parameter for overriding RF Bands 25*f05cddf9SRui Paulo value for WPS 26*f05cddf9SRui Paulo * added support for getting per-device PSK from RADIUS Tunnel-Password 27*f05cddf9SRui Paulo * added support for libnl 3.2 and newer 28*f05cddf9SRui Paulo * increased initial group key handshake retransmit timeout to 500 ms 29*f05cddf9SRui Paulo * added a workaround for 4-way handshake to update SNonce even after 30*f05cddf9SRui Paulo having sent EAPOL-Key 3/4 to avoid issues with some supplicant 31*f05cddf9SRui Paulo implementations that can change SNonce for each EAP-Key 2/4 32*f05cddf9SRui Paulo * added a workaround for EAPOL-Key 4/4 using incorrect type value in 33*f05cddf9SRui Paulo WPA2 mode (some deployed stations use WPA type in that message) 34*f05cddf9SRui Paulo * added a WPS workaround for mixed mode AP Settings with Windows 7 35*f05cddf9SRui Paulo * changed WPS AP PIN disabling mechanism to disable the PIN after 10 36*f05cddf9SRui Paulo consecutive failures in addition to using the exponential lockout 37*f05cddf9SRui Paulo period 38*f05cddf9SRui Paulo * added support for WFA Hotspot 2.0 39*f05cddf9SRui Paulo - GAS/ANQP advertisement of network information 40*f05cddf9SRui Paulo - disable_dgaf parameter to disable downstream group-addressed 41*f05cddf9SRui Paulo forwarding 42*f05cddf9SRui Paulo * simplified licensing terms by selecting the BSD license as the only 43*f05cddf9SRui Paulo alternative 44*f05cddf9SRui Paulo * EAP-SIM: fixed re-authentication not to update pseudonym 45*f05cddf9SRui Paulo * EAP-SIM: use Notification round before EAP-Failure 46*f05cddf9SRui Paulo * EAP-AKA: added support for AT_COUNTER_TOO_SMALL 47*f05cddf9SRui Paulo * EAP-AKA: skip AKA/Identity exchange if EAP identity is recognized 48*f05cddf9SRui Paulo * EAP-AKA': fixed identity for MK derivation 49*f05cddf9SRui Paulo * EAP-AKA': updated to RFC 5448 (username prefixes changed); note: this 50*f05cddf9SRui Paulo breaks interoperability with older versions 51*f05cddf9SRui Paulo * EAP-SIM/AKA: allow pseudonym to be used after unknown reauth id 52*f05cddf9SRui Paulo * changed ANonce to be a random number instead of Counter-based 53*f05cddf9SRui Paulo * added support for canceling WPS operations with hostapd_cli wps_cancel 54*f05cddf9SRui Paulo * fixed EAP/WPS to PSK transition on reassociation in cases where 55*f05cddf9SRui Paulo deauthentication is missed 56*f05cddf9SRui Paulo * hlr_auc_gw enhancements: 57*f05cddf9SRui Paulo - a new command line parameter -u can be used to enable updating of 58*f05cddf9SRui Paulo SQN in Milenage file 59*f05cddf9SRui Paulo - use 5 bit IND for SQN updates 60*f05cddf9SRui Paulo - SQLite database can now be used to store Milenage information 61*f05cddf9SRui Paulo * EAP-SIM/AKA DB: added optional use of SQLite database for pseudonyms 62*f05cddf9SRui Paulo and reauth data 63*f05cddf9SRui Paulo * added support for Chargeable-User-Identity (RFC 4372) 64*f05cddf9SRui Paulo * added radius_auth_req_attr and radius_acct_req_attr configuration 65*f05cddf9SRui Paulo parameters to allow adding/overriding of RADIUS attributes in 66*f05cddf9SRui Paulo Access-Request and Accounting-Request packets 67*f05cddf9SRui Paulo * added support for RADIUS dynamic authorization server (RFC 5176) 68*f05cddf9SRui Paulo * added initial support for WNM operations 69*f05cddf9SRui Paulo - BSS max idle period 70*f05cddf9SRui Paulo - WNM-Sleep Mode 71*f05cddf9SRui Paulo * added new WPS NFC ctrl_iface mechanism 72*f05cddf9SRui Paulo - removed obsoleted WPS_OOB command (including support for deprecated 73*f05cddf9SRui Paulo UFD config_method) 74*f05cddf9SRui Paulo * added FT support for drivers that implement MLME internally 75*f05cddf9SRui Paulo * added SA Query support for drivers that implement MLME internally 76*f05cddf9SRui Paulo * removed default ACM=1 from AC_VO and AC_VI 77*f05cddf9SRui Paulo * changed VENDOR-TEST EAP method to use proper private enterprise number 78*f05cddf9SRui Paulo (this will not interoperate with older versions) 79*f05cddf9SRui Paulo * added hostapd.conf parameter vendor_elements to allow arbitrary vendor 80*f05cddf9SRui Paulo specific elements to be added to the Beacon and Probe Response frames 81*f05cddf9SRui Paulo * added support for configuring GCMP cipher for IEEE 802.11ad 82*f05cddf9SRui Paulo * added support for 256-bit AES with internal TLS implementation 83*f05cddf9SRui Paulo * changed EAPOL transmission to use AC_VO if WMM is active 84*f05cddf9SRui Paulo * fixed EAP-TLS/PEAP/TTLS/FAST server to validate TLS Message Length 85*f05cddf9SRui Paulo correctly; invalid messages could have caused the hostapd process to 86*f05cddf9SRui Paulo terminate before this fix [CVE-2012-4445] 87*f05cddf9SRui Paulo * limit number of active wildcard PINs for WPS Registrar to one to avoid 88*f05cddf9SRui Paulo confusing behavior with multiple wildcard PINs 89*f05cddf9SRui Paulo * added a workaround for WPS PBC session overlap detection to avoid 90*f05cddf9SRui Paulo interop issues with deployed station implementations that do not 91*f05cddf9SRui Paulo remove active PBC indication from Probe Request frames properly 92*f05cddf9SRui Paulo * added support for using SQLite for the eap_user database 93*f05cddf9SRui Paulo * added Acct-Session-Id attribute into Access-Request messages 94*f05cddf9SRui Paulo * fixed EAPOL frame transmission to non-QoS STAs with nl80211 95*f05cddf9SRui Paulo (do not send QoS frames if the STA did not negotiate use of QoS for 96*f05cddf9SRui Paulo this association) 97*f05cddf9SRui Paulo 98*f05cddf9SRui Paulo2012-05-10 - v1.0 99*f05cddf9SRui Paulo * Add channel selection support in hostapd. See hostapd.conf. 100*f05cddf9SRui Paulo * Add support for IEEE 802.11v Time Advertisement mechanism with UTC 101*f05cddf9SRui Paulo TSF offset. See hostapd.conf for config info. 102*f05cddf9SRui Paulo * Delay STA entry removal until Deauth/Disassoc TX status in AP mode. 103*f05cddf9SRui Paulo This allows the driver to use PS buffering of Deauthentication and 104*f05cddf9SRui Paulo Disassociation frames when the STA is in power save sleep. Only 105*f05cddf9SRui Paulo available with drivers that provide TX status events for Deauth/ 106*f05cddf9SRui Paulo Disassoc frames (nl80211). 107*f05cddf9SRui Paulo * Allow PMKSA caching to be disabled on the Authenticator. See 108*f05cddf9SRui Paulo hostap.conf config parameter disable_pmksa_caching. 109*f05cddf9SRui Paulo * atheros: Add support for IEEE 802.11w configuration. 110*f05cddf9SRui Paulo * bsd: Add support for setting HT values in IFM_MMASK. 111*f05cddf9SRui Paulo * Allow client isolation to be configured with ap_isolate. Client 112*f05cddf9SRui Paulo isolation can be used to prevent low-level bridging of frames 113*f05cddf9SRui Paulo between associated stations in the BSS. By default, this bridging 114*f05cddf9SRui Paulo is allowed. 115*f05cddf9SRui Paulo * Allow coexistance of HT BSSes with WEP/TKIP BSSes. 116*f05cddf9SRui Paulo * Add require_ht config parameter, which can be used to configure 117*f05cddf9SRui Paulo hostapd to reject association with any station that does not support 118*f05cddf9SRui Paulo HT PHY. 119*f05cddf9SRui Paulo * Add support for writing debug log to a file using "-f" option. Also 120*f05cddf9SRui Paulo add relog CLI command to re-open the log file. 121*f05cddf9SRui Paulo * Add bridge handling for WDS STA interfaces. By default they are 122*f05cddf9SRui Paulo added to the configured bridge of the AP interface (if present), 123*f05cddf9SRui Paulo but the user can also specify a separate bridge using cli command 124*f05cddf9SRui Paulo wds_bridge. 125*f05cddf9SRui Paulo * hostapd_cli: 126*f05cddf9SRui Paulo - Add wds_bridge command for specifying bridge for WDS STA 127*f05cddf9SRui Paulo interfaces. 128*f05cddf9SRui Paulo - Add relog command for reopening log file. 129*f05cddf9SRui Paulo - Send AP-STA-DISCONNECTED event when an AP disconnects a station 130*f05cddf9SRui Paulo due to inactivity. 131*f05cddf9SRui Paulo - Add wps_config ctrl_interface command for configuring AP. This 132*f05cddf9SRui Paulo command can be used to configure the AP using the internal WPS 133*f05cddf9SRui Paulo registrar. It works in the same way as new AP settings received 134*f05cddf9SRui Paulo from an ER. 135*f05cddf9SRui Paulo - Many WPS/WPS ER commands - see WPS/WPS ER sections for details. 136*f05cddf9SRui Paulo - Add command get version, that returns hostapd version string. 137*f05cddf9SRui Paulo * WNM: Add BSS Transition Management Request for ESS Disassoc Imminent. 138*f05cddf9SRui Paulo Use hostapd_cli ess_disassoc (STA addr) (URL) to send the 139*f05cddf9SRui Paulo notification to the STA. 140*f05cddf9SRui Paulo * Allow AP mode to disconnect STAs based on low ACK condition (when 141*f05cddf9SRui Paulo the data connection is not working properly, e.g., due to the STA 142*f05cddf9SRui Paulo going outside the range of the AP). Disabled by default, enable by 143*f05cddf9SRui Paulo config option disassoc_low_ack. 144*f05cddf9SRui Paulo * Add WPA_IGNORE_CONFIG_ERRORS build option to continue in case of bad 145*f05cddf9SRui Paulo config file. 146*f05cddf9SRui Paulo * WPS: 147*f05cddf9SRui Paulo - Send AP Settings as a wrapped Credential attribute to ctrl_iface 148*f05cddf9SRui Paulo in WPS-NEW-AP-SETTINGS. 149*f05cddf9SRui Paulo - Dispatch more WPS events through hostapd ctrl_iface. 150*f05cddf9SRui Paulo - Add mechanism for indicating non-standard WPS errors. 151*f05cddf9SRui Paulo - Change concurrent radio AP to use only one WPS UPnP instance. 152*f05cddf9SRui Paulo - Add wps_check_pin command for processing PIN from user input. 153*f05cddf9SRui Paulo UIs can use this command to process a PIN entered by a user and to 154*f05cddf9SRui Paulo validate the checksum digit (if present). 155*f05cddf9SRui Paulo - Add hostap_cli get_config command to display current AP config. 156*f05cddf9SRui Paulo - Add new hostapd_cli command, wps_ap_pin, to manage AP PIN at 157*f05cddf9SRui Paulo runtime and support dynamic AP PIN management. 158*f05cddf9SRui Paulo - Disable AP PIN after 10 consecutive failures. Slow down attacks 159*f05cddf9SRui Paulo on failures up to 10. 160*f05cddf9SRui Paulo - Allow AP to start in Enrollee mode without AP PIN for probing, 161*f05cddf9SRui Paulo to be compatible with Windows 7. 162*f05cddf9SRui Paulo - Add Config Error into WPS-FAIL events to provide more info 163*f05cddf9SRui Paulo to the user on how to resolve the issue. 164*f05cddf9SRui Paulo - When controlling multiple interfaces: 165*f05cddf9SRui Paulo - apply WPS commands to all interfaces configured to use WPS 166*f05cddf9SRui Paulo - apply WPS config changes to all interfaces that use WPS 167*f05cddf9SRui Paulo - when an attack is detected on any interface, disable AP PIN on 168*f05cddf9SRui Paulo all interfaces 169*f05cddf9SRui Paulo * WPS ER: 170*f05cddf9SRui Paulo - Show SetSelectedRegistrar events as ctrl_iface events. 171*f05cddf9SRui Paulo - Add special AP Setup Locked mode to allow read only ER. 172*f05cddf9SRui Paulo ap_setup_locked=2 can now be used to enable a special mode where 173*f05cddf9SRui Paulo WPS ER can learn the current AP settings, but cannot change them. 174*f05cddf9SRui Paulo * WPS 2.0: Add support for WPS 2.0 (CONFIG_WPS2) 175*f05cddf9SRui Paulo - Add build option CONFIG_WPS_EXTENSIBILITY_TESTING to enable tool 176*f05cddf9SRui Paulo for testing protocol extensibility. 177*f05cddf9SRui Paulo - Add build option CONFIG_WPS_STRICT to allow disabling of WPS 178*f05cddf9SRui Paulo workarounds. 179*f05cddf9SRui Paulo - Add support for AuthorizedMACs attribute. 180*f05cddf9SRui Paulo * TDLS: 181*f05cddf9SRui Paulo - Allow TDLS use or TDLS channel switching in the BSS to be 182*f05cddf9SRui Paulo prohibited in the BSS, using config params tdls_prohibit and 183*f05cddf9SRui Paulo tdls_prohibit_chan_switch. 184*f05cddf9SRui Paulo * EAP server: Add support for configuring fragment size (see 185*f05cddf9SRui Paulo fragment_size in hostapd.conf). 186*f05cddf9SRui Paulo * wlantest: Add a tool wlantest for IEEE802.11 protocol testing. 187*f05cddf9SRui Paulo wlantest can be used to capture frames from a monitor interface 188*f05cddf9SRui Paulo for realtime capturing or from pcap files for offline analysis. 189*f05cddf9SRui Paulo * Interworking: Support added for 802.11u. Enable in .config with 190*f05cddf9SRui Paulo CONFIG_INTERWORKING. See hostapd.conf for config parameters for 191*f05cddf9SRui Paulo interworking. 192*f05cddf9SRui Paulo * Android: Add build and runtime support for Android hostapd. 193*f05cddf9SRui Paulo * Add a new debug message level for excessive information. Use 194*f05cddf9SRui Paulo -ddd to enable. 195*f05cddf9SRui Paulo * TLS: Add support for tls_disable_time_checks=1 in client mode. 196*f05cddf9SRui Paulo * Internal TLS: 197*f05cddf9SRui Paulo - Add support for TLS v1.1 (RFC 4346). Enable with build parameter 198*f05cddf9SRui Paulo CONFIG_TLSV11. 199*f05cddf9SRui Paulo - Add domainComponent parser for X.509 names 200*f05cddf9SRui Paulo * Reorder some IEs to get closer to IEEE 802.11 standard. Move 201*f05cddf9SRui Paulo WMM into end of Beacon, Probe Resp and (Re)Assoc Resp frames. 202*f05cddf9SRui Paulo Move HT IEs to be later in (Re)Assoc Resp. 203*f05cddf9SRui Paulo * Many bugfixes. 204e28a4053SRui Paulo 205e28a4053SRui Paulo2010-04-18 - v0.7.2 206e28a4053SRui Paulo * fix WPS internal Registrar use when an external Registrar is also 207e28a4053SRui Paulo active 208e28a4053SRui Paulo * bsd: Cleaned up driver wrapper and added various low-level 209e28a4053SRui Paulo configuration options 210e28a4053SRui Paulo * TNC: fixed issues with fragmentation 211e28a4053SRui Paulo * EAP-TNC: add Flags field into fragment acknowledgement (needed to 212e28a4053SRui Paulo interoperate with other implementations; may potentially breaks 213e28a4053SRui Paulo compatibility with older wpa_supplicant/hostapd versions) 214e28a4053SRui Paulo * cleaned up driver wrapper API for multi-BSS operations 215e28a4053SRui Paulo * nl80211: fix multi-BSS and VLAN operations 216e28a4053SRui Paulo * fix number of issues with IEEE 802.11r/FT; this version is not 217e28a4053SRui Paulo backwards compatible with old versions 218e28a4053SRui Paulo * add SA Query Request processing in AP mode (IEEE 802.11w) 219e28a4053SRui Paulo * fix IGTK PN in group rekeying (IEEE 802.11w) 220e28a4053SRui Paulo * fix WPS PBC session overlap detection to use correct attribute 221e28a4053SRui Paulo * hostapd_notif_Assoc() can now be called with all IEs to simplify 222e28a4053SRui Paulo driver wrappers 223e28a4053SRui Paulo * work around interoperability issue with some WPS External Registrar 224e28a4053SRui Paulo implementations 225e28a4053SRui Paulo * nl80211: fix WPS IE update 226e28a4053SRui Paulo * hostapd_cli: add support for action script operations (run a script 227e28a4053SRui Paulo on hostapd events) 228e28a4053SRui Paulo * fix DH padding with internal crypto code (mainly, for WPS) 229e28a4053SRui Paulo * fix WPS association with both WPS IE and WPA/RSN IE present with 230e28a4053SRui Paulo driver wrappers that use hostapd MLME (e.g., nl80211) 231e28a4053SRui Paulo 232e28a4053SRui Paulo2010-01-16 - v0.7.1 233e28a4053SRui Paulo * cleaned up driver wrapper API (struct wpa_driver_ops); the new API 234e28a4053SRui Paulo is not fully backwards compatible, so out-of-tree driver wrappers 235e28a4053SRui Paulo will need modifications 236e28a4053SRui Paulo * cleaned up various module interfaces 237e28a4053SRui Paulo * merge hostapd and wpa_supplicant developers' documentation into a 238e28a4053SRui Paulo single document 239e28a4053SRui Paulo * fixed HT Capabilities IE with nl80211 drivers 240e28a4053SRui Paulo * moved generic AP functionality code into src/ap 241e28a4053SRui Paulo * WPS: handle Selected Registrar as union of info from all Registrars 242e28a4053SRui Paulo * remove obsolte Prism54.org driver wrapper 243e28a4053SRui Paulo * added internal debugging mechanism with backtrace support and memory 244e28a4053SRui Paulo allocation/freeing validation, etc. tests (CONFIG_WPA_TRACE=y) 245e28a4053SRui Paulo * EAP-FAST server: piggyback Phase 2 start with the end of Phase 1 246e28a4053SRui Paulo * WPS: add support for dynamically selecting whether to provision the 247e28a4053SRui Paulo PSK as an ASCII passphrase or PSK 248e28a4053SRui Paulo * added support for WDS (4-address frame) mode with per-station virtual 249e28a4053SRui Paulo interfaces (wds_sta=1 in config file; only supported with 250e28a4053SRui Paulo driver=nl80211 for now) 2513157ba21SRui Paulo * fixed WPS Probe Request processing to handle missing required 2523157ba21SRui Paulo attribute 2533157ba21SRui Paulo * fixed PKCS#12 use with OpenSSL 1.0.0 254e28a4053SRui Paulo * detect bridge interface automatically so that bridge parameter in 255e28a4053SRui Paulo hostapd.conf becomes optional (though, it may now be used to 256e28a4053SRui Paulo automatically add then WLAN interface into a bridge with 257e28a4053SRui Paulo driver=nl80211) 2583157ba21SRui Paulo 259e28a4053SRui Paulo2009-11-21 - v0.7.0 26039beb93cSSam Leffler * increased hostapd_cli ping interval to 5 seconds and made this 26139beb93cSSam Leffler configurable with a new command line options (-G<seconds>) 26239beb93cSSam Leffler * driver_nl80211: use Linux socket filter to improve performance 26339beb93cSSam Leffler * added support for external Registrars with WPS (UPnP transport) 264e28a4053SRui Paulo * 802.11n: scan for overlapping BSSes before starting 20/40 MHz channel 265e28a4053SRui Paulo * driver_nl80211: fixed STA accounting data collection (TX/RX bytes 266e28a4053SRui Paulo reported correctly; TX/RX packets not yet available from kernel) 267e28a4053SRui Paulo * added support for WPS USBA out-of-band mechanism with USB Flash 268e28a4053SRui Paulo Drives (UFD) (CONFIG_WPS_UFD=y) 269e28a4053SRui Paulo * fixed EAPOL/EAP reauthentication when using an external RADIUS 270e28a4053SRui Paulo authentication server 271e28a4053SRui Paulo * fixed TNC with EAP-TTLS 272e28a4053SRui Paulo * fixed IEEE 802.11r key derivation function to match with the standard 273e28a4053SRui Paulo (note: this breaks interoperability with previous version) [Bug 303] 274e28a4053SRui Paulo * fixed SHA-256 based key derivation function to match with the 275e28a4053SRui Paulo standard when using CCMP (for IEEE 802.11r and IEEE 802.11w) 276e28a4053SRui Paulo (note: this breaks interoperability with previous version) [Bug 307] 277e28a4053SRui Paulo * added number of code size optimizations to remove unnecessary 278e28a4053SRui Paulo functionality from the program binary based on build configuration 279e28a4053SRui Paulo (part of this automatic; part configurable with CONFIG_NO_* build 280e28a4053SRui Paulo options) 281e28a4053SRui Paulo * use shared driver wrapper files with wpa_supplicant 282e28a4053SRui Paulo * driver_nl80211: multiple updates to provide support for new Linux 283e28a4053SRui Paulo nl80211/mac80211 functionality 284e28a4053SRui Paulo * updated management frame protection to use IEEE Std 802.11w-2009 285e28a4053SRui Paulo * fixed number of small WPS issues and added workarounds to 286e28a4053SRui Paulo interoperate with common deployed broken implementations 287*f05cddf9SRui Paulo * added some IEEE 802.11n co-existence rules to disable 40 MHz channels 288e28a4053SRui Paulo or modify primary/secondary channels if needed based on neighboring 289e28a4053SRui Paulo networks 290e28a4053SRui Paulo * added support for NFC out-of-band mechanism with WPS 291e28a4053SRui Paulo * added preliminary support for IEEE 802.11r RIC processing 29239beb93cSSam Leffler 29339beb93cSSam Leffler2009-01-06 - v0.6.7 29439beb93cSSam Leffler * added support for Wi-Fi Protected Setup (WPS) 29539beb93cSSam Leffler (hostapd can now be configured to act as an integrated WPS Registrar 29639beb93cSSam Leffler and provision credentials for WPS Enrollees using PIN and PBC 29739beb93cSSam Leffler methods; external wireless Registrar can configure the AP, but 29839beb93cSSam Leffler external WLAN Manager Registrars are not supported); WPS support can 29939beb93cSSam Leffler be enabled by adding CONFIG_WPS=y into .config and setting the 30039beb93cSSam Leffler runtime configuration variables in hostapd.conf (see WPS section in 30139beb93cSSam Leffler the example configuration file); new hostapd_cli commands wps_pin and 30239beb93cSSam Leffler wps_pbc are used to configure WPS negotiation; see README-WPS for 30339beb93cSSam Leffler more details 30439beb93cSSam Leffler * added IEEE 802.11n HT capability configuration (ht_capab) 30539beb93cSSam Leffler * added support for generating Country IE based on nl80211 regulatory 30639beb93cSSam Leffler information (added if ieee80211d=1 in configuration) 30739beb93cSSam Leffler * fixed WEP authentication (both Open System and Shared Key) with 30839beb93cSSam Leffler mac80211 30939beb93cSSam Leffler * added support for EAP-AKA' (draft-arkko-eap-aka-kdf) 31039beb93cSSam Leffler * added support for using driver_test over UDP socket 31139beb93cSSam Leffler * changed EAP-GPSK to use the IANA assigned EAP method type 51 31239beb93cSSam Leffler * updated management frame protection to use IEEE 802.11w/D7.0 31339beb93cSSam Leffler * fixed retransmission of EAP requests if no response is received 31439beb93cSSam Leffler 31539beb93cSSam Leffler2008-11-23 - v0.6.6 31639beb93cSSam Leffler * added a new configuration option, wpa_ptk_rekey, that can be used to 31739beb93cSSam Leffler enforce frequent PTK rekeying, e.g., to mitigate some attacks against 31839beb93cSSam Leffler TKIP deficiencies 31939beb93cSSam Leffler * updated OpenSSL code for EAP-FAST to use an updated version of the 32039beb93cSSam Leffler session ticket overriding API that was included into the upstream 32139beb93cSSam Leffler OpenSSL 0.9.9 tree on 2008-11-15 (no additional OpenSSL patch is 32239beb93cSSam Leffler needed with that version anymore) 32339beb93cSSam Leffler * changed channel flags configuration to read the information from 32439beb93cSSam Leffler the driver (e.g., via driver_nl80211 when using mac80211) instead of 32539beb93cSSam Leffler using hostapd as the source of the regulatory information (i.e., 32639beb93cSSam Leffler information from CRDA is now used with mac80211); this allows 5 GHz 32739beb93cSSam Leffler channels to be used with hostapd (if allowed in the current 32839beb93cSSam Leffler regulatory domain) 32939beb93cSSam Leffler * fixed EAP-TLS message processing for the last TLS message if it is 33039beb93cSSam Leffler large enough to require fragmentation (e.g., if a large Session 33139beb93cSSam Leffler Ticket data is included) 33239beb93cSSam Leffler * fixed listen interval configuration for nl80211 drivers 33339beb93cSSam Leffler 33439beb93cSSam Leffler2008-11-01 - v0.6.5 33539beb93cSSam Leffler * added support for SHA-256 as X.509 certificate digest when using the 33639beb93cSSam Leffler internal X.509/TLSv1 implementation 33739beb93cSSam Leffler * fixed EAP-FAST PAC-Opaque padding (0.6.4 broke this for some peer 33839beb93cSSam Leffler identity lengths) 33939beb93cSSam Leffler * fixed internal TLSv1 implementation for abbreviated handshake (used 34039beb93cSSam Leffler by EAP-FAST server) 34139beb93cSSam Leffler * added support for setting VLAN ID for STAs based on local MAC ACL 34239beb93cSSam Leffler (accept_mac_file) as an alternative for RADIUS server-based 34339beb93cSSam Leffler configuration 34439beb93cSSam Leffler * updated management frame protection to use IEEE 802.11w/D6.0 34539beb93cSSam Leffler (adds a new association ping to protect against unauthenticated 34639beb93cSSam Leffler authenticate or (re)associate request frames dropping association) 34739beb93cSSam Leffler * added support for using SHA256-based stronger key derivation for WPA2 34839beb93cSSam Leffler (IEEE 802.11w) 34939beb93cSSam Leffler * added new "driver wrapper" for RADIUS-only configuration 35039beb93cSSam Leffler (driver=none in hostapd.conf; CONFIG_DRIVER_NONE=y in .config) 35139beb93cSSam Leffler * fixed WPA/RSN IE validation to verify that the proto (WPA vs. WPA2) 35239beb93cSSam Leffler is enabled in configuration 35339beb93cSSam Leffler * changed EAP-FAST configuration to use separate fields for A-ID and 35439beb93cSSam Leffler A-ID-Info (eap_fast_a_id_info) to allow A-ID to be set to a fixed 35539beb93cSSam Leffler 16-octet len binary value for better interoperability with some peer 35639beb93cSSam Leffler implementations; eap_fast_a_id is now configured as a hex string 35739beb93cSSam Leffler * driver_nl80211: Updated to match the current Linux mac80211 AP mode 35839beb93cSSam Leffler configuration (wireless-testing.git and Linux kernel releases 35939beb93cSSam Leffler starting from 2.6.29) 36039beb93cSSam Leffler 36139beb93cSSam Leffler2008-08-10 - v0.6.4 36239beb93cSSam Leffler * added peer identity into EAP-FAST PAC-Opaque and skip Phase 2 36339beb93cSSam Leffler Identity Request if identity is already known 36439beb93cSSam Leffler * added support for EAP Sequences in EAP-FAST Phase 2 36539beb93cSSam Leffler * added support for EAP-TNC (Trusted Network Connect) 36639beb93cSSam Leffler (this version implements the EAP-TNC method and EAP-TTLS/EAP-FAST 36739beb93cSSam Leffler changes needed to run two methods in sequence (IF-T) and the IF-IMV 36839beb93cSSam Leffler and IF-TNCCS interfaces from TNCS) 36939beb93cSSam Leffler * added support for optional cryptobinding with PEAPv0 37039beb93cSSam Leffler * added fragmentation support for EAP-TNC 37139beb93cSSam Leffler * added support for fragmenting EAP-TTLS/PEAP/FAST Phase 2 (tunneled) 37239beb93cSSam Leffler data 37339beb93cSSam Leffler * added support for opportunistic key caching (OKC) 37439beb93cSSam Leffler 37539beb93cSSam Leffler2008-02-22 - v0.6.3 37639beb93cSSam Leffler * fixed Reassociation Response callback processing when using internal 37739beb93cSSam Leffler MLME (driver_{hostap,nl80211,test}.c) 37839beb93cSSam Leffler * updated FT support to use the latest draft, IEEE 802.11r/D9.0 37939beb93cSSam Leffler * copy optional Proxy-State attributes into RADIUS response when acting 38039beb93cSSam Leffler as a RADIUS authentication server 38139beb93cSSam Leffler * fixed EAPOL state machine to handle a case in which no response is 38239beb93cSSam Leffler received from the RADIUS authentication server; previous version 38339beb93cSSam Leffler could have triggered a crash in some cases after a timeout 38439beb93cSSam Leffler * fixed EAP-SIM/AKA realm processing to allow decorated usernames to 38539beb93cSSam Leffler be used 38639beb93cSSam Leffler * added a workaround for EAP-SIM/AKA peers that include incorrect null 38739beb93cSSam Leffler termination in the username 38839beb93cSSam Leffler * fixed EAP-SIM/AKA protected result indication to include AT_COUNTER 38939beb93cSSam Leffler attribute in notification messages only when using fast 39039beb93cSSam Leffler reauthentication 39139beb93cSSam Leffler * fixed EAP-SIM Start response processing for fast reauthentication 39239beb93cSSam Leffler case 39339beb93cSSam Leffler * added support for pending EAP processing in EAP-{PEAP,TTLS,FAST} 39439beb93cSSam Leffler phase 2 to allow EAP-SIM and EAP-AKA to be used as the Phase 2 method 39539beb93cSSam Leffler 39639beb93cSSam Leffler2008-01-01 - v0.6.2 39739beb93cSSam Leffler * fixed EAP-SIM and EAP-AKA message parser to validate attribute 39839beb93cSSam Leffler lengths properly to avoid potential crash caused by invalid messages 39939beb93cSSam Leffler * added data structure for storing allocated buffers (struct wpabuf); 40039beb93cSSam Leffler this does not affect hostapd usage, but many of the APIs changed 40139beb93cSSam Leffler and various interfaces (e.g., EAP) is not compatible with old 40239beb93cSSam Leffler versions 40339beb93cSSam Leffler * added support for protecting EAP-AKA/Identity messages with 40439beb93cSSam Leffler AT_CHECKCODE (optional feature in RFC 4187) 40539beb93cSSam Leffler * added support for protected result indication with AT_RESULT_IND for 40639beb93cSSam Leffler EAP-SIM and EAP-AKA (eap_sim_aka_result_ind=1) 40739beb93cSSam Leffler * added support for configuring EAP-TTLS phase 2 non-EAP methods in 40839beb93cSSam Leffler EAP server configuration; previously all four were enabled for every 40939beb93cSSam Leffler phase 2 user, now all four are disabled by default and need to be 41039beb93cSSam Leffler enabled with new method names TTLS-PAP, TTLS-CHAP, TTLS-MSCHAP, 41139beb93cSSam Leffler TTLS-MSCHAPV2 41239beb93cSSam Leffler * removed old debug printing mechanism and the related 'debug' 41339beb93cSSam Leffler parameter in the configuration file; debug verbosity is now set with 41439beb93cSSam Leffler -d (or -dd) command line arguments 41539beb93cSSam Leffler * added support for EAP-IKEv2 (draft-tschofenig-eap-ikev2-15.txt); 41639beb93cSSam Leffler only shared key/password authentication is supported in this version 41739beb93cSSam Leffler 41839beb93cSSam Leffler2007-11-24 - v0.6.1 41939beb93cSSam Leffler * added experimental, integrated TLSv1 server implementation with the 42039beb93cSSam Leffler needed X.509/ASN.1/RSA/bignum processing (this can be enabled by 42139beb93cSSam Leffler setting CONFIG_TLS=internal and CONFIG_INTERNAL_LIBTOMMATH=y in 42239beb93cSSam Leffler .config); this can be useful, e.g., if the target system does not 42339beb93cSSam Leffler have a suitable TLS library and a minimal code size is required 42439beb93cSSam Leffler * added support for EAP-FAST server method to the integrated EAP 42539beb93cSSam Leffler server 42639beb93cSSam Leffler * updated EAP Generalized Pre-Shared Key (EAP-GPSK) to use the latest 42739beb93cSSam Leffler draft (draft-ietf-emu-eap-gpsk-07.txt) 42839beb93cSSam Leffler * added a new configuration parameter, rsn_pairwise, to allow different 42939beb93cSSam Leffler pairwise cipher suites to be enabled for WPA and RSN/WPA2 43039beb93cSSam Leffler (note: if wpa_pairwise differs from rsn_pairwise, the driver will 43139beb93cSSam Leffler either need to support this or will have to use the WPA/RSN IEs from 43239beb93cSSam Leffler hostapd; currently, the included madwifi and bsd driver interfaces do 43339beb93cSSam Leffler not have support for this) 43439beb93cSSam Leffler * updated FT support to use the latest draft, IEEE 802.11r/D8.0 43539beb93cSSam Leffler 43639beb93cSSam Leffler2007-05-28 - v0.6.0 43739beb93cSSam Leffler * added experimental IEEE 802.11r/D6.0 support 43839beb93cSSam Leffler * updated EAP-SAKE to RFC 4763 and the IANA-allocated EAP type 48 43939beb93cSSam Leffler * updated EAP-PSK to use the IANA-allocated EAP type 47 44039beb93cSSam Leffler * fixed EAP-PSK bit ordering of the Flags field 44139beb93cSSam Leffler * fixed configuration reloading (SIGHUP) to re-initialize WPA PSKs 44239beb93cSSam Leffler by reading wpa_psk_file [Bug 181] 44339beb93cSSam Leffler * fixed EAP-TTLS AVP parser processing for too short AVP lengths 44439beb93cSSam Leffler * fixed IPv6 connection to RADIUS accounting server 44539beb93cSSam Leffler * updated EAP Generalized Pre-Shared Key (EAP-GPSK) to use the latest 44639beb93cSSam Leffler draft (draft-ietf-emu-eap-gpsk-04.txt) 44739beb93cSSam Leffler * hlr_auc_gw: read GSM triplet file into memory and rotate through the 44839beb93cSSam Leffler entries instead of only using the same three triplets every time 44939beb93cSSam Leffler (this does not work properly with tests using multiple clients, but 45039beb93cSSam Leffler provides bit better triplet data for testing a single client; anyway, 45139beb93cSSam Leffler if a better quality triplets are needed, GSM-Milenage should be used 45239beb93cSSam Leffler instead of hardcoded triplet file) 45339beb93cSSam Leffler * fixed EAP-MSCHAPv2 server to use a space between S and M parameters 45439beb93cSSam Leffler in Success Request [Bug 203] 45539beb93cSSam Leffler * added support for sending EAP-AKA Notifications in error cases 45639beb93cSSam Leffler * updated to use IEEE 802.11w/D2.0 for management frame protection 45739beb93cSSam Leffler (still experimental) 45839beb93cSSam Leffler * RADIUS server: added support for processing duplicate messages 45939beb93cSSam Leffler (retransmissions from RADIUS client) by replying with the previous 46039beb93cSSam Leffler reply 46139beb93cSSam Leffler 46239beb93cSSam Leffler2006-11-24 - v0.5.6 46339beb93cSSam Leffler * added support for configuring and controlling multiple BSSes per 46439beb93cSSam Leffler radio interface (bss=<ifname> in hostapd.conf); this is only 46539beb93cSSam Leffler available with Devicescape and test driver interfaces 46639beb93cSSam Leffler * fixed PMKSA cache update in the end of successful RSN 46739beb93cSSam Leffler pre-authentication 46839beb93cSSam Leffler * added support for dynamic VLAN configuration (i.e., selecting VLAN-ID 46939beb93cSSam Leffler for each STA based on RADIUS Access-Accept attributes); this requires 47039beb93cSSam Leffler VLAN support from the kernel driver/802.11 stack and this is 47139beb93cSSam Leffler currently only available with Devicescape and test driver interfaces 47239beb93cSSam Leffler * driver_madwifi: fixed configuration of unencrypted modes (plaintext 47339beb93cSSam Leffler and IEEE 802.1X without WEP) 47439beb93cSSam Leffler * removed STAKey handshake since PeerKey handshake has replaced it in 47539beb93cSSam Leffler IEEE 802.11ma and there are no known deployments of STAKey 47639beb93cSSam Leffler * updated EAP Generalized Pre-Shared Key (EAP-GPSK) to use the latest 47739beb93cSSam Leffler draft (draft-ietf-emu-eap-gpsk-01.txt) 47839beb93cSSam Leffler * added preliminary implementation of IEEE 802.11w/D1.0 (management 47939beb93cSSam Leffler frame protection) 48039beb93cSSam Leffler (Note: this requires driver support to work properly.) 48139beb93cSSam Leffler (Note2: IEEE 802.11w is an unapproved draft and subject to change.) 48239beb93cSSam Leffler * hlr_auc_gw: added support for GSM-Milenage (for EAP-SIM) 48339beb93cSSam Leffler * hlr_auc_gw: added support for reading per-IMSI Milenage keys and 48439beb93cSSam Leffler parameters from a text file to make it possible to implement proper 48539beb93cSSam Leffler GSM/UMTS authentication server for multiple SIM/USIM cards using 48639beb93cSSam Leffler EAP-SIM/EAP-AKA 48739beb93cSSam Leffler * fixed session timeout processing with drivers that do not use 48839beb93cSSam Leffler ieee802_11.c (e.g., madwifi) 48939beb93cSSam Leffler 49039beb93cSSam Leffler2006-08-27 - v0.5.5 49139beb93cSSam Leffler * added 'hostapd_cli new_sta <addr>' command for adding a new STA into 49239beb93cSSam Leffler hostapd (e.g., to initialize wired network authentication based on an 49339beb93cSSam Leffler external signal) 49439beb93cSSam Leffler * fixed hostapd to add PMKID KDE into 4-Way Handshake Message 1 when 49539beb93cSSam Leffler using WPA2 even if PMKSA caching is not used 49639beb93cSSam Leffler * added -P<pid file> argument for hostapd to write the current process 49739beb93cSSam Leffler id into a file 49839beb93cSSam Leffler * added support for RADIUS Authentication Server MIB (RFC 2619) 49939beb93cSSam Leffler 50039beb93cSSam Leffler2006-06-20 - v0.5.4 50139beb93cSSam Leffler * fixed nt_password_hash build [Bug 144] 50239beb93cSSam Leffler * added PeerKey handshake implementation for IEEE 802.11e 50339beb93cSSam Leffler direct link setup (DLS) to replace STAKey handshake 50439beb93cSSam Leffler * added support for EAP Generalized Pre-Shared Key (EAP-GPSK, 50539beb93cSSam Leffler draft-clancy-emu-eap-shared-secret-00.txt) 50639beb93cSSam Leffler * fixed a segmentation fault when RSN pre-authentication was completed 50739beb93cSSam Leffler successfully [Bug 152] 50839beb93cSSam Leffler 50939beb93cSSam Leffler2006-04-27 - v0.5.3 51039beb93cSSam Leffler * do not build nt_password_hash and hlr_auc_gw by default to avoid 51139beb93cSSam Leffler requiring a TLS library for a successful build; these programs can be 51239beb93cSSam Leffler build with 'make nt_password_hash' and 'make hlr_auc_gw' 51339beb93cSSam Leffler * added a new configuration option, eapol_version, that can be used to 51439beb93cSSam Leffler set EAPOL version to 1 (default is 2) to work around broken client 51539beb93cSSam Leffler implementations that drop EAPOL frames which use version number 2 51639beb93cSSam Leffler [Bug 89] 51739beb93cSSam Leffler * added support for EAP-SAKE (no EAP method number allocated yet, so 51839beb93cSSam Leffler this is using the same experimental type 255 as EAP-PSK) 51939beb93cSSam Leffler * fixed EAP-MSCHAPv2 message length validation 52039beb93cSSam Leffler 52139beb93cSSam Leffler2006-03-19 - v0.5.2 52239beb93cSSam Leffler * fixed stdarg use in hostapd_logger(): if both stdout and syslog 52339beb93cSSam Leffler logging was enabled, hostapd could trigger a segmentation fault in 52439beb93cSSam Leffler vsyslog on some CPU -- C library combinations 52539beb93cSSam Leffler * moved HLR/AuC gateway implementation for EAP-SIM/AKA into an external 52639beb93cSSam Leffler program to make it easier to use for implementing real SS7 gateway; 52739beb93cSSam Leffler eap_sim_db is not anymore used as a file name for GSM authentication 52839beb93cSSam Leffler triplets; instead, it is path to UNIX domain socket that will be used 52939beb93cSSam Leffler to communicate with the external gateway program (e.g., hlr_auc_gw) 53039beb93cSSam Leffler * added example HLR/AuC gateway implementation, hlr_auc_gw, that uses 53139beb93cSSam Leffler local information (GSM authentication triplets from a text file and 53239beb93cSSam Leffler hardcoded AKA authentication data); this can be used to test EAP-SIM 53339beb93cSSam Leffler and EAP-AKA 53439beb93cSSam Leffler * added Milenage algorithm (example 3GPP AKA algorithm) to hlr_auc_gw 53539beb93cSSam Leffler to make it possible to test EAP-AKA with real USIM cards (this is 53639beb93cSSam Leffler disabled by default; define AKA_USE_MILENAGE when building hlr_auc_gw 53739beb93cSSam Leffler to enable this) 53839beb93cSSam Leffler * driver_madwifi: added support for getting station RSN IE from 53939beb93cSSam Leffler madwifi-ng svn r1453 and newer; this fixes RSN that was apparently 54039beb93cSSam Leffler broken with earlier change (r1357) in the driver 54139beb93cSSam Leffler * changed EAP method registration to use a dynamic list of methods 54239beb93cSSam Leffler instead of a static list generated at build time 54339beb93cSSam Leffler * fixed WPA message 3/4 not to encrypt Key Data field (WPA IE) 54439beb93cSSam Leffler [Bug 125] 54539beb93cSSam Leffler * added ap_max_inactivity configuration parameter 54639beb93cSSam Leffler 54739beb93cSSam Leffler2006-01-29 - v0.5.1 54839beb93cSSam Leffler * driver_test: added better support for multiple APs and STAs by using 54939beb93cSSam Leffler a directory with sockets that include MAC address for each device in 55039beb93cSSam Leffler the name (test_socket=DIR:/tmp/test) 55139beb93cSSam Leffler * added support for EAP expanded type (vendor specific EAP methods) 55239beb93cSSam Leffler 55339beb93cSSam Leffler2005-12-18 - v0.5.0 (beginning of 0.5.x development releases) 55439beb93cSSam Leffler * added experimental STAKey handshake implementation for IEEE 802.11e 55539beb93cSSam Leffler direct link setup (DLS); note: this is disabled by default in both 55639beb93cSSam Leffler build and runtime configuration (can be enabled with CONFIG_STAKEY=y 55739beb93cSSam Leffler and stakey=1) 55839beb93cSSam Leffler * added support for EAP methods to use callbacks to external programs 55939beb93cSSam Leffler by buffering a pending request and processing it after the EAP method 56039beb93cSSam Leffler is ready to continue 56139beb93cSSam Leffler * improved EAP-SIM database interface to allow external request to GSM 56239beb93cSSam Leffler HLR/AuC without blocking hostapd process 56339beb93cSSam Leffler * added support for using EAP-SIM pseudonyms and fast re-authentication 56439beb93cSSam Leffler * added support for EAP-AKA in the integrated EAP authenticator 56539beb93cSSam Leffler * added support for matching EAP identity prefixes (e.g., "1"*) in EAP 56639beb93cSSam Leffler user database to allow EAP-SIM/AKA selection without extra roundtrip 56739beb93cSSam Leffler for EAP-Nak negotiation 56839beb93cSSam Leffler * added support for storing EAP user password as NtPasswordHash instead 56939beb93cSSam Leffler of plaintext password when using MSCHAP or MSCHAPv2 for 57039beb93cSSam Leffler authentication (hash:<16-octet hex value>); added nt_password_hash 57139beb93cSSam Leffler tool for hashing password to generate NtPasswordHash 57239beb93cSSam Leffler 57339beb93cSSam Leffler2005-11-20 - v0.4.7 (beginning of 0.4.x stable releases) 57439beb93cSSam Leffler * driver_wired: fixed EAPOL sending to optionally use PAE group address 57539beb93cSSam Leffler as the destination instead of supplicant MAC address; this is 57639beb93cSSam Leffler disabled by default, but should be enabled with use_pae_group_addr=1 57739beb93cSSam Leffler in configuration file if the wired interface is used by only one 57839beb93cSSam Leffler device at the time (common switch configuration) 57939beb93cSSam Leffler * driver_madwifi: configure driver to use TKIP countermeasures in order 58039beb93cSSam Leffler to get correct behavior (IEEE 802.11 association failing; previously, 58139beb93cSSam Leffler association succeeded, but hostpad forced disassociation immediately) 58239beb93cSSam Leffler * driver_madwifi: added support for madwifi-ng 58339beb93cSSam Leffler 58439beb93cSSam Leffler2005-10-27 - v0.4.6 58539beb93cSSam Leffler * added support for replacing user identity from EAP with RADIUS 58639beb93cSSam Leffler User-Name attribute from Access-Accept message, if that is included, 58739beb93cSSam Leffler for the RADIUS accounting messages (e.g., for EAP-PEAP/TTLS to get 58839beb93cSSam Leffler tunneled identity into accounting messages when the RADIUS server 58939beb93cSSam Leffler does not support better way of doing this with Class attribute) 59039beb93cSSam Leffler * driver_madwifi: fixed EAPOL packet receive for configuration where 59139beb93cSSam Leffler ath# is part of a bridge interface 59239beb93cSSam Leffler * added a configuration file and log analyzer script for logwatch 59339beb93cSSam Leffler * fixed EAPOL state machine step function to process all state 59439beb93cSSam Leffler transitions before processing new events; this resolves a race 59539beb93cSSam Leffler condition in which EAPOL-Start message could trigger hostapd to send 59639beb93cSSam Leffler two EAP-Response/Identity frames to the authentication server 59739beb93cSSam Leffler 59839beb93cSSam Leffler2005-09-25 - v0.4.5 59939beb93cSSam Leffler * added client CA list to the TLS certificate request in order to make 60039beb93cSSam Leffler it easier for the client to select which certificate to use 60139beb93cSSam Leffler * added experimental support for EAP-PSK 60239beb93cSSam Leffler * added support for WE-19 (hostap, madwifi) 60339beb93cSSam Leffler 60439beb93cSSam Leffler2005-08-21 - v0.4.4 60539beb93cSSam Leffler * fixed build without CONFIG_RSN_PREAUTH 60639beb93cSSam Leffler * fixed FreeBSD build 60739beb93cSSam Leffler 60839beb93cSSam Leffler2005-06-26 - v0.4.3 60939beb93cSSam Leffler * fixed PMKSA caching to copy User-Name and Class attributes so that 61039beb93cSSam Leffler RADIUS accounting gets correct information 61139beb93cSSam Leffler * start RADIUS accounting only after successful completion of WPA 61239beb93cSSam Leffler 4-Way Handshake if WPA-PSK is used 61339beb93cSSam Leffler * fixed PMKSA caching for the case where STA (re)associates without 61439beb93cSSam Leffler first disassociating 61539beb93cSSam Leffler 61639beb93cSSam Leffler2005-06-12 - v0.4.2 61739beb93cSSam Leffler * EAP-PAX is now registered as EAP type 46 61839beb93cSSam Leffler * fixed EAP-PAX MAC calculation 61939beb93cSSam Leffler * fixed EAP-PAX CK and ICK key derivation 62039beb93cSSam Leffler * renamed eap_authenticator configuration variable to eap_server to 62139beb93cSSam Leffler better match with RFC 3748 (EAP) terminology 62239beb93cSSam Leffler * driver_test: added support for testing hostapd with wpa_supplicant 62339beb93cSSam Leffler by using test driver interface without any kernel drivers or network 62439beb93cSSam Leffler cards 62539beb93cSSam Leffler 62639beb93cSSam Leffler2005-05-22 - v0.4.1 62739beb93cSSam Leffler * fixed RADIUS server initialization when only auth or acct server 62839beb93cSSam Leffler is configured and the other one is left empty 62939beb93cSSam Leffler * driver_madwifi: added support for RADIUS accounting 63039beb93cSSam Leffler * driver_madwifi: added preliminary support for compiling against 'BSD' 63139beb93cSSam Leffler branch of madwifi CVS tree 63239beb93cSSam Leffler * driver_madwifi: fixed pairwise key removal to allow WPA reauth 63339beb93cSSam Leffler without disassociation 63439beb93cSSam Leffler * added support for reading additional certificates from PKCS#12 files 63539beb93cSSam Leffler and adding them to the certificate chain 63639beb93cSSam Leffler * fixed RADIUS Class attribute processing to only use Access-Accept 63739beb93cSSam Leffler packets to update Class; previously, other RADIUS authentication 63839beb93cSSam Leffler packets could have cleared Class attribute 63939beb93cSSam Leffler * added support for more than one Class attribute in RADIUS packets 64039beb93cSSam Leffler * added support for verifying certificate revocation list (CRL) when 64139beb93cSSam Leffler using integrated EAP authenticator for EAP-TLS; new hostapd.conf 64239beb93cSSam Leffler options 'check_crl'; CRL must be included in the ca_cert file for now 64339beb93cSSam Leffler 64439beb93cSSam Leffler2005-04-25 - v0.4.0 (beginning of 0.4.x development releases) 64539beb93cSSam Leffler * added support for including network information into 64639beb93cSSam Leffler EAP-Request/Identity message (ASCII-0 (nul) in eap_message) 64739beb93cSSam Leffler (e.g., to implement draft-adrange-eap-network-discovery-07.txt) 64839beb93cSSam Leffler * fixed a bug which caused some RSN pre-authentication cases to use 64939beb93cSSam Leffler freed memory and potentially crash hostapd 65039beb93cSSam Leffler * fixed private key loading for cases where passphrase is not set 65139beb93cSSam Leffler * added support for sending TLS alerts and aborting authentication 65239beb93cSSam Leffler when receiving a TLS alert 65339beb93cSSam Leffler * fixed WPA2 to add PMKSA cache entry when using integrated EAP 65439beb93cSSam Leffler authenticator 65539beb93cSSam Leffler * fixed PMKSA caching (EAP authentication was not skipped correctly 65639beb93cSSam Leffler with the new state machine changes from IEEE 802.1X draft) 65739beb93cSSam Leffler * added support for RADIUS over IPv6; own_ip_addr, auth_server_addr, 65839beb93cSSam Leffler and acct_server_addr can now be IPv6 addresses (CONFIG_IPV6=y needs 65939beb93cSSam Leffler to be added to .config to include IPv6 support); for RADIUS server, 66039beb93cSSam Leffler radius_server_ipv6=1 needs to be set in hostapd.conf and addresses 66139beb93cSSam Leffler in RADIUS clients file can then use IPv6 format 66239beb93cSSam Leffler * added experimental support for EAP-PAX 66339beb93cSSam Leffler * replaced hostapd control interface library (hostapd_ctrl.[ch]) with 66439beb93cSSam Leffler the same implementation that wpa_supplicant is using (wpa_ctrl.[ch]) 66539beb93cSSam Leffler 66639beb93cSSam Leffler2005-02-12 - v0.3.7 (beginning of 0.3.x stable releases) 66739beb93cSSam Leffler 66839beb93cSSam Leffler2005-01-23 - v0.3.5 66939beb93cSSam Leffler * added support for configuring a forced PEAP version based on the 67039beb93cSSam Leffler Phase 1 identity 67139beb93cSSam Leffler * fixed PEAPv1 to use tunneled EAP-Success/Failure instead of EAP-TLV 67239beb93cSSam Leffler to terminate authentication 67339beb93cSSam Leffler * fixed EAP identifier duplicate processing with the new IEEE 802.1X 67439beb93cSSam Leffler draft 67539beb93cSSam Leffler * clear accounting data in the driver when starting a new accounting 67639beb93cSSam Leffler session 67739beb93cSSam Leffler * driver_madwifi: filter wireless events based on ifindex to allow more 67839beb93cSSam Leffler than one network interface to be used 67939beb93cSSam Leffler * fixed WPA message 2/4 processing not to cancel timeout for TimeoutEvt 68039beb93cSSam Leffler setting if the packet does not pass MIC verification (e.g., due to 68139beb93cSSam Leffler incorrect PSK); previously, message 1/4 was not tried again if an 68239beb93cSSam Leffler invalid message 2/4 was received 68339beb93cSSam Leffler * fixed reconfiguration of RADIUS client retransmission timer when 68439beb93cSSam Leffler adding a new message to the pending list; previously, timer was not 68539beb93cSSam Leffler updated at this point and if there was a pending message with long 68639beb93cSSam Leffler time for the next retry, the new message needed to wait that long for 68739beb93cSSam Leffler its first retry, too 68839beb93cSSam Leffler 68939beb93cSSam Leffler2005-01-09 - v0.3.4 69039beb93cSSam Leffler * added support for configuring multiple allowed EAP types for Phase 2 69139beb93cSSam Leffler authentication (EAP-PEAP, EAP-TTLS) 69239beb93cSSam Leffler * fixed EAPOL-Start processing to trigger WPA reauthentication 69339beb93cSSam Leffler (previously, only EAPOL authentication was done) 69439beb93cSSam Leffler 69539beb93cSSam Leffler2005-01-02 - v0.3.3 69639beb93cSSam Leffler * added support for EAP-PEAP in the integrated EAP authenticator 69739beb93cSSam Leffler * added support for EAP-GTC in the integrated EAP authenticator 69839beb93cSSam Leffler * added support for configuring list of EAP methods for Phase 1 so that 69939beb93cSSam Leffler the integrated EAP authenticator can, e.g., use the wildcard entry 70039beb93cSSam Leffler for EAP-TLS and EAP-PEAP 70139beb93cSSam Leffler * added support for EAP-TTLS in the integrated EAP authenticator 70239beb93cSSam Leffler * added support for EAP-SIM in the integrated EAP authenticator 70339beb93cSSam Leffler * added support for using hostapd as a RADIUS authentication server 70439beb93cSSam Leffler with the integrated EAP authenticator taking care of EAP 70539beb93cSSam Leffler authentication (new hostapd.conf options: radius_server_clients and 70639beb93cSSam Leffler radius_server_auth_port); this is not included in default build; use 70739beb93cSSam Leffler CONFIG_RADIUS_SERVER=y in .config to include 70839beb93cSSam Leffler 70939beb93cSSam Leffler2004-12-19 - v0.3.2 71039beb93cSSam Leffler * removed 'daemonize' configuration file option since it has not really 71139beb93cSSam Leffler been used at all for more than year 71239beb93cSSam Leffler * driver_madwifi: fixed group key setup and added get_ssid method 71339beb93cSSam Leffler * added support for EAP-MSCHAPv2 in the integrated EAP authenticator 71439beb93cSSam Leffler 71539beb93cSSam Leffler2004-12-12 - v0.3.1 71639beb93cSSam Leffler * added support for integrated EAP-TLS authentication (new hostapd.conf 71739beb93cSSam Leffler variables: ca_cert, server_cert, private_key, private_key_passwd); 71839beb93cSSam Leffler this enabled dynamic keying (WPA2/WPA/IEEE 802.1X/WEP) without 71939beb93cSSam Leffler external RADIUS server 72039beb93cSSam Leffler * added support for reading PKCS#12 (PFX) files (as a replacement for 72139beb93cSSam Leffler PEM/DER) to get certificate and private key (CONFIG_PKCS12) 72239beb93cSSam Leffler 72339beb93cSSam Leffler2004-12-05 - v0.3.0 (beginning of 0.3.x development releases) 72439beb93cSSam Leffler * added support for Acct-{Input,Output}-Gigawords 72539beb93cSSam Leffler * added support for Event-Timestamp (in RADIUS Accounting-Requests) 72639beb93cSSam Leffler * added support for RADIUS Authentication Client MIB (RFC2618) 72739beb93cSSam Leffler * added support for RADIUS Accounting Client MIB (RFC2620) 72839beb93cSSam Leffler * made EAP re-authentication period configurable (eap_reauth_period) 72939beb93cSSam Leffler * fixed EAPOL reauthentication to trigger WPA/WPA2 reauthentication 73039beb93cSSam Leffler * fixed EAPOL state machine to stop if STA is removed during 73139beb93cSSam Leffler eapol_sm_step(); this fixes at least one segfault triggering bug with 73239beb93cSSam Leffler IEEE 802.11i pre-authentication 73339beb93cSSam Leffler * added support for multiple WPA pre-shared keys (e.g., one for each 73439beb93cSSam Leffler client MAC address or keys shared by a group of clients); 73539beb93cSSam Leffler new hostapd.conf field wpa_psk_file for setting path to a text file 73639beb93cSSam Leffler containing PSKs, see hostapd.wpa_psk for an example 73739beb93cSSam Leffler * added support for multiple driver interfaces to allow hostapd to be 73839beb93cSSam Leffler used with other drivers 73939beb93cSSam Leffler * added wired authenticator driver interface (driver=wired in 74039beb93cSSam Leffler hostapd.conf, see wired.conf for example configuration) 74139beb93cSSam Leffler * added madwifi driver interface (driver=madwifi in hostapd.conf, see 74239beb93cSSam Leffler madwifi.conf for example configuration; Note: include files from 74339beb93cSSam Leffler madwifi project is needed for building and a configuration file, 74439beb93cSSam Leffler .config, needs to be created in hostapd directory with 74539beb93cSSam Leffler CONFIG_DRIVER_MADWIFI=y to include this driver interface in hostapd 74639beb93cSSam Leffler build) 74739beb93cSSam Leffler * fixed an alignment issue that could cause SHA-1 to fail on some 74839beb93cSSam Leffler platforms (e.g., Intel ixp425 with a compiler that does not 32-bit 74939beb93cSSam Leffler align variables) 75039beb93cSSam Leffler * fixed RADIUS reconnection after an error in sending interim 75139beb93cSSam Leffler accounting packets 75239beb93cSSam Leffler * added hostapd control interface for external programs and an example 75339beb93cSSam Leffler CLI, hostapd_cli (like wpa_cli for wpa_supplicant) 75439beb93cSSam Leffler * started adding dot11, dot1x, radius MIBs ('hostapd_cli mib', 75539beb93cSSam Leffler 'hostapd_cli sta <addr>') 75639beb93cSSam Leffler * finished update from IEEE 802.1X-2001 to IEEE 802.1X-REV (now d11) 75739beb93cSSam Leffler * added support for strict GTK rekeying (wpa_strict_rekey in 75839beb93cSSam Leffler hostapd.conf) 75939beb93cSSam Leffler * updated IAPP to use UDP port 3517 and multicast address 224.0.1.178 76039beb93cSSam Leffler (instead of broadcast) for IAPP ADD-notify (moved from draft 3 to 76139beb93cSSam Leffler IEEE 802.11F-2003) 76239beb93cSSam Leffler * added Prism54 driver interface (driver=prism54 in hostapd.conf; 76339beb93cSSam Leffler note: .config needs to be created in hostapd directory with 76439beb93cSSam Leffler CONFIG_DRIVER_PRISM54=y to include this driver interface in hostapd 76539beb93cSSam Leffler build) 76639beb93cSSam Leffler * dual-licensed hostapd (GPLv2 and BSD licenses) 76739beb93cSSam Leffler * fixed RADIUS accounting to generate a new session id for cases where 76839beb93cSSam Leffler a station reassociates without first being complete deauthenticated 76939beb93cSSam Leffler * fixed STA disassociation handler to mark next timeout state to 77039beb93cSSam Leffler deauthenticate the station, i.e., skip long wait for inactivity poll 77139beb93cSSam Leffler and extra disassociation, if the STA disassociates without 77239beb93cSSam Leffler deauthenticating 77339beb93cSSam Leffler * added integrated EAP authenticator that can be used instead of 77439beb93cSSam Leffler external RADIUS authentication server; currently, only EAP-MD5 is 77539beb93cSSam Leffler supported, so this cannot yet be used for key distribution; the EAP 77639beb93cSSam Leffler method interface is generic, though, so adding new EAP methods should 77739beb93cSSam Leffler be straightforward; new hostapd.conf variables: 'eap_authenticator' 77839beb93cSSam Leffler and 'eap_user_file'; this obsoletes "minimal authentication server" 77939beb93cSSam Leffler ('minimal_eap' in hostapd.conf) which is now removed 78039beb93cSSam Leffler * added support for FreeBSD and driver interface for the BSD net80211 78139beb93cSSam Leffler layer (driver=bsd in hostapd.conf and CONFIG_DRIVER_BSD=y in 78239beb93cSSam Leffler .config); please note that some of the required kernel mods have not 78339beb93cSSam Leffler yet been committed 78439beb93cSSam Leffler 78539beb93cSSam Leffler2004-07-17 - v0.2.4 (beginning of 0.2.x stable releases) 78639beb93cSSam Leffler * fixed some accounting cases where Accounting-Start was sent when 78739beb93cSSam Leffler IEEE 802.1X port was being deauthorized 78839beb93cSSam Leffler 78939beb93cSSam Leffler2004-06-20 - v0.2.3 79039beb93cSSam Leffler * modified RADIUS client to re-connect the socket in case of certain 79139beb93cSSam Leffler error codes that are generated when a network interface state is 79239beb93cSSam Leffler changes (e.g., when IP address changes or the interface is set UP) 79339beb93cSSam Leffler * fixed couple of cases where EAPOL state for a station was freed 79439beb93cSSam Leffler twice causing a segfault for hostapd 79539beb93cSSam Leffler * fixed couple of bugs in processing WPA deauthentication (freed data 79639beb93cSSam Leffler was used) 79739beb93cSSam Leffler 79839beb93cSSam Leffler2004-05-31 - v0.2.2 79939beb93cSSam Leffler * fixed WPA/WPA2 group rekeying to use key index correctly (GN/GM) 80039beb93cSSam Leffler * fixed group rekeying to send zero TSC in EAPOL-Key messages to fix 80139beb93cSSam Leffler cases where STAs dropped multicast frames as replay attacks 80239beb93cSSam Leffler * added support for copying RADIUS Attribute 'Class' from 80339beb93cSSam Leffler authentication messages into accounting messages 80439beb93cSSam Leffler * send canned EAP failure if RADIUS server sends Access-Reject without 80539beb93cSSam Leffler EAP message (previously, Supplicant was not notified in this case) 80639beb93cSSam Leffler * fixed mixed WPA-PSK and WPA-EAP mode to work with WPA-PSK (i.e., do 80739beb93cSSam Leffler not start EAPOL state machines if the STA selected to use WPA-PSK) 80839beb93cSSam Leffler 80939beb93cSSam Leffler2004-05-06 - v0.2.1 81039beb93cSSam Leffler * added WPA and IEEE 802.11i/RSN (WPA2) Authenticator functionality 81139beb93cSSam Leffler - based on IEEE 802.11i/D10.0 but modified to interoperate with WPA 81239beb93cSSam Leffler (i.e., IEEE 802.11i/D3.0) 81339beb93cSSam Leffler - supports WPA-only, RSN-only, and mixed WPA/RSN mode 81439beb93cSSam Leffler - both WPA-PSK and WPA-RADIUS/EAP are supported 81539beb93cSSam Leffler - PMKSA caching and pre-authentication 81639beb93cSSam Leffler - new hostapd.conf variables: wpa, wpa_psk, wpa_passphrase, 81739beb93cSSam Leffler wpa_key_mgmt, wpa_pairwise, wpa_group_rekey, wpa_gmk_rekey, 81839beb93cSSam Leffler rsn_preauth, rsn_preauth_interfaces 81939beb93cSSam Leffler * fixed interim accounting to remove any pending accounting messages 82039beb93cSSam Leffler to the STA before sending a new one 82139beb93cSSam Leffler 82239beb93cSSam Leffler2004-02-15 - v0.2.0 82339beb93cSSam Leffler * added support for Acct-Interim-Interval: 82439beb93cSSam Leffler - draft-ietf-radius-acct-interim-01.txt 82539beb93cSSam Leffler - use Acct-Interim-Interval attribute from Access-Accept if local 82639beb93cSSam Leffler 'radius_acct_interim_interval' is not set 82739beb93cSSam Leffler - allow different update intervals for each STA 82839beb93cSSam Leffler * fixed event loop to call signal handlers only after returning from 82939beb93cSSam Leffler the real signal handler 83039beb93cSSam Leffler * reset sta->timeout_next after successful association to make sure 83139beb93cSSam Leffler that the previously registered inactivity timer will not remove the 83239beb93cSSam Leffler STA immediately (e.g., if STA deauthenticates and re-associates 83339beb93cSSam Leffler before the timer is triggered). 83439beb93cSSam Leffler * added new hostapd.conf variable, nas_identifier, that can be used to 83539beb93cSSam Leffler add an optional RADIUS Attribute, NAS-Identifier, into authentication 83639beb93cSSam Leffler and accounting messages 83739beb93cSSam Leffler * added support for Accounting-On and Accounting-Off messages 83839beb93cSSam Leffler * fixed accounting session handling to send Accounting-Start only once 83939beb93cSSam Leffler per session and not to send Accounting-Stop if the session was not 84039beb93cSSam Leffler initialized properly 84139beb93cSSam Leffler * fixed Accounting-Stop statistics in cases where the message was 84239beb93cSSam Leffler previously sent after the kernel entry for the STA (and/or IEEE 84339beb93cSSam Leffler 802.1X data) was removed 84439beb93cSSam Leffler 84539beb93cSSam Leffler 84639beb93cSSam LefflerNote: 84739beb93cSSam Leffler 84839beb93cSSam LefflerOlder changes up to and including v0.1.0 are included in the ChangeLog 84939beb93cSSam Lefflerof the Host AP driver. 850