From 5291ec78b5e0187aa873f911b9d907aa0139def5 Mon Sep 17 00:00:00 2001 From: Mark Haines Date: Wed, 8 Jul 2015 14:53:25 +0100 Subject: Send the public part of the one time key rather than passing an identifier --- include/olm/account.hh | 2 +- include/olm/message.hh | 8 ++++---- include/olm/olm.hh | 1 - include/olm/session.hh | 2 +- 4 files changed, 6 insertions(+), 7 deletions(-) (limited to 'include/olm') diff --git a/include/olm/account.hh b/include/olm/account.hh index b51fc1e..98b6b56 100644 --- a/include/olm/account.hh +++ b/include/olm/account.hh @@ -100,7 +100,7 @@ struct Account { ); OneTimeKey const * lookup_key( - std::uint32_t id + Curve25519PublicKey const & public_key ); std::size_t remove_key( diff --git a/include/olm/message.hh b/include/olm/message.hh index fefdd20..5ce0a62 100644 --- a/include/olm/message.hh +++ b/include/olm/message.hh @@ -73,16 +73,16 @@ void decode_message( struct PreKeyMessageWriter { std::uint8_t * identity_key; std::uint8_t * base_key; + std::uint8_t * one_time_key; std::uint8_t * message; }; struct PreKeyMessageReader { std::uint8_t version; - bool has_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 * base_key; std::size_t base_key_length; + std::uint8_t const * one_time_key; std::size_t one_time_key_length; std::uint8_t const * message; std::size_t message_length; }; @@ -91,9 +91,9 @@ struct PreKeyMessageReader { * The length of the buffer needed to hold a message. */ std::size_t encode_one_time_key_message_length( - std::uint32_t one_time_key_id, std::size_t identity_key_length, std::size_t base_key_length, + std::size_t one_time_key_length, std::size_t message_length ); @@ -105,9 +105,9 @@ std::size_t encode_one_time_key_message_length( void encode_one_time_key_message( PreKeyMessageWriter & writer, std::uint8_t version, - std::uint32_t one_time_key_id, std::size_t identity_key_length, std::size_t base_key_length, + std::size_t one_time_key_length, std::size_t message_length, std::uint8_t * output ); diff --git a/include/olm/olm.hh b/include/olm/olm.hh index ab71689..891f953 100644 --- a/include/olm/olm.hh +++ b/include/olm/olm.hh @@ -187,7 +187,6 @@ size_t olm_create_outbound_session( OlmSession * session, OlmAccount * account, void const * their_identity_key, size_t their_identity_key_length, - unsigned their_one_time_key_id, void const * their_one_time_key, size_t their_one_time_key_length, void const * random, size_t random_length ); diff --git a/include/olm/session.hh b/include/olm/session.hh index a0aff08..4d674e5 100644 --- a/include/olm/session.hh +++ b/include/olm/session.hh @@ -44,9 +44,9 @@ struct Session { RemoteKey alice_identity_key; Curve25519PublicKey alice_base_key; + Curve25519PublicKey bob_one_time_key; std::uint32_t bob_one_time_key_id; - std::size_t new_outbound_session_random_length(); std::size_t new_outbound_session( -- cgit v1.2.3