This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author ajaksu2
Recipients ajaksu2, cmb
Date 2008-12-18.15:14:58
SpamBayes Score 0.0018824395
Marked as misclassified No
Message-id <1229613300.88.0.641144348324.issue4683@psf.upfronthosting.co.za>
In-reply-to
Content
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?
History
Date User Action Args
2008-12-18 15:15:01ajaksu2setrecipients: + ajaksu2, cmb
2008-12-18 15:15:00ajaksu2setmessageid: <1229613300.88.0.641144348324.issue4683@psf.upfronthosting.co.za>
2008-12-18 15:15:00ajaksu2linkissue4683 messages
2008-12-18 15:14:58ajaksu2create