@@ -606,7 +606,7 @@ pub type DefaultConnector = HttpConnector;
606606
607607#[ cfg( feature = "openssl" ) ]
608608#[ doc( hidden) ]
609- pub type DefaultConnector = HttpsConnector < self :: openssl:: Openssl > ;
609+ pub type DefaultConnector = HttpsConnector < self :: openssl:: OpensslClient > ;
610610
611611#[ cfg( all( feature = "security-framework" , not( feature = "openssl" ) ) ) ]
612612pub type DefaultConnector = HttpsConnector < self :: security_framework:: ClientWrapper > ;
@@ -619,7 +619,7 @@ mod openssl {
619619 use std:: sync:: Arc ;
620620 use std:: time:: Duration ;
621621
622- use openssl:: ssl:: { Ssl , SslContext , SslStream , SslMethod , SSL_VERIFY_NONE , SSL_VERIFY_PEER , SSL_OP_NO_SSLV2 , SSL_OP_NO_SSLV3 } ;
622+ use openssl:: ssl:: { Ssl , SslContext , SslStream , SslMethod , SSL_VERIFY_NONE , SSL_VERIFY_PEER , SSL_OP_NO_SSLV2 , SSL_OP_NO_SSLV3 , SSL_OP_NO_COMPRESSION } ;
623623 use openssl:: ssl:: error:: StreamError as SslIoError ;
624624 use openssl:: ssl:: error:: SslError ;
625625 use openssl:: x509:: X509FileType ;
@@ -653,7 +653,10 @@ mod openssl {
653653 fn default ( ) -> OpensslClient {
654654 let mut ctx = SslContext :: new ( SslMethod :: Sslv23 ) . unwrap ( ) ;
655655 ctx. set_default_verify_paths ( ) . unwrap ( ) ;
656- ctx. set_options ( SSL_OP_NO_SSLV2 | SSL_OP_NO_SSLV3 ) ;
656+ ctx. set_options ( SSL_OP_NO_SSLV2 | SSL_OP_NO_SSLV3 | SSL_OP_NO_COMPRESSION ) ;
657+ // cipher list taken from curl:
658+ // https://github.com/curl/curl/blob/5bf5f6ebfcede78ef7c2b16daa41c4b7ba266087/lib/vtls/openssl.h#L120
659+ ctx. set_cipher_list ( "ALL!EXPORT!EXPORT40!EXPORT56!aNULL!LOW!RC4@STRENGTH" ) . unwrap ( ) ;
657660 OpensslClient ( ctx)
658661 }
659662 }
0 commit comments