Add test for resumption with non-blocking I/O

This commit is contained in:
Manuel Pégourié-Gonnard 2014-10-02 17:59:19 +02:00 committed by Paul Bakker
parent a59af05dce
commit 85beb30b11
2 changed files with 27 additions and 1 deletions

View file

@ -990,7 +990,8 @@ int main( int argc, char *argv[] )
ssl_set_dbg( &ssl, my_debug, stdout );
if( opt.nbio == 2 )
ssl_set_bio_timeout( &ssl, &server_fd, my_send, my_recv, NULL, 0 );
ssl_set_bio_timeout( &ssl, &server_fd, my_send, my_recv, NULL,
opt.read_timeout );
else
ssl_set_bio_timeout( &ssl, &server_fd, net_send, net_recv,
#if defined(POLARSSL_HAVE_TIME)
@ -1392,6 +1393,17 @@ reconnect:
goto exit;
}
if( opt.nbio > 0 )
ret = net_set_nonblock( server_fd );
else
ret = net_set_block( server_fd );
if( ret != 0 )
{
printf( " failed\n ! net_set_(non)block() returned -0x%x\n\n",
-ret );
goto exit;
}
while( ( ret = ssl_handshake( &ssl ) ) != 0 )
{
if( ret != POLARSSL_ERR_NET_WANT_READ &&

View file

@ -2318,6 +2318,20 @@ run_test "DTLS proxy: 3d, min handshake, resumption" \
-s "Extra-header:" \
-c "HTTP/1.0 200 OK"
needs_more_time 4
run_test "DTLS proxy: 3d, min handshake, resumption, nbio" \
-p "$P_PXY drop=5 delay=5 duplicate=5" \
"$P_SRV dtls=1 hs_timeout=250-10000 tickets=0 auth_mode=none \
psk=abc123 debug_level=3 nbio=2" \
"$P_CLI dtls=1 hs_timeout=250-10000 tickets=0 psk=abc123 \
debug_level=3 reconnect=1 read_timeout=1000 max_resend=10 \
force_ciphersuite=TLS-PSK-WITH-AES-128-CCM-8 nbio=2" \
0 \
-s "a session has been resumed" \
-c "a session has been resumed" \
-s "Extra-header:" \
-c "HTTP/1.0 200 OK"
needs_more_time 4
run_test "DTLS proxy: 3d, min handshake, client-initiated renego" \
-p "$P_PXY drop=5 delay=5 duplicate=5" \