Software /
code /
prosody
Comparison
plugins/mod_auth_internal_plain.lua @ 12950:2cb5994e3f94
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.
author | Vitaly Orekhov <vkvo2000@vivaldi.net> |
---|---|
date | Tue, 21 Mar 2023 01:46:47 +0300 |
parent | 12646:3f38f4735c7a |
child | 12977:74b9e05af71e |
comparison
equal
deleted
inserted
replaced
12949:2f61ebcf37c0 | 12950:2cb5994e3f94 |
---|---|
75 function provider.users() | 75 function provider.users() |
76 return accounts:users(); | 76 return accounts:users(); |
77 end | 77 end |
78 | 78 |
79 function provider.create_user(username, password) | 79 function provider.create_user(username, password) |
80 local now = os.time(); | |
81 if password == nil then | |
82 return accounts:set(username, { created = now, updated = now, disabled = true }); | |
83 end | |
80 password = saslprep(password); | 84 password = saslprep(password); |
81 if not password then | 85 if not password then |
82 return nil, "Password fails SASLprep."; | 86 return nil, "Password fails SASLprep."; |
83 end | 87 end |
84 local now = os.time(); | |
85 return accounts:set(username, { | 88 return accounts:set(username, { |
86 password = password; | 89 password = password; |
87 created = now, updated = now; | 90 created = now, updated = now; |
88 }); | 91 }); |
89 end | 92 end |