2018-05-16 21:19:49 +00:00
|
|
|
#!/usr/bin/env python
|
|
|
|
|
2019-06-15 17:26:09 +00:00
|
|
|
from __future__ import print_function
|
2018-05-16 21:19:49 +00:00
|
|
|
import json
|
2018-06-20 07:05:43 +00:00
|
|
|
import os
|
|
|
|
import ssl
|
|
|
|
import subprocess
|
2018-05-16 21:19:49 +00:00
|
|
|
import sys
|
2018-06-20 07:05:43 +00:00
|
|
|
import urllib2
|
|
|
|
|
|
|
|
ctx = ssl.create_default_context()
|
|
|
|
ctx.check_hostname = False
|
|
|
|
ctx.verify_mode = ssl.CERT_NONE
|
2018-05-16 21:19:49 +00:00
|
|
|
|
|
|
|
def check_tls(verbose):
|
2018-06-20 07:05:43 +00:00
|
|
|
process = subprocess.Popen(
|
2018-09-13 16:57:39 +00:00
|
|
|
'node lib/tls',
|
2018-06-20 07:05:43 +00:00
|
|
|
cwd=os.path.dirname(os.path.realpath(__file__)),
|
|
|
|
shell=True,
|
|
|
|
stdout=subprocess.PIPE,
|
|
|
|
stderr=subprocess.STDOUT
|
|
|
|
)
|
|
|
|
|
|
|
|
port = process.stdout.readline()
|
2018-06-20 07:12:09 +00:00
|
|
|
localhost_url = 'https://localhost:' + port
|
2018-06-20 07:05:43 +00:00
|
|
|
|
2018-06-20 07:12:09 +00:00
|
|
|
response = json.load(urllib2.urlopen(localhost_url, context=ctx))
|
2018-06-20 07:05:43 +00:00
|
|
|
tls = response['protocol']
|
|
|
|
process.wait()
|
2018-05-16 21:19:49 +00:00
|
|
|
|
|
|
|
if sys.platform == "linux" or sys.platform == "linux2":
|
|
|
|
tutorial = "./docs/development/build-instructions-linux.md"
|
|
|
|
elif sys.platform == "darwin":
|
2018-09-28 03:16:38 +00:00
|
|
|
tutorial = "./docs/development/build-instructions-macos.md"
|
2018-05-16 21:19:49 +00:00
|
|
|
elif sys.platform == "win32":
|
|
|
|
tutorial = "./docs/development/build-instructions-windows.md"
|
|
|
|
else:
|
|
|
|
tutorial = "build instructions for your operating system" \
|
|
|
|
+ "in ./docs/development/"
|
|
|
|
|
2018-06-20 07:05:43 +00:00
|
|
|
if tls == "TLSv1" or tls == "TLSv1.1":
|
2019-06-15 17:26:09 +00:00
|
|
|
print("Your system/python combination is using an outdated security" \
|
2018-05-16 21:19:49 +00:00
|
|
|
+ "protocol and will not be able to compile Electron. Please see " \
|
|
|
|
+ tutorial + "." \
|
2019-06-15 17:26:09 +00:00
|
|
|
+ "for instructions on how to update Python.")
|
2018-05-16 21:19:49 +00:00
|
|
|
sys.exit(1)
|
|
|
|
else:
|
|
|
|
if verbose:
|
2019-06-15 17:26:09 +00:00
|
|
|
print("Your Python is using " + tls + ", which is sufficient for " \
|
|
|
|
+ "building Electron.")
|
2018-05-16 21:19:49 +00:00
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
check_tls(True)
|
|
|
|
sys.exit(0)
|