wpasupplicant
15 years agoMerged EAP-AKA' into eap_aka.c and added it to defconfig/ChangeLog
Jouni Malinen [Sun, 7 Dec 2008 17:24:56 +0000 (19:24 +0200)]
Merged EAP-AKA' into eap_aka.c and added it to defconfig/ChangeLog

15 years agoAdded protection against EAP-AKA' -> EAP-AKA bidding down attacks
Jouni Malinen [Fri, 5 Dec 2008 20:25:47 +0000 (22:25 +0200)]
Added protection against EAP-AKA' -> EAP-AKA bidding down attacks

AT_BIDDING attribute is included in EAP-AKA/Challenge to allow peer to
know whether the server would have preferred EAP-AKA'.

15 years agoFixed a typo in a comment
Jouni Malinen [Thu, 4 Dec 2008 20:15:51 +0000 (22:15 +0200)]
Fixed a typo in a comment

15 years agoEAP-AKA': Added CK',IK' derivation
Jouni Malinen [Thu, 4 Dec 2008 19:50:56 +0000 (21:50 +0200)]
EAP-AKA': Added CK',IK' derivation

This is based on a change request 3GPP TS 33.402 CR 0033 for version
8.1.1. The hardcoded ANID is now 'WLAN' since that is used in
3GPP TS 24.302.

15 years agoEAP-AKA': Comment out EAP-AKA' server KDF negotiation
Jouni Malinen [Thu, 4 Dec 2008 18:32:56 +0000 (20:32 +0200)]
EAP-AKA': Comment out EAP-AKA' server KDF negotiation

Since only one KDF is currently supported, the negotiation is not
allowed and peer must be rejected if it tries to send KDF selection in a
Challenge message. The negotiation code is left in the file and just
commented out since it was tested to work and can be used in the future
if another KDF is added.

15 years agoEAP-AKA': Added processing of AT_KDF and AT_KDF_INPUT attributes
Jouni Malinen [Thu, 4 Dec 2008 18:29:46 +0000 (20:29 +0200)]
EAP-AKA': Added processing of AT_KDF and AT_KDF_INPUT attributes

Network Name is not yet generated and validated based on 3GPP.33.402
(i.e., a hardcoded string is used in server and anything is accepted in
peer).

15 years agoFixed EAP-SIM and EAP-AKA AT_IDENTITY parsing (server only)
Jouni Malinen [Thu, 4 Dec 2008 16:51:42 +0000 (18:51 +0200)]
Fixed EAP-SIM and EAP-AKA AT_IDENTITY parsing (server only)

The attribute uses 'Actual Identity Length' field to indicate the exact
(pre-padding) length of the Identity. This actual length should be used
as the length, not the remaining attribute length.

This was previously worked around by stripping null termination away
from the end of the identity string at EAP-SIM and EAP-AKA server code.
However, it is likely that that workaround is not really needed and the
real problem was in AT_IDENTITY parsing. Anyway, the workaround is left
in just in case it was really needed with some implementations.

15 years agonl80211: Remove the debug print from data frame processing
Jouni Malinen [Thu, 4 Dec 2008 12:20:33 +0000 (14:20 +0200)]
nl80211: Remove the debug print from data frame processing

This is currently happening way too frequently (mac80211 monitor
interface sends TX info for every frame) and the end result makes it
difficult to read hostapd debug log if there is large amount of data
traffic.

15 years agoMade 802.11 management frame IE parser aware of vendor HT Capab IE
Jouni Malinen [Thu, 4 Dec 2008 11:42:33 +0000 (13:42 +0200)]
Made 802.11 management frame IE parser aware of vendor HT Capab IE

This IE is not (at least yet) actually used for anything, but parsing it
cleans up verbose debug log a bit since thie previously unknown, but
commonly used, vendor IE was being reported as unknown.

15 years agoFixed WEP authentication (both Open System and Shared Key) with mac80211
Jouni Malinen [Thu, 4 Dec 2008 11:21:35 +0000 (13:21 +0200)]
Fixed WEP authentication (both Open System and Shared Key) with mac80211

Only one of the authentication frame types is encrypted. In order for
static WEP encryption to work properly (i.e., to not encrypt the frame),
we need to tell mac80211 about the frames that must not be encrypted.

15 years agoEAP-AKA': Allow both AKA AKA' to be registed from eap_aka_prime.c
Jouni Malinen [Wed, 3 Dec 2008 17:59:52 +0000 (19:59 +0200)]
EAP-AKA': Allow both AKA AKA' to be registed from eap_aka_prime.c

This allows the same source code file to be shared for both methods. For
now, this is only in eap_aka_prime.c, but eventually, changes in
eap_aka_prime.c are likely to be merged into eap_aka.c at which point
the separate eap_aka_prime.c can be removed.

15 years agoRemoved mac_addr from eapol_ctx to fix the eapol_test build
Jouni Malinen [Wed, 3 Dec 2008 17:53:31 +0000 (19:53 +0200)]
Removed mac_addr from eapol_ctx to fix the eapol_test build

15 years agoEAP-AKA': Derive keys using the new KDF (PRF')
Jouni Malinen [Wed, 3 Dec 2008 17:22:20 +0000 (19:22 +0200)]
EAP-AKA': Derive keys using the new KDF (PRF')

15 years agonl80211: Generate 802.11b mode based on 802.11g information
Jouni Malinen [Wed, 3 Dec 2008 10:42:21 +0000 (12:42 +0200)]
nl80211: Generate 802.11b mode based on 802.11g information

If the phy info from nl80211 does not include 802.11b mode, generate
that mode based on 802.11g information. This allows hw_mode=b to be used
with drivers that support 2.4 GHz band.

15 years agoEAP-AKA': Use HMAC-SHA-256-128 for AT_MAC
Jouni Malinen [Tue, 2 Dec 2008 19:29:26 +0000 (21:29 +0200)]
EAP-AKA': Use HMAC-SHA-256-128 for AT_MAC

15 years agoEAP-AKA': Use SHA256 for AT_CHECKCODE
Jouni Malinen [Tue, 2 Dec 2008 19:05:38 +0000 (21:05 +0200)]
EAP-AKA': Use SHA256 for AT_CHECKCODE

15 years agoUse a variable to store EAP method type for EAP-AKA vs. EAP-AKA'
Jouni Malinen [Tue, 2 Dec 2008 18:27:05 +0000 (20:27 +0200)]
Use a variable to store EAP method type for EAP-AKA vs. EAP-AKA'

This makes it easier to eventually replace EAP-AKA implementation with a
shared implementation that supports both EAP-AKA and EAP-AKA'.

15 years agoAdd a starting point for EAP-AKA' (draft-arkko-eap-aka-kdf-10)
Jouni Malinen [Tue, 2 Dec 2008 18:12:49 +0000 (20:12 +0200)]
Add a starting point for EAP-AKA' (draft-arkko-eap-aka-kdf-10)

This is just making an as-is copy of EAP-AKA server and peer
implementation into a new file and by using the different EAP method
type that is allocated for EAP-AKA' (50). None of the other differences
between EAP-AKA and EAP-AKA' are not yet included.

It is likely that once EAP-AKA' implementation is done and is found to
work correctly, large part of the EAP-AKA and EAP-AKA' code will be
shared. However, it is not reasonable to destabilize EAP-AKA
implementation at this point before it is clearer what the final
differences will be.

15 years agoFixed non-HT (and GF, 20 MHz) counting
Jouni Malinen [Tue, 2 Dec 2008 12:32:05 +0000 (14:32 +0200)]
Fixed non-HT (and GF, 20 MHz) counting

Must not count the same STA multiple times if it reassociates back to
the same AP without the old STA entry being removed.

15 years agoWPS: Added support for wildcard PINs that work with any UUID-E
Jouni Malinen [Sun, 30 Nov 2008 18:32:03 +0000 (20:32 +0200)]
WPS: Added support for wildcard PINs that work with any UUID-E

Since the Registrar may not yet know the UUID-E when a new PIN is
entered, use of a wildcard PIN that works with any UUID-E can be useful.
Such a PIN will be bound to the first Enrollee trying to use it and it
will be invalidated after the first use.

15 years agoWPS: Added more verbose debug info on authentication type mismatch
Jouni Malinen [Sun, 30 Nov 2008 17:56:11 +0000 (19:56 +0200)]
WPS: Added more verbose debug info on authentication type mismatch

15 years agoWPS: Added note about update_config and added WPS to ChangeLog
Jouni Malinen [Sun, 30 Nov 2008 15:48:45 +0000 (17:48 +0200)]
WPS: Added note about update_config and added WPS to ChangeLog

15 years agoWPS: Added initial documentation on using WPS with wpa_supplicant
Jouni Malinen [Sun, 30 Nov 2008 15:42:58 +0000 (17:42 +0200)]
WPS: Added initial documentation on using WPS with wpa_supplicant

15 years agoClear various flags on re-association to allow key_mgmt changes
Jouni Malinen [Sun, 30 Nov 2008 15:22:51 +0000 (17:22 +0200)]
Clear various flags on re-association to allow key_mgmt changes

If a STA reassociates and changes key_mgmt (e.g., from WPA-PSK to WPS),
hostapd needs to reset some of the existing STA and WPA state machine
variables to allow correct processing for the new association.

15 years agoAlways clear EAP altAccept and altReject variables on new association
Jouni Malinen [Sun, 30 Nov 2008 14:54:16 +0000 (16:54 +0200)]
Always clear EAP altAccept and altReject variables on new association

Previously, this was only done when the new connection is using
WPA-Personal. However, it looks like it was possible to trigger an
infinite busy loop if altAccept or altReject were left set to true and
an EAPOL frame is received (eapolEap is set to true). Clearing altAccept
and altReject for each association prevents this loop from happening in
the beginning of the next association.

15 years agoWPS: Added support for fragmented WPS IE in Beacon and Probe Response
Jouni Malinen [Sat, 29 Nov 2008 20:06:34 +0000 (22:06 +0200)]
WPS: Added support for fragmented WPS IE in Beacon and Probe Response

Fragment WPS IE if needed to fit into the IE length limits in hostapd
and Reassemble WPS IE data from multiple IEs in wpa_supplicant.

In addition, moved WPS code from events.c into wps_supplicant.c to clean
up module interfaces.

15 years agoWPS: Added driver_test debug dump of Beacon/ProbeResp WPS IE
Jouni Malinen [Sat, 29 Nov 2008 19:27:25 +0000 (21:27 +0200)]
WPS: Added driver_test debug dump of Beacon/ProbeResp WPS IE

15 years agoWPS: Add length limits to device attribute strings
Jouni Malinen [Sat, 29 Nov 2008 19:26:07 +0000 (21:26 +0200)]
WPS: Add length limits to device attribute strings

15 years agoWPS: Fixed hostapd to use allocated buffers for device attributes
Jouni Malinen [Sat, 29 Nov 2008 19:12:12 +0000 (21:12 +0200)]
WPS: Fixed hostapd to use allocated buffers for device attributes

Previous version did not handle re-configuration correctly since WPS
context data was pointing to old (now freed) strings.

15 years agoWPS: Get AP PIN from configuration instead of using hardcoded value
Jouni Malinen [Sat, 29 Nov 2008 19:07:35 +0000 (21:07 +0200)]
WPS: Get AP PIN from configuration instead of using hardcoded value

15 years agoWPS: Added WPS into key_mgmt config write handler
Jouni Malinen [Sat, 29 Nov 2008 19:02:14 +0000 (21:02 +0200)]
WPS: Added WPS into key_mgmt config write handler

15 years agoWPS: Added wpa_supplicant ctrl_iface commands to start WPS processing
Jouni Malinen [Sat, 29 Nov 2008 18:59:45 +0000 (20:59 +0200)]
WPS: Added wpa_supplicant ctrl_iface commands to start WPS processing

New control interface commands WPS_PBC, WPS_PIN, and WPS_REG can be used
to start WPS processing. These add and select the WPS network block into
the configuration temporarily, i.e., there is no need to add the WPS
network block manually anymore.

15 years agoFixed wpa_config_parse_string() not to modify const string.
Jouni Malinen [Sat, 29 Nov 2008 18:50:00 +0000 (20:50 +0200)]
Fixed wpa_config_parse_string() not to modify const string.

This allows wpa_config_set() to be used with const strings as the value.

15 years agoWPS: Added helper functions for generating and validating PINs
Jouni Malinen [Sat, 29 Nov 2008 12:02:09 +0000 (14:02 +0200)]
WPS: Added helper functions for generating and validating PINs

15 years agoWPS: Set Request Type properly into WPS IE in ProbeReq/AssocReq
Jouni Malinen [Sat, 29 Nov 2008 11:38:03 +0000 (13:38 +0200)]
WPS: Set Request Type properly into WPS IE in ProbeReq/AssocReq

15 years agoWPS: Moved WPS IE building for ProbeReq/AssocReq into wps.c
Jouni Malinen [Sat, 29 Nov 2008 11:21:28 +0000 (13:21 +0200)]
WPS: Moved WPS IE building for ProbeReq/AssocReq into wps.c

These functions fit in better with the category of functions included in
wps.c. wps_common.c is now used for generic helper functions (currently,
only crypto code).

15 years agoWPS: Split wps_common.c into parts
Jouni Malinen [Sat, 29 Nov 2008 11:16:26 +0000 (13:16 +0200)]
WPS: Split wps_common.c into parts

To make it easier to find various functions, attribute functions were
split into wps_attr_{build,parse,process}.c.

15 years agoWPS: Moved RF Bands processing into wps_dev_attr.c
Jouni Malinen [Sat, 29 Nov 2008 10:59:43 +0000 (12:59 +0200)]
WPS: Moved RF Bands processing into wps_dev_attr.c

This allows the RF Bands attribute to be configured and stored.

15 years agoWPS: Moved ProbeReq/AssocReq WPS IE building into wps_common.c
Jouni Malinen [Sat, 29 Nov 2008 10:44:02 +0000 (12:44 +0200)]
WPS: Moved ProbeReq/AssocReq WPS IE building into wps_common.c

This code and the related attributes are not specific to Enrollee
functionality, so wps_common.c is the correct location for them.

15 years agoWPS: Pass device data into wps_enrollee_build_probe_req_ie()
Jouni Malinen [Sat, 29 Nov 2008 10:19:30 +0000 (12:19 +0200)]
WPS: Pass device data into wps_enrollee_build_probe_req_ie()

Use configured device data instead of hardcoded values to generate WPS
IE for Probe Request.

15 years agoWPS: Parse Request Type from WPS IE in (Re)AssocReq and derive mgmt keys
Jouni Malinen [Sat, 29 Nov 2008 10:11:56 +0000 (12:11 +0200)]
WPS: Parse Request Type from WPS IE in (Re)AssocReq and derive mgmt keys

WPS IE is now passed from hostapd association processing into EAP-WSC
and WPS processing. Request Type attribute is parsed from this
information and if the request is for a WLAN Manager Registrar,
additional management keys are derived (to be used with UPnP).

15 years agoWPS: Added comments for main data structures
Jouni Malinen [Fri, 28 Nov 2008 18:50:08 +0000 (20:50 +0200)]
WPS: Added comments for main data structures

15 years agoWPS: Moved mac_addr and uuid configuration into wps_context
Jouni Malinen [Fri, 28 Nov 2008 18:44:47 +0000 (20:44 +0200)]
WPS: Moved mac_addr and uuid configuration into wps_context

There is no need to complicate EAPOL and EAP interfaces with WPS
specific parameters now that wps_context is passed through.

15 years agoWPS: Moved wps_context initialization into wps_supplicant.c
Jouni Malinen [Fri, 28 Nov 2008 18:32:13 +0000 (20:32 +0200)]
WPS: Moved wps_context initialization into wps_supplicant.c

The wps_context data is now managed at wpa_supplicant, not EAP-WSC. This
makes wpa_supplicant design for WPS match with hostapd one and also
makes it easier configure whatever parameters and callbacks are needed
for WPS.

15 years agoWPS: Merged two cred_cb variables into the same one
Jouni Malinen [Fri, 28 Nov 2008 18:02:32 +0000 (20:02 +0200)]
WPS: Merged two cred_cb variables into the same one

Previously, wpa_supplicant as Enrollee case was handled using a
different callback function pointer. However, now that the wps_context
structure is allocated for all cases, the same variable can be used in
all cases.

15 years agoWPS: Move WPS glue code from wpas_glue.c to wps_supplicant.c
Jouni Malinen [Fri, 28 Nov 2008 17:46:22 +0000 (19:46 +0200)]
WPS: Move WPS glue code from wpas_glue.c to wps_supplicant.c

This cleans up the internal interface between different modules and is
the first step in getting wpa_supplicant design closer to hostapd as far
as WPS is concerned.

15 years agoWPS: Moved device attributes into wps_context::dev for Enrollee case
Jouni Malinen [Fri, 28 Nov 2008 17:29:22 +0000 (19:29 +0200)]
WPS: Moved device attributes into wps_context::dev for Enrollee case

Previously, hardcoded values were used in wps_enrollee.c. These are now
moved into shared data in struct wps_context. In case of
AP/Authenticator, these are initialized in wps_hostapd.c. In case of
client/supplicant, these are now initialized in EAP-WSC peer method,
but will probably end up being moved into higher layer for better
configuration.
 EAP-WSC peer method for

15 years ago0.5.11 release
Jouni Malinen [Fri, 28 Nov 2008 16:32:55 +0000 (18:32 +0200)]
0.5.11 release

15 years agoWPS: Update supplicant configuration when acting as an external Registrar
Jouni Malinen [Thu, 27 Nov 2008 19:23:43 +0000 (21:23 +0200)]
WPS: Update supplicant configuration when acting as an external Registrar

This allows the network to be used after the Registrar configuration
step. The local WPS network is replaced with a new network block
similarly to the case of acting as an Enrollee.

15 years agoWPS: Moved Credential building to use struct wps_credential
Jouni Malinen [Thu, 27 Nov 2008 19:14:39 +0000 (21:14 +0200)]
WPS: Moved Credential building to use struct wps_credential

This makes it easier to store old AP settings into wps->cred (and allow
them to modified and taken into use in the future). Separation between
Credential and AP Settings building is also cleaner in this design.

15 years agoWPS: Process old AP Settings in M7 when registering as external Registrar
Jouni Malinen [Thu, 27 Nov 2008 18:32:39 +0000 (20:32 +0200)]
WPS: Process old AP Settings in M7 when registering as external Registrar

The old (i.e., currently used) AP Settings are processed. For now, they
are copied as-is into M8 as new AP Settings to avoid changing
configuration. This should be changed to allow external programs (e.g.,
GUI) to fetch the old AP settings over ctrl_iface and then allow
settings to be changed before sending M8 with the new settings.

15 years agoWPS: Moved Credential and AP Settings processing in common code
Jouni Malinen [Thu, 27 Nov 2008 18:15:48 +0000 (20:15 +0200)]
WPS: Moved Credential and AP Settings processing in common code

The core processing of attributes into struct wps_credential is now in
wps_common.c (was in wps_enrollee.c), so that the same code can be
shared with Registrar.

15 years agoFixed a typo in a debug message
Jouni Malinen [Thu, 27 Nov 2008 17:38:52 +0000 (19:38 +0200)]
Fixed a typo in a debug message

15 years agoWPS: Added parsing of Request Type and Response Type attributes
Jouni Malinen [Wed, 26 Nov 2008 19:00:27 +0000 (21:00 +0200)]
WPS: Added parsing of Request Type and Response Type attributes

15 years agoWPS: Moved UUID configuration from phase1 into global config area
Jouni Malinen [Wed, 26 Nov 2008 18:47:24 +0000 (20:47 +0200)]
WPS: Moved UUID configuration from phase1 into global config area

15 years agoChanged NL80211_ATTR_WIPHY_SEC_CHAN_OFFSET to use U32
Jouni Malinen [Wed, 26 Nov 2008 14:16:28 +0000 (16:16 +0200)]
Changed NL80211_ATTR_WIPHY_SEC_CHAN_OFFSET to use U32

15 years agoPEAPv0: Added support for IPMK/CMK derivation in session resumption case
Jouni Malinen [Wed, 26 Nov 2008 11:27:40 +0000 (13:27 +0200)]
PEAPv0: Added support for IPMK/CMK derivation in session resumption case

15 years agonl80211: Fixed a merge issue in an earlier commit for set_freq
Jouni Malinen [Wed, 26 Nov 2008 08:52:45 +0000 (10:52 +0200)]
nl80211: Fixed a merge issue in an earlier commit for set_freq

15 years agonl80211: Clear HT flags from the channel when exiting
Jouni Malinen [Wed, 26 Nov 2008 08:51:01 +0000 (10:51 +0200)]
nl80211: Clear HT flags from the channel when exiting

15 years agoAdded option to distinguish non-HT and HT20 in set_freq
Jouni Malinen [Wed, 26 Nov 2008 08:44:04 +0000 (10:44 +0200)]
Added option to distinguish non-HT and HT20 in set_freq

15 years agonl80211: Add support for setting channel frequency and HT20 vs. HT40
Jouni Malinen [Tue, 25 Nov 2008 18:59:39 +0000 (20:59 +0200)]
nl80211: Add support for setting channel frequency and HT20 vs. HT40

This depends on a patch to Linux nl80211/mac80211 that has not yet been
merged into wireless-testing. If that change is not present, the old
mechanism (WEXT) will be used instead.

15 years agoChange HT parameter configuration to use a single driver ops function
Jouni Malinen [Tue, 25 Nov 2008 12:57:34 +0000 (14:57 +0200)]
Change HT parameter configuration to use a single driver ops function

It is better to pass both HT Capabilities and HT Operation IEs in the
same function call since it may be easier for the driver wrappers to
handle the changes without having to wait for the other IE in the
wrapper code.

15 years agoValidate HT40 channel pair validity based on IEEE 802.11n Annex J
Jouni Malinen [Tue, 25 Nov 2008 10:51:03 +0000 (12:51 +0200)]
Validate HT40 channel pair validity based on IEEE 802.11n Annex J

15 years agodriver_nl80211: Added set_country() handler
Jouni Malinen [Tue, 25 Nov 2008 10:10:35 +0000 (12:10 +0200)]
driver_nl80211: Added set_country() handler

If country_code is set in hostapd.conf, hostapd will now update nl80211
regulatory data by setting the alpha2 string for CRDA. In other words,
"iw reg set <alpha2>" is not needed anymore when using hostapd.

15 years agoAdded support for generating Country IE based on nl80211 regulatory info
Jouni Malinen [Tue, 25 Nov 2008 09:56:28 +0000 (11:56 +0200)]
Added support for generating Country IE based on nl80211 regulatory info

15 years agoGet maximum TX power for each allowed channel from mac80211
Jouni Malinen [Tue, 25 Nov 2008 09:11:50 +0000 (11:11 +0200)]
Get maximum TX power for each allowed channel from mac80211

15 years agoAdd some notes on which channels can be used with HT40- and HT40+
Jouni Malinen [Mon, 24 Nov 2008 17:28:37 +0000 (19:28 +0200)]
Add some notes on which channels can be used with HT40- and HT40+

This is not a complete list, but at least it can provide some help for
whoever is trying to configure hostapd for 802.11n HT40 operation.

15 years agoAdd set STA Channel Width field to 1 when allowing HT40
Jouni Malinen [Mon, 24 Nov 2008 14:44:17 +0000 (16:44 +0200)]
Add set STA Channel Width field to 1 when allowing HT40

15 years agoAdded support for configuring secondary channel offset for HT40
Jouni Malinen [Mon, 24 Nov 2008 14:33:45 +0000 (16:33 +0200)]
Added support for configuring secondary channel offset for HT40

15 years agoRename [40HT] to [HT40] in ht_capab
Jouni Malinen [Mon, 24 Nov 2008 14:11:19 +0000 (16:11 +0200)]
Rename [40HT] to [HT40] in ht_capab

15 years agoFixed HT Capabilities Info byte order processing for big endian CPUs
Jouni Malinen [Mon, 24 Nov 2008 14:06:18 +0000 (16:06 +0200)]
Fixed HT Capabilities Info byte order processing for big endian CPUs

15 years agoAdded IEEE 802.11n HT capability configuration (ht_capab)
Jouni Malinen [Mon, 24 Nov 2008 13:44:25 +0000 (15:44 +0200)]
Added IEEE 802.11n HT capability configuration (ht_capab)

15 years agoUpdated HT Capabilities Info field names to match with 802.11n/D7.0
Jouni Malinen [Mon, 24 Nov 2008 13:08:02 +0000 (15:08 +0200)]
Updated HT Capabilities Info field names to match with 802.11n/D7.0

15 years agoUpdated OpenSSL 0.9.8i patch to use new session ticket override API
Jouni Malinen [Sun, 23 Nov 2008 19:18:26 +0000 (21:18 +0200)]
Updated OpenSSL 0.9.8i patch to use new session ticket override API

The patch for 0.9.9 was merged into the upstream OpenSSL 0.9.9 tree and
is not needed for EAP-FAST support with that OpenSSL version. The patch
for 0.9.8i is now using the same API that was included in 0.9.9.

15 years agoUse SSL_F_SSL_SET_SESSION_TICKET_EXT instead of OPENSSL_VERSION_NUMBER
Jouni Malinen [Sun, 23 Nov 2008 19:14:43 +0000 (21:14 +0200)]
Use SSL_F_SSL_SET_SESSION_TICKET_EXT instead of OPENSSL_VERSION_NUMBER
to figure out whether to use the new session ticket override API with
OpenSSL.

15 years agoReject GPSK-3 if ID_Server in it does not match with the value in GPSK-1
Jouni Malinen [Sun, 23 Nov 2008 18:06:13 +0000 (20:06 +0200)]
Reject GPSK-3 if ID_Server in it does not match with the value in GPSK-1

15 years agoAdd a .gitignore for the new wps directory.
Jouni Malinen [Sun, 23 Nov 2008 17:40:37 +0000 (19:40 +0200)]
Add a .gitignore for the new wps directory.

15 years agoAdded preliminary Wi-Fi Protected Setup (WPS) implementation
Jouni Malinen [Sun, 23 Nov 2008 17:34:26 +0000 (19:34 +0200)]
Added preliminary Wi-Fi Protected Setup (WPS) implementation

This adds WPS support for both hostapd and wpa_supplicant. Both programs
can be configured to act as WPS Enrollee and Registrar. Both PBC and PIN
methods are supported.

Currently, hostapd has more complete configuration option for WPS
parameters and wpa_supplicant configuration style will likely change in
the future. External Registrars are not yet supported in hostapd or
wpa_supplicant. While wpa_supplicant has initial support for acting as
an Registrar to configure an AP, this is still using number of hardcoded
parameters which will need to be made configurable for proper operation.

15 years agoPreparations for 0.6.6 release
Jouni Malinen [Sun, 23 Nov 2008 15:02:06 +0000 (17:02 +0200)]
Preparations for 0.6.6 release

15 years agoPreparations for 0.6.6 release
Jouni Malinen [Sun, 23 Nov 2008 15:00:52 +0000 (17:00 +0200)]
Preparations for 0.6.6 release

15 years agoSimplified RADIUS accounting id usage
Jouni Malinen [Sun, 23 Nov 2008 09:12:17 +0000 (11:12 +0200)]
Simplified RADIUS accounting id usage

Changed accounting_sta_start() to call accounting_sta_get_id()
internally in accounting.c so that external callers do not need to do
anything to allocate unique accounting id. When starting a new session,
a unique identifier is needed anyway, so no need to keep these
operations separate.

15 years agoUse SM_ENTER_GLOBAL to clean up EAPOL state machine debug messages
Jouni Malinen [Sun, 23 Nov 2008 09:01:28 +0000 (11:01 +0200)]
Use SM_ENTER_GLOBAL to clean up EAPOL state machine debug messages

This removes unnecessary messages about entering REAUTH_TIMER INITIALIZE
state every second when a STA is in unauthenticated state.

15 years agoAllocate new Acct-Session-Id on EAPOL-Logoff
Jouni Malinen [Sun, 23 Nov 2008 08:47:36 +0000 (10:47 +0200)]
Allocate new Acct-Session-Id on EAPOL-Logoff

Stop accounting session on EAPOL-Logoff and use new Acct-Session-Id if
STA authenticates again within same association after this.

15 years agoFixed listen interval configuration for nl80211 drivers
Jouni Malinen [Sat, 22 Nov 2008 19:20:27 +0000 (21:20 +0200)]
Fixed listen interval configuration for nl80211 drivers

Need to update the struct sta_info value, too, and not only the local
variable used in handle_assoc()..

15 years agoAdd more verbose debug output for GSM-Milenage use (RAND,SRES,Kc)
Jouni Malinen [Sat, 22 Nov 2008 12:06:58 +0000 (14:06 +0200)]
Add more verbose debug output for GSM-Milenage use (RAND,SRES,Kc)

15 years agoRemove experimental non-AP STA code from hostapd
Jouni Malinen [Fri, 21 Nov 2008 18:48:58 +0000 (20:48 +0200)]
Remove experimental non-AP STA code from hostapd

This was used to allow hostapd to associate as a non-AP STA to another
AP one the same channel while still acting as an AP with the Host AP
driver. This was very experimental and did not work with all firmware
versions. Nowadays, much better way of doing this is to use mac80211
virtual non-AP STA interface. As such, this experimental code can be
removed from hostapd to reduce the code size and make MLME code easier
to understand since it is now only handling AP functionality.

15 years agoRemove overly complex hostapd setup sequence with n+1 callbacks
Jouni Malinen [Fri, 21 Nov 2008 18:39:33 +0000 (20:39 +0200)]
Remove overly complex hostapd setup sequence with n+1 callbacks

This code was originally added as a mechanism to handle long waits
during channel selection and/or radar detection. It is not currently
really used and makes the setup sequence nearly impossible to
understand. Let's get rid of the unwanted complexity. This needs to be
redesigned if it is ever needed again.

15 years agoRemoved forgotten register_drivers() prototype
Jouni Malinen [Fri, 21 Nov 2008 17:51:06 +0000 (19:51 +0200)]
Removed forgotten register_drivers() prototype

Driver registration style was changed long time ago and this is not used
anymore.

15 years agoRemoved partial IEEE 802.11h implementation
Jouni Malinen [Fri, 21 Nov 2008 17:45:20 +0000 (19:45 +0200)]
Removed partial IEEE 802.11h implementation

This code was not finished and did not work with the current mac80211
design. In order to avoid confusing users, it is better to remove this
completely for now and look at new implementation to work with mac80211.

15 years agoRemoved now unused reconfig variables.
Jouni Malinen [Fri, 21 Nov 2008 17:31:54 +0000 (19:31 +0200)]
Removed now unused reconfig variables.

15 years agoreconfig.c file was not used at all, so remove it.
Jouni Malinen [Fri, 21 Nov 2008 17:28:45 +0000 (19:28 +0200)]
reconfig.c file was not used at all, so remove it.

This implementation of reconfiguration is way too complex. Something
simpler should be implemented to allow dynamic configuration changes.

15 years agoAdded an attribution based on the original SSLeay license for OpenSSL.
Jouni Malinen [Fri, 21 Nov 2008 13:54:35 +0000 (15:54 +0200)]
Added an attribution based on the original SSLeay license for OpenSSL.

15 years agoFixed hostapd build without l2_packet (e.g., RADIUS server only).
Jouni Malinen [Fri, 21 Nov 2008 13:44:00 +0000 (15:44 +0200)]
Fixed hostapd build without l2_packet (e.g., RADIUS server only).

15 years agoFixed canceling of PMKSA caching with driver generated RSN IE
Jouni Malinen [Fri, 21 Nov 2008 13:31:25 +0000 (15:31 +0200)]
Fixed canceling of PMKSA caching with driver generated RSN IE

It looks like some Windows NDIS drivers (e.g., Intel) do not clear the
PMKID list even when wpa_supplicant explicitly sets the list to be
empty. In such a case, the driver ends up trying to use PMKSA caching
with the AP and wpa_supplicant may not have the PMK that would be needed
to complete 4-way handshake.

RSN processing already had some code for aborting PMKSA caching by
sending EAPOL-Start. However, this was not triggered in this particular
case where the driver generates the RSN IE. With this change, this case
is included, too, and the failed PMKSA caching attempt is cleanly
canceled and wpa_supplicant can fall back to full EAP authentication.

15 years agoRemove the unwanted Windows console from the Windows binary version of wpa_gui
Jouni Malinen [Fri, 21 Nov 2008 12:26:11 +0000 (14:26 +0200)]
Remove the unwanted Windows console from the Windows binary version of wpa_gui

15 years agoSilence printf() calls in wpa_gui to avoid stdout output from a GUI program
Jouni Malinen [Fri, 21 Nov 2008 12:05:37 +0000 (14:05 +0200)]
Silence printf() calls in wpa_gui to avoid stdout output from a GUI program

15 years agowpa_gui: Add a PNG version of the tray icon for Windows binary build
Jouni Malinen [Fri, 21 Nov 2008 11:58:12 +0000 (13:58 +0200)]
wpa_gui: Add a PNG version of the tray icon for Windows binary build

It looks like Qt does not support SVG format by default on Windows and
it was not trivial to add the plugin into the build, so for now, build a
16x16 PNG icon file for Windows binary to avoid showing an invisible
icon in the tray.

15 years agoFixed EAP-TLS message fragmentation for the last TLS message
Jouni Malinen [Thu, 20 Nov 2008 17:39:35 +0000 (19:39 +0200)]
Fixed EAP-TLS message fragmentation for the last TLS message

It the message was large enough to require fragmentation (e.g., if a large
Session Ticket data is included), More Fragment flag was set, but no
more fragments were actually sent (i.e., Access-Accept was sent out).

15 years agoFixed Milenage debug output to use correct length for IK and CK
Jouni Malinen [Thu, 20 Nov 2008 13:45:31 +0000 (15:45 +0200)]
Fixed Milenage debug output to use correct length for IK and CK

15 years agoFixed EAPA-AKA warning message about AT_RES length to use bits
Jouni Malinen [Thu, 20 Nov 2008 13:23:51 +0000 (15:23 +0200)]
Fixed EAPA-AKA warning message about AT_RES length to use bits