Re: [PATCH 1/4] sha1: do not redefine `platform_SHA_CTX` and friends
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Sep 2, 2024, 13:41 UTC
- Message-ID
- <ZtXAgFfhaoTxF1tC@tanuki>
- In-Reply-To
- <e7cd23bf4cd232fa2ce610284199996383fb3323.1725206584.git.me@ttaylorr.com>
On Sun, Sep 01, 2024 at 12:03:21PM -0400, Taylor Blau wrote:
Show 15 quoted lines
> Our in-tree SHA-1 wrappers all define platform_SHA_CTX and related > macros to point at the opaque "context" type, init, update, and similar > functions for each specific implementation. > > In hash.h, we use these platform_ variables to set up the function > pointers for, e.g., the_hash_algo->init_fn(), etc. > > But while these header files have a header-specific macro that prevents > them declaring their structs / functions multiple times, they > unconditionally define the platform variables, making it impossible to > load multiple SHA-1 implementations at once. > > As a prerequisite for loading a separate SHA-1 implementation for > non-cryptographic uses, only define the platform_ variables if they have > not already been defined.
So we now pick the first hash we find as platform hash, whereas previously we would have always picked the last one? Hum, okay. A bit curious, but let's read on.
Patrick