From 03871d368e1fdffd74ffad57197d55c4d59bd77b Mon Sep 17 00:00:00 2001 From: Valerii Hiora Date: Fri, 12 Sep 2014 20:37:23 +0300 Subject: Enabling TLS1.2 support Unfortunately OS X comes with 0.9.8 bundled. There is a way to install a recent version through homebrew, however it is extremely hard to make it link agains brewed version without tricking link version --- src/ssl/mod.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/ssl/mod.rs') diff --git a/src/ssl/mod.rs b/src/ssl/mod.rs index 785b8dfc..f0961ce9 100644 --- a/src/ssl/mod.rs +++ b/src/ssl/mod.rs @@ -48,6 +48,7 @@ fn init() { /// Determines the SSL method supported #[deriving(Show, Hash, PartialEq, Eq)] +#[allow(non_camel_case_types)] pub enum SslMethod { #[cfg(sslv2)] /// Only support the SSLv2 protocol @@ -58,6 +59,8 @@ pub enum SslMethod { Tlsv1, /// Support the SSLv2, SSLv3 and TLSv1 protocols Sslv23, + Tlsv1_1, + Tlsv1_2, } impl SslMethod { @@ -67,7 +70,9 @@ impl SslMethod { Sslv2 => ffi::SSLv2_method(), Sslv3 => ffi::SSLv3_method(), Tlsv1 => ffi::TLSv1_method(), - Sslv23 => ffi::SSLv23_method() + Sslv23 => ffi::SSLv23_method(), + Tlsv1_1 => ffi::TLSv1_1_method(), + Tlsv1_2 => ffi::TLSv1_2_method() } } } -- cgit v1.2.3 From 4c1edcf4c8aa00ec3bb8ff0c0e8627a91a36792f Mon Sep 17 00:00:00 2001 From: Valerii Hiora Date: Tue, 23 Sep 2014 18:13:48 +0300 Subject: TLS 1_1, 1_2, Ssl 2 is enabled by features --- src/ssl/mod.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/ssl/mod.rs') diff --git a/src/ssl/mod.rs b/src/ssl/mod.rs index f0961ce9..fc775a32 100644 --- a/src/ssl/mod.rs +++ b/src/ssl/mod.rs @@ -50,7 +50,7 @@ fn init() { #[deriving(Show, Hash, PartialEq, Eq)] #[allow(non_camel_case_types)] pub enum SslMethod { - #[cfg(sslv2)] + #[cfg(feature = "sslv2")] /// Only support the SSLv2 protocol Sslv2, /// Only support the SSLv3 protocol @@ -59,19 +59,23 @@ pub enum SslMethod { Tlsv1, /// Support the SSLv2, SSLv3 and TLSv1 protocols Sslv23, + #[cfg(feature = "tlsv1_1")] Tlsv1_1, + #[cfg(feature = "tlsv1_2")] Tlsv1_2, } impl SslMethod { unsafe fn to_raw(&self) -> *const ffi::SSL_METHOD { match *self { - #[cfg(sslv2)] + #[cfg(feature = "sslv2")] Sslv2 => ffi::SSLv2_method(), Sslv3 => ffi::SSLv3_method(), Tlsv1 => ffi::TLSv1_method(), Sslv23 => ffi::SSLv23_method(), + #[cfg(feature = "tlsv1_1")] Tlsv1_1 => ffi::TLSv1_1_method(), + #[cfg(feature = "tlsv1_2")] Tlsv1_2 => ffi::TLSv1_2_method() } } -- cgit v1.2.3