[package] name = "tor-hsservice" version = "0.25.0" authors = ["The Tor Project, Inc.", "Nick Mathewson "] edition = "2021" rust-version = "1.77" license = "MIT OR Apache-2.0" homepage = "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home" description = "Arti's implementation of an onion service provider" keywords = ["tor", "arti", "cryptography"] categories = ["cryptography"] repository = "https://gitlab.torproject.org/tpo/core/arti.git/" # # We need a PreferredRuntime # @@ test-all-crates conditional-option minimal --features=tor-rtcompat/tokio,tor-rtcompat/native-tls [features] default = [] # Onion service proof of work schemes hs-pow-full = ["tor-hscrypto/hs-pow-full", "tor-netdoc/hs-pow-full", "tor-cell/hs-pow-full", "__is_experimental", "__is_experimental"] full = [ "tor-circmgr/full", "tor-hscrypto/full", "tor-llcrypto/full", "tor-netdir/full", "tor-proto/full", "tor-rtcompat/full", "retry-error/full", "safelog/full", "tor-async-utils/full", "tor-basic-utils/full", "tor-bytes/full", "tor-cell/full", "tor-config/full", "tor-dirclient/full", "tor-error/full", "tor-key-forge/full", "tor-keymgr/full", "tor-linkspec/full", "tor-netdoc/full", "tor-persist/full", "tor-protover/full", "fs-mistrust/full", "tor-log-ratelim/full", "tor-relay-selection/full", "oneshot-fused-workaround/full", "tor-config-path/full", ] # 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 = [ "experimental-api", "hs-pow-full", "restricted-discovery", ] experimental-api = ["restricted-discovery", "__is_experimental"] restricted-discovery = ["__is_experimental"] __is_experimental = [] [dependencies] amplify = { version = "4", default-features = false, features = ["derive"] } async-trait = "0.1.54" base64ct = "1.5.1" cfg-if = "1.0.0" derive-deftly = "0.14" derive_builder = { version = "0.11.2", package = "derive_builder_fork_arti" } derive_more = { version = "1.0.0", features = ["full"] } digest = "0.10.0" educe = "0.4.6" fs-mistrust = { path = "../fs-mistrust", version = "0.8.2", features = ["serde"] } futures = "0.3.14" growable-bloom-filter = "2.0.1" hex = "0.4" humantime = "2" itertools = "0.13.0" k12 = "0.3.0" once_cell = "1" oneshot-fused-workaround = { path = "../oneshot-fused-workaround", version = "0.2.0" } postage = { version = "0.5.0", default-features = false, features = ["futures-traits"] } rand = "0.8.5" rand_core = "0.6.2" retry-error = { version = "0.6.1", path = "../retry-error" } safelog = { path = "../safelog", version = "0.4.2" } serde = { version = "1.0.103", features = ["derive"] } serde_with = "3.0.0" strum = { version = "0.26.3", features = ["derive"] } thiserror = "2" tor-async-utils = { path = "../tor-async-utils", version = "0.25.0" } tor-basic-utils = { path = "../tor-basic-utils", version = "0.25.0" } tor-bytes = { version = "0.25.0", path = "../tor-bytes" } tor-cell = { version = "0.25.0", path = "../tor-cell", features = ["hs"] } tor-circmgr = { version = "0.25.0", path = "../tor-circmgr", features = ["hs-service"] } tor-config = { version = "0.25.0", path = "../tor-config" } tor-config-path = { version = "0.25.0", path = "../tor-config-path" } tor-dirclient = { path = "../tor-dirclient", version = "0.25.0", default-features = false, features = ["hs-service"] } tor-error = { version = "0.25.0", path = "../tor-error" } tor-hscrypto = { version = "0.25.0", path = "../tor-hscrypto", features = ["ope"] } tor-keymgr = { version = "0.25.0", path = "../tor-keymgr", features = ["keymgr"] } tor-linkspec = { version = "0.25.0", path = "../tor-linkspec", features = ["verbatim", "decode"] } tor-llcrypto = { version = "0.25.0", path = "../tor-llcrypto" } tor-log-ratelim = { path = "../tor-log-ratelim", version = "0.25.0" } tor-netdir = { version = "0.25.0", path = "../tor-netdir", features = ["hs-service"] } tor-netdoc = { version = "0.25.0", path = "../tor-netdoc", features = ["hs-service"] } tor-persist = { version = "0.25.0", path = "../tor-persist", features = ["state-dir"] } tor-proto = { version = "0.25.0", path = "../tor-proto", features = [ "experimental-api", "hs-service", "send-control-msg", ] } tor-protover = { version = "0.25.0", path = "../tor-protover" } tor-relay-selection = { path = "../tor-relay-selection", version = "0.25.0" } tor-rtcompat = { version = "0.25.0", path = "../tor-rtcompat" } tracing = "0.1.36" void = "1" [dev-dependencies] libc = { version = "0.2", default-features = false } rmp-serde = "1" serde_json = "1.0.104" slotmap-careful = { path = "../slotmap-careful", version = "0.2.2" } tempfile = "3" test-temp-dir = { version = "0.3.0", path = "../test-temp-dir" } tor-config = { version = "0.25.0", path = "../tor-config", features = ["testing"] } tor-key-forge = { version = "0.25.0", path = "../tor-key-forge" } tor-keymgr = { version = "0.25.0", path = "../tor-keymgr", features = ["keymgr", "testing"] } tor-netdir = { version = "0.25.0", path = "../tor-netdir", features = ["hs-service", "testing"] } tor-netdoc = { path = "../tor-netdoc", version = "0.25.0", features = ["testing"] } tor-persist = { version = "0.25.0", path = "../tor-persist", features = ["testing"] } tor-rtmock = { path = "../tor-rtmock", version = "0.25.0" } tracing-test = "0.2.4" walkdir = "2"