Re: [edk2-devel] [PATCH] NetworkPkg: Add Wi-Fi Wpa3 support in WifiConnectManager

2022-07-01 Thread Maciej Rabeda

Reviewed-by: Maciej Rabeda 

On 24 cze 2022 09:59, Heng Luo wrote:

https://bugzilla.tianocore.org/show_bug.cgi?id=3961

Add below Wpa3 support:
 WPA3-Personal:
   Ieee80211AkmSuiteSAE= 8
 WPA3-Enterprise:
   Ieee80211AkmSuite8021XSuiteB= 11
   Ieee80211AkmSuite8021XSuiteB192 = 12
 Wi-Fi CERTIFIED Enhanced Open:
   Ieee80211AkmSuiteOWE= 18

Cc: Maciej Rabeda 
Cc: Fu Siyuan 
Cc: Wu Jiaxin 
Signed-off-by: Heng Luo 
---
  .../WifiConnectionManagerDxe.vfr  |  8 +-
  .../WifiConnectionMgrConfigNVDataStruct.h |  8 +-
  .../WifiConnectionMgrDxe.h| 18 -
  .../WifiConnectionMgrHiiConfigAccess.c| 37 ++---
  .../WifiConnectionMgrImpl.c   |  4 +-
  .../WifiConnectionMgrMisc.c   | 77 ---
  6 files changed, 119 insertions(+), 33 deletions(-)

diff --git a/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionManagerDxe.vfr 
b/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionManagerDxe.vfr
index b0ef187535..704f2b6a54 100644
--- a/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionManagerDxe.vfr
+++ b/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionManagerDxe.vfr
@@ -1,7 +1,7 @@
  /** @file
Vfr files used in WiFi Connection Manager.
  
-  Copyright (c) 2019, Intel Corporation. All rights reserved.

+  Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.
  
SPDX-License-Identifier: BSD-2-Clause-Patent
  
@@ -121,7 +121,8 @@ formset

  text   = STRING_TOKEN(STR_SECURITY_TYPE);  // TextTwo
  
  
-suppressif NOT ideqval WIFI_MANAGER_IFR_NVDATA.SecurityType == SECURITY_TYPE_WPA2_PERSONAL;

+suppressif NOT ideqval WIFI_MANAGER_IFR_NVDATA.SecurityType == 
SECURITY_TYPE_WPA2_PERSONAL
+  AND NOT ideqval WIFI_MANAGER_IFR_NVDATA.SecurityType == 
SECURITY_TYPE_WPA3_PERSONAL;
password  varid= WIFI_MANAGER_IFR_NVDATA.Password,
  prompt   = STRING_TOKEN(STR_PASSWORD),
  help = STRING_TOKEN(STR_PASSWORD_HELP),
@@ -132,7 +133,8 @@ formset
endpassword;
  endif;
  
-suppressif NOT ideqval WIFI_MANAGER_IFR_NVDATA.SecurityType == SECURITY_TYPE_WPA2_ENTERPRISE;

+suppressif NOT ideqval WIFI_MANAGER_IFR_NVDATA.SecurityType == 
SECURITY_TYPE_WPA2_ENTERPRISE
+  AND NOT ideqval WIFI_MANAGER_IFR_NVDATA.SecurityType == 
SECURITY_TYPE_WPA3_ENTERPRISE;
  
oneof varid   = WIFI_MANAGER_IFR_NVDATA.EapAuthMethod,

  questionid  = KEY_EAP_AUTH_METHOD_CONNECT_NETWORK,
diff --git 
a/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrConfigNVDataStruct.h 
b/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrConfigNVDataStruct.h
index 69878bc457..b5518a74d8 100644
--- a/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrConfigNVDataStruct.h
+++ b/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrConfigNVDataStruct.h
@@ -1,7 +1,7 @@
  /** @file
Define IFR NVData structures used by the WiFi Connection Manager.
  
-  Copyright (c) 2019, Intel Corporation. All rights reserved.

+  Copyright (c) 2019 - 2022, Intel Corporation. All rights reserved.
  
SPDX-License-Identifier: BSD-2-Clause-Patent
  
@@ -119,8 +119,10 @@

  #define SECURITY_TYPE_WPA_PERSONAL 3
  #define SECURITY_TYPE_WPA2_PERSONAL4
  #define SECURITY_TYPE_WEP  5
-#define SECURITY_TYPE_UNKNOWN  6
-#define SECURITY_TYPE_MAX  7
+#define SECURITY_TYPE_WPA3_PERSONAL6
+#define SECURITY_TYPE_WPA3_ENTERPRISE  7
+#define SECURITY_TYPE_UNKNOWN  8
+#define SECURITY_TYPE_MAX  9
  
  #define EAP_AUTH_METHOD_TTLS  0

  #define EAP_AUTH_METHOD_PEAP  1
diff --git a/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrDxe.h 
b/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrDxe.h
index c3c70b2752..7b2e41e155 100644
--- a/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrDxe.h
+++ b/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrDxe.h
@@ -1,7 +1,7 @@
  /** @file
The miscellaneous structure definitions for WiFi connection driver.
  
-  Copyright (c) 2019, Intel Corporation. All rights reserved.

+  Copyright (c) 2019 - 2022, Intel Corporation. All rights reserved.
  
SPDX-License-Identifier: BSD-2-Clause-Patent
  
@@ -82,6 +82,8 @@ typedef enum {

Ieee80211PairwiseCipherSuiteCCMP= 4,
Ieee80211PairwiseCipherSuiteWEP104  = 5,
Ieee80211PairwiseCipherSuiteBIP = 6,
+  Ieee80211PairwiseCipherSuiteGCMP= 8,
+  Ieee80211PairwiseCipherSuiteGCMP256 = 9,
// ...
  } IEEE_80211_PAIRWISE_CIPHER_SUITE;
  
@@ -91,19 +93,29 @@ typedef enum {

  #define IEEE_80211_PAIRWISE_CIPHER_SUITE_CCMP   (OUI_IEEE_80211I | 
(Ieee80211PairwiseCipherSuiteCCMP << 24))
  #define IEEE_80211_PAIRWISE_CIPHER_SUITE_WEP104 (OUI_IEEE_80211I | 
(Ieee80211PairwiseCipherSuiteWEP104 << 24))
  #define IEEE_80211_PAIRWISE_CIPHER_SUITE_BIP

[edk2-devel] [PATCH] NetworkPkg: Add Wi-Fi Wpa3 support in WifiConnectManager

2022-06-24 Thread Heng Luo
https://bugzilla.tianocore.org/show_bug.cgi?id=3961

Add below Wpa3 support:
WPA3-Personal:
  Ieee80211AkmSuiteSAE= 8
WPA3-Enterprise:
  Ieee80211AkmSuite8021XSuiteB= 11
  Ieee80211AkmSuite8021XSuiteB192 = 12
Wi-Fi CERTIFIED Enhanced Open:
  Ieee80211AkmSuiteOWE= 18

Cc: Maciej Rabeda 
Cc: Fu Siyuan 
Cc: Wu Jiaxin 
Signed-off-by: Heng Luo 
---
 .../WifiConnectionManagerDxe.vfr  |  8 +-
 .../WifiConnectionMgrConfigNVDataStruct.h |  8 +-
 .../WifiConnectionMgrDxe.h| 18 -
 .../WifiConnectionMgrHiiConfigAccess.c| 37 ++---
 .../WifiConnectionMgrImpl.c   |  4 +-
 .../WifiConnectionMgrMisc.c   | 77 ---
 6 files changed, 119 insertions(+), 33 deletions(-)

diff --git a/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionManagerDxe.vfr 
b/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionManagerDxe.vfr
index b0ef187535..704f2b6a54 100644
--- a/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionManagerDxe.vfr
+++ b/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionManagerDxe.vfr
@@ -1,7 +1,7 @@
 /** @file
   Vfr files used in WiFi Connection Manager.
 
-  Copyright (c) 2019, Intel Corporation. All rights reserved.
+  Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.
 
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
@@ -121,7 +121,8 @@ formset
 text   = STRING_TOKEN(STR_SECURITY_TYPE);  // TextTwo
 
 
-suppressif NOT ideqval WIFI_MANAGER_IFR_NVDATA.SecurityType == 
SECURITY_TYPE_WPA2_PERSONAL;
+suppressif NOT ideqval WIFI_MANAGER_IFR_NVDATA.SecurityType == 
SECURITY_TYPE_WPA2_PERSONAL
+  AND NOT ideqval WIFI_MANAGER_IFR_NVDATA.SecurityType == 
SECURITY_TYPE_WPA3_PERSONAL;
   password  varid= WIFI_MANAGER_IFR_NVDATA.Password,
 prompt   = STRING_TOKEN(STR_PASSWORD),
 help = STRING_TOKEN(STR_PASSWORD_HELP),
@@ -132,7 +133,8 @@ formset
   endpassword;
 endif;
 
-suppressif NOT ideqval WIFI_MANAGER_IFR_NVDATA.SecurityType == 
SECURITY_TYPE_WPA2_ENTERPRISE;
+suppressif NOT ideqval WIFI_MANAGER_IFR_NVDATA.SecurityType == 
SECURITY_TYPE_WPA2_ENTERPRISE
+  AND NOT ideqval WIFI_MANAGER_IFR_NVDATA.SecurityType == 
SECURITY_TYPE_WPA3_ENTERPRISE;
 
   oneof varid   = WIFI_MANAGER_IFR_NVDATA.EapAuthMethod,
 questionid  = KEY_EAP_AUTH_METHOD_CONNECT_NETWORK,
diff --git 
a/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrConfigNVDataStruct.h 
b/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrConfigNVDataStruct.h
index 69878bc457..b5518a74d8 100644
--- a/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrConfigNVDataStruct.h
+++ b/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrConfigNVDataStruct.h
@@ -1,7 +1,7 @@
 /** @file
   Define IFR NVData structures used by the WiFi Connection Manager.
 
-  Copyright (c) 2019, Intel Corporation. All rights reserved.
+  Copyright (c) 2019 - 2022, Intel Corporation. All rights reserved.
 
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
@@ -119,8 +119,10 @@
 #define SECURITY_TYPE_WPA_PERSONAL 3
 #define SECURITY_TYPE_WPA2_PERSONAL4
 #define SECURITY_TYPE_WEP  5
-#define SECURITY_TYPE_UNKNOWN  6
-#define SECURITY_TYPE_MAX  7
+#define SECURITY_TYPE_WPA3_PERSONAL6
+#define SECURITY_TYPE_WPA3_ENTERPRISE  7
+#define SECURITY_TYPE_UNKNOWN  8
+#define SECURITY_TYPE_MAX  9
 
 #define EAP_AUTH_METHOD_TTLS  0
 #define EAP_AUTH_METHOD_PEAP  1
diff --git a/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrDxe.h 
b/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrDxe.h
index c3c70b2752..7b2e41e155 100644
--- a/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrDxe.h
+++ b/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrDxe.h
@@ -1,7 +1,7 @@
 /** @file
   The miscellaneous structure definitions for WiFi connection driver.
 
-  Copyright (c) 2019, Intel Corporation. All rights reserved.
+  Copyright (c) 2019 - 2022, Intel Corporation. All rights reserved.
 
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
@@ -82,6 +82,8 @@ typedef enum {
   Ieee80211PairwiseCipherSuiteCCMP= 4,
   Ieee80211PairwiseCipherSuiteWEP104  = 5,
   Ieee80211PairwiseCipherSuiteBIP = 6,
+  Ieee80211PairwiseCipherSuiteGCMP= 8,
+  Ieee80211PairwiseCipherSuiteGCMP256 = 9,
   // ...
 } IEEE_80211_PAIRWISE_CIPHER_SUITE;
 
@@ -91,19 +93,29 @@ typedef enum {
 #define IEEE_80211_PAIRWISE_CIPHER_SUITE_CCMP   (OUI_IEEE_80211I | 
(Ieee80211PairwiseCipherSuiteCCMP << 24))
 #define IEEE_80211_PAIRWISE_CIPHER_SUITE_WEP104 (OUI_IEEE_80211I | 
(Ieee80211PairwiseCipherSuiteWEP104 << 24))
 #define IEEE_80211_PAIRWISE_CIPHER_SUITE_BIP(OUI_IEEE_80211I | 
(Ieee80211PairwiseCipherSuiteBIP << 24))
+#define IEEE_80211_PAIRWISE_CIPHER_SUITE_GCMP   (OUI_IEEE_80211I |