aboutsummaryrefslogtreecommitdiff
path: root/src/ratchet.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ratchet.cpp')
-rw-r--r--src/ratchet.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/ratchet.cpp b/src/ratchet.cpp
index 24f0ac2..37d2d4e 100644
--- a/src/ratchet.cpp
+++ b/src/ratchet.cpp
@@ -141,12 +141,12 @@ std::size_t verify_mac_and_decrypt_for_new_chain(
/* They shouldn't move to a new chain until we've sent them a message
* acknowledging the last one */
if (session.sender_chain.empty()) {
- return false;
+ return std::size_t(-1);
}
/* Limit the number of hashes we're prepared to compute */
if (reader.counter > MAX_MESSAGE_GAP) {
- return false;
+ return std::size_t(-1);
}
std::memcpy(
new_chain.ratchet_key.public_key, reader.ratchet_key, KEY_LENGTH
@@ -191,6 +191,7 @@ void axolotl::Ratchet::initialise_as_bob(
derived_secrets, sizeof(derived_secrets)
);
receiver_chains.insert();
+ receiver_chains[0].chain_key.index = 0;
std::memcpy(root_key, derived_secrets, 32);
std::memcpy(receiver_chains[0].chain_key.key, derived_secrets + 32, 32);
receiver_chains[0].ratchet_key = their_ratchet_key;
@@ -210,6 +211,7 @@ void axolotl::Ratchet::initialise_as_alice(
derived_secrets, sizeof(derived_secrets)
);
sender_chain.insert();
+ sender_chain[0].chain_key.index = 0;
std::memcpy(root_key, derived_secrets, 32);
std::memcpy(sender_chain[0].chain_key.key, derived_secrets + 32, 32);
sender_chain[0].ratchet_key = our_ratchet_key;