Commit af216e36 authored by André Santos's avatar André Santos

Verify if certfile and keyfile are paths to actual files

This allow to try to not use ssl if the key file path or the certificate file are broken. The files might be missing because the user intentionally removed them but didn't  update the settings first. In that situation, this change won't make the app crash, the warning is logged and that way the user has the chance to update the settings.
parent 399dffba
...@@ -32,9 +32,14 @@ class server: ...@@ -32,9 +32,14 @@ class server:
def start_gevent(self): def start_gevent(self):
try: try:
ssl_args = dict() ssl_args = dict()
if web.ub.config.get_config_certfile() and web.ub.config.get_config_keyfile(): certfile_path = web.ub.config.get_config_certfile()
ssl_args = {"certfile": web.ub.config.get_config_certfile(), keyfile_path = web.ub.config.get_config_keyfile()
"keyfile": web.ub.config.get_config_keyfile()} if certfile_path and keyfile_path:
if os.path.isfile(certfile_path) and os.path.isfile(keyfile_path):
ssl_args = {"certfile": certfile_path,
"keyfile": keyfile_path}
else:
web.app.logger.info('The specified paths for the ssl certificate file and/or key file seem to be broken. Ignoring ssl. Cert path: %s | Key path: %s' % (certfile_path, keyfile_path))
if os.name == 'nt': if os.name == 'nt':
self.wsgiserver= WSGIServer(('0.0.0.0', web.ub.config.config_port), web.app, spawn=Pool(), **ssl_args) self.wsgiserver= WSGIServer(('0.0.0.0', web.ub.config.config_port), web.app, spawn=Pool(), **ssl_args)
else: else:
...@@ -61,9 +66,14 @@ class server: ...@@ -61,9 +66,14 @@ class server:
else: else:
try: try:
web.app.logger.info('Starting Tornado server') web.app.logger.info('Starting Tornado server')
if web.ub.config.get_config_certfile() and web.ub.config.get_config_keyfile(): certfile_path = web.ub.config.get_config_certfile()
ssl={"certfile": web.ub.config.get_config_certfile(), keyfile_path = web.ub.config.get_config_keyfile()
"keyfile": web.ub.config.get_config_keyfile()} if certfile_path and keyfile_path:
if os.path.isfile(certfile_path) and os.path.isfile(keyfile_path):
ssl_args = {"certfile": certfile_path,
"keyfile": keyfile_path}
else:
web.app.logger.info('The specified paths for the ssl certificate file and/or key file seem to be broken. Ignoring ssl. Cert path: %s | Key path: %s' % (certfile_path, keyfile_path))
else: else:
ssl=None ssl=None
# Max Buffersize set to 200MB # Max Buffersize set to 200MB
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment