aboutsummaryrefslogtreecommitdiff
path: root/src/message.cpp
AgeCommit message (Collapse)Author
2016-10-19Fix a buffer bounds check when decoding group messagesRichard van der Hoff
Fixes a segfault when a group message had exactly the length of the mac + signature. Also tweak skipping of unknown tags to avoid an extra trip around the loop.
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-24Fix up some names, and protobuf tagsRichard van der Hoff
Make names (of session_key and message_index) more consistent. Use our own protobuf tags rather than trying to piggyback on the one-to-one structure.
2016-05-24Implement decrypting inbound group messagesRichard van der Hoff
Includes creation of inbound sessions, etc
2016-05-24Implementation of an outbound group sessionRichard van der Hoff
2016-05-23Fix bug in bounds check when parsingMark Haines
2016-05-16Remove logging functionalityRichard van der Hoff
Concerns have been raised that including logging functionality makes it harder to audit the implementation to ensure that no secret information is leaked. We are therefore removing it from the master branch.
2016-05-16translate logging.cpp to CRichard van der Hoff
2016-04-26Fix a bunch of compiler warnings, and turn on warnings.Richard van der Hoff
2016-04-26Add some logging to help understand what's going onRichard van der Hoff
2015-08-18Make the internal functions static, remove some unused internal functionsMark Haines
2015-08-07Fix crash where the message length was shorter than the length of the macMark Haines
2015-08-07Initialise the length fields of the reader struct in decode_message, even if ↵Mark Haines
the message is invalid, fixes a crash where the message was too short
2015-08-07Fix a crash when decoding messages that are too shortMark Haines
2015-07-08Send the public part of the one time key rather than passing an identifierMark Haines
2015-06-27Rename axolotlpp as olm to avoid confusion with Axolotl-the-spec and ↵Matthew Hodgson
Axolotl-the-OWS-libraries at moxie's request
2015-06-23Fix bug encoding integers larger than 128Mark Haines
2015-06-23Add missing include, fix bug in handling unknown message fieldsMark Haines
2015-06-23This field isn't being used anywhere so don't bother including it in the ↵Mark Haines
messages
2015-06-12Implement the session key exchangeMark Haines
2015-06-11Add encoder and decoder for PreKey messagesMark Haines
2015-06-11Move AES specific details behind a cipher interfaceMark Haines
2015-02-26Copyright notices and a licenseMark Haines
2015-02-25Don't bother passing through the mac_length, the caller already knows it ↵Mark Haines
since they supplied it
2015-02-25Add a message encoder/decoderMark Haines