NetworkManager/src
Thomas Haller 82e94390de exported-object: fix source interface for PropertiesChanged D-Bus signal
nm_exported_object_notify() hooks GObject's property-change signal
and searches for the D-Bus interface to which to send the
PropertiesChanged signal.
Then it would enqueue the value encoded as GVariant in pending_notifications.
However, thereby the association between the property that changed and the
interface was lost. So later in idle_emit_properties_changed() it would
just pick the first interface with a properties-changed-id.

That is wrong. pending_notifications must be associated with the D-Bus
interface that we are going to notify. That is, each InterfaceData must
have its own separate list.

This is broken since introducing NMExportedObject and moving to gdbus.
Only now it was discovered as NMDevice itself has two D-Bus interfaces:
"Device" and "Device.Statistics".

Note that the order of the PropertiesChanged in our D-Bus API is not defined
so that later signals can reach the receiver before earlier signals.
Also, multiple change signals for one property may be combined.
That is not changed by this patch and is not considered a bug, but something
that our D-Bus API wrt. PropertiesChanged does not guarantee.

https://bugzilla.gnome.org/show_bug.cgi?id=770629
2016-08-31 14:22:28 +02:00
..
devices device: don't let external changes cause a release of the slave 2016-08-31 12:06:22 +02:00
dhcp-manager dhcp/systemd: honor timeout for DHCPv6 2016-08-24 18:01:18 +02:00
dns-manager all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
dnsmasq-manager all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
platform platform: fix return value for error case in do_change_link_request() 2016-08-30 16:22:42 +02:00
ppp-manager build: rename $(LIBDL) to $(DL_LIBS) and modify detection 2016-08-15 17:23:41 +02:00
rdisc bulid: don't link NMFakePlatform into NetworkManager binary 2016-08-11 11:54:07 +02:00
settings team: normalize invalid configuration during load 2016-08-30 18:20:28 +02:00
supplicant-manager all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
systemd systemd: hide "nm-sd-adapt.h" and expose required internal API in "nm-sd.h" 2016-08-12 09:38:51 +02:00
tests all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
vpn-manager vpn: ignore unexpected default-route for nm_vpn_connection_ip6_config_get() 2016-08-23 11:12:10 +02:00
main-utils.c build: avoid compiler warnings about non-constant format strings (-Wformat-nonliteral) 2016-06-05 12:22:01 +02:00
main-utils.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
main.c config: refactor change-flags to be a cause/reason which triggered the change 2016-06-01 19:06:34 +02:00
Makefile.am device: drop nm-device-statistics.c and refactor tracking device statistics 2016-08-17 16:08:21 +02:00
NetworkManager.ver build/trival: remove misleading code comment in NetworkManager.ver 2016-08-31 11:46:27 +02:00
NetworkManagerUtils.c device: extend MAC address handling including randomization for ethernet and wifi 2016-06-30 08:29:56 +02:00
NetworkManagerUtils.h utils: inject platform into nm_utils_complete_generic() 2016-03-15 12:56:58 +01:00
nm-activation-request.c act-request: queue failing the slave when master fails 2016-08-17 15:36:05 +02:00
nm-activation-request.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-active-connection.c core: use define for signal name in nm_active_connection_set_device() 2016-08-22 16:25:33 +02:00
nm-active-connection.h active-connection: add parent active connection tracking 2016-03-26 11:31:18 +01:00
nm-audit-manager.c checkpoint: add audit support 2016-08-17 14:55:34 +02:00
nm-audit-manager.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-auth-manager.c auth: downgrade g_assert() to nm_assert() 2016-04-05 10:39:20 +02:00
nm-auth-manager.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-auth-subject.c auth: embed private data NMAuthSubjectPrivate in NMAuthSubject struct 2016-05-12 10:24:36 +02: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: fix builds without polkit support 2016-08-17 11:28:55 +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 core: check valid uid for D-Bus load_connection(s)/set_logging calls 2016-08-23 11:24:19 +02:00
nm-bus-manager.h core: check valid uid for D-Bus load_connection(s)/set_logging calls 2016-08-23 11:24:19 +02:00
nm-checkpoint-manager.c checkpoint: add create, rollback and destroy D-Bus API 2016-08-17 14:55:34 +02:00
nm-checkpoint-manager.h checkpoint: add create, rollback and destroy D-Bus API 2016-08-17 14:55:34 +02:00
nm-checkpoint.c checkpoint: add create, rollback and destroy D-Bus API 2016-08-17 14:55:34 +02:00
nm-checkpoint.h checkpoint: add create, rollback and destroy D-Bus API 2016-08-17 14:55:34 +02:00
nm-config-data.c config: make "ignore-carrier" a per-device configuration option 2016-06-30 08:27:17 +02:00
nm-config-data.h config: add support for per-device configuration to NetworkManager.conf 2016-06-30 08:07:35 +02:00
nm-config.c device: let device specs match on permanent MAC address 2016-06-30 08:29:55 +02:00
nm-config.h config: make "ignore-carrier" a per-device configuration option 2016-06-30 08:27:17 +02:00
nm-connectivity.c nm-dispatcher: Added new 'connectivity-state' parameter to private D-Bus API 2016-07-28 22:22:14 +02:00
nm-connectivity.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-core-utils.c all: make MAC address randomization algorithm configurable 2016-06-30 08:32:50 +02:00
nm-core-utils.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-dcb.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-dcb.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-default-route-manager.c vpn,dns: for interface-less VPN connections get the ip_iface from the parent device 2016-05-27 12:54:55 +02:00
nm-default-route-manager.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-dhcp4-config.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-dhcp4-config.h core: port NMDhcp4Config/NMDhcp6Config to GVariant 2015-07-24 13:25:47 -04:00
nm-dhcp6-config.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-dhcp6-config.h core: port NMDhcp4Config/NMDhcp6Config to GVariant 2015-07-24 13:25:47 -04:00
nm-dispatcher.c nm-dispatcher: Added new 'connectivity-state' parameter to private D-Bus API 2016-07-28 22:22:14 +02:00
nm-dispatcher.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-exported-object.c exported-object: fix source interface for PropertiesChanged D-Bus signal 2016-08-31 14:22:28 +02:00
nm-exported-object.h build: cleanup src/Makefile.am 2016-08-11 11:54:18 +02:00
nm-firewall-manager.c core: use defines for signal names in NMDnsManager and NMFirewallManager 2016-04-04 16:48:10 +02:00
nm-firewall-manager.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-iface-helper.c rdisc: tighten up type and range of NMRDiscRoute.plen 2016-07-08 12:35:14 +02:00
nm-ip4-config.c core: downgrade assertion in nm-ip[46]-config.c to g_critical 2016-08-23 11:12:10 +02:00
nm-ip4-config.h core: add DNS priority to NMIP4Config 2016-05-12 17:13:50 +02:00
nm-ip6-config.c core: downgrade assertion in nm-ip[46]-config.c to g_critical 2016-08-23 11:12:10 +02:00
nm-ip6-config.h device: wait for termination of IPv6 DAD before proceeding to IP_CHECK 2016-05-22 14:20:05 +02:00
nm-logging.c logging: remove unused formatting options 2016-08-19 12:32:30 +02:00
nm-logging.h logging: don't log the function name 2016-07-05 23:08:06 +02:00
nm-manager.c core: use #define for "rfkill-changed" signal name 2016-08-23 11:46:28 +02:00
nm-manager.h checkpoint: add create, rollback and destroy D-Bus API 2016-08-17 14:55:34 +02:00
nm-multi-index.c libnm,core: fix syntax of 'transfer' annotation 2016-02-24 17:23:01 +01:00
nm-multi-index.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-policy.c policy: always try to update kernel hostname 2016-08-19 10:02:41 +02:00
nm-policy.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-rfkill-manager.c core: use #define for "rfkill-changed" signal name 2016-08-23 11:46:28 +02:00
nm-rfkill-manager.h core: use #define for "rfkill-changed" signal name 2016-08-23 11:46:28 +02:00
nm-route-manager.c core/trivial: rename "source" field of addresses and routes 2016-04-28 12:53:21 +02:00
nm-route-manager.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-session-monitor.c session-monitor: remove wrapper functions to connect/disconnect signal 2016-05-12 09:50:21 +02:00
nm-session-monitor.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-sleep-monitor.c sleep-monitor: add functions for delaying the suspension 2016-05-13 14:34:53 +02:00
nm-sleep-monitor.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-test-utils-core.h shared: move shared files to subdirectory "shared/nm-utils/" 2016-06-16 10:45:53 +02:00
nm-types.h platform/trivial: rename NM_LINK_TYPE_WWAN_ETHERNET to NM_LINK_TYPE_WWAN_NET 2016-06-17 11:00:10 +02:00
org.freedesktop.NetworkManager.conf dns: use DBus to make dnsmasq nameserver changes 2016-04-21 15:32:07 +02:00