summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitmodules3
-rw-r--r--pkg/bearssl/gen.rc268
-rw-r--r--pkg/bearssl/rev1
m---------pkg/bearssl/src0
-rw-r--r--pkg/gen.rc1
5 files changed, 273 insertions, 0 deletions
diff --git a/.gitmodules b/.gitmodules
index 66e91cec..cae6eaae 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -10,6 +10,9 @@
path = pkg/awk/src
url = https://github.com/onetrueawk/awk
ignore = all
+[submodule "pkg/bearssl/src"]
+ path = pkg/bearssl/src
+ url = https://www.bearssl.org/git/BearSSL
[submodule "pkg/ccid/src"]
path = pkg/ccid/src
url = https://anonscm.debian.org/git/pcsclite/CCID.git
diff --git a/pkg/bearssl/gen.rc b/pkg/bearssl/gen.rc
new file mode 100644
index 00000000..de447a84
--- /dev/null
+++ b/pkg/bearssl/gen.rc
@@ -0,0 +1,268 @@
+cflags\
+ -Wall\
+ -I '$srcdir'/src\
+ -I '$srcdir'/inc
+
+hdrs=(\
+ bearssl.h\
+ bearssl_block.h\
+ bearssl_ec.h\
+ bearssl_hash.h\
+ bearssl_hmac.h\
+ bearssl_pem.h\
+ bearssl_prf.h\
+ bearssl_rand.h\
+ bearssl_rsa.h\
+ bearssl_ssl.h\
+ bearssl_x509.h\
+)
+for(hdr in $hdrs)
+ file include/$hdr '$srcdir'/inc/$hdr 644
+
+lib libbearssl.a src/^(\
+ codec/ccopy.c\
+ codec/dec16be.c\
+ codec/dec16le.c\
+ codec/dec32be.c\
+ codec/dec32le.c\
+ codec/dec64be.c\
+ codec/dec64le.c\
+ codec/enc16be.c\
+ codec/enc16le.c\
+ codec/enc32be.c\
+ codec/enc32le.c\
+ codec/enc64be.c\
+ codec/enc64le.c\
+ codec/pemdec.c\
+ ec/ec_all_m15.c\
+ ec/ec_all_m31.c\
+ ec/ec_c25519_i15.c\
+ ec/ec_c25519_i31.c\
+ ec/ec_c25519_m15.c\
+ ec/ec_c25519_m31.c\
+ ec/ec_curve25519.c\
+ ec/ec_default.c\
+ ec/ec_p256_m15.c\
+ ec/ec_p256_m31.c\
+ ec/ec_prime_i15.c\
+ ec/ec_prime_i31.c\
+ ec/ec_secp256r1.c\
+ ec/ec_secp384r1.c\
+ ec/ec_secp521r1.c\
+ ec/ecdsa_atr.c\
+ ec/ecdsa_default_sign_asn1.c\
+ ec/ecdsa_default_sign_raw.c\
+ ec/ecdsa_default_vrfy_asn1.c\
+ ec/ecdsa_default_vrfy_raw.c\
+ ec/ecdsa_i15_bits.c\
+ ec/ecdsa_i15_sign_asn1.c\
+ ec/ecdsa_i15_sign_raw.c\
+ ec/ecdsa_i15_vrfy_asn1.c\
+ ec/ecdsa_i15_vrfy_raw.c\
+ ec/ecdsa_i31_bits.c\
+ ec/ecdsa_i31_sign_asn1.c\
+ ec/ecdsa_i31_sign_raw.c\
+ ec/ecdsa_i31_vrfy_asn1.c\
+ ec/ecdsa_i31_vrfy_raw.c\
+ ec/ecdsa_rta.c\
+ hash/dig_oid.c\
+ hash/dig_size.c\
+ hash/ghash_ctmul.c\
+ hash/ghash_ctmul32.c\
+ hash/ghash_ctmul64.c\
+ hash/ghash_pclmul.c\
+ hash/ghash_pwr8.c\
+ hash/md5.c\
+ hash/md5sha1.c\
+ hash/multihash.c\
+ hash/sha1.c\
+ hash/sha2big.c\
+ hash/sha2small.c\
+ int/i15_add.c\
+ int/i15_bitlen.c\
+ int/i15_decmod.c\
+ int/i15_decode.c\
+ int/i15_decred.c\
+ int/i15_encode.c\
+ int/i15_fmont.c\
+ int/i15_iszero.c\
+ int/i15_modpow.c\
+ int/i15_modpow2.c\
+ int/i15_montmul.c\
+ int/i15_mulacc.c\
+ int/i15_muladd.c\
+ int/i15_ninv15.c\
+ int/i15_reduce.c\
+ int/i15_rshift.c\
+ int/i15_sub.c\
+ int/i15_tmont.c\
+ int/i31_add.c\
+ int/i31_bitlen.c\
+ int/i31_decmod.c\
+ int/i31_decode.c\
+ int/i31_decred.c\
+ int/i31_encode.c\
+ int/i31_fmont.c\
+ int/i31_iszero.c\
+ int/i31_modpow.c\
+ int/i31_modpow2.c\
+ int/i31_montmul.c\
+ int/i31_mulacc.c\
+ int/i31_muladd.c\
+ int/i31_ninv31.c\
+ int/i31_reduce.c\
+ int/i31_rshift.c\
+ int/i31_sub.c\
+ int/i31_tmont.c\
+ int/i32_add.c\
+ int/i32_bitlen.c\
+ int/i32_decmod.c\
+ int/i32_decode.c\
+ int/i32_decred.c\
+ int/i32_div32.c\
+ int/i32_encode.c\
+ int/i32_fmont.c\
+ int/i32_iszero.c\
+ int/i32_modpow.c\
+ int/i32_montmul.c\
+ int/i32_mulacc.c\
+ int/i32_muladd.c\
+ int/i32_ninv32.c\
+ int/i32_reduce.c\
+ int/i32_sub.c\
+ int/i32_tmont.c\
+ int/i62_modpow2.c\
+ mac/hmac.c\
+ mac/hmac_ct.c\
+ rand/hmac_drbg.c\
+ rsa/rsa_default_pkcs1_sign.c\
+ rsa/rsa_default_pkcs1_vrfy.c\
+ rsa/rsa_default_priv.c\
+ rsa/rsa_default_pub.c\
+ rsa/rsa_i15_pkcs1_sign.c\
+ rsa/rsa_i15_pkcs1_vrfy.c\
+ rsa/rsa_i15_priv.c\
+ rsa/rsa_i15_pub.c\
+ rsa/rsa_i31_pkcs1_sign.c\
+ rsa/rsa_i31_pkcs1_vrfy.c\
+ rsa/rsa_i31_priv.c\
+ rsa/rsa_i31_pub.c\
+ rsa/rsa_i32_pkcs1_sign.c\
+ rsa/rsa_i32_pkcs1_vrfy.c\
+ rsa/rsa_i32_priv.c\
+ rsa/rsa_i32_pub.c\
+ rsa/rsa_i62_pkcs1_sign.c\
+ rsa/rsa_i62_pkcs1_vrfy.c\
+ rsa/rsa_i62_priv.c\
+ rsa/rsa_i62_pub.c\
+ rsa/rsa_pkcs1_sig_pad.c\
+ rsa/rsa_pkcs1_sig_unpad.c\
+ rsa/rsa_ssl_decrypt.c\
+ ssl/prf.c\
+ ssl/prf_md5sha1.c\
+ ssl/prf_sha256.c\
+ ssl/prf_sha384.c\
+ ssl/ssl_ccert_single_ec.c\
+ ssl/ssl_ccert_single_rsa.c\
+ ssl/ssl_client.c\
+ ssl/ssl_client_default_rsapub.c\
+ ssl/ssl_client_full.c\
+ ssl/ssl_engine.c\
+ ssl/ssl_engine_default_aescbc.c\
+ ssl/ssl_engine_default_aesgcm.c\
+ ssl/ssl_engine_default_chapol.c\
+ ssl/ssl_engine_default_descbc.c\
+ ssl/ssl_engine_default_ec.c\
+ ssl/ssl_engine_default_ecdsa.c\
+ ssl/ssl_engine_default_rsavrfy.c\
+ ssl/ssl_hashes.c\
+ ssl/ssl_hs_client.c\
+ ssl/ssl_hs_server.c\
+ ssl/ssl_io.c\
+ ssl/ssl_lru.c\
+ ssl/ssl_rec_cbc.c\
+ ssl/ssl_rec_chapol.c\
+ ssl/ssl_rec_gcm.c\
+ ssl/ssl_scert_single_ec.c\
+ ssl/ssl_scert_single_rsa.c\
+ ssl/ssl_server.c\
+ ssl/ssl_server_full_ec.c\
+ ssl/ssl_server_full_rsa.c\
+ ssl/ssl_server_mine2c.c\
+ ssl/ssl_server_mine2g.c\
+ ssl/ssl_server_minf2c.c\
+ ssl/ssl_server_minf2g.c\
+ ssl/ssl_server_minr2g.c\
+ ssl/ssl_server_minu2g.c\
+ ssl/ssl_server_minv2g.c\
+ symcipher/aes_big_cbcdec.c\
+ symcipher/aes_big_cbcenc.c\
+ symcipher/aes_big_ctr.c\
+ symcipher/aes_big_dec.c\
+ symcipher/aes_big_enc.c\
+ symcipher/aes_common.c\
+ symcipher/aes_ct.c\
+ symcipher/aes_ct64.c\
+ symcipher/aes_ct64_cbcdec.c\
+ symcipher/aes_ct64_cbcenc.c\
+ symcipher/aes_ct64_ctr.c\
+ symcipher/aes_ct64_dec.c\
+ symcipher/aes_ct64_enc.c\
+ symcipher/aes_ct_cbcdec.c\
+ symcipher/aes_ct_cbcenc.c\
+ symcipher/aes_ct_ctr.c\
+ symcipher/aes_ct_dec.c\
+ symcipher/aes_ct_enc.c\
+ symcipher/aes_pwr8.c\
+ symcipher/aes_pwr8_cbcdec.c\
+ symcipher/aes_pwr8_cbcenc.c\
+ symcipher/aes_pwr8_ctr.c\
+ symcipher/aes_small_cbcdec.c\
+ symcipher/aes_small_cbcenc.c\
+ symcipher/aes_small_ctr.c\
+ symcipher/aes_small_dec.c\
+ symcipher/aes_small_enc.c\
+ symcipher/aes_x86ni.c\
+ symcipher/aes_x86ni_cbcdec.c\
+ symcipher/aes_x86ni_cbcenc.c\
+ symcipher/aes_x86ni_ctr.c\
+ symcipher/chacha20_ct.c\
+ symcipher/des_ct.c\
+ symcipher/des_ct_cbcdec.c\
+ symcipher/des_ct_cbcenc.c\
+ symcipher/des_support.c\
+ symcipher/des_tab.c\
+ symcipher/des_tab_cbcdec.c\
+ symcipher/des_tab_cbcenc.c\
+ symcipher/poly1305_ctmul.c\
+ symcipher/poly1305_ctmul32.c\
+ symcipher/poly1305_ctmulq.c\
+ symcipher/poly1305_i15.c\
+ x509/skey_decoder.c\
+ x509/x509_decoder.c\
+ x509/x509_knownkey.c\
+ x509/x509_minimal.c\
+ x509/x509_minimal_full.c\
+)
+file lib/libbearssl.a '$outdir'/libbearssl.a 644
+
+exe brssl tools/^(\
+ brssl.c\
+ certs.c\
+ chain.c\
+ client.c\
+ errors.c\
+ files.c\
+ keys.c\
+ names.c\
+ server.c\
+ skey.c\
+ sslio.c\
+ ta.c\
+ vector.c\
+ verify.c\
+ xmem.c\
+) libbearssl.a
+file bin/brssl '$outdir'/brssl 755
+
+fetch git
diff --git a/pkg/bearssl/rev b/pkg/bearssl/rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/pkg/bearssl/rev
@@ -0,0 +1 @@
+1
diff --git a/pkg/bearssl/src b/pkg/bearssl/src
new file mode 160000
+Subproject ee15f235c95eed1fcad65deea38d02b663e1d4a
diff --git a/pkg/gen.rc b/pkg/gen.rc
index 0a6ddeaa..7e48e07b 100644
--- a/pkg/gen.rc
+++ b/pkg/gen.rc
@@ -3,6 +3,7 @@ subgen alsa-lib
subgen alsa-utils
subgen awk
subgen bc
+subgen bearssl
subgen bzip2
subgen ccid
subgen curl