Add 'use-rustls' and 'native-tls' features #13
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces two new cargo features:
native-tls
which enables the reqwestdefault-tls
feature -> this configuration is the same as the previous default. Therefore no change in default behvior is introduced.use-rustls
replaces thedefault-tls
feature with therustls-tls-manual-roots
reqwest feature. This removes the openssl dependency and uses the rustls ssl implemention.This change is useful, because for some use cases it may not be optimal to depend on the openssl system lib. For example cross-compilation.
Caveats
The
hawkbit
lib lists thehawkbit_mock
lib as a dev dependency. This is proplematic, because it depends on thehttpmock
lib, which has no option to turn offnative-tls
.Even though it is only a test dependency, running
cargo build
will still fail if openssl is not available on the system. -> Open issue and workaround (requires nightly) here rust-lang/cargo#5133.