From 3466a3c43e50cf6fc55636352b82eab3f407c7f3 Mon Sep 17 00:00:00 2001 From: jesopo Date: Fri, 4 Oct 2019 10:25:48 +0100 Subject: Allow utils.Setting_ parse functions to throw detailed errors --- modules/ircv3_sasl/__init__.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'modules/ircv3_sasl/__init__.py') diff --git a/modules/ircv3_sasl/__init__.py b/modules/ircv3_sasl/__init__.py index 5eb704f7..40f5afc0 100644 --- a/modules/ircv3_sasl/__init__.py +++ b/modules/ircv3_sasl/__init__.py @@ -12,10 +12,17 @@ USERPASS_MECHANISMS = [ "SCRAM-SHA-1", "PLAIN" ] +ALL_MECHANISMS = USERPASS_MECHANISMS+["EXTERNAL"] def _parse(value): mechanism, _, arguments = value.partition(" ") - return {"mechanism": mechanism.upper(), "args": arguments} + mechanism = mechanism.upper() + + if mechanism in ALL_MECHANISMS: + return {"mechanism": mechanism.upper(), "args": arguments} + else: + raise utils.SettingParseException("Unknown SASL mechanism '%s'" + % mechanism) HARDFAIL = utils.BoolSetting("sasl-hard-fail", "Set whether a SASL failure should cause a disconnect") -- cgit v1.3.1-10-gc9f91