diff options
Diffstat (limited to 'README.rst')
-rw-r--r-- | README.rst | 54 |
1 files changed, 45 insertions, 9 deletions
@@ -1,8 +1,12 @@ Olm === -An implementation of the cryptographic ratchet described by -https://github.com/trevp/axolotl/wiki, written in C++11 and exposed as a C API +An implementation of the Double Ratchet cryptographic ratchet described by +https://github.com/trevp/double_ratchet/wiki, written in C and C++11 and +exposed as a C API. + +The specification of the Olm ratchet can be found in docs/olm.rst or +https://matrix.org/docs/spec/olm.html Building -------- @@ -11,20 +15,40 @@ To build olm as a shared library run: .. code:: bash - ./build_shared_library.py + make To run the tests run: .. code:: bash - ./test.py - + make test To build the javascript bindings, install emscripten from http://kripken.github.io/emscripten-site/ and then run: .. code:: bash - javascript/build.py + make js + +Release process +--------------- + +.. code:: bash + + # Bump version numbers in ``Makefile`` and ``javascript/package.json`` + # Prepare changelog + git commit + make clean + make test + make js + npm pack javascript + VERSION=x.y.z + scp olm-$VERSION.tgz packages@ldc-prd-matrix-001:/sites/matrix/packages/npm/olm/ + git tag $VERSION -s + git push --tags + +It's probably sensible to do the above on a release branch (``release-vx.y.z`` +by convention), and merge back to master once complete. + Design ------ @@ -32,6 +56,11 @@ Design Olm is designed to be easy port to different platforms and to be easy to write bindings for. +It was originally implemented in C++, with a plain-C layer providing the public +API. As development has progressed, it has become clear that C++ gives little +advantage, and new functionality is being added in C, with C++ parts being +rewritten as the need ariases. + Error Handling ~~~~~~~~~~~~~~ @@ -67,8 +96,15 @@ the ratchet. While this decreases the performance it makes it much easier to compile the library for different architectures. What's an olm? -~~~~~~~~~~~~~~ +-------------- It's a really cool species of European troglodytic salamander. -Matthew once tried to climb into a pool full of them in Postojnska Jama. -http://www.postojnska-jama.eu/en/about-the-cave/meet-the-dragon-s-offspring/ +http://www.postojnska-jama.eu/en/come-and-visit-us/vivarium-proteus/ + +Legal Notice +------------ + +The software may be subject to the U.S. export control laws and regulations +and by downloading the software the user certifies that he/she/it is +authorized to do so in accordance with those export control laws and +regulations. |