NetworkManager/src/settings
Thomas Haller 3fc5765e1b keyfile: add helper functions to record loaded UUID files
This code will be used later.

We want to remember which keyfiles are currently loaded (or hidden).

With the addition or multiple keyfile directories (soon), there are
two cases where this matters:

 - if there are multiple keyfiles which reference the same UUID,
   we can only load one of them. That is already a problem today
   with only one keyfile directory, where multiple files can reference
   the same UUID.
   The implementation will pick the file based on priorities (like
   the file modification date). However, the user may call explicitly
   call `nmcli connection load`. In that case, we cannot reload
   all files to find out whether the to be loaded file is hidden
   according to the defined priorities. We cannot do that, because we
   must not make decisions based on files on disk, which we are not told
   to reload. So, during a `nmcli connection load` we must look at
   unrelated files, to determine how to load the file.
   Instead, we do allow the user to load any file, even if it would be
   shadowed by other files. When we do that, we may want to persist which
   file is currently loaded, so that a service restart and a `nmcli connection
   reload` does not undo the load again. This can be later later be solved by
   writing a symlink

       "/var/run/NetworkManager/system-connections/.loaded-$UUID.nmkeyfile"

   which targets the currently active file.

 - if a profile was loaded from read-only persistant storage, the user
   may still delete the profile. We also need to remember the deletion
   of the file. That will be achieved by symlinking "/dev/null" as
   "/etc/NetworkManager/system-connections/.loaded-$UUID.nmkeyfile".

Add helper functions to read and write these symlinks.
2018-12-03 12:09:57 +01:00
..
plugins keyfile: add helper functions to record loaded UUID files 2018-12-03 12:09:57 +01:00
nm-agent-manager.c agent-manager: upgrade a logging level of new agent notice 2018-08-06 19:24:06 +02:00
nm-agent-manager.h core/dbus: rework D-Bus implementation to use lower layer GDBusConnection API 2018-03-12 18:37:08 +01:00
nm-secret-agent.c all: don't use gchar/gshort/gint/glong but C types 2018-07-11 12:02:06 +02:00
nm-secret-agent.h core: refactor NMSecretAgentCallId typedef not to be a pointer to struct 2017-11-24 16:24:40 +01:00
nm-settings-connection.c config: add --configure-and-quit=initrd mode 2018-09-18 17:40:47 +02:00
nm-settings-connection.h settings: use delegation instead of inheritance for NMSettingsConnection and NMConnection 2018-08-28 22:27:55 +02:00
nm-settings-plugin.c settings: make NMSettingsPlugin a regular GObject instance and not an interface 2018-09-06 07:41:22 +02:00
nm-settings-plugin.h settings: cleanup loading settings plugins 2018-09-06 07:41:22 +02:00
nm-settings.c core: improve logging why startup-complete is blocked 2018-09-19 17:51:01 +02:00
nm-settings.h core: improve logging why startup-complete is blocked 2018-09-19 17:51:01 +02:00