Red Hat Bugzilla – Bug 649274
Infinite recursion in urllib2 on basicauth failure
Last modified: 2016-05-31 21:47:07 EDT
Description of problem:
When you try to authenticate against an HTTPS using urllib2 python module it dies in a loop.
Version-Release number of selected component (if applicable):
# rpm -qa python
Steps to Reproduce:
1. Create a python code that calls urllib2.urlopen with an invalid username and password
File "/usr/lib64/python2.6/socket.py", line 504, in create_connection
sock = socket(af, socktype, proto)
RuntimeError: maximum recursion depth exceeded while calling a Python object
It should raise an error or die.
This has been fixed by upstream:
Reproducible with vanilla 2.6.5 stdlib
Reproducible with python-2.6.5-3.el6.x86_64
Works OK for me with python-2.6.6-1.el6.x86_64
Works OK for me with python-2.6.6-9.el6.x86_64
is the relevant change here; this is in 2.6.6, which was r84293.
See also bug 669847.
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.
Using an invalid username or password while attempting to authenticate against HTTPS via the urllib2 module resulted in infinite recursion. This behavior has been patched, and urllib2 now attempts authentication a maximum of five times before authentication is considered failed.
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.