[package] name = "tor-netdoc" version = "0.5.2" authors = ["The Tor Project, Inc.", "Nick Mathewson "] edition = "2021" rust-version = "1.56" license = "MIT OR Apache-2.0" homepage = "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home" description = "Network document formats used with the Tor protocols." keywords = ["tor", "arti"] categories = ["parser-implementations"] repository = "https://gitlab.torproject.org/tpo/core/arti.git/" [features] default = [] full = ["routerdesc", "ns_consensus"] experimental = ["build_docs", "experimental-api"] # Enable code to build the objects that represent different network documents. build_docs = ["rand"] # Enable the "router descriptor" document type, which is needed by relays and # bridge clients. routerdesc = [] # Enable the "ns consensus" document type, which some relays cache and serve. ns_consensus = [] # Enable experimental APIs that are not yet officially supported. # # These APIs are not covered by semantic versioning. Using this # feature voids your "semver warrantee". experimental-api = [] # Expose various struct fields as "pub", for testing. # # This feature is *super* dangerous for stability and correctness. If you use it # for anything besides testing, you are probably putting your users in danger. # # The struct fields exposed by this feature are not covered by semantic version. # In fact, using this feature will give you the opposite of a "semver # guarantee": you should be mildly surprised when your code _doesn't_ break from # version to version. dangerous-expose-struct-fields = ["visible", "visibility"] [dependencies] base64ct = { version = "1.5.1", features = ["alloc"] } bitflags = "1" derive_more = "0.99" digest = "0.10.0" educe = "0.4.6" hex = "0.4" once_cell = "1" phf = { version = "0.10.0", features = ["macros"] } rand = { version = "0.8", optional = true } serde = "1.0.103" serde_with = "1.14.0" signature = "1" thiserror = "1" time = { version = "0.3", features = ["std", "parsing", "macros"] } tinystr = "0.6.0" tor-bytes = { path = "../tor-bytes", version = "0.5.1" } tor-cert = { path = "../tor-cert", version = "0.5.0" } tor-checkable = { path = "../tor-checkable", version = "0.3.0" } tor-error = { path = "../tor-error", version = "0.3.2" } tor-llcrypto = { path = "../tor-llcrypto", version = "0.3.5" } tor-protover = { path = "../tor-protover", version = "0.3.0" } visibility = { version = "0.0.1", optional = true } visible = { version = "0.0.1", optional = true } weak-table = "0.3.0" [dev-dependencies] hex-literal = "0.3" itertools = "0.10.1" serde_json = "1.0.50" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"]