Go to file
David Benjamin fc0c9d9665 Use a common state to begin the handshake.
This simplifies the logic around SSL_clear to reset the state for a new
handshake. The state around here is still a little iffy, but this is a
slight improvement.

The SSL_ST_CONNECT and SSL_ST_ACCEPT states are still kept separate to
avoid problems with the info callback reporting SSL_ST_INIT. Glancing
through info callback consumers, although they're all debugging, they
tend to assume that all intermediate states either have only
SSL_ST_CONNECT set or only SSL_ST_ACCEPT set.

(They also all look identical which makes me think it's copy-and-pasted
from OpenSSL command-line tool or something.)

Change-Id: I55503781e52b51b4ca829256c14de6f5942dae51
Reviewed-on: https://boringssl-review.googlesource.com/10760
Reviewed-by: Adam Langley <agl@google.com>
2016-09-12 19:00:50 +00:00
.github Add a PULL_REQUEST_TEMPLATE. 2016-03-08 15:23:52 +00:00
crypto crypto/bn/*: x86[_64] division instruction doesn't handle constants, change constraint from 'g' to 'rm'. 2016-09-09 20:59:47 +00:00
decrepit Make OBJ_NAME_do_all more OpenSSL-compatible. 2016-06-27 21:42:27 +00:00
fuzz Update fuzzing corpus for ‘server’ 2016-08-11 08:56:18 -07:00
include/openssl We no longer allow out < in in-place operations 2016-09-12 14:43:38 +00:00
infra/config Commit-Queue config: effectively remove Andorid builders. 2016-07-26 13:14:47 +00:00
ssl Use a common state to begin the handshake. 2016-09-12 19:00:50 +00:00
third_party/android-cmake Check in a copy of android-cmake. 2016-05-19 16:55:25 +00:00
tool Fix IWYU violation in speed.cc. 2016-09-09 23:56:01 +00:00
util Replace Scoped* heap types with bssl::UniquePtr. 2016-09-01 22:22:54 +00:00
.clang-format Import `newhope' (post-quantum key exchange). 2016-04-26 22:53:59 +00:00
.gitignore
API-CONVENTIONS.md Replace Scoped* heap types with bssl::UniquePtr. 2016-09-01 22:22:54 +00:00
BUILDING.md Allow .arch directives with Clang. 2016-08-26 17:45:49 +00:00
CMakeLists.txt Be -Wnewline-eof clean. 2016-08-29 19:15:19 +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 Replace base64 decoding. 2016-05-26 17:59:10 +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: