[package] name = "openmls" version = "0.5.0" authors = ["OpenMLS Authors"] edition = "2021" description = "A Rust implementation of the Messaging Layer Security (MLS) protocol, as defined in RFC 9420." license = "MIT" documentation = "https://openmls.github.io/openmls/" repository = "https://github.com/openmls/openmls/" readme = "../README.md" keywords = ["MLS", "IETF", "RFC9420", "Encryption", "E2EE"] [dependencies] openmls_traits = { version = "0.2.0", path = "../traits" } serde = { version = "^1.0", features = ["derive"] } log = { version = "0.4", features = ["std"] } tls_codec = { workspace = true } rayon = "^1.5.0" thiserror = "^1.0" backtrace = "0.3" # Only required for tests. rand = { version = "0.8", optional = true } serde_json = { version = "1.0", optional = true } # Crypto backends required for KAT and testing - "test-utils" feature itertools = { version = "0.10", optional = true } openmls_rust_crypto = { version = "0.2.0", path = "../openmls_rust_crypto", optional = true } openmls_basic_credential = { version = "0.2.0", path = "../basic_credential", optional = true, features = ["clonable", "test-utils"] } rstest = { version = "^0.16", optional = true } rstest_reuse = { version = "0.4", optional = true } [features] default = [] crypto-subtle = [] # Enable subtle crypto APIs that have to be used with care. test-utils = [ "dep:serde_json", "dep:itertools", "dep:openmls_rust_crypto", "dep:rand", "dep:rstest", "dep:rstest_reuse", "dep:openmls_basic_credential", ] crypto-debug = [] # ☣️ Enable logging of sensitive cryptographic information content-debug = [] # ☣️ Enable logging of sensitive message content [dev-dependencies] backtrace = "0.3" criterion = "^0.5" hex = { version = "0.4", features = ["serde"] } itertools = "0.10" lazy_static = "1.4" openmls = { path = ".", features = ["test-utils"] } openmls_traits = { version = "0.2.0", path = "../traits", features = ["test-utils"] } pretty_env_logger = "0.5" rstest = "^0.16" rstest_reuse = "0.4" tempfile = "3" [[bench]] name = "benchmark" harness = false