Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

aws-sdk-s3 v0.24 depends on rustls even when disabled #722

Closed
benesch opened this issue Jan 29, 2023 · 3 comments
Closed

aws-sdk-s3 v0.24 depends on rustls even when disabled #722

benesch opened this issue Jan 29, 2023 · 3 comments
Labels
bug This issue is a bug. p2 This is a standard priority issue

Comments

@benesch
Copy link
Contributor

benesch commented Jan 29, 2023

Describe the bug

aws-sdk-s3 at v0.24 depends on rustls, even when the rustls feature is disabled and the native-tls feature is enabled instead.

Expected Behavior

Cargo.lock does not include rustls and friends.

Current Behavior

Cargo.lock includes rustls by way of aws-smithy-client:

[[package]]
name = "aws-smithy-client"
version = "0.54.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "17d44078855a64d757e5c1727df29ffa6679022c38cfc4ba4e63ee9567133141"
dependencies = [
 "aws-smithy-async",
 "aws-smithy-http",
 "aws-smithy-http-tower",
 "aws-smithy-protocol-test",
 "aws-smithy-types",
 "bytes",
 "fastrand",
 "http",
 "http-body",
 "hyper",
 "hyper-rustls",
 "hyper-tls",
 "lazy_static",
 "pin-project-lite",
 "serde",
 "tokio",
 "tower",
 "tracing",
]

[[package]]
name = "hyper-rustls"
version = "0.23.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c"
dependencies = [
 "http",
 "hyper",
 "log",
 "rustls",
 "rustls-native-certs",
 "tokio",
 "tokio-rustls",
]

Reproduction Steps

Create a simple crate that depends on aws-sdk-s3 with rustls disabled and native-tls enabled:

[package]
name = "example"
version = "0.1.0"
edition = "2021"

[dependencies]
aws-sdk-s3 = { version = "0.24.0", default-features = false, features = ["native-tls"] }

Possible Solution

The dependency sneaks in by way of the aws-smithy-client/test-util feature, which the aws-sdk-s3 crate enables in its production dependencies, as of 8e625fd (diff). I'm not sure what's different about the S3 SDK, but for all other SDKs the aws-smithy-client/test-util is only enabled as a dev dependency.

Additional Information/Context

cc @rcoh

Version

v0.24

Environment details (OS name and version, etc.)

n/a

Logs

No response

@benesch benesch added bug This issue is a bug. needs-triage This issue or PR still needs to be triaged. labels Jan 29, 2023
@rcoh
Copy link
Contributor

rcoh commented Jan 30, 2023

thanks for reporting—looking into this now

@rcoh rcoh removed the needs-triage This issue or PR still needs to be triaged. label Jan 30, 2023
@rcoh rcoh added the pending-release This issue will be fixed by an approved PR that hasn't been released yet. label Feb 6, 2023
@jmklix jmklix added the p2 This is a standard priority issue label Mar 30, 2023
@ysaito1001
Copy link
Collaborator

@github-actions
Copy link

⚠️COMMENT VISIBILITY WARNING⚠️

Comments on closed issues are hard for our team to see.
If you need more assistance, please either tag a team member or open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.

@rcoh rcoh removed the pending-release This issue will be fixed by an approved PR that hasn't been released yet. label Nov 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug This issue is a bug. p2 This is a standard priority issue
Projects
None yet
Development

No branches or pull requests

4 participants