Go to file
David Benjamin 29a83c5a0c Rewrite DTLS outgoing message buffering.
Now that retransitting is a lot less stateful, a lot of surrounding code can
lose statefulness too. Rather than this overcomplicated pqueue structure,
hardcode that a handshake flight is capped at 7 messages (actually, DTLS can
only get up to 6 because we don't support NPN or Channel ID in DTLS) and used a
fixed size array.

This also resolves several TODOs.

Change-Id: I2b54c3441577a75ad5ca411d872b807d69aa08eb
Reviewed-on: https://boringssl-review.googlesource.com/8435
Reviewed-by: Adam Langley <agl@google.com>
2016-06-27 20:10:12 +00:00
.github Add a PULL_REQUEST_TEMPLATE. 2016-03-08 15:23:52 +00:00
crypto Build up TLS 1.3 record-layer tests. 2016-06-27 17:02:01 +00:00
decrepit Wrap MSVC-only warning pragmas in a macro. 2016-06-09 21:29:36 +00:00
fuzz Replace base64 decoding. 2016-05-26 17:59:10 +00:00
include/openssl Stash a copy of the SKX params rather mess with init_buf. 2016-06-27 20:07:42 +00:00
ssl Rewrite DTLS outgoing message buffering. 2016-06-27 20:10:12 +00:00
third_party/android-cmake Check in a copy of android-cmake. 2016-05-19 16:55:25 +00:00
tool Handle IPv6 literals in bssl client. 2016-06-22 20:23:46 +00:00
util generate_build_files: more flexible Bazel deps 2016-06-14 19:36:17 +00:00
.clang-format Import `newhope' (post-quantum key exchange). 2016-04-26 22:53:59 +00:00
.gitignore Fix documentation generation on Windows. 2015-08-19 00:45:42 +00:00
BUILDING.md Document compiler and assembler requirements. 2016-06-10 17:17:09 +00:00
CMakeLists.txt Spell C++11 as C++11, not C++0x. 2016-06-13 19:20:40 +00:00
codereview.settings Add a codereview.settings file. 2014-11-18 22:21:33 +00:00
CONTRIBUTING.md Add a CONTRIBUTING.md file. 2016-02-10 21:38:19 +00:00
FUZZING.md Replace base64 decoding. 2016-05-26 17:59:10 +00:00
INCORPORATING.md Update INCORPORATING.md to clarify one point. 2016-05-17 19:39:55 +00:00
LICENSE Add some bug references to the LICENSE file. 2016-02-22 20:16:48 +00:00
PORTING.md Document the d2i object reuse changes in PORTING.md. 2016-02-02 16:21:20 +00:00
README.md Add document about incorporating BoringSSL into a project. 2016-04-27 18:04:37 +00:00
STYLE.md Update style guide note on files which match OpenSSL. 2016-06-02 21:37:21 +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: