Go to file
David Benjamin 15aa895a0b Tidy up the DTLS code's blocking-mode retransmits.
Move this logic out of dtls1_read_bytes and into dtls1_get_record. Only trigger
it when reading from the buffer fails. The other one shouldn't be necessary.
This exists to handle the blocking BIO case when the
BIO_CTRL_DGRAM_SET_NEXT_TIMEOUT signal triggers, so we only need to do it when
timeouts actually trigger.

There also doesn't seem to be a need for most of the machinery. The
BIO_set_flags call seems to be working around a deficiency in the underlying
BIO. There also shouldn't be a need to check the handshake state as there
wouldn't be a timer to restart otherwise.

Change-Id: Ic901ccfb5b82aeb409d16a9d32c04741410ad6d7
Reviewed-on: https://boringssl-review.googlesource.com/8122
Reviewed-by: Steven Valdez <svaldez@google.com>
Reviewed-by: Adam Langley <agl@google.com>
Reviewed-by: David Benjamin <davidben@google.com>
2016-06-08 18:13:42 +00:00
.github Add a PULL_REQUEST_TEMPLATE. 2016-03-08 15:23:52 +00:00
crypto Fix some missing inits 2016-06-07 22:05:10 +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 Test both synchronous and asynchronous DTLS retransmit. 2016-06-08 18:11:41 +00:00
ssl Tidy up the DTLS code's blocking-mode retransmits. 2016-06-08 18:13:42 +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 Fix documentation generation on Windows. 2015-08-19 00:45:42 +00:00
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: