]> git.ipfire.org Git - thirdparty/hostap.git/blobdiff - wpa_supplicant/config_file.c
WNM: Collocated Interference Reporting
[thirdparty/hostap.git] / wpa_supplicant / config_file.c
index 5a71869616ae0fc27942694a8e20b79852a012db..09115e19dc2d405b752708e4ca65aaa085129622 100644 (file)
@@ -141,8 +141,9 @@ static int wpa_config_validate_network(struct wpa_ssid *ssid, int line)
                ssid->p2p_persistent_group = 1;
 
        if ((ssid->group_cipher & WPA_CIPHER_CCMP) &&
-           !(ssid->pairwise_cipher & WPA_CIPHER_CCMP) &&
-           !(ssid->pairwise_cipher & WPA_CIPHER_NONE)) {
+           !(ssid->pairwise_cipher & (WPA_CIPHER_CCMP | WPA_CIPHER_CCMP_256 |
+                                      WPA_CIPHER_GCMP | WPA_CIPHER_GCMP_256 |
+                                      WPA_CIPHER_NONE))) {
                /* Group cipher cannot be stronger than the pairwise cipher. */
                wpa_printf(MSG_DEBUG, "Line %d: removed CCMP from group cipher"
                           " list since it was not allowed for pairwise "
@@ -748,6 +749,7 @@ static void wpa_config_write_network(FILE *f, struct wpa_ssid *ssid)
        write_psk(f, ssid);
        INT(mem_only_psk);
        STR(sae_password);
+       STR(sae_password_id);
        write_proto(f, ssid);
        write_key_mgmt(f, ssid);
        INT_DEF(bg_scan_period, DEFAULT_BG_SCAN_PERIOD);
@@ -856,6 +858,7 @@ static void wpa_config_write_network(FILE *f, struct wpa_ssid *ssid)
 #endif /* CONFIG_MACSEC */
 #ifdef CONFIG_HS20
        INT(update_identifier);
+       STR(roaming_consortium_selection);
 #endif /* CONFIG_HS20 */
        write_int(f, "mac_addr", ssid->mac_addr, -1);
 #ifdef CONFIG_MESH
@@ -1039,6 +1042,20 @@ static void wpa_config_write_cred(FILE *f, struct wpa_cred *cred)
                fprintf(f, "\n");
        }
 
+       if (cred->num_roaming_consortiums) {
+               size_t j;
+
+               fprintf(f, "\troaming_consortiums=\"");
+               for (i = 0; i < cred->num_roaming_consortiums; i++) {
+                       if (i > 0)
+                               fprintf(f, ",");
+                       for (j = 0; j < cred->roaming_consortiums_len[i]; j++)
+                               fprintf(f, "%02x",
+                                       cred->roaming_consortiums[i][j]);
+               }
+               fprintf(f, "\"\n");
+       }
+
        if (cred->sim_num != DEFAULT_USER_SELECTED_SIM)
                fprintf(f, "\tsim_num=%d\n", cred->sim_num);
 }
@@ -1494,7 +1511,9 @@ static void wpa_config_write_global(FILE *f, struct wpa_config *config)
        if (config->dpp_config_processing)
                fprintf(f, "dpp_config_processing=%d\n",
                        config->dpp_config_processing);
-
+       if (config->coloc_intf_reporting)
+               fprintf(f, "coloc_intf_reporting=%d\n",
+                       config->coloc_intf_reporting);
 }
 
 #endif /* CONFIG_NO_CONFIG_WRITE */