rust-s3 icon indicating copy to clipboard operation
rust-s3 copied to clipboard

Feature tokio-rustls-tls requires native-tls?

Open emmiegit opened this issue 1 year ago • 5 comments

Describe the bug I'm looking at feature flag definition in Cargo.toml and the dependencies in Cargo.lock, and I noticed that the tokio-rustls-tls feature depends on native-tls, rather than using rustls. This would explain build issues I am facing due to the compilation trying to look for an openssl which isn't there.

I am noticing that the with-tokio feature in the flag list requires tokio-native-tls, native-tls, etc., whereas previously with-tokio only required ["reqwest", "tokio", "tokio/fs", "tokio-stream"]. This seems to preclude any possibility of using Tokio with rustls, despite what the feature flag list would suggest.

See 0.32.3's Cargo.toml compared to 0.34.0's.

Why does using Tokio require native TLS? Is there a way I can use only rustls instead alongside Tokio?

Environment

  • Rust version: 1.79.0
  • lib version 0.34.0

Additional context This issue occurred when trying to upgrade to 0.34.0. See https://github.com/scpwiki/wikijump/pull/1962.

emmiegit avatar Jun 28 '24 06:06 emmiegit

This is already fixed in v0.35.0-alpha.1

qdrs avatar Jun 28 '24 11:06 qdrs

What is the release timeline looking like?

LockedThread avatar Jul 16 '24 16:07 LockedThread

Is it possible to make a new full release now with this fix, and then add any other pending changes to the next full release? In case the release is being held back by some other work going on.

emmiegit avatar Aug 03 '24 01:08 emmiegit

Is it possible to make a new full release now with this fix, and then add any other pending changes to the next full release? In case the release is being held back by some other work going on.

I second this, this is a very crucial update.

LockedThread avatar Aug 03 '24 12:08 LockedThread

Following up again here, what is required for rust-s3 to be ready for a non-alpha release containing the dependency fix here?

emmiegit avatar Aug 26 '24 12:08 emmiegit

@emmiegit, published version 0.35.0

durch avatar Aug 31 '24 20:08 durch

Thank you for your help!

emmiegit avatar Sep 01 '24 00:09 emmiegit

Okay -- I thought I was mistaken but it seems I was not. I left a comment here: https://github.com/durch/rust-s3/issues/395#issuecomment-2323518194, basically it was working fine with cargo check (which doesn't do linking) but I was realizing that the default features were including native-tls and causing linking to fail due to lack of openssl, where I am supposed to be using rustls instead.

emmiegit avatar Sep 01 '24 22:09 emmiegit