From f1cd5613f68beee08ab479edf2a5ae50c91a63fe Mon Sep 17 00:00:00 2001 From: Mark Haines Date: Tue, 7 Jul 2015 09:01:38 +0100 Subject: [PATCH] Remove the last resort one time key --- include/olm/account.hh | 2 +- src/account.cpp | 7 ------- src/olm.cpp | 5 +++-- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/include/olm/account.hh b/include/olm/account.hh index 2d1c17c..d3bde0d 100644 --- a/include/olm/account.hh +++ b/include/olm/account.hh @@ -32,9 +32,9 @@ struct LocalKey { static std::size_t const MAX_ONE_TIME_KEYS = 100; + struct Account { LocalKey identity_key; - LocalKey last_resort_one_time_key; List one_time_keys; ErrorCode last_error; diff --git a/src/account.cpp b/src/account.cpp index 5fa3873..2323856 100644 --- a/src/account.cpp +++ b/src/account.cpp @@ -58,10 +58,6 @@ std::size_t olm::Account::new_account( random += 32; - last_resort_one_time_key.id = ++id; - olm::generate_key(random, last_resort_one_time_key.key); - random += 32; - for (unsigned i = 0; i < 10; ++i) { LocalKey & key = *one_time_keys.insert(one_time_keys.end()); key.id = ++id; @@ -110,7 +106,6 @@ std::size_t olm::pickle_length( ) { std::size_t length = 0; length += olm::pickle_length(value.identity_key); - length += olm::pickle_length(value.last_resort_one_time_key); length += olm::pickle_length(value.one_time_keys); return length; } @@ -121,7 +116,6 @@ std::uint8_t * olm::pickle( olm::Account const & value ) { pos = olm::pickle(pos, value.identity_key); - pos = olm::pickle(pos, value.last_resort_one_time_key); pos = olm::pickle(pos, value.one_time_keys); return pos; } @@ -132,7 +126,6 @@ std::uint8_t const * olm::unpickle( olm::Account & value ) { pos = olm::unpickle(pos, end, value.identity_key); - pos = olm::unpickle(pos, end, value.last_resort_one_time_key); pos = olm::unpickle(pos, end, value.one_time_keys); return pos; } diff --git a/src/olm.cpp b/src/olm.cpp index f5425fa..3aab4e2 100644 --- a/src/olm.cpp +++ b/src/olm.cpp @@ -396,11 +396,12 @@ size_t olm_account_one_time_keys( return size_t(-1); } std::uint8_t * output = from_c(identity_keys); - output_key(from_c(account)->last_resort_one_time_key, '[', output); + std::uint8_t sep = '['; output += OUTPUT_KEY_LENGTH; for (auto const & key : from_c(account)->one_time_keys) { - output_key(key, ',', output); + output_key(key, sep, output); output += OUTPUT_KEY_LENGTH; + sep = ','; } output[0] = ']'; return length;