From 3148157ea4262082d957f45b36016c44f8e1415a Mon Sep 17 00:00:00 2001 From: Hubert Chathi Date: Tue, 2 Apr 2019 23:39:05 -0400 Subject: add support for an incorrect KDF that snuck into Riot 1.0 --- javascript/olm_sas.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'javascript') diff --git a/javascript/olm_sas.js b/javascript/olm_sas.js index d5044ce..a2f82ee 100644 --- a/javascript/olm_sas.js +++ b/javascript/olm_sas.js @@ -75,3 +75,19 @@ SAS.prototype['calculate_mac'] = restore_stack(function(input, info) { ); return Pointer_stringify(mac_buffer); }); + +SAS.prototype['calculate_mac_long_kdf'] = restore_stack(function(input, info) { + var input_array = array_from_string(input); + var input_buffer = stack(input_array); + var info_array = array_from_string(info); + var info_buffer = stack(info_array); + var mac_length = sas_method(Module['_olm_sas_mac_length'])(this.ptr); + var mac_buffer = stack(mac_length + NULL_BYTE_PADDING_LENGTH); + sas_method(Module['_olm_sas_calculate_mac_long_kdf'])( + this.ptr, + input_buffer, input_array.length, + info_buffer, info_array.length, + mac_buffer, mac_length + ); + return Pointer_stringify(mac_buffer); +}); -- cgit v1.2.3