From 9c45499dfc6c1127384a942f68abef2ef02a9631 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Thu, 2 Mar 2023 10:18:00 +0100 Subject: [PATCH] Update third_party/boringssl-with-bazel (#32492) Upgrade boringssl to the latest "master-with-bazel" - use the `'USE_HEADERMAP' => 'NO'` fix for ObjC - update the key for asm optimizations on mac/apple in python's setup.py This PR depends on monterey fixes here: https://github.com/grpc/grpc/pull/32493 and the boringssl's build simplification https://boringssl-review.googlesource.com/c/boringssl/+/56465. --------- Co-authored-by: Hannah Shi --- Makefile | 37 +- bazel/grpc_deps.bzl | 8 +- config.m4 | 40 +- config.w32 | 40 +- gRPC-Core.podspec | 2 +- grpc.gemspec | 62 +- grpc.gyp | 38 +- package.xml | 62 +- setup.py | 4 +- src/boringssl/boringssl_prefix_symbols.h | 211 ++-- src/objective-c/BoringSSL-GRPC.podspec | 1011 +++++++++-------- src/python/grpcio/grpc_core_dependencies.py | 365 +++--- templates/gRPC-Core.podspec.template | 2 +- .../BoringSSL-GRPC.podspec.template | 7 +- third_party/boringssl-with-bazel | 2 +- tools/run_tests/sanity/check_submodules.sh | 2 +- 16 files changed, 974 insertions(+), 919 deletions(-) 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