Hi, Laszlo

This PCD is introduced for security consideration, it's not to include/exclude 
the whole HTTP boot feature, but to allow/deny unsecured HTTP connection. So
        If this PCD is true, both HTTP(http://...) and HTTPS(https://...) are 
allowed.
        If this PCD is false, only HTTPS connection is allowed, HTTP is 
forbidden.
The default is false (HTTPS) only.

For you question, if the new PCD is set to false, and OVFM is built with -D 
HTTP_BOOT_ENABLE. All these drivers will still be included in the FD image, but 
only HTTPS connection could be establishment. In other words, attempt to boot 
from a URL like "http://server/boot.efi"; will be failed.

Siyuan

-----Original Message-----
From: edk2-devel [mailto:[email protected]] On Behalf Of Laszlo 
Ersek
Sent: 2017年1月12日 18:23
To: Wu, Jiaxin <[email protected]>; [email protected]
Cc: Ye, Ting <[email protected]>; Ni, Ruiyu <[email protected]>; Fu, Siyuan 
<[email protected]>; Gary Ching-Pang Lin <[email protected]>
Subject: Re: [edk2] [Patch 0/2] Enable the HTTP switch

On 01/12/17 09:52, Jiaxin Wu wrote:
> If the value of PcdHttpEnable is TRUE, HTTP is enabled. Both the 
> "http://"; and "https://"; schemes are acceptable. Otherwise, HTTP is 
> disabled. The "http://"; scheme will be denied.
> 
> Cc: Ye Ting <[email protected]>
> Cc: Fu Siyuan <[email protected]>
> Cc: Ruiyu Ni <[email protected]>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Wu Jiaxin <[email protected]>
> 
> Jiaxin Wu (2):
>   NetworkPkg: Add PCD to enable the HTTP switch
>   Nt32Pkg.dsc: Add HTTP_ENABLE flag
> 
>  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                      |  9 ++++
>  9 files changed, 173 insertions(+), 37 deletions(-)
> 

What is the reasoning behind this change? If a platform doesn't want to support 
HTTP booting, it can just exclude the drivers from the build.

Put differently, what use do HttpBootDxe and HttpDxe have if the PCD is set to 
FALSE (which is the default)?

I'm asking because OVMF already has a HTTP_BOOT_ENABLE build flag, and it 
controls the inclusion of all of:

  NetworkPkg/DnsDxe/DnsDxe.inf
  NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
  NetworkPkg/HttpDxe/HttpDxe.inf
  NetworkPkg/HttpBootDxe/HttpBootDxe.inf

So what will this NetworkPkg change mean for OVMF, if OVMF is built with -D 
HTTP_BOOT_ENABLE?

Thanks
Laszlo
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to