diff --git a/include/axolotl/message.hh b/include/axolotl/message.hh index 5bce277..4d7a1c7 100644 --- a/include/axolotl/message.hh +++ b/include/axolotl/message.hh @@ -79,9 +79,7 @@ struct PreKeyMessageWriter { struct PreKeyMessageReader { std::uint8_t version; - bool has_registration_id; bool has_one_time_key_id; - std::uint32_t registration_id; std::uint32_t one_time_key_id; std::uint8_t const * identity_key; std::size_t identity_key_length; std::uint8_t const * base_key; std::size_t base_key_length; @@ -93,7 +91,6 @@ struct PreKeyMessageReader { * The length of the buffer needed to hold a message. */ std::size_t encode_one_time_key_message_length( - std::uint32_t registration_id, std::uint32_t one_time_key_id, std::size_t identity_key_length, std::size_t base_key_length, @@ -108,7 +105,6 @@ std::size_t encode_one_time_key_message_length( void encode_one_time_key_message( PreKeyMessageWriter & writer, std::uint8_t version, - std::uint32_t registration_id, std::uint32_t one_time_key_id, std::size_t identity_key_length, std::size_t base_key_length, diff --git a/src/message.cpp b/src/message.cpp index d9978cb..6ce8ca6 100644 --- a/src/message.cpp +++ b/src/message.cpp @@ -231,7 +231,6 @@ void axolotl::decode_message( namespace { -static std::uint8_t const REGISTRATION_ID_TAG = 050; static std::uint8_t const ONE_TIME_KEY_ID_TAG = 010; static std::uint8_t const BASE_KEY_TAG = 022; static std::uint8_t const IDENTITY_KEY_TAG = 032; @@ -241,14 +240,12 @@ static std::uint8_t const MESSAGE_TAG = 042; std::size_t axolotl::encode_one_time_key_message_length( - std::uint32_t registration_id, std::uint32_t one_time_key_id, std::size_t identity_key_length, std::size_t base_key_length, std::size_t message_length ) { std::size_t length = VERSION_LENGTH; - length += 1 + varint_length(registration_id); length += 1 + varint_length(one_time_key_id); length += 1 + varstring_length(identity_key_length); length += 1 + varstring_length(base_key_length); @@ -260,7 +257,6 @@ std::size_t axolotl::encode_one_time_key_message_length( void axolotl::encode_one_time_key_message( axolotl::PreKeyMessageWriter & writer, std::uint8_t version, - std::uint32_t registration_id, std::uint32_t one_time_key_id, std::size_t identity_key_length, std::size_t base_key_length, @@ -269,7 +265,6 @@ void axolotl::encode_one_time_key_message( ) { std::uint8_t * pos = output; *(pos++) = version; - pos = encode(pos, REGISTRATION_ID_TAG, registration_id); pos = encode(pos, ONE_TIME_KEY_ID_TAG, one_time_key_id); pos = encode(pos, BASE_KEY_TAG, writer.base_key, base_key_length); pos = encode(pos, IDENTITY_KEY_TAG, writer.identity_key, identity_key_length); @@ -287,17 +282,12 @@ void axolotl::decode_one_time_key_message( if (pos == end) return; reader.version = *(pos++); - reader.has_registration_id = false; reader.has_one_time_key_id = false; reader.identity_key = nullptr; reader.base_key = nullptr; reader.message = nullptr; while (pos != end) { - pos = decode( - pos, end, REGISTRATION_ID_TAG, - reader.registration_id, reader.has_registration_id - ); pos = decode( pos, end, ONE_TIME_KEY_ID_TAG, reader.one_time_key_id, reader.has_one_time_key_id diff --git a/src/session.cpp b/src/session.cpp index 7fb07e2..9d0935b 100644 --- a/src/session.cpp +++ b/src/session.cpp @@ -112,7 +112,6 @@ bool check_message_fields( ok = ok && reader.base_key; ok = ok && reader.base_key_length == KEY_LENGTH; ok = ok && reader.has_one_time_key_id; - ok = ok && reader.has_registration_id; return ok; } @@ -143,7 +142,6 @@ std::size_t axolotl::Session::new_inbound_session( return std::size_t(-1); } - alice_identity_key.id = reader.registration_id; std::memcpy(alice_identity_key.key.public_key, reader.identity_key, 32); std::memcpy(alice_base_key.public_key, reader.base_key, 32); bob_one_time_key_id = reader.one_time_key_id; @@ -195,7 +193,6 @@ bool axolotl::Session::matches_inbound_session( reader.base_key, alice_base_key.public_key, KEY_LENGTH ); same = same && reader.one_time_key_id == bob_one_time_key_id; - same = same && reader.registration_id == alice_identity_key.id; return same; } @@ -221,7 +218,6 @@ std::size_t axolotl::Session::encrypt_message_length( } return encode_one_time_key_message_length( - alice_identity_key.id, bob_one_time_key_id, KEY_LENGTH, KEY_LENGTH, @@ -256,7 +252,6 @@ std::size_t axolotl::Session::encrypt( encode_one_time_key_message( writer, PROTOCOL_VERSION, - alice_identity_key.id, bob_one_time_key_id, KEY_LENGTH, KEY_LENGTH,