• Victor Stinner's avatar
    bpo-30458: Disallow control chars in http URLs (GH-12755) (GH-13154) (GH-13315) · bb8071a4
    Victor Stinner authored
    Disallow control chars in http URLs in urllib2.urlopen.  This
    addresses a potential security problem for applications that do not
    sanity check their URLs where http request headers could be injected.
    
    Disable https related urllib tests on a build without ssl (GH-13032)
    These tests require an SSL enabled build. Skip these tests when
    python is built without SSL to fix test failures.
    
    Use httplib.InvalidURL instead of ValueError as the new error case's
    exception. (GH-13044)
    
    Backport Co-Authored-By: Miro Hrončok <miro@hroncok.cz>
    
    (cherry picked from commit 7e200e0763f5b71c199aaf98bd5588f291585619)
    
    Notes on backport to Python 2.7:
    
    * test_urllib tests urllib.urlopen() which quotes the URL and so is
      not vulerable to HTTP Header Injection.
    * Add tests to test_urllib2 on urllib2.urlopen().
    * Reject non-ASCII characters: range 0x80-0xff.
    bb8071a4
test_urllib2.py 57.3 KB