Borrow TlsConnector

TlsConnector is meant to be reusable and there is no reason to take
ownership over one.
This commit is contained in:
Curtis McEnroe 2018-03-18 22:18:15 -04:00
parent 804f1c724a
commit 6b4461eb07
No known key found for this signature in database
GPG key ID: CEA2F97ADCFCD77C
3 changed files with 6 additions and 6 deletions

View file

@ -12,7 +12,7 @@ fn main() {
let port = 993; let port = 993;
let socket_addr = (domain, port); let socket_addr = (domain, port);
let ssl_connector = TlsConnector::builder().unwrap().build().unwrap(); 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(); imap_socket.login("username", "password").unwrap();

View file

@ -34,7 +34,7 @@ fn main() {
let port = 993; let port = 993;
let socket_addr = (domain, port); let socket_addr = (domain, port);
let ssl_connector = TlsConnector::builder().unwrap().build().unwrap(); 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(); imap_socket.authenticate("XOAUTH2", gmail_auth).unwrap();

View file

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