Cargo Features

[dependencies]
shadowsocks-crypto = { version = "0.5.8", default-features = false, features = ["v1", "v1-stream", "v1-aead", "v1-aead-extra", "v2", "v2-extra", "ring"] }
default = v1, v1-aead

These default features are set whenever shadowsocks-crypto is added without default-features = false somewhere in the dependency tree.

v1 default v1-aead v1-stream? = cfg-if, md-5

Affects shadowsocks-crypto::v1

v1-stream = aes, camellia, chacha20, ctr, v1
v1-aead default v1-aead-extra? = aes-gcm, chacha20poly1305, hkdf, sha1, v1
v1-aead-extra = aead, aes, aes-gcm-siv, ccm, ctr, ghash, sm4, subtle, v1-aead
v2 v2-extra? = aes, aes-gcm, blake3, bytes, cfg-if, chacha20poly1305

Affects shadowsocks-crypto::v2

v2-extra = v2

Enables reduced-round of chacha20poly1305

Affects crypto::chacha8_poly1305, crypto::xchacha8_poly1305

ring = ring-compat

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.

cfg-if v1 v2?
aes-gcm v1-aead v2?
aes-gcm-siv v1-aead-extra?
ccm v1-aead-extra?
chacha20poly1305 v1-aead v2? v2-extra?
ring-compat ring?
md-5 v1
hkdf v1-aead
sha1 v1-aead
blake3 v2?
chacha20 v1-stream?
aes v1-aead-extra? v1-stream? v2?
ctr v1-aead-extra? v1-stream?
bytes v2?
camellia v1-stream?
sm4 v1-aead-extra?
ghash v1-aead-extra?
aead v1-aead-extra?
subtle v1-aead-extra?