On 01/12/17 12:45, Fu, Siyuan wrote: > 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.
Thank you, this makes perfect sense. But, in this case, I think the PCD description in the .DEC file is not clear enough: + ## Indicates whether the HTTP is enabled or not. + # TRUE - HTTP is enabled. The "http://" scheme is acceptable. + # FALSE - HTTP is disabled. The "http://" scheme will be denied. + # @Prompt Indicates whether the HTTP is enabled or not. + gEfiNetworkPkgTokenSpaceGuid.PcdHttpEnable|FALSE|BOOLEAN|0x00000008 I suggest the following wording instead: ## Indicates whether HTTP (i.e., unsecured) connections are permitted or not. # HTTPS connections are always permitted. # TRUE - Both the "https://" and "http://" URI schemes are permitted. # FALSE - Only the "https://" URI scheme is permitted. gEfiNetworkPkgTokenSpaceGuid.PcdHttpEnable|FALSE|BOOLEAN|0x00000008 Can you please consider this? I think it's clearer. Thanks! Laszlo > > 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

