Cargo Features

[dependencies]
str0m = { version = "0.6.3", default-features = false, features = ["openssl", "vendored", "sha1"] }

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 = openssl, sha1, vendored

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

openssl default

Enables libc, openssl, and openssl-sys

openssl:

Sadly no DTLS support in rustls.

Affects crypto::sha1_hmac

vendored default

Enables vendored of optional openssl

sha1 default

Without the sha1 feature, str0m uses the openssl sha1 impl which is slower.

Enables sha1

Affects crypto::sha1_hmac

_internal_test_exports

Affects fuzz::rtp_packet