Cargo Features
[dependencies]
arti = { version = "1.3.0", default-features = false, features = ["full", "async-std", "bridge-client", "default-runtime", "dns-proxy", "experimental-api", "harden", "keymgr", "memquota", "tokio", "native-tls", "onion-service-client", "onion-service-service", "vanguards", "hs-pow", "pt-client", "ctor-keystore", "rustls", "static", "static-sqlite", "static-native-tls", "journald", "accel-sha1-asm", "accel-openssl", "compression", "experimental", "rpc", "restricted-discovery", "hsc"] }
We need a runtime
@@ test-all-crates conditional-option minimal --features=default-runtime
- default = bridge-client, compression, default-runtime, dns-proxy, harden, onion-service-client, pt-client, vanguards
-
These default features are set whenever
arti
is added without
somewhere in the dependency tree.default-features = false - full = async-std, bridge-client, compression, default-runtime, dns-proxy, harden, journald, memquota, native-tls, onion-service-client, onion-service-service, pt-client, tokio, vanguards
-
Enables full of arti-client, optional arti-rpcserver, fs-mistrust, safelog, tor-async-utils, tor-config, tor-error, optional tor-hsrproxy, optional tor-hsservice, optional tor-rpcbase, tor-rtcompat, and tor-socksproto
arti-client:
"full" is a top-level selector that turns on every feature, _EXCEPT FOR_:
- async-std full? = async-ctrlc, signal-hook, signal-hook-async-std
-
Enables async-std of arti-client and tor-rtcompat
arti-client:
* Features that are experimental or unstable
* Features that are testing-only
* Features which are select a particular implementation or build flag and
which therefore are not strictly additive.
* Features which may introduce unnecessary licensing restrictions. - bridge-client default full? pt-client
-
Enables bridge-client of arti-client
- default-runtime default full? = native-tls, tokio
- dns-proxy default full? = hickory-proto
- experimental-api experimental? hsc? = visibility
-
Enables experimental-api of arti-client
arti-client:
Enable experimental APIs that are not yet officially supported.
These APIs are not covered by semantic versioning. Using this feature voids your "semver warrantee". - harden default full? = secmem-proc
- keymgr experimental? hsc?
-
Enables keymgr of arti-client
- memquota full?
-
Enables memquota of arti-client
- tokio default-runtime full? = tokio-crate, tokio-util
-
Enables tokio of arti-client and tor-rtcompat
- native-tls default-runtime full? static-native-tls?
-
Enables native-tls of arti-client and tor-rtcompat
- onion-service-client default full? hsc?
-
Enables onion-service-client of arti-client
- onion-service-service full? = tor-hsrproxy, tor-hsservice
-
Enables onion-service-service of arti-client
- vanguards default full?
-
Enables vanguards of arti-client
- hs-pow experimental?
-
Enables hs-pow of arti-client
- pt-client default full? = bridge-client
-
Enables pt-client of arti-client
- ctor-keystore experimental?
-
Enables ctor-keystore of arti-client
- rustls = rustls-crate
-
This is not nonadditive from a software POV, but we mark it as such because it includes code licensed under the old OpenSSL license (which was 4-clause BSD),
which in turn introduces a GPL-incompatibility.Enables rustls of arti-client and tor-rtcompat
- static
-
depends directly on arti-client/static so native-tls doesn't get automatically included
Enables static of arti-client
- static-sqlite
-
Enables static-sqlite of arti-client
- static-native-tls = native-tls
-
Enables static-native-tls of arti-client
- journald full? = tracing-journald
- accel-sha1-asm
-
Enables accel-sha1-asm of arti-client
- accel-openssl
-
Enables accel-openssl of arti-client
- compression default full?
-
Enables compression of arti-client
- experimental = ctor-keystore, experimental-api, hs-pow, hsc, keymgr, restricted-discovery, rpc
-
This feature flag enables experimental features that are not supported. Turning it on may void your API.
Enables experimental of arti-client and tor-hsservice
- rpc experimental? = arti-rpcserver, derive-deftly, tor-rpcbase
-
Affects
cfg::RpcConfig
… - restricted-discovery experimental?
-
Enables restricted-discovery of tor-hsservice
- hsc experimental? = dialoguer, experimental-api, keymgr, onion-service-client
Features from optional dependencies
In crates that don't use the dep:
syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.
- arti-rpcserver rpc?
- async-ctrlc async-std?
- dialoguer hsc?
- derive-deftly rpc?
- hickory-proto dns-proxy
- rustls-crate rustls?
-
Enables rustls
- secmem-proc harden
- signal-hook async-std?
- signal-hook-async-std async-std?
- tokio-crate tokio?
-
Enables tokio
- tokio-util tokio?
- tor-hsrproxy onion-service-service?
- tor-hsservice experimental? onion-service-service? restricted-discovery?
- tor-rpcbase rpc?
- tracing-journald journald?
- visibility experimental-api?