NetworkManager/libnm-core
Thomas Haller 35dc6421de settings: support setting a connection as volatile via Update2()
Extend the Update2 flags to allow marking a connection as volatile.
Making a connection as volatile means that the connection stays alive
as long as an active connection references it.

It is correct that Update2() returns before the connection is actually
deleted. It might take an arbitrary long time until the volatile
mechanism cleans up the connection.

Also add two more IN_MEMORY flags: "detached" and "only".

The existing NM_SETTINGS_UPDATE2_FLAG_IN_MEMORY would not detach nor
delete the possible file on disk. That is, the mode only changes what NM
thinks is the current content of the connection profile. It would not delete
the file on disk nor would it detach the profile in-memory from the file.
As such, later persisting the connection again to disk would overwrite
the file, and deleting the profile, would delete the file.

Now add two new IN_MEMORY modes.

NM_SETTINGS_UPDATE2_FLAG_IN_MEMORY_DETACH is like making the connection
in-memory only, but forgetting that there might be any profile on disk.
That means, a later Delete() would not delete the file. Similarly, a
later Update2() that persists the connection again, would not overwrite
the existing file on disk, instead it would choose a new file name.

On the other hand, NM_SETTINGS_UPDATE2_FLAG_IN_MEMORY_ONLY would delete
a potential file from disk right away.

It's clear that "volatile" only makes sense with either "in-memory-detached"
or "in-memory-only". That is, the file on disk should be deleted right away
(before the in-memory part is garbage collected) or the file on disk should
be forgotten.
2017-12-05 20:18:10 +01:00
..
tests c-list: re-import latest version of c-list.h from upstream 2017-11-28 11:26:39 +01:00
crypto.c libnm: refactor loop in crypto_md5_hash() 2016-11-09 12:07:33 +01:00
crypto.h all: cleanup includes in header files 2016-08-17 19:09:50 +02:00
crypto_gnutls.c crypto: don't try to decrypt PKCS#8 key if no password is supplied 2016-09-23 18:05:54 +02:00
crypto_nss.c all: use "unsigned" instead of "unsigned int" 2017-03-14 11:26:29 +01:00
nm-connection-private.h libnm: fix normalizing and verifying OVS connections 2017-10-30 21:46:55 +01:00
nm-connection.c all: use nm_str_hash() instead of g_str_hash() 2017-11-16 11:49:52 +01:00
nm-connection.h libnm: add nm_connection_get_settings() 2017-10-30 21:46:55 +01:00
nm-core-internal.h libnm: drop now unused helper function _nm_utils_strsplit_set() 2017-11-29 16:26:28 +01:00
nm-core-types-internal.h libnm: internally expose NMVlanQosMapping struct in "nm-core-internal.h" 2015-11-02 13:57:02 +01:00
nm-core-types.h libnm-core: add ovs-bridge setting 2017-10-30 17:40:08 +01:00
nm-dbus-interface.h settings: support setting a connection as volatile via Update2() 2017-12-05 20:18:10 +01:00
nm-dbus-utils.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-errors.c all: use NM_CACHED_QUARK_FCN() instead of G_DEFINE_QUARK() 2017-02-10 14:33:52 +01:00
nm-errors.h all: add new D-Bus API org.freedesktop.NetworkManager.Settings.Connection.Update2() 2017-12-05 11:50:52 +01:00
nm-keyfile-internal.h cli: split nm-meta-setting-desc out of settings 2017-03-30 13:09:58 +02:00
nm-keyfile-reader.c all: use nm_str_hash() instead of g_str_hash() 2017-11-16 11:49:52 +01:00
nm-keyfile-utils.c keyfile: fix escaping ascii control characters in nm_keyfile_key_encode() 2017-11-20 15:39:48 +01:00
nm-keyfile-utils.h keyfile: fix handling unsupported characters in keys 2017-05-06 14:12:18 +02:00
nm-keyfile-writer.c libnm: avoid unnecessary copies accessing NMIPRoute's attributes 2017-10-30 14:12:41 +01:00
nm-property-compare.c build: don't link against libm.so 2017-03-23 19:06:02 +01:00
nm-property-compare.h all: cleanup includes in header files 2016-08-17 19:09:50 +02:00
nm-setting-8021x.c all: move setting 802-1x.auth-retries to connection.auth-retries 2017-11-02 11:41:01 +01:00
nm-setting-8021x.h all: move setting 802-1x.auth-retries to connection.auth-retries 2017-11-02 11:41:01 +01:00
nm-setting-adsl.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-adsl.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-bluetooth.c core: infer the bluetooth type from the presence of the supplemental settings 2017-08-23 16:18:44 +02:00
nm-setting-bluetooth.h core/bluetooth: add NAP type 2017-05-31 20:15:52 +02:00
nm-setting-bond.c libnm: cache lookup index for nm_setting_bond_get_option() 2017-11-21 14:01:09 +01:00
nm-setting-bond.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-bridge-port.c all: fix minor typos in settings docs 2017-07-03 21:23:27 +02:00
nm-setting-bridge-port.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-bridge.c libnm: move bridge min/max defines to header file 2017-11-23 18:43:48 +01:00
nm-setting-bridge.h bridge: introduce a bridge.group-forward-mask connection property 2017-07-27 09:35:11 +02:00
nm-setting-cdma.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-cdma.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-connection.c all: move setting 802-1x.auth-retries to connection.auth-retries 2017-11-02 11:41:01 +01:00
nm-setting-connection.h all: move setting 802-1x.auth-retries to connection.auth-retries 2017-11-02 11:41:01 +01:00
nm-setting-dcb.c all: fix minor typos in settings docs 2017-07-03 21:23:27 +02:00
nm-setting-dcb.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-dummy.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-dummy.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-generic.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-generic.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-gsm.c all: fix minor typos in settings docs 2017-07-03 21:23:27 +02:00
nm-setting-gsm.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-infiniband.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-infiniband.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-ip-config.c all: replace 'inital' with 'initial' 2017-11-30 23:54:45 +01:00
nm-setting-ip-config.h all: support route-attribute "onlink" for IPv4 2017-11-13 11:35:44 +01:00
nm-setting-ip-tunnel.c ip-tunnel: fix a typo 2017-10-30 17:38:37 +01:00
nm-setting-ip-tunnel.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-ip4-config.c ifcfg-rh: use different variables for IPv4 and IPv6 DNS options 2017-11-30 23:54:45 +01:00
nm-setting-ip4-config.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-ip6-config.c ifcfg-rh: use different variables for IPv4 and IPv6 DNS options 2017-11-30 23:54:45 +01:00
nm-setting-ip6-config.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-macsec.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-macsec.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-macvlan.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-macvlan.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-olpc-mesh.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-olpc-mesh.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-ovs-bridge.c libnm-core: add ovs-bridge setting 2017-10-30 17:40:08 +01:00
nm-setting-ovs-bridge.h libnm-core: add ovs-bridge setting 2017-10-30 17:40:08 +01:00
nm-setting-ovs-interface.c libnm: fix normalizing and verifying OVS connections 2017-10-30 21:46:55 +01:00
nm-setting-ovs-interface.h libnm-core: add ovs-interface setting 2017-10-30 17:40:08 +01:00
nm-setting-ovs-patch.c libnm: fix normalizing and verifying OVS connections 2017-10-30 21:46:55 +01:00
nm-setting-ovs-patch.h libnm-core: add ovs-patch setting 2017-10-30 17:40:08 +01:00
nm-setting-ovs-port.c doc: fix type on documentation for NMSettingOvsPort:bond-updelay 2017-11-06 12:26:31 +01:00
nm-setting-ovs-port.h libnm-core: add ovs-port setting 2017-10-30 17:40:08 +01:00
nm-setting-ppp.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-ppp.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-pppoe.c libnm-core: fix memory leak in NMSettingPppoe 2017-08-30 22:03:59 +02:00
nm-setting-pppoe.h libnm,clients: add 'parent' property to PPPoE setting 2017-08-05 08:03:15 +02:00
nm-setting-private.h libnm: add enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-proxy.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-proxy.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-serial.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-serial.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-team-port.c libnm-core: fix "Since" notation in team and team-port settings. 2017-11-10 12:15:39 +01:00
nm-setting-team-port.h libnm-core: enforce team and team-port defaults 2017-11-09 17:56:15 +01:00
nm-setting-team.c libnm-core: fix "Since" notation in team and team-port settings. 2017-11-10 12:15:39 +01:00
nm-setting-team.h libnm-core: enforce team and team-port defaults 2017-11-09 17:56:15 +01:00
nm-setting-tun.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-tun.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-user.c all: use nm_str_hash() instead of g_str_hash() 2017-11-16 11:49:52 +01:00
nm-setting-user.h libnm: add NMSettingUser 2017-03-28 14:58:21 +02:00
nm-setting-vlan.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-vlan.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-vpn.c libnm: cleanup NMSettingVpn's foreach functions 2017-11-23 14:44:25 +01:00
nm-setting-vpn.h libnm: add nm_setting_vpn_get_data_keys() and nm_setting_vpn_get_secret_keys() API 2017-11-23 14:44:25 +01:00
nm-setting-vxlan.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-vxlan.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-wimax.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-wimax.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-wired.c all: use nm_str_hash() instead of g_str_hash() 2017-11-16 11:49:52 +01:00
nm-setting-wired.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-wireless-security.c ifcfg-rh: persist the wep key type 2017-12-04 15:53:53 +01:00
nm-setting-wireless-security.h libnm: skip meta enum value NM_WEP_KEY_TYPE_LAST from glib-mkenums 2017-05-23 13:37:10 +02:00
nm-setting-wireless.c docs: fix spelling errors in tranlated strings and documentation 2017-08-11 11:05:12 +02:00
nm-setting-wireless.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting.c libnm: use stack allocated temporary string for property name 2017-11-23 14:44:24 +01:00
nm-setting.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nm-simple-connection.c libnm-core: add _nm_simple_connection_new_from_dbus() function 2016-03-26 12:10:54 +01:00
nm-simple-connection.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nm-utils-private.h libnm-core: enforce team and team-port defaults 2017-11-09 17:56:15 +01:00
nm-utils.c libnm: drop now unused helper function _nm_utils_strsplit_set() 2017-11-29 16:26:28 +01:00
nm-utils.h libnm-core: add attribute parsing/format helpers 2017-03-06 15:20:25 +01:00
nm-version.h release: bump version to 1.11.0 (development) 2017-11-03 16:05:12 +01:00
nm-vpn-dbus-interface.h libnm: revert coercing NMVpnConnectionStateReason to NMActiveConnectionStateReason 2017-03-17 13:00:32 +01:00
nm-vpn-editor-plugin.c all: modify line separator comments to be 80 chars wide 2016-10-03 12:01:15 +02:00
nm-vpn-editor-plugin.h libnm-core/vpn-editor-plugin: add missing documentation 2016-11-21 13:53:03 +01:00
nm-vpn-plugin-info.c all: use nm_utils_strv_find_first() from shared/nm-utils 2017-02-04 17:55:30 +01:00
nm-vpn-plugin-info.h libnm/vpn: pass NMVpnPluginInfo to the NMVpnEditorPlugin instance 2016-06-15 10:32:32 +02:00