Reenable dtls tests
This commit is contained in:
parent
edfc50f37d
commit
143556078b
|
|
@ -27,13 +27,10 @@ use x509::X509FileType;
|
||||||
use x509::X509;
|
use x509::X509;
|
||||||
use crypto::pkey::PKey;
|
use crypto::pkey::PKey;
|
||||||
|
|
||||||
#[cfg(feature="dtlsv1")]
|
|
||||||
use std::net::UdpSocket;
|
use std::net::UdpSocket;
|
||||||
#[cfg(feature="dtlsv1")]
|
use ssl::SslMethod::Dtls;
|
||||||
use ssl::SslMethod::Dtlsv1;
|
|
||||||
#[cfg(feature="sslv2")]
|
#[cfg(feature="sslv2")]
|
||||||
use ssl::SslMethod::Sslv2;
|
use ssl::SslMethod::Sslv2;
|
||||||
#[cfg(feature="dtlsv1")]
|
|
||||||
use net2::UdpSocketExt;
|
use net2::UdpSocketExt;
|
||||||
|
|
||||||
mod select;
|
mod select;
|
||||||
|
|
@ -112,7 +109,6 @@ impl Server {
|
||||||
"http/1.1,spdy/3.1"])
|
"http/1.1,spdy/3.1"])
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "dtlsv1")]
|
|
||||||
fn new_dtlsv1<I>(input: I) -> (Server, UdpConnected)
|
fn new_dtlsv1<I>(input: I) -> (Server, UdpConnected)
|
||||||
where I: IntoIterator<Item = &'static str>,
|
where I: IntoIterator<Item = &'static str>,
|
||||||
I::IntoIter: Send + 'static
|
I::IntoIter: Send + 'static
|
||||||
|
|
@ -143,18 +139,15 @@ impl Drop for Server {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "dtlsv1")]
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
struct UdpConnected(UdpSocket);
|
struct UdpConnected(UdpSocket);
|
||||||
|
|
||||||
#[cfg(feature = "dtlsv1")]
|
|
||||||
impl Read for UdpConnected {
|
impl Read for UdpConnected {
|
||||||
fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> {
|
fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> {
|
||||||
self.0.recv_from(buf).map(|(s, _)| s)
|
self.0.recv_from(buf).map(|(s, _)| s)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "dtlsv1")]
|
|
||||||
impl Write for UdpConnected {
|
impl Write for UdpConnected {
|
||||||
#[cfg(unix)]
|
#[cfg(unix)]
|
||||||
fn write(&mut self, buf: &[u8]) -> io::Result<usize> {
|
fn write(&mut self, buf: &[u8]) -> io::Result<usize> {
|
||||||
|
|
@ -220,10 +213,9 @@ macro_rules! run_test(
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[cfg(feature="dtlsv1")]
|
|
||||||
fn dtlsv1() {
|
fn dtlsv1() {
|
||||||
let (_s, stream) = Server::new_dtlsv1(Some("hello"));
|
let (_s, stream) = Server::new_dtlsv1(Some("hello"));
|
||||||
$blk(SslMethod::Dtlsv1, stream);
|
$blk(SslMethod::Dtls, stream);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
@ -484,11 +476,10 @@ run_test!(get_peer_certificate, |method, stream| {
|
||||||
});
|
});
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[cfg(feature = "dtlsv1")]
|
|
||||||
fn test_write_dtlsv1() {
|
fn test_write_dtlsv1() {
|
||||||
let (_s, stream) = Server::new_dtlsv1(iter::repeat("y\n"));
|
let (_s, stream) = Server::new_dtlsv1(iter::repeat("y\n"));
|
||||||
|
|
||||||
let mut stream = SslStream::connect(&SslContext::new(Dtlsv1).unwrap(), stream).unwrap();
|
let mut stream = SslStream::connect(&SslContext::new(Dtls).unwrap(), stream).unwrap();
|
||||||
stream.write_all(b"hello").unwrap();
|
stream.write_all(b"hello").unwrap();
|
||||||
stream.flush().unwrap();
|
stream.flush().unwrap();
|
||||||
stream.write_all(b" there").unwrap();
|
stream.write_all(b" there").unwrap();
|
||||||
|
|
@ -804,7 +795,6 @@ fn test_alpn_server_select_none() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#[cfg(feature="dtlsv1")]
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod dtlsv1 {
|
mod dtlsv1 {
|
||||||
use serialize::hex::FromHex;
|
use serialize::hex::FromHex;
|
||||||
|
|
@ -813,12 +803,12 @@ mod dtlsv1 {
|
||||||
|
|
||||||
use crypto::hash::Type::SHA256;
|
use crypto::hash::Type::SHA256;
|
||||||
use ssl::SslMethod;
|
use ssl::SslMethod;
|
||||||
use ssl::SslMethod::Dtlsv1;
|
use ssl::SslMethod::Dtls;
|
||||||
use ssl::{SslContext, SslStream};
|
use ssl::{SslContext, SslStream};
|
||||||
use ssl::SSL_VERIFY_PEER;
|
use ssl::SSL_VERIFY_PEER;
|
||||||
use x509::X509StoreContext;
|
use x509::X509StoreContext;
|
||||||
|
|
||||||
const PROTOCOL: SslMethod = Dtlsv1;
|
const PROTOCOL: SslMethod = Dtls;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_new_ctx() {
|
fn test_new_ctx() {
|
||||||
|
|
@ -827,24 +817,14 @@ mod dtlsv1 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[cfg(feature = "dtlsv1")]
|
|
||||||
fn test_read_dtlsv1() {
|
fn test_read_dtlsv1() {
|
||||||
let (_s, stream) = Server::new_dtlsv1(Some("hello"));
|
let (_s, stream) = Server::new_dtlsv1(Some("hello"));
|
||||||
|
|
||||||
let mut stream = SslStream::connect(&SslContext::new(Dtlsv1).unwrap(), stream).unwrap();
|
let mut stream = SslStream::connect(&SslContext::new(Dtls).unwrap(), stream).unwrap();
|
||||||
let mut buf = [0u8; 100];
|
let mut buf = [0u8; 100];
|
||||||
assert!(stream.read(&mut buf).is_ok());
|
assert!(stream.read(&mut buf).is_ok());
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
|
||||||
#[cfg(feature = "sslv2")]
|
|
||||||
fn test_sslv2_connect_failure() {
|
|
||||||
let (_s, tcp) = Server::new_tcp(&["-no_ssl2", "-www"]);
|
|
||||||
SslStream::connect(&SslContext::new(Sslv2).unwrap(), tcp)
|
|
||||||
.err()
|
|
||||||
.unwrap();
|
|
||||||
}
|
|
||||||
|
|
||||||
fn wait_io(stream: &TcpStream, read: bool, timeout_ms: u32) -> bool {
|
fn wait_io(stream: &TcpStream, read: bool, timeout_ms: u32) -> bool {
|
||||||
unsafe {
|
unsafe {
|
||||||
let mut set: select::fd_set = mem::zeroed();
|
let mut set: select::fd_set = mem::zeroed();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue