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-tlswhich enables the reqwestdefault-tlsfeature -> this configuration is the same as the previous default. Therefore no change in default behvior is introduced.use-rustlsreplaces thedefault-tlsfeature with therustls-tls-manual-rootsreqwest 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
hawkbitlib lists thehawkbit_mocklib as a dev dependency. This is proplematic, because it depends on thehttpmocklib, which has no option to turn offnative-tls.Even though it is only a test dependency, running
cargo buildwill still fail if openssl is not available on the system. -> Open issue and workaround (requires nightly) here rust-lang/cargo#5133.