25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-11-30 16:36:29 +01:00

Replace calls of OTP's Binary, since they would require R14

This commit is contained in:
Badlop 2011-09-04 14:56:56 +02:00
parent 41d028d101
commit d6fcee4faa

View File

@ -53,29 +53,29 @@ client_signature(StoredKey, AuthMessage) ->
crypto:sha_mac(StoredKey, AuthMessage). crypto:sha_mac(StoredKey, AuthMessage).
client_key(ClientProof, ClientSignature) -> client_key(ClientProof, ClientSignature) ->
binary:list_to_bin(lists:zipwith(fun(X, Y) -> list_to_binary(lists:zipwith(fun(X, Y) ->
X bxor Y X bxor Y
end, end,
binary:bin_to_list(ClientProof), binary_to_list(ClientProof),
binary:bin_to_list(ClientSignature))). binary_to_list(ClientSignature))).
server_signature(ServerKey, AuthMessage) -> server_signature(ServerKey, AuthMessage) ->
crypto:sha_mac(ServerKey, AuthMessage). crypto:sha_mac(ServerKey, AuthMessage).
hi(Password, Salt, IterationCount) -> hi(Password, Salt, IterationCount) ->
U1 = crypto:sha_mac(Password, string:concat(binary:bin_to_list(Salt), [0,0,0,1])), U1 = crypto:sha_mac(Password, string:concat(binary_to_list(Salt), [0,0,0,1])),
binary:list_to_bin(lists:zipwith(fun(X, Y) -> list_to_binary(lists:zipwith(fun(X, Y) ->
X bxor Y X bxor Y
end, end,
binary:bin_to_list(U1), binary_to_list(U1),
binary:bin_to_list(hi_round(Password, U1, IterationCount-1)))). binary_to_list(hi_round(Password, U1, IterationCount-1)))).
hi_round(Password, UPrev, 1) -> hi_round(Password, UPrev, 1) ->
crypto:sha_mac(Password, UPrev); crypto:sha_mac(Password, UPrev);
hi_round(Password, UPrev, IterationCount) -> hi_round(Password, UPrev, IterationCount) ->
U = crypto:sha_mac(Password, UPrev), U = crypto:sha_mac(Password, UPrev),
binary:list_to_bin(lists:zipwith(fun(X, Y) -> list_to_binary(lists:zipwith(fun(X, Y) ->
X bxor Y X bxor Y
end, end,
binary:bin_to_list(U), binary_to_list(U),
binary:bin_to_list(hi_round(Password, U, IterationCount-1)))). binary_to_list(hi_round(Password, U, IterationCount-1)))).