diff options
Diffstat (limited to '')
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | src/cyrsasl_digest.erl | 6 |
2 files changed, 11 insertions, 0 deletions
@@ -1,3 +1,8 @@ +2005-08-11 Alexey Shchepin <alexey@sevcom.net> + + * src/cyrsasl_digest.erl: Fixed challenge/response parsing (thanks + to Martin Pokorny) + 2005-08-07 Alexey Shchepin <alexey@sevcom.net> * src/msgs/pl.msg: Updated (thanks to Andrew Smyk) diff --git a/src/cyrsasl_digest.erl b/src/cyrsasl_digest.erl index 7851dfabe..fbd543312 100644 --- a/src/cyrsasl_digest.erl +++ b/src/cyrsasl_digest.erl @@ -77,6 +77,10 @@ parse(S) -> parse1([$= | Cs], S, Ts) -> parse2(Cs, lists:reverse(S), "", Ts); +parse1([$, | Cs], [], Ts) -> + parse1(Cs, [], Ts); +parse1([$\s | Cs], [], Ts) -> + parse1(Cs, [], Ts); parse1([C | Cs], S, Ts) -> parse1(Cs, [C | S], Ts); parse1([], [], T) -> @@ -100,6 +104,8 @@ parse3([], _, _, _) -> parse4([$, | Cs], Key, Val, Ts) -> parse1(Cs, "", [{Key, lists:reverse(Val)} | Ts]); +parse4([$\s | Cs], Key, Val, Ts) -> + parse4(Cs, Key, Val, Ts); parse4([C | Cs], Key, Val, Ts) -> parse4(Cs, Key, [C | Val], Ts); parse4([], Key, Val, Ts) -> |