aboutsummaryrefslogtreecommitdiff
path: root/src/cyrsasl_scram.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/cyrsasl_scram.erl')
-rw-r--r--src/cyrsasl_scram.erl6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/cyrsasl_scram.erl b/src/cyrsasl_scram.erl
index 8cbc821c7..b496be0a4 100644
--- a/src/cyrsasl_scram.erl
+++ b/src/cyrsasl_scram.erl
@@ -111,7 +111,11 @@ mech_step(#state{step = 2} = State, ClientIn) ->
{error, saslprep_failed, UserName};
true ->
{StoredKey, ServerKey, Salt, IterationCount} =
- if is_tuple(Pass) -> Pass;
+ if is_record(Pass, scram) ->
+ {misc:decode_base64(Pass#scram.storedkey),
+ misc:decode_base64(Pass#scram.serverkey),
+ misc:decode_base64(Pass#scram.salt),
+ Pass#scram.iterationcount};
true ->
TempSalt =
randoms:bytes(?SALT_LENGTH),