mls-spec 2.0.0

This crate is a repository of MLS / RFC9420-related data structures.
Documentation
# 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 = "2024"
rust-version = "1.85"
name = "mls-spec"
version = "2.0.0"
authors = ["Mathieu Amiot <amiot.mathieu@gmail.com>"]
build = false
include = [
    "src/**/*",
    "LICENSE-*",
    "README.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "This crate is a repository of MLS / RFC9420-related data structures."
documentation = "https://docs.rs/mls-spec"
readme = "README.md"
keywords = [
    "mls",
    "e2ee",
    "rfc9420",
    "spec",
    "tlspl",
]
categories = [
    "cryptography",
    "parser-implementations",
    "encoding",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/OtaK/mls-spec"

[package.metadata.docs.rs]
features = [
    "all-drafts",
    "mls-rs-compat",
    "tlspl-utils",
    "serde",
]
rustdoc-args = [
    "--cfg",
    "docsrs",
    "--generate-link-to-definition",
]

[features]
all-drafts = [
    "mls-extensions",
    "draft-ietf-mls-combiner",
    "draft-ietf-mls-partial",
    "draft-ietf-mls-targeted-messages",
    "draft-kohbrok-mls-associated-parties",
    "draft-mahy-mls-ratchet-tree-options",
    "draft-mahy-mls-semiprivatemessage",
    "draft-mahy-mls-sd-cwt-credential",
    "draft-mahy-mls-private-external",
    "draft-mahy-mls-new-content-types",
    "draft-mularczyk-mls-splitcommit",
    "draft-pham-mls-additional-wire-formats",
    "draft-kohbrok-mls-leaf-operation-intents",
]
default = []
draft-ietf-mls-combiner = ["draft-ietf-mls-extensions"]
draft-ietf-mls-extensions = []
draft-ietf-mls-extensions-content-advertisement-parse = [
    "draft-ietf-mls-extensions",
    "dep:mediatype",
]
draft-ietf-mls-partial = []
draft-ietf-mls-targeted-messages = []
draft-kohbrok-mls-associated-parties = ["draft-ietf-mls-extensions"]
draft-kohbrok-mls-leaf-operation-intents = []
draft-mahy-mls-new-content-types = []
draft-mahy-mls-private-external = []
draft-mahy-mls-ratchet-tree-options = []
draft-mahy-mls-sd-cwt-credential = []
draft-mahy-mls-semiprivatemessage = ["draft-ietf-mls-extensions"]
draft-mularczyk-mls-splitcommit = []
draft-pham-mls-additional-wire-formats = ["draft-ietf-mls-extensions"]
hazmat = []
mls-extensions = ["draft-ietf-mls-extensions"]
mls-rs-compat = ["dep:mls-rs-codec"]
serde = [
    "dep:serde",
    "dep:serde_repr",
    "tls_codec/serde",
    "zeroize/serde",
]
test-utils = [
    "dep:pretty_assertions",
    "dep:color-eyre",
    "dep:postcard",
    "dep:serde_json",
]
test-vectors = []
tlspl-utils = []

[lib]
name = "mls_spec"
path = "src/lib.rs"

[dependencies.async-trait]
version = "0.1"

[dependencies.color-eyre]
version = "0.6"
optional = true

[dependencies.hex]
version = "0.4"

[dependencies.mediatype]
version = "0.21"
optional = true
default-features = false

[dependencies.miette]
version = "7"

[dependencies.mls-rs-codec]
version = "0.7"
optional = true

[dependencies.postcard]
version = "1"
features = ["use-std"]
optional = true

[dependencies.pretty_assertions]
version = "1.4"
optional = true

[dependencies.serde]
version = "1"
features = ["derive"]
optional = true

[dependencies.serde_json]
version = "1"
features = ["preserve_order"]
optional = true

[dependencies.serde_repr]
version = "0.1"
optional = true

[dependencies.static_assertions]
version = "1.1"

[dependencies.strum]
version = "0.28"
features = ["derive"]

[dependencies.subtle]
version = "2.6"

[dependencies.thiserror]
version = "2"

[dependencies.tls_codec]
version = "0.4"
features = [
    "derive",
    "mls",
]

[dependencies.zeroize]
version = "1.8"
features = ["derive"]

[dev-dependencies.color-eyre]
version = "0.6"

[dev-dependencies.convert_case]
version = "0.11"

[dev-dependencies.faster-hex]
version = "0.10"
features = ["serde"]

[dev-dependencies.libtest-mimic]
version = "0.8"

[dev-dependencies.pretty_assertions]
version = "1.4"

[dev-dependencies.serde]
version = "1.0"
features = ["derive"]

[dev-dependencies.tokio]
version = "1"
features = ["full"]

[dev-dependencies.tracing-error]
version = "0.2"

[dev-dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]

[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies.js-sys]
version = "0.3"