NetworkManager/shared/nm-utils
Thomas Haller 6fbd280b35 shared: add nm_hash_static() to get a static hash key
When using siphash24(), the hash value depends on the hashed input
and the key from _get_hash_key(). If the input is static, so is also
the result of siphash24(), albeit the bits are scrabbled more.

Add a nm_hash_static() to get such a static key, but without actually
doing siphash24(). The static key is also xored with a static_seed.

For that, also mangle the first byte of the hash key using siphash24()
itself. That is, because nm_hash_static() only uses the first guint of the
random key. Hence, we want that this first guint has all the entropy
of the entire key. We use siphash24() itself, to mangle all bits
of the 16 byte key into the first guint.
2017-11-16 11:48:05 +01:00
..
c-list-util.c c-list: add c_list_sort() 2017-07-25 06:42:14 +02:00
c-list-util.h c-list: add c_list_sort() 2017-07-25 06:42:14 +02:00
c-list.h shared: update c-list 2017-07-05 14:22:10 +02:00
gsystem-local-alloc.h shared: move shared files to subdirectory "shared/nm-utils/" 2016-06-16 10:45:53 +02:00
nm-dedup-multi.c all: extend hash functions with an NMHashState argument 2017-10-18 13:29:22 +02:00
nm-dedup-multi.h all: extend hash functions with an NMHashState argument 2017-10-18 13:29:22 +02:00
nm-enum-utils.c shared: cast from/to argument to unsigned for GFlags in _nm_utils_enum_get_values() 2017-04-27 18:01:58 +02:00
nm-enum-utils.h libnm: move public nm_utils_enum_*() functions back to libnm-core 2017-04-05 18:38:31 +02:00
nm-glib.h shared: add nm-glib.h compat implementation for g_variant_new_printf() 2017-09-18 20:14:09 +02:00
nm-hash-utils.c shared: add nm_hash_static() to get a static hash key 2017-11-16 11:48:05 +01:00
nm-hash-utils.h shared: add nm_hash_static() to get a static hash key 2017-11-16 11:48:05 +01:00
nm-jansson.h shared: add json_boolean_value support in jansson.h 2017-11-09 17:56:15 +01:00
nm-macros-internal.h shared: always call close() from nm_close() wrapper 2017-11-14 15:09:26 +01:00
nm-obj.h all: add base object type in "nm-obj.h" 2017-07-05 14:22:10 +02:00
nm-random-utils.c all: use nm_close() instead of close() 2017-11-14 15:10:42 +01:00
nm-random-utils.h shared: split random and hash utils 2017-10-17 20:02:59 +02:00
nm-shared-utils.c shared: trivial: add space before comment close 2017-11-09 17:17:00 +01:00
nm-shared-utils.h shared: add nm_ip_addr_set() helper 2017-11-13 11:35:44 +01:00
nm-test-utils.h tests: add nmtst_assert_connection_has_settings() helper 2017-10-30 21:46:55 +01:00
nm-udev-utils.c libnm: don't cunescape \x00 encoding in nm_udev_utils_property_decode() 2017-05-19 09:46:08 +02:00
nm-udev-utils.h udev: add and use nm_udev_utils_property_decode() function 2017-03-22 12:41:06 +01:00
nm-vpn-editor-plugin-call.h shared: include "gsystem-local-alloc.h" from "nm-glib.h" 2016-06-16 10:45:54 +02:00
nm-vpn-plugin-macros.h shared: add nm_utils_syslog_coerce_from_nm() util 2016-09-19 15:35:33 +02:00
nm-vpn-plugin-utils.c shared: add "nm-utils/nm-vpn-plugin-utils.h" 2016-06-16 10:45:54 +02:00
nm-vpn-plugin-utils.h shared: add "nm-utils/nm-vpn-plugin-utils.h" 2016-06-16 10:45:54 +02:00
siphash24.c all: use siphash24 for hashing 2017-10-18 13:27:02 +02:00
siphash24.h all: use siphash24 for hashing 2017-10-18 13:27:02 +02:00
unaligned.h shared: add unaligned.h 2016-10-14 11:16:13 +02:00