mirror of
https://passt.top/passt
synced 2025-06-12 10:35:34 +02:00
siphash: Make siphash functions consistently return 64-bit results
Some of the siphas_*b() functions return 64-bit results, others 32-bit results, with no obvious pattern. siphash_32b() also appears to do this incorrectly - taking the 64-bit hash value and simply returning it truncated, rather than folding the two halves together. Since SipHash proper is defined to give a 64-bit hash, make all of them return 64-bit results. In the one caller which needs a 32-bit value, tcp_seq_init() do the fold down to 32-bits ourselves. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
This commit is contained in:
parent
c1d2a070f2
commit
ca6e94702c
3 changed files with 14 additions and 16 deletions
|
@ -7,9 +7,9 @@
|
|||
#define SIPHASH_H
|
||||
|
||||
uint64_t siphash_8b(const uint8_t *in, const uint64_t *k);
|
||||
uint32_t siphash_12b(const uint8_t *in, const uint64_t *k);
|
||||
uint64_t siphash_12b(const uint8_t *in, const uint64_t *k);
|
||||
uint64_t siphash_20b(const uint8_t *in, const uint64_t *k);
|
||||
uint32_t siphash_32b(const uint8_t *in, const uint64_t *k);
|
||||
uint32_t siphash_36b(const uint8_t *in, const uint64_t *k);
|
||||
uint64_t siphash_32b(const uint8_t *in, const uint64_t *k);
|
||||
uint64_t siphash_36b(const uint8_t *in, const uint64_t *k);
|
||||
|
||||
#endif /* SIPHASH_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue