libguestfs/SOURCES/0031-v2v-rhv-upload-plugin-...

70 lines
2.4 KiB
Diff

From a3e99c84e1aed2fc275be00292f86414c8d4432a Mon Sep 17 00:00:00 2001
From: Nir Soffer <nirsof@gmail.com>
Date: Fri, 29 Jun 2018 17:41:10 +0300
Subject: [PATCH] v2v: rhv-upload-plugin: Remove unneeded auth
Old imageio proxy was using Authorization header for GET and PUT
requests. Remove unneeded authorization when sending OPTIONS request.
Remove unneeded duplicated comments about authorization for old
imageio, and replace them with a comment when we set needs_auth.
(cherry picked from commit d5f36bacf9bb6d4d244184551792989906f60896)
---
v2v/rhv-upload-plugin.py | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/v2v/rhv-upload-plugin.py b/v2v/rhv-upload-plugin.py
index 8805e3552..f404bd758 100644
--- a/v2v/rhv-upload-plugin.py
+++ b/v2v/rhv-upload-plugin.py
@@ -191,16 +191,17 @@ def open(readonly):
)
# The first request is to fetch the features of the server.
+
+ # Authentication was needed only for GET and PUT requests when
+ # communicating with old imageio-proxy.
needs_auth = not params['rhv_direct']
+
can_flush = False
can_trim = False
can_zero = False
unix_socket = None
- http.putrequest("OPTIONS", destination_url.path)
- http.putheader("Authorization", transfer.signed_ticket)
- http.endheaders()
-
+ http.request("OPTIONS", destination_url.path)
r = http.getresponse()
data = r.read()
@@ -298,7 +299,6 @@ def pread(h, count, offset):
transfer = h['transfer']
headers = {"Range", "bytes=%d-%d" % (offset, offset+count-1)}
- # Authorization is only needed for old imageio.
if h['needs_auth']:
headers["Authorization"] = transfer.signed_ticket
@@ -321,7 +321,6 @@ def pwrite(h, buf, offset):
h['highestwrite'] = max(h['highestwrite'], offset+count)
http.putrequest("PUT", h['path'] + "?flush=n")
- # Authorization is only needed for old imageio.
if h['needs_auth']:
http.putheader("Authorization", transfer.signed_ticket)
# The oVirt server only uses the first part of the range, and the
@@ -378,7 +377,6 @@ def emulate_zero(h, count, offset):
# After that we must emulate them with writes.
if offset+count < h['highestwrite']:
http.putrequest("PUT", h['path'])
- # Authorization is only needed for old imageio.
if h['needs_auth']:
http.putheader("Authorization", transfer.signed_ticket)
http.putheader("Content-Range",
--
2.21.0