Commit Graph

155 Commits (488567a45f95cefd258f5f1a4cdf00c8848576d9)

Author SHA1 Message Date
Richard van der Hoff 488567a45f Use a version script to restrict symbols in the .so
We want to stop aes_* and sha_* functions leaking out of our .so, as well as
internal _olm_* symbols.

This also means we need to link the unit tests against the objects. Possibly we
should distinguish between unit tests and integration tests.
2016-05-20 15:15:40 +01:00
Richard van der Hoff d4c8aae803 Add support for building the JS wrappers to the Makefile
Now that we have C and C++, we need to split the compile and link steps
(because we need different flags for the C and C++ files), so this is
easier with a Makefile.
2016-05-20 15:15:40 +01:00
Richard van der Hoff b3a7a6b36c Add a makefile
Replace the python scripts for building the shared lib and tests with a
Makefile, which makes it easier to handle a mix of C and C++.
2016-05-20 15:15:40 +01:00
Richard van der Hoff acae4e8438 Remove functions which return strings
We don't want anything which does dynamic memory allocation in the library.
2016-05-20 15:07:10 +01:00
Richard van der Hoff 9ac6ab0f1c Correct a couple of errors in the spec
* We only use 8-byte MACs
* The version byte is \x03, not \x01
2016-05-18 18:17:29 +01:00
Richard van der Hoff 2a09ccbd63 Remove vestiges of logging
Remove the (now non-functional) declarations of olm_set_log_level in the C and
js wrappers.
2016-05-16 11:50:44 +01:00
Richard van der Hoff d37edaecc5 Merge branch 'rav/remove_logging' 2016-05-16 11:22:10 +01:00
Richard van der Hoff b1db016baa Fix double_ratchet link 2016-05-16 11:21:59 +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 48cb5f925d Add olm::log_enabled_for 2016-05-16 11:04:26 +01:00
Matthew Hodgson 24e4f3f89f fix postojna link 2016-05-13 12:54:30 +01:00
Richard van der Hoff 11dbf2aab3 Fix a bunch of compiler warnings, and turn on warnings. 2016-04-26 18:10:13 +01:00
Richard van der Hoff 9b010290a4 Various clarifications to the spec 2016-04-26 17:55:42 +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
Richard van der Hoff e7a2af1ede Add a basic logging implementation 2016-04-26 12:30:18 +01:00
Richard van der Hoff 7305649a27 Make 'npm build' build the js lib 2016-04-26 12:12:08 +01:00
Richard van der Hoff 4b26a09c37 Fix missing '.' 2015-12-07 13:32:19 +00:00
Richard van der Hoff b5811f3b74 Clarifications to the doc
Make a few bits of the Olm spec a bit clearer
2015-12-07 11:44:17 +00:00
Richard van der Hoff 1fb2e3f267 Add notes on tagging to README 2015-12-03 18:10:43 +00:00
Richard van der Hoff 8672311d6f Give a clearer error if the library hasn't been built 2015-12-03 17:08:04 +00:00
Richard van der Hoff a715fc7d84 Run the tests against the shared library
It would be nice if the tests tested what we'd built, not something different.
2015-12-03 17:08:04 +00:00
Richard van der Hoff 25953b350b Use header files where possible
This fixes an incorrect re-declaration of ed25519_sign.

Implement header files for some of the other library bits so that we don't need
to declare functions in crypto.cpp.
2015-12-03 17:08:04 +00:00
Richard van der Hoff 2416658443 Document process for building npm package 2015-12-03 15:46:11 +00:00
Richard van der Hoff a5fe3f605a Fix a console error when importing in a browser
something about 'global' not defined
2015-12-02 14:06:01 +00:00
Richard van der Hoff 2bb7f3b1e6 Tweak javascript build to make npm better
Build into 'javascript' dir and tell package.json exactly which files we care
about.
2015-12-02 14:04:24 +00:00
Matthew Hodgson 28622db92f switch from /usr/bin/python to /usr/bin/env python. this doesn't help folks whose python path points at python3 (e.g. Arch linux) though, but I see no choice than they have to change the shebangs, as we do on Synapse. For instance, OSX doesn't have a python2 symlink, otherwise we'd use /usr/bin/env python2 shebang. 2015-11-01 13:05:51 +00:00
Matthew Hodgson 22f370c5cd add legalese 2015-10-05 14:21:08 +01:00
Matthew Hodgson d5d1e3c288 link to the spec 2015-10-02 23:57:46 +01:00
Matthew Hodgson 989056e075 typo 2015-08-24 10:29:35 +01:00
Matthew Hodgson 4e042294e4 IPR, feedback & acknowledgements 2015-08-20 22:59:52 +02:00
Matthew Hodgson b9ff140b17 minor typos and clarifications 2015-08-20 22:50:11 +02:00
Mark Haines bed93fcbc7 Add explanation of the notation in the spec 2015-08-20 11:22:51 +01:00
Mark Haines 7bb5f1ebd6 Merge pull request #1 from matrix-org/markjh/protocol-specification
Add a basic specification for the olm protocol and format.
2015-08-20 10:19:35 +01:00
Mark Haines f58b71a14e Clarify that only the public parts of keys are sent over the wire 2015-08-20 10:12:19 +01:00
Mark Haines 5e1b8a5b3b Add docstrings for the utility class 2015-08-20 10:08:15 +01:00
Mark Haines 7649125a9e Add docstrings for the Session methods 2015-08-19 18:16:47 +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 a378a40b3a Document that the ciphertext and plaintext may share a buffer when encrypting and decrypting 2015-08-19 15:39:19 +01:00
Mark Haines 900d2d70b4 Add docstring for the base64 encode/decode methods 2015-08-19 15:38:20 +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 eee46a549c Fix spelling 2015-08-18 14:46:57 +01:00
Mark Haines c4ad39a3c4 Linkify all of the HMAC and HKDF references 2015-08-18 14:40:10 +01:00
Mark Haines be9d74063d Add some links to the spec for the various primitives being used. 2015-08-18 14:33:40 +01:00
Mark Haines 40e49ee173 Add spec for the authenticated encryption used by olm 2015-08-11 18:13:26 +01:00
Mark Haines c35d1d420f Check that the end of input hasn't been reached when unpickling a list 2015-08-11 13:14:06 +01:00
Mark Haines 447501bd57 Document the pre-key messages 2015-08-11 13:12:51 +01:00
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