Message78028
Hmm, notice that AbstractDigestAuthHandler handles retries:
class AbstractDigestAuthHandler:
def __init__(self, passwd=None):
...
self.retried = 0
...
def reset_retry_count(self):
self.retried = 0
def http_error_auth_reqed(self, auth_header, host, req, headers):
authreq = headers.get(auth_header, None)
if self.retried > 5:
# Don't fail endlessly - if we failed once, we'll probably
# fail a second time. Hm. Unless the Password Manager is
# prompting for the information. Crap. This isn't great
# but it's better than the current 'repeat until recursion
# depth exceeded' approach <wink>
raise HTTPError(req.get_full_url(), 401, "digest auth failed",
headers, None)
else:
self.retried += 1
if authreq:
scheme = authreq.split()[0]
if scheme.lower() == 'digest':
return self.retry_http_digest_auth(req, authreq)
The fact that your password manager is queried six times suggests you're
seeing the "if self.retried > 5:" above.
Could you make a local copy of /usr/lib/python2.5/urllib2.py
and add some prints (specially around get_authorization) to see what is
going on? |
|
Date |
User |
Action |
Args |
2008-12-18 15:15:01 | ajaksu2 | set | recipients:
+ ajaksu2, cmb |
2008-12-18 15:15:00 | ajaksu2 | set | messageid: <1229613300.88.0.641144348324.issue4683@psf.upfronthosting.co.za> |
2008-12-18 15:15:00 | ajaksu2 | link | issue4683 messages |
2008-12-18 15:14:58 | ajaksu2 | create | |
|