Merged revisions 76288 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r76288 | senthil.kumaran | 2009-11-15 14:06:20 +0530 (Sun, 15 Nov 2009) | 3 lines Fix for Issue4683 - urllib2.HTTPDigestAuthHandler fails on third hostname?. Resolution: Reset the nonce value for each unique nonce (as per RFC 2617) ........
This commit is contained in:
parent
1107c5d7d1
commit
4c7eaee5db
@ -847,6 +847,7 @@ class AbstractDigestAuthHandler:
|
|||||||
self.add_password = self.passwd.add_password
|
self.add_password = self.passwd.add_password
|
||||||
self.retried = 0
|
self.retried = 0
|
||||||
self.nonce_count = 0
|
self.nonce_count = 0
|
||||||
|
self.last_nonce = None
|
||||||
|
|
||||||
def reset_retry_count(self):
|
def reset_retry_count(self):
|
||||||
self.retried = 0
|
self.retried = 0
|
||||||
@ -922,7 +923,11 @@ class AbstractDigestAuthHandler:
|
|||||||
# XXX selector: what about proxies and full urls
|
# XXX selector: what about proxies and full urls
|
||||||
req.selector)
|
req.selector)
|
||||||
if qop == 'auth':
|
if qop == 'auth':
|
||||||
|
if nonce == self.last_nonce:
|
||||||
self.nonce_count += 1
|
self.nonce_count += 1
|
||||||
|
else:
|
||||||
|
self.nonce_count = 1
|
||||||
|
self.last_nonce = nonce
|
||||||
ncvalue = '%08x' % self.nonce_count
|
ncvalue = '%08x' % self.nonce_count
|
||||||
cnonce = self.get_cnonce(nonce)
|
cnonce = self.get_cnonce(nonce)
|
||||||
noncebit = "%s:%s:%s:%s:%s" % (nonce, ncvalue, cnonce, qop, H(A2))
|
noncebit = "%s:%s:%s:%s:%s" % (nonce, ncvalue, cnonce, qop, H(A2))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user