Richard van der Hoff
69f269ffaf
Convert AES functions to plain C
2016-09-05 10:40:39 +01: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
2fd28a6682
Rewrite _olm_cipher_aes_sha_256 initialisation
...
Replace the init-static-var dance with some preprocessor macros
2016-05-24 12:06:47 +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
3468886e27
Add method getting a session id. Update the python and javascript bindings
2015-07-16 11:45:20 +01:00
Mark Haines
89d9b972a6
Add versions of olm_session_create_inbound and olm_session_matches_inbound which take the curve25519 identity key of the remote device we think the message is from as an additional argument
2015-07-16 10:45:10 +01:00
Mark Haines
5ad929104e
Version the pickled objects and check for errors when unpickling them
2015-07-10 18:00:18 +01:00
Mark Haines
0e988237f6
Don't pass a key id when creating a new outbound session
2015-07-08 16:04:18 +01:00
Mark Haines
532dc0d4e7
Change the JSON format for one time keys to include what algorithm they are for
2015-07-08 15:30:34 +01:00
Mark Haines
dceae043b3
Remove the RemoteKey type since it wasn't being used
2015-07-08 14:57:55 +01:00
Mark Haines
5291ec78b5
Send the public part of the one time key rather than passing an identifier
2015-07-08 14:53:25 +01:00
Mark Haines
3a382aec59
Encode the account keys as a signed JSON object
2015-07-07 16:42:03 +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
39a0873309
This field isn't being used anywhere so don't bother including it in the messages
2015-06-23 10:03:41 +01:00
Mark Haines
043bc43716
Copyright Notices
2015-06-22 17:50:56 +01:00
Mark Haines
76f49cf177
Add a test for the axolotl API
2015-06-16 15:15:40 +01:00
Mark Haines
026e4394bb
Implement creating a new account
2015-06-15 17:47:22 +01:00
Mark Haines
6fe3b7eb73
Move utils for pickling into a separate file
2015-06-12 16:15:37 +01:00
Mark Haines
28541dd82a
Implement the session key exchange
2015-06-22 14:30:46 +01:00
Mark Haines
6ecea67718
Implement the session key exchange
2015-06-12 14:09:41 +01:00