Skip to content

Commit ae7fec4

Browse files
committed
Security Library
1 parent 932f2b3 commit ae7fec4

7,944 files changed

Lines changed: 2118951 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
third_party/googletest
2+
util/bazel-example
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Copyright 2024 The BoringSSL Authors
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# https://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
# This is a bazelrc file, documented in https://bazel.build/run/bazelrc and
16+
# specifies default flags when BoringSSL is the root project. It has no effect
17+
# on downstream projects, which define their own toolchains and configs.
18+
19+
# See https://bazel.build/run/bazelrc#enable_platform_specific_config.
20+
# This expands to --config=osname which, in turn, expands to the options
21+
# specified below.
22+
build --enable_platform_specific_config
23+
24+
# Enable additional checks.
25+
build --features=layering_check
26+
build --features=parse_headers
27+
28+
# Bazel has no abstractions for setting C++ versions and expects the root
29+
# project to use the compiler-specific options for their toolchains. (Bazel only
30+
# wants the root to set the C++ version for the sake of projects like Abseil
31+
# whose ABI depends on the C++ version.)
32+
build:linux --cxxopt=-std=c++17
33+
build:macos --cxxopt=-std=c++17
34+
build:windows --cxxopt=/std:c++17
35+
36+
# Our own builds should strictly build without warnings, but we don't add those
37+
# in targets like other flags because we can't assume all users will have clean
38+
# builds too.
39+
build:linux --cxxopt=-Werror
40+
build:macos --cxxopt=-Werror
41+
42+
# Without setting a minimum macOS version, std::optional does not work.
43+
build:macos --cxxopt=-mmacosx-version-min=10.15
44+
45+
# Without /Zc:__cplusplus, MSVC does not define the right value for
46+
# __cplusplus. See https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/
47+
build:windows --cxxopt=/Zc:__cplusplus
48+
49+
# https://bazel.build/configure/best-practices#bazelrc-file
50+
try-import %workspace%/user.bazelrc
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
7.5.0
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# BCR Configuration
2+
3+
This directory contains configuration information for BCR. It is patterned after
4+
the [Publish to BCR app](https://github.com/bazel-contrib/publish-to-bcr/tree/main/templates),
5+
which we have [opted not to use](https://github.com/bazel-contrib/publish-to-bcr/issues/157).
6+
However, `presubmit.yml` is used by [our own BCR tooling](../docs/releasing.md).

Engine/src/AppCode/security/.bcr/config.yml

Whitespace-only changes.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"homepage": "https://boringssl.googlesource.com/boringssl/",
3+
"maintainers": [
4+
{
5+
"email": "agl@google.com",
6+
"github": "agl",
7+
"name": "Adam Langley"
8+
},
9+
{
10+
"email": "davidben@google.com",
11+
"github": "davidben",
12+
"name": "David Benjamin"
13+
},
14+
{
15+
"email": "dadrian@google.com",
16+
"github": "dadrian",
17+
"name": "David Adrian"
18+
}
19+
],
20+
"repository": [
21+
"github:google/boringssl"
22+
],
23+
"versions": [],
24+
"yanked_versions": {}
25+
}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
build_targets: &build_targets
2+
- "@boringssl//:crypto"
3+
- "@boringssl//:ssl"
4+
5+
matrix: &matrix
6+
linux_platforms:
7+
- debian11
8+
- ubuntu2204
9+
bazel: [7.x]
10+
tasks:
11+
verify_targets_on_linux:
12+
name: Verify build targets on Linux
13+
platform: ${{ linux_platforms }}
14+
bazel: ${{ bazel }}
15+
build_targets: *build_targets
16+
build_flags:
17+
- '--cxxopt=-std=c++17'
18+
verify_targets_on_windows:
19+
name: Verify build targets on Windows
20+
platform: windows
21+
bazel: ${{ bazel }}
22+
build_targets: *build_targets
23+
build_flags:
24+
- '--cxxopt=/std:c++17'
25+
# Work around https://github.com/bazelbuild/bazel/issues/10472
26+
verify_targets_on_macos:
27+
name: Verify build targets on macOS
28+
platform: macos
29+
bazel: ${{ bazel }}
30+
build_targets: *build_targets
31+
build_flags: &macos_workaround
32+
- '--cxxopt=-std=c++17'
33+
- '--sandbox_block_path=/usr/local'
34+
bcr_test_module:
35+
module_path: util/bazel-example
36+
matrix: *matrix
37+
tasks:
38+
run_test_module_on_linux:
39+
name: Run test module on Linux
40+
platform: ${{ linux_platforms }}
41+
bazel: ${{ bazel }}
42+
build_targets:
43+
- //...
44+
build_flags:
45+
- '--cxxopt=-std=c++17'
46+
run_test_module_on_windows:
47+
name: Run test module on Windows
48+
platform: windows
49+
bazel: ${{ bazel }}
50+
build_targets:
51+
- //...
52+
build_flags:
53+
- '--cxxopt=/std:c++17'
54+
# Work around https://github.com/bazelbuild/bazel/issues/10472
55+
run_test_module_on_macos:
56+
name: Run test module on macOS
57+
platform: macos
58+
bazel: ${{ bazel }}
59+
build_targets:
60+
- //...
61+
build_flags: *macos_workaround
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"integrity": "",
3+
"strip_prefix": "{REPO}-{VERSION}",
4+
"url": "https://github.com/{OWNER}/{REPO}/releases/download/{TAG}/{REPO}-{TAG}.tar.gz"
5+
}
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
BasedOnStyle: Google
2+
MaxEmptyLinesToKeep: 3
3+
AllowShortIfStatementsOnASingleLine: false
4+
AllowShortLoopsOnASingleLine: false
5+
DerivePointerAlignment: false
6+
PointerAlignment: Right
7+
# TODO(davidben): The default for Google style is now Regroup, but the default
8+
# IncludeCategories does not recognize <openssl/header.h>. We should
9+
# reconfigure IncludeCategories to match. For now, keep it at Preserve.
10+
IncludeBlocks: Preserve
11+
InsertBraces: true
12+
TypenameMacros: ['LHASH_OF', 'STACK_OF']
13+
StatementMacros:
14+
- "DECLARE_ASN1_ALLOC_FUNCTIONS"
15+
- "DECLARE_ASN1_ALLOC_FUNCTIONS_name"
16+
- "DECLARE_ASN1_ENCODE_FUNCTIONS"
17+
- "DECLARE_ASN1_ENCODE_FUNCTIONS_const"
18+
- "DECLARE_ASN1_FUNCTIONS"
19+
- "DECLARE_ASN1_FUNCTIONS_const"
20+
- "DECLARE_ASN1_FUNCTIONS_fname"
21+
- "DECLARE_ASN1_FUNCTIONS_name"
22+
- "DECLARE_PEM_read"
23+
- "DECLARE_PEM_read_bio"
24+
- "DECLARE_PEM_read_fp"
25+
- "DECLARE_PEM_rw"
26+
- "DECLARE_PEM_rw_cb"
27+
- "DECLARE_PEM_rw_const"
28+
- "DECLARE_PEM_write"
29+
- "DECLARE_PEM_write_bio"
30+
- "DECLARE_PEM_write_bio_const"
31+
- "DECLARE_PEM_write_cb"
32+
- "DECLARE_PEM_write_cb_bio"
33+
- "DECLARE_PEM_write_cb_fp"
34+
- "DECLARE_PEM_write_const"
35+
- "DECLARE_PEM_write_fp"
36+
- "DECLARE_PEM_write_fp_const"
37+
- "IMPLEMENT_ASN1_ALLOC_FUNCTIONS"
38+
- "IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname"
39+
- "IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname"
40+
- "IMPLEMENT_ASN1_DUP_FUNCTION"
41+
- "IMPLEMENT_ASN1_DUP_FUNCTION_const"
42+
- "IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname"
43+
- "IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname"
44+
- "IMPLEMENT_ASN1_FUNCTIONS"
45+
- "IMPLEMENT_ASN1_FUNCTIONS_const"
46+
- "IMPLEMENT_ASN1_FUNCTIONS_const_fname"
47+
- "IMPLEMENT_ASN1_FUNCTIONS_ENCODE_name"
48+
- "IMPLEMENT_ASN1_FUNCTIONS_fname"
49+
- "IMPLEMENT_ASN1_FUNCTIONS_name"
50+
- "IMPLEMENT_ASN1_TYPE_ex"
51+
- "IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS"
52+
- "IMPLEMENT_PEM_read"
53+
- "IMPLEMENT_PEM_read_bio"
54+
- "IMPLEMENT_PEM_read_fp"
55+
- "IMPLEMENT_PEM_rw"
56+
- "IMPLEMENT_PEM_rw_cb"
57+
- "IMPLEMENT_PEM_rw_const"
58+
- "IMPLEMENT_PEM_write"
59+
- "IMPLEMENT_PEM_write_bio"
60+
- "IMPLEMENT_PEM_write_bio_const"
61+
- "IMPLEMENT_PEM_write_cb"
62+
- "IMPLEMENT_PEM_write_cb_bio"
63+
- "IMPLEMENT_PEM_write_cb_bio_const"
64+
- "IMPLEMENT_PEM_write_cb_const"
65+
- "IMPLEMENT_PEM_write_cb_fp"
66+
- "IMPLEMENT_PEM_write_cb_fp_const"
67+
- "IMPLEMENT_PEM_write_const"
68+
- "IMPLEMENT_PEM_write_fp"
69+
- "IMPLEMENT_PEM_write_fp_const"
70+
- "ASN1_ADB_END"
71+
- "ASN1_CHOICE_END"
72+
- "ASN1_CHOICE_END_cb"
73+
- "ASN1_ITEM_TEMPLATE_END"
74+
- "ASN1_SEQUENCE_END"
75+
- "ASN1_SEQUENCE_END_cb"
76+
- "ASN1_SEQUENCE_END_enc"
77+
- "ASN1_SEQUENCE_END_ref"
78+
# This isn't quite right, but it causes clang-format to do a slightly better
79+
# job with this macro.
80+
- "ASN1_EX_TEMPLATE_TYPE"
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Please do not send pull requests to the BoringSSL repository.
2+
3+
We do, however, take contributions gladly.
4+
5+
See https://boringssl.googlesource.com/boringssl/+/main/CONTRIBUTING.md
6+
7+
Thanks!

0 commit comments

Comments
 (0)