* [PATCH v3 1/3] NetworkPkg: Add PCD to enable the HTTP connections switch
2017-01-19 5:18 [PATCH v3 0/3] Enable the HTTP connections switch Jiaxin Wu
@ 2017-01-19 5:18 ` Jiaxin Wu
2017-01-19 5:18 ` [PATCH v3 2/3] Nt32Pkg.dsc: Add flag to control HTTP connections Jiaxin Wu
` (4 subsequent siblings)
5 siblings, 0 replies; 11+ messages in thread
From: Jiaxin Wu @ 2017-01-19 5:18 UTC (permalink / raw)
To: edk2-devel; +Cc: Ye Ting, Fu Siyuan, Laszlo Ersek, Kinney Michael D, Wu Jiaxin
v3:
* Correct the commits grammar
v2:
* Rename the PCD to PcdAllowHttpConnections.
* Refine the PCD descriptions.
If the value of PcdAllowHttpConnections is TRUE, HTTP connections are
allowed. Both the "https://" and "http://" URI schemes are permitted.
Otherwise, HTTP connections are denied. Only the "https://" URI scheme
is permitted.
Cc: Ye Ting <ting.ye@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Kinney Michael D <michael.d.kinney@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
---
NetworkPkg/HttpBootDxe/HttpBootClient.c | 20 +++++++-
NetworkPkg/HttpBootDxe/HttpBootConfig.c | 81 ++++++++++++++++++++------------
NetworkPkg/HttpBootDxe/HttpBootDxe.inf | 5 +-
NetworkPkg/HttpBootDxe/HttpBootSupport.c | 53 ++++++++++++++++++++-
NetworkPkg/HttpBootDxe/HttpBootSupport.h | 17 ++++++-
NetworkPkg/HttpDxe/HttpDxe.inf | 5 +-
NetworkPkg/HttpDxe/HttpImpl.c | 12 ++++-
NetworkPkg/NetworkPkg.dec | 8 +++-
8 files changed, 164 insertions(+), 37 deletions(-)
diff --git a/NetworkPkg/HttpBootDxe/HttpBootClient.c b/NetworkPkg/HttpBootDxe/HttpBootClient.c
index 916f237..99db3d5 100644
--- a/NetworkPkg/HttpBootDxe/HttpBootClient.c
+++ b/NetworkPkg/HttpBootDxe/HttpBootClient.c
@@ -1,9 +1,9 @@
/** @file
Implementation of the boot file download function.
-Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that accompanies this distribution.
The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php.
@@ -190,10 +190,19 @@ HttpBootDhcp4ExtractUriInfo (
Private->BootFileUriParser = Private->FilePathUriParser;
Private->BootFileUri = Private->FilePathUri;
}
//
+ // Check the URI scheme.
+ //
+ Status = HttpBootCheckUriScheme (Private->BootFileUri);
+ if (EFI_ERROR (Status)) {
+ DEBUG ((EFI_D_ERROR, "HttpBootDhcp4ExtractUriInfo: %r.\n", Status));
+ return Status;
+ }
+
+ //
// Configure the default DNS server if server assigned.
//
if ((SelectOffer->OfferType == HttpOfferTypeDhcpNameUriDns) ||
(SelectOffer->OfferType == HttpOfferTypeDhcpDns) ||
(SelectOffer->OfferType == HttpOfferTypeDhcpIpUriDns)) {
@@ -293,10 +302,19 @@ HttpBootDhcp6ExtractUriInfo (
Private->BootFileUriParser = Private->FilePathUriParser;
Private->BootFileUri = Private->FilePathUri;
}
//
+ // Check the URI scheme.
+ //
+ Status = HttpBootCheckUriScheme (Private->BootFileUri);
+ if (EFI_ERROR (Status)) {
+ DEBUG ((EFI_D_ERROR, "HttpBootDhcp6ExtractUriInfo: %r.\n", Status));
+ return Status;
+ }
+
+ //
// Set the Local station address to IP layer.
//
Status = HttpBootSetIp6Address (Private);
if (EFI_ERROR (Status)) {
return Status;
diff --git a/NetworkPkg/HttpBootDxe/HttpBootConfig.c b/NetworkPkg/HttpBootDxe/HttpBootConfig.c
index 7c883b8..f32bf18 100644
--- a/NetworkPkg/HttpBootDxe/HttpBootConfig.c
+++ b/NetworkPkg/HttpBootDxe/HttpBootConfig.c
@@ -1,9 +1,9 @@
/** @file
Helper functions for configuring or getting the parameters relating to HTTP Boot.
-Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
@@ -444,13 +444,20 @@ HttpBootFormCallback (
IN OUT EFI_IFR_TYPE_VALUE *Value,
OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest
)
{
EFI_INPUT_KEY Key;
- UINTN Index;
CHAR16 *Uri;
+ UINTN UriLen;
+ CHAR8 *AsciiUri;
HTTP_BOOT_FORM_CALLBACK_INFO *CallbackInfo;
+ EFI_STATUS Status;
+
+ Uri = NULL;
+ UriLen = 0;
+ AsciiUri = NULL;
+ Status = EFI_SUCCESS;
if (This == NULL || Value == NULL) {
return EFI_INVALID_PARAMETER;
}
@@ -464,53 +471,67 @@ HttpBootFormCallback (
case KEY_INITIATOR_URI:
//
// Get user input URI string
//
Uri = HiiGetString (CallbackInfo->RegisteredHandle, Value->string, NULL);
- if (Uri == NULL) {
- return EFI_UNSUPPORTED;
- }
//
- // Convert the scheme to all lower case.
+ // The URI should be either an empty string (for corporate environment) ,or http(s) for home environment.
+ // Pop up a message box for the unsupported URI.
//
- for (Index = 0; Index < StrLen (Uri); Index++) {
- if (Uri[Index] == L':') {
- break;
+ if (StrLen (Uri) != 0) {
+ UriLen = StrLen (Uri) + 1;
+ AsciiUri = AllocateZeroPool (UriLen);
+ if (AsciiUri == NULL) {
+ FreePool (Uri);
+ return EFI_OUT_OF_RESOURCES;
}
- if (Uri[Index] >= L'A' && Uri[Index] <= L'Z') {
- Uri[Index] -= (CHAR16)(L'A' - L'a');
+
+ UnicodeStrToAsciiStrS (Uri, AsciiUri, UriLen);
+
+ Status = HttpBootCheckUriScheme (AsciiUri);
+
+ if (Status == EFI_INVALID_PARAMETER) {
+
+ DEBUG ((EFI_D_ERROR, "HttpBootFormCallback: %r.\n", Status));
+
+ CreatePopUp (
+ EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE,
+ &Key,
+ L"ERROR: Unsupported URI!",
+ L"Only supports HTTP and HTTPS",
+ NULL
+ );
+ } else if (Status == EFI_ACCESS_DENIED) {
+
+ DEBUG ((EFI_D_ERROR, "HttpBootFormCallback: %r.\n", Status));
+
+ CreatePopUp (
+ EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE,
+ &Key,
+ L"ERROR: Unsupported URI!",
+ L"HTTP is disabled",
+ NULL
+ );
}
}
- //
- // Set the converted URI string back
- //
- HiiSetString (CallbackInfo->RegisteredHandle, Value->string, Uri, NULL);
-
- //
- // 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 ((StrLen (Uri) != 0) && (StrnCmp (Uri, L"http://", 7) != 0) && (StrnCmp (Uri, L"https://", 8) != 0)) {
- CreatePopUp (
- EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE,
- &Key,
- L"ERROR: Unsupported URI!",
- L"Only supports HTTP and HTTPS",
- NULL
- );
+ if (Uri != NULL) {
+ FreePool (Uri);
}
- FreePool (Uri);
+ if (AsciiUri != NULL) {
+ FreePool (AsciiUri);
+ }
+
break;
default:
break;
}
- return EFI_SUCCESS;
+ return Status;
}
/**
Initialize the configuration form.
diff --git a/NetworkPkg/HttpBootDxe/HttpBootDxe.inf b/NetworkPkg/HttpBootDxe/HttpBootDxe.inf
index e6ce864..982e6b4 100644
--- a/NetworkPkg/HttpBootDxe/HttpBootDxe.inf
+++ b/NetworkPkg/HttpBootDxe/HttpBootDxe.inf
@@ -1,9 +1,9 @@
## @file
# This modules produce the Load File Protocol for UEFI HTTP boot.
#
-# Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
@@ -92,7 +92,10 @@
## SOMETIMES_CONSUMES ## HII
gHttpBootConfigGuid
gEfiVirtualCdGuid ## SOMETIMES_CONSUMES ## GUID
gEfiVirtualDiskGuid ## SOMETIMES_CONSUMES ## GUID
+[Pcd]
+ gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections ## CONSUMES
+
[UserExtensions.TianoCore."ExtraFiles"]
HttpBootDxeExtra.uni
diff --git a/NetworkPkg/HttpBootDxe/HttpBootSupport.c b/NetworkPkg/HttpBootDxe/HttpBootSupport.c
index bdb29ae..69b129f 100644
--- a/NetworkPkg/HttpBootDxe/HttpBootSupport.c
+++ b/NetworkPkg/HttpBootDxe/HttpBootSupport.c
@@ -1,9 +1,9 @@
/** @file
Support functions implementation for UEFI HTTP boot driver.
-Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that accompanies this distribution.
The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php.
@@ -987,10 +987,61 @@ HttpIoRecvResponse (
return Status;
}
/**
+ This function checks the HTTP(S) URI scheme.
+
+ @param[in] Uri The pointer to the URI string.
+
+ @retval EFI_SUCCESS The URI scheme is valid.
+ @retval EFI_INVALID_PARAMETER The URI scheme is not HTTP or HTTPS.
+ @retval EFI_ACCESS_DENIED HTTP is disabled and the URI is HTTP.
+
+**/
+EFI_STATUS
+HttpBootCheckUriScheme (
+ IN CHAR8 *Uri
+ )
+{
+ UINTN Index;
+ EFI_STATUS Status;
+
+ Status = EFI_SUCCESS;
+
+ //
+ // Convert the scheme to all lower case.
+ //
+ for (Index = 0; Index < AsciiStrLen (Uri); Index++) {
+ if (Uri[Index] == ':') {
+ break;
+ }
+ if (Uri[Index] >= 'A' && Uri[Index] <= 'Z') {
+ Uri[Index] -= (CHAR8)('A' - 'a');
+ }
+ }
+
+ //
+ // Return EFI_INVALID_PARAMETER if the URI is not HTTP or HTTPS.
+ //
+ if ((AsciiStrnCmp (Uri, "http://", 7) != 0) && (AsciiStrnCmp (Uri, "https://", 8) != 0)) {
+ DEBUG ((EFI_D_ERROR, "HttpBootCheckUriScheme: Invalid Uri.\n"));
+ return EFI_INVALID_PARAMETER;
+ }
+
+ //
+ // HTTP is disabled, return EFI_ACCESS_DENIED if the URI is HTTP.
+ //
+ if (!PcdGetBool (PcdAllowHttpConnections) && (AsciiStrnCmp (Uri, "http://", 7) == 0)) {
+ DEBUG ((EFI_D_ERROR, "HttpBootCheckUriScheme: HTTP is disabled.\n"));
+ return EFI_ACCESS_DENIED;
+ }
+
+ return Status;
+}
+
+/**
Get the URI address string from the input device path.
Caller need to free the buffer in the UriAddress pointer.
@param[in] FilePath Pointer to the device path which contains a URI device path node.
diff --git a/NetworkPkg/HttpBootDxe/HttpBootSupport.h b/NetworkPkg/HttpBootDxe/HttpBootSupport.h
index 4d02427..65302d2 100644
--- a/NetworkPkg/HttpBootDxe/HttpBootSupport.h
+++ b/NetworkPkg/HttpBootDxe/HttpBootSupport.h
@@ -1,9 +1,9 @@
/** @file
Support functions declaration for UEFI HTTP boot driver.
-Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that accompanies this distribution.
The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php.
@@ -330,10 +330,25 @@ HttpIoRecvResponse (
IN BOOLEAN RecvMsgHeader,
OUT HTTP_IO_RESPONSE_DATA *ResponseData
);
/**
+ This function checks the HTTP(S) URI scheme.
+
+ @param[in] Uri The pointer to the URI string.
+
+ @retval EFI_SUCCESS The URI scheme is valid.
+ @retval EFI_INVALID_PARAMETER The URI scheme is not HTTP or HTTPS.
+ @retval EFI_ACCESS_DENIED HTTP is disabled and the URI is HTTP.
+
+**/
+EFI_STATUS
+HttpBootCheckUriScheme (
+ IN CHAR8 *Uri
+ );
+
+/**
Get the URI address string from the input device path.
Caller need to free the buffer in the UriAddress pointer.
@param[in] FilePath Pointer to the device path which contains a URI device path node.
diff --git a/NetworkPkg/HttpDxe/HttpDxe.inf b/NetworkPkg/HttpDxe/HttpDxe.inf
index 1118181..df2efdc 100644
--- a/NetworkPkg/HttpDxe/HttpDxe.inf
+++ b/NetworkPkg/HttpDxe/HttpDxe.inf
@@ -1,9 +1,9 @@
## @file
# Implementation of EFI HTTP protocol interfaces.
#
-# Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php.
@@ -73,7 +73,10 @@
gEfiTlsConfigurationProtocolGuid ## SOMETIMES_CONSUMES
[Guids]
gEfiTlsCaCertificateGuid ## CONSUMES ## GUID
+[Pcd]
+ gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections ## CONSUMES
+
[UserExtensions.TianoCore."ExtraFiles"]
HttpDxeExtra.uni
\ No newline at end of file
diff --git a/NetworkPkg/HttpDxe/HttpImpl.c b/NetworkPkg/HttpDxe/HttpImpl.c
index d19f733..85b0083 100644
--- a/NetworkPkg/HttpDxe/HttpImpl.c
+++ b/NetworkPkg/HttpDxe/HttpImpl.c
@@ -1,9 +1,9 @@
/** @file
Implementation of EFI_HTTP_PROTOCOL protocol interfaces.
- Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
(C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -353,10 +353,20 @@ EfiHttpRequest (
// be able to determine whether to use http or https.
//
HttpInstance->UseHttps = IsHttpsUrl (Url);
//
+ // HTTP is disabled, return directly if the URI is not HTTPS.
+ //
+ if (!PcdGetBool (PcdAllowHttpConnections) && !(HttpInstance->UseHttps)) {
+
+ DEBUG ((EFI_D_ERROR, "EfiHttpRequest: HTTP is disabled.\n"));
+
+ return EFI_ACCESS_DENIED;
+ }
+
+ //
// Check whether we need to create Tls child and open the TLS protocol.
//
if (HttpInstance->UseHttps && HttpInstance->TlsChildHandle == NULL) {
//
// Use TlsSb to create Tls child and open the TLS protocol.
diff --git a/NetworkPkg/NetworkPkg.dec b/NetworkPkg/NetworkPkg.dec
index 24d45f4..2ad485d 100644
--- a/NetworkPkg/NetworkPkg.dec
+++ b/NetworkPkg/NetworkPkg.dec
@@ -2,11 +2,11 @@
# Network Package.
#
# This package provides network modules that conform to UEFI 2.4 specification.
#
# (C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>
-# Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials are licensed and made available under
# the terms and conditions of the BSD License which accompanies this distribution.
# The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
@@ -77,10 +77,16 @@
## Private Key's size.
# @Prompt Private Key's size.
gEfiNetworkPkgTokenSpaceGuid.PcdIpsecUefiCertificateKeySize|0x3d5|UINT32|0x00000006
+ ## Indicates whether HTTP connections (i.e., unsecured) are permitted or not.
+ # TRUE - HTTP connections are allowed. Both the "https://" and "http://" URI schemes are permitted.
+ # FALSE - HTTP connections are denied. Only the "https://" URI scheme is permitted.
+ # @Prompt Indicates whether HTTP connections are permitted or not.
+ gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|FALSE|BOOLEAN|0x00000008
+
[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
## IPv6 DHCP Unique Identifier (DUID) Type configuration (From RFCs 3315 and 6355).
# 01 = DUID Based on Link-layer Address Plus Time [DUID-LLT]
# 04 = UUID-Based DHCPv6 Unique Identifier (DUID-UUID)
# 02 = DUID Assigned by Vendor Based on Enterprise Number [DUID-EN] (not supported)
--
1.9.5.msysgit.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 2/3] Nt32Pkg.dsc: Add flag to control HTTP connections
2017-01-19 5:18 [PATCH v3 0/3] Enable the HTTP connections switch Jiaxin Wu
2017-01-19 5:18 ` [PATCH v3 1/3] NetworkPkg: Add PCD to enable " Jiaxin Wu
@ 2017-01-19 5:18 ` Jiaxin Wu
2017-01-19 5:18 ` [PATCH 3/3] OvmfPkg: Allow HTTP connections if HTTP Boot enabled Jiaxin Wu
` (3 subsequent siblings)
5 siblings, 0 replies; 11+ messages in thread
From: Jiaxin Wu @ 2017-01-19 5:18 UTC (permalink / raw)
To: edk2-devel
Cc: Ye Ting, Fu Siyuan, Ruiyu Ni, Laszlo Ersek, Kinney Michael D,
Wu Jiaxin
v3:
* Correct the commits grammar
v2:
* Rename the flag.
This flag is to overwrite the value of PcdAllowHttpConnections,
then the platform can make a decision whether to allow HTTP
connections or not.
Cc: Ye Ting <ting.ye@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Kinney Michael D <michael.d.kinney@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
---
Nt32Pkg/Nt32Pkg.dsc | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/Nt32Pkg/Nt32Pkg.dsc b/Nt32Pkg/Nt32Pkg.dsc
index 134afb8..47e37ec 100644
--- a/Nt32Pkg/Nt32Pkg.dsc
+++ b/Nt32Pkg/Nt32Pkg.dsc
@@ -2,11 +2,11 @@
# EFI/Framework Emulation Platform with UEFI HII interface supported.
#
# The Emulation Platform can be used to debug individual modules, prior to creating
# a real platform. This also provides an example for how an DSC is created.
#
-# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2015, Hewlett-Packard Development Company, L.P.<BR>
# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@@ -57,11 +57,21 @@
#
# Note: TLS feature highly depends on the OpenSSL building. To enable this
# feature, please follow the instructions found in the file "Patch-HOWTO.txt"
# located in CryptoPkg\Library\OpensslLib to enable the OpenSSL building first.
#
- DEFINE TLS_ENABLE = FALSE
+ DEFINE TLS_ENABLE = FALSE
+
+ #
+ # Indicates whether HTTP connections (i.e., unsecured) are permitted or not.
+ # -D FLAG=VALUE
+ #
+ # Note: If ALLOW_HTTP_CONNECTIONS is TRUE, HTTP connections are allowed. Both
+ # the "https://" and "http://" URI schemes are permitted. Otherwise, HTTP
+ # connections are denied. Only the "https://" URI scheme is permitted.
+ #
+ DEFINE ALLOW_HTTP_CONNECTIONS = TRUE
################################################################################
#
# SKU Identification section - list of all SKU IDs supported by this
# Platform.
@@ -252,10 +262,14 @@
gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
!if $(SECURE_BOOT_ENABLE) == TRUE || $(TLS_ENABLE) == TRUE
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
!endif
+!if $(ALLOW_HTTP_CONNECTIONS) == TRUE
+ gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE
+!endif
+
!ifndef $(USE_OLD_SHELL)
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }
!endif
!if $(SECURE_BOOT_ENABLE) == TRUE
--
1.9.5.msysgit.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 3/3] OvmfPkg: Allow HTTP connections if HTTP Boot enabled
2017-01-19 5:18 [PATCH v3 0/3] Enable the HTTP connections switch Jiaxin Wu
2017-01-19 5:18 ` [PATCH v3 1/3] NetworkPkg: Add PCD to enable " Jiaxin Wu
2017-01-19 5:18 ` [PATCH v3 2/3] Nt32Pkg.dsc: Add flag to control HTTP connections Jiaxin Wu
@ 2017-01-19 5:18 ` Jiaxin Wu
2017-01-19 6:56 ` Gary Lin
2017-01-19 8:33 ` Laszlo Ersek
2017-01-23 2:11 ` [PATCH v3 0/3] Enable the HTTP connections switch Ye, Ting
` (2 subsequent siblings)
5 siblings, 2 replies; 11+ messages in thread
From: Jiaxin Wu @ 2017-01-19 5:18 UTC (permalink / raw)
To: edk2-devel
Cc: Laszlo Ersek, Justen Jordan L, Gary Lin, Ye Ting, Fu Siyuan,
Ruiyu Ni, Kinney Michael D, Wu Jiaxin
Overwrite the value of PcdAllowHttpConnections to allow HTTP
connections if HTTP Boot enabled (-D HTTP_BOOT_ENABLE).
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Justen Jordan L <jordan.l.justen@intel.com>
Cc: Gary Lin <glin@suse.com>
Cc: Ye Ting <ting.ye@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Kinney Michael D <michael.d.kinney@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
---
OvmfPkg/OvmfPkgIa32.dsc | 6 +++++-
OvmfPkg/OvmfPkgIa32X64.dsc | 6 +++++-
OvmfPkg/OvmfPkgX64.dsc | 6 +++++-
3 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
index e060602..2c38578 100644
--- a/OvmfPkg/OvmfPkgIa32.dsc
+++ b/OvmfPkg/OvmfPkgIa32.dsc
@@ -1,9 +1,9 @@
## @file
# EFI/Framework Open Virtual Machine Firmware (OVMF) platform
#
-# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@@ -394,10 +394,14 @@
gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
+ !if $(HTTP_BOOT_ENABLE) == TRUE
+ gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE
+ !endif
+
# DEBUG_INIT 0x00000001 // Initialization
# DEBUG_WARN 0x00000002 // Warnings
# DEBUG_LOAD 0x00000004 // Load events
# DEBUG_FS 0x00000008 // EFI File system
# DEBUG_POOL 0x00000010 // Alloc & Free (pool)
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
index 0e24e7a..2760533 100644
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
@@ -1,9 +1,9 @@
## @file
# EFI/Framework Open Virtual Machine Firmware (OVMF) platform
#
-# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@@ -440,10 +440,14 @@
!ifdef $(SOURCE_DEBUG_ENABLE)
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
!endif
[PcdsFixedAtBuild.X64]
+!if $(HTTP_BOOT_ENABLE) == TRUE
+ gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE
+!endif
+
!ifndef $(USE_OLD_SHELL)
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }
!endif
!if $(SMM_REQUIRE) == TRUE
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
index 108f7d5..56fddc3 100644
--- a/OvmfPkg/OvmfPkgX64.dsc
+++ b/OvmfPkg/OvmfPkgX64.dsc
@@ -1,9 +1,9 @@
## @file
# EFI/Framework Open Virtual Machine Firmware (OVMF) platform
#
-# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@@ -399,10 +399,14 @@
gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
+ !if $(HTTP_BOOT_ENABLE) == TRUE
+ gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE
+ !endif
+
# DEBUG_INIT 0x00000001 // Initialization
# DEBUG_WARN 0x00000002 // Warnings
# DEBUG_LOAD 0x00000004 // Load events
# DEBUG_FS 0x00000008 // EFI File system
# DEBUG_POOL 0x00000010 // Alloc & Free (pool)
--
1.9.5.msysgit.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 3/3] OvmfPkg: Allow HTTP connections if HTTP Boot enabled
2017-01-19 5:18 ` [PATCH 3/3] OvmfPkg: Allow HTTP connections if HTTP Boot enabled Jiaxin Wu
@ 2017-01-19 6:56 ` Gary Lin
2017-01-19 8:33 ` Laszlo Ersek
1 sibling, 0 replies; 11+ messages in thread
From: Gary Lin @ 2017-01-19 6:56 UTC (permalink / raw)
To: Jiaxin Wu
Cc: edk2-devel, Ruiyu Ni, Ye Ting, Justen Jordan L, Kinney Michael D,
Fu Siyuan, Laszlo Ersek
On Thu, Jan 19, 2017 at 01:18:03PM +0800, Jiaxin Wu wrote:
> Overwrite the value of PcdAllowHttpConnections to allow HTTP
> connections if HTTP Boot enabled (-D HTTP_BOOT_ENABLE).
>
When setting PcdAllowHttpConnections to FALSE, I got this with OVMF:
HttpBootCheckUriScheme: HTTP is disabled.
HttpBootDhcp4ExtractUriInfo: Access Denied.
It works as expected :-)
Reviewed-by and Tested-by Gary Lin <glin@suse.com>
> Cc: Laszlo Ersek <lersek@redhat.com>
> Cc: Justen Jordan L <jordan.l.justen@intel.com>
> Cc: Gary Lin <glin@suse.com>
> Cc: Ye Ting <ting.ye@intel.com>
> Cc: Fu Siyuan <siyuan.fu@intel.com>
> Cc: Ruiyu Ni <ruiyu.ni@intel.com>
> Cc: Kinney Michael D <michael.d.kinney@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
> ---
> OvmfPkg/OvmfPkgIa32.dsc | 6 +++++-
> OvmfPkg/OvmfPkgIa32X64.dsc | 6 +++++-
> OvmfPkg/OvmfPkgX64.dsc | 6 +++++-
> 3 files changed, 15 insertions(+), 3 deletions(-)
>
> diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
> index e060602..2c38578 100644
> --- a/OvmfPkg/OvmfPkgIa32.dsc
> +++ b/OvmfPkg/OvmfPkgIa32.dsc
> @@ -1,9 +1,9 @@
> ## @file
> # EFI/Framework Open Virtual Machine Firmware (OVMF) platform
> #
> -# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
> # (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
> #
> # This program and the accompanying materials
> # are licensed and made available under the terms and conditions of the BSD License
> # which accompanies this distribution. The full text of the license may be found at
> @@ -394,10 +394,14 @@
>
> gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
>
> gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
>
> + !if $(HTTP_BOOT_ENABLE) == TRUE
> + gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE
> + !endif
> +
> # DEBUG_INIT 0x00000001 // Initialization
> # DEBUG_WARN 0x00000002 // Warnings
> # DEBUG_LOAD 0x00000004 // Load events
> # DEBUG_FS 0x00000008 // EFI File system
> # DEBUG_POOL 0x00000010 // Alloc & Free (pool)
> diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
> index 0e24e7a..2760533 100644
> --- a/OvmfPkg/OvmfPkgIa32X64.dsc
> +++ b/OvmfPkg/OvmfPkgIa32X64.dsc
> @@ -1,9 +1,9 @@
> ## @file
> # EFI/Framework Open Virtual Machine Firmware (OVMF) platform
> #
> -# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
> # (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
> #
> # This program and the accompanying materials
> # are licensed and made available under the terms and conditions of the BSD License
> # which accompanies this distribution. The full text of the license may be found at
> @@ -440,10 +440,14 @@
> !ifdef $(SOURCE_DEBUG_ENABLE)
> gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
> !endif
>
> [PcdsFixedAtBuild.X64]
> +!if $(HTTP_BOOT_ENABLE) == TRUE
> + gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE
> +!endif
> +
> !ifndef $(USE_OLD_SHELL)
> gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }
> !endif
>
> !if $(SMM_REQUIRE) == TRUE
> diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
> index 108f7d5..56fddc3 100644
> --- a/OvmfPkg/OvmfPkgX64.dsc
> +++ b/OvmfPkg/OvmfPkgX64.dsc
> @@ -1,9 +1,9 @@
> ## @file
> # EFI/Framework Open Virtual Machine Firmware (OVMF) platform
> #
> -# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
> # (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
> #
> # This program and the accompanying materials
> # are licensed and made available under the terms and conditions of the BSD License
> # which accompanies this distribution. The full text of the license may be found at
> @@ -399,10 +399,14 @@
>
> gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
>
> gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
>
> + !if $(HTTP_BOOT_ENABLE) == TRUE
> + gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE
> + !endif
> +
> # DEBUG_INIT 0x00000001 // Initialization
> # DEBUG_WARN 0x00000002 // Warnings
> # DEBUG_LOAD 0x00000004 // Load events
> # DEBUG_FS 0x00000008 // EFI File system
> # DEBUG_POOL 0x00000010 // Alloc & Free (pool)
> --
> 1.9.5.msysgit.1
>
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 3/3] OvmfPkg: Allow HTTP connections if HTTP Boot enabled
2017-01-19 5:18 ` [PATCH 3/3] OvmfPkg: Allow HTTP connections if HTTP Boot enabled Jiaxin Wu
2017-01-19 6:56 ` Gary Lin
@ 2017-01-19 8:33 ` Laszlo Ersek
2017-01-20 0:54 ` Wu, Jiaxin
1 sibling, 1 reply; 11+ messages in thread
From: Laszlo Ersek @ 2017-01-19 8:33 UTC (permalink / raw)
To: Jiaxin Wu, edk2-devel
Cc: Justen Jordan L, Gary Lin, Ye Ting, Fu Siyuan, Ruiyu Ni,
Kinney Michael D
Jiaxin,
On 01/19/17 06:18, Jiaxin Wu wrote:
> Overwrite the value of PcdAllowHttpConnections to allow HTTP
> connections if HTTP Boot enabled (-D HTTP_BOOT_ENABLE).
>
> Cc: Laszlo Ersek <lersek@redhat.com>
> Cc: Justen Jordan L <jordan.l.justen@intel.com>
> Cc: Gary Lin <glin@suse.com>
> Cc: Ye Ting <ting.ye@intel.com>
> Cc: Fu Siyuan <siyuan.fu@intel.com>
> Cc: Ruiyu Ni <ruiyu.ni@intel.com>
> Cc: Kinney Michael D <michael.d.kinney@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
> ---
> OvmfPkg/OvmfPkgIa32.dsc | 6 +++++-
> OvmfPkg/OvmfPkgIa32X64.dsc | 6 +++++-
> OvmfPkg/OvmfPkgX64.dsc | 6 +++++-
> 3 files changed, 15 insertions(+), 3 deletions(-)
>
> diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
> index e060602..2c38578 100644
> --- a/OvmfPkg/OvmfPkgIa32.dsc
> +++ b/OvmfPkg/OvmfPkgIa32.dsc
> @@ -1,9 +1,9 @@
> ## @file
> # EFI/Framework Open Virtual Machine Firmware (OVMF) platform
> #
> -# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
> # (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
> #
> # This program and the accompanying materials
> # are licensed and made available under the terms and conditions of the BSD License
> # which accompanies this distribution. The full text of the license may be found at
> @@ -394,10 +394,14 @@
>
> gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
>
> gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
>
> + !if $(HTTP_BOOT_ENABLE) == TRUE
> + gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE
> + !endif
> +
> # DEBUG_INIT 0x00000001 // Initialization
> # DEBUG_WARN 0x00000002 // Warnings
> # DEBUG_LOAD 0x00000004 // Load events
> # DEBUG_FS 0x00000008 // EFI File system
> # DEBUG_POOL 0x00000010 // Alloc & Free (pool)
> diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
> index 0e24e7a..2760533 100644
> --- a/OvmfPkg/OvmfPkgIa32X64.dsc
> +++ b/OvmfPkg/OvmfPkgIa32X64.dsc
> @@ -1,9 +1,9 @@
> ## @file
> # EFI/Framework Open Virtual Machine Firmware (OVMF) platform
> #
> -# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
> # (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
> #
> # This program and the accompanying materials
> # are licensed and made available under the terms and conditions of the BSD License
> # which accompanies this distribution. The full text of the license may be found at
> @@ -440,10 +440,14 @@
> !ifdef $(SOURCE_DEBUG_ENABLE)
> gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
> !endif
>
> [PcdsFixedAtBuild.X64]
> +!if $(HTTP_BOOT_ENABLE) == TRUE
> + gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE
> +!endif
> +
> !ifndef $(USE_OLD_SHELL)
> gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }
> !endif
>
> !if $(SMM_REQUIRE) == TRUE
> diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
> index 108f7d5..56fddc3 100644
> --- a/OvmfPkg/OvmfPkgX64.dsc
> +++ b/OvmfPkg/OvmfPkgX64.dsc
> @@ -1,9 +1,9 @@
> ## @file
> # EFI/Framework Open Virtual Machine Firmware (OVMF) platform
> #
> -# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
> # (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
> #
> # This program and the accompanying materials
> # are licensed and made available under the terms and conditions of the BSD License
> # which accompanies this distribution. The full text of the license may be found at
> @@ -399,10 +399,14 @@
>
> gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
>
> gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
>
> + !if $(HTTP_BOOT_ENABLE) == TRUE
> + gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE
> + !endif
> +
> # DEBUG_INIT 0x00000001 // Initialization
> # DEBUG_WARN 0x00000002 // Warnings
> # DEBUG_LOAD 0x00000004 // Load events
> # DEBUG_FS 0x00000008 // EFI File system
> # DEBUG_POOL 0x00000010 // Alloc & Free (pool)
>
thank you for the patch; it looks good. However, for aesthetic and
consistency reasons, I'd like to request an update.
The placement of the new setting is entirely right in the
"OvmfPkgIa32X64.dsc" file. However, the Ia32 and X64 DSC files don't
follow that placement. Therefore I would like to request the following
two changes, for both the Ia32 and X64 DSC files:
- please move the new setting just above the "!ifndef $(USE_OLD_SHELL)"
part, where "PcdShellFile" is set,
- please un-indent the new setting to column zero. (Well, the "!if" goes
to column zero, the actual setting goes to column two.)
The idea is that all three DSC files should remain pair-wise comparable
with the "diff" utility; any differences displayed by "diff" should be
related to *genuine* Ia32 <-> Ia32X64 <-> X64 differences.
For the next version, I think you can carry forward the following two
tags from Gary (see his email elsewhere in this thread):
Reviewed-by: Gary Lin <glin@suse.com>
Tested-by: Gary Lin <glin@suse.com>
(I'm just repeating them here so you can easily cut n' paste them to the
commit message.)
Thank you!
Laszlo
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 3/3] OvmfPkg: Allow HTTP connections if HTTP Boot enabled
2017-01-19 8:33 ` Laszlo Ersek
@ 2017-01-20 0:54 ` Wu, Jiaxin
0 siblings, 0 replies; 11+ messages in thread
From: Wu, Jiaxin @ 2017-01-20 0:54 UTC (permalink / raw)
To: Laszlo Ersek, edk2-devel@ml01.01.org
Cc: Ni, Ruiyu, Ye, Ting, Justen, Jordan L, Gary Lin,
Kinney, Michael D, Fu, Siyuan
Thanks Laszlo, I will refine it before commit the patches.
Best Regards!
Jiaxin
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Laszlo
> Ersek
> Sent: Thursday, January 19, 2017 4:33 PM
> To: Wu, Jiaxin <jiaxin.wu@intel.com>; edk2-devel@ml01.01.org
> Cc: Ni, Ruiyu <ruiyu.ni@intel.com>; Ye, Ting <ting.ye@intel.com>; Justen,
> Jordan L <jordan.l.justen@intel.com>; Gary Lin <glin@suse.com>; Kinney,
> Michael D <michael.d.kinney@intel.com>; Fu, Siyuan <siyuan.fu@intel.com>
> Subject: Re: [edk2] [PATCH 3/3] OvmfPkg: Allow HTTP connections if HTTP Boot
> enabled
>
> Jiaxin,
>
> On 01/19/17 06:18, Jiaxin Wu wrote:
> > Overwrite the value of PcdAllowHttpConnections to allow HTTP
> > connections if HTTP Boot enabled (-D HTTP_BOOT_ENABLE).
> >
> > Cc: Laszlo Ersek <lersek@redhat.com>
> > Cc: Justen Jordan L <jordan.l.justen@intel.com>
> > Cc: Gary Lin <glin@suse.com>
> > Cc: Ye Ting <ting.ye@intel.com>
> > Cc: Fu Siyuan <siyuan.fu@intel.com>
> > Cc: Ruiyu Ni <ruiyu.ni@intel.com>
> > Cc: Kinney Michael D <michael.d.kinney@intel.com>
> > Contributed-under: TianoCore Contribution Agreement 1.0
> > Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
> > ---
> > OvmfPkg/OvmfPkgIa32.dsc | 6 +++++-
> > OvmfPkg/OvmfPkgIa32X64.dsc | 6 +++++-
> > OvmfPkg/OvmfPkgX64.dsc | 6 +++++-
> > 3 files changed, 15 insertions(+), 3 deletions(-)
> >
> > diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
> > index e060602..2c38578 100644
> > --- a/OvmfPkg/OvmfPkgIa32.dsc
> > +++ b/OvmfPkg/OvmfPkgIa32.dsc
> > @@ -1,9 +1,9 @@
> > ## @file
> > # EFI/Framework Open Virtual Machine Firmware (OVMF) platform
> > #
> > -# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
> > +# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
> > # (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
> > #
> > # This program and the accompanying materials
> > # are licensed and made available under the terms and conditions of the
> BSD License
> > # which accompanies this distribution. The full text of the license may be
> found at
> > @@ -394,10 +394,14 @@
> >
> > gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
> >
> > gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
> >
> > + !if $(HTTP_BOOT_ENABLE) == TRUE
> > + gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE
> > + !endif
> > +
> > # DEBUG_INIT 0x00000001 // Initialization
> > # DEBUG_WARN 0x00000002 // Warnings
> > # DEBUG_LOAD 0x00000004 // Load events
> > # DEBUG_FS 0x00000008 // EFI File system
> > # DEBUG_POOL 0x00000010 // Alloc & Free (pool)
> > diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
> > index 0e24e7a..2760533 100644
> > --- a/OvmfPkg/OvmfPkgIa32X64.dsc
> > +++ b/OvmfPkg/OvmfPkgIa32X64.dsc
> > @@ -1,9 +1,9 @@
> > ## @file
> > # EFI/Framework Open Virtual Machine Firmware (OVMF) platform
> > #
> > -# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
> > +# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
> > # (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
> > #
> > # This program and the accompanying materials
> > # are licensed and made available under the terms and conditions of the
> BSD License
> > # which accompanies this distribution. The full text of the license may be
> found at
> > @@ -440,10 +440,14 @@
> > !ifdef $(SOURCE_DEBUG_ENABLE)
> >
> gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
> > !endif
> >
> > [PcdsFixedAtBuild.X64]
> > +!if $(HTTP_BOOT_ENABLE) == TRUE
> > + gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE
> > +!endif
> > +
> > !ifndef $(USE_OLD_SHELL)
> > gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5,
> 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4,
> 0xD1 }
> > !endif
> >
> > !if $(SMM_REQUIRE) == TRUE
> > diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
> > index 108f7d5..56fddc3 100644
> > --- a/OvmfPkg/OvmfPkgX64.dsc
> > +++ b/OvmfPkg/OvmfPkgX64.dsc
> > @@ -1,9 +1,9 @@
> > ## @file
> > # EFI/Framework Open Virtual Machine Firmware (OVMF) platform
> > #
> > -# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
> > +# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
> > # (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
> > #
> > # This program and the accompanying materials
> > # are licensed and made available under the terms and conditions of the
> BSD License
> > # which accompanies this distribution. The full text of the license may be
> found at
> > @@ -399,10 +399,14 @@
> >
> > gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
> >
> > gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
> >
> > + !if $(HTTP_BOOT_ENABLE) == TRUE
> > + gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE
> > + !endif
> > +
> > # DEBUG_INIT 0x00000001 // Initialization
> > # DEBUG_WARN 0x00000002 // Warnings
> > # DEBUG_LOAD 0x00000004 // Load events
> > # DEBUG_FS 0x00000008 // EFI File system
> > # DEBUG_POOL 0x00000010 // Alloc & Free (pool)
> >
>
> thank you for the patch; it looks good. However, for aesthetic and
> consistency reasons, I'd like to request an update.
>
> The placement of the new setting is entirely right in the
> "OvmfPkgIa32X64.dsc" file. However, the Ia32 and X64 DSC files don't
> follow that placement. Therefore I would like to request the following
> two changes, for both the Ia32 and X64 DSC files:
>
> - please move the new setting just above the "!ifndef $(USE_OLD_SHELL)"
> part, where "PcdShellFile" is set,
>
> - please un-indent the new setting to column zero. (Well, the "!if" goes
> to column zero, the actual setting goes to column two.)
>
> The idea is that all three DSC files should remain pair-wise comparable
> with the "diff" utility; any differences displayed by "diff" should be
> related to *genuine* Ia32 <-> Ia32X64 <-> X64 differences.
>
> For the next version, I think you can carry forward the following two
> tags from Gary (see his email elsewhere in this thread):
>
> Reviewed-by: Gary Lin <glin@suse.com>
> Tested-by: Gary Lin <glin@suse.com>
>
> (I'm just repeating them here so you can easily cut n' paste them to the
> commit message.)
>
> Thank you!
> Laszlo
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 0/3] Enable the HTTP connections switch
2017-01-19 5:18 [PATCH v3 0/3] Enable the HTTP connections switch Jiaxin Wu
` (2 preceding siblings ...)
2017-01-19 5:18 ` [PATCH 3/3] OvmfPkg: Allow HTTP connections if HTTP Boot enabled Jiaxin Wu
@ 2017-01-23 2:11 ` Ye, Ting
2017-01-23 2:11 ` Fu, Siyuan
2017-01-23 2:40 ` Wu, Jiaxin
5 siblings, 0 replies; 11+ messages in thread
From: Ye, Ting @ 2017-01-23 2:11 UTC (permalink / raw)
To: Wu, Jiaxin, edk2-devel@lists.01.org
Cc: Justen, Jordan L, Wu, Jiaxin, Gary Lin, Kinney, Michael D,
Fu, Siyuan, Laszlo Ersek
Series Reviewed-by: Ye Ting <ting.ye@intel.com>
-----Original Message-----
From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Jiaxin Wu
Sent: Thursday, January 19, 2017 1:18 PM
To: edk2-devel@lists.01.org
Cc: Ye, Ting <ting.ye@intel.com>; Justen, Jordan L <jordan.l.justen@intel.com>; Wu, Jiaxin <jiaxin.wu@intel.com>; Gary Lin <glin@suse.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Fu, Siyuan <siyuan.fu@intel.com>; Laszlo Ersek <lersek@redhat.com>
Subject: [edk2] [PATCH v3 0/3] Enable the HTTP connections switch
v3:
* Append patch for OVMF.
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Justen Jordan L <jordan.l.justen@intel.com>
Cc: Gary Lin <glin@suse.com>
Cc: Ye Ting <ting.ye@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Cc: Kinney Michael D <michael.d.kinney@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
Jiaxin Wu (3):
NetworkPkg: Add PCD to enable the HTTP connections switch
Nt32Pkg.dsc: Add flag to control HTTP connections
OvmfPkg: Allow HTTP connections if HTTP Boot enabled
NetworkPkg/HttpBootDxe/HttpBootClient.c | 20 +++++++- NetworkPkg/HttpBootDxe/HttpBootConfig.c | 81 ++++++++++++++++++++------------
NetworkPkg/HttpBootDxe/HttpBootDxe.inf | 5 +-
NetworkPkg/HttpBootDxe/HttpBootSupport.c | 53 ++++++++++++++++++++- NetworkPkg/HttpBootDxe/HttpBootSupport.h | 17 ++++++-
NetworkPkg/HttpDxe/HttpDxe.inf | 5 +-
NetworkPkg/HttpDxe/HttpImpl.c | 12 ++++-
NetworkPkg/NetworkPkg.dec | 8 +++-
Nt32Pkg/Nt32Pkg.dsc | 18 ++++++-
OvmfPkg/OvmfPkgIa32.dsc | 6 ++-
OvmfPkg/OvmfPkgIa32X64.dsc | 6 ++-
OvmfPkg/OvmfPkgX64.dsc | 6 ++-
12 files changed, 195 insertions(+), 42 deletions(-)
--
1.9.5.msysgit.1
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 0/3] Enable the HTTP connections switch
2017-01-19 5:18 [PATCH v3 0/3] Enable the HTTP connections switch Jiaxin Wu
` (3 preceding siblings ...)
2017-01-23 2:11 ` [PATCH v3 0/3] Enable the HTTP connections switch Ye, Ting
@ 2017-01-23 2:11 ` Fu, Siyuan
2017-01-23 2:40 ` Wu, Jiaxin
5 siblings, 0 replies; 11+ messages in thread
From: Fu, Siyuan @ 2017-01-23 2:11 UTC (permalink / raw)
To: Wu, Jiaxin, edk2-devel@lists.01.org
Cc: Ye, Ting, Justen, Jordan L, Wu, Jiaxin, Gary Lin,
Kinney, Michael D, Laszlo Ersek
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
-----Original Message-----
From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Jiaxin Wu
Sent: 2017年1月19日 13:18
To: edk2-devel@lists.01.org
Cc: Ye, Ting <ting.ye@intel.com>; Justen, Jordan L <jordan.l.justen@intel.com>; Wu, Jiaxin <jiaxin.wu@intel.com>; Gary Lin <glin@suse.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Fu, Siyuan <siyuan.fu@intel.com>; Laszlo Ersek <lersek@redhat.com>
Subject: [edk2] [PATCH v3 0/3] Enable the HTTP connections switch
v3:
* Append patch for OVMF.
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Justen Jordan L <jordan.l.justen@intel.com>
Cc: Gary Lin <glin@suse.com>
Cc: Ye Ting <ting.ye@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Cc: Kinney Michael D <michael.d.kinney@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
Jiaxin Wu (3):
NetworkPkg: Add PCD to enable the HTTP connections switch
Nt32Pkg.dsc: Add flag to control HTTP connections
OvmfPkg: Allow HTTP connections if HTTP Boot enabled
NetworkPkg/HttpBootDxe/HttpBootClient.c | 20 +++++++- NetworkPkg/HttpBootDxe/HttpBootConfig.c | 81 ++++++++++++++++++++------------
NetworkPkg/HttpBootDxe/HttpBootDxe.inf | 5 +-
NetworkPkg/HttpBootDxe/HttpBootSupport.c | 53 ++++++++++++++++++++- NetworkPkg/HttpBootDxe/HttpBootSupport.h | 17 ++++++-
NetworkPkg/HttpDxe/HttpDxe.inf | 5 +-
NetworkPkg/HttpDxe/HttpImpl.c | 12 ++++-
NetworkPkg/NetworkPkg.dec | 8 +++-
Nt32Pkg/Nt32Pkg.dsc | 18 ++++++-
OvmfPkg/OvmfPkgIa32.dsc | 6 ++-
OvmfPkg/OvmfPkgIa32X64.dsc | 6 ++-
OvmfPkg/OvmfPkgX64.dsc | 6 ++-
12 files changed, 195 insertions(+), 42 deletions(-)
--
1.9.5.msysgit.1
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 0/3] Enable the HTTP connections switch
2017-01-19 5:18 [PATCH v3 0/3] Enable the HTTP connections switch Jiaxin Wu
` (4 preceding siblings ...)
2017-01-23 2:11 ` Fu, Siyuan
@ 2017-01-23 2:40 ` Wu, Jiaxin
2017-01-23 10:36 ` Laszlo Ersek
5 siblings, 1 reply; 11+ messages in thread
From: Wu, Jiaxin @ 2017-01-23 2:40 UTC (permalink / raw)
To: edk2-devel@lists.01.org
Cc: Laszlo Ersek, Justen, Jordan L, Gary Lin, Ye, Ting, Fu, Siyuan,
Kinney, Michael D
> Subject: [PATCH v3 0/3] Enable the HTTP connections switch
>
> v3:
> * Append patch for OVMF.
>
> Cc: Laszlo Ersek <lersek@redhat.com>
> Cc: Justen Jordan L <jordan.l.justen@intel.com>
> Cc: Gary Lin <glin@suse.com>
> Cc: Ye Ting <ting.ye@intel.com>
> Cc: Fu Siyuan <siyuan.fu@intel.com>
> Cc: Kinney Michael D <michael.d.kinney@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
>
> Jiaxin Wu (3):
> NetworkPkg: Add PCD to enable the HTTP connections switch
Commit:
https://github.com/tianocore/edk2/commit/221463c2b337072532ed4ab8ffe3b566574724d8
> Nt32Pkg.dsc: Add flag to control HTTP connections
Commit:
https://github.com/tianocore/edk2/commit/7c3c53e5e8ee066904e56d9e6dd85dad4933f29e
> OvmfPkg: Allow HTTP connections if HTTP Boot enabled
Commit:
https://github.com/tianocore/edk2/commit/4b2fb7986d571827a6e4885377e531002d806681
Thank you!
Jiaxin
>
> NetworkPkg/HttpBootDxe/HttpBootClient.c | 20 +++++++-
> NetworkPkg/HttpBootDxe/HttpBootConfig.c | 81 ++++++++++++++++++++------
> ------
> NetworkPkg/HttpBootDxe/HttpBootDxe.inf | 5 +-
> NetworkPkg/HttpBootDxe/HttpBootSupport.c | 53 ++++++++++++++++++++-
> NetworkPkg/HttpBootDxe/HttpBootSupport.h | 17 ++++++-
> NetworkPkg/HttpDxe/HttpDxe.inf | 5 +-
> NetworkPkg/HttpDxe/HttpImpl.c | 12 ++++-
> NetworkPkg/NetworkPkg.dec | 8 +++-
> Nt32Pkg/Nt32Pkg.dsc | 18 ++++++-
> OvmfPkg/OvmfPkgIa32.dsc | 6 ++-
> OvmfPkg/OvmfPkgIa32X64.dsc | 6 ++-
> OvmfPkg/OvmfPkgX64.dsc | 6 ++-
> 12 files changed, 195 insertions(+), 42 deletions(-)
>
> --
> 1.9.5.msysgit.1
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 0/3] Enable the HTTP connections switch
2017-01-23 2:40 ` Wu, Jiaxin
@ 2017-01-23 10:36 ` Laszlo Ersek
0 siblings, 0 replies; 11+ messages in thread
From: Laszlo Ersek @ 2017-01-23 10:36 UTC (permalink / raw)
To: Wu, Jiaxin, edk2-devel@lists.01.org
Cc: Justen, Jordan L, Gary Lin, Ye, Ting, Fu, Siyuan,
Kinney, Michael D
On 01/23/17 03:40, Wu, Jiaxin wrote:
>> Subject: [PATCH v3 0/3] Enable the HTTP connections switch
>>
>> v3:
>> * Append patch for OVMF.
>>
>> Cc: Laszlo Ersek <lersek@redhat.com>
>> Cc: Justen Jordan L <jordan.l.justen@intel.com>
>> Cc: Gary Lin <glin@suse.com>
>> Cc: Ye Ting <ting.ye@intel.com>
>> Cc: Fu Siyuan <siyuan.fu@intel.com>
>> Cc: Kinney Michael D <michael.d.kinney@intel.com>
>> Contributed-under: TianoCore Contribution Agreement 1.0
>> Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
>>
>> Jiaxin Wu (3):
>> NetworkPkg: Add PCD to enable the HTTP connections switch
>
> Commit:
> https://github.com/tianocore/edk2/commit/221463c2b337072532ed4ab8ffe3b566574724d8
>
>
>> Nt32Pkg.dsc: Add flag to control HTTP connections
>
> Commit:
> https://github.com/tianocore/edk2/commit/7c3c53e5e8ee066904e56d9e6dd85dad4933f29e
>
>
>> OvmfPkg: Allow HTTP connections if HTTP Boot enabled
>
> Commit:
> https://github.com/tianocore/edk2/commit/4b2fb7986d571827a6e4885377e531002d806681
Looks good, thanks!
Laszlo
>
>
> Thank you!
> Jiaxin
>
>
>>
>> NetworkPkg/HttpBootDxe/HttpBootClient.c | 20 +++++++-
>> NetworkPkg/HttpBootDxe/HttpBootConfig.c | 81 ++++++++++++++++++++------
>> ------
>> NetworkPkg/HttpBootDxe/HttpBootDxe.inf | 5 +-
>> NetworkPkg/HttpBootDxe/HttpBootSupport.c | 53 ++++++++++++++++++++-
>> NetworkPkg/HttpBootDxe/HttpBootSupport.h | 17 ++++++-
>> NetworkPkg/HttpDxe/HttpDxe.inf | 5 +-
>> NetworkPkg/HttpDxe/HttpImpl.c | 12 ++++-
>> NetworkPkg/NetworkPkg.dec | 8 +++-
>> Nt32Pkg/Nt32Pkg.dsc | 18 ++++++-
>> OvmfPkg/OvmfPkgIa32.dsc | 6 ++-
>> OvmfPkg/OvmfPkgIa32X64.dsc | 6 ++-
>> OvmfPkg/OvmfPkgX64.dsc | 6 ++-
>> 12 files changed, 195 insertions(+), 42 deletions(-)
>>
>> --
>> 1.9.5.msysgit.1
>
^ permalink raw reply [flat|nested] 11+ messages in thread