mirror of
https://github.com/python/cpython.git
synced 2025-10-09 08:31:26 +00:00
Issue 11662: Fix vulnerability in urllib/urllib2.
(This version is a cleaned-up backport of a fix by Senthil Kumaran.)
This commit is contained in:
parent
b938c8c253
commit
a119df91f3
5 changed files with 74 additions and 0 deletions
|
@ -2,6 +2,7 @@
|
|||
|
||||
import urllib.parse
|
||||
import urllib.request
|
||||
import urllib.error
|
||||
import http.client
|
||||
import email.message
|
||||
import io
|
||||
|
@ -183,6 +184,21 @@ Content-Type: text/html; charset=iso-8859-1
|
|||
finally:
|
||||
self.unfakehttp()
|
||||
|
||||
def test_invalid_redirect(self):
|
||||
# urlopen() should raise IOError for many error codes.
|
||||
self.fakehttp(b'''HTTP/1.1 302 Found
|
||||
Date: Wed, 02 Jan 2008 03:03:54 GMT
|
||||
Server: Apache/1.3.33 (Debian GNU/Linux) mod_ssl/2.8.22 OpenSSL/0.9.7e
|
||||
Location: file://guidocomputer.athome.com:/python/license
|
||||
Connection: close
|
||||
Content-Type: text/html; charset=iso-8859-1
|
||||
''')
|
||||
try:
|
||||
self.assertRaises(urllib.error.HTTPError, urlopen,
|
||||
"http://python.org/")
|
||||
finally:
|
||||
self.unfakehttp()
|
||||
|
||||
def test_empty_socket(self):
|
||||
# urlopen() raises IOError if the underlying socket does not send any
|
||||
# data. (#1680230)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue