diff options
Diffstat (limited to 'src/cyrsasl_scram.erl')
-rw-r--r-- | src/cyrsasl_scram.erl | 6 |
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), |