diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | src/cyrsasl_digest.erl | 6 |
2 files changed, 7 insertions, 2 deletions
@@ -1,5 +1,8 @@ 2008-02-14 Alexey Shchepin <alexey@process-one.net> + * src/cyrsasl_digest.erl: Unquote backslash in DIGEST-MD5 quoted + strings (EJAB-304) + * src/mod_roster.erl: Removed the ancient Psi roster workaround * src/mod_roster_odbc.erl: Likewise diff --git a/src/cyrsasl_digest.erl b/src/cyrsasl_digest.erl index 1dfd5493..19069517 100644 --- a/src/cyrsasl_digest.erl +++ b/src/cyrsasl_digest.erl @@ -87,15 +87,17 @@ parse1([], [], T) -> parse1([], _S, _T) -> bad. -parse2([$" | Cs], Key, Val, Ts) -> +parse2([$\" | Cs], Key, Val, Ts) -> parse3(Cs, Key, Val, Ts); parse2([C | Cs], Key, Val, Ts) -> parse4(Cs, Key, [C | Val], Ts); parse2([], _, _, _) -> bad. -parse3([$" | Cs], Key, Val, Ts) -> +parse3([$\" | Cs], Key, Val, Ts) -> parse4(Cs, Key, Val, Ts); +parse3([$\\, C | Cs], Key, Val, Ts) -> + parse3(Cs, Key, [C | Val], Ts); parse3([C | Cs], Key, Val, Ts) -> parse3(Cs, Key, [C | Val], Ts); parse3([], _, _, _) -> |