squiche 0.24.8-ana.2

🥧 Savoury implementation of the QUIC transport protocol and HTTP/3
Documentation
[package]
name = "squiche"
version = "0.24.8-ana.2"
description = "🥧 Savoury implementation of the QUIC transport protocol and HTTP/3"
repository = { workspace = true }
authors = ["Anapaya", "Alessandro Ghedini <alessandro@ghedini.me>"]
edition = { workspace = true }
license = { workspace = true }
keywords = { workspace = true }
categories = { workspace = true }
readme = { workspace = true }
build = "src/build.rs"
include = [
  "/*.md",
  "/*.toml",
  "/COPYING",
  "/deps/boringssl/**/*.[chS]",
  "/deps/boringssl/**/*.asm",
  "/deps/boringssl/src/**/*.cc",
  "/deps/boringssl/**/CMakeLists.txt",
  "/deps/boringssl/**/sources.cmake",
  "/deps/boringssl/LICENSE",
  "/examples",
  "/include",
  "/quiche.svg",
  "/src",
]
rust-version = "1.85"

[features]
default = ["boringssl-vendored"]

# Build the vendored BoringSSL library.
boringssl-vendored = []

# Use the BoringSSL library provided by the boring crate.
boringssl-boring-crate = ["boring", "foreign-types-shared"]

# Build quiche against OpenSSL instead of BoringSSL.
openssl = ["pkg-config"]

# Generate pkg-config metadata file for libquiche.
pkg-config-meta = []

# Replaces quiche's original congestion control
# implementation with one adapted from google/quiche.
gcongestion = []

# Equivalent to "--cfg fuzzing", but can also be checked in build.rs.
fuzzing = []

# Build and expose the FFI API.
ffi = ["dep:cdylib-link-lines"]

# Exposes internal APIs that have no stability guarantees across versions.
internal = []

[package.metadata.release]
tag-prefix = ""

[package.metadata.docs.rs]
no-default-features = true
features = ["boringssl-boring-crate", "qlog"]
rustdoc-args = ["--cfg", "docsrs"]

[build-dependencies]
cmake = "0.1"
pkg-config = { version = "0.3", optional = true }
cdylib-link-lines = { version = "0.1", optional = true }

[dependencies]
boring = { workspace = true, optional = true }
either = { version = "1.8", default-features = false }
foreign-types-shared = { version = "0.3.0", optional = true }
intrusive-collections = "0.9.5"
libc = { workspace = true }
libm = "0.2"
log = { workspace = true, features = ["std"] }
octets = { version = "0.3.4", features = ["huffman_hpack"] }
qlog = { version = "0.15.2", optional = true}
sfv = { version = "0.9", optional = true }
slab = "0.4"
smallvec = { workspace = true, features = ["union"] }
enum_dispatch = "0.3"

[target."cfg(windows)".dependencies]
windows-sys = { version = "0.59", features = [
  "Win32_Networking_WinSock",
  "Win32_Security_Cryptography",
] }

[dev-dependencies]
clap = { workspace = true, features = ["env", "derive"] }
env_logger = { workspace = true }
mio = { workspace = true, features = ["net", "os-poll"] }
ring = { workspace = true }
rstest = { workspace = true }
url = { workspace = true }
scion-stack = { workspace = true }
scion-proto = { workspace = true }
tokio = { workspace = true }

[lib]
crate-type = ["lib", "staticlib", "cdylib"]