From 5c6a90a8039921ad760e7735674ac754f8e03043 Mon Sep 17 00:00:00 2001 From: Dennis Ahrens <dennis.ahrens@hs-hannover.de> Date: Tue, 7 Nov 2017 17:25:09 +0100 Subject: [PATCH] Make parts of SSL_CONF preconfigured --- pikatasks/settings.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pikatasks/settings.py b/pikatasks/settings.py index d9b942c..15d997a 100644 --- a/pikatasks/settings.py +++ b/pikatasks/settings.py @@ -7,6 +7,7 @@ Change settings: pikatasks.settings.BROKER = "localhost" """ +import ssl from datetime import timedelta @@ -27,8 +28,10 @@ SSL_CONF = { # "keyfile": "/foo/client/key.pem", # "certfile": "/foo/client/cert.pem", # "ca_certs": "/foo/ca/cacert.pem", - # "ssl_version": ssl.PROTOCOL_TLSv1_2, - # "cert_reqs": ssl.CERT_NONE, + # NOTE: The following values are not meant to be changed through settings + # because this would be a mess in deployment! + "ssl_version": ssl.PROTOCOL_TLSv1_2, + "cert_reqs": ssl.CERT_NONE, } # stuff you might want to change sometimes: @@ -48,7 +51,11 @@ try: if k.isupper() and not k.startswith("_"): # looks like a setting try: new_value = getattr(django_settings, "PIKATASKS_" + k) - globals()[k] = new_value + if isinstance(globals()[k], dict): + assert isinstance(new_value, dict), "{} needs to be a dictionary".format(k) + globals()[k].update(new_value) + else: + globals()[k] = new_value except ImproperlyConfigured: pass # django is installed but not used except AttributeError: -- GitLab