aboutsummaryrefslogtreecommitdiff
path: root/openssl/src
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2016-10-30 14:26:28 -0700
committerSteven Fackler <[email protected]>2016-10-30 14:26:28 -0700
commit43b430e5b0723784862fb090ef091bc404542989 (patch)
treedca400888bfabd951c4ad348fa08963ad3df21e3 /openssl/src
parentMerge pull request #503 from sfackler/ecdhe (diff)
downloadrust-openssl-43b430e5b0723784862fb090ef091bc404542989.tar.xz
rust-openssl-43b430e5b0723784862fb090ef091bc404542989.zip
Pass SslMethod into constructors
Diffstat (limited to 'openssl/src')
-rw-r--r--openssl/src/ssl/connector.rs20
-rw-r--r--openssl/src/ssl/mod.rs11
-rw-r--r--openssl/src/ssl/tests/mod.rs10
3 files changed, 16 insertions, 25 deletions
diff --git a/openssl/src/ssl/connector.rs b/openssl/src/ssl/connector.rs
index 0ec6526e..794523bb 100644
--- a/openssl/src/ssl/connector.rs
+++ b/openssl/src/ssl/connector.rs
@@ -47,11 +47,7 @@ impl ClientConnectorBuilder {
/// Creates a new builder for TLS connections.
///
/// The default configuration is based off of libcurl's and is subject to change.
- pub fn tls() -> Result<ClientConnectorBuilder, ErrorStack> {
- ClientConnectorBuilder::new(SslMethod::tls())
- }
-
- fn new(method: SslMethod) -> Result<ClientConnectorBuilder, ErrorStack> {
+ pub fn new(method: SslMethod) -> Result<ClientConnectorBuilder, ErrorStack> {
let mut ctx = try!(ctx(method));
try!(ctx.set_default_verify_paths());
try!(ctx.set_cipher_list("ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH"));
@@ -107,24 +103,14 @@ impl ServerConnectorBuilder {
///
/// The default configuration is based off of the intermediate profile of Mozilla's server side
/// TLS configuration recommendations, and is subject to change.
- pub fn tls<I>(private_key: &PKeyRef,
+ pub fn new<I>(method: SslMethod,
+ private_key: &PKeyRef,
certificate: &X509Ref,
chain: I)
-> Result<ServerConnectorBuilder, ErrorStack>
where I: IntoIterator,
I::Item: AsRef<X509Ref>
{
- ServerConnectorBuilder::new(SslMethod::tls(), private_key, certificate, chain)
- }
-
- fn new<I>(method: SslMethod,
- private_key: &PKeyRef,
- certificate: &X509Ref,
- chain: I)
- -> Result<ServerConnectorBuilder, ErrorStack>
- where I: IntoIterator,
- I::Item: AsRef<X509Ref>
- {
let mut ctx = try!(ctx(method));
ctx.set_options(ssl::SSL_OP_SINGLE_DH_USE | ssl::SSL_OP_SINGLE_ECDH_USE |
ssl::SSL_OP_CIPHER_SERVER_PREFERENCE);
diff --git a/openssl/src/ssl/mod.rs b/openssl/src/ssl/mod.rs
index ffcc61ab..f363d452 100644
--- a/openssl/src/ssl/mod.rs
+++ b/openssl/src/ssl/mod.rs
@@ -8,11 +8,11 @@
//! To connect as a client to a remote server:
//!
//! ```
-//! use openssl::ssl::ClientConnectorBuilder;
+//! use openssl::ssl::{SslMethod, ClientConnectorBuilder};
//! use std::io::{Read, Write};
//! use std::net::TcpStream;
//!
-//! let connector = ClientConnectorBuilder::tls().unwrap().build();
+//! let connector = ClientConnectorBuilder::new(SslMethod::tls()).unwrap().build();
//!
//! let stream = TcpStream::connect("google.com:443").unwrap();
//! let mut stream = connector.connect("google.com", stream).unwrap();
@@ -27,7 +27,7 @@
//!
//! ```no_run
//! use openssl::pkcs12::Pkcs12;
-//! use openssl::ssl::{ServerConnectorBuilder, SslStream};
+//! use openssl::ssl::{SslMethod, ServerConnectorBuilder, SslStream};
//! use std::fs::File;
//! use std::io::{Read, Write};
//! use std::net::{TcpListener, TcpStream};
@@ -43,7 +43,10 @@
//! let pkcs12 = Pkcs12::from_der(&pkcs12).unwrap();
//! let identity = pkcs12.parse("password123").unwrap();
//!
-//! let connector = ServerConnectorBuilder::tls(&identity.pkey, &identity.cert, &identity.chain)
+//! let connector = ServerConnectorBuilder::new(SslMethod::tls(),
+//! &identity.pkey,
+//! &identity.cert,
+//! &identity.chain)
//! .unwrap()
//! .build();
//! let connector = Arc::new(connector);
diff --git a/openssl/src/ssl/tests/mod.rs b/openssl/src/ssl/tests/mod.rs
index 5a8067c9..5e5d8988 100644
--- a/openssl/src/ssl/tests/mod.rs
+++ b/openssl/src/ssl/tests/mod.rs
@@ -1082,7 +1082,7 @@ fn verify_invalid_hostname() {
#[test]
fn connector_valid_hostname() {
- let connector = ClientConnectorBuilder::tls().unwrap().build();
+ let connector = ClientConnectorBuilder::new(SslMethod::tls()).unwrap().build();
let s = TcpStream::connect("google.com:443").unwrap();
let mut socket = connector.connect("google.com", s).unwrap();
@@ -1098,7 +1098,7 @@ fn connector_valid_hostname() {
#[test]
fn connector_invalid_hostname() {
- let connector = ClientConnectorBuilder::tls().unwrap().build();
+ let connector = ClientConnectorBuilder::new(SslMethod::tls()).unwrap().build();
let s = TcpStream::connect("google.com:443").unwrap();
assert!(connector.connect("foobar.com", s).is_err());
@@ -1112,14 +1112,16 @@ fn connector_client_server() {
let t = thread::spawn(move || {
let key = PKey::private_key_from_pem(KEY).unwrap();
let cert = X509::from_pem(CERT).unwrap();
- let connector = ServerConnectorBuilder::tls(&key, &cert, None::<X509>).unwrap().build();
+ let connector = ServerConnectorBuilder::new(SslMethod::tls(), &key, &cert, None::<X509>)
+ .unwrap()
+ .build();
let stream = listener.accept().unwrap().0;
let mut stream = connector.connect(stream).unwrap();
stream.write_all(b"hello").unwrap();
});
- let mut connector = ClientConnectorBuilder::tls().unwrap();
+ let mut connector = ClientConnectorBuilder::new(SslMethod::tls()).unwrap();
connector.context_mut().set_CA_file("test/root-ca.pem").unwrap();
let connector = connector.build();