diff options
author | Micael Karlberg <[email protected]> | 2010-05-06 14:22:23 +0000 |
---|---|---|
committer | Erlang/OTP <[email protected]> | 2010-05-06 14:22:23 +0000 |
commit | 76a5a13c7a2cbbb6a204e99ab0a6f30528c190da (patch) | |
tree | 19662de11f02e5bbc700ef348c3f2677d8f9e8dd /lib/snmp/src/misc/snmp_usm.erl | |
parent | 56bb6dd185486f993c944ca0aa08cba571f36522 (diff) | |
download | otp-76a5a13c7a2cbbb6a204e99ab0a6f30528c190da.tar.gz otp-76a5a13c7a2cbbb6a204e99ab0a6f30528c190da.tar.bz2 otp-76a5a13c7a2cbbb6a204e99ab0a6f30528c190da.zip |
OTP-8563: Decode/Encode of Counter64 error
OTP-8574: Option to allow invalid row OIDs
OTP-8594: Make snmp forward compatible with new crypto
OTP-8595: snmpc fails to compile BITS with "holes"
Diffstat (limited to 'lib/snmp/src/misc/snmp_usm.erl')
-rw-r--r-- | lib/snmp/src/misc/snmp_usm.erl | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/snmp/src/misc/snmp_usm.erl b/lib/snmp/src/misc/snmp_usm.erl index 19be564a8e..3508f9e1c2 100644 --- a/lib/snmp/src/misc/snmp_usm.erl +++ b/lib/snmp/src/misc/snmp_usm.erl @@ -198,7 +198,7 @@ des_encrypt(PrivKey, Data, SaltFun) -> [A,B,C,D,E,F,G,H | PreIV] = PrivKey, DesKey = [A,B,C,D,E,F,G,H], Salt = SaltFun(), - IV = snmp_misc:str_xor(PreIV, Salt), + IV = list_to_binary(snmp_misc:str_xor(PreIV, Salt)), TailLen = (8 - (length(Data) rem 8)) rem 8, Tail = mk_tail(TailLen), EncData = crypto:des_cbc_encrypt(DesKey, IV, [Data,Tail]), @@ -213,13 +213,13 @@ des_decrypt(PrivKey, MsgPrivParams, EncData) [A,B,C,D,E,F,G,H | PreIV] = PrivKey, DesKey = [A,B,C,D,E,F,G,H], Salt = MsgPrivParams, - IV = snmp_misc:str_xor(PreIV, Salt), + IV = list_to_binary(snmp_misc:str_xor(PreIV, Salt)), %% Whatabout errors here??? E.g. not a mulitple of 8! Data = binary_to_list(crypto:des_cbc_decrypt(DesKey, IV, EncData)), Data2 = snmp_pdus:strip_encrypted_scoped_pdu_data(Data), {ok, Data2}; des_decrypt(PrivKey, BadMsgPrivParams, EncData) -> - ?vtrace("des_decrypt -> entry with when bad MsgPrivParams" + ?vtrace("des_decrypt -> entry when bad MsgPrivParams" "~n PrivKey: ~p" "~n BadMsgPrivParams: ~p" "~n EncData: ~p", @@ -232,7 +232,7 @@ aes_encrypt(PrivKey, Data, SaltFun) -> Salt = SaltFun(), EngineBoots = snmp_framework_mib:get_engine_boots(), EngineTime = snmp_framework_mib:get_engine_time(), - IV = [?i32(EngineBoots), ?i32(EngineTime) | Salt], + IV = list_to_binary([?i32(EngineBoots), ?i32(EngineTime) | Salt]), EncData = crypto:aes_cfb_128_encrypt(AesKey, IV, Data), {ok, binary_to_list(EncData), Salt}. @@ -240,7 +240,7 @@ aes_decrypt(PrivKey, MsgPrivParams, EncData, EngineBoots, EngineTime) when length(MsgPrivParams) =:= 8 -> AesKey = PrivKey, Salt = MsgPrivParams, - IV = [?i32(EngineBoots), ?i32(EngineTime) | Salt], + IV = list_to_binary([?i32(EngineBoots), ?i32(EngineTime) | Salt]), %% Whatabout errors here??? E.g. not a mulitple of 8! Data = binary_to_list(crypto:aes_cfb_128_decrypt(AesKey, IV, EncData)), Data2 = snmp_pdus:strip_encrypted_scoped_pdu_data(Data), |