2016-11-04 14:26:57 +00:00
|
|
|
{-
|
|
|
|
use File::Spec::Functions;
|
|
|
|
sub rebase_files
|
|
|
|
{
|
|
|
|
my ($base, $files) = @_;
|
|
|
|
return join(" ", map { "$base/$_" } split(/\s+/, $files));
|
|
|
|
}
|
2017-01-12 12:07:39 +00:00
|
|
|
""
|
2016-11-04 14:26:57 +00:00
|
|
|
-}
|
2016-04-14 12:44:15 +00:00
|
|
|
IF[{- !$disabled{tests} -}]
|
2017-04-18 14:27:27 +00:00
|
|
|
LIBS_NO_INST=libtestutil.a
|
2017-04-28 12:46:18 +00:00
|
|
|
SOURCE[libtestutil.a]=testutil/basic_output.c testutil/output_helpers.c \
|
2017-06-05 17:32:05 +00:00
|
|
|
testutil/driver.c testutil/tests.c testutil/cb.c testutil/stanza.c \
|
2017-06-21 23:35:08 +00:00
|
|
|
testutil/format_output.c testutil/tap_bio.c \
|
2017-07-18 01:48:27 +00:00
|
|
|
testutil/test_cleanup.c testutil/main.c testutil/init.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[libtestutil.a]=../include
|
2017-04-18 14:27:27 +00:00
|
|
|
DEPEND[libtestutil.a]=../libcrypto
|
|
|
|
|
2017-04-19 10:32:42 +00:00
|
|
|
# Special hack for descrip.mms to include the MAIN object module
|
2017-11-12 00:03:10 +00:00
|
|
|
# explicitly. This will only be done if there isn't a MAIN in the
|
2017-04-19 10:32:42 +00:00
|
|
|
# program's object modules already.
|
|
|
|
BEGINRAW[descrip.mms]
|
|
|
|
INCLUDE_MAIN___test_libtestutil_OLB = /INCLUDE=MAIN
|
|
|
|
ENDRAW[descrip.mms]
|
|
|
|
|
2016-07-08 12:52:51 +00:00
|
|
|
PROGRAMS_NO_INST=\
|
2018-03-26 09:00:05 +00:00
|
|
|
versions \
|
2017-03-22 04:27:55 +00:00
|
|
|
aborttest test_test \
|
2017-02-28 15:53:28 +00:00
|
|
|
sanitytest exdatatest bntest \
|
2017-06-16 20:55:19 +00:00
|
|
|
ectest ecstresstest ecdsatest gmdifftest pbelutest ideatest \
|
2017-02-28 15:11:48 +00:00
|
|
|
md2test \
|
2017-02-28 14:18:27 +00:00
|
|
|
hmactest \
|
2017-02-28 15:58:46 +00:00
|
|
|
rc2test rc4test rc5test \
|
2017-05-11 23:31:18 +00:00
|
|
|
destest mdc2test \
|
2017-08-03 13:23:28 +00:00
|
|
|
dhtest enginetest casttest \
|
2016-04-14 12:44:15 +00:00
|
|
|
bftest ssltest_old dsatest exptest rsa_test \
|
2016-06-08 15:37:06 +00:00
|
|
|
evp_test evp_extra_test igetest v3nametest v3ext \
|
2017-03-16 05:00:23 +00:00
|
|
|
crltest danetest bad_dtls_test lhash_test \
|
2018-02-27 12:55:35 +00:00
|
|
|
conf_include_test \
|
2016-04-14 12:44:15 +00:00
|
|
|
constant_time_test verify_extra_test clienthellotest \
|
2017-03-14 02:37:26 +00:00
|
|
|
packettest asynctest secmemtest srptest memleaktest stack_test \
|
2016-04-14 12:44:15 +00:00
|
|
|
dtlsv1listentest ct_test threadstest afalgtest d2i_test \
|
2016-05-26 12:47:47 +00:00
|
|
|
ssl_test_ctx_test ssl_test x509aux cipherlist_test asynciotest \
|
2018-03-19 13:20:53 +00:00
|
|
|
bio_callback_test \
|
2016-11-19 21:52:34 +00:00
|
|
|
bioprinttest sslapitest dtlstest sslcorrupttest bio_enc_test \
|
2017-08-03 19:44:18 +00:00
|
|
|
pkey_meth_test pkey_meth_kdf_test uitest cipherbytes_test \
|
|
|
|
asn1_encode_test asn1_string_table_test \
|
2017-06-27 16:04:37 +00:00
|
|
|
x509_time_test x509_dup_cert_test x509_check_cert_pkey_test \
|
2017-01-13 16:00:26 +00:00
|
|
|
recordlentest drbgtest sslbuffertest \
|
2018-03-10 18:06:43 +00:00
|
|
|
recordlentest drbgtest drbg_cavs_test sslbuffertest \
|
2017-06-28 07:46:13 +00:00
|
|
|
time_offset_test pemtest ssl_cert_table_internal_test ciphername_test \
|
2018-03-19 14:01:39 +00:00
|
|
|
servername_test ocspapitest rsa_mp_test fatalerrtest tls13ccstest \
|
2018-05-20 21:24:30 +00:00
|
|
|
sysdefaulttest errtest
|
2016-04-14 12:44:15 +00:00
|
|
|
|
2018-03-26 09:00:05 +00:00
|
|
|
SOURCE[versions]=versions.c
|
|
|
|
INCLUDE[versions]=../include
|
|
|
|
DEPEND[versions]=../libcrypto
|
|
|
|
|
2016-04-14 12:44:15 +00:00
|
|
|
SOURCE[aborttest]=aborttest.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[aborttest]=../include
|
2016-04-14 12:44:15 +00:00
|
|
|
DEPEND[aborttest]=../libcrypto
|
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[sanitytest]=sanitytest.c
|
2016-06-28 17:05:24 +00:00
|
|
|
INCLUDE[sanitytest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[sanitytest]=../libcrypto libtestutil.a
|
2016-04-14 12:44:15 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[test_test]=test_test.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[test_test]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[test_test]=../libcrypto libtestutil.a
|
2017-03-22 04:27:55 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[exdatatest]=exdatatest.c
|
2017-02-28 15:53:28 +00:00
|
|
|
INCLUDE[exdatatest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[exdatatest]=../libcrypto libtestutil.a
|
2017-02-28 15:53:28 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[bntest]=bntest.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[bntest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[bntest]=../libcrypto libtestutil.a
|
2016-04-14 12:44:15 +00:00
|
|
|
|
|
|
|
SOURCE[ectest]=ectest.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[ectest]=../include
|
2017-04-28 04:06:11 +00:00
|
|
|
DEPEND[ectest]=../libcrypto libtestutil.a
|
2016-04-14 12:44:15 +00:00
|
|
|
|
2017-06-16 20:55:19 +00:00
|
|
|
SOURCE[ecstresstest]=ecstresstest.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[ecstresstest]=../include
|
2017-06-16 20:55:19 +00:00
|
|
|
DEPEND[ecstresstest]=../libcrypto libtestutil.a
|
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[ecdsatest]=ecdsatest.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[ecdsatest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[ecdsatest]=../libcrypto libtestutil.a
|
2016-04-14 12:44:15 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[gmdifftest]=gmdifftest.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[gmdifftest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[gmdifftest]=../libcrypto libtestutil.a
|
2016-04-14 12:44:15 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[pbelutest]=pbelutest.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[pbelutest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[pbelutest]=../libcrypto libtestutil.a
|
2016-04-14 12:44:15 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[ideatest]=ideatest.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[ideatest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[ideatest]=../libcrypto libtestutil.a
|
2016-04-14 12:44:15 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[md2test]=md2test.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[md2test]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[md2test]=../libcrypto libtestutil.a
|
2016-04-14 12:44:15 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[hmactest]=hmactest.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[hmactest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[hmactest]=../libcrypto libtestutil.a
|
2016-04-14 12:44:15 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[rc2test]=rc2test.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[rc2test]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[rc2test]=../libcrypto libtestutil.a
|
2016-04-14 12:44:15 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[rc4test]=rc4test.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[rc4test]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[rc4test]=../libcrypto libtestutil.a
|
2016-04-14 12:44:15 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[rc5test]=rc5test.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[rc5test]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[rc5test]=../libcrypto libtestutil.a
|
2016-04-14 12:44:15 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[destest]=destest.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[destest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[destest]=../libcrypto libtestutil.a
|
2016-04-14 12:44:15 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[mdc2test]=mdc2test.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[mdc2test]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[mdc2test]=../libcrypto libtestutil.a
|
2016-04-14 12:44:15 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[dhtest]=dhtest.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[dhtest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[dhtest]=../libcrypto libtestutil.a
|
2016-01-29 22:33:10 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[enginetest]=enginetest.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[enginetest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[enginetest]=../libcrypto libtestutil.a
|
2016-01-29 22:33:10 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[casttest]=casttest.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[casttest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[casttest]=../libcrypto libtestutil.a
|
2016-01-29 22:33:10 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[bftest]=bftest.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[bftest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[bftest]=../libcrypto libtestutil.a
|
2016-01-29 22:33:10 +00:00
|
|
|
|
2016-04-14 12:44:15 +00:00
|
|
|
SOURCE[ssltest_old]=ssltest_old.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[ssltest_old]=.. ../include
|
2016-04-14 12:44:15 +00:00
|
|
|
DEPEND[ssltest_old]=../libcrypto ../libssl
|
2016-01-29 22:33:10 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[dsatest]=dsatest.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[dsatest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[dsatest]=../libcrypto libtestutil.a
|
2016-01-29 22:33:10 +00:00
|
|
|
|
2016-04-14 12:44:15 +00:00
|
|
|
SOURCE[exptest]=exptest.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[exptest]=../include
|
2017-04-26 13:11:50 +00:00
|
|
|
DEPEND[exptest]=../libcrypto libtestutil.a
|
2016-01-29 22:33:10 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[rsa_test]=rsa_test.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[rsa_test]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[rsa_test]=../libcrypto libtestutil.a
|
2016-01-29 22:33:10 +00:00
|
|
|
|
2017-08-01 18:19:43 +00:00
|
|
|
SOURCE[rsa_mp_test]=rsa_mp_test.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[rsa_mp_test]=../include
|
2017-08-01 18:19:43 +00:00
|
|
|
DEPEND[rsa_mp_test]=../libcrypto libtestutil.a
|
|
|
|
|
2017-11-29 13:56:15 +00:00
|
|
|
SOURCE[fatalerrtest]=fatalerrtest.c ssltestlib.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[fatalerrtest]=../include
|
2017-11-29 13:56:15 +00:00
|
|
|
DEPEND[fatalerrtest]=../libcrypto ../libssl libtestutil.a
|
2017-11-30 10:13:13 +00:00
|
|
|
|
|
|
|
SOURCE[tls13ccstest]=tls13ccstest.c ssltestlib.c
|
|
|
|
INCLUDE[tls13ccstest]=../include
|
|
|
|
DEPEND[tls13ccstest]=../libcrypto ../libssl libtestutil.a
|
2017-11-29 13:56:15 +00:00
|
|
|
|
2016-04-14 12:44:15 +00:00
|
|
|
SOURCE[evp_test]=evp_test.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[evp_test]=../include
|
2017-04-26 19:33:43 +00:00
|
|
|
DEPEND[evp_test]=../libcrypto libtestutil.a
|
2016-01-29 22:33:10 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[evp_extra_test]=evp_extra_test.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[evp_extra_test]=../include ../crypto/include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[evp_extra_test]=../libcrypto libtestutil.a
|
2016-01-29 22:33:10 +00:00
|
|
|
|
2016-04-14 12:44:15 +00:00
|
|
|
SOURCE[igetest]=igetest.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[igetest]=../include
|
2017-04-20 04:23:10 +00:00
|
|
|
DEPEND[igetest]=../libcrypto libtestutil.a
|
2016-01-29 22:33:10 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[v3nametest]=v3nametest.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[v3nametest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[v3nametest]=../libcrypto libtestutil.a
|
2016-01-29 22:33:10 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[crltest]=crltest.c
|
2016-11-28 20:33:40 +00:00
|
|
|
INCLUDE[crltest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[crltest]=../libcrypto libtestutil.a
|
2016-11-28 20:33:40 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[v3ext]=v3ext.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[v3ext]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[v3ext]=../libcrypto libtestutil.a
|
2016-06-08 15:37:06 +00:00
|
|
|
|
2016-04-14 12:44:15 +00:00
|
|
|
SOURCE[danetest]=danetest.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[danetest]=../include
|
2017-05-02 12:32:26 +00:00
|
|
|
DEPEND[danetest]=../libcrypto ../libssl libtestutil.a
|
2016-01-29 22:33:10 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[constant_time_test]=constant_time_test.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[constant_time_test]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[constant_time_test]=../libcrypto libtestutil.a
|
2016-01-29 22:33:10 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[verify_extra_test]=verify_extra_test.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[verify_extra_test]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[verify_extra_test]=../libcrypto libtestutil.a
|
2016-01-29 22:33:10 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[clienthellotest]=clienthellotest.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[clienthellotest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[clienthellotest]=../libcrypto ../libssl libtestutil.a
|
2016-01-29 22:33:10 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[bad_dtls_test]=bad_dtls_test.c
|
2016-08-05 08:14:56 +00:00
|
|
|
INCLUDE[bad_dtls_test]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[bad_dtls_test]=../libcrypto ../libssl libtestutil.a
|
2016-07-25 13:31:43 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[packettest]=packettest.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[packettest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[packettest]=../libcrypto libtestutil.a
|
2016-01-29 22:33:10 +00:00
|
|
|
|
2016-04-14 12:44:15 +00:00
|
|
|
SOURCE[asynctest]=asynctest.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[asynctest]=../include
|
2016-04-14 12:44:15 +00:00
|
|
|
DEPEND[asynctest]=../libcrypto
|
2016-01-29 22:33:10 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[secmemtest]=secmemtest.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[secmemtest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[secmemtest]=../libcrypto libtestutil.a
|
2016-01-29 22:33:10 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[srptest]=srptest.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[srptest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[srptest]=../libcrypto libtestutil.a
|
2016-01-29 22:33:10 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[memleaktest]=memleaktest.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[memleaktest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[memleaktest]=../libcrypto libtestutil.a
|
2016-02-06 04:45:32 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[stack_test]=stack_test.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[stack_test]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[stack_test]=../libcrypto libtestutil.a
|
2017-03-14 02:37:26 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[lhash_test]=lhash_test.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[lhash_test]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[lhash_test]=../libcrypto libtestutil.a
|
2017-03-16 05:00:23 +00:00
|
|
|
|
2016-04-14 12:44:15 +00:00
|
|
|
SOURCE[dtlsv1listentest]=dtlsv1listentest.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[dtlsv1listentest]=../include
|
2017-04-26 16:20:44 +00:00
|
|
|
DEPEND[dtlsv1listentest]=../libssl libtestutil.a
|
2016-02-25 21:48:36 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[ct_test]=ct_test.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[ct_test]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[ct_test]=../libcrypto libtestutil.a
|
2015-10-25 16:43:55 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[threadstest]=threadstest.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[threadstest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[threadstest]=../libcrypto libtestutil.a
|
2016-02-27 19:34:47 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[afalgtest]=afalgtest.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[afalgtest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[afalgtest]=../libcrypto libtestutil.a
|
2016-03-03 05:56:10 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[d2i_test]=d2i_test.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[d2i_test]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[d2i_test]=../libcrypto libtestutil.a
|
2016-03-30 20:37:05 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[ssl_test_ctx_test]=ssl_test_ctx_test.c ssl_test_ctx.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[ssl_test_ctx_test]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[ssl_test_ctx_test]=../libcrypto ../libssl libtestutil.a
|
2016-03-17 14:14:30 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[ssl_test]=ssl_test.c ssl_test_ctx.c handshake_helper.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[ssl_test]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[ssl_test]=../libcrypto ../libssl libtestutil.a
|
2016-03-17 14:14:30 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[cipherlist_test]=cipherlist_test.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[cipherlist_test]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[cipherlist_test]=../libcrypto ../libssl libtestutil.a
|
2016-04-06 14:03:06 +00:00
|
|
|
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[ssl_test_ctx.o]=../include
|
Add TLSv1.3 post-handshake authentication (PHA)
Add SSL_verify_client_post_handshake() for servers to initiate PHA
Add SSL_force_post_handshake_auth() for clients that don't have certificates
initially configured, but use a certificate callback.
Update SSL_CTX_set_verify()/SSL_set_verify() mode:
* Add SSL_VERIFY_POST_HANDSHAKE to postpone client authentication until after
the initial handshake.
* Update SSL_VERIFY_CLIENT_ONCE now only sends out one CertRequest regardless
of when the certificate authentication takes place; either initial handshake,
re-negotiation, or post-handshake authentication.
Add 'RequestPostHandshake' and 'RequirePostHandshake' SSL_CONF options that
add the SSL_VERIFY_POST_HANDSHAKE to the 'Request' and 'Require' options
Add support to s_client:
* Enabled automatically when cert is configured
* Can be forced enabled via -force_pha
Add support to s_server:
* Use 'c' to invoke PHA in s_server
* Remove some dead code
Update documentation
Update unit tests:
* Illegal use of PHA extension
* TLSv1.3 certificate tests
DTLS and TLS behave ever-so-slightly differently. So, when DTLS1.3 is
implemented, it's PHA support state machine may need to be different.
Add a TODO and a #error
Update handshake context to deal with PHA.
The handshake context for TLSv1.3 post-handshake auth is up through the
ClientFinish message, plus the CertificateRequest message. Subsequent
Certificate, CertificateVerify, and Finish messages are based on this
handshake context (not the Certificate message per se, but it's included
after the hash). KeyUpdate, NewSessionTicket, and prior Certificate
Request messages are not included in post-handshake authentication.
After the ClientFinished message is processed, save off the digest state
for future post-handshake authentication. When post-handshake auth occurs,
copy over the saved handshake context into the "main" handshake digest.
This effectively discards the any KeyUpdate or NewSessionTicket messages
and any prior post-handshake authentication.
This, of course, assumes that the ID-22 did not mean to include any
previous post-handshake authentication into the new handshake transcript.
This is implied by section 4.4.1 that lists messages only up to the
first ClientFinished.
Reviewed-by: Ben Kaduk <kaduk@mit.edu>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/4964)
2017-12-18 21:52:28 +00:00
|
|
|
INCLUDE[handshake_helper.o]=.. ../include
|
2017-03-27 20:49:29 +00:00
|
|
|
INCLUDE[ssltestlib.o]=.. ../include
|
2016-05-02 18:46:51 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[x509aux]=x509aux.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[x509aux]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[x509aux]=../libcrypto libtestutil.a
|
2016-05-12 15:04:10 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[asynciotest]=asynciotest.c ssltestlib.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[asynciotest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[asynciotest]=../libcrypto ../libssl libtestutil.a
|
2016-05-26 12:47:47 +00:00
|
|
|
|
2018-03-19 13:20:53 +00:00
|
|
|
SOURCE[bio_callback_test]=bio_callback_test.c
|
|
|
|
INCLUDE[bio_callback_test]=../include
|
|
|
|
DEPEND[bio_callback_test]=../libcrypto libtestutil.a
|
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[bioprinttest]=bioprinttest.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[bioprinttest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[bioprinttest]=../libcrypto libtestutil.a
|
2016-08-04 22:32:36 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[sslapitest]=sslapitest.c ssltestlib.c
|
2016-12-30 17:12:11 +00:00
|
|
|
INCLUDE[sslapitest]=../include ..
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[sslapitest]=../libcrypto ../libssl libtestutil.a
|
2017-10-19 19:44:10 +00:00
|
|
|
|
|
|
|
SOURCE[ocspapitest]=ocspapitest.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[ocspapitest]=../include
|
2017-10-19 19:44:10 +00:00
|
|
|
DEPEND[ocspapitest]=../libcrypto libtestutil.a
|
2016-07-04 13:59:06 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[dtlstest]=dtlstest.c ssltestlib.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[dtlstest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[dtlstest]=../libcrypto ../libssl libtestutil.a
|
2016-08-21 21:31:21 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[sslcorrupttest]=sslcorrupttest.c ssltestlib.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[sslcorrupttest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[sslcorrupttest]=../libcrypto ../libssl libtestutil.a
|
2016-10-31 20:50:26 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[bio_enc_test]=bio_enc_test.c
|
2016-08-21 21:31:21 +00:00
|
|
|
INCLUDE[bio_enc_test]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[bio_enc_test]=../libcrypto libtestutil.a
|
2016-09-08 09:01:24 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[pkey_meth_test]=pkey_meth_test.c
|
2016-11-19 21:52:34 +00:00
|
|
|
INCLUDE[pkey_meth_test]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[pkey_meth_test]=../libcrypto libtestutil.a
|
2016-11-19 21:52:34 +00:00
|
|
|
|
2017-08-03 19:44:18 +00:00
|
|
|
SOURCE[pkey_meth_kdf_test]=pkey_meth_kdf_test.c
|
|
|
|
INCLUDE[pkey_meth_kdf_test]=../include
|
|
|
|
DEPEND[pkey_meth_kdf_test]=../libcrypto libtestutil.a
|
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[x509_time_test]=x509_time_test.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[x509_time_test]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[x509_time_test]=../libcrypto libtestutil.a
|
2017-02-17 18:00:15 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[recordlentest]=recordlentest.c ssltestlib.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[recordlentest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[recordlentest]=../libcrypto ../libssl libtestutil.a
|
2017-03-06 16:56:42 +00:00
|
|
|
|
2017-06-27 16:04:37 +00:00
|
|
|
SOURCE[drbgtest]=drbgtest.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[drbgtest]=../include
|
2017-06-27 16:04:37 +00:00
|
|
|
DEPEND[drbgtest]=../libcrypto libtestutil.a
|
|
|
|
|
2018-03-10 18:06:43 +00:00
|
|
|
SOURCE[drbg_cavs_test]=drbg_cavs_test.c drbg_cavs_data.c
|
|
|
|
INCLUDE[drbg_cavs_test]=../include . ..
|
|
|
|
DEPEND[drbg_cavs_test]=../libcrypto libtestutil.a
|
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[x509_dup_cert_test]=x509_dup_cert_test.c
|
2017-04-20 19:33:42 +00:00
|
|
|
INCLUDE[x509_dup_cert_test]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[x509_dup_cert_test]=../libcrypto libtestutil.a
|
2017-04-20 19:33:42 +00:00
|
|
|
|
2017-06-04 19:16:40 +00:00
|
|
|
SOURCE[x509_check_cert_pkey_test]=x509_check_cert_pkey_test.c
|
|
|
|
INCLUDE[x509_check_cert_pkey_test]=../include
|
|
|
|
DEPEND[x509_check_cert_pkey_test]=../libcrypto libtestutil.a
|
|
|
|
|
2017-04-12 21:24:43 +00:00
|
|
|
SOURCE[pemtest]=pemtest.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[pemtest]=../include
|
2017-04-12 21:24:43 +00:00
|
|
|
DEPEND[pemtest]=../libcrypto libtestutil.a
|
|
|
|
|
2017-07-08 18:28:15 +00:00
|
|
|
SOURCE[ssl_cert_table_internal_test]=ssl_cert_table_internal_test.c
|
|
|
|
INCLUDE[ssl_cert_table_internal_test]=.. ../include
|
|
|
|
DEPEND[ssl_cert_table_internal_test]=../libcrypto libtestutil.a
|
|
|
|
|
2017-06-29 19:06:19 +00:00
|
|
|
SOURCE[ciphername_test]=ciphername_test.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[ciphername_test]=../include
|
2017-06-29 19:06:19 +00:00
|
|
|
DEPEND[ciphername_test]=../libcrypto ../libssl libtestutil.a
|
|
|
|
|
2017-06-28 07:46:13 +00:00
|
|
|
SOURCE[servername_test]=servername_test.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[servername_test]=../include
|
2017-06-28 07:46:13 +00:00
|
|
|
DEPEND[servername_test]=../libcrypto ../libssl libtestutil.a
|
|
|
|
|
2018-05-09 11:05:39 +00:00
|
|
|
IF[{- !$disabled{cms} -}]
|
|
|
|
PROGRAMS_NO_INST=cmsapitest
|
|
|
|
SOURCE[cmsapitest]=cmsapitest.c
|
|
|
|
INCLUDE[cmsapitest]=../include
|
|
|
|
DEPEND[cmsapitest]=../libcrypto libtestutil.a
|
|
|
|
ENDIF
|
2018-05-01 08:32:30 +00:00
|
|
|
|
2016-10-12 15:13:31 +00:00
|
|
|
IF[{- !$disabled{psk} -}]
|
|
|
|
PROGRAMS_NO_INST=dtls_mtu_test
|
|
|
|
SOURCE[dtls_mtu_test]=dtls_mtu_test.c ssltestlib.c
|
|
|
|
INCLUDE[dtls_mtu_test]=.. ../include
|
2017-04-26 16:20:44 +00:00
|
|
|
DEPEND[dtls_mtu_test]=../libcrypto ../libssl libtestutil.a
|
2016-10-12 15:13:31 +00:00
|
|
|
ENDIF
|
|
|
|
|
2016-11-03 10:31:12 +00:00
|
|
|
IF[{- !$disabled{shared} -}]
|
2016-10-18 13:16:35 +00:00
|
|
|
PROGRAMS_NO_INST=shlibloadtest
|
|
|
|
SOURCE[shlibloadtest]=shlibloadtest.c
|
2018-03-23 00:05:23 +00:00
|
|
|
INCLUDE[shlibloadtest]=../include ../crypto/include
|
2017-05-05 21:39:13 +00:00
|
|
|
DEPEND[shlibloadtest]=libtestutil.a
|
2016-10-18 13:16:35 +00:00
|
|
|
ENDIF
|
|
|
|
|
2016-09-08 09:01:24 +00:00
|
|
|
IF[{- $disabled{shared} -}]
|
2017-01-23 14:53:44 +00:00
|
|
|
PROGRAMS_NO_INST=cipher_overhead_test
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[cipher_overhead_test]=cipher_overhead_test.c
|
2016-10-06 10:44:29 +00:00
|
|
|
INCLUDE[cipher_overhead_test]=.. ../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[cipher_overhead_test]=../libcrypto ../libssl libtestutil.a
|
2016-09-08 09:01:24 +00:00
|
|
|
ENDIF
|
2016-10-25 22:25:44 +00:00
|
|
|
|
2018-01-31 13:18:54 +00:00
|
|
|
SOURCE[uitest]=uitest.c \
|
|
|
|
{- rebase_files("../apps",
|
|
|
|
split(/\s+/, $target{apps_init_src})) -}
|
2017-06-15 17:31:01 +00:00
|
|
|
INCLUDE[uitest]=.. ../include ../apps
|
2018-01-31 13:18:54 +00:00
|
|
|
DEPEND[uitest]=../apps/libapps.a ../libcrypto ../libssl libtestutil.a
|
2017-01-10 23:13:59 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[cipherbytes_test]=cipherbytes_test.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[cipherbytes_test]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[cipherbytes_test]=../libcrypto ../libssl libtestutil.a
|
2017-01-30 18:59:59 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[asn1_encode_test]=asn1_encode_test.c
|
2017-03-31 19:28:20 +00:00
|
|
|
INCLUDE[asn1_encode_test]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[asn1_encode_test]=../libcrypto libtestutil.a
|
2017-03-31 19:28:20 +00:00
|
|
|
|
2017-07-26 17:18:50 +00:00
|
|
|
SOURCE[asn1_string_table_test]=asn1_string_table_test.c
|
|
|
|
INCLUDE[asn1_string_table_test]=../include
|
|
|
|
DEPEND[asn1_string_table_test]=../libcrypto libtestutil.a
|
|
|
|
|
2017-02-16 21:08:02 +00:00
|
|
|
SOURCE[time_offset_test]=time_offset_test.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[time_offset_test]=../include
|
2017-02-16 21:08:02 +00:00
|
|
|
DEPEND[time_offset_test]=../libcrypto libtestutil.a
|
|
|
|
|
2018-02-27 12:55:35 +00:00
|
|
|
SOURCE[conf_include_test]=conf_include_test.c
|
|
|
|
INCLUDE[conf_include_test]=../include
|
|
|
|
DEPEND[conf_include_test]=../libcrypto libtestutil.a
|
|
|
|
|
2016-10-27 06:44:36 +00:00
|
|
|
# Internal test programs. These are essentially a collection of internal
|
2016-11-09 19:09:03 +00:00
|
|
|
# test routines. Some of them need to reach internal symbols that aren't
|
|
|
|
# available through the shared library (at least on Linux, Solaris, Windows
|
|
|
|
# and VMS, where the exported symbols are those listed in util/*.num), these
|
2017-03-28 21:57:28 +00:00
|
|
|
# programs are forcibly linked with the static libraries, where all symbols
|
2016-11-09 19:09:03 +00:00
|
|
|
# are always available. This excludes linking these programs natively on
|
|
|
|
# Windows when building shared libraries, since the static libraries share
|
|
|
|
# names with the DLL import libraries.
|
|
|
|
IF[{- $disabled{shared} || $target{build_scheme}->[1] ne 'windows' -}]
|
2016-11-17 22:58:46 +00:00
|
|
|
PROGRAMS_NO_INST=asn1_internal_test modes_internal_test x509_internal_test \
|
Fix issues in ia32 RDRAND asm leading to reduced entropy
This patch fixes two issues in the ia32 RDRAND assembly code that result in a
(possibly significant) loss of entropy.
The first, less significant, issue is that, by returning success as 0 from
OPENSSL_ia32_rdrand() and OPENSSL_ia32_rdseed(), a subtle bias was introduced.
Specifically, because the assembly routine copied the remaining number of
retries over the result when RDRAND/RDSEED returned 'successful but zero', a
bias towards values 1-8 (primarily 8) was introduced.
The second, more worrying issue was that, due to a mixup in registers, when a
buffer that was not size 0 or 1 mod 8 was passed to OPENSSL_ia32_rdrand_bytes
or OPENSSL_ia32_rdseed_bytes, the last (n mod 8) bytes were all the same value.
This issue impacts only the 64-bit variant of the assembly.
This change fixes both issues by first eliminating the only use of
OPENSSL_ia32_rdrand, replacing it with OPENSSL_ia32_rdrand_bytes, and fixes the
register mixup in OPENSSL_ia32_rdrand_bytes. It also adds a sanity test for
OPENSSL_ia32_rdrand_bytes and OPENSSL_ia32_rdseed_bytes to help catch problems
of this nature in the future.
Reviewed-by: Andy Polyakov <appro@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5342)
2018-03-07 21:01:06 +00:00
|
|
|
tls13encryptiontest wpackettest ctype_internal_test \
|
|
|
|
rdrand_sanitytest
|
2016-11-09 19:09:03 +00:00
|
|
|
IF[{- !$disabled{poly1305} -}]
|
|
|
|
PROGRAMS_NO_INST=poly1305_internal_test
|
|
|
|
ENDIF
|
2017-03-04 22:11:16 +00:00
|
|
|
IF[{- !$disabled{chacha} -}]
|
|
|
|
PROGRAMS_NO_INST=chacha_internal_test
|
|
|
|
ENDIF
|
2017-01-11 21:38:44 +00:00
|
|
|
IF[{- !$disabled{siphash} -}]
|
|
|
|
PROGRAMS_NO_INST=siphash_internal_test
|
|
|
|
ENDIF
|
2018-04-06 13:45:41 +00:00
|
|
|
IF[{- !$disabled{sm2} -}]
|
2018-05-31 12:49:47 +00:00
|
|
|
PROGRAMS_NO_INST=sm2_internal_test
|
2018-04-06 13:45:41 +00:00
|
|
|
ENDIF
|
2017-10-31 05:19:14 +00:00
|
|
|
IF[{- !$disabled{sm4} -}]
|
|
|
|
PROGRAMS_NO_INST=sm4_internal_test
|
|
|
|
ENDIF
|
2018-02-20 14:53:40 +00:00
|
|
|
IF[{- !$disabled{ec} -}]
|
|
|
|
PROGRAMS_NO_INST=curve448_internal_test
|
|
|
|
ENDIF
|
2016-11-09 19:09:03 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[poly1305_internal_test]=poly1305_internal_test.c
|
2016-11-09 19:09:03 +00:00
|
|
|
INCLUDE[poly1305_internal_test]=.. ../include ../crypto/include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[poly1305_internal_test]=../libcrypto.a libtestutil.a
|
2016-11-09 19:09:03 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[chacha_internal_test]=chacha_internal_test.c
|
2017-03-04 22:11:16 +00:00
|
|
|
INCLUDE[chacha_internal_test]=.. ../include ../crypto/include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[chacha_internal_test]=../libcrypto.a libtestutil.a
|
2017-03-04 22:11:16 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[asn1_internal_test]=asn1_internal_test.c
|
2016-11-09 19:09:03 +00:00
|
|
|
INCLUDE[asn1_internal_test]=.. ../include ../crypto/include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[asn1_internal_test]=../libcrypto.a libtestutil.a
|
2016-11-09 19:09:03 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[modes_internal_test]=modes_internal_test.c
|
2016-11-09 19:09:03 +00:00
|
|
|
INCLUDE[modes_internal_test]=.. ../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[modes_internal_test]=../libcrypto.a libtestutil.a
|
2016-11-09 19:09:03 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[x509_internal_test]=x509_internal_test.c
|
2016-11-09 19:09:03 +00:00
|
|
|
INCLUDE[x509_internal_test]=.. ../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[x509_internal_test]=../libcrypto.a libtestutil.a
|
2016-11-17 22:58:46 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[tls13encryptiontest]=tls13encryptiontest.c
|
2016-11-17 22:58:46 +00:00
|
|
|
INCLUDE[tls13encryptiontest]=.. ../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[tls13encryptiontest]=../libcrypto ../libssl.a libtestutil.a
|
2017-01-23 14:53:44 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[wpackettest]=wpackettest.c
|
2017-01-23 14:53:44 +00:00
|
|
|
INCLUDE[wpackettest]=../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[wpackettest]=../libcrypto ../libssl.a libtestutil.a
|
2017-01-11 21:38:44 +00:00
|
|
|
|
2017-08-20 21:19:17 +00:00
|
|
|
SOURCE[ctype_internal_test]=ctype_internal_test.c
|
|
|
|
INCLUDE[ctype_internal_test]=.. ../crypto/include ../include
|
|
|
|
DEPEND[ctype_internal_test]=../libcrypto.a libtestutil.a
|
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[siphash_internal_test]=siphash_internal_test.c
|
2017-01-11 21:38:44 +00:00
|
|
|
INCLUDE[siphash_internal_test]=.. ../include ../crypto/include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[siphash_internal_test]=../libcrypto.a libtestutil.a
|
2017-10-31 05:19:14 +00:00
|
|
|
|
2018-05-31 12:49:47 +00:00
|
|
|
SOURCE[sm2_internal_test]=sm2_internal_test.c
|
|
|
|
INCLUDE[sm2_internal_test]=../include ../crypto/include
|
|
|
|
DEPEND[sm2_internal_test]=../libcrypto.a libtestutil.a
|
2018-04-06 13:45:41 +00:00
|
|
|
|
2017-10-31 05:19:14 +00:00
|
|
|
SOURCE[sm4_internal_test]=sm4_internal_test.c
|
|
|
|
INCLUDE[sm4_internal_test]=.. ../include ../crypto/include
|
|
|
|
DEPEND[sm4_internal_test]=../libcrypto.a libtestutil.a
|
2017-12-12 19:55:38 +00:00
|
|
|
|
|
|
|
SOURCE[curve448_internal_test]=curve448_internal_test.c
|
|
|
|
INCLUDE[curve448_internal_test]=.. ../include ../crypto/ec/curve448
|
|
|
|
DEPEND[curve448_internal_test]=../libcrypto.a libtestutil.a
|
Fix issues in ia32 RDRAND asm leading to reduced entropy
This patch fixes two issues in the ia32 RDRAND assembly code that result in a
(possibly significant) loss of entropy.
The first, less significant, issue is that, by returning success as 0 from
OPENSSL_ia32_rdrand() and OPENSSL_ia32_rdseed(), a subtle bias was introduced.
Specifically, because the assembly routine copied the remaining number of
retries over the result when RDRAND/RDSEED returned 'successful but zero', a
bias towards values 1-8 (primarily 8) was introduced.
The second, more worrying issue was that, due to a mixup in registers, when a
buffer that was not size 0 or 1 mod 8 was passed to OPENSSL_ia32_rdrand_bytes
or OPENSSL_ia32_rdseed_bytes, the last (n mod 8) bytes were all the same value.
This issue impacts only the 64-bit variant of the assembly.
This change fixes both issues by first eliminating the only use of
OPENSSL_ia32_rdrand, replacing it with OPENSSL_ia32_rdrand_bytes, and fixes the
register mixup in OPENSSL_ia32_rdrand_bytes. It also adds a sanity test for
OPENSSL_ia32_rdrand_bytes and OPENSSL_ia32_rdseed_bytes to help catch problems
of this nature in the future.
Reviewed-by: Andy Polyakov <appro@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5342)
2018-03-07 21:01:06 +00:00
|
|
|
|
|
|
|
SOURCE[rdrand_sanitytest]=rdrand_sanitytest.c
|
|
|
|
INCLUDE[rdrand_sanitytest]=../include
|
|
|
|
DEPEND[rdrand_sanitytest]=../libcrypto.a libtestutil.a
|
2016-10-25 22:25:44 +00:00
|
|
|
ENDIF
|
2016-10-26 21:12:48 +00:00
|
|
|
|
2016-11-09 19:09:03 +00:00
|
|
|
IF[{- !$disabled{mdc2} -}]
|
|
|
|
PROGRAMS_NO_INST=mdc2_internal_test
|
2016-10-27 19:42:45 +00:00
|
|
|
ENDIF
|
2016-10-27 20:18:50 +00:00
|
|
|
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[mdc2_internal_test]=mdc2_internal_test.c
|
2016-10-27 20:18:50 +00:00
|
|
|
INCLUDE[mdc2_internal_test]=.. ../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[mdc2_internal_test]=../libcrypto libtestutil.a
|
2016-11-07 10:18:41 +00:00
|
|
|
|
2017-08-04 01:24:03 +00:00
|
|
|
PROGRAMS_NO_INST=asn1_time_test
|
|
|
|
SOURCE[asn1_time_test]=asn1_time_test.c
|
2018-01-22 10:00:59 +00:00
|
|
|
INCLUDE[asn1_time_test]=../include
|
2017-08-04 01:24:03 +00:00
|
|
|
DEPEND[asn1_time_test]=../libcrypto libtestutil.a
|
|
|
|
|
2016-11-07 10:18:41 +00:00
|
|
|
# We disable this test completely in a shared build because it deliberately
|
|
|
|
# redefines some internal libssl symbols. This doesn't work in a non-shared
|
|
|
|
# build
|
|
|
|
IF[{- !$disabled{shared} -}]
|
|
|
|
PROGRAMS_NO_INST=tls13secretstest
|
2017-04-18 14:47:11 +00:00
|
|
|
SOURCE[tls13secretstest]=tls13secretstest.c
|
2016-11-07 10:18:41 +00:00
|
|
|
SOURCE[tls13secretstest]= ../ssl/tls13_enc.c ../ssl/packet.c
|
|
|
|
INCLUDE[tls13secretstest]=.. ../include
|
2017-04-18 14:47:11 +00:00
|
|
|
DEPEND[tls13secretstest]=../libcrypto ../libssl libtestutil.a
|
2016-11-07 10:18:41 +00:00
|
|
|
ENDIF
|
2017-01-13 16:00:26 +00:00
|
|
|
|
|
|
|
SOURCE[sslbuffertest]=sslbuffertest.c ssltestlib.c
|
|
|
|
INCLUDE[sslbuffertest]=../include
|
|
|
|
DEPEND[sslbuffertest]=../libcrypto ../libssl libtestutil.a
|
2018-03-19 14:01:39 +00:00
|
|
|
|
|
|
|
SOURCE[sysdefaulttest]=sysdefaulttest.c
|
|
|
|
INCLUDE[sysdefaulttest]=../include
|
|
|
|
DEPEND[sysdefaulttest]=../libcrypto ../libssl libtestutil.a
|
2018-05-20 21:24:30 +00:00
|
|
|
|
|
|
|
SOURCE[errtest]=errtest.c
|
|
|
|
INCLUDE[errtest]=../include
|
|
|
|
DEPEND[errtest]=../libcrypto libtestutil.a
|
2016-08-04 22:32:36 +00:00
|
|
|
ENDIF
|
|
|
|
|
|
|
|
{-
|
2016-06-29 20:59:50 +00:00
|
|
|
use File::Spec::Functions;
|
2016-06-03 13:02:10 +00:00
|
|
|
use File::Basename;
|
2017-08-01 20:43:56 +00:00
|
|
|
use OpenSSL::Glob;
|
2016-06-03 13:02:10 +00:00
|
|
|
|
|
|
|
my @nogo_headers = ( "asn1_mac.h",
|
2018-05-01 21:25:16 +00:00
|
|
|
"opensslconf.h",
|
2016-06-03 13:02:10 +00:00
|
|
|
"__decc_include_prologue.h",
|
|
|
|
"__decc_include_epilogue.h" );
|
2018-03-19 17:54:27 +00:00
|
|
|
my @nogo_headers_re = ( qr/.*err\.h/ );
|
2016-06-03 13:02:10 +00:00
|
|
|
my @headerfiles = glob catfile($sourcedir,
|
|
|
|
updir(), "include", "openssl", "*.h");
|
|
|
|
|
|
|
|
foreach my $headerfile (@headerfiles) {
|
|
|
|
my $name = basename($headerfile, ".h");
|
|
|
|
next if $disabled{$name};
|
|
|
|
next if grep { $_ eq lc("$name.h") } @nogo_headers;
|
2018-03-19 17:54:27 +00:00
|
|
|
next if grep { lc("$name.h") =~ m/$_/i } @nogo_headers_re;
|
2016-06-03 13:02:10 +00:00
|
|
|
$OUT .= <<"_____";
|
|
|
|
|
2016-07-08 12:52:51 +00:00
|
|
|
PROGRAMS_NO_INST=buildtest_$name
|
2016-06-03 13:02:10 +00:00
|
|
|
GENERATE[buildtest_$name.c]=generate_buildtest.pl $name
|
|
|
|
SOURCE[buildtest_$name]=buildtest_$name.c
|
2016-06-29 20:59:50 +00:00
|
|
|
INCLUDE[buildtest_$name]=../include
|
2016-06-03 13:02:10 +00:00
|
|
|
DEPEND[buildtest_$name]=../libssl ../libcrypto
|
|
|
|
_____
|
|
|
|
}
|
2016-08-04 22:32:36 +00:00
|
|
|
-}
|