diff options
Diffstat (limited to 'src/ejabberd_auth_sql.erl')
| -rw-r--r-- | src/ejabberd_auth_sql.erl | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/ejabberd_auth_sql.erl b/src/ejabberd_auth_sql.erl index 4228b3345..d8fc61703 100644 --- a/src/ejabberd_auth_sql.erl +++ b/src/ejabberd_auth_sql.erl @@ -201,12 +201,15 @@ try_register(User, Server, Password) -> {error, invalid_jid}; (LUser == <<>>) or (LServer == <<>>) -> {error, invalid_jid}; - LPassword == error -> + LPassword == error and not is_record(Password, scram) -> {error, invalid_password}; true -> case is_scrammed() of true -> - Scram = password_to_scram(Password), + Scram = case is_record(Password, scram) of + true -> Password; + false -> password_to_scram(Password) + end, case catch sql_queries:add_user_scram( LServer, LUser, |
