NetworkManager/src
Beniamino Galvani 522e49edd6 policy: track best active connections rather than best devices
If a VPN with default route is activated, the Manager's
PrimaryConnection property is not updated to indicate the VPN as
primary connection.

This happens because the PrimaryConnection property gets updated when
the default_ipX_device property of NMPolicy changes, and the primary
connection is set to the activation request currently pending on the
default device. We select the base (for example, ethernet) device as
best device and therefore the NMActRequest active on it is selected as
primary connection.

This patch fixes the problem by properly selecting the VPN as
primary. It seems a better choice to track best active connections
directly from NMPolicy instead of going through two steps.
2018-07-09 14:56:59 +02:00
..
devices ip-tunnel: allow wired setting for some tunnel modes 2018-07-02 17:55:14 +02:00
dhcp dhcp: look for DUID in both private and global DHCP client lease files 2018-06-20 10:43:51 +02:00
dns dns: change main.rc-manager=file behavior to always follow symlink 2018-06-05 16:21:10 +02:00
dnsmasq dnsmasq: fix separation from system-wide dnsmasq 2018-06-30 11:56:37 +02:00
ndisc device: emit IP address changes in queued_ip_config_change() only once 2018-06-29 16:38:50 +02:00
platform platform: reduce logging level for wireguard messages 2018-07-09 11:42:35 +02:00
ppp build/meson: fix meson build without pppd 2018-07-09 12:02:37 +02:00
settings settings-connection: don't expect system_secrets always present 2018-06-22 16:39:01 +02:00
supplicant wifi: expose LastScan as milliseconds not seconds 2018-06-15 16:23:30 +02:00
systemd all: remove CLOCK_BOOTTIME defintions 2018-06-18 17:21:32 +02:00
tests all: remove CLOCK_BOOTTIME defintions 2018-06-18 17:21:32 +02:00
vpn all: use the elvis operator wherever possible 2018-05-10 14:36:58 +02:00
main-utils.c all: use nm_close() instead of close() 2017-11-14 15:10:42 +01:00
main-utils.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
main.c main: warn about invalid logging domains configuration using nm-log 2018-06-27 09:14:36 +02:00
meson.build devices: add NMDevice6Lowpan 2018-06-26 16:21:55 +02:00
NetworkManagerUtils.c core: add nm_shutdown_register_watchdog() for marking object to wait for shutdown 2018-05-25 12:35:49 +02:00
NetworkManagerUtils.h core: add and use NM_SHUTDOWN_TIMEOUT_MS as duration that we plan for shutdown 2018-05-25 12:35:49 +02:00
nm-act-request.c shared: drop duplicate c-list.h header 2018-04-18 15:22:14 +02:00
nm-act-request.h core: specify an activation reason for active connections 2018-04-08 09:40:14 +02:00
nm-active-connection.c active-connection: fix build with clang-6.0 2018-05-21 12:02:26 +02:00
nm-active-connection.h core: rework passing user-data to nm_active_connection_authorize() 2018-04-24 09:03:39 +02:00
nm-audit-manager.c all: remove consecutive empty lines 2018-04-30 16:24:52 +02:00
nm-audit-manager.h checkpoint: allow resetting the rollback timeout via D-Bus 2018-04-04 14:02:13 +02:00
nm-auth-manager.c auth-manager: use the correct function to deallocate a GError 2018-05-02 14:55:01 +02:00
nm-auth-manager.h auth-manager: add helper function nm_auth_call_result_eval() 2018-04-13 09:09:46 +02:00
nm-auth-subject.c auth-subject: minor cleanup of _new_unix_process() 2018-04-16 16:03:14 +02:00
nm-auth-subject.h all: remove consecutive empty lines 2018-04-30 16:24:52 +02:00
nm-auth-utils.c core: add nm_auth_is_subject_in_acl_set_error() helper 2018-04-18 07:55:15 +02:00
nm-auth-utils.h core: add nm_auth_is_subject_in_acl_set_error() helper 2018-04-18 07:55:15 +02:00
nm-checkpoint-manager.c checkpoint: fix D-Bus operation to destroy checkpoint 2018-05-03 14:38:10 +02:00
nm-checkpoint-manager.h checkpoint: allow resetting the rollback timeout via D-Bus 2018-04-04 14:02:13 +02:00
nm-checkpoint.c core: specify an activation reason for active connections 2018-04-08 09:40:14 +02:00
nm-checkpoint.h checkpoint: allow resetting the rollback timeout via D-Bus 2018-04-04 14:02:13 +02:00
nm-config-data.c all: remove consecutive empty lines 2018-04-30 16:24:52 +02:00
nm-config-data.h all: remove consecutive empty lines 2018-04-30 16:24:52 +02:00
nm-config.c all: use the elvis operator wherever possible 2018-05-10 14:36:58 +02:00
nm-config.h core: use define for configuration name "wifi.scan-rand-mac-address" 2017-12-27 09:18:54 +01:00
nm-connectivity.c shared: drop duplicate c-list.h header 2018-04-18 15:22:14 +02:00
nm-connectivity.h connectivity: schedule connectivity timers per-device and probe for short outages 2018-04-10 15:11:23 +02:00
nm-core-utils.c core: fix wrong check of gretap hardware length 2018-07-02 17:55:14 +02:00
nm-core-utils.h device: fix order of params in nm_match_spec_device prototype 2018-07-06 14:48:42 +02:00
nm-dbus-manager.c core/dbus: stop NMDBusManager and reject future method calls 2018-04-24 10:25:26 +02:00
nm-dbus-manager.h core/dbus: stop NMDBusManager and reject future method calls 2018-04-24 10:25:26 +02:00
nm-dbus-object.c core/dbus: stop NMDBusManager and reject future method calls 2018-04-24 10:25:26 +02:00
nm-dbus-object.h core/dbus: stop NMDBusManager and reject future method calls 2018-04-24 10:25:26 +02:00
nm-dbus-utils.c core: don't explicitly set D-Bus path properties to "/" 2018-04-18 07:55:15 +02:00
nm-dbus-utils.h core/dbus: stop NMDBusManager and reject future method calls 2018-04-24 10:25:26 +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 core: sort DHCP options that are exported on D-Bus 2018-04-23 15:43:39 +02:00
nm-dhcp4-config.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-dhcp6-config.c core: sort DHCP options that are exported on D-Bus 2018-04-23 15:43:39 +02:00
nm-dhcp6-config.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-dispatcher.c all: use the elvis operator wherever possible 2018-05-10 14:36:58 +02:00
nm-dispatcher.h all: remove consecutive empty lines 2018-04-30 16:24:52 +02:00
nm-firewall-manager.c all: use the elvis operator wherever possible 2018-05-10 14:36:58 +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 device: emit IP address changes in queued_ip_config_change() only once 2018-06-29 16:38:50 +02:00
nm-ip4-config.c core: reject invalid domains from ip configurations 2018-05-14 15:22:50 +02:00
nm-ip4-config.h core: let NM_IS_IP_CONFIG() check for expected addr-family 2018-05-26 20:11:04 +02:00
nm-ip6-config.c core: reject invalid domains from ip configurations 2018-05-14 15:22:50 +02:00
nm-ip6-config.h all: remove consecutive empty lines 2018-04-30 16:24:52 +02:00
nm-logging.c logging: warn about invalid logging backends and drop "debug" backend 2018-06-27 09:16:04 +02:00
nm-logging.h logging: warn about invalid logging backends and drop "debug" backend 2018-06-27 09:16:04 +02:00
nm-manager.c policy: track best active connections rather than best devices 2018-07-09 14:56:59 +02:00
nm-manager.h all: remove consecutive empty lines 2018-04-30 16:24:52 +02:00
nm-netns.c all: get rid of a handful of unused-but-set variables 2017-12-18 13:29:32 +01: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 all: remove consecutive empty lines 2018-04-30 16:24:52 +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 policy: track best active connections rather than best devices 2018-07-09 14:56:59 +02:00
nm-policy.h policy: track best active connections rather than best devices 2018-07-09 14:56:59 +02: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 all: use the elvis operator wherever possible 2018-05-10 14:36:58 +02:00
nm-rfkill-manager.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-session-monitor.c session-monitor: avoid an assertion failure if there's no session monitor 2018-05-09 12:59:08 +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: remove consecutive empty lines 2018-04-30 16:24:52 +02:00
nm-sleep-monitor.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-test-utils-core.h all: remove consecutive empty lines 2018-04-30 16:24:52 +02:00
nm-types.h merge: branch 'wireguard-platform' of https://github.com/jbeta/NetworkManager 2018-07-09 11:08:12 +02:00
org.freedesktop.NetworkManager.conf all: replace "it's" with "its" where needed 2018-04-18 14:14:07 +02:00