D-Bus: Add GroupMgmt entry into the interface Capabilities dict

This can be used to determine whether the driver supports PMF and if so,
with which group management cipher suites. In addition, add the missing
pairwise and group cipher suite values to the documentation while adding
this new entry there as well.

Signed-off-by: Jouni Malinen <j@w1.fi>
master
Jouni Malinen 7 years ago
parent 3cdb4ac074
commit 117875db33

@ -625,8 +625,9 @@ fi.w1.wpa_supplicant1.CreateInterface.
<p>Capabilities of the interface. Dictionary contains following entries:</p>
<table>
<tr><th>Key</th><th>Value type</th><th>Description</th>
<tr><td>Pairwise</td><td>as</td><td>Possible array elements: "ccmp", "tkip", "none"</td>
<tr><td>Group</td><td>as</td><td>Possible array elements: "ccmp", "tkip", "wep104", "wep40"</td>
<tr><td>Pairwise</td><td>as</td><td>Possible array elements: "ccmp-256", "gcmp-256", "ccmp", "gcmp", "tkip", "none"</td>
<tr><td>Group</td><td>as</td><td>Possible array elements: "ccmp-256", "gcmp-256", "ccmp", "gcmp", "tkip", "wep104", "wep40"</td>
<tr><td>GroupMgmt</td><td>as</td><td>Possible array elements: "aes-128-cmac", "bip-gmac-128", "bip-gmac-256", "bip-cmac-256"</td>
<tr><td>KeyMgmt</td><td>as</td><td>Possible array elements: "wpa-psk", "wpa-ft-psk", "wpa-psk-sha256", "wpa-eap", "wpa-ft-eap", "wpa-eap-sha256", "ieee8021x", "wpa-none", "wps", "none"</td>
<tr><td>Protocol</td><td>as</td><td>Possible array elements: "rsn", "wpa"</td>
<tr><td>AuthAlg</td><td>as</td><td>Possible array elements: "open", "shared", "leap"</td>

@ -2492,6 +2492,28 @@ dbus_bool_t wpas_dbus_getter_capabilities(
goto nomem;
}
if (!wpa_dbus_dict_begin_string_array(&iter_dict, "GroupMgmt",
&iter_dict_entry,
&iter_dict_val,
&iter_array) ||
(res == 0 && (capa.enc & WPA_DRIVER_CAPA_ENC_BIP) &&
!wpa_dbus_dict_string_array_add_element(
&iter_array, "aes-128-cmac")) ||
(res == 0 && (capa.enc & WPA_DRIVER_CAPA_ENC_BIP_GMAC_128) &&
!wpa_dbus_dict_string_array_add_element(
&iter_array, "bip-gmac-128")) ||
(res == 0 && (capa.enc & WPA_DRIVER_CAPA_ENC_BIP_GMAC_256) &&
!wpa_dbus_dict_string_array_add_element(
&iter_array, "bip-gmac-256")) ||
(res == 0 && (capa.enc & WPA_DRIVER_CAPA_ENC_BIP_CMAC_256) &&
!wpa_dbus_dict_string_array_add_element(
&iter_array, "bip-cmac-256")) ||
!wpa_dbus_dict_end_string_array(&iter_dict,
&iter_dict_entry,
&iter_dict_val,
&iter_array))
goto nomem;
/***** key management */
if (res < 0) {
const char *args[] = {

Loading…
Cancel
Save