]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesProtocol.c
NetworkPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / NetworkPkg / HttpUtilitiesDxe / HttpUtilitiesProtocol.c
index 739d3b753cddd5ca469ed461ca619d8183e0c03e..bd4df90e05e05b1bbb48079cc44f1617cf34e1ec 100644 (file)
@@ -1,15 +1,9 @@
 /** @file\r
   Implementation of EFI_HTTP_PROTOCOL protocol interfaces.\r
 \r
-  Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>\r
   (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>\r
-  This program and the accompanying materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
@@ -91,17 +85,17 @@ HttpUtilitiesBuild (
   NewMessagePtr    = NULL;\r
   *NewMessageSize  = 0;\r
   Status           = EFI_SUCCESS;\r
-  \r
+\r
   if (This == NULL) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
   if (SeedMessage != NULL) {\r
     Status = This->Parse (\r
-                     This, \r
-                     SeedMessage, \r
-                     SeedMessageSize, \r
-                     &SeedHeaderFields, \r
+                     This,\r
+                     SeedMessage,\r
+                     SeedMessageSize,\r
+                     &SeedHeaderFields,\r
                      &SeedFieldCount\r
                      );\r
     if (EFI_ERROR (Status)) {\r
@@ -118,15 +112,15 @@ HttpUtilitiesBuild (
       Status = EFI_OUT_OF_RESOURCES;\r
       goto ON_EXIT;\r
     }\r
-    \r
+\r
     for (Index = 0, TempFieldCount = 0; Index < SeedFieldCount; Index++) {\r
       //\r
       // Check whether each SeedHeaderFields member is in DeleteList\r
       //\r
       if (HttpIsValidHttpHeader( DeleteList, DeleteCount, SeedHeaderFields[Index].FieldName)) {\r
         Status = HttpSetFieldNameAndValue (\r
-                   &TempHeaderFields[TempFieldCount], \r
-                   SeedHeaderFields[Index].FieldName, \r
+                   &TempHeaderFields[TempFieldCount],\r
+                   SeedHeaderFields[Index].FieldName,\r
                    SeedHeaderFields[Index].FieldValue\r
                    );\r
         if (EFI_ERROR (Status)) {\r
@@ -151,23 +145,23 @@ HttpUtilitiesBuild (
 \r
   for (Index = 0; Index < TempFieldCount; Index++) {\r
     Status = HttpSetFieldNameAndValue (\r
-               &NewHeaderFields[Index], \r
-               TempHeaderFields[Index].FieldName, \r
+               &NewHeaderFields[Index],\r
+               TempHeaderFields[Index].FieldName,\r
                TempHeaderFields[Index].FieldValue\r
                );\r
     if (EFI_ERROR (Status)) {\r
       goto ON_EXIT;\r
     }\r
   }\r
-  \r
+\r
   NewFieldCount = TempFieldCount;\r
 \r
   for (Index = 0; Index < AppendCount; Index++) {\r
     HttpHeader = HttpFindHeader (NewFieldCount, NewHeaderFields, AppendList[Index]->FieldName);\r
     if (HttpHeader != NULL) {\r
       Status = HttpSetFieldNameAndValue (\r
-                 HttpHeader, \r
-                 AppendList[Index]->FieldName, \r
+                 HttpHeader,\r
+                 AppendList[Index]->FieldName,\r
                  AppendList[Index]->FieldValue\r
                  );\r
       if (EFI_ERROR (Status)) {\r
@@ -175,8 +169,8 @@ HttpUtilitiesBuild (
       }\r
     } else {\r
       Status = HttpSetFieldNameAndValue (\r
-                 &NewHeaderFields[NewFieldCount], \r
-                 AppendList[Index]->FieldName, \r
+                 &NewHeaderFields[NewFieldCount],\r
+                 AppendList[Index]->FieldName,\r
                  AppendList[Index]->FieldValue\r
                  );\r
       if (EFI_ERROR (Status)) {\r
@@ -207,11 +201,6 @@ HttpUtilitiesBuild (
   StrLength = sizeof("\r\n") - 1;\r
   *NewMessageSize += StrLength;\r
 \r
-  //\r
-  // Final 0 for end flag\r
-  //\r
-  *NewMessageSize += 1; \r
-\r
   *NewMessage = AllocateZeroPool (*NewMessageSize);\r
   if (*NewMessage == NULL) {\r
     Status = EFI_OUT_OF_RESOURCES;\r
@@ -243,18 +232,16 @@ HttpUtilitiesBuild (
   CopyMem (NewMessagePtr, "\r\n", StrLength);\r
   NewMessagePtr += StrLength;\r
 \r
-  *NewMessagePtr = 0;\r
-\r
-  ASSERT (*NewMessageSize == (UINTN)NewMessagePtr - (UINTN)(*NewMessage) + 1);\r
+  ASSERT (*NewMessageSize == (UINTN)NewMessagePtr - (UINTN)(*NewMessage));\r
 \r
   //\r
-  // Free allocated buffer \r
+  // Free allocated buffer\r
   //\r
 ON_EXIT:\r
   if (SeedHeaderFields != NULL) {\r
     HttpFreeHeaderFields(SeedHeaderFields, SeedFieldCount);\r
   }\r
-  \r
+\r
   if (TempHeaderFields != NULL) {\r
     HttpFreeHeaderFields(TempHeaderFields, TempFieldCount);\r
   }\r
@@ -262,7 +249,7 @@ ON_EXIT:
   if (NewHeaderFields != NULL) {\r
     HttpFreeHeaderFields(NewHeaderFields, NewFieldCount);\r
   }\r
-  \r
+\r
   return Status;\r
 }\r
 \r
@@ -305,7 +292,8 @@ HttpUtilitiesParse (
   CHAR8                     *FieldName;\r
   CHAR8                     *FieldValue;\r
   UINTN                     Index;\r
-  \r
+  UINTN                     HttpBufferSize;\r
+\r
   Status          = EFI_SUCCESS;\r
   TempHttpMessage = NULL;\r
   Token           = NULL;\r
@@ -313,18 +301,23 @@ HttpUtilitiesParse (
   FieldName       = NULL;\r
   FieldValue      = NULL;\r
   Index           = 0;\r
-  \r
+\r
   if (This == NULL || HttpMessage == NULL || HeaderFields == NULL || FieldCount == NULL) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
-  \r
-  TempHttpMessage = AllocateZeroPool (HttpMessageSize);\r
+\r
+  //\r
+  // Append the http response string along with a Null-terminator.\r
+  //\r
+  HttpBufferSize = HttpMessageSize + 1;\r
+  TempHttpMessage = AllocatePool (HttpBufferSize);\r
   if (TempHttpMessage == NULL) {\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
 \r
   CopyMem (TempHttpMessage, HttpMessage, HttpMessageSize);\r
-  \r
+  *(TempHttpMessage + HttpMessageSize) = '\0';\r
+\r
   //\r
   // Get header number\r
   //\r
@@ -346,7 +339,7 @@ HttpUtilitiesParse (
     Status =  EFI_INVALID_PARAMETER;\r
     goto ON_EXIT;\r
   }\r
-  \r
+\r
   //\r
   // Allocate buffer for header\r
   //\r
@@ -356,9 +349,9 @@ HttpUtilitiesParse (
     Status = EFI_OUT_OF_RESOURCES;\r
     goto ON_EXIT;\r
   }\r
-  \r
+\r
   CopyMem (TempHttpMessage, HttpMessage, HttpMessageSize);\r
-  \r
+\r
   //\r
   // Set Field and Value to each header\r
   //\r
@@ -378,17 +371,17 @@ HttpUtilitiesParse (
       HttpFreeHeaderFields (*HeaderFields, Index);\r
       goto ON_EXIT;\r
     }\r
-    \r
+\r
     Index++;\r
   }\r
 \r
   //\r
-  // Free allocated buffer \r
+  // Free allocated buffer\r
   //\r
 ON_EXIT:\r
   if (TempHttpMessage != NULL) {\r
     FreePool (TempHttpMessage);\r
   }\r
-  \r
+\r
   return Status;\r
-}
\ No newline at end of file
+}\r