From: "Clark-williams, Zachary" <zachary.clark-williams@intel.com>
To: "Tan, Ming" <ming.tan@intel.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Kasbekar, Saloni" <saloni.kasbekar@intel.com>,
"Bi, Dandan" <dandan.bi@intel.com>,
"POLUDOV, FELIX" <felixp@ami.com>,
"Liu, Liqi" <liqi.liu@intel.com>
Subject: Re: [edk2-devel] [PATCH] NetworkPkg/WifiConnectionManagerDxe: Update UI according to UEFI spec
Date: Wed, 10 Apr 2024 16:03:04 +0000 [thread overview]
Message-ID: <CO6PR11MB56011EDB5DD56D193EAD77CFC9062@CO6PR11MB5601.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20240322011611.7297-1-ming.tan@intel.com>
Reviewed-by: Zachary Clark-Williams <zachary.clark-williams@intel.com>
-----Original Message-----
From: Tan, Ming <ming.tan@intel.com>
Sent: Thursday, March 21, 2024 6:16 PM
To: devel@edk2.groups.io
Cc: Kasbekar, Saloni <saloni.kasbekar@intel.com>; Clark-williams, Zachary <zachary.clark-williams@intel.com>; Bi, Dandan <dandan.bi@intel.com>; POLUDOV, FELIX <felixp@ami.com>; Liu, Liqi <liqi.liu@intel.com>
Subject: [PATCH] NetworkPkg/WifiConnectionManagerDxe: Update UI according to UEFI spec
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4736
In UEFI_Spec_2_10_Aug29.pdf page 1694 section 35.5.4 for
EFI_BROWSER_ACTION_FORM_OPEN:
NOTE: EFI_FORM_BROWSER2_PROTOCOL.BrowserCallback() cannot be used with this browser action because question values have not been retrieved yet.
So should not call HiiGetBrowserData() and HiiSetBrowserData() in FORM_OPEN call back function.
Now use wifi list key and enroll cert key instead of the connect action key, move wifi info display from open action to close action.
Cc: Saloni Kasbekar <saloni.kasbekar@intel.com>
Cc: Zachary Clark-williams <zachary.clark-williams@intel.com>
Cc: Dandan Bi <dandan.bi@intel.com>
Cc: Felix Polyudov <Felixp@ami.com>
Signed-off-by: Liqi Liu <liqi.liu@intel.com>
Signed-off-by: Ming Tan <ming.tan@intel.com>
---
PR: https://github.com/tianocore/edk2/pull/5487
.../WifiConnectionMgrHiiConfigAccess.c | 113 ++++++++++++------
1 file changed, 74 insertions(+), 39 deletions(-)
diff --git a/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrHiiConfigAccess.c b/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrHiiConfigAccess.c
index 431fcbb33a..f242bdf056 100644
--- a/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrHiiConfigAccess.c
+++ b/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrHiiConfigAcce
+++ ss.c
@@ -1412,7 +1412,9 @@ WifiMgrDxeHiiConfigAccessCallback (
return EFI_OUT_OF_RESOURCES; } - HiiGetBrowserData (&gWifiConfigFormSetGuid, mVendorStorageName, BufferSize, (UINT8 *)IfrNvData);+ if (Action != EFI_BROWSER_ACTION_FORM_OPEN) {+ HiiGetBrowserData (&gWifiConfigFormSetGuid, mVendorStorageName, BufferSize, (UINT8 *)IfrNvData);+ } if (Action == EFI_BROWSER_ACTION_FORM_OPEN) { switch (QuestionId) {@@ -1438,43 +1440,6 @@ WifiMgrDxeHiiConfigAccessCallback (
break; - case KEY_CONNECT_ACTION:-- if (Private->CurrentNic->UserSelectedProfile == NULL) {- break;- }-- Profile = Private->CurrentNic->UserSelectedProfile;-- //- // Enter the network connection configuration page- // Recovery from restored data- //- if (HiiSetString (Private->RegisteredHandle, STRING_TOKEN (STR_SSID), Profile->SSId, NULL) == 0) {- return EFI_OUT_OF_RESOURCES;- }-- IfrNvData->SecurityType = Profile->SecurityType;- if (HiiSetString (- Private->RegisteredHandle,- STRING_TOKEN (STR_SECURITY_TYPE),- mSecurityType[IfrNvData->SecurityType],- NULL- ) == 0)- {- return EFI_OUT_OF_RESOURCES;- }-- if ((IfrNvData->SecurityType == SECURITY_TYPE_WPA2_ENTERPRISE) ||- (IfrNvData->SecurityType == SECURITY_TYPE_WPA3_ENTERPRISE))- {- IfrNvData->EapAuthMethod = Profile->EapAuthMethod;- IfrNvData->EapSecondAuthMethod = Profile->EapSecondAuthMethod;- StrCpyS (IfrNvData->EapIdentity, EAP_IDENTITY_SIZE, Profile->EapIdentity);- }-- break;- case KEY_ENROLLED_CERT_NAME: if (Private->CurrentNic->UserSelectedProfile == NULL) {@@ -1524,6 +1489,43 @@ WifiMgrDxeHiiConfigAccessCallback (
} } else if (Action == EFI_BROWSER_ACTION_FORM_CLOSE) { switch (QuestionId) {+ case KEY_EAP_ENROLL_CERT_FROM_FILE:++ if (Private->CurrentNic->UserSelectedProfile == NULL) {+ break;+ }++ Profile = Private->CurrentNic->UserSelectedProfile;++ //+ // Enter the network connection configuration page+ // Recovery from restored data+ //+ if (HiiSetString (Private->RegisteredHandle, STRING_TOKEN (STR_SSID), Profile->SSId, NULL) == 0) {+ return EFI_OUT_OF_RESOURCES;+ }++ IfrNvData->SecurityType = Profile->SecurityType;+ if (HiiSetString (+ Private->RegisteredHandle,+ STRING_TOKEN (STR_SECURITY_TYPE),+ mSecurityType[IfrNvData->SecurityType],+ NULL+ ) == 0)+ {+ return EFI_OUT_OF_RESOURCES;+ }++ if ( (IfrNvData->SecurityType == SECURITY_TYPE_WPA2_ENTERPRISE)+ || (IfrNvData->SecurityType == SECURITY_TYPE_WPA3_ENTERPRISE))+ {+ IfrNvData->EapAuthMethod = Profile->EapAuthMethod;+ IfrNvData->EapSecondAuthMethod = Profile->EapSecondAuthMethod;+ StrCpyS (IfrNvData->EapIdentity, EAP_IDENTITY_SIZE, Profile->EapIdentity);+ }++ break;+ case KEY_CONNECT_ACTION: if (Private->CurrentNic->UserSelectedProfile == NULL) {@@ -1909,6 +1911,39 @@ WifiMgrDxeHiiConfigAccessCallback (
NULL ); }++ if (Private->CurrentNic->UserSelectedProfile == NULL) {+ break;+ }++ Profile = Private->CurrentNic->UserSelectedProfile;++ //+ // Enter the network connection configuration page+ // Recovery from restored data+ //+ if (HiiSetString (Private->RegisteredHandle, STRING_TOKEN (STR_SSID), Profile->SSId, NULL) == 0) {+ return EFI_OUT_OF_RESOURCES;+ }++ IfrNvData->SecurityType = Profile->SecurityType;+ if (HiiSetString (+ Private->RegisteredHandle,+ STRING_TOKEN (STR_SECURITY_TYPE),+ mSecurityType[IfrNvData->SecurityType],+ NULL+ ) == 0)+ {+ return EFI_OUT_OF_RESOURCES;+ }++ if ( (IfrNvData->SecurityType == SECURITY_TYPE_WPA2_ENTERPRISE)+ || (IfrNvData->SecurityType == SECURITY_TYPE_WPA3_ENTERPRISE))+ {+ IfrNvData->EapAuthMethod = Profile->EapAuthMethod;+ IfrNvData->EapSecondAuthMethod = Profile->EapSecondAuthMethod;+ StrCpyS (IfrNvData->EapIdentity, EAP_IDENTITY_SIZE, Profile->EapIdentity);+ } } break;@@ -1944,7 +1979,7 @@ WifiMgrDxeHiiConfigAccessCallback (
} } - if (!EFI_ERROR (Status)) {+ if (!EFI_ERROR (Status) && (Action != EFI_BROWSER_ACTION_FORM_OPEN)) { // // Pass changed uncommitted data back to Form Browser. //--
2.31.1.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#117605): https://edk2.groups.io/g/devel/message/117605
Mute This Topic: https://groups.io/mt/105077953/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
next prev parent reply other threads:[~2024-04-10 16:03 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-22 1:16 [edk2-devel] [PATCH] NetworkPkg/WifiConnectionManagerDxe: Update UI according to UEFI spec Tan, Ming
2024-04-10 16:03 ` Clark-williams, Zachary [this message]
2024-04-16 5:31 ` Michael D Kinney
2024-04-16 16:38 ` Michael D Kinney
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CO6PR11MB56011EDB5DD56D193EAD77CFC9062@CO6PR11MB5601.namprd11.prod.outlook.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox