aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMark Haines <mark.haines@matrix.org>2015-07-08 14:53:25 +0100
committerMark Haines <mark.haines@matrix.org>2015-07-08 14:53:25 +0100
commit5291ec78b5e0187aa873f911b9d907aa0139def5 (patch)
tree16e95740fd8c4455c109dee07e438431c63c1c53 /include
parent974e0984bd0d618093669780a75739d4b02fd3b2 (diff)
Send the public part of the one time key rather than passing an identifier
Diffstat (limited to 'include')
-rw-r--r--include/olm/account.hh2
-rw-r--r--include/olm/message.hh8
-rw-r--r--include/olm/olm.hh1
-rw-r--r--include/olm/session.hh2
4 files changed, 6 insertions, 7 deletions
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(