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