Merge pull request #66 from programble/fix/borrow-tls
Borrow TlsConnector
This commit is contained in:
commit
6e47ceb171
3 changed files with 6 additions and 6 deletions
|
|
@ -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();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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)),
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue