diff options
Diffstat (limited to 'crates')
| -rw-r--r-- | crates/arti-client/Cargo.toml | 6 | ||||
| -rw-r--r-- | crates/arti-relay/Cargo.toml | 1 | ||||
| -rw-r--r-- | crates/arti-rpc-client-core/Cargo.toml | 2 | ||||
| -rw-r--r-- | crates/arti/Cargo.toml | 4 | ||||
| -rw-r--r-- | crates/tor-bytes/Cargo.toml | 2 | ||||
| -rw-r--r-- | crates/tor-cell/Cargo.toml | 13 | ||||
| -rw-r--r-- | crates/tor-chanmgr/Cargo.toml | 1 | ||||
| -rw-r--r-- | crates/tor-circmgr/Cargo.toml | 1 | ||||
| -rw-r--r-- | crates/tor-config/Cargo.toml | 2 | ||||
| -rw-r--r-- | crates/tor-hsclient/Cargo.toml | 8 | ||||
| -rw-r--r-- | crates/tor-hscrypto/Cargo.toml | 12 | ||||
| -rw-r--r-- | crates/tor-hscrypto/README.md | 15 | ||||
| -rw-r--r-- | crates/tor-hsservice/Cargo.toml | 11 | ||||
| -rw-r--r-- | crates/tor-linkspec/Cargo.toml | 1 | ||||
| -rw-r--r-- | crates/tor-llcrypto/Cargo.toml | 2 | ||||
| -rw-r--r-- | crates/tor-memquota/Cargo.toml | 1 | ||||
| -rw-r--r-- | crates/tor-netdoc/Cargo.toml | 6 | ||||
| -rw-r--r-- | crates/tor-proto/Cargo.toml | 1 | ||||
| -rw-r--r-- | crates/tor-rtcompat/Cargo.toml | 2 | ||||
| -rw-r--r-- | crates/tor-rtmock/Cargo.toml | 2 | ||||
| -rw-r--r-- | crates/tor-socksproto/Cargo.toml | 2 | ||||
| -rw-r--r-- | crates/tor-units/Cargo.toml | 2 |
22 files changed, 72 insertions, 25 deletions
diff --git a/crates/arti-client/Cargo.toml b/crates/arti-client/Cargo.toml index 25577426e..df08eabea 100644 --- a/crates/arti-client/Cargo.toml +++ b/crates/arti-client/Cargo.toml @@ -53,6 +53,7 @@ full = [ "tor-linkspec/full", "tor-geoip?/full", "tor-hsservice?/full", + "tor-memquota/full", ] # "full" is a top-level selector that turns on every feature, _EXCEPT FOR_: # * Features that are experimental or unstable # * Features that are testing-only @@ -69,8 +70,8 @@ pt-client = ["bridge-client", "tor-chanmgr/pt-client", "tor-guardmgr/pt-client", # Onion service proof of work schemes (specific schemes, full set, default set) hs-pow-v1 = ["tor-hsclient?/pow-v1", "tor-hsservice?/pow-v1"] -hs-pow-full = ["hs-pow-v1"] -hs-pow = ["hs-pow-v1"] +hs-pow-full = ["hs-pow-v1", "__is_experimental"] +hs-pow = ["hs-pow-v1", "__is_experimental"] # Expose interfaces useful for testing testing = ["__is_experimental", "visibility"] @@ -105,6 +106,7 @@ experimental = [ "error_detail", "geoip", "hs-pow", + "hs-pow-full", "rpc", "testing", "tor-proto/experimental", diff --git a/crates/arti-relay/Cargo.toml b/crates/arti-relay/Cargo.toml index c88eb2001..37fdb85a9 100644 --- a/crates/arti-relay/Cargo.toml +++ b/crates/arti-relay/Cargo.toml @@ -28,6 +28,7 @@ full = [ "tor-proto/full", "tor-relay-crypto/full", "tor-rtcompat/full", + "tor-memquota/full", ] async-std = ["tor-rtcompat/async-std"] diff --git a/crates/arti-rpc-client-core/Cargo.toml b/crates/arti-rpc-client-core/Cargo.toml index c86a27d4a..b8fe6dadd 100644 --- a/crates/arti-rpc-client-core/Cargo.toml +++ b/crates/arti-rpc-client-core/Cargo.toml @@ -38,7 +38,7 @@ socketpair = "0.19" tor-basic-utils = { path = "../tor-basic-utils", version = "0.23.0" } [features] -full = ["ffi", "caret/full", "tor-socksproto/full"] +full = ["ffi", "caret/full", "tor-socksproto/full", "tor-error/full"] ffi = ["paste"] [package.metadata.docs.rs] diff --git a/crates/arti/Cargo.toml b/crates/arti/Cargo.toml index 6f0902519..d7723fbb1 100644 --- a/crates/arti/Cargo.toml +++ b/crates/arti/Cargo.toml @@ -27,6 +27,7 @@ default = [ ] full = [ + "default-runtime", "memquota", "onion-service-client", "onion-service-service", @@ -67,7 +68,7 @@ native-tls = ["arti-client/native-tls", "tor-rtcompat/native-tls"] onion-service-client = ["arti-client/onion-service-client"] onion-service-service = ["arti-client/onion-service-service", "tor-hsrproxy", "tor-hsservice"] vanguards = ["arti-client/vanguards"] -hs-pow = ["arti-client/hs-pow"] +hs-pow = ["arti-client/hs-pow", "__is_experimental"] pt-client = ["bridge-client", "arti-client/pt-client"] ctor-keystore = ["arti-client/ctor-keystore", "__is_experimental"] @@ -100,6 +101,7 @@ experimental = [ "rpc", "hsc", "tor-hsservice/experimental", + "ctor-keystore", ] rpc = ["arti-rpcserver", "tor-rpcbase", "derive-deftly", "__is_experimental"] diff --git a/crates/tor-bytes/Cargo.toml b/crates/tor-bytes/Cargo.toml index b8dd35b00..ac2e58e15 100644 --- a/crates/tor-bytes/Cargo.toml +++ b/crates/tor-bytes/Cargo.toml @@ -30,7 +30,7 @@ getrandom = { version = "0.2.3", features = ["js"] } [features] default = ["tor-llcrypto"] -full = ["tor-error/full", "tor-llcrypto/full", "safelog/full"] +full = ["tor-error/full", "tor-llcrypto/full", "safelog/full", "tor-llcrypto?/full"] [package.metadata.docs.rs] all-features = true diff --git a/crates/tor-cell/Cargo.toml b/crates/tor-cell/Cargo.toml index 18fb64011..3b790a4e7 100644 --- a/crates/tor-cell/Cargo.toml +++ b/crates/tor-cell/Cargo.toml @@ -14,7 +14,13 @@ repository = "https://gitlab.torproject.org/tpo/core/arti.git/" [features] default = [] -experimental = ["experimental-udp", "hs", "testing"] +experimental = [ + "experimental-udp", + "hs", + "hs-pow-full", + "hs-pow-v1", + "testing", +] # Enable experimental UDP support. experimental-udp = ["__is_experimental"] @@ -25,8 +31,8 @@ hs = ["tor-hscrypto", "__is_experimental"] testing = ["experimental-udp", "__is_experimental"] # Onion service proof of work schemes -hs-pow-v1 = ["tor-hscrypto/pow-v1"] -hs-pow-full = ["hs-pow-v1"] +hs-pow-v1 = ["tor-hscrypto/pow-v1", "__is_experimental"] +hs-pow-full = ["hs-pow-v1", "__is_experimental"] full = [ "caret/full", @@ -38,6 +44,7 @@ full = [ "tor-linkspec/full", "tor-llcrypto/full", "tor-units/full", + "tor-memquota/full", ] __is_experimental = [] diff --git a/crates/tor-chanmgr/Cargo.toml b/crates/tor-chanmgr/Cargo.toml index 812addbcd..50c4a3401 100644 --- a/crates/tor-chanmgr/Cargo.toml +++ b/crates/tor-chanmgr/Cargo.toml @@ -31,6 +31,7 @@ full = [ "tor-units/full", "tor-async-utils/full", "oneshot-fused-workaround/full", + "tor-memquota/full", ] pt-client = ["tor-linkspec/pt-client"] diff --git a/crates/tor-circmgr/Cargo.toml b/crates/tor-circmgr/Cargo.toml index 244aa6ea1..77e8e58c5 100644 --- a/crates/tor-circmgr/Cargo.toml +++ b/crates/tor-circmgr/Cargo.toml @@ -37,6 +37,7 @@ full = [ "tor-protover/full", "tor-relay-selection/full", "oneshot-fused-workaround/full", + "tor-memquota/full", ] specific-relay = [] vanguards = ["tor-guardmgr/vanguards"] diff --git a/crates/tor-config/Cargo.toml b/crates/tor-config/Cargo.toml index ca8a659fa..9c0cfc411 100644 --- a/crates/tor-config/Cargo.toml +++ b/crates/tor-config/Cargo.toml @@ -14,7 +14,7 @@ repository = "https://gitlab.torproject.org/tpo/core/arti.git/" [features] default = ["expand-paths"] -full = ["expand-paths", "fs-mistrust/full", "tor-basic-utils/full", "tor-error/full", "tor-rtcompat/full"] +full = ["expand-paths", "fs-mistrust/full", "tor-basic-utils/full", "tor-error/full", "tor-rtcompat/full", "tor-config-path/full"] experimental = ["testing", "experimental-api"] # Enable experimental APIs that are not yet officially supported. diff --git a/crates/tor-hsclient/Cargo.toml b/crates/tor-hsclient/Cargo.toml index ef32912b7..f0aa07848 100644 --- a/crates/tor-hsclient/Cargo.toml +++ b/crates/tor-hsclient/Cargo.toml @@ -17,8 +17,8 @@ default = [] keymgr = ["tor-keymgr/keymgr", "__is_experimental"] # Onion service proof of work schemes -pow-v1 = ["tor-hscrypto/pow-v1", "tor-netdoc/hs-pow-v1", "tor-cell/hs-pow-v1"] -pow-full = ["pow-v1"] +pow-v1 = ["tor-hscrypto/pow-v1", "tor-netdoc/hs-pow-v1", "tor-cell/hs-pow-v1", "__is_experimental"] +pow-full = ["pow-v1", "__is_experimental"] full = [ "retry-error/full", @@ -42,9 +42,11 @@ full = [ "tor-async-utils/full", "tor-persist/full", "oneshot-fused-workaround/full", + "slotmap-careful/full", + "tor-memquota/full", ] __is_experimental = [] -experimental = ["keymgr"] +experimental = ["keymgr", "pow-full", "pow-v1"] [dependencies] async-trait = "0.1.54" diff --git a/crates/tor-hscrypto/Cargo.toml b/crates/tor-hscrypto/Cargo.toml index d6f879092..bc84a9d07 100644 --- a/crates/tor-hscrypto/Cargo.toml +++ b/crates/tor-hscrypto/Cargo.toml @@ -17,8 +17,8 @@ memquota-memcost = ["derive-deftly", "tor-memquota", "tor-units/memquota-memcost ope = ["cipher", "zeroize"] # Onion service proof of work schemes -pow-v1 = ["arrayvec", "blake2", "equix"] -pow-full = ["pow-v1"] +pow-v1 = ["arrayvec", "blake2", "equix", "__is_experimental"] +pow-full = ["pow-v1", "__is_experimental"] full = [ "memquota-memcost", @@ -29,8 +29,16 @@ full = [ "tor-llcrypto/full", "tor-units/full", "tor-error/full", + "equix?/full", + "tor-memquota?/full", ] +experimental = [ + "pow-full", + "pow-v1", +] +__is_experimental = [] + [dependencies] arrayvec = { version = "0.7.4", optional = true } blake2 = { version = "0.10.6", optional = true } diff --git a/crates/tor-hscrypto/README.md b/crates/tor-hscrypto/README.md index 3a8036be8..91b563a41 100644 --- a/crates/tor-hscrypto/README.md +++ b/crates/tor-hscrypto/README.md @@ -32,12 +32,25 @@ onion services. * `ope` -- support for Order Preserving Encryption +* `full` -- Enable all features above. + +### Experimental and unstable features + +Note that the APIs enabled by these features are NOT covered by +semantic versioning[^1] guarantees: we might break them or remove +them between patch versions. + * `pow-v1` -- Tor Hidden Services Proof of Work (`v1` scheme only) * `pow-full` -- Tor Hidden Services Proof of Work (metafeature, enables all non-experimental schemes: currently, implies only `pow-v1`). -* `full` -- Enable all features above. +* `experimental`: Enable all the above experimental features. + +[^1]: Remember, semantic versioning is what makes various `cargo` +features work reliably. To be explicit: if you want `cargo update` +to _only_ make safe changes, then you cannot enable these +features. ## License diff --git a/crates/tor-hsservice/Cargo.toml b/crates/tor-hsservice/Cargo.toml index 6aea20af9..b2e8251f3 100644 --- a/crates/tor-hsservice/Cargo.toml +++ b/crates/tor-hsservice/Cargo.toml @@ -18,8 +18,8 @@ repository = "https://gitlab.torproject.org/tpo/core/arti.git/" default = [] # Onion service proof of work schemes -pow-v1 = ["tor-hscrypto/pow-v1", "tor-netdoc/hs-pow-v1", "tor-cell/hs-pow-v1"] -pow-full = ["pow-v1"] +pow-v1 = ["tor-hscrypto/pow-v1", "tor-netdoc/hs-pow-v1", "tor-cell/hs-pow-v1", "__is_experimental"] +pow-full = ["pow-v1", "__is_experimental"] full = [ "tor-circmgr/full", @@ -53,7 +53,12 @@ full = [ # # These APIs are not covered by semantic versioning. Using this # feature voids your "semver warrantee". -experimental = ["experimental-api", "restricted-discovery"] +experimental = [ + "experimental-api", + "pow-full", + "pow-v1", + "restricted-discovery", +] experimental-api = ["restricted-discovery", "__is_experimental"] restricted-discovery = ["__is_experimental"] diff --git a/crates/tor-linkspec/Cargo.toml b/crates/tor-linkspec/Cargo.toml index 7452e1f18..091d3d3e1 100644 --- a/crates/tor-linkspec/Cargo.toml +++ b/crates/tor-linkspec/Cargo.toml @@ -22,6 +22,7 @@ full = [ "tor-config/full", "tor-llcrypto/full", "tor-protover/full", + "tor-memquota/full", ] experimental = ["decode", "verbatim"] pt-client = [] diff --git a/crates/tor-llcrypto/Cargo.toml b/crates/tor-llcrypto/Cargo.toml index cf077cef1..32817c404 100644 --- a/crates/tor-llcrypto/Cargo.toml +++ b/crates/tor-llcrypto/Cargo.toml @@ -14,7 +14,7 @@ repository = "https://gitlab.torproject.org/tpo/core/arti.git/" [features] default = [] memquota-memcost = ["tor-memquota", "derive-deftly"] -full = ["memquota-memcost", "safelog/full"] +full = ["memquota-memcost", "safelog/full", "tor-memquota?/full"] with-openssl = ["openssl", "typenum", "cipher", "__is_nonadditive"] with-sha1-asm = ["sha1/asm", "__is_nonadditive"] diff --git a/crates/tor-memquota/Cargo.toml b/crates/tor-memquota/Cargo.toml index ca6b5c2db..ac50457ed 100644 --- a/crates/tor-memquota/Cargo.toml +++ b/crates/tor-memquota/Cargo.toml @@ -52,6 +52,7 @@ full = [ "tor-rtcompat/full", "tor-async-utils/full", "tor-basic-utils/full", + "slotmap-careful/full", ] default = ["memquota"] memquota = [] diff --git a/crates/tor-netdoc/Cargo.toml b/crates/tor-netdoc/Cargo.toml index 8c14962be..39dccb2a2 100644 --- a/crates/tor-netdoc/Cargo.toml +++ b/crates/tor-netdoc/Cargo.toml @@ -35,6 +35,8 @@ experimental = [ "build_docs", "experimental-api", "hs-dir", + "hs-pow-full", + "hs-pow-v1", "hsdesc-inner-docs", "dangerous-expose-struct-fields", ] @@ -63,8 +65,8 @@ hs-common = ["rand", "tor-hscrypto", "tor-linkspec", "tor-units"] hsdesc-inner-docs = ["visibility", "__is_experimental"] # TODO maybe fold this feature into `testing` # Onion service proof of work schemes -hs-pow-v1 = ["tor-hscrypto/pow-v1"] -hs-pow-full = ["hs-pow-v1"] +hs-pow-v1 = ["tor-hscrypto/pow-v1", "__is_experimental"] +hs-pow-full = ["hs-pow-v1", "__is_experimental"] # Enable experimental APIs that are not yet officially supported. # diff --git a/crates/tor-proto/Cargo.toml b/crates/tor-proto/Cargo.toml index 025d6d9c4..60495796f 100644 --- a/crates/tor-proto/Cargo.toml +++ b/crates/tor-proto/Cargo.toml @@ -35,6 +35,7 @@ full = [ "tor-hscrypto?/full", "tor-log-ratelim/full", "oneshot-fused-workaround/full", + "tor-memquota/full", ] experimental = ["experimental-api", "ntor_v3", "stream-ctrl", "testing"] diff --git a/crates/tor-rtcompat/Cargo.toml b/crates/tor-rtcompat/Cargo.toml index 53eb72f4f..b05938325 100644 --- a/crates/tor-rtcompat/Cargo.toml +++ b/crates/tor-rtcompat/Cargo.toml @@ -14,7 +14,7 @@ repository = "https://gitlab.torproject.org/tpo/core/arti.git/" [features] default = [] -full = ["arbitrary", "async-std", "tokio", "native-tls", "tor-error/full"] +full = ["arbitrary", "async-std", "tokio", "native-tls", "tor-error/full", "tor-general-addr/full"] async-std = ["async-std-crate", "async-io", "async_executors/async_std"] tokio = [ diff --git a/crates/tor-rtmock/Cargo.toml b/crates/tor-rtmock/Cargo.toml index 529c28e92..777edc6e7 100644 --- a/crates/tor-rtmock/Cargo.toml +++ b/crates/tor-rtmock/Cargo.toml @@ -41,6 +41,6 @@ tor-general-addr = { path = "../tor-general-addr", version = "0.23.0" } tor-rtcompat = { path = "../tor-rtcompat", version = "0.23.0", features = ["tokio", "native-tls"] } [features] -full = ["tor-rtcompat/full", "tor-error/full", "oneshot-fused-workaround/full"] +full = ["tor-rtcompat/full", "tor-error/full", "oneshot-fused-workaround/full", "slotmap-careful/full", "tor-general-addr/full"] [package.metadata.docs.rs] all-features = true diff --git a/crates/tor-socksproto/Cargo.toml b/crates/tor-socksproto/Cargo.toml index d05a19d2c..ae2de5898 100644 --- a/crates/tor-socksproto/Cargo.toml +++ b/crates/tor-socksproto/Cargo.toml @@ -17,7 +17,7 @@ default = ["proxy-handshake"] client-handshake = [] proxy-handshake = [] -full = ["proxy-handshake", "client-handshake", "caret/full", "tor-bytes/full", "tor-error/full"] +full = ["proxy-handshake", "client-handshake", "caret/full", "tor-bytes/full", "tor-error/full", "safelog/full"] [dependencies] amplify = { version = "4", default-features = false, features = ["derive"] } diff --git a/crates/tor-units/Cargo.toml b/crates/tor-units/Cargo.toml index 4bdd3a675..a75286659 100644 --- a/crates/tor-units/Cargo.toml +++ b/crates/tor-units/Cargo.toml @@ -22,7 +22,7 @@ tor-memquota = { version = "0.23.0", path = "../tor-memquota", default-features float-cmp = "0.10.0" [features] -full = ["memquota-memcost"] +full = ["memquota-memcost", "tor-memquota?/full"] memquota-memcost = ["derive-deftly", "tor-memquota"] # [derive_more] |
