Cargo Features

[dependencies]
str0m = { version = "0.15.0", default-features = false, features = ["aws-lc-rs", "rust-crypto", "openssl", "wincrypto", "apple-crypto", "vendored", "unversioned", "pii", "examples"] }

Notes on OpenSSL
- Vendored (static link source build) ensures version consistency and easier
to build but increases size.
- Non-vendored (dynamic link) uses system libraries, reducing size but may
cause compatibility issues.
Choose based on security and footprint needs.
For large deployments sharing OS images, OS updates can be easier for security patching than updating statically linked software.

default = aws-lc-rs, examples

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

aws-lc-rs default

Enables str0m-aws-lc-rs

Crypto providers

rust-crypto

Enables str0m-rust-crypto

openssl

Enables str0m-openssl

wincrypto

Enables str0m-wincrypto

apple-crypto

Enables str0m-apple-crypto

vendored

Enables vendored of optional str0m-openssl

unversioned

Affects str0m::unversioned

pii

Redacts personally identifiable information (PII) from logs debug and above

examples dev default

The examples require TLS for the web server via rouille.
We use rustls instead of ssl to avoid OpenSSL dependency issues on Windows.

Enables rustls of rouille