[package] name = "s2n-quic" version = "1.51.0" description = "A Rust implementation of the IETF QUIC protocol" repository = "https://github.com/aws/s2n-quic" authors = ["AWS s2n"] edition = "2021" rust-version = "1.71" license = "Apache-2.0" # Exclude corpus files when publishing to crates.io exclude = ["corpus.tar.gz"] [features] default = [ "provider-address-token-default", "provider-tls-default", ] provider-tls-fips = [ "s2n-quic-tls-default?/fips", "s2n-quic-tls?/fips", "s2n-quic-rustls?/fips", ] provider-address-token-default = [ "cuckoofilter", "hash_hasher", "s2n-quic-crypto", "zerocopy", "zeroize", ] provider-event-console-perf = [ "humansize" ] provider-event-tracing = ["s2n-quic-core/event-tracing"] provider-tls-default = ["s2n-quic-tls-default"] provider-tls-rustls = ["s2n-quic-rustls"] provider-tls-s2n = ["s2n-quic-tls"] # List of unstable features. Add new unstable features to the check in s2n-quic/src/lib.rs # # These depend on experimental behavior in s2n-tls. unstable_client_hello = ["s2n-quic-tls/unstable_client_hello"] unstable_private_key = ["s2n-quic-tls/unstable_private_key"] unstable_resumption = ["s2n-quic-transport/unstable_resumption"] # This feature enables the datagram provider unstable-provider-datagram = [] # This feature enables the testing IO provider unstable-provider-io-testing = ["s2n-quic-platform/io-testing"] # This feature enables the turmoil IO provider unstable-provider-io-turmoil = ["s2n-quic-platform/turmoil"] # This feature enables the XDP IO provider unstable-provider-io-xdp = ["s2n-quic-platform/xdp"] # This feature enables the packet interceptor provider, which is invoked on each cleartext packet unstable-provider-packet-interceptor = [] # This feature enables the random provider unstable-provider-random = [] # This feature enables the dc provider unstable-provider-dc = ["s2n-quic-transport/unstable-provider-dc"] # This feature enables support for third party congestion controller implementations unstable-congestion-controller = ["s2n-quic-core/unstable-congestion-controller"] # This feature enables the use of unstable connection limits unstable-limits = ["s2n-quic-core/unstable-limits"] # The feature enables the close formatter provider unstable-provider-connection-close-formatter = [] [dependencies] bytes = { version = "1", default-features = false } cfg-if = "1" cuckoofilter = { version = "0.5", optional = true } futures = { version = "0.3", default-features = false, features = ["std"] } hash_hasher = { version = "2", optional = true } humansize = { version = "2", optional = true } rand = "0.8" rand_chacha = "0.3" s2n-codec = { version = "=0.51.0", path = "../../common/s2n-codec" } s2n-quic-core = { version = "=0.51.0", path = "../s2n-quic-core" } s2n-quic-crypto = { version = "=0.51.0", path = "../s2n-quic-crypto", optional = true } s2n-quic-platform = { version = "=0.51.0", path = "../s2n-quic-platform", features = ["tokio-runtime"] } s2n-quic-rustls = { version = "=0.51.0", path = "../s2n-quic-rustls", optional = true } s2n-quic-tls = { version = "=0.51.0", path = "../s2n-quic-tls", optional = true } s2n-quic-tls-default = { version = "=0.51.0", path = "../s2n-quic-tls-default", optional = true } s2n-quic-transport = { version = "=0.51.0", path = "../s2n-quic-transport" } tokio = { version = "1", default-features = false, features = ["sync"] } zerocopy = { version = "0.7", optional = true, features = ["derive"] } zeroize = { version = "1", optional = true, default-features = false } [dev-dependencies] bolero = { version = "0.11" } s2n-quic-core = { path = "../s2n-quic-core", features = ["branch-tracing", "event-tracing", "probe-tracing", "testing"] } s2n-quic-platform = { path = "../s2n-quic-platform", features = ["testing"] } s2n-quic-transport = { path = "../s2n-quic-transport", features = ["unstable_resumption", "unstable-provider-dc"] } tokio = { version = "1", features = ["full"] } tracing = { version = "0.1" } tracing-subscriber = { version = "0.3", features = ["env-filter"] }