hostapd: Introduce hostapd_ctrl_iface_get_key_mgmt()
This function will be used in DUP_NETWORK command implementation. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
b328145296
commit
c497a024a2
1 changed files with 92 additions and 70 deletions
|
@ -1058,6 +1058,97 @@ static int hostapd_ctrl_iface_bss_tm_req(struct hostapd_data *hapd,
|
||||||
#endif /* CONFIG_WNM */
|
#endif /* CONFIG_WNM */
|
||||||
|
|
||||||
|
|
||||||
|
static int hostapd_ctrl_iface_get_key_mgmt(struct hostapd_data *hapd,
|
||||||
|
char *buf, size_t buflen)
|
||||||
|
{
|
||||||
|
int ret = 0;
|
||||||
|
char *pos, *end;
|
||||||
|
|
||||||
|
pos = buf;
|
||||||
|
end = buf + buflen;
|
||||||
|
|
||||||
|
WPA_ASSERT(hapd->conf->wpa_key_mgmt);
|
||||||
|
|
||||||
|
if (hapd->conf->wpa_key_mgmt & WPA_KEY_MGMT_PSK) {
|
||||||
|
ret = os_snprintf(pos, end - pos, "WPA-PSK ");
|
||||||
|
if (os_snprintf_error(end - pos, ret))
|
||||||
|
return pos - buf;
|
||||||
|
pos += ret;
|
||||||
|
}
|
||||||
|
if (hapd->conf->wpa_key_mgmt & WPA_KEY_MGMT_IEEE8021X) {
|
||||||
|
ret = os_snprintf(pos, end - pos, "WPA-EAP ");
|
||||||
|
if (os_snprintf_error(end - pos, ret))
|
||||||
|
return pos - buf;
|
||||||
|
pos += ret;
|
||||||
|
}
|
||||||
|
#ifdef CONFIG_IEEE80211R
|
||||||
|
if (hapd->conf->wpa_key_mgmt & WPA_KEY_MGMT_FT_PSK) {
|
||||||
|
ret = os_snprintf(pos, end - pos, "FT-PSK ");
|
||||||
|
if (os_snprintf_error(end - pos, ret))
|
||||||
|
return pos - buf;
|
||||||
|
pos += ret;
|
||||||
|
}
|
||||||
|
if (hapd->conf->wpa_key_mgmt & WPA_KEY_MGMT_FT_IEEE8021X) {
|
||||||
|
ret = os_snprintf(pos, end - pos, "FT-EAP ");
|
||||||
|
if (os_snprintf_error(end - pos, ret))
|
||||||
|
return pos - buf;
|
||||||
|
pos += ret;
|
||||||
|
}
|
||||||
|
#ifdef CONFIG_SAE
|
||||||
|
if (hapd->conf->wpa_key_mgmt & WPA_KEY_MGMT_FT_SAE) {
|
||||||
|
ret = os_snprintf(pos, end - pos, "FT-SAE ");
|
||||||
|
if (os_snprintf_error(end - pos, ret))
|
||||||
|
return pos - buf;
|
||||||
|
pos += ret;
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_SAE */
|
||||||
|
#endif /* CONFIG_IEEE80211R */
|
||||||
|
#ifdef CONFIG_IEEE80211W
|
||||||
|
if (hapd->conf->wpa_key_mgmt & WPA_KEY_MGMT_PSK_SHA256) {
|
||||||
|
ret = os_snprintf(pos, end - pos, "WPA-PSK-SHA256 ");
|
||||||
|
if (os_snprintf_error(end - pos, ret))
|
||||||
|
return pos - buf;
|
||||||
|
pos += ret;
|
||||||
|
}
|
||||||
|
if (hapd->conf->wpa_key_mgmt & WPA_KEY_MGMT_IEEE8021X_SHA256) {
|
||||||
|
ret = os_snprintf(pos, end - pos, "WPA-EAP-SHA256 ");
|
||||||
|
if (os_snprintf_error(end - pos, ret))
|
||||||
|
return pos - buf;
|
||||||
|
pos += ret;
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_IEEE80211W */
|
||||||
|
#ifdef CONFIG_SAE
|
||||||
|
if (hapd->conf->wpa_key_mgmt & WPA_KEY_MGMT_SAE) {
|
||||||
|
ret = os_snprintf(pos, end - pos, "SAE ");
|
||||||
|
if (os_snprintf_error(end - pos, ret))
|
||||||
|
return pos - buf;
|
||||||
|
pos += ret;
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_SAE */
|
||||||
|
if (hapd->conf->wpa_key_mgmt & WPA_KEY_MGMT_IEEE8021X_SUITE_B) {
|
||||||
|
ret = os_snprintf(pos, end - pos, "WPA-EAP-SUITE-B ");
|
||||||
|
if (os_snprintf_error(end - pos, ret))
|
||||||
|
return pos - buf;
|
||||||
|
pos += ret;
|
||||||
|
}
|
||||||
|
if (hapd->conf->wpa_key_mgmt &
|
||||||
|
WPA_KEY_MGMT_IEEE8021X_SUITE_B_192) {
|
||||||
|
ret = os_snprintf(pos, end - pos,
|
||||||
|
"WPA-EAP-SUITE-B-192 ");
|
||||||
|
if (os_snprintf_error(end - pos, ret))
|
||||||
|
return pos - buf;
|
||||||
|
pos += ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pos > buf && *(pos - 1) == ' ') {
|
||||||
|
*(pos - 1) = '\0';
|
||||||
|
pos--;
|
||||||
|
}
|
||||||
|
|
||||||
|
return pos - buf;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static int hostapd_ctrl_iface_get_config(struct hostapd_data *hapd,
|
static int hostapd_ctrl_iface_get_config(struct hostapd_data *hapd,
|
||||||
char *buf, size_t buflen)
|
char *buf, size_t buflen)
|
||||||
{
|
{
|
||||||
|
@ -1120,76 +1211,7 @@ static int hostapd_ctrl_iface_get_config(struct hostapd_data *hapd,
|
||||||
return pos - buf;
|
return pos - buf;
|
||||||
pos += ret;
|
pos += ret;
|
||||||
|
|
||||||
if (hapd->conf->wpa_key_mgmt & WPA_KEY_MGMT_PSK) {
|
pos += hostapd_ctrl_iface_get_key_mgmt(hapd, pos, end - pos);
|
||||||
ret = os_snprintf(pos, end - pos, "WPA-PSK ");
|
|
||||||
if (os_snprintf_error(end - pos, ret))
|
|
||||||
return pos - buf;
|
|
||||||
pos += ret;
|
|
||||||
}
|
|
||||||
if (hapd->conf->wpa_key_mgmt & WPA_KEY_MGMT_IEEE8021X) {
|
|
||||||
ret = os_snprintf(pos, end - pos, "WPA-EAP ");
|
|
||||||
if (os_snprintf_error(end - pos, ret))
|
|
||||||
return pos - buf;
|
|
||||||
pos += ret;
|
|
||||||
}
|
|
||||||
#ifdef CONFIG_IEEE80211R
|
|
||||||
if (hapd->conf->wpa_key_mgmt & WPA_KEY_MGMT_FT_PSK) {
|
|
||||||
ret = os_snprintf(pos, end - pos, "FT-PSK ");
|
|
||||||
if (os_snprintf_error(end - pos, ret))
|
|
||||||
return pos - buf;
|
|
||||||
pos += ret;
|
|
||||||
}
|
|
||||||
if (hapd->conf->wpa_key_mgmt & WPA_KEY_MGMT_FT_IEEE8021X) {
|
|
||||||
ret = os_snprintf(pos, end - pos, "FT-EAP ");
|
|
||||||
if (os_snprintf_error(end - pos, ret))
|
|
||||||
return pos - buf;
|
|
||||||
pos += ret;
|
|
||||||
}
|
|
||||||
#ifdef CONFIG_SAE
|
|
||||||
if (hapd->conf->wpa_key_mgmt & WPA_KEY_MGMT_FT_SAE) {
|
|
||||||
ret = os_snprintf(pos, end - pos, "FT-SAE ");
|
|
||||||
if (os_snprintf_error(end - pos, ret))
|
|
||||||
return pos - buf;
|
|
||||||
pos += ret;
|
|
||||||
}
|
|
||||||
#endif /* CONFIG_SAE */
|
|
||||||
#endif /* CONFIG_IEEE80211R */
|
|
||||||
#ifdef CONFIG_IEEE80211W
|
|
||||||
if (hapd->conf->wpa_key_mgmt & WPA_KEY_MGMT_PSK_SHA256) {
|
|
||||||
ret = os_snprintf(pos, end - pos, "WPA-PSK-SHA256 ");
|
|
||||||
if (os_snprintf_error(end - pos, ret))
|
|
||||||
return pos - buf;
|
|
||||||
pos += ret;
|
|
||||||
}
|
|
||||||
if (hapd->conf->wpa_key_mgmt & WPA_KEY_MGMT_IEEE8021X_SHA256) {
|
|
||||||
ret = os_snprintf(pos, end - pos, "WPA-EAP-SHA256 ");
|
|
||||||
if (os_snprintf_error(end - pos, ret))
|
|
||||||
return pos - buf;
|
|
||||||
pos += ret;
|
|
||||||
}
|
|
||||||
#endif /* CONFIG_IEEE80211W */
|
|
||||||
#ifdef CONFIG_SAE
|
|
||||||
if (hapd->conf->wpa_key_mgmt & WPA_KEY_MGMT_SAE) {
|
|
||||||
ret = os_snprintf(pos, end - pos, "SAE ");
|
|
||||||
if (os_snprintf_error(end - pos, ret))
|
|
||||||
return pos - buf;
|
|
||||||
pos += ret;
|
|
||||||
}
|
|
||||||
#endif /* CONFIG_SAE */
|
|
||||||
if (hapd->conf->wpa_key_mgmt & WPA_KEY_MGMT_IEEE8021X_SUITE_B) {
|
|
||||||
ret = os_snprintf(pos, end - pos, "WPA-EAP-SUITE-B ");
|
|
||||||
if (os_snprintf_error(end - pos, ret))
|
|
||||||
return pos - buf;
|
|
||||||
pos += ret;
|
|
||||||
}
|
|
||||||
if (hapd->conf->wpa_key_mgmt &
|
|
||||||
WPA_KEY_MGMT_IEEE8021X_SUITE_B_192) {
|
|
||||||
ret = os_snprintf(pos, end - pos,
|
|
||||||
"WPA-EAP-SUITE-B-192 ");
|
|
||||||
if (os_snprintf_error(end - pos, ret))
|
|
||||||
return pos - buf;
|
|
||||||
pos += ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = os_snprintf(pos, end - pos, "\n");
|
ret = os_snprintf(pos, end - pos, "\n");
|
||||||
if (os_snprintf_error(end - pos, ret))
|
if (os_snprintf_error(end - pos, ret))
|
||||||
|
|
Loading…
Reference in a new issue