diff --git a/openssl/src/ssl/mod.rs b/openssl/src/ssl/mod.rs index 0bbba4c89887fd312ebe76aaee719c88433ea2e6..6d4b1f81efa4511c0dbb3245bce75732154f9699 100644 --- a/openssl/src/ssl/mod.rs +++ b/openssl/src/ssl/mod.rs @@ -1042,6 +1042,7 @@ impl SslStream { impl SslStream { /// Creates an SSL/TLS client operating over the provided stream. pub fn connect(ssl: T, stream: S) -> Result, SslError> { + let ssl = try!(ssl.into_ssl()); let fd = stream.as_raw_socket() as c_int; let stream = try!(DirectStream::connect(ssl, stream, fd)); Ok(SslStream { @@ -1051,6 +1052,7 @@ impl SslStream { /// Creates an SSL/TLS server operating over the provided stream. pub fn accept(ssl: T, stream: S) -> Result, SslError> { + let ssl = try!(ssl.into_ssl()); let fd = stream.as_raw_socket() as c_int; let stream = try!(DirectStream::accept(ssl, stream, fd)); Ok(SslStream {