public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
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]
-=-=-=-=-=-=-=-=-=-=-=-



  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