Made client stricter in cipher suite selection (better consistency with server behavi...
[BearSSL] / mk / mkrules.sh
index 8e2132b..8df63f4 100755 (executable)
@@ -49,6 +49,10 @@ set -e
 
 # Source files. Please keep in alphabetical order.
 coresrc=" \
+       src/settings.c \
+       src/aead/ccm.c \
+       src/aead/eax.c \
+       src/aead/gcm.c \
        src/codec/ccopy.c \
        src/codec/dec16be.c \
        src/codec/dec16le.c \
@@ -70,6 +74,7 @@ coresrc=" \
        src/ec/ec_c25519_m15.c \
        src/ec/ec_c25519_m31.c \
        src/ec/ec_curve25519.c \
+       src/ec/ec_default.c \
        src/ec/ec_p256_m15.c \
        src/ec/ec_p256_m31.c \
        src/ec/ec_prime_i15.c \
@@ -78,6 +83,10 @@ coresrc=" \
        src/ec/ec_secp384r1.c \
        src/ec/ec_secp521r1.c \
        src/ec/ecdsa_atr.c \
+       src/ec/ecdsa_default_sign_asn1.c \
+       src/ec/ecdsa_default_sign_raw.c \
+       src/ec/ecdsa_default_vrfy_asn1.c \
+       src/ec/ecdsa_default_vrfy_raw.c \
        src/ec/ecdsa_i15_bits.c \
        src/ec/ecdsa_i15_sign_asn1.c \
        src/ec/ecdsa_i15_sign_raw.c \
@@ -94,6 +103,8 @@ coresrc=" \
        src/hash/ghash_ctmul.c \
        src/hash/ghash_ctmul32.c \
        src/hash/ghash_ctmul64.c \
+       src/hash/ghash_pclmul.c \
+       src/hash/ghash_pwr8.c \
        src/hash/md5.c \
        src/hash/md5sha1.c \
        src/hash/multihash.c \
@@ -127,6 +138,7 @@ coresrc=" \
        src/int/i31_fmont.c \
        src/int/i31_iszero.c \
        src/int/i31_modpow.c \
+       src/int/i31_modpow2.c \
        src/int/i31_montmul.c \
        src/int/i31_mulacc.c \
        src/int/i31_muladd.c \
@@ -152,9 +164,15 @@ coresrc=" \
        src/int/i32_reduce.c \
        src/int/i32_sub.c \
        src/int/i32_tmont.c \
+       src/int/i62_modpow2.c \
        src/mac/hmac.c \
        src/mac/hmac_ct.c \
        src/rand/hmac_drbg.c \
+       src/rand/sysrng.c \
+       src/rsa/rsa_default_pkcs1_sign.c \
+       src/rsa/rsa_default_pkcs1_vrfy.c \
+       src/rsa/rsa_default_priv.c \
+       src/rsa/rsa_default_pub.c \
        src/rsa/rsa_i15_pkcs1_sign.c \
        src/rsa/rsa_i15_pkcs1_vrfy.c \
        src/rsa/rsa_i15_priv.c \
@@ -167,6 +185,10 @@ coresrc=" \
        src/rsa/rsa_i32_pkcs1_vrfy.c \
        src/rsa/rsa_i32_priv.c \
        src/rsa/rsa_i32_pub.c \
+       src/rsa/rsa_i62_pkcs1_sign.c \
+       src/rsa/rsa_i62_pkcs1_vrfy.c \
+       src/rsa/rsa_i62_priv.c \
+       src/rsa/rsa_i62_pub.c \
        src/rsa/rsa_pkcs1_sig_pad.c \
        src/rsa/rsa_pkcs1_sig_unpad.c \
        src/rsa/rsa_ssl_decrypt.c \
@@ -177,12 +199,21 @@ coresrc=" \
        src/ssl/ssl_ccert_single_ec.c \
        src/ssl/ssl_ccert_single_rsa.c \
        src/ssl/ssl_client.c \
+       src/ssl/ssl_client_default_rsapub.c \
        src/ssl/ssl_client_full.c \
        src/ssl/ssl_engine.c \
+       src/ssl/ssl_engine_default_aescbc.c \
+       src/ssl/ssl_engine_default_aesgcm.c \
+       src/ssl/ssl_engine_default_chapol.c \
+       src/ssl/ssl_engine_default_descbc.c \
+       src/ssl/ssl_engine_default_ec.c \
+       src/ssl/ssl_engine_default_ecdsa.c \
+       src/ssl/ssl_engine_default_rsavrfy.c \
        src/ssl/ssl_hashes.c \
        src/ssl/ssl_hs_client.c \
        src/ssl/ssl_hs_server.c \
        src/ssl/ssl_io.c \
+       src/ssl/ssl_keyexport.c \
        src/ssl/ssl_lru.c \
        src/ssl/ssl_rec_cbc.c \
        src/ssl/ssl_rec_chapol.c \
@@ -202,6 +233,7 @@ coresrc=" \
        src/symcipher/aes_big_cbcdec.c \
        src/symcipher/aes_big_cbcenc.c \
        src/symcipher/aes_big_ctr.c \
+       src/symcipher/aes_big_ctrcbc.c \
        src/symcipher/aes_big_dec.c \
        src/symcipher/aes_big_enc.c \
        src/symcipher/aes_common.c \
@@ -210,19 +242,32 @@ coresrc=" \
        src/symcipher/aes_ct64_cbcdec.c \
        src/symcipher/aes_ct64_cbcenc.c \
        src/symcipher/aes_ct64_ctr.c \
+       src/symcipher/aes_ct64_ctrcbc.c \
        src/symcipher/aes_ct64_dec.c \
        src/symcipher/aes_ct64_enc.c \
        src/symcipher/aes_ct_cbcdec.c \
        src/symcipher/aes_ct_cbcenc.c \
        src/symcipher/aes_ct_ctr.c \
+       src/symcipher/aes_ct_ctrcbc.c \
        src/symcipher/aes_ct_dec.c \
        src/symcipher/aes_ct_enc.c \
+       src/symcipher/aes_pwr8.c \
+       src/symcipher/aes_pwr8_cbcdec.c \
+       src/symcipher/aes_pwr8_cbcenc.c \
+       src/symcipher/aes_pwr8_ctr.c \
        src/symcipher/aes_small_cbcdec.c \
        src/symcipher/aes_small_cbcenc.c \
        src/symcipher/aes_small_ctr.c \
+       src/symcipher/aes_small_ctrcbc.c \
        src/symcipher/aes_small_dec.c \
        src/symcipher/aes_small_enc.c \
+       src/symcipher/aes_x86ni.c \
+       src/symcipher/aes_x86ni_cbcdec.c \
+       src/symcipher/aes_x86ni_cbcenc.c \
+       src/symcipher/aes_x86ni_ctr.c \
+       src/symcipher/aes_x86ni_ctrcbc.c \
        src/symcipher/chacha20_ct.c \
+       src/symcipher/chacha20_sse2.c \
        src/symcipher/des_ct.c \
        src/symcipher/des_ct_cbcdec.c \
        src/symcipher/des_ct_cbcenc.c \
@@ -232,6 +277,7 @@ coresrc=" \
        src/symcipher/des_tab_cbcenc.c \
        src/symcipher/poly1305_ctmul.c \
        src/symcipher/poly1305_ctmul32.c \
+       src/symcipher/poly1305_ctmulq.c \
        src/symcipher/poly1305_i15.c \
        src/x509/skey_decoder.c \
        src/x509/x509_decoder.c \
@@ -247,12 +293,14 @@ toolssrc=" \
        tools/client.c \
        tools/errors.c \
        tools/files.c \
+       tools/impl.c \
        tools/keys.c \
        tools/names.c \
        tools/server.c \
        tools/skey.c \
        tools/sslio.c \
        tools/ta.c \
+       tools/twrch.c \
        tools/vector.c \
        tools/verify.c \
        tools/xmem.c"
@@ -272,6 +320,7 @@ testx509src=" \
 # Public header files.
 headerspub=" \
        inc/bearssl.h \
+       inc/bearssl_aead.h \
        inc/bearssl_block.h \
        inc/bearssl_ec.h \
        inc/bearssl_hash.h \
@@ -343,23 +392,23 @@ EOF
 
 (printf "\nOBJ ="
 for f in $coresrc ; do
-       printf ' $(OBJDIR)$P%s' "$(basename "$f" .c)\$O"
+       printf ' \\\n $(OBJDIR)$P%s' "$(basename "$f" .c)\$O"
 done
 printf "\nOBJBRSSL ="
 for f in $toolssrc ; do
-       printf ' $(OBJDIR)$P%s' "$(basename "$f" .c)\$O"
+       printf ' \\\n $(OBJDIR)$P%s' "$(basename "$f" .c)\$O"
 done
 printf "\nOBJTESTCRYPTO ="
 for f in $testcryptosrc ; do
-       printf ' $(OBJDIR)$P%s' "$(basename "$f" .c)\$O"
+       printf ' \\\n $(OBJDIR)$P%s' "$(basename "$f" .c)\$O"
 done
 printf "\nOBJTESTSPEED ="
 for f in $testspeedsrc ; do
-       printf ' $(OBJDIR)$P%s' "$(basename "$f" .c)\$O"
+       printf ' \\\n $(OBJDIR)$P%s' "$(basename "$f" .c)\$O"
 done
 printf "\nOBJTESTX509 ="
 for f in $testx509src ; do
-       printf ' $(OBJDIR)$P%s' "$(basename "$f" .c)\$O"
+       printf ' \\\n $(OBJDIR)$P%s' "$(basename "$f" .c)\$O"
 done
 printf "\nHEADERSPUB ="
 for f in $headerspub ; do
@@ -397,7 +446,9 @@ tools: \$(BRSSL)
 
 tests: \$(TESTCRYPTO) \$(TESTSPEED) \$(TESTX509)
 
-T0: \$(T0COMP)
+T0: kT0
+
+kT0: \$(T0COMP) src\$Pssl\$Pssl_hs_common.t0 src\$Pssl\$Pssl_hs_client.t0 src\$Pssl\$Pssl_hs_server.t0 src\$Px509\$Pasn1.t0 src\$Px509\$Pskey_decoder.t0 src\$Px509\$Px509_decoder.t0 src\$Px509\$Px509_minimal.t0
        \$(RUNT0COMP) -o src\$Pcodec\$Ppemdec -r br_pem_decoder src\$Pcodec\$Ppemdec.t0
        \$(RUNT0COMP) -o src\$Pssl\$Pssl_hs_client -r br_ssl_hs_client src\$Pssl\$Pssl_hs_common.t0 src\$Pssl\$Pssl_hs_client.t0
        \$(RUNT0COMP) -o src\$Pssl\$Pssl_hs_server -r br_ssl_hs_server src\$Pssl\$Pssl_hs_common.t0 src\$Pssl\$Pssl_hs_server.t0