Go to file
David Benjamin 20b6a4e2a1 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>
2018-07-20 23:45:06 +00:00
.github
crypto Clear r->neg in bn_mod_{add,sub}_consttime. 2018-07-20 23:45:06 +00:00
decrepit fix compilation error for non-english windows (like cjk) 2018-03-15 17:52:23 +00:00
fipstools Merge NIAP and FIPS test suites. 2018-02-20 19:41:45 +00:00
fuzz Add “bssl::” prefix to |UpRef| and |PushToStack| in fuzzer code. 2018-07-05 14:36:02 +00:00
include/openssl Remove more remnants of SSLv3. 2018-07-17 20:02:35 +00:00
infra/config Revert "Reland "Revert "Add other Windows configurations to the CQ.""" 2018-06-14 20:06:36 +00:00
ssl shim: call SSL_CTX_set_tlsext_ticket_keys() only once. 2018-07-19 21:33:31 +00:00
third_party Update Wycheproof test vectors. 2018-07-13 20:46:20 +00:00
tool Remove SSL 3.0 implementation. 2018-06-28 16:54:58 +00:00
util Add support for building ppc64le with bazel 2018-07-16 17:48:12 +00:00
.clang-format
.gitignore Switch to 64-bit tools on Windows. 2018-06-29 18:05:31 +00:00
API-CONVENTIONS.md
BREAKING-CHANGES.md Add some notes on how to handle breaking changes. 2018-04-28 00:04:41 +00:00
BUILDING.md Add -DOPENSSL_SMALL to CMake. 2018-03-23 21:07:48 +00:00
CMakeLists.txt Add link to CMake bugfix. 2018-07-06 18:54:12 +00:00
codereview.settings
CONTRIBUTING.md
FUZZING.md
INCORPORATING.md
LICENSE Note licenses for support code in the top-level LICENSE file. 2018-03-27 17:03:47 +00:00
PORTING.md Remove reference to SSL3 in PORTING.md. 2018-06-29 17:46:32 +00:00
README.md Add some notes on how to handle breaking changes. 2018-04-28 00:04:41 +00:00
sources.cmake Remove SSL 3.0 implementation. 2018-06-28 16:54:58 +00:00
STYLE.md

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: