def auth(f):
@wraps(f)
def decorated(*args, **kwargs):
+ if not context.instance.enable_auth:
+ return f(*args, **kwargs)
+
if not request.authorization:
response.status = 401
response.headers['WWW-Authenticate'] = 'Basic realm="Login Required"'
{'name': 'server_addr'},
{'name': 'server_port'},
{'name': 'key_file'},
+ {'name': 'enable_auth', 'type': 'bool', 'default': True},
]
COMMANDS = [
self.requests_lock = threading.RLock()
self.keys = {}
- self.disable_auth = False
+ self.enable_auth = True
self.server = None
else:
pkey_fname = self.get_localized_module_option('key_file')
+ self.enable_auth = self.get_localized_module_option('enable_auth', True)
+
if not cert_fname or not pkey_fname:
raise CannotServe('no certificate configured')
if not os.path.isfile(cert_fname):
# the command was not issued by me
pass
+ def config_notify(self):
+ self.enable_auth = self.get_localized_module_option('enable_auth', True)
+
def create_self_signed_cert(self):
# create a key pair