From 0aa0beca37c686c028da47a801b0db6c770b81e8 Mon Sep 17 00:00:00 2001 From: Fu Siyuan Date: Mon, 25 Apr 2016 15:29:26 +0800 Subject: NetworkPkg: Allow user to create a HTTP corporate boot option in setup page. This patch updates the HTTP Boot Configuration page to allow the user to create a corporate mode HTTP boot option, by leaving the URI string empty. The patch also fix a bug that the L"https://" should use StrnCmp() with Length 8. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Fu Siyuan Reviewed-by: Samer El-Haj-Mahmoud Reviewed-by: Ye Ting Reviewed-by: Jiaxin Wu --- NetworkPkg/HttpBootDxe/HttpBootConfig.c | 9 +++++---- NetworkPkg/HttpBootDxe/HttpBootConfigNVDataStruc.h | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) (limited to 'NetworkPkg/HttpBootDxe') diff --git a/NetworkPkg/HttpBootDxe/HttpBootConfig.c b/NetworkPkg/HttpBootDxe/HttpBootConfig.c index c47dddcee8..00e4782f56 100644 --- a/NetworkPkg/HttpBootDxe/HttpBootConfig.c +++ b/NetworkPkg/HttpBootDxe/HttpBootConfig.c @@ -79,9 +79,9 @@ HttpBootAddBootOption ( } // - // Only accept http and https URI. + // Only accept empty URI, or http and https URI. // - if ((StrnCmp (Uri, L"http://", 7) != 0) && (StrnCmp (Uri, L"https://", 7) != 0)) { + if ((StrLen (Uri) != 0) && (StrnCmp (Uri, L"http://", 7) != 0) && (StrnCmp (Uri, L"https://", 8) != 0)) { return EFI_INVALID_PARAMETER; } @@ -577,9 +577,10 @@ HttpBootFormCallback ( HiiSetString (CallbackInfo->RegisteredHandle, Value->string, Uri, NULL); // - // We only accept http and https, pop up a message box for unsupported URI. + // The URI should be either an empty string (for corporate environment) ,or http(s) for home environment. + // Pop up a message box for other unsupported URI. // - if ((StrnCmp (Uri, L"http://", 7) != 0) && (StrnCmp (Uri, L"https://", 7) != 0)) { + if ((StrLen (Uri) != 0) && (StrnCmp (Uri, L"http://", 7) != 0) && (StrnCmp (Uri, L"https://", 8) != 0)) { CreatePopUp ( EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, diff --git a/NetworkPkg/HttpBootDxe/HttpBootConfigNVDataStruc.h b/NetworkPkg/HttpBootDxe/HttpBootConfigNVDataStruc.h index 37ce440411..682306ef1f 100644 --- a/NetworkPkg/HttpBootDxe/HttpBootConfigNVDataStruc.h +++ b/NetworkPkg/HttpBootDxe/HttpBootConfigNVDataStruc.h @@ -23,7 +23,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. // // Macros used for an IPv4 or an IPv6 address. // -#define URI_STR_MIN_SIZE 8 +#define URI_STR_MIN_SIZE 0 #define URI_STR_MAX_SIZE 255 #define DESCRIPTION_STR_MIN_SIZE 6 -- cgit v1.2.3