Blame SOURCES/0003-vCenter-fix-parsing-of-HTTP-status-string-RHBZ-18373.patch

62f9b7
From bb94c68c521aa546d3f2e59aa25e388bfd9c5fc5 Mon Sep 17 00:00:00 2001
62f9b7
From: Pino Toscano <ptoscano@redhat.com>
62f9b7
Date: Tue, 19 May 2020 12:14:18 +0200
62f9b7
Subject: [PATCH] vCenter: fix parsing of HTTP status string (RHBZ#1837328)
62f9b7
62f9b7
vCenter 7 answers with an HTTP/2 status string, so we cannot extract
62f9b7
the status code from it by using fixed positions in that string.
62f9b7
Hence, pick the status code by reading what's after the whitespace.
62f9b7
62f9b7
Tested with vCenter 6.5 and 7.
62f9b7
62f9b7
(cherry picked from commit d2aa82317964d62fcc8dc7b6737773003d04b998)
62f9b7
---
62f9b7
 v2v/vCenter.ml | 4 +++-
62f9b7
 1 file changed, 3 insertions(+), 1 deletion(-)
62f9b7
62f9b7
diff --git a/v2v/vCenter.ml b/v2v/vCenter.ml
62f9b7
index c28a4ced..4c128b0c 100644
62f9b7
--- a/v2v/vCenter.ml
62f9b7
+++ b/v2v/vCenter.ml
62f9b7
@@ -190,7 +190,9 @@ and fetch_headers_from_url password_file uri sslverify https_url =
62f9b7
     | [] ->
62f9b7
        dump_response stderr;
62f9b7
        error (f_"vcenter: no status code in output of ‘curl’ command.  Is ‘curl’ installed?")
62f9b7
-    | ss -> String.sub (List.hd (List.rev ss)) 9 3 in
62f9b7
+    | ss ->
62f9b7
+      let s = List.hd (List.rev ss) in
62f9b7
+      String.sub s (String.index s ' ' + 1) 3 in
62f9b7
 
62f9b7
   let headers =
62f9b7
     List.map (
62f9b7
-- 
62f9b7
2.27.0
62f9b7