commit | 11acdc6abf13cc8139c30ac9455840a347793110 | [log] [tgz] |
---|---|---|
author | David Benjamin <davidben@google.com> | Tue Jun 11 18:30:31 2024 -0400 |
committer | Boringssl LUCI CQ <boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Jun 12 03:05:31 2024 +0000 |
tree | 3829fd1fbe2b2bbc79b9b20ae622b84053254086 | |
parent | 962432c687f67f8df1aa6e3dd364fbc88fea4ed8 [diff] |
Revert "Adds functionality for instantiating and using `Algorithm`" and friends. This reverts the following commits: e1a860c3745c77cb83228dde1b73fa62eaf43930 a11277e187e407d0ef403b8a60d9a32eaab7d301 25cf1bb965ba9ae0302cbc6de4ff4dd6cdbbc016 There were a couple nuisances caused by this change, stemming from a Rust language deficiency. If you move a method from a type to a trait, this is a backwards-incompatible change that is visible to the caller. That is, Rust does not allow introducing abstractions in a backwars-compatible way! This meant you had to import Algorithm to use a hash. This made updating downstream code hard, but at least par for the course with Rust. It seems Rust just isn't a language where API stability and library evolution are possible. However, even after we pay the transition costs, downstream code needed to import WithOutputLength. This is too much of an implementation detail to leak into the public API, so revert it for now. We'll need to find some way to do this that keeps the public API reasonable. Change-Id: I82d00b47a77fe77b5893b1e9b15faef727ef9866 Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/69227 Reviewed-by: Bob Beck <bbe@google.com> Auto-Submit: David Benjamin <davidben@google.com> Commit-Queue: David Benjamin <davidben@google.com> Commit-Queue: Bob Beck <bbe@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.
Project links:
There are other files in this directory which might be helpful: