From: Senthil Kumaran Date: Wed, 24 Feb 2010 16:53:16 +0000 (+0000) Subject: Merged revisions 78422 via svnmerge from X-Git-Tag: v3.2a1~1635 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ca2fc9eb1fd987b8885d7126f2b541a6c2636d53;p=thirdparty%2FPython%2Fcpython.git Merged revisions 78422 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r78422 | senthil.kumaran | 2010-02-24 22:15:46 +0530 (Wed, 24 Feb 2010) | 2 lines Fix for Issue3819 - urllib2 sends Basic auth across redirects ........ --- diff --git a/Lib/test/test_urllib2.py b/Lib/test/test_urllib2.py index f77537d61ecc..11848e07e47b 100644 --- a/Lib/test/test_urllib2.py +++ b/Lib/test/test_urllib2.py @@ -1145,7 +1145,8 @@ class HandlerTests(unittest.TestCase): base64.encodebytes(userpass).strip().decode()) self.assertEqual(http_handler.requests[1].get_header(auth_header), auth_hdr_value) - + self.assertEqual(http_handler.requests[1].unredirected_hdrs[auth_header], + auth_hdr_value) # if the password manager can't find a password, the handler won't # handle the HTTP auth error password_manager.user = password_manager.password = None diff --git a/Lib/urllib/request.py b/Lib/urllib/request.py index 07a7ee6960f8..b9de4793b3de 100644 --- a/Lib/urllib/request.py +++ b/Lib/urllib/request.py @@ -795,7 +795,7 @@ class AbstractBasicAuthHandler: auth = "Basic " + base64.b64encode(raw.encode()).decode("ascii") if req.headers.get(self.auth_header, None) == auth: return None - req.add_header(self.auth_header, auth) + req.add_unredirected_header(self.auth_header, auth) return self.parent.open(req, timeout=req.timeout) else: return None