From 6d526798bfee449be69879b881268245327dde70 Mon Sep 17 00:00:00 2001 From: Vitaly Orekhov Date: Tue, 21 Mar 2023 01:46:47 +0300 Subject: mod_auth_internal_plain: Fix user creation done via mod_admin_shell Following the new behavior in auth_internal_hashed (c8f59ce7d3cf), the account will be created and disabled, instead of returning an error telling password being nil when calling saslprep(). Note that mod_auth_internal_plain does not have full support for enabled/disabled accounts, but that may be fixed in subsequent commits. --- plugins/mod_auth_internal_plain.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'plugins/mod_auth_internal_plain.lua') diff --git a/plugins/mod_auth_internal_plain.lua b/plugins/mod_auth_internal_plain.lua index 0f65323c..bb3bf7c1 100644 --- a/plugins/mod_auth_internal_plain.lua +++ b/plugins/mod_auth_internal_plain.lua @@ -77,11 +77,14 @@ function provider.users() end function provider.create_user(username, password) + local now = os.time(); + if password == nil then + return accounts:set(username, { created = now, updated = now, disabled = true }); + end password = saslprep(password); if not password then return nil, "Password fails SASLprep."; end - local now = os.time(); return accounts:set(username, { password = password; created = now, updated = now; -- cgit v1.2.3