# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO # # When uploading crates to the registry Cargo will automatically # "normalize" Cargo.toml files for maximal compatibility # with all versions of Cargo and also rewrite `path` dependencies # to registry (e.g., crates.io) dependencies. # # If you are reading this file be aware that the original Cargo.toml # will likely look very different (and much more reasonable). # See Cargo.toml.orig for the original contents. [package] edition = "2021" rust-version = "1.68.2" name = "mls-rs" version = "0.45.0" build = false exclude = ["test_data"] autolib = false autobins = false autoexamples = false autotests = false autobenches = false description = "An implementation of Messaging Layer Security (RFC 9420)" homepage = "https://github.com/awslabs/mls-rs" readme = "README.md" keywords = [ "crypto", "cryptography", "security", "mls", "e2ee", ] categories = [ "no-std", "cryptography", ] license = "Apache-2.0 OR MIT" repository = "https://github.com/awslabs/mls-rs" [package.metadata.docs.rs] features = [ "external_client", "sqlite", ] rustdoc-args = [ "--cfg", "docsrs", ] [features] arbitrary = [ "std", "dep:arbitrary", "mls-rs-core/arbitrary", ] benchmark_pq_crypto = ["mls-rs-crypto-awslc/post-quantum"] benchmark_util = [ "test_util", "default", "dep:mls-rs-crypto-openssl", ] by_ref_proposal = [] custom_proposal = [] default = [ "std", "rayon", "rfc_compliant", "tree_index", "fast_serialize", ] external_client = ["std"] fast_serialize = ["mls-rs-core/fast_serialize"] ffi = [] fuzz_util = [ "test_util", "default", "dep:once_cell", "dep:mls-rs-crypto-openssl", ] grease = ["std"] last_resort_key_package_ext = ["mls-rs-core/last_resort_key_package_ext"] non_domain_separated_hpke_encrypt_decrypt = [] out_of_order = ["private_message"] prior_epoch = [] private_message = [] psk = [] rayon = [ "std", "dep:rayon", ] rfc_compliant = [ "private_message", "custom_proposal", "out_of_order", "psk", "x509", "prior_epoch", "by_ref_proposal", "mls-rs-core/rfc_compliant", ] secret_tree_access = [] serde = [ "mls-rs-core/serde", "zeroize/serde", "dep:serde", "dep:hex", ] sqlcipher = [ "sqlite", "mls-rs-provider-sqlite/sqlcipher", ] sqlcipher-bundled = [ "sqlite", "mls-rs-provider-sqlite/sqlcipher-bundled", ] sqlite = [ "std", "mls-rs-provider-sqlite/sqlite", ] sqlite-bundled = [ "sqlite", "mls-rs-provider-sqlite/sqlite-bundled", ] std = [ "mls-rs-core/std", "mls-rs-codec/std", "mls-rs-identity-x509?/std", "hex/std", "futures/std", "itertools/use_std", "zeroize/std", "dep:debug_tree", "dep:thiserror", "serde?/std", ] test_util = [] tree_index = [] x509 = [ "mls-rs-core/x509", "dep:mls-rs-identity-x509", ] [lib] name = "mls_rs" path = "src/lib.rs" [[example]] name = "basic_server_usage" path = "examples/basic_server_usage.rs" required-features = ["external_client"] [[example]] name = "basic_usage" path = "examples/basic_usage.rs" required-features = [] [[example]] name = "custom" path = "examples/custom.rs" required-features = ["std"] [[example]] name = "large_group" path = "examples/large_group.rs" required-features = [] [[example]] name = "x509" path = "examples/x509.rs" required-features = ["x509"] [[test]] name = "client_tests" path = "tests/client_tests.rs" required-features = ["test_util"] [[bench]] name = "group_add" path = "benches/group_add.rs" harness = false required-features = ["benchmark_util"] [[bench]] name = "group_application" path = "benches/group_application.rs" harness = false required-features = ["benchmark_util"] [[bench]] name = "group_commit" path = "benches/group_commit.rs" harness = false required-features = ["benchmark_util"] [[bench]] name = "group_receive_commit" path = "benches/group_receive_commit.rs" harness = false required-features = ["benchmark_util"] [[bench]] name = "group_serialize" path = "benches/group_serialize.rs" harness = false required-features = ["benchmark_util"] [dependencies] cfg-if = "1" [dependencies.arbitrary] version = "1" features = ["derive"] optional = true [dependencies.debug_tree] version = "0.4.0" optional = true [dependencies.hex] version = "^0.4.3" features = [ "serde", "alloc", ] optional = true default-features = false [dependencies.itertools] version = "0.10.5" features = ["use_alloc"] default-features = false [dependencies.maybe-async] version = "0.2.10" [dependencies.mls-rs-codec] version = "0.6" path = "../mls-rs-codec" default-features = false [dependencies.mls-rs-core] version = "0.21.0" path = "../mls-rs-core" default-features = false [dependencies.mls-rs-crypto-awslc] version = "0.15" path = "../mls-rs-crypto-awslc" optional = true [dependencies.mls-rs-crypto-openssl] version = "0.14.0" path = "../mls-rs-crypto-openssl" optional = true [dependencies.mls-rs-identity-x509] version = "0.15.0" path = "../mls-rs-identity-x509" optional = true default-features = false [dependencies.mls-rs-provider-sqlite] version = "0.15.0" path = "../mls-rs-provider-sqlite" optional = true default-features = false [dependencies.once_cell] version = "1.18" optional = true [dependencies.rayon] version = "1" optional = true [dependencies.serde] version = "1.0" features = [ "alloc", "derive", ] optional = true default-features = false [dependencies.thiserror] version = "1.0.40" optional = true [dependencies.zeroize] version = "1" features = [ "alloc", "zeroize_derive", ] default-features = false [dev-dependencies] assert_matches = "1.5.0" rand = "0.8" serde_json = "^1.0" [dev-dependencies.criterion] version = "0.5.1" features = [ "async_futures", "html_reports", ] default-features = false [dev-dependencies.hex] version = "^0.4.3" features = [ "serde", "alloc", ] default-features = false [dev-dependencies.serde] version = "1.0" features = [ "alloc", "derive", ] default-features = false [target."cfg(mls_build_async)".dependencies] async-trait = "^0.1" [target."cfg(mls_build_async)".dependencies.futures] version = "0.3.25" features = ["alloc"] default-features = false [target."cfg(mls_build_async)".dev-dependencies] futures-test = "0.3.25" [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.criterion] version = "0.5.1" features = [ "async_futures", "html_reports", ] [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.mls-rs-crypto-openssl] version = "0.14.0" path = "../mls-rs-crypto-openssl" [target.'cfg(target_arch = "wasm32")'.dependencies.getrandom] version = "0.2" features = [ "js", "custom", ] default-features = false [target.'cfg(target_arch = "wasm32")'.dependencies.rand_core] version = "0.6" features = ["alloc"] default-features = false [target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen] version = "0.2" [target.'cfg(target_arch = "wasm32")'.dev-dependencies.criterion] version = "0.5.1" features = [ "plotters", "cargo_bench_support", "async_futures", "html_reports", ] default-features = false [target.'cfg(target_arch = "wasm32")'.dev-dependencies.mls-rs-crypto-webcrypto] version = "0.8.0" path = "../mls-rs-crypto-webcrypto" [target.'cfg(target_arch = "wasm32")'.dev-dependencies.wasm-bindgen-test] version = "0.3" [lints.rust.unexpected_cfgs] level = "warn" priority = 0 check-cfg = [ "cfg(mls_build_async)", "cfg(coverage_nightly)", ]