Reviewed-by: Fu Siyuan <[email protected]>
> -----Original Message----- > From: edk2-devel [mailto:[email protected]] On Behalf Of El- > Haj-Mahmoud, Samer > Sent: Monday, February 22, 2016 7:46 AM > To: [email protected]; Fu, Siyuan <[email protected]> > Subject: Re: [edk2] [PATCH v2 2/2] NetworkPkg: Use Http11 definitions in > HttpDxe and HttpBootDxe > > Siyuan, > > Can you review please? > > -----Original Message----- > From: El-Haj-Mahmoud, Samer > Sent: Thursday, February 18, 2016 4:48 PM > To: [email protected] > Cc: [email protected]; El-Haj-Mahmoud, Samer <samer.el-haj- > [email protected]>; El-Haj-Mahmoud, Samer <samer.el-haj- > [email protected]> > Subject: [PATCH v2 2/2] NetworkPkg: Use Http11 definitions in HttpDxe and > HttpBootDxe > > Change HttpDxe and HttpBootDxe to use the standard definitions from > Http11.h instead of private duplicate definitions. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Samer El-Haj-Mahmoud <[email protected]> > --- > NetworkPkg/HttpBootDxe/HttpBootClient.c | 7 ++++--- > NetworkPkg/HttpBootDxe/HttpBootClient.h | 4 +--- > NetworkPkg/HttpBootDxe/HttpBootDxe.h | 3 +++ > NetworkPkg/HttpDxe/HttpDriver.h | 2 ++ > NetworkPkg/HttpDxe/HttpImpl.h | 10 ++-------- > NetworkPkg/HttpDxe/HttpProto.c | 16 ++++++++++------ > 6 files changed, 22 insertions(+), 20 deletions(-) > > diff --git a/NetworkPkg/HttpBootDxe/HttpBootClient.c > b/NetworkPkg/HttpBootDxe/HttpBootClient.c > index dd835c4..2ccac8c 100644 > --- a/NetworkPkg/HttpBootDxe/HttpBootClient.c > +++ b/NetworkPkg/HttpBootDxe/HttpBootClient.c > @@ -2,6 +2,7 @@ > Implementation of the boot file download function. > > Copyright (c) 2015 - 2016, 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 @@ -807,7 +808,7 @@ > HttpBootGetBootFile ( > } > Status = HttpBootSetHeader ( > HttpIoHeader, > - HTTP_FIELD_NAME_HOST, > + HTTP_HEADER_HOST, > HostName > ); > FreePool (HostName); > @@ -820,7 +821,7 @@ HttpBootGetBootFile ( > // > Status = HttpBootSetHeader ( > HttpIoHeader, > - HTTP_FIELD_NAME_ACCEPT, > + HTTP_HEADER_ACCEPT, > "*/*" > ); > if (EFI_ERROR (Status)) { > @@ -832,7 +833,7 @@ HttpBootGetBootFile ( > // > Status = HttpBootSetHeader ( > HttpIoHeader, > - HTTP_FIELD_NAME_USER_AGENT, > + HTTP_HEADER_USER_AGENT, > HTTP_USER_AGENT_EFI_HTTP_BOOT > ); > if (EFI_ERROR (Status)) { > diff --git a/NetworkPkg/HttpBootDxe/HttpBootClient.h > b/NetworkPkg/HttpBootDxe/HttpBootClient.h > index e618316..b929fa7 100644 > --- a/NetworkPkg/HttpBootDxe/HttpBootClient.h > +++ b/NetworkPkg/HttpBootDxe/HttpBootClient.h > @@ -2,6 +2,7 @@ > Declaration of the boot file download function. > > Copyright (c) 2015, 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 @@ -18,9 +19,6 @@ WITHOUT > WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR > IMPLIED. > #define HTTP_BOOT_REQUEST_TIMEOUT 5000 // 5 seconds in uints > of millisecond. > #define HTTP_BOOT_BLOCK_SIZE 1500 > > -#define HTTP_FIELD_NAME_USER_AGENT "User-Agent" > -#define HTTP_FIELD_NAME_HOST "Host" > -#define HTTP_FIELD_NAME_ACCEPT "Accept" > > > #define HTTP_USER_AGENT_EFI_HTTP_BOOT "UefiHttpBoot/1.0" > diff --git a/NetworkPkg/HttpBootDxe/HttpBootDxe.h > b/NetworkPkg/HttpBootDxe/HttpBootDxe.h > index 452c8f4..08f88c5 100644 > --- a/NetworkPkg/HttpBootDxe/HttpBootDxe.h > +++ b/NetworkPkg/HttpBootDxe/HttpBootDxe.h > @@ -2,6 +2,7 @@ > UEFI HTTP boot driver's private data structure and interfaces declaration. > > Copyright (c) 2015, 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 @@ -17,6 +18,8 @@ WITHOUT > WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR > IMPLIED. > > #include <Uefi.h> > > +#include <IndustryStandard/Http11.h> > + > // > // Libraries > // > diff --git a/NetworkPkg/HttpDxe/HttpDriver.h > b/NetworkPkg/HttpDxe/HttpDriver.h index 138f56c..9c0002a 100644 > --- a/NetworkPkg/HttpDxe/HttpDriver.h > +++ b/NetworkPkg/HttpDxe/HttpDriver.h > @@ -2,6 +2,7 @@ > The header files of the driver binding and service binding protocol for > HttpDxe driver. > > Copyright (c) 2015, 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 @@ -17,6 +18,7 @@ #define __EFI_HTTP_DRIVER_H__ > > #include <Uefi.h> > +#include <IndustryStandard/Http11.h> > > // > // Libraries > diff --git a/NetworkPkg/HttpDxe/HttpImpl.h > b/NetworkPkg/HttpDxe/HttpImpl.h index 3822842..415b5e5 100644 > --- a/NetworkPkg/HttpDxe/HttpImpl.h > +++ b/NetworkPkg/HttpDxe/HttpImpl.h > @@ -2,6 +2,7 @@ > The header files of implementation of EFI_HTTP_PROTOCOL protocol > interfaces. > > Copyright (c) 2015 - 2016, 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 @@ -19,17 +20,10 @@ > #define HTTP_DEFAULT_PORT 80 > #define HTTP_END_OF_HDR_STR "\r\n\r\n" > #define HTTP_CRLF_STR "\r\n" > -#define HTTP_VERSION_STR "HTTP/1.1" > +#define HTTP_VERSION_STR HTTP_VERSION > #define HTTP_VERSION_CRLF_STR " HTTP/1.1\r\n" > -#define HTTP_GET_STR "GET " > -#define HTTP_HEAD_STR "HEAD " > #define HTTP_ERROR_OR_NOT_SUPPORT_STATUS_CODE 300 > > -// > -// Connect method has maximum length according to EFI_HTTP_METHOD > defined in -// UEFI2.5 spec so use this. > -// > -#define HTTP_MAXIMUM_METHOD_LEN sizeof ("CONNECT") > > /** > Returns the operational parameters for the current HTTP child instance. > diff --git a/NetworkPkg/HttpDxe/HttpProto.c > b/NetworkPkg/HttpDxe/HttpProto.c index 9660b6f..579b9e4 100644 > --- a/NetworkPkg/HttpDxe/HttpProto.c > +++ b/NetworkPkg/HttpDxe/HttpProto.c > @@ -2,7 +2,7 @@ > Miscellaneous routines for HttpDxe driver. > > Copyright (c) 2015, Intel Corporation. All rights reserved.<BR> > -(C) Copyright 2015 Hewlett Packard Enterprise Development LP<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 > @@ -2023,7 +2023,7 @@ HttpGenRequestString ( > // > // Calculate HTTP message length. > // > - MsgSize = Message->BodyLength + HTTP_MAXIMUM_METHOD_LEN + > AsciiStrLen (Url) + > + MsgSize = Message->BodyLength + HTTP_METHOD_MAXIMUM_LEN + > AsciiStrLen > + (Url) + > AsciiStrLen (HTTP_VERSION_CRLF_STR) + HttpHdrSize; > Request = AllocateZeroPool (MsgSize); > if (Request == NULL) { > @@ -2036,13 +2036,13 @@ HttpGenRequestString ( > // > switch (Message->Data.Request->Method) { > case HttpMethodGet: > - StrLength = sizeof (HTTP_GET_STR) - 1; > - CopyMem (RequestPtr, HTTP_GET_STR, StrLength); > + StrLength = sizeof (HTTP_METHOD_GET) - 1; > + CopyMem (RequestPtr, HTTP_METHOD_GET, StrLength); > RequestPtr += StrLength; > break; > case HttpMethodHead: > - StrLength = sizeof (HTTP_HEAD_STR) - 1; > - CopyMem (RequestPtr, HTTP_HEAD_STR, StrLength); > + StrLength = sizeof (HTTP_METHOD_HEAD) - 1; > + CopyMem (RequestPtr, HTTP_METHOD_HEAD, StrLength); > RequestPtr += StrLength; > break; > default: > @@ -2050,6 +2050,10 @@ HttpGenRequestString ( > goto Exit; > } > > + StrLength = AsciiStrLen(" "); > + CopyMem (RequestPtr, " ", StrLength); RequestPtr += StrLength; > + > StrLength = AsciiStrLen (Url); > CopyMem (RequestPtr, Url, StrLength); > RequestPtr += StrLength; > -- > 2.6.3.windows.1 > > _______________________________________________ > 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

