README.md (2009B)
1 # spank_olm 2 3 [](https://github.com/MTRNord/spank_olm/blob/main/LICENSE) 4 5 ## Overview 6 7 `spank_olm` is a C++ library based on the [libolm](https://gitlab.matrix.org/matrix-org/olm) library 8 from [matrix.org](https://matrix.org). It aims to provide cryptographic functionalities similar to libolm but is not 9 intended for production use. The library has not undergone any security audits. 10 11 ## Features 12 13 - Cryptographic operations based on libolm 14 - Fuzzing support for enhanced security testing 15 - Uses Botan3 as the cryptographic backend 16 17 ## Installation 18 19 To install `spank_olm`, clone the repository and build it using Meson. 20 21 ```sh 22 git clone https://github.com/MTRNord/spank_olm.git 23 cd spank_olm 24 meson setup build 25 meson compile -C build 26 ``` 27 28 To build shared libraries: 29 30 ```sh 31 meson setup build_shared --default-library=shared 32 meson compile -C build_shared 33 ``` 34 35 To build static libraries: 36 37 ```sh 38 meson setup build_static --default-library=static 39 meson compile -C build_static 40 ``` 41 42 To build wasm libraries: 43 44 ```sh 45 meson setup build-wasm --cross-file wasm-cross-file.txt --default-library=static -Dbotan_wasm_path=../botan/ -Dbotan_include_path=../botan/build/include/public/ -Dcpp_std=c++2a 46 meson compile -C build-wasm 47 ``` 48 49 ## Usage 50 51 Include `spank_olm` in your C++ project and link against it. Refer to the source code for examples of how to use the 52 library's functionalities. 53 54 ## Fuzzing 55 56 Fuzzing is a key goal for this project. The repository includes a GitHub Actions workflow for running fuzz tests using 57 ClusterFuzzLite. 58 59 ## License 60 61 This project is licensed under the GNU Affero General Public License, Version 3. See 62 the [LICENSE](https://github.com/MTRNord/spank_olm/blob/main/LICENSE) file for details. 63 64 ## Disclaimer 65 66 - This library is not production-ready. 67 - No security audit has been performed. 68 - Tests are available but not yet set up on CI. 69 70 ## Contributing 71 72 Contributions are welcome! Please open issues and pull requests as needed.