Commit graph

  • 9e79571d07 Start specifying the message format Mark Haines 2015-08-07 18:24:20 +0100
  • 158f7ee891 Fix crash where the message length was shorter than the length of the mac Mark Haines 2015-08-07 19:33:48 +0100
  • 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 Mark Haines 2015-08-07 18:58:42 +0100
  • 76ecd85c2c Fix a crash when decoding messages that are too short Mark Haines 2015-08-07 18:25:21 +0100
  • 531a2fb426 Document the olm protocol. Mark Haines 2015-08-05 17:22:51 +0100
  • 49c117c62e Start writing protocol spec for olm Mark Haines 2015-08-04 18:09:44 +0100
  • 41a8fb61af Add sha256 and ed25519_verify methods to javascript bindings Mark Haines 2015-08-04 11:55:04 +0100
  • 39c1f3b355 Add methods for computing sha256 hashes and validating ed25519 signatures Mark Haines 2015-07-24 14:29:52 +0100
  • 411109d893 Add package.json for adding olm to npm Mark Haines 2015-07-21 15:04:27 +0100
  • 5a60e543a5 Add more workarounds for closure compiler in javascript bindings Mark Haines 2015-07-21 14:30:46 +0100
  • bb70307b11 Fix javascript bindings: matches_inbound doesn't take an account argument Mark Haines 2015-07-21 10:50:17 +0100
  • f0bb8e03b3 More fixes to the javascript bindings to get them to behave with browserify Mark Haines 2015-07-20 16:33:45 +0100
  • 970fc60f8b Add remove_one_time_keys to the javascript bindings Mark Haines 2015-07-17 18:43:41 +0100
  • 3468886e27 Add method getting a session id. Update the python and javascript bindings Mark Haines 2015-07-16 11:45:20 +0100
  • 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 Mark Haines 2015-07-16 10:45:10 +0100
  • 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 Mark Haines 2015-07-15 17:34:48 +0100
  • 3bfa8e5863 Fix bug in list where the wrong value was copied if an item was inserted at the beinging of the list Mark Haines 2015-07-15 16:31:45 +0100
  • 0d14cb5797 Get build_shared_library to compile at -O3 instead of -O0 Mark Haines 2015-07-15 13:40:32 +0100
  • 137aa31e95 olm_account_last_error and olm_clear_account should take an Account not a Session Mark Haines 2015-07-15 13:24:26 +0100
  • c965a0e619 Call the right c function from Session.matches_inbound. It was calling create_inbound_session rather than matches_inbound_session Mark Haines 2015-07-15 12:45:50 +0100
  • bede3a8499 Tweak the javascript bindings so that they will work with Node.js Mark Haines 2015-07-14 16:45:00 +0100
  • 36d17d1cb2 Move olm.py to a python subdirectory. Add a script for testing the olm.py script Mark Haines 2015-07-14 11:38:43 +0100
  • a59fbdfe7f Add a test for pickling and unpickling sessions, fix off by one error when unpickling sessions Mark Haines 2015-07-14 11:32:11 +0100
  • 2e49a6f41e Clear the random buffers once they've been used. Add methods for clearing the account and session object once they've been used Mark Haines 2015-07-10 18:29:14 +0100
  • 5ad929104e Version the pickled objects and check for errors when unpickling them Mark Haines 2015-07-10 18:00:18 +0100
  • 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 Mark Haines 2015-07-10 11:57:53 +0100
  • 373acefde7 Add c bindings for the methods for managing one time keys Mark Haines 2015-07-09 18:35:54 +0100
  • 5634be0507 Add methods for generating new one time keys and for tracking which one time keys have been published Mark Haines 2015-07-09 16:09:16 +0100
  • 0e988237f6 Don't pass a key id when creating a new outbound session Mark Haines 2015-07-08 16:00:08 +0100
  • 532dc0d4e7 Change the JSON format for one time keys to include what algorithm they are for Mark Haines 2015-07-08 15:30:34 +0100
  • dceae043b3 Remove the RemoteKey type since it wasn't being used Mark Haines 2015-07-08 14:57:55 +0100
  • 5291ec78b5 Send the public part of the one time key rather than passing an identifier Mark Haines 2015-07-08 14:53:25 +0100
  • 974e0984bd Update the javascript bindings and demo to match the format of the identity key JSON Mark Haines 2015-07-08 11:16:00 +0100
  • 3a382aec59 Encode the account keys as a signed JSON object Mark Haines 2015-07-07 16:42:03 +0100
  • 2a873fd4e1 Add functions for creating and verifying ed25519 signatures Mark Haines 2015-07-07 09:50:32 +0100
  • a30a64d179 Rename generate_key to curve25519_generate_key Mark Haines 2015-07-07 09:03:12 +0100
  • f1cd5613f6 Remove the last resort one time key Mark Haines 2015-07-07 09:01:38 +0100
  • 667e415c74 Removed SignedKey class Mark Haines 2015-07-07 08:56:18 +0100
  • 14a0e4c7fd remove more rogue axolotls Matthew Hodgson 2015-06-28 18:00:01 +0200
  • 17aa7e6580 remove rogue axolotls Matthew Hodgson 2015-06-28 17:56:40 +0200
  • c1e87973b9 empscripten example Matthew Hodgson 2015-06-27 04:35:07 +0200
  • 09d4125ff1 Rename axolotlpp as olm to avoid confusion with Axolotl-the-spec and Axolotl-the-OWS-libraries at moxie's request Matthew Hodgson 2015-06-27 01:15:23 +0200
  • fe95847245 fix citation Matthew Hodgson 2015-06-26 19:26:01 +0200
  • 86d0b80bea Add a README explaining how to build the library Mark Haines 2015-06-26 17:55:32 +0100
  • 8b29bd4193 Make sure the build dir exists Mark Haines 2015-06-26 17:15:24 +0100
  • e28f0989ad Add a demo for the javascript bindings Mark Haines 2015-06-26 16:23:31 +0100
  • f2168004a1 Fix javascript bindings to correctly pass the random buffer Mark Haines 2015-06-26 16:16:34 +0100
  • 84d6fbb0dc Add some tests which advance the ratchet on both sides a few times Mark Haines 2015-06-26 14:42:24 +0100
  • 0083a07345 Throw an Error object rather than a string in the javascript bindings. Mark Haines 2015-06-24 10:32:42 +0100
  • 07072912cd Add javascript bindings using emscripten Mark Haines 2015-06-23 17:50:30 +0100
  • f10c04d62d reduce the number of one time keys that get generated when we create an account Mark Haines 2015-06-23 17:49:04 +0100
  • 8bf32c3248 Fix bug encoding integers larger than 128 Mark Haines 2015-06-23 17:47:48 +0100
  • 10e7e8123d Add missing include, fix bug in handling unknown message fields Mark Haines 2015-06-23 15:15:18 +0100
  • 39a0873309 This field isn't being used anywhere so don't bother including it in the messages Mark Haines 2015-06-23 10:03:41 +0100
  • 3f475ab2f8 Note that the input buffers are destroyed by some of the account and session methods Mark Haines 2015-06-22 18:00:34 +0100
  • 043bc43716 Copyright Notices Mark Haines 2015-06-22 17:50:56 +0100
  • 492dc1ab58 Add API docs for the axolotl.hh methods Mark Haines 2015-06-22 17:44:56 +0100
  • 408530adf9 Add API for removing used one time keys Mark Haines 2015-06-22 11:02:42 +0100
  • fb980849c4 Add gdb script and psuedo-call graph generator python script for tracing calls to crypto primitives Mark Haines 2015-06-21 18:47:06 +0100
  • 0ca3797d2d Make the 'random' numbers different for each key in the tests Mark Haines 2015-06-21 18:33:46 +0100
  • 9cd53394e7 Fix a few valgrind warnings in the tests Mark Haines 2015-06-20 20:13:31 +0100
  • 499f680f5b Add python ctypes bindings and a command line script using them Mark Haines 2015-06-16 18:13:04 +0100
  • 76f49cf177 Add a test for the axolotl API Mark Haines 2015-06-16 15:15:40 +0100
  • 11861404e4 script for building a shared library Mark Haines 2015-06-15 17:49:43 +0100
  • 4abead9e9e Add c interface which wraps the cpp classes Mark Haines 2015-06-15 17:49:20 +0100
  • 7cdde73560 Add base64 encoders and decoders Mark Haines 2015-06-15 17:48:09 +0100
  • 026e4394bb Implement creating a new account Mark Haines 2015-06-15 17:47:22 +0100
  • 6fe3b7eb73 Move utils for pickling into a separate file Mark Haines 2015-06-12 16:15:37 +0100
  • 28541dd82a Implement the session key exchange Mark Haines 2015-06-22 14:30:46 +0100
  • 6ecea67718 Implement the session key exchange Mark Haines 2015-06-12 14:09:41 +0100
  • 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 Mark Haines 2015-06-12 09:08:15 +0100
  • 793b9b910a Start writing the interfaces for session and the account objects Mark Haines 2015-06-11 18:03:22 +0100
  • bcb05d1a99 rename Session to Ratchet Mark Haines 2015-06-11 16:10:55 +0100
  • e44c82a7b4 Add encoder and decoder for PreKey messages Mark Haines 2015-06-11 15:57:45 +0100
  • 816435a860 Move AES specific details behind a cipher interface Mark Haines 2015-06-11 14:20:35 +0100
  • 8161b56ff0 Move diagram to docs Mark Haines 2015-06-10 11:14:46 +0100
  • a08d706366 Add methods for pickling and unpickling sessions Mark Haines 2015-06-09 18:03:01 +0100
  • 8123ce6209 Constant time comparison for mac Mark Haines 2015-03-03 15:08:56 +0000
  • 2f2e0340ae const on right hand side Mark Haines 2015-03-03 15:08:26 +0000
  • a0e9065f1f Rename the ratchet source and include files from axolotl to ratchet Mark Haines 2015-03-03 11:26:52 +0000
  • 315caaba7e Add functions for signing and verifying messages using curve25519 keys Mark Haines 2015-03-03 11:18:07 +0000
  • 3ce450fc19 Merge commit '498dfabf9848286be003b42941c323a045d9fa46' as 'lib/ed25519' Mark Haines 2015-03-03 11:14:50 +0000
  • 498dfabf98 Squashed 'lib/ed25519/' content from commit 1fc4a2f Mark Haines 2015-03-03 11:14:50 +0000
  • 8bf9954416 Add picture showing the guts of the ratchet Mark Haines 2015-03-02 01:13:25 +0000
  • c7419e7cdf Try to ensure the compiler cannot optimise away attempts to erase secrets from memory Mark Haines 2015-02-27 16:11:30 +0000
  • b3496b0aa1 More comments Mark Haines 2015-02-27 15:07:45 +0000
  • 65bb5d4e5b if you type axolotl a lotl you get it wrong Matthew Hodgson 2015-02-27 13:09:17 +0100
  • a98acb8f0d Test out of order delivery of messages Mark Haines 2015-02-27 11:36:58 +0000
  • ea1ace8e1e Put the #! in the right place Mark Haines 2015-02-26 17:10:43 +0000
  • be70fb986e add a gitignore Mark Haines 2015-02-26 16:58:08 +0000
  • d142eb64dd Copyright notices and a license Mark Haines 2015-02-26 16:56:25 +0000
  • 01abe0cfdc Add test for axolotl ratchet Mark Haines 2015-02-26 16:53:12 +0000
  • 4844c1b90a Make test.py executable Mark Haines 2015-02-26 16:44:05 +0000
  • 15bb93321f Merge commit 'c61e5359cb454ae20c0b7b057c3a7b53e2beefd6' as 'lib/crypto-algorithms' Mark Haines 2015-02-26 16:43:06 +0000
  • c61e5359cb Squashed 'lib/crypto-algorithms/' content from commit 100f4ff Mark Haines 2015-02-26 16:43:06 +0000
  • 6c56bcf2fd Merge commit 'e50ac707316ea6d8059f7036322450727773952d' as 'lib/curve25519-donna' Mark Haines 2015-02-26 16:40:56 +0000
  • e50ac70731 Squashed 'lib/curve25519-donna/' content from commit 28772f3 Mark Haines 2015-02-26 16:40:56 +0000
  • 09d8e84c7c Implement the axlotl ratchet Mark Haines 2015-02-26 16:30:19 +0000
  • 186df91246 Start implementing the ratchet Mark Haines 2015-02-25 17:33:23 +0000
  • a4e5bf9772 Don't bother passing through the mac_length, the caller already knows it since they supplied it Mark Haines 2015-02-25 17:33:00 +0000