Roll boringssl

Change-Id: I4072c6c9ff4183ece9c0db8f4e5f75a25dcd3924
Reviewed-on: https://pigweed-review.googlesource.com/c/open-dice/+/34020
Reviewed-by: Ali Zhang <alizhang@google.com>
diff --git a/third_party/boringssl/BUILD.generated.gni b/third_party/boringssl/BUILD.generated.gni
index 5fcc97c..aee38c2 100644
--- a/third_party/boringssl/BUILD.generated.gni
+++ b/third_party/boringssl/BUILD.generated.gni
@@ -1,16 +1,6 @@
-# Copyright 2020 Google LLC
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may not
-# use this file except in compliance with the License. You may obtain a copy of
-# the License at
-#
-#     https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations under
-# the License.
+# Copyright (c) 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
 
 # This file is created by generate_build_files.py. Do not edit manually.
 
@@ -59,6 +49,7 @@
   "src/crypto/bio/printf.c",
   "src/crypto/bio/socket.c",
   "src/crypto/bio/socket_helper.c",
+  "src/crypto/blake2/blake2.c",
   "src/crypto/bn_extra/bn_asn1.c",
   "src/crypto/bn_extra/convert.c",
   "src/crypto/buf/buf.c",
@@ -88,6 +79,7 @@
   "src/crypto/conf/internal.h",
   "src/crypto/cpu-aarch64-fuchsia.c",
   "src/crypto/cpu-aarch64-linux.c",
+  "src/crypto/cpu-aarch64-win.c",
   "src/crypto/cpu-arm-linux.c",
   "src/crypto/cpu-arm-linux.h",
   "src/crypto/cpu-arm.c",
@@ -98,10 +90,8 @@
   "src/crypto/curve25519/curve25519_tables.h",
   "src/crypto/curve25519/internal.h",
   "src/crypto/curve25519/spake25519.c",
-  "src/crypto/dh/check.c",
-  "src/crypto/dh/dh.c",
-  "src/crypto/dh/dh_asn1.c",
-  "src/crypto/dh/params.c",
+  "src/crypto/dh_extra/dh_asn1.c",
+  "src/crypto/dh_extra/params.c",
   "src/crypto/digest_extra/digest_extra.c",
   "src/crypto/dsa/dsa.c",
   "src/crypto/dsa/dsa_asn1.c",
@@ -192,6 +182,7 @@
   "src/crypto/rand_extra/deterministic.c",
   "src/crypto/rand_extra/forkunsafe.c",
   "src/crypto/rand_extra/fuchsia.c",
+  "src/crypto/rand_extra/passive.c",
   "src/crypto/rand_extra/rand_extra.c",
   "src/crypto/rand_extra/windows.c",
   "src/crypto/rc4/rc4.c",
@@ -311,6 +302,7 @@
   "src/include/openssl/base.h",
   "src/include/openssl/base64.h",
   "src/include/openssl/bio.h",
+  "src/include/openssl/blake2.h",
   "src/include/openssl/blowfish.h",
   "src/include/openssl/bn.h",
   "src/include/openssl/buf.h",
@@ -423,6 +415,27 @@
   "src/include/openssl/tls1.h",
 ]
 
+tool_sources = [
+  "src/tool/args.cc",
+  "src/tool/ciphers.cc",
+  "src/tool/client.cc",
+  "src/tool/const.cc",
+  "src/tool/digest.cc",
+  "src/tool/fd.cc",
+  "src/tool/file.cc",
+  "src/tool/generate_ed25519.cc",
+  "src/tool/genrsa.cc",
+  "src/tool/internal.h",
+  "src/tool/pkcs12.cc",
+  "src/tool/rand.cc",
+  "src/tool/server.cc",
+  "src/tool/sign.cc",
+  "src/tool/speed.cc",
+  "src/tool/tool.cc",
+  "src/tool/transport_common.cc",
+  "src/tool/transport_common.h",
+]
+
 crypto_sources_ios_aarch64 = [
   "ios-aarch64/crypto/chacha/chacha-armv8.S",
   "ios-aarch64/crypto/fipsmodule/aesv8-armx64.S",
@@ -562,6 +575,19 @@
   "mac-x86_64/crypto/test/trampoline-x86_64.S",
 ]
 
+crypto_sources_win_aarch64 = [
+  "win-aarch64/crypto/chacha/chacha-armv8.S",
+  "win-aarch64/crypto/fipsmodule/aesv8-armx64.S",
+  "win-aarch64/crypto/fipsmodule/armv8-mont.S",
+  "win-aarch64/crypto/fipsmodule/ghash-neon-armv8.S",
+  "win-aarch64/crypto/fipsmodule/ghashv8-armx64.S",
+  "win-aarch64/crypto/fipsmodule/sha1-armv8.S",
+  "win-aarch64/crypto/fipsmodule/sha256-armv8.S",
+  "win-aarch64/crypto/fipsmodule/sha512-armv8.S",
+  "win-aarch64/crypto/fipsmodule/vpaes-armv8.S",
+  "win-aarch64/crypto/test/trampoline-armv8.S",
+]
+
 crypto_sources_win_x86 = [
   "win-x86/crypto/chacha/chacha-x86.asm",
   "win-x86/crypto/fipsmodule/aesni-x86.asm",
diff --git a/third_party/boringssl/err_data.c b/third_party/boringssl/err_data.c
index 4d7e6ab..75168e6 100644
--- a/third_party/boringssl/err_data.c
+++ b/third_party/boringssl/err_data.c
@@ -55,731 +55,734 @@
 OPENSSL_STATIC_ASSERT(ERR_NUM_LIBS == 34, "number of libraries changed");
 
 const uint32_t kOpenSSLReasonValues[] = {
-    0xc32083a,
-    0xc328854,
-    0xc330863,
-    0xc338873,
-    0xc340882,
-    0xc34889b,
-    0xc3508a7,
-    0xc3588c4,
-    0xc3608e4,
-    0xc3688f2,
-    0xc370902,
-    0xc37890f,
-    0xc38091f,
-    0xc38892a,
-    0xc390940,
-    0xc39894f,
-    0xc3a0963,
-    0xc3a8847,
-    0xc3b00ea,
-    0xc3b88d6,
-    0x10320847,
-    0x103295a9,
-    0x103315b5,
-    0x103395ce,
-    0x103415e1,
-    0x10348f27,
-    0x10350c60,
-    0x103595f4,
-    0x1036161e,
-    0x10369631,
-    0x10371650,
-    0x10379669,
-    0x1038167e,
-    0x1038969c,
-    0x103916ab,
-    0x103996c7,
-    0x103a16e2,
-    0x103a96f1,
-    0x103b170d,
-    0x103b9728,
-    0x103c174e,
-    0x103c80ea,
-    0x103d175f,
-    0x103d9773,
-    0x103e1792,
-    0x103e97a1,
-    0x103f17b8,
-    0x103f97cb,
-    0x10400c24,
-    0x104097de,
-    0x104117fc,
-    0x1041980f,
-    0x10421829,
-    0x10429839,
-    0x1043184d,
-    0x10439863,
-    0x1044187b,
-    0x10449890,
-    0x104518a4,
-    0x104598b6,
-    0x104605fd,
-    0x1046894f,
-    0x104718cb,
-    0x104798e2,
-    0x104818f7,
-    0x10489905,
-    0x10490e73,
-    0x1049973f,
-    0x104a1609,
-    0x14320c07,
-    0x14328c15,
-    0x14330c24,
-    0x14338c36,
-    0x143400ac,
-    0x143480ea,
-    0x18320083,
-    0x18328f7d,
-    0x183300ac,
-    0x18338f93,
-    0x18340fa7,
-    0x183480ea,
-    0x18350fc6,
-    0x18358fde,
-    0x18360ff3,
-    0x18369007,
-    0x1837102b,
-    0x18379041,
-    0x18381055,
-    0x18389065,
-    0x18390a75,
-    0x18399075,
-    0x183a109b,
-    0x183a90c1,
-    0x183b0c7f,
-    0x183b9110,
-    0x183c1122,
-    0x183c912d,
-    0x183d113d,
-    0x183d914e,
-    0x183e115f,
-    0x183e9171,
-    0x183f119a,
-    0x183f91b3,
-    0x184011cb,
-    0x184086d5,
-    0x184110e4,
-    0x184190af,
-    0x184210ce,
-    0x18428c6c,
-    0x1843108a,
-    0x184390f6,
-    0x18440fbc,
-    0x20321205,
-    0x203291f2,
-    0x24321211,
-    0x24328995,
-    0x24331223,
-    0x24339230,
-    0x2434123d,
-    0x2434924f,
-    0x2435125e,
-    0x2435927b,
-    0x24361288,
-    0x24369296,
-    0x243712a4,
-    0x243792b2,
-    0x243812bb,
-    0x243892c8,
-    0x243912db,
-    0x28320c54,
-    0x28328c7f,
-    0x28330c24,
-    0x28338c92,
-    0x28340c60,
-    0x283480ac,
-    0x283500ea,
-    0x28358c6c,
-    0x2c323095,
-    0x2c3292f2,
-    0x2c3330a3,
-    0x2c33b0b5,
-    0x2c3430c9,
-    0x2c34b0db,
-    0x2c3530f6,
-    0x2c35b108,
-    0x2c363138,
-    0x2c36832d,
-    0x2c373145,
-    0x2c37b171,
-    0x2c383196,
-    0x2c38b1ad,
-    0x2c3931cb,
-    0x2c39b1db,
-    0x2c3a31ed,
-    0x2c3ab201,
-    0x2c3b3212,
-    0x2c3bb231,
-    0x2c3c1304,
-    0x2c3c931a,
-    0x2c3d3245,
-    0x2c3d9333,
-    0x2c3e3262,
-    0x2c3eb270,
-    0x2c3f3288,
-    0x2c3fb2a0,
-    0x2c4032ca,
-    0x2c409205,
-    0x2c4132db,
-    0x2c41b2ee,
-    0x2c4211cb,
-    0x2c42b2ff,
-    0x2c430722,
-    0x2c43b223,
-    0x2c443184,
-    0x2c44b2ad,
-    0x2c45311b,
-    0x2c45b157,
-    0x2c4631bb,
+    0xc320847,
+    0xc328861,
+    0xc330870,
+    0xc338880,
+    0xc34088f,
+    0xc3488a8,
+    0xc3508b4,
+    0xc3588d1,
+    0xc3608f1,
+    0xc3688ff,
+    0xc37090f,
+    0xc37891c,
+    0xc38092c,
+    0xc388937,
+    0xc39094d,
+    0xc39895c,
+    0xc3a0970,
+    0xc3a8854,
+    0xc3b00f7,
+    0xc3b88e3,
+    0x10320854,
+    0x103295b6,
+    0x103315c2,
+    0x103395db,
+    0x103415ee,
+    0x10348f34,
+    0x10350c6d,
+    0x10359601,
+    0x1036162b,
+    0x1036963e,
+    0x1037165d,
+    0x10379676,
+    0x1038168b,
+    0x103896a9,
+    0x103916b8,
+    0x103996d4,
+    0x103a16ef,
+    0x103a96fe,
+    0x103b171a,
+    0x103b9735,
+    0x103c175b,
+    0x103c80f7,
+    0x103d176c,
+    0x103d9780,
+    0x103e179f,
+    0x103e97ae,
+    0x103f17c5,
+    0x103f97d8,
+    0x10400c31,
+    0x104097eb,
+    0x10411809,
+    0x1041981c,
+    0x10421836,
+    0x10429846,
+    0x1043185a,
+    0x10439870,
+    0x10441888,
+    0x1044989d,
+    0x104518b1,
+    0x104598c3,
+    0x1046060a,
+    0x1046895c,
+    0x104718d8,
+    0x104798ef,
+    0x10481904,
+    0x10489912,
+    0x10490e80,
+    0x1049974c,
+    0x104a1616,
+    0x14320c14,
+    0x14328c22,
+    0x14330c31,
+    0x14338c43,
+    0x143400b9,
+    0x143480f7,
+    0x18320090,
+    0x18328f8a,
+    0x183300b9,
+    0x18338fa0,
+    0x18340fb4,
+    0x183480f7,
+    0x18350fd3,
+    0x18358feb,
+    0x18361000,
+    0x18369014,
+    0x18371038,
+    0x1837904e,
+    0x18381062,
+    0x18389072,
+    0x18390a82,
+    0x18399082,
+    0x183a10a8,
+    0x183a90ce,
+    0x183b0c8c,
+    0x183b911d,
+    0x183c112f,
+    0x183c913a,
+    0x183d114a,
+    0x183d915b,
+    0x183e116c,
+    0x183e917e,
+    0x183f11a7,
+    0x183f91c0,
+    0x184011d8,
+    0x184086e2,
+    0x184110f1,
+    0x184190bc,
+    0x184210db,
+    0x18428c79,
+    0x18431097,
+    0x18439103,
+    0x18440fc9,
+    0x20321212,
+    0x203291ff,
+    0x2432121e,
+    0x243289a2,
+    0x24331230,
+    0x2433923d,
+    0x2434124a,
+    0x2434925c,
+    0x2435126b,
+    0x24359288,
+    0x24361295,
+    0x243692a3,
+    0x243712b1,
+    0x243792bf,
+    0x243812c8,
+    0x243892d5,
+    0x243912e8,
+    0x28320c61,
+    0x28328c8c,
+    0x28330c31,
+    0x28338c9f,
+    0x28340c6d,
+    0x283480b9,
+    0x283500f7,
+    0x28358c79,
+    0x2c3230e6,
+    0x2c3292ff,
+    0x2c3330f4,
+    0x2c33b106,
+    0x2c34311a,
+    0x2c34b12c,
+    0x2c353147,
+    0x2c35b159,
+    0x2c363189,
+    0x2c36833a,
+    0x2c373196,
+    0x2c37b1c2,
+    0x2c3831e7,
+    0x2c38b1fe,
+    0x2c39321c,
+    0x2c39b22c,
+    0x2c3a323e,
+    0x2c3ab252,
+    0x2c3b3263,
+    0x2c3bb282,
+    0x2c3c1311,
+    0x2c3c9327,
+    0x2c3d3296,
+    0x2c3d9340,
+    0x2c3e32b3,
+    0x2c3eb2c1,
+    0x2c3f32d9,
+    0x2c3fb2f1,
+    0x2c40331b,
+    0x2c409212,
+    0x2c41332c,
+    0x2c41b33f,
+    0x2c4211d8,
+    0x2c42b350,
+    0x2c43072f,
+    0x2c43b274,
+    0x2c4431d5,
+    0x2c44b2fe,
+    0x2c45316c,
+    0x2c45b1a8,
+    0x2c46320c,
     0x30320000,
     0x30328015,
     0x3033001f,
     0x30338038,
-    0x3034004a,
-    0x30348064,
-    0x3035006b,
-    0x30358083,
-    0x30360094,
-    0x303680ac,
-    0x303700b9,
-    0x303780c8,
-    0x303800ea,
-    0x303880f7,
-    0x3039010a,
-    0x30398125,
-    0x303a013a,
-    0x303a814e,
-    0x303b0162,
-    0x303b8173,
-    0x303c018c,
-    0x303c81a9,
-    0x303d01b7,
-    0x303d81cb,
-    0x303e01db,
-    0x303e81f4,
-    0x303f0204,
-    0x303f8217,
-    0x30400226,
-    0x30408232,
-    0x30410247,
-    0x30418257,
-    0x3042026e,
-    0x3042827b,
-    0x3043028e,
-    0x3043829d,
-    0x304402b2,
-    0x304482d3,
-    0x304502e6,
-    0x304582f9,
-    0x30460312,
-    0x3046832d,
-    0x3047034a,
-    0x3047835c,
-    0x3048036a,
-    0x3048837b,
-    0x3049038a,
-    0x304983a2,
-    0x304a03b4,
-    0x304a83c8,
-    0x304b03e0,
-    0x304b83f3,
-    0x304c03fe,
-    0x304c840f,
-    0x304d041b,
-    0x304d8431,
-    0x304e043f,
-    0x304e8455,
-    0x304f0467,
-    0x304f8479,
-    0x3050049c,
-    0x305084af,
-    0x305104c0,
-    0x305184d0,
-    0x305204e8,
-    0x305284fd,
-    0x30530515,
-    0x30538529,
-    0x30540541,
-    0x3054855a,
-    0x30550573,
-    0x30558590,
-    0x3056059b,
-    0x305685b3,
-    0x305705c3,
-    0x305785d4,
-    0x305805e7,
-    0x305885fd,
-    0x30590606,
-    0x3059861b,
-    0x305a062e,
-    0x305a863d,
-    0x305b065d,
-    0x305b866c,
-    0x305c068d,
-    0x305c86a9,
-    0x305d06b5,
-    0x305d86d5,
-    0x305e06f1,
-    0x305e8702,
-    0x305f0718,
-    0x305f8722,
-    0x3060048c,
-    0x34320b65,
-    0x34328b79,
-    0x34330b96,
-    0x34338ba9,
-    0x34340bb8,
-    0x34348bf1,
-    0x34350bd5,
-    0x3c320083,
-    0x3c328cbc,
-    0x3c330cd5,
-    0x3c338cf0,
-    0x3c340d0d,
-    0x3c348d37,
-    0x3c350d52,
-    0x3c358d78,
-    0x3c360d91,
-    0x3c368da9,
-    0x3c370dba,
-    0x3c378dc8,
-    0x3c380dd5,
-    0x3c388de9,
-    0x3c390c7f,
-    0x3c398e0c,
-    0x3c3a0e20,
-    0x3c3a890f,
-    0x3c3b0e30,
-    0x3c3b8e4b,
-    0x3c3c0e5d,
-    0x3c3c8e90,
-    0x3c3d0e9a,
-    0x3c3d8eae,
-    0x3c3e0ebc,
-    0x3c3e8ee1,
-    0x3c3f0ca8,
-    0x3c3f8eca,
-    0x3c4000ac,
-    0x3c4080ea,
-    0x3c410d28,
-    0x3c418d67,
-    0x3c420e73,
-    0x3c428dfd,
-    0x4032197b,
-    0x40329991,
-    0x403319bf,
-    0x403399c9,
-    0x403419e0,
-    0x403499fe,
-    0x40351a0e,
-    0x40359a20,
-    0x40361a2d,
-    0x40369a39,
-    0x40371a4e,
-    0x40379a60,
-    0x40381a6b,
-    0x40389a7d,
-    0x40390f27,
-    0x40399a8d,
-    0x403a1aa0,
-    0x403a9ac1,
-    0x403b1ad2,
-    0x403b9ae2,
-    0x403c0064,
-    0x403c8083,
-    0x403d1b43,
-    0x403d9b59,
-    0x403e1b68,
-    0x403e9ba0,
-    0x403f1bba,
-    0x403f9be2,
-    0x40401bf7,
-    0x40409c0b,
-    0x40411c46,
-    0x40419c61,
-    0x40421c7a,
-    0x40429c8d,
-    0x40431ca1,
-    0x40439cb9,
-    0x40441cd0,
-    0x404480ac,
-    0x40451ce5,
-    0x40459cf7,
-    0x40461d1b,
-    0x40469d3b,
-    0x40471d49,
-    0x40479d70,
-    0x40481de1,
-    0x40489e14,
-    0x40491e2b,
-    0x40499e45,
-    0x404a1e5c,
-    0x404a9e7a,
-    0x404b1e92,
-    0x404b9ebf,
-    0x404c1ed5,
-    0x404c9ee7,
-    0x404d1f08,
-    0x404d9f41,
-    0x404e1f55,
-    0x404e9f62,
-    0x404f1fa9,
-    0x404f9fef,
-    0x40502046,
-    0x4050a05a,
-    0x4051208d,
-    0x405220aa,
-    0x4052a0ce,
-    0x405320e6,
-    0x4053a0f9,
-    0x4054210e,
-    0x4054a131,
-    0x4055213f,
-    0x4055a17c,
-    0x40562189,
-    0x4056a1a2,
-    0x405721ba,
-    0x4057a1cd,
-    0x405821e2,
-    0x4058a209,
-    0x40592238,
-    0x4059a265,
-    0x405a2279,
-    0x405aa289,
-    0x405b22a1,
-    0x405ba2b2,
-    0x405c22c5,
-    0x405ca304,
-    0x405d2311,
-    0x405da336,
-    0x405e2374,
-    0x405e8ab3,
-    0x405f2395,
-    0x405fa3a2,
-    0x406023b0,
-    0x4060a3d2,
-    0x40612433,
-    0x4061a46b,
-    0x40622482,
-    0x4062a493,
-    0x406324e0,
-    0x4063a4f5,
-    0x4064250c,
-    0x4064a538,
-    0x40652553,
-    0x4065a56a,
-    0x40662582,
-    0x4066a5ac,
-    0x406725d7,
-    0x4067a61c,
-    0x40682664,
-    0x4068a685,
-    0x406926b7,
-    0x4069a6e5,
-    0x406a2706,
-    0x406aa726,
-    0x406b28ae,
-    0x406ba8d1,
-    0x406c28e7,
-    0x406cabd8,
-    0x406d2c07,
-    0x406dac2f,
-    0x406e2c5d,
-    0x406eacaa,
-    0x406f2d03,
-    0x406fad3b,
-    0x40702d4e,
-    0x4070ad6b,
-    0x40710802,
-    0x4071ad7d,
-    0x40722d90,
-    0x4072adc6,
-    0x40732dde,
-    0x40739504,
-    0x40742df2,
-    0x4074ae0c,
-    0x40752e1d,
-    0x4075ae31,
-    0x40762e3f,
-    0x407692c8,
-    0x40772e64,
-    0x4077ae86,
-    0x40782ea1,
-    0x4078aeda,
-    0x40792ef1,
-    0x4079af07,
-    0x407a2f33,
-    0x407aaf46,
-    0x407b2f5b,
-    0x407baf6d,
-    0x407c2f9e,
-    0x407cafa7,
-    0x407d26a0,
-    0x407d9fff,
-    0x407e2eb6,
-    0x407ea219,
-    0x407f1d5d,
-    0x407f9ea9,
-    0x40801fb9,
-    0x40809d85,
-    0x408120bc,
-    0x40819f93,
-    0x40822c48,
-    0x40829aee,
-    0x408321f4,
-    0x4083a51d,
-    0x40841d99,
-    0x4084a251,
-    0x408522d6,
-    0x4085a3fa,
-    0x40862356,
-    0x4086a019,
-    0x40872c8e,
-    0x4087a448,
-    0x40881b2c,
-    0x4088a62f,
-    0x40891b7b,
-    0x40899b08,
-    0x408a291f,
-    0x408a991c,
-    0x408b2f82,
-    0x408bad18,
-    0x408c22e6,
-    0x408c9938,
-    0x408d1dfa,
-    0x408d9dcb,
-    0x408e1f2a,
-    0x408ea15c,
-    0x408f2643,
-    0x408fa416,
-    0x409025f8,
-    0x4090a328,
-    0x40912907,
-    0x4091995e,
-    0x40921bc8,
-    0x4092acc9,
-    0x40932da9,
-    0x4093a02a,
-    0x40941dad,
-    0x4094a938,
-    0x409524a4,
-    0x4095af13,
-    0x40962c75,
-    0x40969fd2,
-    0x40972075,
-    0x40979f79,
-    0x40981c28,
-    0x4098a4b8,
-    0x40992ce5,
-    0x4099a09d,
-    0x41f427d9,
-    0x41f9286b,
-    0x41fe275e,
-    0x41feaa14,
-    0x41ff2b29,
-    0x420327f2,
-    0x42082814,
-    0x4208a850,
-    0x42092742,
-    0x4209a88a,
-    0x420a2799,
-    0x420aa779,
-    0x420b27b9,
-    0x420ba832,
-    0x420c2b45,
-    0x420ca948,
-    0x420d29fb,
-    0x420daa32,
-    0x42122a4c,
-    0x42172b0c,
-    0x4217aa8e,
-    0x421c2ab0,
-    0x421f2a6b,
-    0x42212bbd,
-    0x42262aef,
-    0x422b2b9b,
-    0x422ba9d6,
-    0x422c2b7d,
-    0x422ca989,
-    0x422d2962,
-    0x422dab5c,
-    0x422e29b5,
-    0x42302acb,
-    0x4432072d,
-    0x4432873c,
-    0x44330748,
-    0x44338756,
-    0x44340769,
-    0x4434877a,
-    0x44350781,
-    0x4435878b,
-    0x4436079e,
-    0x443687b4,
-    0x443707c6,
-    0x443787d3,
-    0x443807e2,
-    0x443887ea,
-    0x44390802,
-    0x44398810,
-    0x443a0823,
-    0x483212f2,
-    0x48329304,
-    0x4833131a,
-    0x48339333,
-    0x4c321358,
-    0x4c329368,
-    0x4c33137b,
-    0x4c33939b,
-    0x4c3400ac,
-    0x4c3480ea,
-    0x4c3513a7,
-    0x4c3593b5,
-    0x4c3613d1,
-    0x4c3693f7,
-    0x4c371406,
-    0x4c379414,
-    0x4c381429,
-    0x4c389435,
-    0x4c391455,
-    0x4c39947f,
-    0x4c3a1498,
-    0x4c3a94b1,
-    0x4c3b05fd,
-    0x4c3b94ca,
-    0x4c3c14dc,
-    0x4c3c94eb,
-    0x4c3d1504,
-    0x4c3d8c47,
-    0x4c3e1571,
-    0x4c3e9513,
-    0x4c3f1593,
-    0x4c3f92c8,
-    0x4c401529,
-    0x4c409344,
-    0x4c411561,
-    0x4c4193e4,
-    0x4c42154d,
-    0x50323311,
-    0x5032b320,
-    0x5033332b,
-    0x5033b33b,
-    0x50343354,
-    0x5034b36e,
-    0x5035337c,
-    0x5035b392,
-    0x503633a4,
-    0x5036b3ba,
-    0x503733d3,
-    0x5037b3e6,
-    0x503833fe,
-    0x5038b40f,
-    0x50393424,
-    0x5039b438,
-    0x503a3458,
-    0x503ab46e,
-    0x503b3486,
-    0x503bb498,
-    0x503c34b4,
-    0x503cb4cb,
-    0x503d34e4,
-    0x503db4fa,
-    0x503e3507,
-    0x503eb51d,
-    0x503f352f,
-    0x503f837b,
-    0x50403542,
-    0x5040b552,
-    0x5041356c,
-    0x5041b57b,
-    0x50423595,
-    0x5042b5b2,
-    0x504335c2,
-    0x5043b5d2,
-    0x504435e1,
-    0x50448431,
-    0x504535f5,
-    0x5045b613,
-    0x50463626,
-    0x5046b63c,
-    0x5047364e,
-    0x5047b663,
-    0x50483689,
-    0x5048b697,
-    0x504936aa,
-    0x5049b6bf,
-    0x504a36d5,
-    0x504ab6e5,
-    0x504b3705,
-    0x504bb718,
-    0x504c373b,
-    0x504cb769,
-    0x504d377b,
-    0x504db798,
-    0x504e37b3,
-    0x504eb7cf,
-    0x504f37e1,
-    0x504fb7f8,
-    0x50503807,
-    0x505086f1,
-    0x5051381a,
-    0x58320f65,
-    0x68320f27,
-    0x68328c7f,
-    0x68330c92,
-    0x68338f35,
-    0x68340f45,
-    0x683480ea,
-    0x6c320eed,
-    0x6c328c36,
-    0x6c330ef8,
-    0x6c338f11,
-    0x74320a1b,
-    0x743280ac,
-    0x74330c47,
-    0x78320980,
-    0x78328995,
-    0x783309a1,
-    0x78338083,
-    0x783409b0,
-    0x783489c5,
-    0x783509e4,
-    0x78358a06,
-    0x78360a1b,
-    0x78368a31,
-    0x78370a41,
-    0x78378a62,
-    0x78380a75,
-    0x78388a87,
-    0x78390a94,
-    0x78398ab3,
-    0x783a0ac8,
-    0x783a8ad6,
-    0x783b0ae0,
-    0x783b8af4,
-    0x783c0b0b,
-    0x783c8b20,
-    0x783d0b37,
-    0x783d8b4c,
-    0x783e0aa2,
-    0x783e8a54,
-    0x7c3211e1,
-    0x803213f7,
-    0x80328083,
-    0x80333064,
-    0x803380ac,
-    0x80343073,
-    0x8034afdb,
-    0x80352ff9,
-    0x8035b087,
-    0x8036303b,
-    0x8036afea,
-    0x8037302d,
-    0x8037afc8,
-    0x8038304e,
-    0x8038b00a,
-    0x8039301f,
+    0x30340057,
+    0x30348071,
+    0x30350078,
+    0x30358090,
+    0x303600a1,
+    0x303680b9,
+    0x303700c6,
+    0x303780d5,
+    0x303800f7,
+    0x30388104,
+    0x30390117,
+    0x30398132,
+    0x303a0147,
+    0x303a815b,
+    0x303b016f,
+    0x303b8180,
+    0x303c0199,
+    0x303c81b6,
+    0x303d01c4,
+    0x303d81d8,
+    0x303e01e8,
+    0x303e8201,
+    0x303f0211,
+    0x303f8224,
+    0x30400233,
+    0x3040823f,
+    0x30410254,
+    0x30418264,
+    0x3042027b,
+    0x30428288,
+    0x3043029b,
+    0x304382aa,
+    0x304402bf,
+    0x304482e0,
+    0x304502f3,
+    0x30458306,
+    0x3046031f,
+    0x3046833a,
+    0x30470357,
+    0x30478369,
+    0x30480377,
+    0x30488388,
+    0x30490397,
+    0x304983af,
+    0x304a03c1,
+    0x304a83d5,
+    0x304b03ed,
+    0x304b8400,
+    0x304c040b,
+    0x304c841c,
+    0x304d0428,
+    0x304d843e,
+    0x304e044c,
+    0x304e8462,
+    0x304f0474,
+    0x304f8486,
+    0x305004a9,
+    0x305084bc,
+    0x305104cd,
+    0x305184dd,
+    0x305204f5,
+    0x3052850a,
+    0x30530522,
+    0x30538536,
+    0x3054054e,
+    0x30548567,
+    0x30550580,
+    0x3055859d,
+    0x305605a8,
+    0x305685c0,
+    0x305705d0,
+    0x305785e1,
+    0x305805f4,
+    0x3058860a,
+    0x30590613,
+    0x30598628,
+    0x305a063b,
+    0x305a864a,
+    0x305b066a,
+    0x305b8679,
+    0x305c069a,
+    0x305c86b6,
+    0x305d06c2,
+    0x305d86e2,
+    0x305e06fe,
+    0x305e870f,
+    0x305f0725,
+    0x305f872f,
+    0x30600499,
+    0x3060804a,
+    0x34320b72,
+    0x34328b86,
+    0x34330ba3,
+    0x34338bb6,
+    0x34340bc5,
+    0x34348bfe,
+    0x34350be2,
+    0x3c320090,
+    0x3c328cc9,
+    0x3c330ce2,
+    0x3c338cfd,
+    0x3c340d1a,
+    0x3c348d44,
+    0x3c350d5f,
+    0x3c358d85,
+    0x3c360d9e,
+    0x3c368db6,
+    0x3c370dc7,
+    0x3c378dd5,
+    0x3c380de2,
+    0x3c388df6,
+    0x3c390c8c,
+    0x3c398e19,
+    0x3c3a0e2d,
+    0x3c3a891c,
+    0x3c3b0e3d,
+    0x3c3b8e58,
+    0x3c3c0e6a,
+    0x3c3c8e9d,
+    0x3c3d0ea7,
+    0x3c3d8ebb,
+    0x3c3e0ec9,
+    0x3c3e8eee,
+    0x3c3f0cb5,
+    0x3c3f8ed7,
+    0x3c4000b9,
+    0x3c4080f7,
+    0x3c410d35,
+    0x3c418d74,
+    0x3c420e80,
+    0x3c428e0a,
+    0x403219a4,
+    0x403299ba,
+    0x403319e8,
+    0x403399f2,
+    0x40341a09,
+    0x40349a27,
+    0x40351a37,
+    0x40359a49,
+    0x40361a56,
+    0x40369a62,
+    0x40371a77,
+    0x40379a89,
+    0x40381a94,
+    0x40389aa6,
+    0x40390f34,
+    0x40399ab6,
+    0x403a1ac9,
+    0x403a9aea,
+    0x403b1afb,
+    0x403b9b0b,
+    0x403c0071,
+    0x403c8090,
+    0x403d1b6c,
+    0x403d9b82,
+    0x403e1b91,
+    0x403e9bc9,
+    0x403f1be3,
+    0x403f9c0b,
+    0x40401c20,
+    0x40409c34,
+    0x40411c6f,
+    0x40419c8a,
+    0x40421ca3,
+    0x40429cb6,
+    0x40431cca,
+    0x40439ce2,
+    0x40441cf9,
+    0x404480b9,
+    0x40451d0e,
+    0x40459d20,
+    0x40461d44,
+    0x40469d64,
+    0x40471d72,
+    0x40479d99,
+    0x40481e0a,
+    0x40489e3d,
+    0x40491e54,
+    0x40499e6e,
+    0x404a1e85,
+    0x404a9ea3,
+    0x404b1ebb,
+    0x404b9ee8,
+    0x404c1efe,
+    0x404c9f10,
+    0x404d1f31,
+    0x404d9f6a,
+    0x404e1f7e,
+    0x404e9f8b,
+    0x404f1fd2,
+    0x404fa018,
+    0x4050206f,
+    0x4050a083,
+    0x405120b6,
+    0x405220c6,
+    0x4052a0ea,
+    0x40532102,
+    0x4053a115,
+    0x4054212a,
+    0x4054a14d,
+    0x40552178,
+    0x4055a1b5,
+    0x405621da,
+    0x4056a1f3,
+    0x4057220b,
+    0x4057a21e,
+    0x40582233,
+    0x4058a25a,
+    0x40592289,
+    0x4059a2b6,
+    0x405a22ca,
+    0x405aa2da,
+    0x405b22f2,
+    0x405ba303,
+    0x405c2316,
+    0x405ca355,
+    0x405d2362,
+    0x405da387,
+    0x405e23c5,
+    0x405e8ac0,
+    0x405f23e6,
+    0x405fa3f3,
+    0x40602401,
+    0x4060a423,
+    0x40612484,
+    0x4061a4bc,
+    0x406224d3,
+    0x4062a4e4,
+    0x40632531,
+    0x4063a546,
+    0x4064255d,
+    0x4064a589,
+    0x406525a4,
+    0x4065a5bb,
+    0x406625d3,
+    0x4066a5fd,
+    0x40672628,
+    0x4067a66d,
+    0x406826b5,
+    0x4068a6d6,
+    0x40692708,
+    0x4069a736,
+    0x406a2757,
+    0x406aa777,
+    0x406b28ff,
+    0x406ba922,
+    0x406c2938,
+    0x406cac29,
+    0x406d2c58,
+    0x406dac80,
+    0x406e2cae,
+    0x406eacfb,
+    0x406f2d54,
+    0x406fad8c,
+    0x40702d9f,
+    0x4070adbc,
+    0x4071080f,
+    0x4071adce,
+    0x40722de1,
+    0x4072ae17,
+    0x40732e2f,
+    0x40739511,
+    0x40742e43,
+    0x4074ae5d,
+    0x40752e6e,
+    0x4075ae82,
+    0x40762e90,
+    0x407692d5,
+    0x40772eb5,
+    0x4077aed7,
+    0x40782ef2,
+    0x4078af2b,
+    0x40792f42,
+    0x4079af58,
+    0x407a2f84,
+    0x407aaf97,
+    0x407b2fac,
+    0x407bafbe,
+    0x407c2fef,
+    0x407caff8,
+    0x407d26f1,
+    0x407da028,
+    0x407e2f07,
+    0x407ea26a,
+    0x407f1d86,
+    0x407f9ed2,
+    0x40801fe2,
+    0x40809dae,
+    0x408120d8,
+    0x40819fbc,
+    0x40822c99,
+    0x40829b17,
+    0x40832245,
+    0x4083a56e,
+    0x40841dc2,
+    0x4084a2a2,
+    0x40852327,
+    0x4085a44b,
+    0x408623a7,
+    0x4086a042,
+    0x40872cdf,
+    0x4087a499,
+    0x40881b55,
+    0x4088a680,
+    0x40891ba4,
+    0x40899b31,
+    0x408a2970,
+    0x408a9929,
+    0x408b2fd3,
+    0x408bad69,
+    0x408c2337,
+    0x408c9961,
+    0x408d1e23,
+    0x408d9df4,
+    0x408e1f53,
+    0x408ea195,
+    0x408f2694,
+    0x408fa467,
+    0x40902649,
+    0x4090a379,
+    0x40912958,
+    0x40919987,
+    0x40921bf1,
+    0x4092ad1a,
+    0x40932dfa,
+    0x4093a053,
+    0x40941dd6,
+    0x4094a989,
+    0x409524f5,
+    0x4095af64,
+    0x40962cc6,
+    0x40969ffb,
+    0x4097209e,
+    0x40979fa2,
+    0x40981c51,
+    0x4098a509,
+    0x40992d36,
+    0x4099a1c2,
+    0x409a215b,
+    0x409a9945,
+    0x41f4282a,
+    0x41f928bc,
+    0x41fe27af,
+    0x41feaa65,
+    0x41ff2b7a,
+    0x42032843,
+    0x42082865,
+    0x4208a8a1,
+    0x42092793,
+    0x4209a8db,
+    0x420a27ea,
+    0x420aa7ca,
+    0x420b280a,
+    0x420ba883,
+    0x420c2b96,
+    0x420ca999,
+    0x420d2a4c,
+    0x420daa83,
+    0x42122a9d,
+    0x42172b5d,
+    0x4217aadf,
+    0x421c2b01,
+    0x421f2abc,
+    0x42212c0e,
+    0x42262b40,
+    0x422b2bec,
+    0x422baa27,
+    0x422c2bce,
+    0x422ca9da,
+    0x422d29b3,
+    0x422dabad,
+    0x422e2a06,
+    0x42302b1c,
+    0x4432073a,
+    0x44328749,
+    0x44330755,
+    0x44338763,
+    0x44340776,
+    0x44348787,
+    0x4435078e,
+    0x44358798,
+    0x443607ab,
+    0x443687c1,
+    0x443707d3,
+    0x443787e0,
+    0x443807ef,
+    0x443887f7,
+    0x4439080f,
+    0x4439881d,
+    0x443a0830,
+    0x483212ff,
+    0x48329311,
+    0x48331327,
+    0x48339340,
+    0x4c321365,
+    0x4c329375,
+    0x4c331388,
+    0x4c3393a8,
+    0x4c3400b9,
+    0x4c3480f7,
+    0x4c3513b4,
+    0x4c3593c2,
+    0x4c3613de,
+    0x4c369404,
+    0x4c371413,
+    0x4c379421,
+    0x4c381436,
+    0x4c389442,
+    0x4c391462,
+    0x4c39948c,
+    0x4c3a14a5,
+    0x4c3a94be,
+    0x4c3b060a,
+    0x4c3b94d7,
+    0x4c3c14e9,
+    0x4c3c94f8,
+    0x4c3d1511,
+    0x4c3d8c54,
+    0x4c3e157e,
+    0x4c3e9520,
+    0x4c3f15a0,
+    0x4c3f92d5,
+    0x4c401536,
+    0x4c409351,
+    0x4c41156e,
+    0x4c4193f1,
+    0x4c42155a,
+    0x50323362,
+    0x5032b371,
+    0x5033337c,
+    0x5033b38c,
+    0x503433a5,
+    0x5034b3bf,
+    0x503533cd,
+    0x5035b3e3,
+    0x503633f5,
+    0x5036b40b,
+    0x50373424,
+    0x5037b437,
+    0x5038344f,
+    0x5038b460,
+    0x50393475,
+    0x5039b489,
+    0x503a34a9,
+    0x503ab4bf,
+    0x503b34d7,
+    0x503bb4e9,
+    0x503c3505,
+    0x503cb51c,
+    0x503d3535,
+    0x503db54b,
+    0x503e3558,
+    0x503eb56e,
+    0x503f3580,
+    0x503f8388,
+    0x50403593,
+    0x5040b5a3,
+    0x504135bd,
+    0x5041b5cc,
+    0x504235e6,
+    0x5042b603,
+    0x50433613,
+    0x5043b623,
+    0x50443632,
+    0x5044843e,
+    0x50453646,
+    0x5045b664,
+    0x50463677,
+    0x5046b68d,
+    0x5047369f,
+    0x5047b6b4,
+    0x504836da,
+    0x5048b6e8,
+    0x504936fb,
+    0x5049b710,
+    0x504a3726,
+    0x504ab736,
+    0x504b3756,
+    0x504bb769,
+    0x504c378c,
+    0x504cb7ba,
+    0x504d37cc,
+    0x504db7e9,
+    0x504e3804,
+    0x504eb820,
+    0x504f3832,
+    0x504fb849,
+    0x50503858,
+    0x505086fe,
+    0x5051386b,
+    0x58320f72,
+    0x68320f34,
+    0x68328c8c,
+    0x68330c9f,
+    0x68338f42,
+    0x68340f52,
+    0x683480f7,
+    0x6c320efa,
+    0x6c328c43,
+    0x6c330f05,
+    0x6c338f1e,
+    0x74320a28,
+    0x743280b9,
+    0x74330c54,
+    0x7832098d,
+    0x783289a2,
+    0x783309ae,
+    0x78338090,
+    0x783409bd,
+    0x783489d2,
+    0x783509f1,
+    0x78358a13,
+    0x78360a28,
+    0x78368a3e,
+    0x78370a4e,
+    0x78378a6f,
+    0x78380a82,
+    0x78388a94,
+    0x78390aa1,
+    0x78398ac0,
+    0x783a0ad5,
+    0x783a8ae3,
+    0x783b0aed,
+    0x783b8b01,
+    0x783c0b18,
+    0x783c8b2d,
+    0x783d0b44,
+    0x783d8b59,
+    0x783e0aaf,
+    0x783e8a61,
+    0x7c3211ee,
+    0x80321404,
+    0x80328090,
+    0x803330b5,
+    0x803380b9,
+    0x803430c4,
+    0x8034b02c,
+    0x8035304a,
+    0x8035b0d8,
+    0x8036308c,
+    0x8036b03b,
+    0x8037307e,
+    0x8037b019,
+    0x8038309f,
+    0x8038b05b,
+    0x80393070,
 };
 
 const size_t kOpenSSLReasonValuesLen = sizeof(kOpenSSLReasonValues) / sizeof(kOpenSSLReasonValues[0]);
@@ -789,6 +792,7 @@
     "AUX_ERROR\0"
     "BAD_GET_ASN1_OBJECT_CALL\0"
     "BAD_OBJECT_HEADER\0"
+    "BAD_TEMPLATE\0"
     "BMPSTRING_IS_WRONG_LENGTH\0"
     "BN_LIB\0"
     "BOOLEAN_IS_WRONG_LENGTH\0"
@@ -1113,6 +1117,7 @@
     "VALUE_MISSING\0"
     "WRONG_SIGNATURE_LENGTH\0"
     "ALPN_MISMATCH_ON_EARLY_DATA\0"
+    "ALPS_MISMATCH_ON_EARLY_DATA\0"
     "APPLICATION_DATA_INSTEAD_OF_HANDSHAKE\0"
     "APPLICATION_DATA_ON_SHUTDOWN\0"
     "APP_DATA_IN_HANDSHAKE\0"
@@ -1196,7 +1201,6 @@
     "INVALID_TICKET_KEYS_LENGTH\0"
     "KEY_USAGE_BIT_INCORRECT\0"
     "LENGTH_MISMATCH\0"
-    "MISSING_ALPN\0"
     "MISSING_EXTENSION\0"
     "MISSING_KEY_SHARE\0"
     "MISSING_RSA_CERTIFICATE\0"
@@ -1204,9 +1208,11 @@
     "MISSING_TMP_ECDH_KEY\0"
     "MIXED_SPECIAL_OPERATOR_WITH_GROUPS\0"
     "MTU_TOO_SMALL\0"
+    "NEGOTIATED_ALPS_WITHOUT_ALPN\0"
     "NEGOTIATED_BOTH_NPN_AND_ALPN\0"
     "NEGOTIATED_TB_WITHOUT_EMS_OR_RI\0"
     "NESTED_GROUP\0"
+    "NO_APPLICATION_PROTOCOL\0"
     "NO_CERTIFICATES_RETURNED\0"
     "NO_CERTIFICATE_ASSIGNED\0"
     "NO_CERTIFICATE_SET\0"
diff --git a/third_party/boringssl/src b/third_party/boringssl/src
index a673d02..1a7456a 160000
--- a/third_party/boringssl/src
+++ b/third_party/boringssl/src
@@ -1 +1 @@
-Subproject commit a673d02458b1b7d897084266b93d5c610e36bd17
+Subproject commit 1a7456ac15c231f8581cb5bb09fa12571640a25d