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
str0mis added withoutsomewhere in the dependency tree.default-features = false - 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.