NetworkManager/src
Beniamino Galvani 7a343cc981 vpn: reuse existing ip_config objects when config gets updated
Previously we created a new NMIP[46]Config object to replace the
previous one every time the plugin reported a new IP configuration
through the Ip[46]Config signal, but the old configuration was not
removed from the DNS manager and would become stale.

The interaction with DNS manager is handled by NMPolicy, which only
reacts to changes in connection status, so it's not easy to have the
configuration removed from DNS while keeping the connection state
ACTIVATED.

A cleaner solutions is to avoid creating a new IP configuration object
and reuse the existing one if possible. The side effect is that the
D-Bus path of the object will not change, which seems also positive.

https://bugzilla.redhat.com/show_bug.cgi?id=1348901
(cherry picked from commit 641e8b00fe)
2016-06-28 16:45:50 +02:00
..
devices bond/trivial: fix typo 2016-06-28 15:12:44 +02:00
dhcp-manager core: fix some memory leaks 2016-06-01 12:00:12 +02:00
dns-manager dns: remove nm-dns-utils.c and nm-dns-utils.h 2016-06-10 11:14:38 +02:00
dnsmasq-manager core: introduce nm_utils_dnsmasq_status_to_string() 2016-06-02 19:02:48 +02:00
platform platform: avoid crash after calling nl_recv() for old libnl3 version 2016-06-24 19:10:59 +02:00
ppp-manager platform: change @plen field of NMPlatformIPxAddress to type guint8 2016-04-12 11:14:01 +02:00
rdisc build: disable deprecation checks for internal compilation 2016-04-05 22:22:58 +02:00
settings all: move NM_AUTH_PERMISSION_* defines to "nm-common-macros.h" header 2016-06-10 11:14:38 +02:00
supplicant-manager build: disable deprecation checks for internal compilation 2016-04-05 22:22:58 +02:00
systemd merge: merge branch 'systemd' into master 2016-04-01 15:15:43 +02:00
tests dns: add reverse DNS IPv6 entries to dnsmasq 2016-06-10 11:14:38 +02:00
vpn-manager vpn: reuse existing ip_config objects when config gets updated 2016-06-28 16:45:50 +02:00
main-utils.c main: create parent directories of NMSTATEDIR with permissions 755 2016-03-21 13:31:40 +01:00
main-utils.h main: create parent directories of NMSTATEDIR with permissions 755 2016-03-21 13:31:40 +01:00
main.c config: refactor change-flags to be a cause/reason which triggered the change 2016-06-10 11:14:37 +02:00
Makefile.am dns: remove nm-dns-utils.c and nm-dns-utils.h 2016-06-10 11:14:38 +02:00
NetworkManager.ver build: hide internal symbols in NetworkManager binary 2016-03-08 17:45:50 +01:00
NetworkManagerUtils.c all: move NM_AUTH_PERMISSION_* defines to "nm-common-macros.h" header 2016-06-10 11:14:38 +02:00
NetworkManagerUtils.h utils: inject platform into nm_utils_complete_generic() 2016-03-15 12:56:58 +01:00
nm-activation-request.c all: don't include error->code in log messages 2016-03-03 18:54:20 +01:00
nm-activation-request.h core: separate active and applied connection 2015-09-18 17:32:11 +02:00
nm-active-connection.c all: move NM_AUTH_PERMISSION_* defines to "nm-common-macros.h" header 2016-06-10 11:14:38 +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 audit: use logging helpers 2016-03-04 11:55:41 +01:00
nm-audit-manager.h manager: add Reload() D-Bus command 2016-06-10 11:14:38 +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: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
nm-auth-subject.c auth: allow failures to read process start_time from /proc/$PID/stat with hidepid 2016-04-22 14:42:51 +02:00
nm-auth-subject.h all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-auth-utils.c all: move NM_AUTH_PERMISSION_* defines to "nm-common-macros.h" header 2016-06-10 11:14:38 +02:00
nm-auth-utils.h all: move NM_AUTH_PERMISSION_* defines to "nm-common-macros.h" header 2016-06-10 11:14:38 +02:00
nm-bus-manager.c bus-manager: avoid leaking responses for sync bus calls 2016-03-04 19:08:25 +01:00
nm-bus-manager.h all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-config-data.c config: refactor change-flags to be a cause/reason which triggered the change 2016-06-10 11:14:37 +02:00
nm-config-data.h config: cleanup includes 2016-06-10 11:14:38 +02:00
nm-config.c config: cleanup includes 2016-06-10 11:14:38 +02:00
nm-config.h config: cleanup includes 2016-06-10 11:14:38 +02:00
nm-connection-provider.c settings: drop signal slots from NMSettings 2016-05-24 15:03:13 +02:00
nm-connection-provider.h settings: drop signal slots from NMSettings 2016-05-24 15:03:13 +02:00
nm-connectivity.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-connectivity.h all: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
nm-core-utils.c dns: add reverse DNS IPv6 entries to dnsmasq 2016-06-10 11:14:38 +02:00
nm-core-utils.h dns: add reverse DNS IPv6 entries to dnsmasq 2016-06-10 11:14:38 +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: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
nm-default-route-manager.c vpn,dns: for interface-less VPN connections get the ip_iface from the parent device 2016-06-10 11:14:37 +02:00
nm-default-route-manager.h default-route-manager: make NMDefaultRouteManager namespace aware 2016-03-15 12:56:58 +01: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 dispatcher: use logging helpers 2016-03-04 11:48:04 +01:00
nm-dispatcher.h core: separate active and applied connection 2015-09-18 17:32:11 +02:00
nm-exported-object.c exported-object: reorder includes 2016-04-01 08:58:19 +02:00
nm-exported-object.h exported-object: refactor list of interfaces from GSList to an array 2016-04-01 08:58: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 core: use defines for signal names in NMDnsManager and NMFirewallManager 2016-04-04 16:48:10 +02:00
nm-iface-helper.c platform: change @plen field of NMPlatformIPxRoute to type guint8 2016-04-12 11:14:01 +02:00
nm-ip4-config.c core: don't include dns-priority in IP configuration hash 2016-06-10 11:14:37 +02:00
nm-ip4-config.h core: add DNS priority to NMIP4Config 2016-06-10 11:14:36 +02:00
nm-ip6-config.c core: don't include dns-priority in IP configuration hash 2016-06-10 11:14:37 +02:00
nm-ip6-config.h core: add DNS priority to NMIP6Config 2016-06-10 11:14:36 +02:00
nm-logging.c logging: add new logging domain "SYSTEMD" for internal systemd logging 2016-03-17 15:00:48 +01:00
nm-logging.h logging: add new logging domain "SYSTEMD" for internal systemd logging 2016-03-17 15:00:48 +01:00
nm-manager.c all: move NM_AUTH_PERMISSION_* defines to "nm-common-macros.h" header 2016-06-10 11:14:38 +02:00
nm-manager.h manager: use defines for signal names 2016-04-04 16:45:48 +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 core: optimize NMMultiIndex by special caseing ids with one value only 2015-12-17 18:42:54 +01:00
nm-policy.c vpn,dns: for interface-less VPN connections get the ip_iface from the parent device 2016-06-10 11:14:37 +02:00
nm-policy.h policy: embed pointer to private data into NMPolicy 2016-04-04 15:47:22 +02:00
nm-rfkill-manager.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-rfkill-manager.h core: skip generating gtype for rfkill enums 2015-08-19 13:49:33 +02:00
nm-route-manager.c platform: change @plen field of NMPlatformIPxRoute to type guint8 2016-04-12 11:14:01 +02:00
nm-route-manager.h route-manager: make NMRouteManager namespace aware 2016-03-15 12:56:58 +01:00
nm-session-monitor.c session-monitor/trivial: rename local functions for unique prefix 2016-03-11 11:12:00 +01:00
nm-session-monitor.h session-monitor: explicitly use singleton instance 2015-08-13 10:06:42 +02:00
nm-sleep-monitor.c sleep-monitor: add functions for delaying the suspension 2016-05-24 15:18:29 +02:00
nm-sleep-monitor.h sleep-monitor: add functions for delaying the suspension 2016-05-24 15:18:29 +02:00
nm-types.h rdisc: make NMRDisc namespace aware 2016-03-15 12:56:58 +01:00
org.freedesktop.NetworkManager.conf dns: use DBus to make dnsmasq nameserver changes 2016-04-22 13:39:23 +02:00