aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Haines <mark.haines@matrix.org>2015-07-07 09:01:38 +0100
committerMark Haines <mark.haines@matrix.org>2015-07-07 09:01:38 +0100
commitf1cd5613f68beee08ab479edf2a5ae50c91a63fe (patch)
tree2c44982a8d65610aa564086ad78a6a16b8bc3d8f
parent667e415c74570cd1feb19ebfe259ab196f09bdc9 (diff)
Remove the last resort one time key
-rw-r--r--include/olm/account.hh2
-rw-r--r--src/account.cpp7
-rw-r--r--src/olm.cpp5
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<LocalKey, MAX_ONE_TIME_KEYS> 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;