Merge pull request #66 from programble/fix/borrow-tls

Borrow TlsConnector
This commit is contained in:
Jon Gjengset 2018-03-19 11:58:22 -05:00 committed by GitHub
commit 6e47ceb171
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 6 deletions

View file

@ -12,7 +12,7 @@ fn main() {
let port = 993;
let socket_addr = (domain, port);
let ssl_connector = TlsConnector::builder().unwrap().build().unwrap();
let mut imap_socket = Client::secure_connect(socket_addr, domain, ssl_connector).unwrap();
let mut imap_socket = Client::secure_connect(socket_addr, domain, &ssl_connector).unwrap();
imap_socket.login("username", "password").unwrap();

View file

@ -34,7 +34,7 @@ fn main() {
let port = 993;
let socket_addr = (domain, port);
let ssl_connector = TlsConnector::builder().unwrap().build().unwrap();
let mut imap_socket = Client::secure_connect(socket_addr, domain, ssl_connector).unwrap();
let mut imap_socket = Client::secure_connect(socket_addr, domain, &ssl_connector).unwrap();
imap_socket.authenticate("XOAUTH2", gmail_auth).unwrap();

View file

@ -213,11 +213,11 @@ impl Client<TcpStream> {
pub fn secure(
mut self,
domain: &str,
ssl_connector: TlsConnector,
ssl_connector: &TlsConnector,
) -> Result<Client<TlsStream<TcpStream>>> {
// TODO This needs to be tested
self.run_command_and_check_ok("STARTTLS")?;
TlsConnector::connect(&ssl_connector, domain, try!(self.stream.into_inner()))
TlsConnector::connect(ssl_connector, domain, try!(self.stream.into_inner()))
.map(Client::new)
.map_err(Error::TlsHandshake)
}
@ -228,11 +228,11 @@ impl Client<TlsStream<TcpStream>> {
pub fn secure_connect<A: ToSocketAddrs>(
addr: A,
domain: &str,
ssl_connector: TlsConnector,
ssl_connector: &TlsConnector,
) -> Result<Client<TlsStream<TcpStream>>> {
match TcpStream::connect(addr) {
Ok(stream) => {
let ssl_stream = match TlsConnector::connect(&ssl_connector, domain, stream) {
let ssl_stream = match TlsConnector::connect(ssl_connector, domain, stream) {
Ok(s) => s,
Err(e) => return Err(Error::TlsHandshake(e)),
};