C C++ Perl Go Assembly Python Other
Clone or download
davidben and CQ bot account: commit-bot@chromium.org Clear r->neg in bn_mod_{add,sub}_consttime.
Otherwise, if the output BIGNUM was previously negative, we'd incorrectly give
a negative result. Thanks to Guide Vranken for reporting this issue!

Fortunately, this does not appear to come up in any existing caller. This isn't
all that surprising as negative numbers never really come up in cryptography.
Were it not for OpenSSL historically designing a calculator API, we'd just
delete the bit altogether. :-(

Bug: chromium:865924
Change-Id: I28fdc986dfaba3e38435b14ebf07453d537cc60a
Reviewed-on: https://boringssl-review.googlesource.com/29944
Commit-Queue: David Benjamin <davidben@google.com>
Commit-Queue: Adam Langley <agl@google.com>
Reviewed-by: Adam Langley <agl@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Latest commit 20b6a4e Jul 21, 2018
Failed to load latest commit information.
.github Add a PULL_REQUEST_TEMPLATE. Mar 8, 2016
crypto Clear r->neg in bn_mod_{add,sub}_consttime. Jul 20, 2018
decrepit fix compilation error for non-english windows (like cjk) Mar 15, 2018
fipstools Merge NIAP and FIPS test suites. Feb 20, 2018
fuzz Add “bssl::” prefix to |UpRef| and |PushToStack| in fuzzer code. Jul 5, 2018
include/openssl Remove more remnants of SSLv3. Jul 17, 2018
infra/config Revert "Reland "Revert "Add other Windows configurations to the CQ.""" Jun 14, 2018
ssl shim: call SSL_CTX_set_tlsext_ticket_keys() only once. Jul 19, 2018
third_party Update Wycheproof test vectors. Jul 13, 2018
tool Remove SSL 3.0 implementation. Jun 28, 2018
util Add support for building ppc64le with bazel Jul 16, 2018
.clang-format Import `newhope' (post-quantum key exchange). Apr 26, 2016
.gitignore Switch to 64-bit tools on Windows. Jun 29, 2018
API-CONVENTIONS.md Fix API-CONVENTIONS.md typos. Jan 4, 2017
BREAKING-CHANGES.md Add some notes on how to handle breaking changes. Apr 28, 2018
BUILDING.md Add -DOPENSSL_SMALL to CMake. Mar 23, 2018
CMakeLists.txt Add link to CMake bugfix. Jul 6, 2018
CONTRIBUTING.md Add a CONTRIBUTING.md file. Feb 10, 2016
FUZZING.md Fix typo in FUZZING.md. Jul 6, 2017
INCORPORATING.md Update links to Bazel's site. Oct 31, 2016
LICENSE Note licenses for support code in the top-level LICENSE file. Mar 27, 2018
PORTING.md Remove reference to SSL3 in PORTING.md. Jun 29, 2018
README.md Add some notes on how to handle breaking changes. Apr 28, 2018
STYLE.md Fix some style guide samples. Aug 31, 2017
codereview.settings No-op change to trigger the new Bazel bot. Jul 7, 2016
sources.cmake Remove SSL 3.0 implementation. Jun 28, 2018



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: