https://github.com/boto/boto/commit/b9f6cb0ab717ea76e2780c7fddd1cd36b3bf7d63 From b9f6cb0ab717ea76e2780c7fddd1cd36b3bf7d63 Mon Sep 17 00:00:00 2001 From: Matt Houglum Date: Fri, 21 Jun 2019 15:09:11 -0700 Subject: [PATCH] Make server_name() behave correctly for PY3 ...because Python-2.6-or-newer doesn't just include Python 2.6 and 2.7. --- boto/connection.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/boto/connection.py b/boto/connection.py index 54e26fb2de16..bbb25d8fb842 100644 --- a/boto/connection.py +++ b/boto/connection.py @@ -650,17 +650,13 @@ class AWSAuthConnection(object): if port == 80: signature_host = self.host else: - # This unfortunate little hack can be attributed to - # a difference in the 2.6 version of http_client. In old - # versions, it would append ":443" to the hostname sent - # in the Host header and so we needed to make sure we - # did the same when calculating the V2 signature. In 2.6 - # (and higher!) - # it no longer does that. Hence, this kludge. - if ((ON_APP_ENGINE and sys.version[:3] == '2.5') or - sys.version[:3] in ('2.6', '2.7')) and port == 443: + ver_int = sys.version_info[0] * 10 + sys.version_info[1] + if port == 443 and ver_int >= 26: # Py >= 2.6 signature_host = self.host else: + # In versions < 2.6, Python's http_client would append ":443" + # to the hostname sent in the Host header and so we needed to + # make sure we did the same when calculating the V2 signature. signature_host = '%s:%d' % (self.host, port) return signature_host -- 2.28.0