Cc: Palmer Thomas <thomas.pal...@hpe.com>
Cc: Long Qin <qin.l...@intel.com>
Cc: Ye Ting <ting...@intel.com>
Cc: Fu Siyuan <siyuan...@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wu Jiaxin <jiaxin...@intel.com>
Signed-off-by: Jiaxin Wu <jiaxin...@intel.com>
---
 NetworkPkg/HttpDxe/HttpDriver.h   |  2 ++
 NetworkPkg/HttpDxe/HttpProto.c    | 12 +++++------
 NetworkPkg/HttpDxe/HttpsSupport.c | 22 ++++++++++----------
 NetworkPkg/HttpDxe/HttpsSupport.h | 44 ---------------------------------------
 4 files changed, 19 insertions(+), 61 deletions(-)

diff --git a/NetworkPkg/HttpDxe/HttpDriver.h b/NetworkPkg/HttpDxe/HttpDriver.h
index 28a78ed..93a412a 100644
--- a/NetworkPkg/HttpDxe/HttpDriver.h
+++ b/NetworkPkg/HttpDxe/HttpDriver.h
@@ -60,10 +60,12 @@
 //
 #include <Protocol/Http.h>
 
 #include <Guid/TlsAuthentication.h>
 
+#include <IndustryStandard/Tls1.h>
+
 //
 // Driver Version
 //
 #define HTTP_DRIVER_VERSION 0xa
 
diff --git a/NetworkPkg/HttpDxe/HttpProto.c b/NetworkPkg/HttpDxe/HttpProto.c
index 80530a0..77a3ee3 100644
--- a/NetworkPkg/HttpDxe/HttpProto.c
+++ b/NetworkPkg/HttpDxe/HttpProto.c
@@ -1496,21 +1496,21 @@ HttpTransmitTcp (
   //
   if (HttpInstance->UseHttps) {
     //
     // Build BufferOut data
     //
-    BufferSize = sizeof (TLSRecordHeader) + TxStringLen;
+    BufferSize = sizeof (TLS_RECORD_HEADER) + TxStringLen;
     Buffer     = AllocateZeroPool (BufferSize);
     if (Buffer == NULL) {
       Status = EFI_OUT_OF_RESOURCES;
       return Status;
     }
-    ((TLSRecordHeader *) Buffer)->ContentType = 
TLS_CONTENT_TYPE_APPLICATION_DATA;
-    ((TLSRecordHeader *) Buffer)->Version.Major = 
HttpInstance->TlsConfigData.Version.Major;
-    ((TLSRecordHeader *) Buffer)->Version.Minor = 
HttpInstance->TlsConfigData.Version.Minor;
-    ((TLSRecordHeader *) Buffer)->Length = (UINT16) (TxStringLen);
-    CopyMem (Buffer + sizeof (TLSRecordHeader), TxString, TxStringLen);
+    ((TLS_RECORD_HEADER *) Buffer)->ContentType = 
TLS_CONTENT_TYPE_APPLICATION_DATA;
+    ((TLS_RECORD_HEADER *) Buffer)->Version.Major = 
HttpInstance->TlsConfigData.Version.Major;
+    ((TLS_RECORD_HEADER *) Buffer)->Version.Minor = 
HttpInstance->TlsConfigData.Version.Minor;
+    ((TLS_RECORD_HEADER *) Buffer)->Length = (UINT16) (TxStringLen);
+    CopyMem (Buffer + sizeof (TLS_RECORD_HEADER), TxString, TxStringLen);
     
     //
     // Encrypt Packet.
     //
     Status = TlsProcessMessage (
diff --git a/NetworkPkg/HttpDxe/HttpsSupport.c 
b/NetworkPkg/HttpDxe/HttpsSupport.c
index d746972..9a68b45 100644
--- a/NetworkPkg/HttpDxe/HttpsSupport.c
+++ b/NetworkPkg/HttpDxe/HttpsSupport.c
@@ -845,15 +845,15 @@ TlsReceiveOnePdu (
 
   LIST_ENTRY      *NbufList;
 
   UINT32          Len;
 
-  NET_BUF         *PduHdr;
-  UINT8           *Header;
-  TLSRecordHeader RecordHeader;
+  NET_BUF           *PduHdr;
+  UINT8             *Header;
+  TLS_RECORD_HEADER RecordHeader;
   
-  NET_BUF         *DataSeg;
+  NET_BUF           *DataSeg;
 
   NbufList = NULL;
   PduHdr   = NULL;
   Header   = NULL;
   DataSeg  = NULL;
@@ -866,11 +866,11 @@ TlsReceiveOnePdu (
   InitializeListHead (NbufList);
   
   //
   // Allocate buffer to receive one TLS header.
   //
-  Len     = sizeof (TLSRecordHeader);
+  Len     = sizeof (TLS_RECORD_HEADER);
   PduHdr  = NetbufAlloc (Len);
   if (PduHdr == NULL) {
     Status = EFI_OUT_OF_RESOURCES;
     goto ON_EXIT;
   }
@@ -887,11 +887,11 @@ TlsReceiveOnePdu (
   Status = TlsCommonReceive (HttpInstance, PduHdr, Timeout);
   if (EFI_ERROR (Status)) {
     goto ON_EXIT;
   }
 
-  RecordHeader = *(TLSRecordHeader *) Header;
+  RecordHeader = *(TLS_RECORD_HEADER *) Header;
   if ((RecordHeader.ContentType == TLS_CONTENT_TYPE_HANDSHAKE || 
     RecordHeader.ContentType == TLS_CONTENT_TYPE_ALERT || 
     RecordHeader.ContentType == TLS_CONTENT_TYPE_CHANGE_CIPHER_SPEC ||
     RecordHeader.ContentType == TLS_CONTENT_TYPE_APPLICATION_DATA) && 
     (RecordHeader.Version.Major == 0x03) && /// Major versions are same.
@@ -1439,11 +1439,11 @@ HttpsReceive (
   IN     EFI_EVENT             Timeout
   )
 {
   EFI_STATUS                      Status;
   NET_BUF                         *Pdu;
-  TLSRecordHeader                 RecordHeader;
+  TLS_RECORD_HEADER               RecordHeader;
   UINT8                           *BufferIn;  
   UINTN                           BufferInSize;
   NET_FRAGMENT                    TempFragment;
   UINT8                           *BufferOut;  
   UINTN                           BufferOutSize;
@@ -1484,11 +1484,11 @@ HttpsReceive (
   NetbufFree (Pdu);
 
   //
   // Handle Receive data.
   //
-  RecordHeader = *(TLSRecordHeader *) BufferIn;
+  RecordHeader = *(TLS_RECORD_HEADER *) BufferIn;
   
   if ((RecordHeader.ContentType == TLS_CONTENT_TYPE_APPLICATION_DATA) && 
     (RecordHeader.Version.Major == 0x03) && 
     (RecordHeader.Version.Minor == TLS10_PROTOCOL_VERSION_MINOR || 
     RecordHeader.Version.Minor == TLS11_PROTOCOL_VERSION_MINOR || 
@@ -1571,20 +1571,20 @@ HttpsReceive (
     }
 
     //
     // Parsing buffer. 
     //
-    ASSERT (((TLSRecordHeader *) (TempFragment.Bulk))->ContentType == 
TLS_CONTENT_TYPE_APPLICATION_DATA);
+    ASSERT (((TLS_RECORD_HEADER *) (TempFragment.Bulk))->ContentType == 
TLS_CONTENT_TYPE_APPLICATION_DATA);
     
-    BufferInSize = ((TLSRecordHeader *) (TempFragment.Bulk))->Length;
+    BufferInSize = ((TLS_RECORD_HEADER *) (TempFragment.Bulk))->Length;
     BufferIn = AllocateZeroPool (BufferInSize);
     if (BufferIn == NULL) {
       Status = EFI_OUT_OF_RESOURCES;
       return Status;
     }
 
-    CopyMem (BufferIn, TempFragment.Bulk + sizeof (TLSRecordHeader), 
BufferInSize);
+    CopyMem (BufferIn, TempFragment.Bulk + sizeof (TLS_RECORD_HEADER), 
BufferInSize);
 
     //
     // Free the buffer in TempFragment.
     //
     FreePool (TempFragment.Bulk);
diff --git a/NetworkPkg/HttpDxe/HttpsSupport.h 
b/NetworkPkg/HttpDxe/HttpsSupport.h
index 05b6e69..852bc59 100644
--- a/NetworkPkg/HttpDxe/HttpsSupport.h
+++ b/NetworkPkg/HttpDxe/HttpsSupport.h
@@ -13,58 +13,14 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER 
EXPRESS OR IMPLIED.
 **/
 
 #ifndef __EFI_HTTPS_SUPPORT_H__
 #define __EFI_HTTPS_SUPPORT_H__
 
-#pragma pack (push, 1)
-
 #define HTTPS_DEFAULT_PORT       443
 
 #define HTTPS_FLAG               "https"
 
-//
-// TLS Version
-//
-#define TLS10_PROTOCOL_VERSION_MAJOR  0x03
-#define TLS10_PROTOCOL_VERSION_MINOR  0x01
-#define TLS11_PROTOCOL_VERSION_MAJOR  0x03
-#define TLS11_PROTOCOL_VERSION_MINOR  0x02
-#define TLS12_PROTOCOL_VERSION_MAJOR  0x03
-#define TLS12_PROTOCOL_VERSION_MINOR  0x03
-
-//
-// Cipher Suite
-//
-#define TLS_RSA_WITH_RC4_128_SHA                 {0x00, 0x05}
-#define TLS_RSA_WITH_3DES_EDE_CBC_SHA            {0x00, 0x0A}
-#define TLS_RSA_WITH_AES_128_CBC_SHA             {0x00, 0x2F}
-#define TLS_RSA_WITH_AES_256_CBC_SHA             {0x00, 0x35}
-#define TLS_RSA_WITH_AES_128_CBC_SHA256          {0x00, 0x3C}
-#define TLS_RSA_WITH_AES_256_CBC_SHA256          {0x00, 0x3D}
-
-//
-// Content Type
-//
-typedef enum {
-  TLS_CONTENT_TYPE_CHANGE_CIPHER_SPEC = 20,
-  TLS_CONTENT_TYPE_ALERT              = 21,
-  TLS_CONTENT_TYPE_HANDSHAKE          = 22,
-  TLS_CONTENT_TYPE_APPLICATION_DATA   = 23,
-} TLS_CONTENT_TYPE;
-
-//
-// Tls RecordHeader
-// 
-typedef struct {   
-  UINT8                   ContentType;
-  EFI_TLS_VERSION         Version;
-  UINT16                  Length;
-} TLSRecordHeader;
-
-#pragma pack (pop)
-
-
 /**
   Check whether the Url is from Https.
 
   @param[in]    Url             The pointer to a HTTP or HTTPS URL string.  
 
-- 
1.9.5.msysgit.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to