aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-10-12Add CMake supportKonstantinos Sideris
The library can now be installed using CMake v3.0+. Below is an example configuration. 1. Generate configuation cmake -H. -Bbuild -GNinja -DCMAKE_BUILD_TYPE=Release // The default profile. -DCMAKE_INSTALL_PREFIX=/usr/local/ -DBUILD_SHARED_LIBS=ON -DOLM_TESTS=1 -DOLM_FUZZERS=1 2. Build & install the targets cmake --build build --config Release --target install 3. Run the tests cd build/test && ctest . The library can also be used as a dependency with CMake using find_package(Olm::Olm REQUIRED) target_link_libraries(my_exe Olm::Olm) Signed-off-by: Konstantinos Sideris <sideris.konstantin@gmail.com>
2018-10-12clear out plaintext buffers in Android SDK where possibleHubert Chathi
2018-10-12Merge pull request #61 from matrix-org/dbkr/pk_private_export_importDavid Baker
Work with PkDecryption keys by their private keys
2018-10-12Merge remote-tracking branch 'origin/master' into dbkr/pk_private_export_importDavid Baker
2018-10-12Merge pull request #62 from matrix-org/dbkr/ci2David Baker
CircleCI Build Support
2018-10-11Add aliases for deprecated functionsDavid Baker
2018-10-10Merge remote-tracking branch 'origin/master' into dbkr/pk_private_export_importDavid Baker
2018-10-10Merge remote-tracking branch 'origin/master' into dbkr/ci2David Baker
2018-10-10Merge pull request #57 from matrix-org/dbkr/wasmDavid Baker
WebAssembly support
2018-10-10Add note about passing through env var with dockerDavid Baker
2018-10-09Merge branch 'master' into dbkr/wasmHubert Chathi
2018-10-05Build on macDavid Baker
2018-10-05Merge branch 'master' into dbkr/ci2Hubert Chathi
2018-10-05Merge branch 'master' into dbkr/pk_private_export_importHubert Chathi
2018-10-05Merge branch 'master' into dbkr/wasmHubert Chathi
2018-10-05add more comments describing the pk encrypt/decrypt functionsHubert Chathi
2018-10-05remove unneeded polyfillHubert Chathi
2018-10-05fix some code style issues and typosHubert Chathi
2018-10-04Dual-build wasm and asm.js olmDavid Baker
2018-10-03...in the right dirDavid Baker
2018-10-03run npm installDavid Baker
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-10-03CircleCI config fileDavid Baker
2018-10-02Add an export for the length of a private keyDavid Baker
2018-10-02Merge pull request #58 from matrix-org/dbkr/method_consistencyDavid Baker
Call appropriate wrapper function
2018-10-02Add other breaking changeDavid Baker
2018-10-02Work with PkDecryption keys by their private keysDavid Baker
Change interface to allow the app to get the private part of the key and instantiate a decryption object from just the private part of the key. Changes the function generating a key from random bytes to be initialising a key with a private key (because it's exactly the same thing). Exports & imports private key parts as ArrayBuffer at JS level rather than base64 assuming we are moving that way in general.
2018-10-02Merge remote-tracking branch 'origin/master' into dbkr/wasmDavid Baker
2018-10-02Merge pull request #59 from matrix-org/dbkr/fix_trailing_newlinesDavid Baker
Remove trailing letter 'K's from the test pubkeys
2018-10-01Remove trailing letter 'K's from the test pubkeysDavid Baker
base64 encoded newlines somehow?
2018-10-01Merge remote-tracking branch 'origin/master' into dbkr/wasmDavid Baker
2018-10-01Call appropriate wrapper functionDavid Baker
Don't think this matters since there's no PkEncryption / PkDecryption object being passed, but for the sake of consistency
2018-09-27oops, fix typo - thanks to @dest4Matthew Hodgson
2018-09-26Support passing olm options into init()David Baker
2018-09-25Breking changeDavid Baker
2018-09-25Return same promise if init() called many timesDavid Baker
So we only init the library once.
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-21Also ship the wasm fileDavid Baker
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-09-20Merge pull request #55 from matrix-org/dbkr/pk_key_lengthDavid Baker
Fix output buffer length check
2018-09-19Fix output buffer length checkDavid Baker
...when generating a key in PkDecryption. The pubkey is base64ed on the output, so will be longer.
2018-08-15update address for sending feedback for olmHubert Chathi
2018-07-18python: Enable build with the local build of the Olm C library.Damir Jelić
This patch adds the ability to build the bindings without having a globally installed Olm C library. Provided that the C library is already built, the tests can be run now with make test. Signed-off-by: Damir Jelić <poljar@termina.org.uk>
2018-07-18python: Import improved python bindings.Damir Jelić
This commit imports the python bindings from: https://github.com/poljar/python-olm The bindings are imported at commit c44b145818520d69eaaa350fb95afcb846125e0f Minor modifications were made while importing: - Removed travis config - Removed Arch Linux PKGBUILD - Removed the html docs, they can be rebuild by running make html in the docs folder - Slightly modified the README The new bindings feature some improvements over the old ones: - Python 2 and 3 support - Automatic memory management - Automatic memory clearing before it is freed - Type signatures via the python typing module - Full test coverage - Properties are utilized where it makes sense (e.g. account.id) Signed-off-by: Damir Jelić <poljar@termina.org.uk>
2018-07-18python: Remove the python bindings.Damir Jelić
Signed-off-by: Damir Jelić <poljar@termina.org.uk>
2018-07-09Request patches to olm@matrix.orgRichard van der Hoff
2018-07-04prepare 2.3.02.3.0Hubert Chathi
2018-06-28use void in type signatures for functions with no argumentsHubert Chathi