aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2015-06-25 23:07:25 -0700
committerSteven Fackler <[email protected]>2015-06-25 23:07:25 -0700
commit212acf0bb8fa6f500c76329ddb15e7f989e71915 (patch)
tree9a48cfb865174b86972cfb6b690f6457aad32830
parentFix EOF handling in retry wrapper (diff)
downloadrust-openssl-212acf0bb8fa6f500c76329ddb15e7f989e71915.tar.xz
rust-openssl-212acf0bb8fa6f500c76329ddb15e7f989e71915.zip
Add a test for connection negotiation failure
-rw-r--r--openssl/src/ssl/tests.rs11
-rwxr-xr-xopenssl/test/test.sh1
2 files changed, 11 insertions, 1 deletions
diff --git a/openssl/src/ssl/tests.rs b/openssl/src/ssl/tests.rs
index 028d9f09..dcaee215 100644
--- a/openssl/src/ssl/tests.rs
+++ b/openssl/src/ssl/tests.rs
@@ -23,6 +23,8 @@ use crypto::pkey::PKey;
use std::net::UdpSocket;
#[cfg(feature="dtlsv1")]
use ssl::SslMethod::Dtlsv1;
+#[cfg(feature="sslv2")]
+use ssl::SslMethod::Sslv2;
#[cfg(feature="dtlsv1")]
use connected_socket::Connect;
@@ -447,7 +449,7 @@ fn test_connect_with_npn_successful_single_match() {
#[test]
#[cfg(feature = "npn")]
fn test_npn_server_advertise_multiple() {
- let localhost = "127.0.0.1:15420";
+ let localhost = "127.0.0.1:15450";
let listener = TcpListener::bind(localhost).unwrap();
// We create a different context instance for the server...
let listener_ctx = {
@@ -516,3 +518,10 @@ fn test_read_dtlsv1() {
let mut buf = [0u8;100];
assert!(stream.read(&mut buf).is_ok());
}
+
+#[test]
+#[cfg(feature = "sslv2")]
+fn test_sslv2_connect_failure() {
+ let tcp = TcpStream::connect("127.0.0.1:15420").unwrap();
+ SslStream::new(&SslContext::new(Sslv2).unwrap(), tcp).err().unwrap();
+}
diff --git a/openssl/test/test.sh b/openssl/test/test.sh
index ef2294ef..975b124e 100755
--- a/openssl/test/test.sh
+++ b/openssl/test/test.sh
@@ -5,6 +5,7 @@ cd $(dirname $0)
openssl s_server -accept 15418 -www -cert cert.pem -key key.pem >/dev/null 2>&1 &
openssl s_server -accept 15419 -www -cert cert.pem -key key.pem \
-nextprotoneg "http/1.1,spdy/3.1" >/dev/null 2>&1 &
+openssl s_server -no_ssl2 -accept 15420 -www -cert cert.pem -key key.pem >/dev/null 2>&1 &
if test "$TRAVIS_OS_NAME" == "osx"; then
return