From 117875db331f3c858fbfe23e0db415dd9fcb2a6d Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sat, 14 Jan 2017 17:41:20 +0200 Subject: [PATCH] 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 --- doc/dbus.doxygen | 5 +++-- wpa_supplicant/dbus/dbus_new_handlers.c | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/doc/dbus.doxygen b/doc/dbus.doxygen index a4648b81b..8d245459a 100644 --- a/doc/dbus.doxygen +++ b/doc/dbus.doxygen @@ -625,8 +625,9 @@ fi.w1.wpa_supplicant1.CreateInterface.

Capabilities of the interface. Dictionary contains following entries:

- - + + + diff --git a/wpa_supplicant/dbus/dbus_new_handlers.c b/wpa_supplicant/dbus/dbus_new_handlers.c index 87581c900..a6548ba21 100644 --- a/wpa_supplicant/dbus/dbus_new_handlers.c +++ b/wpa_supplicant/dbus/dbus_new_handlers.c @@ -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[] = {
KeyValue typeDescription
PairwiseasPossible array elements: "ccmp", "tkip", "none"
GroupasPossible array elements: "ccmp", "tkip", "wep104", "wep40"
PairwiseasPossible array elements: "ccmp-256", "gcmp-256", "ccmp", "gcmp", "tkip", "none"
GroupasPossible array elements: "ccmp-256", "gcmp-256", "ccmp", "gcmp", "tkip", "wep104", "wep40"
GroupMgmtasPossible array elements: "aes-128-cmac", "bip-gmac-128", "bip-gmac-256", "bip-cmac-256"
KeyMgmtasPossible array elements: "wpa-psk", "wpa-ft-psk", "wpa-psk-sha256", "wpa-eap", "wpa-ft-eap", "wpa-eap-sha256", "ieee8021x", "wpa-none", "wps", "none"
ProtocolasPossible array elements: "rsn", "wpa"
AuthAlgasPossible array elements: "open", "shared", "leap"