summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorSenthil Kumaran <senthil@uthcode.com>2014-07-22 07:16:18 (GMT)
committerSenthil Kumaran <senthil@uthcode.com>2014-07-22 07:16:18 (GMT)
commit284a4a1bb0496f24e7c0243bbe9fcca7bfa6b2f0 (patch)
treef7c042c7e40724f2ec97ab4206b4b362c5d75d7a /Lib
parent26408df88fa6d84f0702964cef60e74c7830c066 (diff)
parentbc07ac51801ae261ce09f057cbb4ecf9b7cdc07c (diff)
downloadcpython-284a4a1bb0496f24e7c0243bbe9fcca7bfa6b2f0.zip
cpython-284a4a1bb0496f24e7c0243bbe9fcca7bfa6b2f0.tar.gz
cpython-284a4a1bb0496f24e7c0243bbe9fcca7bfa6b2f0.tar.bz2
Merge 3.4
Fix localhost checking in FileHandler. Raised in #21970.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_urllib2.py3
-rw-r--r--Lib/urllib/request.py2
2 files changed, 3 insertions, 2 deletions
diff --git a/Lib/test/test_urllib2.py b/Lib/test/test_urllib2.py
index 6b73723..7620876 100644
--- a/Lib/test/test_urllib2.py
+++ b/Lib/test/test_urllib2.py
@@ -678,7 +678,7 @@ class HandlerTests(unittest.TestCase):
self.assertEqual(int(headers["Content-length"]), len(data))
def test_file(self):
- import email.utils, socket
+ import email.utils
h = urllib.request.FileHandler()
o = h.parent = MockOpener()
@@ -725,6 +725,7 @@ class HandlerTests(unittest.TestCase):
for url in [
"file://localhost:80%s" % urlpath,
"file:///file_does_not_exist.txt",
+ "file://not-a-local-host.com//dir/file.txt",
"file://%s:80%s/%s" % (socket.gethostbyname('localhost'),
os.getcwd(), TESTFN),
"file://somerandomhost.ontheinternet.com%s/%s" %
diff --git a/Lib/urllib/request.py b/Lib/urllib/request.py
index 72e91dd..0389f5e 100644
--- a/Lib/urllib/request.py
+++ b/Lib/urllib/request.py
@@ -1315,7 +1315,7 @@ class FileHandler(BaseHandler):
url = req.selector
if url[:2] == '//' and url[2:3] != '/' and (req.host and
req.host != 'localhost'):
- if not req.host is self.get_names():
+ if not req.host in self.get_names():
raise URLError("file:// scheme is supported only on localhost")
else:
return self.open_local_file(req)