Commit graph

176 commits

Author SHA1 Message Date
Richard van der Hoff
a1855b99b9 C binding for olm::unset 2016-05-23 18:55:05 +01:00
Richard van der Hoff
07b33acee5 C bindings for pickle functions 2016-05-23 18:55:05 +01:00
Richard van der Hoff
294cf482ea Convert cipher.hh to plain C 2016-05-23 18:55:05 +01:00
Richard van der Hoff
f9139dfa6a Convert error.hh to plain C 2016-05-23 18:55:05 +01:00
Richard van der Hoff
e533b0dc8e Give SHA256 functions C bindings 2016-05-23 18:55:05 +01:00
Richard van der Hoff
4f1bb49d20 Rename olm.hh to olm.h 2016-05-23 18:55:05 +01:00
Richard van der Hoff
182f33f8ae Complete fixes for olm_*_last_error
Should have been in the previous commit :/
2016-05-23 18:54:18 +01:00
Richard van der Hoff
f69577ad99 fix range check in olm_*_last_errror 2016-05-23 18:53:14 +01:00
Richard van der Hoff
e21d5cb222 Fix warnings and set -Werror 2016-05-23 18:08:22 +01:00
Richard van der Hoff
ea130cae0d Merge branch 'rav/refactor_python_wrappers' 2016-05-23 18:03:32 +01:00
Mark Haines
aacf115468 Fix make clean to remove the library and all the .d files 2016-05-23 16:35:34 +01:00
Mark Haines
502bd9e10e Move comment to correct location 2016-05-23 16:31:33 +01:00
Mark Haines
2e986c512e Don't use $^ cause that includes the header files 2016-05-23 16:23:57 +01:00
Mark Haines
83ce82708e Use a rule to make the build directories 2016-05-23 16:21:37 +01:00
Mark Haines
509be1b1bf Put the .o files in separate directories so we can have both release and debug versions 2016-05-23 15:58:18 +01:00
Mark Haines
63265f10de Fix the Makefile so that it works with a clean git checkout 2016-05-20 17:44:44 +01:00
Richard van der Hoff
ff4d210d05 Merge branch 'rav/makefile' 2016-05-20 16:52:01 +01:00
Richard van der Hoff
ab7610087a Remove dep files for js objects on clean 2016-05-20 16:50:14 +01:00
Richard van der Hoff
c8c5f35bb4 crypto.cpp: Fix comments
These seem to be the wrong way around.
2016-05-20 15:37:33 +01:00
Richard van der Hoff
85f2d57e08 Add an 'all' target to the Makefile
So that we can build everything together.
2016-05-20 15:28:54 +01:00
Richard van der Hoff
7ccaae564a Refactor python wrappers
Split the python wrappers into separate modules
2016-05-20 15:25:43 +01:00
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