Просмотр исходного кода

wpa_supplicant : Fix scan results for GCMP and GCMP-256 cipher.

Add support for recognising GCMP and GCMP-256 ciphers if used by AP.
Update the scan example to show the correct cipher.
jgujarathi 2 лет назад
Родитель
Сommit
e803554654
2 измененных файлов с 27 добавлено и 0 удалено
  1. 6 0
      components/wpa_supplicant/src/rsn_supp/wpa.c
  2. 21 0
      examples/wifi/scan/main/scan.c

+ 6 - 0
components/wpa_supplicant/src/rsn_supp/wpa.c

@@ -110,6 +110,12 @@ wifi_cipher_type_t cipher_type_map_supp_to_public(unsigned wpa_cipher)
     case WPA_CIPHER_SMS4:
         return WIFI_CIPHER_TYPE_SMS4;
 
+    case WPA_CIPHER_GCMP:
+        return WIFI_CIPHER_TYPE_GCMP;
+
+    case WPA_CIPHER_GCMP_256:
+        return WIFI_CIPHER_TYPE_GCMP256;
+
     default:
         return WIFI_CIPHER_TYPE_UNKNOWN;
     }

+ 21 - 0
examples/wifi/scan/main/scan.c

@@ -79,6 +79,18 @@ static void print_cipher_type(int pairwise_cipher, int group_cipher)
     case WIFI_CIPHER_TYPE_TKIP_CCMP:
         ESP_LOGI(TAG, "Pairwise Cipher \tWIFI_CIPHER_TYPE_TKIP_CCMP");
         break;
+    case WIFI_CIPHER_TYPE_AES_CMAC128:
+        ESP_LOGI(TAG, "Pairwise Cipher \tWIFI_CIPHER_TYPE_AES_CMAC128");
+        break;
+    case WIFI_CIPHER_TYPE_SMS4:
+        ESP_LOGI(TAG, "Pairwise Cipher \tWIFI_CIPHER_TYPE_SMS4");
+        break;
+    case WIFI_CIPHER_TYPE_GCMP:
+        ESP_LOGI(TAG, "Pairwise Cipher \tWIFI_CIPHER_TYPE_GCMP");
+        break;
+    case WIFI_CIPHER_TYPE_GCMP256:
+        ESP_LOGI(TAG, "Pairwise Cipher \tWIFI_CIPHER_TYPE_GCMP256");
+        break;
     default:
         ESP_LOGI(TAG, "Pairwise Cipher \tWIFI_CIPHER_TYPE_UNKNOWN");
         break;
@@ -103,6 +115,15 @@ static void print_cipher_type(int pairwise_cipher, int group_cipher)
     case WIFI_CIPHER_TYPE_TKIP_CCMP:
         ESP_LOGI(TAG, "Group Cipher \tWIFI_CIPHER_TYPE_TKIP_CCMP");
         break;
+    case WIFI_CIPHER_TYPE_SMS4:
+        ESP_LOGI(TAG, "Group Cipher \tWIFI_CIPHER_TYPE_SMS4");
+        break;
+    case WIFI_CIPHER_TYPE_GCMP:
+        ESP_LOGI(TAG, "Group Cipher \tWIFI_CIPHER_TYPE_GCMP");
+        break;
+    case WIFI_CIPHER_TYPE_GCMP256:
+        ESP_LOGI(TAG, "Group Cipher \tWIFI_CIPHER_TYPE_GCMP256");
+        break;
     default:
         ESP_LOGI(TAG, "Group Cipher \tWIFI_CIPHER_TYPE_UNKNOWN");
         break;