NetworkManager/src
Thomas Haller 99eef7a2ea platform: fix crash hashing NMPlatformTfilter and NMPlatformQdisc
@kind might be NULL. There are 3 forms of the hash-update functions for
string: str(), str0(), and strarr().

- str0() is when the string might be NULL.
- str() does not allow the string to be NULL
- strarr() is like str(), except it adds a G_STATIC_ASSERT()
  that the argument is a C array.

The reason why a difference between str() and str0() exists, is
because str0() hashes NULL different from a "" or any other string.
This has an overhead, because it effectively must hash another bit
of information that tells whether a string was passed or not.

The reason is, that hashing a tupple of two strings should always
yield a different hash value, even for "aa",""; "a","a"; "","aa",
where naive concatentation would yield identical hash values in all
three cases.

Fixes: e75fc8279b
(cherry picked from commit 27e8fffdb8)
2017-12-12 11:21:05 +01:00
..
devices device: ensure simple action sdata is a NUL-terminated bytestring 2017-12-11 19:53:09 +01:00
dhcp dhcp: add support for dhcpcanon client 2017-10-30 10:43:10 +01:00
dns dns: don't stat relative paths when detecting resolved use 2017-11-19 14:33:27 +01:00
dnsmasq logging: configure dnsmasq's logging in shared mode via nm-logging 2017-11-06 12:25:23 +01:00
ndisc ndisc: fix ordering of gateways 2017-11-03 10:44:48 +01:00
platform platform: fix crash hashing NMPlatformTfilter and NMPlatformQdisc 2017-12-12 11:21:05 +01:00
ppp core: refactor NMActRequestGetSecretsCallId typedef not to be a pointer to struct 2017-11-24 17:05:03 +01:00
settings ifcfg-rh: add tc support 2017-12-11 19:53:09 +01:00
supplicant core,clients: use our own string hashing function nm_str_hash() 2017-10-18 13:05:00 +02:00
systemd systemd: avoid coverity warning about Deadcode 2017-10-30 14:14:05 +01:00
tests device: add "indicated" argument to nm_utils_match_connection() 2017-11-30 14:48:45 +01:00
vpn core: refactor NMSettingsConnectionCallId typedef not to be a pointer to struct 2017-11-27 15:59:58 +01:00
main-utils.c all: use nm_close() instead of close() 2017-11-14 15:17:02 +01:00
main-utils.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
main.c config: remove nm_config_data_get_value_cached() 2017-10-31 19:14:07 +01:00
NetworkManagerUtils.c device: add "indicated" argument to nm_utils_match_connection() 2017-11-30 14:48:45 +01:00
NetworkManagerUtils.h device: add "indicated" argument to nm_utils_match_connection() 2017-11-30 14:48:45 +01:00
nm-act-request.c c-list: re-import latest version of c-list.h from upstream 2017-11-28 12:04:15 +01:00
nm-act-request.h core: refactor NMActRequestGetSecretsCallId typedef not to be a pointer to struct 2017-11-24 17:05:03 +01:00
nm-active-connection.c settings: remove accessor functions to connection flags 2017-12-06 09:35:43 +01:00
nm-active-connection.h core: merge IPv4 and IPv6 versions of nm_active_connection_get_default() 2017-11-27 16:00:52 +01: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 core,clients: use our own string hashing function nm_str_hash() 2017-10-18 13:05:00 +02: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 checkpoint: don't include unrealized devices 2017-11-09 10:33:26 +01:00
nm-checkpoint-manager.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-checkpoint.c settings: unify settings-update API (rename and merge) 2017-12-06 09:32:27 +01: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 core: cache "autoconnect-retries-default" in NMConfigData 2017-11-27 16:00:52 +01:00
nm-config-data.h core: cache "autoconnect-retries-default" in NMConfigData 2017-11-27 16:00:52 +01:00
nm-config.c config: write connectivity=true to internal state file 2017-08-21 12:18:13 +02:00
nm-config.h device: make carrier-wait-timeout configurable per device 2017-11-28 10:56:22 +01: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 core: avoid dereferencing NULL in nm_utils_resolve_conf_parse() 2017-12-12 11:21:05 +01:00
nm-core-utils.h core: add nm_utils_sysctl_ip_conf_is_path() util 2017-10-24 16:05:40 +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 core,clients: use our own string hashing function nm_str_hash() 2017-10-18 13:05:00 +02: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 c-list: re-import latest version of c-list.h from upstream 2017-11-28 12:04:15 +01: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 dhcp: add support for dhcpcanon client 2017-10-30 10:43:10 +01:00
nm-ip4-config.c platform/trivial: s/ADDRROUTE/OBJECT/ for the cache lookup 2017-12-11 18:56:41 +01:00
nm-ip4-config.h core: merge IPv4 and IPv6 version of _nm_ip_config_merge_route_attributes() 2017-11-13 14:43:07 +01:00
nm-ip6-config.c platform/trivial: s/ADDRROUTE/OBJECT/ for the cache lookup 2017-12-11 18:56:41 +01: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 core: workaround coverity/compiler warning about tautological compare in nm_log_ptr() 2017-10-30 14:41:41 +01:00
nm-manager.c settings: delete volatile connection and support setting the volatile flag 2017-12-06 09:35:43 +01:00
nm-manager.h core: track NMActiveConnection in manager with CList 2017-11-27 16:00:48 +01: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 c-list: re-import latest version of c-list.h from upstream 2017-11-28 12:04:15 +01:00
nm-pacrunner-manager.h proxy: introduce call-id for clearing pacmanager configuration 2017-04-23 18:12:09 +02:00
nm-policy.c core: fix uninialized boolean variable in reset_autoconnect_all() 2017-12-12 11:21:05 +01: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 all: use nm_close() instead of close() 2017-11-14 15:17:02 +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 platform: add support for traffic filters 2017-12-11 19:53:09 +01:00
org.freedesktop.NetworkManager.conf dbus: allow firewalld to communicate with NetworkManager 2017-04-21 13:38:21 +02:00