update master-with-bazel from master branch

This commit is contained in:
BoringSSL Robot
2022-03-23 19:39:41 +00:00
16 changed files with 6064 additions and 2740 deletions
+4 -6
View File
@@ -30,12 +30,10 @@ most recent stable version of each tool.
by CMake, it may be configured explicitly by setting
`CMAKE_ASM_NASM_COMPILER`.
* C and C++ compilers with C++11 support are required. On Windows, MSVC 14
(Visual Studio 2015) or later with Platform SDK 8.1 or later are supported,
but newer versions are recommended. We will drop support for Visual Studio
2015 in March 2022, five years after the release of Visual Studio 2017.
Recent versions of GCC (6.1+) and Clang should work on non-Windows
platforms, and maybe on Windows too.
* C and C++ compilers with C++11 support are required. On Windows, MSVC from
Visual Studio 2017 or later with Platform SDK 8.1 or later are supported,
but newer versions are recommended. Recent versions of GCC (6.1+) and Clang
should work on non-Windows platforms, and maybe on Windows too.
* The most recent stable version of [Go](https://golang.org/dl/) is required.
Note Go is exempt from the five year support window. If not found by CMake,
+4 -3
View File
@@ -58,9 +58,10 @@ TEST(ABITest, SanityCheck) {
#if defined(OPENSSL_WINDOWS)
// The invalid epilog makes Windows believe the epilog starts later than it
// actually does. As a result, immediately after the popq, it does not
// realize the stack has been unwound and repeats the work.
EXPECT_NONFATAL_FAILURE(CHECK_ABI_SEH(abi_test_bad_unwind_epilog),
"unwound past starting frame");
// realize the stack has been unwound and repeats the popq. This will result
// in reading the wrong return address and fail to unwind. The exact failure
// may vary depending on what was on the stack before.
EXPECT_NONFATAL_FAILURE(CHECK_ABI_SEH(abi_test_bad_unwind_epilog), "");
CHECK_ABI_NO_UNWIND(abi_test_bad_unwind_epilog);
#endif // OPENSSL_WINDOWS
}
+4
View File
@@ -36,6 +36,10 @@
// Various pre-computed constants.
#include "./curve25519_tables.h"
#if defined(OPENSSL_NO_ASM)
#define FIAT_25519_NO_ASM
#endif
#if defined(BORINGSSL_CURVE25519_64BIT)
#include "../../third_party/fiat/curve25519_64.h"
#else
+3 -1
View File
@@ -31,8 +31,10 @@
#include "../delocate.h"
#include "./internal.h"
#if defined(OPENSSL_NO_ASM)
#define FIAT_P256_NO_ASM
#endif
// MSVC does not implement uint128_t, and crashes with intrinsics
#if defined(BORINGSSL_HAS_UINT128)
#define BORINGSSL_NISTP256_64BIT 1
#include "../../../third_party/fiat/p256_64.h"
+12 -17
View File
@@ -96,6 +96,16 @@ class Span : private internal::SpanBase<const T> {
private:
static const size_t npos = static_cast<size_t>(-1);
// Heuristically test whether C is a container type that can be converted into
// a Span by checking for data() and size() member functions.
//
// TODO(davidben): Require C++14 support and switch to std::enable_if_t.
// Perhaps even C++17 now?
template <typename C>
using EnableIfContainer = typename std::enable_if<
std::is_convertible<decltype(std::declval<C>().data()), T *>::value &&
std::is_integral<decltype(std::declval<C>().size())>::value>::type;
public:
constexpr Span() : Span(nullptr, 0) {}
constexpr Span(T *ptr, size_t len) : data_(ptr), size_(len) {}
@@ -104,27 +114,12 @@ class Span : private internal::SpanBase<const T> {
constexpr Span(T (&array)[N]) : Span(array, N) {}
template <
typename C,
// TODO(davidben): Switch everything to std::enable_if_t when we remove
// support for MSVC 2015. Although we could write our own enable_if_t and
// MSVC 2015 has std::enable_if_t anyway, MSVC 2015's SFINAE
// implementation is problematic and does not work below unless we write
// the ::type at use.
//
// TODO(davidben): Move this and the identical copy below into an
// EnableIfContainer alias when we drop MSVC 2015 support. MSVC 2015's
// SFINAE support cannot handle type aliases.
typename = typename std::enable_if<
std::is_convertible<decltype(std::declval<C>().data()), T *>::value &&
std::is_integral<decltype(std::declval<C>().size())>::value>::type,
typename C, typename = EnableIfContainer<C>,
typename = typename std::enable_if<std::is_const<T>::value, C>::type>
Span(const C &container) : data_(container.data()), size_(container.size()) {}
template <
typename C,
typename = typename std::enable_if<
std::is_convertible<decltype(std::declval<C>().data()), T *>::value &&
std::is_integral<decltype(std::declval<C>().size())>::value>::type,
typename C, typename = EnableIfContainer<C>,
typename = typename std::enable_if<!std::is_const<T>::value, C>::type>
explicit Span(C &container)
: data_(container.data()), size_(container.size()) {}
+1 -1
View File
@@ -418,7 +418,7 @@ static bool is_probably_jdk11_with_tls13(const SSL_CLIENT_HELLO *client_hello) {
// JDK 11 always sends extensions in a particular order.
constexpr uint16_t kMaxFragmentLength = 0x0001;
constexpr uint16_t kStatusRequestV2 = 0x0011;
static CONSTEXPR_ARRAY struct {
static constexpr struct {
uint16_t id;
bool required;
} kJavaExtensions[] = {
-8
View File
@@ -245,14 +245,6 @@ UniquePtr<T> MakeUnique(Args &&... args) {
{ abort(); }
#endif
// CONSTEXPR_ARRAY works around a VS 2015 bug where ranged for loops don't work
// on constexpr arrays.
#if defined(_MSC_VER) && !defined(__clang__) && _MSC_VER < 1910
#define CONSTEXPR_ARRAY const
#else
#define CONSTEXPR_ARRAY constexpr
#endif
// Array<T> is an owning array of elements of |T|.
template <typename T>
class Array {
+1 -1
View File
@@ -290,7 +290,7 @@ class CECPQ2KeyShare : public SSLKeyShare {
HRSS_private_key hrss_private_key_;
};
CONSTEXPR_ARRAY NamedGroup kNamedGroups[] = {
constexpr NamedGroup kNamedGroups[] = {
{NID_secp224r1, SSL_CURVE_SECP224R1, "P-224", "secp224r1"},
{NID_X9_62_prime256v1, SSL_CURVE_SECP256R1, "P-256", "prime256v1"},
{NID_secp384r1, SSL_CURVE_SECP384R1, "P-384", "secp384r1"},
+1 -1
View File
@@ -1,6 +1,6 @@
The MIT License (MIT)
Copyright (c) 2015-2016 the fiat-crypto authors (see
Copyright (c) 2015-2020 the fiat-crypto authors (see
https://github.com/mit-plv/fiat-crypto/blob/master/AUTHORS).
Permission is hereby granted, free of charge, to any person obtaining a copy
+3 -3
View File
@@ -6,8 +6,8 @@ third_party {
type: GIT
value: "https://github.com/mit-plv/fiat-crypto"
}
version: "0884b6d374a9d937c44bf024fe3a647ffae2c540"
last_upgrade_date { year: 2020 month: 4 day: 16 }
version: "6ccc6638716d4632304baf1adbb5c47c3a12ea6f"
last_upgrade_date { year: 2022 month: 3 day: 22 }
local_modifications: "Files renamed to .h for BoringSSL integration. Select functions patched with value barriers."
local_modifications: "Files renamed to .h for BoringSSL integration. LICENSE file is LICENSE-MIT from upstream."
}
+1241 -657
View File
File diff suppressed because it is too large Load Diff
+751 -398
View File
File diff suppressed because it is too large Load Diff
+2766 -1153
View File
File diff suppressed because it is too large Load Diff
+1272 -487
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -19,7 +19,7 @@ vars = {
'checkout_sde': False,
'checkout_nasm': False,
'checkout_libcxx': False,
'vs_version': '2015',
'vs_version': '2017',
# Run the following command to see the latest builds in CIPD:
# cipd describe PACKAGE_NAME -version latest
-3
View File
@@ -62,9 +62,6 @@ def FindDepotTools():
def _GetDesiredVsToolchainHashes(version):
"""Load a list of SHA1s corresponding to the toolchains that we want installed
to build with."""
if version == '2015':
# Update 3 final with 10.0.15063.468 SDK and no vctip.exe.
return ['f53e4598951162bad6330f7a167486c7ae5db1e5']
if version == '2017':
# VS 2017 Update 9 (15.9.12) with 10.0.18362 SDK, 10.0.17763 version of
# Debuggers, and 10.0.17134 version of d3dcompiler_47.dll, with ARM64