about summary refs log tree commit diff
path: root/libnm-core/nm-setting.c
diff options
context:
space:
mode:
authorSebastien Bacher <seb128@ubuntu.com>2020-01-07 16:53:57 +0100
committerSebastien Bacher <seb128@ubuntu.com>2020-01-07 16:56:18 +0100
commit5035d260cb1cde38bfdc732e0d1ff8b3ca78135c (patch)
tree1433995e753effc7cfa4f63266691bdc8b5ad6b3 /libnm-core/nm-setting.c
parent21add8edb7927d06f038208fd6271202063d5293 (diff)
parent121343423a2e75e15e16988e664a8b32a629f2ba (diff)
Merge tag 'debian/1.20.6-1'
network-manager Debian release 1.20.6-1
Diffstat (limited to 'libnm-core/nm-setting.c')
-rw-r--r--libnm-core/nm-setting.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/libnm-core/nm-setting.c b/libnm-core/nm-setting.c
index 4323b83c..1010e4cc 100644
--- a/libnm-core/nm-setting.c
+++ b/libnm-core/nm-setting.c
@@ -712,7 +712,14 @@ property_to_dbus (const NMSettInfoSetting *sett_info,
 		if (NM_FLAGS_HAS (property->param_spec->flags, NM_SETTING_PARAM_SECRET)) {
 			if (NM_FLAGS_HAS (flags, NM_CONNECTION_SERIALIZE_NO_SECRETS))
 				return NULL;
-			if (NM_FLAGS_HAS (flags, NM_CONNECTION_SERIALIZE_WITH_SECRETS_AGENT_OWNED)) {
+
+			/* Check agent secrets. Secrets in the vpn.secrets property are special as
+			 * the flag for each of them is specified as a separate key in the
+			 * vpn.data property. They are handled separately in the to_dbus_fcn()
+			 * of VPN setting. */
+			if (   NM_FLAGS_HAS (flags, NM_CONNECTION_SERIALIZE_WITH_SECRETS_AGENT_OWNED)
+			    && !nm_streq (nm_setting_get_name (setting), NM_SETTING_VPN_SETTING_NAME)
+			    && !nm_streq (property->name, NM_SETTING_VPN_SECRETS)) {
 				NMSettingSecretFlags f;
 
 				/* see also _nm_connection_serialize_secrets() */