Unit/regression test for TLS heartbeats.
[openssl.git] / test / Makefile
index 93619504ff3455edbc60dd3679172bdddf289eb0..e016d71a9c3ffe401a2d5978fbb896968a1472f2 100644 (file)
@@ -12,7 +12,7 @@ PERL=         perl
 # KRB5 stuff
 KRB5_INCLUDES=
 LIBKRB5=
-TEST=          fips_algvs.c
+TEST=          fips_algvs.c igetest.c
 
 PEX_LIBS=
 EX_LIBS= #-lnsl -lsocket
@@ -53,6 +53,7 @@ RC5TEST=      rc5test
 BFTEST=                bftest
 CASTTEST=      casttest
 DESTEST=       destest
+GOST2814789TEST=gost2814789t
 RANDTEST=      randtest
 DHTEST=                dhtest
 DSATEST=       dsatest
@@ -84,6 +85,7 @@ FIPS_ECDSAVS= fips_ecdsavs
 FIPS_TEST_SUITE=fips_test_suite
 FIPS_CMACTEST= fips_cmactest
 FIPS_ALGVS=    fips_algvs
+HEARTBEATTEST = heartbeat_test
 
 TESTS=         alltests
 
@@ -93,10 +95,11 @@ EXE=        $(BNTEST)$(EXE_EXT) $(ECTEST)$(EXE_EXT)  $(ECDSATEST)$(EXE_EXT) $(ECDHTEST)
        $(DESTEST)$(EXE_EXT) $(SHATEST)$(EXE_EXT) $(SHA1TEST)$(EXE_EXT) $(SHA256TEST)$(EXE_EXT) $(SHA512TEST)$(EXE_EXT) \
        $(MDC2TEST)$(EXE_EXT) $(RMDTEST)$(EXE_EXT) \
        $(RANDTEST)$(EXE_EXT) $(DHTEST)$(EXE_EXT) $(ENGINETEST)$(EXE_EXT) \
+       $(GOST2814789TEST)$(EXE_EXT) \
        $(BFTEST)$(EXE_EXT) $(CASTTEST)$(EXE_EXT) $(SSLTEST)$(EXE_EXT) \
        $(EXPTEST)$(EXE_EXT) $(DSATEST)$(EXE_EXT) $(RSATEST)$(EXE_EXT) \
        $(EVPTEST)$(EXE_EXT) $(IGETEST)$(EXE_EXT) $(JPAKETEST)$(EXE_EXT) $(SRPTEST)$(EXE_EXT) \
-       $(V3NAMETEST)$(EXE_EXT)
+       $(V3NAMETEST)$(EXE_EXT) $(HEARTBEATTEST)$(EXE_EXT)
 
 FIPSEXE=$(FIPS_SHATEST)$(EXE_EXT) $(FIPS_DESTEST)$(EXE_EXT) \
        $(FIPS_RANDTEST)$(EXE_EXT) $(FIPS_AESTEST)$(EXE_EXT) \
@@ -124,7 +127,8 @@ OBJ=        $(BNTEST).o $(ECTEST).o  $(ECDSATEST).o $(ECDHTEST).o $(IDEATEST).o \
        $(FIPS_DSSVS).o $(FIPS_DSATEST).o $(FIPS_RNGVS).o $(FIPS_DRBGVS).o \
        $(FIPS_TEST_SUITE).o $(FIPS_DHVS).o $(FIPS_ECDSAVS).o \
        $(FIPS_ECDHVS).o $(FIPS_CMACTEST).o $(FIPS_ALGVS).o \
-       $(EVPTEST).o $(IGETEST).o $(JPAKETEST).o $(V3NAMETEST).o
+       $(EVPTEST).o $(IGETEST).o $(JPAKETEST).o $(V3NAMETEST).o \
+       $(GOST2814789TEST).o $(HEARTBEATTEST).o
 SRC=   $(BNTEST).c $(ECTEST).c  $(ECDSATEST).c $(ECDHTEST).c $(IDEATEST).c \
        $(MD2TEST).c  $(MD4TEST).c $(MD5TEST).c \
        $(HMACTEST).c $(WPTEST).c \
@@ -138,7 +142,8 @@ SRC=        $(BNTEST).c $(ECTEST).c  $(ECDSATEST).c $(ECDHTEST).c $(IDEATEST).c \
        $(FIPS_DSSVS).c $(FIPS_DSATEST).c $(FIPS_RNGVS).c $(FIPS_DRBGVS).c \
        $(FIPS_TEST_SUITE).c $(FIPS_DHVS).c $(FIPS_ECDSAVS).c \
        $(FIPS_ECDHVS).c $(FIPS_CMACTEST).c $(FIPS_ALGVS).c \
-       $(EVPTEST).c $(IGETEST).c $(JPAKETEST).c $(V3NAMETEST).c
+       $(EVPTEST).c $(IGETEST).c $(JPAKETEST).c $(V3NAMETEST).c \
+       $(GOST2814789TEST).c $(HEARTBEATTEST).c
 
 EXHEADER= 
 HEADER=        $(EXHEADER)
@@ -180,71 +185,75 @@ apps:
 alltests: \
        test_des test_idea test_sha test_md4 test_md5 test_hmac \
        test_md2 test_mdc2 test_wp \
-       test_rmd test_rc2 test_rc4 test_rc5 test_bf test_cast test_aes \
+       test_rmd test_rc2 test_rc4 test_rc5 test_bf test_cast \
        test_rand test_bn test_ec test_ecdsa test_ecdh \
        test_enc test_x509 test_rsa test_crl test_sid \
        test_gen test_req test_pkcs7 test_verify test_dh test_dsa \
        test_ss test_ca test_engine test_evp test_ssl test_tsa test_ige \
-       test_jpake test_srp test_cms test_v3name test_ocsp
+       test_jpake test_srp test_cms test_v3name test_ocsp \
+       test_gost2814789 test_heartbeat
 
-test_evp:
+test_evp: $(EVPTEST)$(EXE_EXT) evptests.txt
        ../util/shlib_wrap.sh ./$(EVPTEST) evptests.txt
 
-test_des:
+test_des: $(DESTEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(DESTEST)
 
-test_idea:
+test_idea: $(IDEATEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(IDEATEST)
 
-test_sha:
+test_sha: $(SHATEST)$(EXE_EXT) $(SHA1TEST)$(EXE_EXT) $(SHA256TEST)$(EXE_EXT) $(SHA512TEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(SHATEST)
        ../util/shlib_wrap.sh ./$(SHA1TEST)
        ../util/shlib_wrap.sh ./$(SHA256TEST)
        ../util/shlib_wrap.sh ./$(SHA512TEST)
 
-test_mdc2:
+test_mdc2: $(MDC2TEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(MDC2TEST)
 
-test_md5:
+test_md5: $(MD5TEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(MD5TEST)
 
-test_md4:
+test_md4: $(MD4TEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(MD4TEST)
 
-test_hmac:
+test_hmac: $(HMACTEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(HMACTEST)
 
-test_wp:
+test_wp: $(WPTEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(WPTEST)
 
-test_md2:
+test_md2: $(MD2TEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(MD2TEST)
 
-test_rmd:
+test_rmd: $(RMDTEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(RMDTEST)
 
-test_bf:
+test_bf: $(BFTEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(BFTEST)
 
-test_cast:
+test_cast: $(CASTTEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(CASTTEST)
 
-test_rc2:
+test_rc2: $(RC2TEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(RC2TEST)
 
-test_rc4:
+test_rc4: $(RC4TEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(RC4TEST)
 
-test_rc5:
+test_rc5: $(RC5TEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(RC5TEST)
 
-test_rand:
+test_rand: $(RANDTEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(RANDTEST)
 
-test_enc:
+test_gost2814789: $(GOST2814789TEST)$(EXE_EXT)
+       ../util/shlib_wrap.sh ./$(GOST2814789TEST)
+
+test_enc: ../apps/openssl$(EXE_EXT) testenc
        @sh ./testenc
 
-test_x509:
+test_x509: ../apps/openssl$(EXE_EXT) tx509 testx509.pem v3-cert1.pem v3-cert2.pem
        echo test normal x509v1 certificate
        sh ./tx509 2>/dev/null
        echo test first x509v3 certificate
@@ -252,25 +261,25 @@ test_x509:
        echo test second x509v3 certificate
        sh ./tx509 v3-cert2.pem 2>/dev/null
 
-test_rsa: $(RSATEST)$(EXE_EXT)
+test_rsa: $(RSATEST)$(EXE_EXT) ../apps/openssl$(EXE_EXT) trsa testrsa.pem
        @sh ./trsa 2>/dev/null
        ../util/shlib_wrap.sh ./$(RSATEST)
 
-test_crl:
+test_crl: ../apps/openssl$(EXE_EXT) tcrl testcrl.pem
        @sh ./tcrl 2>/dev/null
 
-test_sid:
+test_sid: ../apps/openssl$(EXE_EXT) tsid testsid.pem
        @sh ./tsid 2>/dev/null
 
-test_req:
+test_req: ../apps/openssl$(EXE_EXT) treq testreq.pem testreq2.pem
        @sh ./treq 2>/dev/null
        @sh ./treq testreq2.pem 2>/dev/null
 
-test_pkcs7:
+test_pkcs7: ../apps/openssl$(EXE_EXT) tpkcs7 tpkcs7d testp7.pem pkcs7-1.pem
        @sh ./tpkcs7 2>/dev/null
        @sh ./tpkcs7d 2>/dev/null
 
-test_bn:
+test_bn: $(BNTEST)$(EXE_EXT) $(EXPTEST)$(EXE_EXT) bctest
        @echo starting big number library test, could take a while...
        @../util/shlib_wrap.sh ./$(BNTEST) >tmp.bntest
        @echo quit >>tmp.bntest
@@ -279,56 +288,58 @@ test_bn:
        @echo 'test a^b%c implementations'
        ../util/shlib_wrap.sh ./$(EXPTEST)
 
-test_ec:
+test_ec: $(ECTEST)$(EXE_EXT)
        @echo 'test elliptic curves'
        ../util/shlib_wrap.sh ./$(ECTEST)
 
-test_ecdsa:
+test_ecdsa: $(ECDSATEST)$(EXE_EXT)
        @echo 'test ecdsa'
        ../util/shlib_wrap.sh ./$(ECDSATEST)
 
-test_ecdh:
+test_ecdh: $(ECDHTEST)$(EXE_EXT)
        @echo 'test ecdh'
        ../util/shlib_wrap.sh ./$(ECDHTEST)
 
-test_verify:
+test_verify: ../apps/openssl$(EXE_EXT)
        @echo "The following command should have some OK's and some failures"
        @echo "There are definitly a few expired certificates"
        ../util/shlib_wrap.sh ../apps/openssl verify -CApath ../certs/demo ../certs/demo/*.pem
 
-test_dh:
+test_dh: $(DHTEST)$(EXE_EXT)
        @echo "Generate a set of DH parameters"
        ../util/shlib_wrap.sh ./$(DHTEST)
 
-test_dsa:
+test_dsa: $(DSATEST)$(EXE_EXT)
        @echo "Generate a set of DSA parameters"
        ../util/shlib_wrap.sh ./$(DSATEST)
        ../util/shlib_wrap.sh ./$(DSATEST) -app2_1
 
-test_gen:
+test_gen testreq.pem: ../apps/openssl$(EXE_EXT) testgen test.cnf
        @echo "Generate and verify a certificate request"
        @sh ./testgen
 
 test_ss keyU.ss certU.ss certCA.ss certP1.ss keyP1.ss certP2.ss keyP2.ss \
-               intP1.ss intP2.ss: testss
+               intP1.ss intP2.ss: testss CAss.cnf Uss.cnf P1ss.cnf P2ss.cnf \
+                                   ../apps/openssl$(EXE_EXT)
        @echo "Generate and certify a test certificate"
        @sh ./testss
        @cat certCA.ss certU.ss > intP1.ss
        @cat certCA.ss certU.ss certP1.ss > intP2.ss
 
-test_engine: 
+test_engine: $(ENGINETEST)$(EXE_EXT)
        @echo "Manipulate the ENGINE structures"
        ../util/shlib_wrap.sh ./$(ENGINETEST)
 
 test_ssl: keyU.ss certU.ss certCA.ss certP1.ss keyP1.ss certP2.ss keyP2.ss \
-               intP1.ss intP2.ss
+               intP1.ss intP2.ss $(SSLTEST)$(EXE_EXT) testssl testsslproxy \
+               ../apps/server2.pem serverinfo.pem
        @echo "test SSL protocol"
        ../util/shlib_wrap.sh ./$(SSLTEST) -test_cipherlist
        @sh ./testssl keyU.ss certU.ss certCA.ss
        @sh ./testsslproxy keyP1.ss certP1.ss intP1.ss
        @sh ./testsslproxy keyP2.ss certP2.ss intP2.ss
 
-test_ca:
+test_ca: ../apps/openssl$(EXE_EXT) testca CAss.cnf Uss.cnf
        @if ../util/shlib_wrap.sh ../apps/openssl no-rsa; then \
          echo "skipping CA.sh test -- requires RSA"; \
        else \
@@ -336,11 +347,7 @@ test_ca:
          sh ./testca; \
        fi
 
-test_aes: #$(AESTEST)
-#      @echo "test Rijndael"
-#      ../util/shlib_wrap.sh ./$(AESTEST)
-
-test_tsa:
+test_tsa: ../apps/openssl$(EXE_EXT) testtsa CAtsa.cnf ../util/shlib_wrap.sh
        @if ../util/shlib_wrap.sh ../apps/openssl no-rsa; then \
          echo "skipping testtsa test -- requires RSA"; \
        else \
@@ -355,7 +362,7 @@ test_jpake: $(JPAKETEST)$(EXE_EXT)
        @echo "Test JPAKE"
        ../util/shlib_wrap.sh ./$(JPAKETEST)
 
-test_cms:
+test_cms: ../apps/openssl$(EXE_EXT) cms-test.pl smcont.txt
        @echo "CMS consistency test"
        $(PERL) cms-test.pl
 
@@ -367,10 +374,13 @@ test_v3name: $(V3NAMETEST)$(EXE_EXT)
        @echo "Test X509v3_check_*"
        ../util/shlib_wrap.sh ./$(V3NAMETEST)
 
-test_ocsp:
+test_ocsp: ../apps/openssl$(EXE_EXT) tocsp
        @echo "Test OCSP"
        @sh ./tocsp
 
+test_heartbeat: $(HEARTBEATTEST)$(EXE_EXT)
+       ./$<
+
 lint:
        lint -DLINT $(INCLUDES) $(SRC)>fluff
 
@@ -557,6 +567,9 @@ $(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO)
 $(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO)
        @target=$(DESTEST); $(BUILD_CMD)
 
+$(GOST2814789TEST)$(EXE_EXT): $(GOST2814789TEST).o $(DLIBCRYPTO)
+       @target=$(GOST2814789TEST); $(BUILD_CMD)
+
 $(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO)
        @target=$(RANDTEST); $(BUILD_CMD)
 
@@ -596,6 +609,9 @@ $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO)
 $(V3NAMETEST)$(EXE_EXT): $(V3NAMETEST).o $(DLIBCRYPTO)
        @target=$(V3NAMETEST); $(BUILD_CMD)
 
+$(HEARTBEATTEST)$(EXE_EXT): $(HEARTBEATTEST).o $(DLIBCRYPTO)
+       @target=$(HEARTBEATTEST); $(BUILD_CMD)
+
 #$(AESTEST).o: $(AESTEST).c
 #      $(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c
 
@@ -777,13 +793,9 @@ fips_hmactest.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
 fips_hmactest.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 fips_hmactest.o: ../include/openssl/safestack.h ../include/openssl/stack.h
 fips_hmactest.o: ../include/openssl/symhacks.h fips_hmactest.c
-fips_randtest.o: ../e_os.h ../include/openssl/aes.h ../include/openssl/asn1.h
-fips_randtest.o: ../include/openssl/bio.h ../include/openssl/bn.h
+fips_randtest.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/bn.h
 fips_randtest.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
-fips_randtest.o: ../include/openssl/ec.h ../include/openssl/err.h
-fips_randtest.o: ../include/openssl/evp.h ../include/openssl/fips_rand.h
-fips_randtest.o: ../include/openssl/hmac.h ../include/openssl/lhash.h
-fips_randtest.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+fips_randtest.o: ../include/openssl/err.h ../include/openssl/lhash.h
 fips_randtest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 fips_randtest.o: ../include/openssl/ossl_typ.h ../include/openssl/rand.h
 fips_randtest.o: ../include/openssl/safestack.h ../include/openssl/stack.h
@@ -836,6 +848,41 @@ fips_test_suite.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
 fips_test_suite.o: ../include/openssl/rand.h ../include/openssl/safestack.h
 fips_test_suite.o: ../include/openssl/sha.h ../include/openssl/stack.h
 fips_test_suite.o: ../include/openssl/symhacks.h fips_test_suite.c
+gost2814789t.o: ../engines/ccgost/gost89.h ../include/openssl/asn1.h
+gost2814789t.o: ../include/openssl/bio.h ../include/openssl/buffer.h
+gost2814789t.o: ../include/openssl/conf.h ../include/openssl/crypto.h
+gost2814789t.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
+gost2814789t.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
+gost2814789t.o: ../include/openssl/engine.h ../include/openssl/err.h
+gost2814789t.o: ../include/openssl/evp.h ../include/openssl/hmac.h
+gost2814789t.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+gost2814789t.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+gost2814789t.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+gost2814789t.o: ../include/openssl/pkcs7.h ../include/openssl/safestack.h
+gost2814789t.o: ../include/openssl/sha.h ../include/openssl/stack.h
+gost2814789t.o: ../include/openssl/symhacks.h ../include/openssl/x509.h
+gost2814789t.o: ../include/openssl/x509_vfy.h gost2814789t.c
+heartbeat_test.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
+heartbeat_test.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+heartbeat_test.o: ../include/openssl/crypto.h ../include/openssl/dsa.h
+heartbeat_test.o: ../include/openssl/dtls1.h ../include/openssl/e_os2.h
+heartbeat_test.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
+heartbeat_test.o: ../include/openssl/ecdsa.h ../include/openssl/err.h
+heartbeat_test.o: ../include/openssl/evp.h ../include/openssl/hmac.h
+heartbeat_test.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+heartbeat_test.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+heartbeat_test.o: ../include/openssl/opensslconf.h
+heartbeat_test.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+heartbeat_test.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+heartbeat_test.o: ../include/openssl/pkcs7.h ../include/openssl/pqueue.h
+heartbeat_test.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+heartbeat_test.o: ../include/openssl/sha.h ../include/openssl/srtp.h
+heartbeat_test.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
+heartbeat_test.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
+heartbeat_test.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+heartbeat_test.o: ../include/openssl/tls1.h ../include/openssl/x509.h
+heartbeat_test.o: ../include/openssl/x509_vfy.h ../ssl/ssl_locl.h
+heartbeat_test.o: heartbeat_test.c
 hmactest.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 hmactest.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 hmactest.o: ../include/openssl/evp.h ../include/openssl/hmac.h
@@ -949,7 +996,7 @@ ssltest.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
 ssltest.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
 ssltest.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
 ssltest.o: ../include/openssl/x509v3.h ssltest.c
-v3nametest.o: ../include/openssl/asn1.h ../include/openssl/bio.h
+v3nametest.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 v3nametest.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 v3nametest.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 v3nametest.o: ../include/openssl/ec.h ../include/openssl/ecdh.h