diff options
| author | Sebastien Bacher <seb128@ubuntu.com> | 2019-01-25 10:49:37 +0100 |
|---|---|---|
| committer | Sebastien Bacher <seb128@ubuntu.com> | 2019-01-25 10:49:37 +0100 |
| commit | 404ebe62622150e77e311777dff8617eb974e834 (patch) | |
| tree | cc7f73d3e435d5b3ee85e2bef833e8de1fb133e3 /shared/nm-utils/nm-hash-utils.h | |
| parent | 227c401a10a930af6fd5f123aef345fcd130d6aa (diff) | |
| parent | 3626b425d1bc017fdc6f1ea0cfd329d1e1681641 (diff) | |
Merge remote-tracking branch 'salsa/upstream' into upstream
Diffstat (limited to 'shared/nm-utils/nm-hash-utils.h')
| -rw-r--r-- | shared/nm-utils/nm-hash-utils.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/shared/nm-utils/nm-hash-utils.h b/shared/nm-utils/nm-hash-utils.h index b7742e0f..b797fb75 100644 --- a/shared/nm-utils/nm-hash-utils.h +++ b/shared/nm-utils/nm-hash-utils.h @@ -57,6 +57,11 @@ nm_hash_update (NMHashState *state, const void *ptr, gsize n) nm_assert (ptr); nm_assert (n > 0); + /* Note: the data passed in here might be sensitive data (secrets), + * that we should nm_explicty_zero() afterwards. However, since + * we are using siphash24 with a random key, that is not really + * necessary. Something to keep in mind, if we ever move away from + * this hash implementation. */ c_siphash_append (&state->_state, ptr, n); } @@ -168,7 +173,7 @@ nm_hash_update_mem (NMHashState *state, const void *ptr, gsize n) * instead. */ nm_hash_update (state, &n, sizeof (n)); if (n > 0) - c_siphash_append (&state->_state, ptr, n); + nm_hash_update (state, ptr, n); } static inline void @@ -209,6 +214,15 @@ guint nm_direct_hash (gconstpointer str); guint nm_hash_str (const char *str); guint nm_str_hash (gconstpointer str); +#define nm_hash_val(static_seed, val) \ + ({ \ + NMHashState _h; \ + \ + nm_hash_init (&_h, static_seed); \ + nm_hash_update_val (&_h, val); \ + nm_hash_complete (&_h); \ + }) + /*****************************************************************************/ /* nm_pstr_*() are for hashing keys that are pointers to strings, |