[package] authors = [ "Damir Jelić ", "Denis Kasak ", ] name = "vodozemac" description = "A Rust implementation of Olm and Megolm" repository = "https://github.com/matrix-org/vodozemac" version = "0.8.1" edition = "2021" keywords = ["matrix", "chat", "messaging", "olm", "cryptography"] license = "Apache-2.0" rust-version = "1.65" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [lints.rust] unexpected_cfgs = { level = "deny", check-cfg = ['cfg(fuzzing)'] } unsafe_code = "deny" missing_docs = "deny" dead_code = "deny" trivial_casts = "deny" trivial_numeric_casts = "deny" unsafe_op_in_unsafe_fn = "deny" unused_extern_crates = "deny" unused_import_braces = "deny" unused_qualifications = "deny" rust_2018_idioms = "deny" [lints.clippy] unwrap_used = "deny" mem_forget = "deny" missing_const_for_fn = "warn" [features] default = ["libolm-compat"] js = ["getrandom/js"] strict-signatures = [] libolm-compat = [] insecure-pk-encryption = [] # The low-level-api feature exposes extra APIs that are only useful in advanced # use cases and require extra care to use. low-level-api = [] [dependencies] aes = "0.8.4" arrayvec = { version = "0.7.6", features = ["serde"] } base64 = "0.22.1" base64ct = { version = "1.6.0", features = ["std", "alloc"] } cbc = { version = "0.1.2", features = ["std"] } chacha20poly1305 = "0.10.1" curve25519-dalek = { version = "4.1.3", default-features = false, features = ["zeroize"] } ed25519-dalek = { version = "2.1.1", default-features = false, features = ["rand_core", "std", "serde", "hazmat", "zeroize"] } getrandom = "0.2.15" hkdf = "0.12.4" hmac = "0.12.1" matrix-pickle = { version = "0.2.1" } prost = "0.13.2" rand = "0.8.5" serde = { version = "1.0.210", features = ["derive"] } serde_bytes = "0.11.15" serde_json = "1.0.128" sha2 = "0.10.8" subtle = "2.6.1" thiserror = "1.0.63" x25519-dalek = { version = "2.0.1", features = ["serde", "reusable_secrets", "static_secrets", "zeroize"] } zeroize = "1.8.1" [dev-dependencies] anyhow = "1.0.89" assert_matches = "1.5.0" assert_matches2 = "0.1.2" olm-rs = "2.2.0" proptest = "1.5.0" [patch.crates-io] olm-rs = { git = "https://github.com/poljar/olm-rs" }