From f4c6919800e8bcb0ff36df2589220473ba9dee25 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Tue, 5 Sep 2017 14:23:49 +0300 Subject: [PATCH] Don't verify SSL certificates for Python < 2.7.9 --- platformio/downloader.py | 7 ++++++- platformio/util.py | 6 +++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/platformio/downloader.py b/platformio/downloader.py index 986d3283..9a3b85d9 100644 --- a/platformio/downloader.py +++ b/platformio/downloader.py @@ -15,6 +15,7 @@ from email.utils import parsedate_tz from math import ceil from os.path import getsize, join +from sys import version_info from time import mktime import click @@ -30,9 +31,13 @@ class FileDownloader(object): CHUNK_SIZE = 1024 def __init__(self, url, dest_dir=None): + self._request = None # make connection self._request = requests.get( - url, stream=True, headers=util.get_request_defheaders()) + url, + stream=True, + headers=util.get_request_defheaders(), + verify=version_info >= (2, 7, 9)) if self._request.status_code != 200: raise FDUnrecognizedStatusCode(self._request.status_code, url) diff --git a/platformio/util.py b/platformio/util.py index 969a3a7c..0a056462 100644 --- a/platformio/util.py +++ b/platformio/util.py @@ -504,7 +504,7 @@ def _get_api_result( result = None r = None - disable_ssl_check = sys.version_info < (2, 7, 9) + verify_ssl = sys.version_info >= (2, 7, 9) headers = get_request_defheaders() if not url.startswith("http"): @@ -520,14 +520,14 @@ def _get_api_result( data=data, headers=headers, auth=auth, - verify=not disable_ssl_check) + verify=verify_ssl) else: r = _api_request_session().get( url, params=params, headers=headers, auth=auth, - verify=not disable_ssl_check) + verify=verify_ssl) result = r.json() r.raise_for_status() except requests.exceptions.HTTPError as e: