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):
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.
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')
Library
-------
+- Issue #6631: Disallow relative file paths in urllib urlopen methods.
+
- Issue #13722: Avoid silencing ImportErrors when initializing the codecs
registry.