summaryrefslogtreecommitdiff
path: root/src/cyrsasl_digest.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/cyrsasl_digest.erl')
-rw-r--r--src/cyrsasl_digest.erl11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/cyrsasl_digest.erl b/src/cyrsasl_digest.erl
index 5d768b92..ae94c181 100644
--- a/src/cyrsasl_digest.erl
+++ b/src/cyrsasl_digest.erl
@@ -21,8 +21,13 @@
-record(state, {step, nonce, username, authzid}).
start(Opts) ->
- cyrsasl:register_mechanism("DIGEST-MD5", ?MODULE),
- ok.
+ case ejabberd_auth:plain_password_required() of
+ true ->
+ ok;
+ false ->
+ cyrsasl:register_mechanism("DIGEST-MD5", ?MODULE),
+ ok
+ end.
stop() ->
ok.
@@ -31,7 +36,7 @@ mech_new() ->
{ok, #state{step = 1,
nonce = randoms:get_string()}}.
-mech_step(#state{step = 1, nonce = Nonce} = State, "") ->
+mech_step(#state{step = 1, nonce = Nonce} = State, _) ->
{continue,
"nonce=\"" ++ Nonce ++
"\",qop=\"auth\",charset=utf-8,algorithm=md5-sess",