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
........
This commit is contained in:
Senthil Kumaran 2010-02-24 16:53:16 +00:00
parent 0facd77015
commit ca2fc9eb1f
2 changed files with 3 additions and 2 deletions

View File

@ -1145,7 +1145,8 @@ class HandlerTests(unittest.TestCase):
base64.encodebytes(userpass).strip().decode()) base64.encodebytes(userpass).strip().decode())
self.assertEqual(http_handler.requests[1].get_header(auth_header), self.assertEqual(http_handler.requests[1].get_header(auth_header),
auth_hdr_value) 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 # if the password manager can't find a password, the handler won't
# handle the HTTP auth error # handle the HTTP auth error
password_manager.user = password_manager.password = None password_manager.user = password_manager.password = None

View File

@ -795,7 +795,7 @@ class AbstractBasicAuthHandler:
auth = "Basic " + base64.b64encode(raw.encode()).decode("ascii") auth = "Basic " + base64.b64encode(raw.encode()).decode("ascii")
if req.headers.get(self.auth_header, None) == auth: if req.headers.get(self.auth_header, None) == auth:
return None 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) return self.parent.open(req, timeout=req.timeout)
else: else:
return None return None