Merge pull request #826 from sfackler/conf-setters

Add setters to ConnectConfiguration
This commit is contained in:
Steven Fackler 2018-01-11 17:33:31 -08:00 committed by GitHub
commit 8ee891fcbf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 4 deletions

View File

@ -2,6 +2,12 @@
## [Unreleased] ## [Unreleased]
### Added
* Added `ConnectConfiguration::set_use_server_name_indication` and
`ConnectConfiguration::set_verify_hostname` for use in contexts where you don't have ownership
of the `ConnectConfiguration`.
## [v0.10.1] - 2018-01-10 ## [v0.10.1] - 2018-01-10
### Added ### Added
@ -74,4 +80,4 @@ Look at the [release tags] for information about older releases.
[Unreleased]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.1...master [Unreleased]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.1...master
[v0.10.1]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.0...openssl-v0.10.1 [v0.10.1]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.0...openssl-v0.10.1
[v0.10.0]: https://github.com/sfackler/rust-openssl/compare/v0.9.23...openssl-v0.10.0 [v0.10.0]: https://github.com/sfackler/rust-openssl/compare/v0.9.23...openssl-v0.10.0
[release tags]: https://github.com/sfackler/rust-openssl/releases [release tags]: https://github.com/sfackler/rust-openssl/releases

View File

@ -124,11 +124,22 @@ pub struct ConnectConfiguration {
} }
impl ConnectConfiguration { impl ConnectConfiguration {
/// A builder-style version of `set_use_server_name_indication`.
pub fn use_server_name_indication(mut self, use_sni: bool) -> ConnectConfiguration {
self.set_use_server_name_indication(use_sni);
self
}
/// Configures the use of Server Name Indication (SNI) when connecting. /// Configures the use of Server Name Indication (SNI) when connecting.
/// ///
/// Defaults to `true`. /// Defaults to `true`.
pub fn use_server_name_indication(mut self, use_sni: bool) -> ConnectConfiguration { pub fn set_use_server_name_indication(&mut self, use_sni: bool) {
self.sni = use_sni; self.sni = use_sni;
}
/// A builder-style version of `set_verify_hostname`.
pub fn verify_hostname(mut self, verify_hostname: bool) -> ConnectConfiguration {
self.set_verify_hostname(verify_hostname);
self self
} }
@ -141,9 +152,8 @@ impl ConnectConfiguration {
/// You should think very carefully before you use this method. If hostname verification is not /// You should think very carefully before you use this method. If hostname verification is not
/// used, *any* valid certificate for *any* site will be trusted for use from any other. This /// used, *any* valid certificate for *any* site will be trusted for use from any other. This
/// introduces a significant vulnerability to man-in-the-middle attacks. /// introduces a significant vulnerability to man-in-the-middle attacks.
pub fn verify_hostname(mut self, verify_hostname: bool) -> ConnectConfiguration { pub fn set_verify_hostname(&mut self, verify_hostname: bool) {
self.verify_hostname = verify_hostname; self.verify_hostname = verify_hostname;
self
} }
/// Initiates a client-side TLS session on a stream. /// Initiates a client-side TLS session on a stream.