hostap/src
Alexander Wetzel a919a26035 Introduce and add key_flag
Add the new set_key() parameter "key_flag" to provide more specific
description of what type of a key is being configured. This is needed to
be able to add support for "Extended Key ID for Individually Addressed
Frames" from IEEE Std 802.11-2016. In addition, this may be used to
replace the set_tx boolean eventually once all the driver wrappers have
moved to using the new key_flag.

The following flag are defined:

  KEY_FLAG_MODIFY
    Set when an already installed key must be updated.
    So far the only use-case is changing RX/TX status of installed
    keys. Must not be set when deleting a key.

  KEY_FLAG_DEFAULT
    Set when the key is also a default key. Must not be set when
    deleting a key. (This is the replacement for set_tx.)

  KEY_FLAG_RX
    The key is valid for RX. Must not be set when deleting a key.

  KEY_FLAG_TX
    The key is valid for TX. Must not be set when deleting a key.

  KEY_FLAG_GROUP
    The key is a broadcast or group key.

  KEY_FLAG_PAIRWISE
    The key is a pairwise key.

  KEY_FLAG_PMK
    The key is a Pairwise Master Key (PMK).

Predefined and needed flag combinations so far are:

  KEY_FLAG_GROUP_RX_TX
    WEP key not used as default key (yet).

  KEY_FLAG_GROUP_RX_TX_DEFAULT
    Default WEP or WPA-NONE key.

  KEY_FLAG_GROUP_RX
    GTK key valid for RX only.

  KEY_FLAG_GROUP_TX_DEFAULT
    GTK key valid for TX only, immediately taking over TX.

  KEY_FLAG_PAIRWISE_RX_TX
    Pairwise key immediately becoming the active pairwise key.

  KEY_FLAG_PAIRWISE_RX
    Pairwise key not yet valid for TX. (Only usable with Extended Key ID
    support.)

  KEY_FLAG_PAIRWISE_RX_TX_MODIFY
    Enable TX for a pairwise key installed with KEY_FLAG_PAIRWISE_RX.

  KEY_FLAG_RX_TX
    Not a valid standalone key type and can only used in combination
    with other flags to mark a key for RX/TX.

This commit is not changing any functionality. It just adds the new
key_flag to all hostapd/wpa_supplicant set_key() functions without using
it, yet.

Signed-off-by: Alexander Wetzel <alexander@wetzel-home.de>
2020-01-09 12:38:36 +02:00
..
ap Introduce and add key_flag 2020-01-09 12:38:36 +02:00
common Introduce and add key_flag 2020-01-09 12:38:36 +02:00
crypto OpenSSL: Fix memory leak in TOD policy validation 2020-01-07 20:40:12 +02:00
drivers Introduce and add key_flag 2020-01-09 12:38:36 +02:00
eap_common EAP-TEAP: Add parsing and generation routines for Identity-Type TLV 2019-08-20 01:34:12 +03:00
eap_peer EAP-SIM peer: Do not accept SIM/Challenge without SIM/Start 2019-12-23 23:59:16 +02:00
eap_server Clean up base64_{encode,decode} pointer types 2019-11-28 16:39:09 +02:00
eapol_auth EAP server: Use struct eap_config to avoid duplicated definitions 2019-08-18 17:36:32 +03:00
eapol_supp Pass full struct to peer certificate callbacks 2019-06-14 23:10:50 +03:00
fst FST: Update FST about MAC address change 2019-10-15 15:39:22 +03:00
l2_packet l2_packet: Fix bridge workaround for repeater configuration 2019-12-24 21:16:23 +02:00
p2p P2P: Add support for EDMG channels 2019-12-20 00:13:08 +02:00
pae mka: Check OLPN for exhaustion on SAKuse decode 2019-09-19 00:21:47 +03:00
radius RADIUS client: fix extra retry before failover 2019-12-30 19:13:51 +02:00
rsn_supp Introduce and add key_flag 2020-01-09 12:38:36 +02:00
tls Clean up base64_{encode,decode} pointer types 2019-11-28 16:39:09 +02:00
utils tests: Fix undefined behavior in module tests 2020-01-08 14:56:55 +02:00
wps WPS: Add application extension data to WPS IE 2020-01-04 23:39:30 +02:00
lib.rules tests: Fix CFLAGS passing for new fuzzing tools 2019-06-11 06:34:19 +03:00
Makefile FST: Add the Fast Session Transfer (FST) module 2015-07-16 18:26:15 +03:00