Commit graph

858 commits

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
Chris Ballinger
daab2a58af OLMAccount and OLMSession serialization 2016-04-13 16:53:47 -07:00
Chris Ballinger
f505113fb7 Initial test passing 2016-04-09 14:00:30 -07:00
Chris Ballinger
719eb543a8 Xcode, podspec, wrapper 2016-04-08 17:26:12 -07: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