When downloading recipes/get books plugins use HTTPS

This commit is contained in:
Kovid Goyal 2014-02-23 13:25:22 +05:30
parent f969151e9f
commit 4e1cd543f5
2 changed files with 7 additions and 7 deletions

View File

@ -13,7 +13,7 @@ from collections import OrderedDict
from threading import Thread from threading import Thread
from urllib import urlencode from urllib import urlencode
from calibre import prints, browser from calibre import prints
from calibre.constants import numeric_version, DEBUG from calibre.constants import numeric_version, DEBUG
from calibre.gui2.store import StorePlugin from calibre.gui2.store import StorePlugin
from calibre.utils.config import JSONConfig from calibre.utils.config import JSONConfig
@ -23,14 +23,14 @@ class VersionMismatch(ValueError):
ValueError.__init__(self, 'calibre too old') ValueError.__init__(self, 'calibre too old')
self.ver = ver self.ver = ver
def download_updates(ver_map={}, server='http://status.calibre-ebook.com'): def download_updates(ver_map={}, server='https://status.calibre-ebook.com'):
from calibre.utils.https import get_https_resource_securely
data = {k:type(u'')(v) for k, v in ver_map.iteritems()} data = {k:type(u'')(v) for k, v in ver_map.iteritems()}
data['ver'] = '1' data['ver'] = '1'
url = '%s/stores?%s'%(server, urlencode(data)) url = '%s/stores?%s'%(server, urlencode(data))
br = browser()
# We use a timeout here to ensure the non-daemonic update thread does not # We use a timeout here to ensure the non-daemonic update thread does not
# cause calibre to hang indefinitely during shutdown # cause calibre to hang indefinitely during shutdown
raw = br.open(url, timeout=4.0).read() raw = get_https_resource_securely(url, timeout=90.0)
while raw: while raw:
name, raw = raw.partition(b'\0')[0::2] name, raw = raw.partition(b'\0')[0::2]

View File

@ -13,7 +13,7 @@ from datetime import timedelta
from lxml import etree from lxml import etree
from lxml.builder import ElementMaker from lxml.builder import ElementMaker
from calibre import browser, force_unicode from calibre import force_unicode
from calibre.utils.date import parse_date, now as nowf, utcnow, tzlocal, \ from calibre.utils.date import parse_date, now as nowf, utcnow, tzlocal, \
isoformat, fromordinal isoformat, fromordinal
from calibre.utils.recycle_bin import delete_file from calibre.utils.recycle_bin import delete_file
@ -186,8 +186,8 @@ def get_builtin_recipe_titles():
return [r.get('title') for r in get_builtin_recipe_collection()] return [r.get('title') for r in get_builtin_recipe_collection()]
def download_builtin_recipe(urn): def download_builtin_recipe(urn):
br = browser() from calibre.utils.https import get_https_resource_securely
return br.open_novisit('http://status.calibre-ebook.com/recipe/'+urn).read() return get_https_resource_securely('https://status.calibre-ebook.com/recipe/'+urn)
def get_builtin_recipe(urn): def get_builtin_recipe(urn):
with zipfile.ZipFile(P('builtin_recipes.zip', allow_user_override=False), 'r') as zf: with zipfile.ZipFile(P('builtin_recipes.zip', allow_user_override=False), 'r') as zf: