Compare commits

...

4 Commits

Author SHA1 Message Date
6f18cc9abc release 2014.12.13.1 2014-12-13 23:51:57 +01:00
4d144be8b0 [bandcamp:album] Do not match plain Bandcamp URLs (#4461)
The _VALID_URL 1fa174692a is to broad, since it matches everything beginning with bandcamp.com.
2014-12-13 23:50:06 +01:00
2128b696b8 [utils] Do not make an exception for SSLv3
SSLv3 is terminally vulnerable to POODLE; web browsers are currently deprecating/removing it.
Closes #4459, fixes #4294
2014-12-13 23:45:34 +01:00
a23669220a [utils] Make ssl work on Python 2.7.8 2014-12-13 23:27:21 +01:00
3 changed files with 10 additions and 5 deletions

View File

@ -106,7 +106,7 @@ class BandcampIE(InfoExtractor):
class BandcampAlbumIE(InfoExtractor): class BandcampAlbumIE(InfoExtractor):
IE_NAME = 'Bandcamp:album' IE_NAME = 'Bandcamp:album'
_VALID_URL = r'https?://(?:(?P<subdomain>[^.]+)\.)?bandcamp\.com(?:/album/(?P<title>[^?#]+))?' _VALID_URL = r'https?://(?:(?P<subdomain>[^.]+)\.)?bandcamp\.com(?:/album/(?P<title>[^?#]+)|/?(?:$|[?#]))'
_TESTS = [{ _TESTS = [{
'url': 'http://blazo.bandcamp.com/album/jazz-format-mixtape-vol-1', 'url': 'http://blazo.bandcamp.com/album/jazz-format-mixtape-vol-1',

View File

@ -390,11 +390,16 @@ def formatSeconds(secs):
def make_HTTPS_handler(opts_no_check_certificate, **kwargs): def make_HTTPS_handler(opts_no_check_certificate, **kwargs):
if hasattr(ssl, 'create_default_context'): # Python >= 3.4 or 2.7.9 if hasattr(ssl, 'create_default_context'): # Python >= 3.4 or 2.7.9
context = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH) context = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)
context.options &= ~ssl.OP_NO_SSLv3 # Allow older, not-as-secure SSLv3
if opts_no_check_certificate: if opts_no_check_certificate:
context.verify_mode = ssl.CERT_NONE context.verify_mode = ssl.CERT_NONE
try:
return compat_urllib_request.HTTPSHandler(context=context, **kwargs) return compat_urllib_request.HTTPSHandler(context=context, **kwargs)
elif sys.version_info < (3, 2): except TypeError:
# Python 2.7.8
# (create_default_context present but HTTPSHandler has no context=)
pass
if sys.version_info < (3, 2):
import httplib import httplib
class HTTPSConnectionV3(httplib.HTTPSConnection): class HTTPSConnectionV3(httplib.HTTPSConnection):

View File

@ -1,3 +1,3 @@
from __future__ import unicode_literals from __future__ import unicode_literals
__version__ = '2014.12.13' __version__ = '2014.12.13.1'