wiphy: Generalize supported cipher dumper

To make it easier to support additional ciphers in the future.
This commit is contained in:
Denis Kenzior 2022-10-20 15:23:03 -05:00
parent 8040826079
commit 4c30bd68ea
1 changed files with 24 additions and 9 deletions

View File

@ -1120,7 +1120,7 @@ static void wiphy_print_band_info(struct band *band, const char *name)
static void wiphy_print_basic_info(struct wiphy *wiphy) static void wiphy_print_basic_info(struct wiphy *wiphy)
{ {
char buf[1024]; char buf[2048];
l_info("Wiphy: %d, Name: %s", wiphy->id, wiphy->name); l_info("Wiphy: %d, Name: %s", wiphy->id, wiphy->name);
l_info("\tPermanent Address: "MAC, MAC_STR(wiphy->permanent_addr)); l_info("\tPermanent Address: "MAC, MAC_STR(wiphy->permanent_addr));
@ -1135,18 +1135,33 @@ static void wiphy_print_basic_info(struct wiphy *wiphy)
wiphy_print_band_info(wiphy->band_6g, "6GHz Band"); wiphy_print_band_info(wiphy->band_6g, "6GHz Band");
if (wiphy->supported_ciphers) { if (wiphy->supported_ciphers) {
int len = 0; int n = 0;
size_t len = 0;
int i = sizeof(wiphy->supported_ciphers) * 8 - 1;
len += sprintf(buf + len, "\tCiphers:"); len += snprintf(buf, sizeof(buf), "\tCiphers:");
if (wiphy->supported_ciphers & IE_RSN_CIPHER_SUITE_CCMP) for (; i >= 0 && len < sizeof(buf); i--) {
len += sprintf(buf + len, " CCMP"); typeof(wiphy->supported_ciphers) cipher = 1 << i;
const char *str;
if (wiphy->supported_ciphers & IE_RSN_CIPHER_SUITE_TKIP) if (cipher == IE_RSN_CIPHER_SUITE_WEP40 ||
len += sprintf(buf + len, " TKIP"); cipher == IE_RSN_CIPHER_SUITE_WEP104)
continue;
if (wiphy->supported_ciphers & IE_RSN_CIPHER_SUITE_BIP_CMAC) if (!(wiphy->supported_ciphers & cipher))
len += sprintf(buf + len, " BIP"); continue;
str = ie_rsn_cipher_suite_to_string(cipher);
if (!str)
continue;
len += snprintf(buf + len, sizeof(buf) - len, "%s%s",
!n || (n % 4) ? " " : "\n\t\t ",
str);
n += 1;
}
l_info("%s", buf); l_info("%s", buf);
} }