]> git.proxmox.com Git - mirror_edk2.git/commitdiff
NetworkPkg/HttpDxe: Detect HTTP/1.0 servers
authorOliver Steffen <osteffen@redhat.com>
Tue, 22 Mar 2022 13:30:08 +0000 (14:30 +0100)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Mon, 11 Apr 2022 15:12:46 +0000 (15:12 +0000)
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2720

Force connection close before the next request if
the server identifies as version 1.0.

Signed-off-by: Oliver Steffen <osteffen@redhat.com>
Reviewed-by: Maciej Rabeda <maciej.rabeda@linux.intel.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
NetworkPkg/HttpDxe/HttpImpl.c

index 4ec2e8f6679505946dbfdd6a5efdb7290daae0da..7c5c925cf78b423599ffde2677747ca0db9b2c19 100644 (file)
@@ -1105,6 +1105,14 @@ HttpResponseWorker (
       HttpInstance->CacheLen = BodyLen;\r
     }\r
 \r
+    //\r
+    // Check server's HTTP version.\r
+    //\r
+    if (AsciiStrnCmp (HttpHeaders, "HTTP/1.0", sizeof ("HTTP/1.0") - 1) == 0) {\r
+      DEBUG ((DEBUG_VERBOSE, "HTTP: Server version is 1.0. Setting Connection close.\n"));\r
+      HttpInstance->ConnectionClose = TRUE;\r
+    }\r
+\r
     //\r
     // Search for Status Code.\r
     //\r