diff --git a/BoringSSL-Package.swift b/BoringSSL-Package.swift
index 363c62433ef..8a4f6a6d639 100644
--- a/BoringSSL-Package.swift
+++ b/BoringSSL-Package.swift
@@ -26,7 +26,6 @@ let package = Package(
],
sources: [
- "err_data.c",
"src/crypto/asn1/a_bitstr.c",
"src/crypto/asn1/a_bool.c",
"src/crypto/asn1/a_d2i_fp.c",
@@ -117,6 +116,8 @@ let package = Package(
"src/crypto/evp/evp.c",
"src/crypto/evp/evp_asn1.c",
"src/crypto/evp/evp_ctx.c",
+ "src/crypto/evp/p_dh.c",
+ "src/crypto/evp/p_dh_asn1.c",
"src/crypto/evp/p_dsa_asn1.c",
"src/crypto/evp/p_ec.c",
"src/crypto/evp/p_ec_asn1.c",
@@ -258,6 +259,7 @@ let package = Package(
"src/crypto/x509/x_val.c",
"src/crypto/x509/x_x509.c",
"src/crypto/x509/x_x509a.c",
+ "src/gen/crypto/err_data.c",
"src/ssl/bio_ssl.cc",
"src/ssl/d1_both.cc",
"src/ssl/d1_lib.cc",
@@ -279,6 +281,7 @@ let package = Package(
"src/ssl/ssl_buffer.cc",
"src/ssl/ssl_cert.cc",
"src/ssl/ssl_cipher.cc",
+ "src/ssl/ssl_credential.cc",
"src/ssl/ssl_file.cc",
"src/ssl/ssl_key_share.cc",
"src/ssl/ssl_lib.cc",
diff --git a/Makefile b/Makefile
index b0dde77bc5b..fbbc677801c 100644
--- a/Makefile
+++ b/Makefile
@@ -1856,7 +1856,6 @@ endif
# deps: []
# transitive_deps: []
LIBBORINGSSL_SRC = \
- third_party/boringssl-with-bazel/err_data.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c \
@@ -1947,6 +1946,8 @@ LIBBORINGSSL_SRC = \
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 \
+ third_party/boringssl-with-bazel/src/crypto/evp/p_dh.c \
+ third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c \
@@ -2088,6 +2089,7 @@ 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/gen/crypto/err_data.c \
third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc \
third_party/boringssl-with-bazel/src/ssl/d1_both.cc \
third_party/boringssl-with-bazel/src/ssl/d1_lib.cc \
@@ -2109,6 +2111,7 @@ LIBBORINGSSL_SRC = \
third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc \
+ third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_file.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc \
diff --git a/bazel/grpc_deps.bzl b/bazel/grpc_deps.bzl
index 328c2a45c72..d0099ab6163 100644
--- a/bazel/grpc_deps.bzl
+++ b/bazel/grpc_deps.bzl
@@ -190,11 +190,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 = "06ba43ff1825c8a9a45dae7f85e532153a531707f6a3e56be1e892fd2d3b75f6",
- strip_prefix = "boringssl-e14d29f68c2d1b02e06f10c83b9b8ea4d061f8df",
+ sha256 = "c4cccc0ea8b149d2853da77254655c0d5a5739dd4bbdff9a5b586c06a627de6c",
+ strip_prefix = "boringssl-5a2bca2124800f2861263959b72bc35cdf18949b",
urls = [
- "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/e14d29f68c2d1b02e06f10c83b9b8ea4d061f8df.tar.gz",
- "https://github.com/google/boringssl/archive/e14d29f68c2d1b02e06f10c83b9b8ea4d061f8df.tar.gz",
+ "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/5a2bca2124800f2861263959b72bc35cdf18949b.tar.gz",
+ "https://github.com/google/boringssl/archive/5a2bca2124800f2861263959b72bc35cdf18949b.tar.gz",
],
)
diff --git a/config.m4 b/config.m4
index 565cd35e55e..b6a12477bb3 100644
--- a/config.m4
+++ b/config.m4
@@ -1034,7 +1034,6 @@ if test "$PHP_GRPC" != "no"; then
third_party/address_sorting/address_sorting.c \
third_party/address_sorting/address_sorting_posix.c \
third_party/address_sorting/address_sorting_windows.c \
- third_party/boringssl-with-bazel/err_data.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c \
@@ -1125,6 +1124,8 @@ if test "$PHP_GRPC" != "no"; then
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 \
+ third_party/boringssl-with-bazel/src/crypto/evp/p_dh.c \
+ third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c \
@@ -1266,6 +1267,7 @@ 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/gen/crypto/err_data.c \
third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc \
third_party/boringssl-with-bazel/src/ssl/d1_both.cc \
third_party/boringssl-with-bazel/src/ssl/d1_lib.cc \
@@ -1287,6 +1289,7 @@ if test "$PHP_GRPC" != "no"; then
third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc \
+ third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_file.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc \
@@ -1633,7 +1636,6 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/time/internal/cctz/src)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/types)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/address_sorting)
- PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/asn1)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/base64)
@@ -1676,6 +1678,7 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/stack)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/trust_token)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/x509)
+ PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/gen/crypto)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/ssl)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/re2/re2)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/re2/util)
diff --git a/config.w32 b/config.w32
index bc9c4296f2d..2c98626829e 100644
--- a/config.w32
+++ b/config.w32
@@ -999,7 +999,6 @@ if (PHP_GRPC != "no") {
"third_party\\address_sorting\\address_sorting.c " +
"third_party\\address_sorting\\address_sorting_posix.c " +
"third_party\\address_sorting\\address_sorting_windows.c " +
- "third_party\\boringssl-with-bazel\\err_data.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_bitstr.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_bool.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_d2i_fp.c " +
@@ -1090,6 +1089,8 @@ if (PHP_GRPC != "no") {
"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 " +
+ "third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_dh.c " +
+ "third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_dh_asn1.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_dsa_asn1.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_ec.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_ec_asn1.c " +
@@ -1231,6 +1232,7 @@ 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\\gen\\crypto\\err_data.c " +
"third_party\\boringssl-with-bazel\\src\\ssl\\bio_ssl.cc " +
"third_party\\boringssl-with-bazel\\src\\ssl\\d1_both.cc " +
"third_party\\boringssl-with-bazel\\src\\ssl\\d1_lib.cc " +
@@ -1252,6 +1254,7 @@ if (PHP_GRPC != "no") {
"third_party\\boringssl-with-bazel\\src\\ssl\\ssl_buffer.cc " +
"third_party\\boringssl-with-bazel\\src\\ssl\\ssl_cert.cc " +
"third_party\\boringssl-with-bazel\\src\\ssl\\ssl_cipher.cc " +
+ "third_party\\boringssl-with-bazel\\src\\ssl\\ssl_credential.cc " +
"third_party\\boringssl-with-bazel\\src\\ssl\\ssl_file.cc " +
"third_party\\boringssl-with-bazel\\src\\ssl\\ssl_key_share.cc " +
"third_party\\boringssl-with-bazel\\src\\ssl\\ssl_lib.cc " +
@@ -1827,6 +1830,8 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\stack");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\trust_token");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\x509");
+ FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\gen");
+ FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\gen\\crypto");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\ssl");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\re2");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\re2\\re2");
diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec
index 7ba5826a901..03b7c558794 100644
--- a/gRPC-Core.podspec
+++ b/gRPC-Core.podspec
@@ -197,7 +197,7 @@ Pod::Spec.new do |s|
ss.libraries = 'z'
ss.dependency "#{s.name}/Interface", version
ss.dependency "#{s.name}/Privacy", version
- ss.dependency 'BoringSSL-GRPC', '0.0.33'
+ ss.dependency 'BoringSSL-GRPC', '0.0.34'
ss.dependency 'abseil/algorithm/container', abseil_version
ss.dependency 'abseil/base/base', abseil_version
ss.dependency 'abseil/base/config', abseil_version
diff --git a/grpc.gemspec b/grpc.gemspec
index b2dd04417c3..bd4fc1e426e 100644
--- a/grpc.gemspec
+++ b/grpc.gemspec
@@ -2450,7 +2450,6 @@ Gem::Specification.new do |s|
s.files += %w( third_party/address_sorting/address_sorting_posix.c )
s.files += %w( third_party/address_sorting/address_sorting_windows.c )
s.files += %w( third_party/address_sorting/include/address_sorting/address_sorting.h )
- s.files += %w( third_party/boringssl-with-bazel/err_data.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c )
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 )
@@ -2556,6 +2555,8 @@ Gem::Specification.new do |s|
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 )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/internal.h )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_dh.c )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c )
@@ -2726,7 +2727,6 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/address.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/fors.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/fors.h )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/internal.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/merkle.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/merkle.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/params.h )
@@ -2818,6 +2818,7 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_val.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c )
+ s.files += %w( third_party/boringssl-with-bazel/src/gen/crypto/err_data.c )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/aead.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/aes.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h )
@@ -2858,13 +2859,14 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/evp.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/evp_errors.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/ex_data.h )
+ s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/experimental/kyber.h )
+ s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/experimental/spx.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/hkdf.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/hmac.h )
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/kyber.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 )
@@ -2880,8 +2882,6 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pkcs12.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h )
- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pki/certificate.h )
- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pki/signature_verify_cache.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/poly1305.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pool.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/posix_time.h )
@@ -2930,6 +2930,7 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc )
s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc )
s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc )
+ s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc )
s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_file.cc )
s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc )
s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc )
diff --git a/package.xml b/package.xml
index 3c55a9ccc9a..50eb12649b2 100644
--- a/package.xml
+++ b/package.xml
@@ -2454,7 +2454,6 @@
-
@@ -2560,6 +2559,8 @@
+
+
@@ -2730,7 +2731,6 @@
-
@@ -2822,6 +2822,7 @@
+
@@ -2862,13 +2863,14 @@
+
+
-
@@ -2884,8 +2886,6 @@
-
-
@@ -2934,6 +2934,7 @@
+
diff --git a/src/boringssl/boringssl_prefix_symbols.h b/src/boringssl/boringssl_prefix_symbols.h
index 827f1b0ed1c..3255f889966 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: e14d29f68c2d1b02e06f10c83b9b8ea4d061f8df
+// generated by generate_boringssl_prefix_header.sh on BoringSSL commit: 5a2bca2124800f2861263959b72bc35cdf18949b
// Copyright (c) 2018, Google Inc.
//
@@ -21,6 +21,9 @@
#define BIO_f_ssl BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BIO_f_ssl)
#define BIO_set_ssl BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BIO_set_ssl)
+#define CBS_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_data)
+#define CBS_init BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_init)
+#define CBS_len BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_len)
#define DTLS_client_method BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DTLS_client_method)
#define DTLS_method BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DTLS_method)
#define DTLS_server_method BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DTLS_server_method)
@@ -66,8 +69,23 @@
#define SSL_COMP_get_compression_methods BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_COMP_get_compression_methods)
#define SSL_COMP_get_id BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_COMP_get_id)
#define SSL_COMP_get_name BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_COMP_get_name)
+#define SSL_CREDENTIAL_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_free)
+#define SSL_CREDENTIAL_get_ex_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_get_ex_data)
+#define SSL_CREDENTIAL_get_ex_new_index BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_get_ex_new_index)
+#define SSL_CREDENTIAL_new_delegated BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_new_delegated)
+#define SSL_CREDENTIAL_new_x509 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_new_x509)
+#define SSL_CREDENTIAL_set1_cert_chain BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_set1_cert_chain)
+#define SSL_CREDENTIAL_set1_delegated_credential BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_set1_delegated_credential)
+#define SSL_CREDENTIAL_set1_ocsp_response BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_set1_ocsp_response)
+#define SSL_CREDENTIAL_set1_private_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_set1_private_key)
+#define SSL_CREDENTIAL_set1_signed_cert_timestamp_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_set1_signed_cert_timestamp_list)
+#define SSL_CREDENTIAL_set1_signing_algorithm_prefs BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_set1_signing_algorithm_prefs)
+#define SSL_CREDENTIAL_set_ex_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_set_ex_data)
+#define SSL_CREDENTIAL_set_private_key_method BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_set_private_key_method)
+#define SSL_CREDENTIAL_up_ref BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_up_ref)
#define SSL_CTX_add0_chain_cert BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_add0_chain_cert)
#define SSL_CTX_add1_chain_cert BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_add1_chain_cert)
+#define SSL_CTX_add1_credential BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_add1_credential)
#define SSL_CTX_add_cert_compression_alg BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_add_cert_compression_alg)
#define SSL_CTX_add_client_CA BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_add_client_CA)
#define SSL_CTX_add_extra_chain_cert BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_add_extra_chain_cert)
@@ -282,6 +300,7 @@
#define SSL_accept BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_accept)
#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_add1_credential BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_add1_credential)
#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)
@@ -301,7 +320,6 @@
#define SSL_clear_options BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_clear_options)
#define SSL_connect BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_connect)
#define SSL_cutthrough_complete BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_cutthrough_complete)
-#define SSL_delegated_credential_used BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_delegated_credential_used)
#define SSL_do_handshake BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_do_handshake)
#define SSL_dup_CA_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_dup_CA_list)
#define SSL_early_callback_ctx_extension_get BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_early_callback_ctx_extension_get)
@@ -328,6 +346,7 @@
#define SSL_get0_peer_certificates BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get0_peer_certificates)
#define SSL_get0_peer_delegation_algorithms BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get0_peer_delegation_algorithms)
#define SSL_get0_peer_verify_algorithms BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get0_peer_verify_algorithms)
+#define SSL_get0_selected_credential BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get0_selected_credential)
#define SSL_get0_server_requested_CAs BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get0_server_requested_CAs)
#define SSL_get0_session_id_context BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get0_session_id_context)
#define SSL_get0_signed_cert_timestamp_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get0_signed_cert_timestamp_list)
@@ -457,7 +476,6 @@
#define SSL_set1_chain BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set1_chain)
#define SSL_set1_curves BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set1_curves)
#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_group_ids BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set1_group_ids)
#define SSL_set1_groups BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set1_groups)
@@ -475,6 +493,8 @@
#define SSL_set_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_bio)
#define SSL_set_cert_cb BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_cert_cb)
#define SSL_set_chain_and_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_chain_and_key)
+#define SSL_set_check_client_certificate_type BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_check_client_certificate_type)
+#define SSL_set_check_ecdsa_curve BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_check_ecdsa_curve)
#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)
@@ -582,6 +602,7 @@
#define sk_CRYPTO_BUFFER_deep_copy BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_CRYPTO_BUFFER_deep_copy)
#define sk_CRYPTO_BUFFER_new_null BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_CRYPTO_BUFFER_new_null)
#define sk_CRYPTO_BUFFER_num BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_CRYPTO_BUFFER_num)
+#define sk_CRYPTO_BUFFER_pop BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_CRYPTO_BUFFER_pop)
#define sk_CRYPTO_BUFFER_push BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_CRYPTO_BUFFER_push)
#define sk_CRYPTO_BUFFER_set BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_CRYPTO_BUFFER_set)
#define sk_CRYPTO_BUFFER_value BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_CRYPTO_BUFFER_value)
@@ -1118,7 +1139,6 @@
#define CBS_asn1_oid_to_text BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_asn1_oid_to_text)
#define CBS_contains_zero_byte BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_contains_zero_byte)
#define CBS_copy_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_copy_bytes)
-#define CBS_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_data)
#define CBS_get_any_asn1 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_get_any_asn1)
#define CBS_get_any_asn1_element BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_get_any_asn1_element)
#define CBS_get_any_ber_asn1_element BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_get_any_ber_asn1_element)
@@ -1151,12 +1171,10 @@
#define CBS_get_until_first BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_get_until_first)
#define CBS_get_utf32_be BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_get_utf32_be)
#define CBS_get_utf8 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_get_utf8)
-#define CBS_init BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_init)
#define CBS_is_unsigned_asn1_integer BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_is_unsigned_asn1_integer)
#define CBS_is_valid_asn1_bitstring BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_is_valid_asn1_bitstring)
#define CBS_is_valid_asn1_integer BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_is_valid_asn1_integer)
#define CBS_is_valid_asn1_oid BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_is_valid_asn1_oid)
-#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)
@@ -1231,7 +1249,7 @@
#define CRYPTO_get_dynlock_destroy_callback BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_get_dynlock_destroy_callback)
#define CRYPTO_get_dynlock_lock_callback BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_get_dynlock_lock_callback)
#define CRYPTO_get_ex_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_get_ex_data)
-#define CRYPTO_get_ex_new_index BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_get_ex_new_index)
+#define CRYPTO_get_ex_new_index_ex BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_get_ex_new_index_ex)
#define CRYPTO_get_fork_generation BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_get_fork_generation)
#define CRYPTO_get_lock_name BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_get_lock_name)
#define CRYPTO_get_locking_callback BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_get_locking_callback)
@@ -1517,6 +1535,7 @@
#define ERR_get_error_line_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_get_error_line_data)
#define ERR_get_next_error_library BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_get_next_error_library)
#define ERR_lib_error_string BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_lib_error_string)
+#define ERR_lib_symbol_name BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_lib_symbol_name)
#define ERR_load_BIO_strings BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_load_BIO_strings)
#define ERR_load_ERR_strings BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_load_ERR_strings)
#define ERR_load_RAND_strings BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_load_RAND_strings)
@@ -1533,6 +1552,7 @@
#define ERR_print_errors_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_print_errors_fp)
#define ERR_put_error BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_put_error)
#define ERR_reason_error_string BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_reason_error_string)
+#define ERR_reason_symbol_name BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_reason_symbol_name)
#define ERR_remove_state BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_remove_state)
#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)
@@ -1705,6 +1725,7 @@
#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_dh_pad BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_set_dh_pad)
#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)
@@ -1721,6 +1742,7 @@
#define EVP_PKEY_CTX_set_rsa_pss_saltlen BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_set_rsa_pss_saltlen)
#define EVP_PKEY_CTX_set_signature_md BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_set_signature_md)
#define EVP_PKEY_assign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_assign)
+#define EVP_PKEY_assign_DH BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_assign_DH)
#define EVP_PKEY_assign_DSA BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_assign_DSA)
#define EVP_PKEY_assign_EC_KEY BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_assign_EC_KEY)
#define EVP_PKEY_assign_RSA BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_assign_RSA)
@@ -1762,6 +1784,7 @@
#define EVP_PKEY_print_params BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_print_params)
#define EVP_PKEY_print_private BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_print_private)
#define EVP_PKEY_print_public BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_print_public)
+#define EVP_PKEY_set1_DH BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_set1_DH)
#define EVP_PKEY_set1_DSA BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_set1_DSA)
#define EVP_PKEY_set1_EC_KEY BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_set1_EC_KEY)
#define EVP_PKEY_set1_RSA BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_set1_RSA)
@@ -2342,6 +2365,10 @@
#define SPAKE2_CTX_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SPAKE2_CTX_new)
#define SPAKE2_generate_msg BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SPAKE2_generate_msg)
#define SPAKE2_process_msg BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SPAKE2_process_msg)
+#define SPX_generate_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SPX_generate_key)
+#define SPX_generate_key_from_seed BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SPX_generate_key_from_seed)
+#define SPX_sign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SPX_sign)
+#define SPX_verify BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SPX_verify)
#define SSLeay BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSLeay)
#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)
@@ -2832,45 +2859,6 @@
#define X509v3_get_ext_count BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509v3_get_ext_count)
#define a2i_IPADDRESS BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, a2i_IPADDRESS)
#define a2i_IPADDRESS_NC BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, a2i_IPADDRESS_NC)
-#define abi_test_bad_unwind_temporary BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_bad_unwind_temporary)
-#define abi_test_bad_unwind_wrong_register BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_bad_unwind_wrong_register)
-#define abi_test_clobber_r10 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_r10)
-#define abi_test_clobber_r11 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_r11)
-#define abi_test_clobber_r12 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_r12)
-#define abi_test_clobber_r13 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_r13)
-#define abi_test_clobber_r14 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_r14)
-#define abi_test_clobber_r15 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_r15)
-#define abi_test_clobber_r8 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_r8)
-#define abi_test_clobber_r9 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_r9)
-#define abi_test_clobber_rax BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_rax)
-#define abi_test_clobber_rbp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_rbp)
-#define abi_test_clobber_rbx BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_rbx)
-#define abi_test_clobber_rcx BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_rcx)
-#define abi_test_clobber_rdi BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_rdi)
-#define abi_test_clobber_rdx BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_rdx)
-#define abi_test_clobber_rsi BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_rsi)
-#define abi_test_clobber_xmm0 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm0)
-#define abi_test_clobber_xmm1 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm1)
-#define abi_test_clobber_xmm10 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm10)
-#define abi_test_clobber_xmm11 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm11)
-#define abi_test_clobber_xmm12 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm12)
-#define abi_test_clobber_xmm13 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm13)
-#define abi_test_clobber_xmm14 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm14)
-#define abi_test_clobber_xmm15 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm15)
-#define abi_test_clobber_xmm2 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm2)
-#define abi_test_clobber_xmm3 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm3)
-#define abi_test_clobber_xmm4 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm4)
-#define abi_test_clobber_xmm5 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm5)
-#define abi_test_clobber_xmm6 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm6)
-#define abi_test_clobber_xmm7 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm7)
-#define abi_test_clobber_xmm8 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm8)
-#define abi_test_clobber_xmm9 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm9)
-#define abi_test_get_and_clear_direction_flag BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_get_and_clear_direction_flag)
-#define abi_test_set_direction_flag BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_set_direction_flag)
-#define abi_test_trampoline BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_trampoline)
-#define abi_test_unwind_return BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_unwind_return)
-#define abi_test_unwind_start BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_unwind_start)
-#define abi_test_unwind_stop BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_unwind_stop)
#define aes128gcmsiv_aes_ks BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, aes128gcmsiv_aes_ks)
#define aes128gcmsiv_aes_ks_enc_x1 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, aes128gcmsiv_aes_ks_enc_x1)
#define aes128gcmsiv_dec BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, aes128gcmsiv_dec)
@@ -3018,7 +3006,6 @@
#define chacha20_poly1305_open BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, chacha20_poly1305_open)
#define chacha20_poly1305_seal BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, chacha20_poly1305_seal)
#define crypto_gcm_clmul_enabled BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, crypto_gcm_clmul_enabled)
-#define d2i_ACCESS_DESCRIPTION BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_ACCESS_DESCRIPTION)
#define d2i_ASN1_BIT_STRING BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_ASN1_BIT_STRING)
#define d2i_ASN1_BMPSTRING BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_ASN1_BMPSTRING)
#define d2i_ASN1_BOOLEAN BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_ASN1_BOOLEAN)
@@ -3051,8 +3038,6 @@
#define d2i_DHparams_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_DHparams_bio)
#define d2i_DIRECTORYSTRING BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_DIRECTORYSTRING)
#define d2i_DISPLAYTEXT BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_DISPLAYTEXT)
-#define d2i_DIST_POINT BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_DIST_POINT)
-#define d2i_DIST_POINT_NAME BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_DIST_POINT_NAME)
#define d2i_DSAPrivateKey BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_DSAPrivateKey)
#define d2i_DSAPrivateKey_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_DSAPrivateKey_bio)
#define d2i_DSAPrivateKey_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_DSAPrivateKey_fp)
@@ -3076,7 +3061,6 @@
#define d2i_ISSUING_DIST_POINT BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_ISSUING_DIST_POINT)
#define d2i_NETSCAPE_SPKAC BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_NETSCAPE_SPKAC)
#define d2i_NETSCAPE_SPKI BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_NETSCAPE_SPKI)
-#define d2i_NOTICEREF BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_NOTICEREF)
#define d2i_PKCS12 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_PKCS12)
#define d2i_PKCS12_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_PKCS12_bio)
#define d2i_PKCS12_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_PKCS12_fp)
@@ -3089,8 +3073,6 @@
#define d2i_PKCS8_PRIV_KEY_INFO_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_PKCS8_PRIV_KEY_INFO_fp)
#define d2i_PKCS8_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_PKCS8_bio)
#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_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)
@@ -3108,7 +3090,6 @@
#define d2i_RSA_PUBKEY BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_RSA_PUBKEY)
#define d2i_RSA_PUBKEY_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_RSA_PUBKEY_bio)
#define d2i_RSA_PUBKEY_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_RSA_PUBKEY_fp)
-#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_ATTRIBUTE BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_X509_ATTRIBUTE)
@@ -3132,8 +3113,10 @@
#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_asn1_meth BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, dh_asn1_meth)
#define dh_check_params_fast BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, dh_check_params_fast)
#define dh_compute_key_padded_no_self_test BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, dh_compute_key_padded_no_self_test)
+#define dh_pkey_meth BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, dh_pkey_meth)
#define dsa_asn1_meth BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, dsa_asn1_meth)
#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)
@@ -3238,6 +3221,7 @@
#define ecp_nistz256_sqr_mont BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ecp_nistz256_sqr_mont)
#define ed25519_asn1_meth BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ed25519_asn1_meth)
#define ed25519_pkey_meth BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ed25519_pkey_meth)
+#define evp_pkey_set_method BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, evp_pkey_set_method)
#define fiat_curve25519_adx_mul BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, fiat_curve25519_adx_mul)
#define fiat_curve25519_adx_square BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, fiat_curve25519_adx_square)
#define fiat_p256_adx_mul BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, fiat_p256_adx_mul)
@@ -3261,7 +3245,6 @@
#define i2a_ASN1_STRING BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2a_ASN1_STRING)
#define i2c_ASN1_BIT_STRING BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2c_ASN1_BIT_STRING)
#define i2c_ASN1_INTEGER BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2c_ASN1_INTEGER)
-#define i2d_ACCESS_DESCRIPTION BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_ACCESS_DESCRIPTION)
#define i2d_ASN1_BIT_STRING BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_ASN1_BIT_STRING)
#define i2d_ASN1_BMPSTRING BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_ASN1_BMPSTRING)
#define i2d_ASN1_BOOLEAN BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_ASN1_BOOLEAN)
@@ -3293,8 +3276,6 @@
#define i2d_DHparams_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_DHparams_bio)
#define i2d_DIRECTORYSTRING BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_DIRECTORYSTRING)
#define i2d_DISPLAYTEXT BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_DISPLAYTEXT)
-#define i2d_DIST_POINT BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_DIST_POINT)
-#define i2d_DIST_POINT_NAME BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_DIST_POINT_NAME)
#define i2d_DSAPrivateKey BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_DSAPrivateKey)
#define i2d_DSAPrivateKey_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_DSAPrivateKey_bio)
#define i2d_DSAPrivateKey_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_DSAPrivateKey_fp)
@@ -3318,7 +3299,6 @@
#define i2d_ISSUING_DIST_POINT BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_ISSUING_DIST_POINT)
#define i2d_NETSCAPE_SPKAC BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_NETSCAPE_SPKAC)
#define i2d_NETSCAPE_SPKI BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_NETSCAPE_SPKI)
-#define i2d_NOTICEREF BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_NOTICEREF)
#define i2d_PKCS12 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_PKCS12)
#define i2d_PKCS12_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_PKCS12_bio)
#define i2d_PKCS12_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_PKCS12_fp)
@@ -3335,8 +3315,6 @@
#define i2d_PKCS8_PRIV_KEY_INFO_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_PKCS8_PRIV_KEY_INFO_fp)
#define i2d_PKCS8_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_PKCS8_bio)
#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_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)
@@ -3354,7 +3332,6 @@
#define i2d_RSA_PUBKEY BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_RSA_PUBKEY)
#define i2d_RSA_PUBKEY_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_RSA_PUBKEY_bio)
#define i2d_RSA_PUBKEY_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_RSA_PUBKEY_fp)
-#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_ATTRIBUTE BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_X509_ATTRIBUTE)
@@ -3479,8 +3456,6 @@
#define spx_fors_sign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_fors_sign)
#define spx_fors_sk_gen BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_fors_sk_gen)
#define spx_fors_treehash BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_fors_treehash)
-#define spx_generate_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_generate_key)
-#define spx_generate_key_from_seed BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_generate_key_from_seed)
#define spx_get_tree_index BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_get_tree_index)
#define spx_ht_sign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_ht_sign)
#define spx_ht_verify BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_ht_verify)
@@ -3492,7 +3467,6 @@
#define spx_set_tree_height BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_set_tree_height)
#define spx_set_tree_index BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_set_tree_index)
#define spx_set_type BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_set_type)
-#define spx_sign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_sign)
#define spx_thash_f BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_thash_f)
#define spx_thash_h BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_thash_h)
#define spx_thash_hmsg BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_thash_hmsg)
@@ -3503,7 +3477,6 @@
#define spx_to_uint64 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_to_uint64)
#define spx_treehash BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_treehash)
#define spx_uint64_to_len_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_uint64_to_len_bytes)
-#define spx_verify BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_verify)
#define spx_wots_pk_from_sig BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_wots_pk_from_sig)
#define spx_wots_pk_gen BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_wots_pk_gen)
#define spx_wots_sign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_wots_sign)
diff --git a/src/objective-c/BoringSSL-GRPC.podspec b/src/objective-c/BoringSSL-GRPC.podspec
index db662806f33..c237973e009 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.33'
+ version = '0.0.34'
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 => "e14d29f68c2d1b02e06f10c83b9b8ea4d061f8df",
+ :commit => "5a2bca2124800f2861263959b72bc35cdf18949b",
}
s.ios.deployment_target = '10.0'
@@ -118,7 +118,8 @@ Pod::Spec.new do |s|
s.subspec 'Interface' do |ss|
ss.header_mappings_dir = 'src/include/openssl'
ss.private_header_files = 'src/include/openssl/time.h'
- ss.source_files = 'src/include/openssl/*.h'
+ ss.source_files = 'src/include/openssl/*.h',
+ 'src/include/openssl/**/*.h'
end
s.subspec 'Implementation' do |ss|
ss.header_mappings_dir = 'src'
@@ -134,7 +135,7 @@ Pod::Spec.new do |s|
# We have to include fiat because spake25519 depends on it
'src/third_party/fiat/*.{h,c,cc}',
# Include the err_data.c pre-generated in boringssl's master-with-bazel branch
- 'err_data.c'
+ 'src/gen/crypto/err_data.c'
ss.private_header_files = 'src/ssl/*.h',
'src/ssl/**/*.h',
@@ -175,523 +176,520 @@ Pod::Spec.new do |s|
*) opts="--ignore-garbage" ;;
esac
base64 --decode $opts < src/include/openssl/boringssl_prefix_symbols.h
- H4sICAAAAAAC/2JvcmluZ3NzbF9wcmVmaXhfc3ltYm9scy5oALS9XXPbuLagfX9+hWvmZqZq1zmx08l2
- v3eKrXR04tjektLTmRsWJUE2dyhSISh/9K8fgKREfKwFci34rdp1TsfS8ywKAPFFEPiv/zp7EIWo0lps
- zlavp38kq7LKigcp82RfiW32kjyKdCOq/5SPZ2Vx9qn5dLG4OVuXu11W/39n4vy3zcXv24+X64vN+erd
- hXj3cXv+bn35fvX76lKkv23efTzfXm62//Ef//VfZ1fl/rXKHh7rs/+1/t9nF+/OL/9x9kdZPuTibFas
- /1N9RX/rXlS7TMpMxavLs4MU/1DR9q//ONuVm2yr/n9abP6rrM42mayrbHWoxVn9mMkzWW7r57QSZ1v1
- YVq8atf+UO1LKc6es1r9gKr5/+WhPtsKcaaQR1EJ/eurtFAJ8Y+zfVU+ZRuVJPVjWqv/I87SVfkktGl9
- uvairLO10FfRxt3313v8aL8XaXWWFWdpnmsyE/L465ZfpmeLu8/L/zOZT89mi7P7+d2fs+vp9dn/mCzU
- v//H2eT2uvnS5Pvyy9387Hq2uLqZzL4tziY3N2eKmk9ul7PpQrv+z2z55Ww+/WMyV8idopSvd99e3Xy/
- nt3+0YCzb/c3MxWlF5zdfdaOb9P51Rf1l8mn2c1s+aMJ/3m2vJ0uFv+pHGe3d2fTP6e3y7PFF+0xruzT
- 9OxmNvl0Mz37rP41uf2hdYv76dVscvMPdd3z6dXyH0px/C/1pau728X0X9+VTn3n7HrybfKHvpCGPv6z
- +WFfJsvFnYo7Vz9v8f1mqX/G5/ndt7Obu4W+8rPvi6mKMVlONK3SUF3y4h+Km6oLnOvrnqj/XS1nd7fa
- pwAVejmf6Ou4nf5xM/tjens11exdAyzv5uq73xcd84+zyXy20EHvvi81faedTRG+u72dNt9pU1+nh7qW
- 5iqmc5UQ3yaN+LOdG//ZlP9Pd3PlVLdPMrm+Tu7n08+zv872qayFPKufyzNV9Io622aikqrwqMJfFkJl
- Qq2LmCrUO6n/oEVZre9WXeLK7dkuXVflmXjZp0VTCNX/slqepdXDYad88mwlFCyaQOru/c//+J8bdWcX
- Aryc/5X+42z1v8GPkpn66fP2C0GH+cWz9Ox//s+zRP+f1X/01Owu2SaqloGvof9j+4d/9MD/thxS1FRL
- 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
- 1TQnlVblqUjzWtljAPEE4Z//+D8AMksHMdUEAA==
+ H4sICAAAAAAC/2JvcmluZ3NzbF9wcmVmaXhfc3ltYm9scy5oALS9XXPbuJaofT+/wnXm5kzVrpnY6WSn
+ 3zvFVjqaOLZHUvp0zg2LkiCLOxSpEJRj968/AEmJ+FgL5FrwW7VrpmPpeRYFgPgiCPzXf108ikJUaS02
+ F6uX8z+SVVllxaOUeXKoxDZ7TnYi3YjqP+XuoiwuPjafLha3F+tyv8/q/+/iXXq1WqdXl1e/fXjzZnv1
+ 4f3l1fu3v7/7ffVP9fe379ab7eWH33/7ffVv//Zf/3VxXR5equxxV1/87/V/XFy9ufzwj4s/yvIxFxez
+ Yv2f6iv6Ww+i2mdSZipeXV4cpfiHinZ4+cfFvtxkW/X/02LzX2V1sclkXWWrYy0u6l0mL2S5rX+llbjY
+ qg/T4kW7DsfqUEpx8Sur1Q+omv9fHuuLrRAXCtmJSuhfX6WFSoh/XByq8inbqCSpd2mt/o+4SFflk9Cm
+ 9fnai7LO1kJfRRv30F/v6aPDQaTVRVZcpHmuyUzI069bfp5eLO4/Lf/PZD69mC0uHub3f85upjcX/2uy
+ UP/+XxeTu5vmS5Nvy8/384ub2eL6djL7uriY3N5eKGo+uVvOpgvt+j+z5eeL+fSPyVwh94pSvt59d337
+ 7WZ290cDzr4+3M5UlF5wcf9JO75O59ef1V8mH2e3s+X3Jvyn2fJuulj8p3Jc3N1fTP+c3i0vFp+1x7iy
+ j9OL29nk4+304pP61+Tuu9YtHqbXs8ntP9R1z6fXy38oxem/1Jeu7+8W0//5pnTqOxc3k6+TP/SFNPTp
+ n80P+zxZLu5V3Ln6eYtvt0v9Mz7N779e3N4v9JVffFtMVYzJcqJplYbqkhf/UNxUXeBcX/dE/e96Obu/
+ 0z4FqNDL+URfx930j9vZH9O766lm7xtgeT9X3/226Jh/XEzms4UOev9tqel77WyK8P3d3bT5Tpv6Oj3U
+ tTRXMZ2rhPg6acSf7Nz4z6b8f7yfK6e6fZLJzU3yMJ9+mv11cUhlLeRF/au8UEWvqLNtJiqpCo8q/GUh
+ VCbUuoipQr2X+g9alNX6btUlrtxe7NN1VV6I50NaNIVQ/S+r5UVaPR73yicvVkLBogmk7t7//Ld/36g7
+ uxDg5fzv9B8Xq/8AP0pm6qfP2y8EHeYXL9KLf//3i0T/H1UHnKnZfbJNVC0DX0P/x/YP/+iB/7AcUtRU
+ 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
+ CcLf//Z/2aoCAcHMBAA=
EOF
# PrivacyInfo.xcprivacy is not part of BoringSSL repo, inject it during pod installation
diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py
index e8d21a129b7..0fdcc21a484 100644
--- a/src/python/grpcio/grpc_core_dependencies.py
+++ b/src/python/grpcio/grpc_core_dependencies.py
@@ -998,7 +998,6 @@ CORE_SOURCE_FILES = [
'third_party/address_sorting/address_sorting.c',
'third_party/address_sorting/address_sorting_posix.c',
'third_party/address_sorting/address_sorting_windows.c',
- 'third_party/boringssl-with-bazel/err_data.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c',
'third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c',
@@ -1089,6 +1088,8 @@ CORE_SOURCE_FILES = [
'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',
+ 'third_party/boringssl-with-bazel/src/crypto/evp/p_dh.c',
+ 'third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.c',
'third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c',
'third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c',
'third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c',
@@ -1230,6 +1231,7 @@ 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/gen/crypto/err_data.c',
'third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc',
'third_party/boringssl-with-bazel/src/ssl/d1_both.cc',
'third_party/boringssl-with-bazel/src/ssl/d1_lib.cc',
@@ -1251,6 +1253,7 @@ CORE_SOURCE_FILES = [
'third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc',
'third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc',
'third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc',
+ 'third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc',
'third_party/boringssl-with-bazel/src/ssl/ssl_file.cc',
'third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc',
'third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc',
@@ -1415,166 +1418,166 @@ CORE_SOURCE_FILES = [
ASM_SOURCE_FILES = {
'crypto_asm': [
- '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',
- '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',
- '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',
- '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',
- '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/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',
- '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/curve25519/asm/x25519-asm-arm.S',
'third_party/boringssl-with-bazel/src/crypto/hrss/asm/poly_rq_mul.S',
'third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm_asm.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/aesni-gcm-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/aesni-gcm-x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/aesni-x86-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/aesni-x86-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/aesni-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/aesni-x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/aesv8-armv7-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/aesv8-armv8-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/aesv8-armv8-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/aesv8-armv8-win.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/aesv8-gcm-armv8-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/aesv8-gcm-armv8-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/aesv8-gcm-armv8-win.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/armv4-mont-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/armv8-mont-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/armv8-mont-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/armv8-mont-win.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/bn-586-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/bn-586-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/bn-armv8-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/bn-armv8-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/bn-armv8-win.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/bsaes-armv7-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/co-586-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/co-586-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/ghash-armv4-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/ghash-neon-armv8-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/ghash-neon-armv8-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/ghash-neon-armv8-win.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/ghash-ssse3-x86-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/ghash-ssse3-x86-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/ghash-ssse3-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/ghash-ssse3-x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/ghash-x86-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/ghash-x86-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/ghash-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/ghash-x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/ghashv8-armv7-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/ghashv8-armv8-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/ghashv8-armv8-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/ghashv8-armv8-win.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/md5-586-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/md5-586-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/md5-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/md5-x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/p256-armv8-asm-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/p256-armv8-asm-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/p256-armv8-asm-win.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/p256-x86_64-asm-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/p256-x86_64-asm-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/p256_beeu-armv8-asm-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/p256_beeu-armv8-asm-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/p256_beeu-armv8-asm-win.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/p256_beeu-x86_64-asm-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/p256_beeu-x86_64-asm-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/rdrand-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/rdrand-x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/rsaz-avx2-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/rsaz-avx2-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha1-586-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha1-586-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha1-armv4-large-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha1-armv8-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha1-armv8-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha1-armv8-win.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha1-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha1-x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha256-586-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha256-586-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha256-armv4-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha256-armv8-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha256-armv8-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha256-armv8-win.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha256-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha256-x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha512-586-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha512-586-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha512-armv4-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha512-armv8-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha512-armv8-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha512-armv8-win.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha512-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha512-x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/vpaes-armv7-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/vpaes-armv8-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/vpaes-armv8-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/vpaes-armv8-win.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/vpaes-x86-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/vpaes-x86-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/vpaes-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/vpaes-x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/x86-mont-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/x86-mont-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/x86_64-mont-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/x86_64-mont-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/x86_64-mont5-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/x86_64-mont5-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/crypto/aes128gcmsiv-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/crypto/aes128gcmsiv-x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/crypto/chacha-armv4-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/crypto/chacha-armv8-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/crypto/chacha-armv8-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/crypto/chacha-armv8-win.S',
+ 'third_party/boringssl-with-bazel/src/gen/crypto/chacha-x86-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/crypto/chacha-x86-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/crypto/chacha-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/crypto/chacha-x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/crypto/chacha20_poly1305_armv8-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/crypto/chacha20_poly1305_armv8-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/crypto/chacha20_poly1305_armv8-win.S',
+ 'third_party/boringssl-with-bazel/src/gen/crypto/chacha20_poly1305_x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/crypto/chacha20_poly1305_x86_64-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/test_support/trampoline-armv4-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/test_support/trampoline-armv8-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/test_support/trampoline-armv8-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/test_support/trampoline-armv8-win.S',
+ 'third_party/boringssl-with-bazel/src/gen/test_support/trampoline-x86-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/test_support/trampoline-x86-linux.S',
+ 'third_party/boringssl-with-bazel/src/gen/test_support/trampoline-x86_64-apple.S',
+ 'third_party/boringssl-with-bazel/src/gen/test_support/trampoline-x86_64-linux.S',
'third_party/boringssl-with-bazel/src/third_party/fiat/asm/fiat_curve25519_adx_mul.S',
'third_party/boringssl-with-bazel/src/third_party/fiat/asm/fiat_curve25519_adx_square.S',
'third_party/boringssl-with-bazel/src/third_party/fiat/asm/fiat_p256_adx_mul.S',
'third_party/boringssl-with-bazel/src/third_party/fiat/asm/fiat_p256_adx_sqr.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_nasm': [
- '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',
- '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',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/aesni-gcm-x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/aesni-x86-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/aesni-x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/bn-586-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/co-586-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/ghash-ssse3-x86-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/ghash-ssse3-x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/ghash-x86-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/ghash-x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/md5-586-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/md5-x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/p256-x86_64-asm-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/p256_beeu-x86_64-asm-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/rdrand-x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/rsaz-avx2-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha1-586-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha1-x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha256-586-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha256-x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha512-586-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/sha512-x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/vpaes-x86-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/vpaes-x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/x86-mont-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/x86_64-mont-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/bcm/x86_64-mont5-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/crypto/aes128gcmsiv-x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/crypto/chacha-x86-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/crypto/chacha-x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/crypto/chacha20_poly1305_x86_64-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/test_support/trampoline-x86-win.asm',
+ 'third_party/boringssl-with-bazel/src/gen/test_support/trampoline-x86_64-win.asm',
],
}
diff --git a/templates/gRPC-Core.podspec.template b/templates/gRPC-Core.podspec.template
index 6fe258801c9..20a4c934855 100644
--- a/templates/gRPC-Core.podspec.template
+++ b/templates/gRPC-Core.podspec.template
@@ -198,7 +198,7 @@
ss.libraries = 'z'
ss.dependency "#{s.name}/Interface", version
ss.dependency "#{s.name}/Privacy", version
- ss.dependency 'BoringSSL-GRPC', '0.0.33'
+ ss.dependency 'BoringSSL-GRPC', '0.0.34'
% 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 0d99cd189a8..7fc56ac912a 100644
--- a/templates/src/objective-c/BoringSSL-GRPC.podspec.template
+++ b/templates/src/objective-c/BoringSSL-GRPC.podspec.template
@@ -70,7 +70,7 @@
Pod::Spec.new do |s|
s.name = 'BoringSSL-GRPC'
- version = '0.0.33'
+ version = '0.0.34'
s.version = version
s.summary = 'BoringSSL is a fork of OpenSSL that is designed to meet Google\'s needs.'
# Adapted from the homepage:
@@ -149,7 +149,8 @@
s.subspec 'Interface' do |ss|
ss.header_mappings_dir = 'src/include/openssl'
ss.private_header_files = 'src/include/openssl/time.h'
- ss.source_files = 'src/include/openssl/*.h'
+ ss.source_files = 'src/include/openssl/*.h',
+ 'src/include/openssl/**/*.h'
end
s.subspec 'Implementation' do |ss|
ss.header_mappings_dir = 'src'
@@ -165,7 +166,7 @@
# We have to include fiat because spake25519 depends on it
'src/third_party/fiat/*.{h,c,cc}',
# Include the err_data.c pre-generated in boringssl's master-with-bazel branch
- 'err_data.c'
+ 'src/gen/crypto/err_data.c'
ss.private_header_files = 'src/ssl/*.h',
'src/ssl/**/*.h',
diff --git a/third_party/boringssl-with-bazel b/third_party/boringssl-with-bazel
index e14d29f68c2..5a2bca21248 160000
--- a/third_party/boringssl-with-bazel
+++ b/third_party/boringssl-with-bazel
@@ -1 +1 @@
-Subproject commit e14d29f68c2d1b02e06f10c83b9b8ea4d061f8df
+Subproject commit 5a2bca2124800f2861263959b72bc35cdf18949b
diff --git a/tools/run_tests/sanity/check_submodules.sh b/tools/run_tests/sanity/check_submodules.sh
index 872a988c37f..23ca962847a 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 4a2c63365eff8823a5221db86ef490e828306f9d
third_party/benchmark 344117638c8ff7e239044fd0fa7085839fc03021
third_party/bloaty 60209eb1ccc34d5deefb002d1b7f37545204f7f2
-third_party/boringssl-with-bazel e14d29f68c2d1b02e06f10c83b9b8ea4d061f8df
+third_party/boringssl-with-bazel 5a2bca2124800f2861263959b72bc35cdf18949b
third_party/cares/cares 6360e96b5cf8e5980c887ce58ef727e53d77243a
third_party/envoy-api 78f198cf96ecdc7120ef640406770aa01af775c4
third_party/googleapis 2f9af297c84c55c8b871ba4495e01ade42476c92