Home | History | Annotate | Download | only in hostapd
      1 ChangeLog for hostapd
      2 
      3 2014-06-04 - v2.2
      4 	* fixed SAE confirm-before-commit validation to avoid a potential
      5 	  segmentation fault in an unexpected message sequence that could be
      6 	  triggered remotely
      7 	* extended VHT support
      8 	  - Operating Mode Notification
      9 	  - Power Constraint element (local_pwr_constraint)
     10 	  - Spectrum management capability (spectrum_mgmt_required=1)
     11 	  - fix VHT80 segment picking in ACS
     12 	  - fix vht_capab 'Maximum A-MPDU Length Exponent' handling
     13 	  - fix VHT20
     14 	* fixed HT40 co-ex scan for some pri/sec channel switches
     15 	* extended HT40 co-ex support to allow dynamic channel width changes
     16 	  during the lifetime of the BSS
     17 	* fixed HT40 co-ex support to check for overlapping 20 MHz BSS
     18 	* fixed MSCHAP UTF-8 to UCS-2 conversion for three-byte encoding;
     19 	  this fixes password with include UTF-8 characters that use
     20 	  three-byte encoding EAP methods that use NtPasswordHash
     21 	* reverted TLS certificate validation step change in v2.1 that rejected
     22 	  any AAA server certificate with id-kp-clientAuth even if
     23 	  id-kp-serverAuth EKU was included
     24 	* fixed STA validation step for WPS ER commands to prevent a potential
     25 	  crash if an ER sends an unexpected PutWLANResponse to a station that
     26 	  is disassociated, but not fully removed
     27 	* enforce full EAP authentication after RADIUS Disconnect-Request by
     28 	  removing the PMKSA cache entry
     29 	* added support for NAS-IP-Address, NAS-identifier, and NAS-IPv6-Address
     30 	  in RADIUS Disconnect-Request
     31 	* added mechanism for removing addresses for MAC ACLs by prefixing an
     32 	  entry with "-"
     33 	* Interworking/Hotspot 2.0 enhancements
     34 	  - support Hotspot 2.0 Release 2
     35 	    * OSEN network for online signup connection
     36 	    * subscription remediation (based on RADIUS server request or
     37 	      control interface HS20_WNM_NOTIF for testing purposes)
     38 	    * Hotspot 2.0 release number indication in WFA RADIUS VSA
     39 	    * deauthentication request (based on RADIUS server request or
     40 	      control interface WNM_DEAUTH_REQ for testing purposes)
     41 	    * Session Info URL RADIUS AVP to trigger ESS Disassociation Imminent
     42 	    * hs20_icon config parameter to configure icon files for OSU
     43 	    * osu_* config parameters for OSU Providers list
     44 	  - do not use Interworking filtering rules on Probe Request if
     45 	    Interworking is disabled to avoid interop issues
     46 	* added/fixed nl80211 functionality
     47 	  - AP interface teardown optimization
     48 	  - support vendor specific driver command
     49 	    (VENDOR <vendor id> <sub command id> [<hex formatted data>])
     50 	* fixed PMF protection of Deauthentication frame when this is triggered
     51 	  by session timeout
     52 	* internal TLS implementation enhancements/fixes
     53 	  - add SHA256-based cipher suites
     54 	  - add DHE-RSA cipher suites
     55 	  - fix X.509 validation of PKCS#1 signature to check for extra data
     56 	* RADIUS server functionality
     57 	  - add minimal RADIUS accounting server support (hostapd-as-server);
     58 	    this is mainly to enable testing coverage with hwsim scripts
     59 	  - allow authentication log to be written into SQLite databse
     60 	  - added option for TLS protocol testing of an EAP peer by simulating
     61 	    various misbehaviors/known attacks
     62 	  - MAC ACL support for testing purposes
     63 	* fixed PTK derivation for CCMP-256 and GCMP-256
     64 	* extended WPS per-station PSK to support ER case
     65 	* added option to configure the management group cipher
     66 	  (group_mgmt_cipher=AES-128-CMAC (default), BIP-GMAC-128, BIP-GMAC-256,
     67 	  BIP-CMAC-256)
     68 	* fixed AP mode default TXOP Limit values for AC_VI and AC_VO (these
     69 	  were rounded incorrectly)
     70 	* added support for postponing FT response in case PMK-R1 needs to be
     71 	  pulled from R0KH
     72 	* added option to advertise 40 MHz intolerant HT capability with
     73 	  ht_capab=[40-INTOLERANT]
     74 	* remove WPS 1.0 only support, i.e., WSC 2.0 support is now enabled
     75 	  whenever CONFIG_WPS=y is set
     76 	* EAP-pwd fixes
     77 	  - fix possible segmentation fault on EAP method deinit if an invalid
     78 	    group is negotiated
     79 	* fixed RADIUS client retransmit/failover behavior
     80 	  - there was a potential ctash due to freed memory being accessed
     81 	  - failover to a backup server mechanism did not work properly
     82 	* fixed a possible crash on double DISABLE command when multiple BSSes
     83 	  are enabled
     84 	* fixed a memory leak in SAE random number generation
     85 	* fixed GTK rekeying when the station uses FT protocol
     86 	* fixed off-by-one bounds checking in printf_encode()
     87 	  - this could result in deinial of service in some EAP server cases
     88 	* various bug fixes
     89 
     90 2014-02-04 - v2.1
     91 	* added support for simultaneous authentication of equals (SAE) for
     92 	  stronger password-based authentication with WPA2-Personal
     93 	* added nl80211 functionality
     94 	  - VHT configuration for nl80211
     95 	  - support split wiphy dump
     96 	  - driver-based MAC ACL
     97 	  - QoS Mapping configuration
     98 	* added fully automated regression testing with mac80211_hwsim
     99 	* allow ctrl_iface group to be specified on command line (-G<group>)
    100 	* allow single hostapd process to control independent WPS interfaces
    101 	  (wps_independent=1) instead of synchronized operations through all
    102 	  configured interfaces within a process
    103 	* avoid processing received management frames multiple times when using
    104 	  nl80211 with multiple BSSes
    105 	* added support for DFS (processing radar detection events, CAC, channel
    106 	  re-selection)
    107 	* added EAP-EKE server
    108 	* added automatic channel selection (ACS)
    109 	* added option for using per-BSS (vif) configuration files with
    110 	  -b<phyname>:<config file name>
    111 	* extended global control interface ADD/REMOVE commands to allow BSSes
    112 	  of a radio to be removed individually without having to add/remove all
    113 	  other BSSes of the radio at the same time
    114 	* added support for sending debug info to Linux tracing (-T on command
    115 	  line)
    116 	* replace dump_file functionality with same information being available
    117 	  through the hostapd control interface
    118 	* added support for using Protected Dual of Public Action frames for
    119 	  GAS/ANQP exchanges when PMF is enabled
    120 	* added support for WPS+NFC updates
    121 	  - improved protocol
    122 	  - option to fetch and report alternative carrier records for external
    123 	    NFC operations
    124 	* various bug fixes
    125 
    126 2013-01-12 - v2.0
    127 	* added AP-STA-DISCONNECTED ctrl_iface event
    128 	* improved debug logging (human readable event names, interface name
    129 	  included in more entries)
    130 	* added number of small changes to make it easier for static analyzers
    131 	  to understand the implementation
    132 	* added a workaround for Windows 7 Michael MIC failure reporting and
    133 	  use of the Secure bit in EAPOL-Key msg 3/4
    134 	* fixed number of small bugs (see git logs for more details)
    135 	* changed OpenSSL to read full certificate chain from server_cert file
    136 	* nl80211: number of updates to use new cfg80211/nl80211 functionality
    137 	  - replace monitor interface with nl80211 commands
    138 	  - additional information for driver-based AP SME
    139 	* EAP-pwd:
    140 	  - fix KDF for group 21 and zero-padding
    141 	  - added support for fragmentation
    142 	  - increased maximum number of hunting-and-pecking iterations
    143 	* avoid excessive Probe Response retries for broadcast Probe Request
    144 	  frames (only with drivers using hostapd SME/MLME)
    145 	* added preliminary support for using TLS v1.2 (CONFIG_TLSV12=y)
    146 	* fixed WPS operation stopping on dual concurrent AP
    147 	* added wps_rf_bands configuration parameter for overriding RF Bands
    148 	  value for WPS
    149 	* added support for getting per-device PSK from RADIUS Tunnel-Password
    150 	* added support for libnl 3.2 and newer
    151 	* increased initial group key handshake retransmit timeout to 500 ms
    152 	* added a workaround for 4-way handshake to update SNonce even after
    153 	  having sent EAPOL-Key 3/4 to avoid issues with some supplicant
    154 	  implementations that can change SNonce for each EAP-Key 2/4
    155 	* added a workaround for EAPOL-Key 4/4 using incorrect type value in
    156 	  WPA2 mode (some deployed stations use WPA type in that message)
    157 	* added a WPS workaround for mixed mode AP Settings with Windows 7
    158 	* changed WPS AP PIN disabling mechanism to disable the PIN after 10
    159 	  consecutive failures in addition to using the exponential lockout
    160 	  period
    161 	* added support for WFA Hotspot 2.0
    162 	  - GAS/ANQP advertisement of network information
    163 	  - disable_dgaf parameter to disable downstream group-addressed
    164 	    forwarding
    165 	* simplified licensing terms by selecting the BSD license as the only
    166 	  alternative
    167 	* EAP-SIM: fixed re-authentication not to update pseudonym
    168 	* EAP-SIM: use Notification round before EAP-Failure
    169 	* EAP-AKA: added support for AT_COUNTER_TOO_SMALL
    170 	* EAP-AKA: skip AKA/Identity exchange if EAP identity is recognized
    171 	* EAP-AKA': fixed identity for MK derivation
    172 	* EAP-AKA': updated to RFC 5448 (username prefixes changed); note: this
    173 	  breaks interoperability with older versions
    174 	* EAP-SIM/AKA: allow pseudonym to be used after unknown reauth id
    175 	* changed ANonce to be a random number instead of Counter-based
    176 	* added support for canceling WPS operations with hostapd_cli wps_cancel
    177 	* fixed EAP/WPS to PSK transition on reassociation in cases where
    178 	  deauthentication is missed
    179 	* hlr_auc_gw enhancements:
    180 	  - a new command line parameter -u can be used to enable updating of
    181 	    SQN in Milenage file
    182 	  - use 5 bit IND for SQN updates
    183 	  - SQLite database can now be used to store Milenage information
    184 	* EAP-SIM/AKA DB: added optional use of SQLite database for pseudonyms
    185 	  and reauth data
    186 	* added support for Chargeable-User-Identity (RFC 4372)
    187 	* added radius_auth_req_attr and radius_acct_req_attr configuration
    188 	  parameters to allow adding/overriding of RADIUS attributes in
    189 	  Access-Request and Accounting-Request packets
    190 	* added support for RADIUS dynamic authorization server (RFC 5176)
    191 	* added initial support for WNM operations
    192 	  - BSS max idle period
    193 	  - WNM-Sleep Mode
    194 	* added new WPS NFC ctrl_iface mechanism
    195 	  - removed obsoleted WPS_OOB command (including support for deprecated
    196 	    UFD config_method)
    197 	* added FT support for drivers that implement MLME internally
    198 	* added SA Query support for drivers that implement MLME internally
    199 	* removed default ACM=1 from AC_VO and AC_VI
    200 	* changed VENDOR-TEST EAP method to use proper private enterprise number
    201 	  (this will not interoperate with older versions)
    202 	* added hostapd.conf parameter vendor_elements to allow arbitrary vendor
    203 	  specific elements to be added to the Beacon and Probe Response frames
    204 	* added support for configuring GCMP cipher for IEEE 802.11ad
    205 	* added support for 256-bit AES with internal TLS implementation
    206 	* changed EAPOL transmission to use AC_VO if WMM is active
    207 	* fixed EAP-TLS/PEAP/TTLS/FAST server to validate TLS Message Length
    208 	  correctly; invalid messages could have caused the hostapd process to
    209 	  terminate before this fix [CVE-2012-4445]
    210 	* limit number of active wildcard PINs for WPS Registrar to one to avoid
    211 	  confusing behavior with multiple wildcard PINs
    212 	* added a workaround for WPS PBC session overlap detection to avoid
    213 	  interop issues with deployed station implementations that do not
    214 	  remove active PBC indication from Probe Request frames properly
    215 	* added support for using SQLite for the eap_user database
    216 	* added Acct-Session-Id attribute into Access-Request messages
    217 	* fixed EAPOL frame transmission to non-QoS STAs with nl80211
    218 	  (do not send QoS frames if the STA did not negotiate use of QoS for
    219 	  this association)
    220 
    221 2012-05-10 - v1.0
    222 	* Add channel selection support in hostapd. See hostapd.conf.
    223 	* Add support for IEEE 802.11v Time Advertisement mechanism with UTC
    224 	  TSF offset. See hostapd.conf for config info.
    225 	* Delay STA entry removal until Deauth/Disassoc TX status in AP mode.
    226 	  This allows the driver to use PS buffering of Deauthentication and
    227 	  Disassociation frames when the STA is in power save sleep. Only
    228 	  available with drivers that provide TX status events for Deauth/
    229 	  Disassoc frames (nl80211).
    230 	* Allow PMKSA caching to be disabled on the Authenticator. See
    231 	  hostap.conf config parameter disable_pmksa_caching.
    232 	* atheros: Add support for IEEE 802.11w configuration.
    233 	* bsd: Add support for setting HT values in IFM_MMASK.
    234 	* Allow client isolation to be configured with ap_isolate. Client
    235 	  isolation can be used to prevent low-level bridging of frames
    236 	  between associated stations in the BSS. By default, this bridging
    237 	  is allowed.
    238 	* Allow coexistance of HT BSSes with WEP/TKIP BSSes.
    239 	* Add require_ht config parameter, which can be used to configure
    240 	  hostapd to reject association with any station that does not support
    241 	  HT PHY.
    242 	* Add support for writing debug log to a file using "-f" option. Also
    243 	  add relog CLI command to re-open the log file.
    244 	* Add bridge handling for WDS STA interfaces. By default they are
    245 	  added to the configured bridge of the AP interface (if present),
    246 	  but the user can also specify a separate bridge using cli command
    247 	  wds_bridge.
    248 	* hostapd_cli:
    249 	  - Add wds_bridge command for specifying bridge for WDS STA
    250 	    interfaces.
    251 	  - Add relog command for reopening log file.
    252 	  - Send AP-STA-DISCONNECTED event when an AP disconnects a station
    253 	    due to inactivity.
    254 	  - Add wps_config ctrl_interface command for configuring AP. This
    255 	    command can be used to configure the AP using the internal WPS
    256 	    registrar. It works in the same way as new AP settings received
    257 	    from an ER.
    258 	  - Many WPS/WPS ER commands - see WPS/WPS ER sections for details.
    259 	  - Add command get version, that returns hostapd version string.
    260 	* WNM: Add BSS Transition Management Request for ESS Disassoc Imminent.
    261 	  Use hostapd_cli ess_disassoc (STA addr) (URL) to send the
    262 	  notification to the STA.
    263 	* Allow AP mode to disconnect STAs based on low ACK condition (when
    264 	  the data connection is not working properly, e.g., due to the STA
    265 	  going outside the range of the AP). Disabled by default, enable by
    266 	  config option disassoc_low_ack.
    267 	* Add WPA_IGNORE_CONFIG_ERRORS build option to continue in case of bad
    268 	  config file.
    269 	* WPS:
    270 	  - Send AP Settings as a wrapped Credential attribute to ctrl_iface
    271 	    in WPS-NEW-AP-SETTINGS.
    272 	  - Dispatch more WPS events through hostapd ctrl_iface.
    273 	  - Add mechanism for indicating non-standard WPS errors.
    274 	  - Change concurrent radio AP to use only one WPS UPnP instance.
    275 	  - Add wps_check_pin command for processing PIN from user input.
    276 	    UIs can use this command to process a PIN entered by a user and to
    277 	    validate the checksum digit (if present).
    278 	  - Add hostap_cli get_config command to display current AP config.
    279 	  - Add new hostapd_cli command, wps_ap_pin, to manage AP PIN at
    280 	    runtime and support dynamic AP PIN management.
    281 	  - Disable AP PIN after 10 consecutive failures. Slow down attacks
    282 	    on failures up to 10.
    283 	  - Allow AP to start in Enrollee mode without AP PIN for probing,
    284 	    to be compatible with Windows 7.
    285 	  - Add Config Error into WPS-FAIL events to provide more info
    286 	    to the user on how to resolve the issue.
    287 	  - When controlling multiple interfaces:
    288 	     - apply WPS commands to all interfaces configured to use WPS
    289 	     - apply WPS config changes to all interfaces that use WPS
    290 	     - when an attack is detected on any interface, disable AP PIN on
    291 	       all interfaces
    292 	* WPS ER:
    293 	  - Show SetSelectedRegistrar events as ctrl_iface events.
    294 	  - Add special AP Setup Locked mode to allow read only ER.
    295 	    ap_setup_locked=2 can now be used to enable a special mode where
    296 	    WPS ER can learn the current AP settings, but cannot change them.
    297 	* WPS 2.0: Add support for WPS 2.0 (CONFIG_WPS2)
    298 	  - Add build option CONFIG_WPS_EXTENSIBILITY_TESTING to enable tool
    299 	    for testing protocol extensibility.
    300 	  - Add build option CONFIG_WPS_STRICT to allow disabling of WPS
    301 	    workarounds.
    302 	  - Add support for AuthorizedMACs attribute.
    303 	* TDLS:
    304 	  - Allow TDLS use or TDLS channel switching in the BSS to be
    305 	    prohibited in the BSS, using config params tdls_prohibit and
    306 	    tdls_prohibit_chan_switch.
    307 	* EAP server: Add support for configuring fragment size (see
    308 	  fragment_size in hostapd.conf).
    309 	* wlantest: Add a tool wlantest for IEEE802.11 protocol testing.
    310 	  wlantest can be used to capture frames from a monitor interface
    311 	  for realtime capturing or from pcap files for offline analysis.
    312 	* Interworking: Support added for 802.11u. Enable in .config with
    313 	  CONFIG_INTERWORKING. See hostapd.conf for config parameters for
    314 	  interworking.
    315 	* Android: Add build and runtime support for Android hostapd.
    316 	* Add a new debug message level for excessive information. Use
    317 	  -ddd to enable.
    318 	* TLS: Add support for tls_disable_time_checks=1 in client mode.
    319 	* Internal TLS:
    320 	  - Add support for TLS v1.1 (RFC 4346). Enable with build parameter
    321 	    CONFIG_TLSV11.
    322 	  - Add domainComponent parser for X.509 names
    323 	* Reorder some IEs to get closer to IEEE 802.11 standard. Move
    324 	  WMM into end of Beacon, Probe Resp and (Re)Assoc Resp frames.
    325 	  Move HT IEs to be later in (Re)Assoc Resp.
    326 	* Many bugfixes.
    327 
    328 2010-04-18 - v0.7.2
    329 	* fix WPS internal Registrar use when an external Registrar is also
    330 	  active
    331 	* bsd: Cleaned up driver wrapper and added various low-level
    332 	  configuration options
    333 	* TNC: fixed issues with fragmentation
    334 	* EAP-TNC: add Flags field into fragment acknowledgement (needed to
    335 	  interoperate with other implementations; may potentially breaks
    336 	  compatibility with older wpa_supplicant/hostapd versions)
    337 	* cleaned up driver wrapper API for multi-BSS operations
    338 	* nl80211: fix multi-BSS and VLAN operations
    339 	* fix number of issues with IEEE 802.11r/FT; this version is not
    340 	  backwards compatible with old versions
    341 	* add SA Query Request processing in AP mode (IEEE 802.11w)
    342 	* fix IGTK PN in group rekeying (IEEE 802.11w)
    343 	* fix WPS PBC session overlap detection to use correct attribute
    344 	* hostapd_notif_Assoc() can now be called with all IEs to simplify
    345 	  driver wrappers
    346 	* work around interoperability issue with some WPS External Registrar
    347 	  implementations
    348 	* nl80211: fix WPS IE update
    349 	* hostapd_cli: add support for action script operations (run a script
    350 	  on hostapd events)
    351 	* fix DH padding with internal crypto code (mainly, for WPS)
    352 	* fix WPS association with both WPS IE and WPA/RSN IE present with
    353 	  driver wrappers that use hostapd MLME (e.g., nl80211)
    354 
    355 2010-01-16 - v0.7.1
    356 	* cleaned up driver wrapper API (struct wpa_driver_ops); the new API
    357 	  is not fully backwards compatible, so out-of-tree driver wrappers
    358 	  will need modifications
    359 	* cleaned up various module interfaces
    360 	* merge hostapd and wpa_supplicant developers' documentation into a
    361 	  single document
    362 	* fixed HT Capabilities IE with nl80211 drivers
    363 	* moved generic AP functionality code into src/ap
    364 	* WPS: handle Selected Registrar as union of info from all Registrars
    365 	* remove obsolte Prism54.org driver wrapper
    366 	* added internal debugging mechanism with backtrace support and memory
    367 	  allocation/freeing validation, etc. tests (CONFIG_WPA_TRACE=y)
    368 	* EAP-FAST server: piggyback Phase 2 start with the end of Phase 1
    369 	* WPS: add support for dynamically selecting whether to provision the
    370 	  PSK as an ASCII passphrase or PSK
    371 	* added support for WDS (4-address frame) mode with per-station virtual
    372 	  interfaces (wds_sta=1 in config file; only supported with
    373 	  driver=nl80211 for now)
    374 	* fixed WPS Probe Request processing to handle missing required
    375 	  attribute
    376 	* fixed PKCS#12 use with OpenSSL 1.0.0
    377 	* detect bridge interface automatically so that bridge parameter in
    378 	  hostapd.conf becomes optional (though, it may now be used to
    379 	  automatically add then WLAN interface into a bridge with
    380 	  driver=nl80211)
    381 
    382 2009-11-21 - v0.7.0
    383 	* increased hostapd_cli ping interval to 5 seconds and made this
    384 	  configurable with a new command line options (-G<seconds>)
    385 	* driver_nl80211: use Linux socket filter to improve performance
    386 	* added support for external Registrars with WPS (UPnP transport)
    387 	* 802.11n: scan for overlapping BSSes before starting 20/40 MHz channel
    388 	* driver_nl80211: fixed STA accounting data collection (TX/RX bytes
    389 	  reported correctly; TX/RX packets not yet available from kernel)
    390 	* added support for WPS USBA out-of-band mechanism with USB Flash
    391 	  Drives (UFD) (CONFIG_WPS_UFD=y)
    392 	* fixed EAPOL/EAP reauthentication when using an external RADIUS
    393 	  authentication server
    394 	* fixed TNC with EAP-TTLS
    395 	* fixed IEEE 802.11r key derivation function to match with the standard
    396 	  (note: this breaks interoperability with previous version) [Bug 303]
    397 	* fixed SHA-256 based key derivation function to match with the
    398 	  standard when using CCMP (for IEEE 802.11r and IEEE 802.11w)
    399 	  (note: this breaks interoperability with previous version) [Bug 307]
    400 	* added number of code size optimizations to remove unnecessary
    401 	  functionality from the program binary based on build configuration
    402 	  (part of this automatic; part configurable with CONFIG_NO_* build
    403 	  options)
    404 	* use shared driver wrapper files with wpa_supplicant
    405 	* driver_nl80211: multiple updates to provide support for new Linux
    406 	  nl80211/mac80211 functionality
    407 	* updated management frame protection to use IEEE Std 802.11w-2009
    408 	* fixed number of small WPS issues and added workarounds to
    409 	  interoperate with common deployed broken implementations
    410 	* added some IEEE 802.11n co-existence rules to disable 40 MHz channels
    411 	  or modify primary/secondary channels if needed based on neighboring
    412 	  networks
    413 	* added support for NFC out-of-band mechanism with WPS
    414 	* added preliminary support for IEEE 802.11r RIC processing
    415 
    416 2009-01-06 - v0.6.7
    417 	* added support for Wi-Fi Protected Setup (WPS)
    418 	  (hostapd can now be configured to act as an integrated WPS Registrar
    419 	  and provision credentials for WPS Enrollees using PIN and PBC
    420 	  methods; external wireless Registrar can configure the AP, but
    421 	  external WLAN Manager Registrars are not supported); WPS support can
    422 	  be enabled by adding CONFIG_WPS=y into .config and setting the
    423 	  runtime configuration variables in hostapd.conf (see WPS section in
    424 	  the example configuration file); new hostapd_cli commands wps_pin and
    425 	  wps_pbc are used to configure WPS negotiation; see README-WPS for
    426 	  more details
    427 	* added IEEE 802.11n HT capability configuration (ht_capab)
    428 	* added support for generating Country IE based on nl80211 regulatory
    429 	  information (added if ieee80211d=1 in configuration)
    430 	* fixed WEP authentication (both Open System and Shared Key) with
    431 	  mac80211
    432 	* added support for EAP-AKA' (draft-arkko-eap-aka-kdf)
    433 	* added support for using driver_test over UDP socket
    434 	* changed EAP-GPSK to use the IANA assigned EAP method type 51
    435 	* updated management frame protection to use IEEE 802.11w/D7.0
    436 	* fixed retransmission of EAP requests if no response is received
    437 
    438 2008-11-23 - v0.6.6
    439 	* added a new configuration option, wpa_ptk_rekey, that can be used to
    440 	  enforce frequent PTK rekeying, e.g., to mitigate some attacks against
    441 	  TKIP deficiencies
    442 	* updated OpenSSL code for EAP-FAST to use an updated version of the
    443 	  session ticket overriding API that was included into the upstream
    444 	  OpenSSL 0.9.9 tree on 2008-11-15 (no additional OpenSSL patch is
    445 	  needed with that version anymore)
    446 	* changed channel flags configuration to read the information from
    447 	  the driver (e.g., via driver_nl80211 when using mac80211) instead of
    448 	  using hostapd as the source of the regulatory information (i.e.,
    449 	  information from CRDA is now used with mac80211); this allows 5 GHz
    450 	  channels to be used with hostapd (if allowed in the current
    451 	  regulatory domain)
    452 	* fixed EAP-TLS message processing for the last TLS message if it is
    453 	  large enough to require fragmentation (e.g., if a large Session
    454 	  Ticket data is included)
    455 	* fixed listen interval configuration for nl80211 drivers
    456 
    457 2008-11-01 - v0.6.5
    458 	* added support for SHA-256 as X.509 certificate digest when using the
    459 	  internal X.509/TLSv1 implementation
    460 	* fixed EAP-FAST PAC-Opaque padding (0.6.4 broke this for some peer
    461 	  identity lengths)
    462 	* fixed internal TLSv1 implementation for abbreviated handshake (used
    463 	  by EAP-FAST server)
    464 	* added support for setting VLAN ID for STAs based on local MAC ACL
    465 	  (accept_mac_file) as an alternative for RADIUS server-based
    466 	  configuration
    467 	* updated management frame protection to use IEEE 802.11w/D6.0
    468 	  (adds a new association ping to protect against unauthenticated
    469 	  authenticate or (re)associate request frames dropping association)
    470 	* added support for using SHA256-based stronger key derivation for WPA2
    471 	  (IEEE 802.11w)
    472 	* added new "driver wrapper" for RADIUS-only configuration
    473 	  (driver=none in hostapd.conf; CONFIG_DRIVER_NONE=y in .config)
    474 	* fixed WPA/RSN IE validation to verify that the proto (WPA vs. WPA2)
    475 	  is enabled in configuration
    476 	* changed EAP-FAST configuration to use separate fields for A-ID and
    477 	  A-ID-Info (eap_fast_a_id_info) to allow A-ID to be set to a fixed
    478 	  16-octet len binary value for better interoperability with some peer
    479 	  implementations; eap_fast_a_id is now configured as a hex string
    480 	* driver_nl80211: Updated to match the current Linux mac80211 AP mode
    481 	  configuration (wireless-testing.git and Linux kernel releases
    482 	  starting from 2.6.29)
    483 
    484 2008-08-10 - v0.6.4
    485 	* added peer identity into EAP-FAST PAC-Opaque and skip Phase 2
    486 	  Identity Request if identity is already known
    487 	* added support for EAP Sequences in EAP-FAST Phase 2
    488 	* added support for EAP-TNC (Trusted Network Connect)
    489 	  (this version implements the EAP-TNC method and EAP-TTLS/EAP-FAST
    490 	  changes needed to run two methods in sequence (IF-T) and the IF-IMV
    491 	  and IF-TNCCS interfaces from TNCS)
    492 	* added support for optional cryptobinding with PEAPv0
    493 	* added fragmentation support for EAP-TNC
    494 	* added support for fragmenting EAP-TTLS/PEAP/FAST Phase 2 (tunneled)
    495 	  data
    496 	* added support for opportunistic key caching (OKC)
    497 
    498 2008-02-22 - v0.6.3
    499 	* fixed Reassociation Response callback processing when using internal
    500 	  MLME (driver_{hostap,nl80211,test}.c)
    501 	* updated FT support to use the latest draft, IEEE 802.11r/D9.0
    502 	* copy optional Proxy-State attributes into RADIUS response when acting
    503 	  as a RADIUS authentication server
    504 	* fixed EAPOL state machine to handle a case in which no response is
    505 	  received from the RADIUS authentication server; previous version
    506 	  could have triggered a crash in some cases after a timeout
    507 	* fixed EAP-SIM/AKA realm processing to allow decorated usernames to
    508 	  be used
    509 	* added a workaround for EAP-SIM/AKA peers that include incorrect null
    510 	  termination in the username
    511 	* fixed EAP-SIM/AKA protected result indication to include AT_COUNTER
    512 	  attribute in notification messages only when using fast
    513 	  reauthentication
    514 	* fixed EAP-SIM Start response processing for fast reauthentication
    515 	  case
    516 	* added support for pending EAP processing in EAP-{PEAP,TTLS,FAST}
    517 	  phase 2 to allow EAP-SIM and EAP-AKA to be used as the Phase 2 method
    518 
    519 2008-01-01 - v0.6.2
    520 	* fixed EAP-SIM and EAP-AKA message parser to validate attribute
    521 	  lengths properly to avoid potential crash caused by invalid messages
    522 	* added data structure for storing allocated buffers (struct wpabuf);
    523 	  this does not affect hostapd usage, but many of the APIs changed
    524 	  and various interfaces (e.g., EAP) is not compatible with old
    525 	  versions
    526 	* added support for protecting EAP-AKA/Identity messages with
    527 	  AT_CHECKCODE (optional feature in RFC 4187)
    528 	* added support for protected result indication with AT_RESULT_IND for
    529 	  EAP-SIM and EAP-AKA (eap_sim_aka_result_ind=1)
    530 	* added support for configuring EAP-TTLS phase 2 non-EAP methods in
    531 	  EAP server configuration; previously all four were enabled for every
    532 	  phase 2 user, now all four are disabled by default and need to be
    533 	  enabled with new method names TTLS-PAP, TTLS-CHAP, TTLS-MSCHAP,
    534 	  TTLS-MSCHAPV2
    535 	* removed old debug printing mechanism and the related 'debug'
    536 	  parameter in the configuration file; debug verbosity is now set with
    537 	  -d (or -dd) command line arguments
    538 	* added support for EAP-IKEv2 (draft-tschofenig-eap-ikev2-15.txt);
    539 	  only shared key/password authentication is supported in this version
    540 
    541 2007-11-24 - v0.6.1
    542 	* added experimental, integrated TLSv1 server implementation with the
    543 	  needed X.509/ASN.1/RSA/bignum processing (this can be enabled by
    544 	  setting CONFIG_TLS=internal and CONFIG_INTERNAL_LIBTOMMATH=y in
    545 	  .config); this can be useful, e.g., if the target system does not
    546 	  have a suitable TLS library and a minimal code size is required
    547 	* added support for EAP-FAST server method to the integrated EAP
    548 	  server
    549 	* updated EAP Generalized Pre-Shared Key (EAP-GPSK) to use the latest
    550 	  draft (draft-ietf-emu-eap-gpsk-07.txt)
    551 	* added a new configuration parameter, rsn_pairwise, to allow different
    552 	  pairwise cipher suites to be enabled for WPA and RSN/WPA2
    553 	  (note: if wpa_pairwise differs from rsn_pairwise, the driver will
    554 	  either need to support this or will have to use the WPA/RSN IEs from
    555 	  hostapd; currently, the included madwifi and bsd driver interfaces do
    556 	  not have support for this)
    557 	* updated FT support to use the latest draft, IEEE 802.11r/D8.0
    558 
    559 2007-05-28 - v0.6.0
    560 	* added experimental IEEE 802.11r/D6.0 support
    561 	* updated EAP-SAKE to RFC 4763 and the IANA-allocated EAP type 48
    562 	* updated EAP-PSK to use the IANA-allocated EAP type 47
    563 	* fixed EAP-PSK bit ordering of the Flags field
    564 	* fixed configuration reloading (SIGHUP) to re-initialize WPA PSKs
    565 	  by reading wpa_psk_file [Bug 181]
    566 	* fixed EAP-TTLS AVP parser processing for too short AVP lengths
    567 	* fixed IPv6 connection to RADIUS accounting server
    568 	* updated EAP Generalized Pre-Shared Key (EAP-GPSK) to use the latest
    569 	  draft (draft-ietf-emu-eap-gpsk-04.txt)
    570 	* hlr_auc_gw: read GSM triplet file into memory and rotate through the
    571 	  entries instead of only using the same three triplets every time
    572 	  (this does not work properly with tests using multiple clients, but
    573 	  provides bit better triplet data for testing a single client; anyway,
    574 	  if a better quality triplets are needed, GSM-Milenage should be used
    575 	  instead of hardcoded triplet file)
    576 	* fixed EAP-MSCHAPv2 server to use a space between S and M parameters
    577 	  in Success Request [Bug 203]
    578 	* added support for sending EAP-AKA Notifications in error cases
    579 	* updated to use IEEE 802.11w/D2.0 for management frame protection
    580 	  (still experimental)
    581 	* RADIUS server: added support for processing duplicate messages
    582 	  (retransmissions from RADIUS client) by replying with the previous
    583 	  reply
    584 
    585 2006-11-24 - v0.5.6
    586 	* added support for configuring and controlling multiple BSSes per
    587 	  radio interface (bss=<ifname> in hostapd.conf); this is only
    588 	  available with Devicescape and test driver interfaces
    589 	* fixed PMKSA cache update in the end of successful RSN
    590 	  pre-authentication
    591 	* added support for dynamic VLAN configuration (i.e., selecting VLAN-ID
    592 	  for each STA based on RADIUS Access-Accept attributes); this requires
    593 	  VLAN support from the kernel driver/802.11 stack and this is
    594 	  currently only available with Devicescape and test driver interfaces
    595 	* driver_madwifi: fixed configuration of unencrypted modes (plaintext
    596 	  and IEEE 802.1X without WEP)
    597 	* removed STAKey handshake since PeerKey handshake has replaced it in
    598 	  IEEE 802.11ma and there are no known deployments of STAKey
    599 	* updated EAP Generalized Pre-Shared Key (EAP-GPSK) to use the latest
    600 	  draft (draft-ietf-emu-eap-gpsk-01.txt)
    601 	* added preliminary implementation of IEEE 802.11w/D1.0 (management
    602 	  frame protection)
    603 	  (Note: this requires driver support to work properly.)
    604 	  (Note2: IEEE 802.11w is an unapproved draft and subject to change.)
    605 	* hlr_auc_gw: added support for GSM-Milenage (for EAP-SIM)
    606 	* hlr_auc_gw: added support for reading per-IMSI Milenage keys and
    607 	  parameters from a text file to make it possible to implement proper
    608 	  GSM/UMTS authentication server for multiple SIM/USIM cards using
    609 	  EAP-SIM/EAP-AKA
    610 	* fixed session timeout processing with drivers that do not use
    611 	  ieee802_11.c (e.g., madwifi)
    612 
    613 2006-08-27 - v0.5.5
    614 	* added 'hostapd_cli new_sta <addr>' command for adding a new STA into
    615 	  hostapd (e.g., to initialize wired network authentication based on an
    616 	  external signal)
    617 	* fixed hostapd to add PMKID KDE into 4-Way Handshake Message 1 when
    618 	  using WPA2 even if PMKSA caching is not used
    619 	* added -P<pid file> argument for hostapd to write the current process
    620 	  id into a file
    621 	* added support for RADIUS Authentication Server MIB (RFC 2619)
    622 
    623 2006-06-20 - v0.5.4
    624 	* fixed nt_password_hash build [Bug 144]
    625 	* added PeerKey handshake implementation for IEEE 802.11e
    626 	  direct link setup (DLS) to replace STAKey handshake
    627 	* added support for EAP Generalized Pre-Shared Key (EAP-GPSK,
    628 	  draft-clancy-emu-eap-shared-secret-00.txt)
    629 	* fixed a segmentation fault when RSN pre-authentication was completed
    630 	  successfully [Bug 152]
    631 
    632 2006-04-27 - v0.5.3
    633 	* do not build nt_password_hash and hlr_auc_gw by default to avoid
    634 	  requiring a TLS library for a successful build; these programs can be
    635 	  build with 'make nt_password_hash' and 'make hlr_auc_gw'
    636 	* added a new configuration option, eapol_version, that can be used to
    637 	  set EAPOL version to 1 (default is 2) to work around broken client
    638 	  implementations that drop EAPOL frames which use version number 2
    639 	  [Bug 89]
    640 	* added support for EAP-SAKE (no EAP method number allocated yet, so
    641 	  this is using the same experimental type 255 as EAP-PSK)
    642 	* fixed EAP-MSCHAPv2 message length validation
    643 
    644 2006-03-19 - v0.5.2
    645 	* fixed stdarg use in hostapd_logger(): if both stdout and syslog
    646 	  logging was enabled, hostapd could trigger a segmentation fault in
    647 	  vsyslog on some CPU -- C library combinations
    648 	* moved HLR/AuC gateway implementation for EAP-SIM/AKA into an external
    649 	  program to make it easier to use for implementing real SS7 gateway;
    650 	  eap_sim_db is not anymore used as a file name for GSM authentication
    651 	  triplets; instead, it is path to UNIX domain socket that will be used
    652 	  to communicate with the external gateway program (e.g., hlr_auc_gw)
    653 	* added example HLR/AuC gateway implementation, hlr_auc_gw, that uses
    654 	  local information (GSM authentication triplets from a text file and
    655 	  hardcoded AKA authentication data); this can be used to test EAP-SIM
    656 	  and EAP-AKA
    657 	* added Milenage algorithm (example 3GPP AKA algorithm) to hlr_auc_gw
    658 	  to make it possible to test EAP-AKA with real USIM cards (this is
    659 	  disabled by default; define AKA_USE_MILENAGE when building hlr_auc_gw
    660 	  to enable this)
    661 	* driver_madwifi: added support for getting station RSN IE from
    662 	  madwifi-ng svn r1453 and newer; this fixes RSN that was apparently
    663 	  broken with earlier change (r1357) in the driver
    664 	* changed EAP method registration to use a dynamic list of methods
    665 	  instead of a static list generated at build time
    666 	* fixed WPA message 3/4 not to encrypt Key Data field (WPA IE)
    667 	  [Bug 125]
    668 	* added ap_max_inactivity configuration parameter
    669 
    670 2006-01-29 - v0.5.1
    671 	* driver_test: added better support for multiple APs and STAs by using
    672 	  a directory with sockets that include MAC address for each device in
    673 	  the name (test_socket=DIR:/tmp/test)
    674 	* added support for EAP expanded type (vendor specific EAP methods)
    675 
    676 2005-12-18 - v0.5.0 (beginning of 0.5.x development releases)
    677 	* added experimental STAKey handshake implementation for IEEE 802.11e
    678 	  direct link setup (DLS); note: this is disabled by default in both
    679 	  build and runtime configuration (can be enabled with CONFIG_STAKEY=y
    680 	  and stakey=1)
    681 	* added support for EAP methods to use callbacks to external programs
    682 	  by buffering a pending request and processing it after the EAP method
    683 	  is ready to continue
    684 	* improved EAP-SIM database interface to allow external request to GSM
    685 	  HLR/AuC without blocking hostapd process
    686 	* added support for using EAP-SIM pseudonyms and fast re-authentication
    687 	* added support for EAP-AKA in the integrated EAP authenticator
    688 	* added support for matching EAP identity prefixes (e.g., "1"*) in EAP
    689 	  user database to allow EAP-SIM/AKA selection without extra roundtrip
    690 	  for EAP-Nak negotiation
    691 	* added support for storing EAP user password as NtPasswordHash instead
    692 	  of plaintext password when using MSCHAP or MSCHAPv2 for
    693 	  authentication (hash:<16-octet hex value>); added nt_password_hash
    694 	  tool for hashing password to generate NtPasswordHash
    695 
    696 2005-11-20 - v0.4.7 (beginning of 0.4.x stable releases)
    697 	* driver_wired: fixed EAPOL sending to optionally use PAE group address
    698 	  as the destination instead of supplicant MAC address; this is
    699 	  disabled by default, but should be enabled with use_pae_group_addr=1
    700 	  in configuration file if the wired interface is used by only one
    701 	  device at the time (common switch configuration)
    702 	* driver_madwifi: configure driver to use TKIP countermeasures in order
    703 	  to get correct behavior (IEEE 802.11 association failing; previously,
    704 	  association succeeded, but hostpad forced disassociation immediately)
    705 	* driver_madwifi: added support for madwifi-ng
    706 
    707 2005-10-27 - v0.4.6
    708 	* added support for replacing user identity from EAP with RADIUS
    709 	  User-Name attribute from Access-Accept message, if that is included,
    710 	  for the RADIUS accounting messages (e.g., for EAP-PEAP/TTLS to get
    711 	  tunneled identity into accounting messages when the RADIUS server
    712 	  does not support better way of doing this with Class attribute)
    713 	* driver_madwifi: fixed EAPOL packet receive for configuration where
    714 	  ath# is part of a bridge interface
    715 	* added a configuration file and log analyzer script for logwatch
    716 	* fixed EAPOL state machine step function to process all state
    717 	  transitions before processing new events; this resolves a race
    718 	  condition in which EAPOL-Start message could trigger hostapd to send
    719 	  two EAP-Response/Identity frames to the authentication server
    720 
    721 2005-09-25 - v0.4.5
    722 	* added client CA list to the TLS certificate request in order to make
    723 	  it easier for the client to select which certificate to use
    724 	* added experimental support for EAP-PSK
    725 	* added support for WE-19 (hostap, madwifi)
    726 
    727 2005-08-21 - v0.4.4
    728 	* fixed build without CONFIG_RSN_PREAUTH
    729 	* fixed FreeBSD build
    730 
    731 2005-06-26 - v0.4.3
    732 	* fixed PMKSA caching to copy User-Name and Class attributes so that
    733 	  RADIUS accounting gets correct information
    734 	* start RADIUS accounting only after successful completion of WPA
    735 	  4-Way Handshake if WPA-PSK is used
    736 	* fixed PMKSA caching for the case where STA (re)associates without
    737 	  first disassociating
    738 
    739 2005-06-12 - v0.4.2
    740 	* EAP-PAX is now registered as EAP type 46
    741 	* fixed EAP-PAX MAC calculation
    742 	* fixed EAP-PAX CK and ICK key derivation
    743 	* renamed eap_authenticator configuration variable to eap_server to
    744 	  better match with RFC 3748 (EAP) terminology
    745 	* driver_test: added support for testing hostapd with wpa_supplicant
    746 	  by using test driver interface without any kernel drivers or network
    747 	  cards
    748 
    749 2005-05-22 - v0.4.1
    750 	* fixed RADIUS server initialization when only auth or acct server
    751 	  is configured and the other one is left empty
    752 	* driver_madwifi: added support for RADIUS accounting
    753 	* driver_madwifi: added preliminary support for compiling against 'BSD'
    754 	  branch of madwifi CVS tree
    755 	* driver_madwifi: fixed pairwise key removal to allow WPA reauth
    756 	  without disassociation
    757 	* added support for reading additional certificates from PKCS#12 files
    758 	  and adding them to the certificate chain
    759 	* fixed RADIUS Class attribute processing to only use Access-Accept
    760 	  packets to update Class; previously, other RADIUS authentication
    761 	  packets could have cleared Class attribute
    762 	* added support for more than one Class attribute in RADIUS packets
    763 	* added support for verifying certificate revocation list (CRL) when
    764 	  using integrated EAP authenticator for EAP-TLS; new hostapd.conf
    765 	  options 'check_crl'; CRL must be included in the ca_cert file for now
    766 
    767 2005-04-25 - v0.4.0 (beginning of 0.4.x development releases)
    768 	* added support for including network information into
    769 	  EAP-Request/Identity message (ASCII-0 (nul) in eap_message)
    770 	  (e.g., to implement draft-adrange-eap-network-discovery-07.txt)
    771 	* fixed a bug which caused some RSN pre-authentication cases to use
    772 	  freed memory and potentially crash hostapd
    773 	* fixed private key loading for cases where passphrase is not set
    774 	* added support for sending TLS alerts and aborting authentication
    775 	  when receiving a TLS alert
    776 	* fixed WPA2 to add PMKSA cache entry when using integrated EAP
    777 	  authenticator
    778 	* fixed PMKSA caching (EAP authentication was not skipped correctly
    779 	  with the new state machine changes from IEEE 802.1X draft)
    780 	* added support for RADIUS over IPv6; own_ip_addr, auth_server_addr,
    781 	  and acct_server_addr can now be IPv6 addresses (CONFIG_IPV6=y needs
    782 	  to be added to .config to include IPv6 support); for RADIUS server,
    783 	  radius_server_ipv6=1 needs to be set in hostapd.conf and addresses
    784 	  in RADIUS clients file can then use IPv6 format
    785 	* added experimental support for EAP-PAX
    786 	* replaced hostapd control interface library (hostapd_ctrl.[ch]) with
    787 	  the same implementation that wpa_supplicant is using (wpa_ctrl.[ch])
    788 
    789 2005-02-12 - v0.3.7 (beginning of 0.3.x stable releases)
    790 
    791 2005-01-23 - v0.3.5
    792 	* added support for configuring a forced PEAP version based on the
    793 	  Phase 1 identity
    794 	* fixed PEAPv1 to use tunneled EAP-Success/Failure instead of EAP-TLV
    795 	  to terminate authentication
    796 	* fixed EAP identifier duplicate processing with the new IEEE 802.1X
    797 	  draft
    798 	* clear accounting data in the driver when starting a new accounting
    799 	  session
    800 	* driver_madwifi: filter wireless events based on ifindex to allow more
    801 	  than one network interface to be used
    802 	* fixed WPA message 2/4 processing not to cancel timeout for TimeoutEvt
    803 	  setting if the packet does not pass MIC verification (e.g., due to
    804 	  incorrect PSK); previously, message 1/4 was not tried again if an
    805 	  invalid message 2/4 was received
    806 	* fixed reconfiguration of RADIUS client retransmission timer when
    807 	  adding a new message to the pending list; previously, timer was not
    808 	  updated at this point and if there was a pending message with long
    809 	  time for the next retry, the new message needed to wait that long for
    810 	  its first retry, too
    811 
    812 2005-01-09 - v0.3.4
    813 	* added support for configuring multiple allowed EAP types for Phase 2
    814 	  authentication (EAP-PEAP, EAP-TTLS)
    815 	* fixed EAPOL-Start processing to trigger WPA reauthentication
    816 	  (previously, only EAPOL authentication was done)
    817 
    818 2005-01-02 - v0.3.3
    819 	* added support for EAP-PEAP in the integrated EAP authenticator
    820 	* added support for EAP-GTC in the integrated EAP authenticator
    821 	* added support for configuring list of EAP methods for Phase 1 so that
    822 	  the integrated EAP authenticator can, e.g., use the wildcard entry
    823 	  for EAP-TLS and EAP-PEAP
    824 	* added support for EAP-TTLS in the integrated EAP authenticator
    825 	* added support for EAP-SIM in the integrated EAP authenticator
    826 	* added support for using hostapd as a RADIUS authentication server
    827 	  with the integrated EAP authenticator taking care of EAP
    828 	  authentication (new hostapd.conf options: radius_server_clients and
    829 	  radius_server_auth_port); this is not included in default build; use
    830 	  CONFIG_RADIUS_SERVER=y in .config to include
    831 
    832 2004-12-19 - v0.3.2
    833 	* removed 'daemonize' configuration file option since it has not really
    834 	  been used at all for more than year
    835 	* driver_madwifi: fixed group key setup and added get_ssid method
    836 	* added support for EAP-MSCHAPv2 in the integrated EAP authenticator
    837 
    838 2004-12-12 - v0.3.1
    839 	* added support for integrated EAP-TLS authentication (new hostapd.conf
    840 	  variables: ca_cert, server_cert, private_key, private_key_passwd);
    841 	  this enabled dynamic keying (WPA2/WPA/IEEE 802.1X/WEP) without
    842 	  external RADIUS server
    843 	* added support for reading PKCS#12 (PFX) files (as a replacement for
    844 	  PEM/DER) to get certificate and private key (CONFIG_PKCS12)
    845 
    846 2004-12-05 - v0.3.0 (beginning of 0.3.x development releases)
    847 	* added support for Acct-{Input,Output}-Gigawords
    848 	* added support for Event-Timestamp (in RADIUS Accounting-Requests)
    849 	* added support for RADIUS Authentication Client MIB (RFC2618)
    850 	* added support for RADIUS Accounting Client MIB (RFC2620)
    851 	* made EAP re-authentication period configurable (eap_reauth_period)
    852 	* fixed EAPOL reauthentication to trigger WPA/WPA2 reauthentication
    853 	* fixed EAPOL state machine to stop if STA is removed during
    854 	  eapol_sm_step(); this fixes at least one segfault triggering bug with
    855 	  IEEE 802.11i pre-authentication
    856 	* added support for multiple WPA pre-shared keys (e.g., one for each
    857 	  client MAC address or keys shared by a group of clients);
    858 	  new hostapd.conf field wpa_psk_file for setting path to a text file
    859 	  containing PSKs, see hostapd.wpa_psk for an example
    860 	* added support for multiple driver interfaces to allow hostapd to be
    861 	  used with other drivers
    862 	* added wired authenticator driver interface (driver=wired in
    863 	  hostapd.conf, see wired.conf for example configuration)
    864 	* added madwifi driver interface (driver=madwifi in hostapd.conf, see
    865 	  madwifi.conf for example configuration; Note: include files from
    866 	  madwifi project is needed for building and a configuration file,
    867 	  .config, needs to be created in hostapd directory with
    868 	  CONFIG_DRIVER_MADWIFI=y to include this driver interface in hostapd
    869 	  build)
    870 	* fixed an alignment issue that could cause SHA-1 to fail on some
    871 	  platforms (e.g., Intel ixp425 with a compiler that does not 32-bit
    872 	  align variables)
    873 	* fixed RADIUS reconnection after an error in sending interim
    874 	  accounting packets
    875 	* added hostapd control interface for external programs and an example
    876 	  CLI, hostapd_cli (like wpa_cli for wpa_supplicant)
    877 	* started adding dot11, dot1x, radius MIBs ('hostapd_cli mib',
    878 	  'hostapd_cli sta <addr>')
    879 	* finished update from IEEE 802.1X-2001 to IEEE 802.1X-REV (now d11)
    880 	* added support for strict GTK rekeying (wpa_strict_rekey in
    881 	  hostapd.conf)
    882 	* updated IAPP to use UDP port 3517 and multicast address 224.0.1.178
    883 	  (instead of broadcast) for IAPP ADD-notify (moved from draft 3 to
    884 	  IEEE 802.11F-2003)
    885 	* added Prism54 driver interface (driver=prism54 in hostapd.conf;
    886 	  note: .config needs to be created in hostapd directory with
    887 	  CONFIG_DRIVER_PRISM54=y to include this driver interface in hostapd
    888 	  build)
    889 	* dual-licensed hostapd (GPLv2 and BSD licenses)
    890 	* fixed RADIUS accounting to generate a new session id for cases where
    891 	  a station reassociates without first being complete deauthenticated
    892 	* fixed STA disassociation handler to mark next timeout state to
    893 	  deauthenticate the station, i.e., skip long wait for inactivity poll
    894 	  and extra disassociation, if the STA disassociates without
    895 	  deauthenticating
    896 	* added integrated EAP authenticator that can be used instead of
    897 	  external RADIUS authentication server; currently, only EAP-MD5 is
    898 	  supported, so this cannot yet be used for key distribution; the EAP
    899 	  method interface is generic, though, so adding new EAP methods should
    900 	  be straightforward; new hostapd.conf variables: 'eap_authenticator'
    901 	  and 'eap_user_file'; this obsoletes "minimal authentication server"
    902 	  ('minimal_eap' in hostapd.conf) which is now removed
    903 	* added support for FreeBSD and driver interface for the BSD net80211
    904 	  layer (driver=bsd in hostapd.conf and CONFIG_DRIVER_BSD=y in
    905 	  .config); please note that some of the required kernel mods have not
    906 	  yet been committed
    907 
    908 2004-07-17 - v0.2.4 (beginning of 0.2.x stable releases)
    909 	* fixed some accounting cases where Accounting-Start was sent when
    910 	  IEEE 802.1X port was being deauthorized
    911 
    912 2004-06-20 - v0.2.3
    913 	* modified RADIUS client to re-connect the socket in case of certain
    914 	  error codes that are generated when a network interface state is
    915 	  changes (e.g., when IP address changes or the interface is set UP)
    916 	* fixed couple of cases where EAPOL state for a station was freed
    917 	  twice causing a segfault for hostapd
    918 	* fixed couple of bugs in processing WPA deauthentication (freed data
    919 	  was used)
    920 
    921 2004-05-31 - v0.2.2
    922 	* fixed WPA/WPA2 group rekeying to use key index correctly (GN/GM)
    923 	* fixed group rekeying to send zero TSC in EAPOL-Key messages to fix
    924 	  cases where STAs dropped multicast frames as replay attacks
    925 	* added support for copying RADIUS Attribute 'Class' from
    926 	  authentication messages into accounting messages
    927 	* send canned EAP failure if RADIUS server sends Access-Reject without
    928 	  EAP message (previously, Supplicant was not notified in this case)
    929 	* fixed mixed WPA-PSK and WPA-EAP mode to work with WPA-PSK (i.e., do
    930 	  not start EAPOL state machines if the STA selected to use WPA-PSK)
    931 
    932 2004-05-06 - v0.2.1
    933 	* added WPA and IEEE 802.11i/RSN (WPA2) Authenticator functionality
    934 	  - based on IEEE 802.11i/D10.0 but modified to interoperate with WPA
    935 	    (i.e., IEEE 802.11i/D3.0)
    936 	  - supports WPA-only, RSN-only, and mixed WPA/RSN mode
    937 	  - both WPA-PSK and WPA-RADIUS/EAP are supported
    938 	  - PMKSA caching and pre-authentication
    939 	  - new hostapd.conf variables: wpa, wpa_psk, wpa_passphrase,
    940 	    wpa_key_mgmt, wpa_pairwise, wpa_group_rekey, wpa_gmk_rekey,
    941 	    rsn_preauth, rsn_preauth_interfaces
    942 	* fixed interim accounting to remove any pending accounting messages
    943 	  to the STA before sending a new one
    944 
    945 2004-02-15 - v0.2.0
    946 	* added support for Acct-Interim-Interval:
    947 	  - draft-ietf-radius-acct-interim-01.txt
    948 	  - use Acct-Interim-Interval attribute from Access-Accept if local
    949 	    'radius_acct_interim_interval' is not set
    950 	  - allow different update intervals for each STA
    951 	* fixed event loop to call signal handlers only after returning from
    952 	  the real signal handler
    953 	* reset sta->timeout_next after successful association to make sure
    954 	  that the previously registered inactivity timer will not remove the
    955 	  STA immediately (e.g., if STA deauthenticates and re-associates
    956 	  before the timer is triggered).
    957 	* added new hostapd.conf variable, nas_identifier, that can be used to
    958 	  add an optional RADIUS Attribute, NAS-Identifier, into authentication
    959 	  and accounting messages
    960 	* added support for Accounting-On and Accounting-Off messages
    961 	* fixed accounting session handling to send Accounting-Start only once
    962 	  per session and not to send Accounting-Stop if the session was not
    963 	  initialized properly
    964 	* fixed Accounting-Stop statistics in cases where the message was
    965 	  previously sent after the kernel entry for the STA (and/or IEEE
    966 	  802.1X data) was removed
    967 
    968 
    969 Note:
    970 
    971 Older changes up to and including v0.1.0 are included in the ChangeLog
    972 of the Host AP driver.
    973