diff options
author | Richard van der Hoff <richard@matrix.org> | 2016-05-25 15:16:14 +0100 |
---|---|---|
committer | Richard van der Hoff <richard@matrix.org> | 2016-05-25 17:42:32 +0100 |
commit | 708fddd747789a101123b09b67c064b119db8873 (patch) | |
tree | 1410d780a7dfa417478f27952da8ef0e9ceffa5c /tests/test_message.cpp | |
parent | ee8172d882e853e737ac7e8b00fb760f21e80bfe (diff) |
Remove session_id from group messages
Putting the session_id inside the packed message body makes it hard to extract
so that we can decide which session to use. We don't think there is any
advantage to having thes sesion_id protected by the HMACs, so we're going to
move it to the JSON framing.
Diffstat (limited to 'tests/test_message.cpp')
-rw-r--r-- | tests/test_message.cpp | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/tests/test_message.cpp b/tests/test_message.cpp index 30c10a0..06b36dc 100644 --- a/tests/test_message.cpp +++ b/tests/test_message.cpp @@ -67,12 +67,8 @@ assert_equals(message2, output, 35); TestCase test_case("Group message encode test"); - const uint8_t session_id[] = "sessionid"; - size_t session_id_len = 9; - - size_t length = _olm_encode_group_message_length( - session_id_len, 200, 10, 8); - size_t expected_length = 1 + (2+session_id_len) + (1+2) + (2+10) + 8; + size_t length = _olm_encode_group_message_length(200, 10, 8); + size_t expected_length = 1 + (1+2) + (2+10) + 8; assert_equals(expected_length, length); uint8_t output[50]; @@ -80,7 +76,6 @@ assert_equals(message2, output, 35); _olm_encode_group_message( 3, - session_id, session_id_len, 200, // counter 10, // ciphertext length output, @@ -89,9 +84,8 @@ assert_equals(message2, output, 35); uint8_t expected[] = "\x03" - "\x0A\x09sessionid" - "\x10\xC8\x01" - "\x1A\x0A"; + "\x08\xC8\x01" + "\x12\x0A"; assert_equals(expected, output, sizeof(expected)-1); assert_equals(output+sizeof(expected)-1, ciphertext_ptr); @@ -103,17 +97,12 @@ assert_equals(message2, output, 35); struct _OlmDecodeGroupMessageResults results; std::uint8_t message[] = "\x03" - "\x0A\x09sessionid" - "\x10\xC8\x01" - "\x1A\x0A" "ciphertext" + "\x08\xC8\x01" + "\x12\x0A" "ciphertext" "hmacsha2"; - const uint8_t expected_session_id[] = "sessionid"; - _olm_decode_group_message(message, sizeof(message)-1, 8, &results); assert_equals(std::uint8_t(3), results.version); - assert_equals(std::size_t(9), results.session_id_length); - assert_equals(expected_session_id, results.session_id, 9); assert_equals(1, results.has_message_index); assert_equals(std::uint32_t(200), results.message_index); assert_equals(std::size_t(10), results.ciphertext_length); |