commit | 58150ed59b69c2e6c35379d96f4f43c5f5838d03 | [log] [tgz] |
---|---|---|
author | David Benjamin <davidben@google.com> | Fri Jun 29 23:58:43 2018 -0400 |
committer | CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org> | Tue Jul 03 22:56:46 2018 +0000 |
tree | 2f2914a1025912d817d0957dfa60a928f4ad6c68 | |
parent | 63c79122e094358dfca206471831df6f51ff28bf [diff] |
Add lh_FOO_retrieve_key to avoid stack-allocating SSL_SESSION. lh_FOO_retrieve is often called with a dummy instance of FOO that has only a few fields filled in. This works fine for C, but a C++ SSL_SESSION with destructors is a bit more of a nuisance here. Instead, teach LHASH to allow queries by some external key type. This avoids stack-allocating SSL_SESSION. Along the way, fix the make_macros.sh script. Change-Id: Ie0b482d4ffe1027049d49db63274c7c17f9398fa Reviewed-on: https://boringssl-review.googlesource.com/29586 Commit-Queue: David Benjamin <davidben@google.com> CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org> Reviewed-by: Adam Langley <agl@google.com>
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: