ITADN

Dependency on rustls shouldn't include default features (aws-lc-rs vs ring in particular)

#166Closedcdbennett 创建于 2025-04-26
C
cdbennettcommented
The dependency of `amqprs` on `rustls` shouldn't require the default features of `rustls`. This is particularly important for the `aws-lc-rs` vs. `ring` features which it seems that `rustls` In rustls v0.23.0 support for `aws-lc-rs` was added and made the default via default feature flags. This was a breaking change that did break some applications at runtime (rustls will panic if you don't explicitly initialize one or other other of these providers, if they are both pulled into an application), or at build time since aws-lc-rs is more restrictive in its build platform/environment support (e.g. on Windows it requires `cmake` to be installed, failing with "Missing dependency: cmake" otherwise). By disabling default features for `amqprs`'s dependency on `rustls` and `rustls-webpki` this allows applications using `amqprs` to select either `aws-lc-rs` or `ring` as the crypto provider. This seems to be the main cause of the breakage mentioned in #143, but it was not clear, so this issue was created to focus on this specific issue. Maybe it will resolve #143 also. ## References - [rustls release notes for v0.23.0](https://github.com/rustls/rustls/releases/tag/v%2F0.23.0) - [slack-morphism-rust breakage issue from rustls 0.23](https://github.com/abdolence/slack-morphism-rust/issues/286) - [tokio-tungstenite breakage issue from rustls 0.23](https://github.com/snapview/tokio-tungstenite/issues/353)
关闭于 2025-05-01 0 条评论