aboutsummaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)Author
2018-10-03Merge branch 'dbkr/wasm' into dbkr/ci2David Baker
2018-10-03Replace the impenetrable line of perl with pythonDavid Baker
Mostly because the standard emscripten docker image does not have libjson-perl, but python always comes with json. But also because it was impenetrable.
2018-09-25Another day, another interfaceDavid Baker
Change the interface again, hopefully this time a bit more normal. Now we wrap the emscripten module completely and just expose the high level objects. The olm library export is now imported as normal (ie. returns a module rather than a function returning a module) but has an `init` method which *must* be called. This returns a promise which resolves when the module is ready. It also rejects if the module failed to set up, unlike before (and unlike the promise-not-a-promise that emscripten returns). Generally catch failures to init the module.
2018-09-21Make OLM_OPTIONS work againDavid Baker
The closure compiler was just renaming the variable so it never would have picked them up. Make it an extern so it knows what to do.
2018-09-21WebAssembly support!David Baker
Quite a lot going on in this PR: * Updates to support recent emscripten, switching to WASM which is now the default * Use emscripten's MODULARIZE option rather than wrapping it ourself, since doing so in pre-post js doesn't work anymore. * Most changes are moving the emscripten runtime functions to top-level calls rather than in the Module object. * Get rid of duplicated NULL_BYTE_PADDING_LENGTH * Fix ciphertext_length used without being declared * Fix things that caused the closure compiler to error, eg. using OLM_OPTIONS without a declaration. * Wait until module is inited to do OLM_ERROR = olm_error() The main BREAKING CHANGE here is that the module now needs to initialise asyncronously (because it has to load the wasm file). require()ing olm now gives a function which needs to be called to create an instance. The resulting object has a promise-like then() method that can be used to detect when the module is ready. (We could use MODULARIZE_INSTANCE to return the module directly as before, rather than the function, but then we don't get the .then() method).
2018-06-27add initial implementation of basic private key encryption functionalityHubert Chathi
2018-04-12Update Makefile to support building on WindowsMTRNord
The code for this change is taken from https://stackoverflow.com/a/30225575/4929236 This patch is Signed-Off-By: Marcel Radzio <marcel@radzio-sh.de>
2017-03-29Makefile: fix tab/space substitution.Richard van der Hoff
2017-03-24Support building as a static libraryAndreas Zwinkau
Signed-off-by: Andreas Zwinkau <qznc@web.de>
2017-03-02Android : improve the version number management (#46)Yannick LE COLLEN
Add functions to make the difference between the native and the java code version. Factor out the version management in the makefiles.
2017-03-01prepare v2.2.22.2.2Richard van der Hoff
2017-01-18Prep v2.2.12.2.1Richard van der Hoff
2017-01-18Bump version numbers to 2.2.02.2.0Richard van der Hoff
2016-12-22Bump version numbers throughout2.1.0Richard van der Hoff
2016-11-17OLMKit: Add it to olm from version 2.0.1manuroe
2016-10-27Add a document on signing keysRichard van der Hoff
2016-10-25Version bump for 2.0.02.0.0Richard van der Hoff
2016-09-23Makefile: install-headers is phonyRichard van der Hoff
2016-09-23Add a Makefile rule to install the headersEmmanuel Gil Peyrot
Signed-off-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
2016-09-22First stab at a megolm specRichard van der Hoff
2016-09-14Changelog and version bump for 1.3.01.3.0Mark Haines
2016-09-06Bump version numbers to 1.2.01.2.0Richard van der Hoff
2016-09-05Avoid ldconfig in the MakefileRichard van der Hoff
... because OSX doesn't support it.
2016-09-01Fix Ed25519 keypair generationRichard van der Hoff
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-07-11Makefile rules to build the rst into htmlRichard van der Hoff
2016-07-11Prepare 1.0.0 release1.0.0Richard van der Hoff
2016-07-05Add an install and an install-debug targetsEmmanuel Gil Peyrot
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-05Specify the soname in the library and its nameEmmanuel Gil Peyrot
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-05-26Merge branch 'rav/group_chat_js_bindings'Richard van der Hoff
2016-05-26Add a fuzzer for olm_group_decryptMark Haines
2016-05-25Javascript bindings for group sessionsRichard van der Hoff
2016-05-25Compile some of the crypto libs directlyRichard van der Hoff
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-25Merge branch 'rav/jenkins_build'Richard van der Hoff
2016-05-25Merge branch 'markjh/fuzzingII'Mark Haines
2016-05-24Merge branch 'master' into rav/jenkins_buildRichard van der Hoff
2016-05-24Build the tests with -gRichard van der Hoff
think this got lost when mark added separate release/debug builds
2016-05-24Build the crypto libs as C99Richard van der Hoff
Some of the crypto libs rely on UINT64_C, which in glibc 2.17 and earlier was not defined for C++ code (see https://sourceware.org/bugzilla/show_bug.cgi?id=15366).
2016-05-23Rename olm.hh to olm.hRichard van der Hoff
2016-05-23Fix warnings and set -WerrorRichard van der Hoff
2016-05-23Add support for building fuzzers using american fuzzy lopMark Haines
Builds fuzzers using http://lcamtuf.coredump.cx/afl/
2016-05-23Fix make clean to remove the library and all the .d filesMark Haines
2016-05-23Move comment to correct locationMark Haines
2016-05-23Don't use $^ cause that includes the header filesMark Haines
2016-05-23Use a rule to make the build directoriesMark Haines
2016-05-23Put the .o files in separate directories so we can have both release and ↵Mark Haines
debug versions
2016-05-20Fix the Makefile so that it works with a clean git checkoutMark Haines
2016-05-20Remove dep files for js objects on cleanRichard van der Hoff
2016-05-20Add an 'all' target to the MakefileRichard van der Hoff
So that we can build everything together.
2016-05-20Use a version script to restrict symbols in the .soRichard van der Hoff
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-20Add support for building the JS wrappers to the MakefileRichard van der Hoff
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.