Commit graph

308 commits

Author SHA1 Message Date
Mark Haines
9e79571d07 Start specifying the message format 2015-08-10 17:12:03 +01:00
Mark Haines
158f7ee891 Fix crash where the message length was shorter than the length of the mac 2015-08-07 19:33:48 +01:00
Mark Haines
a4b2927884 Initialise the length fields of the reader struct in decode_message, even if the message is invalid, fixes a crash where the message was too short 2015-08-07 18:58:42 +01:00
Mark Haines
76ecd85c2c Fix a crash when decoding messages that are too short 2015-08-07 18:25:21 +01:00
Mark Haines
531a2fb426 Document the olm protocol. 2015-08-05 17:22:51 +01:00
Mark Haines
49c117c62e Start writing protocol spec for olm 2015-08-04 18:09:44 +01:00
Mark Haines
41a8fb61af Add sha256 and ed25519_verify methods to javascript bindings 2015-08-04 11:55:04 +01:00
Mark Haines
39c1f3b355 Add methods for computing sha256 hashes and validating ed25519 signatures 2015-07-24 14:29:52 +01:00
Mark Haines
411109d893 Add package.json for adding olm to npm 2015-07-21 15:04:27 +01:00
Mark Haines
5a60e543a5 Add more workarounds for closure compiler in javascript bindings 2015-07-21 14:30:46 +01:00
Mark Haines
bb70307b11 Fix javascript bindings: matches_inbound doesn't take an account argument 2015-07-21 10:50:17 +01:00
Mark Haines
f0bb8e03b3 More fixes to the javascript bindings to get them to behave with browserify 2015-07-20 16:33:45 +01:00
Mark Haines
970fc60f8b Add remove_one_time_keys to the javascript bindings 2015-07-17 18:43:41 +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
7523b700cf Add a test of olm which uses malloc to create it's buffers so that it is possible to check of out of bounds reads and writes using valgrind 2015-07-15 17:34:48 +01:00
Mark Haines
3bfa8e5863 Fix bug in list where the wrong value was copied if an item was inserted at the beinging of the list 2015-07-15 16:31:45 +01:00
Mark Haines
0d14cb5797 Get build_shared_library to compile at -O3 instead of -O0 2015-07-15 13:40:32 +01:00
Mark Haines
137aa31e95 olm_account_last_error and olm_clear_account should take an Account not a Session 2015-07-15 13:24:26 +01:00
Mark Haines
c965a0e619 Call the right c function from Session.matches_inbound. It was calling create_inbound_session rather than matches_inbound_session 2015-07-15 12:45:50 +01:00
Mark Haines
bede3a8499 Tweak the javascript bindings so that they will work with Node.js 2015-07-14 16:45:00 +01:00
Mark Haines
36d17d1cb2 Move olm.py to a python subdirectory. Add a script for testing the olm.py script 2015-07-14 11:38:43 +01:00
Mark Haines
a59fbdfe7f Add a test for pickling and unpickling sessions, fix off by one error when unpickling sessions 2015-07-14 11:32:11 +01:00
Mark Haines
2e49a6f41e Clear the random buffers once they've been used. Add methods for clearing the account and session object once they've been used 2015-07-10 18:29:14 +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
b6e248c9a5 Output simpler JSON for the account keys, don't sign the JSON but instead provide a olm_account_sign method so that the user of the library can sign the JSON themselves 2015-07-10 11:57:53 +01:00
Mark Haines
373acefde7 Add c bindings for the methods for managing one time keys 2015-07-09 18:35:54 +01:00
Mark Haines
5634be0507 Add methods for generating new one time keys and for tracking which one time keys have been published 2015-07-09 16:09:16 +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
974e0984bd Update the javascript bindings and demo to match the format of the identity key JSON 2015-07-08 11:16:00 +01:00
Mark Haines
3a382aec59 Encode the account keys as a signed JSON object 2015-07-07 16:42:03 +01:00
Mark Haines
2a873fd4e1 Add functions for creating and verifying ed25519 signatures 2015-07-07 09:50:32 +01:00
Mark Haines
a30a64d179 Rename generate_key to curve25519_generate_key 2015-07-07 09:03:12 +01:00
Mark Haines
f1cd5613f6 Remove the last resort one time key 2015-07-07 09:01:38 +01:00
Mark Haines
667e415c74 Removed SignedKey class 2015-07-07 08:56:18 +01:00
Matthew Hodgson
14a0e4c7fd remove more rogue axolotls 2015-06-28 18:00:01 +02:00
Matthew Hodgson
17aa7e6580 remove rogue axolotls 2015-06-28 17:56:40 +02:00
Matthew Hodgson
c1e87973b9 empscripten example 2015-06-27 04:35:07 +02: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
Matthew Hodgson
fe95847245 fix citation 2015-06-26 19:26:01 +02:00
Mark Haines
86d0b80bea Add a README explaining how to build the library 2015-06-26 17:55:32 +01:00
Mark Haines
8b29bd4193 Make sure the build dir exists 2015-06-26 17:15:24 +01:00
Mark Haines
e28f0989ad Add a demo for the javascript bindings 2015-06-26 16:23:31 +01:00
Mark Haines
f2168004a1 Fix javascript bindings to correctly pass the random buffer 2015-06-26 16:16:34 +01:00
Mark Haines
84d6fbb0dc Add some tests which advance the ratchet on both sides a few times 2015-06-26 14:42:24 +01:00
Mark Haines
0083a07345 Throw an Error object rather than a string in the javascript bindings. 2015-06-24 10:32:51 +01:00
Mark Haines
07072912cd Add javascript bindings using emscripten 2015-06-23 17:50:30 +01:00