NetworkManager/src/settings
Thomas Haller 837d44ffa4 keyfile: split automatically setting ID/UUID for keyfile
keyfile already supports omitting the "connection.id" and
"connection.uuid". In that case, the ID would be taken from the
keyfile's name, and the UUID was generated by md5 hashing the
full filename.

No longer do this during nm_keyfile_read(), instead let all
callers call nm_keyfile_read_ensure_*() to their liking. This is done
for two reasons:

 - a minor reason is, that one day we want to expose keyfile API
   as public API. That means, we also want to read keyfiles from
   stdin, where there is no filename available. The implementation
   which parses stdio needs to define their own way of auto-generating
   ID and UUID. Note how nm_keyfile_read()'s API no longer takes a
   filename as argument, which would be awkward for the stdin case.

 - Currently, we only support one keyfile directory, which (configurably)
   is "/etc/NetworkManager/system-connections".
   In the future, we want to support multiple keyfile dirctories, like
   "/var/run/NetworkManager/profiles" or "/usr/lib/NetworkManager/profiles".
   Here we want that a file "foo" (which does not specify a UUID) gets the
   same UUID regardless of the directory it is in. That seems better, because
   then the UUID won't change as you move the file between directories.
   Yes, that means, that the same UUID will be provided by multiple
   files, but NetworkManager must already cope with that situation anyway.
   Unfortunately, the UUID generation scheme hashes the full path. That
   means, we must hash the path name of the file "foo" inside the
   original "system-connections" directory.
   Refactor the code so that it accounds for a difference between the
   filename of the keyfile, and the profile_dir used for generating
   the UUID.
2018-10-04 11:03:23 +02:00
..
plugins keyfile: split automatically setting ID/UUID for keyfile 2018-10-04 11:03:23 +02: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