commit | ab4037e3d14b2b1e02c93f76d80a8dd0ce3193fc | [log] [tgz] |
---|---|---|
author | David Benjamin <davidben@google.com> | Sat Feb 03 23:22:06 2024 -0500 |
committer | Boringssl LUCI CQ <boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu Feb 22 22:41:50 2024 +0000 |
tree | 65611b5aa6da155d425fba15c51265c65ec69b71 | |
parent | 0ff377a30c10e7ea34eb5efc5b5a8ebb90d8ba9a [diff] |
Add some tests for X509_LOOKUP_hash_dir Writing these tests revealed that actually this has been broken on Windows this whole time! First, the APIs to configure a directory actually configure a colon-separated list of directories. But file paths contain colons on Windows, so the actual separator on Windows is semicolon. But that got lost in the fork at some point. This CL fixes that. Second, X509_FILETYPE_ASN1 is broken because of a text vs binary mode mixup. The following CL will fix this. Some of the behaviors tested here around CRLs are not quite reasonable. See https://crbug.com/boringssl/690 for details. For now, I've tried to capture the existing behavior. As BY_DIR actually maintains some shared mutable state, I've also added TSAn tests. Another subtlety is that multiple CAs with the same name work, but the reason they work is pretty messy because OpenSSL's internal interfaces are incompatible with it. Instead, OpenSSL works around itself with the X509_STORE cache. These tests do not cover this case, but a subsequent CL will add tests for it. Change-Id: Ifd8f2faea164edb0eda771350cd9bf6dc94104e7 Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/66008 Commit-Queue: David Benjamin <davidben@google.com> Reviewed-by: 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: