tor-netdoc 0.40.0

Network document formats used with the Tor protocols.
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.89"
name = "tor-netdoc"
version = "0.40.0"
authors = [
    "The Tor Project, Inc.",
    "Nick Mathewson <nickm@torproject.org>",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Network document formats used with the Tor protocols."
homepage = "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home"
readme = "README.md"
keywords = [
    "tor",
    "arti",
]
categories = ["parser-implementations"]
license = "MIT OR Apache-2.0"
repository = "https://gitlab.torproject.org/tpo/core/arti.git/"

[package.metadata.docs.rs]
all-features = true

[features]
__is_experimental = []
build_docs = [
    "rand",
    "__is_experimental",
]
dangerous-expose-struct-fields = ["__is_experimental"]
default = []
encode = []
experimental = [
    "build_docs",
    "dangerous-expose-struct-fields",
    "experimental-api",
    "hsdesc-inner-docs",
    "hs-dir",
    "hs-pow-full",
    "ns-vote",
    "parse2",
    "retain-unknown",
]
experimental-api = [
    "testing",
    "__is_experimental",
]
full = [
    "encode",
    "hs-client",
    "hs-service",
    "routerdesc",
    "ns_consensus",
    "plain-consensus",
    "tor-basic-utils/full",
    "tor-bytes/full",
    "tor-cert/full",
    "tor-checkable/full",
    "tor-error/full",
    "tor-hscrypto?/full",
    "tor-linkspec?/full",
    "tor-llcrypto/full",
    "tor-protover/full",
    "tor-units?/full",
    "tor-cell/full",
]
hs-client = ["hs-common"]
hs-common = [
    "rand",
    "tor-hscrypto",
    "tor-linkspec",
    "tor-units",
]
hs-dir = [
    "hs-common",
    "__is_experimental",
]
hs-pow-full = [
    "tor-hscrypto/hs-pow-full",
    "__is_experimental",
]
hs-service = [
    "hs-common",
    "encode",
    "tor-cert/encode",
]
hsdesc-inner-docs = [
    "visibility",
    "__is_experimental",
]
ns-vote = ["__is_experimental"]
ns_consensus = ["plain-consensus"]
parse2 = ["__is_experimental"]
plain-consensus = []
retain-unknown = ["__is_experimental"]
routerdesc = []
testing = [
    "hex-literal",
    "hsdesc-inner-docs",
    "visibility",
]

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

[dependencies.amplify]
version = "4"
features = ["derive"]
default-features = false

[dependencies.base64ct]
version = "1.5.1"
features = ["alloc"]

[dependencies.cipher]
version = "0.4.1"
features = ["zeroize"]

[dependencies.derive-deftly]
version = "~1.6.0"
features = [
    "full",
    "beta",
]

[dependencies.derive_builder]
version = "0.11.2"
package = "derive_builder_fork_arti"

[dependencies.derive_more]
version = "2.0.1"
features = ["full"]

[dependencies.digest]
version = "0.10.0"

[dependencies.educe]
version = "0.4.22"

[dependencies.enumset]
version = "1.1.10"

[dependencies.hex]
version = "0.4"

[dependencies.hex-literal]
version = "1.0"
optional = true

[dependencies.humantime]
version = "2"

[dependencies.itertools]
version = "0.14.0"

[dependencies.memchr]
version = "2.5"

[dependencies.paste]
version = "1.0.3"

[dependencies.phf]
version = "0.13.1"
features = ["macros"]

[dependencies.rand]
version = "0.9.1"
optional = true

[dependencies.saturating-time]
version = "0.3.0"

[dependencies.serde]
version = "1.0.103"
features = ["derive"]

[dependencies.serde_with]
version = "3.0.0"

[dependencies.signature]
version = "2"

[dependencies.smallvec]
version = "1.10"

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

[dependencies.subtle]
version = "2"

[dependencies.thiserror]
version = "2"

[dependencies.time]
version = "0.3.47"
features = [
    "std",
    "parsing",
    "macros",
    "formatting",
]

[dependencies.tinystr]
version = "0.8.0"

[dependencies.tor-basic-utils]
version = "0.40.0"

[dependencies.tor-bytes]
version = "0.40.0"

[dependencies.tor-cell]
version = "0.40.0"

[dependencies.tor-cert]
version = "0.40.0"

[dependencies.tor-checkable]
version = "0.40.0"

[dependencies.tor-error]
version = "0.40.0"

[dependencies.tor-hscrypto]
version = "0.40.0"
optional = true

[dependencies.tor-linkspec]
version = "0.40.0"
optional = true

[dependencies.tor-llcrypto]
version = "0.40.0"

[dependencies.tor-protover]
version = "0.40.0"
features = ["serde"]

[dependencies.tor-units]
version = "0.40.0"
optional = true

[dependencies.visibility]
version = "0.1.0"
optional = true

[dependencies.visible]
version = "0.0.1"
optional = true

[dependencies.void]
version = "1"

[dependencies.zeroize]
version = "1"

[dev-dependencies.anyhow]
version = "1.0.23"

[dev-dependencies.hex-literal]
version = "1.0"

[dev-dependencies.itertools]
version = "0.14.0"

[dev-dependencies.serde_json]
version = "1.0.50"

[dev-dependencies.testresult]
version = "0.4.1"

[dev-dependencies.tor-basic-utils]
version = "0.40.0"