NetworkManager/src
Thomas Haller 0e9e35e309 all: refactor hashing by introducing NMHashState
The privious NM_HASH_* macros directly operated on a guint value
and were thus close to the actual implementation.

Replace them by adding a NMHashState struct and accessors to
update the hash state. This hides the implementation better
and would allow us to carry more state. For example, we could
switch to siphash24() transparently.

For now, we still do a form basically djb2 hashing, albeit with
differing start seed.

Also add nm_hash_str() and nm_str_hash():

- nm_hash_str() is our own string hashing implementation

- nm_str_hash() is our own string implementation, but with a
  GHashFunc signature, suitable to pass it to g_hash_table_new().
  Also, it has this name in order to remind you of g_str_hash(),
  which it is replacing.
2017-10-18 13:05:00 +02:00
..
devices all: refactor hashing by introducing NMHashState 2017-10-18 13:05:00 +02:00
dhcp shared: split random and hash utils 2017-10-17 20:02:59 +02:00
dns core: rework tracking of gateway/default-route in ip-config 2017-10-10 08:46:47 +02:00
dnsmasq core: rework tracking of gateway/default-route in ip-config 2017-10-10 08:46:47 +02:00
ndisc ndisc: some cleanup of RA handling 2017-10-12 10:27:27 +02:00
platform all: refactor hashing by introducing NMHashState 2017-10-18 13:05:00 +02:00
ppp core: rework tracking of gateway/default-route in ip-config 2017-10-10 08:46:47 +02:00
settings all: rework configuring route table support by adding "route-table" setting 2017-10-09 22:05:36 +02:00
supplicant supplicant: don't allow scans to trigger a supplicant roaming decision 2017-08-11 12:35:01 -05:00
systemd systemd: fix compilation if libc doesn't provide getrandom() 2017-10-11 13:49:49 +02:00
tests core: rework tracking of gateway/default-route in ip-config 2017-10-10 08:46:47 +02:00
vpn core: rework tracking of gateway/default-route in ip-config 2017-10-10 08:46:47 +02:00
main-utils.c config: add first_start paramter to NMConfig to detect restart 2017-04-20 14:19:56 +02:00
main-utils.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
main.c core: don't enable setrlimit(RLIMIT_CORE) when running with address sanitizer 2017-05-24 13:56:12 +02:00
NetworkManagerUtils.c core: add nm_utils_connection_has_default_route() 2017-09-08 11:05:04 +02:00
NetworkManagerUtils.h manager: simplify searching assumed connection 2017-03-16 18:27:33 +01:00
nm-act-request.c active-connection: emit a StateChanged signal on state changes 2017-03-17 10:21:19 +01:00
nm-act-request.h core: add activation-type property to active-connection 2017-03-16 18:27:33 +01:00
nm-active-connection.c core: add NMActivationStateFlags "master-has-slaves" 2017-10-05 11:50:31 +02:00
nm-active-connection.h libnm: add NMActivationStateFlags 2017-10-05 11:50:31 +02:00
nm-audit-manager.c logging: log device and connection along with the message 2017-03-24 12:42:09 +01:00
nm-audit-manager.h audit: add @args to device logging functions 2017-03-06 10:29:37 +01:00
nm-auth-manager.c logging: log device and connection along with the message 2017-03-24 12:42:09 +01:00
nm-auth-manager.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-auth-subject.c all: use "unsigned long" instead of "long unsigned" 2017-03-14 11:23:46 +01:00
nm-auth-subject.h auth: embed private data NMAuthSubjectPrivate in NMAuthSubject struct 2016-05-12 10:24:36 +02:00
nm-auth-utils.c auth-utils: fix possibly uninitialized variables 2017-04-07 11:52:16 -05:00
nm-auth-utils.h all: move NM_AUTH_PERMISSION_* defines to "nm-common-macros.h" header 2016-06-01 19:06:35 +02:00
nm-bus-manager.c bus-manager: don't leak connections 2017-10-12 09:16:38 +02:00
nm-bus-manager.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-checkpoint-manager.c build: don't add subdirectories to include search path but require qualified include 2016-11-21 14:26:37 +01:00
nm-checkpoint-manager.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-checkpoint.c checkpoint: better restore device managed state on rollback 2017-08-28 10:00:50 +02:00
nm-checkpoint.h checkpoint: introduce new flags to better restore previous state 2016-10-24 09:57:18 +02:00
nm-config-data.c config: add an API to disable connectivity check via internal config file. 2017-08-17 22:31:47 +02:00
nm-config-data.h config: add an API to disable connectivity check via internal config file. 2017-08-17 22:31:47 +02:00
nm-config.c config: write connectivity=true to internal state file 2017-08-21 12:18:13 +02:00
nm-config.h device: add configuration option to mark devices as unmanaged 2017-09-28 14:44:46 +02:00
nm-connectivity.c connectivity: fix memory leak 2017-10-10 10:12:42 +02:00
nm-connectivity.h device: add default route penalty only if concheck is enabled 2017-05-04 11:07:40 +02:00
nm-core-utils.c all: refactor hashing by introducing NMHashState 2017-10-18 13:05:00 +02:00
nm-core-utils.h all: refactor hashing by introducing NMHashState 2017-10-18 13:05:00 +02:00
nm-dcb.c build: don't add subdirectories to include search path but require qualified include 2016-11-21 14:26:37 +01:00
nm-dcb.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-dhcp4-config.c exported-object: use NM_EXPORT_PATH_NUMBERED() macro 2017-01-03 15:40:17 +01:00
nm-dhcp4-config.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-dhcp6-config.c exported-object: use NM_EXPORT_PATH_NUMBERED() macro 2017-01-03 15:40:17 +01:00
nm-dhcp6-config.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-dispatcher.c core: rework tracking of gateway/default-route in ip-config 2017-10-10 08:46:47 +02:00
nm-dispatcher.h core/dispatcher: pass act-request to device dispatcher calls 2017-03-16 18:27:33 +01:00
nm-exported-object.c all: use "unsigned long" instead of "long unsigned" 2017-03-14 11:23:46 +01:00
nm-exported-object.h exported-object: add "path" GObject property to have notify signal 2017-01-25 13:12:08 +01:00
nm-firewall-manager.c firewall: use CList to track pending_calls 2017-05-11 18:26:10 +02:00
nm-firewall-manager.h firewall: merge "started" signal and "available" property 2017-04-21 09:09:01 +02:00
nm-hostname-manager.c core,cli: replace wrong pattern for clearing GError 2017-06-27 09:42:28 +02:00
nm-hostname-manager.h hostname: cache hostname-manager's hostname property 2017-05-12 17:29:33 +02:00
nm-iface-helper.c core: use router preference for IPv6 routes 2017-10-12 10:38:19 +02:00
nm-ip4-config.c core: fix memory leaks in NMIP{4,6}Config 2017-10-10 09:52:39 +02:00
nm-ip4-config.h core: rework tracking of gateway/default-route in ip-config 2017-10-10 08:46:47 +02:00
nm-ip6-config.c core: use router preference for IPv6 routes 2017-10-12 10:38:19 +02:00
nm-ip6-config.h core: use router preference for IPv6 routes 2017-10-12 10:38:19 +02:00
nm-logging.c logging: log device and connection along with the message 2017-03-24 12:42:09 +01:00
nm-logging.h logging: add LOG3 macros 2017-06-08 21:50:23 +02:00
nm-manager.c device/trivial: rename nm_device_get_ip_route_metric() to nm_device_get_route_metric() 2017-10-06 11:13:43 +02:00
nm-manager.h manager: add connectivity-check-{available,enabled} properties. 2017-08-17 22:31:47 +02:00
nm-netns.c core: rework handling of default-routes and drop NMDefaultRouteManager 2017-09-08 11:11:21 +02:00
nm-netns.h core: rework handling of default-routes and drop NMDefaultRouteManager 2017-09-08 11:11:21 +02:00
nm-pacrunner-manager.c core: support tracking default-route in NMIP4Config/NMIP6Config 2017-09-08 11:11:21 +02:00
nm-pacrunner-manager.h proxy: introduce call-id for clearing pacmanager configuration 2017-04-23 18:12:09 +02:00
nm-policy.c device/trivial: rename nm_device_get_ip_route_metric() to nm_device_get_route_metric() 2017-10-06 11:13:43 +02:00
nm-policy.h policy: add support to configurable hostname mode 2017-03-24 15:18:09 +01:00
nm-proxy-config.c proxy: reorder parts in nm-proxy-config.c and nm-pacrunner-manager.c 2016-10-04 11:58:32 +02:00
nm-proxy-config.h proxy: remove unnecessary APIs 2016-10-04 11:44:44 +02:00
nm-rfkill-manager.c udev: drop libgudev in favor of libudev 2017-03-22 12:41:06 +01:00
nm-rfkill-manager.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-session-monitor.c core: introduce NM_HASH_INIT() to initialize hash seed 2017-10-13 12:47:55 +02:00
nm-session-monitor.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-sleep-monitor.c session: make systemd-logind and elogind conflicting build options 2017-02-24 13:06:13 +01:00
nm-sleep-monitor.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-test-utils-core.h platform: add compare functions for routes with different compare semantics 2017-08-03 18:32:59 +02:00
nm-types.h core: rework tracking of gateway/default-route in ip-config 2017-10-10 08:46:47 +02:00
org.freedesktop.NetworkManager.conf dbus: allow firewalld to communicate with NetworkManager 2017-04-21 13:38:21 +02:00