Go to file
David Benjamin b1133e9565 Fix up macros.
Macros need a healthy dose of parentheses to avoid expression-level
misparses. Most of this comes from the clang-tidy CL here:
https://android-review.googlesource.com/c/235696/

Also switch most of the macros to use do { ... } while (0) to avoid all
the excessive comma operators and statement-level misparses.

Change-Id: I4c2ee51e347d2aa8c74a2d82de63838b03bbb0f9
Reviewed-on: https://boringssl-review.googlesource.com/11660
Commit-Queue: David Benjamin <davidben@google.com>
Reviewed-by: Adam Langley <agl@google.com>
2016-10-18 18:28:23 +00:00
.github Add a PULL_REQUEST_TEMPLATE. 2016-03-08 15:23:52 +00:00
crypto Fix up macros. 2016-10-18 18:28:23 +00:00
decrepit Fix up macros. 2016-10-18 18:28:23 +00:00
fuzz Include |SSL_CTX_set_signing_algorithm_prefs| in SSL_CTX fuzzer. 2016-10-18 17:39:47 +00:00
include/openssl Fix up macros. 2016-10-18 18:28:23 +00:00
infra/config Commit-Queue config: effectively remove Andorid builders. 2016-07-26 13:14:47 +00:00
ssl Fix memory leak in set_signing_algorithm_prefs. 2016-10-18 14:13:53 +00:00
third_party/android-cmake Move android-cmake README to METADATA file. 2016-09-14 17:18:51 +00:00
tool Place comment(lib, *) pragmas under OPENSSL_MSVC_PRAGMA. 2016-10-10 19:25:55 +00:00
util Preventing ppc64le files from being generated for Android. 2016-10-06 18:09:37 +00:00
.clang-format Import `newhope' (post-quantum key exchange). 2016-04-26 22:53:59 +00:00
.gitignore
API-CONVENTIONS.md Update API-CONVENTIONS.md for the new scopers. 2016-09-13 18:49:13 +00:00
BUILDING.md Allow .arch directives with Clang. 2016-08-26 17:45:49 +00:00
CMakeLists.txt Fix the run_tests target in fuzzer mode. 2016-10-14 16:01:47 +00:00
codereview.settings No-op change to trigger the new Bazel bot. 2016-07-07 12:07:04 -07:00
CONTRIBUTING.md
FUZZING.md Add a fuzzer for the SSL_CTX API. 2016-10-04 23:07:09 +00:00
INCORPORATING.md Remove backslash. 2016-07-07 21:39:44 +00:00
LICENSE Add some bug references to the LICENSE file. 2016-02-22 20:16:48 +00:00
PORTING.md Add a note in PORTING to ask us before adding ifdefs. 2016-08-11 15:48:14 +00:00
README.md Add an API-CONVENTIONS.md document. 2016-08-04 23:27:49 +00:00
STYLE.md Clarify CBS/CBB with respect to high tag number form. 2016-08-26 17:48:48 +00:00

BoringSSL

BoringSSL is a fork of OpenSSL that is designed to meet Google's needs.

Although BoringSSL is an open source project, it is not intended for general use, as OpenSSL is. We don't recommend that third parties depend upon it. Doing so is likely to be frustrating because there are no guarantees of API or ABI stability.

Programs ship their own copies of BoringSSL when they use it and we update everything as needed when deciding to make API changes. This allows us to mostly avoid compromises in the name of compatibility. It works for us, but it may not work for you.

BoringSSL arose because Google used OpenSSL for many years in various ways and, over time, built up a large number of patches that were maintained while tracking upstream OpenSSL. As Google's product portfolio became more complex, more copies of OpenSSL sprung up and the effort involved in maintaining all these patches in multiple places was growing steadily.

Currently BoringSSL is the SSL library in Chrome/Chromium, Android (but it's not part of the NDK) and a number of other apps/programs.

There are other files in this directory which might be helpful: