Go to file
David Benjamin 1a01e1fc88 Remove in-place TLS record assembly for now.
Decrypting is very easy to do in-place, but encrypting in-place is a hassle.
The rules actually were wrong due to record-splitting. The aliasing prefix and
the alignment prefix actually differ by 1. Take it out for now in preparation
for tightening the aliasing rules.

If we decide to do in-place encrypt later, probably it'd be more useful to
return header + in-place ciphertext + trailer. (That, in turn, needs a
scatter/gather thing on the AEAD thanks to TLS 1.3's padding and record type
construction.) We may also wish to rethink how record-splitting works here.

Change-Id: I0187d39c541e76ef933b7c2c193323164fd8a156
Reviewed-on: https://boringssl-review.googlesource.com/8230
Reviewed-by: Adam Langley <agl@google.com>
2016-06-09 19:47:44 +00:00
.github Add a PULL_REQUEST_TEMPLATE. 2016-03-08 15:23:52 +00:00
crypto Remove in-place TLS record assembly for now. 2016-06-09 19:47:44 +00:00
decrepit Replace base64 decoding. 2016-05-26 17:59:10 +00:00
fuzz Replace base64 decoding. 2016-05-26 17:59:10 +00:00
include/openssl Ensure verify error is set when X509_verify_cert() fails. 2016-06-09 17:29:39 +00:00
ssl Remove in-place TLS record assembly for now. 2016-06-09 19:47:44 +00:00
third_party/android-cmake Check in a copy of android-cmake. 2016-05-19 16:55:25 +00:00
tool Print out whether EMS was supported. 2016-05-31 21:11:55 +00:00
util Honor exit codes in run_android_tests.go. 2016-06-08 15:45:12 +00:00
.clang-format Import `newhope' (post-quantum key exchange). 2016-04-26 22:53:59 +00:00
.gitignore
BUILDING.md Update Android build instructions. 2016-05-19 16:56:25 +00:00
CMakeLists.txt Use non-deprecated methods on windows. 2016-05-19 20:30:50 +00:00
codereview.settings
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: