diff --git a/Makefile b/Makefile
index b193285501c..f56eb827a68 100644
--- a/Makefile
+++ b/Makefile
@@ -2306,32 +2306,29 @@ LIBBORINGSSL_SRC = \
third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c \
- third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c \
- third_party/boringssl-with-bazel/src/crypto/asn1/a_print.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c \
- third_party/boringssl-with-bazel/src/crypto/asn1/a_utf8.c \
third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c \
third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c \
third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c \
third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c \
third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c \
+ third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.c \
third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c \
third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c \
third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c \
third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c \
third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c \
third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c \
- third_party/boringssl-with-bazel/src/crypto/asn1/time_support.c \
third_party/boringssl-with-bazel/src/crypto/base64/base64.c \
third_party/boringssl-with-bazel/src/crypto/bio/bio.c \
third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c \
@@ -2355,27 +2352,29 @@ LIBBORINGSSL_SRC = \
third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c \
third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c \
third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c \
- third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesccm.c \
third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c \
third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c \
third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c \
+ third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_des.c \
third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c \
third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c \
third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c \
third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c \
third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c \
- third_party/boringssl-with-bazel/src/crypto/cmac/cmac.c \
third_party/boringssl-with-bazel/src/crypto/conf/conf.c \
- third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-fuchsia.c \
- third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-linux.c \
- third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-win.c \
- third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c \
- third_party/boringssl-with-bazel/src/crypto/cpu-arm.c \
- third_party/boringssl-with-bazel/src/crypto/cpu-intel.c \
- third_party/boringssl-with-bazel/src/crypto/cpu-ppc64le.c \
+ third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c \
+ third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_freebsd.c \
+ third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c \
+ third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c \
+ third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c \
+ third_party/boringssl-with-bazel/src/crypto/cpu_arm.c \
+ third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c \
+ third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c \
+ third_party/boringssl-with-bazel/src/crypto/cpu_intel.c \
third_party/boringssl-with-bazel/src/crypto/crypto.c \
third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c \
third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c \
+ third_party/boringssl-with-bazel/src/crypto/des/des.c \
third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c \
third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c \
third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c \
@@ -2388,7 +2387,6 @@ LIBBORINGSSL_SRC = \
third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c \
third_party/boringssl-with-bazel/src/crypto/engine/engine.c \
third_party/boringssl-with-bazel/src/crypto/err/err.c \
- third_party/boringssl-with-bazel/src/crypto/evp/digestsign.c \
third_party/boringssl-with-bazel/src/crypto/evp/evp.c \
third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c \
third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c \
@@ -2397,6 +2395,7 @@ LIBBORINGSSL_SRC = \
third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c \
+ third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c \
@@ -2411,6 +2410,7 @@ LIBBORINGSSL_SRC = \
third_party/boringssl-with-bazel/src/crypto/hkdf/hkdf.c \
third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c \
third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c \
+ third_party/boringssl-with-bazel/src/crypto/kyber/keccak.c \
third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c \
third_party/boringssl-with-bazel/src/crypto/mem.c \
third_party/boringssl-with-bazel/src/crypto/obj/obj.c \
@@ -2461,6 +2461,7 @@ LIBBORINGSSL_SRC = \
third_party/boringssl-with-bazel/src/crypto/x509/by_file.c \
third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.c \
third_party/boringssl-with-bazel/src/crypto/x509/name_print.c \
+ third_party/boringssl-with-bazel/src/crypto/x509/policy.c \
third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c \
third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c \
third_party/boringssl-with-bazel/src/crypto/x509/t_req.c \
@@ -2500,12 +2501,6 @@ LIBBORINGSSL_SRC = \
third_party/boringssl-with-bazel/src/crypto/x509/x_val.c \
third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c \
third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c \
- third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c \
- third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c \
- third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_lib.c \
- third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c \
- third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_node.c \
- third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c \
third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c \
third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akeya.c \
third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c \
@@ -2523,8 +2518,6 @@ LIBBORINGSSL_SRC = \
third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c \
third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ncons.c \
third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ocsp.c \
- third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pci.c \
- third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcia.c \
third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcons.c \
third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pmaps.c \
third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c \
diff --git a/bazel/grpc_deps.bzl b/bazel/grpc_deps.bzl
index a4b95eaf529..3074a501d61 100644
--- a/bazel/grpc_deps.bzl
+++ b/bazel/grpc_deps.bzl
@@ -215,11 +215,11 @@ def grpc_deps():
name = "boringssl",
# Use github mirror instead of https://boringssl.googlesource.com/boringssl
# to obtain a boringssl archive with consistent sha256
- sha256 = "ad0b806b6c5cbd6cae121c608945d5fed468748e330632e8d53315089ad52c67",
- strip_prefix = "boringssl-6195bf8242156c9a2fa75702eee058f91b86a88b",
+ sha256 = "011537a28e5a9000a6a46e56d9215590059479254642183fca74a637da6391db",
+ strip_prefix = "boringssl-85db207a482ae4f91f83a6a70d432b9121e48d2d",
urls = [
- "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/6195bf8242156c9a2fa75702eee058f91b86a88b.tar.gz",
- "https://github.com/google/boringssl/archive/6195bf8242156c9a2fa75702eee058f91b86a88b.tar.gz",
+ "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/85db207a482ae4f91f83a6a70d432b9121e48d2d.tar.gz",
+ "https://github.com/google/boringssl/archive/85db207a482ae4f91f83a6a70d432b9121e48d2d.tar.gz",
],
)
diff --git a/config.m4 b/config.m4
index f70f215fcb8..56e44f9481c 100644
--- a/config.m4
+++ b/config.m4
@@ -960,32 +960,29 @@ if test "$PHP_GRPC" != "no"; then
third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c \
- third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c \
- third_party/boringssl-with-bazel/src/crypto/asn1/a_print.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c \
- third_party/boringssl-with-bazel/src/crypto/asn1/a_utf8.c \
third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c \
third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c \
third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c \
third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c \
third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c \
+ third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.c \
third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c \
third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c \
third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c \
third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c \
third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c \
third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c \
- third_party/boringssl-with-bazel/src/crypto/asn1/time_support.c \
third_party/boringssl-with-bazel/src/crypto/base64/base64.c \
third_party/boringssl-with-bazel/src/crypto/bio/bio.c \
third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c \
@@ -1009,27 +1006,29 @@ if test "$PHP_GRPC" != "no"; then
third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c \
third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c \
third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c \
- third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesccm.c \
third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c \
third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c \
third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c \
+ third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_des.c \
third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c \
third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c \
third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c \
third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c \
third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c \
- third_party/boringssl-with-bazel/src/crypto/cmac/cmac.c \
third_party/boringssl-with-bazel/src/crypto/conf/conf.c \
- third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-fuchsia.c \
- third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-linux.c \
- third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-win.c \
- third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c \
- third_party/boringssl-with-bazel/src/crypto/cpu-arm.c \
- third_party/boringssl-with-bazel/src/crypto/cpu-intel.c \
- third_party/boringssl-with-bazel/src/crypto/cpu-ppc64le.c \
+ third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c \
+ third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_freebsd.c \
+ third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c \
+ third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c \
+ third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c \
+ third_party/boringssl-with-bazel/src/crypto/cpu_arm.c \
+ third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c \
+ third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c \
+ third_party/boringssl-with-bazel/src/crypto/cpu_intel.c \
third_party/boringssl-with-bazel/src/crypto/crypto.c \
third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c \
third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c \
+ third_party/boringssl-with-bazel/src/crypto/des/des.c \
third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c \
third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c \
third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c \
@@ -1042,7 +1041,6 @@ if test "$PHP_GRPC" != "no"; then
third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c \
third_party/boringssl-with-bazel/src/crypto/engine/engine.c \
third_party/boringssl-with-bazel/src/crypto/err/err.c \
- third_party/boringssl-with-bazel/src/crypto/evp/digestsign.c \
third_party/boringssl-with-bazel/src/crypto/evp/evp.c \
third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c \
third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c \
@@ -1051,6 +1049,7 @@ if test "$PHP_GRPC" != "no"; then
third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c \
+ third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c \
@@ -1065,6 +1064,7 @@ if test "$PHP_GRPC" != "no"; then
third_party/boringssl-with-bazel/src/crypto/hkdf/hkdf.c \
third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c \
third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c \
+ third_party/boringssl-with-bazel/src/crypto/kyber/keccak.c \
third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c \
third_party/boringssl-with-bazel/src/crypto/mem.c \
third_party/boringssl-with-bazel/src/crypto/obj/obj.c \
@@ -1115,6 +1115,7 @@ if test "$PHP_GRPC" != "no"; then
third_party/boringssl-with-bazel/src/crypto/x509/by_file.c \
third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.c \
third_party/boringssl-with-bazel/src/crypto/x509/name_print.c \
+ third_party/boringssl-with-bazel/src/crypto/x509/policy.c \
third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c \
third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c \
third_party/boringssl-with-bazel/src/crypto/x509/t_req.c \
@@ -1154,12 +1155,6 @@ if test "$PHP_GRPC" != "no"; then
third_party/boringssl-with-bazel/src/crypto/x509/x_val.c \
third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c \
third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c \
- third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c \
- third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c \
- third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_lib.c \
- third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c \
- third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_node.c \
- third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c \
third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c \
third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akeya.c \
third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c \
@@ -1177,8 +1172,6 @@ if test "$PHP_GRPC" != "no"; then
third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c \
third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ncons.c \
third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ocsp.c \
- third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pci.c \
- third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcia.c \
third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcons.c \
third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pmaps.c \
third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c \
@@ -1516,9 +1509,9 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/bytestring)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/chacha)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/cipher_extra)
- PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/cmac)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/conf)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/curve25519)
+ PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/des)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/dh_extra)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/digest_extra)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/dsa)
@@ -1532,6 +1525,7 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/hkdf)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/hpke)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/hrss)
+ PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/kyber)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/lhash)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/obj)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/pem)
diff --git a/config.w32 b/config.w32
index e997d26b9e3..cbec289985c 100644
--- a/config.w32
+++ b/config.w32
@@ -926,32 +926,29 @@ if (PHP_GRPC != "no") {
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_bool.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_d2i_fp.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_dup.c " +
- "third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_enum.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_gentm.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_i2d_fp.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_int.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_mbstr.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_object.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_octet.c " +
- "third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_print.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_strex.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_strnid.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_time.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_type.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_utctm.c " +
- "third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_utf8.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\asn1_lib.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\asn1_par.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\asn_pack.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\f_int.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\f_string.c " +
+ "third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\posix_time.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\tasn_dec.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\tasn_enc.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\tasn_fre.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\tasn_new.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\tasn_typ.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\tasn_utl.c " +
- "third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\time_support.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\base64\\base64.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\bio\\bio.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\bio\\bio_mem.c " +
@@ -975,27 +972,29 @@ if (PHP_GRPC != "no") {
"third_party\\boringssl-with-bazel\\src\\crypto\\chacha\\chacha.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\cipher_extra\\cipher_extra.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\cipher_extra\\derive_key.c " +
- "third_party\\boringssl-with-bazel\\src\\crypto\\cipher_extra\\e_aesccm.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\cipher_extra\\e_aesctrhmac.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\cipher_extra\\e_aesgcmsiv.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\cipher_extra\\e_chacha20poly1305.c " +
+ "third_party\\boringssl-with-bazel\\src\\crypto\\cipher_extra\\e_des.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\cipher_extra\\e_null.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\cipher_extra\\e_rc2.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\cipher_extra\\e_rc4.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\cipher_extra\\e_tls.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\cipher_extra\\tls_cbc.c " +
- "third_party\\boringssl-with-bazel\\src\\crypto\\cmac\\cmac.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\conf\\conf.c " +
- "third_party\\boringssl-with-bazel\\src\\crypto\\cpu-aarch64-fuchsia.c " +
- "third_party\\boringssl-with-bazel\\src\\crypto\\cpu-aarch64-linux.c " +
- "third_party\\boringssl-with-bazel\\src\\crypto\\cpu-aarch64-win.c " +
- "third_party\\boringssl-with-bazel\\src\\crypto\\cpu-arm-linux.c " +
- "third_party\\boringssl-with-bazel\\src\\crypto\\cpu-arm.c " +
- "third_party\\boringssl-with-bazel\\src\\crypto\\cpu-intel.c " +
- "third_party\\boringssl-with-bazel\\src\\crypto\\cpu-ppc64le.c " +
+ "third_party\\boringssl-with-bazel\\src\\crypto\\cpu_aarch64_apple.c " +
+ "third_party\\boringssl-with-bazel\\src\\crypto\\cpu_aarch64_freebsd.c " +
+ "third_party\\boringssl-with-bazel\\src\\crypto\\cpu_aarch64_fuchsia.c " +
+ "third_party\\boringssl-with-bazel\\src\\crypto\\cpu_aarch64_linux.c " +
+ "third_party\\boringssl-with-bazel\\src\\crypto\\cpu_aarch64_win.c " +
+ "third_party\\boringssl-with-bazel\\src\\crypto\\cpu_arm.c " +
+ "third_party\\boringssl-with-bazel\\src\\crypto\\cpu_arm_freebsd.c " +
+ "third_party\\boringssl-with-bazel\\src\\crypto\\cpu_arm_linux.c " +
+ "third_party\\boringssl-with-bazel\\src\\crypto\\cpu_intel.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\crypto.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\curve25519\\curve25519.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\curve25519\\spake25519.c " +
+ "third_party\\boringssl-with-bazel\\src\\crypto\\des\\des.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\dh_extra\\dh_asn1.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\dh_extra\\params.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\digest_extra\\digest_extra.c " +
@@ -1008,7 +1007,6 @@ if (PHP_GRPC != "no") {
"third_party\\boringssl-with-bazel\\src\\crypto\\ecdsa_extra\\ecdsa_asn1.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\engine\\engine.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\err\\err.c " +
- "third_party\\boringssl-with-bazel\\src\\crypto\\evp\\digestsign.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\evp.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\evp_asn1.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\evp_ctx.c " +
@@ -1017,6 +1015,7 @@ if (PHP_GRPC != "no") {
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_ec_asn1.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_ed25519.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_ed25519_asn1.c " +
+ "third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_hkdf.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_rsa.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_rsa_asn1.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_x25519.c " +
@@ -1031,6 +1030,7 @@ if (PHP_GRPC != "no") {
"third_party\\boringssl-with-bazel\\src\\crypto\\hkdf\\hkdf.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\hpke\\hpke.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\hrss\\hrss.c " +
+ "third_party\\boringssl-with-bazel\\src\\crypto\\kyber\\keccak.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\lhash\\lhash.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\mem.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\obj\\obj.c " +
@@ -1081,6 +1081,7 @@ if (PHP_GRPC != "no") {
"third_party\\boringssl-with-bazel\\src\\crypto\\x509\\by_file.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\x509\\i2d_pr.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\x509\\name_print.c " +
+ "third_party\\boringssl-with-bazel\\src\\crypto\\x509\\policy.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\x509\\rsa_pss.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\x509\\t_crl.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\x509\\t_req.c " +
@@ -1120,12 +1121,6 @@ if (PHP_GRPC != "no") {
"third_party\\boringssl-with-bazel\\src\\crypto\\x509\\x_val.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\x509\\x_x509.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\x509\\x_x509a.c " +
- "third_party\\boringssl-with-bazel\\src\\crypto\\x509v3\\pcy_cache.c " +
- "third_party\\boringssl-with-bazel\\src\\crypto\\x509v3\\pcy_data.c " +
- "third_party\\boringssl-with-bazel\\src\\crypto\\x509v3\\pcy_lib.c " +
- "third_party\\boringssl-with-bazel\\src\\crypto\\x509v3\\pcy_map.c " +
- "third_party\\boringssl-with-bazel\\src\\crypto\\x509v3\\pcy_node.c " +
- "third_party\\boringssl-with-bazel\\src\\crypto\\x509v3\\pcy_tree.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\x509v3\\v3_akey.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\x509v3\\v3_akeya.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\x509v3\\v3_alt.c " +
@@ -1143,8 +1138,6 @@ if (PHP_GRPC != "no") {
"third_party\\boringssl-with-bazel\\src\\crypto\\x509v3\\v3_lib.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\x509v3\\v3_ncons.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\x509v3\\v3_ocsp.c " +
- "third_party\\boringssl-with-bazel\\src\\crypto\\x509v3\\v3_pci.c " +
- "third_party\\boringssl-with-bazel\\src\\crypto\\x509v3\\v3_pcia.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\x509v3\\v3_pcons.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\x509v3\\v3_pmaps.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\x509v3\\v3_prn.c " +
@@ -1662,9 +1655,9 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\bytestring");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\chacha");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\cipher_extra");
- FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\cmac");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\conf");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\curve25519");
+ FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\des");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\dh_extra");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\digest_extra");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\dsa");
@@ -1678,6 +1671,7 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\hkdf");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\hpke");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\hrss");
+ FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\kyber");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\lhash");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\obj");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\pem");
diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec
index 45ba51d33d6..04b783c66f0 100644
--- a/gRPC-Core.podspec
+++ b/gRPC-Core.podspec
@@ -179,7 +179,7 @@ Pod::Spec.new do |s|
ss.header_mappings_dir = '.'
ss.libraries = 'z'
ss.dependency "#{s.name}/Interface", version
- ss.dependency 'BoringSSL-GRPC', '0.0.25'
+ ss.dependency 'BoringSSL-GRPC', '0.0.26'
ss.dependency 'abseil/base/base', abseil_version
ss.dependency 'abseil/base/core_headers', abseil_version
ss.dependency 'abseil/cleanup/cleanup', abseil_version
diff --git a/grpc.gemspec b/grpc.gemspec
index 38b7ecdb7df..0d32c4d410a 100644
--- a/grpc.gemspec
+++ b/grpc.gemspec
@@ -2073,34 +2073,30 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_print.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_utf8.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/charmap.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/internal.h )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/time_support.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/base64/base64.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/bio/bio.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c )
@@ -2127,33 +2123,36 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/crypto/chacha/internal.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesccm.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_des.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cmac/cmac.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/conf/conf.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/conf/internal.h )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-fuchsia.c )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-linux.c )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-win.c )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.h )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu-arm.c )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu-intel.c )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu-ppc64le.c )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_freebsd.c )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_arm.c )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.h )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu_intel.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/crypto.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/des/des.c )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/des/internal.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c )
@@ -2169,7 +2168,6 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/crypto/engine/engine.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/err/err.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/err/internal.h )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/digestsign.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/evp.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c )
@@ -2179,6 +2177,7 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c )
@@ -2220,17 +2219,18 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_des.c )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aesccm.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/cmac.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/des.c )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/internal.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/internal.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/digestsign.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c )
@@ -2238,9 +2238,9 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64-table.h )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64.c )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64.h )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz-table.h )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.c )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c )
@@ -2278,8 +2278,9 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1-altivec.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c )
@@ -2290,6 +2291,8 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/hrss/internal.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/internal.h )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/kyber/internal.h )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/kyber/keccak.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/lhash/internal.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/mem.c )
@@ -2348,6 +2351,7 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/internal.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/name_print.c )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/policy.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/t_req.c )
@@ -2389,12 +2393,6 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/ext_dat.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_lib.c )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_node.c )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akeya.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c )
@@ -2412,8 +2410,6 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ncons.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ocsp.c )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pci.c )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcia.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcons.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pmaps.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c )
@@ -2442,6 +2438,7 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/conf.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/cpu.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/crypto.h )
+ s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/curve25519.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/des.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/dh.h )
@@ -2463,6 +2460,7 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/hpke.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/hrss.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/is_boringssl.h )
+ s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/kdf.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/lhash.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/md4.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/md5.h )
@@ -2485,6 +2483,7 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/ripemd.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/rsa.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/safestack.h )
+ s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/sha.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/siphash.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/span.h )
@@ -2493,6 +2492,7 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/ssl3.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/stack.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/thread.h )
+ s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/time.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/tls1.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/trust_token.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/type_check.h )
diff --git a/grpc.gyp b/grpc.gyp
index f8314285816..45a14dccd59 100644
--- a/grpc.gyp
+++ b/grpc.gyp
@@ -2081,32 +2081,29 @@
'third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c',
- 'third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c',
- 'third_party/boringssl-with-bazel/src/crypto/asn1/a_print.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c',
- 'third_party/boringssl-with-bazel/src/crypto/asn1/a_utf8.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c',
+ 'third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c',
- 'third_party/boringssl-with-bazel/src/crypto/asn1/time_support.c',
'third_party/boringssl-with-bazel/src/crypto/base64/base64.c',
'third_party/boringssl-with-bazel/src/crypto/bio/bio.c',
'third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c',
@@ -2130,27 +2127,29 @@
'third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c',
'third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c',
'third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c',
- 'third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesccm.c',
'third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c',
'third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c',
'third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c',
+ 'third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_des.c',
'third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c',
'third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c',
'third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c',
'third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c',
'third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c',
- 'third_party/boringssl-with-bazel/src/crypto/cmac/cmac.c',
'third_party/boringssl-with-bazel/src/crypto/conf/conf.c',
- 'third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-fuchsia.c',
- 'third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-linux.c',
- 'third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-win.c',
- 'third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c',
- 'third_party/boringssl-with-bazel/src/crypto/cpu-arm.c',
- 'third_party/boringssl-with-bazel/src/crypto/cpu-intel.c',
- 'third_party/boringssl-with-bazel/src/crypto/cpu-ppc64le.c',
+ 'third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c',
+ 'third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_freebsd.c',
+ 'third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c',
+ 'third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c',
+ 'third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c',
+ 'third_party/boringssl-with-bazel/src/crypto/cpu_arm.c',
+ 'third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c',
+ 'third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c',
+ 'third_party/boringssl-with-bazel/src/crypto/cpu_intel.c',
'third_party/boringssl-with-bazel/src/crypto/crypto.c',
'third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c',
'third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c',
+ 'third_party/boringssl-with-bazel/src/crypto/des/des.c',
'third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c',
'third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c',
'third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c',
@@ -2163,7 +2162,6 @@
'third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c',
'third_party/boringssl-with-bazel/src/crypto/engine/engine.c',
'third_party/boringssl-with-bazel/src/crypto/err/err.c',
- 'third_party/boringssl-with-bazel/src/crypto/evp/digestsign.c',
'third_party/boringssl-with-bazel/src/crypto/evp/evp.c',
'third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c',
'third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c',
@@ -2172,6 +2170,7 @@
'third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c',
'third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c',
'third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c',
+ 'third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.c',
'third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c',
'third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c',
'third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c',
@@ -2186,6 +2185,7 @@
'third_party/boringssl-with-bazel/src/crypto/hkdf/hkdf.c',
'third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c',
'third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c',
+ 'third_party/boringssl-with-bazel/src/crypto/kyber/keccak.c',
'third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c',
'third_party/boringssl-with-bazel/src/crypto/mem.c',
'third_party/boringssl-with-bazel/src/crypto/obj/obj.c',
@@ -2236,6 +2236,7 @@
'third_party/boringssl-with-bazel/src/crypto/x509/by_file.c',
'third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.c',
'third_party/boringssl-with-bazel/src/crypto/x509/name_print.c',
+ 'third_party/boringssl-with-bazel/src/crypto/x509/policy.c',
'third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c',
'third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c',
'third_party/boringssl-with-bazel/src/crypto/x509/t_req.c',
@@ -2275,12 +2276,6 @@
'third_party/boringssl-with-bazel/src/crypto/x509/x_val.c',
'third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c',
'third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c',
- 'third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c',
- 'third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c',
- 'third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_lib.c',
- 'third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c',
- 'third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_node.c',
- 'third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c',
'third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c',
'third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akeya.c',
'third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c',
@@ -2298,8 +2293,6 @@
'third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c',
'third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ncons.c',
'third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ocsp.c',
- 'third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pci.c',
- 'third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcia.c',
'third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcons.c',
'third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pmaps.c',
'third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c',
@@ -2352,7 +2345,6 @@
],
'sources': [
'third_party/boringssl-with-bazel/src/crypto/test/file_test.cc',
- 'third_party/boringssl-with-bazel/src/crypto/test/malloc.cc',
'third_party/boringssl-with-bazel/src/crypto/test/test_util.cc',
'third_party/boringssl-with-bazel/src/crypto/test/wycheproof_util.cc',
],
diff --git a/package.xml b/package.xml
index 33c71875c2a..f8a2ce28d9f 100644
--- a/package.xml
+++ b/package.xml
@@ -2077,34 +2077,30 @@
-
-
-
-
+
-
@@ -2131,33 +2127,36 @@
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2173,7 +2172,6 @@
-
@@ -2183,6 +2181,7 @@
+
@@ -2224,17 +2223,18 @@
-
+
+
-
-
+
+
@@ -2242,9 +2242,9 @@
-
-
-
+
+
+
@@ -2282,8 +2282,9 @@
+
+
-
@@ -2294,6 +2295,8 @@
+
+
@@ -2352,6 +2355,7 @@
+
@@ -2393,12 +2397,6 @@
-
-
-
-
-
-
@@ -2416,8 +2414,6 @@
-
-
@@ -2446,6 +2442,7 @@
+
@@ -2467,6 +2464,7 @@
+
@@ -2489,6 +2487,7 @@
+
@@ -2497,6 +2496,7 @@
+
diff --git a/setup.py b/setup.py
index c07c084553a..6501b43d612 100644
--- a/setup.py
+++ b/setup.py
@@ -375,7 +375,9 @@ if BUILD_WITH_BORING_SSL_ASM and not BUILD_WITH_SYSTEM_OPENSSL:
elif LINUX_AARCH64 == boringssl_asm_platform:
asm_key = 'crypto_linux_aarch64'
elif "mac" in boringssl_asm_platform and "x86_64" in boringssl_asm_platform:
- asm_key = 'crypto_mac_x86_64'
+ asm_key = 'crypto_apple_x86_64'
+ elif "mac" in boringssl_asm_platform and "arm64" in boringssl_asm_platform:
+ asm_key = 'crypto_apple_aarch64'
else:
print("ASM Builds for BoringSSL currently not supported on:",
boringssl_asm_platform)
diff --git a/src/boringssl/boringssl_prefix_symbols.h b/src/boringssl/boringssl_prefix_symbols.h
index 0196ce4c68b..2979453538d 100644
--- a/src/boringssl/boringssl_prefix_symbols.h
+++ b/src/boringssl/boringssl_prefix_symbols.h
@@ -1,4 +1,4 @@
-// generated by generate_boringssl_prefix_header.sh on BoringSSL commit: 6195bf8242156c9a2fa75702eee058f91b86a88b
+// generated by generate_boringssl_prefix_header.sh on BoringSSL commit: 85db207a482ae4f91f83a6a70d432b9121e48d2d
// Copyright (c) 2018, Google Inc.
//
@@ -34,6 +34,8 @@
#define DTLSv1_method BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DTLSv1_method)
#define DTLSv1_server_method BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DTLSv1_server_method)
#define DTLSv1_set_initial_timeout_duration BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DTLSv1_set_initial_timeout_duration)
+#define ERR_GET_LIB BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_GET_LIB)
+#define ERR_GET_REASON BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_GET_REASON)
#define ERR_load_SSL_strings BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_load_SSL_strings)
#define OPENSSL_init_ssl BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_init_ssl)
#define PEM_read_SSL_SESSION BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PEM_read_SSL_SESSION)
@@ -101,6 +103,7 @@
#define SSL_CTX_get_max_proto_version BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_get_max_proto_version)
#define SSL_CTX_get_min_proto_version BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_get_min_proto_version)
#define SSL_CTX_get_mode BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_get_mode)
+#define SSL_CTX_get_num_tickets BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_get_num_tickets)
#define SSL_CTX_get_options BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_get_options)
#define SSL_CTX_get_quiet_shutdown BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_get_quiet_shutdown)
#define SSL_CTX_get_read_ahead BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_get_read_ahead)
@@ -142,6 +145,8 @@
#define SSL_CTX_set1_curves BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set1_curves)
#define SSL_CTX_set1_curves_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set1_curves_list)
#define SSL_CTX_set1_ech_keys BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set1_ech_keys)
+#define SSL_CTX_set1_groups BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set1_groups)
+#define SSL_CTX_set1_groups_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set1_groups_list)
#define SSL_CTX_set1_param BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set1_param)
#define SSL_CTX_set1_sigalgs BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set1_sigalgs)
#define SSL_CTX_set1_sigalgs_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set1_sigalgs_list)
@@ -157,6 +162,7 @@
#define SSL_CTX_set_cipher_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set_cipher_list)
#define SSL_CTX_set_client_CA_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set_client_CA_list)
#define SSL_CTX_set_client_cert_cb BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set_client_cert_cb)
+#define SSL_CTX_set_compliance_policy BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set_compliance_policy)
#define SSL_CTX_set_current_time_cb BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set_current_time_cb)
#define SSL_CTX_set_custom_verify BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set_custom_verify)
#define SSL_CTX_set_default_passwd_cb BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set_default_passwd_cb)
@@ -178,6 +184,7 @@
#define SSL_CTX_set_msg_callback_arg BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set_msg_callback_arg)
#define SSL_CTX_set_next_proto_select_cb BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set_next_proto_select_cb)
#define SSL_CTX_set_next_protos_advertised_cb BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set_next_protos_advertised_cb)
+#define SSL_CTX_set_num_tickets BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set_num_tickets)
#define SSL_CTX_set_ocsp_response BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set_ocsp_response)
#define SSL_CTX_set_options BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set_options)
#define SSL_CTX_set_permute_extensions BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_set_permute_extensions)
@@ -276,6 +283,7 @@
#define SSL_add0_chain_cert BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_add0_chain_cert)
#define SSL_add1_chain_cert BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_add1_chain_cert)
#define SSL_add_application_settings BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_add_application_settings)
+#define SSL_add_bio_cert_subjects_to_stack BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_add_bio_cert_subjects_to_stack)
#define SSL_add_client_CA BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_add_client_CA)
#define SSL_add_file_cert_subjects_to_stack BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_add_file_cert_subjects_to_stack)
#define SSL_alert_desc_string BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_alert_desc_string)
@@ -441,6 +449,9 @@
#define SSL_set1_curves_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set1_curves_list)
#define SSL_set1_delegated_credential BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set1_delegated_credential)
#define SSL_set1_ech_config_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set1_ech_config_list)
+#define SSL_set1_groups BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set1_groups)
+#define SSL_set1_groups_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set1_groups_list)
+#define SSL_set1_host BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set1_host)
#define SSL_set1_param BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set1_param)
#define SSL_set1_sigalgs BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set1_sigalgs)
#define SSL_set1_sigalgs_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set1_sigalgs_list)
@@ -454,6 +465,7 @@
#define SSL_set_chain_and_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_chain_and_key)
#define SSL_set_cipher_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_cipher_list)
#define SSL_set_client_CA_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_client_CA_list)
+#define SSL_set_compliance_policy BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_compliance_policy)
#define SSL_set_connect_state BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_connect_state)
#define SSL_set_custom_verify BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_custom_verify)
#define SSL_set_early_data_enabled BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_early_data_enabled)
@@ -462,6 +474,7 @@
#define SSL_set_ex_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_ex_data)
#define SSL_set_fd BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_fd)
#define SSL_set_handshake_hints BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_handshake_hints)
+#define SSL_set_hostflags BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_hostflags)
#define SSL_set_info_callback BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_info_callback)
#define SSL_set_jdk11_workaround BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_jdk11_workaround)
#define SSL_set_max_cert_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_max_cert_list)
@@ -530,6 +543,7 @@
#define SSL_used_hello_retry_request BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_used_hello_retry_request)
#define SSL_version BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_version)
#define SSL_want BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_want)
+#define SSL_was_key_usage_invalid BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_was_key_usage_invalid)
#define SSL_write BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_write)
#define SSLv23_client_method BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSLv23_client_method)
#define SSLv23_method BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSLv23_method)
@@ -575,13 +589,14 @@
#define sk_X509_NAME_call_free_func BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_X509_NAME_call_free_func)
#define sk_X509_NAME_deep_copy BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_X509_NAME_deep_copy)
#define sk_X509_NAME_find BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_X509_NAME_find)
-#define sk_X509_NAME_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_X509_NAME_free)
#define sk_X509_NAME_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_X509_NAME_new)
#define sk_X509_NAME_new_null BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_X509_NAME_new_null)
+#define sk_X509_NAME_num BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_X509_NAME_num)
#define sk_X509_NAME_pop_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_X509_NAME_pop_free)
-#define sk_X509_NAME_push BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_X509_NAME_push)
+#define sk_X509_NAME_set BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_X509_NAME_set)
#define sk_X509_NAME_set_cmp_func BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_X509_NAME_set_cmp_func)
#define sk_X509_NAME_sort BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_X509_NAME_sort)
+#define sk_X509_NAME_value BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_X509_NAME_value)
#define sk_X509_call_free_func BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_X509_call_free_func)
#define sk_X509_new_null BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_X509_new_null)
#define sk_X509_num BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_X509_num)
@@ -620,9 +635,13 @@
#define ASN1_BOOLEAN_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_BOOLEAN_it)
#define ASN1_ENUMERATED_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_ENUMERATED_free)
#define ASN1_ENUMERATED_get BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_ENUMERATED_get)
+#define ASN1_ENUMERATED_get_int64 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_ENUMERATED_get_int64)
+#define ASN1_ENUMERATED_get_uint64 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_ENUMERATED_get_uint64)
#define ASN1_ENUMERATED_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_ENUMERATED_it)
#define ASN1_ENUMERATED_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_ENUMERATED_new)
#define ASN1_ENUMERATED_set BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_ENUMERATED_set)
+#define ASN1_ENUMERATED_set_int64 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_ENUMERATED_set_int64)
+#define ASN1_ENUMERATED_set_uint64 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_ENUMERATED_set_uint64)
#define ASN1_ENUMERATED_to_BN BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_ENUMERATED_to_BN)
#define ASN1_FBOOLEAN_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_FBOOLEAN_it)
#define ASN1_GENERALIZEDTIME_adj BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_GENERALIZEDTIME_adj)
@@ -643,9 +662,12 @@
#define ASN1_INTEGER_dup BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_INTEGER_dup)
#define ASN1_INTEGER_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_INTEGER_free)
#define ASN1_INTEGER_get BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_INTEGER_get)
+#define ASN1_INTEGER_get_int64 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_INTEGER_get_int64)
+#define ASN1_INTEGER_get_uint64 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_INTEGER_get_uint64)
#define ASN1_INTEGER_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_INTEGER_it)
#define ASN1_INTEGER_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_INTEGER_new)
#define ASN1_INTEGER_set BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_INTEGER_set)
+#define ASN1_INTEGER_set_int64 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_INTEGER_set_int64)
#define ASN1_INTEGER_set_uint64 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_INTEGER_set_uint64)
#define ASN1_INTEGER_to_BN BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_INTEGER_to_BN)
#define ASN1_NULL_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_NULL_free)
@@ -667,7 +689,6 @@
#define ASN1_PRINTABLE_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_PRINTABLE_free)
#define ASN1_PRINTABLE_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_PRINTABLE_it)
#define ASN1_PRINTABLE_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_PRINTABLE_new)
-#define ASN1_PRINTABLE_type BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_PRINTABLE_type)
#define ASN1_SEQUENCE_ANY_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_SEQUENCE_ANY_it)
#define ASN1_SEQUENCE_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_SEQUENCE_it)
#define ASN1_SET_ANY_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_SET_ANY_it)
@@ -705,8 +726,11 @@
#define ASN1_TIME_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_TIME_new)
#define ASN1_TIME_print BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_TIME_print)
#define ASN1_TIME_set BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_TIME_set)
+#define ASN1_TIME_set_posix BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_TIME_set_posix)
#define ASN1_TIME_set_string BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_TIME_set_string)
#define ASN1_TIME_to_generalizedtime BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_TIME_to_generalizedtime)
+#define ASN1_TIME_to_posix BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_TIME_to_posix)
+#define ASN1_TIME_to_time_t BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_TIME_to_time_t)
#define ASN1_TYPE_cmp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_TYPE_cmp)
#define ASN1_TYPE_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_TYPE_free)
#define ASN1_TYPE_get BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ASN1_TYPE_get)
@@ -838,6 +862,7 @@
#define BIO_s_file BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BIO_s_file)
#define BIO_s_mem BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BIO_s_mem)
#define BIO_s_socket BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BIO_s_socket)
+#define BIO_seek BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BIO_seek)
#define BIO_set_close BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BIO_set_close)
#define BIO_set_conn_hostname BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BIO_set_conn_hostname)
#define BIO_set_conn_int_port BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BIO_set_conn_int_port)
@@ -862,6 +887,7 @@
#define BIO_should_write BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BIO_should_write)
#define BIO_shutdown_wr BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BIO_shutdown_wr)
#define BIO_snprintf BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BIO_snprintf)
+#define BIO_tell BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BIO_tell)
#define BIO_test_flags BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BIO_test_flags)
#define BIO_up_ref BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BIO_up_ref)
#define BIO_vfree BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BIO_vfree)
@@ -885,6 +911,9 @@
#define BN_CTX_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_CTX_new)
#define BN_CTX_start BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_CTX_start)
#define BN_GENCB_call BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_GENCB_call)
+#define BN_GENCB_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_GENCB_free)
+#define BN_GENCB_get_arg BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_GENCB_get_arg)
+#define BN_GENCB_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_GENCB_new)
#define BN_GENCB_set BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_GENCB_set)
#define BN_MONT_CTX_copy BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_MONT_CTX_copy)
#define BN_MONT_CTX_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_MONT_CTX_free)
@@ -925,6 +954,11 @@
#define BN_gcd BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_gcd)
#define BN_generate_prime_ex BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_generate_prime_ex)
#define BN_get_rfc3526_prime_1536 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_get_rfc3526_prime_1536)
+#define BN_get_rfc3526_prime_2048 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_get_rfc3526_prime_2048)
+#define BN_get_rfc3526_prime_3072 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_get_rfc3526_prime_3072)
+#define BN_get_rfc3526_prime_4096 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_get_rfc3526_prime_4096)
+#define BN_get_rfc3526_prime_6144 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_get_rfc3526_prime_6144)
+#define BN_get_rfc3526_prime_8192 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_get_rfc3526_prime_8192)
#define BN_get_u64 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_get_u64)
#define BN_get_word BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_get_word)
#define BN_hex2bn BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_hex2bn)
@@ -986,6 +1020,7 @@
#define BN_rand_range_ex BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_rand_range_ex)
#define BN_rshift BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_rshift)
#define BN_rshift1 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_rshift1)
+#define BN_secure_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_secure_new)
#define BN_set_bit BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_set_bit)
#define BN_set_negative BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_set_negative)
#define BN_set_u64 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_set_u64)
@@ -1003,6 +1038,9 @@
#define BN_value_one BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_value_one)
#define BN_zero BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BN_zero)
#define BORINGSSL_function_hit BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BORINGSSL_function_hit)
+#define BORINGSSL_keccak BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BORINGSSL_keccak)
+#define BORINGSSL_keccak_init BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BORINGSSL_keccak_init)
+#define BORINGSSL_keccak_squeeze BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BORINGSSL_keccak_squeeze)
#define BORINGSSL_self_test BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BORINGSSL_self_test)
#define BUF_MEM_append BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BUF_MEM_append)
#define BUF_MEM_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BUF_MEM_free)
@@ -1019,9 +1057,11 @@
#define CBB_add_asn1 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBB_add_asn1)
#define CBB_add_asn1_bool BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBB_add_asn1_bool)
#define CBB_add_asn1_int64 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBB_add_asn1_int64)
+#define CBB_add_asn1_int64_with_tag BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBB_add_asn1_int64_with_tag)
#define CBB_add_asn1_octet_string BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBB_add_asn1_octet_string)
#define CBB_add_asn1_oid_from_text BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBB_add_asn1_oid_from_text)
#define CBB_add_asn1_uint64 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBB_add_asn1_uint64)
+#define CBB_add_asn1_uint64_with_tag BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBB_add_asn1_uint64_with_tag)
#define CBB_add_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBB_add_bytes)
#define CBB_add_space BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBB_add_space)
#define CBB_add_u16 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBB_add_u16)
@@ -1078,6 +1118,7 @@
#define CBS_get_u32 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_get_u32)
#define CBS_get_u32le BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_get_u32le)
#define CBS_get_u64 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_get_u64)
+#define CBS_get_u64_decimal BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_get_u64_decimal)
#define CBS_get_u64le BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_get_u64le)
#define CBS_get_u8 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_get_u8)
#define CBS_get_u8_length_prefixed BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_get_u8_length_prefixed)
@@ -1088,6 +1129,8 @@
#define CBS_is_valid_asn1_integer BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_is_valid_asn1_integer)
#define CBS_len BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_len)
#define CBS_mem_equal BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_mem_equal)
+#define CBS_parse_generalized_time BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_parse_generalized_time)
+#define CBS_parse_utc_time BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_parse_utc_time)
#define CBS_peek_asn1_tag BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_peek_asn1_tag)
#define CBS_skip BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_skip)
#define CBS_stow BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_stow)
@@ -1189,6 +1232,9 @@
#define CRYPTO_realloc BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_realloc)
#define CRYPTO_refcount_dec_and_test_zero BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_refcount_dec_and_test_zero)
#define CRYPTO_refcount_inc BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_refcount_inc)
+#define CRYPTO_secure_malloc_init BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_secure_malloc_init)
+#define CRYPTO_secure_malloc_initialized BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_secure_malloc_initialized)
+#define CRYPTO_secure_used BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_secure_used)
#define CRYPTO_set_add_lock_callback BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_set_add_lock_callback)
#define CRYPTO_set_dynlock_create_callback BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_set_dynlock_create_callback)
#define CRYPTO_set_dynlock_destroy_callback BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_set_dynlock_destroy_callback)
@@ -1202,8 +1248,10 @@
#define CRYPTO_sysrand_if_available BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_sysrand_if_available)
#define CRYPTO_tls1_prf BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_tls1_prf)
#define CTR_DRBG_clear BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CTR_DRBG_clear)
+#define CTR_DRBG_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CTR_DRBG_free)
#define CTR_DRBG_generate BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CTR_DRBG_generate)
#define CTR_DRBG_init BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CTR_DRBG_init)
+#define CTR_DRBG_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CTR_DRBG_new)
#define CTR_DRBG_reseed BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CTR_DRBG_reseed)
#define ChaCha20_ctr32 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ChaCha20_ctr32)
#define DES_decrypt3 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DES_decrypt3)
@@ -1216,6 +1264,7 @@
#define DES_set_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DES_set_key)
#define DES_set_key_unchecked BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DES_set_key_unchecked)
#define DES_set_odd_parity BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DES_set_odd_parity)
+#define DH_bits BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_bits)
#define DH_check BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_check)
#define DH_check_pub_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_check_pub_key)
#define DH_compute_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_compute_key)
@@ -1261,6 +1310,7 @@
#define DSA_SIG_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DSA_SIG_new)
#define DSA_SIG_parse BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DSA_SIG_parse)
#define DSA_SIG_set0 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DSA_SIG_set0)
+#define DSA_bits BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DSA_bits)
#define DSA_check_signature BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DSA_check_signature)
#define DSA_do_check_signature BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DSA_do_check_signature)
#define DSA_do_sign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DSA_do_sign)
@@ -1355,9 +1405,13 @@
#define EC_KEY_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_KEY_new)
#define EC_KEY_new_by_curve_name BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_KEY_new_by_curve_name)
#define EC_KEY_new_method BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_KEY_new_method)
+#define EC_KEY_oct2key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_KEY_oct2key)
+#define EC_KEY_oct2priv BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_KEY_oct2priv)
#define EC_KEY_parse_curve_name BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_KEY_parse_curve_name)
#define EC_KEY_parse_parameters BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_KEY_parse_parameters)
#define EC_KEY_parse_private_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_KEY_parse_private_key)
+#define EC_KEY_priv2buf BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_KEY_priv2buf)
+#define EC_KEY_priv2oct BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_KEY_priv2oct)
#define EC_KEY_set_asn1_flag BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_KEY_set_asn1_flag)
#define EC_KEY_set_conv_form BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_KEY_set_conv_form)
#define EC_KEY_set_enc_flags BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_KEY_set_enc_flags)
@@ -1383,6 +1437,7 @@
#define EC_POINT_mul BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_POINT_mul)
#define EC_POINT_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_POINT_new)
#define EC_POINT_oct2point BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_POINT_oct2point)
+#define EC_POINT_point2buf BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_POINT_point2buf)
#define EC_POINT_point2cbb BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_POINT_point2cbb)
#define EC_POINT_point2oct BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_POINT_point2oct)
#define EC_POINT_set_affine_coordinates BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_POINT_set_affine_coordinates)
@@ -1392,6 +1447,8 @@
#define EC_curve_nid2nist BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_curve_nid2nist)
#define EC_curve_nist2nid BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_curve_nist2nid)
#define EC_get_builtin_curves BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_get_builtin_curves)
+#define EC_hash_to_curve_p256_xmd_sha256_sswu BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_hash_to_curve_p256_xmd_sha256_sswu)
+#define EC_hash_to_curve_p384_xmd_sha384_sswu BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EC_hash_to_curve_p384_xmd_sha384_sswu)
#define ED25519_keypair BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ED25519_keypair)
#define ED25519_keypair_from_seed BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ED25519_keypair_from_seed)
#define ED25519_sign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ED25519_sign)
@@ -1441,6 +1498,7 @@
#define ERR_remove_thread_state BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_remove_thread_state)
#define ERR_restore_state BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_restore_state)
#define ERR_save_state BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_save_state)
+#define ERR_set_error_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_set_error_data)
#define ERR_set_mark BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_set_mark)
#define EVP_AEAD_CTX_aead BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_AEAD_CTX_aead)
#define EVP_AEAD_CTX_cleanup BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_AEAD_CTX_cleanup)
@@ -1537,6 +1595,7 @@
#define EVP_HPKE_CTX_export BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_export)
#define EVP_HPKE_CTX_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_free)
#define EVP_HPKE_CTX_kdf BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_kdf)
+#define EVP_HPKE_CTX_kem BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_kem)
#define EVP_HPKE_CTX_max_overhead BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_max_overhead)
#define EVP_HPKE_CTX_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_new)
#define EVP_HPKE_CTX_open BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_open)
@@ -1545,8 +1604,12 @@
#define EVP_HPKE_CTX_setup_sender BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_setup_sender)
#define EVP_HPKE_CTX_setup_sender_with_seed_for_testing BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_setup_sender_with_seed_for_testing)
#define EVP_HPKE_CTX_zero BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_CTX_zero)
+#define EVP_HPKE_KDF_hkdf_md BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_KDF_hkdf_md)
#define EVP_HPKE_KDF_id BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_KDF_id)
+#define EVP_HPKE_KEM_enc_len BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_KEM_enc_len)
#define EVP_HPKE_KEM_id BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_KEM_id)
+#define EVP_HPKE_KEM_private_key_len BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_KEM_private_key_len)
+#define EVP_HPKE_KEM_public_key_len BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_KEM_public_key_len)
#define EVP_HPKE_KEY_cleanup BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_KEY_cleanup)
#define EVP_HPKE_KEY_copy BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_KEY_copy)
#define EVP_HPKE_KEY_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_KEY_free)
@@ -1558,6 +1621,7 @@
#define EVP_HPKE_KEY_public_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_KEY_public_key)
#define EVP_HPKE_KEY_zero BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_HPKE_KEY_zero)
#define EVP_MD_CTX_block_size BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_MD_CTX_block_size)
+#define EVP_MD_CTX_cleanse BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_MD_CTX_cleanse)
#define EVP_MD_CTX_cleanup BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_MD_CTX_cleanup)
#define EVP_MD_CTX_copy BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_MD_CTX_copy)
#define EVP_MD_CTX_copy_ex BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_MD_CTX_copy_ex)
@@ -1581,6 +1645,7 @@
#define EVP_PBE_scrypt BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PBE_scrypt)
#define EVP_PKCS82PKEY BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKCS82PKEY)
#define EVP_PKEY2PKCS8 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY2PKCS8)
+#define EVP_PKEY_CTX_add1_hkdf_info BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_add1_hkdf_info)
#define EVP_PKEY_CTX_ctrl BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_ctrl)
#define EVP_PKEY_CTX_dup BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_dup)
#define EVP_PKEY_CTX_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_free)
@@ -1591,11 +1656,17 @@
#define EVP_PKEY_CTX_get_rsa_padding BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_get_rsa_padding)
#define EVP_PKEY_CTX_get_rsa_pss_saltlen BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_get_rsa_pss_saltlen)
#define EVP_PKEY_CTX_get_signature_md BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_get_signature_md)
+#define EVP_PKEY_CTX_hkdf_mode BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_hkdf_mode)
#define EVP_PKEY_CTX_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_new)
#define EVP_PKEY_CTX_new_id BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_new_id)
#define EVP_PKEY_CTX_set0_rsa_oaep_label BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_set0_rsa_oaep_label)
+#define EVP_PKEY_CTX_set1_hkdf_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_set1_hkdf_key)
+#define EVP_PKEY_CTX_set1_hkdf_salt BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_set1_hkdf_salt)
+#define EVP_PKEY_CTX_set_dsa_paramgen_bits BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_set_dsa_paramgen_bits)
+#define EVP_PKEY_CTX_set_dsa_paramgen_q_bits BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_set_dsa_paramgen_q_bits)
#define EVP_PKEY_CTX_set_ec_param_enc BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_set_ec_param_enc)
#define EVP_PKEY_CTX_set_ec_paramgen_curve_nid BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_set_ec_paramgen_curve_nid)
+#define EVP_PKEY_CTX_set_hkdf_md BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_set_hkdf_md)
#define EVP_PKEY_CTX_set_rsa_keygen_bits BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_set_rsa_keygen_bits)
#define EVP_PKEY_CTX_set_rsa_keygen_pubexp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_set_rsa_keygen_pubexp)
#define EVP_PKEY_CTX_set_rsa_mgf1_md BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_set_rsa_mgf1_md)
@@ -1676,6 +1747,7 @@
#define EVP_aead_aes_128_cbc_sha1_tls_implicit_iv BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_128_cbc_sha1_tls_implicit_iv)
#define EVP_aead_aes_128_ccm_bluetooth BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_128_ccm_bluetooth)
#define EVP_aead_aes_128_ccm_bluetooth_8 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_128_ccm_bluetooth_8)
+#define EVP_aead_aes_128_ccm_matter BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_128_ccm_matter)
#define EVP_aead_aes_128_ctr_hmac_sha256 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_128_ctr_hmac_sha256)
#define EVP_aead_aes_128_gcm BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_128_gcm)
#define EVP_aead_aes_128_gcm_randnonce BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_aead_aes_128_gcm_randnonce)
@@ -1760,7 +1832,12 @@
#define EXTENDED_KEY_USAGE_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EXTENDED_KEY_USAGE_new)
#define FIPS_mode BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, FIPS_mode)
#define FIPS_mode_set BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, FIPS_mode_set)
+#define FIPS_module_name BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, FIPS_module_name)
+#define FIPS_query_algorithm_status BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, FIPS_query_algorithm_status)
#define FIPS_read_counter BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, FIPS_read_counter)
+#define FIPS_service_indicator_after_call BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, FIPS_service_indicator_after_call)
+#define FIPS_service_indicator_before_call BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, FIPS_service_indicator_before_call)
+#define FIPS_version BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, FIPS_version)
#define GENERAL_NAMES_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, GENERAL_NAMES_free)
#define GENERAL_NAMES_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, GENERAL_NAMES_it)
#define GENERAL_NAMES_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, GENERAL_NAMES_new)
@@ -1781,10 +1858,12 @@
#define HKDF_expand BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, HKDF_expand)
#define HKDF_extract BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, HKDF_extract)
#define HMAC BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, HMAC)
+#define HMAC_CTX_cleanse BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, HMAC_CTX_cleanse)
#define HMAC_CTX_cleanup BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, HMAC_CTX_cleanup)
#define HMAC_CTX_copy BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, HMAC_CTX_copy)
#define HMAC_CTX_copy_ex BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, HMAC_CTX_copy_ex)
#define HMAC_CTX_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, HMAC_CTX_free)
+#define HMAC_CTX_get_md BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, HMAC_CTX_get_md)
#define HMAC_CTX_init BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, HMAC_CTX_init)
#define HMAC_CTX_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, HMAC_CTX_new)
#define HMAC_CTX_reset BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, HMAC_CTX_reset)
@@ -1860,6 +1939,7 @@
#define OBJ_txt2nid BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OBJ_txt2nid)
#define OBJ_txt2obj BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OBJ_txt2obj)
#define OPENSSL_add_all_algorithms_conf BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_add_all_algorithms_conf)
+#define OPENSSL_asprintf BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_asprintf)
#define OPENSSL_built_in_curves BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_built_in_curves)
#define OPENSSL_cleanse BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_cleanse)
#define OPENSSL_cleanup BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_cleanup)
@@ -1867,12 +1947,18 @@
#define OPENSSL_config BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_config)
#define OPENSSL_cpuid_setup BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_cpuid_setup)
#define OPENSSL_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_free)
+#define OPENSSL_fromxdigit BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_fromxdigit)
#define OPENSSL_gmtime BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_gmtime)
#define OPENSSL_gmtime_adj BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_gmtime_adj)
#define OPENSSL_gmtime_diff BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_gmtime_diff)
#define OPENSSL_hash32 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_hash32)
#define OPENSSL_ia32cap_P BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_ia32cap_P)
#define OPENSSL_init_crypto BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_init_crypto)
+#define OPENSSL_isalnum BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_isalnum)
+#define OPENSSL_isalpha BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_isalpha)
+#define OPENSSL_isdigit BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_isdigit)
+#define OPENSSL_isspace BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_isspace)
+#define OPENSSL_isxdigit BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_isxdigit)
#define OPENSSL_lh_delete BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_lh_delete)
#define OPENSSL_lh_doall_arg BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_lh_doall_arg)
#define OPENSSL_lh_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_lh_free)
@@ -1886,7 +1972,10 @@
#define OPENSSL_malloc_init BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_malloc_init)
#define OPENSSL_memdup BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_memdup)
#define OPENSSL_no_config BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_no_config)
+#define OPENSSL_posix_to_tm BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_posix_to_tm)
#define OPENSSL_realloc BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_realloc)
+#define OPENSSL_secure_clear_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_secure_clear_free)
+#define OPENSSL_secure_malloc BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_secure_malloc)
#define OPENSSL_strcasecmp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_strcasecmp)
#define OPENSSL_strdup BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_strdup)
#define OPENSSL_strhash BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_strhash)
@@ -1895,8 +1984,11 @@
#define OPENSSL_strncasecmp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_strncasecmp)
#define OPENSSL_strndup BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_strndup)
#define OPENSSL_strnlen BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_strnlen)
+#define OPENSSL_timegm BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_timegm)
+#define OPENSSL_tm_to_posix BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_tm_to_posix)
#define OPENSSL_tolower BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_tolower)
-#define OTHERNAME_cmp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OTHERNAME_cmp)
+#define OPENSSL_vasprintf BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_vasprintf)
+#define OPENSSL_vasprintf_internal BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OPENSSL_vasprintf_internal)
#define OTHERNAME_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OTHERNAME_free)
#define OTHERNAME_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OTHERNAME_it)
#define OTHERNAME_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, OTHERNAME_new)
@@ -1911,7 +2003,6 @@
#define PEM_ASN1_write_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PEM_ASN1_write_bio)
#define PEM_X509_INFO_read BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PEM_X509_INFO_read)
#define PEM_X509_INFO_read_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PEM_X509_INFO_read_bio)
-#define PEM_X509_INFO_write_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PEM_X509_INFO_write_bio)
#define PEM_bytes_read_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PEM_bytes_read_bio)
#define PEM_def_callback BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PEM_def_callback)
#define PEM_dek_info BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PEM_dek_info)
@@ -2033,8 +2124,6 @@
#define PKCS8_encrypt BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PKCS8_encrypt)
#define PKCS8_marshal_encrypted_private_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PKCS8_marshal_encrypted_private_key)
#define PKCS8_parse_encrypted_private_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PKCS8_parse_encrypted_private_key)
-#define PKCS8_pkey_get0 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PKCS8_pkey_get0)
-#define PKCS8_pkey_set0 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PKCS8_pkey_set0)
#define POLICYINFO_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, POLICYINFO_free)
#define POLICYINFO_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, POLICYINFO_it)
#define POLICYINFO_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, POLICYINFO_new)
@@ -2048,12 +2137,6 @@
#define POLICY_MAPPING_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, POLICY_MAPPING_free)
#define POLICY_MAPPING_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, POLICY_MAPPING_it)
#define POLICY_MAPPING_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, POLICY_MAPPING_new)
-#define PROXY_CERT_INFO_EXTENSION_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PROXY_CERT_INFO_EXTENSION_free)
-#define PROXY_CERT_INFO_EXTENSION_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PROXY_CERT_INFO_EXTENSION_it)
-#define PROXY_CERT_INFO_EXTENSION_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PROXY_CERT_INFO_EXTENSION_new)
-#define PROXY_POLICY_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PROXY_POLICY_free)
-#define PROXY_POLICY_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PROXY_POLICY_it)
-#define PROXY_POLICY_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, PROXY_POLICY_new)
#define RAND_OpenSSL BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RAND_OpenSSL)
#define RAND_SSLeay BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RAND_SSLeay)
#define RAND_add BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RAND_add)
@@ -2064,6 +2147,7 @@
#define RAND_enable_fork_unsafe_buffering BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RAND_enable_fork_unsafe_buffering)
#define RAND_file_name BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RAND_file_name)
#define RAND_get_rand_method BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RAND_get_rand_method)
+#define RAND_get_system_entropy_for_custom_prng BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RAND_get_system_entropy_for_custom_prng)
#define RAND_load_file BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RAND_load_file)
#define RAND_poll BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RAND_poll)
#define RAND_pseudo_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RAND_pseudo_bytes)
@@ -2137,6 +2221,7 @@
#define RSA_sign_pss_mgf1 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_sign_pss_mgf1)
#define RSA_sign_raw BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_sign_raw)
#define RSA_size BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_size)
+#define RSA_test_flags BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_test_flags)
#define RSA_up_ref BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_up_ref)
#define RSA_verify BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_verify)
#define RSA_verify_PKCS1_PSS_mgf1 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, RSA_verify_PKCS1_PSS_mgf1)
@@ -2179,6 +2264,7 @@
#define SSLeay_version BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSLeay_version)
#define TRUST_TOKEN_CLIENT_add_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_CLIENT_add_key)
#define TRUST_TOKEN_CLIENT_begin_issuance BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_CLIENT_begin_issuance)
+#define TRUST_TOKEN_CLIENT_begin_issuance_over_message BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_CLIENT_begin_issuance_over_message)
#define TRUST_TOKEN_CLIENT_begin_redemption BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_CLIENT_begin_redemption)
#define TRUST_TOKEN_CLIENT_finish_issuance BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_CLIENT_finish_issuance)
#define TRUST_TOKEN_CLIENT_finish_redemption BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_CLIENT_finish_redemption)
@@ -2190,11 +2276,12 @@
#define TRUST_TOKEN_ISSUER_issue BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_ISSUER_issue)
#define TRUST_TOKEN_ISSUER_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_ISSUER_new)
#define TRUST_TOKEN_ISSUER_redeem BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_ISSUER_redeem)
-#define TRUST_TOKEN_ISSUER_redeem_raw BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_ISSUER_redeem_raw)
+#define TRUST_TOKEN_ISSUER_redeem_over_message BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_ISSUER_redeem_over_message)
#define TRUST_TOKEN_ISSUER_set_metadata_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_ISSUER_set_metadata_key)
#define TRUST_TOKEN_ISSUER_set_srr_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_ISSUER_set_srr_key)
#define TRUST_TOKEN_PRETOKEN_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_PRETOKEN_free)
#define TRUST_TOKEN_decode_private_metadata BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_decode_private_metadata)
+#define TRUST_TOKEN_derive_key_from_secret BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_derive_key_from_secret)
#define TRUST_TOKEN_experiment_v1 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_experiment_v1)
#define TRUST_TOKEN_experiment_v2_pmb BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_experiment_v2_pmb)
#define TRUST_TOKEN_experiment_v2_voprf BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_experiment_v2_voprf)
@@ -2204,8 +2291,6 @@
#define USERNOTICE_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, USERNOTICE_free)
#define USERNOTICE_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, USERNOTICE_it)
#define USERNOTICE_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, USERNOTICE_new)
-#define UTF8_getc BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, UTF8_getc)
-#define UTF8_putc BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, UTF8_putc)
#define X25519 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X25519)
#define X25519_keypair BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X25519_keypair)
#define X25519_public_from_private BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X25519_public_from_private)
@@ -2232,22 +2317,17 @@
#define X509V3_add_standard_extensions BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_add_standard_extensions)
#define X509V3_add_value BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_add_value)
#define X509V3_add_value_bool BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_add_value_bool)
-#define X509V3_add_value_bool_nf BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_add_value_bool_nf)
#define X509V3_add_value_int BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_add_value_int)
-#define X509V3_add_value_uchar BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_add_value_uchar)
+#define X509V3_bool_from_string BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_bool_from_string)
#define X509V3_conf_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_conf_free)
#define X509V3_extensions_print BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_extensions_print)
#define X509V3_get_d2i BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_get_d2i)
#define X509V3_get_section BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_get_section)
-#define X509V3_get_string BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_get_string)
#define X509V3_get_value_bool BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_get_value_bool)
#define X509V3_get_value_int BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_get_value_int)
#define X509V3_parse_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_parse_list)
-#define X509V3_section_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_section_free)
#define X509V3_set_ctx BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_set_ctx)
#define X509V3_set_nconf BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_set_nconf)
-#define X509V3_string_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509V3_string_free)
-#define X509_ALGORS_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_ALGORS_it)
#define X509_ALGOR_cmp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_ALGOR_cmp)
#define X509_ALGOR_dup BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_ALGOR_dup)
#define X509_ALGOR_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_ALGOR_free)
@@ -2280,12 +2360,9 @@
#define X509_CRL_INFO_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_INFO_free)
#define X509_CRL_INFO_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_INFO_it)
#define X509_CRL_INFO_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_INFO_new)
-#define X509_CRL_METHOD_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_METHOD_free)
-#define X509_CRL_METHOD_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_METHOD_new)
#define X509_CRL_add0_revoked BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_add0_revoked)
#define X509_CRL_add1_ext_i2d BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_add1_ext_i2d)
#define X509_CRL_add_ext BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_add_ext)
-#define X509_CRL_check_suiteb BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_check_suiteb)
#define X509_CRL_cmp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_cmp)
#define X509_CRL_delete_ext BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_delete_ext)
#define X509_CRL_diff BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_diff)
@@ -2307,7 +2384,6 @@
#define X509_CRL_get_ext_d2i BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_get_ext_d2i)
#define X509_CRL_get_issuer BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_get_issuer)
#define X509_CRL_get_lastUpdate BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_get_lastUpdate)
-#define X509_CRL_get_meth_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_get_meth_data)
#define X509_CRL_get_nextUpdate BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_get_nextUpdate)
#define X509_CRL_get_signature_nid BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_get_signature_nid)
#define X509_CRL_get_version BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_get_version)
@@ -2320,9 +2396,7 @@
#define X509_CRL_set1_nextUpdate BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_set1_nextUpdate)
#define X509_CRL_set1_signature_algo BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_set1_signature_algo)
#define X509_CRL_set1_signature_value BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_set1_signature_value)
-#define X509_CRL_set_default_method BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_set_default_method)
#define X509_CRL_set_issuer_name BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_set_issuer_name)
-#define X509_CRL_set_meth_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_set_meth_data)
#define X509_CRL_set_version BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_set_version)
#define X509_CRL_sign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_sign)
#define X509_CRL_sign_ctx BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_CRL_sign_ctx)
@@ -2344,9 +2418,6 @@
#define X509_EXTENSION_set_object BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_EXTENSION_set_object)
#define X509_INFO_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_INFO_free)
#define X509_INFO_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_INFO_new)
-#define X509_LOOKUP_by_alias BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_LOOKUP_by_alias)
-#define X509_LOOKUP_by_fingerprint BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_LOOKUP_by_fingerprint)
-#define X509_LOOKUP_by_issuer_serial BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_LOOKUP_by_issuer_serial)
#define X509_LOOKUP_by_subject BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_LOOKUP_by_subject)
#define X509_LOOKUP_ctrl BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_LOOKUP_ctrl)
#define X509_LOOKUP_file BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_LOOKUP_file)
@@ -2403,7 +2474,6 @@
#define X509_OBJECT_up_ref_count BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_OBJECT_up_ref_count)
#define X509_PKEY_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_PKEY_free)
#define X509_PKEY_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_PKEY_new)
-#define X509_POLICY_NODE_print BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_POLICY_NODE_print)
#define X509_PUBKEY_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_PUBKEY_free)
#define X509_PUBKEY_get BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_PUBKEY_get)
#define X509_PUBKEY_get0_param BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_PUBKEY_get0_param)
@@ -2454,6 +2524,8 @@
#define X509_REQ_print BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_print)
#define X509_REQ_print_ex BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_print_ex)
#define X509_REQ_print_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_print_fp)
+#define X509_REQ_set1_signature_algo BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_set1_signature_algo)
+#define X509_REQ_set1_signature_value BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_set1_signature_value)
#define X509_REQ_set_pubkey BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_set_pubkey)
#define X509_REQ_set_subject_name BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_set_subject_name)
#define X509_REQ_set_version BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_REQ_set_version)
@@ -2491,7 +2563,6 @@
#define X509_STORE_CTX_get0_current_issuer BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_get0_current_issuer)
#define X509_STORE_CTX_get0_param BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_get0_param)
#define X509_STORE_CTX_get0_parent_ctx BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_get0_parent_ctx)
-#define X509_STORE_CTX_get0_policy_tree BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_get0_policy_tree)
#define X509_STORE_CTX_get0_store BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_get0_store)
#define X509_STORE_CTX_get0_untrusted BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_get0_untrusted)
#define X509_STORE_CTX_get1_chain BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_get1_chain)
@@ -2502,12 +2573,12 @@
#define X509_STORE_CTX_get_error_depth BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_get_error_depth)
#define X509_STORE_CTX_get_ex_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_get_ex_data)
#define X509_STORE_CTX_get_ex_new_index BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_get_ex_new_index)
-#define X509_STORE_CTX_get_explicit_policy BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_get_explicit_policy)
#define X509_STORE_CTX_init BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_init)
#define X509_STORE_CTX_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_new)
#define X509_STORE_CTX_purpose_inherit BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_purpose_inherit)
#define X509_STORE_CTX_set0_crls BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_set0_crls)
#define X509_STORE_CTX_set0_param BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_set0_param)
+#define X509_STORE_CTX_set0_trusted_stack BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_set0_trusted_stack)
#define X509_STORE_CTX_set_cert BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_set_cert)
#define X509_STORE_CTX_set_chain BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_set_chain)
#define X509_STORE_CTX_set_default BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_set_default)
@@ -2517,6 +2588,7 @@
#define X509_STORE_CTX_set_flags BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_set_flags)
#define X509_STORE_CTX_set_purpose BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_set_purpose)
#define X509_STORE_CTX_set_time BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_set_time)
+#define X509_STORE_CTX_set_time_posix BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_set_time_posix)
#define X509_STORE_CTX_set_trust BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_set_trust)
#define X509_STORE_CTX_set_verify_cb BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_set_verify_cb)
#define X509_STORE_CTX_trusted_stack BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_STORE_CTX_trusted_stack)
@@ -2570,7 +2642,6 @@
#define X509_TRUST_get_flags BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_TRUST_get_flags)
#define X509_TRUST_get_trust BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_TRUST_get_trust)
#define X509_TRUST_set BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_TRUST_set)
-#define X509_TRUST_set_default BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_TRUST_set_default)
#define X509_VAL_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_VAL_free)
#define X509_VAL_it BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_VAL_it)
#define X509_VAL_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_VAL_new)
@@ -2600,6 +2671,7 @@
#define X509_VERIFY_PARAM_set_hostflags BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_VERIFY_PARAM_set_hostflags)
#define X509_VERIFY_PARAM_set_purpose BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_VERIFY_PARAM_set_purpose)
#define X509_VERIFY_PARAM_set_time BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_VERIFY_PARAM_set_time)
+#define X509_VERIFY_PARAM_set_time_posix BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_VERIFY_PARAM_set_time_posix)
#define X509_VERIFY_PARAM_set_trust BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_VERIFY_PARAM_set_trust)
#define X509_VERIFY_PARAM_table_cleanup BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_VERIFY_PARAM_table_cleanup)
#define X509_add1_ext_i2d BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_add1_ext_i2d)
@@ -2608,7 +2680,6 @@
#define X509_add_ext BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_add_ext)
#define X509_alias_get0 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_alias_get0)
#define X509_alias_set1 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_alias_set1)
-#define X509_chain_check_suiteb BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_chain_check_suiteb)
#define X509_chain_up_ref BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_chain_up_ref)
#define X509_check_akid BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_check_akid)
#define X509_check_ca BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_check_ca)
@@ -2623,6 +2694,7 @@
#define X509_cmp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_cmp)
#define X509_cmp_current_time BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_cmp_current_time)
#define X509_cmp_time BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_cmp_time)
+#define X509_cmp_time_posix BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_cmp_time_posix)
#define X509_delete_ext BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_delete_ext)
#define X509_digest BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_digest)
#define X509_dup BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_dup)
@@ -2674,7 +2746,6 @@
#define X509_getm_notAfter BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_getm_notAfter)
#define X509_getm_notBefore BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_getm_notBefore)
#define X509_gmtime_adj BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_gmtime_adj)
-#define X509_issuer_and_serial_cmp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_issuer_and_serial_cmp)
#define X509_issuer_name_cmp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_issuer_name_cmp)
#define X509_issuer_name_hash BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_issuer_name_hash)
#define X509_issuer_name_hash_old BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_issuer_name_hash_old)
@@ -2685,19 +2756,8 @@
#define X509_load_cert_file BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_load_cert_file)
#define X509_load_crl_file BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_load_crl_file)
#define X509_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_new)
-#define X509_ocspid_print BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_ocspid_print)
#define X509_parse_from_buffer BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_parse_from_buffer)
#define X509_policy_check BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_policy_check)
-#define X509_policy_level_get0_node BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_policy_level_get0_node)
-#define X509_policy_level_node_count BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_policy_level_node_count)
-#define X509_policy_node_get0_parent BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_policy_node_get0_parent)
-#define X509_policy_node_get0_policy BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_policy_node_get0_policy)
-#define X509_policy_node_get0_qualifiers BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_policy_node_get0_qualifiers)
-#define X509_policy_tree_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_policy_tree_free)
-#define X509_policy_tree_get0_level BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_policy_tree_get0_level)
-#define X509_policy_tree_get0_policies BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_policy_tree_get0_policies)
-#define X509_policy_tree_get0_user_policies BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_policy_tree_get0_user_policies)
-#define X509_policy_tree_level_count BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_policy_tree_level_count)
#define X509_print BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_print)
#define X509_print_ex BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_print_ex)
#define X509_print_ex_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_print_ex_fp)
@@ -2726,7 +2786,6 @@
#define X509_supported_extension BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_supported_extension)
#define X509_time_adj BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_time_adj)
#define X509_time_adj_ex BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_time_adj_ex)
-#define X509_to_X509_REQ BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_to_X509_REQ)
#define X509_trust_clear BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_trust_clear)
#define X509_up_ref BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_up_ref)
#define X509_verify BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509_verify)
@@ -2830,12 +2889,12 @@
#define asn1_enc_init BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_enc_init)
#define asn1_enc_restore BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_enc_restore)
#define asn1_enc_save BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_enc_save)
+#define asn1_encoding_clear BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_encoding_clear)
#define asn1_generalizedtime_to_tm BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_generalizedtime_to_tm)
#define asn1_get_choice_selector BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_get_choice_selector)
#define asn1_get_field_ptr BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_get_field_ptr)
#define asn1_get_string_table_for_testing BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_get_string_table_for_testing)
#define asn1_is_printable BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_is_printable)
-#define asn1_item_combine_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_item_combine_free)
#define asn1_refcount_dec_and_test_zero BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_refcount_dec_and_test_zero)
#define asn1_refcount_set_one BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_refcount_set_one)
#define asn1_set_choice_selector BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, asn1_set_choice_selector)
@@ -2849,11 +2908,12 @@
#define bio_socket_nbio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bio_socket_nbio)
#define bn_abs_sub_consttime BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_abs_sub_consttime)
#define bn_add_words BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_add_words)
+#define bn_assert_fits_in_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_assert_fits_in_bytes)
+#define bn_big_endian_to_words BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_big_endian_to_words)
#define bn_copy_words BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_copy_words)
#define bn_div_consttime BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_div_consttime)
#define bn_expand BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_expand)
#define bn_fits_in_words BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_fits_in_words)
-#define bn_from_montgomery BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_from_montgomery)
#define bn_from_montgomery_small BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_from_montgomery_small)
#define bn_gather5 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_gather5)
#define bn_in_range_words BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_in_range_words)
@@ -2917,7 +2977,10 @@
#define bn_uadd_consttime BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_uadd_consttime)
#define bn_usub_consttime BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_usub_consttime)
#define bn_wexpand BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_wexpand)
-#define boringssl_fips_self_test BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, boringssl_fips_self_test)
+#define bn_words_to_big_endian BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, bn_words_to_big_endian)
+#define boringssl_self_test_hmac_sha256 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, boringssl_self_test_hmac_sha256)
+#define boringssl_self_test_sha256 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, boringssl_self_test_sha256)
+#define boringssl_self_test_sha512 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, boringssl_self_test_sha512)
#define c2i_ASN1_BIT_STRING BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, c2i_ASN1_BIT_STRING)
#define c2i_ASN1_INTEGER BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, c2i_ASN1_INTEGER)
#define c2i_ASN1_OBJECT BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, c2i_ASN1_OBJECT)
@@ -3008,8 +3071,6 @@
#define d2i_PKCS8_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_PKCS8_fp)
#define d2i_POLICYINFO BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_POLICYINFO)
#define d2i_POLICYQUALINFO BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_POLICYQUALINFO)
-#define d2i_PROXY_CERT_INFO_EXTENSION BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_PROXY_CERT_INFO_EXTENSION)
-#define d2i_PROXY_POLICY BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_PROXY_POLICY)
#define d2i_PUBKEY BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_PUBKEY)
#define d2i_PUBKEY_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_PUBKEY_bio)
#define d2i_PUBKEY_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_PUBKEY_fp)
@@ -3030,7 +3091,6 @@
#define d2i_USERNOTICE BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_USERNOTICE)
#define d2i_X509 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_X509)
#define d2i_X509_ALGOR BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_X509_ALGOR)
-#define d2i_X509_ALGORS BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_X509_ALGORS)
#define d2i_X509_ATTRIBUTE BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_X509_ATTRIBUTE)
#define d2i_X509_AUX BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_X509_AUX)
#define d2i_X509_CERT_AUX BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_X509_CERT_AUX)
@@ -3053,12 +3113,15 @@
#define d2i_X509_VAL BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_X509_VAL)
#define d2i_X509_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_X509_bio)
#define d2i_X509_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_X509_fp)
+#define dh_compute_key_padded_no_self_test BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, dh_compute_key_padded_no_self_test)
#define dsa_asn1_meth BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, dsa_asn1_meth)
-#define dsa_check_parameters BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, dsa_check_parameters)
+#define dsa_check_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, dsa_check_key)
#define ec_GFp_mont_add BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_GFp_mont_add)
#define ec_GFp_mont_dbl BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_GFp_mont_dbl)
+#define ec_GFp_mont_felem_exp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_GFp_mont_felem_exp)
#define ec_GFp_mont_felem_from_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_GFp_mont_felem_from_bytes)
#define ec_GFp_mont_felem_mul BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_GFp_mont_felem_mul)
+#define ec_GFp_mont_felem_reduce BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_GFp_mont_felem_reduce)
#define ec_GFp_mont_felem_sqr BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_GFp_mont_felem_sqr)
#define ec_GFp_mont_felem_to_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_GFp_mont_felem_to_bytes)
#define ec_GFp_mont_group_finish BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_GFp_mont_group_finish)
@@ -3105,13 +3168,17 @@
#define ec_get_x_coordinate_as_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_get_x_coordinate_as_bytes)
#define ec_get_x_coordinate_as_scalar BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_get_x_coordinate_as_scalar)
#define ec_group_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_group_new)
+#define ec_hash_to_curve_p256_xmd_sha256_sswu BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_hash_to_curve_p256_xmd_sha256_sswu)
+#define ec_hash_to_curve_p384_xmd_sha384_sswu BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_hash_to_curve_p384_xmd_sha384_sswu)
#define ec_hash_to_curve_p384_xmd_sha512_sswu_draft07 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_hash_to_curve_p384_xmd_sha512_sswu_draft07)
#define ec_hash_to_scalar_p384_xmd_sha512_draft07 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_hash_to_scalar_p384_xmd_sha512_draft07)
#define ec_init_precomp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_init_precomp)
#define ec_jacobian_to_affine BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_jacobian_to_affine)
#define ec_jacobian_to_affine_batch BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_jacobian_to_affine_batch)
#define ec_pkey_meth BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_pkey_meth)
+#define ec_point_byte_len BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_point_byte_len)
#define ec_point_from_uncompressed BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_point_from_uncompressed)
+#define ec_point_mul_no_self_test BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_point_mul_no_self_test)
#define ec_point_mul_scalar BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_point_mul_scalar)
#define ec_point_mul_scalar_base BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_point_mul_scalar_base)
#define ec_point_mul_scalar_batch BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_point_mul_scalar_batch)
@@ -3140,6 +3207,7 @@
#define ec_set_to_safe_point BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_set_to_safe_point)
#define ec_simple_scalar_inv0_montgomery BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_simple_scalar_inv0_montgomery)
#define ec_simple_scalar_to_montgomery_inv_vartime BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_simple_scalar_to_montgomery_inv_vartime)
+#define ecdsa_do_verify_no_self_test BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ecdsa_do_verify_no_self_test)
#define ecdsa_sign_with_nonce_for_known_answer_test BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ecdsa_sign_with_nonce_for_known_answer_test)
#define ecp_nistz256_avx2_select_w7 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ecp_nistz256_avx2_select_w7)
#define ecp_nistz256_mul_mont BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ecp_nistz256_mul_mont)
@@ -3166,6 +3234,7 @@
#define gcm_init_clmul BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, gcm_init_clmul)
#define gcm_init_nohw BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, gcm_init_nohw)
#define gcm_init_ssse3 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, gcm_init_ssse3)
+#define hkdf_pkey_meth BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, hkdf_pkey_meth)
#define i2a_ACCESS_DESCRIPTION BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2a_ACCESS_DESCRIPTION)
#define i2a_ASN1_ENUMERATED BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2a_ASN1_ENUMERATED)
#define i2a_ASN1_INTEGER BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2a_ASN1_INTEGER)
@@ -3251,8 +3320,6 @@
#define i2d_PKCS8_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_PKCS8_fp)
#define i2d_POLICYINFO BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_POLICYINFO)
#define i2d_POLICYQUALINFO BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_POLICYQUALINFO)
-#define i2d_PROXY_CERT_INFO_EXTENSION BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_PROXY_CERT_INFO_EXTENSION)
-#define i2d_PROXY_POLICY BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_PROXY_POLICY)
#define i2d_PUBKEY BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_PUBKEY)
#define i2d_PUBKEY_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_PUBKEY_bio)
#define i2d_PUBKEY_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_PUBKEY_fp)
@@ -3273,7 +3340,6 @@
#define i2d_USERNOTICE BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_USERNOTICE)
#define i2d_X509 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_X509)
#define i2d_X509_ALGOR BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_X509_ALGOR)
-#define i2d_X509_ALGORS BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_X509_ALGORS)
#define i2d_X509_ATTRIBUTE BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_X509_ATTRIBUTE)
#define i2d_X509_AUX BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_X509_AUX)
#define i2d_X509_CERT_AUX BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_X509_CERT_AUX)
@@ -3303,11 +3369,9 @@
#define i2d_re_X509_tbs BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_re_X509_tbs)
#define i2o_ECPublicKey BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2o_ECPublicKey)
#define i2s_ASN1_ENUMERATED BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2s_ASN1_ENUMERATED)
-#define i2s_ASN1_ENUMERATED_TABLE BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2s_ASN1_ENUMERATED_TABLE)
#define i2s_ASN1_INTEGER BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2s_ASN1_INTEGER)
#define i2s_ASN1_OCTET_STRING BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2s_ASN1_OCTET_STRING)
#define i2t_ASN1_OBJECT BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2t_ASN1_OBJECT)
-#define i2v_ASN1_BIT_STRING BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2v_ASN1_BIT_STRING)
#define i2v_GENERAL_NAME BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2v_GENERAL_NAME)
#define i2v_GENERAL_NAMES BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2v_GENERAL_NAMES)
#define kBoringSSLRSASqrtTwo BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, kBoringSSLRSASqrtTwo)
@@ -3315,8 +3379,6 @@
#define kOpenSSLReasonStringData BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, kOpenSSLReasonStringData)
#define kOpenSSLReasonValues BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, kOpenSSLReasonValues)
#define kOpenSSLReasonValuesLen BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, kOpenSSLReasonValuesLen)
-#define level_add_node BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, level_add_node)
-#define level_find_node BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, level_find_node)
#define md4_block_data_order BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, md4_block_data_order)
#define md5_block_asm_data_order BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, md5_block_asm_data_order)
#define o2i_ECPublicKey BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, o2i_ECPublicKey)
@@ -3328,6 +3390,7 @@
#define pkcs8_pbe_decrypt BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pkcs8_pbe_decrypt)
#define pmbtoken_exp1_blind BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_exp1_blind)
#define pmbtoken_exp1_client_key_from_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_exp1_client_key_from_bytes)
+#define pmbtoken_exp1_derive_key_from_secret BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_exp1_derive_key_from_secret)
#define pmbtoken_exp1_generate_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_exp1_generate_key)
#define pmbtoken_exp1_get_h_for_testing BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_exp1_get_h_for_testing)
#define pmbtoken_exp1_issuer_key_from_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_exp1_issuer_key_from_bytes)
@@ -3336,21 +3399,13 @@
#define pmbtoken_exp1_unblind BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_exp1_unblind)
#define pmbtoken_exp2_blind BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_exp2_blind)
#define pmbtoken_exp2_client_key_from_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_exp2_client_key_from_bytes)
+#define pmbtoken_exp2_derive_key_from_secret BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_exp2_derive_key_from_secret)
#define pmbtoken_exp2_generate_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_exp2_generate_key)
#define pmbtoken_exp2_get_h_for_testing BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_exp2_get_h_for_testing)
#define pmbtoken_exp2_issuer_key_from_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_exp2_issuer_key_from_bytes)
#define pmbtoken_exp2_read BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_exp2_read)
#define pmbtoken_exp2_sign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_exp2_sign)
#define pmbtoken_exp2_unblind BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, pmbtoken_exp2_unblind)
-#define policy_cache_find_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, policy_cache_find_data)
-#define policy_cache_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, policy_cache_free)
-#define policy_cache_set BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, policy_cache_set)
-#define policy_cache_set_mapping BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, policy_cache_set_mapping)
-#define policy_data_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, policy_data_free)
-#define policy_data_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, policy_data_new)
-#define policy_node_cmp_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, policy_node_cmp_new)
-#define policy_node_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, policy_node_free)
-#define policy_node_match BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, policy_node_match)
#define poly_Rq_mul BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, poly_Rq_mul)
#define rand_fork_unsafe_buffering_enabled BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rand_fork_unsafe_buffering_enabled)
#define rsa_asn1_meth BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsa_asn1_meth)
@@ -3360,6 +3415,9 @@
#define rsa_default_sign_raw BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsa_default_sign_raw)
#define rsa_default_size BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsa_default_size)
#define rsa_pkey_meth BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsa_pkey_meth)
+#define rsa_sign_no_self_test BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsa_sign_no_self_test)
+#define rsa_verify_no_self_test BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsa_verify_no_self_test)
+#define rsa_verify_raw_no_self_test BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsa_verify_raw_no_self_test)
#define rsaz_1024_gather5_avx2 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsaz_1024_gather5_avx2)
#define rsaz_1024_mul_avx2 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsaz_1024_mul_avx2)
#define rsaz_1024_norm2red_avx2 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, rsaz_1024_norm2red_avx2)
@@ -3373,6 +3431,7 @@
#define sha512_block_data_order BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sha512_block_data_order)
#define sk_deep_copy BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_deep_copy)
#define sk_delete BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_delete)
+#define sk_delete_if BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_delete_if)
#define sk_delete_ptr BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_delete_ptr)
#define sk_dup BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_dup)
#define sk_find BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_find)
@@ -3392,8 +3451,6 @@
#define sk_sort BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_sort)
#define sk_value BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_value)
#define sk_zero BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_zero)
-#define tree_find_sk BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, tree_find_sk)
-#define v2i_ASN1_BIT_STRING BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, v2i_ASN1_BIT_STRING)
#define v2i_GENERAL_NAME BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, v2i_GENERAL_NAME)
#define v2i_GENERAL_NAMES BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, v2i_GENERAL_NAMES)
#define v2i_GENERAL_NAME_ex BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, v2i_GENERAL_NAME_ex)
@@ -3417,13 +3474,13 @@
#define v3_nscert BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, v3_nscert)
#define v3_ocsp_accresp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, v3_ocsp_accresp)
#define v3_ocsp_nocheck BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, v3_ocsp_nocheck)
-#define v3_pci BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, v3_pci)
#define v3_policy_constraints BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, v3_policy_constraints)
#define v3_policy_mappings BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, v3_policy_mappings)
#define v3_sinfo BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, v3_sinfo)
#define v3_skey_id BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, v3_skey_id)
#define voprf_exp2_blind BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, voprf_exp2_blind)
#define voprf_exp2_client_key_from_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, voprf_exp2_client_key_from_bytes)
+#define voprf_exp2_derive_key_from_secret BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, voprf_exp2_derive_key_from_secret)
#define voprf_exp2_generate_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, voprf_exp2_generate_key)
#define voprf_exp2_issuer_key_from_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, voprf_exp2_issuer_key_from_bytes)
#define voprf_exp2_read BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, voprf_exp2_read)
@@ -3457,6 +3514,6 @@
#define x509v3_a2i_ipadd BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, x509v3_a2i_ipadd)
#define x509v3_bytes_to_hex BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, x509v3_bytes_to_hex)
#define x509v3_cache_extensions BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, x509v3_cache_extensions)
+#define x509v3_conf_name_matches BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, x509v3_conf_name_matches)
#define x509v3_hex_to_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, x509v3_hex_to_bytes)
#define x509v3_looks_like_dns_name BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, x509v3_looks_like_dns_name)
-#define x509v3_name_cmp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, x509v3_name_cmp)
diff --git a/src/objective-c/BoringSSL-GRPC.podspec b/src/objective-c/BoringSSL-GRPC.podspec
index fdb3dadf6bb..078581d8357 100644
--- a/src/objective-c/BoringSSL-GRPC.podspec
+++ b/src/objective-c/BoringSSL-GRPC.podspec
@@ -39,7 +39,7 @@
Pod::Spec.new do |s|
s.name = 'BoringSSL-GRPC'
- version = '0.0.25'
+ version = '0.0.26'
s.version = version
s.summary = 'BoringSSL is a fork of OpenSSL that is designed to meet Google\'s needs.'
# Adapted from the homepage:
@@ -76,7 +76,7 @@ Pod::Spec.new do |s|
s.source = {
:git => 'https://github.com/google/boringssl.git',
- :commit => "6195bf8242156c9a2fa75702eee058f91b86a88b",
+ :commit => "85db207a482ae4f91f83a6a70d432b9121e48d2d",
}
s.ios.deployment_target = '9.0'
@@ -146,6 +146,11 @@ Pod::Spec.new do |s|
ss.dependency "#{s.name}/Interface", version
end
+ s.pod_target_xcconfig = {
+ # Do not let src/include/openssl/time.h override system API
+ 'USE_HEADERMAP' => 'NO',
+ }
+
s.prepare_command = <<-END_OF_COMMAND
set -e
@@ -164,502 +169,512 @@ Pod::Spec.new do |s|
*) opts="--ignore-garbage" ;;
esac
base64 --decode $opts < src/include/openssl/boringssl_prefix_symbols.h
- H4sICAAAAAAC/2JvcmluZ3NzbF9wcmVmaXhfc3ltYm9scy5oAKydXXPbuJZo3+dXuO683Kk6NRM7nbT7
- vim20tG0Y/tIck9nXliURNk8oUiFoOy4f/0FQErEx94g94arTs10LK21KQDEF0Hgv/7r7DErszptss3Z
- 6vX0j2RV1Xn5KESR7Otsm/9MnrJ0k9X/KZ7OqvLsk/50sbg5W1e7Xd78v7OP5799WG0vL365OP/wcf1b
- erFNf/3w67uLLMvefbjc/na+uvyYXl6u/u3f/uu/zq6q/WudPz41Z/93/R9nF+/OL/9x9ntVPRbZ2axc
- /6f8ivrWfVbvciFyGa+pzg4i+4eMtn/9x9mu2uRb+f/TcvNfVX22yUVT56tDk501T7k4E9W2eUnr7Gwr
- P0zLV+XaH+p9JbKzl7yRP6DW/786NGfbLDuTyFNWZ+rX12kpE+IfZ/u6es43Mkmap7SR/yc7S1fVc6ZM
- 69O1l1WTrzN1FW3cfX+9x4/2+yytz/LyLC0KReaZOP665Zfp2eLu8/J/JvPp2Wxxdj+/+3N2Pb0++z+T
- hfz3/zmb3F7rL00ell/u5mfXs8XVzWT2dXE2ubk5k9R8crucTRfK9T+z5Zez+fT3yVwid5KSvt59e3Xz
- cD27/V2Ds6/3NzMZpRec3X1Wjq/T+dUX+ZfJp9nNbPlNh/88W95OF4v/lI6z27uz6Z/T2+XZ4ovyGFf2
- aXp2M5t8upmefZb/mtx+U7rF/fRqNrn5h7zu+fRq+Q+pOP6X/NLV3e1i+s8HqZPfObuefJ38ri5E08d/
- 6h/2ZbJc3Mm4c/nzFg83S/UzPs/vvp7d3C3UlZ89LKYyxmQ5UbRMQ3nJi39IbiovcK6ueyL/d7Wc3d0q
- nwRk6OV8oq7jdvr7zez36e3VVLF3GljezeV3HxYd84+zyXy2UEHvHpaKvlNOXYTvbm+n+jtt6qv0kNei
- r2I6lwnxdaLFn+3c+E9d/j/dzaVT3j7J5Po6uZ9PP8/+OtunosnEWfNSncmiVzb5Ns9qIQuPLPxVmclM
- aFQRk4V6J9QflChv1N2qSly1Pdul67o6y37u01IXQvm/vBFnaf142EmfOFtlEs50IHn3/ue//ftG3tll
- Bl7O/03/cbb6D/CjZCZ/+rz9QtBhfvEsPfv3fz9L1P+RdcCJmt0l20TWMvA19H9s//CPHvgPyyGyhmrp
- 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
- USnDzT9wyabYf377P1bsXgotpgQA
+ H4sICAAAAAAC/2JvcmluZ3NzbF9wcmVmaXhfc3ltYm9scy5oAKydW3PbuJao3+dXuM68nKnaNRM7Sbf7
+ vCm2kmji2N6S3NOZFxYlUjJ3KFIhKF/61x+ApERc1gK5Fly1a6Zj6fsWBYC4EQT+67/OtmmRVnGdJmer
+ 19M/olVZZcVWiDzaV+kme4ke0zhJq/8Uj2dlcfap+XSxuDlbl7tdVv+/s8uPyeri3e/xh8uLOP2w+eN8
+ c/k+/i3+/V3y4f3F6o/zi/P0w2Vykfzbv/3Xf51dlfvXKts+1mf/d/0fZxfvzi//cfalLLd5ejYr1v8p
+ v6K+dZ9Wu0yITMary7ODSP8ho+1f/3G2K5NsI/9/XCT/VVZnSSbqKlsd6vSsfszEmSg39XNcpWcb+WFc
+ vCrX/lDtS5GePWe1/AFV8//LQ322SdMziTymVap+fRUXMiH+cbavyqcskUlSP8a1/D/pWbwqn1JlWp+u
+ vSjrbJ2qq2jj7vvrPX6036dxdZYVZ3GeKzJLxfHXLb9OzxZ3n5f/M5lPz2aLs/v53Z+z6+n12f+ZLOS/
+ /8/Z5Pa6+dLkYfn1bn52PVtc3Uxm3xdnk5ubM0nNJ7fL2XShXP8zW349m0+/TOYSuZOU9PXu26ubh+vZ
+ 7ZcGnH2/v5nJKL3g7O6zcnyfzq++yr9MPs1uZssfTfjPs+XtdLH4T+k4u707m/45vV2eLb4qj3Zln6Zn
+ N7PJp5vp2Wf5r8ntD6Vb3E+vZpObf8jrnk+vlv+QiuN/yS9d3d0upv98kDr5nbPryffJF3UhDX38Z/PD
+ vk6WizsZdy5/3uLhZql+xuf53fezm7uFuvKzh8VUxpgsJ4qWaSgvefEPyU3lBc7VdU/k/66Ws7tb5ZOA
+ DL2cT9R13E6/3My+TG+vpoq9a4Dl3Vx+92HRMf84m8xnCxX07mGp6DvlbIrw3e3ttPlOm/oqPeS1NFcx
+ ncuE+D5pxJ/N3PjPpvx/uptLp7x9osn1dXQ/n36e/XW2j0WdirP6uTyTRa+os02WVkIWHln4yyKVmVCr
+ IiYL9U6oPyhRVqu7VZW4cnO2i9dVeZa+7OOiKYTyf1ktzuJqe9hJnzhbpRJOm0Dy7v3Pf/v3RN7ZRQpe
+ zv+N/3G2+g/wo2gmf/q8/YLXoX/xLD77938/i9T/Wf1bT83uok0kaxn4Gvo/tn/4Rw/8h+EQaU21dEjv
+ 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
EOF
# We are renaming openssl to openssl_grpc so that there is no conflict with openssl if it exists
diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py
index 03190ced1bb..15133cb742a 100644
--- a/src/python/grpcio/grpc_core_dependencies.py
+++ b/src/python/grpcio/grpc_core_dependencies.py
@@ -925,32 +925,29 @@ CORE_SOURCE_FILES = [
'third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c',
- 'third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c',
- 'third_party/boringssl-with-bazel/src/crypto/asn1/a_print.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c',
- 'third_party/boringssl-with-bazel/src/crypto/asn1/a_utf8.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c',
+ 'third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c',
- 'third_party/boringssl-with-bazel/src/crypto/asn1/time_support.c',
'third_party/boringssl-with-bazel/src/crypto/base64/base64.c',
'third_party/boringssl-with-bazel/src/crypto/bio/bio.c',
'third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c',
@@ -974,27 +971,29 @@ CORE_SOURCE_FILES = [
'third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c',
'third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c',
'third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c',
- 'third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesccm.c',
'third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c',
'third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c',
'third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c',
+ 'third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_des.c',
'third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c',
'third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c',
'third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c',
'third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c',
'third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c',
- 'third_party/boringssl-with-bazel/src/crypto/cmac/cmac.c',
'third_party/boringssl-with-bazel/src/crypto/conf/conf.c',
- 'third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-fuchsia.c',
- 'third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-linux.c',
- 'third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-win.c',
- 'third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c',
- 'third_party/boringssl-with-bazel/src/crypto/cpu-arm.c',
- 'third_party/boringssl-with-bazel/src/crypto/cpu-intel.c',
- 'third_party/boringssl-with-bazel/src/crypto/cpu-ppc64le.c',
+ 'third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c',
+ 'third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_freebsd.c',
+ 'third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c',
+ 'third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c',
+ 'third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c',
+ 'third_party/boringssl-with-bazel/src/crypto/cpu_arm.c',
+ 'third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c',
+ 'third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c',
+ 'third_party/boringssl-with-bazel/src/crypto/cpu_intel.c',
'third_party/boringssl-with-bazel/src/crypto/crypto.c',
'third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c',
'third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c',
+ 'third_party/boringssl-with-bazel/src/crypto/des/des.c',
'third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c',
'third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c',
'third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c',
@@ -1007,7 +1006,6 @@ CORE_SOURCE_FILES = [
'third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c',
'third_party/boringssl-with-bazel/src/crypto/engine/engine.c',
'third_party/boringssl-with-bazel/src/crypto/err/err.c',
- 'third_party/boringssl-with-bazel/src/crypto/evp/digestsign.c',
'third_party/boringssl-with-bazel/src/crypto/evp/evp.c',
'third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c',
'third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c',
@@ -1016,6 +1014,7 @@ CORE_SOURCE_FILES = [
'third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c',
'third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c',
'third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c',
+ 'third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.c',
'third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c',
'third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c',
'third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c',
@@ -1030,6 +1029,7 @@ CORE_SOURCE_FILES = [
'third_party/boringssl-with-bazel/src/crypto/hkdf/hkdf.c',
'third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c',
'third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c',
+ 'third_party/boringssl-with-bazel/src/crypto/kyber/keccak.c',
'third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c',
'third_party/boringssl-with-bazel/src/crypto/mem.c',
'third_party/boringssl-with-bazel/src/crypto/obj/obj.c',
@@ -1080,6 +1080,7 @@ CORE_SOURCE_FILES = [
'third_party/boringssl-with-bazel/src/crypto/x509/by_file.c',
'third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.c',
'third_party/boringssl-with-bazel/src/crypto/x509/name_print.c',
+ 'third_party/boringssl-with-bazel/src/crypto/x509/policy.c',
'third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c',
'third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c',
'third_party/boringssl-with-bazel/src/crypto/x509/t_req.c',
@@ -1119,12 +1120,6 @@ CORE_SOURCE_FILES = [
'third_party/boringssl-with-bazel/src/crypto/x509/x_val.c',
'third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c',
'third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c',
- 'third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c',
- 'third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c',
- 'third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_lib.c',
- 'third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c',
- 'third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_node.c',
- 'third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c',
'third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c',
'third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akeya.c',
'third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c',
@@ -1142,8 +1137,6 @@ CORE_SOURCE_FILES = [
'third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c',
'third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ncons.c',
'third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ocsp.c',
- 'third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pci.c',
- 'third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcia.c',
'third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcons.c',
'third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pmaps.c',
'third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c',
@@ -1304,182 +1297,192 @@ CORE_SOURCE_FILES = [
]
ASM_SOURCE_FILES = {
- 'crypto_ios_aarch64': [
- 'third_party/boringssl-with-bazel/ios-aarch64/crypto/chacha/chacha-armv8.S',
- 'third_party/boringssl-with-bazel/ios-aarch64/crypto/fipsmodule/aesv8-armx64.S',
- 'third_party/boringssl-with-bazel/ios-aarch64/crypto/fipsmodule/armv8-mont.S',
- 'third_party/boringssl-with-bazel/ios-aarch64/crypto/fipsmodule/ghash-neon-armv8.S',
- 'third_party/boringssl-with-bazel/ios-aarch64/crypto/fipsmodule/ghashv8-armx64.S',
- 'third_party/boringssl-with-bazel/ios-aarch64/crypto/fipsmodule/sha1-armv8.S',
- 'third_party/boringssl-with-bazel/ios-aarch64/crypto/fipsmodule/sha256-armv8.S',
- 'third_party/boringssl-with-bazel/ios-aarch64/crypto/fipsmodule/sha512-armv8.S',
- 'third_party/boringssl-with-bazel/ios-aarch64/crypto/fipsmodule/vpaes-armv8.S',
- 'third_party/boringssl-with-bazel/ios-aarch64/crypto/test/trampoline-armv8.S',
+ 'crypto_apple_aarch64': [
+ 'third_party/boringssl-with-bazel/apple-aarch64/crypto/chacha/chacha-armv8-apple.S',
+ 'third_party/boringssl-with-bazel/apple-aarch64/crypto/cipher_extra/chacha20_poly1305_armv8-apple.S',
+ 'third_party/boringssl-with-bazel/apple-aarch64/crypto/fipsmodule/aesv8-armv8-apple.S',
+ 'third_party/boringssl-with-bazel/apple-aarch64/crypto/fipsmodule/aesv8-gcm-armv8-apple.S',
+ 'third_party/boringssl-with-bazel/apple-aarch64/crypto/fipsmodule/armv8-mont-apple.S',
+ 'third_party/boringssl-with-bazel/apple-aarch64/crypto/fipsmodule/bn-armv8-apple.S',
+ 'third_party/boringssl-with-bazel/apple-aarch64/crypto/fipsmodule/ghash-neon-armv8-apple.S',
+ 'third_party/boringssl-with-bazel/apple-aarch64/crypto/fipsmodule/ghashv8-armv8-apple.S',
+ 'third_party/boringssl-with-bazel/apple-aarch64/crypto/fipsmodule/p256-armv8-asm-apple.S',
+ 'third_party/boringssl-with-bazel/apple-aarch64/crypto/fipsmodule/p256_beeu-armv8-asm-apple.S',
+ 'third_party/boringssl-with-bazel/apple-aarch64/crypto/fipsmodule/sha1-armv8-apple.S',
+ 'third_party/boringssl-with-bazel/apple-aarch64/crypto/fipsmodule/sha256-armv8-apple.S',
+ 'third_party/boringssl-with-bazel/apple-aarch64/crypto/fipsmodule/sha512-armv8-apple.S',
+ 'third_party/boringssl-with-bazel/apple-aarch64/crypto/fipsmodule/vpaes-armv8-apple.S',
+ 'third_party/boringssl-with-bazel/apple-aarch64/crypto/test/trampoline-armv8-apple.S',
],
- 'crypto_ios_arm': [
- 'third_party/boringssl-with-bazel/ios-arm/crypto/chacha/chacha-armv4.S',
- 'third_party/boringssl-with-bazel/ios-arm/crypto/fipsmodule/aesv8-armx32.S',
- 'third_party/boringssl-with-bazel/ios-arm/crypto/fipsmodule/armv4-mont.S',
- 'third_party/boringssl-with-bazel/ios-arm/crypto/fipsmodule/bsaes-armv7.S',
- 'third_party/boringssl-with-bazel/ios-arm/crypto/fipsmodule/ghash-armv4.S',
- 'third_party/boringssl-with-bazel/ios-arm/crypto/fipsmodule/ghashv8-armx32.S',
- 'third_party/boringssl-with-bazel/ios-arm/crypto/fipsmodule/sha1-armv4-large.S',
- 'third_party/boringssl-with-bazel/ios-arm/crypto/fipsmodule/sha256-armv4.S',
- 'third_party/boringssl-with-bazel/ios-arm/crypto/fipsmodule/sha512-armv4.S',
- 'third_party/boringssl-with-bazel/ios-arm/crypto/fipsmodule/vpaes-armv7.S',
- 'third_party/boringssl-with-bazel/ios-arm/crypto/test/trampoline-armv4.S',
+ 'crypto_apple_arm': [
+ 'third_party/boringssl-with-bazel/apple-arm/crypto/chacha/chacha-armv4-apple.S',
+ 'third_party/boringssl-with-bazel/apple-arm/crypto/fipsmodule/aesv8-armv7-apple.S',
+ 'third_party/boringssl-with-bazel/apple-arm/crypto/fipsmodule/armv4-mont-apple.S',
+ 'third_party/boringssl-with-bazel/apple-arm/crypto/fipsmodule/bsaes-armv7-apple.S',
+ 'third_party/boringssl-with-bazel/apple-arm/crypto/fipsmodule/ghash-armv4-apple.S',
+ 'third_party/boringssl-with-bazel/apple-arm/crypto/fipsmodule/ghashv8-armv7-apple.S',
+ 'third_party/boringssl-with-bazel/apple-arm/crypto/fipsmodule/sha1-armv4-large-apple.S',
+ 'third_party/boringssl-with-bazel/apple-arm/crypto/fipsmodule/sha256-armv4-apple.S',
+ 'third_party/boringssl-with-bazel/apple-arm/crypto/fipsmodule/sha512-armv4-apple.S',
+ 'third_party/boringssl-with-bazel/apple-arm/crypto/fipsmodule/vpaes-armv7-apple.S',
+ 'third_party/boringssl-with-bazel/apple-arm/crypto/test/trampoline-armv4-apple.S',
+ ],
+ 'crypto_apple_x86': [
+ 'third_party/boringssl-with-bazel/apple-x86/crypto/chacha/chacha-x86-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86/crypto/fipsmodule/aesni-x86-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86/crypto/fipsmodule/bn-586-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86/crypto/fipsmodule/co-586-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86/crypto/fipsmodule/ghash-ssse3-x86-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86/crypto/fipsmodule/ghash-x86-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86/crypto/fipsmodule/md5-586-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86/crypto/fipsmodule/sha1-586-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86/crypto/fipsmodule/sha256-586-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86/crypto/fipsmodule/sha512-586-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86/crypto/fipsmodule/vpaes-x86-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86/crypto/fipsmodule/x86-mont-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86/crypto/test/trampoline-x86-apple.S',
+ ],
+ 'crypto_apple_x86_64': [
+ 'third_party/boringssl-with-bazel/apple-x86_64/crypto/chacha/chacha-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86_64/crypto/fipsmodule/aesni-gcm-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86_64/crypto/fipsmodule/aesni-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86_64/crypto/fipsmodule/ghash-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86_64/crypto/fipsmodule/md5-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86_64/crypto/fipsmodule/p256-x86_64-asm-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86_64/crypto/fipsmodule/rdrand-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86_64/crypto/fipsmodule/rsaz-avx2-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86_64/crypto/fipsmodule/sha1-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86_64/crypto/fipsmodule/sha256-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86_64/crypto/fipsmodule/sha512-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86_64/crypto/fipsmodule/vpaes-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86_64/crypto/fipsmodule/x86_64-mont-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86_64/crypto/fipsmodule/x86_64-mont5-apple.S',
+ 'third_party/boringssl-with-bazel/apple-x86_64/crypto/test/trampoline-x86_64-apple.S',
],
'crypto_linux_aarch64': [
- 'third_party/boringssl-with-bazel/linux-aarch64/crypto/chacha/chacha-armv8.S',
- 'third_party/boringssl-with-bazel/linux-aarch64/crypto/fipsmodule/aesv8-armx64.S',
- 'third_party/boringssl-with-bazel/linux-aarch64/crypto/fipsmodule/armv8-mont.S',
- 'third_party/boringssl-with-bazel/linux-aarch64/crypto/fipsmodule/ghash-neon-armv8.S',
- 'third_party/boringssl-with-bazel/linux-aarch64/crypto/fipsmodule/ghashv8-armx64.S',
- 'third_party/boringssl-with-bazel/linux-aarch64/crypto/fipsmodule/sha1-armv8.S',
- 'third_party/boringssl-with-bazel/linux-aarch64/crypto/fipsmodule/sha256-armv8.S',
- 'third_party/boringssl-with-bazel/linux-aarch64/crypto/fipsmodule/sha512-armv8.S',
- 'third_party/boringssl-with-bazel/linux-aarch64/crypto/fipsmodule/vpaes-armv8.S',
- 'third_party/boringssl-with-bazel/linux-aarch64/crypto/test/trampoline-armv8.S',
+ 'third_party/boringssl-with-bazel/linux-aarch64/crypto/chacha/chacha-armv8-linux.S',
+ 'third_party/boringssl-with-bazel/linux-aarch64/crypto/cipher_extra/chacha20_poly1305_armv8-linux.S',
+ 'third_party/boringssl-with-bazel/linux-aarch64/crypto/fipsmodule/aesv8-armv8-linux.S',
+ 'third_party/boringssl-with-bazel/linux-aarch64/crypto/fipsmodule/aesv8-gcm-armv8-linux.S',
+ 'third_party/boringssl-with-bazel/linux-aarch64/crypto/fipsmodule/armv8-mont-linux.S',
+ 'third_party/boringssl-with-bazel/linux-aarch64/crypto/fipsmodule/bn-armv8-linux.S',
+ 'third_party/boringssl-with-bazel/linux-aarch64/crypto/fipsmodule/ghash-neon-armv8-linux.S',
+ 'third_party/boringssl-with-bazel/linux-aarch64/crypto/fipsmodule/ghashv8-armv8-linux.S',
+ 'third_party/boringssl-with-bazel/linux-aarch64/crypto/fipsmodule/p256-armv8-asm-linux.S',
+ 'third_party/boringssl-with-bazel/linux-aarch64/crypto/fipsmodule/p256_beeu-armv8-asm-linux.S',
+ 'third_party/boringssl-with-bazel/linux-aarch64/crypto/fipsmodule/sha1-armv8-linux.S',
+ 'third_party/boringssl-with-bazel/linux-aarch64/crypto/fipsmodule/sha256-armv8-linux.S',
+ 'third_party/boringssl-with-bazel/linux-aarch64/crypto/fipsmodule/sha512-armv8-linux.S',
+ 'third_party/boringssl-with-bazel/linux-aarch64/crypto/fipsmodule/vpaes-armv8-linux.S',
+ 'third_party/boringssl-with-bazel/linux-aarch64/crypto/test/trampoline-armv8-linux.S',
],
'crypto_linux_arm': [
- 'third_party/boringssl-with-bazel/linux-arm/crypto/chacha/chacha-armv4.S',
- 'third_party/boringssl-with-bazel/linux-arm/crypto/fipsmodule/aesv8-armx32.S',
- 'third_party/boringssl-with-bazel/linux-arm/crypto/fipsmodule/armv4-mont.S',
- 'third_party/boringssl-with-bazel/linux-arm/crypto/fipsmodule/bsaes-armv7.S',
- 'third_party/boringssl-with-bazel/linux-arm/crypto/fipsmodule/ghash-armv4.S',
- 'third_party/boringssl-with-bazel/linux-arm/crypto/fipsmodule/ghashv8-armx32.S',
- 'third_party/boringssl-with-bazel/linux-arm/crypto/fipsmodule/sha1-armv4-large.S',
- 'third_party/boringssl-with-bazel/linux-arm/crypto/fipsmodule/sha256-armv4.S',
- 'third_party/boringssl-with-bazel/linux-arm/crypto/fipsmodule/sha512-armv4.S',
- 'third_party/boringssl-with-bazel/linux-arm/crypto/fipsmodule/vpaes-armv7.S',
- 'third_party/boringssl-with-bazel/linux-arm/crypto/test/trampoline-armv4.S',
+ 'third_party/boringssl-with-bazel/linux-arm/crypto/chacha/chacha-armv4-linux.S',
+ 'third_party/boringssl-with-bazel/linux-arm/crypto/fipsmodule/aesv8-armv7-linux.S',
+ 'third_party/boringssl-with-bazel/linux-arm/crypto/fipsmodule/armv4-mont-linux.S',
+ 'third_party/boringssl-with-bazel/linux-arm/crypto/fipsmodule/bsaes-armv7-linux.S',
+ 'third_party/boringssl-with-bazel/linux-arm/crypto/fipsmodule/ghash-armv4-linux.S',
+ 'third_party/boringssl-with-bazel/linux-arm/crypto/fipsmodule/ghashv8-armv7-linux.S',
+ 'third_party/boringssl-with-bazel/linux-arm/crypto/fipsmodule/sha1-armv4-large-linux.S',
+ 'third_party/boringssl-with-bazel/linux-arm/crypto/fipsmodule/sha256-armv4-linux.S',
+ 'third_party/boringssl-with-bazel/linux-arm/crypto/fipsmodule/sha512-armv4-linux.S',
+ 'third_party/boringssl-with-bazel/linux-arm/crypto/fipsmodule/vpaes-armv7-linux.S',
+ 'third_party/boringssl-with-bazel/linux-arm/crypto/test/trampoline-armv4-linux.S',
'third_party/boringssl-with-bazel/src/crypto/curve25519/asm/x25519-asm-arm.S',
'third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm_asm.S',
],
- 'crypto_linux_ppc64le': [
- 'third_party/boringssl-with-bazel/linux-ppc64le/crypto/fipsmodule/aesp8-ppc.S',
- 'third_party/boringssl-with-bazel/linux-ppc64le/crypto/fipsmodule/ghashp8-ppc.S',
- 'third_party/boringssl-with-bazel/linux-ppc64le/crypto/test/trampoline-ppc.S',
- ],
'crypto_linux_x86': [
- 'third_party/boringssl-with-bazel/linux-x86/crypto/chacha/chacha-x86.S',
- 'third_party/boringssl-with-bazel/linux-x86/crypto/fipsmodule/aesni-x86.S',
- 'third_party/boringssl-with-bazel/linux-x86/crypto/fipsmodule/bn-586.S',
- 'third_party/boringssl-with-bazel/linux-x86/crypto/fipsmodule/co-586.S',
- 'third_party/boringssl-with-bazel/linux-x86/crypto/fipsmodule/ghash-ssse3-x86.S',
- 'third_party/boringssl-with-bazel/linux-x86/crypto/fipsmodule/ghash-x86.S',
- 'third_party/boringssl-with-bazel/linux-x86/crypto/fipsmodule/md5-586.S',
- 'third_party/boringssl-with-bazel/linux-x86/crypto/fipsmodule/sha1-586.S',
- 'third_party/boringssl-with-bazel/linux-x86/crypto/fipsmodule/sha256-586.S',
- 'third_party/boringssl-with-bazel/linux-x86/crypto/fipsmodule/sha512-586.S',
- 'third_party/boringssl-with-bazel/linux-x86/crypto/fipsmodule/vpaes-x86.S',
- 'third_party/boringssl-with-bazel/linux-x86/crypto/fipsmodule/x86-mont.S',
- 'third_party/boringssl-with-bazel/linux-x86/crypto/test/trampoline-x86.S',
+ 'third_party/boringssl-with-bazel/linux-x86/crypto/chacha/chacha-x86-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86/crypto/fipsmodule/aesni-x86-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86/crypto/fipsmodule/bn-586-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86/crypto/fipsmodule/co-586-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86/crypto/fipsmodule/ghash-ssse3-x86-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86/crypto/fipsmodule/ghash-x86-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86/crypto/fipsmodule/md5-586-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86/crypto/fipsmodule/sha1-586-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86/crypto/fipsmodule/sha256-586-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86/crypto/fipsmodule/sha512-586-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86/crypto/fipsmodule/vpaes-x86-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86/crypto/fipsmodule/x86-mont-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86/crypto/test/trampoline-x86-linux.S',
],
'crypto_linux_x86_64': [
- 'third_party/boringssl-with-bazel/linux-x86_64/crypto/chacha/chacha-x86_64.S',
- 'third_party/boringssl-with-bazel/linux-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S',
- 'third_party/boringssl-with-bazel/linux-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.S',
- 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S',
- 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/aesni-x86_64.S',
- 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S',
- 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/ghash-x86_64.S',
- 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/md5-x86_64.S',
- 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/p256-x86_64-asm.S',
- 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm.S',
- 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/rdrand-x86_64.S',
- 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/rsaz-avx2.S',
- 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/sha1-x86_64.S',
- 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/sha256-x86_64.S',
- 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/sha512-x86_64.S',
- 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/vpaes-x86_64.S',
- 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/x86_64-mont.S',
- 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/x86_64-mont5.S',
- 'third_party/boringssl-with-bazel/linux-x86_64/crypto/test/trampoline-x86_64.S',
+ 'third_party/boringssl-with-bazel/linux-x86_64/crypto/chacha/chacha-x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/aesni-gcm-x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/aesni-x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/ghash-x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/md5-x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/p256-x86_64-asm-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/rdrand-x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/rsaz-avx2-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/sha1-x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/sha256-x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/sha512-x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/vpaes-x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/x86_64-mont-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/x86_64-mont5-linux.S',
+ 'third_party/boringssl-with-bazel/linux-x86_64/crypto/test/trampoline-x86_64-linux.S',
'third_party/boringssl-with-bazel/src/crypto/hrss/asm/poly_rq_mul.S',
],
- 'crypto_mac_x86': [
- 'third_party/boringssl-with-bazel/mac-x86/crypto/chacha/chacha-x86.S',
- 'third_party/boringssl-with-bazel/mac-x86/crypto/fipsmodule/aesni-x86.S',
- 'third_party/boringssl-with-bazel/mac-x86/crypto/fipsmodule/bn-586.S',
- 'third_party/boringssl-with-bazel/mac-x86/crypto/fipsmodule/co-586.S',
- 'third_party/boringssl-with-bazel/mac-x86/crypto/fipsmodule/ghash-ssse3-x86.S',
- 'third_party/boringssl-with-bazel/mac-x86/crypto/fipsmodule/ghash-x86.S',
- 'third_party/boringssl-with-bazel/mac-x86/crypto/fipsmodule/md5-586.S',
- 'third_party/boringssl-with-bazel/mac-x86/crypto/fipsmodule/sha1-586.S',
- 'third_party/boringssl-with-bazel/mac-x86/crypto/fipsmodule/sha256-586.S',
- 'third_party/boringssl-with-bazel/mac-x86/crypto/fipsmodule/sha512-586.S',
- 'third_party/boringssl-with-bazel/mac-x86/crypto/fipsmodule/vpaes-x86.S',
- 'third_party/boringssl-with-bazel/mac-x86/crypto/fipsmodule/x86-mont.S',
- 'third_party/boringssl-with-bazel/mac-x86/crypto/test/trampoline-x86.S',
- ],
- 'crypto_mac_x86_64': [
- 'third_party/boringssl-with-bazel/mac-x86_64/crypto/chacha/chacha-x86_64.S',
- 'third_party/boringssl-with-bazel/mac-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S',
- 'third_party/boringssl-with-bazel/mac-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.S',
- 'third_party/boringssl-with-bazel/mac-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S',
- 'third_party/boringssl-with-bazel/mac-x86_64/crypto/fipsmodule/aesni-x86_64.S',
- 'third_party/boringssl-with-bazel/mac-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S',
- 'third_party/boringssl-with-bazel/mac-x86_64/crypto/fipsmodule/ghash-x86_64.S',
- 'third_party/boringssl-with-bazel/mac-x86_64/crypto/fipsmodule/md5-x86_64.S',
- 'third_party/boringssl-with-bazel/mac-x86_64/crypto/fipsmodule/p256-x86_64-asm.S',
- 'third_party/boringssl-with-bazel/mac-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm.S',
- 'third_party/boringssl-with-bazel/mac-x86_64/crypto/fipsmodule/rdrand-x86_64.S',
- 'third_party/boringssl-with-bazel/mac-x86_64/crypto/fipsmodule/rsaz-avx2.S',
- 'third_party/boringssl-with-bazel/mac-x86_64/crypto/fipsmodule/sha1-x86_64.S',
- 'third_party/boringssl-with-bazel/mac-x86_64/crypto/fipsmodule/sha256-x86_64.S',
- 'third_party/boringssl-with-bazel/mac-x86_64/crypto/fipsmodule/sha512-x86_64.S',
- 'third_party/boringssl-with-bazel/mac-x86_64/crypto/fipsmodule/vpaes-x86_64.S',
- 'third_party/boringssl-with-bazel/mac-x86_64/crypto/fipsmodule/x86_64-mont.S',
- 'third_party/boringssl-with-bazel/mac-x86_64/crypto/fipsmodule/x86_64-mont5.S',
- 'third_party/boringssl-with-bazel/mac-x86_64/crypto/test/trampoline-x86_64.S',
- ],
'crypto_win_aarch64': [
- 'third_party/boringssl-with-bazel/win-aarch64/crypto/chacha/chacha-armv8.S',
- 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/aesv8-armx64.S',
- 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/armv8-mont.S',
- 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/ghash-neon-armv8.S',
- 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/ghashv8-armx64.S',
- 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/sha1-armv8.S',
- 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/sha256-armv8.S',
- 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/sha512-armv8.S',
- 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/vpaes-armv8.S',
- 'third_party/boringssl-with-bazel/win-aarch64/crypto/test/trampoline-armv8.S',
+ 'third_party/boringssl-with-bazel/win-aarch64/crypto/chacha/chacha-armv8-win.S',
+ 'third_party/boringssl-with-bazel/win-aarch64/crypto/cipher_extra/chacha20_poly1305_armv8-win.S',
+ 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/aesv8-armv8-win.S',
+ 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/aesv8-gcm-armv8-win.S',
+ 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/armv8-mont-win.S',
+ 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/bn-armv8-win.S',
+ 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/ghash-neon-armv8-win.S',
+ 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/ghashv8-armv8-win.S',
+ 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/p256-armv8-asm-win.S',
+ 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/p256_beeu-armv8-asm-win.S',
+ 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/sha1-armv8-win.S',
+ 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/sha256-armv8-win.S',
+ 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/sha512-armv8-win.S',
+ 'third_party/boringssl-with-bazel/win-aarch64/crypto/fipsmodule/vpaes-armv8-win.S',
+ 'third_party/boringssl-with-bazel/win-aarch64/crypto/test/trampoline-armv8-win.S',
],
'crypto_win_x86': [
- 'third_party/boringssl-with-bazel/win-x86/crypto/chacha/chacha-x86.asm',
- 'third_party/boringssl-with-bazel/win-x86/crypto/fipsmodule/aesni-x86.asm',
- 'third_party/boringssl-with-bazel/win-x86/crypto/fipsmodule/bn-586.asm',
- 'third_party/boringssl-with-bazel/win-x86/crypto/fipsmodule/co-586.asm',
- 'third_party/boringssl-with-bazel/win-x86/crypto/fipsmodule/ghash-ssse3-x86.asm',
- 'third_party/boringssl-with-bazel/win-x86/crypto/fipsmodule/ghash-x86.asm',
- 'third_party/boringssl-with-bazel/win-x86/crypto/fipsmodule/md5-586.asm',
- 'third_party/boringssl-with-bazel/win-x86/crypto/fipsmodule/sha1-586.asm',
- 'third_party/boringssl-with-bazel/win-x86/crypto/fipsmodule/sha256-586.asm',
- 'third_party/boringssl-with-bazel/win-x86/crypto/fipsmodule/sha512-586.asm',
- 'third_party/boringssl-with-bazel/win-x86/crypto/fipsmodule/vpaes-x86.asm',
- 'third_party/boringssl-with-bazel/win-x86/crypto/fipsmodule/x86-mont.asm',
- 'third_party/boringssl-with-bazel/win-x86/crypto/test/trampoline-x86.asm',
+ 'third_party/boringssl-with-bazel/win-x86/crypto/chacha/chacha-x86-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86/crypto/fipsmodule/aesni-x86-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86/crypto/fipsmodule/bn-586-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86/crypto/fipsmodule/co-586-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86/crypto/fipsmodule/ghash-ssse3-x86-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86/crypto/fipsmodule/ghash-x86-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86/crypto/fipsmodule/md5-586-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86/crypto/fipsmodule/sha1-586-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86/crypto/fipsmodule/sha256-586-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86/crypto/fipsmodule/sha512-586-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86/crypto/fipsmodule/vpaes-x86-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86/crypto/fipsmodule/x86-mont-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86/crypto/test/trampoline-x86-win.asm',
],
'crypto_win_x86_64': [
- 'third_party/boringssl-with-bazel/win-x86_64/crypto/chacha/chacha-x86_64.asm',
- 'third_party/boringssl-with-bazel/win-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.asm',
- 'third_party/boringssl-with-bazel/win-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.asm',
- 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.asm',
- 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/aesni-x86_64.asm',
- 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.asm',
- 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/ghash-x86_64.asm',
- 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/md5-x86_64.asm',
- 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/p256-x86_64-asm.asm',
- 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm.asm',
- 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/rdrand-x86_64.asm',
- 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/rsaz-avx2.asm',
- 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/sha1-x86_64.asm',
- 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/sha256-x86_64.asm',
- 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/sha512-x86_64.asm',
- 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/vpaes-x86_64.asm',
- 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/x86_64-mont.asm',
- 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/x86_64-mont5.asm',
- 'third_party/boringssl-with-bazel/win-x86_64/crypto/test/trampoline-x86_64.asm',
+ 'third_party/boringssl-with-bazel/win-x86_64/crypto/chacha/chacha-x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/aesni-gcm-x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/aesni-x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/ghash-x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/md5-x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/p256-x86_64-asm-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/rdrand-x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/rsaz-avx2-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/sha1-x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/sha256-x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/sha512-x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/vpaes-x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/x86_64-mont-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86_64/crypto/fipsmodule/x86_64-mont5-win.asm',
+ 'third_party/boringssl-with-bazel/win-x86_64/crypto/test/trampoline-x86_64-win.asm',
],
}
diff --git a/templates/gRPC-Core.podspec.template b/templates/gRPC-Core.podspec.template
index 722f42cc199..048936f9136 100644
--- a/templates/gRPC-Core.podspec.template
+++ b/templates/gRPC-Core.podspec.template
@@ -198,7 +198,7 @@
ss.header_mappings_dir = '.'
ss.libraries = 'z'
ss.dependency "#{s.name}/Interface", version
- ss.dependency 'BoringSSL-GRPC', '0.0.25'
+ ss.dependency 'BoringSSL-GRPC', '0.0.26'
% for abseil_spec in grpc_abseil_specs:
ss.dependency '${abseil_spec}', abseil_version
% endfor
diff --git a/templates/src/objective-c/BoringSSL-GRPC.podspec.template b/templates/src/objective-c/BoringSSL-GRPC.podspec.template
index 6fe70a1af67..1b915bbdd9f 100644
--- a/templates/src/objective-c/BoringSSL-GRPC.podspec.template
+++ b/templates/src/objective-c/BoringSSL-GRPC.podspec.template
@@ -69,7 +69,7 @@
Pod::Spec.new do |s|
s.name = 'BoringSSL-GRPC'
- version = '0.0.25'
+ version = '0.0.26'
s.version = version
s.summary = 'BoringSSL is a fork of OpenSSL that is designed to meet Google\'s needs.'
# Adapted from the homepage:
@@ -176,6 +176,11 @@
ss.dependency "#{s.name}/Interface", version
end
+ s.pod_target_xcconfig = {
+ # Do not let src/include/openssl/time.h override system API
+ 'USE_HEADERMAP' => 'NO',
+ }
+
s.prepare_command = <<-END_OF_COMMAND
set -e
diff --git a/third_party/boringssl-with-bazel b/third_party/boringssl-with-bazel
index 6195bf82421..85db207a482 160000
--- a/third_party/boringssl-with-bazel
+++ b/third_party/boringssl-with-bazel
@@ -1 +1 @@
-Subproject commit 6195bf8242156c9a2fa75702eee058f91b86a88b
+Subproject commit 85db207a482ae4f91f83a6a70d432b9121e48d2d
diff --git a/tools/run_tests/sanity/check_submodules.sh b/tools/run_tests/sanity/check_submodules.sh
index 3a7bef0c1d3..e7169a9676c 100755
--- a/tools/run_tests/sanity/check_submodules.sh
+++ b/tools/run_tests/sanity/check_submodules.sh
@@ -28,7 +28,7 @@ cat <"$want_submodules"
third_party/abseil-cpp 78be63686ba732b25052be15f8d6dee891c05749
third_party/benchmark 361e8d1cfe0c6c36d30b39f1b61302ece5507320
third_party/bloaty 60209eb1ccc34d5deefb002d1b7f37545204f7f2
-third_party/boringssl-with-bazel 6195bf8242156c9a2fa75702eee058f91b86a88b
+third_party/boringssl-with-bazel 85db207a482ae4f91f83a6a70d432b9121e48d2d
third_party/cares/cares 6654436a307a5a686b008c1d4c93b0085da6e6d8
third_party/envoy-api 5962b1204f4b7b0a2ed7622d0149727f602ae74c
third_party/googleapis 2f9af297c84c55c8b871ba4495e01ade42476c92