Browse Source

Merge pull request #480 from misnyo/master

[fix] #471 #463 fix old openssl(<1.0.2) requests verify error
Adam Tauber 9 years ago
parent
commit
01f3e41fec
2 changed files with 9 additions and 1 deletions
  1. 8 0
      searx/__init__.py
  2. 1 1
      versions.cfg

+ 8 - 0
searx/__init__.py

@@ -15,9 +15,11 @@ along with searx. If not, see < http://www.gnu.org/licenses/ >.
 (C) 2013- by Adam Tauber, <asciimoo@gmail.com>
 '''
 
+import certifi
 import logging
 from os import environ
 from os.path import realpath, dirname, join, abspath
+from ssl import OPENSSL_VERSION_INFO, OPENSSL_VERSION
 try:
     from yaml import load
 except:
@@ -47,4 +49,10 @@ else:
 
 logger = logging.getLogger('searx')
 
+# Workaround for openssl versions <1.0.2
+# https://github.com/certifi/python-certifi/issues/26
+if OPENSSL_VERSION_INFO[0:3] < (1, 0, 2):
+    environ['REQUESTS_CA_BUNDLE'] = certifi.old_where()
+    logger.warning('You are using an old openssl version({0}), please upgrade above 1.0.2!'.format(OPENSSL_VERSION))
+
 logger.info('Initialisation done')

+ 1 - 1
versions.cfg

@@ -35,7 +35,7 @@ pyopenssl = 0.15.1
 ndg-httpsclient = 0.4.0
 pyasn1 = 0.1.8
 pyasn1-modules = 0.0.6
-certifi = 2015.04.28
+certifi = 2015.11.20.1
 
 cffi = 1.1.2
 cryptography = 0.9.1