Closed sagebind closed 2 years ago
Nice! This seems reasonable to me to add!
I think it's fine to have off-by-default features which may be buggy if turned on, we can just make sure they're properly documented.
Status update: crustls now supports being built as an rlib dependency which means it can be used as a direct dependency to curl-sys. Crustls will not be published to Crates.io until its official home is found first, which is being discussed in https://github.com/ctz/rustls/issues/671. It is likely that it will be published to Crates.io under the rustls-ffi
name. Once that is done then this PR will be mergeable for people to start experimenting with.
rustls-ffi is now published: https://crates.io/crates/rustls-ffi. Thanks for your patience!
Awesome, thanks @jsha! Now the only thing we have to wait for is curl 7.81 to release with support for the published rustls-ffi versions (0.8+), as curl 7.80 seems to only support rustls-ffi 0.7.
Looks like curl 7.81.0 is slated to be released 2022-01-05: https://curl.se/dev/release-notes.html
Curl 7.81.0 was released today as scheduled, and since we've updated to that version on the main
branch just hours ago, this feature is now ready to go and mergeable!
Nice!
hooray! thanks for working on this!
This adds experimental support for using rustls as a TLS backend for curl. This is made possible by the upstream rustls support recently added to curl via rustls-ffi.
rustls
feature, knowing that it is experimental and may have serious bugs?~ Rustls support has greatly improved since being introduced, and docs are sufficient warning that implementation may not be fully complete yet.curl-crustls
or equivalent.~ Therustls-ffi
bindings package is now published to Crates.io.package.links
for crates that exposeno_mangle
symbols but don't actually link to anything external?~ Yes, this is appropriate.See #341.