summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf1
-rw-r--r--NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxeStrings.uni2
-rw-r--r--NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigImpl.c20
-rw-r--r--NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigImpl.h1
4 files changed, 18 insertions, 6 deletions
diff --git a/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf b/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf
index 3fc924a..0ada835 100644
--- a/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf
+++ b/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf
@@ -52,6 +52,7 @@
[Protocols]
gEfiDevicePathProtocolGuid ## PRODUCES
gEfiHiiConfigAccessProtocolGuid ## PRODUCES
+ gEfiHiiPopupProtocolGuid ## CONSUMES
[Guids]
gTlsAuthConfigGuid ## PRODUCES ## GUID
diff --git a/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxeStrings.uni b/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxeStrings.uni
index 973b8b7..2b4a27d 100644
--- a/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxeStrings.uni
+++ b/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxeStrings.uni
@@ -28,6 +28,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#string STR_TLS_AUTH_CONFIG_SAVE_AND_EXIT #language en-US "Commit Changes and Exit"
#string STR_TLS_AUTH_CONFIG_NO_SAVE_AND_EXIT #language en-US "Discard Changes and Exit"
+#string STR_TLS_AUTH_ENROLL_CERT_FAILURE #language en-US "Enroll Cert Failure!"
+
#string STR_CERT_TYPE_PCKS_GUID #language en-US "GUID for CERT"
#string STR_NULL #language en-US ""
diff --git a/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigImpl.c b/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigImpl.c
index 2481d10..110fe87 100644
--- a/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigImpl.c
+++ b/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigImpl.c
@@ -1383,7 +1383,6 @@ TlsAuthConfigAccessCallback (
OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest
)
{
- EFI_INPUT_KEY Key;
EFI_STATUS Status;
RETURN_STATUS RStatus;
TLS_AUTH_CONFIG_PRIVATE_DATA *Private;
@@ -1391,6 +1390,8 @@ TlsAuthConfigAccessCallback (
TLS_AUTH_CONFIG_IFR_NVDATA *IfrNvData;
UINT16 LabelId;
EFI_DEVICE_PATH_PROTOCOL *File;
+ EFI_HII_POPUP_PROTOCOL *HiiPopUp;
+ EFI_HII_POPUP_SELECTION PopUpSelect;
Status = EFI_SUCCESS;
File = NULL;
@@ -1402,6 +1403,11 @@ TlsAuthConfigAccessCallback (
Private = TLS_AUTH_CONFIG_PRIVATE_FROM_THIS (This);
mTlsAuthPrivateData = Private;
+ Status = gBS->LocateProtocol (&gEfiHiiPopupProtocolGuid, NULL, (VOID**) &HiiPopUp);
+ if (EFI_ERROR (Status)) {
+ DEBUG ((DEBUG_ERROR, "Can't find Form PopUp protocol. Exit (%r)\n", Status));
+ return Status;
+ }
//
// Retrieve uncommitted data from Browser
@@ -1460,11 +1466,13 @@ TlsAuthConfigAccessCallback (
if (EFI_ERROR (Status)) {
CleanFileContext (Private);
- CreatePopUp (
- EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE,
- &Key,
- L"ERROR: Enroll Cert Failure!",
- NULL
+ HiiPopUp->CreatePopup (
+ HiiPopUp,
+ EfiHiiPopupStyleError,
+ EfiHiiPopupTypeOk,
+ Private->RegisteredHandle,
+ STRING_TOKEN (STR_TLS_AUTH_ENROLL_CERT_FAILURE),
+ &PopUpSelect
);
}
break;
diff --git a/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigImpl.h b/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigImpl.h
index e9af492..68c1684 100644
--- a/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigImpl.h
+++ b/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigImpl.h
@@ -14,6 +14,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#include <Protocol/HiiConfigAccess.h>
#include <Protocol/SimpleFileSystem.h>
+#include <Protocol/HiiPopup.h>
//
// Libraries