diff options
author | Zachary Clark-Williams <zclarkw112@gmail.com> | 2022-08-10 15:32:11 -0700 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2023-01-10 21:31:29 +0000 |
commit | fe405f08a09e9f2306c72aa23d8edfbcfaa23bff (patch) | |
tree | 3a0c764d1d31900d59083ba796b159d15456ee9c /NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrMisc.c | |
parent | ec54ce1f1ab41b92782b37ae59e752fff0ef9c41 (diff) | |
download | edk2-fe405f08a09e9f2306c72aa23d8edfbcfaa23bff.zip edk2-fe405f08a09e9f2306c72aa23d8edfbcfaa23bff.tar.gz edk2-fe405f08a09e9f2306c72aa23d8edfbcfaa23bff.tar.bz2 |
NetworkPkg: Add WiFi profile sync protocol support
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3845
Enables KVM and One Click Recovery WLAN capability with WiFi Profile
Sync feature and protocol. Adding WiFiProfileSyncProtocol, which
supports the profilesync driver operations for transferring WiFi profiles
from AMT to the Supplicant. WiFiConnectionManager will check for the
WifiProfileSyncProtocol and if found will operate on the premise of a
One Click Recovery, or KVM flow with a Wifi profile provided by AMT.
Cc: Maciej Rabeda <maciej.rabeda@linux.intel.com>
Cc: Wu Jiaxin <jiaxin.wu@intel.com>
Cc: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
Signed-off-by: Zachary Clark-Williams <zachary.clark-williams@intel.com>
Acked-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Jiaxin Wu <jiaxin.wu@intel.com>
Diffstat (limited to 'NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrMisc.c')
-rw-r--r-- | NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrMisc.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrMisc.c b/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrMisc.c index 4ad5643..154f296 100644 --- a/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrMisc.c +++ b/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrMisc.c @@ -672,10 +672,23 @@ WifiMgrCleanProfileSecrets ( IN WIFI_MGR_NETWORK_PROFILE *Profile
)
{
+ EFI_STATUS Status;
+ EDKII_WIFI_PROFILE_SYNC_PROTOCOL *WiFiProfileSyncProtocol;
+
ZeroMem (Profile->Password, sizeof (CHAR16) * PASSWORD_STORAGE_SIZE);
ZeroMem (Profile->EapPassword, sizeof (CHAR16) * PASSWORD_STORAGE_SIZE);
ZeroMem (Profile->PrivateKeyPassword, sizeof (CHAR16) * PASSWORD_STORAGE_SIZE);
+ //
+ // When EFI WiFi profile sync protocol is found the system is performing a recovery boot in secure
+ // boot mode. The profile sync driver will manage the CA certificate, client certificate, and key
+ // data, cleaning them at exit boot services.
+ //
+ Status = gBS->LocateProtocol (&gEdkiiWiFiProfileSyncProtocolGuid, NULL, (VOID **)&WiFiProfileSyncProtocol);
+ if (!EFI_ERROR (Status)) {
+ return;
+ }
+
if (Profile->CACertData != NULL) {
ZeroMem (Profile->CACertData, Profile->CACertSize);
FreePool (Profile->CACertData);
|