1e1051a39Sopenharmony_ci# -*- mode: perl; -*- 2e1051a39Sopenharmony_ci# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. 3e1051a39Sopenharmony_ci# 4e1051a39Sopenharmony_ci# Licensed under the Apache License 2.0 (the "License"). You may not use 5e1051a39Sopenharmony_ci# this file except in compliance with the License. You can obtain a copy 6e1051a39Sopenharmony_ci# in the file LICENSE in the source distribution or at 7e1051a39Sopenharmony_ci# https://www.openssl.org/source/license.html 8e1051a39Sopenharmony_ci 9e1051a39Sopenharmony_ci 10e1051a39Sopenharmony_ci## Test Compression 11e1051a39Sopenharmony_ci 12e1051a39Sopenharmony_ciuse strict; 13e1051a39Sopenharmony_ciuse warnings; 14e1051a39Sopenharmony_ci 15e1051a39Sopenharmony_cipackage ssltests; 16e1051a39Sopenharmony_ciuse OpenSSL::Test::Utils; 17e1051a39Sopenharmony_ci 18e1051a39Sopenharmony_ciour @tests = (); 19e1051a39Sopenharmony_ci 20e1051a39Sopenharmony_ciour @tests_tls1_3 = ( 21e1051a39Sopenharmony_ci { 22e1051a39Sopenharmony_ci name => "tlsv1_3-both-compress", 23e1051a39Sopenharmony_ci server => { 24e1051a39Sopenharmony_ci "Options" => "Compression" 25e1051a39Sopenharmony_ci }, 26e1051a39Sopenharmony_ci client => { 27e1051a39Sopenharmony_ci "Options" => "Compression" 28e1051a39Sopenharmony_ci }, 29e1051a39Sopenharmony_ci test => { 30e1051a39Sopenharmony_ci "CompressionExpected" => "No", 31e1051a39Sopenharmony_ci "ExpectedResult" => "Success" 32e1051a39Sopenharmony_ci } 33e1051a39Sopenharmony_ci }, 34e1051a39Sopenharmony_ci { 35e1051a39Sopenharmony_ci name => "tlsv1_3-client-compress", 36e1051a39Sopenharmony_ci server => { 37e1051a39Sopenharmony_ci }, 38e1051a39Sopenharmony_ci client => { 39e1051a39Sopenharmony_ci "Options" => "Compression" 40e1051a39Sopenharmony_ci }, 41e1051a39Sopenharmony_ci test => { 42e1051a39Sopenharmony_ci "CompressionExpected" => "No", 43e1051a39Sopenharmony_ci "ExpectedResult" => "Success" 44e1051a39Sopenharmony_ci } 45e1051a39Sopenharmony_ci }, 46e1051a39Sopenharmony_ci { 47e1051a39Sopenharmony_ci name => "tlsv1_3-server-compress", 48e1051a39Sopenharmony_ci server => { 49e1051a39Sopenharmony_ci "Options" => "Compression" 50e1051a39Sopenharmony_ci }, 51e1051a39Sopenharmony_ci client => { 52e1051a39Sopenharmony_ci }, 53e1051a39Sopenharmony_ci test => { 54e1051a39Sopenharmony_ci "CompressionExpected" => "No", 55e1051a39Sopenharmony_ci "ExpectedResult" => "Success" 56e1051a39Sopenharmony_ci } 57e1051a39Sopenharmony_ci }, 58e1051a39Sopenharmony_ci { 59e1051a39Sopenharmony_ci name => "tlsv1_3-neither-compress", 60e1051a39Sopenharmony_ci server => { 61e1051a39Sopenharmony_ci }, 62e1051a39Sopenharmony_ci client => { 63e1051a39Sopenharmony_ci }, 64e1051a39Sopenharmony_ci test => { 65e1051a39Sopenharmony_ci "CompressionExpected" => "No", 66e1051a39Sopenharmony_ci "ExpectedResult" => "Success" 67e1051a39Sopenharmony_ci } 68e1051a39Sopenharmony_ci }, 69e1051a39Sopenharmony_ci); 70e1051a39Sopenharmony_ciour @tests_tls1_2 = ( 71e1051a39Sopenharmony_ci { 72e1051a39Sopenharmony_ci name => "tlsv1_2-both-compress", 73e1051a39Sopenharmony_ci server => { 74e1051a39Sopenharmony_ci "Options" => "Compression" 75e1051a39Sopenharmony_ci }, 76e1051a39Sopenharmony_ci client => { 77e1051a39Sopenharmony_ci "Options" => "Compression", 78e1051a39Sopenharmony_ci "MaxProtocol" => "TLSv1.2" 79e1051a39Sopenharmony_ci }, 80e1051a39Sopenharmony_ci test => { 81e1051a39Sopenharmony_ci "CompressionExpected" => "Yes", 82e1051a39Sopenharmony_ci "ExpectedResult" => "Success" 83e1051a39Sopenharmony_ci } 84e1051a39Sopenharmony_ci }, 85e1051a39Sopenharmony_ci { 86e1051a39Sopenharmony_ci name => "tlsv1_2-client-compress", 87e1051a39Sopenharmony_ci server => { 88e1051a39Sopenharmony_ci }, 89e1051a39Sopenharmony_ci client => { 90e1051a39Sopenharmony_ci "Options" => "Compression", 91e1051a39Sopenharmony_ci "MaxProtocol" => "TLSv1.2" 92e1051a39Sopenharmony_ci }, 93e1051a39Sopenharmony_ci test => { 94e1051a39Sopenharmony_ci "CompressionExpected" => "No", 95e1051a39Sopenharmony_ci "ExpectedResult" => "Success" 96e1051a39Sopenharmony_ci } 97e1051a39Sopenharmony_ci }, 98e1051a39Sopenharmony_ci { 99e1051a39Sopenharmony_ci name => "tlsv1_2-server-compress", 100e1051a39Sopenharmony_ci server => { 101e1051a39Sopenharmony_ci "Options" => "Compression" 102e1051a39Sopenharmony_ci }, 103e1051a39Sopenharmony_ci client => { 104e1051a39Sopenharmony_ci "MaxProtocol" => "TLSv1.2" 105e1051a39Sopenharmony_ci }, 106e1051a39Sopenharmony_ci test => { 107e1051a39Sopenharmony_ci "CompressionExpected" => "No", 108e1051a39Sopenharmony_ci "ExpectedResult" => "Success" 109e1051a39Sopenharmony_ci } 110e1051a39Sopenharmony_ci }, 111e1051a39Sopenharmony_ci { 112e1051a39Sopenharmony_ci name => "tlsv1_2-neither-compress", 113e1051a39Sopenharmony_ci server => { 114e1051a39Sopenharmony_ci }, 115e1051a39Sopenharmony_ci client => { 116e1051a39Sopenharmony_ci "MaxProtocol" => "TLSv1.2" 117e1051a39Sopenharmony_ci }, 118e1051a39Sopenharmony_ci test => { 119e1051a39Sopenharmony_ci "CompressionExpected" => "No", 120e1051a39Sopenharmony_ci "ExpectedResult" => "Success" 121e1051a39Sopenharmony_ci } 122e1051a39Sopenharmony_ci }, 123e1051a39Sopenharmony_ci); 124e1051a39Sopenharmony_ci 125e1051a39Sopenharmony_cipush @tests, @tests_tls1_3 unless disabled("tls1_3"); 126e1051a39Sopenharmony_cipush @tests, @tests_tls1_2 unless alldisabled(("tls1_2", "tls1_1", "tls1", 127e1051a39Sopenharmony_ci "ssl3")); 128