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>
This commit is contained in:
Jouni Malinen 2017-01-14 17:41:20 +02:00
parent 3cdb4ac074
commit 117875db33
2 changed files with 25 additions and 2 deletions

View file

@ -625,8 +625,9 @@ fi.w1.wpa_supplicant1.CreateInterface.
<p>Capabilities of the interface. Dictionary contains following entries:</p> <p>Capabilities of the interface. Dictionary contains following entries:</p>
<table> <table>
<tr><th>Key</th><th>Value type</th><th>Description</th> <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>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", "tkip", "wep104", "wep40"</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>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>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> <tr><td>AuthAlg</td><td>as</td><td>Possible array elements: "open", "shared", "leap"</td>

View file

@ -2492,6 +2492,28 @@ dbus_bool_t wpas_dbus_getter_capabilities(
goto nomem; 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 */ /***** key management */
if (res < 0) { if (res < 0) {
const char *args[] = { const char *args[] = {