Skip to content

rtc-dtls uses rustls with heardcoded feature "ring" which is incompatible with the "aws_lc_rs" feature enabled by e.g. reqwest by default #93

@KillingSpark

Description

@KillingSpark

As the title says, the "ring" feature of rustls is incompatile with the "aws_lc_rs" (or at least requires a install_default() call when both are enabled).

To reproduce: create a project that depends on both reqwest and webrtc and try to create a peer connection.

I could work around this because reqwest thankfully allows to disable the setting this feature flag on rustls by depending on it like this:

reqwest = { version = "*", default-features = false, features = ["cookies", "form", "rustls-no-provider"] }

The rustls docs.rs says this:

ring: makes the rustls crate depend on the ring crate for cryptography.
Use rustls::crypto::ring::default_provider().install_default() to
use it as the default CryptoProvider, or provide it explicitly
when making a ClientConfig or ServerConfig.

So this crate should either install ring as the default so it doesn't matter which feature is enabled, configure it in the client/server configs or allow this feature to be controlled by a feature on it's own like reqwest does.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions