Skip to content

fix:(rumqttc): Remove tls default provider from dependencies#1021

Open
tlevora wants to merge 1 commit into
bytebeamio:mainfrom
tlevora:remove-default-provider
Open

fix:(rumqttc): Remove tls default provider from dependencies#1021
tlevora wants to merge 1 commit into
bytebeamio:mainfrom
tlevora:remove-default-provider

Conversation

@tlevora
Copy link
Copy Markdown

@tlevora tlevora commented Jan 12, 2026

Updating 'rustls-webpki' to 0.103.0 removes default ring tls-provider from 'rustls-webpki' dependency and allows to specifically choose between 'ring' and 'aws-lc-rs'. Consider this commit fixing usage of 'use-rustls-no-provider' feature.

Updating rustls-webpki to 0.103.0 removes default ring tls-provider from dependencies.
@giridher-art
Copy link
Copy Markdown
Collaborator

giridher-art commented Jan 15, 2026

@tlevora this looks good , but does it break any clients that depend on use-rustls feature ? and i try to review it ASAP

@tlevora
Copy link
Copy Markdown
Author

tlevora commented Jan 16, 2026

@tlevora this looks good , but does it break any clients that depend on use-rustls feature ? and i try to review it ASAP

@giridher-art, you are right this is a breaking change. It basically removes all that ring verification algorithms from ALL_VERIFICATION_ALGS in rustls-webpki if they are not added with an appropriate feature flag in any other dependency.

According to this issue what is the proper solution? Shall I just modify CHANGELOG.md record and a commit message?


Then there is a question whether this is a good approach or not. If this commit will be applied as it is and a user of rumqttc will want to use either ring or aws-lc, he/she will need to add the rustls-webpki to his/her Cargo.toml as a dependency with the proper feature flag (either ring or aws_lc_rs).

Another solution could be adding another two feature flags to rumqttc:

[features]
# this is a current solution
use-rustls-no-provider = ["dep:tokio-rustls", "dep:rustls-webpki", "dep:rustls-pemfile", "dep:rustls-native-certs"]
# proposed features
use-rustls-ring = ["rustls-webpki?/ring"]
use-rustls-aws-lc = ["rustls-webpki?/aws_lc_rs"]

Then a user of rumqttc will be able to choose between ring and aws-lc in rustls-webpki dependency directly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants