NetworkPkg/HttpDxe: HTTPS support over IPv4 and IPv6

This patch is used to enable HTTPS feature. HttpDxe driver
will consume TlsDxe driver. It can both support http and https
feature, that’s depended on the information of URL, the HTTP
instance can be able to determine whether to use http or https.

Cc: Ye Ting <ting.ye@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Cc: Zhang Lubo <lubo.zhang@intel.com>
Cc: Long Qin <qin.long@intel.com>
Cc: Thomas Palmer <thomas.palmer@hpe.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
This commit is contained in:
Jiaxin Wu
2016-12-14 10:57:41 +08:00
parent 9d0fa533dd
commit dac45de3d6
7 changed files with 2581 additions and 155 deletions

View File

@ -24,6 +24,7 @@
// Libraries
//
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiRuntimeServicesTableLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/BaseLib.h>
#include <Library/UefiLib.h>
@ -50,13 +51,19 @@
#include <Protocol/Dns6.h>
#include <Protocol/Ip4Config2.h>
#include <Protocol/Ip6Config.h>
#include <Protocol/Tls.h>
#include <Protocol/TlsConfig.h>
#include <Guid/ImageAuthentication.h>
//
// Produced Protocols
//
#include <Protocol/Http.h>
#include <Guid/TlsAuthentication.h>
#include <IndustryStandard/Tls1.h>
//
// Driver Version
//
@ -79,6 +86,7 @@ extern EFI_HTTP_UTILITIES_PROTOCOL *mHttpUtilities;
#include "ComponentName.h"
#include "HttpImpl.h"
#include "HttpProto.h"
#include "HttpsSupport.h"
#include "HttpDns.h"
typedef struct {