|
@@ -938,6 +938,47 @@ static char * wpa_config_write_key_mgmt(const struct parse_data *data,
|
|
|
}
|
|
|
#endif /* CONFIG_SUITEB192 */
|
|
|
|
|
|
+#ifdef CONFIG_FILS
|
|
|
+ if (ssid->key_mgmt & WPA_KEY_MGMT_FILS_SHA256) {
|
|
|
+ ret = os_snprintf(pos, end - pos, "%sFILS-SHA256",
|
|
|
+ pos == buf ? "" : " ");
|
|
|
+ if (os_snprintf_error(end - pos, ret)) {
|
|
|
+ end[-1] = '\0';
|
|
|
+ return buf;
|
|
|
+ }
|
|
|
+ pos += ret;
|
|
|
+ }
|
|
|
+ if (ssid->key_mgmt & WPA_KEY_MGMT_FILS_SHA384) {
|
|
|
+ ret = os_snprintf(pos, end - pos, "%sFILS-SHA384",
|
|
|
+ pos == buf ? "" : " ");
|
|
|
+ if (os_snprintf_error(end - pos, ret)) {
|
|
|
+ end[-1] = '\0';
|
|
|
+ return buf;
|
|
|
+ }
|
|
|
+ pos += ret;
|
|
|
+ }
|
|
|
+#ifdef CONFIG_IEEE80211R
|
|
|
+ if (ssid->key_mgmt & WPA_KEY_MGMT_FT_FILS_SHA256) {
|
|
|
+ ret = os_snprintf(pos, end - pos, "%sFT-FILS-SHA256",
|
|
|
+ pos == buf ? "" : " ");
|
|
|
+ if (os_snprintf_error(end - pos, ret)) {
|
|
|
+ end[-1] = '\0';
|
|
|
+ return buf;
|
|
|
+ }
|
|
|
+ pos += ret;
|
|
|
+ }
|
|
|
+ if (ssid->key_mgmt & WPA_KEY_MGMT_FT_FILS_SHA384) {
|
|
|
+ ret = os_snprintf(pos, end - pos, "%sFT-FILS-SHA384",
|
|
|
+ pos == buf ? "" : " ");
|
|
|
+ if (os_snprintf_error(end - pos, ret)) {
|
|
|
+ end[-1] = '\0';
|
|
|
+ return buf;
|
|
|
+ }
|
|
|
+ pos += ret;
|
|
|
+ }
|
|
|
+#endif /* CONFIG_IEEE80211R */
|
|
|
+#endif /* CONFIG_FILS */
|
|
|
+
|
|
|
if (pos == buf) {
|
|
|
os_free(buf);
|
|
|
buf = NULL;
|