aboutsummaryrefslogtreecommitdiff
path: root/src/outbound_group_session.c
AgeCommit message (Collapse)Author
2016-09-06Sign megolm messagesRichard van der Hoff
Add ed25519 keys to the inbound and outbound sessions, and use them to sign and verify megolm messages. We just stuff the ed25519 public key in alongside the megolm session key (and add a version byte), to save adding more boilerplate to the JS/python/etc layers.
2016-05-25Remove session_id from group messagesRichard van der Hoff
Putting the session_id inside the packed message body makes it hard to extract so that we can decide which session to use. We don't think there is any advantage to having thes sesion_id protected by the HMACs, so we're going to move it to the JSON framing.
2016-05-24Separate base64ing from the rest of msg encodingRichard van der Hoff
Factor the actual message encoding/decoding and encrypting/decrypting out to separate functions from the top-level functions which do the base64-wrangling. This is particularly helpful in the 'outbound' code-path where the offsets required to allow room to base64-encode make the flow hard to see when it's all inline.
2016-05-24Update megolm_cipher as a global structRichard van der Hoff
Initialise megolm_cipher via the preprocessor macro, instead of with a function.
2016-05-24Use _olm_unset instead of memsetRichard van der Hoff
memset is at risk of being optimised away, so use _olm_unset instead.
2016-05-24Implement functions to get the state of outbound sessionRichard van der Hoff
We need to be able to inspect an outbound session so that we can tell our peer how to set up an inbound session.
2016-05-24Implement pickling/unpickling for outbound group sessionsRichard van der Hoff
2016-05-24Implementation of an outbound group sessionRichard van der Hoff