NetworkManager/src
Thomas Haller 2e720a1dc8
settings: prune old entries from keyfile databases
We have two GKeyfile files (timestamps and seen-bssids).

When a profile was deleted while NetworkManager was running, then
entries were removed from these keyfiles. But if a profile disappeared
while NetworkManger was stopped, then those UUIDs piled up.
This also happens if you have temporary connections in /run and reboot.

We need a way to garbage collect entries that are no longer relevant.

As the keyfile databases only get loaded once from disk, we will prune
all UUIDs for which we have no more connection loaded, on the first time
we write out the files again.

Note what this means: if you "temporarily" remove a connection profile
(without NetworkManager noticing) and restore it later, then the additional
information might have been pruned. There is no way how NetworkManager
could know that this UUID is coming back. The alternative is what we did
before: pile them up indefinitely. That seems more problematic.
2021-07-01 11:20:34 +02:00
..
c-list build: move c-util/nettools library from "shared/" to "src/" 2021-02-24 12:48:28 +01:00
c-rbtree build: move c-util/nettools library from "shared/" to "src/" 2021-02-24 12:48:28 +01:00
c-siphash build: move c-util/nettools library from "shared/" to "src/" 2021-02-24 12:48:28 +01:00
c-stdaux build: move c-util/nettools library from "shared/" to "src/" 2021-02-24 12:48:28 +01:00
contrib clang-format: reformat code with clang 12 2021-05-04 13:56:26 +02:00
core settings: prune old entries from keyfile databases 2021-07-01 11:20:34 +02:00
libnm-base lgtm: suppress lgtm[cpp/duplicate-include-guard] warning in ethtool header 2021-06-01 17:54:07 +02:00
libnm-client-aux-extern build: move "clients/common/" to "src/libnmc-{base,setting}/" 2021-03-02 08:38:25 +01:00
libnm-client-impl libnm: add NM_OBJECT_CLIENT property 2021-06-23 14:55:05 +02:00
libnm-client-public libnm: add NM_OBJECT_CLIENT property 2021-06-23 14:55:05 +02:00
libnm-client-test build/meson: cleanup dependencies for libnm-core-aux-intern 2021-02-28 10:42:05 +01:00
libnm-core-aux-extern build/meson: cleanup dependencies for libnm-core-aux-extern 2021-02-28 10:42:06 +01:00
libnm-core-aux-intern libnm: add nm_auto_unref_tc_action cleanup macro for NMTCAction 2021-05-11 13:56:45 +02:00
libnm-core-impl libnm: special handle serialization to D-Bus for "wifi.seen-bssid" 2021-07-01 11:04:22 +02:00
libnm-core-intern libnm: add flag to control whether to_dbus_fcn() should handle default values 2021-06-23 12:47:33 +02:00
libnm-core-public libnm: belatedly export nm_ip_routing_rule_[gs]et_uid_range() symbols 2021-06-21 10:00:20 +02:00
libnm-glib-aux keyfile-aux: add nm_key_file_db_prune() helper 2021-07-01 11:17:06 +02:00
libnm-log-core logging: add _nm_log_full() macro 2021-04-12 16:46:01 +02:00
libnm-log-null build: remove shared/ directory 2021-02-24 12:49:13 +01:00
libnm-platform libnm-platform: add NM_PLATFORM_MATCH_WITH_ADDRSTATE_DEPRECATED 2021-06-21 10:08:27 +02:00
libnm-std-aux glib-aux: use NM_AUTO_PROTECT_ERRNO() in nm_auto_close and nm_auto_fclose 2021-07-01 11:04:22 +02:00
libnm-systemd-core systemd: merge branch systemd into main 2021-06-23 13:47:39 +02:00
libnm-systemd-shared systemd: merge branch systemd into main 2021-06-23 13:47:39 +02:00
libnm-udev-aux build/meson: cleanup dependencies for libnm-udev-aux 2021-02-28 10:42:04 +01:00
libnmc-base libnmc-base: don't set DNS priority when importing Wireguard connections 2021-06-23 20:31:14 +02:00
libnmc-setting libnm/docs: better explain "connection.autoconnect{,-priority}" 2021-06-22 13:06:38 +02:00
libnmt-newt libnmt-newt: use cleanup macro in nmt_newt_button_build_component() 2021-05-11 13:56:50 +02:00
linux-headers platform: move "linux/nl802154.h" to "src/linux-headers/" 2021-03-05 11:27:15 +01:00
n-acd build: move c-util/nettools library from "shared/" to "src/" 2021-02-24 12:48:28 +01:00
n-dhcp4 n-dhcp4: avoid maybe-uninitialized warning in n_dhcp4_c_connection_dispatch_io() 2021-06-30 16:35:42 +02:00
nm-cloud-setup cloud-setup: preserve IPv4 addresses/routes/rules from profile 2021-06-30 08:04:39 +02:00
nm-daemon-helper nm-daemon-helper: fix indentation 2021-06-16 18:32:44 +02:00
nm-dispatcher all: don't explicitly include <glib-unix.h> 2021-06-28 13:31:34 +02:00
nm-initrd-generator all: only include "libnm-glib-aux/nm-uuid.h" where needed 2021-05-04 15:51:51 +02:00
nm-online build: move "clients/nm-online.c" to "src/nm-online/" 2021-03-02 08:38:26 +01:00
nmcli all: don't explicitly include <glib-unix.h> 2021-06-28 13:31:34 +02:00
nmtui tui: use internal _nm_utils_ip4_prefix_to_netmask() helper 2021-05-11 13:56:48 +02:00
tests/client cli: handle empty/unset values for "gsm.apn" property 2021-05-03 10:11:25 +02:00
meson.build core: add infrastructure for spawning a helper process 2021-06-11 21:43:12 +02:00