]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesProtocol.c
NetworkPkg/HttpBootDxe: Request HTTP token notify as a DPC at TPL_CALLBACK
[mirror_edk2.git] / NetworkPkg / HttpUtilitiesDxe / HttpUtilitiesProtocol.c
index 8c29f20adfe2abd5f73d69391bfb6ff72a0a616b..645fca4084d45aa741c1b82c16bebd3539902fa8 100644 (file)
@@ -2,6 +2,7 @@
   Implementation of EFI_HTTP_PROTOCOL protocol interfaces.\r
 \r
   Copyright (c) 2015, 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
@@ -122,8 +123,8 @@ HttpUtilitiesBuild (
       //\r
       // Check whether each SeedHeaderFields member is in DeleteList\r
       //\r
-      if (IsValidHttpHeader( DeleteList, DeleteCount, SeedHeaderFields[Index].FieldName)) {\r
-        Status = SetFieldNameAndValue (\r
+      if (HttpIsValidHttpHeader( DeleteList, DeleteCount, SeedHeaderFields[Index].FieldName)) {\r
+        Status = HttpSetFieldNameAndValue (\r
                    &TempHeaderFields[TempFieldCount], \r
                    SeedHeaderFields[Index].FieldName, \r
                    SeedHeaderFields[Index].FieldValue\r
@@ -149,7 +150,7 @@ HttpUtilitiesBuild (
   }\r
 \r
   for (Index = 0; Index < TempFieldCount; Index++) {\r
-    Status = SetFieldNameAndValue (\r
+    Status = HttpSetFieldNameAndValue (\r
                &NewHeaderFields[Index], \r
                TempHeaderFields[Index].FieldName, \r
                TempHeaderFields[Index].FieldValue\r
@@ -162,9 +163,9 @@ HttpUtilitiesBuild (
   NewFieldCount = TempFieldCount;\r
 \r
   for (Index = 0; Index < AppendCount; Index++) {\r
-    HttpHeader = FindHttpHeader (NewHeaderFields, NewFieldCount, AppendList[Index]->FieldName);\r
+    HttpHeader = HttpFindHeader (NewFieldCount, NewHeaderFields, AppendList[Index]->FieldName);\r
     if (HttpHeader != NULL) {\r
-      Status = SetFieldNameAndValue (\r
+      Status = HttpSetFieldNameAndValue (\r
                  HttpHeader, \r
                  AppendList[Index]->FieldName, \r
                  AppendList[Index]->FieldValue\r
@@ -173,7 +174,7 @@ HttpUtilitiesBuild (
         goto ON_EXIT;\r
       }\r
     } else {\r
-      Status = SetFieldNameAndValue (\r
+      Status = HttpSetFieldNameAndValue (\r
                  &NewHeaderFields[NewFieldCount], \r
                  AppendList[Index]->FieldName, \r
                  AppendList[Index]->FieldValue\r
@@ -206,11 +207,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
@@ -242,24 +238,22 @@ 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
   //\r
 ON_EXIT:\r
   if (SeedHeaderFields != NULL) {\r
-    FreeHeaderFields(SeedHeaderFields, SeedFieldCount);\r
+    HttpFreeHeaderFields(SeedHeaderFields, SeedFieldCount);\r
   }\r
   \r
   if (TempHeaderFields != NULL) {\r
-    FreeHeaderFields(TempHeaderFields, TempFieldCount);\r
+    HttpFreeHeaderFields(TempHeaderFields, TempFieldCount);\r
   }\r
 \r
   if (NewHeaderFields != NULL) {\r
-    FreeHeaderFields(NewHeaderFields, NewFieldCount);\r
+    HttpFreeHeaderFields(NewHeaderFields, NewFieldCount);\r
   }\r
   \r
   return Status;\r
@@ -307,7 +301,6 @@ HttpUtilitiesParse (
   \r
   Status          = EFI_SUCCESS;\r
   TempHttpMessage = NULL;\r
-  *FieldCount     = 0;\r
   Token           = NULL;\r
   NextToken       = NULL;\r
   FieldName       = NULL;\r
@@ -328,11 +321,12 @@ HttpUtilitiesParse (
   //\r
   // Get header number\r
   //\r
+  *FieldCount = 0;\r
   Token = TempHttpMessage;\r
   while (TRUE) {\r
     FieldName     = NULL;\r
     FieldValue    = NULL;\r
-    NextToken = GetFieldNameAndValue (Token, &FieldName, &FieldValue);\r
+    NextToken = HttpGetFieldNameAndValue (Token, &FieldName, &FieldValue);\r
     Token     = NextToken;\r
     if (FieldName == NULL || FieldValue == NULL) {\r
       break;\r
@@ -365,16 +359,16 @@ HttpUtilitiesParse (
   while (Index < *FieldCount) {\r
     FieldName     = NULL;\r
     FieldValue    = NULL;\r
-    NextToken = GetFieldNameAndValue (Token, &FieldName, &FieldValue);\r
+    NextToken = HttpGetFieldNameAndValue (Token, &FieldName, &FieldValue);\r
     Token     = NextToken;\r
     if (FieldName == NULL || FieldValue == NULL) {\r
       break;\r
     }\r
 \r
-    Status = SetFieldNameAndValue (&(*HeaderFields)[Index], FieldName, FieldValue);\r
+    Status = HttpSetFieldNameAndValue (&(*HeaderFields)[Index], FieldName, FieldValue);\r
     if (EFI_ERROR (Status)) {\r
       *FieldCount = 0;\r
-      FreeHeaderFields (*HeaderFields, Index);\r
+      HttpFreeHeaderFields (*HeaderFields, Index);\r
       goto ON_EXIT;\r
     }\r
     \r