diff options
author | Fu Siyuan <siyuan.fu@intel.com> | 2016-04-25 15:29:26 +0800 |
---|---|---|
committer | Fu Siyuan <siyuan.fu@intel.com> | 2016-04-27 10:19:12 +0800 |
commit | 0aa0beca37c686c028da47a801b0db6c770b81e8 (patch) | |
tree | 4d089d90ae9948393a3b122ebba08b5136fa3ad0 /NetworkPkg/HttpBootDxe | |
parent | 2c1c50fc61132517e352862b6748c57c5d443837 (diff) | |
download | edk2-0aa0beca37c686c028da47a801b0db6c770b81e8.tar.gz edk2-0aa0beca37c686c028da47a801b0db6c770b81e8.tar.bz2 edk2-0aa0beca37c686c028da47a801b0db6c770b81e8.zip |
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 <siyuan.fu@intel.com>
Reviewed-by: Samer El-Haj-Mahmoud <elhaj@hpe.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: Jiaxin Wu <jiaxin.wu@intel.com>
Diffstat (limited to 'NetworkPkg/HttpBootDxe')
-rw-r--r-- | NetworkPkg/HttpBootDxe/HttpBootConfig.c | 9 | ||||
-rw-r--r-- | NetworkPkg/HttpBootDxe/HttpBootConfigNVDataStruc.h | 2 |
2 files changed, 6 insertions, 5 deletions
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
|