[package]
edition = "2021"
name = "openmls"
version = "0.8.0"
authors = ["OpenMLS Authors"]
build = false
exclude = ["/test_vectors"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A Rust implementation of the Messaging Layer Security (MLS) protocol, as defined in RFC 9420."
documentation = "https://docs.rs/openmls"
readme = "README.md"
keywords = [
"MLS",
"IETF",
"RFC9420",
"Encryption",
"E2EE",
]
license = "MIT"
repository = "https://github.com/openmls/openmls/"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
backtrace = ["dep:backtrace"]
content-debug = []
crypto-debug = []
extensions-draft-08 = [
"openmls_traits/extensions-draft-08",
"openmls_memory_storage?/extensions-draft-08",
"openmls_sqlite_storage?/extensions-draft-08",
"openmls_libcrux_crypto?/extensions-draft-08",
]
fork-resolution = []
js = [
"dep:getrandom",
"dep:fluvio-wasm-timer",
"getrandom/wasm_js",
]
js-test = [
"dep:getrandom_old",
"getrandom_old/js",
]
libcrux-provider = [
"dep:openmls_libcrux_crypto",
"openmls_test?/libcrux-provider",
]
sqlite-provider = [
"dep:openmls_sqlite_storage",
"openmls_test?/sqlite-provider",
]
test-utils = [
"dep:serde_json",
"dep:itertools",
"openmls_rust_crypto/test-utils",
"dep:rand",
"dep:wasm-bindgen-test",
"dep:openmls_basic_credential",
"dep:openmls_memory_storage",
"dep:openmls_test",
"dep:once_cell",
"backtrace",
]
[lib]
name = "openmls"
path = "src/lib.rs"
[[example]]
name = "large-groups"
path = "examples/large-groups.rs"
[[test]]
name = "app_data_update"
path = "tests/app_data_update.rs"
[[test]]
name = "app_ephemeral"
path = "tests/app_ephemeral.rs"
[[test]]
name = "book_code"
path = "tests/book_code.rs"
[[test]]
name = "book_code_app_data"
path = "tests/book_code_app_data.rs"
[[test]]
name = "book_code_discard_commit"
path = "tests/book_code_discard_commit.rs"
[[test]]
name = "book_code_discard_welcome"
path = "tests/book_code_discard_welcome.rs"
[[test]]
name = "book_code_fork_resolution"
path = "tests/book_code_fork_resolution.rs"
[[test]]
name = "decryption_key_index"
path = "tests/decryption_key_index.rs"
[[test]]
name = "external_commit"
path = "tests/external_commit.rs"
[[test]]
name = "grease"
path = "tests/grease.rs"
[[test]]
name = "interop_scenarios"
path = "tests/interop_scenarios.rs"
[[test]]
name = "join"
path = "tests/join.rs"
[[test]]
name = "managed_api"
path = "tests/managed_api.rs"
[[test]]
name = "mls_group"
path = "tests/mls_group.rs"
[[test]]
name = "opaque_extension"
path = "tests/opaque_extension.rs"
[[test]]
name = "own_messages"
path = "tests/own_messages.rs"
[[test]]
name = "readd"
path = "tests/readd.rs"
[[test]]
name = "staged_commit_next_epoch"
path = "tests/staged_commit_next_epoch.rs"
[[test]]
name = "store"
path = "tests/store.rs"
[[bench]]
name = "benchmark"
path = "benches/benchmark.rs"
harness = false
[dependencies.backtrace]
version = "0.3"
optional = true
[dependencies.fluvio-wasm-timer]
version = "0.2.5"
optional = true
[dependencies.getrandom]
version = "0.3.4"
optional = true
[dependencies.getrandom_old]
version = "0.2.15"
optional = true
package = "getrandom"
[dependencies.itertools]
version = "0.14"
optional = true
[dependencies.log]
version = "0.4"
features = ["std"]
[dependencies.once_cell]
version = "1.19.0"
optional = true
[dependencies.openmls_basic_credential]
version = "0.5.0"
features = [
"clonable",
"test-utils",
]
optional = true
[dependencies.openmls_libcrux_crypto]
version = "0.3.0"
optional = true
[dependencies.openmls_memory_storage]
version = "0.5.0"
features = ["test-utils"]
optional = true
[dependencies.openmls_rust_crypto]
version = "0.5.0"
optional = true
[dependencies.openmls_sqlite_storage]
version = "0.2.0"
optional = true
[dependencies.openmls_test]
version = "0.2.1"
optional = true
[dependencies.openmls_traits]
version = "0.5.0"
[dependencies.rand]
version = "0.9"
optional = true
[dependencies.rayon]
version = "^1.5.0"
[dependencies.serde]
version = "^1.0"
features = ["derive"]
[dependencies.serde_bytes]
version = "0.11.17"
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.thiserror]
version = "^2.0"
[dependencies.tls_codec]
version = "0.4.2"
features = [
"derive",
"serde",
"mls",
]
[dependencies.wasm-bindgen-test]
version = "0.3.50"
optional = true
[dependencies.zeroize]
version = "1.8.1"
[dev-dependencies.base64]
version = "0.22.1"
[dev-dependencies.clap]
version = "4"
features = ["derive"]
[dev-dependencies.criterion]
version = "^0.8"
default-features = false
[dev-dependencies.flate2]
version = "1.0"
[dev-dependencies.hex]
version = "0.4"
features = ["serde"]
[dev-dependencies.indicatif]
version = "0.18.3"
[dev-dependencies.lazy_static]
version = "1.4"
[dev-dependencies.openmls_traits]
version = "0.5.0"
features = ["test-utils"]
[dev-dependencies.pretty_env_logger]
version = "0.5"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.wasm-bindgen]
version = "0.2.100"
[dev-dependencies.wasm-bindgen-test]
version = "0.3.50"
[target.'cfg(any(target_arch = "wasm32", all(target_arch = "x86", target_os = "windows")))'.dev-dependencies]
[target.'cfg(not(any(target_arch = "wasm32", all(target_arch = "x86", target_os = "windows"))))'.dev-dependencies]