This field isn't being used anywhere so don't bother including it in the messages
This commit is contained in:
parent
3f475ab2f8
commit
39a0873309
3 changed files with 0 additions and 19 deletions
|
@ -79,9 +79,7 @@ struct PreKeyMessageWriter {
|
||||||
|
|
||||||
struct PreKeyMessageReader {
|
struct PreKeyMessageReader {
|
||||||
std::uint8_t version;
|
std::uint8_t version;
|
||||||
bool has_registration_id;
|
|
||||||
bool has_one_time_key_id;
|
bool has_one_time_key_id;
|
||||||
std::uint32_t registration_id;
|
|
||||||
std::uint32_t one_time_key_id;
|
std::uint32_t one_time_key_id;
|
||||||
std::uint8_t const * identity_key; std::size_t identity_key_length;
|
std::uint8_t const * identity_key; std::size_t identity_key_length;
|
||||||
std::uint8_t const * base_key; std::size_t base_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.
|
* The length of the buffer needed to hold a message.
|
||||||
*/
|
*/
|
||||||
std::size_t encode_one_time_key_message_length(
|
std::size_t encode_one_time_key_message_length(
|
||||||
std::uint32_t registration_id,
|
|
||||||
std::uint32_t one_time_key_id,
|
std::uint32_t one_time_key_id,
|
||||||
std::size_t identity_key_length,
|
std::size_t identity_key_length,
|
||||||
std::size_t base_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(
|
void encode_one_time_key_message(
|
||||||
PreKeyMessageWriter & writer,
|
PreKeyMessageWriter & writer,
|
||||||
std::uint8_t version,
|
std::uint8_t version,
|
||||||
std::uint32_t registration_id,
|
|
||||||
std::uint32_t one_time_key_id,
|
std::uint32_t one_time_key_id,
|
||||||
std::size_t identity_key_length,
|
std::size_t identity_key_length,
|
||||||
std::size_t base_key_length,
|
std::size_t base_key_length,
|
||||||
|
|
|
@ -231,7 +231,6 @@ void axolotl::decode_message(
|
||||||
|
|
||||||
namespace {
|
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 ONE_TIME_KEY_ID_TAG = 010;
|
||||||
static std::uint8_t const BASE_KEY_TAG = 022;
|
static std::uint8_t const BASE_KEY_TAG = 022;
|
||||||
static std::uint8_t const IDENTITY_KEY_TAG = 032;
|
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::size_t axolotl::encode_one_time_key_message_length(
|
||||||
std::uint32_t registration_id,
|
|
||||||
std::uint32_t one_time_key_id,
|
std::uint32_t one_time_key_id,
|
||||||
std::size_t identity_key_length,
|
std::size_t identity_key_length,
|
||||||
std::size_t base_key_length,
|
std::size_t base_key_length,
|
||||||
std::size_t message_length
|
std::size_t message_length
|
||||||
) {
|
) {
|
||||||
std::size_t length = VERSION_LENGTH;
|
std::size_t length = VERSION_LENGTH;
|
||||||
length += 1 + varint_length(registration_id);
|
|
||||||
length += 1 + varint_length(one_time_key_id);
|
length += 1 + varint_length(one_time_key_id);
|
||||||
length += 1 + varstring_length(identity_key_length);
|
length += 1 + varstring_length(identity_key_length);
|
||||||
length += 1 + varstring_length(base_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(
|
void axolotl::encode_one_time_key_message(
|
||||||
axolotl::PreKeyMessageWriter & writer,
|
axolotl::PreKeyMessageWriter & writer,
|
||||||
std::uint8_t version,
|
std::uint8_t version,
|
||||||
std::uint32_t registration_id,
|
|
||||||
std::uint32_t one_time_key_id,
|
std::uint32_t one_time_key_id,
|
||||||
std::size_t identity_key_length,
|
std::size_t identity_key_length,
|
||||||
std::size_t base_key_length,
|
std::size_t base_key_length,
|
||||||
|
@ -269,7 +265,6 @@ void axolotl::encode_one_time_key_message(
|
||||||
) {
|
) {
|
||||||
std::uint8_t * pos = output;
|
std::uint8_t * pos = output;
|
||||||
*(pos++) = version;
|
*(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, ONE_TIME_KEY_ID_TAG, one_time_key_id);
|
||||||
pos = encode(pos, BASE_KEY_TAG, writer.base_key, base_key_length);
|
pos = encode(pos, BASE_KEY_TAG, writer.base_key, base_key_length);
|
||||||
pos = encode(pos, IDENTITY_KEY_TAG, writer.identity_key, identity_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;
|
if (pos == end) return;
|
||||||
reader.version = *(pos++);
|
reader.version = *(pos++);
|
||||||
reader.has_registration_id = false;
|
|
||||||
reader.has_one_time_key_id = false;
|
reader.has_one_time_key_id = false;
|
||||||
reader.identity_key = nullptr;
|
reader.identity_key = nullptr;
|
||||||
reader.base_key = nullptr;
|
reader.base_key = nullptr;
|
||||||
reader.message = nullptr;
|
reader.message = nullptr;
|
||||||
|
|
||||||
while (pos != end) {
|
while (pos != end) {
|
||||||
pos = decode(
|
|
||||||
pos, end, REGISTRATION_ID_TAG,
|
|
||||||
reader.registration_id, reader.has_registration_id
|
|
||||||
);
|
|
||||||
pos = decode(
|
pos = decode(
|
||||||
pos, end, ONE_TIME_KEY_ID_TAG,
|
pos, end, ONE_TIME_KEY_ID_TAG,
|
||||||
reader.one_time_key_id, reader.has_one_time_key_id
|
reader.one_time_key_id, reader.has_one_time_key_id
|
||||||
|
|
|
@ -112,7 +112,6 @@ bool check_message_fields(
|
||||||
ok = ok && reader.base_key;
|
ok = ok && reader.base_key;
|
||||||
ok = ok && reader.base_key_length == KEY_LENGTH;
|
ok = ok && reader.base_key_length == KEY_LENGTH;
|
||||||
ok = ok && reader.has_one_time_key_id;
|
ok = ok && reader.has_one_time_key_id;
|
||||||
ok = ok && reader.has_registration_id;
|
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -143,7 +142,6 @@ std::size_t axolotl::Session::new_inbound_session(
|
||||||
return std::size_t(-1);
|
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_identity_key.key.public_key, reader.identity_key, 32);
|
||||||
std::memcpy(alice_base_key.public_key, reader.base_key, 32);
|
std::memcpy(alice_base_key.public_key, reader.base_key, 32);
|
||||||
bob_one_time_key_id = reader.one_time_key_id;
|
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
|
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.one_time_key_id == bob_one_time_key_id;
|
||||||
same = same && reader.registration_id == alice_identity_key.id;
|
|
||||||
return same;
|
return same;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -221,7 +218,6 @@ std::size_t axolotl::Session::encrypt_message_length(
|
||||||
}
|
}
|
||||||
|
|
||||||
return encode_one_time_key_message_length(
|
return encode_one_time_key_message_length(
|
||||||
alice_identity_key.id,
|
|
||||||
bob_one_time_key_id,
|
bob_one_time_key_id,
|
||||||
KEY_LENGTH,
|
KEY_LENGTH,
|
||||||
KEY_LENGTH,
|
KEY_LENGTH,
|
||||||
|
@ -256,7 +252,6 @@ std::size_t axolotl::Session::encrypt(
|
||||||
encode_one_time_key_message(
|
encode_one_time_key_message(
|
||||||
writer,
|
writer,
|
||||||
PROTOCOL_VERSION,
|
PROTOCOL_VERSION,
|
||||||
alice_identity_key.id,
|
|
||||||
bob_one_time_key_id,
|
bob_one_time_key_id,
|
||||||
KEY_LENGTH,
|
KEY_LENGTH,
|
||||||
KEY_LENGTH,
|
KEY_LENGTH,
|
||||||
|
|
Loading…
Reference in a new issue