NetworkManager/src
Thomas Haller c3bf51a9b2 settings: avoid adding a profile that would be hidden by an existing profile
Say, you configure "plugins=ifcfg-rh,keyfile" and have an ifcfg file for
a certain profile. Then you make it IN-MEMORY-DETACHED and delete it.
The result is that the ifcfg file still exists, but there is a tombstone
nmmeta file that shadows the profile.

Now, if you want to re-add the same profile (same UUID) and store it to
persistent storage, then first it will try to persist the profile via
the ifcfg-rh plugin. That may not be possible, for example because the
connection type is not supported by the plugin.

Now, you could write it to /etc as keyfile, but then there would still
be a higher priority profile. Note that after calling
_add_connection_to_first_plugin() we issue

    _connection_changed_track (self, new_storage, new_connection, TRUE);

(note the prioritize=TRUE parameter). So, in the first moment, all looks
good. However it is not because upon first reload the change gets
reverted and the other profile resurfaces.

The problem are that all settings plugins (except keyfile) may be
completely unable to persist a profile. The real and only solution is
not to use any settings plugins except keyfile.

In a previous version (that never was merged), the "loaded-path" of nmmeta
files was used to prioritize profiles. Since that was not done, we
should not add profiles that we know have lower priority than existing
profiles.
2019-07-25 23:27:49 +02:00
..
devices core,libnm: add AddConnection2() D-Bus API to block autoconnect from the start 2019-07-25 15:26:49 +02:00
dhcp dhcp: nettools: check if addr is in the lease when bound 2019-07-25 11:42:12 +02:00
dns all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
dnsmasq all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
initrd initrd/tests: add some more variations of possible BOOTIF= variables 2019-07-03 09:16:52 +02:00
ndisc all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
platform all: codespell fixes 2019-07-24 11:30:19 +02:00
ppp core/pppd-plugin: wait to recover port settings before notifying death 2019-06-14 13:29:45 +02:00
settings settings: avoid adding a profile that would be hidden by an existing profile 2019-07-25 23:27:49 +02:00
supplicant supplicant: allow fast transition for WPA-PSK and WPA-EAP 2019-07-25 12:31:19 +02:00
systemd dhcp: access internal systemd structure to retrieve dhcp private options 2019-07-05 14:12:21 +02:00
tests src/tests: show exit status in test failure of test_nm_utils_kill_child() 2019-06-13 11:27:32 +02:00
vpn all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
main-utils.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
main-utils.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
main.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
meson.build settings: rework tracking settings connections and settings plugins 2019-07-16 19:09:08 +02:00
NetworkManagerUtils.c libnm,core: add support for "suppress_prefixlength" rule attribute 2019-07-16 10:03:17 +02:00
NetworkManagerUtils.h core: add flag to nm_shutdown_wait_obj_register_full() for freeing allcated message string 2019-06-26 12:26:11 +02:00
nm-act-request.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-act-request.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-active-connection.c settings: rework tracking settings connections and settings plugins 2019-07-16 19:09:08 +02:00
nm-active-connection.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-audit-manager.c settings: add audit-logging for connection load and reload 2019-07-16 12:35:36 +02:00
nm-audit-manager.h settings: add audit-logging for connection load and reload 2019-07-16 12:35:36 +02:00
nm-auth-manager.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-auth-manager.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-auth-subject.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-auth-subject.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-auth-utils.c auth-chain: track auth-chains in embedded CList 2019-06-13 16:10:53 +02:00
nm-auth-utils.h auth-chain: track auth-chains in embedded CList 2019-06-13 16:10:53 +02:00
nm-checkpoint-manager.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-checkpoint-manager.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-checkpoint.c settings/trivial: rename NM_SETTINGS_CONNECTION_PERSIST_MODE_DISK to NM_SETTINGS_CONNECTION_PERSIST_MODE_TO_DISK 2019-07-25 22:02:00 +02:00
nm-checkpoint.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-config-data.c config: simplify no-auto-default list handling and sort entries 2019-07-25 10:52:47 +02:00
nm-config-data.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-config.c config: simplify no-auto-default list handling and sort entries 2019-07-25 10:52:47 +02:00
nm-config.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-connectivity.c connectivity: make platform argument to nm_connectivity_check_start() optional 2019-06-18 15:49:09 +02:00
nm-connectivity.h device: don't start connectivity check on unconfigured devices 2019-06-18 15:49:09 +02:00
nm-core-utils.c core: add and use NM_MATCH_SPEC_*_TAG defines instead of plain strings 2019-07-25 10:48:40 +02:00
nm-core-utils.h core: add and use NM_MATCH_SPEC_*_TAG defines instead of plain strings 2019-07-25 10:48:40 +02:00
nm-dbus-manager.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-dbus-manager.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-dbus-object.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-dbus-object.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-dbus-utils.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-dbus-utils.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-dcb.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-dcb.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-dhcp4-config.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-dhcp4-config.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-dhcp6-config.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-dhcp6-config.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-dispatcher.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-dispatcher.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-firewall-manager.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-firewall-manager.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-hostname-manager.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-hostname-manager.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-iface-helper.c dhcp: pass broadcast address to clients 2019-07-05 11:06:01 +02:00
nm-ip4-config.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-ip4-config.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-ip6-config.c core: fix mangling static IPv6 routes in nm_ip6_config_merge_setting() 2019-07-09 14:33:57 +02:00
nm-ip6-config.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-keep-alive.c core: add and use nm_keep_alive_destroy() 2019-06-27 13:25:40 +02:00
nm-keep-alive.h core: add and use nm_keep_alive_destroy() 2019-06-27 13:25:40 +02:00
nm-logging.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-logging.h core: avoid plain pointer values in logging output 2019-06-25 13:26:37 +02:00
nm-manager.c settings/trivial: rename NM_SETTINGS_CONNECTION_PERSIST_MODE_DISK to NM_SETTINGS_CONNECTION_PERSIST_MODE_TO_DISK 2019-07-25 22:02:00 +02:00
nm-manager.h libnm,core: Add ConnectivityCheckUri property and accessors 2019-07-22 21:03:09 +02:00
nm-netns.c policy-routing: take ownership of externally configured rules 2019-07-16 10:16:07 +02:00
nm-netns.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-pacrunner-manager.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-pacrunner-manager.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-policy.c settings: rework tracking settings connections and settings plugins 2019-07-16 19:09:08 +02:00
nm-policy.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-proxy-config.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-proxy-config.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-rfkill-manager.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-rfkill-manager.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-session-monitor.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-session-monitor.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-sleep-monitor.c all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-sleep-monitor.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-test-utils-core.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
nm-types.h all: drop emacs file variables from source files 2019-06-11 10:04:00 +02:00
org.freedesktop.NetworkManager.conf wifi-p2p: rename Wi-Fi P2P 2019-02-01 17:02:57 +01:00