|
@@ -8,6 +8,8 @@ import ssl
|
|
|
import urllib.request
|
|
|
import urllib.error
|
|
|
|
|
|
+import certifi
|
|
|
+
|
|
|
|
|
|
class SliceInfoJob(Job):
|
|
|
def __init__(self, url, data):
|
|
@@ -20,11 +22,14 @@ class SliceInfoJob(Job):
|
|
|
Logger.log("e", "URL or DATA for sending slice info was not set!")
|
|
|
return
|
|
|
|
|
|
- # Submit data
|
|
|
- kwoptions = {"data" : self._data, "timeout" : 5}
|
|
|
+ # CURA-6698 Create an SSL context and use certifi CA certificates for verification.
|
|
|
+ context = ssl.SSLContext(protocol = ssl.PROTOCOL_TLSv1_2)
|
|
|
+ context.load_verify_locations(cafile = certifi.where())
|
|
|
|
|
|
- if Platform.isOSX():
|
|
|
- kwoptions["context"] = ssl._create_unverified_context()
|
|
|
+ # Submit data
|
|
|
+ kwoptions = {"data": self._data,
|
|
|
+ "timeout": 5,
|
|
|
+ "context": context}
|
|
|
|
|
|
Logger.log("i", "Sending anonymous slice info to [%s]...", self._url)
|
|
|
|
|
@@ -35,4 +40,4 @@ class SliceInfoJob(Job):
|
|
|
except urllib.error.HTTPError:
|
|
|
Logger.logException("e", "An HTTP error occurred while trying to send slice information")
|
|
|
except Exception: # We don't want any exception to cause problems
|
|
|
- Logger.logException("e", "An exception occurred while trying to send slice information")
|
|
|
+ Logger.logException("e", "An exception occurred while trying to send slice information")
|