durch / rust-s3

Rust library for interfacing with S3 API compatible services
MIT License
498 stars 195 forks source link

fix: rustls causing openssl to be built #372

Closed TroyKomodo closed 1 week ago

TroyKomodo commented 6 months ago

This commit fixes rustls feature being dependant on native-tls and binding to libcrypto.

fixes: #369

TroyKomodo commented 6 months ago

working on this feature made me realize the structure of this crate is not rust 2021 and also uses some strange tactics like a compile feature to toggle ssl verify. Perhaps we could create a feature branch and get a 1.0 version fixing these mistakes. I do not mind putting in the work to fix and refactor them.

TroyKomodo commented 6 months ago

I am particularly referring to using feature flags to change interface. How rust feature flags work is if any dependency in the compile tree enables the flag the feature is enabled for all users of the dep. Meaning if I use a dep which uses rust-s3 sync and I use rust-s3 with Tokio it won't work. Fortunately this has not happened but ideally we should have a better mechanism for handling this.

durch commented 1 week ago

@TroyKomodo very nice, thank you!

I hear you on the design choices, this is a pretty old codebase and it shows, if you'd like to come up with a set of changes you'd like to see for 1.0, I'd be happy to look them through, figure out timelines...

mdecimus commented 4 days ago

Hi @durch

This issue with openssl being compiled when using the rustls backend is breaking cross compilation upstream. Do you have plans to release a 0.34 point release including this fix or should we wait for 0.35?

Thanks!