summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/ripemd/ripemd.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Remove support for static buffers in HMAC/digeststb2024-06-011-6/+2
| | | | | | | | | | | | | | | | | | HMAC() and the one-step digests used to support passing a NULL buffer and would return the digest in a static buffer. This design is firmly from the nineties, not thread safe and it saves callers a single line. The few ports that used to rely this were fixed with patches sent to non-hostile (and non-dead) upstreams. It's early enough in the release cycle that remaining uses hidden from the compiler should be caught, at least the ones that matter. There won't be that many since BoringSSL removed this feature in 2017. https://boringssl-review.googlesource.com/14528 Add non-null attributes to the headers and add a few missing bounded attributes. ok beck jsing
* Hide symbols in RIPEMDjoshua2024-03-281-1/+6
| | | | ok beck jsing
* Rework loads and stores in ripemd.jsing2024-03-281-74/+53
| | | | | | | Replace loads with crypto_load_le32toh() or le32toh(). Use crypto_store_htole32() or htole32() for stores. ok joshua@ tb@
* Remove now unnecessary do { } while (0);jsing2024-03-281-3/+1
|
* Inline HASH_MAKE_STRING.jsing2024-03-281-14/+14
| | | | No change in generated assembly.
* Expand ROTATE macro to crypto_rol_u32().jsing2024-03-281-11/+16
|
* Inline initial hash values.jsing2024-03-281-12/+8
|
* Clean up various defines and prototypes.jsing2024-03-281-28/+2
| | | | | No assembly implementations remain, hence we can clean the mess up and replace it with a single static void function.
* Tidy includes.jsing2024-03-281-4/+4
|
* Expand HASH_* defines.jsing2024-03-281-27/+29
| | | | No change to generated assembly.
* Reorder functions.jsing2024-03-281-109/+109
| | | | No functional change.
* Inline functions from md32_common.h for ripemd.jsing2024-03-281-1/+101
| | | | No change to generated assembly.
* Mop up the last MD32_XARRAY.jsing2023-08-101-197/+187
| | | | | | | MD32_XARRAY was added as a workaround for a broken HP C compiler (circa 1999). Clean it up to simplify the code. No change in generated assembly.
* Inline the remaining 10 lines from rmdconst.h.jsing2023-08-101-2/+12
| | | | Discussed with tb@
* Inline X variables definitions.jsing2023-08-101-174/+174
| | | | | | | | | Inline the WL and WR defines, which only add yet another layer of abstraction and make the code harder to follow. No change to generated assembly. Discussed with tb@
* Inline shift values.jsing2023-08-101-169/+169
| | | | | | | | Inline the SL and SR defines, which only makes the code harder to follow. No change to generated assembly. Discussed with tb@
* Apply some more style(9).jsing2023-08-101-170/+171
| | | | No change in generated assembly.
* Remove MD32_REG_T.jsing2023-08-101-4/+4
| | | | | | | | | This is a hack that is only enabled on a handful of 64 bit platforms, as a workaround for poor compiler optimisation. If you're running an archiac compiler on an archiac architecture, then you can deal with slightly lower performance. ok tb@
* Combine ripemd into a single C file.jsing2023-07-281-0/+441