Commit Graph

46 Commits (2fccf44015dfb27865ddb50ed66afdedbd4e03e6)

Author SHA1 Message Date
Hubert Chathi 128d45cc83 add initial implementation of basic private key encryption functionality 2018-06-27 16:38:45 -04:00
MTRNord 4065c8e11a Update Makefile to support building on Windows
The code for this change is taken from

This patch is Signed-Off-By: Marcel Radzio <>
2018-04-12 10:51:16 +01:00
Richard van der Hoff bb05b5687f Makefile: fix tab/space substitution. 2017-03-29 10:44:54 +01:00
Andreas Zwinkau b0a010b153 Support building as a static library
Signed-off-by: Andreas Zwinkau <>
2017-03-24 10:20:49 +00:00
Yannick LE COLLEN a9aeb6b5d7 Android : improve the version number management (#46)
Add functions to make the difference between the native and the java code version.

Factor out the version management in the makefiles.
2017-03-02 12:01:32 +00:00
Richard van der Hoff 77eaaa3d5f prepare v2.2.2 2017-03-01 16:21:37 +00:00
Richard van der Hoff b185229c2b Prep v2.2.1 2017-01-18 18:16:32 +00:00
Richard van der Hoff 150c360e82 Bump version numbers to 2.2.0 2017-01-18 16:03:02 +00:00
Richard van der Hoff 86b64b653a Bump version numbers throughout 2016-12-22 15:03:00 +00:00
manuroe 0b1ecbff2d OLMKit: Add it to olm from version 2.0.1 2016-11-17 14:03:15 +01:00
Richard van der Hoff f6c05be8c5 Add a document on signing keys 2016-10-27 11:55:48 +01:00
Richard van der Hoff 27c7b4a767 Version bump for 2.0.0 2016-10-25 11:35:20 +01:00
Richard van der Hoff 8a8d100ee5 Makefile: install-headers is phony 2016-09-23 12:22:34 +01:00
Emmanuel Gil Peyrot 7c9b2f6395 Add a Makefile rule to install the headers
Signed-off-by: Emmanuel Gil Peyrot <>
2016-09-23 12:17:44 +01:00
Richard van der Hoff c07444d3e6 First stab at a megolm spec 2016-09-22 11:04:19 +01:00
Mark Haines ec7d968623 Changelog and version bump for 1.3.0 2016-09-14 13:55:54 +01:00
Richard van der Hoff 49ca6aca98 Bump version numbers to 1.2.0 2016-09-06 22:26:24 +01:00
Richard van der Hoff c09aa77c4a Avoid ldconfig in the Makefile
... because OSX doesn't support it.
2016-09-05 11:56:53 +01:00
Richard van der Hoff 0c462cff11 Fix Ed25519 keypair generation
Ed25519 private keys, it turns out, have 64 bytes, not 32.

We were previously generating only 32 bytes (which is all that is required to
generate the public key), and then using the public key as the upper 32 bytes
when generating the per-message session key. This meant that everything
appeared to work, but the security of the private key was severely compromised.

By way of fixes:

 * Use the correct algorithm for generating the Ed25519 private key, and store
   all 512 bits of it.

 * Update the account pickle format and refuse to load the old format (since we
   should consider it compromised).

 * Bump the library version, and add a function to retrieve the library
   version, so that applications can verify that they are linked against a
   fixed version of the library.

 * Remove the curve25519_{sign, verify} functions which were unused and of
   dubious quality.
2016-09-01 13:35:23 +01:00
Richard van der Hoff d30db7b5c0 Makefile rules to build the rst into html 2016-07-11 14:50:49 +01:00
Richard van der Hoff f3b9c3bbbb Prepare 1.0.0 release 2016-07-11 12:50:11 +01:00
Emmanuel Gil Peyrot c8d00665b3 Add an install and an install-debug targets
This makes the user able to use the familiar `make install` syntax, and
allows overriding of the default directories using the DESTDIR and
PREFIX variables, for example:
 make DESTDIR=packaging PREFIX=/usr install
2016-07-05 23:21:28 +01:00
Emmanuel Gil Peyrot 06cdb3f75e Specify the soname in the library and its name
This provides users of this library the guarantee that the ABI will
stay stable when MAJOR will reach 1, and will stay backwards compatible
for the entire duration of the 1.x.y branch.

It does require the maintainers to always update the version in the
Makefile at every ABI change.
2016-07-05 23:21:22 +01:00
Richard van der Hoff 952a3e15cf Merge branch 'rav/group_chat_js_bindings' 2016-05-26 13:58:14 +01:00
Mark Haines bfeb554e86 Add a fuzzer for olm_group_decrypt 2016-05-26 13:25:34 +01:00
Richard van der Hoff 013f27f3dc Javascript bindings for group sessions 2016-05-25 17:48:01 +01:00
Richard van der Hoff ee8172d882 Compile some of the crypto libs directly
sha256.c and aes.c contain conflicting declarations, so we need to compile them
as separate units. This requires a bit more Makefile-shuffling; the build
directory now includes 'src' or 'lib' as appropriate, and we just mkdir -p
before each compilation.
2016-05-25 17:08:44 +01:00
Richard van der Hoff 54d43010c8 Merge branch 'rav/jenkins_build' 2016-05-25 15:33:33 +01:00
Mark Haines 024685f3db Merge branch 'markjh/fuzzingII' 2016-05-25 14:32:03 +01:00
Richard van der Hoff ed039d331c Merge branch 'master' into rav/jenkins_build 2016-05-24 16:30:23 +01:00
Richard van der Hoff 8d31f42b1e Build the tests with -g
think this got lost when mark added separate release/debug builds
2016-05-24 16:28:14 +01:00
Richard van der Hoff 15cb4ec0c0 Build the crypto libs as C99
Some of the crypto libs rely on UINT64_C, which in glibc 2.17 and earlier was
not defined for C++ code (see
2016-05-24 14:41:49 +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 e21d5cb222 Fix warnings and set -Werror 2016-05-23 18:08:22 +01:00
Mark Haines f47aabd094 Add support for building fuzzers using american fuzzy lop
Builds fuzzers using
2016-05-23 17:32:24 +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 ab7610087a Remove dep files for js objects on clean 2016-05-20 16:50:14 +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 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