Commit Graph

31 Commits (bdd73c5c327bcf0749eaedc8ba17501d739323e7)

Author SHA1 Message Date
Denis Kasak bdd73c5c32 Fix unpickling error handling. 2021-07-31 01:27:43 +00:00
Hubert Chathi 37c8e14e53 make functions const where possible 2021-06-16 23:22:25 -04:00
Matthew Hodgson 09384b4d45 spell ephemeral correctly... 2021-03-18 01:29:23 +00:00
Richard van der Hoff f0acf6582f Convert Ed25519 and Curve25519 functions to plain C 2016-09-05 10:40:39 +01:00
Richard van der Hoff 39212987bd Create new constants for key lengths, etc
We were using olm::KEY_LENGTH for everything under the sun which happened to be
32 bytes long, and making a bunch of assumptions in the process. Create a bunch
of new constants (as C #defines rather than C++ consts so that I can use them
in another forthcoming refactor).
2016-09-02 15:11:14 +01:00
Richard van der Hoff d8b24acb77 PR feedback
* write V1 pickles on the master branch
* the logging branch is going to write v0x80000001
2016-06-30 14:01:02 +01:00
Richard van der Hoff 8dd3c182ee Make space in the session pickle for chain index
Keeping track of the chain index is a useful thing to do, but is only required
if we've enabled diagnostics. Extend the session pickle format to make a space
for it, so that pickles can be transferred between the logging_enabled branch
and the master branch without loss of information.

Also add some tests for session pickling which explicitly check that we can
unpickle both formats of pickle.
2016-06-30 11:38:01 +01:00
Richard van der Hoff 757c422578 Remove unused 'chain_index' from Ratchet
This was introduced when I was experimenting with support for logging progress
in Olm. That is now relegated to the logging_enabled branch, so this should
probably be removed.

This also fixes the incompatibility of session pickles from the current master
branch with those from olm 0.1.0.
2016-06-30 11:31:36 +01:00
Richard van der Hoff 444ef1f706 Prefix for internal symbols
Give a load of internal symbols "_olm_" prefixes. This better delineates the
public and private interfaces in the module, and helps avoid internal symbols
leaking out and possibly being abused.
2016-05-23 18:55:06 +01:00
Richard van der Hoff 294cf482ea Convert cipher.hh to plain C 2016-05-23 18:55:05 +01:00
Richard van der Hoff f9139dfa6a Convert error.hh to plain C 2016-05-23 18:55:05 +01:00
Richard van der Hoff e533b0dc8e Give SHA256 functions C bindings 2016-05-23 18:55:05 +01:00
Richard van der Hoff 3965320a9c Remove logging functionality
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-16 11:13:54 +01:00
Richard van der Hoff b3db0e6ee1 translate logging.cpp to C 2016-05-16 11:05:57 +01:00
Richard van der Hoff 9848f84452 Add some logging to help understand what's going on 2016-04-26 17:55:26 +01:00
Mark Haines b318055185 Replace hard coded references to the 32-byte key length with a constant, add utilities for copying data to and from fixed sized arrays 2015-08-19 17:32:06 +01:00
Mark Haines 159faa1e2b Make the internal functions static, remove some unused internal functions 2015-08-18 17:09:55 +01:00
Mark Haines a30a64d179 Rename generate_key to curve25519_generate_key 2015-07-07 09:03:12 +01:00
Matthew Hodgson 09d4125ff1 Rename axolotlpp as olm to avoid confusion with Axolotl-the-spec and Axolotl-the-OWS-libraries at moxie's request 2015-06-27 01:15:23 +02:00
Mark Haines 76f49cf177 Add a test for the axolotl API 2015-06-16 15:15:40 +01:00
Mark Haines 6fe3b7eb73 Move utils for pickling into a separate file 2015-06-12 16:15:37 +01:00
Mark Haines 6ecea67718 Implement the session key exchange 2015-06-12 14:09:41 +01:00
Mark Haines 08a7e44a96 Pass the message body to decrypt_max_plaintext_length so we can get a more accurate estimate, rename encrypt_max_output_length to encrypt_output_length and change the api to return the exact number of bytes needed to hold the message 2015-06-12 09:08:15 +01:00
Mark Haines 793b9b910a Start writing the interfaces for session and the account objects 2015-06-11 18:03:22 +01:00
Mark Haines bcb05d1a99 rename Session to Ratchet 2015-06-11 16:10:55 +01:00
Mark Haines e44c82a7b4 Add encoder and decoder for PreKey messages 2015-06-11 15:57:45 +01:00
Mark Haines 816435a860 Move AES specific details behind a cipher interface 2015-06-11 14:20:35 +01:00
Mark Haines a08d706366 Add methods for pickling and unpickling sessions 2015-06-09 18:03:01 +01:00
Mark Haines 8123ce6209 Constant time comparison for mac 2015-03-03 15:08:56 +00:00
Mark Haines 2f2e0340ae const on right hand side 2015-03-03 15:08:26 +00:00
Mark Haines a0e9065f1f Rename the ratchet source and include files from axolotl to ratchet 2015-03-03 11:50:17 +00:00