Vlad Dyshakov 4 weeks ago committed by GitHub
commit a387ad897f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -906,6 +906,10 @@ class TestYoutubeDL(unittest.TestCase):
ydl = YDL()
self.assertRaises(compat_urllib_error.URLError, ydl.urlopen, 'file:///etc/passwd')
def test_urlopen_yes_file_protocol(self):
ydl = YDL({'allow_file_scheme': True})
ydl.urlopen('file:///etc/passwd')
def test_do_not_override_ie_key_in_url_transparent(self):
ydl = YDL()

@ -240,6 +240,7 @@ class YoutubeDL(object):
default_search: Prepend this string if an input url is not valid.
'auto' for elaborate guessing
encoding: Use this encoding instead of the system-specified.
allow_file_scheme: Allow use of file:// scheme.
extract_flat: Do not resolve URLs, return the immediate result.
Pass in 'in_playlist' to only show this behavior for
playlist items.
@ -2593,7 +2594,8 @@ class YoutubeDL(object):
file_handler = compat_urllib_request.FileHandler()
def file_open(*args, **kwargs):
raise compat_urllib_error.URLError('file:// scheme is explicitly disabled in youtube-dl for security reasons')
if not self.params.get('allow_file_scheme', False):
raise compat_urllib_error.URLError('file:// scheme is explicitly disabled in youtube-dl for security reasons')
file_handler.file_open = file_open
opener = compat_urllib_request.build_opener(

Loading…
Cancel
Save