mirror of
				https://github.com/cuberite/polarssl.git
				synced 2025-11-03 12:11:27 -05:00 
			
		
		
		
	Added buffer_size and response_size options for ssl-server2.
Added appropriate tests.
This commit is contained in:
		
							parent
							
								
									8266acacc8
								
							
						
					
					
						commit
						30e731decd
					
				@ -99,6 +99,7 @@ int main( void )
 | 
			
		||||
 | 
			
		||||
#define DFL_SERVER_ADDR         NULL
 | 
			
		||||
#define DFL_SERVER_PORT         "4433"
 | 
			
		||||
#define DFL_RESPONSE_SIZE       -1
 | 
			
		||||
#define DFL_DEBUG_LEVEL         0
 | 
			
		||||
#define DFL_NBIO                0
 | 
			
		||||
#define DFL_EVENT               0
 | 
			
		||||
@ -171,7 +172,7 @@ int main( void )
 | 
			
		||||
 * You will need to adapt the mbedtls_ssl_get_bytes_avail() test in ssl-opt.sh
 | 
			
		||||
 * if you change this value to something outside the range <= 100 or > 500
 | 
			
		||||
 */
 | 
			
		||||
#define IO_BUF_LEN      200
 | 
			
		||||
#define DFL_IO_BUF_LEN      200
 | 
			
		||||
 | 
			
		||||
#if defined(MBEDTLS_X509_CRT_PARSE_C)
 | 
			
		||||
#if defined(MBEDTLS_FS_IO)
 | 
			
		||||
@ -346,6 +347,11 @@ int main( void )
 | 
			
		||||
    "    server_addr=%%s      default: (all interfaces)\n"  \
 | 
			
		||||
    "    server_port=%%d      default: 4433\n"              \
 | 
			
		||||
    "    debug_level=%%d      default: 0 (disabled)\n"      \
 | 
			
		||||
    "    buffer_size=%%d      default: 200 \n" \
 | 
			
		||||
    "                         (minimum: 1, max: 16385)\n" \
 | 
			
		||||
    "    response_size=%%d    default: about 152 (basic response)\n" \
 | 
			
		||||
    "                          (minimum: 0, max: 16384)\n" \
 | 
			
		||||
    "                          increases buffer_size if bigger\n"\
 | 
			
		||||
    "    nbio=%%d             default: 0 (blocking I/O)\n"  \
 | 
			
		||||
    "                        options: 1 (non-blocking), 2 (added delays)\n" \
 | 
			
		||||
    "    event=%%d            default: 0 (loop)\n"                            \
 | 
			
		||||
@ -421,6 +427,8 @@ struct options
 | 
			
		||||
    int nbio;                   /* should I/O be blocking?                  */
 | 
			
		||||
    int event;                  /* loop or event-driven IO? level or edge triggered? */
 | 
			
		||||
    uint32_t read_timeout;      /* timeout on mbedtls_ssl_read() in milliseconds    */
 | 
			
		||||
    int response_size;          /* pad response with header to requested size */
 | 
			
		||||
    uint16_t buffer_size;       /* IO buffer size */
 | 
			
		||||
    const char *ca_file;        /* the file with the CA certificate(s)      */
 | 
			
		||||
    const char *ca_path;        /* the path with the CA certificate(s) reside */
 | 
			
		||||
    const char *crt_file;       /* the file with the server certificate     */
 | 
			
		||||
@ -1154,7 +1162,7 @@ int main( int argc, char *argv[] )
 | 
			
		||||
{
 | 
			
		||||
    int ret = 0, len, written, frags, exchanges_left;
 | 
			
		||||
    int version_suites[4][2];
 | 
			
		||||
    unsigned char buf[IO_BUF_LEN];
 | 
			
		||||
    unsigned char* buf = 0;
 | 
			
		||||
#if defined(MBEDTLS_KEY_EXCHANGE__SOME__PSK_ENABLED)
 | 
			
		||||
    unsigned char psk[MBEDTLS_PSK_MAX_LEN];
 | 
			
		||||
    size_t psk_len = 0;
 | 
			
		||||
@ -1285,10 +1293,12 @@ int main( int argc, char *argv[] )
 | 
			
		||||
        goto exit;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    opt.buffer_size         = DFL_IO_BUF_LEN;
 | 
			
		||||
    opt.server_addr         = DFL_SERVER_ADDR;
 | 
			
		||||
    opt.server_port         = DFL_SERVER_PORT;
 | 
			
		||||
    opt.debug_level         = DFL_DEBUG_LEVEL;
 | 
			
		||||
    opt.event               = DFL_EVENT;
 | 
			
		||||
    opt.response_size       = DFL_RESPONSE_SIZE;
 | 
			
		||||
    opt.nbio                = DFL_NBIO;
 | 
			
		||||
    opt.read_timeout        = DFL_READ_TIMEOUT;
 | 
			
		||||
    opt.ca_file             = DFL_CA_FILE;
 | 
			
		||||
@ -1379,6 +1389,20 @@ int main( int argc, char *argv[] )
 | 
			
		||||
        }
 | 
			
		||||
        else if( strcmp( p, "read_timeout" ) == 0 )
 | 
			
		||||
            opt.read_timeout = atoi( q );
 | 
			
		||||
        else if( strcmp( p, "buffer_size" ) == 0 )
 | 
			
		||||
        {
 | 
			
		||||
            opt.buffer_size = atoi( q );
 | 
			
		||||
            if( opt.buffer_size < 1 || opt.buffer_size > MBEDTLS_SSL_MAX_CONTENT_LEN + 1 )
 | 
			
		||||
                goto usage;
 | 
			
		||||
        }
 | 
			
		||||
        else if( strcmp( p, "response_size" ) == 0 )
 | 
			
		||||
        {
 | 
			
		||||
            opt.response_size = atoi( q );
 | 
			
		||||
            if( opt.response_size < 0 || opt.response_size > MBEDTLS_SSL_MAX_CONTENT_LEN )
 | 
			
		||||
                goto usage;
 | 
			
		||||
            if( opt.buffer_size < opt.response_size )
 | 
			
		||||
                opt.buffer_size = opt.response_size;
 | 
			
		||||
        }
 | 
			
		||||
        else if( strcmp( p, "ca_file" ) == 0 )
 | 
			
		||||
            opt.ca_file = q;
 | 
			
		||||
        else if( strcmp( p, "ca_path" ) == 0 )
 | 
			
		||||
@ -1700,6 +1724,13 @@ int main( int argc, char *argv[] )
 | 
			
		||||
#if defined(MBEDTLS_DEBUG_C)
 | 
			
		||||
    mbedtls_debug_set_threshold( opt.debug_level );
 | 
			
		||||
#endif
 | 
			
		||||
    buf = malloc( opt.buffer_size );
 | 
			
		||||
    if( buf == NULL )
 | 
			
		||||
    {
 | 
			
		||||
        mbedtls_printf("Could not allocate %u bytes\n", opt.buffer_size);
 | 
			
		||||
        ret = 3;
 | 
			
		||||
        goto exit;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    if( opt.force_ciphersuite[0] > 0 )
 | 
			
		||||
    {
 | 
			
		||||
@ -2708,8 +2739,8 @@ data_exchange:
 | 
			
		||||
        do
 | 
			
		||||
        {
 | 
			
		||||
            int terminated = 0;
 | 
			
		||||
            len = sizeof( buf ) - 1;
 | 
			
		||||
            memset( buf, 0, sizeof( buf ) );
 | 
			
		||||
            len = opt.buffer_size - 1;
 | 
			
		||||
            memset( buf, 0, opt.buffer_size );
 | 
			
		||||
            ret = mbedtls_ssl_read( &ssl, buf, len );
 | 
			
		||||
 | 
			
		||||
            if( mbedtls_status_is_ssl_in_progress( ret ) )
 | 
			
		||||
@ -2809,8 +2840,8 @@ data_exchange:
 | 
			
		||||
    }
 | 
			
		||||
    else /* Not stream, so datagram */
 | 
			
		||||
    {
 | 
			
		||||
        len = sizeof( buf ) - 1;
 | 
			
		||||
        memset( buf, 0, sizeof( buf ) );
 | 
			
		||||
        len = opt.buffer_size - 1;
 | 
			
		||||
        memset( buf, 0, opt.buffer_size );
 | 
			
		||||
 | 
			
		||||
        do
 | 
			
		||||
        {
 | 
			
		||||
@ -2908,6 +2939,25 @@ data_exchange:
 | 
			
		||||
    len = sprintf( (char *) buf, HTTP_RESPONSE,
 | 
			
		||||
                   mbedtls_ssl_get_ciphersuite( &ssl ) );
 | 
			
		||||
 | 
			
		||||
    /* Add padding to the response to reach opt.response_size in length */
 | 
			
		||||
    if( opt.response_size != DFL_RESPONSE_SIZE &&
 | 
			
		||||
        len < opt.response_size )
 | 
			
		||||
    {
 | 
			
		||||
        memset( buf + len, 'B', opt.response_size - len );
 | 
			
		||||
        len += opt.response_size - len;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /* Truncate if response size is smaller than the "natural" size */
 | 
			
		||||
    if( opt.response_size != DFL_RESPONSE_SIZE &&
 | 
			
		||||
        len > opt.response_size )
 | 
			
		||||
    {
 | 
			
		||||
        len = opt.response_size;
 | 
			
		||||
 | 
			
		||||
        /* Still end with \r\n unless that's really not possible */
 | 
			
		||||
        if( len >= 2 ) buf[len - 2] = '\r';
 | 
			
		||||
        if( len >= 1 ) buf[len - 1] = '\n';
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if( opt.transport == MBEDTLS_SSL_TRANSPORT_STREAM )
 | 
			
		||||
    {
 | 
			
		||||
        for( written = 0, frags = 0; written < len; written += ret, frags++ )
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										193
									
								
								tests/ssl-opt.sh
									
									
									
									
									
								
							
							
						
						
									
										193
									
								
								tests/ssl-opt.sh
									
									
									
									
									
								
							@ -3968,10 +3968,10 @@ run_test    "SSLv3 with extensions, server side" \
 | 
			
		||||
            -S "dumping 'client hello extensions'" \
 | 
			
		||||
            -S "server hello, total extension length:"
 | 
			
		||||
 | 
			
		||||
# Test for large packets
 | 
			
		||||
# Test for large client packets
 | 
			
		||||
 | 
			
		||||
requires_config_enabled MBEDTLS_SSL_PROTO_SSL3
 | 
			
		||||
run_test    "Large packet SSLv3 BlockCipher" \
 | 
			
		||||
run_test    "Large client packet SSLv3 BlockCipher" \
 | 
			
		||||
            "$P_SRV min_version=ssl3" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=ssl3 recsplit=0 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-AES-256-CBC-SHA" \
 | 
			
		||||
@ -3980,7 +3980,7 @@ run_test    "Large packet SSLv3 BlockCipher" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
requires_config_enabled MBEDTLS_SSL_PROTO_SSL3
 | 
			
		||||
run_test    "Large packet SSLv3 StreamCipher" \
 | 
			
		||||
run_test    "Large client packet SSLv3 StreamCipher" \
 | 
			
		||||
            "$P_SRV min_version=ssl3 arc4=1 force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=ssl3 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA" \
 | 
			
		||||
@ -3988,7 +3988,7 @@ run_test    "Large packet SSLv3 StreamCipher" \
 | 
			
		||||
            -c "16384 bytes written in 1 fragments" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
run_test    "Large packet TLS 1.0 BlockCipher" \
 | 
			
		||||
run_test    "Large client packet TLS 1.0 BlockCipher" \
 | 
			
		||||
            "$P_SRV" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1 recsplit=0 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-AES-256-CBC-SHA" \
 | 
			
		||||
@ -3996,7 +3996,7 @@ run_test    "Large packet TLS 1.0 BlockCipher" \
 | 
			
		||||
            -c "16384 bytes written in 1 fragments" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
run_test    "Large packet TLS 1.0 BlockCipher, without EtM" \
 | 
			
		||||
run_test    "Large client packet TLS 1.0 BlockCipher, without EtM" \
 | 
			
		||||
            "$P_SRV" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1 etm=0 recsplit=0 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-AES-256-CBC-SHA" \
 | 
			
		||||
@ -4004,7 +4004,7 @@ run_test    "Large packet TLS 1.0 BlockCipher, without EtM" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
requires_config_enabled MBEDTLS_SSL_TRUNCATED_HMAC
 | 
			
		||||
run_test    "Large packet TLS 1.0 BlockCipher, truncated MAC" \
 | 
			
		||||
run_test    "Large client packet TLS 1.0 BlockCipher, truncated MAC" \
 | 
			
		||||
            "$P_SRV trunc_hmac=1" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1 recsplit=0 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-AES-256-CBC-SHA trunc_hmac=1" \
 | 
			
		||||
@ -4013,21 +4013,21 @@ run_test    "Large packet TLS 1.0 BlockCipher, truncated MAC" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
requires_config_enabled MBEDTLS_SSL_TRUNCATED_HMAC
 | 
			
		||||
run_test    "Large packet TLS 1.0 BlockCipher, without EtM, truncated MAC" \
 | 
			
		||||
run_test    "Large client packet TLS 1.0 BlockCipher, without EtM, truncated MAC" \
 | 
			
		||||
            "$P_SRV trunc_hmac=1" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1 etm=0 recsplit=0 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-AES-256-CBC-SHA trunc_hmac=1" \
 | 
			
		||||
            0 \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
run_test    "Large packet TLS 1.0 StreamCipher" \
 | 
			
		||||
run_test    "Large client packet TLS 1.0 StreamCipher" \
 | 
			
		||||
            "$P_SRV arc4=1 force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA" \
 | 
			
		||||
            0 \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
run_test    "Large packet TLS 1.0 StreamCipher, without EtM" \
 | 
			
		||||
run_test    "Large client packet TLS 1.0 StreamCipher, without EtM" \
 | 
			
		||||
            "$P_SRV arc4=1 force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA etm=0" \
 | 
			
		||||
@ -4035,7 +4035,7 @@ run_test    "Large packet TLS 1.0 StreamCipher, without EtM" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
requires_config_enabled MBEDTLS_SSL_TRUNCATED_HMAC
 | 
			
		||||
run_test    "Large packet TLS 1.0 StreamCipher, truncated MAC" \
 | 
			
		||||
run_test    "Large client packet TLS 1.0 StreamCipher, truncated MAC" \
 | 
			
		||||
            "$P_SRV arc4=1 force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA trunc_hmac=1" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA trunc_hmac=1" \
 | 
			
		||||
@ -4043,7 +4043,7 @@ run_test    "Large packet TLS 1.0 StreamCipher, truncated MAC" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
requires_config_enabled MBEDTLS_SSL_TRUNCATED_HMAC
 | 
			
		||||
run_test    "Large packet TLS 1.0 StreamCipher, without EtM, truncated MAC" \
 | 
			
		||||
run_test    "Large client packet TLS 1.0 StreamCipher, without EtM, truncated MAC" \
 | 
			
		||||
            "$P_SRV arc4=1 force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA trunc_hmac=1" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA trunc_hmac=1 etm=0" \
 | 
			
		||||
@ -4051,7 +4051,7 @@ run_test    "Large packet TLS 1.0 StreamCipher, without EtM, truncated MAC" \
 | 
			
		||||
            -c "16384 bytes written in 1 fragments" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
run_test    "Large packet TLS 1.1 BlockCipher" \
 | 
			
		||||
run_test    "Large client packet TLS 1.1 BlockCipher" \
 | 
			
		||||
            "$P_SRV" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1_1 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-AES-256-CBC-SHA" \
 | 
			
		||||
@ -4059,7 +4059,7 @@ run_test    "Large packet TLS 1.1 BlockCipher" \
 | 
			
		||||
            -c "16384 bytes written in 1 fragments" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
run_test    "Large packet TLS 1.1 BlockCipher, without EtM" \
 | 
			
		||||
run_test    "Large client packet TLS 1.1 BlockCipher, without EtM" \
 | 
			
		||||
            "$P_SRV" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1_1 etm=0 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-AES-256-CBC-SHA" \
 | 
			
		||||
@ -4067,7 +4067,7 @@ run_test    "Large packet TLS 1.1 BlockCipher, without EtM" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
requires_config_enabled MBEDTLS_SSL_TRUNCATED_HMAC
 | 
			
		||||
run_test    "Large packet TLS 1.1 BlockCipher, truncated MAC" \
 | 
			
		||||
run_test    "Large client packet TLS 1.1 BlockCipher, truncated MAC" \
 | 
			
		||||
            "$P_SRV trunc_hmac=1" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1_1 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-AES-256-CBC-SHA trunc_hmac=1" \
 | 
			
		||||
@ -4075,14 +4075,14 @@ run_test    "Large packet TLS 1.1 BlockCipher, truncated MAC" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
requires_config_enabled MBEDTLS_SSL_TRUNCATED_HMAC
 | 
			
		||||
run_test    "Large packet TLS 1.1 BlockCipher, without EtM, truncated MAC" \
 | 
			
		||||
run_test    "Large client packet TLS 1.1 BlockCipher, without EtM, truncated MAC" \
 | 
			
		||||
            "$P_SRV trunc_hmac=1" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1_1 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-AES-256-CBC-SHA trunc_hmac=1 etm=0" \
 | 
			
		||||
            0 \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
run_test    "Large packet TLS 1.1 StreamCipher" \
 | 
			
		||||
run_test    "Large client packet TLS 1.1 StreamCipher" \
 | 
			
		||||
            "$P_SRV arc4=1 force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1_1 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA" \
 | 
			
		||||
@ -4090,7 +4090,7 @@ run_test    "Large packet TLS 1.1 StreamCipher" \
 | 
			
		||||
            -c "16384 bytes written in 1 fragments" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
run_test    "Large packet TLS 1.1 StreamCipher, without EtM" \
 | 
			
		||||
run_test    "Large client packet TLS 1.1 StreamCipher, without EtM" \
 | 
			
		||||
            "$P_SRV arc4=1 force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1_1 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA etm=0" \
 | 
			
		||||
@ -4099,7 +4099,7 @@ run_test    "Large packet TLS 1.1 StreamCipher, without EtM" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
requires_config_enabled MBEDTLS_SSL_TRUNCATED_HMAC
 | 
			
		||||
run_test    "Large packet TLS 1.1 StreamCipher, truncated MAC" \
 | 
			
		||||
run_test    "Large client packet TLS 1.1 StreamCipher, truncated MAC" \
 | 
			
		||||
            "$P_SRV arc4=1 force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA trunc_hmac=1" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1_1 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA trunc_hmac=1" \
 | 
			
		||||
@ -4107,7 +4107,7 @@ run_test    "Large packet TLS 1.1 StreamCipher, truncated MAC" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
requires_config_enabled MBEDTLS_SSL_TRUNCATED_HMAC
 | 
			
		||||
run_test    "Large packet TLS 1.1 StreamCipher, without EtM, truncated MAC" \
 | 
			
		||||
run_test    "Large client packet TLS 1.1 StreamCipher, without EtM, truncated MAC" \
 | 
			
		||||
            "$P_SRV arc4=1 force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA trunc_hmac=1" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1_1 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA trunc_hmac=1 etm=0" \
 | 
			
		||||
@ -4115,7 +4115,7 @@ run_test    "Large packet TLS 1.1 StreamCipher, without EtM, truncated MAC" \
 | 
			
		||||
            -c "16384 bytes written in 1 fragments" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
run_test    "Large packet TLS 1.2 BlockCipher" \
 | 
			
		||||
run_test    "Large client packet TLS 1.2 BlockCipher" \
 | 
			
		||||
            "$P_SRV" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1_2 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-AES-256-CBC-SHA" \
 | 
			
		||||
@ -4123,14 +4123,14 @@ run_test    "Large packet TLS 1.2 BlockCipher" \
 | 
			
		||||
            -c "16384 bytes written in 1 fragments" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
run_test    "Large packet TLS 1.2 BlockCipher, without EtM" \
 | 
			
		||||
run_test    "Large client packet TLS 1.2 BlockCipher, without EtM" \
 | 
			
		||||
            "$P_SRV" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1_2 etm=0 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-AES-256-CBC-SHA" \
 | 
			
		||||
            0 \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
run_test    "Large packet TLS 1.2 BlockCipher larger MAC" \
 | 
			
		||||
run_test    "Large client packet TLS 1.2 BlockCipher larger MAC" \
 | 
			
		||||
            "$P_SRV" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1_2 \
 | 
			
		||||
             force_ciphersuite=TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384" \
 | 
			
		||||
@ -4139,7 +4139,7 @@ run_test    "Large packet TLS 1.2 BlockCipher larger MAC" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
requires_config_enabled MBEDTLS_SSL_TRUNCATED_HMAC
 | 
			
		||||
run_test    "Large packet TLS 1.2 BlockCipher, truncated MAC" \
 | 
			
		||||
run_test    "Large client packet TLS 1.2 BlockCipher, truncated MAC" \
 | 
			
		||||
            "$P_SRV trunc_hmac=1" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1_2 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-AES-256-CBC-SHA trunc_hmac=1" \
 | 
			
		||||
@ -4147,7 +4147,7 @@ run_test    "Large packet TLS 1.2 BlockCipher, truncated MAC" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
requires_config_enabled MBEDTLS_SSL_TRUNCATED_HMAC
 | 
			
		||||
run_test    "Large packet TLS 1.2 BlockCipher, without EtM, truncated MAC" \
 | 
			
		||||
run_test    "Large client packet TLS 1.2 BlockCipher, without EtM, truncated MAC" \
 | 
			
		||||
            "$P_SRV trunc_hmac=1" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1_2 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-AES-256-CBC-SHA trunc_hmac=1 etm=0" \
 | 
			
		||||
@ -4155,7 +4155,7 @@ run_test    "Large packet TLS 1.2 BlockCipher, without EtM, truncated MAC" \
 | 
			
		||||
            -c "16384 bytes written in 1 fragments" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
run_test    "Large packet TLS 1.2 StreamCipher" \
 | 
			
		||||
run_test    "Large client packet TLS 1.2 StreamCipher" \
 | 
			
		||||
            "$P_SRV arc4=1 force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1_2 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA" \
 | 
			
		||||
@ -4163,7 +4163,7 @@ run_test    "Large packet TLS 1.2 StreamCipher" \
 | 
			
		||||
            -c "16384 bytes written in 1 fragments" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
run_test    "Large packet TLS 1.2 StreamCipher, without EtM" \
 | 
			
		||||
run_test    "Large client packet TLS 1.2 StreamCipher, without EtM" \
 | 
			
		||||
            "$P_SRV arc4=1 force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1_2 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA etm=0" \
 | 
			
		||||
@ -4171,7 +4171,7 @@ run_test    "Large packet TLS 1.2 StreamCipher, without EtM" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
requires_config_enabled MBEDTLS_SSL_TRUNCATED_HMAC
 | 
			
		||||
run_test    "Large packet TLS 1.2 StreamCipher, truncated MAC" \
 | 
			
		||||
run_test    "Large client packet TLS 1.2 StreamCipher, truncated MAC" \
 | 
			
		||||
            "$P_SRV arc4=1 force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA trunc_hmac=1" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1_2 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA trunc_hmac=1" \
 | 
			
		||||
@ -4179,7 +4179,7 @@ run_test    "Large packet TLS 1.2 StreamCipher, truncated MAC" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
requires_config_enabled MBEDTLS_SSL_TRUNCATED_HMAC
 | 
			
		||||
run_test    "Large packet TLS 1.2 StreamCipher, without EtM, truncated MAC" \
 | 
			
		||||
run_test    "Large client packet TLS 1.2 StreamCipher, without EtM, truncated MAC" \
 | 
			
		||||
            "$P_SRV arc4=1 force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA trunc_hmac=1" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1_2 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA trunc_hmac=1 etm=0" \
 | 
			
		||||
@ -4187,7 +4187,7 @@ run_test    "Large packet TLS 1.2 StreamCipher, without EtM, truncated MAC" \
 | 
			
		||||
            -c "16384 bytes written in 1 fragments" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
run_test    "Large packet TLS 1.2 AEAD" \
 | 
			
		||||
run_test    "Large client packet TLS 1.2 AEAD" \
 | 
			
		||||
            "$P_SRV" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1_2 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-AES-256-CCM" \
 | 
			
		||||
@ -4195,7 +4195,7 @@ run_test    "Large packet TLS 1.2 AEAD" \
 | 
			
		||||
            -c "16384 bytes written in 1 fragments" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
run_test    "Large packet TLS 1.2 AEAD shorter tag" \
 | 
			
		||||
run_test    "Large client packet TLS 1.2 AEAD shorter tag" \
 | 
			
		||||
            "$P_SRV" \
 | 
			
		||||
            "$P_CLI request_size=16384 force_version=tls1_2 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-AES-256-CCM-8" \
 | 
			
		||||
@ -4203,6 +4203,139 @@ run_test    "Large packet TLS 1.2 AEAD shorter tag" \
 | 
			
		||||
            -c "16384 bytes written in 1 fragments" \
 | 
			
		||||
            -s "Read from client: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
# Test for large server packets
 | 
			
		||||
 | 
			
		||||
requires_config_enabled MBEDTLS_SSL_PROTO_SSL3
 | 
			
		||||
run_test    "Large server packet SSLv3 BlockCipher" \
 | 
			
		||||
            "$P_SRV response_size=16384 min_version=ssl3" \
 | 
			
		||||
            "$P_CLI force_version=ssl3 recsplit=0 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-AES-256-CBC-SHA" \
 | 
			
		||||
            0 \
 | 
			
		||||
            -c "Read from server: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
requires_config_enabled MBEDTLS_SSL_PROTO_SSL3
 | 
			
		||||
run_test    "Large server packet SSLv3 StreamCipher" \
 | 
			
		||||
            "$P_SRV response_size=16384 min_version=ssl3 arc4=1 force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA" \
 | 
			
		||||
            "$P_CLI force_version=ssl3 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA" \
 | 
			
		||||
            0 \
 | 
			
		||||
            -c "Read from server: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
# Checking next 2 tests logs for 1n-1 split against BEAST too
 | 
			
		||||
run_test    "Large server packet TLS 1.0 BlockCipher" \
 | 
			
		||||
            "$P_SRV response_size=16384" \
 | 
			
		||||
            "$P_CLI force_version=tls1 recsplit=0 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-AES-256-CBC-SHA" \
 | 
			
		||||
            0 \
 | 
			
		||||
            -c "Read from server: 1 bytes read"\
 | 
			
		||||
            -c "16383 bytes read"\
 | 
			
		||||
            -C "Read from server: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
requires_config_enabled MBEDTLS_SSL_TRUNCATED_HMAC
 | 
			
		||||
run_test    "Large server packet TLS 1.0 BlockCipher truncated MAC" \
 | 
			
		||||
            "$P_SRV response_size=16384" \
 | 
			
		||||
            "$P_CLI force_version=tls1 recsplit=0 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-AES-256-CBC-SHA \
 | 
			
		||||
             trunc_hmac=1" \
 | 
			
		||||
            0 \
 | 
			
		||||
            -c "Read from server: 1 bytes read"\
 | 
			
		||||
            -c "16383 bytes read"\
 | 
			
		||||
            -C "Read from server: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
requires_config_enabled MBEDTLS_SSL_TRUNCATED_HMAC
 | 
			
		||||
run_test    "Large server packet TLS 1.0 StreamCipher truncated MAC" \
 | 
			
		||||
            "$P_SRV response_size=16384 arc4=1 force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA" \
 | 
			
		||||
            "$P_CLI force_version=tls1 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA \
 | 
			
		||||
             trunc_hmac=1" \
 | 
			
		||||
            0 \
 | 
			
		||||
            -c "Read from server: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
run_test    "Large server packet TLS 1.1 BlockCipher" \
 | 
			
		||||
            "$P_SRV response_size=16384" \
 | 
			
		||||
            "$P_CLI force_version=tls1_1 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-AES-256-CBC-SHA" \
 | 
			
		||||
            0 \
 | 
			
		||||
            -c "Read from server: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
run_test    "Large server packet TLS 1.1 StreamCipher" \
 | 
			
		||||
            "$P_SRV response_size=16384 arc4=1 force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA" \
 | 
			
		||||
            "$P_CLI force_version=tls1_1 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA" \
 | 
			
		||||
            0 \
 | 
			
		||||
            -c "Read from server: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
requires_config_enabled MBEDTLS_SSL_TRUNCATED_HMAC
 | 
			
		||||
run_test    "Large server packet TLS 1.1 BlockCipher truncated MAC" \
 | 
			
		||||
            "$P_SRV response_size=16384" \
 | 
			
		||||
            "$P_CLI force_version=tls1_1 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-AES-256-CBC-SHA \
 | 
			
		||||
             trunc_hmac=1" \
 | 
			
		||||
            0 \
 | 
			
		||||
            -c "Read from server: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
requires_config_enabled MBEDTLS_SSL_TRUNCATED_HMAC
 | 
			
		||||
run_test    "Large server packet TLS 1.1 StreamCipher truncated MAC" \
 | 
			
		||||
            "$P_SRV response_size=16384 arc4=1 force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA" \
 | 
			
		||||
            "$P_CLI force_version=tls1_1 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA \
 | 
			
		||||
             trunc_hmac=1" \
 | 
			
		||||
            0 \
 | 
			
		||||
            -c "Read from server: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
run_test    "Large server packet TLS 1.2 BlockCipher" \
 | 
			
		||||
            "$P_SRV response_size=16384" \
 | 
			
		||||
            "$P_CLI force_version=tls1_2 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-AES-256-CBC-SHA" \
 | 
			
		||||
            0 \
 | 
			
		||||
            -c "Read from server: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
run_test    "Large server packet TLS 1.2 BlockCipher larger MAC" \
 | 
			
		||||
            "$P_SRV response_size=16384" \
 | 
			
		||||
            "$P_CLI force_version=tls1_2 \
 | 
			
		||||
             force_ciphersuite=TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384" \
 | 
			
		||||
            0 \
 | 
			
		||||
            -c "Read from server: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
requires_config_enabled MBEDTLS_SSL_TRUNCATED_HMAC
 | 
			
		||||
run_test    "Large server packet TLS 1.2 BlockCipher truncated MAC" \
 | 
			
		||||
            "$P_SRV response_size=16384" \
 | 
			
		||||
            "$P_CLI force_version=tls1_2 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-AES-256-CBC-SHA \
 | 
			
		||||
             trunc_hmac=1" \
 | 
			
		||||
            0 \
 | 
			
		||||
            -c "Read from server: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
run_test    "Large server packet TLS 1.2 StreamCipher" \
 | 
			
		||||
            "$P_SRV response_size=16384 arc4=1 force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA" \
 | 
			
		||||
            "$P_CLI force_version=tls1_2 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA" \
 | 
			
		||||
            0 \
 | 
			
		||||
            -c "Read from server: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
requires_config_enabled MBEDTLS_SSL_TRUNCATED_HMAC
 | 
			
		||||
run_test    "Large server packet TLS 1.2 StreamCipher truncated MAC" \
 | 
			
		||||
            "$P_SRV response_size=16384 arc4=1 force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA" \
 | 
			
		||||
            "$P_CLI force_version=tls1_2 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-RC4-128-SHA \
 | 
			
		||||
             trunc_hmac=1" \
 | 
			
		||||
            0 \
 | 
			
		||||
            -c "Read from server: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
run_test    "Large server packet TLS 1.2 AEAD" \
 | 
			
		||||
            "$P_SRV response_size=16384" \
 | 
			
		||||
            "$P_CLI force_version=tls1_2 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-AES-256-CCM" \
 | 
			
		||||
            0 \
 | 
			
		||||
            -c "Read from server: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
run_test    "Large server packet TLS 1.2 AEAD shorter tag" \
 | 
			
		||||
            "$P_SRV response_size=16384" \
 | 
			
		||||
            "$P_CLI force_version=tls1_2 \
 | 
			
		||||
             force_ciphersuite=TLS-RSA-WITH-AES-256-CCM-8" \
 | 
			
		||||
            0 \
 | 
			
		||||
            -c "Read from server: 16384 bytes read"
 | 
			
		||||
 | 
			
		||||
# Tests of asynchronous private key support in SSL
 | 
			
		||||
 | 
			
		||||
requires_config_enabled MBEDTLS_SSL_ASYNC_PRIVATE
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user