commit | 17078f21a514d74e6eaaf402ca1f6982ec2651fd | [log] [tgz] |
---|---|---|
author | David Benjamin <davidben@google.com> | Tue Apr 28 17:50:13 2020 -0400 |
committer | CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org> | Fri May 01 17:29:22 2020 +0000 |
tree | e381e4049800829de8a770ca6a998bb6e71c32ad | |
parent | dc06e320d88db2f2a49deaae33c9e54f1b68e42b [diff] |
Fix the types used in token counts. The number of tokens is inconsistent throughout the API. max_batchsize is a uint16_t. max_issuance is a size_t. out_tokens_issued is a uint8_t*. The serialization only supports up to uint16_t. Standardize on size_t. The natural size for a count of elements is size_t. Protocol limitations can be handled within the implementation. Additionally, it is best not to use small types for counters in public APIs in C/C++ because the language has implicit truncating conversions. (Whereas code points or other enum-like values are fine because the caller won't managed to get a 32-bit cipher suite.) Update-Note: Fix callers of TRUST_TOKEN_ISSUER_issue to use size_t instead of uint8_t. The max_batchsize changes should go through without changes to the caller. Change-Id: I9be5dd8f61abdbe5a1dbe70b8dc72d06114b1022 Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/41044 Commit-Queue: Steven Valdez <svaldez@google.com> Reviewed-by: Steven Valdez <svaldez@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: