[Python-checkins] cpython (merge 3.2 -> default): merge from 3.2
senthil.kumaran
python-checkins at python.org
Sat Jan 21 04:55:59 CET 2012
http://hg.python.org/cpython/rev/784f466a78e0
changeset: 74549:784f466a78e0
parent: 74544:3be60a4c8c63
parent: 74548:514994d7a9f2
user: Senthil Kumaran <senthil at uthcode.com>
date: Sat Jan 21 11:55:40 2012 +0800
summary:
merge from 3.2
files:
Lib/test/test_urllib.py | 3 +++
Lib/test/test_urllib2net.py | 2 ++
Lib/urllib/request.py | 2 ++
Misc/NEWS | 3 +--
4 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/Lib/test/test_urllib.py b/Lib/test/test_urllib.py
--- a/Lib/test/test_urllib.py
+++ b/Lib/test/test_urllib.py
@@ -160,6 +160,9 @@
for line in self.returned_obj:
self.assertEqual(line, self.text)
+ def test_relativelocalfile(self):
+ self.assertRaises(ValueError,urllib.request.urlopen,'./' + self.pathname)
+
class ProxyTests(unittest.TestCase):
def setUp(self):
diff --git a/Lib/test/test_urllib2net.py b/Lib/test/test_urllib2net.py
--- a/Lib/test/test_urllib2net.py
+++ b/Lib/test/test_urllib2net.py
@@ -125,6 +125,8 @@
finally:
os.remove(TESTFN)
+ self.assertRaises(ValueError, urllib.request.urlopen,'./relative_path/to/file')
+
# XXX Following test depends on machine configurations that are internal
# to CNRI. Need to set up a public server with the right authentication
# configuration for test purposes.
diff --git a/Lib/urllib/request.py b/Lib/urllib/request.py
--- a/Lib/urllib/request.py
+++ b/Lib/urllib/request.py
@@ -1813,6 +1813,8 @@
urlfile = file
if file[:1] == '/':
urlfile = 'file://' + file
+ elif file[:2] == './':
+ raise ValueError("local file url may start with / or file:. Unknown url of type: %s" % url)
return addinfourl(open(localname, 'rb'), headers, urlfile)
raise URLError('local file error', 'not on local host')
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -453,8 +453,7 @@
Library
-------
-- Issue #2134: A new attribute that specifies the exact type of token.OP
- tokens has been added to tokenize.TokenInfo.
+- Issue #6631: Disallow relative file paths in urllib urlopen methods.
- Issue #13722: Avoid silencing ImportErrors when initializing the codecs
registry.
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list