summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am2
-rw-r--r--Makefile.in254
-rw-r--r--NEWS24
-rw-r--r--clients/cli/connections.c36
-rw-r--r--clients/cli/settings.c4904
-rwxr-xr-xconfigure58
-rw-r--r--configure.ac30
-rw-r--r--docs/api/html/index.html2
-rw-r--r--docs/api/html/ix01.html756
-rw-r--r--docs/api/version.xml2
-rw-r--r--docs/libnm-glib/html/NMAccessPoint.html24
-rw-r--r--docs/libnm-glib/html/NMActiveConnection.html28
-rw-r--r--docs/libnm-glib/html/NMClient.html26
-rw-r--r--docs/libnm-glib/html/NMDevice.html36
-rw-r--r--docs/libnm-glib/html/NMDeviceBt.html8
-rw-r--r--docs/libnm-glib/html/NMDeviceModem.html8
-rw-r--r--docs/libnm-glib/html/NMDeviceWifi.html8
-rw-r--r--docs/libnm-glib/html/NMIP6Config.html4
-rw-r--r--docs/libnm-glib/html/NMRemoteConnection.html8
-rw-r--r--docs/libnm-glib/html/NMRemoteSettings.html32
-rw-r--r--docs/libnm-glib/html/NMSecretAgent.html34
-rw-r--r--docs/libnm-glib/html/NMVPNConnection.html4
-rw-r--r--docs/libnm-glib/html/NMWimaxNsp.html8
-rw-r--r--docs/libnm-glib/html/index.html2
-rw-r--r--docs/libnm-glib/html/libnm-glib-NMVPNPlugin.html8
-rw-r--r--docs/libnm-glib/html/libnm-glib-NMVpnPluginUiWidget.html16
-rw-r--r--docs/libnm-glib/html/libnm-glib-nm-vpn-plugin-utils.html4
-rw-r--r--docs/libnm-glib/html/object-tree.html2
-rw-r--r--docs/libnm-glib/version.xml2
-rw-r--r--docs/libnm-util/html/NMConnection.html2
-rw-r--r--docs/libnm-util/html/index.html2
-rw-r--r--docs/libnm-util/version.xml2
-rw-r--r--docs/libnm/html/NMAccessPoint.html4
-rw-r--r--docs/libnm/html/NMConnection.html2
-rw-r--r--docs/libnm/html/NMDevice.html4
-rw-r--r--docs/libnm/html/NMSettingConnection.html2
-rw-r--r--docs/libnm/html/NMSettingGeneric.html2
-rw-r--r--docs/libnm/html/NMWimaxNsp.html4
-rw-r--r--docs/libnm/html/api-index-full.html14
-rw-r--r--docs/libnm/html/index.html2
-rw-r--r--docs/libnm/html/libnm-nm-errors.html4
-rw-r--r--docs/libnm/version.xml2
-rw-r--r--libnm-core/tests/test-general.c4
-rwxr-xr-xlibnm/generate-setting-docs.py21
-rw-r--r--libnm/nm-object.c13
-rw-r--r--m4/compiler_options.m42
-rw-r--r--man/NetworkManager.86
-rw-r--r--man/NetworkManager.conf.56
-rw-r--r--man/nm-online.16
-rw-r--r--man/nm-settings-ifcfg-rh.56
-rw-r--r--man/nm-settings-ifcfg-rh.xml2
-rw-r--r--man/nm-settings-keyfile.56
-rw-r--r--man/nm-settings-keyfile.xml2
-rw-r--r--man/nm-settings.56
-rw-r--r--man/nm-settings.xml2
-rw-r--r--man/nmcli-examples.76
-rw-r--r--man/nmcli.16
-rw-r--r--man/nmtui.16
-rw-r--r--po/pl.po1571
-rw-r--r--shared/nm-utils/nm-test-utils.h25
-rw-r--r--shared/nm-version-macros.h2
-rw-r--r--src/devices/nm-device-ethernet.c17
-rw-r--r--src/devices/nm-device-veth.c1
-rw-r--r--src/devices/nm-device-vlan.c20
-rw-r--r--src/devices/nm-device.c82
-rw-r--r--src/devices/nm-device.h2
-rw-r--r--src/nm-act-request.c30
-rw-r--r--src/nm-config.c6
-rw-r--r--src/nm-core-utils.c390
-rw-r--r--src/nm-core-utils.h13
-rw-r--r--src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-master-invalid2
-rw-r--r--src/supplicant/nm-supplicant-interface.c38
-rw-r--r--src/supplicant/nm-supplicant-interface.h13
-rw-r--r--src/supplicant/nm-supplicant-manager.c30
-rw-r--r--src/tests/test-general.c322
75 files changed, 4666 insertions, 4374 deletions
diff --git a/Makefile.am b/Makefile.am
index 21164864..f06b7d65 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2071,7 +2071,9 @@ dist_hook += dist-hook-settings-ifcfg-rh-alias-files
 
 ###############################################################################
 
+if CONFIG_PLUGIN_IFCFG_RH
 dbusservice_DATA += src/settings/plugins/ifcfg-rh/nm-ifcfg-rh.conf
+endif
 
 EXTRA_DIST += \
 	src/settings/plugins/ifcfg-rh/nm-ifcfg-rh.conf \
diff --git a/Makefile.in b/Makefile.in
index 4aebd48c..8ded71f8 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -210,102 +210,105 @@ TESTS = $(am__EXEEXT_10)
 @CONFIG_PLUGIN_IFCFG_RH_TRUE@am__append_27 = src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh
 
 ###############################################################################
+@CONFIG_PLUGIN_IFCFG_RH_TRUE@am__append_28 = src/settings/plugins/ifcfg-rh/nm-ifcfg-rh.conf
+
+###############################################################################
 # src/settings/plugins/ifupdown
 ###############################################################################
-@CONFIG_PLUGIN_IFUPDOWN_TRUE@am__append_28 = src/settings/plugins/ifupdown/libnm-settings-plugin-ifupdown.la
-@CONFIG_PLUGIN_IFUPDOWN_TRUE@am__append_29 = src/settings/plugins/ifupdown/libnms-ifupdown-core.la
-@CONFIG_PLUGIN_IFUPDOWN_TRUE@am__append_30 = check-local-symbols-settings-ifupdown
+@CONFIG_PLUGIN_IFUPDOWN_TRUE@am__append_29 = src/settings/plugins/ifupdown/libnm-settings-plugin-ifupdown.la
+@CONFIG_PLUGIN_IFUPDOWN_TRUE@am__append_30 = src/settings/plugins/ifupdown/libnms-ifupdown-core.la
+@CONFIG_PLUGIN_IFUPDOWN_TRUE@am__append_31 = check-local-symbols-settings-ifupdown
 
 ###############################################################################
-@CONFIG_PLUGIN_IFUPDOWN_TRUE@am__append_31 = src/settings/plugins/ifupdown/tests/test-ifupdown
+@CONFIG_PLUGIN_IFUPDOWN_TRUE@am__append_32 = src/settings/plugins/ifupdown/tests/test-ifupdown
 
 ###############################################################################
 # src/settings/plugins/ifnet
 ###############################################################################
-@CONFIG_PLUGIN_IFNET_TRUE@am__append_32 = src/settings/plugins/ifnet/libnm-settings-plugin-ifnet.la
-@CONFIG_PLUGIN_IFNET_TRUE@am__append_33 = src/settings/plugins/ifnet/libnms-ifnet-core.la
-@CONFIG_PLUGIN_IFNET_TRUE@am__append_34 = check-local-symbols-settings-ifnet
+@CONFIG_PLUGIN_IFNET_TRUE@am__append_33 = src/settings/plugins/ifnet/libnm-settings-plugin-ifnet.la
+@CONFIG_PLUGIN_IFNET_TRUE@am__append_34 = src/settings/plugins/ifnet/libnms-ifnet-core.la
+@CONFIG_PLUGIN_IFNET_TRUE@am__append_35 = check-local-symbols-settings-ifnet
 
 ###############################################################################
-@CONFIG_PLUGIN_IFNET_TRUE@am__append_35 = src/settings/plugins/ifnet/tests/test-ifnet
+@CONFIG_PLUGIN_IFNET_TRUE@am__append_36 = src/settings/plugins/ifnet/tests/test-ifnet
 
 ###############################################################################
 # src/devices/bluetooth
 ###############################################################################
-@WITH_MODEM_MANAGER_1_TRUE@am__append_36 =  \
+@WITH_MODEM_MANAGER_1_TRUE@am__append_37 =  \
 @WITH_MODEM_MANAGER_1_TRUE@	src/devices/wwan/libnm-wwan.la \
 @WITH_MODEM_MANAGER_1_TRUE@	src/devices/wwan/libnm-device-plugin-wwan.la \
 @WITH_MODEM_MANAGER_1_TRUE@	src/devices/bluetooth/libnm-device-plugin-bluetooth.la
-@WITH_MODEM_MANAGER_1_TRUE@@WITH_OFONO_TRUE@am__append_37 = \
+@WITH_MODEM_MANAGER_1_TRUE@@WITH_OFONO_TRUE@am__append_38 = \
 @WITH_MODEM_MANAGER_1_TRUE@@WITH_OFONO_TRUE@	src/devices/wwan/nm-modem-ofono.c \
 @WITH_MODEM_MANAGER_1_TRUE@@WITH_OFONO_TRUE@	src/devices/wwan/nm-modem-ofono.h
 
-@WITH_MODEM_MANAGER_1_TRUE@am__append_38 = check-local-devices-wwan \
+@WITH_MODEM_MANAGER_1_TRUE@am__append_39 = check-local-devices-wwan \
 @WITH_MODEM_MANAGER_1_TRUE@	check-local-devices-bluetooth
-@WITH_BLUEZ5_DUN_TRUE@@WITH_MODEM_MANAGER_1_TRUE@am__append_39 = $(BLUEZ5_CFLAGS)
-@WITH_BLUEZ5_DUN_TRUE@@WITH_MODEM_MANAGER_1_TRUE@am__append_40 = \
+@WITH_BLUEZ5_DUN_TRUE@@WITH_MODEM_MANAGER_1_TRUE@am__append_40 = $(BLUEZ5_CFLAGS)
+@WITH_BLUEZ5_DUN_TRUE@@WITH_MODEM_MANAGER_1_TRUE@am__append_41 = \
 @WITH_BLUEZ5_DUN_TRUE@@WITH_MODEM_MANAGER_1_TRUE@	src/devices/bluetooth/nm-bluez5-dun.c \
 @WITH_BLUEZ5_DUN_TRUE@@WITH_MODEM_MANAGER_1_TRUE@	src/devices/bluetooth/nm-bluez5-dun.h
 
-@WITH_BLUEZ5_DUN_TRUE@@WITH_MODEM_MANAGER_1_TRUE@am__append_41 = $(BLUEZ5_LIBS)
+@WITH_BLUEZ5_DUN_TRUE@@WITH_MODEM_MANAGER_1_TRUE@am__append_42 = $(BLUEZ5_LIBS)
 
 ###############################################################################
 # src/devices/wifi
 ###############################################################################
-@WITH_WIFI_TRUE@am__append_42 = src/devices/wifi/libnm-device-plugin-wifi.la
-@WITH_WIFI_TRUE@am__append_43 = check-local-devices-wifi
-@WITH_WIFI_TRUE@am__append_44 = src/devices/wifi/tests/test-general
+@WITH_WIFI_TRUE@am__append_43 = src/devices/wifi/libnm-device-plugin-wifi.la
+@WITH_WIFI_TRUE@am__append_44 = check-local-devices-wifi
+@WITH_WIFI_TRUE@am__append_45 = src/devices/wifi/tests/test-general
 
 ###############################################################################
 # src/devices/team
 ###############################################################################
-@WITH_TEAMDCTL_TRUE@am__append_45 = src/devices/team/libnm-device-plugin-team.la
-@WITH_TEAMDCTL_TRUE@am__append_46 = check-local-devices-team
+@WITH_TEAMDCTL_TRUE@am__append_46 = src/devices/team/libnm-device-plugin-team.la
+@WITH_TEAMDCTL_TRUE@am__append_47 = check-local-devices-team
 
 ###############################################################################
 # clients/cli
 ###############################################################################
-@BUILD_NMCLI_TRUE@am__append_47 = clients/cli/nmcli
-@BUILD_NMCLI_TRUE@@WITH_POLKIT_AGENT_TRUE@am__append_48 = $(POLKIT_CFLAGS)
-@BUILD_NMCLI_TRUE@@WITH_POLKIT_AGENT_TRUE@am__append_49 = \
+@BUILD_NMCLI_TRUE@am__append_48 = clients/cli/nmcli
+@BUILD_NMCLI_TRUE@@WITH_POLKIT_AGENT_TRUE@am__append_49 = $(POLKIT_CFLAGS)
+@BUILD_NMCLI_TRUE@@WITH_POLKIT_AGENT_TRUE@am__append_50 = \
 @BUILD_NMCLI_TRUE@@WITH_POLKIT_AGENT_TRUE@	clients/common/nm-polkit-listener.c \
 @BUILD_NMCLI_TRUE@@WITH_POLKIT_AGENT_TRUE@	clients/common/nm-polkit-listener.h
 
-@BUILD_NMCLI_TRUE@@WITH_POLKIT_AGENT_TRUE@am__append_50 = $(POLKIT_LIBS)
-@BUILD_NMCLI_TRUE@am__append_51 = install-data-hook-nmcli
-@BUILD_NMCLI_TRUE@am__append_52 = uninstall-hook-nmcli
-@HAVE_INTROSPECTION_TRUE@am__append_53 = $(clients_cli_settings_doc_c)
+@BUILD_NMCLI_TRUE@@WITH_POLKIT_AGENT_TRUE@am__append_51 = $(POLKIT_LIBS)
+@BUILD_NMCLI_TRUE@am__append_52 = install-data-hook-nmcli
+@BUILD_NMCLI_TRUE@am__append_53 = uninstall-hook-nmcli
+@HAVE_INTROSPECTION_TRUE@am__append_54 = $(clients_cli_settings_doc_c)
 
 ###############################################################################
 # clients/tui
 ###############################################################################
-@BUILD_NMTUI_TRUE@am__append_54 = clients/tui/newt/libnmt-newt.a
-@BUILD_NMTUI_TRUE@am__append_55 = clients/tui/nmtui
-@BUILD_NMTUI_TRUE@am__append_56 = install-exec-hook-nmtui
-@BUILD_NMTUI_TRUE@am__append_57 = uninstall-hook-nmtui
-@HAVE_SYSTEMD_TRUE@am__append_58 = data/org.freedesktop.NetworkManager.service
-@HAVE_SYSTEMD_TRUE@am__append_59 = install-exec-local-data
+@BUILD_NMTUI_TRUE@am__append_55 = clients/tui/newt/libnmt-newt.a
+@BUILD_NMTUI_TRUE@am__append_56 = clients/tui/nmtui
+@BUILD_NMTUI_TRUE@am__append_57 = install-exec-hook-nmtui
+@BUILD_NMTUI_TRUE@am__append_58 = uninstall-hook-nmtui
+@HAVE_SYSTEMD_TRUE@am__append_59 = data/org.freedesktop.NetworkManager.service
+@HAVE_SYSTEMD_TRUE@am__append_60 = install-exec-local-data
 
 ###############################################################################
 # libnm-util
 ###############################################################################
-@WITH_LEGACY_LIBRARIES_TRUE@am__append_60 = libnm-util/libnm-util.la \
+@WITH_LEGACY_LIBRARIES_TRUE@am__append_61 = libnm-util/libnm-util.la \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-glib/libnm-glib.la \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-glib/libnm-glib-vpn.la
-@WITH_LEGACY_LIBRARIES_TRUE@am__append_61 =  \
+@WITH_LEGACY_LIBRARIES_TRUE@am__append_62 =  \
 @WITH_LEGACY_LIBRARIES_TRUE@	$(libnm_util_lib_h_pub_mkenums) \
 @WITH_LEGACY_LIBRARIES_TRUE@	$(libnm_util_lib_c_mkenums) \
 @WITH_LEGACY_LIBRARIES_TRUE@	$(libnm_glib_lib_h_pub_mkenums) \
 @WITH_LEGACY_LIBRARIES_TRUE@	$(libnm_glib_lib_c_mkenums) \
 @WITH_LEGACY_LIBRARIES_TRUE@	$(libnm_glib_vpn_h_mkenums) \
 @WITH_LEGACY_LIBRARIES_TRUE@	$(libnm_glib_vpn_c_mkenums)
-@WITH_GNUTLS_TRUE@@WITH_LEGACY_LIBRARIES_TRUE@am__append_62 = $(GNUTLS_CFLAGS)
-@WITH_GNUTLS_TRUE@@WITH_LEGACY_LIBRARIES_TRUE@am__append_63 = libnm-util/crypto_gnutls.c
-@WITH_GNUTLS_TRUE@@WITH_LEGACY_LIBRARIES_TRUE@am__append_64 = $(GNUTLS_LIBS)
-@WITH_LEGACY_LIBRARIES_TRUE@@WITH_NSS_TRUE@am__append_65 = $(NSS_CFLAGS)
-@WITH_LEGACY_LIBRARIES_TRUE@@WITH_NSS_TRUE@am__append_66 = libnm-util/crypto_nss.c
-@WITH_LEGACY_LIBRARIES_TRUE@@WITH_NSS_TRUE@am__append_67 = $(NSS_LIBS)
-@WITH_LEGACY_LIBRARIES_TRUE@am__append_68 =  \
+@WITH_GNUTLS_TRUE@@WITH_LEGACY_LIBRARIES_TRUE@am__append_63 = $(GNUTLS_CFLAGS)
+@WITH_GNUTLS_TRUE@@WITH_LEGACY_LIBRARIES_TRUE@am__append_64 = libnm-util/crypto_gnutls.c
+@WITH_GNUTLS_TRUE@@WITH_LEGACY_LIBRARIES_TRUE@am__append_65 = $(GNUTLS_LIBS)
+@WITH_LEGACY_LIBRARIES_TRUE@@WITH_NSS_TRUE@am__append_66 = $(NSS_CFLAGS)
+@WITH_LEGACY_LIBRARIES_TRUE@@WITH_NSS_TRUE@am__append_67 = libnm-util/crypto_nss.c
+@WITH_LEGACY_LIBRARIES_TRUE@@WITH_NSS_TRUE@am__append_68 = $(NSS_LIBS)
+@WITH_LEGACY_LIBRARIES_TRUE@am__append_69 =  \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-util/crypto_gnutls.c \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-util/crypto_nss.c \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-util/COPYING \
@@ -315,26 +318,26 @@ TESTS = $(am__EXEEXT_10)
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-glib/libnm-glib-vpn.pc.in \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-glib/libnm-glib.ver \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-glib/libnm-glib-vpn.ver
-@WITH_LEGACY_LIBRARIES_TRUE@am__append_69 = libnm-util/libtest-crypto.la
-@WITH_GNUTLS_TRUE@@WITH_LEGACY_LIBRARIES_TRUE@am__append_70 = libnm-util/crypto_gnutls.c
-@WITH_GNUTLS_TRUE@@WITH_LEGACY_LIBRARIES_TRUE@am__append_71 = $(GNUTLS_LIBS)
-@WITH_LEGACY_LIBRARIES_TRUE@@WITH_NSS_TRUE@am__append_72 = libnm-util/crypto_nss.c
-@WITH_LEGACY_LIBRARIES_TRUE@@WITH_NSS_TRUE@am__append_73 = $(NSS_LIBS)
-@WITH_LEGACY_LIBRARIES_TRUE@am__append_74 = libnm-util/libnm-util.pc \
+@WITH_LEGACY_LIBRARIES_TRUE@am__append_70 = libnm-util/libtest-crypto.la
+@WITH_GNUTLS_TRUE@@WITH_LEGACY_LIBRARIES_TRUE@am__append_71 = libnm-util/crypto_gnutls.c
+@WITH_GNUTLS_TRUE@@WITH_LEGACY_LIBRARIES_TRUE@am__append_72 = $(GNUTLS_LIBS)
+@WITH_LEGACY_LIBRARIES_TRUE@@WITH_NSS_TRUE@am__append_73 = libnm-util/crypto_nss.c
+@WITH_LEGACY_LIBRARIES_TRUE@@WITH_NSS_TRUE@am__append_74 = $(NSS_LIBS)
+@WITH_LEGACY_LIBRARIES_TRUE@am__append_75 = libnm-util/libnm-util.pc \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-glib/libnm-glib.pc \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-glib/libnm-glib-vpn.pc
-@WITH_LEGACY_LIBRARIES_TRUE@am__append_75 = libnm-util/libnm-util.pc \
+@WITH_LEGACY_LIBRARIES_TRUE@am__append_76 = libnm-util/libnm-util.pc \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-glib/libnm-glib.pc \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-glib/libnm-glib.pc
-@HAVE_INTROSPECTION_TRUE@@WITH_LEGACY_LIBRARIES_TRUE@am__append_76 = libnm-util/NetworkManager-1.0.gir \
+@HAVE_INTROSPECTION_TRUE@@WITH_LEGACY_LIBRARIES_TRUE@am__append_77 = libnm-util/NetworkManager-1.0.gir \
 @HAVE_INTROSPECTION_TRUE@@WITH_LEGACY_LIBRARIES_TRUE@	libnm-glib/NMClient-1.0.gir
-@WITH_LEGACY_LIBRARIES_TRUE@am__append_77 =  \
+@WITH_LEGACY_LIBRARIES_TRUE@am__append_78 =  \
 @WITH_LEGACY_LIBRARIES_TRUE@	check-local-exports-libnm-util \
 @WITH_LEGACY_LIBRARIES_TRUE@	check-local-exports-libnm-glib
-@WITH_LEGACY_LIBRARIES_TRUE@am__append_78 = libnm-util/libnm-util.la \
+@WITH_LEGACY_LIBRARIES_TRUE@am__append_79 = libnm-util/libnm-util.la \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-glib/libnm-glib.la \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-glib/libnm-glib-vpn.la
-@WITH_LEGACY_LIBRARIES_TRUE@am__append_79 = libnm-util/tests/test-settings-defaults \
+@WITH_LEGACY_LIBRARIES_TRUE@am__append_80 = libnm-util/tests/test-settings-defaults \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-util/tests/test-crypto \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-util/tests/test-secrets \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-util/tests/test-general \
@@ -342,22 +345,22 @@ TESTS = $(am__EXEEXT_10)
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-util/tests/test-setting-dcb \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-glib/tests/test-nm-client \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-glib/tests/test-remote-settings-client
-@WITH_LEGACY_LIBRARIES_TRUE@am__append_80 = libnm-util/tests/test-libnm-linking \
+@WITH_LEGACY_LIBRARIES_TRUE@am__append_81 = libnm-util/tests/test-libnm-linking \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-glib/libnm-glib-test
-@WITH_LEGACY_LIBRARIES_TRUE@am__append_81 = libnm-glib/libdeprecated-nm-glib.la
-@WITH_LEGACY_LIBRARIES_TRUE@am__append_82 = \
+@WITH_LEGACY_LIBRARIES_TRUE@am__append_82 = libnm-glib/libdeprecated-nm-glib.la
+@WITH_LEGACY_LIBRARIES_TRUE@am__append_83 = \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-glib/nm-vpn-plugin-glue.h \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-glib/nm-secret-agent-glue.h
 
-@HAVE_INTROSPECTION_TRUE@am__append_83 = $(man_nm_settings_xml) \
+@HAVE_INTROSPECTION_TRUE@am__append_84 = $(man_nm_settings_xml) \
 @HAVE_INTROSPECTION_TRUE@	$(man_pages)
-@CONFIG_PLUGIN_IFCFG_RH_TRUE@am__append_84 = man/nm-settings-ifcfg-rh.5
-@CONFIG_PLUGIN_IFCFG_RH_FALSE@am__append_85 = man/nm-settings-ifcfg-rh.5
+@CONFIG_PLUGIN_IFCFG_RH_TRUE@am__append_85 = man/nm-settings-ifcfg-rh.5
 @CONFIG_PLUGIN_IFCFG_RH_FALSE@am__append_86 = man/nm-settings-ifcfg-rh.5
-@HAVE_INTROSPECTION_TRUE@am__append_87 = $(man_pages)
-@HAVE_INTROSPECTION_TRUE@@SETTING_DOCS_AVAILABLE_TRUE@am__append_88 = $(man_pages_autogen)
+@CONFIG_PLUGIN_IFCFG_RH_FALSE@am__append_87 = man/nm-settings-ifcfg-rh.5
+@HAVE_INTROSPECTION_TRUE@am__append_88 = $(man_pages)
 @HAVE_INTROSPECTION_TRUE@@SETTING_DOCS_AVAILABLE_TRUE@am__append_89 = $(man_pages_autogen)
-@HAVE_INTROSPECTION_FALSE@@INSTALL_PREGEN_MANPAGES_TRUE@am__append_90 = \
+@HAVE_INTROSPECTION_TRUE@@SETTING_DOCS_AVAILABLE_TRUE@am__append_90 = $(man_pages_autogen)
+@HAVE_INTROSPECTION_FALSE@@INSTALL_PREGEN_MANPAGES_TRUE@am__append_91 = \
 @HAVE_INTROSPECTION_FALSE@@INSTALL_PREGEN_MANPAGES_TRUE@	$(man_pages) \
 @HAVE_INTROSPECTION_FALSE@@INSTALL_PREGEN_MANPAGES_TRUE@	$(man_pages_autogen)
 
@@ -365,31 +368,31 @@ TESTS = $(am__EXEEXT_10)
 ###############################################################################
 # vapi
 ###############################################################################
-@ENABLE_VAPIGEN_TRUE@am__append_91 = \
+@ENABLE_VAPIGEN_TRUE@am__append_92 = \
 @ENABLE_VAPIGEN_TRUE@	vapi/libnm.vapi
 
-@ENABLE_VAPIGEN_TRUE@@WITH_LEGACY_LIBRARIES_TRUE@am__append_92 = \
+@ENABLE_VAPIGEN_TRUE@@WITH_LEGACY_LIBRARIES_TRUE@am__append_93 = \
 @ENABLE_VAPIGEN_TRUE@@WITH_LEGACY_LIBRARIES_TRUE@	vapi/libnm-util.vapi \
 @ENABLE_VAPIGEN_TRUE@@WITH_LEGACY_LIBRARIES_TRUE@	vapi/libnm-glib.vapi
 
-@ENABLE_VAPIGEN_TRUE@am__append_93 = \
+@ENABLE_VAPIGEN_TRUE@am__append_94 = \
 @ENABLE_VAPIGEN_TRUE@	$(VAPIGEN_VAPIS) \
 @ENABLE_VAPIGEN_TRUE@	$(VAPIGEN_VAPIS:.vapi=.deps)
 
-@ENABLE_VAPIGEN_TRUE@am__append_94 = $(VAPIGEN_VAPIS)
+@ENABLE_VAPIGEN_TRUE@am__append_95 = $(VAPIGEN_VAPIS)
 
 ###############################################################################
-@ENABLE_TESTS_TRUE@am__append_95 = $(check_programs) $(check_programs_norun)
-@ENABLE_TESTS_TRUE@am__append_96 = $(check_ltlibraries)
-@ENABLE_TESTS_FALSE@am__append_97 = $(check_programs) $(check_programs_norun)
-@ENABLE_TESTS_FALSE@am__append_98 = $(check_ltlibraries)
-@WITH_QT_TRUE@am__append_99 = \
+@ENABLE_TESTS_TRUE@am__append_96 = $(check_programs) $(check_programs_norun)
+@ENABLE_TESTS_TRUE@am__append_97 = $(check_ltlibraries)
+@ENABLE_TESTS_FALSE@am__append_98 = $(check_programs) $(check_programs_norun)
+@ENABLE_TESTS_FALSE@am__append_99 = $(check_ltlibraries)
+@WITH_QT_TRUE@am__append_100 = \
 @WITH_QT_TRUE@	examples/C/qt/add-connection-wired \
 @WITH_QT_TRUE@	examples/C/qt/list-connections \
 @WITH_QT_TRUE@	examples/C/qt/change-ipv4-addresses \
 @WITH_QT_TRUE@	examples/C/qt/monitor-nm-running
 
-@WITH_QT_TRUE@am__append_100 = \
+@WITH_QT_TRUE@am__append_101 = \
 @WITH_QT_TRUE@	examples/C/qt/monitor-nm-running.moc
 
 subdir = .
@@ -3228,26 +3231,26 @@ AUTOMAKE_OPTIONS = subdir-objects
 noinst_LTLIBRARIES = introspection/libnmdbus.la \
 	libnm-core/libnm-core.la src/libNetworkManagerBase.la \
 	src/libNetworkManager.la src/libsystemd-nm.la $(am__append_19) \
-	$(am__append_24) $(am__append_29) $(am__append_33) \
-	dispatcher/libnm-dispatcher-core.la $(am__append_81) \
-	$(am__append_96)
-check_LTLIBRARIES = $(am__append_98)
-noinst_LIBRARIES = $(am__append_54)
+	$(am__append_24) $(am__append_30) $(am__append_34) \
+	dispatcher/libnm-dispatcher-core.la $(am__append_82) \
+	$(am__append_97)
+check_LTLIBRARIES = $(am__append_99)
+noinst_LIBRARIES = $(am__append_55)
 noinst_DATA = $(am__append_12)
 
 ###############################################################################
-lib_LTLIBRARIES = libnm/libnm.la $(am__append_60)
+lib_LTLIBRARIES = libnm/libnm.la $(am__append_61)
 pkglib_LTLIBRARIES = $(core_plugins)
 
 ###############################################################################
 # src/devices/adsl
 ###############################################################################
 core_plugins = $(am__append_16) $(am__append_18) $(am__append_23) \
-	$(am__append_28) $(am__append_32) \
-	src/devices/adsl/libnm-device-plugin-adsl.la $(am__append_36) \
-	$(am__append_42) $(am__append_45)
-service_DATA = $(am__append_58)
-man_MANS = $(am__append_87) $(am__append_88) $(am__append_90)
+	$(am__append_29) $(am__append_33) \
+	src/devices/adsl/libnm-device-plugin-adsl.la $(am__append_37) \
+	$(am__append_43) $(am__append_46)
+service_DATA = $(am__append_59)
+man_MANS = $(am__append_88) $(am__append_89) $(am__append_91)
 examples_DATA = data/server.conf
 CLEANFILES = $(introspection_sources) $(DBUS_INTERFACE_DOCS) \
 	src/NetworkManager.ver $(am__append_25) \
@@ -3257,13 +3260,13 @@ CLEANFILES = $(introspection_sources) $(DBUS_INTERFACE_DOCS) \
 	data/NetworkManager-wait-online.service \
 	data/NetworkManager-dispatcher.service \
 	data/org.freedesktop.NetworkManager.service data/server.conf \
-	$(am__append_82) $(am__append_83) $(am__append_89) \
-	$(am__append_94) $(GLIB_GENERATED) $(INTROSPECTION_GIRS) \
+	$(am__append_83) $(am__append_84) $(am__append_90) \
+	$(am__append_95) $(GLIB_GENERATED) $(INTROSPECTION_GIRS) \
 	$(typelib_DATA) cscope.in.out cscope.out cscope.po.out $(NULL) \
-	$(am__append_100)
+	$(am__append_101)
 DISTCLEANFILES = intltool-extract intltool-merge intltool-update \
-	$(polkit_policy_DATA) libnm/libnm.pc $(am__append_53) \
-	$(am__append_75)
+	$(polkit_policy_DATA) libnm/libnm.pc $(am__append_54) \
+	$(am__append_76)
 
 # test-cert.p12 created with:
 #
@@ -3558,7 +3561,7 @@ EXTRA_DIST = $(dbusinterfaces_DATA) libnm-core/crypto_gnutls.c \
 	data/NetworkManager-dispatcher.service.in \
 	data/org.freedesktop.NetworkManager.service.in \
 	data/84-nm-drivers.rules data/85-nm-unmanaged.rules \
-	data/server.conf.in $(am__append_68) $(am__append_85) \
+	data/server.conf.in $(am__append_69) $(am__append_86) \
 	$(man_nm_settings_xml) $(addsuffix .xsl,$(basename \
 	$(man_nm_settings_xml))) $(man_pages) $(addsuffix \
 	.xml,$(basename $(man_pages))) $(man_pages_autogen) \
@@ -3638,14 +3641,14 @@ EXTRA_DIST = $(dbusinterfaces_DATA) libnm-core/crypto_gnutls.c \
 	examples/shell/active-wifi.sh $(NULL)
 dist_hook = dist-hook-settings-ifcfg-rh-alias-files
 dist_dependencies = libnm-core/nm-vpn-dbus-types.xml \
-	libnm-core/nm-dbus-types.xml $(am__append_78) $(am__append_86) \
+	libnm-core/nm-dbus-types.xml $(am__append_79) $(am__append_87) \
 	$(man_pages) $(man_pages_autogen)
 dist_configure_check = $(am__append_3) $(am__append_4)
-install_data_hook = install-data-hook-dispatcher $(am__append_51) \
+install_data_hook = install-data-hook-dispatcher $(am__append_52) \
 	install-data-hook-man
-install_exec_hook = $(am__append_56)
-install_exec_local = $(am__append_59)
-uninstall_hook = $(am__append_52) $(am__append_57) uninstall-hook-man
+install_exec_hook = $(am__append_57)
+install_exec_local = $(am__append_60)
+uninstall_hook = $(am__append_53) $(am__append_58) uninstall-hook-man
 BUILT_SOURCES = libnm-core/nm-vpn-dbus-types.xml \
 	libnm-core/nm-dbus-types.xml $(gir_DATA) $(typelib_DATA)
 GLIB_GENERATED = $(libnm_core_lib_h_pub_mkenums) \
@@ -3653,12 +3656,12 @@ GLIB_GENERATED = $(libnm_core_lib_h_pub_mkenums) \
 	libnm-core/tests/nm-core-tests-enum-types.h \
 	libnm-core/tests/nm-core-tests-enum-types.c \
 	$(libnm_lib_h_pub_mkenums) $(libnm_lib_c_mkenums) \
-	$(am__append_61)
+	$(am__append_62)
 man_pages = man/nmcli.1 man/nmtui.1 man/nm-online.1 \
 	man/NetworkManager.conf.5 man/nmcli-examples.7 \
 	man/NetworkManager.8
 man_pages_autogen = man/nm-settings.5 man/nm-settings-keyfile.5 \
-	$(am__append_84)
+	$(am__append_85)
 
 ###############################################################################
 
@@ -3691,8 +3694,8 @@ check_programs = libnm-core/tests/test-compare \
 	$(libnm_tests_programs) src/dhcp/tests/test-dhcp-dhclient \
 	src/dhcp/tests/test-dhcp-utils \
 	src/settings/plugins/keyfile/tests/test-keyfile \
-	$(am__append_20) $(am__append_27) $(am__append_31) \
-	$(am__append_35) $(am__append_44) \
+	$(am__append_20) $(am__append_27) $(am__append_32) \
+	$(am__append_36) $(am__append_45) \
 	src/dnsmasq/tests/test-dnsmasq-utils \
 	src/platform/tests/test-link-fake \
 	src/platform/tests/test-link-linux \
@@ -3713,9 +3716,9 @@ check_programs = libnm-core/tests/test-compare \
 	src/tests/test-route-manager-fake src/tests/test-dcb \
 	src/tests/test-systemd src/tests/test-resolvconf-capture \
 	src/tests/test-wired-defname src/tests/test-utils \
-	dispatcher/tests/test-dispatcher-envp $(am__append_79)
+	dispatcher/tests/test-dispatcher-envp $(am__append_80)
 check_programs_norun = src/platform/tests/monitor \
-	src/ndisc/tests/test-ndisc-linux $(am__append_80) \
+	src/ndisc/tests/test-ndisc-linux $(am__append_81) \
 	examples/C/glib/add-connection-gdbus \
 	examples/C/glib/add-connection-libnm \
 	examples/C/glib/get-active-connections-gdbus \
@@ -3723,7 +3726,7 @@ check_programs_norun = src/platform/tests/monitor \
 	examples/C/glib/list-connections-gdbus \
 	examples/C/glib/list-connections-libnm \
 	examples/C/glib/monitor-nm-running-gdbus \
-	examples/C/glib/monitor-nm-state-gdbus $(am__append_99)
+	examples/C/glib/monitor-nm-state-gdbus $(am__append_100)
 
 ###############################################################################
 
@@ -3731,20 +3734,17 @@ check_programs_norun = src/platform/tests/monitor \
 
 ###############################################################################
 check_ltlibraries = libnm/tests/libnm-vpn-plugin-utils-test.la \
-	src/libNetworkManagerTest.la $(am__append_69)
+	src/libNetworkManagerTest.la $(am__append_70)
 check_local = check-local-exports-libnm $(am__append_22) \
-	$(am__append_26) $(am__append_30) $(am__append_34) \
-	check-local-devices-adsl $(am__append_38) $(am__append_43) \
-	$(am__append_46) $(am__append_77)
-VAPIGEN_VAPIS = $(am__append_91) $(am__append_92)
-
-###############################################################################
-dbusservice_DATA = src/settings/plugins/ifcfg-rh/nm-ifcfg-rh.conf \
-	dispatcher/nm-dispatcher.conf \
+	$(am__append_26) $(am__append_31) $(am__append_35) \
+	check-local-devices-adsl $(am__append_39) $(am__append_44) \
+	$(am__append_47) $(am__append_78)
+VAPIGEN_VAPIS = $(am__append_92) $(am__append_93)
+dbusservice_DATA = $(am__append_28) dispatcher/nm-dispatcher.conf \
 	src/org.freedesktop.NetworkManager.conf
 dbusactivation_DATA =  \
 	dispatcher/org.freedesktop.nm_dispatcher.service
-INTROSPECTION_GIRS = $(am__append_11) $(am__append_76)
+INTROSPECTION_GIRS = $(am__append_11) $(am__append_77)
 INTROSPECTION_SCANNER_ARGS = 
 INTROSPECTION_COMPILER_ARGS = 
 # Pass SANITIZER_ENV where a command that uses built libraries is
@@ -3758,11 +3758,11 @@ nodist_libnminclude_HEADERS = $(libnm_core_lib_h_pub_mkenums) \
 pkgconfigdir = $(libdir)/pkgconfig
 
 ###############################################################################
-pkgconfig_DATA = NetworkManager.pc libnm/libnm.pc $(am__append_74)
+pkgconfig_DATA = NetworkManager.pc libnm/libnm.pc $(am__append_75)
 pppd_plugindir = $(PPPD_PLUGIN_DIR)
 pppd_plugin_LTLIBRARIES = $(am__append_17)
 vapidir = $(datadir)/vala/vapi
-vapi_DATA = $(am__append_93)
+vapi_DATA = $(am__append_94)
 examplesdir = $(docdir)/examples
 rundir = $(runstatedir)/NetworkManager
 statedir = $(localstatedir)/lib/NetworkManager
@@ -5216,7 +5216,7 @@ src_devices_adsl_libnm_device_plugin_adsl_la_LIBADD = \
 @WITH_MODEM_MANAGER_1_TRUE@	src/devices/wwan/nm-modem-manager.h \
 @WITH_MODEM_MANAGER_1_TRUE@	src/devices/wwan/nm-modem.c \
 @WITH_MODEM_MANAGER_1_TRUE@	src/devices/wwan/nm-modem.h \
-@WITH_MODEM_MANAGER_1_TRUE@	$(am__append_37)
+@WITH_MODEM_MANAGER_1_TRUE@	$(am__append_38)
 @WITH_MODEM_MANAGER_1_TRUE@src_devices_wwan_libnm_wwan_la_CPPFLAGS = $(src_devices_wwan_cppflags)
 @WITH_MODEM_MANAGER_1_TRUE@src_devices_wwan_libnm_wwan_la_LDFLAGS = \
 @WITH_MODEM_MANAGER_1_TRUE@	-avoid-version \
@@ -5256,7 +5256,7 @@ src_devices_adsl_libnm_device_plugin_adsl_la_LIBADD = \
 @WITH_MODEM_MANAGER_1_TRUE@	src/devices/bluetooth/nm-bt-error.c \
 @WITH_MODEM_MANAGER_1_TRUE@	src/devices/bluetooth/nm-device-bt.c \
 @WITH_MODEM_MANAGER_1_TRUE@	src/devices/bluetooth/nm-device-bt.h \
-@WITH_MODEM_MANAGER_1_TRUE@	$(am__append_40)
+@WITH_MODEM_MANAGER_1_TRUE@	$(am__append_41)
 @WITH_MODEM_MANAGER_1_TRUE@src_devices_bluetooth_libnm_device_plugin_bluetooth_la_CPPFLAGS =  \
 @WITH_MODEM_MANAGER_1_TRUE@	-I$(srcdir)/src -I$(builddir)/src \
 @WITH_MODEM_MANAGER_1_TRUE@	-I$(srcdir)/shared \
@@ -5265,7 +5265,7 @@ src_devices_adsl_libnm_device_plugin_adsl_la_LIBADD = \
 @WITH_MODEM_MANAGER_1_TRUE@	-I$(srcdir)/libnm-core \
 @WITH_MODEM_MANAGER_1_TRUE@	-DG_LOG_DOMAIN=\""NetworkManager"\" \
 @WITH_MODEM_MANAGER_1_TRUE@	-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_INSIDE_DAEMON \
-@WITH_MODEM_MANAGER_1_TRUE@	$(GLIB_CFLAGS) $(am__append_39)
+@WITH_MODEM_MANAGER_1_TRUE@	$(GLIB_CFLAGS) $(am__append_40)
 @WITH_MODEM_MANAGER_1_TRUE@src_devices_bluetooth_libnm_device_plugin_bluetooth_la_LDFLAGS = \
 @WITH_MODEM_MANAGER_1_TRUE@	-module -avoid-version \
 @WITH_MODEM_MANAGER_1_TRUE@	-Wl,--version-script="$(srcdir)/linker-script-devices.ver"
@@ -5274,7 +5274,7 @@ src_devices_adsl_libnm_device_plugin_adsl_la_LIBADD = \
 @WITH_MODEM_MANAGER_1_TRUE@	introspection/libnmdbus.la \
 @WITH_MODEM_MANAGER_1_TRUE@	src/devices/wwan/libnm-wwan.la \
 @WITH_MODEM_MANAGER_1_TRUE@	$(GLIB_LIBS) $(GUDEV_LIBS) \
-@WITH_MODEM_MANAGER_1_TRUE@	$(am__append_41)
+@WITH_MODEM_MANAGER_1_TRUE@	$(am__append_42)
 @WITH_WIFI_TRUE@src_devices_wifi_libnm_device_plugin_wifi_la_SOURCES = \
 @WITH_WIFI_TRUE@	src/devices/wifi/nm-wifi-factory.c \
 @WITH_WIFI_TRUE@	src/devices/wifi/nm-device-wifi.c \
@@ -5614,7 +5614,7 @@ clients_nm_online_LDADD = \
 @BUILD_NMCLI_TRUE@	clients/common/nm-secret-agent-simple.h \
 @BUILD_NMCLI_TRUE@	clients/common/nm-vpn-helpers.c \
 @BUILD_NMCLI_TRUE@	clients/common/nm-vpn-helpers.h $(NULL) \
-@BUILD_NMCLI_TRUE@	$(am__append_49)
+@BUILD_NMCLI_TRUE@	$(am__append_50)
 @BUILD_NMCLI_TRUE@clients_cli_nmcli_CPPFLAGS = -I$(srcdir)/shared \
 @BUILD_NMCLI_TRUE@	-I$(builddir)/shared -I$(srcdir)/libnm-core \
 @BUILD_NMCLI_TRUE@	-I$(builddir)/libnm-core -I$(srcdir)/libnm \
@@ -5623,10 +5623,10 @@ clients_nm_online_LDADD = \
 @BUILD_NMCLI_TRUE@	-I$(srcdir)/clients/common $(GLIB_CFLAGS) \
 @BUILD_NMCLI_TRUE@	-DG_LOG_DOMAIN=\""nmcli"\" \
 @BUILD_NMCLI_TRUE@	-DNMCLI_LOCALEDIR=\"$(datadir)/locale\" \
-@BUILD_NMCLI_TRUE@	$(am__append_48)
+@BUILD_NMCLI_TRUE@	$(am__append_49)
 @BUILD_NMCLI_TRUE@clients_cli_nmcli_LDADD = $(GLIB_LIBS) \
 @BUILD_NMCLI_TRUE@	$(READLINE_LIBS) libnm/libnm.la \
-@BUILD_NMCLI_TRUE@	$(am__append_50)
+@BUILD_NMCLI_TRUE@	$(am__append_51)
 @BUILD_NMCLI_TRUE@clients_cli_nmcli_LDFLAGS = \
 @BUILD_NMCLI_TRUE@	-Wl,--version-script="$(srcdir)/linker-script-binary.ver"
 
@@ -5835,8 +5835,8 @@ data_edit = sed \
 @WITH_LEGACY_LIBRARIES_TRUE@	-DLOCALEDIR=\"$(datadir)/locale\" \
 @WITH_LEGACY_LIBRARIES_TRUE@	-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIB_LEGACY \
 @WITH_LEGACY_LIBRARIES_TRUE@	$(GLIB_CFLAGS) $(DBUS_CFLAGS) \
-@WITH_LEGACY_LIBRARIES_TRUE@	$(UUID_CFLAGS) $(am__append_62) \
-@WITH_LEGACY_LIBRARIES_TRUE@	$(am__append_65)
+@WITH_LEGACY_LIBRARIES_TRUE@	$(UUID_CFLAGS) $(am__append_63) \
+@WITH_LEGACY_LIBRARIES_TRUE@	$(am__append_66)
 @WITH_LEGACY_LIBRARIES_TRUE@libnm_util_lib_h_pub_real = \
 @WITH_LEGACY_LIBRARIES_TRUE@	shared/nm-version-macros.h \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-util/NetworkManager.h \
@@ -5924,7 +5924,7 @@ data_edit = sed \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-util/nm-setting-vpn.c \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-util/nm-utils.c \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-util/nm-value-transforms.c \
-@WITH_LEGACY_LIBRARIES_TRUE@	$(am__append_63) $(am__append_66)
+@WITH_LEGACY_LIBRARIES_TRUE@	$(am__append_64) $(am__append_67)
 @WITH_LEGACY_LIBRARIES_TRUE@libnm_util_lib_c_mkenums = \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-util/nm-utils-enum-types.c
 
@@ -5941,19 +5941,19 @@ data_edit = sed \
 @WITH_LEGACY_LIBRARIES_TRUE@nm_utils_enum_types_sources = $(filter-out libnm-util/NetworkManager%,$(libnm_util_lib_h_pub_real))
 @WITH_LEGACY_LIBRARIES_TRUE@libnm_util_libnm_util_la_LIBADD =  \
 @WITH_LEGACY_LIBRARIES_TRUE@	$(GLIB_LIBS) $(DBUS_LIBS) \
-@WITH_LEGACY_LIBRARIES_TRUE@	$(UUID_LIBS) $(am__append_64) \
-@WITH_LEGACY_LIBRARIES_TRUE@	$(am__append_67)
+@WITH_LEGACY_LIBRARIES_TRUE@	$(UUID_LIBS) $(am__append_65) \
+@WITH_LEGACY_LIBRARIES_TRUE@	$(am__append_68)
 @WITH_LEGACY_LIBRARIES_TRUE@libnm_util_libnm_util_la_LDFLAGS = \
 @WITH_LEGACY_LIBRARIES_TRUE@	-Wl,--version-script=$(srcdir)/libnm-util/libnm-util.ver \
 @WITH_LEGACY_LIBRARIES_TRUE@	-version-info "9:0:7"
 
 @WITH_LEGACY_LIBRARIES_TRUE@libnm_util_libtest_crypto_la_SOURCES =  \
 @WITH_LEGACY_LIBRARIES_TRUE@	libnm-util/crypto.c \
-@WITH_LEGACY_LIBRARIES_TRUE@	$(am__append_70) $(am__append_72)
+@WITH_LEGACY_LIBRARIES_TRUE@	$(am__append_71) $(am__append_73)
 @WITH_LEGACY_LIBRARIES_TRUE@libnm_util_libtest_crypto_la_CPPFLAGS = $(libnm_util_cppflags)
 @WITH_LEGACY_LIBRARIES_TRUE@libnm_util_libtest_crypto_la_LIBADD =  \
-@WITH_LEGACY_LIBRARIES_TRUE@	$(GLIB_LIBS) $(am__append_71) \
-@WITH_LEGACY_LIBRARIES_TRUE@	$(am__append_73)
+@WITH_LEGACY_LIBRARIES_TRUE@	$(GLIB_LIBS) $(am__append_72) \
+@WITH_LEGACY_LIBRARIES_TRUE@	$(am__append_74)
 @HAVE_INTROSPECTION_TRUE@@WITH_LEGACY_LIBRARIES_TRUE@libnm_util_NetworkManager_1_0_gir_INCLUDES = GObject-2.0 DBusGLib-1.0
 @HAVE_INTROSPECTION_TRUE@@WITH_LEGACY_LIBRARIES_TRUE@libnm_util_NetworkManager_1_0_gir_PACKAGES = gobject-2.0 dbus-glib-1
 @HAVE_INTROSPECTION_TRUE@@WITH_LEGACY_LIBRARIES_TRUE@libnm_util_NetworkManager_1_0_gir_EXPORT_PACKAGES = libnm-util
diff --git a/NEWS b/NEWS
index a2a23853..5db821dd 100644
--- a/NEWS
+++ b/NEWS
@@ -8,20 +8,26 @@ USE AT YOUR OWN RISK.  NOT RECOMMENDED FOR PRODUCTION USE!
 
 Notable changes included in this snapshot so far include:
 
+* Added support for managing the MACsec links. Requires support in
+    wpa_supplicant (version newer than 2.6).
+* Support for configuration and discovery of Web Proxy settings with
+    PacRunner service.
+* The ipv6.method=shared is now supported, utilizing DHCPv6 Prefix
+    Delegation option to obtain prefixes for the interface.
+* Support for systemd-resolved local DNS forwarder backend.
+* The configuration is now read from /run/NetworkManager/conf.d as well.
+    This is useful for handing over configuration discovered on system
+    startup to NetworkManager.
+* The PPP manager can now be split into a separate package.
+* Added initial support for PKCS#11 tokens with 802.1x authentication.
 * Introduced Vala bindings for libnm.
 * NetworkManager would now keep most connections up on shutdown (except Wi-Fi
     connections, VPN connections and other kinds that can't be assumed on
     startup)
 * The checkpoint/restore connection can now also remove new connections and
     disconnect devices that were activated since the checkpoint was taken.
-* The configuration is now read from /run/NetworkManager/conf.d as well.
-    This is useful for handing over configuration discovered on system
-    startup to NetworkManager.
 * New connection.autoconnect_retries property that allows fine-tuning
     the autoconnect behavior.
-* Support for configuration and discovery of Web Proxy settings with
-    PacRunner service.
-* Support for systemd-resolved local DNS forwarder backend.
 * Fix emission of NM-style PropertiesChanged signals and deprecate them
     for PropertiesChanged on "org.freedesktop.DBus.Properties" interface.
 * Change the meaning of unset "cloned-mac-address" settings from "permanent" to
@@ -36,8 +42,6 @@ Notable changes included in this snapshot so far include:
     devices.
 * The ifcfg parsing code has been reworked for better compatibility with
     actual shell variable files.
-* The ipv6.method=shared is now supported, utilizing DHCPv6 Prefix
-    Delegation option to obtain prefixes for the interface.
 * nmtui now supports creating and editing IP tunnel connections.
 * The libnm client library now uses the D-Bus ObjectManager API that allows
     for quicker initialization of the clients.
@@ -47,7 +51,6 @@ Notable changes included in this snapshot so far include:
     allow controlling overriding the negotiated link parameters.
 * Order in which IP addresses are configured is now preserved so that
     primary address is selected correctly.
-* The PPP manager can now be split into a separate package.
 * Details of the DNS information obtained from the connections is now
     exposed on the D-Bus and can be inspected with nmcli.
 * Fixed race conditions when renaming interfaces, for example as done
@@ -56,13 +59,10 @@ Notable changes included in this snapshot so far include:
 * Added the support for DHCPV6_HOSTNAME and DHCPV6_SEND_HOSTNAME keys in
     ifcfg files that control "dhcp-hostname" and "dhcp-send-hostname"
     properties of the "ipv6" setting.
-* Added initial support for PKCS#11 tokens with 802.1x authentication.
 * The stable-addressing for MAC address randomization and RFC7217 IPv6 stable
     privacy addressing can now be more flexibly configured using dynamic
     randomization seeds in "connection.stable-id".
     See "examples/nm-conf.d/30-anon.conf" for example use.
-* Added support for managing the MACsec links. Requires support in
-    wpa_supplicant (version newer than 2.6).
 * When the master of Team, Bridge and Bond devices is specified as a connection
     UUID, the ifcfg-rh plugin now writes the master connection's interface name
     into the ifcfg file for improved compatibility with the legacy network service.
diff --git a/clients/cli/connections.c b/clients/cli/connections.c
index 09adf0e8..c73f96a9 100644
--- a/clients/cli/connections.c
+++ b/clients/cli/connections.c
@@ -108,6 +108,16 @@ struct _OptionInfo {
 
 #define PROMPT_MACVLAN_MODE N_("MACVLAN mode")
 
+#define PROMPT_MACSEC_MODE N_("MACsec mode")
+#define WORD_PSK "psk"
+#define WORD_EAP "eap"
+#define PROMPT_MACSEC_MODE_CHOICES "(" WORD_PSK "/" WORD_EAP ")"
+
+#define PROMPT_PROXY_METHOD N_("Proxy method")
+#define WORD_NONE "none"
+#define WORD_AUTO "auto"
+#define PROMPT_PROXY_METHOD_CHOICES "(" WORD_NONE "/" WORD_AUTO ") [" WORD_NONE "]"
+
 #define PROMPT_CONNECTION  _("Connection (name, UUID, or path)")
 #define PROMPT_VPN_CONNECTION  _("VPN connection (name, UUID, or path)")
 #define PROMPT_CONNECTIONS _("Connection(s) (name, UUID, or path)")
@@ -3916,6 +3926,17 @@ gen_func_macvlan_mode (const char *text, int state)
 }
 
 static char *
+gen_func_proxy_method (const char *text, int state)
+{
+	gs_free const char **words = NULL;
+
+	words = nm_utils_enum_get_values (nm_setting_proxy_method_get_type (),
+	                                  G_MININT,
+	                                  G_MAXINT);
+	return nmc_rl_gen_func_basic (text, state, words);
+}
+
+static char *
 gen_func_master_ifnames (const char *text, int state)
 {
 	int i;
@@ -4320,7 +4341,7 @@ static OptionInfo option_info[] = {
 	{ NM_SETTING_ADSL_SETTING_NAME,         NM_SETTING_ADSL_ENCAPSULATION,          "encapsulation", OPTION_NONE, PROMPT_ADSL_ENCAP, PROMPT_ADSL_ENCAP_CHOICES,
                                                                                                         NULL, gen_func_adsl_encap },
 	{ NM_SETTING_MACSEC_SETTING_NAME,       NM_SETTING_MACSEC_PARENT,               "dev",          OPTION_REQD, N_("MACsec parent device or connection UUID"), NULL, NULL, NULL },
-	{ NM_SETTING_MACSEC_SETTING_NAME,       NM_SETTING_MACSEC_MODE,                 "mode",         OPTION_REQD, N_("Mode"), NULL, NULL, gen_func_macsec_mode },
+	{ NM_SETTING_MACSEC_SETTING_NAME,       NM_SETTING_MACSEC_MODE,                 "mode",         OPTION_REQD, PROMPT_MACSEC_MODE, PROMPT_MACSEC_MODE_CHOICES, NULL, gen_func_macsec_mode },
 	{ NM_SETTING_MACSEC_SETTING_NAME,       NM_SETTING_MACSEC_ENCRYPT,              "encrypt",      OPTION_NONE, N_("Enable encryption [yes]"), NULL, set_yes_no, gen_func_bool_values_l10n },
 	{ NM_SETTING_MACSEC_SETTING_NAME,       NM_SETTING_MACSEC_MKA_CAK,              "cak",          OPTION_NONE, N_("MKA CAK"), NULL, NULL, NULL },
 	{ NM_SETTING_MACSEC_SETTING_NAME,       NM_SETTING_MACSEC_MKA_CKN,              "ckn",          OPTION_NONE, N_("MKA_CKN"), NULL, NULL, NULL },
@@ -4361,10 +4382,11 @@ static OptionInfo option_info[] = {
 	{ NM_SETTING_IP6_CONFIG_SETTING_NAME,   NM_SETTING_IP_CONFIG_ADDRESSES,         "ip6",          OPTION_MULTI, N_("IPv6 address (IP[/plen]) [none]"), NULL,
 	                                                                                                set_ip6_address, NULL },
 	{ NM_SETTING_IP6_CONFIG_SETTING_NAME,   NM_SETTING_IP_CONFIG_GATEWAY,           "gw6",          OPTION_NONE, N_("IPv6 gateway [none]"), NULL, NULL, NULL },
-	{ NM_SETTING_PROXY_SETTING_NAME,        NM_SETTING_PROXY_METHOD,                "method",       OPTION_NONE, N_("Proxy method"), NULL, NULL, NULL },
-	{ NM_SETTING_PROXY_SETTING_NAME,        NM_SETTING_PROXY_BROWSER_ONLY,          "browser-only", OPTION_NONE, N_("Browser Only"), NULL, NULL, NULL },
-	{ NM_SETTING_PROXY_SETTING_NAME,        NM_SETTING_PROXY_PAC_URL,               "pac-url",      OPTION_NONE, N_("PAC Url"), NULL, NULL, NULL },
-	{ NM_SETTING_PROXY_SETTING_NAME,        NM_SETTING_PROXY_PAC_SCRIPT,            "pac-script",   OPTION_NONE, N_("PAC Script"), NULL, NULL, NULL },
+	{ NM_SETTING_PROXY_SETTING_NAME,        NM_SETTING_PROXY_METHOD,                "method",       OPTION_NONE, PROMPT_PROXY_METHOD, PROMPT_PROXY_METHOD_CHOICES, NULL, gen_func_proxy_method },
+	{ NM_SETTING_PROXY_SETTING_NAME,        NM_SETTING_PROXY_BROWSER_ONLY,          "browser-only", OPTION_NONE, N_("Browser only [no]"), NULL,
+                                                                                                        set_yes_no, gen_func_bool_values_l10n },
+	{ NM_SETTING_PROXY_SETTING_NAME,        NM_SETTING_PROXY_PAC_URL,               "pac-url",      OPTION_NONE, N_("PAC URL"), NULL, NULL, NULL },
+	{ NM_SETTING_PROXY_SETTING_NAME,        NM_SETTING_PROXY_PAC_SCRIPT,            "pac-script",   OPTION_NONE, N_("PAC script"), NULL, NULL, NULL },
 	{ NULL, NULL, NULL, OPTION_NONE, NULL, NULL, NULL, NULL },
 };
 
@@ -4743,6 +4765,10 @@ nmcli_con_add_tab_completion (const char *text, int start, int end)
 		generator_func = gen_func_ip_tunnel_mode;
 	else if (g_str_has_prefix (rl_prompt, PROMPT_MACVLAN_MODE))
 		generator_func = gen_func_macvlan_mode;
+	else if (g_str_has_prefix (rl_prompt, PROMPT_MACSEC_MODE))
+		generator_func = gen_func_macsec_mode;
+	else if (g_str_has_prefix (rl_prompt, PROMPT_PROXY_METHOD))
+		generator_func = gen_func_proxy_method;
 	else if (   g_str_has_suffix (rl_prompt, yes)
 	         || g_str_has_suffix (rl_prompt, no))
 		generator_func = gen_func_bool_values_l10n;
diff --git a/clients/cli/settings.c b/clients/cli/settings.c
index 40cf9754..df0effa3 100644
--- a/clients/cli/settings.c
+++ b/clients/cli/settings.c
@@ -996,7 +996,7 @@ vpn_data_item (const char *key, const char *value, gpointer user_data)
 }
 
 
-/* === property get functions === */
+/*  generic helper macros for property functions */
 #define DEFINE_GETTER(func_name, property_name) \
 	static char * \
 	func_name (NMSetting *setting, NmcPropertyGetType get_type) \
@@ -1048,1740 +1048,179 @@ vpn_data_item (const char *key, const char *value, gpointer user_data)
 		return secret_flags_to_string (v, get_type); \
 	}
 
-/* --- NM_SETTING_802_1X_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_802_1X_get_eap, NM_SETTING_802_1X_EAP)
-DEFINE_GETTER (nmc_property_802_1X_get_identity, NM_SETTING_802_1X_IDENTITY)
-DEFINE_GETTER (nmc_property_802_1X_get_anonymous_identity, NM_SETTING_802_1X_ANONYMOUS_IDENTITY)
-DEFINE_GETTER (nmc_property_802_1X_get_pac_file, NM_SETTING_802_1X_PAC_FILE)
-DEFINE_GETTER (nmc_property_802_1X_get_ca_path, NM_SETTING_802_1X_CA_PATH)
-DEFINE_GETTER (nmc_property_802_1X_get_subject_match, NM_SETTING_802_1X_SUBJECT_MATCH)
-DEFINE_GETTER (nmc_property_802_1X_get_altsubject_matches, NM_SETTING_802_1X_ALTSUBJECT_MATCHES)
-DEFINE_GETTER (nmc_property_802_1X_get_domain_suffix_match, NM_SETTING_802_1X_DOMAIN_SUFFIX_MATCH)
-DEFINE_GETTER (nmc_property_802_1X_get_phase1_peapver, NM_SETTING_802_1X_PHASE1_PEAPVER)
-DEFINE_GETTER (nmc_property_802_1X_get_phase1_peaplabel, NM_SETTING_802_1X_PHASE1_PEAPLABEL)
-DEFINE_GETTER (nmc_property_802_1X_get_phase1_fast_provisioning, NM_SETTING_802_1X_PHASE1_FAST_PROVISIONING)
-DEFINE_GETTER (nmc_property_802_1X_get_phase2_auth, NM_SETTING_802_1X_PHASE2_AUTH)
-DEFINE_GETTER (nmc_property_802_1X_get_phase2_autheap, NM_SETTING_802_1X_PHASE2_AUTHEAP)
-DEFINE_GETTER (nmc_property_802_1X_get_phase2_ca_path, NM_SETTING_802_1X_PHASE2_CA_PATH)
-DEFINE_GETTER (nmc_property_802_1X_get_phase2_subject_match, NM_SETTING_802_1X_PHASE2_SUBJECT_MATCH)
-DEFINE_GETTER (nmc_property_802_1X_get_phase2_altsubject_matches, NM_SETTING_802_1X_PHASE2_ALTSUBJECT_MATCHES)
-DEFINE_GETTER (nmc_property_802_1X_get_phase2_domain_suffix_match, NM_SETTING_802_1X_PHASE2_DOMAIN_SUFFIX_MATCH)
-DEFINE_GETTER (nmc_property_802_1X_get_password, NM_SETTING_802_1X_PASSWORD)
-DEFINE_SECRET_FLAGS_GETTER (nmc_property_802_1X_get_password_flags, NM_SETTING_802_1X_PASSWORD_FLAGS)
-DEFINE_SECRET_FLAGS_GETTER (nmc_property_802_1X_get_password_raw_flags, NM_SETTING_802_1X_PASSWORD_RAW_FLAGS)
-DEFINE_GETTER (nmc_property_802_1X_get_private_key_password, NM_SETTING_802_1X_PRIVATE_KEY_PASSWORD)
-DEFINE_SECRET_FLAGS_GETTER (nmc_property_802_1X_get_private_key_password_flags, NM_SETTING_802_1X_PRIVATE_KEY_PASSWORD_FLAGS)
-DEFINE_GETTER (nmc_property_802_1X_get_phase2_private_key_password, NM_SETTING_802_1X_PHASE2_PRIVATE_KEY_PASSWORD)
-DEFINE_SECRET_FLAGS_GETTER (nmc_property_802_1X_get_phase2_private_key_password_flags, NM_SETTING_802_1X_PHASE2_PRIVATE_KEY_PASSWORD_FLAGS)
-DEFINE_GETTER (nmc_property_802_1X_get_pin, NM_SETTING_802_1X_PIN)
-DEFINE_SECRET_FLAGS_GETTER (nmc_property_802_1X_get_pin_flags, NM_SETTING_802_1X_PIN_FLAGS)
-DEFINE_GETTER (nmc_property_802_1X_get_system_ca_certs, NM_SETTING_802_1X_SYSTEM_CA_CERTS)
-
-static char *
-nmc_property_802_1X_get_ca_cert (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSetting8021x *s_8021X = NM_SETTING_802_1X (setting);
-	char *ca_cert_str = NULL;
-
-	switch (nm_setting_802_1x_get_ca_cert_scheme (s_8021X)) {
-	case NM_SETTING_802_1X_CK_SCHEME_BLOB:
-		ca_cert_str = bytes_to_string (nm_setting_802_1x_get_ca_cert_blob (s_8021X));
-		break;
-	case NM_SETTING_802_1X_CK_SCHEME_PATH:
-		ca_cert_str = g_strdup (nm_setting_802_1x_get_ca_cert_path (s_8021X));
-		break;
-	case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
-		ca_cert_str = g_strdup (nm_setting_802_1x_get_ca_cert_uri (s_8021X));
-		break;
-	case NM_SETTING_802_1X_CK_SCHEME_UNKNOWN:
-		break;
-	}
-
-	return ca_cert_str;
-}
-
-static char *
-nmc_property_802_1X_get_client_cert (NMSetting *setting,
-                                     NmcPropertyGetType get_type,
-                                     gboolean show_secrets)
-{
-	NMSetting8021x *s_8021X = NM_SETTING_802_1X (setting);
-	char *cert_str = NULL;
-
-	switch (nm_setting_802_1x_get_client_cert_scheme (s_8021X)) {
-	case NM_SETTING_802_1X_CK_SCHEME_BLOB:
-		if (show_secrets)
-			cert_str = bytes_to_string (nm_setting_802_1x_get_client_cert_blob (s_8021X));
-		else
-			cert_str = g_strdup (_("<hidden>"));
-		break;
-	case NM_SETTING_802_1X_CK_SCHEME_PATH:
-		cert_str = g_strdup (nm_setting_802_1x_get_client_cert_path (s_8021X));
-		break;
-	case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
-		cert_str = g_strdup (nm_setting_802_1x_get_client_cert_uri (s_8021X));
-		break;
-	case NM_SETTING_802_1X_CK_SCHEME_UNKNOWN:
-		break;
-	}
-
-	return cert_str;
-}
-
-static char *
-nmc_property_802_1X_get_client_cert_full (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	return nmc_property_802_1X_get_client_cert (setting, get_type, TRUE);
-}
-
-static char *
-nmc_property_802_1X_get_phase2_ca_cert (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSetting8021x *s_8021X = NM_SETTING_802_1X (setting);
-	char *phase2_ca_cert_str = NULL;
-
-	switch (nm_setting_802_1x_get_phase2_ca_cert_scheme (s_8021X)) {
-	case NM_SETTING_802_1X_CK_SCHEME_BLOB:
-		phase2_ca_cert_str = bytes_to_string (nm_setting_802_1x_get_phase2_ca_cert_blob (s_8021X));
-		break;
-	case NM_SETTING_802_1X_CK_SCHEME_PATH:
-		phase2_ca_cert_str = g_strdup (nm_setting_802_1x_get_phase2_ca_cert_path (s_8021X));
-		break;
-	case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
-		phase2_ca_cert_str = g_strdup (nm_setting_802_1x_get_phase2_ca_cert_uri (s_8021X));
-		break;
-	case NM_SETTING_802_1X_CK_SCHEME_UNKNOWN:
-		break;
-	}
-
-	return phase2_ca_cert_str;
-}
-
-static char *
-nmc_property_802_1X_get_phase2_client_cert (NMSetting *setting,
-                                            NmcPropertyGetType get_type,
-                                            gboolean show_secrets)
-{
-	NMSetting8021x *s_8021X = NM_SETTING_802_1X (setting);
-	char *cert_str = NULL;
-
-	switch (nm_setting_802_1x_get_phase2_client_cert_scheme (s_8021X)) {
-	case NM_SETTING_802_1X_CK_SCHEME_BLOB:
-		if (show_secrets)
-			cert_str = bytes_to_string (nm_setting_802_1x_get_phase2_client_cert_blob (s_8021X));
-		else
-			cert_str = g_strdup (_("<hidden>"));
-		break;
-	case NM_SETTING_802_1X_CK_SCHEME_PATH:
-		cert_str = g_strdup (nm_setting_802_1x_get_phase2_client_cert_path (s_8021X));
-		break;
-	case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
-		cert_str = g_strdup (nm_setting_802_1x_get_phase2_client_cert_uri (s_8021X));
-		break;
-	case NM_SETTING_802_1X_CK_SCHEME_UNKNOWN:
-		break;
-	}
-
-	return cert_str;
-}
-
-static char *
-nmc_property_802_1X_get_phase2_client_cert_full (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	return nmc_property_802_1X_get_phase2_client_cert (setting, get_type, TRUE);
-}
-
-static char *
-nmc_property_802_1X_get_password_raw (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSetting8021x *s_8021X = NM_SETTING_802_1X (setting);
-	return bytes_to_string (nm_setting_802_1x_get_password_raw (s_8021X));
-}
-
-static char *
-nmc_property_802_1X_get_private_key (NMSetting *setting,
-                                     NmcPropertyGetType get_type,
-                                     gboolean show_secrets)
-{
-	NMSetting8021x *s_8021X = NM_SETTING_802_1X (setting);
-	char *key_str = NULL;
-
-	switch (nm_setting_802_1x_get_private_key_scheme (s_8021X)) {
-	case NM_SETTING_802_1X_CK_SCHEME_BLOB:
-		if (show_secrets)
-			key_str = bytes_to_string (nm_setting_802_1x_get_private_key_blob (s_8021X));
-		else
-			key_str = g_strdup (_("<hidden>"));
-		break;
-	case NM_SETTING_802_1X_CK_SCHEME_PATH:
-		key_str = g_strdup (nm_setting_802_1x_get_private_key_path (s_8021X));
-		break;
-	case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
-		key_str = g_strdup (nm_setting_802_1x_get_private_key_uri (s_8021X));
-		break;
-	case NM_SETTING_802_1X_CK_SCHEME_UNKNOWN:
-		break;
-	}
-
-	return key_str;
-}
-
-static char *
-nmc_property_802_1X_get_private_key_full (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	return nmc_property_802_1X_get_private_key (setting, get_type, TRUE);
-}
-
-static char *
-nmc_property_802_1X_get_phase2_private_key (NMSetting *setting,
-                                            NmcPropertyGetType get_type,
-                                            gboolean show_secrets)
-{
-	NMSetting8021x *s_8021X = NM_SETTING_802_1X (setting);
-	char *key_str = NULL;
-
-	switch (nm_setting_802_1x_get_phase2_private_key_scheme (s_8021X)) {
-	case NM_SETTING_802_1X_CK_SCHEME_BLOB:
-		if (show_secrets)
-			key_str = bytes_to_string (nm_setting_802_1x_get_phase2_private_key_blob (s_8021X));
-		else
-			key_str = g_strdup (_("<hidden>"));
-		break;
-	case NM_SETTING_802_1X_CK_SCHEME_PATH:
-		key_str = g_strdup (nm_setting_802_1x_get_phase2_private_key_path (s_8021X));
-		break;
-	case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
-		key_str = g_strdup (nm_setting_802_1x_get_phase2_private_key_uri (s_8021X));
-		break;
-	case NM_SETTING_802_1X_CK_SCHEME_UNKNOWN:
-		break;
-	}
-
-	return key_str;
-}
-
-static char *
-nmc_property_802_1X_get_phase2_private_key_full (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	return nmc_property_802_1X_get_phase2_private_key (setting, get_type, TRUE);
-}
-
-/* --- NM_SETTING_ADSL_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_adsl_get_username, NM_SETTING_ADSL_USERNAME)
-DEFINE_GETTER (nmc_property_adsl_get_password, NM_SETTING_ADSL_PASSWORD)
-DEFINE_SECRET_FLAGS_GETTER (nmc_property_adsl_get_password_flags, NM_SETTING_ADSL_PASSWORD_FLAGS)
-DEFINE_GETTER (nmc_property_adsl_get_protocol, NM_SETTING_ADSL_PROTOCOL)
-DEFINE_GETTER (nmc_property_adsl_get_encapsulation, NM_SETTING_ADSL_ENCAPSULATION)
-DEFINE_GETTER (nmc_property_adsl_get_vpi, NM_SETTING_ADSL_VPI)
-DEFINE_GETTER (nmc_property_adsl_get_vci, NM_SETTING_ADSL_VCI)
-
-/* --- NM_SETTING_BLUETOOTH_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_bluetooth_get_bdaddr, NM_SETTING_BLUETOOTH_BDADDR)
-DEFINE_GETTER (nmc_property_bluetooth_get_type, NM_SETTING_BLUETOOTH_TYPE)
-
-static char *
-nmc_property_bond_get_options (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingBond *s_bond = NM_SETTING_BOND (setting);
-	GString *bond_options_s;
-	int i;
-
-	bond_options_s = g_string_new (NULL);
-	for (i = 0; i < nm_setting_bond_get_num_options (s_bond); i++) {
-		const char *key, *value;
-		gs_free char *tmp_value = NULL;
-		char *p;
-
-		nm_setting_bond_get_option (s_bond, i, &key, &value);
-
-		if (nm_streq0 (key, NM_SETTING_BOND_OPTION_ARP_IP_TARGET)) {
-			value = tmp_value = g_strdup (value);
-			for (p = tmp_value; p && *p; p++) {
-				if (*p == ',')
-					*p = ' ';
-			}
-		}
-
-		g_string_append_printf (bond_options_s, "%s=%s,", key, value);
-	}
-	g_string_truncate (bond_options_s, bond_options_s->len-1);  /* chop off trailing ',' */
-
-	return g_string_free (bond_options_s, FALSE);
-}
-
-/* --- NM_SETTING_BRIDGE_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_bridge_get_mac_address, NM_SETTING_BRIDGE_MAC_ADDRESS)
-DEFINE_GETTER (nmc_property_bridge_get_stp, NM_SETTING_BRIDGE_STP)
-DEFINE_GETTER (nmc_property_bridge_get_priority, NM_SETTING_BRIDGE_PRIORITY)
-DEFINE_GETTER (nmc_property_bridge_get_forward_delay, NM_SETTING_BRIDGE_FORWARD_DELAY)
-DEFINE_GETTER (nmc_property_bridge_get_hello_time, NM_SETTING_BRIDGE_HELLO_TIME)
-DEFINE_GETTER (nmc_property_bridge_get_max_age, NM_SETTING_BRIDGE_MAX_AGE)
-DEFINE_GETTER (nmc_property_bridge_get_ageing_time, NM_SETTING_BRIDGE_AGEING_TIME)
-DEFINE_GETTER (nmc_property_bridge_get_multicast_snooping, NM_SETTING_BRIDGE_MULTICAST_SNOOPING)
-
-/* --- NM_SETTING_BRIDGE_PORT_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_bridge_port_get_priority, NM_SETTING_BRIDGE_PORT_PRIORITY)
-DEFINE_GETTER (nmc_property_bridge_port_get_path_cost, NM_SETTING_BRIDGE_PORT_PATH_COST)
-DEFINE_GETTER (nmc_property_bridge_port_get_hairpin_mode, NM_SETTING_BRIDGE_PORT_HAIRPIN_MODE)
-
-/* --- NM_SETTING_TEAM_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_team_get_config, NM_SETTING_TEAM_CONFIG)
-
-/* --- NM_SETTING_TEAM_PORT_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_team_port_get_config, NM_SETTING_TEAM_PORT_CONFIG)
-
-/* --- NM_SETTING_CDMA_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_cdma_get_number, NM_SETTING_CDMA_NUMBER)
-DEFINE_GETTER (nmc_property_cdma_get_username, NM_SETTING_CDMA_USERNAME)
-DEFINE_GETTER (nmc_property_cdma_get_password, NM_SETTING_CDMA_PASSWORD)
-
-DEFINE_SECRET_FLAGS_GETTER (nmc_property_cdma_get_password_flags, NM_SETTING_CDMA_PASSWORD_FLAGS)
-
-/* --- NM_SETTING_CONNECTION_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_connection_get_id, NM_SETTING_CONNECTION_ID)
-DEFINE_GETTER (nmc_property_connection_get_uuid, NM_SETTING_CONNECTION_UUID)
-DEFINE_GETTER (nmc_property_connection_get_stable_id, NM_SETTING_CONNECTION_STABLE_ID)
-DEFINE_GETTER (nmc_property_connection_get_interface_name, NM_SETTING_CONNECTION_INTERFACE_NAME)
-DEFINE_GETTER (nmc_property_connection_get_type, NM_SETTING_CONNECTION_TYPE)
-DEFINE_GETTER (nmc_property_connection_get_autoconnect, NM_SETTING_CONNECTION_AUTOCONNECT)
-DEFINE_GETTER (nmc_property_connection_get_autoconnect_priority, NM_SETTING_CONNECTION_AUTOCONNECT_PRIORITY)
-DEFINE_GETTER (nmc_property_connection_get_timestamp, NM_SETTING_CONNECTION_TIMESTAMP)
-DEFINE_GETTER (nmc_property_connection_get_read_only, NM_SETTING_CONNECTION_READ_ONLY)
-
-static char *
-nmc_property_connection_get_autoconnect_retries (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingConnection *s_con = NM_SETTING_CONNECTION (setting);
-	gint retries;
-
-	retries = nm_setting_connection_get_autoconnect_retries (s_con);
-	if (get_type == NMC_PROPERTY_GET_PARSABLE)
-		return g_strdup_printf ("%d", retries);
-
-	switch (retries) {
-	case -1:
-		return g_strdup_printf (_("%d (default)"), retries);
-	case 0:
-		return g_strdup_printf (_("%d (forever)"), retries);
-	default:
-		return g_strdup_printf ("%d", retries);
-	}
-}
-
-static char *
-nmc_property_connection_get_permissions (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingConnection *s_con = NM_SETTING_CONNECTION (setting);
-	GString *perm = NULL;
-	const char *perm_item;
-	const char *perm_type;
-	int i;
-
-	perm = g_string_new (NULL);
-	for (i = 0; i < nm_setting_connection_get_num_permissions (s_con); i++) {
-		if (nm_setting_connection_get_permission (s_con, i, &perm_type, &perm_item, NULL))
-			g_string_append_printf (perm, "%s:%s,", perm_type, perm_item);
-	}
-	if (perm->len > 0)
-		g_string_truncate (perm, perm->len-1); /* remove trailing , */
-
-	return g_string_free (perm, FALSE);
-}
-
-DEFINE_GETTER (nmc_property_connection_get_zone, NM_SETTING_CONNECTION_ZONE)
-DEFINE_GETTER (nmc_property_connection_get_master, NM_SETTING_CONNECTION_MASTER)
-DEFINE_GETTER (nmc_property_connection_get_slave_type, NM_SETTING_CONNECTION_SLAVE_TYPE)
-
-static char *
-nmc_property_connection_get_autoconnect_slaves (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingConnection *s_con = NM_SETTING_CONNECTION (setting);
-	return autoconnect_slaves_to_string (nm_setting_connection_get_autoconnect_slaves (s_con), get_type);
-}
-
-DEFINE_GETTER (nmc_property_connection_get_secondaries, NM_SETTING_CONNECTION_SECONDARIES)
-DEFINE_GETTER (nmc_property_connection_get_gateway_ping_timeout, NM_SETTING_CONNECTION_GATEWAY_PING_TIMEOUT)
-
-/* --- NM_SETTING_DCB_SETTING_NAME property get functions --- */
-static char *
-dcb_flags_to_string (NMSettingDcbFlags flags)
-{
-	GString *flag_str;
-
-	if (flags == 0)
-		return g_strdup (_("0 (disabled)"));
-
-	flag_str = g_string_new (NULL);
-	g_string_printf (flag_str, "%d (", flags);
-
-	if (flags & NM_SETTING_DCB_FLAG_ENABLE)
-		g_string_append (flag_str, _("enabled, "));
-	if (flags & NM_SETTING_DCB_FLAG_ADVERTISE)
-		g_string_append (flag_str, _("advertise, "));
-	if (flags & NM_SETTING_DCB_FLAG_WILLING)
-		g_string_append (flag_str, _("willing, "));
-
-	if (flag_str->str[flag_str->len-1] == '(')
-		g_string_append (flag_str, _("unknown"));
-	else
-		g_string_truncate (flag_str, flag_str->len-2);  /* chop off trailing ', ' */
-
-	g_string_append_c (flag_str, ')');
-
-	return g_string_free (flag_str, FALSE);
-}
-
-#define DEFINE_DCB_FLAGS_GETTER(func_name, property_name) \
-	static char * \
-	func_name (NMSetting *setting, NmcPropertyGetType get_type) \
+#define DEFINE_SETTER_STR_LIST_MULTI(def_func, s_macro, set_func) \
+	static gboolean \
+	def_func (NMSetting *setting, \
+	          const char *prop, \
+	          const char *val, \
+	          const char **valid_strv, \
+	          GError **error) \
 	{ \
-		guint v; \
-		GValue val = G_VALUE_INIT; \
-		g_value_init (&val, G_TYPE_UINT); \
-		g_object_get_property (G_OBJECT (setting), property_name, &val); \
-		v = g_value_get_uint (&val); \
-		g_value_unset (&val); \
-		return dcb_flags_to_string (v); \
+		char **strv = NULL, **iter; \
+		const char *item; \
+		g_return_val_if_fail (error == NULL || *error == NULL, FALSE); \
+		strv = nmc_strsplit_set (val, " \t,", 0); \
+		for (iter = strv; iter && *iter; iter++) { \
+			if (!(item = nmc_string_is_valid (g_strstrip (*iter), valid_strv, error))) { \
+				g_strfreev (strv); \
+				return FALSE; \
+			} \
+			set_func (s_macro (setting), item); \
+		} \
+		g_strfreev (strv); \
+		return TRUE; \
 	}
 
-static char *
-dcb_app_priority_to_string (gint priority)
-{
-	return (priority == -1) ? g_strdup (_("-1 (unset)")) : g_strdup_printf ("%d", priority);
-}
-
-#define DEFINE_DCB_APP_PRIORITY_GETTER(func_name, property_name) \
-	static char * \
-	func_name (NMSetting *setting, NmcPropertyGetType get_type) \
+#define DEFINE_SETTER_OPTIONS(def_func, s_macro, s_type, add_func, valid_func1, valid_func2) \
+	static gboolean \
+	def_func (NMSetting *setting, const char *prop, const char *val, GError **error) \
 	{ \
-		int v; \
-		GValue val = G_VALUE_INIT; \
-		g_value_init (&val, G_TYPE_INT); \
-		g_object_get_property (G_OBJECT (setting), property_name, &val); \
-		v = g_value_get_int (&val); \
-		g_value_unset (&val); \
-		return dcb_app_priority_to_string (v); \
+		char **strv = NULL, **iter; \
+		const char **(*valid_func1_p) (s_type *) = valid_func1; \
+		const char * (*valid_func2_p) (const char *, const char *, GError **) = valid_func2; \
+		const char *opt_name, *opt_val; \
+		\
+		g_return_val_if_fail (error == NULL || *error == NULL, FALSE); \
+		\
+		strv = nmc_strsplit_set (val, ",", 0); \
+		for (iter = strv; iter && *iter; iter++) { \
+			char *left = g_strstrip (*iter); \
+			char *right = strchr (left, '='); \
+			if (!right) { \
+				g_set_error (error, 1, 0, _("'%s' is not valid; use <option>=<value>"), *iter); \
+				g_strfreev (strv); \
+				return FALSE; \
+			} \
+			*right++ = '\0'; \
+			\
+			if (valid_func1_p) { \
+				const char **valid_options = valid_func1_p (s_macro (setting)); \
+				if (!(opt_name = nmc_string_is_valid (g_strstrip (left), valid_options, error))) { \
+					g_strfreev (strv); \
+					return FALSE; \
+				} \
+			} else \
+				opt_name = g_strstrip (left);\
+			\
+			opt_val = g_strstrip (right); \
+			if (valid_func2_p) { \
+				if (!(opt_val = valid_func2_p ((const char *) left, (const char *) opt_val, error))) { \
+					g_strfreev (strv); \
+					return FALSE; \
+				}\
+			}\
+			add_func (s_macro (setting), opt_name, opt_val); \
+		} \
+		g_strfreev (strv); \
+		return TRUE; \
 	}
 
-#define DEFINE_DCB_BOOL_GETTER(func_name, getter_func_name) \
-	static char * \
-	func_name (NMSetting *setting, NmcPropertyGetType get_type) \
+#define DEFINE_REMOVER_INDEX(def_func, s_macro, num_func, rem_func) \
+	static gboolean \
+	def_func (NMSetting *setting, const char *prop, const char *option, guint32 idx, GError **error) \
 	{ \
-		NMSettingDcb *s_dcb = NM_SETTING_DCB (setting); \
-		GString *str; \
-		guint i; \
- \
-		str = g_string_new (NULL); \
-		for (i = 0; i < 8; i++) { \
-			if (getter_func_name (s_dcb,  i)) \
-				g_string_append_c (str, '1'); \
-			else \
-				g_string_append_c (str, '0'); \
-\
-			if (i < 7) \
-				g_string_append_c (str, ','); \
+		guint32 num; \
+		if (option) { \
+			g_set_error (error, 1, 0, _("index '%s' is not valid"), option); \
+			return FALSE; \
 		} \
-\
-		return g_string_free (str, FALSE); \
+		num = num_func (s_macro (setting)); \
+		if (num == 0) { \
+			g_set_error_literal (error, 1, 0, _("no item to remove")); \
+			return FALSE; \
+		} \
+		if (idx >= num) { \
+			g_set_error (error, 1, 0, _("index '%d' is not in range <0-%d>"), idx, num - 1); \
+			return FALSE; \
+		} \
+		rem_func (s_macro (setting), idx); \
+		return TRUE; \
 	}
 
-#define DEFINE_DCB_UINT_GETTER(func_name, getter_func_name) \
-	static char * \
-	func_name (NMSetting *setting, NmcPropertyGetType get_type) \
+#define DEFINE_REMOVER_INDEX_OR_VALUE(def_func, s_macro, num_func, rem_func_idx, rem_func_val) \
+	static gboolean \
+	def_func (NMSetting *setting, const char *prop, const char *value, guint32 idx, GError **error) \
 	{ \
-		NMSettingDcb *s_dcb = NM_SETTING_DCB (setting); \
-		GString *str; \
-		guint i; \
- \
-		str = g_string_new (NULL); \
-		for (i = 0; i < 8; i++) { \
-			g_string_append_printf (str, "%u", getter_func_name (s_dcb, i)); \
-			if (i < 7) \
-				g_string_append_c (str, ','); \
+		guint32 num; \
+		if (value) { \
+			gboolean ret; \
+			char *value_stripped = g_strstrip (g_strdup (value)); \
+			ret = rem_func_val (s_macro (setting), value_stripped, error); \
+			g_free (value_stripped); \
+			return ret; \
 		} \
-\
-		return g_string_free (str, FALSE); \
-	}
-
-DEFINE_DCB_FLAGS_GETTER (nmc_property_dcb_get_app_fcoe_flags, NM_SETTING_DCB_APP_FCOE_FLAGS)
-DEFINE_DCB_APP_PRIORITY_GETTER (nmc_property_dcb_get_app_fcoe_priority, NM_SETTING_DCB_APP_FCOE_PRIORITY)
-DEFINE_GETTER (nmc_property_dcb_get_app_fcoe_mode, NM_SETTING_DCB_APP_FCOE_MODE)
-DEFINE_DCB_FLAGS_GETTER (nmc_property_dcb_get_app_iscsi_flags, NM_SETTING_DCB_APP_ISCSI_FLAGS)
-DEFINE_DCB_APP_PRIORITY_GETTER (nmc_property_dcb_get_app_iscsi_priority, NM_SETTING_DCB_APP_ISCSI_PRIORITY)
-DEFINE_DCB_FLAGS_GETTER (nmc_property_dcb_get_app_fip_flags, NM_SETTING_DCB_APP_FIP_FLAGS)
-DEFINE_DCB_APP_PRIORITY_GETTER (nmc_property_dcb_get_app_fip_priority, NM_SETTING_DCB_APP_FIP_PRIORITY)
-
-DEFINE_DCB_FLAGS_GETTER (nmc_property_dcb_get_pfc_flags, NM_SETTING_DCB_PRIORITY_FLOW_CONTROL_FLAGS)
-DEFINE_DCB_BOOL_GETTER (nmc_property_dcb_get_pfc, nm_setting_dcb_get_priority_flow_control)
-
-DEFINE_DCB_FLAGS_GETTER (nmc_property_dcb_get_pg_flags, NM_SETTING_DCB_PRIORITY_GROUP_FLAGS)
-DEFINE_DCB_UINT_GETTER (nmc_property_dcb_get_pg_group_id, nm_setting_dcb_get_priority_group_id)
-DEFINE_DCB_UINT_GETTER (nmc_property_dcb_get_pg_group_bandwidth, nm_setting_dcb_get_priority_group_bandwidth)
-DEFINE_DCB_UINT_GETTER (nmc_property_dcb_get_pg_bandwidth, nm_setting_dcb_get_priority_bandwidth)
-DEFINE_DCB_BOOL_GETTER (nmc_property_dcb_get_pg_strict, nm_setting_dcb_get_priority_strict_bandwidth)
-DEFINE_DCB_UINT_GETTER (nmc_property_dcb_get_pg_traffic_class, nm_setting_dcb_get_priority_traffic_class)
-
-/* --- NM_SETTING_GSM_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_gsm_get_number, NM_SETTING_GSM_NUMBER)
-DEFINE_GETTER (nmc_property_gsm_get_username, NM_SETTING_GSM_USERNAME)
-DEFINE_GETTER (nmc_property_gsm_get_password, NM_SETTING_GSM_PASSWORD)
-DEFINE_SECRET_FLAGS_GETTER (nmc_property_gsm_get_password_flags, NM_SETTING_GSM_PASSWORD_FLAGS)
-DEFINE_GETTER (nmc_property_gsm_get_apn, NM_SETTING_GSM_APN)
-DEFINE_GETTER (nmc_property_gsm_get_network_id, NM_SETTING_GSM_NETWORK_ID)
-DEFINE_GETTER (nmc_property_gsm_get_pin, NM_SETTING_GSM_PIN)
-DEFINE_SECRET_FLAGS_GETTER (nmc_property_gsm_get_pin_flags, NM_SETTING_GSM_PIN_FLAGS)
-DEFINE_GETTER (nmc_property_gsm_get_home_only, NM_SETTING_GSM_HOME_ONLY)
-DEFINE_GETTER (nmc_property_gsm_get_device_id, NM_SETTING_GSM_DEVICE_ID)
-DEFINE_GETTER (nmc_property_gsm_get_sim_id, NM_SETTING_GSM_SIM_ID)
-DEFINE_GETTER (nmc_property_gsm_get_sim_operator_id, NM_SETTING_GSM_SIM_OPERATOR_ID)
-
-/* --- NM_SETTING_INFINIBAND_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_ib_get_mac_address, NM_SETTING_INFINIBAND_MAC_ADDRESS)
-DEFINE_GETTER (nmc_property_ib_get_transport_mode, NM_SETTING_INFINIBAND_TRANSPORT_MODE)
-
-/* --- NM_SETTING_TUN_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_tun_get_owner, NM_SETTING_TUN_OWNER);
-DEFINE_GETTER (nmc_property_tun_get_group, NM_SETTING_TUN_GROUP);
-DEFINE_GETTER (nmc_property_tun_get_pi, NM_SETTING_TUN_PI);
-DEFINE_GETTER (nmc_property_tun_get_vnet_hdr, NM_SETTING_TUN_VNET_HDR);
-DEFINE_GETTER (nmc_property_tun_get_multi_queue, NM_SETTING_TUN_MULTI_QUEUE);
-
-/* --- NM_SETTING_IP_TUNNEL_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_ip_tunnel_get_parent, NM_SETTING_IP_TUNNEL_PARENT);
-DEFINE_GETTER (nmc_property_ip_tunnel_get_local, NM_SETTING_IP_TUNNEL_LOCAL);
-DEFINE_GETTER (nmc_property_ip_tunnel_get_remote, NM_SETTING_IP_TUNNEL_REMOTE);
-DEFINE_GETTER (nmc_property_ip_tunnel_get_ttl, NM_SETTING_IP_TUNNEL_TTL);
-DEFINE_GETTER (nmc_property_ip_tunnel_get_tos, NM_SETTING_IP_TUNNEL_TOS);
-DEFINE_GETTER (nmc_property_ip_tunnel_get_path_mtu_discovery, NM_SETTING_IP_TUNNEL_PATH_MTU_DISCOVERY);
-DEFINE_GETTER (nmc_property_ip_tunnel_get_input_key, NM_SETTING_IP_TUNNEL_INPUT_KEY);
-DEFINE_GETTER (nmc_property_ip_tunnel_get_output_key, NM_SETTING_IP_TUNNEL_OUTPUT_KEY);
-DEFINE_GETTER (nmc_property_ip_tunnel_get_encapsulation_limit, NM_SETTING_IP_TUNNEL_ENCAPSULATION_LIMIT);
-DEFINE_GETTER (nmc_property_ip_tunnel_get_flow_label, NM_SETTING_IP_TUNNEL_FLOW_LABEL);
-DEFINE_GETTER (nmc_property_ip_tunnel_get_mtu, NM_SETTING_IP_TUNNEL_MTU);
-
-static const char **
-nmc_property_ip_tunnel_allowed_mode (NMSetting *setting, const char *prop)
-{
-	static const char **words = NULL;
-
-	if (!words)
-		words = nm_utils_enum_get_values (nm_ip_tunnel_mode_get_type (),
-		                                  NM_IP_TUNNEL_MODE_UNKNOWN + 1,
-		                                  G_MAXINT);
-	return words;
-}
-
-static char *
-nmc_property_ib_get_mtu (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingInfiniband *s_infiniband = NM_SETTING_INFINIBAND (setting);
-	int mtu;
-
-	mtu = nm_setting_infiniband_get_mtu (s_infiniband);
-	if (mtu == 0)
-		return g_strdup (_("auto"));
-	else
-		return g_strdup_printf ("%d", mtu);
-}
-
-static char *
-nmc_property_ib_get_p_key (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingInfiniband *s_infiniband = NM_SETTING_INFINIBAND (setting);
-	int p_key;
-
-	p_key = nm_setting_infiniband_get_p_key (s_infiniband);
-	if (p_key == -1)
-		return g_strdup (_("default"));
-	else
-		return g_strdup_printf ("0x%04x", p_key);
-}
-
-DEFINE_GETTER (nmc_property_ib_get_parent, NM_SETTING_INFINIBAND_PARENT)
-
-/* --- NM_SETTING_IP4_CONFIG_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_ipv4_get_method, NM_SETTING_IP_CONFIG_METHOD)
-DEFINE_GETTER (nmc_property_ipv4_get_dns, NM_SETTING_IP_CONFIG_DNS)
-DEFINE_GETTER (nmc_property_ipv4_get_dns_search, NM_SETTING_IP_CONFIG_DNS_SEARCH)
-DEFINE_GETTER_WITH_DEFAULT (nmc_property_ipv4_get_dns_options, NM_SETTING_IP_CONFIG_DNS_OPTIONS, !nm_setting_ip_config_has_dns_options ((NMSettingIPConfig *) setting))
-DEFINE_GETTER (nmc_property_ipv4_get_dns_priority, NM_SETTING_IP_CONFIG_DNS_PRIORITY)
-
-static char *
-nmc_property_ip_get_addresses (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingIPConfig *s_ip = NM_SETTING_IP_CONFIG (setting);
-	GString *printable;
-	guint32 num_addresses, i;
-	NMIPAddress *addr;
-
-	printable = g_string_new (NULL);
-
-	num_addresses = nm_setting_ip_config_get_num_addresses (s_ip);
-	for (i = 0; i < num_addresses; i++) {
-		addr = nm_setting_ip_config_get_address (s_ip, i);
-
-		if (printable->len > 0)
-			g_string_append (printable, ", ");
-
-		g_string_append_printf (printable, "%s/%u",
-		                        nm_ip_address_get_address (addr),
-		                        nm_ip_address_get_prefix (addr));
-	}
-
-	return g_string_free (printable, FALSE);
-}
-
-static char *
-nmc_property_ipvx_get_routes (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingIPConfig *s_ip = NM_SETTING_IP_CONFIG (setting);
-	GString *printable;
-	guint32 num_routes, i;
-	NMIPRoute *route;
-
-	printable = g_string_new (NULL);
-
-	num_routes = nm_setting_ip_config_get_num_routes (s_ip);
-	for (i = 0; i < num_routes; i++) {
-		route = nm_setting_ip_config_get_route (s_ip, i);
-
-		if (get_type == NMC_PROPERTY_GET_PARSABLE) {
-			if (printable->len > 0)
-				g_string_append (printable, ", ");
-
-			g_string_append_printf (printable, "%s/%u",
-			                        nm_ip_route_get_dest (route),
-			                        nm_ip_route_get_prefix (route));
-
-			if (nm_ip_route_get_next_hop (route))
-				g_string_append_printf (printable, " %s", nm_ip_route_get_next_hop (route));
-			if (nm_ip_route_get_metric (route) != -1)
-				g_string_append_printf (printable, " %u", (guint32) nm_ip_route_get_metric (route));
-		} else {
-			if (printable->len > 0)
-				g_string_append (printable, "; ");
-
-			g_string_append (printable, "{ ");
-
-			g_string_append_printf (printable, "ip = %s/%u",
-			                        nm_ip_route_get_dest (route),
-			                        nm_ip_route_get_prefix (route));
-
-			if (nm_ip_route_get_next_hop (route)) {
-				g_string_append_printf (printable, ", nh = %s",
-				                        nm_ip_route_get_next_hop (route));
-			}
-
-			if (nm_ip_route_get_metric (route) != -1)
-				g_string_append_printf (printable, ", mt = %u", (guint32) nm_ip_route_get_metric (route));
-
-			g_string_append (printable, " }");
-		}
-	}
-
-	return g_string_free (printable, FALSE);
-}
-
-static char *
-nmc_property_ipv4_get_routes (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	return nmc_property_ipvx_get_routes (setting, get_type);
-}
-
-DEFINE_GETTER (nmc_property_ipv4_get_gateway, NM_SETTING_IP_CONFIG_GATEWAY)
-DEFINE_GETTER (nmc_property_ipv4_get_route_metric, NM_SETTING_IP_CONFIG_ROUTE_METRIC)
-DEFINE_GETTER (nmc_property_ipv4_get_ignore_auto_routes, NM_SETTING_IP_CONFIG_IGNORE_AUTO_ROUTES)
-DEFINE_GETTER (nmc_property_ipv4_get_ignore_auto_dns, NM_SETTING_IP_CONFIG_IGNORE_AUTO_DNS)
-DEFINE_GETTER (nmc_property_ipv4_get_dhcp_client_id, NM_SETTING_IP4_CONFIG_DHCP_CLIENT_ID)
-DEFINE_GETTER (nmc_property_ipv4_get_dhcp_timeout, NM_SETTING_IP_CONFIG_DHCP_TIMEOUT)
-DEFINE_GETTER (nmc_property_ipv4_get_dhcp_send_hostname, NM_SETTING_IP_CONFIG_DHCP_SEND_HOSTNAME)
-DEFINE_GETTER (nmc_property_ipv4_get_dhcp_hostname, NM_SETTING_IP_CONFIG_DHCP_HOSTNAME)
-DEFINE_GETTER (nmc_property_ipv4_get_dhcp_fqdn, NM_SETTING_IP4_CONFIG_DHCP_FQDN)
-DEFINE_GETTER (nmc_property_ipv4_get_never_default, NM_SETTING_IP_CONFIG_NEVER_DEFAULT)
-DEFINE_GETTER (nmc_property_ipv4_get_may_fail, NM_SETTING_IP_CONFIG_MAY_FAIL)
-
-static char *
-nmc_property_ipv4_get_dad_timeout (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingIPConfig *s_ip = NM_SETTING_IP_CONFIG (setting);
-	gint dad_timeout;
-
-	dad_timeout = nm_setting_ip_config_get_dad_timeout (s_ip);
-	if (get_type == NMC_PROPERTY_GET_PARSABLE)
-		return g_strdup_printf ("%d", dad_timeout);
-
-	switch (dad_timeout) {
-	case -1:
-		return g_strdup_printf (_("%d (default)"), dad_timeout);
-	case 0:
-		return g_strdup_printf (_("%d (off)"), dad_timeout);
-	default:
-		return g_strdup_printf ("%d", dad_timeout);
-	}
-}
-
-/* --- NM_SETTING_IP6_CONFIG_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_ipv6_get_method, NM_SETTING_IP_CONFIG_METHOD)
-DEFINE_GETTER (nmc_property_ipv6_get_dns, NM_SETTING_IP_CONFIG_DNS)
-DEFINE_GETTER (nmc_property_ipv6_get_dns_search, NM_SETTING_IP_CONFIG_DNS_SEARCH)
-DEFINE_GETTER_WITH_DEFAULT (nmc_property_ipv6_get_dns_options, NM_SETTING_IP_CONFIG_DNS_OPTIONS, !nm_setting_ip_config_has_dns_options ((NMSettingIPConfig *) setting))
-DEFINE_GETTER (nmc_property_ipv6_get_dns_priority, NM_SETTING_IP_CONFIG_DNS_PRIORITY)
-
-static char *
-nmc_property_ipv6_get_routes (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	return nmc_property_ipvx_get_routes (setting, get_type);
-}
-
-DEFINE_GETTER (nmc_property_ipv6_get_gateway, NM_SETTING_IP_CONFIG_GATEWAY)
-DEFINE_GETTER (nmc_property_ipv6_get_route_metric, NM_SETTING_IP_CONFIG_ROUTE_METRIC)
-DEFINE_GETTER (nmc_property_ipv6_get_ignore_auto_routes, NM_SETTING_IP_CONFIG_IGNORE_AUTO_ROUTES)
-DEFINE_GETTER (nmc_property_ipv6_get_ignore_auto_dns, NM_SETTING_IP_CONFIG_IGNORE_AUTO_DNS)
-DEFINE_GETTER (nmc_property_ipv6_get_never_default, NM_SETTING_IP_CONFIG_NEVER_DEFAULT)
-DEFINE_GETTER (nmc_property_ipv6_get_may_fail, NM_SETTING_IP_CONFIG_MAY_FAIL)
-DEFINE_GETTER (nmc_property_ipv6_get_dhcp_send_hostname, NM_SETTING_IP_CONFIG_DHCP_SEND_HOSTNAME)
-DEFINE_GETTER (nmc_property_ipv6_get_dhcp_hostname, NM_SETTING_IP_CONFIG_DHCP_HOSTNAME)
-DEFINE_GETTER (nmc_property_ipv6_get_token, NM_SETTING_IP6_CONFIG_TOKEN)
-
-static char *
-nmc_property_ipv6_get_ip6_privacy (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingIP6Config *s_ip6 = NM_SETTING_IP6_CONFIG (setting);
-	return ip6_privacy_to_string (nm_setting_ip6_config_get_ip6_privacy (s_ip6), get_type);
-}
-
-/* --- NM_SETTING_OLPC_MESH_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_olpc_get_channel, NM_SETTING_OLPC_MESH_CHANNEL)
-DEFINE_GETTER (nmc_property_olpc_get_anycast_address, NM_SETTING_OLPC_MESH_DHCP_ANYCAST_ADDRESS)
-
-static char *
-nmc_property_olpc_get_ssid (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingOlpcMesh *s_olpc_mesh = NM_SETTING_OLPC_MESH (setting);
-	GBytes *ssid;
-	char *ssid_str = NULL;
-
-	ssid = nm_setting_olpc_mesh_get_ssid (s_olpc_mesh);
-	if (ssid) {
-		ssid_str = nm_utils_ssid_to_utf8 (g_bytes_get_data (ssid, NULL),
-		                                  g_bytes_get_size (ssid));
-	}
-
-	return ssid_str;
-}
-
-/* --- NM_SETTING_PPP_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_ppp_get_noauth, NM_SETTING_PPP_NOAUTH)
-DEFINE_GETTER (nmc_property_ppp_get_refuse_eap, NM_SETTING_PPP_REFUSE_EAP)
-DEFINE_GETTER (nmc_property_ppp_get_refuse_pap, NM_SETTING_PPP_REFUSE_PAP)
-DEFINE_GETTER (nmc_property_ppp_get_refuse_chap, NM_SETTING_PPP_REFUSE_CHAP)
-DEFINE_GETTER (nmc_property_ppp_get_refuse_mschap, NM_SETTING_PPP_REFUSE_MSCHAP)
-DEFINE_GETTER (nmc_property_ppp_get_refuse_mschapv2, NM_SETTING_PPP_REFUSE_MSCHAPV2)
-DEFINE_GETTER (nmc_property_ppp_get_nobsdcomp, NM_SETTING_PPP_NOBSDCOMP)
-DEFINE_GETTER (nmc_property_ppp_get_nodeflate, NM_SETTING_PPP_NODEFLATE)
-DEFINE_GETTER (nmc_property_ppp_get_no_vj_comp, NM_SETTING_PPP_NO_VJ_COMP)
-DEFINE_GETTER (nmc_property_ppp_get_require_mppe, NM_SETTING_PPP_REQUIRE_MPPE)
-DEFINE_GETTER (nmc_property_ppp_get_require_mppe_128, NM_SETTING_PPP_REQUIRE_MPPE_128)
-DEFINE_GETTER (nmc_property_ppp_get_mppe_stateful, NM_SETTING_PPP_MPPE_STATEFUL)
-DEFINE_GETTER (nmc_property_ppp_get_crtscts, NM_SETTING_PPP_CRTSCTS)
-DEFINE_GETTER (nmc_property_ppp_get_baud, NM_SETTING_PPP_BAUD)
-DEFINE_GETTER (nmc_property_ppp_get_mru, NM_SETTING_PPP_MRU)
-DEFINE_GETTER (nmc_property_ppp_get_mtu, NM_SETTING_PPP_MTU)
-DEFINE_GETTER (nmc_property_ppp_get_lcp_echo_failure, NM_SETTING_PPP_LCP_ECHO_FAILURE)
-DEFINE_GETTER (nmc_property_ppp_get_lcp_echo_interval, NM_SETTING_PPP_LCP_ECHO_INTERVAL)
-
-/* --- NM_SETTING_PPPOE_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_pppoe_get_service, NM_SETTING_PPPOE_SERVICE)
-DEFINE_GETTER (nmc_property_pppoe_get_username, NM_SETTING_PPPOE_USERNAME)
-DEFINE_GETTER (nmc_property_pppoe_get_password, NM_SETTING_PPPOE_PASSWORD)
-DEFINE_SECRET_FLAGS_GETTER (nmc_property_pppoe_get_password_flags, NM_SETTING_PPPOE_PASSWORD_FLAGS)
-
-/* --- NM_SETTING_SERIAL_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_serial_get_baud, NM_SETTING_SERIAL_BAUD)
-DEFINE_GETTER (nmc_property_serial_get_bits, NM_SETTING_SERIAL_BITS)
-DEFINE_GETTER (nmc_property_serial_get_stopbits, NM_SETTING_SERIAL_STOPBITS)
-DEFINE_GETTER (nmc_property_serial_get_send_delay, NM_SETTING_SERIAL_SEND_DELAY)
-
-/* --- NM_SETTING_VLAN_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_vlan_get_parent, NM_SETTING_VLAN_PARENT)
-DEFINE_GETTER (nmc_property_vlan_get_id, NM_SETTING_VLAN_ID)
-
-
-static char *
-nmc_property_vlan_get_flags (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingVlan *s_vlan = NM_SETTING_VLAN (setting);
-	return vlan_flags_to_string (nm_setting_vlan_get_flags (s_vlan));
-}
-
-static char *
-nmc_property_vlan_get_ingress_priority_map (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingVlan *s_vlan = NM_SETTING_VLAN (setting);
-	return vlan_priorities_to_string (s_vlan, NM_VLAN_INGRESS_MAP);
-}
-
-static char *
-nmc_property_vlan_get_egress_priority_map (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingVlan *s_vlan = NM_SETTING_VLAN (setting);
-	return vlan_priorities_to_string (s_vlan, NM_VLAN_EGRESS_MAP);
-}
-
-/* --- NM_SETTING_VPN_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_vpn_get_service_type, NM_SETTING_VPN_SERVICE_TYPE)
-DEFINE_GETTER (nmc_property_vpn_get_user_name, NM_SETTING_VPN_USER_NAME)
-
-static char *
-nmc_property_vpn_get_data (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingVpn *s_vpn = NM_SETTING_VPN (setting);
-	GString *data_item_str;
-
-	data_item_str = g_string_new (NULL);
-	nm_setting_vpn_foreach_data_item (s_vpn, &vpn_data_item, data_item_str);
-
-	return g_string_free (data_item_str, FALSE);
-}
-
-static char *
-nmc_property_vpn_get_secrets (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingVpn *s_vpn = NM_SETTING_VPN (setting);
-	GString *secret_str;
-
-	secret_str = g_string_new (NULL);
-	nm_setting_vpn_foreach_secret (s_vpn, &vpn_data_item, secret_str);
-
-	return g_string_free (secret_str, FALSE);
-}
-
-DEFINE_GETTER (nmc_property_vpn_get_persistent, NM_SETTING_VPN_PERSISTENT)
-DEFINE_GETTER (nmc_property_vpn_get_timeout, NM_SETTING_VPN_TIMEOUT)
-
-/* --- NM_SETTING_WIMAX_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_wimax_get_network_name, NM_SETTING_WIMAX_NETWORK_NAME)
-DEFINE_GETTER (nmc_property_wimax_get_mac_address, NM_SETTING_WIMAX_MAC_ADDRESS)
-
-/* --- NM_SETTING_WIRED_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_wired_get_port, NM_SETTING_WIRED_PORT)
-DEFINE_GETTER (nmc_property_wired_get_auto_negotiate, NM_SETTING_WIRED_AUTO_NEGOTIATE)
-DEFINE_GETTER (nmc_property_wired_get_mac_address, NM_SETTING_WIRED_MAC_ADDRESS)
-DEFINE_GETTER (nmc_property_wired_get_cloned_mac_address, NM_SETTING_WIRED_CLONED_MAC_ADDRESS)
-DEFINE_GETTER (nmc_property_wired_get_generate_mac_address_mask, NM_SETTING_WIRED_GENERATE_MAC_ADDRESS_MASK)
-DEFINE_GETTER (nmc_property_wired_get_mac_address_blacklist, NM_SETTING_WIRED_MAC_ADDRESS_BLACKLIST)
-DEFINE_GETTER (nmc_property_wired_get_s390_subchannels, NM_SETTING_WIRED_S390_SUBCHANNELS)
-DEFINE_GETTER (nmc_property_wired_get_s390_nettype, NM_SETTING_WIRED_S390_NETTYPE)
-DEFINE_GETTER (nmc_property_wired_get_s390_options, NM_SETTING_WIRED_S390_OPTIONS)
-DEFINE_GETTER (nmc_property_wired_get_wake_on_lan_password, NM_SETTING_WIRED_WAKE_ON_LAN_PASSWORD)
-
-static char *
-nmc_property_wired_get_speed (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingWired *s_wired = NM_SETTING_WIRED (setting);
-	guint32 speed;
-
-	speed = nm_setting_wired_get_speed (s_wired);
-	return g_strdup_printf ("%d", speed);
-}
-
-static char *
-nmc_property_wired_get_duplex (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingWired *s_wired = NM_SETTING_WIRED (setting);
-	const char *str;
-
-	str = nm_setting_wired_get_duplex (s_wired);
-	if (!str)
-		return NULL;
-	else
-		return g_strdup (str);
-
-}
-
-static char *
-nmc_property_wired_get_mtu (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingWired *s_wired = NM_SETTING_WIRED (setting);
-	int mtu;
-
-	mtu = nm_setting_wired_get_mtu (s_wired);
-	if (mtu == 0)
-		return g_strdup (_("auto"));
-	else
-		return g_strdup_printf ("%d", mtu);
-}
-
-static char *
-nmc_property_wired_get_wake_on_lan (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingWired *s_wired = NM_SETTING_WIRED (setting);
-	NMSettingWiredWakeOnLan wol;
-	char *tmp, *str;
-
-	wol = nm_setting_wired_get_wake_on_lan (s_wired);
-	tmp = nm_utils_enum_to_str (nm_setting_wired_wake_on_lan_get_type (), wol);
-	if (get_type == NMC_PROPERTY_GET_PARSABLE)
-		str = g_strdup_printf ("%s", tmp && *tmp ? tmp : "none");
-	else
-		str = g_strdup_printf ("%d (%s)", wol, tmp && *tmp ? tmp : "none");
-	g_free (tmp);
-	return str;
-}
-
-static gboolean
-nmc_property_wired_set_wake_on_lan (NMSetting *setting, const char *prop,
-                                    const char *val, GError **error)
-{
-	NMSettingWiredWakeOnLan wol;
-	gs_free char *err_token = NULL;
-	gboolean ret;
-	long int t;
-
-	if (nmc_string_to_int_base (val, 0, TRUE, 0,
-	                            NM_SETTING_WIRED_WAKE_ON_LAN_ALL
-	                            | NM_SETTING_WIRED_WAKE_ON_LAN_EXCLUSIVE_FLAGS,
-	                            &t))
-		wol = (NMSettingWiredWakeOnLan) t;
-	else {
-		ret = nm_utils_enum_from_str (nm_setting_wired_wake_on_lan_get_type (), val,
-		                              (int *) &wol, &err_token);
-
-		if (!ret) {
-			if (   g_ascii_strcasecmp (err_token, "none") == 0
-			    || g_ascii_strcasecmp (err_token, "disable") == 0
-			    || g_ascii_strcasecmp (err_token, "disabled") == 0)
-				wol = NM_SETTING_WIRED_WAKE_ON_LAN_NONE;
-			else {
-				g_set_error (error, 1, 0, _("invalid option '%s', use a combination of [%s] or 'ignore', 'default' or 'none'"),
-				             err_token,
-				             nm_utils_enum_to_str (nm_setting_wired_wake_on_lan_get_type (),
-				                                   NM_SETTING_WIRED_WAKE_ON_LAN_ALL));
-				return FALSE;
-			}
-		}
-	}
-
-	if (   NM_FLAGS_ANY (wol, NM_SETTING_WIRED_WAKE_ON_LAN_EXCLUSIVE_FLAGS)
-	    && !nm_utils_is_power_of_two (wol)) {
-		g_set_error_literal (error, 1, 0, _("'default' and 'ignore' are incompatible with other flags"));
-		return FALSE;
-	}
-
-	g_object_set (setting, prop, (guint) wol, NULL);
-	return TRUE;
-}
-
-static char *
-nmc_property_ip_tunnel_get_mode (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingIPTunnel *s_ip_tunnel = NM_SETTING_IP_TUNNEL (setting);
-	NMIPTunnelMode mode;
-
-	mode = nm_setting_ip_tunnel_get_mode (s_ip_tunnel);
-	return nm_utils_enum_to_str (nm_ip_tunnel_mode_get_type (), mode);
-}
-
-static gboolean
-nmc_property_ip_tunnel_set_mode (NMSetting *setting, const char *prop,
-                                  const char *val, GError **error)
-{
-	NMIPTunnelMode mode;
-	gboolean ret;
-
-	ret = nm_utils_enum_from_str (nm_ip_tunnel_mode_get_type(), val,
-	                               (int *) &mode, NULL);
-
-	if (!ret) {
-		gs_free const char **values = NULL;
-		gs_free char *values_str = NULL;
-
-		values = nm_utils_enum_get_values (nm_ip_tunnel_mode_get_type (),
-		                                   NM_IP_TUNNEL_MODE_UNKNOWN + 1,
-		                                   G_MAXINT);
-		values_str = g_strjoinv (",", (char **) values);
-		g_set_error (error, 1, 0, _("invalid mode '%s', use one of %s"),
-		             val, values_str);
-
-		return FALSE;
-	}
-
-	g_object_set (setting, prop, mode, NULL);
-	return TRUE;
-}
-
-/* --- NM_SETTING_WIRELESS_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_wireless_get_mode, NM_SETTING_WIRELESS_MODE)
-DEFINE_GETTER (nmc_property_wireless_get_band, NM_SETTING_WIRELESS_BAND)
-DEFINE_GETTER (nmc_property_wireless_get_channel, NM_SETTING_WIRELESS_CHANNEL)
-DEFINE_GETTER (nmc_property_wireless_get_bssid, NM_SETTING_WIRELESS_BSSID)
-DEFINE_GETTER (nmc_property_wireless_get_rate, NM_SETTING_WIRELESS_RATE)
-DEFINE_GETTER (nmc_property_wireless_get_tx_power, NM_SETTING_WIRELESS_TX_POWER)
-DEFINE_GETTER (nmc_property_wireless_get_mac_address, NM_SETTING_WIRELESS_MAC_ADDRESS)
-DEFINE_GETTER (nmc_property_wireless_get_cloned_mac_address, NM_SETTING_WIRELESS_CLONED_MAC_ADDRESS)
-DEFINE_GETTER (nmc_property_wireless_get_generate_mac_address_mask, NM_SETTING_WIRELESS_GENERATE_MAC_ADDRESS_MASK)
-DEFINE_GETTER (nmc_property_wireless_get_mac_address_blacklist, NM_SETTING_WIRELESS_MAC_ADDRESS_BLACKLIST)
-DEFINE_GETTER (nmc_property_wireless_get_seen_bssids, NM_SETTING_WIRELESS_SEEN_BSSIDS)
-DEFINE_GETTER (nmc_property_wireless_get_hidden, NM_SETTING_WIRELESS_HIDDEN)
-
-static char *
-nmc_property_wireless_get_ssid (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingWireless *s_wireless = NM_SETTING_WIRELESS (setting);
-	GBytes *ssid;
-	char *ssid_str = NULL;
-
-	ssid = nm_setting_wireless_get_ssid (s_wireless);
-	if (ssid) {
-		ssid_str = nm_utils_ssid_to_utf8 (g_bytes_get_data (ssid, NULL),
-		                                  g_bytes_get_size (ssid));
-	}
-
-	return ssid_str;
-}
-
-static char *
-nmc_property_wireless_get_mtu (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingWireless *s_wireless = NM_SETTING_WIRELESS (setting);
-	int mtu;
-
-	mtu = nm_setting_wireless_get_mtu (s_wireless);
-	if (mtu == 0)
-		return g_strdup (_("auto"));
-	else
-		return g_strdup_printf ("%d", mtu);
-}
-
-static char *
-nmc_property_wireless_get_powersave (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingWireless *s_wireless = NM_SETTING_WIRELESS (setting);
-	NMSettingWirelessPowersave powersave;
-	gs_free char *str = NULL;
-	char *ret;
-
-	powersave = nm_setting_wireless_get_powersave (s_wireless);
-	str = nm_utils_enum_to_str (nm_setting_wireless_powersave_get_type (), powersave);
-
-	if (get_type == NMC_PROPERTY_GET_PARSABLE) {
-		ret = str;
-		str = NULL;
-		return ret;
-	} else
-		return g_strdup_printf ("%s (%u)", str, powersave);
-}
-
-static char *
-nmc_property_wireless_get_mac_address_randomization (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingWireless *s_wifi = NM_SETTING_WIRELESS (setting);
-	NMSettingMacRandomization randomization = nm_setting_wireless_get_mac_address_randomization (s_wifi);
-
-	if (randomization == NM_SETTING_MAC_RANDOMIZATION_DEFAULT)
-		return g_strdup (_("default"));
-	else if (randomization == NM_SETTING_MAC_RANDOMIZATION_NEVER)
-		return g_strdup (_("never"));
-	else if (randomization == NM_SETTING_MAC_RANDOMIZATION_ALWAYS)
-		return g_strdup_printf (_("always"));
-	else
-		return g_strdup_printf (_("unknown"));
-}
-
-
-/* --- NM_SETTING_WIRELESS_SECURITY_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_wifi_sec_get_key_mgmt, NM_SETTING_WIRELESS_SECURITY_KEY_MGMT)
-DEFINE_GETTER (nmc_property_wifi_sec_get_wep_tx_keyidx, NM_SETTING_WIRELESS_SECURITY_WEP_TX_KEYIDX)
-DEFINE_GETTER (nmc_property_wifi_sec_get_auth_alg, NM_SETTING_WIRELESS_SECURITY_AUTH_ALG)
-DEFINE_GETTER (nmc_property_wifi_sec_get_proto, NM_SETTING_WIRELESS_SECURITY_PROTO)
-DEFINE_GETTER (nmc_property_wifi_sec_get_pairwise, NM_SETTING_WIRELESS_SECURITY_PAIRWISE)
-DEFINE_GETTER (nmc_property_wifi_sec_get_group, NM_SETTING_WIRELESS_SECURITY_GROUP)
-DEFINE_GETTER (nmc_property_wifi_sec_get_leap_username, NM_SETTING_WIRELESS_SECURITY_LEAP_USERNAME)
-DEFINE_SECRET_FLAGS_GETTER (nmc_property_wifi_sec_get_wep_key_flags, NM_SETTING_WIRELESS_SECURITY_WEP_KEY_FLAGS)
-DEFINE_GETTER (nmc_property_wifi_sec_get_psk, NM_SETTING_WIRELESS_SECURITY_PSK)
-DEFINE_SECRET_FLAGS_GETTER (nmc_property_wifi_sec_get_psk_flags, NM_SETTING_WIRELESS_SECURITY_PSK_FLAGS)
-DEFINE_GETTER (nmc_property_wifi_sec_get_leap_password, NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD)
-DEFINE_SECRET_FLAGS_GETTER (nmc_property_wifi_sec_get_leap_password_flags, NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD_FLAGS)
-
-static char *
-nmc_property_wifi_sec_get_wep_key0 (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingWirelessSecurity *s_wireless_sec = NM_SETTING_WIRELESS_SECURITY (setting);
-	return g_strdup (nm_setting_wireless_security_get_wep_key (s_wireless_sec, 0));
-}
-
-static char *
-nmc_property_wifi_sec_get_wep_key1 (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingWirelessSecurity *s_wireless_sec = NM_SETTING_WIRELESS_SECURITY (setting);
-	return g_strdup (nm_setting_wireless_security_get_wep_key (s_wireless_sec, 1));
-}
-
-static char *
-nmc_property_wifi_sec_get_wep_key2 (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingWirelessSecurity *s_wireless_sec = NM_SETTING_WIRELESS_SECURITY (setting);
-	return g_strdup (nm_setting_wireless_security_get_wep_key (s_wireless_sec, 2));
-}
-
-static char *
-nmc_property_wifi_sec_get_wep_key3 (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingWirelessSecurity *s_wireless_sec = NM_SETTING_WIRELESS_SECURITY (setting);
-	return g_strdup (nm_setting_wireless_security_get_wep_key (s_wireless_sec, 3));
-}
-
-static char *
-nmc_property_wifi_sec_get_wep_key_type (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingWirelessSecurity *s_wireless_sec = NM_SETTING_WIRELESS_SECURITY (setting);
-	return wep_key_type_to_string (nm_setting_wireless_security_get_wep_key_type (s_wireless_sec));
-}
-
-/* --- NM_SETTING_MACSEC_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_macsec_get_parent, NM_SETTING_MACSEC_PARENT)
-DEFINE_GETTER (nmc_property_macsec_get_encrypt, NM_SETTING_MACSEC_ENCRYPT)
-DEFINE_GETTER (nmc_property_macsec_get_mka_cak, NM_SETTING_MACSEC_MKA_CAK)
-DEFINE_SECRET_FLAGS_GETTER (nmc_property_macsec_get_mka_cak_flags, NM_SETTING_MACSEC_MKA_CAK_FLAGS)
-DEFINE_GETTER (nmc_property_macsec_get_mka_ckn, NM_SETTING_MACSEC_MKA_CKN)
-DEFINE_GETTER (nmc_property_macsec_get_port, NM_SETTING_MACSEC_PORT)
-
-/* 'mode' */
-static char *
-nmc_property_macsec_get_mode (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingMacsec *s_macsec = NM_SETTING_MACSEC (setting);
-	NMSettingMacsecMode mode;
-
-	mode = nm_setting_macsec_get_mode (s_macsec);
-	return nm_utils_enum_to_str (nm_setting_macsec_mode_get_type (), mode);
-}
-
-
-static gboolean
-nmc_property_macsec_set_mode (NMSetting *setting, const char *prop,
-                              const char *val, GError **error)
-{
-	NMSettingMacsecMode mode;
-	gs_free char *options = NULL;
-
-	if (!nm_utils_enum_from_str (nm_setting_macsec_mode_get_type (), val,
-	                             (int *) &mode, NULL)) {
-		options = g_strjoinv (",",
-		                      (char **) nm_utils_enum_get_values (nm_setting_macsec_mode_get_type (),
-		                                                          G_MININT,
-		                                                          G_MAXINT));
-		g_set_error (error, 1, 0, _("invalid option '%s', use one of [%s]"),
-		             val, options);
-			return FALSE;
-	}
-
-	g_object_set (setting, prop, mode, NULL);
-	return TRUE;
-}
-
-/* 'mode' */
-static char *
-nmc_property_macsec_get_validation (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingMacsec *s_macsec = NM_SETTING_MACSEC (setting);
-	NMSettingMacsecValidation validation;
-
-	validation = nm_setting_macsec_get_validation (s_macsec);
-	return nm_utils_enum_to_str (nm_setting_macsec_validation_get_type (), validation);
-}
-
-
-static gboolean
-nmc_property_macsec_set_validation (NMSetting *setting, const char *prop,
-                                    const char *val, GError **error)
-{
-	NMSettingMacsecMode validation;
-	gs_free char *options = NULL;
-
-	if (!nm_utils_enum_from_str (nm_setting_macsec_validation_get_type (), val,
-	                             (int *) &validation, NULL)) {
-		options = g_strjoinv (",",
-		                      (char **) nm_utils_enum_get_values (nm_setting_macsec_validation_get_type (),
-		                                                          G_MININT,
-		                                                          G_MAXINT));
-		g_set_error (error, 1, 0, _("invalid option '%s', use one of [%s]"),
-		             val, options);
-			return FALSE;
-	}
-
-	g_object_set (setting, prop, validation, NULL);
-	return TRUE;
-}
-
-static const char **
-nmc_property_macsec_allowed_validation (NMSetting *setting, const char *prop)
-{
-	static const char **words = NULL;
-
-	if (!words)
-		words = nm_utils_enum_get_values (nm_setting_macsec_validation_get_type(),
-		                                  G_MININT,
-		                                  G_MAXINT);
-	return words;
-}
-
-/* --- NM_SETTING_MACVLAN_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_macvlan_get_parent, NM_SETTING_MACVLAN_PARENT)
-DEFINE_GETTER (nmc_property_macvlan_get_promiscuous, NM_SETTING_MACVLAN_PROMISCUOUS)
-DEFINE_GETTER (nmc_property_macvlan_get_tap, NM_SETTING_MACVLAN_TAP)
-
-static char *
-nmc_property_macvlan_get_mode (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingMacvlan *s_macvlan = NM_SETTING_MACVLAN (setting);
-	NMSettingMacvlanMode mode;
-	char *tmp, *str;
-
-	mode = nm_setting_macvlan_get_mode (s_macvlan);
-	tmp = nm_utils_enum_to_str (nm_setting_macvlan_mode_get_type (), mode);
-
-	if (get_type == NMC_PROPERTY_GET_PARSABLE)
-		str = g_strdup (tmp ? tmp : "");
-	else
-		str = g_strdup_printf ("%d (%s)", mode, tmp ? tmp : "");
-	g_free (tmp);
-
-	return str;
-}
-
-static gboolean
-nmc_property_macvlan_set_mode (NMSetting *setting, const char *prop,
-                               const char *val, GError **error)
-{
-	NMSettingMacvlanMode mode;
-	gs_free const char **options = NULL;
-	gs_free char *options_str = NULL;
-	long int t;
-	gboolean ret;
-
-	if (nmc_string_to_int_base (val, 0, TRUE, 0, _NM_SETTING_MACVLAN_MODE_NUM - 1, &t))
-		mode = (NMSettingMacvlanMode) t;
-	else {
-		ret = nm_utils_enum_from_str (nm_setting_macvlan_mode_get_type (), val,
-		                              (int *) &mode, NULL);
-
-		if (!ret) {
-				options = nm_utils_enum_get_values (nm_setting_macvlan_mode_get_type(),
-				                                    NM_SETTING_MACVLAN_MODE_UNKNOWN + 1,
-				                                    G_MAXINT);
-				options_str = g_strjoinv (",", (char **) options);
-				g_set_error (error, 1, 0, _("invalid option '%s', use one of [%s]"),
-				             val, options_str);
-				return FALSE;
-			}
-		}
-
-	g_object_set (setting, prop, (guint) mode, NULL);
-	return TRUE;
-}
-
-static const char **
-nmc_property_macvlan_allowed_mode (NMSetting *setting, const char *prop)
-{
-	static const char **words = NULL;
-
-	if (!words)
-		words = nm_utils_enum_get_values (nm_setting_macvlan_mode_get_type(),
-		                                  NM_SETTING_MACVLAN_MODE_UNKNOWN + 1,
-		                                  G_MAXINT);
-	return words;
-}
-
-/* --- NM_SETTING_VXLAN_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_vxlan_get_parent, NM_SETTING_VXLAN_PARENT)
-DEFINE_GETTER (nmc_property_vxlan_get_id, NM_SETTING_VXLAN_ID)
-DEFINE_GETTER (nmc_property_vxlan_get_local, NM_SETTING_VXLAN_LOCAL)
-DEFINE_GETTER (nmc_property_vxlan_get_remote, NM_SETTING_VXLAN_REMOTE)
-DEFINE_GETTER (nmc_property_vxlan_get_source_port_min, NM_SETTING_VXLAN_SOURCE_PORT_MIN)
-DEFINE_GETTER (nmc_property_vxlan_get_source_port_max, NM_SETTING_VXLAN_SOURCE_PORT_MAX)
-DEFINE_GETTER (nmc_property_vxlan_get_destination_port, NM_SETTING_VXLAN_DESTINATION_PORT)
-DEFINE_GETTER (nmc_property_vxlan_get_tos, NM_SETTING_VXLAN_TOS)
-DEFINE_GETTER (nmc_property_vxlan_get_ttl, NM_SETTING_VXLAN_TTL)
-DEFINE_GETTER (nmc_property_vxlan_get_ageing, NM_SETTING_VXLAN_AGEING)
-DEFINE_GETTER (nmc_property_vxlan_get_limit, NM_SETTING_VXLAN_LIMIT)
-DEFINE_GETTER (nmc_property_vxlan_get_learning, NM_SETTING_VXLAN_LEARNING)
-DEFINE_GETTER (nmc_property_vxlan_get_proxy, NM_SETTING_VXLAN_PROXY)
-DEFINE_GETTER (nmc_property_vxlan_get_rsc, NM_SETTING_VXLAN_RSC)
-DEFINE_GETTER (nmc_property_vxlan_get_l2_miss, NM_SETTING_VXLAN_L2_MISS)
-DEFINE_GETTER (nmc_property_vxlan_get_l3_miss, NM_SETTING_VXLAN_L3_MISS)
-
-/* --- NM_SETTING_PROXY_SETTING_NAME property get functions --- */
-DEFINE_GETTER (nmc_property_proxy_get_browser_only, NM_SETTING_PROXY_BROWSER_ONLY)
-DEFINE_GETTER (nmc_property_proxy_get_pac_url, NM_SETTING_PROXY_PAC_URL)
-DEFINE_GETTER (nmc_property_proxy_get_pac_script, NM_SETTING_PROXY_PAC_SCRIPT)
-
-static char *
-nmc_property_proxy_get_method (NMSetting *setting, NmcPropertyGetType get_type)
-{
-	NMSettingProxy *s_proxy = NM_SETTING_PROXY (setting);
-	NMSettingProxyMethod method;
-
-	method = nm_setting_proxy_get_method (s_proxy);
-	return nm_utils_enum_to_str (nm_setting_proxy_method_get_type (), method);
-}
-
-static gboolean
-nmc_property_proxy_set_method (NMSetting *setting, const char *prop,
-                               const char *val, GError **error)
-{
-	int method;
-	gboolean ret;
-
-	ret = nm_utils_enum_from_str (nm_setting_proxy_method_get_type(), val,
-	                              &method, NULL);
-
-	if (!ret) {
-		gs_free const char **values = NULL;
-		gs_free char *values_str = NULL;
-
-		values = nm_utils_enum_get_values (nm_setting_proxy_method_get_type (),
-		                                   NM_SETTING_PROXY_METHOD_NONE,
-		                                   G_MAXINT);
-		values_str = g_strjoinv (",", (char **) values);
-		g_set_error (error, 1, 0, _("invalid method '%s', use one of %s"),
-		             val, values_str);
-
-		return FALSE;
-	}
-
-	g_object_set (setting, prop, method, NULL);
-	return TRUE;
-}
-
-static const char **
-nmc_property_proxy_allowed_method (NMSetting *setting, const char *prop)
-{
-	static const char **words = NULL;
-
-	if (!words)
-		words = nm_utils_enum_get_values (nm_setting_proxy_method_get_type(),
-		                                  NM_SETTING_PROXY_METHOD_NONE,
-		                                  G_MAXINT);
-	return words;
-}
-
-static gboolean
-nmc_property_proxy_set_pac_script (NMSetting *setting, const char *prop,
-                                   const char *val, GError **error)
-{
-	char *script = NULL;
-
-	g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
-
-	if (!nmc_proxy_check_script (val, &script, error)) {
-		return FALSE;
-	}
-	g_object_set (setting, prop, script, NULL);
-	g_free (script);
-	return TRUE;
-}
-
-/*----------------------------------------------------------------------------*/
-
-static void
-nmc_value_transform_bool_string (const GValue *src_value,
-                                 GValue       *dest_value)
-{
-	dest_value->data[0].v_pointer = g_strdup (src_value->data[0].v_int ? "yes" : "no");
-}
-
-static void
-nmc_value_transform_char_string (const GValue *src_value,
-                                 GValue       *dest_value)
-{
-	dest_value->data[0].v_pointer = g_strdup_printf ("%c", src_value->data[0].v_uint);
-}
-
-static void __attribute__((constructor))
-register_nmcli_value_transforms (void)
-{
-	g_value_register_transform_func (G_TYPE_BOOLEAN, G_TYPE_STRING, nmc_value_transform_bool_string);
-	g_value_register_transform_func (G_TYPE_CHAR, G_TYPE_STRING, nmc_value_transform_char_string);
-}
-
-/*----------------------------------------------------------------------------*/
-
-/* Main hash table storing function pointer for manipulating properties */
-static GHashTable *nmc_properties = NULL;
-typedef	char *        (*NmcPropertyGetFunc)      (NMSetting *, NmcPropertyGetType);
-typedef	gboolean      (*NmcPropertySetFunc)      (NMSetting *, const char *, const char *, GError **);
-typedef	gboolean      (*NmcPropertyRemoveFunc)   (NMSetting *, const char *, const char *, guint32, GError **);
-typedef	const char *  (*NmcPropertyDescribeFunc) (NMSetting *, const char *);
-typedef	const char ** (*NmcPropertyValuesFunc)   (NMSetting *, const char *);
-
-typedef struct {
-	/* The order of the fields is important as they correspond
-	 * to the order as _nmc_add_prop_funcs() passes the arguments. */
-#define NmcPropertyFuncsFields \
-	NmcPropertyGetFunc get_func;           /* func getting property values */ \
-	NmcPropertySetFunc set_func;           /* func adding/setting property values */ \
-	NmcPropertyRemoveFunc remove_func;     /* func removing items from container options */ \
-	NmcPropertyDescribeFunc describe_func; /* func returning property description */ \
-	NmcPropertyValuesFunc values_func;     /* func returning allowed property values */ \
-	;
-	NmcPropertyFuncsFields
-} NmcPropertyFuncs;
-
-NMSetting *
-nmc_setting_new_for_name (const char *name)
-{
-	GType stype;
-	NMSetting *setting = NULL;
-
-	if (name) {
-		stype = nm_setting_lookup_type (name);
-		if (stype != G_TYPE_INVALID) {
-			setting = g_object_new (stype, NULL);
-			g_warn_if_fail (NM_IS_SETTING (setting));
-		}
-	}
-	return setting;
-}
-
-static gboolean
-get_answer (const char *prop, const char *value)
-{
-	char *tmp_str;
-	char *question;
-	gboolean answer = FALSE;
-
-	if (value)
-		question = g_strdup_printf (_("Do you also want to set '%s' to '%s'? [yes]: "), prop, value);
-	else
-		question = g_strdup_printf (_("Do you also want to clear '%s'? [yes]: "), prop);
-	tmp_str = nmc_get_user_input (question);
-	if (!tmp_str || matches (tmp_str, "yes") == 0)
-		answer = TRUE;
-	g_free (tmp_str);
-	g_free (question);
-	return answer;
-}
-
-static void ipv4_method_changed_cb (GObject *object, GParamSpec *pspec, gpointer user_data);
-static void ipv6_method_changed_cb (GObject *object, GParamSpec *pspec, gpointer user_data);
-
-static void
-ipv4_addresses_changed_cb (GObject *object, GParamSpec *pspec, gpointer user_data)
-{
-	static gboolean answered = FALSE;
-	static gboolean answer = FALSE;
-
-	g_signal_handlers_block_by_func (object, G_CALLBACK (ipv4_method_changed_cb), NULL);
-
-	/* If we have some IP addresses set method to 'manual'.
-	 * Else if the method was 'manual', change it back to 'auto'.
-	 */
-	if (nm_setting_ip_config_get_num_addresses (NM_SETTING_IP_CONFIG (object))) {
-		if (g_strcmp0 (nm_setting_ip_config_get_method (NM_SETTING_IP_CONFIG (object)), NM_SETTING_IP4_CONFIG_METHOD_MANUAL)) {
-			if (!answered) {
-				answered = TRUE;
-				answer = get_answer ("ipv4.method", "manual");
-			}
-			if (answer)
-				g_object_set (object, NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP4_CONFIG_METHOD_MANUAL, NULL);
-		}
-	} else {
-		answered = FALSE;
-		if (!g_strcmp0 (nm_setting_ip_config_get_method (NM_SETTING_IP_CONFIG (object)), NM_SETTING_IP4_CONFIG_METHOD_MANUAL))
-			g_object_set (object, NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP4_CONFIG_METHOD_AUTO, NULL);
-	}
-
-	g_signal_handlers_unblock_by_func (object, G_CALLBACK (ipv4_method_changed_cb), NULL);
-}
-
-static void
-ipv4_method_changed_cb (GObject *object, GParamSpec *pspec, gpointer user_data)
-{
-	static GValue value = G_VALUE_INIT;
-	static gboolean answered = FALSE;
-	static gboolean answer = FALSE;
-
-	g_signal_handlers_block_by_func (object, G_CALLBACK (ipv4_addresses_changed_cb), NULL);
-
-	/* If method != manual, remove addresses (save them for restoring them later when method becomes 'manual' */
-	if (g_strcmp0 (nm_setting_ip_config_get_method (NM_SETTING_IP_CONFIG (object)), NM_SETTING_IP4_CONFIG_METHOD_MANUAL)) {
-		if (nm_setting_ip_config_get_num_addresses (NM_SETTING_IP_CONFIG (object))) {
-			if (!answered) {
-				answered = TRUE;
-				answer = get_answer ("ipv4.addresses", NULL);
-			}
-			if (answer) {
-				if (G_IS_VALUE (&value))
-					g_value_unset (&value);
-				nmc_property_get_gvalue (NM_SETTING (object), NM_SETTING_IP_CONFIG_ADDRESSES, &value);
-				g_object_set (object, NM_SETTING_IP_CONFIG_ADDRESSES, NULL, NULL);
-			}
-		}
-	} else {
-		answered = FALSE;
-		if (G_IS_VALUE (&value)) {
-			nmc_property_set_gvalue (NM_SETTING (object), NM_SETTING_IP_CONFIG_ADDRESSES, &value);
-			g_value_unset (&value);
-		}
-	}
-
-	g_signal_handlers_unblock_by_func (object, G_CALLBACK (ipv4_addresses_changed_cb), NULL);
-}
-
-static void
-ipv6_addresses_changed_cb (GObject *object, GParamSpec *pspec, gpointer user_data)
-{
-	static gboolean answered = FALSE;
-	static gboolean answer = FALSE;
-
-	g_signal_handlers_block_by_func (object, G_CALLBACK (ipv6_method_changed_cb), NULL);
-
-	/* If we have some IP addresses set method to 'manual'.
-	 * Else if the method was 'manual', change it back to 'auto'.
-	 */
-	if (nm_setting_ip_config_get_num_addresses (NM_SETTING_IP_CONFIG (object))) {
-		if (g_strcmp0 (nm_setting_ip_config_get_method (NM_SETTING_IP_CONFIG (object)), NM_SETTING_IP6_CONFIG_METHOD_MANUAL)) {
-			if (!answered) {
-				answered = TRUE;
-				answer = get_answer ("ipv6.method", "manual");
-			}
-			if (answer)
-				g_object_set (object, NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP6_CONFIG_METHOD_MANUAL, NULL);
-		}
-	} else {
-		answered = FALSE;
-		if (!g_strcmp0 (nm_setting_ip_config_get_method (NM_SETTING_IP_CONFIG (object)), NM_SETTING_IP6_CONFIG_METHOD_MANUAL))
-			g_object_set (object, NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP6_CONFIG_METHOD_AUTO, NULL);
-	}
-
-	g_signal_handlers_unblock_by_func (object, G_CALLBACK (ipv6_method_changed_cb), NULL);
-}
-
-static void
-ipv6_method_changed_cb (GObject *object, GParamSpec *pspec, gpointer user_data)
-{
-	static GValue value = G_VALUE_INIT;
-	static gboolean answered = FALSE;
-	static gboolean answer = FALSE;
-
-	g_signal_handlers_block_by_func (object, G_CALLBACK (ipv6_addresses_changed_cb), NULL);
-
-	/* If method != manual, remove addresses (save them for restoring them later when method becomes 'manual' */
-	if (g_strcmp0 (nm_setting_ip_config_get_method (NM_SETTING_IP_CONFIG (object)), NM_SETTING_IP6_CONFIG_METHOD_MANUAL)) {
-		if (nm_setting_ip_config_get_num_addresses (NM_SETTING_IP_CONFIG (object))) {
-			if (!answered) {
-				answered = TRUE;
-				answer = get_answer ("ipv6.addresses", NULL);
-			}
-			if (answer) {
-				if (G_IS_VALUE (&value))
-					g_value_unset (&value);
-				nmc_property_get_gvalue (NM_SETTING (object), NM_SETTING_IP_CONFIG_ADDRESSES, &value);
-				g_object_set (object, NM_SETTING_IP_CONFIG_ADDRESSES, NULL, NULL);
-			}
-		}
-	} else {
-		answered = FALSE;
-		if (G_IS_VALUE (&value)) {
-			nmc_property_set_gvalue (NM_SETTING (object), NM_SETTING_IP_CONFIG_ADDRESSES, &value);
-			g_value_unset (&value);
-		}
+		num = num_func (s_macro (setting)); \
+		if (num == 0) { \
+			g_set_error_literal (error, 1, 0, _("no item to remove")); \
+			return FALSE; \
+		} \
+		if (idx >= num) { \
+			g_set_error (error, 1, 0, _("index '%d' is not in range <0-%d>"), idx, num - 1); \
+			return FALSE; \
+		} \
+		rem_func_idx (s_macro (setting), idx); \
+		return TRUE; \
 	}
 
-	g_signal_handlers_unblock_by_func (object, G_CALLBACK (ipv6_addresses_changed_cb), NULL);
-}
-
-static void
-proxy_method_changed_cb (GObject *object, GParamSpec *pspec, gpointer user_data)
-{
-	NMSettingProxyMethod method;
-
-	method = nm_setting_proxy_get_method (NM_SETTING_PROXY (object));
-
-	if (method == NM_SETTING_PROXY_METHOD_NONE) {
-		g_object_set (object,
-		              NM_SETTING_PROXY_PAC_URL, NULL,
-		              NM_SETTING_PROXY_PAC_SCRIPT, NULL,
-		              NULL);
+#define DEFINE_REMOVER_OPTION(def_func, s_macro, rem_func) \
+	static gboolean \
+	def_func (NMSetting *setting, const char *prop, const char *option, guint32 idx, GError **error) \
+	{ \
+		gboolean success = FALSE; \
+		if (option && *option) { \
+			success = rem_func (s_macro (setting), option); \
+			if (!success) \
+				g_set_error (error, 1, 0, _("invalid option '%s'"), option); \
+		} else \
+			g_set_error_literal (error, 1, 0, _("missing option")); \
+		return success; \
 	}
-}
-
-static void
-wireless_band_channel_changed_cb (GObject *object, GParamSpec *pspec, gpointer user_data)
-{
-	const char *value = NULL, *mode;
-	char str[16];
-	NMSettingWireless *s_wireless = NM_SETTING_WIRELESS (object);
-
-	if (strcmp (g_param_spec_get_name (pspec), NM_SETTING_WIRELESS_BAND) == 0) {
-		value = nm_setting_wireless_get_band (s_wireless);
-		if (!value)
-			return;
-	} else {
-		guint32 channel = nm_setting_wireless_get_channel (s_wireless);
 
-		if (channel == 0)
-			return;
-
-		g_snprintf (str, sizeof (str), "%d", nm_setting_wireless_get_channel (s_wireless));
-		value = str;
+#define DEFINE_ALLOWED_VAL_FUNC(def_func, valid_values) \
+	static const char ** \
+	def_func (NMSetting *setting, const char *prop) \
+	{ \
+		return valid_values; \
 	}
 
-	mode = nm_setting_wireless_get_mode (NM_SETTING_WIRELESS (object));
-	if (!mode || !*mode || strcmp (mode, NM_SETTING_WIRELESS_MODE_INFRA) == 0) {
-		g_print (_("Warning: %s.%s set to '%s', but it might be ignored in infrastructure mode\n"),
-		         nm_setting_get_name (NM_SETTING (s_wireless)), g_param_spec_get_name (pspec),
-		         value);
+#define DEFINE_ALLOWED_FOR_ENUMS(def_func, get_type_func, min, max) \
+	static const char ** \
+	def_func (NMSetting *setting, const char *prop) \
+	{ \
+		static const char **words = NULL; \
+		if (G_UNLIKELY (!words)) \
+			words = nm_utils_enum_get_values (get_type_func(), min, max); \
+		return words; \
 	}
-}
 
-static void
-connection_master_changed_cb (GObject *object, GParamSpec *pspec, gpointer user_data)
-{
-	NMSettingConnection *s_con = NM_SETTING_CONNECTION (object);
-	NMConnection *connection = NM_CONNECTION (user_data);
-	NMSetting *s_ipv4, *s_ipv6;
-	const char *value, *tmp_str;
-
-	value = nm_setting_connection_get_master (s_con);
-	if (value) {
-		s_ipv4 = nm_connection_get_setting_by_name (connection, NM_SETTING_IP4_CONFIG_SETTING_NAME);
-		s_ipv6 = nm_connection_get_setting_by_name (connection, NM_SETTING_IP6_CONFIG_SETTING_NAME);
-		if (s_ipv4 || s_ipv6) {
-			g_print (_("Warning: setting %s.%s requires removing ipv4 and ipv6 settings\n"),
-			         nm_setting_get_name (NM_SETTING (s_con)), g_param_spec_get_name (pspec));
-			tmp_str = nmc_get_user_input (_("Do you want to remove them? [yes] "));
-			if (!tmp_str || matches (tmp_str, "yes") == 0) {
-				if (s_ipv4)
-					nm_connection_remove_setting (connection, G_OBJECT_TYPE (s_ipv4));
-				if (s_ipv6)
-					nm_connection_remove_setting (connection, G_OBJECT_TYPE (s_ipv6));
-			}
-		}
+#define DEFINE_SETTER_MAC_BLACKLIST(def_func, s_macro, add_func) \
+	static gboolean \
+	def_func (NMSetting *setting, const char *prop, const char *val, GError **error) \
+	{ \
+		guint8 buf[32]; \
+		char **list = NULL, **iter; \
+		GSList *macaddr_blacklist = NULL; \
+		\
+		g_return_val_if_fail (error == NULL || *error == NULL, FALSE); \
+		\
+		list = nmc_strsplit_set (val, " \t,", 0); \
+		for (iter = list; iter && *iter; iter++) { \
+			if (!nm_utils_hwaddr_aton (*iter, buf, ETH_ALEN)) { \
+				g_set_error (error, 1, 0, _("'%s' is not a valid MAC"), *iter); \
+				g_strfreev (list); \
+				g_slist_free (macaddr_blacklist); \
+				return FALSE; \
+			} \
+		} \
+		\
+		for (iter = list; iter && *iter; iter++) \
+			add_func (s_macro (setting), *iter); \
+		\
+		g_strfreev (list); \
+		return TRUE; \
 	}
-}
-
-void
-nmc_setting_ip4_connect_handlers (NMSettingIPConfig *setting)
-{
-	g_return_if_fail (NM_IS_SETTING_IP4_CONFIG (setting));
 
-	g_signal_connect (setting, "notify::" NM_SETTING_IP_CONFIG_ADDRESSES,
-	                  G_CALLBACK (ipv4_addresses_changed_cb), NULL);
-	g_signal_connect (setting, "notify::" NM_SETTING_IP_CONFIG_METHOD,
-	                  G_CALLBACK (ipv4_method_changed_cb), NULL);
-}
-
-void
-nmc_setting_ip6_connect_handlers (NMSettingIPConfig *setting)
-{
-	g_return_if_fail (NM_IS_SETTING_IP6_CONFIG (setting));
-
-	g_signal_connect (setting, "notify::" NM_SETTING_IP_CONFIG_ADDRESSES,
-	                  G_CALLBACK (ipv6_addresses_changed_cb), NULL);
-	g_signal_connect (setting, "notify::" NM_SETTING_IP_CONFIG_METHOD,
-	                  G_CALLBACK (ipv6_method_changed_cb), NULL);
-}
-
-void
-nmc_setting_proxy_connect_handlers (NMSettingProxy *setting)
-{
-	g_return_if_fail (NM_IS_SETTING_PROXY (setting));
-
-	g_signal_connect (setting, "notify::" NM_SETTING_PROXY_METHOD,
-	                  G_CALLBACK (proxy_method_changed_cb), NULL);
-}
-
-void
-nmc_setting_wireless_connect_handlers (NMSettingWireless *setting)
-{
-	g_return_if_fail (NM_IS_SETTING_WIRELESS (setting));
 
-	g_signal_connect (setting, "notify::" NM_SETTING_WIRELESS_BAND,
-	                  G_CALLBACK (wireless_band_channel_changed_cb), NULL);
-	g_signal_connect (setting, "notify::" NM_SETTING_WIRELESS_CHANNEL,
-	                  G_CALLBACK (wireless_band_channel_changed_cb), NULL);
-}
-
-void
-nmc_setting_connection_connect_handlers (NMSettingConnection *setting, NMConnection *connection)
-{
-	g_return_if_fail (NM_IS_SETTING_CONNECTION (setting));
-
-	g_signal_connect (setting, "notify::" NM_SETTING_CONNECTION_MASTER,
-	                  G_CALLBACK (connection_master_changed_cb), connection);
-}
-
-/*
- * Customize some properties of the setting so that the setting has sensible
- * values.
- */
-void
-nmc_setting_custom_init (NMSetting *setting)
-{
-	g_return_if_fail (NM_IS_SETTING (setting));
-
-	if (NM_IS_SETTING_VLAN (setting)) {
-		/* Set sensible initial VLAN values */
-		g_object_set (NM_SETTING_VLAN (setting),
-		              NM_SETTING_VLAN_ID, 1,
-		              NULL);
-	} else if (NM_IS_SETTING_INFINIBAND (setting)) {
-		/* Initialize 'transport-mode' so that 'infiniband' is valid */
-		g_object_set (NM_SETTING_INFINIBAND (setting),
-		              NM_SETTING_INFINIBAND_TRANSPORT_MODE, "datagram",
-		              NULL);
-	} else if (NM_IS_SETTING_CDMA (setting)) {
-		/* Initialize 'number' so that 'cdma' is valid */
-		g_object_set (NM_SETTING_CDMA (setting),
-		              NM_SETTING_CDMA_NUMBER, "#777",
-		              NULL);
-	} else if (NM_IS_SETTING_GSM (setting)) {
-		/* Initialize 'number' so that 'gsm' is valid */
-		g_object_set (NM_SETTING_GSM (setting),
-		              NM_SETTING_GSM_NUMBER, "*99#",
-		              NULL);
-	} else if (NM_IS_SETTING_OLPC_MESH (setting)) {
-		g_object_set (NM_SETTING_OLPC_MESH (setting),
-		              NM_SETTING_OLPC_MESH_CHANNEL, 1,
-		              NULL);
-	} else if (NM_IS_SETTING_WIRELESS (setting)) {
-		/* For Wi-Fi set mode to "infrastructure". Even though mode == NULL
-		 * is regarded as "infrastructure", explicit value makes no doubts.
-		 */
-		g_object_set (NM_SETTING_WIRELESS (setting),
-		              NM_SETTING_WIRELESS_MODE, NM_SETTING_WIRELESS_MODE_INFRA,
-		              NULL);
-	} else if (NM_IS_SETTING_ADSL (setting)) {
-		/* Initialize a protocol */
-		g_object_set (NM_SETTING_ADSL (setting),
-		              NM_SETTING_ADSL_PROTOCOL, NM_SETTING_ADSL_PROTOCOL_PPPOE,
-		              NULL);
-	} else if (NM_IS_SETTING_IP4_CONFIG (setting)) {
-		g_object_set (NM_SETTING_IP_CONFIG (setting),
-		              NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP4_CONFIG_METHOD_AUTO,
-		              NULL);
-	} else if (NM_IS_SETTING_IP6_CONFIG (setting)) {
-		g_object_set (NM_SETTING_IP_CONFIG (setting),
-		              NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP6_CONFIG_METHOD_AUTO,
-		              NULL);
-	} else if (NM_IS_SETTING_PROXY (setting)) {
-		g_object_set (NM_SETTING_PROXY (setting),
-		              NM_SETTING_PROXY_METHOD, (int) NM_SETTING_PROXY_METHOD_NONE,
-		              NULL);
-	} else if (NM_IS_SETTING_TUN (setting)) {
-		g_object_set (NM_SETTING_TUN (setting),
-		              NM_SETTING_TUN_MODE, NM_SETTING_TUN_MODE_TUN,
-		              NULL);
-	} else if (NM_IS_SETTING_BLUETOOTH (setting)) {
-		g_object_set (NM_SETTING_BLUETOOTH (setting),
-		              NM_SETTING_BLUETOOTH_TYPE, NM_SETTING_BLUETOOTH_TYPE_PANU,
-		              NULL);
-	}
-}
-
-/* === SetFunc, RemoveFunc, DescribeFunc, ValuesFunc functions === */
 static gboolean
 verify_string_list (char **strv,
                     const char *prop,
@@ -2931,141 +1370,6 @@ check_and_set_string (NMSetting *setting,
 	return TRUE;
 }
 
-#define DEFINE_SETTER_STR_LIST_MULTI(def_func, s_macro, set_func) \
-	static gboolean \
-	def_func (NMSetting *setting, \
-	          const char *prop, \
-	          const char *val, \
-	          const char **valid_strv, \
-	          GError **error) \
-	{ \
-		char **strv = NULL, **iter; \
-		const char *item; \
-		g_return_val_if_fail (error == NULL || *error == NULL, FALSE); \
-		strv = nmc_strsplit_set (val, " \t,", 0); \
-		for (iter = strv; iter && *iter; iter++) { \
-			if (!(item = nmc_string_is_valid (g_strstrip (*iter), valid_strv, error))) { \
-				g_strfreev (strv); \
-				return FALSE; \
-			} \
-			set_func (s_macro (setting), item); \
-		} \
-		g_strfreev (strv); \
-		return TRUE; \
-	}
-
-#define DEFINE_SETTER_OPTIONS(def_func, s_macro, s_type, add_func, valid_func1, valid_func2) \
-	static gboolean \
-	def_func (NMSetting *setting, const char *prop, const char *val, GError **error) \
-	{ \
-		char **strv = NULL, **iter; \
-		const char **(*valid_func1_p) (s_type *) = valid_func1; \
-		const char * (*valid_func2_p) (const char *, const char *, GError **) = valid_func2; \
-		const char *opt_name, *opt_val; \
-		\
-		g_return_val_if_fail (error == NULL || *error == NULL, FALSE); \
-		\
-		strv = nmc_strsplit_set (val, ",", 0); \
-		for (iter = strv; iter && *iter; iter++) { \
-			char *left = g_strstrip (*iter); \
-			char *right = strchr (left, '='); \
-			if (!right) { \
-				g_set_error (error, 1, 0, _("'%s' is not valid; use <option>=<value>"), *iter); \
-				g_strfreev (strv); \
-				return FALSE; \
-			} \
-			*right++ = '\0'; \
-			\
-			if (valid_func1_p) { \
-				const char **valid_options = valid_func1_p (s_macro (setting)); \
-				if (!(opt_name = nmc_string_is_valid (g_strstrip (left), valid_options, error))) { \
-					g_strfreev (strv); \
-					return FALSE; \
-				} \
-			} else \
-				opt_name = g_strstrip (left);\
-			\
-			opt_val = g_strstrip (right); \
-			if (valid_func2_p) { \
-				if (!(opt_val = valid_func2_p ((const char *) left, (const char *) opt_val, error))) { \
-					g_strfreev (strv); \
-					return FALSE; \
-				}\
-			}\
-			add_func (s_macro (setting), opt_name, opt_val); \
-		} \
-		g_strfreev (strv); \
-		return TRUE; \
-	}
-
-#define DEFINE_REMOVER_INDEX(def_func, s_macro, num_func, rem_func) \
-	static gboolean \
-	def_func (NMSetting *setting, const char *prop, const char *option, guint32 idx, GError **error) \
-	{ \
-		guint32 num; \
-		if (option) { \
-			g_set_error (error, 1, 0, _("index '%s' is not valid"), option); \
-			return FALSE; \
-		} \
-		num = num_func (s_macro (setting)); \
-		if (num == 0) { \
-			g_set_error_literal (error, 1, 0, _("no item to remove")); \
-			return FALSE; \
-		} \
-		if (idx >= num) { \
-			g_set_error (error, 1, 0, _("index '%d' is not in range <0-%d>"), idx, num - 1); \
-			return FALSE; \
-		} \
-		rem_func (s_macro (setting), idx); \
-		return TRUE; \
-	}
-
-#define DEFINE_REMOVER_INDEX_OR_VALUE(def_func, s_macro, num_func, rem_func_idx, rem_func_val) \
-	static gboolean \
-	def_func (NMSetting *setting, const char *prop, const char *value, guint32 idx, GError **error) \
-	{ \
-		guint32 num; \
-		if (value) { \
-			gboolean ret; \
-			char *value_stripped = g_strstrip (g_strdup (value)); \
-			ret = rem_func_val (s_macro (setting), value_stripped, error); \
-			g_free (value_stripped); \
-			return ret; \
-		} \
-		num = num_func (s_macro (setting)); \
-		if (num == 0) { \
-			g_set_error_literal (error, 1, 0, _("no item to remove")); \
-			return FALSE; \
-		} \
-		if (idx >= num) { \
-			g_set_error (error, 1, 0, _("index '%d' is not in range <0-%d>"), idx, num - 1); \
-			return FALSE; \
-		} \
-		rem_func_idx (s_macro (setting), idx); \
-		return TRUE; \
-	}
-
-#define DEFINE_REMOVER_OPTION(def_func, s_macro, rem_func) \
-	static gboolean \
-	def_func (NMSetting *setting, const char *prop, const char *option, guint32 idx, GError **error) \
-	{ \
-		gboolean success = FALSE; \
-		if (option && *option) { \
-			success = rem_func (s_macro (setting), option); \
-			if (!success) \
-				g_set_error (error, 1, 0, _("invalid option '%s'"), option); \
-		} else \
-			g_set_error_literal (error, 1, 0, _("missing option")); \
-		return success; \
-	}
-
-#define DEFINE_ALLOWED_VAL_FUNC(def_func, valid_values) \
-	static const char ** \
-	def_func (NMSetting *setting, const char *prop) \
-	{ \
-		return valid_values; \
-	}
-
 /* --- generic property setter functions --- */
 static gboolean
 nmc_property_set_string (NMSetting *setting, const char *prop, const char *val, GError **error)
@@ -3348,34 +1652,780 @@ done:
 	return success;
 }
 
-#define DEFINE_SETTER_MAC_BLACKLIST(def_func, s_macro, add_func) \
+/* === GetFunc, SetFunc, RemoveFunc, DescribeFunc, ValuesFunc
+       functions for all properties of all settings === */
+
+/* --- NM_SETTING_802_1X_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_802_1X_get_eap, NM_SETTING_802_1X_EAP)
+DEFINE_GETTER (nmc_property_802_1X_get_identity, NM_SETTING_802_1X_IDENTITY)
+DEFINE_GETTER (nmc_property_802_1X_get_anonymous_identity, NM_SETTING_802_1X_ANONYMOUS_IDENTITY)
+DEFINE_GETTER (nmc_property_802_1X_get_pac_file, NM_SETTING_802_1X_PAC_FILE)
+DEFINE_GETTER (nmc_property_802_1X_get_ca_path, NM_SETTING_802_1X_CA_PATH)
+DEFINE_GETTER (nmc_property_802_1X_get_subject_match, NM_SETTING_802_1X_SUBJECT_MATCH)
+DEFINE_GETTER (nmc_property_802_1X_get_altsubject_matches, NM_SETTING_802_1X_ALTSUBJECT_MATCHES)
+DEFINE_GETTER (nmc_property_802_1X_get_domain_suffix_match, NM_SETTING_802_1X_DOMAIN_SUFFIX_MATCH)
+DEFINE_GETTER (nmc_property_802_1X_get_phase1_peapver, NM_SETTING_802_1X_PHASE1_PEAPVER)
+DEFINE_GETTER (nmc_property_802_1X_get_phase1_peaplabel, NM_SETTING_802_1X_PHASE1_PEAPLABEL)
+DEFINE_GETTER (nmc_property_802_1X_get_phase1_fast_provisioning, NM_SETTING_802_1X_PHASE1_FAST_PROVISIONING)
+DEFINE_GETTER (nmc_property_802_1X_get_phase2_auth, NM_SETTING_802_1X_PHASE2_AUTH)
+DEFINE_GETTER (nmc_property_802_1X_get_phase2_autheap, NM_SETTING_802_1X_PHASE2_AUTHEAP)
+DEFINE_GETTER (nmc_property_802_1X_get_phase2_ca_path, NM_SETTING_802_1X_PHASE2_CA_PATH)
+DEFINE_GETTER (nmc_property_802_1X_get_phase2_subject_match, NM_SETTING_802_1X_PHASE2_SUBJECT_MATCH)
+DEFINE_GETTER (nmc_property_802_1X_get_phase2_altsubject_matches, NM_SETTING_802_1X_PHASE2_ALTSUBJECT_MATCHES)
+DEFINE_GETTER (nmc_property_802_1X_get_phase2_domain_suffix_match, NM_SETTING_802_1X_PHASE2_DOMAIN_SUFFIX_MATCH)
+DEFINE_GETTER (nmc_property_802_1X_get_password, NM_SETTING_802_1X_PASSWORD)
+DEFINE_SECRET_FLAGS_GETTER (nmc_property_802_1X_get_password_flags, NM_SETTING_802_1X_PASSWORD_FLAGS)
+DEFINE_SECRET_FLAGS_GETTER (nmc_property_802_1X_get_password_raw_flags, NM_SETTING_802_1X_PASSWORD_RAW_FLAGS)
+DEFINE_GETTER (nmc_property_802_1X_get_private_key_password, NM_SETTING_802_1X_PRIVATE_KEY_PASSWORD)
+DEFINE_SECRET_FLAGS_GETTER (nmc_property_802_1X_get_private_key_password_flags, NM_SETTING_802_1X_PRIVATE_KEY_PASSWORD_FLAGS)
+DEFINE_GETTER (nmc_property_802_1X_get_phase2_private_key_password, NM_SETTING_802_1X_PHASE2_PRIVATE_KEY_PASSWORD)
+DEFINE_SECRET_FLAGS_GETTER (nmc_property_802_1X_get_phase2_private_key_password_flags, NM_SETTING_802_1X_PHASE2_PRIVATE_KEY_PASSWORD_FLAGS)
+DEFINE_GETTER (nmc_property_802_1X_get_pin, NM_SETTING_802_1X_PIN)
+DEFINE_SECRET_FLAGS_GETTER (nmc_property_802_1X_get_pin_flags, NM_SETTING_802_1X_PIN_FLAGS)
+DEFINE_GETTER (nmc_property_802_1X_get_system_ca_certs, NM_SETTING_802_1X_SYSTEM_CA_CERTS)
+
+static char *
+nmc_property_802_1X_get_ca_cert (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSetting8021x *s_8021X = NM_SETTING_802_1X (setting);
+	char *ca_cert_str = NULL;
+
+	switch (nm_setting_802_1x_get_ca_cert_scheme (s_8021X)) {
+	case NM_SETTING_802_1X_CK_SCHEME_BLOB:
+		ca_cert_str = bytes_to_string (nm_setting_802_1x_get_ca_cert_blob (s_8021X));
+		break;
+	case NM_SETTING_802_1X_CK_SCHEME_PATH:
+		ca_cert_str = g_strdup (nm_setting_802_1x_get_ca_cert_path (s_8021X));
+		break;
+	case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
+		ca_cert_str = g_strdup (nm_setting_802_1x_get_ca_cert_uri (s_8021X));
+		break;
+	case NM_SETTING_802_1X_CK_SCHEME_UNKNOWN:
+		break;
+	}
+
+	return ca_cert_str;
+}
+
+static char *
+nmc_property_802_1X_get_client_cert (NMSetting *setting,
+                                     NmcPropertyGetType get_type,
+                                     gboolean show_secrets)
+{
+	NMSetting8021x *s_8021X = NM_SETTING_802_1X (setting);
+	char *cert_str = NULL;
+
+	switch (nm_setting_802_1x_get_client_cert_scheme (s_8021X)) {
+	case NM_SETTING_802_1X_CK_SCHEME_BLOB:
+		if (show_secrets)
+			cert_str = bytes_to_string (nm_setting_802_1x_get_client_cert_blob (s_8021X));
+		else
+			cert_str = g_strdup (_("<hidden>"));
+		break;
+	case NM_SETTING_802_1X_CK_SCHEME_PATH:
+		cert_str = g_strdup (nm_setting_802_1x_get_client_cert_path (s_8021X));
+		break;
+	case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
+		cert_str = g_strdup (nm_setting_802_1x_get_client_cert_uri (s_8021X));
+		break;
+	case NM_SETTING_802_1X_CK_SCHEME_UNKNOWN:
+		break;
+	}
+
+	return cert_str;
+}
+
+static char *
+nmc_property_802_1X_get_client_cert_full (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	return nmc_property_802_1X_get_client_cert (setting, get_type, TRUE);
+}
+
+static char *
+nmc_property_802_1X_get_phase2_ca_cert (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSetting8021x *s_8021X = NM_SETTING_802_1X (setting);
+	char *phase2_ca_cert_str = NULL;
+
+	switch (nm_setting_802_1x_get_phase2_ca_cert_scheme (s_8021X)) {
+	case NM_SETTING_802_1X_CK_SCHEME_BLOB:
+		phase2_ca_cert_str = bytes_to_string (nm_setting_802_1x_get_phase2_ca_cert_blob (s_8021X));
+		break;
+	case NM_SETTING_802_1X_CK_SCHEME_PATH:
+		phase2_ca_cert_str = g_strdup (nm_setting_802_1x_get_phase2_ca_cert_path (s_8021X));
+		break;
+	case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
+		phase2_ca_cert_str = g_strdup (nm_setting_802_1x_get_phase2_ca_cert_uri (s_8021X));
+		break;
+	case NM_SETTING_802_1X_CK_SCHEME_UNKNOWN:
+		break;
+	}
+
+	return phase2_ca_cert_str;
+}
+
+static char *
+nmc_property_802_1X_get_phase2_client_cert (NMSetting *setting,
+                                            NmcPropertyGetType get_type,
+                                            gboolean show_secrets)
+{
+	NMSetting8021x *s_8021X = NM_SETTING_802_1X (setting);
+	char *cert_str = NULL;
+
+	switch (nm_setting_802_1x_get_phase2_client_cert_scheme (s_8021X)) {
+	case NM_SETTING_802_1X_CK_SCHEME_BLOB:
+		if (show_secrets)
+			cert_str = bytes_to_string (nm_setting_802_1x_get_phase2_client_cert_blob (s_8021X));
+		else
+			cert_str = g_strdup (_("<hidden>"));
+		break;
+	case NM_SETTING_802_1X_CK_SCHEME_PATH:
+		cert_str = g_strdup (nm_setting_802_1x_get_phase2_client_cert_path (s_8021X));
+		break;
+	case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
+		cert_str = g_strdup (nm_setting_802_1x_get_phase2_client_cert_uri (s_8021X));
+		break;
+	case NM_SETTING_802_1X_CK_SCHEME_UNKNOWN:
+		break;
+	}
+
+	return cert_str;
+}
+
+static char *
+nmc_property_802_1X_get_phase2_client_cert_full (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	return nmc_property_802_1X_get_phase2_client_cert (setting, get_type, TRUE);
+}
+
+static char *
+nmc_property_802_1X_get_password_raw (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSetting8021x *s_8021X = NM_SETTING_802_1X (setting);
+	return bytes_to_string (nm_setting_802_1x_get_password_raw (s_8021X));
+}
+
+static char *
+nmc_property_802_1X_get_private_key (NMSetting *setting,
+                                     NmcPropertyGetType get_type,
+                                     gboolean show_secrets)
+{
+	NMSetting8021x *s_8021X = NM_SETTING_802_1X (setting);
+	char *key_str = NULL;
+
+	switch (nm_setting_802_1x_get_private_key_scheme (s_8021X)) {
+	case NM_SETTING_802_1X_CK_SCHEME_BLOB:
+		if (show_secrets)
+			key_str = bytes_to_string (nm_setting_802_1x_get_private_key_blob (s_8021X));
+		else
+			key_str = g_strdup (_("<hidden>"));
+		break;
+	case NM_SETTING_802_1X_CK_SCHEME_PATH:
+		key_str = g_strdup (nm_setting_802_1x_get_private_key_path (s_8021X));
+		break;
+	case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
+		key_str = g_strdup (nm_setting_802_1x_get_private_key_uri (s_8021X));
+		break;
+	case NM_SETTING_802_1X_CK_SCHEME_UNKNOWN:
+		break;
+	}
+
+	return key_str;
+}
+
+static char *
+nmc_property_802_1X_get_private_key_full (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	return nmc_property_802_1X_get_private_key (setting, get_type, TRUE);
+}
+
+static char *
+nmc_property_802_1X_get_phase2_private_key (NMSetting *setting,
+                                            NmcPropertyGetType get_type,
+                                            gboolean show_secrets)
+{
+	NMSetting8021x *s_8021X = NM_SETTING_802_1X (setting);
+	char *key_str = NULL;
+
+	switch (nm_setting_802_1x_get_phase2_private_key_scheme (s_8021X)) {
+	case NM_SETTING_802_1X_CK_SCHEME_BLOB:
+		if (show_secrets)
+			key_str = bytes_to_string (nm_setting_802_1x_get_phase2_private_key_blob (s_8021X));
+		else
+			key_str = g_strdup (_("<hidden>"));
+		break;
+	case NM_SETTING_802_1X_CK_SCHEME_PATH:
+		key_str = g_strdup (nm_setting_802_1x_get_phase2_private_key_path (s_8021X));
+		break;
+	case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
+		key_str = g_strdup (nm_setting_802_1x_get_phase2_private_key_uri (s_8021X));
+		break;
+	case NM_SETTING_802_1X_CK_SCHEME_UNKNOWN:
+		break;
+	}
+
+	return key_str;
+}
+
+static char *
+nmc_property_802_1X_get_phase2_private_key_full (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	return nmc_property_802_1X_get_phase2_private_key (setting, get_type, TRUE);
+}
+
+#define DEFINE_SETTER_STR_LIST(def_func, set_func) \
 	static gboolean \
 	def_func (NMSetting *setting, const char *prop, const char *val, GError **error) \
 	{ \
-		guint8 buf[32]; \
-		char **list = NULL, **iter; \
-		GSList *macaddr_blacklist = NULL; \
+		char **strv = NULL; \
+		guint i = 0; \
 		\
 		g_return_val_if_fail (error == NULL || *error == NULL, FALSE); \
 		\
-		list = nmc_strsplit_set (val, " \t,", 0); \
-		for (iter = list; iter && *iter; iter++) { \
-			if (!nm_utils_hwaddr_aton (*iter, buf, ETH_ALEN)) { \
-				g_set_error (error, 1, 0, _("'%s' is not a valid MAC"), *iter); \
-				g_strfreev (list); \
-				g_slist_free (macaddr_blacklist); \
-				return FALSE; \
-			} \
-		} \
+		strv = nmc_strsplit_set (val, " \t,", 0); \
+		while (strv && strv[i]) \
+			set_func (NM_SETTING_802_1X (setting), strv[i++]); \
+		g_strfreev (strv); \
+		return TRUE; \
+	}
+
+#define DEFINE_SETTER_CERT(def_func, set_func) \
+	static gboolean \
+	def_func (NMSetting *setting, const char *prop, const char *val, GError **error) \
+	{ \
+		char *val_strip = g_strstrip (g_strdup (val)); \
+		char *p = val_strip; \
+		NMSetting8021xCKScheme scheme = NM_SETTING_802_1X_CK_SCHEME_PATH; \
+		gboolean success; \
 		\
-		for (iter = list; iter && *iter; iter++) \
-			add_func (s_macro (setting), *iter); \
+		if (strncmp (val_strip, NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PKCS11, NM_STRLEN (NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PKCS11)) == 0) \
+			scheme = NM_SETTING_802_1X_CK_SCHEME_PKCS11; \
+		else if (strncmp (val_strip, NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PATH, NM_STRLEN (NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PATH)) == 0) \
+			p += NM_STRLEN (NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PATH); \
 		\
-		g_strfreev (list); \
-		return TRUE; \
+		success = set_func (NM_SETTING_802_1X (setting), p, scheme, NULL, error); \
+		g_free (val_strip); \
+		return success; \
+	}
+
+#define DEFINE_SETTER_PRIV_KEY(def_func, pwd_func, set_func) \
+	static gboolean \
+	def_func (NMSetting *setting, const char *prop, const char *val, GError **error) \
+	{ \
+		char **strv = NULL; \
+		char *val_strip = g_strstrip (g_strdup (val)); \
+		char *p = val_strip; \
+		const char *path, *password; \
+		NMSetting8021xCKScheme scheme = NM_SETTING_802_1X_CK_SCHEME_PATH; \
+		gboolean success; \
+		\
+		if (strncmp (val_strip, NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PKCS11, NM_STRLEN (NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PKCS11)) == 0) \
+			scheme = NM_SETTING_802_1X_CK_SCHEME_PKCS11; \
+		else if (strncmp (val_strip, NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PATH, NM_STRLEN (NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PATH)) == 0) \
+			p += NM_STRLEN (NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PATH); \
+		\
+		strv = nmc_strsplit_set (p, " \t,", 2); \
+		path = strv[0]; \
+		if (g_strv_length (strv) == 2) \
+			password = strv[1]; \
+		else \
+			password = pwd_func (NM_SETTING_802_1X (setting)); \
+		success = set_func (NM_SETTING_802_1X (setting), path, password, scheme, NULL, error); \
+		g_free (val_strip); \
+		g_strfreev (strv); \
+		return success; \
+	}
+
+/* 'eap' */
+static const char *valid_eap[] = { "leap", "md5", "tls", "peap", "ttls", "sim", "fast", "pwd", NULL };
+
+DEFINE_SETTER_STR_LIST_MULTI (check_and_add_802_1X_eap,
+                              NM_SETTING_802_1X,
+                              nm_setting_802_1x_add_eap_method)
+static gboolean
+nmc_property_802_1X_set_eap (NMSetting *setting, const char *prop, const char *val, GError **error)
+{
+	return check_and_add_802_1X_eap (setting, prop, val, valid_eap, error);
+}
+
+static gboolean
+_validate_and_remove_eap_method (NMSetting8021x *setting,
+                                 const char *eap,
+                                 GError **error)
+{
+	gboolean ret;
+
+	ret = nm_setting_802_1x_remove_eap_method_by_value(setting, eap);
+	if (!ret)
+		g_set_error (error, 1, 0, _("the property doesn't contain EAP method '%s'"), eap);
+	return ret;
+}
+DEFINE_REMOVER_INDEX_OR_VALUE (nmc_property_802_1X_remove_eap,
+                               NM_SETTING_802_1X,
+                               nm_setting_802_1x_get_num_eap_methods,
+                               nm_setting_802_1x_remove_eap_method,
+                               _validate_and_remove_eap_method)
+
+DEFINE_ALLOWED_VAL_FUNC (nmc_property_802_1X_allowed_eap, valid_eap)
+
+/* 'ca-cert' */
+DEFINE_SETTER_CERT (nmc_property_802_1X_set_ca_cert, nm_setting_802_1x_set_ca_cert)
+
+static const char *
+nmc_property_802_1X_describe_ca_cert (NMSetting *setting, const char *prop)
+{
+	return _("Enter file path to CA certificate (optionally prefixed with file://).\n"
+	         "  [file://]<file path>\n"
+	         "Note that nmcli does not support specifying certificates as raw blob data.\n"
+	         "Example: /home/cimrman/cacert.crt\n");
+}
+
+/* 'altsubject-matches' */
+DEFINE_SETTER_STR_LIST (nmc_property_802_1X_set_altsubject_matches, nm_setting_802_1x_add_altsubject_match)
+
+static gboolean
+_validate_and_remove_altsubject_match (NMSetting8021x *setting,
+                                       const char *altsubject_match,
+                                       GError **error)
+{
+	gboolean ret;
+
+	ret = nm_setting_802_1x_remove_altsubject_match_by_value (setting, altsubject_match);
+	if (!ret)
+		g_set_error (error, 1, 0,
+		             _("the property doesn't contain alternative subject match '%s'"),
+		             altsubject_match);
+	return ret;
+}
+DEFINE_REMOVER_INDEX_OR_VALUE (nmc_property_802_1X_remove_altsubject_matches,
+                               NM_SETTING_802_1X,
+                               nm_setting_802_1x_get_num_altsubject_matches,
+                               nm_setting_802_1x_remove_altsubject_match,
+                               _validate_and_remove_altsubject_match)
+
+/* 'client-cert' */
+DEFINE_SETTER_CERT (nmc_property_802_1X_set_client_cert, nm_setting_802_1x_set_client_cert)
+
+static const char *
+nmc_property_802_1X_describe_client_cert (NMSetting *setting, const char *prop)
+{
+	return _("Enter file path to client certificate (optionally prefixed with file://).\n"
+	         "  [file://]<file path>\n"
+	         "Note that nmcli does not support specifying certificates as raw blob data.\n"
+	         "Example: /home/cimrman/jara.crt\n");
+}
+
+/* 'phase2-ca-cert' */
+DEFINE_SETTER_CERT (nmc_property_802_1X_set_phase2_ca_cert, nm_setting_802_1x_set_phase2_ca_cert)
+
+static const char *
+nmc_property_802_1X_describe_phase2_ca_cert (NMSetting *setting, const char *prop)
+{
+	return _("Enter file path to CA certificate for inner authentication (optionally prefixed\n"
+	         "with file://).\n"
+	         "  [file://]<file path>\n"
+	         "Note that nmcli does not support specifying certificates as raw blob data.\n"
+	         "Example: /home/cimrman/ca-zweite-phase.crt\n");
+}
+
+/* 'phase2-altsubject-matches' */
+DEFINE_SETTER_STR_LIST (nmc_property_802_1X_set_phase2_altsubject_matches, nm_setting_802_1x_add_phase2_altsubject_match)
+
+static gboolean
+_validate_and_remove_phase2_altsubject_match (NMSetting8021x *setting,
+                                              const char *phase2_altsubject_match,
+                                              GError **error)
+{
+	gboolean ret;
+
+	ret = nm_setting_802_1x_remove_phase2_altsubject_match_by_value (setting, phase2_altsubject_match);
+	if (!ret)
+		g_set_error (error, 1, 0,
+		             _("the property doesn't contain \"phase2\" alternative subject match '%s'"),
+		             phase2_altsubject_match);
+	return ret;
+}
+DEFINE_REMOVER_INDEX_OR_VALUE (nmc_property_802_1X_remove_phase2_altsubject_matches,
+                               NM_SETTING_802_1X,
+                               nm_setting_802_1x_get_num_phase2_altsubject_matches,
+                               nm_setting_802_1x_remove_phase2_altsubject_match,
+                               _validate_and_remove_phase2_altsubject_match)
+
+/* 'phase2-client-cert' */
+DEFINE_SETTER_CERT (nmc_property_802_1X_set_phase2_client_cert, nm_setting_802_1x_set_phase2_client_cert)
+
+static const char *
+nmc_property_802_1X_describe_phase2_client_cert (NMSetting *setting, const char *prop)
+{
+	return _("Enter file path to client certificate for inner authentication (optionally prefixed\n"
+	         "with file://).\n"
+	         "  [file://]<file path>\n"
+	         "Note that nmcli does not support specifying certificates as raw blob data.\n"
+	         "Example: /home/cimrman/jara-zweite-phase.crt\n");
+}
+
+/* 'private-key' */
+DEFINE_SETTER_PRIV_KEY (nmc_property_802_1X_set_private_key,
+                        nm_setting_802_1x_get_private_key_password,
+                        nm_setting_802_1x_set_private_key)
+
+/* 'phase2-private-key' */
+DEFINE_SETTER_PRIV_KEY (nmc_property_802_1X_set_phase2_private_key,
+                        nm_setting_802_1x_get_phase2_private_key_password,
+                        nm_setting_802_1x_set_phase2_private_key)
+
+static const char *
+nmc_property_802_1X_describe_private_key (NMSetting *setting, const char *prop)
+{
+	return _("Enter path to a private key and the key password (if not set yet):\n"
+	         "  [file://]<file path> [<password>]\n"
+	         "Note that nmcli does not support specifying private key as raw blob data.\n"
+	         "Example: /home/cimrman/jara-priv-key Dardanely\n");
+}
+
+/* 'phase1-peapver' */
+static const char *_802_1X_valid_phase1_peapvers[] = { "0", "1", NULL };
+
+static gboolean
+nmc_property_802_1X_set_phase1_peapver (NMSetting *setting, const char *prop, const char *val, GError **error)
+{
+	return check_and_set_string (setting, prop, val, _802_1X_valid_phase1_peapvers, error);
+}
+
+DEFINE_ALLOWED_VAL_FUNC (nmc_property_802_1X_allowed_phase1_peapver, _802_1X_valid_phase1_peapvers)
+
+/* 'phase1-peaplabel' */
+static const char *_802_1X_valid_phase1_peaplabels[] = { "0", "1", NULL };
+
+static gboolean
+nmc_property_802_1X_set_phase1_peaplabel (NMSetting *setting, const char *prop, const char *val, GError **error)
+{
+	return check_and_set_string (setting, prop, val, _802_1X_valid_phase1_peaplabels, error);
+}
+
+DEFINE_ALLOWED_VAL_FUNC (nmc_property_802_1X_allowed_phase1_peaplabel, _802_1X_valid_phase1_peaplabels)
+
+/* 'phase1-fast-provisioning' */
+static const char *_802_1X_valid_phase1_fast_provisionings[] = { "0", "1", "2", "3", NULL };
+
+static gboolean
+nmc_property_802_1X_set_phase1_fast_provisioning (NMSetting *setting, const char *prop, const char *val, GError **error)
+{
+	return check_and_set_string (setting, prop, val, _802_1X_valid_phase1_fast_provisionings, error);
+}
+
+DEFINE_ALLOWED_VAL_FUNC (nmc_property_802_1X_allowed_phase1_fast_provisioning, _802_1X_valid_phase1_fast_provisionings)
+
+/* 'phase2-auth' */
+static const char *_802_1X_valid_phase2_auths[] =
+	{ "pap", "chap", "mschap", "mschapv2", "gtc", "otp", "md5", "tls", NULL };
+
+static gboolean
+nmc_property_802_1X_set_phase2_auth (NMSetting *setting, const char *prop, const char *val, GError **error)
+{
+	return check_and_set_string (setting, prop, val, _802_1X_valid_phase2_auths, error);
+}
+
+DEFINE_ALLOWED_VAL_FUNC (nmc_property_802_1X_allowed_phase2_auth, _802_1X_valid_phase2_auths)
+
+/* 'phase2-autheap' */
+static const char *_802_1X_valid_phase2_autheaps[] = { "md5", "mschapv2", "otp", "gtc", "tls", NULL };
+static gboolean
+nmc_property_802_1X_set_phase2_autheap (NMSetting *setting, const char *prop, const char *val, GError **error)
+{
+	return check_and_set_string (setting, prop, val, _802_1X_valid_phase2_autheaps, error);
+}
+
+DEFINE_ALLOWED_VAL_FUNC (nmc_property_802_1X_allowed_phase2_autheap, _802_1X_valid_phase2_autheaps)
+
+/* 'password-raw' */
+static gboolean
+nmc_property_802_1X_set_password_raw (NMSetting *setting, const char *prop, const char *val, GError **error)
+{
+	return nmc_property_set_byte_array (setting, prop, val, error);
+}
+
+static const char *
+nmc_property_802_1X_describe_password_raw (NMSetting *setting, const char *prop)
+{
+	return _("Enter bytes as a list of hexadecimal values.\n"
+	         "Two formats are accepted:\n"
+	         "(a) a string of hexadecimal digits, where each two digits represent one byte\n"
+	         "(b) space-separated list of bytes written as hexadecimal digits "
+	         "(with optional 0x/0X prefix, and optional leading 0).\n\n"
+	         "Examples: ab0455a6ea3a74C2\n"
+	         "          ab 4 55 0xa6 ea 3a 74 C2\n");
+}
+
+
+/* --- NM_SETTING_ADSL_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_adsl_get_username, NM_SETTING_ADSL_USERNAME)
+DEFINE_GETTER (nmc_property_adsl_get_password, NM_SETTING_ADSL_PASSWORD)
+DEFINE_SECRET_FLAGS_GETTER (nmc_property_adsl_get_password_flags, NM_SETTING_ADSL_PASSWORD_FLAGS)
+DEFINE_GETTER (nmc_property_adsl_get_protocol, NM_SETTING_ADSL_PROTOCOL)
+DEFINE_GETTER (nmc_property_adsl_get_encapsulation, NM_SETTING_ADSL_ENCAPSULATION)
+DEFINE_GETTER (nmc_property_adsl_get_vpi, NM_SETTING_ADSL_VPI)
+DEFINE_GETTER (nmc_property_adsl_get_vci, NM_SETTING_ADSL_VCI)
+
+/* 'protocol' */
+static const char *adsl_valid_protocols[] = {
+	NM_SETTING_ADSL_PROTOCOL_PPPOA,
+	NM_SETTING_ADSL_PROTOCOL_PPPOE,
+	NM_SETTING_ADSL_PROTOCOL_IPOATM,
+	NULL
+};
+
+static gboolean
+nmc_property_adsl_set_protocol (NMSetting *setting, const char *prop, const char *val, GError **error)
+{
+	return check_and_set_string (setting, prop, val, adsl_valid_protocols, error);
+}
+
+DEFINE_ALLOWED_VAL_FUNC (nmc_property_adsl_allowed_protocol, adsl_valid_protocols)
+
+/* 'encapsulation' */
+static const char *adsl_valid_encapsulations[] = {
+	NM_SETTING_ADSL_ENCAPSULATION_VCMUX,
+	NM_SETTING_ADSL_ENCAPSULATION_LLC,
+	NULL
+};
+
+static gboolean
+nmc_property_adsl_set_encapsulation (NMSetting *setting, const char *prop, const char *val, GError **error)
+{
+	return check_and_set_string (setting, prop, val, adsl_valid_encapsulations, error);
+}
+
+DEFINE_ALLOWED_VAL_FUNC (nmc_property_adsl_allowed_encapsulation, adsl_valid_encapsulations)
+
+
+/* --- NM_SETTING_BLUETOOTH_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_bluetooth_get_bdaddr, NM_SETTING_BLUETOOTH_BDADDR)
+DEFINE_GETTER (nmc_property_bluetooth_get_type, NM_SETTING_BLUETOOTH_TYPE)
+
+/* 'type' */
+static gboolean
+nmc_property_bluetooth_set_type (NMSetting *setting, const char *prop, const char *val, GError **error)
+{
+	const char *types[] = {
+	    NM_SETTING_BLUETOOTH_TYPE_DUN,
+	    NM_SETTING_BLUETOOTH_TYPE_PANU,
+	    NULL };
+
+	return check_and_set_string (setting, prop, val, types, error);
+}
+
+/* --- NM_SETTING_BOND_SETTING_NAME property functions --- */
+/* 'options' */
+static char *
+nmc_property_bond_get_options (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingBond *s_bond = NM_SETTING_BOND (setting);
+	GString *bond_options_s;
+	int i;
+
+	bond_options_s = g_string_new (NULL);
+	for (i = 0; i < nm_setting_bond_get_num_options (s_bond); i++) {
+		const char *key, *value;
+		gs_free char *tmp_value = NULL;
+		char *p;
+
+		nm_setting_bond_get_option (s_bond, i, &key, &value);
+
+		if (nm_streq0 (key, NM_SETTING_BOND_OPTION_ARP_IP_TARGET)) {
+			value = tmp_value = g_strdup (value);
+			for (p = tmp_value; p && *p; p++) {
+				if (*p == ',')
+					*p = ' ';
+			}
+		}
+
+		g_string_append_printf (bond_options_s, "%s=%s,", key, value);
+	}
+	g_string_truncate (bond_options_s, bond_options_s->len-1);  /* chop off trailing ',' */
+
+	return g_string_free (bond_options_s, FALSE);
+}
+
+/*  example: miimon=100,mode=balance-rr, updelay=5 */
+static gboolean
+_validate_and_remove_bond_option (NMSettingBond *setting, const char *option)
+{
+	const char *opt;
+	const char **valid_options;
+
+	valid_options = nm_setting_bond_get_valid_options (setting);
+	opt = nmc_string_is_valid (option, valid_options, NULL);
+
+	if (opt)
+		return nm_setting_bond_remove_option (setting, opt);
+	else
+		return FALSE;
+}
+
+/* Validate bonding 'options' values */
+static const char *
+_validate_bond_option_value (const char *option, const char *value, GError **error)
+{
+	if (!g_strcmp0 (option, NM_SETTING_BOND_OPTION_MODE))
+		return nmc_bond_validate_mode (value, error);
+
+	return value;
+}
+
+static gboolean
+_bond_add_option (NMSettingBond *setting,
+                  const char *name,
+                  const char *value)
+{
+	gs_free char *tmp_value = NULL;
+	char *p;
+
+	if (nm_streq0 (name, NM_SETTING_BOND_OPTION_ARP_IP_TARGET)) {
+		value = tmp_value = g_strdup (value);
+		for (p = tmp_value; p && *p; p++)
+			if (*p == ' ')
+				*p = ',';
+	}
+
+	return nm_setting_bond_add_option (setting, name, value);
+}
+
+DEFINE_SETTER_OPTIONS (nmc_property_bond_set_options,
+                       NM_SETTING_BOND,
+                       NMSettingBond,
+                       _bond_add_option,
+                       nm_setting_bond_get_valid_options,
+                       _validate_bond_option_value)
+DEFINE_REMOVER_OPTION (nmc_property_bond_remove_option_options,
+                       NM_SETTING_BOND,
+                       _validate_and_remove_bond_option)
+
+static const char *
+nmc_property_bond_describe_options (NMSetting *setting, const char *prop)
+{
+	static char *desc = NULL;
+	const char **valid_options;
+	char *options_str;
+
+	if (G_UNLIKELY (desc == NULL)) {
+		valid_options = nm_setting_bond_get_valid_options (NM_SETTING_BOND (setting));
+		options_str = g_strjoinv (", ", (char **) valid_options);
+
+		desc = g_strdup_printf (_("Enter a list of bonding options formatted as:\n"
+		                          "  option = <value>, option = <value>,... \n"
+		                          "Valid options are: %s\n"
+		                          "'mode' can be provided as a name or a number:\n"
+		                          "balance-rr    = 0\n"
+		                          "active-backup = 1\n"
+		                          "balance-xor   = 2\n"
+		                          "broadcast     = 3\n"
+		                          "802.3ad       = 4\n"
+		                          "balance-tlb   = 5\n"
+		                          "balance-alb   = 6\n\n"
+		                          "Example: mode=2,miimon=120\n"), options_str);
+		g_free (options_str);
+	}
+	return desc;
+}
+
+static const char **
+nmc_property_bond_allowed_options (NMSetting *setting, const char *prop)
+{
+	return nm_setting_bond_get_valid_options (NM_SETTING_BOND (setting));
+}
+
+
+/* --- NM_SETTING_BRIDGE_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_bridge_get_mac_address, NM_SETTING_BRIDGE_MAC_ADDRESS)
+DEFINE_GETTER (nmc_property_bridge_get_stp, NM_SETTING_BRIDGE_STP)
+DEFINE_GETTER (nmc_property_bridge_get_priority, NM_SETTING_BRIDGE_PRIORITY)
+DEFINE_GETTER (nmc_property_bridge_get_forward_delay, NM_SETTING_BRIDGE_FORWARD_DELAY)
+DEFINE_GETTER (nmc_property_bridge_get_hello_time, NM_SETTING_BRIDGE_HELLO_TIME)
+DEFINE_GETTER (nmc_property_bridge_get_max_age, NM_SETTING_BRIDGE_MAX_AGE)
+DEFINE_GETTER (nmc_property_bridge_get_ageing_time, NM_SETTING_BRIDGE_AGEING_TIME)
+DEFINE_GETTER (nmc_property_bridge_get_multicast_snooping, NM_SETTING_BRIDGE_MULTICAST_SNOOPING)
+
+
+/* --- NM_SETTING_BRIDGE_PORT_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_bridge_port_get_priority, NM_SETTING_BRIDGE_PORT_PRIORITY)
+DEFINE_GETTER (nmc_property_bridge_port_get_path_cost, NM_SETTING_BRIDGE_PORT_PATH_COST)
+DEFINE_GETTER (nmc_property_bridge_port_get_hairpin_mode, NM_SETTING_BRIDGE_PORT_HAIRPIN_MODE)
+
+
+/* --- NM_SETTING_CDMA_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_cdma_get_number, NM_SETTING_CDMA_NUMBER)
+DEFINE_GETTER (nmc_property_cdma_get_username, NM_SETTING_CDMA_USERNAME)
+DEFINE_GETTER (nmc_property_cdma_get_password, NM_SETTING_CDMA_PASSWORD)
+
+DEFINE_SECRET_FLAGS_GETTER (nmc_property_cdma_get_password_flags, NM_SETTING_CDMA_PASSWORD_FLAGS)
+
+
+/* --- NM_SETTING_CONNECTION_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_connection_get_id, NM_SETTING_CONNECTION_ID)
+DEFINE_GETTER (nmc_property_connection_get_uuid, NM_SETTING_CONNECTION_UUID)
+DEFINE_GETTER (nmc_property_connection_get_stable_id, NM_SETTING_CONNECTION_STABLE_ID)
+DEFINE_GETTER (nmc_property_connection_get_interface_name, NM_SETTING_CONNECTION_INTERFACE_NAME)
+DEFINE_GETTER (nmc_property_connection_get_type, NM_SETTING_CONNECTION_TYPE)
+DEFINE_GETTER (nmc_property_connection_get_autoconnect, NM_SETTING_CONNECTION_AUTOCONNECT)
+DEFINE_GETTER (nmc_property_connection_get_autoconnect_priority, NM_SETTING_CONNECTION_AUTOCONNECT_PRIORITY)
+DEFINE_GETTER (nmc_property_connection_get_timestamp, NM_SETTING_CONNECTION_TIMESTAMP)
+DEFINE_GETTER (nmc_property_connection_get_read_only, NM_SETTING_CONNECTION_READ_ONLY)
+
+static char *
+nmc_property_connection_get_autoconnect_retries (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingConnection *s_con = NM_SETTING_CONNECTION (setting);
+	gint retries;
+
+	retries = nm_setting_connection_get_autoconnect_retries (s_con);
+	if (get_type == NMC_PROPERTY_GET_PARSABLE)
+		return g_strdup_printf ("%d", retries);
+
+	switch (retries) {
+	case -1:
+		return g_strdup_printf (_("%d (default)"), retries);
+	case 0:
+		return g_strdup_printf (_("%d (forever)"), retries);
+	default:
+		return g_strdup_printf ("%d", retries);
+	}
+}
+
+static char *
+nmc_property_connection_get_permissions (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingConnection *s_con = NM_SETTING_CONNECTION (setting);
+	GString *perm = NULL;
+	const char *perm_item;
+	const char *perm_type;
+	int i;
+
+	perm = g_string_new (NULL);
+	for (i = 0; i < nm_setting_connection_get_num_permissions (s_con); i++) {
+		if (nm_setting_connection_get_permission (s_con, i, &perm_type, &perm_item, NULL))
+			g_string_append_printf (perm, "%s:%s,", perm_type, perm_item);
 	}
+	if (perm->len > 0)
+		g_string_truncate (perm, perm->len-1); /* remove trailing , */
+
+	return g_string_free (perm, FALSE);
+}
+
+DEFINE_GETTER (nmc_property_connection_get_zone, NM_SETTING_CONNECTION_ZONE)
+DEFINE_GETTER (nmc_property_connection_get_master, NM_SETTING_CONNECTION_MASTER)
+DEFINE_GETTER (nmc_property_connection_get_slave_type, NM_SETTING_CONNECTION_SLAVE_TYPE)
+
+static char *
+nmc_property_connection_get_autoconnect_slaves (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingConnection *s_con = NM_SETTING_CONNECTION (setting);
+	return autoconnect_slaves_to_string (nm_setting_connection_get_autoconnect_slaves (s_con), get_type);
+}
+
+DEFINE_GETTER (nmc_property_connection_get_secondaries, NM_SETTING_CONNECTION_SECONDARIES)
+DEFINE_GETTER (nmc_property_connection_get_gateway_ping_timeout, NM_SETTING_CONNECTION_GATEWAY_PING_TIMEOUT)
 
-/* --- NM_SETTING_CONNECTION_SETTING_NAME property setter functions --- */
 static gboolean
 nmc_property_connection_set_type (NMSetting *setting, const char *prop, const char *val, GError **error)
 {
@@ -3695,7 +2745,6 @@ nmc_property_connection_describe_metered (NMSetting *setting, const char *prop)
 	         "'unknown' to let NetworkManager choose a value using some heuristics\n");
 }
 
-
 static const char *metered_valid_values[] = { "yes", "no", "unknown", NULL };
 DEFINE_ALLOWED_VAL_FUNC (nmc_property_connection_allowed_metered, metered_valid_values)
 
@@ -3752,427 +2801,429 @@ nmc_property_connection_set_lldp (NMSetting *setting, const char *prop,
 static const char *lldp_valid_values[] = { "default", "disable", "enable-rx", NULL };
 DEFINE_ALLOWED_VAL_FUNC (nmc_property_connection_allowed_lldp, lldp_valid_values)
 
-/* --- NM_SETTING_802_1X_SETTING_NAME property setter functions --- */
-#define DEFINE_SETTER_STR_LIST(def_func, set_func) \
-	static gboolean \
-	def_func (NMSetting *setting, const char *prop, const char *val, GError **error) \
+
+/* --- NM_SETTING_DCB_SETTING_NAME property functions --- */
+static char *
+dcb_flags_to_string (NMSettingDcbFlags flags)
+{
+	GString *flag_str;
+
+	if (flags == 0)
+		return g_strdup (_("0 (disabled)"));
+
+	flag_str = g_string_new (NULL);
+	g_string_printf (flag_str, "%d (", flags);
+
+	if (flags & NM_SETTING_DCB_FLAG_ENABLE)
+		g_string_append (flag_str, _("enabled, "));
+	if (flags & NM_SETTING_DCB_FLAG_ADVERTISE)
+		g_string_append (flag_str, _("advertise, "));
+	if (flags & NM_SETTING_DCB_FLAG_WILLING)
+		g_string_append (flag_str, _("willing, "));
+
+	if (flag_str->str[flag_str->len-1] == '(')
+		g_string_append (flag_str, _("unknown"));
+	else
+		g_string_truncate (flag_str, flag_str->len-2);  /* chop off trailing ', ' */
+
+	g_string_append_c (flag_str, ')');
+
+	return g_string_free (flag_str, FALSE);
+}
+
+#define DEFINE_DCB_FLAGS_GETTER(func_name, property_name) \
+	static char * \
+	func_name (NMSetting *setting, NmcPropertyGetType get_type) \
 	{ \
-		char **strv = NULL; \
-		guint i = 0; \
-		\
-		g_return_val_if_fail (error == NULL || *error == NULL, FALSE); \
-		\
-		strv = nmc_strsplit_set (val, " \t,", 0); \
-		while (strv && strv[i]) \
-			set_func (NM_SETTING_802_1X (setting), strv[i++]); \
-		g_strfreev (strv); \
-		return TRUE; \
+		guint v; \
+		GValue val = G_VALUE_INIT; \
+		g_value_init (&val, G_TYPE_UINT); \
+		g_object_get_property (G_OBJECT (setting), property_name, &val); \
+		v = g_value_get_uint (&val); \
+		g_value_unset (&val); \
+		return dcb_flags_to_string (v); \
 	}
 
-#define DEFINE_SETTER_CERT(def_func, set_func) \
-	static gboolean \
-	def_func (NMSetting *setting, const char *prop, const char *val, GError **error) \
+static char *
+dcb_app_priority_to_string (gint priority)
+{
+	return (priority == -1) ? g_strdup (_("-1 (unset)")) : g_strdup_printf ("%d", priority);
+}
+
+#define DEFINE_DCB_APP_PRIORITY_GETTER(func_name, property_name) \
+	static char * \
+	func_name (NMSetting *setting, NmcPropertyGetType get_type) \
 	{ \
-		char *val_strip = g_strstrip (g_strdup (val)); \
-		char *p = val_strip; \
-		NMSetting8021xCKScheme scheme = NM_SETTING_802_1X_CK_SCHEME_PATH; \
-		gboolean success; \
-		\
-		if (strncmp (val_strip, NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PKCS11, NM_STRLEN (NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PKCS11)) == 0) \
-			scheme = NM_SETTING_802_1X_CK_SCHEME_PKCS11; \
-		else if (strncmp (val_strip, NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PATH, NM_STRLEN (NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PATH)) == 0) \
-			p += NM_STRLEN (NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PATH); \
-		\
-		success = set_func (NM_SETTING_802_1X (setting), p, scheme, NULL, error); \
-		g_free (val_strip); \
-		return success; \
+		int v; \
+		GValue val = G_VALUE_INIT; \
+		g_value_init (&val, G_TYPE_INT); \
+		g_object_get_property (G_OBJECT (setting), property_name, &val); \
+		v = g_value_get_int (&val); \
+		g_value_unset (&val); \
+		return dcb_app_priority_to_string (v); \
 	}
 
-#define DEFINE_SETTER_PRIV_KEY(def_func, pwd_func, set_func) \
-	static gboolean \
-	def_func (NMSetting *setting, const char *prop, const char *val, GError **error) \
+#define DEFINE_DCB_BOOL_GETTER(func_name, getter_func_name) \
+	static char * \
+	func_name (NMSetting *setting, NmcPropertyGetType get_type) \
 	{ \
-		char **strv = NULL; \
-		char *val_strip = g_strstrip (g_strdup (val)); \
-		char *p = val_strip; \
-		const char *path, *password; \
-		NMSetting8021xCKScheme scheme = NM_SETTING_802_1X_CK_SCHEME_PATH; \
-		gboolean success; \
-		\
-		if (strncmp (val_strip, NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PKCS11, NM_STRLEN (NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PKCS11)) == 0) \
-			scheme = NM_SETTING_802_1X_CK_SCHEME_PKCS11; \
-		else if (strncmp (val_strip, NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PATH, NM_STRLEN (NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PATH)) == 0) \
-			p += NM_STRLEN (NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PATH); \
-		\
-		strv = nmc_strsplit_set (p, " \t,", 2); \
-		path = strv[0]; \
-		if (g_strv_length (strv) == 2) \
-			password = strv[1]; \
-		else \
-			password = pwd_func (NM_SETTING_802_1X (setting)); \
-		success = set_func (NM_SETTING_802_1X (setting), path, password, scheme, NULL, error); \
-		g_free (val_strip); \
-		g_strfreev (strv); \
-		return success; \
+		NMSettingDcb *s_dcb = NM_SETTING_DCB (setting); \
+		GString *str; \
+		guint i; \
+ \
+		str = g_string_new (NULL); \
+		for (i = 0; i < 8; i++) { \
+			if (getter_func_name (s_dcb,  i)) \
+				g_string_append_c (str, '1'); \
+			else \
+				g_string_append_c (str, '0'); \
+\
+			if (i < 7) \
+				g_string_append_c (str, ','); \
+		} \
+\
+		return g_string_free (str, FALSE); \
 	}
 
-/* 'eap' */
-static const char *valid_eap[] = { "leap", "md5", "tls", "peap", "ttls", "sim", "fast", "pwd", NULL };
+#define DEFINE_DCB_UINT_GETTER(func_name, getter_func_name) \
+	static char * \
+	func_name (NMSetting *setting, NmcPropertyGetType get_type) \
+	{ \
+		NMSettingDcb *s_dcb = NM_SETTING_DCB (setting); \
+		GString *str; \
+		guint i; \
+ \
+		str = g_string_new (NULL); \
+		for (i = 0; i < 8; i++) { \
+			g_string_append_printf (str, "%u", getter_func_name (s_dcb, i)); \
+			if (i < 7) \
+				g_string_append_c (str, ','); \
+		} \
+\
+		return g_string_free (str, FALSE); \
+	}
 
-DEFINE_SETTER_STR_LIST_MULTI (check_and_add_802_1X_eap,
-                              NM_SETTING_802_1X,
-                              nm_setting_802_1x_add_eap_method)
-static gboolean
-nmc_property_802_1X_set_eap (NMSetting *setting, const char *prop, const char *val, GError **error)
-{
-	return check_and_add_802_1X_eap (setting, prop, val, valid_eap, error);
-}
+DEFINE_DCB_FLAGS_GETTER (nmc_property_dcb_get_app_fcoe_flags, NM_SETTING_DCB_APP_FCOE_FLAGS)
+DEFINE_DCB_APP_PRIORITY_GETTER (nmc_property_dcb_get_app_fcoe_priority, NM_SETTING_DCB_APP_FCOE_PRIORITY)
+DEFINE_GETTER (nmc_property_dcb_get_app_fcoe_mode, NM_SETTING_DCB_APP_FCOE_MODE)
+DEFINE_DCB_FLAGS_GETTER (nmc_property_dcb_get_app_iscsi_flags, NM_SETTING_DCB_APP_ISCSI_FLAGS)
+DEFINE_DCB_APP_PRIORITY_GETTER (nmc_property_dcb_get_app_iscsi_priority, NM_SETTING_DCB_APP_ISCSI_PRIORITY)
+DEFINE_DCB_FLAGS_GETTER (nmc_property_dcb_get_app_fip_flags, NM_SETTING_DCB_APP_FIP_FLAGS)
+DEFINE_DCB_APP_PRIORITY_GETTER (nmc_property_dcb_get_app_fip_priority, NM_SETTING_DCB_APP_FIP_PRIORITY)
+
+DEFINE_DCB_FLAGS_GETTER (nmc_property_dcb_get_pfc_flags, NM_SETTING_DCB_PRIORITY_FLOW_CONTROL_FLAGS)
+DEFINE_DCB_BOOL_GETTER (nmc_property_dcb_get_pfc, nm_setting_dcb_get_priority_flow_control)
+
+DEFINE_DCB_FLAGS_GETTER (nmc_property_dcb_get_pg_flags, NM_SETTING_DCB_PRIORITY_GROUP_FLAGS)
+DEFINE_DCB_UINT_GETTER (nmc_property_dcb_get_pg_group_id, nm_setting_dcb_get_priority_group_id)
+DEFINE_DCB_UINT_GETTER (nmc_property_dcb_get_pg_group_bandwidth, nm_setting_dcb_get_priority_group_bandwidth)
+DEFINE_DCB_UINT_GETTER (nmc_property_dcb_get_pg_bandwidth, nm_setting_dcb_get_priority_bandwidth)
+DEFINE_DCB_BOOL_GETTER (nmc_property_dcb_get_pg_strict, nm_setting_dcb_get_priority_strict_bandwidth)
+DEFINE_DCB_UINT_GETTER (nmc_property_dcb_get_pg_traffic_class, nm_setting_dcb_get_priority_traffic_class)
+
+#define DCB_ALL_FLAGS (NM_SETTING_DCB_FLAG_ENABLE | NM_SETTING_DCB_FLAG_ADVERTISE | NM_SETTING_DCB_FLAG_WILLING)
 
 static gboolean
-_validate_and_remove_eap_method (NMSetting8021x *setting,
-                                 const char *eap,
-                                 GError **error)
+nmc_property_dcb_set_flags (NMSetting *setting, const char *prop, const char *val, GError **error)
 {
-	gboolean ret;
+	char **strv = NULL, **iter;
+	NMSettingDcbFlags flags = NM_SETTING_DCB_FLAG_NONE;
+	long int t;
 
-	ret = nm_setting_802_1x_remove_eap_method_by_value(setting, eap);
-	if (!ret)
-		g_set_error (error, 1, 0, _("the property doesn't contain EAP method '%s'"), eap);
-	return ret;
-}
-DEFINE_REMOVER_INDEX_OR_VALUE (nmc_property_802_1X_remove_eap,
-                               NM_SETTING_802_1X,
-                               nm_setting_802_1x_get_num_eap_methods,
-                               nm_setting_802_1x_remove_eap_method,
-                               _validate_and_remove_eap_method)
+	g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
 
-DEFINE_ALLOWED_VAL_FUNC (nmc_property_802_1X_allowed_eap, valid_eap)
+	/* Check for overall hex numeric value */
+	if (nmc_string_to_int_base (val, 0, TRUE, 0, DCB_ALL_FLAGS, &t))
+		flags = (guint) t;
+	else {
+		/* Check for individual flag numbers */
+		strv = nmc_strsplit_set (val, " \t,", 0);
+		for (iter = strv; iter && *iter; iter++) {
+			if (!nmc_string_to_int_base (*iter, 0, TRUE, 0, DCB_ALL_FLAGS, &t))
+				t = -1;
 
-/* 'ca-cert' */
-DEFINE_SETTER_CERT (nmc_property_802_1X_set_ca_cert, nm_setting_802_1x_set_ca_cert)
+			if (   g_ascii_strcasecmp (*iter, "enable") == 0
+			    || g_ascii_strcasecmp (*iter, "enabled") == 0
+			    || t == NM_SETTING_DCB_FLAG_ENABLE)
+				flags |= NM_SETTING_DCB_FLAG_ENABLE;
+			else if (   g_ascii_strcasecmp (*iter, "advertise") == 0
+				 || t == NM_SETTING_DCB_FLAG_ADVERTISE)
+				flags |= NM_SETTING_DCB_FLAG_ADVERTISE;
+			else if (   g_ascii_strcasecmp (*iter, "willing") == 0
+				 || t == NM_SETTING_DCB_FLAG_WILLING)
+				flags |= NM_SETTING_DCB_FLAG_WILLING;
+			else if (   g_ascii_strcasecmp (*iter, "disable") == 0
+				 || g_ascii_strcasecmp (*iter, "disabled") == 0
+				 || t == 0) {
+				/* pass */
+			} else {
+				g_set_error (error, 1, 0, _("'%s' is not a valid DCB flag"), *iter);
+				return FALSE;
+			}
+		}
+		g_strfreev (strv);
+	}
 
-static const char *
-nmc_property_802_1X_describe_ca_cert (NMSetting *setting, const char *prop)
-{
-	return _("Enter file path to CA certificate (optionally prefixed with file://).\n"
-	         "  [file://]<file path>\n"
-	         "Note that nmcli does not support specifying certificates as raw blob data.\n"
-	         "Example: /home/cimrman/cacert.crt\n");
-}
+	/* Validate the flags according to the property spec */
+	if (!validate_flags (setting, prop, (guint) flags, error))
+		return FALSE;
 
-/* 'altsubject-matches' */
-DEFINE_SETTER_STR_LIST (nmc_property_802_1X_set_altsubject_matches, nm_setting_802_1x_add_altsubject_match)
+	g_object_set (setting, prop, (guint) flags, NULL);
+	return TRUE;
+}
 
 static gboolean
-_validate_and_remove_altsubject_match (NMSetting8021x *setting,
-                                       const char *altsubject_match,
-                                       GError **error)
+nmc_property_dcb_set_priority (NMSetting *setting, const char *prop, const char *val, GError **error)
 {
-	gboolean ret;
-
-	ret = nm_setting_802_1x_remove_altsubject_match_by_value (setting, altsubject_match);
-	if (!ret)
-		g_set_error (error, 1, 0,
-		             _("the property doesn't contain alternative subject match '%s'"),
-		             altsubject_match);
-	return ret;
-}
-DEFINE_REMOVER_INDEX_OR_VALUE (nmc_property_802_1X_remove_altsubject_matches,
-                               NM_SETTING_802_1X,
-                               nm_setting_802_1x_get_num_altsubject_matches,
-                               nm_setting_802_1x_remove_altsubject_match,
-                               _validate_and_remove_altsubject_match)
+	long int priority = 0;
 
-/* 'client-cert' */
-DEFINE_SETTER_CERT (nmc_property_802_1X_set_client_cert, nm_setting_802_1x_set_client_cert)
+	g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
 
-static const char *
-nmc_property_802_1X_describe_client_cert (NMSetting *setting, const char *prop)
-{
-	return _("Enter file path to client certificate (optionally prefixed with file://).\n"
-	         "  [file://]<file path>\n"
-	         "Note that nmcli does not support specifying certificates as raw blob data.\n"
-	         "Example: /home/cimrman/jara.crt\n");
-}
+	if (!nmc_string_to_int (val, FALSE, -1, 7, &priority)) {
+		g_set_error (error, 1, 0, _("'%s' is not a DCB app priority"), val);
+		return FALSE;
+	}
 
-/* 'phase2-ca-cert' */
-DEFINE_SETTER_CERT (nmc_property_802_1X_set_phase2_ca_cert, nm_setting_802_1x_set_phase2_ca_cert)
+	/* Validate the number according to the property spec */
+	if (!validate_int (setting, prop, (gint) priority, error))
+		return FALSE;
 
-static const char *
-nmc_property_802_1X_describe_phase2_ca_cert (NMSetting *setting, const char *prop)
-{
-	return _("Enter file path to CA certificate for inner authentication (optionally prefixed\n"
-	         "with file://).\n"
-	         "  [file://]<file path>\n"
-	         "Note that nmcli does not support specifying certificates as raw blob data.\n"
-	         "Example: /home/cimrman/ca-zweite-phase.crt\n");
+	g_object_set (setting, prop, (gint) priority, NULL);
+	return TRUE;
 }
 
-/* 'phase2-altsubject-matches' */
-DEFINE_SETTER_STR_LIST (nmc_property_802_1X_set_phase2_altsubject_matches, nm_setting_802_1x_add_phase2_altsubject_match)
-
 static gboolean
-_validate_and_remove_phase2_altsubject_match (NMSetting8021x *setting,
-                                              const char *phase2_altsubject_match,
-                                              GError **error)
+dcb_parse_uint_array (const char *val,
+                      guint max,
+                      guint other,
+                      guint *out_array,
+                      GError **error)
 {
-	gboolean ret;
+	char **items, **iter;
+	guint i = 0;
 
-	ret = nm_setting_802_1x_remove_phase2_altsubject_match_by_value (setting, phase2_altsubject_match);
-	if (!ret)
-		g_set_error (error, 1, 0,
-		             _("the property doesn't contain \"phase2\" alternative subject match '%s'"),
-		             phase2_altsubject_match);
-	return ret;
-}
-DEFINE_REMOVER_INDEX_OR_VALUE (nmc_property_802_1X_remove_phase2_altsubject_matches,
-                               NM_SETTING_802_1X,
-                               nm_setting_802_1x_get_num_phase2_altsubject_matches,
-                               nm_setting_802_1x_remove_phase2_altsubject_match,
-                               _validate_and_remove_phase2_altsubject_match)
+	g_return_val_if_fail (out_array != NULL, FALSE);
 
-/* 'phase2-client-cert' */
-DEFINE_SETTER_CERT (nmc_property_802_1X_set_phase2_client_cert, nm_setting_802_1x_set_phase2_client_cert)
+	items = g_strsplit_set (val, ",", -1);
+	if (g_strv_length (items) != 8) {
+		g_set_error_literal (error, 1, 0, _("must contain 8 comma-separated numbers"));
+		goto error;
+	}
 
-static const char *
-nmc_property_802_1X_describe_phase2_client_cert (NMSetting *setting, const char *prop)
-{
-	return _("Enter file path to client certificate for inner authentication (optionally prefixed\n"
-	         "with file://).\n"
-	         "  [file://]<file path>\n"
-	         "Note that nmcli does not support specifying certificates as raw blob data.\n"
-	         "Example: /home/cimrman/jara-zweite-phase.crt\n");
-}
+	for (iter = items; iter && *iter; iter++) {
+		long int num = 0;
+		gboolean success;
 
-/* 'private-key' */
-DEFINE_SETTER_PRIV_KEY (nmc_property_802_1X_set_private_key,
-                        nm_setting_802_1x_get_private_key_password,
-                        nm_setting_802_1x_set_private_key)
+		*iter = g_strstrip (*iter);
+		success = nmc_string_to_int_base (*iter, 10, TRUE, 0, other ? other : max, &num);
 
-/* 'phase2-private-key' */
-DEFINE_SETTER_PRIV_KEY (nmc_property_802_1X_set_phase2_private_key,
-                        nm_setting_802_1x_get_phase2_private_key_password,
-                        nm_setting_802_1x_set_phase2_private_key)
+		/* If number is greater than 'max' it must equal 'other' */
+		if (success && other && (num > max) && (num != other))
+			success = FALSE;
 
-static const char *
-nmc_property_802_1X_describe_private_key (NMSetting *setting, const char *prop)
-{
-	return _("Enter path to a private key and the key password (if not set yet):\n"
-	         "  [file://]<file path> [<password>]\n"
-	         "Note that nmcli does not support specifying private key as raw blob data.\n"
-	         "Example: /home/cimrman/jara-priv-key Dardanely\n");
-}
+		if (!success) {
+			if (other) {
+				g_set_error (error, 1, 0, _("'%s' not a number between 0 and %u (inclusive) or %u"),
+					     *iter, max, other);
+			} else {
+				g_set_error (error, 1, 0, _("'%s' not a number between 0 and %u (inclusive)"),
+					     *iter, max);
+			}
+			goto error;
+		}
+		out_array[i++] = (guint) num;
+	}
 
-/* 'phase1-peapver' */
-static const char *_802_1X_valid_phase1_peapvers[] = { "0", "1", NULL };
+	return TRUE;
 
-static gboolean
-nmc_property_802_1X_set_phase1_peapver (NMSetting *setting, const char *prop, const char *val, GError **error)
-{
-	return check_and_set_string (setting, prop, val, _802_1X_valid_phase1_peapvers, error);
+error:
+	g_strfreev (items);
+	return FALSE;
 }
 
-DEFINE_ALLOWED_VAL_FUNC (nmc_property_802_1X_allowed_phase1_peapver, _802_1X_valid_phase1_peapvers)
+static void
+dcb_check_feature_enabled (NMSettingDcb *s_dcb, const char *flags_prop)
+{
+	NMSettingDcbFlags flags = NM_SETTING_DCB_FLAG_NONE;
 
-/* 'phase1-peaplabel' */
-static const char *_802_1X_valid_phase1_peaplabels[] = { "0", "1", NULL };
+	g_object_get (s_dcb, flags_prop, &flags, NULL);
+	if (!(flags & NM_SETTING_DCB_FLAG_ENABLE))
+		g_print (_("Warning: changes will have no effect until '%s' includes 1 (enabled)\n\n"), flags_prop);
+}
 
 static gboolean
-nmc_property_802_1X_set_phase1_peaplabel (NMSetting *setting, const char *prop, const char *val, GError **error)
+nmc_property_dcb_set_pfc (NMSetting *setting, const char *prop, const char *val, GError **error)
 {
-	return check_and_set_string (setting, prop, val, _802_1X_valid_phase1_peaplabels, error);
-}
+	guint i = 0;
+	guint nums[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
 
-DEFINE_ALLOWED_VAL_FUNC (nmc_property_802_1X_allowed_phase1_peaplabel, _802_1X_valid_phase1_peaplabels)
+	g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
 
-/* 'phase1-fast-provisioning' */
-static const char *_802_1X_valid_phase1_fast_provisionings[] = { "0", "1", "2", "3", NULL };
+	if (!dcb_parse_uint_array (val, 1, 0, nums, error))
+		return FALSE;
+
+	for (i = 0; i < 8; i++)
+		nm_setting_dcb_set_priority_flow_control (NM_SETTING_DCB (setting), i, !!nums[i]);
+
+	dcb_check_feature_enabled (NM_SETTING_DCB (setting), NM_SETTING_DCB_PRIORITY_FLOW_CONTROL_FLAGS);
+	return TRUE;
+}
 
 static gboolean
-nmc_property_802_1X_set_phase1_fast_provisioning (NMSetting *setting, const char *prop, const char *val, GError **error)
+nmc_property_dcb_set_pg_group_id (NMSetting *setting, const char *prop, const char *val, GError **error)
 {
-	return check_and_set_string (setting, prop, val, _802_1X_valid_phase1_fast_provisionings, error);
-}
+	guint i = 0;
+	guint nums[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
 
-DEFINE_ALLOWED_VAL_FUNC (nmc_property_802_1X_allowed_phase1_fast_provisioning, _802_1X_valid_phase1_fast_provisionings)
+	g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
 
-/* 'phase2-auth' */
-static const char *_802_1X_valid_phase2_auths[] =
-	{ "pap", "chap", "mschap", "mschapv2", "gtc", "otp", "md5", "tls", NULL };
+	if (!dcb_parse_uint_array (val, 7, 15, nums, error))
+		return FALSE;
 
-static gboolean
-nmc_property_802_1X_set_phase2_auth (NMSetting *setting, const char *prop, const char *val, GError **error)
-{
-	return check_and_set_string (setting, prop, val, _802_1X_valid_phase2_auths, error);
-}
+	for (i = 0; i < 8; i++)
+		nm_setting_dcb_set_priority_group_id (NM_SETTING_DCB (setting), i, nums[i]);
 
-DEFINE_ALLOWED_VAL_FUNC (nmc_property_802_1X_allowed_phase2_auth, _802_1X_valid_phase2_auths)
+	dcb_check_feature_enabled (NM_SETTING_DCB (setting), NM_SETTING_DCB_PRIORITY_GROUP_FLAGS);
+	return TRUE;
+}
 
-/* 'phase2-autheap' */
-static const char *_802_1X_valid_phase2_autheaps[] = { "md5", "mschapv2", "otp", "gtc", "tls", NULL };
 static gboolean
-nmc_property_802_1X_set_phase2_autheap (NMSetting *setting, const char *prop, const char *val, GError **error)
+nmc_property_dcb_set_pg_group_bandwidth (NMSetting *setting, const char *prop, const char *val, GError **error)
 {
-	return check_and_set_string (setting, prop, val, _802_1X_valid_phase2_autheaps, error);
-}
+	guint i = 0, sum = 0;
+	guint nums[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
 
-DEFINE_ALLOWED_VAL_FUNC (nmc_property_802_1X_allowed_phase2_autheap, _802_1X_valid_phase2_autheaps)
+	g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
 
-/* 'password-raw' */
-static gboolean
-nmc_property_802_1X_set_password_raw (NMSetting *setting, const char *prop, const char *val, GError **error)
-{
-	return nmc_property_set_byte_array (setting, prop, val, error);
-}
+	if (!dcb_parse_uint_array (val, 100, 0, nums, error))
+		return FALSE;
 
-static const char *
-nmc_property_802_1X_describe_password_raw (NMSetting *setting, const char *prop)
-{
-	return _("Enter bytes as a list of hexadecimal values.\n"
-	         "Two formats are accepted:\n"
-	         "(a) a string of hexadecimal digits, where each two digits represent one byte\n"
-	         "(b) space-separated list of bytes written as hexadecimal digits "
-	         "(with optional 0x/0X prefix, and optional leading 0).\n\n"
-	         "Examples: ab0455a6ea3a74C2\n"
-	         "          ab 4 55 0xa6 ea 3a 74 C2\n");
-}
+	for (i = 0; i < 8; i++)
+		sum += nums[i];
+	if (sum != 100) {
+		g_set_error_literal (error, 1, 0, _("bandwidth percentages must total 100%%"));
+		return FALSE;
+	}
 
-/* --- NM_SETTING_ADSL_SETTING_NAME property setter functions --- */
-/* 'protocol' */
-static const char *adsl_valid_protocols[] = {
-	NM_SETTING_ADSL_PROTOCOL_PPPOA,
-	NM_SETTING_ADSL_PROTOCOL_PPPOE,
-	NM_SETTING_ADSL_PROTOCOL_IPOATM,
-	NULL
-};
+	for (i = 0; i < 8; i++)
+		nm_setting_dcb_set_priority_group_bandwidth (NM_SETTING_DCB (setting), i, nums[i]);
+
+	dcb_check_feature_enabled (NM_SETTING_DCB (setting), NM_SETTING_DCB_PRIORITY_GROUP_FLAGS);
+	return TRUE;
+}
 
 static gboolean
-nmc_property_adsl_set_protocol (NMSetting *setting, const char *prop, const char *val, GError **error)
+nmc_property_dcb_set_pg_bandwidth (NMSetting *setting, const char *prop, const char *val, GError **error)
 {
-	return check_and_set_string (setting, prop, val, adsl_valid_protocols, error);
-}
+	guint i = 0;
+	guint nums[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
 
-DEFINE_ALLOWED_VAL_FUNC (nmc_property_adsl_allowed_protocol, adsl_valid_protocols)
+	g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
 
-/* 'encapsulation' */
-static const char *adsl_valid_encapsulations[] = {
-	NM_SETTING_ADSL_ENCAPSULATION_VCMUX,
-	NM_SETTING_ADSL_ENCAPSULATION_LLC,
-	NULL
-};
+	if (!dcb_parse_uint_array (val, 100, 0, nums, error))
+		return FALSE;
 
-static gboolean
-nmc_property_adsl_set_encapsulation (NMSetting *setting, const char *prop, const char *val, GError **error)
-{
-	return check_and_set_string (setting, prop, val, adsl_valid_encapsulations, error);
-}
+	for (i = 0; i < 8; i++)
+		nm_setting_dcb_set_priority_bandwidth (NM_SETTING_DCB (setting), i, nums[i]);
 
-DEFINE_ALLOWED_VAL_FUNC (nmc_property_adsl_allowed_encapsulation, adsl_valid_encapsulations)
+	dcb_check_feature_enabled (NM_SETTING_DCB (setting), NM_SETTING_DCB_PRIORITY_GROUP_FLAGS);
+	return TRUE;
+}
 
-/* --- NM_SETTING_BLUETOOTH_SETTING_NAME property setter functions --- */
-/* 'type' */
 static gboolean
-nmc_property_bluetooth_set_type (NMSetting *setting, const char *prop, const char *val, GError **error)
+nmc_property_dcb_set_pg_strict (NMSetting *setting, const char *prop, const char *val, GError **error)
 {
-	const char *types[] = {
-	    NM_SETTING_BLUETOOTH_TYPE_DUN,
-	    NM_SETTING_BLUETOOTH_TYPE_PANU,
-	    NULL };
+	guint i = 0;
+	guint nums[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
 
-	return check_and_set_string (setting, prop, val, types, error);
+	g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+
+	if (!dcb_parse_uint_array (val, 1, 0, nums, error))
+		return FALSE;
+
+	for (i = 0; i < 8; i++)
+		nm_setting_dcb_set_priority_strict_bandwidth (NM_SETTING_DCB (setting), i, !!nums[i]);
+
+	dcb_check_feature_enabled (NM_SETTING_DCB (setting), NM_SETTING_DCB_PRIORITY_GROUP_FLAGS);
+	return TRUE;
 }
 
-/* --- NM_SETTING_BOND_SETTING_NAME property setter functions --- */
-/* 'options' */
-/*  example: miimon=100,mode=balance-rr, updelay=5 */
 static gboolean
-_validate_and_remove_bond_option (NMSettingBond *setting, const char *option)
+nmc_property_dcb_set_pg_traffic_class (NMSetting *setting, const char *prop, const char *val, GError **error)
 {
-	const char *opt;
-	const char **valid_options;
+	guint i = 0;
+	guint nums[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
 
-	valid_options = nm_setting_bond_get_valid_options (setting);
-	opt = nmc_string_is_valid (option, valid_options, NULL);
+	g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
 
-	if (opt)
-		return nm_setting_bond_remove_option (setting, opt);
-	else
+	if (!dcb_parse_uint_array (val, 7, 0, nums, error))
 		return FALSE;
-}
 
-/* Validate bonding 'options' values */
-static const char *
-_validate_bond_option_value (const char *option, const char *value, GError **error)
-{
-	if (!g_strcmp0 (option, NM_SETTING_BOND_OPTION_MODE))
-		return nmc_bond_validate_mode (value, error);
+	for (i = 0; i < 8; i++)
+		nm_setting_dcb_set_priority_traffic_class (NM_SETTING_DCB (setting), i, nums[i]);
 
-	return value;
+	dcb_check_feature_enabled (NM_SETTING_DCB (setting), NM_SETTING_DCB_PRIORITY_GROUP_FLAGS);
+	return TRUE;
 }
 
+/* 'app-fcoe-mode' */
+static const char *_dcb_valid_fcoe_modes[] = { NM_SETTING_DCB_FCOE_MODE_FABRIC,
+                                               NM_SETTING_DCB_FCOE_MODE_VN2VN,
+                                               NULL };
+
 static gboolean
-_bond_add_option (NMSettingBond *setting,
-                  const char *name,
-                  const char *value)
+nmc_property_dcb_set_app_fcoe_mode (NMSetting *setting, const char *prop, const char *val, GError **error)
 {
-	gs_free char *tmp_value = NULL;
-	char *p;
+	return check_and_set_string (setting, prop, val, _dcb_valid_fcoe_modes, error);
+}
 
-	if (nm_streq0 (name, NM_SETTING_BOND_OPTION_ARP_IP_TARGET)) {
-		value = tmp_value = g_strdup (value);
-		for (p = tmp_value; p && *p; p++)
-			if (*p == ' ')
-				*p = ',';
-	}
+DEFINE_ALLOWED_VAL_FUNC (nmc_property_dcb_allowed_app_fcoe_modes, _dcb_valid_fcoe_modes)
 
-	return nm_setting_bond_add_option (setting, name, value);
-}
 
-DEFINE_SETTER_OPTIONS (nmc_property_bond_set_options,
-                       NM_SETTING_BOND,
-                       NMSettingBond,
-                       _bond_add_option,
-                       nm_setting_bond_get_valid_options,
-                       _validate_bond_option_value)
-DEFINE_REMOVER_OPTION (nmc_property_bond_remove_option_options,
-                       NM_SETTING_BOND,
-                       _validate_and_remove_bond_option)
+/* --- NM_SETTING_GSM_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_gsm_get_number, NM_SETTING_GSM_NUMBER)
+DEFINE_GETTER (nmc_property_gsm_get_username, NM_SETTING_GSM_USERNAME)
+DEFINE_GETTER (nmc_property_gsm_get_password, NM_SETTING_GSM_PASSWORD)
+DEFINE_SECRET_FLAGS_GETTER (nmc_property_gsm_get_password_flags, NM_SETTING_GSM_PASSWORD_FLAGS)
+DEFINE_GETTER (nmc_property_gsm_get_apn, NM_SETTING_GSM_APN)
+DEFINE_GETTER (nmc_property_gsm_get_network_id, NM_SETTING_GSM_NETWORK_ID)
+DEFINE_GETTER (nmc_property_gsm_get_pin, NM_SETTING_GSM_PIN)
+DEFINE_SECRET_FLAGS_GETTER (nmc_property_gsm_get_pin_flags, NM_SETTING_GSM_PIN_FLAGS)
+DEFINE_GETTER (nmc_property_gsm_get_home_only, NM_SETTING_GSM_HOME_ONLY)
+DEFINE_GETTER (nmc_property_gsm_get_device_id, NM_SETTING_GSM_DEVICE_ID)
+DEFINE_GETTER (nmc_property_gsm_get_sim_id, NM_SETTING_GSM_SIM_ID)
+DEFINE_GETTER (nmc_property_gsm_get_sim_operator_id, NM_SETTING_GSM_SIM_OPERATOR_ID)
 
-static const char *
-nmc_property_bond_describe_options (NMSetting *setting, const char *prop)
+static gboolean
+nmc_property_gsm_set_sim_operator_id (NMSetting *setting, const char *prop, const char *val, GError **error)
 {
-	static char *desc = NULL;
-	const char **valid_options;
-	char *options_str;
+	const char *p = val;
 
-	if (G_UNLIKELY (desc == NULL)) {
-		valid_options = nm_setting_bond_get_valid_options (NM_SETTING_BOND (setting));
-		options_str = g_strjoinv (", ", (char **) valid_options);
+	g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
 
-		desc = g_strdup_printf (_("Enter a list of bonding options formatted as:\n"
-		                          "  option = <value>, option = <value>,... \n"
-		                          "Valid options are: %s\n"
-		                          "'mode' can be provided as a name or a number:\n"
-		                          "balance-rr    = 0\n"
-		                          "active-backup = 1\n"
-		                          "balance-xor   = 2\n"
-		                          "broadcast     = 3\n"
-		                          "802.3ad       = 4\n"
-		                          "balance-tlb   = 5\n"
-		                          "balance-alb   = 6\n\n"
-		                          "Example: mode=2,miimon=120\n"), options_str);
-		g_free (options_str);
+	if (strlen (val) != 5 && strlen (val) != 6) {
+		g_set_error_literal (error, 1, 0, _("SIM operator ID must be a 5 or 6 number MCCMNC code"));
+		return FALSE;
 	}
-	return desc;
-}
 
-static const char **
-nmc_property_bond_allowed_options (NMSetting *setting, const char *prop)
-{
-	return nm_setting_bond_get_valid_options (NM_SETTING_BOND (setting));
+	while (p && *p) {
+		if (!g_ascii_isdigit (*p++)) {
+			g_set_error_literal (error, 1, 0, _("SIM operator ID must be a 5 or 6 number MCCMNC code"));
+			return FALSE;
+		}
+	}
+	g_object_set (G_OBJECT (setting),
+	              NM_SETTING_GSM_SIM_OPERATOR_ID,
+	              val,
+	              NULL);
+	return TRUE;
 }
 
-/* --- NM_SETTING_INFINIBAND_SETTING_NAME property setter functions --- */
+
+/* --- NM_SETTING_INFINIBAND_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_ib_get_mac_address, NM_SETTING_INFINIBAND_MAC_ADDRESS)
+DEFINE_GETTER (nmc_property_ib_get_transport_mode, NM_SETTING_INFINIBAND_TRANSPORT_MODE)
+
 /* 'mac-address' */
 static gboolean
 nmc_property_ib_set_mac (NMSetting *setting, const char *prop, const char *val, GError **error)
@@ -4225,6 +3276,93 @@ nmc_property_ib_set_p_key (NMSetting *setting, const char *prop, const char *val
 	return TRUE;
 }
 
+
+static char *
+nmc_property_ib_get_mtu (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingInfiniband *s_infiniband = NM_SETTING_INFINIBAND (setting);
+	int mtu;
+
+	mtu = nm_setting_infiniband_get_mtu (s_infiniband);
+	if (mtu == 0)
+		return g_strdup (_("auto"));
+	else
+		return g_strdup_printf ("%d", mtu);
+}
+
+static char *
+nmc_property_ib_get_p_key (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingInfiniband *s_infiniband = NM_SETTING_INFINIBAND (setting);
+	int p_key;
+
+	p_key = nm_setting_infiniband_get_p_key (s_infiniband);
+	if (p_key == -1)
+		return g_strdup (_("default"));
+	else
+		return g_strdup_printf ("0x%04x", p_key);
+}
+
+DEFINE_GETTER (nmc_property_ib_get_parent, NM_SETTING_INFINIBAND_PARENT)
+
+
+/* --- NM_SETTING_IP_TUNNEL_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_ip_tunnel_get_parent, NM_SETTING_IP_TUNNEL_PARENT);
+DEFINE_GETTER (nmc_property_ip_tunnel_get_local, NM_SETTING_IP_TUNNEL_LOCAL);
+DEFINE_GETTER (nmc_property_ip_tunnel_get_remote, NM_SETTING_IP_TUNNEL_REMOTE);
+DEFINE_GETTER (nmc_property_ip_tunnel_get_ttl, NM_SETTING_IP_TUNNEL_TTL);
+DEFINE_GETTER (nmc_property_ip_tunnel_get_tos, NM_SETTING_IP_TUNNEL_TOS);
+DEFINE_GETTER (nmc_property_ip_tunnel_get_path_mtu_discovery, NM_SETTING_IP_TUNNEL_PATH_MTU_DISCOVERY);
+DEFINE_GETTER (nmc_property_ip_tunnel_get_input_key, NM_SETTING_IP_TUNNEL_INPUT_KEY);
+DEFINE_GETTER (nmc_property_ip_tunnel_get_output_key, NM_SETTING_IP_TUNNEL_OUTPUT_KEY);
+DEFINE_GETTER (nmc_property_ip_tunnel_get_encapsulation_limit, NM_SETTING_IP_TUNNEL_ENCAPSULATION_LIMIT);
+DEFINE_GETTER (nmc_property_ip_tunnel_get_flow_label, NM_SETTING_IP_TUNNEL_FLOW_LABEL);
+DEFINE_GETTER (nmc_property_ip_tunnel_get_mtu, NM_SETTING_IP_TUNNEL_MTU);
+
+static char *
+nmc_property_ip_tunnel_get_mode (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingIPTunnel *s_ip_tunnel = NM_SETTING_IP_TUNNEL (setting);
+	NMIPTunnelMode mode;
+
+	mode = nm_setting_ip_tunnel_get_mode (s_ip_tunnel);
+	return nm_utils_enum_to_str (nm_ip_tunnel_mode_get_type (), mode);
+}
+
+static gboolean
+nmc_property_ip_tunnel_set_mode (NMSetting *setting, const char *prop,
+                                  const char *val, GError **error)
+{
+	NMIPTunnelMode mode;
+	gboolean ret;
+
+	ret = nm_utils_enum_from_str (nm_ip_tunnel_mode_get_type(), val,
+	                               (int *) &mode, NULL);
+
+	if (!ret) {
+		gs_free const char **values = NULL;
+		gs_free char *values_str = NULL;
+
+		values = nm_utils_enum_get_values (nm_ip_tunnel_mode_get_type (),
+		                                   NM_IP_TUNNEL_MODE_UNKNOWN + 1,
+		                                   G_MAXINT);
+		values_str = g_strjoinv (",", (char **) values);
+		g_set_error (error, 1, 0, _("invalid mode '%s', use one of %s"),
+		             val, values_str);
+
+		return FALSE;
+	}
+
+	g_object_set (setting, prop, mode, NULL);
+	return TRUE;
+}
+
+DEFINE_ALLOWED_FOR_ENUMS (nmc_property_ip_tunnel_allowed_mode,
+                          nm_ip_tunnel_mode_get_type,
+                          NM_IP_TUNNEL_MODE_UNKNOWN + 1, G_MAXINT)
+
+
+/* --- NM_SETTING_IP4_CONFIG_SETTING_NAME property functions --- */
 /* --- IP4 / IP6 shared functions --- */
 static NMIPAddress *
 _parse_ip_address (int family, const char *address, GError **error)
@@ -4260,7 +3398,126 @@ finish:
 	return iproute;
 }
 
-/* --- NM_SETTING_IP4_CONFIG_SETTING_NAME property setter functions --- */
+DEFINE_GETTER (nmc_property_ipv4_get_method, NM_SETTING_IP_CONFIG_METHOD)
+DEFINE_GETTER (nmc_property_ipv4_get_dns, NM_SETTING_IP_CONFIG_DNS)
+DEFINE_GETTER (nmc_property_ipv4_get_dns_search, NM_SETTING_IP_CONFIG_DNS_SEARCH)
+DEFINE_GETTER_WITH_DEFAULT (nmc_property_ipv4_get_dns_options, NM_SETTING_IP_CONFIG_DNS_OPTIONS, !nm_setting_ip_config_has_dns_options ((NMSettingIPConfig *) setting))
+DEFINE_GETTER (nmc_property_ipv4_get_dns_priority, NM_SETTING_IP_CONFIG_DNS_PRIORITY)
+
+static char *
+nmc_property_ip_get_addresses (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingIPConfig *s_ip = NM_SETTING_IP_CONFIG (setting);
+	GString *printable;
+	guint32 num_addresses, i;
+	NMIPAddress *addr;
+
+	printable = g_string_new (NULL);
+
+	num_addresses = nm_setting_ip_config_get_num_addresses (s_ip);
+	for (i = 0; i < num_addresses; i++) {
+		addr = nm_setting_ip_config_get_address (s_ip, i);
+
+		if (printable->len > 0)
+			g_string_append (printable, ", ");
+
+		g_string_append_printf (printable, "%s/%u",
+		                        nm_ip_address_get_address (addr),
+		                        nm_ip_address_get_prefix (addr));
+	}
+
+	return g_string_free (printable, FALSE);
+}
+
+static char *
+nmc_property_ipvx_get_routes (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingIPConfig *s_ip = NM_SETTING_IP_CONFIG (setting);
+	GString *printable;
+	guint32 num_routes, i;
+	NMIPRoute *route;
+
+	printable = g_string_new (NULL);
+
+	num_routes = nm_setting_ip_config_get_num_routes (s_ip);
+	for (i = 0; i < num_routes; i++) {
+		route = nm_setting_ip_config_get_route (s_ip, i);
+
+		if (get_type == NMC_PROPERTY_GET_PARSABLE) {
+			if (printable->len > 0)
+				g_string_append (printable, ", ");
+
+			g_string_append_printf (printable, "%s/%u",
+			                        nm_ip_route_get_dest (route),
+			                        nm_ip_route_get_prefix (route));
+
+			if (nm_ip_route_get_next_hop (route))
+				g_string_append_printf (printable, " %s", nm_ip_route_get_next_hop (route));
+			if (nm_ip_route_get_metric (route) != -1)
+				g_string_append_printf (printable, " %u", (guint32) nm_ip_route_get_metric (route));
+		} else {
+			if (printable->len > 0)
+				g_string_append (printable, "; ");
+
+			g_string_append (printable, "{ ");
+
+			g_string_append_printf (printable, "ip = %s/%u",
+			                        nm_ip_route_get_dest (route),
+			                        nm_ip_route_get_prefix (route));
+
+			if (nm_ip_route_get_next_hop (route)) {
+				g_string_append_printf (printable, ", nh = %s",
+				                        nm_ip_route_get_next_hop (route));
+			}
+
+			if (nm_ip_route_get_metric (route) != -1)
+				g_string_append_printf (printable, ", mt = %u", (guint32) nm_ip_route_get_metric (route));
+
+			g_string_append (printable, " }");
+		}
+	}
+
+	return g_string_free (printable, FALSE);
+}
+
+static char *
+nmc_property_ipv4_get_routes (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	return nmc_property_ipvx_get_routes (setting, get_type);
+}
+
+DEFINE_GETTER (nmc_property_ipv4_get_gateway, NM_SETTING_IP_CONFIG_GATEWAY)
+DEFINE_GETTER (nmc_property_ipv4_get_route_metric, NM_SETTING_IP_CONFIG_ROUTE_METRIC)
+DEFINE_GETTER (nmc_property_ipv4_get_ignore_auto_routes, NM_SETTING_IP_CONFIG_IGNORE_AUTO_ROUTES)
+DEFINE_GETTER (nmc_property_ipv4_get_ignore_auto_dns, NM_SETTING_IP_CONFIG_IGNORE_AUTO_DNS)
+DEFINE_GETTER (nmc_property_ipv4_get_dhcp_client_id, NM_SETTING_IP4_CONFIG_DHCP_CLIENT_ID)
+DEFINE_GETTER (nmc_property_ipv4_get_dhcp_timeout, NM_SETTING_IP_CONFIG_DHCP_TIMEOUT)
+DEFINE_GETTER (nmc_property_ipv4_get_dhcp_send_hostname, NM_SETTING_IP_CONFIG_DHCP_SEND_HOSTNAME)
+DEFINE_GETTER (nmc_property_ipv4_get_dhcp_hostname, NM_SETTING_IP_CONFIG_DHCP_HOSTNAME)
+DEFINE_GETTER (nmc_property_ipv4_get_dhcp_fqdn, NM_SETTING_IP4_CONFIG_DHCP_FQDN)
+DEFINE_GETTER (nmc_property_ipv4_get_never_default, NM_SETTING_IP_CONFIG_NEVER_DEFAULT)
+DEFINE_GETTER (nmc_property_ipv4_get_may_fail, NM_SETTING_IP_CONFIG_MAY_FAIL)
+
+static char *
+nmc_property_ipv4_get_dad_timeout (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingIPConfig *s_ip = NM_SETTING_IP_CONFIG (setting);
+	gint dad_timeout;
+
+	dad_timeout = nm_setting_ip_config_get_dad_timeout (s_ip);
+	if (get_type == NMC_PROPERTY_GET_PARSABLE)
+		return g_strdup_printf ("%d", dad_timeout);
+
+	switch (dad_timeout) {
+	case -1:
+		return g_strdup_printf (_("%d (default)"), dad_timeout);
+	case 0:
+		return g_strdup_printf (_("%d (off)"), dad_timeout);
+	default:
+		return g_strdup_printf ("%d", dad_timeout);
+	}
+}
+
 /* 'method' */
 static const char *ipv4_valid_methods[] = {
 	NM_SETTING_IP4_CONFIG_METHOD_AUTO,
@@ -4567,7 +3824,37 @@ nmc_property_ipv4_describe_routes (NMSetting *setting, const char *prop)
 	         "          10.1.2.0/24\n");
 }
 
-/* --- NM_SETTING_IP6_CONFIG_SETTING_NAME property setter functions --- */
+
+/* --- NM_SETTING_IP6_CONFIG_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_ipv6_get_method, NM_SETTING_IP_CONFIG_METHOD)
+DEFINE_GETTER (nmc_property_ipv6_get_dns, NM_SETTING_IP_CONFIG_DNS)
+DEFINE_GETTER (nmc_property_ipv6_get_dns_search, NM_SETTING_IP_CONFIG_DNS_SEARCH)
+DEFINE_GETTER_WITH_DEFAULT (nmc_property_ipv6_get_dns_options, NM_SETTING_IP_CONFIG_DNS_OPTIONS, !nm_setting_ip_config_has_dns_options ((NMSettingIPConfig *) setting))
+DEFINE_GETTER (nmc_property_ipv6_get_dns_priority, NM_SETTING_IP_CONFIG_DNS_PRIORITY)
+
+static char *
+nmc_property_ipv6_get_routes (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	return nmc_property_ipvx_get_routes (setting, get_type);
+}
+
+DEFINE_GETTER (nmc_property_ipv6_get_gateway, NM_SETTING_IP_CONFIG_GATEWAY)
+DEFINE_GETTER (nmc_property_ipv6_get_route_metric, NM_SETTING_IP_CONFIG_ROUTE_METRIC)
+DEFINE_GETTER (nmc_property_ipv6_get_ignore_auto_routes, NM_SETTING_IP_CONFIG_IGNORE_AUTO_ROUTES)
+DEFINE_GETTER (nmc_property_ipv6_get_ignore_auto_dns, NM_SETTING_IP_CONFIG_IGNORE_AUTO_DNS)
+DEFINE_GETTER (nmc_property_ipv6_get_never_default, NM_SETTING_IP_CONFIG_NEVER_DEFAULT)
+DEFINE_GETTER (nmc_property_ipv6_get_may_fail, NM_SETTING_IP_CONFIG_MAY_FAIL)
+DEFINE_GETTER (nmc_property_ipv6_get_dhcp_send_hostname, NM_SETTING_IP_CONFIG_DHCP_SEND_HOSTNAME)
+DEFINE_GETTER (nmc_property_ipv6_get_dhcp_hostname, NM_SETTING_IP_CONFIG_DHCP_HOSTNAME)
+DEFINE_GETTER (nmc_property_ipv6_get_token, NM_SETTING_IP6_CONFIG_TOKEN)
+
+static char *
+nmc_property_ipv6_get_ip6_privacy (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingIP6Config *s_ip6 = NM_SETTING_IP6_CONFIG (setting);
+	return ip6_privacy_to_string (nm_setting_ip6_config_get_ip6_privacy (s_ip6), get_type);
+}
+
 /* 'method' */
 static const char *ipv6_valid_methods[] = {
 	NM_SETTING_IP6_CONFIG_METHOD_IGNORE,
@@ -4932,8 +4219,174 @@ nmc_property_ipv6_set_addr_gen_mode (NMSetting *setting, const char *prop,
 	return TRUE;
 }
 
+DEFINE_ALLOWED_FOR_ENUMS (nmc_property_ipv6_allowed_addr_gen_mode,
+                          nm_setting_ip6_config_addr_gen_mode_get_type,
+                          G_MININT, G_MAXINT)
+
+
+/* --- NM_SETTING_MACSEC_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_macsec_get_parent, NM_SETTING_MACSEC_PARENT)
+DEFINE_GETTER (nmc_property_macsec_get_encrypt, NM_SETTING_MACSEC_ENCRYPT)
+DEFINE_GETTER (nmc_property_macsec_get_mka_cak, NM_SETTING_MACSEC_MKA_CAK)
+DEFINE_SECRET_FLAGS_GETTER (nmc_property_macsec_get_mka_cak_flags, NM_SETTING_MACSEC_MKA_CAK_FLAGS)
+DEFINE_GETTER (nmc_property_macsec_get_mka_ckn, NM_SETTING_MACSEC_MKA_CKN)
+DEFINE_GETTER (nmc_property_macsec_get_port, NM_SETTING_MACSEC_PORT)
+
+/* 'mode' */
+static char *
+nmc_property_macsec_get_mode (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingMacsec *s_macsec = NM_SETTING_MACSEC (setting);
+	NMSettingMacsecMode mode;
+
+	mode = nm_setting_macsec_get_mode (s_macsec);
+	return nm_utils_enum_to_str (nm_setting_macsec_mode_get_type (), mode);
+}
+
+static gboolean
+nmc_property_macsec_set_mode (NMSetting *setting, const char *prop,
+                              const char *val, GError **error)
+{
+	NMSettingMacsecMode mode;
+	gs_free char *options = NULL;
+
+	if (!nm_utils_enum_from_str (nm_setting_macsec_mode_get_type (), val,
+	                             (int *) &mode, NULL)) {
+		options = g_strjoinv (",",
+		                      (char **) nm_utils_enum_get_values (nm_setting_macsec_mode_get_type (),
+		                                                          G_MININT,
+		                                                          G_MAXINT));
+		g_set_error (error, 1, 0, _("invalid option '%s', use one of [%s]"),
+		             val, options);
+			return FALSE;
+	}
+
+	g_object_set (setting, prop, mode, NULL);
+	return TRUE;
+}
+
+DEFINE_ALLOWED_FOR_ENUMS (nmc_property_macsec_allowed_mode,
+                          nm_setting_macsec_mode_get_type,
+                          G_MININT, G_MAXINT)
+
+/* 'validation' */
+static char *
+nmc_property_macsec_get_validation (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingMacsec *s_macsec = NM_SETTING_MACSEC (setting);
+	NMSettingMacsecValidation validation;
+
+	validation = nm_setting_macsec_get_validation (s_macsec);
+	return nm_utils_enum_to_str (nm_setting_macsec_validation_get_type (), validation);
+}
+
+static gboolean
+nmc_property_macsec_set_validation (NMSetting *setting, const char *prop,
+                                    const char *val, GError **error)
+{
+	NMSettingMacsecMode validation;
+	gs_free char *options = NULL;
+
+	if (!nm_utils_enum_from_str (nm_setting_macsec_validation_get_type (), val,
+	                             (int *) &validation, NULL)) {
+		options = g_strjoinv (",",
+		                      (char **) nm_utils_enum_get_values (nm_setting_macsec_validation_get_type (),
+		                                                          G_MININT,
+		                                                          G_MAXINT));
+		g_set_error (error, 1, 0, _("invalid option '%s', use one of [%s]"),
+		             val, options);
+			return FALSE;
+	}
+
+	g_object_set (setting, prop, validation, NULL);
+	return TRUE;
+}
+
+DEFINE_ALLOWED_FOR_ENUMS (nmc_property_macsec_allowed_validation,
+                          nm_setting_macsec_validation_get_type,
+                          G_MININT, G_MAXINT)
+
+
+/* --- NM_SETTING_MACVLAN_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_macvlan_get_parent, NM_SETTING_MACVLAN_PARENT)
+DEFINE_GETTER (nmc_property_macvlan_get_promiscuous, NM_SETTING_MACVLAN_PROMISCUOUS)
+DEFINE_GETTER (nmc_property_macvlan_get_tap, NM_SETTING_MACVLAN_TAP)
+
+static char *
+nmc_property_macvlan_get_mode (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingMacvlan *s_macvlan = NM_SETTING_MACVLAN (setting);
+	NMSettingMacvlanMode mode;
+	char *tmp, *str;
+
+	mode = nm_setting_macvlan_get_mode (s_macvlan);
+	tmp = nm_utils_enum_to_str (nm_setting_macvlan_mode_get_type (), mode);
+
+	if (get_type == NMC_PROPERTY_GET_PARSABLE)
+		str = g_strdup (tmp ? tmp : "");
+	else
+		str = g_strdup_printf ("%d (%s)", mode, tmp ? tmp : "");
+	g_free (tmp);
+
+	return str;
+}
+
+static gboolean
+nmc_property_macvlan_set_mode (NMSetting *setting, const char *prop,
+                               const char *val, GError **error)
+{
+	NMSettingMacvlanMode mode;
+	gs_free const char **options = NULL;
+	gs_free char *options_str = NULL;
+	long int t;
+	gboolean ret;
+
+	if (nmc_string_to_int_base (val, 0, TRUE, 0, _NM_SETTING_MACVLAN_MODE_NUM - 1, &t))
+		mode = (NMSettingMacvlanMode) t;
+	else {
+		ret = nm_utils_enum_from_str (nm_setting_macvlan_mode_get_type (), val,
+		                              (int *) &mode, NULL);
+
+		if (!ret) {
+				options = nm_utils_enum_get_values (nm_setting_macvlan_mode_get_type(),
+				                                    NM_SETTING_MACVLAN_MODE_UNKNOWN + 1,
+				                                    G_MAXINT);
+				options_str = g_strjoinv (",", (char **) options);
+				g_set_error (error, 1, 0, _("invalid option '%s', use one of [%s]"),
+				             val, options_str);
+				return FALSE;
+			}
+		}
+
+	g_object_set (setting, prop, (guint) mode, NULL);
+	return TRUE;
+}
+
+DEFINE_ALLOWED_FOR_ENUMS (nmc_property_macvlan_allowed_mode,
+                          nm_setting_macvlan_mode_get_type,
+                          NM_SETTING_MACVLAN_MODE_UNKNOWN + 1, G_MAXINT)
+
+
+/* --- NM_SETTING_OLPC_MESH_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_olpc_get_channel, NM_SETTING_OLPC_MESH_CHANNEL)
+DEFINE_GETTER (nmc_property_olpc_get_anycast_address, NM_SETTING_OLPC_MESH_DHCP_ANYCAST_ADDRESS)
+
+static char *
+nmc_property_olpc_get_ssid (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingOlpcMesh *s_olpc_mesh = NM_SETTING_OLPC_MESH (setting);
+	GBytes *ssid;
+	char *ssid_str = NULL;
+
+	ssid = nm_setting_olpc_mesh_get_ssid (s_olpc_mesh);
+	if (ssid) {
+		ssid_str = nm_utils_ssid_to_utf8 (g_bytes_get_data (ssid, NULL),
+		                                  g_bytes_get_size (ssid));
+	}
+
+	return ssid_str;
+}
 
-/* --- NM_SETTING_OLPC_MESH_SETTING_NAME property setter functions --- */
 static gboolean
 nmc_property_olpc_set_channel (NMSetting *setting, const char *prop, const char *val, GError **error)
 {
@@ -4950,7 +4403,104 @@ nmc_property_olpc_set_channel (NMSetting *setting, const char *prop, const char
 }
 
 
-/* --- NM_SETTING_SERIAL_SETTING_NAME property setter functions --- */
+/* --- NM_SETTING_PPP_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_ppp_get_noauth, NM_SETTING_PPP_NOAUTH)
+DEFINE_GETTER (nmc_property_ppp_get_refuse_eap, NM_SETTING_PPP_REFUSE_EAP)
+DEFINE_GETTER (nmc_property_ppp_get_refuse_pap, NM_SETTING_PPP_REFUSE_PAP)
+DEFINE_GETTER (nmc_property_ppp_get_refuse_chap, NM_SETTING_PPP_REFUSE_CHAP)
+DEFINE_GETTER (nmc_property_ppp_get_refuse_mschap, NM_SETTING_PPP_REFUSE_MSCHAP)
+DEFINE_GETTER (nmc_property_ppp_get_refuse_mschapv2, NM_SETTING_PPP_REFUSE_MSCHAPV2)
+DEFINE_GETTER (nmc_property_ppp_get_nobsdcomp, NM_SETTING_PPP_NOBSDCOMP)
+DEFINE_GETTER (nmc_property_ppp_get_nodeflate, NM_SETTING_PPP_NODEFLATE)
+DEFINE_GETTER (nmc_property_ppp_get_no_vj_comp, NM_SETTING_PPP_NO_VJ_COMP)
+DEFINE_GETTER (nmc_property_ppp_get_require_mppe, NM_SETTING_PPP_REQUIRE_MPPE)
+DEFINE_GETTER (nmc_property_ppp_get_require_mppe_128, NM_SETTING_PPP_REQUIRE_MPPE_128)
+DEFINE_GETTER (nmc_property_ppp_get_mppe_stateful, NM_SETTING_PPP_MPPE_STATEFUL)
+DEFINE_GETTER (nmc_property_ppp_get_crtscts, NM_SETTING_PPP_CRTSCTS)
+DEFINE_GETTER (nmc_property_ppp_get_baud, NM_SETTING_PPP_BAUD)
+DEFINE_GETTER (nmc_property_ppp_get_mru, NM_SETTING_PPP_MRU)
+DEFINE_GETTER (nmc_property_ppp_get_mtu, NM_SETTING_PPP_MTU)
+DEFINE_GETTER (nmc_property_ppp_get_lcp_echo_failure, NM_SETTING_PPP_LCP_ECHO_FAILURE)
+DEFINE_GETTER (nmc_property_ppp_get_lcp_echo_interval, NM_SETTING_PPP_LCP_ECHO_INTERVAL)
+
+
+/* --- NM_SETTING_PPPOE_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_pppoe_get_service, NM_SETTING_PPPOE_SERVICE)
+DEFINE_GETTER (nmc_property_pppoe_get_username, NM_SETTING_PPPOE_USERNAME)
+DEFINE_GETTER (nmc_property_pppoe_get_password, NM_SETTING_PPPOE_PASSWORD)
+DEFINE_SECRET_FLAGS_GETTER (nmc_property_pppoe_get_password_flags, NM_SETTING_PPPOE_PASSWORD_FLAGS)
+
+
+/* --- NM_SETTING_PROXY_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_proxy_get_browser_only, NM_SETTING_PROXY_BROWSER_ONLY)
+DEFINE_GETTER (nmc_property_proxy_get_pac_url, NM_SETTING_PROXY_PAC_URL)
+DEFINE_GETTER (nmc_property_proxy_get_pac_script, NM_SETTING_PROXY_PAC_SCRIPT)
+
+static char *
+nmc_property_proxy_get_method (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingProxy *s_proxy = NM_SETTING_PROXY (setting);
+	NMSettingProxyMethod method;
+
+	method = nm_setting_proxy_get_method (s_proxy);
+	return nm_utils_enum_to_str (nm_setting_proxy_method_get_type (), method);
+}
+
+static gboolean
+nmc_property_proxy_set_method (NMSetting *setting, const char *prop,
+                               const char *val, GError **error)
+{
+	int method;
+	gboolean ret;
+
+	ret = nm_utils_enum_from_str (nm_setting_proxy_method_get_type(), val,
+	                              &method, NULL);
+
+	if (!ret) {
+		gs_free const char **values = NULL;
+		gs_free char *values_str = NULL;
+
+		values = nm_utils_enum_get_values (nm_setting_proxy_method_get_type (),
+		                                   NM_SETTING_PROXY_METHOD_NONE,
+		                                   G_MAXINT);
+		values_str = g_strjoinv (",", (char **) values);
+		g_set_error (error, 1, 0, _("invalid method '%s', use one of %s"),
+		             val, values_str);
+
+		return FALSE;
+	}
+
+	g_object_set (setting, prop, method, NULL);
+	return TRUE;
+}
+
+DEFINE_ALLOWED_FOR_ENUMS (nmc_property_proxy_allowed_method,
+                          nm_setting_proxy_method_get_type,
+                          NM_SETTING_PROXY_METHOD_NONE, G_MAXINT)
+
+static gboolean
+nmc_property_proxy_set_pac_script (NMSetting *setting, const char *prop,
+                                   const char *val, GError **error)
+{
+	char *script = NULL;
+
+	g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+
+	if (!nmc_proxy_check_script (val, &script, error)) {
+		return FALSE;
+	}
+	g_object_set (setting, prop, script, NULL);
+	g_free (script);
+	return TRUE;
+}
+
+
+/* --- NM_SETTING_SERIAL_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_serial_get_baud, NM_SETTING_SERIAL_BAUD)
+DEFINE_GETTER (nmc_property_serial_get_bits, NM_SETTING_SERIAL_BITS)
+DEFINE_GETTER (nmc_property_serial_get_stopbits, NM_SETTING_SERIAL_STOPBITS)
+DEFINE_GETTER (nmc_property_serial_get_send_delay, NM_SETTING_SERIAL_SEND_DELAY)
+
 static char *
 nmc_property_serial_get_parity (NMSetting *setting, NmcPropertyGetType get_type)
 {
@@ -4987,8 +4537,10 @@ nmc_property_serial_set_parity (NMSetting *setting, const char *prop, const char
 	return TRUE;
 }
 
+
 /* --- NM_SETTING_TEAM_SETTING_NAME property functions --- */
-/* --- NM_SETTING_TEAM_PORT_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_team_get_config, NM_SETTING_TEAM_CONFIG)
+
 static gboolean
 nmc_property_team_set_config (NMSetting *setting, const char *prop, const char *val, GError **error)
 {
@@ -5015,7 +4567,90 @@ nmc_property_team_describe_config (NMSetting *setting, const char *prop)
 	         "          set team.config /etc/my-team.conf\n");
 }
 
-/* --- NM_SETTING_VLAN_SETTING_NAME property setter functions --- */
+
+/* --- NM_SETTING_TEAM_PORT_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_team_port_get_config, NM_SETTING_TEAM_PORT_CONFIG)
+
+
+/* --- NM_SETTING_TUN_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_tun_get_owner, NM_SETTING_TUN_OWNER);
+DEFINE_GETTER (nmc_property_tun_get_group, NM_SETTING_TUN_GROUP);
+DEFINE_GETTER (nmc_property_tun_get_pi, NM_SETTING_TUN_PI);
+DEFINE_GETTER (nmc_property_tun_get_vnet_hdr, NM_SETTING_TUN_VNET_HDR);
+DEFINE_GETTER (nmc_property_tun_get_multi_queue, NM_SETTING_TUN_MULTI_QUEUE);
+
+static char *
+nmc_property_tun_get_mode (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingTun *s_tun = NM_SETTING_TUN (setting);
+	NMSettingTunMode mode;
+	char *tmp, *str;
+
+	mode = nm_setting_tun_get_mode (s_tun);
+	tmp = nm_utils_enum_to_str (nm_setting_tun_mode_get_type (), mode);
+	if (get_type == NMC_PROPERTY_GET_PARSABLE)
+		str = g_strdup_printf ("%s", tmp ? tmp : "");
+	else
+		str = g_strdup_printf ("%d (%s)", mode, tmp ? tmp : "");
+	g_free (tmp);
+	return str;
+}
+
+static gboolean
+nmc_property_tun_set_mode (NMSetting *setting, const char *prop,
+                           const char *val, GError **error)
+{
+	NMSettingTunMode mode;
+	gboolean ret;
+	long int t;
+
+	if (nmc_string_to_int_base (val, 0, TRUE, 0, NM_SETTING_TUN_MODE_TAP, &t))
+		mode = (NMSettingTunMode) t;
+	else {
+		ret = nm_utils_enum_from_str (nm_setting_tun_mode_get_type (), val,
+		                              (int *) &mode, NULL);
+
+		if (!ret) {
+			g_set_error (error, 1, 0, _("invalid option '%s', use '%s' or '%s'"),
+			             val, "tun", "tap");
+			return FALSE;
+		}
+	}
+
+	g_object_set (setting, prop, (guint) mode, NULL);
+	return TRUE;
+}
+
+static const char *tun_valid_modes[] = { "tun", "tap", "unknown", NULL };
+
+DEFINE_ALLOWED_VAL_FUNC (nmc_property_tun_allowed_mode, tun_valid_modes)
+
+
+/* --- NM_SETTING_VLAN_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_vlan_get_parent, NM_SETTING_VLAN_PARENT)
+DEFINE_GETTER (nmc_property_vlan_get_id, NM_SETTING_VLAN_ID)
+
+static char *
+nmc_property_vlan_get_flags (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingVlan *s_vlan = NM_SETTING_VLAN (setting);
+	return vlan_flags_to_string (nm_setting_vlan_get_flags (s_vlan));
+}
+
+static char *
+nmc_property_vlan_get_ingress_priority_map (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingVlan *s_vlan = NM_SETTING_VLAN (setting);
+	return vlan_priorities_to_string (s_vlan, NM_VLAN_INGRESS_MAP);
+}
+
+static char *
+nmc_property_vlan_get_egress_priority_map (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingVlan *s_vlan = NM_SETTING_VLAN (setting);
+	return vlan_priorities_to_string (s_vlan, NM_VLAN_EGRESS_MAP);
+}
+
 static gboolean
 nmc_property_vlan_set_prio_map (NMSetting *setting,
                                 const char *prop,
@@ -5137,8 +4772,39 @@ nmc_property_vlan_remove_egress_priority_map (NMSetting *setting,
                                                       error);
 }
 
-/* --- NM_SETTING_VPN_SETTING_NAME property setter functions --- */
-/* Validate value of vpn 'data' and 'secret'  options */
+
+/* --- NM_SETTING_VPN_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_vpn_get_service_type, NM_SETTING_VPN_SERVICE_TYPE)
+DEFINE_GETTER (nmc_property_vpn_get_user_name, NM_SETTING_VPN_USER_NAME)
+
+static char *
+nmc_property_vpn_get_data (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingVpn *s_vpn = NM_SETTING_VPN (setting);
+	GString *data_item_str;
+
+	data_item_str = g_string_new (NULL);
+	nm_setting_vpn_foreach_data_item (s_vpn, &vpn_data_item, data_item_str);
+
+	return g_string_free (data_item_str, FALSE);
+}
+
+static char *
+nmc_property_vpn_get_secrets (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingVpn *s_vpn = NM_SETTING_VPN (setting);
+	GString *secret_str;
+
+	secret_str = g_string_new (NULL);
+	nm_setting_vpn_foreach_secret (s_vpn, &vpn_data_item, secret_str);
+
+	return g_string_free (secret_str, FALSE);
+}
+
+DEFINE_GETTER (nmc_property_vpn_get_persistent, NM_SETTING_VPN_PERSISTENT)
+DEFINE_GETTER (nmc_property_vpn_get_timeout, NM_SETTING_VPN_TIMEOUT)
+
+/* Validate value of vpn 'data' and 'secret' options */
 static const char *
 _validate_vpn_hash_value (const char *option, const char *value, GError **error)
 {
@@ -5173,10 +4839,140 @@ DEFINE_REMOVER_OPTION (nmc_property_vpn_remove_option_secret,
                        NM_SETTING_VPN,
                        nm_setting_vpn_remove_secret)
 
-/* --- NM_SETTING_WIMAX_SETTING_NAME property setter functions --- */
-/* No specific functions */
 
-/* --- NM_SETTING_WIRED_SETTING_NAME property setter functions --- */
+/* --- NM_SETTING_VXLAN_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_vxlan_get_parent, NM_SETTING_VXLAN_PARENT)
+DEFINE_GETTER (nmc_property_vxlan_get_id, NM_SETTING_VXLAN_ID)
+DEFINE_GETTER (nmc_property_vxlan_get_local, NM_SETTING_VXLAN_LOCAL)
+DEFINE_GETTER (nmc_property_vxlan_get_remote, NM_SETTING_VXLAN_REMOTE)
+DEFINE_GETTER (nmc_property_vxlan_get_source_port_min, NM_SETTING_VXLAN_SOURCE_PORT_MIN)
+DEFINE_GETTER (nmc_property_vxlan_get_source_port_max, NM_SETTING_VXLAN_SOURCE_PORT_MAX)
+DEFINE_GETTER (nmc_property_vxlan_get_destination_port, NM_SETTING_VXLAN_DESTINATION_PORT)
+DEFINE_GETTER (nmc_property_vxlan_get_tos, NM_SETTING_VXLAN_TOS)
+DEFINE_GETTER (nmc_property_vxlan_get_ttl, NM_SETTING_VXLAN_TTL)
+DEFINE_GETTER (nmc_property_vxlan_get_ageing, NM_SETTING_VXLAN_AGEING)
+DEFINE_GETTER (nmc_property_vxlan_get_limit, NM_SETTING_VXLAN_LIMIT)
+DEFINE_GETTER (nmc_property_vxlan_get_learning, NM_SETTING_VXLAN_LEARNING)
+DEFINE_GETTER (nmc_property_vxlan_get_proxy, NM_SETTING_VXLAN_PROXY)
+DEFINE_GETTER (nmc_property_vxlan_get_rsc, NM_SETTING_VXLAN_RSC)
+DEFINE_GETTER (nmc_property_vxlan_get_l2_miss, NM_SETTING_VXLAN_L2_MISS)
+DEFINE_GETTER (nmc_property_vxlan_get_l3_miss, NM_SETTING_VXLAN_L3_MISS)
+
+
+/* --- NM_SETTING_WIMAX_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_wimax_get_network_name, NM_SETTING_WIMAX_NETWORK_NAME)
+DEFINE_GETTER (nmc_property_wimax_get_mac_address, NM_SETTING_WIMAX_MAC_ADDRESS)
+
+
+/* --- NM_SETTING_WIRED_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_wired_get_port, NM_SETTING_WIRED_PORT)
+DEFINE_GETTER (nmc_property_wired_get_auto_negotiate, NM_SETTING_WIRED_AUTO_NEGOTIATE)
+DEFINE_GETTER (nmc_property_wired_get_mac_address, NM_SETTING_WIRED_MAC_ADDRESS)
+DEFINE_GETTER (nmc_property_wired_get_cloned_mac_address, NM_SETTING_WIRED_CLONED_MAC_ADDRESS)
+DEFINE_GETTER (nmc_property_wired_get_generate_mac_address_mask, NM_SETTING_WIRED_GENERATE_MAC_ADDRESS_MASK)
+DEFINE_GETTER (nmc_property_wired_get_mac_address_blacklist, NM_SETTING_WIRED_MAC_ADDRESS_BLACKLIST)
+DEFINE_GETTER (nmc_property_wired_get_s390_subchannels, NM_SETTING_WIRED_S390_SUBCHANNELS)
+DEFINE_GETTER (nmc_property_wired_get_s390_nettype, NM_SETTING_WIRED_S390_NETTYPE)
+DEFINE_GETTER (nmc_property_wired_get_s390_options, NM_SETTING_WIRED_S390_OPTIONS)
+DEFINE_GETTER (nmc_property_wired_get_wake_on_lan_password, NM_SETTING_WIRED_WAKE_ON_LAN_PASSWORD)
+
+static char *
+nmc_property_wired_get_speed (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingWired *s_wired = NM_SETTING_WIRED (setting);
+	guint32 speed;
+
+	speed = nm_setting_wired_get_speed (s_wired);
+	return g_strdup_printf ("%d", speed);
+}
+
+static char *
+nmc_property_wired_get_duplex (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingWired *s_wired = NM_SETTING_WIRED (setting);
+	const char *str;
+
+	str = nm_setting_wired_get_duplex (s_wired);
+	if (!str)
+		return NULL;
+	else
+		return g_strdup (str);
+
+}
+
+static char *
+nmc_property_wired_get_mtu (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingWired *s_wired = NM_SETTING_WIRED (setting);
+	int mtu;
+
+	mtu = nm_setting_wired_get_mtu (s_wired);
+	if (mtu == 0)
+		return g_strdup (_("auto"));
+	else
+		return g_strdup_printf ("%d", mtu);
+}
+
+static char *
+nmc_property_wired_get_wake_on_lan (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingWired *s_wired = NM_SETTING_WIRED (setting);
+	NMSettingWiredWakeOnLan wol;
+	char *tmp, *str;
+
+	wol = nm_setting_wired_get_wake_on_lan (s_wired);
+	tmp = nm_utils_enum_to_str (nm_setting_wired_wake_on_lan_get_type (), wol);
+	if (get_type == NMC_PROPERTY_GET_PARSABLE)
+		str = g_strdup_printf ("%s", tmp && *tmp ? tmp : "none");
+	else
+		str = g_strdup_printf ("%d (%s)", wol, tmp && *tmp ? tmp : "none");
+	g_free (tmp);
+	return str;
+}
+
+static gboolean
+nmc_property_wired_set_wake_on_lan (NMSetting *setting, const char *prop,
+                                    const char *val, GError **error)
+{
+	NMSettingWiredWakeOnLan wol;
+	gs_free char *err_token = NULL;
+	gboolean ret;
+	long int t;
+
+	if (nmc_string_to_int_base (val, 0, TRUE, 0,
+	                            NM_SETTING_WIRED_WAKE_ON_LAN_ALL
+	                            | NM_SETTING_WIRED_WAKE_ON_LAN_EXCLUSIVE_FLAGS,
+	                            &t))
+		wol = (NMSettingWiredWakeOnLan) t;
+	else {
+		ret = nm_utils_enum_from_str (nm_setting_wired_wake_on_lan_get_type (), val,
+		                              (int *) &wol, &err_token);
+
+		if (!ret) {
+			if (   g_ascii_strcasecmp (err_token, "none") == 0
+			    || g_ascii_strcasecmp (err_token, "disable") == 0
+			    || g_ascii_strcasecmp (err_token, "disabled") == 0)
+				wol = NM_SETTING_WIRED_WAKE_ON_LAN_NONE;
+			else {
+				g_set_error (error, 1, 0, _("invalid option '%s', use a combination of [%s] or 'ignore', 'default' or 'none'"),
+				             err_token,
+				             nm_utils_enum_to_str (nm_setting_wired_wake_on_lan_get_type (),
+				                                   NM_SETTING_WIRED_WAKE_ON_LAN_ALL));
+				return FALSE;
+			}
+		}
+	}
+
+	if (   NM_FLAGS_ANY (wol, NM_SETTING_WIRED_WAKE_ON_LAN_EXCLUSIVE_FLAGS)
+	    && !nm_utils_is_power_of_two (wol)) {
+		g_set_error_literal (error, 1, 0, _("'default' and 'ignore' are incompatible with other flags"));
+		return FALSE;
+	}
+
+	g_object_set (setting, prop, (guint) wol, NULL);
+	return TRUE;
+}
+
 #if 0
 -/*
 - * Do not allow setting 'port' for now. It is not implemented in
@@ -5322,7 +5118,85 @@ nmc_property_wired_describe_s390_options (NMSetting *setting, const char *prop)
 	return desc;
 }
 
-/* --- NM_SETTING_WIRELESS_SETTING_NAME property setter functions --- */
+
+/* --- NM_SETTING_WIRELESS_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_wireless_get_mode, NM_SETTING_WIRELESS_MODE)
+DEFINE_GETTER (nmc_property_wireless_get_band, NM_SETTING_WIRELESS_BAND)
+DEFINE_GETTER (nmc_property_wireless_get_channel, NM_SETTING_WIRELESS_CHANNEL)
+DEFINE_GETTER (nmc_property_wireless_get_bssid, NM_SETTING_WIRELESS_BSSID)
+DEFINE_GETTER (nmc_property_wireless_get_rate, NM_SETTING_WIRELESS_RATE)
+DEFINE_GETTER (nmc_property_wireless_get_tx_power, NM_SETTING_WIRELESS_TX_POWER)
+DEFINE_GETTER (nmc_property_wireless_get_mac_address, NM_SETTING_WIRELESS_MAC_ADDRESS)
+DEFINE_GETTER (nmc_property_wireless_get_cloned_mac_address, NM_SETTING_WIRELESS_CLONED_MAC_ADDRESS)
+DEFINE_GETTER (nmc_property_wireless_get_generate_mac_address_mask, NM_SETTING_WIRELESS_GENERATE_MAC_ADDRESS_MASK)
+DEFINE_GETTER (nmc_property_wireless_get_mac_address_blacklist, NM_SETTING_WIRELESS_MAC_ADDRESS_BLACKLIST)
+DEFINE_GETTER (nmc_property_wireless_get_seen_bssids, NM_SETTING_WIRELESS_SEEN_BSSIDS)
+DEFINE_GETTER (nmc_property_wireless_get_hidden, NM_SETTING_WIRELESS_HIDDEN)
+
+static char *
+nmc_property_wireless_get_ssid (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingWireless *s_wireless = NM_SETTING_WIRELESS (setting);
+	GBytes *ssid;
+	char *ssid_str = NULL;
+
+	ssid = nm_setting_wireless_get_ssid (s_wireless);
+	if (ssid) {
+		ssid_str = nm_utils_ssid_to_utf8 (g_bytes_get_data (ssid, NULL),
+		                                  g_bytes_get_size (ssid));
+	}
+
+	return ssid_str;
+}
+
+static char *
+nmc_property_wireless_get_mtu (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingWireless *s_wireless = NM_SETTING_WIRELESS (setting);
+	int mtu;
+
+	mtu = nm_setting_wireless_get_mtu (s_wireless);
+	if (mtu == 0)
+		return g_strdup (_("auto"));
+	else
+		return g_strdup_printf ("%d", mtu);
+}
+
+static char *
+nmc_property_wireless_get_powersave (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingWireless *s_wireless = NM_SETTING_WIRELESS (setting);
+	NMSettingWirelessPowersave powersave;
+	gs_free char *str = NULL;
+	char *ret;
+
+	powersave = nm_setting_wireless_get_powersave (s_wireless);
+	str = nm_utils_enum_to_str (nm_setting_wireless_powersave_get_type (), powersave);
+
+	if (get_type == NMC_PROPERTY_GET_PARSABLE) {
+		ret = str;
+		str = NULL;
+		return ret;
+	} else
+		return g_strdup_printf ("%s (%u)", str, powersave);
+}
+
+static char *
+nmc_property_wireless_get_mac_address_randomization (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingWireless *s_wifi = NM_SETTING_WIRELESS (setting);
+	NMSettingMacRandomization randomization = nm_setting_wireless_get_mac_address_randomization (s_wifi);
+
+	if (randomization == NM_SETTING_MAC_RANDOMIZATION_DEFAULT)
+		return g_strdup (_("default"));
+	else if (randomization == NM_SETTING_MAC_RANDOMIZATION_NEVER)
+		return g_strdup (_("never"));
+	else if (randomization == NM_SETTING_MAC_RANDOMIZATION_ALWAYS)
+		return g_strdup_printf (_("always"));
+	else
+		return g_strdup_printf (_("unknown"));
+}
+
 /* 'mode' */
 static const char *wifi_valid_modes[] = {
 	NM_SETTING_WIRELESS_MODE_INFRA,
@@ -5469,7 +5343,56 @@ nmc_property_wireless_set_mac_address_randomization (NMSetting *setting,
 	return TRUE;
 }
 
-/* --- NM_SETTING_WIRELESS_SECURITY_SETTING_NAME property setter functions --- */
+
+/* --- NM_SETTING_WIRELESS_SECURITY_SETTING_NAME property functions --- */
+DEFINE_GETTER (nmc_property_wifi_sec_get_key_mgmt, NM_SETTING_WIRELESS_SECURITY_KEY_MGMT)
+DEFINE_GETTER (nmc_property_wifi_sec_get_wep_tx_keyidx, NM_SETTING_WIRELESS_SECURITY_WEP_TX_KEYIDX)
+DEFINE_GETTER (nmc_property_wifi_sec_get_auth_alg, NM_SETTING_WIRELESS_SECURITY_AUTH_ALG)
+DEFINE_GETTER (nmc_property_wifi_sec_get_proto, NM_SETTING_WIRELESS_SECURITY_PROTO)
+DEFINE_GETTER (nmc_property_wifi_sec_get_pairwise, NM_SETTING_WIRELESS_SECURITY_PAIRWISE)
+DEFINE_GETTER (nmc_property_wifi_sec_get_group, NM_SETTING_WIRELESS_SECURITY_GROUP)
+DEFINE_GETTER (nmc_property_wifi_sec_get_leap_username, NM_SETTING_WIRELESS_SECURITY_LEAP_USERNAME)
+DEFINE_SECRET_FLAGS_GETTER (nmc_property_wifi_sec_get_wep_key_flags, NM_SETTING_WIRELESS_SECURITY_WEP_KEY_FLAGS)
+DEFINE_GETTER (nmc_property_wifi_sec_get_psk, NM_SETTING_WIRELESS_SECURITY_PSK)
+DEFINE_SECRET_FLAGS_GETTER (nmc_property_wifi_sec_get_psk_flags, NM_SETTING_WIRELESS_SECURITY_PSK_FLAGS)
+DEFINE_GETTER (nmc_property_wifi_sec_get_leap_password, NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD)
+DEFINE_SECRET_FLAGS_GETTER (nmc_property_wifi_sec_get_leap_password_flags, NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD_FLAGS)
+
+static char *
+nmc_property_wifi_sec_get_wep_key0 (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingWirelessSecurity *s_wireless_sec = NM_SETTING_WIRELESS_SECURITY (setting);
+	return g_strdup (nm_setting_wireless_security_get_wep_key (s_wireless_sec, 0));
+}
+
+static char *
+nmc_property_wifi_sec_get_wep_key1 (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingWirelessSecurity *s_wireless_sec = NM_SETTING_WIRELESS_SECURITY (setting);
+	return g_strdup (nm_setting_wireless_security_get_wep_key (s_wireless_sec, 1));
+}
+
+static char *
+nmc_property_wifi_sec_get_wep_key2 (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingWirelessSecurity *s_wireless_sec = NM_SETTING_WIRELESS_SECURITY (setting);
+	return g_strdup (nm_setting_wireless_security_get_wep_key (s_wireless_sec, 2));
+}
+
+static char *
+nmc_property_wifi_sec_get_wep_key3 (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingWirelessSecurity *s_wireless_sec = NM_SETTING_WIRELESS_SECURITY (setting);
+	return g_strdup (nm_setting_wireless_security_get_wep_key (s_wireless_sec, 3));
+}
+
+static char *
+nmc_property_wifi_sec_get_wep_key_type (NMSetting *setting, NmcPropertyGetType get_type)
+{
+	NMSettingWirelessSecurity *s_wireless_sec = NM_SETTING_WIRELESS_SECURITY (setting);
+	return wep_key_type_to_string (nm_setting_wireless_security_get_wep_key_type (s_wireless_sec));
+}
+
 /* 'key-mgmt' */
 static const char *wifi_sec_valid_key_mgmts[] = { "none", "ieee8021x", "wpa-none", "wpa-psk", "wpa-eap", NULL };
 
@@ -5728,336 +5651,405 @@ nmc_property_wifi_set_psk (NMSetting *setting, const char *prop, const char *val
 	return TRUE;
 }
 
-#define DCB_ALL_FLAGS (NM_SETTING_DCB_FLAG_ENABLE | NM_SETTING_DCB_FLAG_ADVERTISE | NM_SETTING_DCB_FLAG_WILLING)
+/*----------------------------------------------------------------------------*/
 
-/* DCB stuff */
-static gboolean
-nmc_property_dcb_set_flags (NMSetting *setting, const char *prop, const char *val, GError **error)
+static void
+nmc_value_transform_bool_string (const GValue *src_value,
+                                 GValue       *dest_value)
 {
-	char **strv = NULL, **iter;
-	NMSettingDcbFlags flags = NM_SETTING_DCB_FLAG_NONE;
-	long int t;
+	dest_value->data[0].v_pointer = g_strdup (src_value->data[0].v_int ? "yes" : "no");
+}
 
-	g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+static void
+nmc_value_transform_char_string (const GValue *src_value,
+                                 GValue       *dest_value)
+{
+	dest_value->data[0].v_pointer = g_strdup_printf ("%c", src_value->data[0].v_uint);
+}
 
-	/* Check for overall hex numeric value */
-	if (nmc_string_to_int_base (val, 0, TRUE, 0, DCB_ALL_FLAGS, &t))
-		flags = (guint) t;
-	else {
-		/* Check for individual flag numbers */
-		strv = nmc_strsplit_set (val, " \t,", 0);
-		for (iter = strv; iter && *iter; iter++) {
-			if (!nmc_string_to_int_base (*iter, 0, TRUE, 0, DCB_ALL_FLAGS, &t))
-				t = -1;
+static void __attribute__((constructor))
+register_nmcli_value_transforms (void)
+{
+	g_value_register_transform_func (G_TYPE_BOOLEAN, G_TYPE_STRING, nmc_value_transform_bool_string);
+	g_value_register_transform_func (G_TYPE_CHAR, G_TYPE_STRING, nmc_value_transform_char_string);
+}
 
-			if (   g_ascii_strcasecmp (*iter, "enable") == 0
-			    || g_ascii_strcasecmp (*iter, "enabled") == 0
-			    || t == NM_SETTING_DCB_FLAG_ENABLE)
-				flags |= NM_SETTING_DCB_FLAG_ENABLE;
-			else if (   g_ascii_strcasecmp (*iter, "advertise") == 0
-				 || t == NM_SETTING_DCB_FLAG_ADVERTISE)
-				flags |= NM_SETTING_DCB_FLAG_ADVERTISE;
-			else if (   g_ascii_strcasecmp (*iter, "willing") == 0
-				 || t == NM_SETTING_DCB_FLAG_WILLING)
-				flags |= NM_SETTING_DCB_FLAG_WILLING;
-			else if (   g_ascii_strcasecmp (*iter, "disable") == 0
-				 || g_ascii_strcasecmp (*iter, "disabled") == 0
-				 || t == 0) {
-				/* pass */
-			} else {
-				g_set_error (error, 1, 0, _("'%s' is not a valid DCB flag"), *iter);
-				return FALSE;
-			}
-		}
-		g_strfreev (strv);
-	}
+/*----------------------------------------------------------------------------*/
 
-	/* Validate the flags according to the property spec */
-	if (!validate_flags (setting, prop, (guint) flags, error))
-		return FALSE;
+/* Main hash table storing function pointer for manipulating properties */
+static GHashTable *nmc_properties = NULL;
+typedef	char *        (*NmcPropertyGetFunc)      (NMSetting *, NmcPropertyGetType);
+typedef	gboolean      (*NmcPropertySetFunc)      (NMSetting *, const char *, const char *, GError **);
+typedef	gboolean      (*NmcPropertyRemoveFunc)   (NMSetting *, const char *, const char *, guint32, GError **);
+typedef	const char *  (*NmcPropertyDescribeFunc) (NMSetting *, const char *);
+typedef	const char ** (*NmcPropertyValuesFunc)   (NMSetting *, const char *);
 
-	g_object_set (setting, prop, (guint) flags, NULL);
-	return TRUE;
-}
+typedef struct {
+	/* The order of the fields is important as they correspond
+	 * to the order as _nmc_add_prop_funcs() passes the arguments. */
+#define NmcPropertyFuncsFields \
+	NmcPropertyGetFunc get_func;           /* func getting property values */ \
+	NmcPropertySetFunc set_func;           /* func adding/setting property values */ \
+	NmcPropertyRemoveFunc remove_func;     /* func removing items from container options */ \
+	NmcPropertyDescribeFunc describe_func; /* func returning property description */ \
+	NmcPropertyValuesFunc values_func;     /* func returning allowed property values */ \
+	;
+	NmcPropertyFuncsFields
+} NmcPropertyFuncs;
 
-static gboolean
-nmc_property_dcb_set_priority (NMSetting *setting, const char *prop, const char *val, GError **error)
+NMSetting *
+nmc_setting_new_for_name (const char *name)
 {
-	long int priority = 0;
-
-	g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+	GType stype;
+	NMSetting *setting = NULL;
 
-	if (!nmc_string_to_int (val, FALSE, -1, 7, &priority)) {
-		g_set_error (error, 1, 0, _("'%s' is not a DCB app priority"), val);
-		return FALSE;
+	if (name) {
+		stype = nm_setting_lookup_type (name);
+		if (stype != G_TYPE_INVALID) {
+			setting = g_object_new (stype, NULL);
+			g_warn_if_fail (NM_IS_SETTING (setting));
+		}
 	}
-
-	/* Validate the number according to the property spec */
-	if (!validate_int (setting, prop, (gint) priority, error))
-		return FALSE;
-
-	g_object_set (setting, prop, (gint) priority, NULL);
-	return TRUE;
+	return setting;
 }
 
 static gboolean
-dcb_parse_uint_array (const char *val,
-                      guint max,
-                      guint other,
-                      guint *out_array,
-                      GError **error)
+get_answer (const char *prop, const char *value)
 {
-	char **items, **iter;
-	guint i = 0;
-
-	g_return_val_if_fail (out_array != NULL, FALSE);
+	char *tmp_str;
+	char *question;
+	gboolean answer = FALSE;
 
-	items = g_strsplit_set (val, ",", -1);
-	if (g_strv_length (items) != 8) {
-		g_set_error_literal (error, 1, 0, _("must contain 8 comma-separated numbers"));
-		goto error;
-	}
+	if (value)
+		question = g_strdup_printf (_("Do you also want to set '%s' to '%s'? [yes]: "), prop, value);
+	else
+		question = g_strdup_printf (_("Do you also want to clear '%s'? [yes]: "), prop);
+	tmp_str = nmc_get_user_input (question);
+	if (!tmp_str || matches (tmp_str, "yes") == 0)
+		answer = TRUE;
+	g_free (tmp_str);
+	g_free (question);
+	return answer;
+}
 
-	for (iter = items; iter && *iter; iter++) {
-		long int num = 0;
-		gboolean success;
+static void ipv4_method_changed_cb (GObject *object, GParamSpec *pspec, gpointer user_data);
+static void ipv6_method_changed_cb (GObject *object, GParamSpec *pspec, gpointer user_data);
 
-		*iter = g_strstrip (*iter);
-		success = nmc_string_to_int_base (*iter, 10, TRUE, 0, other ? other : max, &num);
+static void
+ipv4_addresses_changed_cb (GObject *object, GParamSpec *pspec, gpointer user_data)
+{
+	static gboolean answered = FALSE;
+	static gboolean answer = FALSE;
 
-		/* If number is greater than 'max' it must equal 'other' */
-		if (success && other && (num > max) && (num != other))
-			success = FALSE;
+	g_signal_handlers_block_by_func (object, G_CALLBACK (ipv4_method_changed_cb), NULL);
 
-		if (!success) {
-			if (other) {
-				g_set_error (error, 1, 0, _("'%s' not a number between 0 and %u (inclusive) or %u"),
-					     *iter, max, other);
-			} else {
-				g_set_error (error, 1, 0, _("'%s' not a number between 0 and %u (inclusive)"),
-					     *iter, max);
+	/* If we have some IP addresses set method to 'manual'.
+	 * Else if the method was 'manual', change it back to 'auto'.
+	 */
+	if (nm_setting_ip_config_get_num_addresses (NM_SETTING_IP_CONFIG (object))) {
+		if (g_strcmp0 (nm_setting_ip_config_get_method (NM_SETTING_IP_CONFIG (object)), NM_SETTING_IP4_CONFIG_METHOD_MANUAL)) {
+			if (!answered) {
+				answered = TRUE;
+				answer = get_answer ("ipv4.method", "manual");
 			}
-			goto error;
+			if (answer)
+				g_object_set (object, NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP4_CONFIG_METHOD_MANUAL, NULL);
 		}
-		out_array[i++] = (guint) num;
+	} else {
+		answered = FALSE;
+		if (!g_strcmp0 (nm_setting_ip_config_get_method (NM_SETTING_IP_CONFIG (object)), NM_SETTING_IP4_CONFIG_METHOD_MANUAL))
+			g_object_set (object, NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP4_CONFIG_METHOD_AUTO, NULL);
 	}
 
-	return TRUE;
-
-error:
-	g_strfreev (items);
-	return FALSE;
+	g_signal_handlers_unblock_by_func (object, G_CALLBACK (ipv4_method_changed_cb), NULL);
 }
 
 static void
-dcb_check_feature_enabled (NMSettingDcb *s_dcb, const char *flags_prop)
-{
-	NMSettingDcbFlags flags = NM_SETTING_DCB_FLAG_NONE;
-
-	g_object_get (s_dcb, flags_prop, &flags, NULL);
-	if (!(flags & NM_SETTING_DCB_FLAG_ENABLE))
-		g_print (_("Warning: changes will have no effect until '%s' includes 1 (enabled)\n\n"), flags_prop);
-}
-
-static gboolean
-nmc_property_dcb_set_pfc (NMSetting *setting, const char *prop, const char *val, GError **error)
+ipv4_method_changed_cb (GObject *object, GParamSpec *pspec, gpointer user_data)
 {
-	guint i = 0;
-	guint nums[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
-
-	g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+	static GValue value = G_VALUE_INIT;
+	static gboolean answered = FALSE;
+	static gboolean answer = FALSE;
 
-	if (!dcb_parse_uint_array (val, 1, 0, nums, error))
-		return FALSE;
+	g_signal_handlers_block_by_func (object, G_CALLBACK (ipv4_addresses_changed_cb), NULL);
 
-	for (i = 0; i < 8; i++)
-		nm_setting_dcb_set_priority_flow_control (NM_SETTING_DCB (setting), i, !!nums[i]);
+	/* If method != manual, remove addresses (save them for restoring them later when method becomes 'manual' */
+	if (g_strcmp0 (nm_setting_ip_config_get_method (NM_SETTING_IP_CONFIG (object)), NM_SETTING_IP4_CONFIG_METHOD_MANUAL)) {
+		if (nm_setting_ip_config_get_num_addresses (NM_SETTING_IP_CONFIG (object))) {
+			if (!answered) {
+				answered = TRUE;
+				answer = get_answer ("ipv4.addresses", NULL);
+			}
+			if (answer) {
+				if (G_IS_VALUE (&value))
+					g_value_unset (&value);
+				nmc_property_get_gvalue (NM_SETTING (object), NM_SETTING_IP_CONFIG_ADDRESSES, &value);
+				g_object_set (object, NM_SETTING_IP_CONFIG_ADDRESSES, NULL, NULL);
+			}
+		}
+	} else {
+		answered = FALSE;
+		if (G_IS_VALUE (&value)) {
+			nmc_property_set_gvalue (NM_SETTING (object), NM_SETTING_IP_CONFIG_ADDRESSES, &value);
+			g_value_unset (&value);
+		}
+	}
 
-	dcb_check_feature_enabled (NM_SETTING_DCB (setting), NM_SETTING_DCB_PRIORITY_FLOW_CONTROL_FLAGS);
-	return TRUE;
+	g_signal_handlers_unblock_by_func (object, G_CALLBACK (ipv4_addresses_changed_cb), NULL);
 }
 
-static gboolean
-nmc_property_dcb_set_pg_group_id (NMSetting *setting, const char *prop, const char *val, GError **error)
+static void
+ipv6_addresses_changed_cb (GObject *object, GParamSpec *pspec, gpointer user_data)
 {
-	guint i = 0;
-	guint nums[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
-
-	g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+	static gboolean answered = FALSE;
+	static gboolean answer = FALSE;
 
-	if (!dcb_parse_uint_array (val, 7, 15, nums, error))
-		return FALSE;
+	g_signal_handlers_block_by_func (object, G_CALLBACK (ipv6_method_changed_cb), NULL);
 
-	for (i = 0; i < 8; i++)
-		nm_setting_dcb_set_priority_group_id (NM_SETTING_DCB (setting), i, nums[i]);
+	/* If we have some IP addresses set method to 'manual'.
+	 * Else if the method was 'manual', change it back to 'auto'.
+	 */
+	if (nm_setting_ip_config_get_num_addresses (NM_SETTING_IP_CONFIG (object))) {
+		if (g_strcmp0 (nm_setting_ip_config_get_method (NM_SETTING_IP_CONFIG (object)), NM_SETTING_IP6_CONFIG_METHOD_MANUAL)) {
+			if (!answered) {
+				answered = TRUE;
+				answer = get_answer ("ipv6.method", "manual");
+			}
+			if (answer)
+				g_object_set (object, NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP6_CONFIG_METHOD_MANUAL, NULL);
+		}
+	} else {
+		answered = FALSE;
+		if (!g_strcmp0 (nm_setting_ip_config_get_method (NM_SETTING_IP_CONFIG (object)), NM_SETTING_IP6_CONFIG_METHOD_MANUAL))
+			g_object_set (object, NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP6_CONFIG_METHOD_AUTO, NULL);
+	}
 
-	dcb_check_feature_enabled (NM_SETTING_DCB (setting), NM_SETTING_DCB_PRIORITY_GROUP_FLAGS);
-	return TRUE;
+	g_signal_handlers_unblock_by_func (object, G_CALLBACK (ipv6_method_changed_cb), NULL);
 }
 
-static gboolean
-nmc_property_dcb_set_pg_group_bandwidth (NMSetting *setting, const char *prop, const char *val, GError **error)
+static void
+ipv6_method_changed_cb (GObject *object, GParamSpec *pspec, gpointer user_data)
 {
-	guint i = 0, sum = 0;
-	guint nums[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
-
-	g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+	static GValue value = G_VALUE_INIT;
+	static gboolean answered = FALSE;
+	static gboolean answer = FALSE;
 
-	if (!dcb_parse_uint_array (val, 100, 0, nums, error))
-		return FALSE;
+	g_signal_handlers_block_by_func (object, G_CALLBACK (ipv6_addresses_changed_cb), NULL);
 
-	for (i = 0; i < 8; i++)
-		sum += nums[i];
-	if (sum != 100) {
-		g_set_error_literal (error, 1, 0, _("bandwidth percentages must total 100%%"));
-		return FALSE;
+	/* If method != manual, remove addresses (save them for restoring them later when method becomes 'manual' */
+	if (g_strcmp0 (nm_setting_ip_config_get_method (NM_SETTING_IP_CONFIG (object)), NM_SETTING_IP6_CONFIG_METHOD_MANUAL)) {
+		if (nm_setting_ip_config_get_num_addresses (NM_SETTING_IP_CONFIG (object))) {
+			if (!answered) {
+				answered = TRUE;
+				answer = get_answer ("ipv6.addresses", NULL);
+			}
+			if (answer) {
+				if (G_IS_VALUE (&value))
+					g_value_unset (&value);
+				nmc_property_get_gvalue (NM_SETTING (object), NM_SETTING_IP_CONFIG_ADDRESSES, &value);
+				g_object_set (object, NM_SETTING_IP_CONFIG_ADDRESSES, NULL, NULL);
+			}
+		}
+	} else {
+		answered = FALSE;
+		if (G_IS_VALUE (&value)) {
+			nmc_property_set_gvalue (NM_SETTING (object), NM_SETTING_IP_CONFIG_ADDRESSES, &value);
+			g_value_unset (&value);
+		}
 	}
 
-	for (i = 0; i < 8; i++)
-		nm_setting_dcb_set_priority_group_bandwidth (NM_SETTING_DCB (setting), i, nums[i]);
-
-	dcb_check_feature_enabled (NM_SETTING_DCB (setting), NM_SETTING_DCB_PRIORITY_GROUP_FLAGS);
-	return TRUE;
+	g_signal_handlers_unblock_by_func (object, G_CALLBACK (ipv6_addresses_changed_cb), NULL);
 }
 
-static gboolean
-nmc_property_dcb_set_pg_bandwidth (NMSetting *setting, const char *prop, const char *val, GError **error)
+static void
+proxy_method_changed_cb (GObject *object, GParamSpec *pspec, gpointer user_data)
 {
-	guint i = 0;
-	guint nums[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
-
-	g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
-
-	if (!dcb_parse_uint_array (val, 100, 0, nums, error))
-		return FALSE;
+	NMSettingProxyMethod method;
 
-	for (i = 0; i < 8; i++)
-		nm_setting_dcb_set_priority_bandwidth (NM_SETTING_DCB (setting), i, nums[i]);
+	method = nm_setting_proxy_get_method (NM_SETTING_PROXY (object));
 
-	dcb_check_feature_enabled (NM_SETTING_DCB (setting), NM_SETTING_DCB_PRIORITY_GROUP_FLAGS);
-	return TRUE;
+	if (method == NM_SETTING_PROXY_METHOD_NONE) {
+		g_object_set (object,
+		              NM_SETTING_PROXY_PAC_URL, NULL,
+		              NM_SETTING_PROXY_PAC_SCRIPT, NULL,
+		              NULL);
+	}
 }
 
-static gboolean
-nmc_property_dcb_set_pg_strict (NMSetting *setting, const char *prop, const char *val, GError **error)
+static void
+wireless_band_channel_changed_cb (GObject *object, GParamSpec *pspec, gpointer user_data)
 {
-	guint i = 0;
-	guint nums[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
+	const char *value = NULL, *mode;
+	char str[16];
+	NMSettingWireless *s_wireless = NM_SETTING_WIRELESS (object);
 
-	g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+	if (strcmp (g_param_spec_get_name (pspec), NM_SETTING_WIRELESS_BAND) == 0) {
+		value = nm_setting_wireless_get_band (s_wireless);
+		if (!value)
+			return;
+	} else {
+		guint32 channel = nm_setting_wireless_get_channel (s_wireless);
 
-	if (!dcb_parse_uint_array (val, 1, 0, nums, error))
-		return FALSE;
+		if (channel == 0)
+			return;
 
-	for (i = 0; i < 8; i++)
-		nm_setting_dcb_set_priority_strict_bandwidth (NM_SETTING_DCB (setting), i, !!nums[i]);
+		g_snprintf (str, sizeof (str), "%d", nm_setting_wireless_get_channel (s_wireless));
+		value = str;
+	}
 
-	dcb_check_feature_enabled (NM_SETTING_DCB (setting), NM_SETTING_DCB_PRIORITY_GROUP_FLAGS);
-	return TRUE;
+	mode = nm_setting_wireless_get_mode (NM_SETTING_WIRELESS (object));
+	if (!mode || !*mode || strcmp (mode, NM_SETTING_WIRELESS_MODE_INFRA) == 0) {
+		g_print (_("Warning: %s.%s set to '%s', but it might be ignored in infrastructure mode\n"),
+		         nm_setting_get_name (NM_SETTING (s_wireless)), g_param_spec_get_name (pspec),
+		         value);
+	}
 }
 
-static gboolean
-nmc_property_dcb_set_pg_traffic_class (NMSetting *setting, const char *prop, const char *val, GError **error)
+static void
+connection_master_changed_cb (GObject *object, GParamSpec *pspec, gpointer user_data)
 {
-	guint i = 0;
-	guint nums[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
-
-	g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+	NMSettingConnection *s_con = NM_SETTING_CONNECTION (object);
+	NMConnection *connection = NM_CONNECTION (user_data);
+	NMSetting *s_ipv4, *s_ipv6;
+	const char *value, *tmp_str;
 
-	if (!dcb_parse_uint_array (val, 7, 0, nums, error))
-		return FALSE;
+	value = nm_setting_connection_get_master (s_con);
+	if (value) {
+		s_ipv4 = nm_connection_get_setting_by_name (connection, NM_SETTING_IP4_CONFIG_SETTING_NAME);
+		s_ipv6 = nm_connection_get_setting_by_name (connection, NM_SETTING_IP6_CONFIG_SETTING_NAME);
+		if (s_ipv4 || s_ipv6) {
+			g_print (_("Warning: setting %s.%s requires removing ipv4 and ipv6 settings\n"),
+			         nm_setting_get_name (NM_SETTING (s_con)), g_param_spec_get_name (pspec));
+			tmp_str = nmc_get_user_input (_("Do you want to remove them? [yes] "));
+			if (!tmp_str || matches (tmp_str, "yes") == 0) {
+				if (s_ipv4)
+					nm_connection_remove_setting (connection, G_OBJECT_TYPE (s_ipv4));
+				if (s_ipv6)
+					nm_connection_remove_setting (connection, G_OBJECT_TYPE (s_ipv6));
+			}
+		}
+	}
+}
 
-	for (i = 0; i < 8; i++)
-		nm_setting_dcb_set_priority_traffic_class (NM_SETTING_DCB (setting), i, nums[i]);
+void
+nmc_setting_ip4_connect_handlers (NMSettingIPConfig *setting)
+{
+	g_return_if_fail (NM_IS_SETTING_IP4_CONFIG (setting));
 
-	dcb_check_feature_enabled (NM_SETTING_DCB (setting), NM_SETTING_DCB_PRIORITY_GROUP_FLAGS);
-	return TRUE;
+	g_signal_connect (setting, "notify::" NM_SETTING_IP_CONFIG_ADDRESSES,
+	                  G_CALLBACK (ipv4_addresses_changed_cb), NULL);
+	g_signal_connect (setting, "notify::" NM_SETTING_IP_CONFIG_METHOD,
+	                  G_CALLBACK (ipv4_method_changed_cb), NULL);
 }
 
-/* 'app-fcoe-mode' */
-static const char *_dcb_valid_fcoe_modes[] = { NM_SETTING_DCB_FCOE_MODE_FABRIC,
-                                               NM_SETTING_DCB_FCOE_MODE_VN2VN,
-                                               NULL };
-
-static gboolean
-nmc_property_dcb_set_app_fcoe_mode (NMSetting *setting, const char *prop, const char *val, GError **error)
+void
+nmc_setting_ip6_connect_handlers (NMSettingIPConfig *setting)
 {
-	return check_and_set_string (setting, prop, val, _dcb_valid_fcoe_modes, error);
-}
+	g_return_if_fail (NM_IS_SETTING_IP6_CONFIG (setting));
 
-DEFINE_ALLOWED_VAL_FUNC (nmc_property_dcb_allowed_app_fcoe_modes, _dcb_valid_fcoe_modes)
+	g_signal_connect (setting, "notify::" NM_SETTING_IP_CONFIG_ADDRESSES,
+	                  G_CALLBACK (ipv6_addresses_changed_cb), NULL);
+	g_signal_connect (setting, "notify::" NM_SETTING_IP_CONFIG_METHOD,
+	                  G_CALLBACK (ipv6_method_changed_cb), NULL);
+}
 
-static gboolean
-nmc_property_gsm_set_sim_operator_id (NMSetting *setting, const char *prop, const char *val, GError **error)
+void
+nmc_setting_proxy_connect_handlers (NMSettingProxy *setting)
 {
-	const char *p = val;
+	g_return_if_fail (NM_IS_SETTING_PROXY (setting));
 
-	g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+	g_signal_connect (setting, "notify::" NM_SETTING_PROXY_METHOD,
+	                  G_CALLBACK (proxy_method_changed_cb), NULL);
+}
 
-	if (strlen (val) != 5 && strlen (val) != 6) {
-		g_set_error_literal (error, 1, 0, _("SIM operator ID must be a 5 or 6 number MCCMNC code"));
-		return FALSE;
-	}
+void
+nmc_setting_wireless_connect_handlers (NMSettingWireless *setting)
+{
+	g_return_if_fail (NM_IS_SETTING_WIRELESS (setting));
 
-	while (p && *p) {
-		if (!g_ascii_isdigit (*p++)) {
-			g_set_error_literal (error, 1, 0, _("SIM operator ID must be a 5 or 6 number MCCMNC code"));
-			return FALSE;
-		}
-	}
-	g_object_set (G_OBJECT (setting),
-	              NM_SETTING_GSM_SIM_OPERATOR_ID,
-	              val,
-	              NULL);
-	return TRUE;
+	g_signal_connect (setting, "notify::" NM_SETTING_WIRELESS_BAND,
+	                  G_CALLBACK (wireless_band_channel_changed_cb), NULL);
+	g_signal_connect (setting, "notify::" NM_SETTING_WIRELESS_CHANNEL,
+	                  G_CALLBACK (wireless_band_channel_changed_cb), NULL);
 }
 
-static char *
-nmc_property_tun_get_mode (NMSetting *setting, NmcPropertyGetType get_type)
+void
+nmc_setting_connection_connect_handlers (NMSettingConnection *setting, NMConnection *connection)
 {
-	NMSettingTun *s_tun = NM_SETTING_TUN (setting);
-	NMSettingTunMode mode;
-	char *tmp, *str;
+	g_return_if_fail (NM_IS_SETTING_CONNECTION (setting));
 
-	mode = nm_setting_tun_get_mode (s_tun);
-	tmp = nm_utils_enum_to_str (nm_setting_tun_mode_get_type (), mode);
-	if (get_type == NMC_PROPERTY_GET_PARSABLE)
-		str = g_strdup_printf ("%s", tmp ? tmp : "");
-	else
-		str = g_strdup_printf ("%d (%s)", mode, tmp ? tmp : "");
-	g_free (tmp);
-	return str;
+	g_signal_connect (setting, "notify::" NM_SETTING_CONNECTION_MASTER,
+	                  G_CALLBACK (connection_master_changed_cb), connection);
 }
 
-static gboolean
-nmc_property_tun_set_mode (NMSetting *setting, const char *prop,
-                           const char *val, GError **error)
+/*
+ * Customize some properties of the setting so that the setting has sensible
+ * values.
+ */
+void
+nmc_setting_custom_init (NMSetting *setting)
 {
-	NMSettingTunMode mode;
-	gboolean ret;
-	long int t;
-
-	if (nmc_string_to_int_base (val, 0, TRUE, 0, NM_SETTING_TUN_MODE_TAP, &t))
-		mode = (NMSettingTunMode) t;
-	else {
-		ret = nm_utils_enum_from_str (nm_setting_tun_mode_get_type (), val,
-		                              (int *) &mode, NULL);
+	g_return_if_fail (NM_IS_SETTING (setting));
 
-		if (!ret) {
-			g_set_error (error, 1, 0, _("invalid option '%s', use '%s' or '%s'"),
-			             val, "tun", "tap");
-			return FALSE;
-		}
+	if (NM_IS_SETTING_VLAN (setting)) {
+		/* Set sensible initial VLAN values */
+		g_object_set (NM_SETTING_VLAN (setting),
+		              NM_SETTING_VLAN_ID, 1,
+		              NULL);
+	} else if (NM_IS_SETTING_INFINIBAND (setting)) {
+		/* Initialize 'transport-mode' so that 'infiniband' is valid */
+		g_object_set (NM_SETTING_INFINIBAND (setting),
+		              NM_SETTING_INFINIBAND_TRANSPORT_MODE, "datagram",
+		              NULL);
+	} else if (NM_IS_SETTING_CDMA (setting)) {
+		/* Initialize 'number' so that 'cdma' is valid */
+		g_object_set (NM_SETTING_CDMA (setting),
+		              NM_SETTING_CDMA_NUMBER, "#777",
+		              NULL);
+	} else if (NM_IS_SETTING_GSM (setting)) {
+		/* Initialize 'number' so that 'gsm' is valid */
+		g_object_set (NM_SETTING_GSM (setting),
+		              NM_SETTING_GSM_NUMBER, "*99#",
+		              NULL);
+	} else if (NM_IS_SETTING_OLPC_MESH (setting)) {
+		g_object_set (NM_SETTING_OLPC_MESH (setting),
+		              NM_SETTING_OLPC_MESH_CHANNEL, 1,
+		              NULL);
+	} else if (NM_IS_SETTING_WIRELESS (setting)) {
+		/* For Wi-Fi set mode to "infrastructure". Even though mode == NULL
+		 * is regarded as "infrastructure", explicit value makes no doubts.
+		 */
+		g_object_set (NM_SETTING_WIRELESS (setting),
+		              NM_SETTING_WIRELESS_MODE, NM_SETTING_WIRELESS_MODE_INFRA,
+		              NULL);
+	} else if (NM_IS_SETTING_ADSL (setting)) {
+		/* Initialize a protocol */
+		g_object_set (NM_SETTING_ADSL (setting),
+		              NM_SETTING_ADSL_PROTOCOL, NM_SETTING_ADSL_PROTOCOL_PPPOE,
+		              NULL);
+	} else if (NM_IS_SETTING_IP4_CONFIG (setting)) {
+		g_object_set (NM_SETTING_IP_CONFIG (setting),
+		              NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP4_CONFIG_METHOD_AUTO,
+		              NULL);
+	} else if (NM_IS_SETTING_IP6_CONFIG (setting)) {
+		g_object_set (NM_SETTING_IP_CONFIG (setting),
+		              NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP6_CONFIG_METHOD_AUTO,
+		              NULL);
+	} else if (NM_IS_SETTING_PROXY (setting)) {
+		g_object_set (NM_SETTING_PROXY (setting),
+		              NM_SETTING_PROXY_METHOD, (int) NM_SETTING_PROXY_METHOD_NONE,
+		              NULL);
+	} else if (NM_IS_SETTING_TUN (setting)) {
+		g_object_set (NM_SETTING_TUN (setting),
+		              NM_SETTING_TUN_MODE, NM_SETTING_TUN_MODE_TUN,
+		              NULL);
+	} else if (NM_IS_SETTING_BLUETOOTH (setting)) {
+		g_object_set (NM_SETTING_BLUETOOTH (setting),
+		              NM_SETTING_BLUETOOTH_TYPE, NM_SETTING_BLUETOOTH_TYPE_PANU,
+		              NULL);
 	}
-
-	g_object_set (setting, prop, (guint) mode, NULL);
-	return TRUE;
 }
 
-static const char *tun_valid_modes[] = { "tun", "tap", "unknown", NULL };
-
-DEFINE_ALLOWED_VAL_FUNC (nmc_property_tun_allowed_mode, tun_valid_modes)
-
 /*----------------------------------------------------------------------------*/
 
 static inline void
@@ -7132,7 +7124,7 @@ nmc_properties_init (void)
 	                    nmc_property_ipv6_set_addr_gen_mode,
 	                    NULL,
 	                    NULL,
-	                    NULL,
+	                    nmc_property_ipv6_allowed_addr_gen_mode,
 	                    NULL);
 	nmc_add_prop_funcs (GLUE_IP (6, DHCP_SEND_HOSTNAME),
 	                    nmc_property_ipv6_get_dhcp_send_hostname,
@@ -7972,7 +7964,7 @@ nmc_properties_init (void)
 	                    nmc_property_macsec_set_mode,
 	                    NULL,
 	                    NULL,
-	                    NULL,
+	                    nmc_property_macsec_allowed_mode,
 	                    NULL);
 	nmc_add_prop_funcs (GLUE (MACSEC, ENCRYPT),
 	                    nmc_property_macsec_get_encrypt,
diff --git a/configure b/configure
index a93d16eb..4a867060 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for NetworkManager 1.5.90.
+# Generated by GNU Autoconf 2.69 for NetworkManager 1.5.91.
 #
 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=NetworkManager>.
 #
@@ -591,8 +591,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='NetworkManager'
 PACKAGE_TARNAME='NetworkManager'
-PACKAGE_VERSION='1.5.90'
-PACKAGE_STRING='NetworkManager 1.5.90'
+PACKAGE_VERSION='1.5.91'
+PACKAGE_STRING='NetworkManager 1.5.91'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=NetworkManager'
 PACKAGE_URL=''
 
@@ -1709,7 +1709,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures NetworkManager 1.5.90 to adapt to many kinds of systems.
+\`configure' configures NetworkManager 1.5.91 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1779,7 +1779,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of NetworkManager 1.5.90:";;
+     short | recursive ) echo "Configuration of NetworkManager 1.5.91:";;
    esac
   cat <<\_ACEOF
 
@@ -1829,9 +1829,10 @@ Optional Features:
   --enable-bluez5-dun     enable Bluez5 DUN support
   --enable-concheck       enable connectivity checking support
   --enable-more-warnings  Possible values: no/yes/error
-  --enable-more-asserts   Enable more assertions for debugging (default: no).
-                          Deprecated option. Use --with-more-asserts=level
-  --enable-more-logging   Enable more debug logging (default: no)
+  --enable-more-asserts   Enable more assertions for debugging (default:
+                          auto). Deprecated option. Use
+                          --with-more-asserts=level
+  --enable-more-logging   Enable more debug logging (default: auto)
   --enable-lto            Enable Link Time Optimization for smaller size
                           (default: no)
   --enable-ld-gc          Enable garbage collection of unused symbols on
@@ -1940,7 +1941,8 @@ Optional Packages:
   --with-nmcli=yes|no     Build nmcli
   --with-nmtui=yes|no     Build nmtui
   --with-more-asserts=level
-                          Enable more assertions for debugging (default: 0)
+                          Enable more assertions for debugging (0 = none, 100
+                          = all, default: auto)
   --with-valgrind=yes|no|path
                           Use valgrind to memory-check the tests (default: no)
   --with-tests            Build NetworkManager tests (deprecated)
@@ -2113,7 +2115,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-NetworkManager configure 1.5.90
+NetworkManager configure 1.5.91
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2840,7 +2842,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by NetworkManager $as_me 1.5.90, which was
+It was created by NetworkManager $as_me 1.5.91, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3710,7 +3712,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='NetworkManager'
- VERSION='1.5.90'
+ VERSION='1.5.91'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -17793,8 +17795,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 NM_MAJOR_VERSION=1
 NM_MINOR_VERSION=5
-NM_MICRO_VERSION=90
-NM_VERSION=1.5.90
+NM_MICRO_VERSION=91
+NM_VERSION=1.5.91
 
 
 
@@ -17802,7 +17804,7 @@ NM_VERSION=1.5.90
 
 
 
-NM_GIT_SHA=ba414491b7c4307a06267d4898ff0fd8b80f7df8
+NM_GIT_SHA=701f79280f94c386111ef54bdd97d14f038e8ba7
 
 if test """" != "no-config-h" ; then
 
@@ -25870,12 +25872,23 @@ else
 fi
 
 
+if test $(( ${NM_MINOR_VERSION} % 2 )) = "1"; then
+    # A development version
+    more_warnings_default=error
+    more_asserts_default=100
+    more_logging_default=yes
+else
+    # A release version
+    more_warnings_default=yes
+    more_asserts_default=0
+    more_logging_default=no
+fi
 
 # Check whether --enable-more-warnings was given.
 if test "${enable_more_warnings+set}" = set; then :
   enableval=$enable_more_warnings; set_more_warnings="$enableval"
 else
-  set_more_warnings=yes
+  set_more_warnings=${more_warnings_default}
 fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for more warnings" >&5
@@ -26285,7 +26298,6 @@ if test "${enable_more_asserts+set}" = set; then :
   enableval=$enable_more_asserts;
 fi
 
-more_asserts=0
 if test "${enable_more_asserts}" = "yes"; then
     more_asserts=100
 fi
@@ -26302,6 +26314,9 @@ else
         more_asserts=100
     fi
 fi
+if test "${more_asserts}" = ""; then
+    more_asserts=${more_asserts_default}
+fi
 
 cat >>confdefs.h <<_ACEOF
 #define NM_MORE_ASSERTS $more_asserts
@@ -26313,6 +26328,9 @@ if test "${enable_more_logging+set}" = set; then :
   enableval=$enable_more_logging;
 fi
 
+if test "${enable_more_logging}" = ""; then
+    enable_more_logging=${more_logging_default}
+fi
 if test "${enable_more_logging}" = "yes"; then
 
 $as_echo "#define NM_MORE_LOGGING 1" >>confdefs.h
@@ -28277,7 +28295,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by NetworkManager $as_me 1.5.90, which was
+This file was extended by NetworkManager $as_me 1.5.91, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -28343,7 +28361,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-NetworkManager config.status 1.5.90
+NetworkManager config.status 1.5.91
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -30526,6 +30544,8 @@ echo "  documentation-settings: $build_setting_docs"
 echo "  introspection: $have_introspection"
 echo "  tests: $enable_tests"
 echo "  more-asserts: $more_asserts"
+echo "  more-logging: $enable_more_logging"
+echo "  more-warnings: $set_more_warnings"
 echo "  valgrind: $with_valgrind   $with_valgrind_suppressions"
 echo "  code coverage: $enable_code_coverage"
 echo "  LTO: $enable_lto"
diff --git a/configure.ac b/configure.ac
index 3bf9be40..8b54858d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@ AC_PREREQ([2.63])
 dnl The NM version number
 m4_define([nm_major_version], [1])
 m4_define([nm_minor_version], [5])
-m4_define([nm_micro_version], [90])
+m4_define([nm_micro_version], [91])
 m4_define([nm_version],
           [nm_major_version.nm_minor_version.nm_micro_version])
 
@@ -960,8 +960,19 @@ if test "$with_nmtui" = yes -a "$build_nmtui" = no; then
 fi
 AM_CONDITIONAL(BUILD_NMTUI, test "$build_nmtui" = yes)
 
+if test $(( ${NM_MINOR_VERSION} % 2 )) = "1"; then
+    # A development version
+    more_warnings_default=error
+    more_asserts_default=100
+    more_logging_default=yes
+else
+    # A release version
+    more_warnings_default=yes
+    more_asserts_default=0
+    more_logging_default=no
+fi
 
-NM_COMPILER_WARNINGS
+NM_COMPILER_WARNINGS(${more_warnings_default})
 
 CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
 	-fno-strict-aliasing \
@@ -969,13 +980,12 @@ CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
 CFLAGS="$CFLAGS $with_cflags"
 
 AC_ARG_ENABLE(more-asserts,
-              AS_HELP_STRING([--enable-more-asserts], [Enable more assertions for debugging (default: no). Deprecated option. Use --with-more-asserts=level]))
-more_asserts=0
+              AS_HELP_STRING([--enable-more-asserts], [Enable more assertions for debugging (default: auto). Deprecated option. Use --with-more-asserts=level]))
 if test "${enable_more_asserts}" = "yes"; then
     more_asserts=100
 fi
 AC_ARG_WITH(more-asserts,
-            AS_HELP_STRING([--with-more-asserts=level], [Enable more assertions for debugging (default: 0)]),
+            AS_HELP_STRING([--with-more-asserts=level], [Enable more assertions for debugging (0 = none, 100 = all, default: auto)]),
             [more_asserts=${with_more_asserts}],
             [])
 if test "${more_asserts}" = "no"; then
@@ -985,10 +995,16 @@ else
         more_asserts=100
     fi
 fi
+if test "${more_asserts}" = ""; then
+    more_asserts=${more_asserts_default}
+fi
 AC_DEFINE_UNQUOTED(NM_MORE_ASSERTS, $more_asserts, [Define if more asserts are enabled])
 
 AC_ARG_ENABLE(more-logging,
-              AS_HELP_STRING([--enable-more-logging], [Enable more debug logging (default: no)]))
+              AS_HELP_STRING([--enable-more-logging], [Enable more debug logging (default: auto)]))
+if test "${enable_more_logging}" = ""; then
+    enable_more_logging=${more_logging_default}
+fi
 if test "${enable_more_logging}" = "yes"; then
     AC_DEFINE(NM_MORE_LOGGING, [1], [Define if more debug logging is enabled])
 fi
@@ -1233,6 +1249,8 @@ echo "  documentation-settings: $build_setting_docs"
 echo "  introspection: $have_introspection"
 echo "  tests: $enable_tests"
 echo "  more-asserts: $more_asserts"
+echo "  more-logging: $enable_more_logging"
+echo "  more-warnings: $set_more_warnings"
 echo "  valgrind: $with_valgrind   $with_valgrind_suppressions"
 echo "  code coverage: $enable_code_coverage"
 echo "  LTO: $enable_lto"
diff --git a/docs/api/html/index.html b/docs/api/html/index.html
index 5c732b96..11aed19a 100644
--- a/docs/api/html/index.html
+++ b/docs/api/html/index.html
@@ -14,7 +14,7 @@
 <div class="titlepage">
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">NetworkManager Reference Manual</p></th></tr></table></div>
-<div><p class="releaseinfo">Version 1.5.90
+<div><p class="releaseinfo">Version 1.5.91
 </p></div>
 <div><p class="copyright">Copyright © 2012, 2013, 2014, 2015, 2016 The NetworkManager Authors</p></div>
 <div><div class="legalnotice">
diff --git a/docs/api/html/ix01.html b/docs/api/html/ix01.html
index d1b56fd3..2d5cc6af 100644
--- a/docs/api/html/ix01.html
+++ b/docs/api/html/ix01.html
@@ -26,791 +26,791 @@
 <div class="indexdiv">
 <h3>Symbols</h3>
 <dl>
-<dt id="ientry-idm139623654555456">org.freedesktop.NetworkManager.AccessPoint, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AccessPoint.html#gdbus-interface-org-freedesktop-NetworkManager-AccessPoint.top_of_page">org.freedesktop.NetworkManager.AccessPoint</a>
+<dt id="ientry-idm139942406916832">org.freedesktop.NetworkManager.AccessPoint, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AccessPoint.html#gdbus-interface-org-freedesktop-NetworkManager-AccessPoint.top_of_page">org.freedesktop.NetworkManager.AccessPoint</a>
 </dt>
-<dt id="ientry-idm139623649372320">org.freedesktop.NetworkManager.AccessPoint::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AccessPoint.html#gdbus-signal-org-freedesktop-NetworkManager-AccessPoint.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942412197024">org.freedesktop.NetworkManager.AccessPoint::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AccessPoint.html#gdbus-signal-org-freedesktop-NetworkManager-AccessPoint.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623656659248">org.freedesktop.NetworkManager.AccessPoint:Flags, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AccessPoint.html#gdbus-property-org-freedesktop-NetworkManager-AccessPoint.Flags">The "Flags" property</a>
+<dt id="ientry-idm139942410009712">org.freedesktop.NetworkManager.AccessPoint:Flags, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AccessPoint.html#gdbus-property-org-freedesktop-NetworkManager-AccessPoint.Flags">The "Flags" property</a>
 </dt>
-<dt id="ientry-idm139623649489824">org.freedesktop.NetworkManager.AccessPoint:Frequency, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AccessPoint.html#gdbus-property-org-freedesktop-NetworkManager-AccessPoint.Frequency">The "Frequency" property</a>
+<dt id="ientry-idm139942405216480">org.freedesktop.NetworkManager.AccessPoint:Frequency, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AccessPoint.html#gdbus-property-org-freedesktop-NetworkManager-AccessPoint.Frequency">The "Frequency" property</a>
 </dt>
-<dt id="ientry-idm139623649540768">org.freedesktop.NetworkManager.AccessPoint:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AccessPoint.html#gdbus-property-org-freedesktop-NetworkManager-AccessPoint.HwAddress">The "HwAddress" property</a>
+<dt id="ientry-idm139942405212336">org.freedesktop.NetworkManager.AccessPoint:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AccessPoint.html#gdbus-property-org-freedesktop-NetworkManager-AccessPoint.HwAddress">The "HwAddress" property</a>
 </dt>
-<dt id="ientry-idm139623649523008">org.freedesktop.NetworkManager.AccessPoint:LastSeen, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AccessPoint.html#gdbus-property-org-freedesktop-NetworkManager-AccessPoint.LastSeen">The "LastSeen" property</a>
+<dt id="ientry-idm139942407444240">org.freedesktop.NetworkManager.AccessPoint:LastSeen, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AccessPoint.html#gdbus-property-org-freedesktop-NetworkManager-AccessPoint.LastSeen">The "LastSeen" property</a>
 </dt>
-<dt id="ientry-idm139623649531456">org.freedesktop.NetworkManager.AccessPoint:MaxBitrate, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AccessPoint.html#gdbus-property-org-freedesktop-NetworkManager-AccessPoint.MaxBitrate">The "MaxBitrate" property</a>
+<dt id="ientry-idm139942407452688">org.freedesktop.NetworkManager.AccessPoint:MaxBitrate, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AccessPoint.html#gdbus-property-org-freedesktop-NetworkManager-AccessPoint.MaxBitrate">The "MaxBitrate" property</a>
 </dt>
-<dt id="ientry-idm139623649536672">org.freedesktop.NetworkManager.AccessPoint:Mode, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AccessPoint.html#gdbus-property-org-freedesktop-NetworkManager-AccessPoint.Mode">The "Mode" property</a>
+<dt id="ientry-idm139942405208128">org.freedesktop.NetworkManager.AccessPoint:Mode, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AccessPoint.html#gdbus-property-org-freedesktop-NetworkManager-AccessPoint.Mode">The "Mode" property</a>
 </dt>
-<dt id="ientry-idm139623649499312">org.freedesktop.NetworkManager.AccessPoint:RsnFlags, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AccessPoint.html#gdbus-property-org-freedesktop-NetworkManager-AccessPoint.RsnFlags">The "RsnFlags" property</a>
+<dt id="ientry-idm139942409987760">org.freedesktop.NetworkManager.AccessPoint:RsnFlags, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AccessPoint.html#gdbus-property-org-freedesktop-NetworkManager-AccessPoint.RsnFlags">The "RsnFlags" property</a>
 </dt>
-<dt id="ientry-idm139623649494032">org.freedesktop.NetworkManager.AccessPoint:Ssid, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AccessPoint.html#gdbus-property-org-freedesktop-NetworkManager-AccessPoint.Ssid">The "Ssid" property</a>
+<dt id="ientry-idm139942409982480">org.freedesktop.NetworkManager.AccessPoint:Ssid, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AccessPoint.html#gdbus-property-org-freedesktop-NetworkManager-AccessPoint.Ssid">The "Ssid" property</a>
 </dt>
-<dt id="ientry-idm139623649527216">org.freedesktop.NetworkManager.AccessPoint:Strength, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AccessPoint.html#gdbus-property-org-freedesktop-NetworkManager-AccessPoint.Strength">The "Strength" property</a>
+<dt id="ientry-idm139942407448448">org.freedesktop.NetworkManager.AccessPoint:Strength, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AccessPoint.html#gdbus-property-org-freedesktop-NetworkManager-AccessPoint.Strength">The "Strength" property</a>
 </dt>
-<dt id="ientry-idm139623656654048">org.freedesktop.NetworkManager.AccessPoint:WpaFlags, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AccessPoint.html#gdbus-property-org-freedesktop-NetworkManager-AccessPoint.WpaFlags">The "WpaFlags" property</a>
+<dt id="ientry-idm139942410004624">org.freedesktop.NetworkManager.AccessPoint:WpaFlags, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AccessPoint.html#gdbus-property-org-freedesktop-NetworkManager-AccessPoint.WpaFlags">The "WpaFlags" property</a>
 </dt>
-<dt id="ientry-idm139623652496944">org.freedesktop.NetworkManager.AgentManager, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AgentManager.html#gdbus-interface-org-freedesktop-NetworkManager-AgentManager.top_of_page">org.freedesktop.NetworkManager.AgentManager</a>
+<dt id="ientry-idm139942409883824">org.freedesktop.NetworkManager.AgentManager, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AgentManager.html#gdbus-interface-org-freedesktop-NetworkManager-AgentManager.top_of_page">org.freedesktop.NetworkManager.AgentManager</a>
 </dt>
-<dt id="ientry-idm139623654665456">org.freedesktop.NetworkManager.AgentManager.Register(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AgentManager.html#gdbus-method-org-freedesktop-NetworkManager-AgentManager.Register">The Register() method</a>
+<dt id="ientry-idm139942408358720">org.freedesktop.NetworkManager.AgentManager.Register(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AgentManager.html#gdbus-method-org-freedesktop-NetworkManager-AgentManager.Register">The Register() method</a>
 </dt>
-<dt id="ientry-idm139623655602032">org.freedesktop.NetworkManager.AgentManager.RegisterWithCapabilities(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AgentManager.html#gdbus-method-org-freedesktop-NetworkManager-AgentManager.RegisterWithCapabilities">The RegisterWithCapabilities() method</a>
+<dt id="ientry-idm139942411884096">org.freedesktop.NetworkManager.AgentManager.RegisterWithCapabilities(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AgentManager.html#gdbus-method-org-freedesktop-NetworkManager-AgentManager.RegisterWithCapabilities">The RegisterWithCapabilities() method</a>
 </dt>
-<dt id="ientry-idm139623652344400">org.freedesktop.NetworkManager.AgentManager.Unregister(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AgentManager.html#gdbus-method-org-freedesktop-NetworkManager-AgentManager.Unregister">The Unregister() method</a>
+<dt id="ientry-idm139942410192096">org.freedesktop.NetworkManager.AgentManager.Unregister(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.AgentManager.html#gdbus-method-org-freedesktop-NetworkManager-AgentManager.Unregister">The Unregister() method</a>
 </dt>
-<dt id="ientry-idm139623655802480">org.freedesktop.NetworkManager.Device, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-interface-org-freedesktop-NetworkManager-Device.top_of_page">org.freedesktop.NetworkManager.Device</a>
+<dt id="ientry-idm139942411258928">org.freedesktop.NetworkManager.Device, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-interface-org-freedesktop-NetworkManager-Device.top_of_page">org.freedesktop.NetworkManager.Device</a>
 </dt>
-<dt id="ientry-idm139623652589792">org.freedesktop.NetworkManager.Device.Adsl, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Adsl.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Adsl.top_of_page">org.freedesktop.NetworkManager.Device.Adsl</a>
+<dt id="ientry-idm139942412211456">org.freedesktop.NetworkManager.Device.Adsl, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Adsl.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Adsl.top_of_page">org.freedesktop.NetworkManager.Device.Adsl</a>
 </dt>
-<dt id="ientry-idm139623650006032">org.freedesktop.NetworkManager.Device.Adsl::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Adsl.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Adsl.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942409257152">org.freedesktop.NetworkManager.Device.Adsl::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Adsl.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Adsl.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623648630288">org.freedesktop.NetworkManager.Device.Adsl:Carrier, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Adsl.html#gdbus-property-org-freedesktop-NetworkManager-Device-Adsl.Carrier">The "Carrier" property</a>
+<dt id="ientry-idm139942404916512">org.freedesktop.NetworkManager.Device.Adsl:Carrier, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Adsl.html#gdbus-property-org-freedesktop-NetworkManager-Device-Adsl.Carrier">The "Carrier" property</a>
 </dt>
-<dt id="ientry-idm139623656726448">org.freedesktop.NetworkManager.Device.Bluetooth, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bluetooth.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Bluetooth.top_of_page">org.freedesktop.NetworkManager.Device.Bluetooth</a>
+<dt id="ientry-idm139942407019168">org.freedesktop.NetworkManager.Device.Bluetooth, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bluetooth.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Bluetooth.top_of_page">org.freedesktop.NetworkManager.Device.Bluetooth</a>
 </dt>
-<dt id="ientry-idm139623648191936">org.freedesktop.NetworkManager.Device.Bluetooth::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bluetooth.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Bluetooth.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942404524240">org.freedesktop.NetworkManager.Device.Bluetooth::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bluetooth.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Bluetooth.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623650572256">org.freedesktop.NetworkManager.Device.Bluetooth:BtCapabilities, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bluetooth.html#gdbus-property-org-freedesktop-NetworkManager-Device-Bluetooth.BtCapabilities">The "BtCapabilities" property</a>
+<dt id="ientry-idm139942404507728">org.freedesktop.NetworkManager.Device.Bluetooth:BtCapabilities, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bluetooth.html#gdbus-property-org-freedesktop-NetworkManager-Device-Bluetooth.BtCapabilities">The "BtCapabilities" property</a>
 </dt>
-<dt id="ientry-idm139623650599760">org.freedesktop.NetworkManager.Device.Bluetooth:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bluetooth.html#gdbus-property-org-freedesktop-NetworkManager-Device-Bluetooth.HwAddress">The "HwAddress" property</a>
+<dt id="ientry-idm139942404545856">org.freedesktop.NetworkManager.Device.Bluetooth:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bluetooth.html#gdbus-property-org-freedesktop-NetworkManager-Device-Bluetooth.HwAddress">The "HwAddress" property</a>
 </dt>
-<dt id="ientry-idm139623650595856">org.freedesktop.NetworkManager.Device.Bluetooth:Name, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bluetooth.html#gdbus-property-org-freedesktop-NetworkManager-Device-Bluetooth.Name">The "Name" property</a>
+<dt id="ientry-idm139942404511856">org.freedesktop.NetworkManager.Device.Bluetooth:Name, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bluetooth.html#gdbus-property-org-freedesktop-NetworkManager-Device-Bluetooth.Name">The "Name" property</a>
 </dt>
-<dt id="ientry-idm139623654943056">org.freedesktop.NetworkManager.Device.Bond, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bond.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Bond.top_of_page">org.freedesktop.NetworkManager.Device.Bond</a>
+<dt id="ientry-idm139942408409136">org.freedesktop.NetworkManager.Device.Bond, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bond.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Bond.top_of_page">org.freedesktop.NetworkManager.Device.Bond</a>
 </dt>
-<dt id="ientry-idm139623656679776">org.freedesktop.NetworkManager.Device.Bond::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bond.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Bond.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942405291808">org.freedesktop.NetworkManager.Device.Bond::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bond.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Bond.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623653413808">org.freedesktop.NetworkManager.Device.Bond:Carrier, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bond.html#gdbus-property-org-freedesktop-NetworkManager-Device-Bond.Carrier">The "Carrier" property</a>
+<dt id="ientry-idm139942405334336">org.freedesktop.NetworkManager.Device.Bond:Carrier, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bond.html#gdbus-property-org-freedesktop-NetworkManager-Device-Bond.Carrier">The "Carrier" property</a>
 </dt>
-<dt id="ientry-idm139623648623344">org.freedesktop.NetworkManager.Device.Bond:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bond.html#gdbus-property-org-freedesktop-NetworkManager-Device-Bond.HwAddress">The "HwAddress" property</a>
+<dt id="ientry-idm139942405313856">org.freedesktop.NetworkManager.Device.Bond:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bond.html#gdbus-property-org-freedesktop-NetworkManager-Device-Bond.HwAddress">The "HwAddress" property</a>
 </dt>
-<dt id="ientry-idm139623649874992">org.freedesktop.NetworkManager.Device.Bond:Slaves, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bond.html#gdbus-property-org-freedesktop-NetworkManager-Device-Bond.Slaves">The "Slaves" property</a>
+<dt id="ientry-idm139942405330096">org.freedesktop.NetworkManager.Device.Bond:Slaves, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bond.html#gdbus-property-org-freedesktop-NetworkManager-Device-Bond.Slaves">The "Slaves" property</a>
 </dt>
-<dt id="ientry-idm139623656821072">org.freedesktop.NetworkManager.Device.Bridge, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bridge.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Bridge.top_of_page">org.freedesktop.NetworkManager.Device.Bridge</a>
+<dt id="ientry-idm139942408337056">org.freedesktop.NetworkManager.Device.Bridge, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bridge.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Bridge.top_of_page">org.freedesktop.NetworkManager.Device.Bridge</a>
 </dt>
-<dt id="ientry-idm139623650590480">org.freedesktop.NetworkManager.Device.Bridge::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bridge.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Bridge.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942405321712">org.freedesktop.NetworkManager.Device.Bridge::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bridge.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Bridge.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623650560144">org.freedesktop.NetworkManager.Device.Bridge:Carrier, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bridge.html#gdbus-property-org-freedesktop-NetworkManager-Device-Bridge.Carrier">The "Carrier" property</a>
+<dt id="ientry-idm139942404496176">org.freedesktop.NetworkManager.Device.Bridge:Carrier, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bridge.html#gdbus-property-org-freedesktop-NetworkManager-Device-Bridge.Carrier">The "Carrier" property</a>
 </dt>
-<dt id="ientry-idm139623650613792">org.freedesktop.NetworkManager.Device.Bridge:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bridge.html#gdbus-property-org-freedesktop-NetworkManager-Device-Bridge.HwAddress">The "HwAddress" property</a>
+<dt id="ientry-idm139942404500320">org.freedesktop.NetworkManager.Device.Bridge:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bridge.html#gdbus-property-org-freedesktop-NetworkManager-Device-Bridge.HwAddress">The "HwAddress" property</a>
 </dt>
-<dt id="ientry-idm139623650555904">org.freedesktop.NetworkManager.Device.Bridge:Slaves, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bridge.html#gdbus-property-org-freedesktop-NetworkManager-Device-Bridge.Slaves">The "Slaves" property</a>
+<dt id="ientry-idm139942404516000">org.freedesktop.NetworkManager.Device.Bridge:Slaves, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Bridge.html#gdbus-property-org-freedesktop-NetworkManager-Device-Bridge.Slaves">The "Slaves" property</a>
 </dt>
-<dt id="ientry-idm139623650898096">org.freedesktop.NetworkManager.Device.Delete(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-method-org-freedesktop-NetworkManager-Device.Delete">The Delete() method</a>
+<dt id="ientry-idm139942403401872">org.freedesktop.NetworkManager.Device.Delete(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-method-org-freedesktop-NetworkManager-Device.Delete">The Delete() method</a>
 </dt>
-<dt id="ientry-idm139623650902368">org.freedesktop.NetworkManager.Device.Disconnect(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-method-org-freedesktop-NetworkManager-Device.Disconnect">The Disconnect() method</a>
+<dt id="ientry-idm139942403406144">org.freedesktop.NetworkManager.Device.Disconnect(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-method-org-freedesktop-NetworkManager-Device.Disconnect">The Disconnect() method</a>
 </dt>
-<dt id="ientry-idm139623656387744">org.freedesktop.NetworkManager.Device.Generic, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Generic.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Generic.top_of_page">org.freedesktop.NetworkManager.Device.Generic</a>
+<dt id="ientry-idm139942410944448">org.freedesktop.NetworkManager.Device.Generic, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Generic.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Generic.top_of_page">org.freedesktop.NetworkManager.Device.Generic</a>
 </dt>
-<dt id="ientry-idm139623655120976">org.freedesktop.NetworkManager.Device.Generic::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Generic.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Generic.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942410039792">org.freedesktop.NetworkManager.Device.Generic::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Generic.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Generic.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623648203808">org.freedesktop.NetworkManager.Device.Generic:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Generic.html#gdbus-property-org-freedesktop-NetworkManager-Device-Generic.HwAddress">The "HwAddress" property</a>
+<dt id="ientry-idm139942403191184">org.freedesktop.NetworkManager.Device.Generic:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Generic.html#gdbus-property-org-freedesktop-NetworkManager-Device-Generic.HwAddress">The "HwAddress" property</a>
 </dt>
-<dt id="ientry-idm139623648199696">org.freedesktop.NetworkManager.Device.Generic:TypeDescription, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Generic.html#gdbus-property-org-freedesktop-NetworkManager-Device-Generic.TypeDescription">The "TypeDescription" property</a>
+<dt id="ientry-idm139942403187072">org.freedesktop.NetworkManager.Device.Generic:TypeDescription, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Generic.html#gdbus-property-org-freedesktop-NetworkManager-Device-Generic.TypeDescription">The "TypeDescription" property</a>
 </dt>
-<dt id="ientry-idm139623648576224">org.freedesktop.NetworkManager.Device.GetAppliedConnection(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-method-org-freedesktop-NetworkManager-Device.GetAppliedConnection">The GetAppliedConnection() method</a>
+<dt id="ientry-idm139942404832032">org.freedesktop.NetworkManager.Device.GetAppliedConnection(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-method-org-freedesktop-NetworkManager-Device.GetAppliedConnection">The GetAppliedConnection() method</a>
 </dt>
-<dt id="ientry-idm139623652579696">org.freedesktop.NetworkManager.Device.Infiniband, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Infiniband.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Infiniband.top_of_page">org.freedesktop.NetworkManager.Device.Infiniband</a>
+<dt id="ientry-idm139942412794640">org.freedesktop.NetworkManager.Device.Infiniband, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Infiniband.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Infiniband.top_of_page">org.freedesktop.NetworkManager.Device.Infiniband</a>
 </dt>
-<dt id="ientry-idm139623650389856">org.freedesktop.NetworkManager.Device.Infiniband::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Infiniband.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Infiniband.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942409417168">org.freedesktop.NetworkManager.Device.Infiniband::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Infiniband.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Infiniband.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623652568096">org.freedesktop.NetworkManager.Device.Infiniband:Carrier, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Infiniband.html#gdbus-property-org-freedesktop-NetworkManager-Device-Infiniband.Carrier">The "Carrier" property</a>
+<dt id="ientry-idm139942402912784">org.freedesktop.NetworkManager.Device.Infiniband:Carrier, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Infiniband.html#gdbus-property-org-freedesktop-NetworkManager-Device-Infiniband.Carrier">The "Carrier" property</a>
 </dt>
-<dt id="ientry-idm139623652572000">org.freedesktop.NetworkManager.Device.Infiniband:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Infiniband.html#gdbus-property-org-freedesktop-NetworkManager-Device-Infiniband.HwAddress">The "HwAddress" property</a>
+<dt id="ientry-idm139942402916688">org.freedesktop.NetworkManager.Device.Infiniband:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Infiniband.html#gdbus-property-org-freedesktop-NetworkManager-Device-Infiniband.HwAddress">The "HwAddress" property</a>
 </dt>
-<dt id="ientry-idm139623657335840">org.freedesktop.NetworkManager.Device.IPTunnel, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-interface-org-freedesktop-NetworkManager-Device-IPTunnel.top_of_page">org.freedesktop.NetworkManager.Device.IPTunnel</a>
+<dt id="ientry-idm139942407923120">org.freedesktop.NetworkManager.Device.IPTunnel, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-interface-org-freedesktop-NetworkManager-Device-IPTunnel.top_of_page">org.freedesktop.NetworkManager.Device.IPTunnel</a>
 </dt>
-<dt id="ientry-idm139623650730912">org.freedesktop.NetworkManager.Device.IPTunnel::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-signal-org-freedesktop-NetworkManager-Device-IPTunnel.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942403175248">org.freedesktop.NetworkManager.Device.IPTunnel::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-signal-org-freedesktop-NetworkManager-Device-IPTunnel.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623650683088">org.freedesktop.NetworkManager.Device.IPTunnel:EncapsulationLimit, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-property-org-freedesktop-NetworkManager-Device-IPTunnel.EncapsulationLimit">The "EncapsulationLimit" property</a>
+<dt id="ientry-idm139942402891344">org.freedesktop.NetworkManager.Device.IPTunnel:EncapsulationLimit, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-property-org-freedesktop-NetworkManager-Device-IPTunnel.EncapsulationLimit">The "EncapsulationLimit" property</a>
 </dt>
-<dt id="ientry-idm139623650678688">org.freedesktop.NetworkManager.Device.IPTunnel:FlowLabel, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-property-org-freedesktop-NetworkManager-Device-IPTunnel.FlowLabel">The "FlowLabel" property</a>
+<dt id="ientry-idm139942402909424">org.freedesktop.NetworkManager.Device.IPTunnel:FlowLabel, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-property-org-freedesktop-NetworkManager-Device-IPTunnel.FlowLabel">The "FlowLabel" property</a>
 </dt>
-<dt id="ientry-idm139623650691344">org.freedesktop.NetworkManager.Device.IPTunnel:InputKey, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-property-org-freedesktop-NetworkManager-Device-IPTunnel.InputKey">The "InputKey" property</a>
+<dt id="ientry-idm139942404534384">org.freedesktop.NetworkManager.Device.IPTunnel:InputKey, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-property-org-freedesktop-NetworkManager-Device-IPTunnel.InputKey">The "InputKey" property</a>
 </dt>
-<dt id="ientry-idm139623650407776">org.freedesktop.NetworkManager.Device.IPTunnel:Local, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-property-org-freedesktop-NetworkManager-Device-IPTunnel.Local">The "Local" property</a>
+<dt id="ientry-idm139942409317296">org.freedesktop.NetworkManager.Device.IPTunnel:Local, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-property-org-freedesktop-NetworkManager-Device-IPTunnel.Local">The "Local" property</a>
 </dt>
-<dt id="ientry-idm139623650425056">org.freedesktop.NetworkManager.Device.IPTunnel:Mode, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-property-org-freedesktop-NetworkManager-Device-IPTunnel.Mode">The "Mode" property</a>
+<dt id="ientry-idm139942404491568">org.freedesktop.NetworkManager.Device.IPTunnel:Mode, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-property-org-freedesktop-NetworkManager-Device-IPTunnel.Mode">The "Mode" property</a>
 </dt>
-<dt id="ientry-idm139623650687184">org.freedesktop.NetworkManager.Device.IPTunnel:OutputKey, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-property-org-freedesktop-NetworkManager-Device-IPTunnel.OutputKey">The "OutputKey" property</a>
+<dt id="ientry-idm139942404530224">org.freedesktop.NetworkManager.Device.IPTunnel:OutputKey, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-property-org-freedesktop-NetworkManager-Device-IPTunnel.OutputKey">The "OutputKey" property</a>
 </dt>
-<dt id="ientry-idm139623650420944">org.freedesktop.NetworkManager.Device.IPTunnel:Parent, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-property-org-freedesktop-NetworkManager-Device-IPTunnel.Parent">The "Parent" property</a>
+<dt id="ientry-idm139942409321296">org.freedesktop.NetworkManager.Device.IPTunnel:Parent, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-property-org-freedesktop-NetworkManager-Device-IPTunnel.Parent">The "Parent" property</a>
 </dt>
-<dt id="ientry-idm139623650695648">org.freedesktop.NetworkManager.Device.IPTunnel:PathMtuDiscovery, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-property-org-freedesktop-NetworkManager-Device-IPTunnel.PathMtuDiscovery">The "PathMtuDiscovery" property</a>
+<dt id="ientry-idm139942402898512">org.freedesktop.NetworkManager.Device.IPTunnel:PathMtuDiscovery, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-property-org-freedesktop-NetworkManager-Device-IPTunnel.PathMtuDiscovery">The "PathMtuDiscovery" property</a>
 </dt>
-<dt id="ientry-idm139623650403664">org.freedesktop.NetworkManager.Device.IPTunnel:Remote, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-property-org-freedesktop-NetworkManager-Device-IPTunnel.Remote">The "Remote" property</a>
+<dt id="ientry-idm139942411245296">org.freedesktop.NetworkManager.Device.IPTunnel:Remote, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-property-org-freedesktop-NetworkManager-Device-IPTunnel.Remote">The "Remote" property</a>
 </dt>
-<dt id="ientry-idm139623650395312">org.freedesktop.NetworkManager.Device.IPTunnel:Tos, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-property-org-freedesktop-NetworkManager-Device-IPTunnel.Tos">The "Tos" property</a>
+<dt id="ientry-idm139942412550832">org.freedesktop.NetworkManager.Device.IPTunnel:Tos, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-property-org-freedesktop-NetworkManager-Device-IPTunnel.Tos">The "Tos" property</a>
 </dt>
-<dt id="ientry-idm139623650399552">org.freedesktop.NetworkManager.Device.IPTunnel:Ttl, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-property-org-freedesktop-NetworkManager-Device-IPTunnel.Ttl">The "Ttl" property</a>
+<dt id="ientry-idm139942412555072">org.freedesktop.NetworkManager.Device.IPTunnel:Ttl, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html#gdbus-property-org-freedesktop-NetworkManager-Device-IPTunnel.Ttl">The "Ttl" property</a>
 </dt>
-<dt id="ientry-idm139623654035696">org.freedesktop.NetworkManager.Device.Macsec, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Macsec.top_of_page">org.freedesktop.NetworkManager.Device.Macsec</a>
+<dt id="ientry-idm139942409976208">org.freedesktop.NetworkManager.Device.Macsec, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Macsec.top_of_page">org.freedesktop.NetworkManager.Device.Macsec</a>
 </dt>
-<dt id="ientry-idm139623650276800">org.freedesktop.NetworkManager.Device.Macsec::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Macsec.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942404301264">org.freedesktop.NetworkManager.Device.Macsec::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Macsec.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623650308880">org.freedesktop.NetworkManager.Device.Macsec:CipherSuite, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.CipherSuite">The "CipherSuite" property</a>
+<dt id="ientry-idm139942403204176">org.freedesktop.NetworkManager.Device.Macsec:CipherSuite, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.CipherSuite">The "CipherSuite" property</a>
 </dt>
-<dt id="ientry-idm139623650300368">org.freedesktop.NetworkManager.Device.Macsec:EncodingSa, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.EncodingSa">The "EncodingSa" property</a>
+<dt id="ientry-idm139942403195664">org.freedesktop.NetworkManager.Device.Macsec:EncodingSa, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.EncodingSa">The "EncodingSa" property</a>
 </dt>
-<dt id="ientry-idm139623650357520">org.freedesktop.NetworkManager.Device.Macsec:Encrypt, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.Encrypt">The "Encrypt" property</a>
+<dt id="ientry-idm139942402767680">org.freedesktop.NetworkManager.Device.Macsec:Encrypt, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.Encrypt">The "Encrypt" property</a>
 </dt>
-<dt id="ientry-idm139623650344976">org.freedesktop.NetworkManager.Device.Macsec:Es, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.Es">The "Es" property</a>
+<dt id="ientry-idm139942402755136">org.freedesktop.NetworkManager.Device.Macsec:Es, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.Es">The "Es" property</a>
 </dt>
-<dt id="ientry-idm139623650313040">org.freedesktop.NetworkManager.Device.Macsec:IcvLength, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.IcvLength">The "IcvLength" property</a>
+<dt id="ientry-idm139942403208336">org.freedesktop.NetworkManager.Device.Macsec:IcvLength, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.IcvLength">The "IcvLength" property</a>
 </dt>
-<dt id="ientry-idm139623650349120">org.freedesktop.NetworkManager.Device.Macsec:IncludeSci, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.IncludeSci">The "IncludeSci" property</a>
+<dt id="ientry-idm139942402759280">org.freedesktop.NetworkManager.Device.Macsec:IncludeSci, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.IncludeSci">The "IncludeSci" property</a>
 </dt>
-<dt id="ientry-idm139623650712336">org.freedesktop.NetworkManager.Device.Macsec:Parent, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.Parent">The "Parent" property</a>
+<dt id="ientry-idm139942404311536">org.freedesktop.NetworkManager.Device.Macsec:Parent, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.Parent">The "Parent" property</a>
 </dt>
-<dt id="ientry-idm139623650353328">org.freedesktop.NetworkManager.Device.Macsec:Protect, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.Protect">The "Protect" property</a>
+<dt id="ientry-idm139942402763488">org.freedesktop.NetworkManager.Device.Macsec:Protect, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.Protect">The "Protect" property</a>
 </dt>
-<dt id="ientry-idm139623650336736">org.freedesktop.NetworkManager.Device.Macsec:ReplayProtect, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.ReplayProtect">The "ReplayProtect" property</a>
+<dt id="ientry-idm139942402746800">org.freedesktop.NetworkManager.Device.Macsec:ReplayProtect, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.ReplayProtect">The "ReplayProtect" property</a>
 </dt>
-<dt id="ientry-idm139623650340752">org.freedesktop.NetworkManager.Device.Macsec:Scb, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.Scb">The "Scb" property</a>
+<dt id="ientry-idm139942402750912">org.freedesktop.NetworkManager.Device.Macsec:Scb, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.Scb">The "Scb" property</a>
 </dt>
-<dt id="ientry-idm139623650708224">org.freedesktop.NetworkManager.Device.Macsec:Sci, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.Sci">The "Sci" property</a>
+<dt id="ientry-idm139942404307424">org.freedesktop.NetworkManager.Device.Macsec:Sci, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.Sci">The "Sci" property</a>
 </dt>
-<dt id="ientry-idm139623650361664">org.freedesktop.NetworkManager.Device.Macsec:Validation, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.Validation">The "Validation" property</a>
+<dt id="ientry-idm139942402771824">org.freedesktop.NetworkManager.Device.Macsec:Validation, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.Validation">The "Validation" property</a>
 </dt>
-<dt id="ientry-idm139623650304544">org.freedesktop.NetworkManager.Device.Macsec:Window, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.Window">The "Window" property</a>
+<dt id="ientry-idm139942403199840">org.freedesktop.NetworkManager.Device.Macsec:Window, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macsec.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macsec.Window">The "Window" property</a>
 </dt>
-<dt id="ientry-idm139623654472992">org.freedesktop.NetworkManager.Device.Macvlan, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macvlan.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Macvlan.top_of_page">org.freedesktop.NetworkManager.Device.Macvlan</a>
+<dt id="ientry-idm139942408050880">org.freedesktop.NetworkManager.Device.Macvlan, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macvlan.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Macvlan.top_of_page">org.freedesktop.NetworkManager.Device.Macvlan</a>
 </dt>
-<dt id="ientry-idm139623650451408">org.freedesktop.NetworkManager.Device.Macvlan::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macvlan.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Macvlan.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942405368272">org.freedesktop.NetworkManager.Device.Macvlan::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macvlan.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Macvlan.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623650294304">org.freedesktop.NetworkManager.Device.Macvlan:Mode, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macvlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macvlan.Mode">The "Mode" property</a>
+<dt id="ientry-idm139942404570144">org.freedesktop.NetworkManager.Device.Macvlan:Mode, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macvlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macvlan.Mode">The "Mode" property</a>
 </dt>
-<dt id="ientry-idm139623648163168">org.freedesktop.NetworkManager.Device.Macvlan:NoPromisc, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macvlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macvlan.NoPromisc">The "NoPromisc" property</a>
+<dt id="ientry-idm139942404672288">org.freedesktop.NetworkManager.Device.Macvlan:NoPromisc, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macvlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macvlan.NoPromisc">The "NoPromisc" property</a>
 </dt>
-<dt id="ientry-idm139623650298416">org.freedesktop.NetworkManager.Device.Macvlan:Parent, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macvlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macvlan.Parent">The "Parent" property</a>
+<dt id="ientry-idm139942404574256">org.freedesktop.NetworkManager.Device.Macvlan:Parent, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macvlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macvlan.Parent">The "Parent" property</a>
 </dt>
-<dt id="ientry-idm139623648159024">org.freedesktop.NetworkManager.Device.Macvlan:Tap, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macvlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macvlan.Tap">The "Tap" property</a>
+<dt id="ientry-idm139942404668144">org.freedesktop.NetworkManager.Device.Macvlan:Tap, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Macvlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Macvlan.Tap">The "Tap" property</a>
 </dt>
-<dt id="ientry-idm139623655367888">org.freedesktop.NetworkManager.Device.Modem, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Modem.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Modem.top_of_page">org.freedesktop.NetworkManager.Device.Modem</a>
+<dt id="ientry-idm139942411749744">org.freedesktop.NetworkManager.Device.Modem, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Modem.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Modem.top_of_page">org.freedesktop.NetworkManager.Device.Modem</a>
 </dt>
-<dt id="ientry-idm139623648141952">org.freedesktop.NetworkManager.Device.Modem::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Modem.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Modem.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942411561392">org.freedesktop.NetworkManager.Device.Modem::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Modem.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Modem.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623648152288">org.freedesktop.NetworkManager.Device.Modem:CurrentCapabilities, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Modem.html#gdbus-property-org-freedesktop-NetworkManager-Device-Modem.CurrentCapabilities">The "CurrentCapabilities" property</a>
+<dt id="ientry-idm139942411592704">org.freedesktop.NetworkManager.Device.Modem:CurrentCapabilities, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Modem.html#gdbus-property-org-freedesktop-NetworkManager-Device-Modem.CurrentCapabilities">The "CurrentCapabilities" property</a>
 </dt>
-<dt id="ientry-idm139623648127040">org.freedesktop.NetworkManager.Device.Modem:ModemCapabilities, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Modem.html#gdbus-property-org-freedesktop-NetworkManager-Device-Modem.ModemCapabilities">The "ModemCapabilities" property</a>
+<dt id="ientry-idm139942409467280">org.freedesktop.NetworkManager.Device.Modem:ModemCapabilities, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Modem.html#gdbus-property-org-freedesktop-NetworkManager-Device-Modem.ModemCapabilities">The "ModemCapabilities" property</a>
 </dt>
-<dt id="ientry-idm139623654453600">org.freedesktop.NetworkManager.Device.OlpcMesh, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.OlpcMesh.html#gdbus-interface-org-freedesktop-NetworkManager-Device-OlpcMesh.top_of_page">org.freedesktop.NetworkManager.Device.OlpcMesh</a>
+<dt id="ientry-idm139942409900864">org.freedesktop.NetworkManager.Device.OlpcMesh, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.OlpcMesh.html#gdbus-interface-org-freedesktop-NetworkManager-Device-OlpcMesh.top_of_page">org.freedesktop.NetworkManager.Device.OlpcMesh</a>
 </dt>
-<dt id="ientry-idm139623650479952">org.freedesktop.NetworkManager.Device.OlpcMesh::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.OlpcMesh.html#gdbus-signal-org-freedesktop-NetworkManager-Device-OlpcMesh.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942404735952">org.freedesktop.NetworkManager.Device.OlpcMesh::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.OlpcMesh.html#gdbus-signal-org-freedesktop-NetworkManager-Device-OlpcMesh.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623648116944">org.freedesktop.NetworkManager.Device.OlpcMesh:ActiveChannel, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.OlpcMesh.html#gdbus-property-org-freedesktop-NetworkManager-Device-OlpcMesh.ActiveChannel">The "ActiveChannel" property</a>
+<dt id="ientry-idm139942404554944">org.freedesktop.NetworkManager.Device.OlpcMesh:ActiveChannel, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.OlpcMesh.html#gdbus-property-org-freedesktop-NetworkManager-Device-OlpcMesh.ActiveChannel">The "ActiveChannel" property</a>
 </dt>
-<dt id="ientry-idm139623650466576">org.freedesktop.NetworkManager.Device.OlpcMesh:Companion, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.OlpcMesh.html#gdbus-property-org-freedesktop-NetworkManager-Device-OlpcMesh.Companion">The "Companion" property</a>
+<dt id="ientry-idm139942404558944">org.freedesktop.NetworkManager.Device.OlpcMesh:Companion, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.OlpcMesh.html#gdbus-property-org-freedesktop-NetworkManager-Device-OlpcMesh.Companion">The "Companion" property</a>
 </dt>
-<dt id="ientry-idm139623650470816">org.freedesktop.NetworkManager.Device.OlpcMesh:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.OlpcMesh.html#gdbus-property-org-freedesktop-NetworkManager-Device-OlpcMesh.HwAddress">The "HwAddress" property</a>
+<dt id="ientry-idm139942402835776">org.freedesktop.NetworkManager.Device.OlpcMesh:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.OlpcMesh.html#gdbus-property-org-freedesktop-NetworkManager-Device-OlpcMesh.HwAddress">The "HwAddress" property</a>
 </dt>
-<dt id="ientry-idm139623648591168">org.freedesktop.NetworkManager.Device.Reapply(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-method-org-freedesktop-NetworkManager-Device.Reapply">The Reapply() method</a>
+<dt id="ientry-idm139942404847056">org.freedesktop.NetworkManager.Device.Reapply(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-method-org-freedesktop-NetworkManager-Device.Reapply">The Reapply() method</a>
 </dt>
-<dt id="ientry-idm139623654639552">org.freedesktop.NetworkManager.Device.Statistics, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Statistics.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Statistics.top_of_page">org.freedesktop.NetworkManager.Device.Statistics</a>
+<dt id="ientry-idm139942407778496">org.freedesktop.NetworkManager.Device.Statistics, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Statistics.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Statistics.top_of_page">org.freedesktop.NetworkManager.Device.Statistics</a>
 </dt>
-<dt id="ientry-idm139623647616336">org.freedesktop.NetworkManager.Device.Statistics::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Statistics.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Statistics.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942406995184">org.freedesktop.NetworkManager.Device.Statistics::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Statistics.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Statistics.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623647744416">org.freedesktop.NetworkManager.Device.Statistics:RefreshRateMs, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Statistics.html#gdbus-property-org-freedesktop-NetworkManager-Device-Statistics.RefreshRateMs">The "RefreshRateMs" property</a>
+<dt id="ientry-idm139942402340080">org.freedesktop.NetworkManager.Device.Statistics:RefreshRateMs, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Statistics.html#gdbus-property-org-freedesktop-NetworkManager-Device-Statistics.RefreshRateMs">The "RefreshRateMs" property</a>
 </dt>
-<dt id="ientry-idm139623647637200">org.freedesktop.NetworkManager.Device.Statistics:RxBytes, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Statistics.html#gdbus-property-org-freedesktop-NetworkManager-Device-Statistics.RxBytes">The "RxBytes" property</a>
+<dt id="ientry-idm139942402353440">org.freedesktop.NetworkManager.Device.Statistics:RxBytes, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Statistics.html#gdbus-property-org-freedesktop-NetworkManager-Device-Statistics.RxBytes">The "RxBytes" property</a>
 </dt>
-<dt id="ientry-idm139623647740304">org.freedesktop.NetworkManager.Device.Statistics:TxBytes, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Statistics.html#gdbus-property-org-freedesktop-NetworkManager-Device-Statistics.TxBytes">The "TxBytes" property</a>
+<dt id="ientry-idm139942402335872">org.freedesktop.NetworkManager.Device.Statistics:TxBytes, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Statistics.html#gdbus-property-org-freedesktop-NetworkManager-Device-Statistics.TxBytes">The "TxBytes" property</a>
 </dt>
-<dt id="ientry-idm139623657443312">org.freedesktop.NetworkManager.Device.Team, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Team.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Team.top_of_page">org.freedesktop.NetworkManager.Device.Team</a>
+<dt id="ientry-idm139942404679920">org.freedesktop.NetworkManager.Device.Team, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Team.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Team.top_of_page">org.freedesktop.NetworkManager.Device.Team</a>
 </dt>
-<dt id="ientry-idm139623647983216">org.freedesktop.NetworkManager.Device.Team::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Team.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Team.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942404696624">org.freedesktop.NetworkManager.Device.Team::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Team.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Team.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623650536640">org.freedesktop.NetworkManager.Device.Team:Carrier, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Team.html#gdbus-property-org-freedesktop-NetworkManager-Device-Team.Carrier">The "Carrier" property</a>
+<dt id="ientry-idm139942402824720">org.freedesktop.NetworkManager.Device.Team:Carrier, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Team.html#gdbus-property-org-freedesktop-NetworkManager-Device-Team.Carrier">The "Carrier" property</a>
 </dt>
-<dt id="ientry-idm139623648113680">org.freedesktop.NetworkManager.Device.Team:Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Team.html#gdbus-property-org-freedesktop-NetworkManager-Device-Team.Config">The "Config" property</a>
+<dt id="ientry-idm139942404392000">org.freedesktop.NetworkManager.Device.Team:Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Team.html#gdbus-property-org-freedesktop-NetworkManager-Device-Team.Config">The "Config" property</a>
 </dt>
-<dt id="ientry-idm139623650540768">org.freedesktop.NetworkManager.Device.Team:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Team.html#gdbus-property-org-freedesktop-NetworkManager-Device-Team.HwAddress">The "HwAddress" property</a>
+<dt id="ientry-idm139942402828848">org.freedesktop.NetworkManager.Device.Team:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Team.html#gdbus-property-org-freedesktop-NetworkManager-Device-Team.HwAddress">The "HwAddress" property</a>
 </dt>
-<dt id="ientry-idm139623650532400">org.freedesktop.NetworkManager.Device.Team:Slaves, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Team.html#gdbus-property-org-freedesktop-NetworkManager-Device-Team.Slaves">The "Slaves" property</a>
+<dt id="ientry-idm139942404728064">org.freedesktop.NetworkManager.Device.Team:Slaves, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Team.html#gdbus-property-org-freedesktop-NetworkManager-Device-Team.Slaves">The "Slaves" property</a>
 </dt>
-<dt id="ientry-idm139623652358720">org.freedesktop.NetworkManager.Device.Tun, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Tun.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Tun.top_of_page">org.freedesktop.NetworkManager.Device.Tun</a>
+<dt id="ientry-idm139942409881392">org.freedesktop.NetworkManager.Device.Tun, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Tun.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Tun.top_of_page">org.freedesktop.NetworkManager.Device.Tun</a>
 </dt>
-<dt id="ientry-idm139623648214464">org.freedesktop.NetworkManager.Device.Tun::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Tun.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Tun.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942405345280">org.freedesktop.NetworkManager.Device.Tun::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Tun.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Tun.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623650444032">org.freedesktop.NetworkManager.Device.Tun:Group, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Tun.html#gdbus-property-org-freedesktop-NetworkManager-Device-Tun.Group">The "Group" property</a>
+<dt id="ientry-idm139942405354528">org.freedesktop.NetworkManager.Device.Tun:Group, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Tun.html#gdbus-property-org-freedesktop-NetworkManager-Device-Tun.Group">The "Group" property</a>
 </dt>
-<dt id="ientry-idm139623657306640">org.freedesktop.NetworkManager.Device.Tun:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Tun.html#gdbus-property-org-freedesktop-NetworkManager-Device-Tun.HwAddress">The "HwAddress" property</a>
+<dt id="ientry-idm139942402486928">org.freedesktop.NetworkManager.Device.Tun:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Tun.html#gdbus-property-org-freedesktop-NetworkManager-Device-Tun.HwAddress">The "HwAddress" property</a>
 </dt>
-<dt id="ientry-idm139623654206464">org.freedesktop.NetworkManager.Device.Tun:Mode, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Tun.html#gdbus-property-org-freedesktop-NetworkManager-Device-Tun.Mode">The "Mode" property</a>
+<dt id="ientry-idm139942404756912">org.freedesktop.NetworkManager.Device.Tun:Mode, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Tun.html#gdbus-property-org-freedesktop-NetworkManager-Device-Tun.Mode">The "Mode" property</a>
 </dt>
-<dt id="ientry-idm139623652770352">org.freedesktop.NetworkManager.Device.Tun:MultiQueue, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Tun.html#gdbus-property-org-freedesktop-NetworkManager-Device-Tun.MultiQueue">The "MultiQueue" property</a>
+<dt id="ientry-idm139942402491232">org.freedesktop.NetworkManager.Device.Tun:MultiQueue, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Tun.html#gdbus-property-org-freedesktop-NetworkManager-Device-Tun.MultiQueue">The "MultiQueue" property</a>
 </dt>
-<dt id="ientry-idm139623656666784">org.freedesktop.NetworkManager.Device.Tun:NoPi, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Tun.html#gdbus-property-org-freedesktop-NetworkManager-Device-Tun.NoPi">The "NoPi" property</a>
+<dt id="ientry-idm139942404752800">org.freedesktop.NetworkManager.Device.Tun:NoPi, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Tun.html#gdbus-property-org-freedesktop-NetworkManager-Device-Tun.NoPi">The "NoPi" property</a>
 </dt>
-<dt id="ientry-idm139623656335968">org.freedesktop.NetworkManager.Device.Tun:Owner, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Tun.html#gdbus-property-org-freedesktop-NetworkManager-Device-Tun.Owner">The "Owner" property</a>
+<dt id="ientry-idm139942405358720">org.freedesktop.NetworkManager.Device.Tun:Owner, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Tun.html#gdbus-property-org-freedesktop-NetworkManager-Device-Tun.Owner">The "Owner" property</a>
 </dt>
-<dt id="ientry-idm139623652787248">org.freedesktop.NetworkManager.Device.Tun:VnetHdr, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Tun.html#gdbus-property-org-freedesktop-NetworkManager-Device-Tun.VnetHdr">The "VnetHdr" property</a>
+<dt id="ientry-idm139942402495488">org.freedesktop.NetworkManager.Device.Tun:VnetHdr, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Tun.html#gdbus-property-org-freedesktop-NetworkManager-Device-Tun.VnetHdr">The "VnetHdr" property</a>
 </dt>
-<dt id="ientry-idm139623654548096">org.freedesktop.NetworkManager.Device.Veth, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Veth.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Veth.top_of_page">org.freedesktop.NetworkManager.Device.Veth</a>
+<dt id="ientry-idm139942411125088">org.freedesktop.NetworkManager.Device.Veth, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Veth.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Veth.top_of_page">org.freedesktop.NetworkManager.Device.Veth</a>
 </dt>
-<dt id="ientry-idm139623657072048">org.freedesktop.NetworkManager.Device.Veth::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Veth.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Veth.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942409297456">org.freedesktop.NetworkManager.Device.Veth::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Veth.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Veth.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623653473344">org.freedesktop.NetworkManager.Device.Veth:Peer, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Veth.html#gdbus-property-org-freedesktop-NetworkManager-Device-Veth.Peer">The "Peer" property</a>
+<dt id="ientry-idm139942404704576">org.freedesktop.NetworkManager.Device.Veth:Peer, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Veth.html#gdbus-property-org-freedesktop-NetworkManager-Device-Veth.Peer">The "Peer" property</a>
 </dt>
-<dt id="ientry-idm139623653533200">org.freedesktop.NetworkManager.Device.Vlan, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vlan.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Vlan.top_of_page">org.freedesktop.NetworkManager.Device.Vlan</a>
+<dt id="ientry-idm139942411684656">org.freedesktop.NetworkManager.Device.Vlan, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vlan.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Vlan.top_of_page">org.freedesktop.NetworkManager.Device.Vlan</a>
 </dt>
-<dt id="ientry-idm139623654312128">org.freedesktop.NetworkManager.Device.Vlan::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vlan.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Vlan.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942411232112">org.freedesktop.NetworkManager.Device.Vlan::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vlan.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Vlan.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623648122848">org.freedesktop.NetworkManager.Device.Vlan:Carrier, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vlan.Carrier">The "Carrier" property</a>
+<dt id="ientry-idm139942407967936">org.freedesktop.NetworkManager.Device.Vlan:Carrier, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vlan.Carrier">The "Carrier" property</a>
 </dt>
-<dt id="ientry-idm139623649980064">org.freedesktop.NetworkManager.Device.Vlan:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vlan.HwAddress">The "HwAddress" property</a>
+<dt id="ientry-idm139942410126592">org.freedesktop.NetworkManager.Device.Vlan:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vlan.HwAddress">The "HwAddress" property</a>
 </dt>
-<dt id="ientry-idm139623650459440">org.freedesktop.NetworkManager.Device.Vlan:Parent, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vlan.Parent">The "Parent" property</a>
+<dt id="ientry-idm139942409696432">org.freedesktop.NetworkManager.Device.Vlan:Parent, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vlan.Parent">The "Parent" property</a>
 </dt>
-<dt id="ientry-idm139623650455248">org.freedesktop.NetworkManager.Device.Vlan:VlanId, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vlan.VlanId">The "VlanId" property</a>
+<dt id="ientry-idm139942411791088">org.freedesktop.NetworkManager.Device.Vlan:VlanId, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vlan.VlanId">The "VlanId" property</a>
 </dt>
-<dt id="ientry-idm139623650392096">org.freedesktop.NetworkManager.Device.Vxlan, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Vxlan.top_of_page">org.freedesktop.NetworkManager.Device.Vxlan</a>
+<dt id="ientry-idm139942403218576">org.freedesktop.NetworkManager.Device.Vxlan, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Vxlan.top_of_page">org.freedesktop.NetworkManager.Device.Vxlan</a>
 </dt>
-<dt id="ientry-idm139623647954112">org.freedesktop.NetworkManager.Device.Vxlan::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Vxlan.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942402871488">org.freedesktop.NetworkManager.Device.Vxlan::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Vxlan.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623647674960">org.freedesktop.NetworkManager.Device.Vxlan:Ageing, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.Ageing">The "Ageing" property</a>
+<dt id="ientry-idm139942402726864">org.freedesktop.NetworkManager.Device.Vxlan:Ageing, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.Ageing">The "Ageing" property</a>
 </dt>
-<dt id="ientry-idm139623647666624">org.freedesktop.NetworkManager.Device.Vxlan:DstPort, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.DstPort">The "DstPort" property</a>
+<dt id="ientry-idm139942402718528">org.freedesktop.NetworkManager.Device.Vxlan:DstPort, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.DstPort">The "DstPort" property</a>
 </dt>
-<dt id="ientry-idm139623647999808">org.freedesktop.NetworkManager.Device.Vxlan:Group, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.Group">The "Group" property</a>
+<dt id="ientry-idm139942402854304">org.freedesktop.NetworkManager.Device.Vxlan:Group, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.Group">The "Group" property</a>
 </dt>
-<dt id="ientry-idm139623648008048">org.freedesktop.NetworkManager.Device.Vxlan:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.HwAddress">The "HwAddress" property</a>
+<dt id="ientry-idm139942402807248">org.freedesktop.NetworkManager.Device.Vxlan:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.HwAddress">The "HwAddress" property</a>
 </dt>
-<dt id="ientry-idm139623648003920">org.freedesktop.NetworkManager.Device.Vxlan:Id, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.Id">The "Id" property</a>
+<dt id="ientry-idm139942402858416">org.freedesktop.NetworkManager.Device.Vxlan:Id, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.Id">The "Id" property</a>
 </dt>
-<dt id="ientry-idm139623647645840">org.freedesktop.NetworkManager.Device.Vxlan:L2miss, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.L2miss">The "L2miss" property</a>
+<dt id="ientry-idm139942402697792">org.freedesktop.NetworkManager.Device.Vxlan:L2miss, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.L2miss">The "L2miss" property</a>
 </dt>
-<dt id="ientry-idm139623647641728">org.freedesktop.NetworkManager.Device.Vxlan:L3miss, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.L3miss">The "L3miss" property</a>
+<dt id="ientry-idm139942402693680">org.freedesktop.NetworkManager.Device.Vxlan:L3miss, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.L3miss">The "L3miss" property</a>
 </dt>
-<dt id="ientry-idm139623647679168">org.freedesktop.NetworkManager.Device.Vxlan:Learning, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.Learning">The "Learning" property</a>
+<dt id="ientry-idm139942402528752">org.freedesktop.NetworkManager.Device.Vxlan:Learning, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.Learning">The "Learning" property</a>
 </dt>
-<dt id="ientry-idm139623647670848">org.freedesktop.NetworkManager.Device.Vxlan:Limit, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.Limit">The "Limit" property</a>
+<dt id="ientry-idm139942402722752">org.freedesktop.NetworkManager.Device.Vxlan:Limit, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.Limit">The "Limit" property</a>
 </dt>
-<dt id="ientry-idm139623647995568">org.freedesktop.NetworkManager.Device.Vxlan:Local, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.Local">The "Local" property</a>
+<dt id="ientry-idm139942402541440">org.freedesktop.NetworkManager.Device.Vxlan:Local, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.Local">The "Local" property</a>
 </dt>
-<dt id="ientry-idm139623648012304">org.freedesktop.NetworkManager.Device.Vxlan:Parent, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.Parent">The "Parent" property</a>
+<dt id="ientry-idm139942402811504">org.freedesktop.NetworkManager.Device.Vxlan:Parent, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.Parent">The "Parent" property</a>
 </dt>
-<dt id="ientry-idm139623647654192">org.freedesktop.NetworkManager.Device.Vxlan:Proxy, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.Proxy">The "Proxy" property</a>
+<dt id="ientry-idm139942402706144">org.freedesktop.NetworkManager.Device.Vxlan:Proxy, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.Proxy">The "Proxy" property</a>
 </dt>
-<dt id="ientry-idm139623647650080">org.freedesktop.NetworkManager.Device.Vxlan:Rsc, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.Rsc">The "Rsc" property</a>
+<dt id="ientry-idm139942402702032">org.freedesktop.NetworkManager.Device.Vxlan:Rsc, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.Rsc">The "Rsc" property</a>
 </dt>
-<dt id="ientry-idm139623647658336">org.freedesktop.NetworkManager.Device.Vxlan:SrcPortMax, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.SrcPortMax">The "SrcPortMax" property</a>
+<dt id="ientry-idm139942402710288">org.freedesktop.NetworkManager.Device.Vxlan:SrcPortMax, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.SrcPortMax">The "SrcPortMax" property</a>
 </dt>
-<dt id="ientry-idm139623647662496">org.freedesktop.NetworkManager.Device.Vxlan:SrcPortMin, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.SrcPortMin">The "SrcPortMin" property</a>
+<dt id="ientry-idm139942402714448">org.freedesktop.NetworkManager.Device.Vxlan:SrcPortMin, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.SrcPortMin">The "SrcPortMin" property</a>
 </dt>
-<dt id="ientry-idm139623647687616">org.freedesktop.NetworkManager.Device.Vxlan:Tos, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.Tos">The "Tos" property</a>
+<dt id="ientry-idm139942402537200">org.freedesktop.NetworkManager.Device.Vxlan:Tos, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.Tos">The "Tos" property</a>
 </dt>
-<dt id="ientry-idm139623647683392">org.freedesktop.NetworkManager.Device.Vxlan:Ttl, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.Ttl">The "Ttl" property</a>
+<dt id="ientry-idm139942402532976">org.freedesktop.NetworkManager.Device.Vxlan:Ttl, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html#gdbus-property-org-freedesktop-NetworkManager-Device-Vxlan.Ttl">The "Ttl" property</a>
 </dt>
-<dt id="ientry-idm139623657133536">org.freedesktop.NetworkManager.Device.WiMax, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-interface-org-freedesktop-NetworkManager-Device-WiMax.top_of_page">org.freedesktop.NetworkManager.Device.WiMax</a>
+<dt id="ientry-idm139942408688400">org.freedesktop.NetworkManager.Device.WiMax, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-interface-org-freedesktop-NetworkManager-Device-WiMax.top_of_page">org.freedesktop.NetworkManager.Device.WiMax</a>
 </dt>
-<dt id="ientry-idm139623647309024">org.freedesktop.NetworkManager.Device.WiMax.GetNspList(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-method-org-freedesktop-NetworkManager-Device-WiMax.GetNspList">The GetNspList() method</a>
+<dt id="ientry-idm139942404401952">org.freedesktop.NetworkManager.Device.WiMax.GetNspList(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-method-org-freedesktop-NetworkManager-Device-WiMax.GetNspList">The GetNspList() method</a>
 </dt>
-<dt id="ientry-idm139623648086208">org.freedesktop.NetworkManager.Device.WiMax::NspAdded, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-signal-org-freedesktop-NetworkManager-Device-WiMax.NspAdded">The "NspAdded" signal</a>
+<dt id="ientry-idm139942402645616">org.freedesktop.NetworkManager.Device.WiMax::NspAdded, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-signal-org-freedesktop-NetworkManager-Device-WiMax.NspAdded">The "NspAdded" signal</a>
 </dt>
-<dt id="ientry-idm139623648078768">org.freedesktop.NetworkManager.Device.WiMax::NspRemoved, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-signal-org-freedesktop-NetworkManager-Device-WiMax.NspRemoved">The "NspRemoved" signal</a>
+<dt id="ientry-idm139942402638176">org.freedesktop.NetworkManager.Device.WiMax::NspRemoved, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-signal-org-freedesktop-NetworkManager-Device-WiMax.NspRemoved">The "NspRemoved" signal</a>
 </dt>
-<dt id="ientry-idm139623647913344">org.freedesktop.NetworkManager.Device.WiMax::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-signal-org-freedesktop-NetworkManager-Device-WiMax.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942402507440">org.freedesktop.NetworkManager.Device.WiMax::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-signal-org-freedesktop-NetworkManager-Device-WiMax.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623647494032">org.freedesktop.NetworkManager.Device.WiMax:ActiveNsp, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-property-org-freedesktop-NetworkManager-Device-WiMax.ActiveNsp">The "ActiveNsp" property</a>
+<dt id="ientry-idm139942402243760">org.freedesktop.NetworkManager.Device.WiMax:ActiveNsp, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-property-org-freedesktop-NetworkManager-Device-WiMax.ActiveNsp">The "ActiveNsp" property</a>
 </dt>
-<dt id="ientry-idm139623647498304">org.freedesktop.NetworkManager.Device.WiMax:Bsid, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-property-org-freedesktop-NetworkManager-Device-WiMax.Bsid">The "Bsid" property</a>
+<dt id="ientry-idm139942402248032">org.freedesktop.NetworkManager.Device.WiMax:Bsid, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-property-org-freedesktop-NetworkManager-Device-WiMax.Bsid">The "Bsid" property</a>
 </dt>
-<dt id="ientry-idm139623647515824">org.freedesktop.NetworkManager.Device.WiMax:CenterFrequency, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-property-org-freedesktop-NetworkManager-Device-WiMax.CenterFrequency">The "CenterFrequency" property</a>
+<dt id="ientry-idm139942402265552">org.freedesktop.NetworkManager.Device.WiMax:CenterFrequency, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-property-org-freedesktop-NetworkManager-Device-WiMax.CenterFrequency">The "CenterFrequency" property</a>
 </dt>
-<dt id="ientry-idm139623647506992">org.freedesktop.NetworkManager.Device.WiMax:Cinr, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-property-org-freedesktop-NetworkManager-Device-WiMax.Cinr">The "Cinr" property</a>
+<dt id="ientry-idm139942402256720">org.freedesktop.NetworkManager.Device.WiMax:Cinr, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-property-org-freedesktop-NetworkManager-Device-WiMax.Cinr">The "Cinr" property</a>
 </dt>
-<dt id="ientry-idm139623647519728">org.freedesktop.NetworkManager.Device.WiMax:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-property-org-freedesktop-NetworkManager-Device-WiMax.HwAddress">The "HwAddress" property</a>
+<dt id="ientry-idm139942402269456">org.freedesktop.NetworkManager.Device.WiMax:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-property-org-freedesktop-NetworkManager-Device-WiMax.HwAddress">The "HwAddress" property</a>
 </dt>
-<dt id="ientry-idm139623647523968">org.freedesktop.NetworkManager.Device.WiMax:Nsps, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-property-org-freedesktop-NetworkManager-Device-WiMax.Nsps">The "Nsps" property</a>
+<dt id="ientry-idm139942402273696">org.freedesktop.NetworkManager.Device.WiMax:Nsps, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-property-org-freedesktop-NetworkManager-Device-WiMax.Nsps">The "Nsps" property</a>
 </dt>
-<dt id="ientry-idm139623647511392">org.freedesktop.NetworkManager.Device.WiMax:Rssi, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-property-org-freedesktop-NetworkManager-Device-WiMax.Rssi">The "Rssi" property</a>
+<dt id="ientry-idm139942402261120">org.freedesktop.NetworkManager.Device.WiMax:Rssi, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-property-org-freedesktop-NetworkManager-Device-WiMax.Rssi">The "Rssi" property</a>
 </dt>
-<dt id="ientry-idm139623647502656">org.freedesktop.NetworkManager.Device.WiMax:TxPower, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-property-org-freedesktop-NetworkManager-Device-WiMax.TxPower">The "TxPower" property</a>
+<dt id="ientry-idm139942402252384">org.freedesktop.NetworkManager.Device.WiMax:TxPower, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.WiMax.html#gdbus-property-org-freedesktop-NetworkManager-Device-WiMax.TxPower">The "TxPower" property</a>
 </dt>
-<dt id="ientry-idm139623650892096">org.freedesktop.NetworkManager.Device::StateChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-signal-org-freedesktop-NetworkManager-Device.StateChanged">The "StateChanged" signal</a>
+<dt id="ientry-idm139942403395872">org.freedesktop.NetworkManager.Device::StateChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-signal-org-freedesktop-NetworkManager-Device.StateChanged">The "StateChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623650829152">org.freedesktop.NetworkManager.Device:ActiveConnection, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.ActiveConnection">The "ActiveConnection" property</a>
+<dt id="ientry-idm139942403332928">org.freedesktop.NetworkManager.Device:ActiveConnection, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.ActiveConnection">The "ActiveConnection" property</a>
 </dt>
-<dt id="ientry-idm139623650802864">org.freedesktop.NetworkManager.Device:Autoconnect, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Autoconnect">The "Autoconnect" property</a>
+<dt id="ientry-idm139942403306640">org.freedesktop.NetworkManager.Device:Autoconnect, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Autoconnect">The "Autoconnect" property</a>
 </dt>
-<dt id="ientry-idm139623650784880">org.freedesktop.NetworkManager.Device:AvailableConnections, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.AvailableConnections">The "AvailableConnections" property</a>
+<dt id="ientry-idm139942403288656">org.freedesktop.NetworkManager.Device:AvailableConnections, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.AvailableConnections">The "AvailableConnections" property</a>
 </dt>
-<dt id="ientry-idm139623650849728">org.freedesktop.NetworkManager.Device:Capabilities, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Capabilities">The "Capabilities" property</a>
+<dt id="ientry-idm139942403353504">org.freedesktop.NetworkManager.Device:Capabilities, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Capabilities">The "Capabilities" property</a>
 </dt>
-<dt id="ientry-idm139623650789792">org.freedesktop.NetworkManager.Device:DeviceType, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.DeviceType">The "DeviceType" property</a>
+<dt id="ientry-idm139942403293568">org.freedesktop.NetworkManager.Device:DeviceType, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.DeviceType">The "DeviceType" property</a>
 </dt>
-<dt id="ientry-idm139623650820352">org.freedesktop.NetworkManager.Device:Dhcp4Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Dhcp4Config">The "Dhcp4Config" property</a>
+<dt id="ientry-idm139942403324128">org.freedesktop.NetworkManager.Device:Dhcp4Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Dhcp4Config">The "Dhcp4Config" property</a>
 </dt>
-<dt id="ientry-idm139623650811664">org.freedesktop.NetworkManager.Device:Dhcp6Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Dhcp6Config">The "Dhcp6Config" property</a>
+<dt id="ientry-idm139942403315440">org.freedesktop.NetworkManager.Device:Dhcp6Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Dhcp6Config">The "Dhcp6Config" property</a>
 </dt>
-<dt id="ientry-idm139623650862144">org.freedesktop.NetworkManager.Device:Driver, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Driver">The "Driver" property</a>
+<dt id="ientry-idm139942403365920">org.freedesktop.NetworkManager.Device:Driver, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Driver">The "Driver" property</a>
 </dt>
-<dt id="ientry-idm139623650858016">org.freedesktop.NetworkManager.Device:DriverVersion, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.DriverVersion">The "DriverVersion" property</a>
+<dt id="ientry-idm139942403361792">org.freedesktop.NetworkManager.Device:DriverVersion, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.DriverVersion">The "DriverVersion" property</a>
 </dt>
-<dt id="ientry-idm139623650798320">org.freedesktop.NetworkManager.Device:FirmwareMissing, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.FirmwareMissing">The "FirmwareMissing" property</a>
+<dt id="ientry-idm139942403302096">org.freedesktop.NetworkManager.Device:FirmwareMissing, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.FirmwareMissing">The "FirmwareMissing" property</a>
 </dt>
-<dt id="ientry-idm139623650853872">org.freedesktop.NetworkManager.Device:FirmwareVersion, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.FirmwareVersion">The "FirmwareVersion" property</a>
+<dt id="ientry-idm139942403357648">org.freedesktop.NetworkManager.Device:FirmwareVersion, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.FirmwareVersion">The "FirmwareVersion" property</a>
 </dt>
-<dt id="ientry-idm139623650870768">org.freedesktop.NetworkManager.Device:Interface, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Interface">The "Interface" property</a>
+<dt id="ientry-idm139942403374544">org.freedesktop.NetworkManager.Device:Interface, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Interface">The "Interface" property</a>
 </dt>
-<dt id="ientry-idm139623650844496">org.freedesktop.NetworkManager.Device:Ip4Address, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Ip4Address">The "Ip4Address" property</a>
+<dt id="ientry-idm139942403348272">org.freedesktop.NetworkManager.Device:Ip4Address, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Ip4Address">The "Ip4Address" property</a>
 </dt>
-<dt id="ientry-idm139623650824688">org.freedesktop.NetworkManager.Device:Ip4Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Ip4Config">The "Ip4Config" property</a>
+<dt id="ientry-idm139942403328464">org.freedesktop.NetworkManager.Device:Ip4Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Ip4Config">The "Ip4Config" property</a>
 </dt>
-<dt id="ientry-idm139623650816000">org.freedesktop.NetworkManager.Device:Ip6Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Ip6Config">The "Ip6Config" property</a>
+<dt id="ientry-idm139942403319776">org.freedesktop.NetworkManager.Device:Ip6Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Ip6Config">The "Ip6Config" property</a>
 </dt>
-<dt id="ientry-idm139623650866544">org.freedesktop.NetworkManager.Device:IpInterface, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.IpInterface">The "IpInterface" property</a>
+<dt id="ientry-idm139942403370320">org.freedesktop.NetworkManager.Device:IpInterface, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.IpInterface">The "IpInterface" property</a>
 </dt>
-<dt id="ientry-idm139623650766672">org.freedesktop.NetworkManager.Device:LldpNeighbors, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.LldpNeighbors">The "LldpNeighbors" property</a>
+<dt id="ientry-idm139942403270448">org.freedesktop.NetworkManager.Device:LldpNeighbors, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.LldpNeighbors">The "LldpNeighbors" property</a>
 </dt>
-<dt id="ientry-idm139623650807328">org.freedesktop.NetworkManager.Device:Managed, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Managed">The "Managed" property</a>
+<dt id="ientry-idm139942403311104">org.freedesktop.NetworkManager.Device:Managed, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Managed">The "Managed" property</a>
 </dt>
-<dt id="ientry-idm139623650771968">org.freedesktop.NetworkManager.Device:Metered, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Metered">The "Metered" property</a>
+<dt id="ientry-idm139942403275744">org.freedesktop.NetworkManager.Device:Metered, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Metered">The "Metered" property</a>
 </dt>
-<dt id="ientry-idm139623650776080">org.freedesktop.NetworkManager.Device:Mtu, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Mtu">The "Mtu" property</a>
+<dt id="ientry-idm139942403279856">org.freedesktop.NetworkManager.Device:Mtu, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Mtu">The "Mtu" property</a>
 </dt>
-<dt id="ientry-idm139623650794064">org.freedesktop.NetworkManager.Device:NmPluginMissing, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.NmPluginMissing">The "NmPluginMissing" property</a>
+<dt id="ientry-idm139942403297840">org.freedesktop.NetworkManager.Device:NmPluginMissing, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.NmPluginMissing">The "NmPluginMissing" property</a>
 </dt>
-<dt id="ientry-idm139623650780496">org.freedesktop.NetworkManager.Device:PhysicalPortId, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.PhysicalPortId">The "PhysicalPortId" property</a>
+<dt id="ientry-idm139942403284272">org.freedesktop.NetworkManager.Device:PhysicalPortId, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.PhysicalPortId">The "PhysicalPortId" property</a>
 </dt>
-<dt id="ientry-idm139623650762416">org.freedesktop.NetworkManager.Device:Real, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Real">The "Real" property</a>
+<dt id="ientry-idm139942403266192">org.freedesktop.NetworkManager.Device:Real, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Real">The "Real" property</a>
 </dt>
-<dt id="ientry-idm139623650840256">org.freedesktop.NetworkManager.Device:State, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.State">The "State" property</a>
+<dt id="ientry-idm139942403344032">org.freedesktop.NetworkManager.Device:State, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.State">The "State" property</a>
 </dt>
-<dt id="ientry-idm139623650835120">org.freedesktop.NetworkManager.Device:StateReason, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.StateReason">The "StateReason" property</a>
+<dt id="ientry-idm139942403338896">org.freedesktop.NetworkManager.Device:StateReason, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.StateReason">The "StateReason" property</a>
 </dt>
-<dt id="ientry-idm139623650875760">org.freedesktop.NetworkManager.Device:Udi, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Udi">The "Udi" property</a>
+<dt id="ientry-idm139942403379536">org.freedesktop.NetworkManager.Device:Udi, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.html#gdbus-property-org-freedesktop-NetworkManager-Device.Udi">The "Udi" property</a>
 </dt>
-<dt id="ientry-idm139623653895056">org.freedesktop.NetworkManager.DnsManager, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.DnsManager.html#gdbus-interface-org-freedesktop-NetworkManager-DnsManager.top_of_page">org.freedesktop.NetworkManager.DnsManager</a>
+<dt id="ientry-idm139942412815584">org.freedesktop.NetworkManager.DnsManager, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.DnsManager.html#gdbus-interface-org-freedesktop-NetworkManager-DnsManager.top_of_page">org.freedesktop.NetworkManager.DnsManager</a>
 </dt>
-<dt id="ientry-idm139623646996304">org.freedesktop.NetworkManager.DnsManager:Configuration, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.DnsManager.html#gdbus-property-org-freedesktop-NetworkManager-DnsManager.Configuration">The "Configuration" property</a>
+<dt id="ientry-idm139942402217728">org.freedesktop.NetworkManager.DnsManager:Configuration, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.DnsManager.html#gdbus-property-org-freedesktop-NetworkManager-DnsManager.Configuration">The "Configuration" property</a>
 </dt>
-<dt id="ientry-idm139623646744096">org.freedesktop.NetworkManager.DnsManager:Mode, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.DnsManager.html#gdbus-property-org-freedesktop-NetworkManager-DnsManager.Mode">The "Mode" property</a>
+<dt id="ientry-idm139942410221072">org.freedesktop.NetworkManager.DnsManager:Mode, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.DnsManager.html#gdbus-property-org-freedesktop-NetworkManager-DnsManager.Mode">The "Mode" property</a>
 </dt>
-<dt id="ientry-idm139623655057552">org.freedesktop.NetworkManager.DnsManager:RcManager, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.DnsManager.html#gdbus-property-org-freedesktop-NetworkManager-DnsManager.RcManager">The "RcManager" property</a>
+<dt id="ientry-idm139942401582128">org.freedesktop.NetworkManager.DnsManager:RcManager, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.DnsManager.html#gdbus-property-org-freedesktop-NetworkManager-DnsManager.RcManager">The "RcManager" property</a>
 </dt>
-<dt id="ientry-idm139623656899696">org.freedesktop.NetworkManager.IP4Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-interface-org-freedesktop-NetworkManager-IP4Config.top_of_page">org.freedesktop.NetworkManager.IP4Config</a>
+<dt id="ientry-idm139942407611248">org.freedesktop.NetworkManager.IP4Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-interface-org-freedesktop-NetworkManager-IP4Config.top_of_page">org.freedesktop.NetworkManager.IP4Config</a>
 </dt>
-<dt id="ientry-idm139623647716048">org.freedesktop.NetworkManager.IP4Config::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-signal-org-freedesktop-NetworkManager-IP4Config.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942402552496">org.freedesktop.NetworkManager.IP4Config::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-signal-org-freedesktop-NetworkManager-IP4Config.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623647754784">org.freedesktop.NetworkManager.IP4Config:AddressData, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-property-org-freedesktop-NetworkManager-IP4Config.AddressData">The "AddressData" property</a>
+<dt id="ientry-idm139942401917632">org.freedesktop.NetworkManager.IP4Config:AddressData, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-property-org-freedesktop-NetworkManager-IP4Config.AddressData">The "AddressData" property</a>
 </dt>
-<dt id="ientry-idm139623647759184">org.freedesktop.NetworkManager.IP4Config:Addresses, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-property-org-freedesktop-NetworkManager-IP4Config.Addresses">The "Addresses" property</a>
+<dt id="ientry-idm139942401922032">org.freedesktop.NetworkManager.IP4Config:Addresses, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-property-org-freedesktop-NetworkManager-IP4Config.Addresses">The "Addresses" property</a>
 </dt>
-<dt id="ientry-idm139623647563360">org.freedesktop.NetworkManager.IP4Config:DnsOptions, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-property-org-freedesktop-NetworkManager-IP4Config.DnsOptions">The "DnsOptions" property</a>
+<dt id="ientry-idm139942401880976">org.freedesktop.NetworkManager.IP4Config:DnsOptions, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-property-org-freedesktop-NetworkManager-IP4Config.DnsOptions">The "DnsOptions" property</a>
 </dt>
-<dt id="ientry-idm139623647559056">org.freedesktop.NetworkManager.IP4Config:DnsPriority, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-property-org-freedesktop-NetworkManager-IP4Config.DnsPriority">The "DnsPriority" property</a>
+<dt id="ientry-idm139942401876672">org.freedesktop.NetworkManager.IP4Config:DnsPriority, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-property-org-freedesktop-NetworkManager-IP4Config.DnsPriority">The "DnsPriority" property</a>
 </dt>
-<dt id="ientry-idm139623647571680">org.freedesktop.NetworkManager.IP4Config:Domains, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-property-org-freedesktop-NetworkManager-IP4Config.Domains">The "Domains" property</a>
+<dt id="ientry-idm139942401889296">org.freedesktop.NetworkManager.IP4Config:Domains, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-property-org-freedesktop-NetworkManager-IP4Config.Domains">The "Domains" property</a>
 </dt>
-<dt id="ientry-idm139623648045008">org.freedesktop.NetworkManager.IP4Config:Gateway, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-property-org-freedesktop-NetworkManager-IP4Config.Gateway">The "Gateway" property</a>
+<dt id="ientry-idm139942401910608">org.freedesktop.NetworkManager.IP4Config:Gateway, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-property-org-freedesktop-NetworkManager-IP4Config.Gateway">The "Gateway" property</a>
 </dt>
-<dt id="ientry-idm139623648031936">org.freedesktop.NetworkManager.IP4Config:Nameservers, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-property-org-freedesktop-NetworkManager-IP4Config.Nameservers">The "Nameservers" property</a>
+<dt id="ientry-idm139942401897536">org.freedesktop.NetworkManager.IP4Config:Nameservers, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-property-org-freedesktop-NetworkManager-IP4Config.Nameservers">The "Nameservers" property</a>
 </dt>
-<dt id="ientry-idm139623648036336">org.freedesktop.NetworkManager.IP4Config:RouteData, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-property-org-freedesktop-NetworkManager-IP4Config.RouteData">The "RouteData" property</a>
+<dt id="ientry-idm139942401901936">org.freedesktop.NetworkManager.IP4Config:RouteData, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-property-org-freedesktop-NetworkManager-IP4Config.RouteData">The "RouteData" property</a>
 </dt>
-<dt id="ientry-idm139623648040848">org.freedesktop.NetworkManager.IP4Config:Routes, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-property-org-freedesktop-NetworkManager-IP4Config.Routes">The "Routes" property</a>
+<dt id="ientry-idm139942401906448">org.freedesktop.NetworkManager.IP4Config:Routes, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-property-org-freedesktop-NetworkManager-IP4Config.Routes">The "Routes" property</a>
 </dt>
-<dt id="ientry-idm139623647567552">org.freedesktop.NetworkManager.IP4Config:Searches, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-property-org-freedesktop-NetworkManager-IP4Config.Searches">The "Searches" property</a>
+<dt id="ientry-idm139942401885168">org.freedesktop.NetworkManager.IP4Config:Searches, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-property-org-freedesktop-NetworkManager-IP4Config.Searches">The "Searches" property</a>
 </dt>
-<dt id="ientry-idm139623647554912">org.freedesktop.NetworkManager.IP4Config:WinsServers, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-property-org-freedesktop-NetworkManager-IP4Config.WinsServers">The "WinsServers" property</a>
+<dt id="ientry-idm139942401872528">org.freedesktop.NetworkManager.IP4Config:WinsServers, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP4Config.html#gdbus-property-org-freedesktop-NetworkManager-IP4Config.WinsServers">The "WinsServers" property</a>
 </dt>
-<dt id="ientry-idm139623657190256">org.freedesktop.NetworkManager.IP6Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP6Config.html#gdbus-interface-org-freedesktop-NetworkManager-IP6Config.top_of_page">org.freedesktop.NetworkManager.IP6Config</a>
+<dt id="ientry-idm139942408753264">org.freedesktop.NetworkManager.IP6Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP6Config.html#gdbus-interface-org-freedesktop-NetworkManager-IP6Config.top_of_page">org.freedesktop.NetworkManager.IP6Config</a>
 </dt>
-<dt id="ientry-idm139623647321648">org.freedesktop.NetworkManager.IP6Config::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP6Config.html#gdbus-signal-org-freedesktop-NetworkManager-IP6Config.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942401942480">org.freedesktop.NetworkManager.IP6Config::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP6Config.html#gdbus-signal-org-freedesktop-NetworkManager-IP6Config.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623650742784">org.freedesktop.NetworkManager.IP6Config:AddressData, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP6Config.html#gdbus-property-org-freedesktop-NetworkManager-IP6Config.AddressData">The "AddressData" property</a>
+<dt id="ientry-idm139942402687424">org.freedesktop.NetworkManager.IP6Config:AddressData, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP6Config.html#gdbus-property-org-freedesktop-NetworkManager-IP6Config.AddressData">The "AddressData" property</a>
 </dt>
-<dt id="ientry-idm139623647530928">org.freedesktop.NetworkManager.IP6Config:Addresses, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP6Config.html#gdbus-property-org-freedesktop-NetworkManager-IP6Config.Addresses">The "Addresses" property</a>
+<dt id="ientry-idm139942401958096">org.freedesktop.NetworkManager.IP6Config:Addresses, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP6Config.html#gdbus-property-org-freedesktop-NetworkManager-IP6Config.Addresses">The "Addresses" property</a>
 </dt>
-<dt id="ientry-idm139623647948544">org.freedesktop.NetworkManager.IP6Config:DnsOptions, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP6Config.html#gdbus-property-org-freedesktop-NetworkManager-IP6Config.DnsOptions">The "DnsOptions" property</a>
+<dt id="ientry-idm139942401860208">org.freedesktop.NetworkManager.IP6Config:DnsOptions, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP6Config.html#gdbus-property-org-freedesktop-NetworkManager-IP6Config.DnsOptions">The "DnsOptions" property</a>
 </dt>
-<dt id="ientry-idm139623647944352">org.freedesktop.NetworkManager.IP6Config:DnsPriority, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP6Config.html#gdbus-property-org-freedesktop-NetworkManager-IP6Config.DnsPriority">The "DnsPriority" property</a>
+<dt id="ientry-idm139942401855904">org.freedesktop.NetworkManager.IP6Config:DnsPriority, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP6Config.html#gdbus-property-org-freedesktop-NetworkManager-IP6Config.DnsPriority">The "DnsPriority" property</a>
 </dt>
-<dt id="ientry-idm139623647249952">org.freedesktop.NetworkManager.IP6Config:Domains, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP6Config.html#gdbus-property-org-freedesktop-NetworkManager-IP6Config.Domains">The "Domains" property</a>
+<dt id="ientry-idm139942401868528">org.freedesktop.NetworkManager.IP6Config:Domains, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP6Config.html#gdbus-property-org-freedesktop-NetworkManager-IP6Config.Domains">The "Domains" property</a>
 </dt>
-<dt id="ientry-idm139623650738448">org.freedesktop.NetworkManager.IP6Config:Gateway, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP6Config.html#gdbus-property-org-freedesktop-NetworkManager-IP6Config.Gateway">The "Gateway" property</a>
+<dt id="ientry-idm139942402683088">org.freedesktop.NetworkManager.IP6Config:Gateway, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP6Config.html#gdbus-property-org-freedesktop-NetworkManager-IP6Config.Gateway">The "Gateway" property</a>
 </dt>
-<dt id="ientry-idm139623647254128">org.freedesktop.NetworkManager.IP6Config:Nameservers, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP6Config.html#gdbus-property-org-freedesktop-NetworkManager-IP6Config.Nameservers">The "Nameservers" property</a>
+<dt id="ientry-idm139942402670384">org.freedesktop.NetworkManager.IP6Config:Nameservers, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP6Config.html#gdbus-property-org-freedesktop-NetworkManager-IP6Config.Nameservers">The "Nameservers" property</a>
 </dt>
-<dt id="ientry-idm139623648058864">org.freedesktop.NetworkManager.IP6Config:RouteData, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP6Config.html#gdbus-property-org-freedesktop-NetworkManager-IP6Config.RouteData">The "RouteData" property</a>
+<dt id="ientry-idm139942402674784">org.freedesktop.NetworkManager.IP6Config:RouteData, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP6Config.html#gdbus-property-org-freedesktop-NetworkManager-IP6Config.RouteData">The "RouteData" property</a>
 </dt>
-<dt id="ientry-idm139623647932464">org.freedesktop.NetworkManager.IP6Config:Routes, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP6Config.html#gdbus-property-org-freedesktop-NetworkManager-IP6Config.Routes">The "Routes" property</a>
+<dt id="ientry-idm139942402678928">org.freedesktop.NetworkManager.IP6Config:Routes, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP6Config.html#gdbus-property-org-freedesktop-NetworkManager-IP6Config.Routes">The "Routes" property</a>
 </dt>
-<dt id="ientry-idm139623647905440">org.freedesktop.NetworkManager.IP6Config:Searches, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP6Config.html#gdbus-property-org-freedesktop-NetworkManager-IP6Config.Searches">The "Searches" property</a>
+<dt id="ientry-idm139942401864400">org.freedesktop.NetworkManager.IP6Config:Searches, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.IP6Config.html#gdbus-property-org-freedesktop-NetworkManager-IP6Config.Searches">The "Searches" property</a>
 </dt>
-<dt id="ientry-idm139623653209408">org.freedesktop.NetworkManager.SecretAgent, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.SecretAgent.html#gdbus-interface-org-freedesktop-NetworkManager-SecretAgent.top_of_page">org.freedesktop.NetworkManager.SecretAgent</a>
+<dt id="ientry-idm139942411536992">org.freedesktop.NetworkManager.SecretAgent, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.SecretAgent.html#gdbus-interface-org-freedesktop-NetworkManager-SecretAgent.top_of_page">org.freedesktop.NetworkManager.SecretAgent</a>
 </dt>
-<dt id="ientry-idm139623647465776">org.freedesktop.NetworkManager.SecretAgent.CancelGetSecrets(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.SecretAgent.html#gdbus-method-org-freedesktop-NetworkManager-SecretAgent.CancelGetSecrets">The CancelGetSecrets() method</a>
+<dt id="ientry-idm139942402017728">org.freedesktop.NetworkManager.SecretAgent.CancelGetSecrets(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.SecretAgent.html#gdbus-method-org-freedesktop-NetworkManager-SecretAgent.CancelGetSecrets">The CancelGetSecrets() method</a>
 </dt>
-<dt id="ientry-idm139623646953664">org.freedesktop.NetworkManager.SecretAgent.DeleteSecrets(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.SecretAgent.html#gdbus-method-org-freedesktop-NetworkManager-SecretAgent.DeleteSecrets">The DeleteSecrets() method</a>
+<dt id="ientry-idm139942402365360">org.freedesktop.NetworkManager.SecretAgent.DeleteSecrets(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.SecretAgent.html#gdbus-method-org-freedesktop-NetworkManager-SecretAgent.DeleteSecrets">The DeleteSecrets() method</a>
 </dt>
-<dt id="ientry-idm139623647372720">org.freedesktop.NetworkManager.SecretAgent.GetSecrets(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.SecretAgent.html#gdbus-method-org-freedesktop-NetworkManager-SecretAgent.GetSecrets">The GetSecrets() method</a>
+<dt id="ientry-idm139942401575552">org.freedesktop.NetworkManager.SecretAgent.GetSecrets(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.SecretAgent.html#gdbus-method-org-freedesktop-NetworkManager-SecretAgent.GetSecrets">The GetSecrets() method</a>
 </dt>
-<dt id="ientry-idm139623647482016">org.freedesktop.NetworkManager.SecretAgent.SaveSecrets(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.SecretAgent.html#gdbus-method-org-freedesktop-NetworkManager-SecretAgent.SaveSecrets">The SaveSecrets() method</a>
+<dt id="ientry-idm139942402375856">org.freedesktop.NetworkManager.SecretAgent.SaveSecrets(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.SecretAgent.html#gdbus-method-org-freedesktop-NetworkManager-SecretAgent.SaveSecrets">The SaveSecrets() method</a>
 </dt>
-<dt id="ientry-idm139623654368688">org.freedesktop.NetworkManager.Settings, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-interface-org-freedesktop-NetworkManager-Settings.top_of_page">org.freedesktop.NetworkManager.Settings</a>
+<dt id="ientry-idm139942412028720">org.freedesktop.NetworkManager.Settings, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-interface-org-freedesktop-NetworkManager-Settings.top_of_page">org.freedesktop.NetworkManager.Settings</a>
 </dt>
-<dt id="ientry-idm139623649556240">org.freedesktop.NetworkManager.Settings.AddConnection(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-method-org-freedesktop-NetworkManager-Settings.AddConnection">The AddConnection() method</a>
+<dt id="ientry-idm139942412309680">org.freedesktop.NetworkManager.Settings.AddConnection(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-method-org-freedesktop-NetworkManager-Settings.AddConnection">The AddConnection() method</a>
 </dt>
-<dt id="ientry-idm139623649546192">org.freedesktop.NetworkManager.Settings.AddConnectionUnsaved(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-method-org-freedesktop-NetworkManager-Settings.AddConnectionUnsaved">The AddConnectionUnsaved() method</a>
+<dt id="ientry-idm139942411960256">org.freedesktop.NetworkManager.Settings.AddConnectionUnsaved(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-method-org-freedesktop-NetworkManager-Settings.AddConnectionUnsaved">The AddConnectionUnsaved() method</a>
 </dt>
-<dt id="ientry-idm139623657051792">org.freedesktop.NetworkManager.Settings.Connection, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-interface-org-freedesktop-NetworkManager-Settings-Connection.top_of_page">org.freedesktop.NetworkManager.Settings.Connection</a>
+<dt id="ientry-idm139942411501248">org.freedesktop.NetworkManager.Settings.Connection, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-interface-org-freedesktop-NetworkManager-Settings-Connection.top_of_page">org.freedesktop.NetworkManager.Settings.Connection</a>
 </dt>
-<dt id="ientry-idm139623652535696">org.freedesktop.NetworkManager.Settings.Connection.ClearSecrets(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-method-org-freedesktop-NetworkManager-Settings-Connection.ClearSecrets">The ClearSecrets() method</a>
+<dt id="ientry-idm139942404632224">org.freedesktop.NetworkManager.Settings.Connection.ClearSecrets(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-method-org-freedesktop-NetworkManager-Settings-Connection.ClearSecrets">The ClearSecrets() method</a>
 </dt>
-<dt id="ientry-idm139623649519824">org.freedesktop.NetworkManager.Settings.Connection.Delete(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-method-org-freedesktop-NetworkManager-Settings-Connection.Delete">The Delete() method</a>
+<dt id="ientry-idm139942404883968">org.freedesktop.NetworkManager.Settings.Connection.Delete(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-method-org-freedesktop-NetworkManager-Settings-Connection.Delete">The Delete() method</a>
 </dt>
-<dt id="ientry-idm139623649507744">org.freedesktop.NetworkManager.Settings.Connection.GetSecrets(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-method-org-freedesktop-NetworkManager-Settings-Connection.GetSecrets">The GetSecrets() method</a>
+<dt id="ientry-idm139942404642784">org.freedesktop.NetworkManager.Settings.Connection.GetSecrets(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-method-org-freedesktop-NetworkManager-Settings-Connection.GetSecrets">The GetSecrets() method</a>
 </dt>
-<dt id="ientry-idm139623649515584">org.freedesktop.NetworkManager.Settings.Connection.GetSettings(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-method-org-freedesktop-NetworkManager-Settings-Connection.GetSettings">The GetSettings() method</a>
+<dt id="ientry-idm139942404650624">org.freedesktop.NetworkManager.Settings.Connection.GetSettings(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-method-org-freedesktop-NetworkManager-Settings-Connection.GetSettings">The GetSettings() method</a>
 </dt>
-<dt id="ientry-idm139623652531392">org.freedesktop.NetworkManager.Settings.Connection.Save(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-method-org-freedesktop-NetworkManager-Settings-Connection.Save">The Save() method</a>
+<dt id="ientry-idm139942404627920">org.freedesktop.NetworkManager.Settings.Connection.Save(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-method-org-freedesktop-NetworkManager-Settings-Connection.Save">The Save() method</a>
 </dt>
-<dt id="ientry-idm139623657319696">org.freedesktop.NetworkManager.Settings.Connection.Update(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-method-org-freedesktop-NetworkManager-Settings-Connection.Update">The Update() method</a>
+<dt id="ientry-idm139942407005600">org.freedesktop.NetworkManager.Settings.Connection.Update(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-method-org-freedesktop-NetworkManager-Settings-Connection.Update">The Update() method</a>
 </dt>
-<dt id="ientry-idm139623652272464">org.freedesktop.NetworkManager.Settings.Connection.UpdateUnsaved(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-method-org-freedesktop-NetworkManager-Settings-Connection.UpdateUnsaved">The UpdateUnsaved() method</a>
+<dt id="ientry-idm139942404892096">org.freedesktop.NetworkManager.Settings.Connection.UpdateUnsaved(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-method-org-freedesktop-NetworkManager-Settings-Connection.UpdateUnsaved">The UpdateUnsaved() method</a>
 </dt>
-<dt id="ientry-idm139623652516112">org.freedesktop.NetworkManager.Settings.Connection::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-signal-org-freedesktop-NetworkManager-Settings-Connection.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942404592608">org.freedesktop.NetworkManager.Settings.Connection::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-signal-org-freedesktop-NetworkManager-Settings-Connection.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623652520704">org.freedesktop.NetworkManager.Settings.Connection::Removed, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-signal-org-freedesktop-NetworkManager-Settings-Connection.Removed">The "Removed" signal</a>
+<dt id="ientry-idm139942404597200">org.freedesktop.NetworkManager.Settings.Connection::Removed, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-signal-org-freedesktop-NetworkManager-Settings-Connection.Removed">The "Removed" signal</a>
 </dt>
-<dt id="ientry-idm139623652525200">org.freedesktop.NetworkManager.Settings.Connection::Updated, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-signal-org-freedesktop-NetworkManager-Settings-Connection.Updated">The "Updated" signal</a>
+<dt id="ientry-idm139942404601696">org.freedesktop.NetworkManager.Settings.Connection::Updated, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-signal-org-freedesktop-NetworkManager-Settings-Connection.Updated">The "Updated" signal</a>
 </dt>
-<dt id="ientry-idm139623652506384">org.freedesktop.NetworkManager.Settings.Connection:Unsaved, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-property-org-freedesktop-NetworkManager-Settings-Connection.Unsaved">The "Unsaved" property</a>
+<dt id="ientry-idm139942404582880">org.freedesktop.NetworkManager.Settings.Connection:Unsaved, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-property-org-freedesktop-NetworkManager-Settings-Connection.Unsaved">The "Unsaved" property</a>
 </dt>
-<dt id="ientry-idm139623653321792">org.freedesktop.NetworkManager.Settings.GetConnectionByUuid(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-method-org-freedesktop-NetworkManager-Settings.GetConnectionByUuid">The GetConnectionByUuid() method</a>
+<dt id="ientry-idm139942412301408">org.freedesktop.NetworkManager.Settings.GetConnectionByUuid(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-method-org-freedesktop-NetworkManager-Settings.GetConnectionByUuid">The GetConnectionByUuid() method</a>
 </dt>
-<dt id="ientry-idm139623657282784">org.freedesktop.NetworkManager.Settings.ListConnections(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-method-org-freedesktop-NetworkManager-Settings.ListConnections">The ListConnections() method</a>
+<dt id="ientry-idm139942407375296">org.freedesktop.NetworkManager.Settings.ListConnections(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-method-org-freedesktop-NetworkManager-Settings.ListConnections">The ListConnections() method</a>
 </dt>
-<dt id="ientry-idm139623649966160">org.freedesktop.NetworkManager.Settings.LoadConnections(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-method-org-freedesktop-NetworkManager-Settings.LoadConnections">The LoadConnections() method</a>
+<dt id="ientry-idm139942412322560">org.freedesktop.NetworkManager.Settings.LoadConnections(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-method-org-freedesktop-NetworkManager-Settings.LoadConnections">The LoadConnections() method</a>
 </dt>
-<dt id="ientry-idm139623649952624">org.freedesktop.NetworkManager.Settings.ReloadConnections(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-method-org-freedesktop-NetworkManager-Settings.ReloadConnections">The ReloadConnections() method</a>
+<dt id="ientry-idm139942411408096">org.freedesktop.NetworkManager.Settings.ReloadConnections(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-method-org-freedesktop-NetworkManager-Settings.ReloadConnections">The ReloadConnections() method</a>
 </dt>
-<dt id="ientry-idm139623649944720">org.freedesktop.NetworkManager.Settings.SaveHostname(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-method-org-freedesktop-NetworkManager-Settings.SaveHostname">The SaveHostname() method</a>
+<dt id="ientry-idm139942412080736">org.freedesktop.NetworkManager.Settings.SaveHostname(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-method-org-freedesktop-NetworkManager-Settings.SaveHostname">The SaveHostname() method</a>
 </dt>
-<dt id="ientry-idm139623649919632">org.freedesktop.NetworkManager.Settings::ConnectionRemoved, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-signal-org-freedesktop-NetworkManager-Settings.ConnectionRemoved">The "ConnectionRemoved" signal</a>
+<dt id="ientry-idm139942407551536">org.freedesktop.NetworkManager.Settings::ConnectionRemoved, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-signal-org-freedesktop-NetworkManager-Settings.ConnectionRemoved">The "ConnectionRemoved" signal</a>
 </dt>
-<dt id="ientry-idm139623649927728">org.freedesktop.NetworkManager.Settings::NewConnection, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-signal-org-freedesktop-NetworkManager-Settings.NewConnection">The "NewConnection" signal</a>
+<dt id="ientry-idm139942410014688">org.freedesktop.NetworkManager.Settings::NewConnection, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-signal-org-freedesktop-NetworkManager-Settings.NewConnection">The "NewConnection" signal</a>
 </dt>
-<dt id="ientry-idm139623649935504">org.freedesktop.NetworkManager.Settings::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-signal-org-freedesktop-NetworkManager-Settings.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942410022464">org.freedesktop.NetworkManager.Settings::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-signal-org-freedesktop-NetworkManager-Settings.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623649901440">org.freedesktop.NetworkManager.Settings:CanModify, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-property-org-freedesktop-NetworkManager-Settings.CanModify">The "CanModify" property</a>
+<dt id="ientry-idm139942412753424">org.freedesktop.NetworkManager.Settings:CanModify, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-property-org-freedesktop-NetworkManager-Settings.CanModify">The "CanModify" property</a>
 </dt>
-<dt id="ientry-idm139623649909872">org.freedesktop.NetworkManager.Settings:Connections, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-property-org-freedesktop-NetworkManager-Settings.Connections">The "Connections" property</a>
+<dt id="ientry-idm139942412761856">org.freedesktop.NetworkManager.Settings:Connections, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-property-org-freedesktop-NetworkManager-Settings.Connections">The "Connections" property</a>
 </dt>
-<dt id="ientry-idm139623649905664">org.freedesktop.NetworkManager.Settings:Hostname, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-property-org-freedesktop-NetworkManager-Settings.Hostname">The "Hostname" property</a>
+<dt id="ientry-idm139942412757648">org.freedesktop.NetworkManager.Settings:Hostname, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Settings.html#gdbus-property-org-freedesktop-NetworkManager-Settings.Hostname">The "Hostname" property</a>
 </dt>
 </dl>
 </div>
 <div class="indexdiv">
 <h3>A</h3>
 <dl>
-<dt id="ientry-idm139623652156960">org.freedesktop.NetworkManager.Connection.Active, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-interface-org-freedesktop-NetworkManager-Connection-Active.top_of_page">org.freedesktop.NetworkManager.Connection.Active</a>
+<dt id="ientry-idm139942411904784">org.freedesktop.NetworkManager.Connection.Active, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-interface-org-freedesktop-NetworkManager-Connection-Active.top_of_page">org.freedesktop.NetworkManager.Connection.Active</a>
 </dt>
-<dt id="ientry-idm139623652552304">org.freedesktop.NetworkManager.Connection.Active::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-signal-org-freedesktop-NetworkManager-Connection-Active.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942404901888">org.freedesktop.NetworkManager.Connection.Active::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-signal-org-freedesktop-NetworkManager-Connection-Active.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623652561184">org.freedesktop.NetworkManager.Connection.Active:Connection, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Connection">The "Connection" property</a>
+<dt id="ientry-idm139942412564576">org.freedesktop.NetworkManager.Connection.Active:Connection, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Connection">The "Connection" property</a>
 </dt>
-<dt id="ientry-idm139623650652816">org.freedesktop.NetworkManager.Connection.Active:Default, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Default">The "Default" property</a>
+<dt id="ientry-idm139942404448032">org.freedesktop.NetworkManager.Connection.Active:Default, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Default">The "Default" property</a>
 </dt>
-<dt id="ientry-idm139623650639376">org.freedesktop.NetworkManager.Connection.Active:Default6, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Default6">The "Default6" property</a>
+<dt id="ientry-idm139942404434592">org.freedesktop.NetworkManager.Connection.Active:Default6, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Default6">The "Default6" property</a>
 </dt>
-<dt id="ientry-idm139623650662272">org.freedesktop.NetworkManager.Connection.Active:Devices, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Devices">The "Devices" property</a>
+<dt id="ientry-idm139942404457488">org.freedesktop.NetworkManager.Connection.Active:Devices, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Devices">The "Devices" property</a>
 </dt>
-<dt id="ientry-idm139623650643904">org.freedesktop.NetworkManager.Connection.Active:Dhcp4Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Dhcp4Config">The "Dhcp4Config" property</a>
+<dt id="ientry-idm139942404439120">org.freedesktop.NetworkManager.Connection.Active:Dhcp4Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Dhcp4Config">The "Dhcp4Config" property</a>
 </dt>
-<dt id="ientry-idm139623650630448">org.freedesktop.NetworkManager.Connection.Active:Dhcp6Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Dhcp6Config">The "Dhcp6Config" property</a>
+<dt id="ientry-idm139942404425664">org.freedesktop.NetworkManager.Connection.Active:Dhcp6Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Dhcp6Config">The "Dhcp6Config" property</a>
 </dt>
-<dt id="ientry-idm139623648607392">org.freedesktop.NetworkManager.Connection.Active:Id, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Id">The "Id" property</a>
+<dt id="ientry-idm139942404874528">org.freedesktop.NetworkManager.Connection.Active:Id, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Id">The "Id" property</a>
 </dt>
-<dt id="ientry-idm139623650648400">org.freedesktop.NetworkManager.Connection.Active:Ip4Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Ip4Config">The "Ip4Config" property</a>
+<dt id="ientry-idm139942404443616">org.freedesktop.NetworkManager.Connection.Active:Ip4Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Ip4Config">The "Ip4Config" property</a>
 </dt>
-<dt id="ientry-idm139623650634944">org.freedesktop.NetworkManager.Connection.Active:Ip6Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Ip6Config">The "Ip6Config" property</a>
+<dt id="ientry-idm139942404430160">org.freedesktop.NetworkManager.Connection.Active:Ip6Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Ip6Config">The "Ip6Config" property</a>
 </dt>
-<dt id="ientry-idm139623650621776">org.freedesktop.NetworkManager.Connection.Active:Master, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Master">The "Master" property</a>
+<dt id="ientry-idm139942404416992">org.freedesktop.NetworkManager.Connection.Active:Master, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Master">The "Master" property</a>
 </dt>
-<dt id="ientry-idm139623648611856">org.freedesktop.NetworkManager.Connection.Active:SpecificObject, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.SpecificObject">The "SpecificObject" property</a>
+<dt id="ientry-idm139942404878992">org.freedesktop.NetworkManager.Connection.Active:SpecificObject, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.SpecificObject">The "SpecificObject" property</a>
 </dt>
-<dt id="ientry-idm139623650657936">org.freedesktop.NetworkManager.Connection.Active:State, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.State">The "State" property</a>
+<dt id="ientry-idm139942404453152">org.freedesktop.NetworkManager.Connection.Active:State, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.State">The "State" property</a>
 </dt>
-<dt id="ientry-idm139623648598880">org.freedesktop.NetworkManager.Connection.Active:Type, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Type">The "Type" property</a>
+<dt id="ientry-idm139942404866016">org.freedesktop.NetworkManager.Connection.Active:Type, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Type">The "Type" property</a>
 </dt>
-<dt id="ientry-idm139623648603136">org.freedesktop.NetworkManager.Connection.Active:Uuid, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Uuid">The "Uuid" property</a>
+<dt id="ientry-idm139942404870272">org.freedesktop.NetworkManager.Connection.Active:Uuid, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Uuid">The "Uuid" property</a>
 </dt>
-<dt id="ientry-idm139623650625968">org.freedesktop.NetworkManager.Connection.Active:Vpn, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Vpn">The "Vpn" property</a>
+<dt id="ientry-idm139942404421184">org.freedesktop.NetworkManager.Connection.Active:Vpn, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Connection.Active.html#gdbus-property-org-freedesktop-NetworkManager-Connection-Active.Vpn">The "Vpn" property</a>
 </dt>
 </dl>
 </div>
 <div class="indexdiv">
 <h3>D</h3>
 <dl>
-<dt id="ientry-idm139623654275088">org.freedesktop.NetworkManager.Device.Wired, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wired.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Wired.top_of_page">org.freedesktop.NetworkManager.Device.Wired</a>
+<dt id="ientry-idm139942407526992">org.freedesktop.NetworkManager.Device.Wired, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wired.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Wired.top_of_page">org.freedesktop.NetworkManager.Device.Wired</a>
 </dt>
-<dt id="ientry-idm139623650724528">org.freedesktop.NetworkManager.Device.Wired::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wired.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Wired.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942411688480">org.freedesktop.NetworkManager.Device.Wired::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wired.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Wired.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623648174768">org.freedesktop.NetworkManager.Device.Wired:Carrier, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wired.html#gdbus-property-org-freedesktop-NetworkManager-Device-Wired.Carrier">The "Carrier" property</a>
+<dt id="ientry-idm139942407537424">org.freedesktop.NetworkManager.Device.Wired:Carrier, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wired.html#gdbus-property-org-freedesktop-NetworkManager-Device-Wired.Carrier">The "Carrier" property</a>
 </dt>
-<dt id="ientry-idm139623649998528">org.freedesktop.NetworkManager.Device.Wired:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wired.html#gdbus-property-org-freedesktop-NetworkManager-Device-Wired.HwAddress">The "HwAddress" property</a>
+<dt id="ientry-idm139942407574576">org.freedesktop.NetworkManager.Device.Wired:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wired.html#gdbus-property-org-freedesktop-NetworkManager-Device-Wired.HwAddress">The "HwAddress" property</a>
 </dt>
-<dt id="ientry-idm139623648232560">org.freedesktop.NetworkManager.Device.Wired:PermHwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wired.html#gdbus-property-org-freedesktop-NetworkManager-Device-Wired.PermHwAddress">The "PermHwAddress" property</a>
+<dt id="ientry-idm139942412106032">org.freedesktop.NetworkManager.Device.Wired:PermHwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wired.html#gdbus-property-org-freedesktop-NetworkManager-Device-Wired.PermHwAddress">The "PermHwAddress" property</a>
 </dt>
-<dt id="ientry-idm139623648178992">org.freedesktop.NetworkManager.Device.Wired:S390Subchannels, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wired.html#gdbus-property-org-freedesktop-NetworkManager-Device-Wired.S390Subchannels">The "S390Subchannels" property</a>
+<dt id="ientry-idm139942412509472">org.freedesktop.NetworkManager.Device.Wired:S390Subchannels, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wired.html#gdbus-property-org-freedesktop-NetworkManager-Device-Wired.S390Subchannels">The "S390Subchannels" property</a>
 </dt>
-<dt id="ientry-idm139623648228336">org.freedesktop.NetworkManager.Device.Wired:Speed, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wired.html#gdbus-property-org-freedesktop-NetworkManager-Device-Wired.Speed">The "Speed" property</a>
+<dt id="ientry-idm139942412101808">org.freedesktop.NetworkManager.Device.Wired:Speed, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wired.html#gdbus-property-org-freedesktop-NetworkManager-Device-Wired.Speed">The "Speed" property</a>
 </dt>
-<dt id="ientry-idm139623653484816">org.freedesktop.NetworkManager.Device.Wireless, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Wireless.top_of_page">org.freedesktop.NetworkManager.Device.Wireless</a>
+<dt id="ientry-idm139942411989552">org.freedesktop.NetworkManager.Device.Wireless, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-interface-org-freedesktop-NetworkManager-Device-Wireless.top_of_page">org.freedesktop.NetworkManager.Device.Wireless</a>
 </dt>
-<dt id="ientry-idm139623647926912">org.freedesktop.NetworkManager.Device.Wireless.GetAccessPoints(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-method-org-freedesktop-NetworkManager-Device-Wireless.GetAccessPoints">The GetAccessPoints() method</a>
+<dt id="ientry-idm139942402472320">org.freedesktop.NetworkManager.Device.Wireless.GetAccessPoints(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-method-org-freedesktop-NetworkManager-Device-Wireless.GetAccessPoints">The GetAccessPoints() method</a>
 </dt>
-<dt id="ientry-idm139623650528128">org.freedesktop.NetworkManager.Device.Wireless.GetAllAccessPoints(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-method-org-freedesktop-NetworkManager-Device-Wireless.GetAllAccessPoints">The GetAllAccessPoints() method</a>
+<dt id="ientry-idm139942402739488">org.freedesktop.NetworkManager.Device.Wireless.GetAllAccessPoints(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-method-org-freedesktop-NetworkManager-Device-Wireless.GetAllAccessPoints">The GetAllAccessPoints() method</a>
 </dt>
-<dt id="ientry-idm139623650520624">org.freedesktop.NetworkManager.Device.Wireless.RequestScan(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-method-org-freedesktop-NetworkManager-Device-Wireless.RequestScan">The RequestScan() method</a>
+<dt id="ientry-idm139942404375984">org.freedesktop.NetworkManager.Device.Wireless.RequestScan(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-method-org-freedesktop-NetworkManager-Device-Wireless.RequestScan">The RequestScan() method</a>
 </dt>
-<dt id="ientry-idm139623647441840">org.freedesktop.NetworkManager.Device.Wireless::AccessPointAdded, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Wireless.AccessPointAdded">The "AccessPointAdded" signal</a>
+<dt id="ientry-idm139942402324096">org.freedesktop.NetworkManager.Device.Wireless::AccessPointAdded, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Wireless.AccessPointAdded">The "AccessPointAdded" signal</a>
 </dt>
-<dt id="ientry-idm139623647434192">org.freedesktop.NetworkManager.Device.Wireless::AccessPointRemoved, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Wireless.AccessPointRemoved">The "AccessPointRemoved" signal</a>
+<dt id="ientry-idm139942402316448">org.freedesktop.NetworkManager.Device.Wireless::AccessPointRemoved, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Wireless.AccessPointRemoved">The "AccessPointRemoved" signal</a>
 </dt>
-<dt id="ientry-idm139623647288640">org.freedesktop.NetworkManager.Device.Wireless::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Wireless.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942404366368">org.freedesktop.NetworkManager.Device.Wireless::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-signal-org-freedesktop-NetworkManager-Device-Wireless.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623647406752">org.freedesktop.NetworkManager.Device.Wireless:AccessPoints, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-property-org-freedesktop-NetworkManager-Device-Wireless.AccessPoints">The "AccessPoints" property</a>
+<dt id="ientry-idm139942402289008">org.freedesktop.NetworkManager.Device.Wireless:AccessPoints, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-property-org-freedesktop-NetworkManager-Device-Wireless.AccessPoints">The "AccessPoints" property</a>
 </dt>
-<dt id="ientry-idm139623647402384">org.freedesktop.NetworkManager.Device.Wireless:ActiveAccessPoint, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-property-org-freedesktop-NetworkManager-Device-Wireless.ActiveAccessPoint">The "ActiveAccessPoint" property</a>
+<dt id="ientry-idm139942402284640">org.freedesktop.NetworkManager.Device.Wireless:ActiveAccessPoint, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-property-org-freedesktop-NetworkManager-Device-Wireless.ActiveAccessPoint">The "ActiveAccessPoint" property</a>
 </dt>
-<dt id="ientry-idm139623647411040">org.freedesktop.NetworkManager.Device.Wireless:Bitrate, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-property-org-freedesktop-NetworkManager-Device-Wireless.Bitrate">The "Bitrate" property</a>
+<dt id="ientry-idm139942402293296">org.freedesktop.NetworkManager.Device.Wireless:Bitrate, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-property-org-freedesktop-NetworkManager-Device-Wireless.Bitrate">The "Bitrate" property</a>
 </dt>
-<dt id="ientry-idm139623647424656">org.freedesktop.NetworkManager.Device.Wireless:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-property-org-freedesktop-NetworkManager-Device-Wireless.HwAddress">The "HwAddress" property</a>
+<dt id="ientry-idm139942402306912">org.freedesktop.NetworkManager.Device.Wireless:HwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-property-org-freedesktop-NetworkManager-Device-Wireless.HwAddress">The "HwAddress" property</a>
 </dt>
-<dt id="ientry-idm139623647416160">org.freedesktop.NetworkManager.Device.Wireless:Mode, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-property-org-freedesktop-NetworkManager-Device-Wireless.Mode">The "Mode" property</a>
+<dt id="ientry-idm139942402298416">org.freedesktop.NetworkManager.Device.Wireless:Mode, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-property-org-freedesktop-NetworkManager-Device-Wireless.Mode">The "Mode" property</a>
 </dt>
-<dt id="ientry-idm139623647420384">org.freedesktop.NetworkManager.Device.Wireless:PermHwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-property-org-freedesktop-NetworkManager-Device-Wireless.PermHwAddress">The "PermHwAddress" property</a>
+<dt id="ientry-idm139942402302640">org.freedesktop.NetworkManager.Device.Wireless:PermHwAddress, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-property-org-freedesktop-NetworkManager-Device-Wireless.PermHwAddress">The "PermHwAddress" property</a>
 </dt>
-<dt id="ientry-idm139623647398000">org.freedesktop.NetworkManager.Device.Wireless:WirelessCapabilities, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-property-org-freedesktop-NetworkManager-Device-Wireless.WirelessCapabilities">The "WirelessCapabilities" property</a>
+<dt id="ientry-idm139942402280256">org.freedesktop.NetworkManager.Device.Wireless:WirelessCapabilities, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.Device.Wireless.html#gdbus-property-org-freedesktop-NetworkManager-Device-Wireless.WirelessCapabilities">The "WirelessCapabilities" property</a>
 </dt>
-<dt id="ientry-idm139623656105792">org.freedesktop.NetworkManager.DHCP4Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.DHCP4Config.html#gdbus-interface-org-freedesktop-NetworkManager-DHCP4Config.top_of_page">org.freedesktop.NetworkManager.DHCP4Config</a>
+<dt id="ientry-idm139942410522384">org.freedesktop.NetworkManager.DHCP4Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.DHCP4Config.html#gdbus-interface-org-freedesktop-NetworkManager-DHCP4Config.top_of_page">org.freedesktop.NetworkManager.DHCP4Config</a>
 </dt>
-<dt id="ientry-idm139623654242336">org.freedesktop.NetworkManager.DHCP4Config::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.DHCP4Config.html#gdbus-signal-org-freedesktop-NetworkManager-DHCP4Config.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942410214944">org.freedesktop.NetworkManager.DHCP4Config::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.DHCP4Config.html#gdbus-signal-org-freedesktop-NetworkManager-DHCP4Config.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623647313136">org.freedesktop.NetworkManager.DHCP4Config:Options, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.DHCP4Config.html#gdbus-property-org-freedesktop-NetworkManager-DHCP4Config.Options">The "Options" property</a>
+<dt id="ientry-idm139942404340304">org.freedesktop.NetworkManager.DHCP4Config:Options, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.DHCP4Config.html#gdbus-property-org-freedesktop-NetworkManager-DHCP4Config.Options">The "Options" property</a>
 </dt>
-<dt id="ientry-idm139623653726752">org.freedesktop.NetworkManager.DHCP6Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.DHCP6Config.html#gdbus-interface-org-freedesktop-NetworkManager-DHCP6Config.top_of_page">org.freedesktop.NetworkManager.DHCP6Config</a>
+<dt id="ientry-idm139942412680016">org.freedesktop.NetworkManager.DHCP6Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.DHCP6Config.html#gdbus-interface-org-freedesktop-NetworkManager-DHCP6Config.top_of_page">org.freedesktop.NetworkManager.DHCP6Config</a>
 </dt>
-<dt id="ientry-idm139623656316192">org.freedesktop.NetworkManager.DHCP6Config::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.DHCP6Config.html#gdbus-signal-org-freedesktop-NetworkManager-DHCP6Config.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942409581728">org.freedesktop.NetworkManager.DHCP6Config::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.DHCP6Config.html#gdbus-signal-org-freedesktop-NetworkManager-DHCP6Config.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623647895280">org.freedesktop.NetworkManager.DHCP6Config:Options, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.DHCP6Config.html#gdbus-property-org-freedesktop-NetworkManager-DHCP6Config.Options">The "Options" property</a>
+<dt id="ientry-idm139942402850544">org.freedesktop.NetworkManager.DHCP6Config:Options, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.DHCP6Config.html#gdbus-property-org-freedesktop-NetworkManager-DHCP6Config.Options">The "Options" property</a>
 </dt>
 </dl>
 </div>
 <div class="indexdiv">
 <h3>M</h3>
 <dl>
-<dt id="ientry-idm139623654028640">org.freedesktop.NetworkManager, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-interface-org-freedesktop-NetworkManager.top_of_page">org.freedesktop.NetworkManager</a>
+<dt id="ientry-idm139942409036592">org.freedesktop.NetworkManager, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-interface-org-freedesktop-NetworkManager.top_of_page">org.freedesktop.NetworkManager</a>
 </dt>
-<dt id="ientry-idm139623652373072">org.freedesktop.NetworkManager.ActivateConnection(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.ActivateConnection">The ActivateConnection() method</a>
+<dt id="ientry-idm139942407867296">org.freedesktop.NetworkManager.ActivateConnection(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.ActivateConnection">The ActivateConnection() method</a>
 </dt>
-<dt id="ientry-idm139623656977024">org.freedesktop.NetworkManager.AddAndActivateConnection(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.AddAndActivateConnection">The AddAndActivateConnection() method</a>
+<dt id="ientry-idm139942407850928">org.freedesktop.NetworkManager.AddAndActivateConnection(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.AddAndActivateConnection">The AddAndActivateConnection() method</a>
 </dt>
-<dt id="ientry-idm139623657526944">org.freedesktop.NetworkManager.CheckConnectivity(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.CheckConnectivity">The CheckConnectivity() method</a>
+<dt id="ientry-idm139942405226784">org.freedesktop.NetworkManager.CheckConnectivity(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.CheckConnectivity">The CheckConnectivity() method</a>
 </dt>
-<dt id="ientry-idm139623652457872">org.freedesktop.NetworkManager.CheckpointCreate(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.CheckpointCreate">The CheckpointCreate() method</a>
+<dt id="ientry-idm139942404238400">org.freedesktop.NetworkManager.CheckpointCreate(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.CheckpointCreate">The CheckpointCreate() method</a>
 </dt>
-<dt id="ientry-idm139623652869232">org.freedesktop.NetworkManager.CheckpointDestroy(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.CheckpointDestroy">The CheckpointDestroy() method</a>
+<dt id="ientry-idm139942404219568">org.freedesktop.NetworkManager.CheckpointDestroy(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.CheckpointDestroy">The CheckpointDestroy() method</a>
 </dt>
-<dt id="ientry-idm139623656452448">org.freedesktop.NetworkManager.CheckpointRollback(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.CheckpointRollback">The CheckpointRollback() method</a>
+<dt id="ientry-idm139942404212128">org.freedesktop.NetworkManager.CheckpointRollback(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.CheckpointRollback">The CheckpointRollback() method</a>
 </dt>
-<dt id="ientry-idm139623652330736">org.freedesktop.NetworkManager.DeactivateConnection(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.DeactivateConnection">The DeactivateConnection() method</a>
+<dt id="ientry-idm139942405278352">org.freedesktop.NetworkManager.DeactivateConnection(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.DeactivateConnection">The DeactivateConnection() method</a>
 </dt>
-<dt id="ientry-idm139623652699728">org.freedesktop.NetworkManager.Enable(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.Enable">The Enable() method</a>
+<dt id="ientry-idm139942405263616">org.freedesktop.NetworkManager.Enable(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.Enable">The Enable() method</a>
 </dt>
-<dt id="ientry-idm139623657645440">org.freedesktop.NetworkManager.GetAllDevices(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.GetAllDevices">The GetAllDevices() method</a>
+<dt id="ientry-idm139942412730752">org.freedesktop.NetworkManager.GetAllDevices(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.GetAllDevices">The GetAllDevices() method</a>
 </dt>
-<dt id="ientry-idm139623652383424">org.freedesktop.NetworkManager.GetDeviceByIpIface(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.GetDeviceByIpIface">The GetDeviceByIpIface() method</a>
+<dt id="ientry-idm139942412723104">org.freedesktop.NetworkManager.GetDeviceByIpIface(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.GetDeviceByIpIface">The GetDeviceByIpIface() method</a>
 </dt>
-<dt id="ientry-idm139623657676432">org.freedesktop.NetworkManager.GetDevices(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.GetDevices">The GetDevices() method</a>
+<dt id="ientry-idm139942407246976">org.freedesktop.NetworkManager.GetDevices(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.GetDevices">The GetDevices() method</a>
 </dt>
-<dt id="ientry-idm139623657378928">org.freedesktop.NetworkManager.GetLogging(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.GetLogging">The GetLogging() method</a>
+<dt id="ientry-idm139942405236848">org.freedesktop.NetworkManager.GetLogging(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.GetLogging">The GetLogging() method</a>
 </dt>
-<dt id="ientry-idm139623657229984">org.freedesktop.NetworkManager.GetPermissions(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.GetPermissions">The GetPermissions() method</a>
+<dt id="ientry-idm139942405255616">org.freedesktop.NetworkManager.GetPermissions(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.GetPermissions">The GetPermissions() method</a>
 </dt>
-<dt id="ientry-idm139623657627760">org.freedesktop.NetworkManager.Reload(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.Reload">The Reload() method</a>
+<dt id="ientry-idm139942407256752">org.freedesktop.NetworkManager.Reload(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.Reload">The Reload() method</a>
 </dt>
-<dt id="ientry-idm139623657222208">org.freedesktop.NetworkManager.SetLogging(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.SetLogging">The SetLogging() method</a>
+<dt id="ientry-idm139942405247840">org.freedesktop.NetworkManager.SetLogging(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.SetLogging">The SetLogging() method</a>
 </dt>
-<dt id="ientry-idm139623652707328">org.freedesktop.NetworkManager.Sleep(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.Sleep">The Sleep() method</a>
+<dt id="ientry-idm139942405271216">org.freedesktop.NetworkManager.Sleep(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.Sleep">The Sleep() method</a>
 </dt>
-<dt id="ientry-idm139623652465920">org.freedesktop.NetworkManager.state(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.state">The state() method</a>
+<dt id="ientry-idm139942404246448">org.freedesktop.NetworkManager.state(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-method-org-freedesktop-NetworkManager.state">The state() method</a>
 </dt>
-<dt id="ientry-idm139623656439840">org.freedesktop.NetworkManager::CheckPermissions, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-signal-org-freedesktop-NetworkManager.CheckPermissions">The "CheckPermissions" signal</a>
+<dt id="ientry-idm139942404199520">org.freedesktop.NetworkManager::CheckPermissions, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-signal-org-freedesktop-NetworkManager.CheckPermissions">The "CheckPermissions" signal</a>
 </dt>
-<dt id="ientry-idm139623649383312">org.freedesktop.NetworkManager::DeviceAdded, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-signal-org-freedesktop-NetworkManager.DeviceAdded">The "DeviceAdded" signal</a>
+<dt id="ientry-idm139942404179616">org.freedesktop.NetworkManager::DeviceAdded, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-signal-org-freedesktop-NetworkManager.DeviceAdded">The "DeviceAdded" signal</a>
 </dt>
-<dt id="ientry-idm139623649464128">org.freedesktop.NetworkManager::DeviceRemoved, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-signal-org-freedesktop-NetworkManager.DeviceRemoved">The "DeviceRemoved" signal</a>
+<dt id="ientry-idm139942404172192">org.freedesktop.NetworkManager::DeviceRemoved, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-signal-org-freedesktop-NetworkManager.DeviceRemoved">The "DeviceRemoved" signal</a>
 </dt>
-<dt id="ientry-idm139623649390720">org.freedesktop.NetworkManager::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-signal-org-freedesktop-NetworkManager.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942404187024">org.freedesktop.NetworkManager::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-signal-org-freedesktop-NetworkManager.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623649398912">org.freedesktop.NetworkManager::StateChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-signal-org-freedesktop-NetworkManager.StateChanged">The "StateChanged" signal</a>
+<dt id="ientry-idm139942404195216">org.freedesktop.NetworkManager::StateChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-signal-org-freedesktop-NetworkManager.StateChanged">The "StateChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623648525536">org.freedesktop.NetworkManager:ActivatingConnection, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.ActivatingConnection">The "ActivatingConnection" property</a>
+<dt id="ientry-idm139942404792992">org.freedesktop.NetworkManager:ActivatingConnection, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.ActivatingConnection">The "ActivatingConnection" property</a>
 </dt>
-<dt id="ientry-idm139623648543744">org.freedesktop.NetworkManager:ActiveConnections, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.ActiveConnections">The "ActiveConnections" property</a>
+<dt id="ientry-idm139942404811200">org.freedesktop.NetworkManager:ActiveConnections, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.ActiveConnections">The "ActiveConnections" property</a>
 </dt>
-<dt id="ientry-idm139623649450880">org.freedesktop.NetworkManager:AllDevices, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.AllDevices">The "AllDevices" property</a>
+<dt id="ientry-idm139942404158944">org.freedesktop.NetworkManager:AllDevices, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.AllDevices">The "AllDevices" property</a>
 </dt>
-<dt id="ientry-idm139623648513072">org.freedesktop.NetworkManager:Capabilities, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.Capabilities">The "Capabilities" property</a>
+<dt id="ientry-idm139942404780528">org.freedesktop.NetworkManager:Capabilities, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.Capabilities">The "Capabilities" property</a>
 </dt>
-<dt id="ientry-idm139623648503088">org.freedesktop.NetworkManager:Connectivity, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.Connectivity">The "Connectivity" property</a>
+<dt id="ientry-idm139942404770544">org.freedesktop.NetworkManager:Connectivity, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.Connectivity">The "Connectivity" property</a>
 </dt>
-<dt id="ientry-idm139623649455280">org.freedesktop.NetworkManager:Devices, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.Devices">The "Devices" property</a>
+<dt id="ientry-idm139942404163344">org.freedesktop.NetworkManager:Devices, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.Devices">The "Devices" property</a>
 </dt>
-<dt id="ientry-idm139623649563616">org.freedesktop.NetworkManager:GlobalDnsConfiguration, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.GlobalDnsConfiguration">The "GlobalDnsConfiguration" property</a>
+<dt id="ientry-idm139942404765392">org.freedesktop.NetworkManager:GlobalDnsConfiguration, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.GlobalDnsConfiguration">The "GlobalDnsConfiguration" property</a>
 </dt>
-<dt id="ientry-idm139623648530896">org.freedesktop.NetworkManager:Metered, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.Metered">The "Metered" property</a>
+<dt id="ientry-idm139942404798352">org.freedesktop.NetworkManager:Metered, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.Metered">The "Metered" property</a>
 </dt>
-<dt id="ientry-idm139623649446480">org.freedesktop.NetworkManager:NetworkingEnabled, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.NetworkingEnabled">The "NetworkingEnabled" property</a>
+<dt id="ientry-idm139942404154544">org.freedesktop.NetworkManager:NetworkingEnabled, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.NetworkingEnabled">The "NetworkingEnabled" property</a>
 </dt>
-<dt id="ientry-idm139623648539584">org.freedesktop.NetworkManager:PrimaryConnection, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.PrimaryConnection">The "PrimaryConnection" property</a>
+<dt id="ientry-idm139942404807040">org.freedesktop.NetworkManager:PrimaryConnection, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.PrimaryConnection">The "PrimaryConnection" property</a>
 </dt>
-<dt id="ientry-idm139623648535008">org.freedesktop.NetworkManager:PrimaryConnectionType, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.PrimaryConnectionType">The "PrimaryConnectionType" property</a>
+<dt id="ientry-idm139942404802464">org.freedesktop.NetworkManager:PrimaryConnectionType, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.PrimaryConnectionType">The "PrimaryConnectionType" property</a>
 </dt>
-<dt id="ientry-idm139623648521424">org.freedesktop.NetworkManager:Startup, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.Startup">The "Startup" property</a>
+<dt id="ientry-idm139942404788880">org.freedesktop.NetworkManager:Startup, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.Startup">The "Startup" property</a>
 </dt>
-<dt id="ientry-idm139623648508352">org.freedesktop.NetworkManager:State, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.State">The "State" property</a>
+<dt id="ientry-idm139942404775808">org.freedesktop.NetworkManager:State, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.State">The "State" property</a>
 </dt>
-<dt id="ientry-idm139623648517296">org.freedesktop.NetworkManager:Version, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.Version">The "Version" property</a>
+<dt id="ientry-idm139942404784752">org.freedesktop.NetworkManager:Version, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.Version">The "Version" property</a>
 </dt>
-<dt id="ientry-idm139623648552256">org.freedesktop.NetworkManager:WimaxEnabled, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.WimaxEnabled">The "WimaxEnabled" property</a>
+<dt id="ientry-idm139942404819712">org.freedesktop.NetworkManager:WimaxEnabled, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.WimaxEnabled">The "WimaxEnabled" property</a>
 </dt>
-<dt id="ientry-idm139623648548032">org.freedesktop.NetworkManager:WimaxHardwareEnabled, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.WimaxHardwareEnabled">The "WimaxHardwareEnabled" property</a>
+<dt id="ientry-idm139942404815488">org.freedesktop.NetworkManager:WimaxHardwareEnabled, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.WimaxHardwareEnabled">The "WimaxHardwareEnabled" property</a>
 </dt>
-<dt id="ientry-idm139623649442208">org.freedesktop.NetworkManager:WirelessEnabled, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.WirelessEnabled">The "WirelessEnabled" property</a>
+<dt id="ientry-idm139942404150272">org.freedesktop.NetworkManager:WirelessEnabled, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.WirelessEnabled">The "WirelessEnabled" property</a>
 </dt>
-<dt id="ientry-idm139623649437984">org.freedesktop.NetworkManager:WirelessHardwareEnabled, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.WirelessHardwareEnabled">The "WirelessHardwareEnabled" property</a>
+<dt id="ientry-idm139942404146048">org.freedesktop.NetworkManager:WirelessHardwareEnabled, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.WirelessHardwareEnabled">The "WirelessHardwareEnabled" property</a>
 </dt>
-<dt id="ientry-idm139623649433696">org.freedesktop.NetworkManager:WwanEnabled, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.WwanEnabled">The "WwanEnabled" property</a>
+<dt id="ientry-idm139942404141760">org.freedesktop.NetworkManager:WwanEnabled, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.WwanEnabled">The "WwanEnabled" property</a>
 </dt>
-<dt id="ientry-idm139623649429552">org.freedesktop.NetworkManager:WwanHardwareEnabled, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.WwanHardwareEnabled">The "WwanHardwareEnabled" property</a>
+<dt id="ientry-idm139942404137616">org.freedesktop.NetworkManager:WwanHardwareEnabled, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.html#gdbus-property-org-freedesktop-NetworkManager.WwanHardwareEnabled">The "WwanHardwareEnabled" property</a>
 </dt>
 </dl>
 </div>
 <div class="indexdiv">
 <h3>N</h3>
 <dl>
-<dt id="ientry-idm139623646423744">NM80211ApFlags, <a class="indexterm" href="nm-dbus-types.html#NM80211ApFlags">enum NM80211ApFlags</a>
+<dt id="ientry-idm139942401309840">NM80211ApFlags, <a class="indexterm" href="nm-dbus-types.html#NM80211ApFlags">enum NM80211ApFlags</a>
 </dt>
-<dt id="ientry-idm139623645281184">NM80211ApSecurityFlags, <a class="indexterm" href="nm-dbus-types.html#NM80211ApSecurityFlags">enum NM80211ApSecurityFlags</a>
+<dt id="ientry-idm139942400048192">NM80211ApSecurityFlags, <a class="indexterm" href="nm-dbus-types.html#NM80211ApSecurityFlags">enum NM80211ApSecurityFlags</a>
 </dt>
-<dt id="ientry-idm139623645231408">NM80211Mode, <a class="indexterm" href="nm-dbus-types.html#NM80211Mode">enum NM80211Mode</a>
+<dt id="ientry-idm139942399998416">NM80211Mode, <a class="indexterm" href="nm-dbus-types.html#NM80211Mode">enum NM80211Mode</a>
 </dt>
-<dt id="ientry-idm139623644805776">NMActiveConnectionState, <a class="indexterm" href="nm-dbus-types.html#NMActiveConnectionState">enum NMActiveConnectionState</a>
+<dt id="ientry-idm139942399572784">NMActiveConnectionState, <a class="indexterm" href="nm-dbus-types.html#NMActiveConnectionState">enum NMActiveConnectionState</a>
 </dt>
-<dt id="ientry-idm139623645207584">NMBluetoothCapabilities, <a class="indexterm" href="nm-dbus-types.html#NMBluetoothCapabilities">enum NMBluetoothCapabilities</a>
+<dt id="ientry-idm139942399974592">NMBluetoothCapabilities, <a class="indexterm" href="nm-dbus-types.html#NMBluetoothCapabilities">enum NMBluetoothCapabilities</a>
 </dt>
-<dt id="ientry-idm139623654317808">NMCapability, <a class="indexterm" href="nm-dbus-types.html#NMCapability">enum NMCapability</a>
+<dt id="ientry-idm139942410762944">NMCapability, <a class="indexterm" href="nm-dbus-types.html#NMCapability">enum NMCapability</a>
 </dt>
-<dt id="ientry-idm139623644677472">NMCheckpointCreateFlags, <a class="indexterm" href="nm-dbus-types.html#NMCheckpointCreateFlags">enum NMCheckpointCreateFlags</a>
+<dt id="ientry-idm139942399444832">NMCheckpointCreateFlags, <a class="indexterm" href="nm-dbus-types.html#NMCheckpointCreateFlags">enum NMCheckpointCreateFlags</a>
 </dt>
-<dt id="ientry-idm139623646643216">NMConnectivityState, <a class="indexterm" href="nm-dbus-types.html#NMConnectivityState">enum NMConnectivityState</a>
+<dt id="ientry-idm139942401529312">NMConnectivityState, <a class="indexterm" href="nm-dbus-types.html#NMConnectivityState">enum NMConnectivityState</a>
 </dt>
-<dt id="ientry-idm139623646510336">NMDeviceCapabilities, <a class="indexterm" href="nm-dbus-types.html#NMDeviceCapabilities">enum NMDeviceCapabilities</a>
+<dt id="ientry-idm139942401396432">NMDeviceCapabilities, <a class="indexterm" href="nm-dbus-types.html#NMDeviceCapabilities">enum NMDeviceCapabilities</a>
 </dt>
-<dt id="ientry-idm139623645187584">NMDeviceModemCapabilities, <a class="indexterm" href="nm-dbus-types.html#NMDeviceModemCapabilities">enum NMDeviceModemCapabilities</a>
+<dt id="ientry-idm139942399954592">NMDeviceModemCapabilities, <a class="indexterm" href="nm-dbus-types.html#NMDeviceModemCapabilities">enum NMDeviceModemCapabilities</a>
 </dt>
-<dt id="ientry-idm139623645136352">NMDeviceState, <a class="indexterm" href="nm-dbus-types.html#NMDeviceState">enum NMDeviceState</a>
+<dt id="ientry-idm139942399903360">NMDeviceState, <a class="indexterm" href="nm-dbus-types.html#NMDeviceState">enum NMDeviceState</a>
 </dt>
-<dt id="ientry-idm139623645077904">NMDeviceStateReason, <a class="indexterm" href="nm-dbus-types.html#NMDeviceStateReason">enum NMDeviceStateReason</a>
+<dt id="ientry-idm139942399844912">NMDeviceStateReason, <a class="indexterm" href="nm-dbus-types.html#NMDeviceStateReason">enum NMDeviceStateReason</a>
 </dt>
-<dt id="ientry-idm139623646613008">NMDeviceType, <a class="indexterm" href="nm-dbus-types.html#NMDeviceType">enum NMDeviceType</a>
+<dt id="ientry-idm139942401499104">NMDeviceType, <a class="indexterm" href="nm-dbus-types.html#NMDeviceType">enum NMDeviceType</a>
 </dt>
-<dt id="ientry-idm139623646483872">NMDeviceWifiCapabilities, <a class="indexterm" href="nm-dbus-types.html#NMDeviceWifiCapabilities">enum NMDeviceWifiCapabilities</a>
+<dt id="ientry-idm139942401369968">NMDeviceWifiCapabilities, <a class="indexterm" href="nm-dbus-types.html#NMDeviceWifiCapabilities">enum NMDeviceWifiCapabilities</a>
 </dt>
-<dt id="ientry-idm139623644729520">NMIPTunnelMode, <a class="indexterm" href="nm-dbus-types.html#NMIPTunnelMode">enum NMIPTunnelMode</a>
+<dt id="ientry-idm139942399496816">NMIPTunnelMode, <a class="indexterm" href="nm-dbus-types.html#NMIPTunnelMode">enum NMIPTunnelMode</a>
 </dt>
-<dt id="ientry-idm139623644832800">NMMetered, <a class="indexterm" href="nm-dbus-types.html#NMMetered">enum NMMetered</a>
+<dt id="ientry-idm139942399599808">NMMetered, <a class="indexterm" href="nm-dbus-types.html#NMMetered">enum NMMetered</a>
 </dt>
-<dt id="ientry-idm139623644650512">NMRollbackResult, <a class="indexterm" href="nm-dbus-types.html#NMRollbackResult">enum NMRollbackResult</a>
+<dt id="ientry-idm139942399417872">NMRollbackResult, <a class="indexterm" href="nm-dbus-types.html#NMRollbackResult">enum NMRollbackResult</a>
 </dt>
-<dt id="ientry-idm139623644746048">NMSecretAgentCapabilities, <a class="indexterm" href="nm-dbus-types.html#NMSecretAgentCapabilities">enum NMSecretAgentCapabilities</a>
+<dt id="ientry-idm139942399513056">NMSecretAgentCapabilities, <a class="indexterm" href="nm-dbus-types.html#NMSecretAgentCapabilities">enum NMSecretAgentCapabilities</a>
 </dt>
-<dt id="ientry-idm139623644778112">NMSecretAgentGetSecretsFlags, <a class="indexterm" href="nm-dbus-types.html#NMSecretAgentGetSecretsFlags">enum NMSecretAgentGetSecretsFlags</a>
+<dt id="ientry-idm139942399545120">NMSecretAgentGetSecretsFlags, <a class="indexterm" href="nm-dbus-types.html#NMSecretAgentGetSecretsFlags">enum NMSecretAgentGetSecretsFlags</a>
 </dt>
-<dt id="ientry-idm139623647219968">NMState, <a class="indexterm" href="nm-dbus-types.html#NMState">enum NMState</a>
+<dt id="ientry-idm139942402384144">NMState, <a class="indexterm" href="nm-dbus-types.html#NMState">enum NMState</a>
 </dt>
-<dt id="ientry-idm139623647049456">NMVpnConnectionState, <a class="indexterm" href="nm-vpn-dbus-types.html#NMVpnConnectionState">enum NMVpnConnectionState</a>
+<dt id="ientry-idm139942402408240">NMVpnConnectionState, <a class="indexterm" href="nm-vpn-dbus-types.html#NMVpnConnectionState">enum NMVpnConnectionState</a>
 </dt>
-<dt id="ientry-idm139623646108208">NMVpnConnectionStateReason, <a class="indexterm" href="nm-vpn-dbus-types.html#NMVpnConnectionStateReason">enum NMVpnConnectionStateReason</a>
+<dt id="ientry-idm139942401768720">NMVpnConnectionStateReason, <a class="indexterm" href="nm-vpn-dbus-types.html#NMVpnConnectionStateReason">enum NMVpnConnectionStateReason</a>
 </dt>
-<dt id="ientry-idm139623646048880">NMVpnPluginFailure, <a class="indexterm" href="nm-vpn-dbus-types.html#NMVpnPluginFailure">enum NMVpnPluginFailure</a>
+<dt id="ientry-idm139942401236464">NMVpnPluginFailure, <a class="indexterm" href="nm-vpn-dbus-types.html#NMVpnPluginFailure">enum NMVpnPluginFailure</a>
 </dt>
-<dt id="ientry-idm139623657594656">NMVpnServiceState, <a class="indexterm" href="nm-vpn-dbus-types.html#NMVpnServiceState">enum NMVpnServiceState</a>
+<dt id="ientry-idm139942411113984">NMVpnServiceState, <a class="indexterm" href="nm-vpn-dbus-types.html#NMVpnServiceState">enum NMVpnServiceState</a>
 </dt>
-<dt id="ientry-idm139623645159616">NMWimaxNspNetworkType, <a class="indexterm" href="nm-dbus-types.html#NMWimaxNspNetworkType">enum NMWimaxNspNetworkType</a>
+<dt id="ientry-idm139942399926624">NMWimaxNspNetworkType, <a class="indexterm" href="nm-dbus-types.html#NMWimaxNspNetworkType">enum NMWimaxNspNetworkType</a>
 </dt>
 </dl>
 </div>
 <div class="indexdiv">
 <h3>P</h3>
 <dl>
-<dt id="ientry-idm139623655401760">org.freedesktop.NetworkManager.PPP, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.PPP.html#gdbus-interface-org-freedesktop-NetworkManager-PPP.top_of_page">org.freedesktop.NetworkManager.PPP</a>
+<dt id="ientry-idm139942412612992">org.freedesktop.NetworkManager.PPP, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.PPP.html#gdbus-interface-org-freedesktop-NetworkManager-PPP.top_of_page">org.freedesktop.NetworkManager.PPP</a>
 </dt>
-<dt id="ientry-idm139623654209232">org.freedesktop.NetworkManager.PPP.NeedSecrets(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.PPP.html#gdbus-method-org-freedesktop-NetworkManager-PPP.NeedSecrets">The NeedSecrets() method</a>
+<dt id="ientry-idm139942409252928">org.freedesktop.NetworkManager.PPP.NeedSecrets(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.PPP.html#gdbus-method-org-freedesktop-NetworkManager-PPP.NeedSecrets">The NeedSecrets() method</a>
 </dt>
-<dt id="ientry-idm139623649868336">org.freedesktop.NetworkManager.PPP.SetIp4Config(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.PPP.html#gdbus-method-org-freedesktop-NetworkManager-PPP.SetIp4Config">The SetIp4Config() method</a>
+<dt id="ientry-idm139942410929088">org.freedesktop.NetworkManager.PPP.SetIp4Config(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.PPP.html#gdbus-method-org-freedesktop-NetworkManager-PPP.SetIp4Config">The SetIp4Config() method</a>
 </dt>
-<dt id="ientry-idm139623649861264">org.freedesktop.NetworkManager.PPP.SetIp6Config(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.PPP.html#gdbus-method-org-freedesktop-NetworkManager-PPP.SetIp6Config">The SetIp6Config() method</a>
+<dt id="ientry-idm139942407652448">org.freedesktop.NetworkManager.PPP.SetIp6Config(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.PPP.html#gdbus-method-org-freedesktop-NetworkManager-PPP.SetIp6Config">The SetIp6Config() method</a>
 </dt>
-<dt id="ientry-idm139623652406448">org.freedesktop.NetworkManager.PPP.SetState(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.PPP.html#gdbus-method-org-freedesktop-NetworkManager-PPP.SetState">The SetState() method</a>
+<dt id="ientry-idm139942412629536">org.freedesktop.NetworkManager.PPP.SetState(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.PPP.html#gdbus-method-org-freedesktop-NetworkManager-PPP.SetState">The SetState() method</a>
 </dt>
 </dl>
 </div>
 <div class="indexdiv">
 <h3>V</h3>
 <dl>
-<dt id="ientry-idm139623655766224">org.freedesktop.NetworkManager.VPN.Connection, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Connection.html#gdbus-interface-org-freedesktop-NetworkManager-VPN-Connection.top_of_page">org.freedesktop.NetworkManager.VPN.Connection</a>
+<dt id="ientry-idm139942406994736">org.freedesktop.NetworkManager.VPN.Connection, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Connection.html#gdbus-interface-org-freedesktop-NetworkManager-VPN-Connection.top_of_page">org.freedesktop.NetworkManager.VPN.Connection</a>
 </dt>
-<dt id="ientry-idm139623652307728">org.freedesktop.NetworkManager.VPN.Connection::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Connection.html#gdbus-signal-org-freedesktop-NetworkManager-VPN-Connection.PropertiesChanged">The "PropertiesChanged" signal</a>
+<dt id="ientry-idm139942408605072">org.freedesktop.NetworkManager.VPN.Connection::PropertiesChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Connection.html#gdbus-signal-org-freedesktop-NetworkManager-VPN-Connection.PropertiesChanged">The "PropertiesChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623655789376">org.freedesktop.NetworkManager.VPN.Connection::VpnStateChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Connection.html#gdbus-signal-org-freedesktop-NetworkManager-VPN-Connection.VpnStateChanged">The "VpnStateChanged" signal</a>
+<dt id="ientry-idm139942407958560">org.freedesktop.NetworkManager.VPN.Connection::VpnStateChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Connection.html#gdbus-signal-org-freedesktop-NetworkManager-VPN-Connection.VpnStateChanged">The "VpnStateChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623656920144">org.freedesktop.NetworkManager.VPN.Connection:Banner, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Connection.html#gdbus-property-org-freedesktop-NetworkManager-VPN-Connection.Banner">The "Banner" property</a>
+<dt id="ientry-idm139942407786112">org.freedesktop.NetworkManager.VPN.Connection:Banner, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Connection.html#gdbus-property-org-freedesktop-NetworkManager-VPN-Connection.Banner">The "Banner" property</a>
 </dt>
-<dt id="ientry-idm139623654447584">org.freedesktop.NetworkManager.VPN.Connection:VpnState, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Connection.html#gdbus-property-org-freedesktop-NetworkManager-VPN-Connection.VpnState">The "VpnState" property</a>
+<dt id="ientry-idm139942409122144">org.freedesktop.NetworkManager.VPN.Connection:VpnState, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Connection.html#gdbus-property-org-freedesktop-NetworkManager-VPN-Connection.VpnState">The "VpnState" property</a>
 </dt>
-<dt id="ientry-idm139623653928464">org.freedesktop.NetworkManager.VPN.Plugin, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-interface-org-freedesktop-NetworkManager-VPN-Plugin.top_of_page">org.freedesktop.NetworkManager.VPN.Plugin</a>
+<dt id="ientry-idm139942406961360">org.freedesktop.NetworkManager.VPN.Plugin, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-interface-org-freedesktop-NetworkManager-VPN-Plugin.top_of_page">org.freedesktop.NetworkManager.VPN.Plugin</a>
 </dt>
-<dt id="ientry-idm139623647885760">org.freedesktop.NetworkManager.VPN.Plugin.Connect(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-method-org-freedesktop-NetworkManager-VPN-Plugin.Connect">The Connect() method</a>
+<dt id="ientry-idm139942401604512">org.freedesktop.NetworkManager.VPN.Plugin.Connect(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-method-org-freedesktop-NetworkManager-VPN-Plugin.Connect">The Connect() method</a>
 </dt>
-<dt id="ientry-idm139623647334304">org.freedesktop.NetworkManager.VPN.Plugin.ConnectInteractive(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-method-org-freedesktop-NetworkManager-VPN-Plugin.ConnectInteractive">The ConnectInteractive() method</a>
+<dt id="ientry-idm139942402235872">org.freedesktop.NetworkManager.VPN.Plugin.ConnectInteractive(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-method-org-freedesktop-NetworkManager-VPN-Plugin.ConnectInteractive">The ConnectInteractive() method</a>
 </dt>
-<dt id="ientry-idm139623647537408">org.freedesktop.NetworkManager.VPN.Plugin.Disconnect(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-method-org-freedesktop-NetworkManager-VPN-Plugin.Disconnect">The Disconnect() method</a>
+<dt id="ientry-idm139942401689008">org.freedesktop.NetworkManager.VPN.Plugin.Disconnect(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-method-org-freedesktop-NetworkManager-VPN-Plugin.Disconnect">The Disconnect() method</a>
 </dt>
-<dt id="ientry-idm139623647547456">org.freedesktop.NetworkManager.VPN.Plugin.NeedSecrets(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-method-org-freedesktop-NetworkManager-VPN-Plugin.NeedSecrets">The NeedSecrets() method</a>
+<dt id="ientry-idm139942401993072">org.freedesktop.NetworkManager.VPN.Plugin.NeedSecrets(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-method-org-freedesktop-NetworkManager-VPN-Plugin.NeedSecrets">The NeedSecrets() method</a>
 </dt>
-<dt id="ientry-idm139623647127296">org.freedesktop.NetworkManager.VPN.Plugin.NewSecrets(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-method-org-freedesktop-NetworkManager-VPN-Plugin.NewSecrets">The NewSecrets() method</a>
+<dt id="ientry-idm139942401654896">org.freedesktop.NetworkManager.VPN.Plugin.NewSecrets(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-method-org-freedesktop-NetworkManager-VPN-Plugin.NewSecrets">The NewSecrets() method</a>
 </dt>
-<dt id="ientry-idm139623647601712">org.freedesktop.NetworkManager.VPN.Plugin.SetConfig(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-method-org-freedesktop-NetworkManager-VPN-Plugin.SetConfig">The SetConfig() method</a>
+<dt id="ientry-idm139942401684848">org.freedesktop.NetworkManager.VPN.Plugin.SetConfig(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-method-org-freedesktop-NetworkManager-VPN-Plugin.SetConfig">The SetConfig() method</a>
 </dt>
-<dt id="ientry-idm139623647579216">org.freedesktop.NetworkManager.VPN.Plugin.SetFailure(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-method-org-freedesktop-NetworkManager-VPN-Plugin.SetFailure">The SetFailure() method</a>
+<dt id="ientry-idm139942401662352">org.freedesktop.NetworkManager.VPN.Plugin.SetFailure(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-method-org-freedesktop-NetworkManager-VPN-Plugin.SetFailure">The SetFailure() method</a>
 </dt>
-<dt id="ientry-idm139623647594208">org.freedesktop.NetworkManager.VPN.Plugin.SetIp4Config(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-method-org-freedesktop-NetworkManager-VPN-Plugin.SetIp4Config">The SetIp4Config() method</a>
+<dt id="ientry-idm139942401677344">org.freedesktop.NetworkManager.VPN.Plugin.SetIp4Config(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-method-org-freedesktop-NetworkManager-VPN-Plugin.SetIp4Config">The SetIp4Config() method</a>
 </dt>
-<dt id="ientry-idm139623647586704">org.freedesktop.NetworkManager.VPN.Plugin.SetIp6Config(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-method-org-freedesktop-NetworkManager-VPN-Plugin.SetIp6Config">The SetIp6Config() method</a>
+<dt id="ientry-idm139942401669840">org.freedesktop.NetworkManager.VPN.Plugin.SetIp6Config(), <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-method-org-freedesktop-NetworkManager-VPN-Plugin.SetIp6Config">The SetIp6Config() method</a>
 </dt>
-<dt id="ientry-idm139623647099168">org.freedesktop.NetworkManager.VPN.Plugin::Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-signal-org-freedesktop-NetworkManager-VPN-Plugin.Config">The "Config" signal</a>
+<dt id="ientry-idm139942401626768">org.freedesktop.NetworkManager.VPN.Plugin::Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-signal-org-freedesktop-NetworkManager-VPN-Plugin.Config">The "Config" signal</a>
 </dt>
-<dt id="ientry-idm139623647069184">org.freedesktop.NetworkManager.VPN.Plugin::Failure, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-signal-org-freedesktop-NetworkManager-VPN-Plugin.Failure">The "Failure" signal</a>
+<dt id="ientry-idm139942401551072">org.freedesktop.NetworkManager.VPN.Plugin::Failure, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-signal-org-freedesktop-NetworkManager-VPN-Plugin.Failure">The "Failure" signal</a>
 </dt>
-<dt id="ientry-idm139623647091632">org.freedesktop.NetworkManager.VPN.Plugin::Ip4Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-signal-org-freedesktop-NetworkManager-VPN-Plugin.Ip4Config">The "Ip4Config" signal</a>
+<dt id="ientry-idm139942401619232">org.freedesktop.NetworkManager.VPN.Plugin::Ip4Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-signal-org-freedesktop-NetworkManager-VPN-Plugin.Ip4Config">The "Ip4Config" signal</a>
 </dt>
-<dt id="ientry-idm139623647084192">org.freedesktop.NetworkManager.VPN.Plugin::Ip6Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-signal-org-freedesktop-NetworkManager-VPN-Plugin.Ip6Config">The "Ip6Config" signal</a>
+<dt id="ientry-idm139942401611792">org.freedesktop.NetworkManager.VPN.Plugin::Ip6Config, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-signal-org-freedesktop-NetworkManager-VPN-Plugin.Ip6Config">The "Ip6Config" signal</a>
 </dt>
-<dt id="ientry-idm139623647076736">org.freedesktop.NetworkManager.VPN.Plugin::LoginBanner, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-signal-org-freedesktop-NetworkManager-VPN-Plugin.LoginBanner">The "LoginBanner" signal</a>
+<dt id="ientry-idm139942401557792">org.freedesktop.NetworkManager.VPN.Plugin::LoginBanner, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-signal-org-freedesktop-NetworkManager-VPN-Plugin.LoginBanner">The "LoginBanner" signal</a>
 </dt>
-<dt id="ientry-idm139623647109904">org.freedesktop.NetworkManager.VPN.Plugin::SecretsRequired, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-signal-org-freedesktop-NetworkManager-VPN-Plugin.SecretsRequired">The "SecretsRequired" signal</a>
+<dt id="ientry-idm139942401637504">org.freedesktop.NetworkManager.VPN.Plugin::SecretsRequired, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-signal-org-freedesktop-NetworkManager-VPN-Plugin.SecretsRequired">The "SecretsRequired" signal</a>
 </dt>
-<dt id="ientry-idm139623647118096">org.freedesktop.NetworkManager.VPN.Plugin::StateChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-signal-org-freedesktop-NetworkManager-VPN-Plugin.StateChanged">The "StateChanged" signal</a>
+<dt id="ientry-idm139942401645696">org.freedesktop.NetworkManager.VPN.Plugin::StateChanged, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-signal-org-freedesktop-NetworkManager-VPN-Plugin.StateChanged">The "StateChanged" signal</a>
 </dt>
-<dt id="ientry-idm139623647059104">org.freedesktop.NetworkManager.VPN.Plugin:State, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-property-org-freedesktop-NetworkManager-VPN-Plugin.State">The "State" property</a>
+<dt id="ientry-idm139942401542096">org.freedesktop.NetworkManager.VPN.Plugin:State, <a class="indexterm" href="gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html#gdbus-property-org-freedesktop-NetworkManager-VPN-Plugin.State">The "State" property</a>
 </dt>
 </dl>
 </div>
diff --git a/docs/api/version.xml b/docs/api/version.xml
index 81fd881e..80b2369f 100644
--- a/docs/api/version.xml
+++ b/docs/api/version.xml
@@ -1 +1 @@
-1.5.90
+1.5.91
diff --git a/docs/libnm-glib/html/NMAccessPoint.html b/docs/libnm-glib/html/NMAccessPoint.html
index ecfe6117..9d407a6b 100644
--- a/docs/libnm-glib/html/NMAccessPoint.html
+++ b/docs/libnm-glib/html/NMAccessPoint.html
@@ -51,7 +51,7 @@
 </tr>
 <tr>
 <td class="function_type">
-<a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NM80211ApFlags"><span class="returnvalue">NM80211ApFlags</span></a>
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NM80211ApFlags"><span class="returnvalue">NM80211ApFlags</span></a>
 </td>
 <td class="function_name">
 <a class="link" href="NMAccessPoint.html#nm-access-point-get-flags" title="nm_access_point_get_flags ()">nm_access_point_get_flags</a> <span class="c_punctuation">()</span>
@@ -59,7 +59,7 @@
 </tr>
 <tr>
 <td class="function_type">
-<a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NM80211ApSecurityFlags"><span class="returnvalue">NM80211ApSecurityFlags</span></a>
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NM80211ApSecurityFlags"><span class="returnvalue">NM80211ApSecurityFlags</span></a>
 </td>
 <td class="function_name">
 <a class="link" href="NMAccessPoint.html#nm-access-point-get-wpa-flags" title="nm_access_point_get_wpa_flags ()">nm_access_point_get_wpa_flags</a> <span class="c_punctuation">()</span>
@@ -67,7 +67,7 @@
 </tr>
 <tr>
 <td class="function_type">
-<a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NM80211ApSecurityFlags"><span class="returnvalue">NM80211ApSecurityFlags</span></a>
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NM80211ApSecurityFlags"><span class="returnvalue">NM80211ApSecurityFlags</span></a>
 </td>
 <td class="function_name">
 <a class="link" href="NMAccessPoint.html#nm-access-point-get-rsn-flags" title="nm_access_point_get_rsn_flags ()">nm_access_point_get_rsn_flags</a> <span class="c_punctuation">()</span>
@@ -97,7 +97,7 @@
 </tr>
 <tr>
 <td class="function_type">
-<a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NM80211Mode"><span class="returnvalue">NM80211Mode</span></a>
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NM80211Mode"><span class="returnvalue">NM80211Mode</span></a>
 </td>
 <td class="function_name">
 <a class="link" href="NMAccessPoint.html#nm-access-point-get-mode" title="nm_access_point_get_mode ()">nm_access_point_get_mode</a> <span class="c_punctuation">()</span>
@@ -327,7 +327,7 @@ nm_access_point_new (<em class="parameter"><code><a href="/usr/share/gtk-doc/htm
 <hr>
 <div class="refsect2">
 <a name="nm-access-point-get-flags"></a><h3>nm_access_point_get_flags ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NM80211ApFlags"><span class="returnvalue">NM80211ApFlags</span></a>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NM80211ApFlags"><span class="returnvalue">NM80211ApFlags</span></a>
 nm_access_point_get_flags (<em class="parameter"><code><a class="link" href="NMAccessPoint.html" title="NMAccessPoint"><span class="type">NMAccessPoint</span></a> *ap</code></em>);</pre>
 <p>Gets the flags of the access point.</p>
 <div class="refsect3">
@@ -353,7 +353,7 @@ nm_access_point_get_flags (<em class="parameter"><code><a class="link" href="NMA
 <hr>
 <div class="refsect2">
 <a name="nm-access-point-get-wpa-flags"></a><h3>nm_access_point_get_wpa_flags ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NM80211ApSecurityFlags"><span class="returnvalue">NM80211ApSecurityFlags</span></a>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NM80211ApSecurityFlags"><span class="returnvalue">NM80211ApSecurityFlags</span></a>
 nm_access_point_get_wpa_flags (<em class="parameter"><code><a class="link" href="NMAccessPoint.html" title="NMAccessPoint"><span class="type">NMAccessPoint</span></a> *ap</code></em>);</pre>
 <p>Gets the WPA (version 1) flags of the access point.</p>
 <div class="refsect3">
@@ -379,7 +379,7 @@ nm_access_point_get_wpa_flags (<em class="parameter"><code><a class="link" href=
 <hr>
 <div class="refsect2">
 <a name="nm-access-point-get-rsn-flags"></a><h3>nm_access_point_get_rsn_flags ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NM80211ApSecurityFlags"><span class="returnvalue">NM80211ApSecurityFlags</span></a>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NM80211ApSecurityFlags"><span class="returnvalue">NM80211ApSecurityFlags</span></a>
 nm_access_point_get_rsn_flags (<em class="parameter"><code><a class="link" href="NMAccessPoint.html" title="NMAccessPoint"><span class="type">NMAccessPoint</span></a> *ap</code></em>);</pre>
 <p>Gets the RSN (Robust Secure Network, ie WPA version 2) flags of the access
 point.</p>
@@ -486,7 +486,7 @@ nm_access_point_get_frequency (<em class="parameter"><code><a class="link" href=
 <hr>
 <div class="refsect2">
 <a name="nm-access-point-get-mode"></a><h3>nm_access_point_get_mode ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NM80211Mode"><span class="returnvalue">NM80211Mode</span></a>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NM80211Mode"><span class="returnvalue">NM80211Mode</span></a>
 nm_access_point_get_mode (<em class="parameter"><code><a class="link" href="NMAccessPoint.html" title="NMAccessPoint"><span class="type">NMAccessPoint</span></a> *ap</code></em>);</pre>
 <p>Gets the mode of the access point.</p>
 <div class="refsect3">
@@ -622,7 +622,7 @@ filter that list with this function.</p>
 <tr>
 <td class="parameter_name"><p>connections</p></td>
 <td class="parameter_description"><p> a list of
-<span class="type">NMConnection</span> objects to filter. </p></td>
+<a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> objects to filter. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMConnection]</span></td>
 </tr>
 </tbody>
@@ -631,7 +631,7 @@ filter that list with this function.</p>
 <div class="refsect3">
 <a name="nm-access-point-filter-connections.returns"></a><h4>Returns</h4>
 <p> a
-list of <span class="type">NMConnection</span> objects that could be activated with the given <em class="parameter"><code>ap</code></em>
+list of <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> objects that could be activated with the given <em class="parameter"><code>ap</code></em>
 .
 The elements of the list are owned by their creator and should not be freed
 by the caller, but the returned list itself is owned by the caller and should
@@ -644,7 +644,7 @@ be freed with <a href="/usr/share/gtk-doc/html/glibglib-Singly-Linked-Lists.html
 <a name="nm-access-point-connection-valid"></a><h3>nm_access_point_connection_valid ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 nm_access_point_connection_valid (<em class="parameter"><code><a class="link" href="NMAccessPoint.html" title="NMAccessPoint"><span class="type">NMAccessPoint</span></a> *ap</code></em>,
-                                  <em class="parameter"><code><span class="type">NMConnection</span> *connection</code></em>);</pre>
+                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> *connection</code></em>);</pre>
 <p>Validates a given connection against a given Wi-Fi access point to ensure that
 the connection may be activated with that AP.  The connection must match the
 <em class="parameter"><code>ap</code></em>
@@ -667,7 +667,7 @@ against</p></td>
 </tr>
 <tr>
 <td class="parameter_name"><p>connection</p></td>
-<td class="parameter_description"><p>an <span class="type">NMConnection</span> to validate against <em class="parameter"><code>ap</code></em>
+<td class="parameter_description"><p>an <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> to validate against <em class="parameter"><code>ap</code></em>
 </p></td>
 <td class="parameter_annotations"> </td>
 </tr>
diff --git a/docs/libnm-glib/html/NMActiveConnection.html b/docs/libnm-glib/html/NMActiveConnection.html
index 10489a95..7fef6792 100644
--- a/docs/libnm-glib/html/NMActiveConnection.html
+++ b/docs/libnm-glib/html/NMActiveConnection.html
@@ -93,7 +93,7 @@
 </tr>
 <tr>
 <td class="function_type">
-<a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMActiveConnectionState"><span class="returnvalue">NMActiveConnectionState</span></a>
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMActiveConnectionState"><span class="returnvalue">NMActiveConnectionState</span></a>
 </td>
 <td class="function_name">
 <a class="link" href="NMActiveConnection.html#nm-active-connection-get-state" title="nm_active_connection_get_state ()">nm_active_connection_get_state</a> <span class="c_punctuation">()</span>
@@ -386,7 +386,7 @@ nm_active_connection_new (<em class="parameter"><code><a href="/usr/share/gtk-do
 <a name="nm-active-connection-get-connection"></a><h3>nm_active_connection_get_connection ()</h3>
 <pre class="programlisting">const <span class="returnvalue">char</span> *
 nm_active_connection_get_connection (<em class="parameter"><code><a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a> *connection</code></em>);</pre>
-<p>Gets the <span class="type">NMConnection</span>'s DBus object path.  This is often used with
+<p>Gets the <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a>'s DBus object path.  This is often used with
 <a class="link" href="NMRemoteSettings.html#nm-remote-settings-get-connection-by-path" title="nm_remote_settings_get_connection_by_path ()"><code class="function">nm_remote_settings_get_connection_by_path()</code></a> to retrieve the
 <a class="link" href="NMRemoteConnection.html" title="NMRemoteConnection"><span class="type">NMRemoteConnection</span></a> object that describes the connection.</p>
 <div class="refsect3">
@@ -406,7 +406,7 @@ nm_active_connection_get_connection (<em class="parameter"><code><a class="link"
 </div>
 <div class="refsect3">
 <a name="nm-active-connection-get-connection.returns"></a><h4>Returns</h4>
-<p> the object path of the <span class="type">NMConnection</span> which this <a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a>
+<p> the object path of the <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> which this <a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a>
 is an active instance of.  This is the internal string used by the
 connection, and must not be modified.</p>
 </div>
@@ -416,7 +416,7 @@ connection, and must not be modified.</p>
 <a name="nm-active-connection-get-id"></a><h3>nm_active_connection_get_id ()</h3>
 <pre class="programlisting">const <span class="returnvalue">char</span> *
 nm_active_connection_get_id (<em class="parameter"><code><a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a> *connection</code></em>);</pre>
-<p>Gets the <span class="type">NMConnection</span>'s ID.</p>
+<p>Gets the <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a>'s ID.</p>
 <div class="refsect3">
 <a name="nm-active-connection-get-id.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -434,7 +434,7 @@ nm_active_connection_get_id (<em class="parameter"><code><a class="link" href="N
 </div>
 <div class="refsect3">
 <a name="nm-active-connection-get-id.returns"></a><h4>Returns</h4>
-<p> the ID of the <span class="type">NMConnection</span> that backs the <a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a>.
+<p> the ID of the <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> that backs the <a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a>.
 This is the internal string used by the connection, and must not be modified.</p>
 </div>
 <p class="since">Since: 0.9.10</p>
@@ -444,7 +444,7 @@ This is the internal string used by the connection, and must not be modified.</p
 <a name="nm-active-connection-get-uuid"></a><h3>nm_active_connection_get_uuid ()</h3>
 <pre class="programlisting">const <span class="returnvalue">char</span> *
 nm_active_connection_get_uuid (<em class="parameter"><code><a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a> *connection</code></em>);</pre>
-<p>Gets the <span class="type">NMConnection</span>'s UUID.</p>
+<p>Gets the <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a>'s UUID.</p>
 <div class="refsect3">
 <a name="nm-active-connection-get-uuid.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -462,7 +462,7 @@ nm_active_connection_get_uuid (<em class="parameter"><code><a class="link" href=
 </div>
 <div class="refsect3">
 <a name="nm-active-connection-get-uuid.returns"></a><h4>Returns</h4>
-<p> the UUID of the <span class="type">NMConnection</span> that backs the <a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a>.
+<p> the UUID of the <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> that backs the <a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a>.
 This is the internal string used by the connection, and must not be modified.</p>
 </div>
 </div>
@@ -472,7 +472,7 @@ This is the internal string used by the connection, and must not be modified.</p
 <pre class="programlisting">const <span class="returnvalue">char</span> *
 nm_active_connection_get_connection_type
                                (<em class="parameter"><code><a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a> *connection</code></em>);</pre>
-<p>Gets the <span class="type">NMConnection</span>'s type.</p>
+<p>Gets the <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a>'s type.</p>
 <div class="refsect3">
 <a name="nm-active-connection-get-connection-type.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -490,7 +490,7 @@ nm_active_connection_get_connection_type
 </div>
 <div class="refsect3">
 <a name="nm-active-connection-get-connection-type.returns"></a><h4>Returns</h4>
-<p> the type of the <span class="type">NMConnection</span> that backs the <a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a>.
+<p> the type of the <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> that backs the <a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a>.
 This is the internal string used by the connection, and must not be modified.</p>
 </div>
 <p class="since">Since: 0.9.10</p>
@@ -554,7 +554,7 @@ This is the internal copy used by the connection, and must not be modified. </p>
 <hr>
 <div class="refsect2">
 <a name="nm-active-connection-get-state"></a><h3>nm_active_connection_get_state ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMActiveConnectionState"><span class="returnvalue">NMActiveConnectionState</span></a>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMActiveConnectionState"><span class="returnvalue">NMActiveConnectionState</span></a>
 nm_active_connection_get_state (<em class="parameter"><code><a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a> *connection</code></em>);</pre>
 <p>Gets the active connection's state.</p>
 <div class="refsect3">
@@ -655,7 +655,7 @@ nm_active_connection_get_ip4_config (<em class="parameter"><code><a class="link"
 <div class="refsect3">
 <a name="nm-active-connection-get-ip4-config.returns"></a><h4>Returns</h4>
 <p> the <a class="link" href="NMIP4Config.html" title="NMIP4Config"><span class="type">NMIP4Config</span></a>, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the
-connection is not in the <a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NM-ACTIVE-CONNECTION-STATE-ACTIVATED:CAPS"><code class="literal">NM_ACTIVE_CONNECTION_STATE_ACTIVATED</code></a>
+connection is not in the <a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NM-ACTIVE-CONNECTION-STATE-ACTIVATED:CAPS"><code class="literal">NM_ACTIVE_CONNECTION_STATE_ACTIVATED</code></a>
 state. </p>
 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
@@ -687,7 +687,7 @@ nm_active_connection_get_dhcp4_config (<em class="parameter"><code><a class="lin
 <a name="nm-active-connection-get-dhcp4-config.returns"></a><h4>Returns</h4>
 <p> the <a class="link" href="NMDHCP4Config.html" title="NMDHCP4Config"><span class="type">NMDHCP4Config</span></a>, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the
 connection does not use DHCP, or is not in the
-<a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NM-ACTIVE-CONNECTION-STATE-ACTIVATED:CAPS"><code class="literal">NM_ACTIVE_CONNECTION_STATE_ACTIVATED</code></a> state. </p>
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NM-ACTIVE-CONNECTION-STATE-ACTIVATED:CAPS"><code class="literal">NM_ACTIVE_CONNECTION_STATE_ACTIVATED</code></a> state. </p>
 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
 <p class="since">Since: 0.9.10</p>
@@ -743,7 +743,7 @@ nm_active_connection_get_ip6_config (<em class="parameter"><code><a class="link"
 <div class="refsect3">
 <a name="nm-active-connection-get-ip6-config.returns"></a><h4>Returns</h4>
 <p> the <a class="link" href="NMIP6Config.html" title="NMIP6Config"><span class="type">NMIP6Config</span></a>, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the
-connection is not in the <a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NM-ACTIVE-CONNECTION-STATE-ACTIVATED:CAPS"><code class="literal">NM_ACTIVE_CONNECTION_STATE_ACTIVATED</code></a>
+connection is not in the <a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NM-ACTIVE-CONNECTION-STATE-ACTIVATED:CAPS"><code class="literal">NM_ACTIVE_CONNECTION_STATE_ACTIVATED</code></a>
 state. </p>
 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
@@ -775,7 +775,7 @@ nm_active_connection_get_dhcp6_config (<em class="parameter"><code><a class="lin
 <a name="nm-active-connection-get-dhcp6-config.returns"></a><h4>Returns</h4>
 <p> the <a class="link" href="NMDHCP6Config.html" title="NMDHCP6Config"><span class="type">NMDHCP6Config</span></a>, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the
 connection does not use DHCPv6, or is not in the
-<a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NM-ACTIVE-CONNECTION-STATE-ACTIVATED:CAPS"><code class="literal">NM_ACTIVE_CONNECTION_STATE_ACTIVATED</code></a> state. </p>
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NM-ACTIVE-CONNECTION-STATE-ACTIVATED:CAPS"><code class="literal">NM_ACTIVE_CONNECTION_STATE_ACTIVATED</code></a> state. </p>
 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
 <p class="since">Since: 0.9.10</p>
diff --git a/docs/libnm-glib/html/NMClient.html b/docs/libnm-glib/html/NMClient.html
index 5ccb861a..b9b60450 100644
--- a/docs/libnm-glib/html/NMClient.html
+++ b/docs/libnm-glib/html/NMClient.html
@@ -241,7 +241,7 @@
 </tr>
 <tr>
 <td class="function_type">
-<a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMState"><span class="returnvalue">NMState</span></a>
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMState"><span class="returnvalue">NMState</span></a>
 </td>
 <td class="function_name">
 <a class="link" href="NMClient.html#nm-client-get-state" title="nm_client_get_state ()">nm_client_get_state</a> <span class="c_punctuation">()</span>
@@ -304,7 +304,7 @@
 </tr>
 <tr>
 <td class="function_type">
-<a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMConnectivityState"><span class="returnvalue">NMConnectivityState</span></a>
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMConnectivityState"><span class="returnvalue">NMConnectivityState</span></a>
 </td>
 <td class="function_name">
 <a class="link" href="NMClient.html#nm-client-get-connectivity" title="nm_client_get_connectivity ()">nm_client_get_connectivity</a> <span class="c_punctuation">()</span>
@@ -312,7 +312,7 @@
 </tr>
 <tr>
 <td class="function_type">
-<a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMConnectivityState"><span class="returnvalue">NMConnectivityState</span></a>
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMConnectivityState"><span class="returnvalue">NMConnectivityState</span></a>
 </td>
 <td class="function_name">
 <a class="link" href="NMClient.html#nm-client-check-connectivity" title="nm_client_check_connectivity ()">nm_client_check_connectivity</a> <span class="c_punctuation">()</span>
@@ -328,7 +328,7 @@
 </tr>
 <tr>
 <td class="function_type">
-<a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMConnectivityState"><span class="returnvalue">NMConnectivityState</span></a>
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMConnectivityState"><span class="returnvalue">NMConnectivityState</span></a>
 </td>
 <td class="function_name">
 <a class="link" href="NMClient.html#nm-client-check-connectivity-finish" title="nm_client_check_connectivity_finish ()">nm_client_check_connectivity_finish</a> <span class="c_punctuation">()</span>
@@ -861,7 +861,7 @@ or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><co
 <a name="nm-client-activate-connection"></a><h3>nm_client_activate_connection ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 nm_client_activate_connection (<em class="parameter"><code><a class="link" href="NMClient.html" title="NMClient"><span class="type">NMClient</span></a> *client</code></em>,
-                               <em class="parameter"><code><span class="type">NMConnection</span> *connection</code></em>,
+                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> *connection</code></em>,
                                <em class="parameter"><code><a class="link" href="NMDevice.html" title="NMDevice"><span class="type">NMDevice</span></a> *device</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *specific_object</code></em>,
                                <em class="parameter"><code><a class="link" href="NMClient.html#NMClientActivateFn" title="NMClientActivateFn ()"><span class="type">NMClientActivateFn</span></a> callback</code></em>,
@@ -899,7 +899,7 @@ track the activation to its completion.</p>
 </tr>
 <tr>
 <td class="parameter_name"><p>connection</p></td>
-<td class="parameter_description"><p> an <span class="type">NMConnection</span>. </p></td>
+<td class="parameter_description"><p> an <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
@@ -948,7 +948,7 @@ details of the newly added connection. </p></td>
 <a name="nm-client-add-and-activate-connection"></a><h3>nm_client_add_and_activate_connection ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 nm_client_add_and_activate_connection (<em class="parameter"><code><a class="link" href="NMClient.html" title="NMClient"><span class="type">NMClient</span></a> *client</code></em>,
-                                       <em class="parameter"><code><span class="type">NMConnection</span> *partial</code></em>,
+                                       <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> *partial</code></em>,
                                        <em class="parameter"><code><a class="link" href="NMDevice.html" title="NMDevice"><span class="type">NMDevice</span></a> *device</code></em>,
                                        <em class="parameter"><code>const <span class="type">char</span> *specific_object</code></em>,
                                        <em class="parameter"><code><a class="link" href="NMClient.html#NMClientAddActivateFn" title="NMClientAddActivateFn ()"><span class="type">NMClientAddActivateFn</span></a> callback</code></em>,
@@ -977,7 +977,7 @@ track the activation to its completion.</p>
 </tr>
 <tr>
 <td class="parameter_name"><p>partial</p></td>
-<td class="parameter_description"><p> an <span class="type">NMConnection</span> to add; the connection may be
+<td class="parameter_description"><p> an <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> to add; the connection may be
 partially filled (or even <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>) and will be completed by NetworkManager
 using the given <em class="parameter"><code>device</code></em>
 and <em class="parameter"><code>specific_object</code></em>
@@ -1379,7 +1379,7 @@ nm_client_get_version (<em class="parameter"><code><a class="link" href="NMClien
 <hr>
 <div class="refsect2">
 <a name="nm-client-get-state"></a><h3>nm_client_get_state ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMState"><span class="returnvalue">NMState</span></a>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMState"><span class="returnvalue">NMState</span></a>
 nm_client_get_state (<em class="parameter"><code><a class="link" href="NMClient.html" title="NMClient"><span class="type">NMClient</span></a> *client</code></em>);</pre>
 <p>Gets the current daemon state.</p>
 <div class="refsect3">
@@ -1399,7 +1399,7 @@ nm_client_get_state (<em class="parameter"><code><a class="link" href="NMClient.
 </div>
 <div class="refsect3">
 <a name="nm-client-get-state.returns"></a><h4>Returns</h4>
-<p> the current <a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMState"><code class="literal">NMState</code></a></p>
+<p> the current <a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMState"><code class="literal">NMState</code></a></p>
 </div>
 </div>
 <hr>
@@ -1649,7 +1649,7 @@ domains separated by ",". (<a href="/usr/share/gtk-doc/html/glibglib-Standard-Ma
 <hr>
 <div class="refsect2">
 <a name="nm-client-get-connectivity"></a><h3>nm_client_get_connectivity ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMConnectivityState"><span class="returnvalue">NMConnectivityState</span></a>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMConnectivityState"><span class="returnvalue">NMConnectivityState</span></a>
 nm_client_get_connectivity (<em class="parameter"><code><a class="link" href="NMClient.html" title="NMClient"><span class="type">NMClient</span></a> *client</code></em>);</pre>
 <p>Gets the current network connectivity state. Contrast
 <a class="link" href="NMClient.html#nm-client-check-connectivity" title="nm_client_check_connectivity ()"><code class="function">nm_client_check_connectivity()</code></a> and
@@ -1679,7 +1679,7 @@ connectivity state first before returning any information.</p>
 <hr>
 <div class="refsect2">
 <a name="nm-client-check-connectivity"></a><h3>nm_client_check_connectivity ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMConnectivityState"><span class="returnvalue">NMConnectivityState</span></a>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMConnectivityState"><span class="returnvalue">NMConnectivityState</span></a>
 nm_client_check_connectivity (<em class="parameter"><code><a class="link" href="NMClient.html" title="NMClient"><span class="type">NMClient</span></a> *client</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gioGCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
@@ -1772,7 +1772,7 @@ re-checking, and <a class="link" href="NMClient.html#nm-client-check-connectivit
 <hr>
 <div class="refsect2">
 <a name="nm-client-check-connectivity-finish"></a><h3>nm_client_check_connectivity_finish ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMConnectivityState"><span class="returnvalue">NMConnectivityState</span></a>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMConnectivityState"><span class="returnvalue">NMConnectivityState</span></a>
 nm_client_check_connectivity_finish (<em class="parameter"><code><a class="link" href="NMClient.html" title="NMClient"><span class="type">NMClient</span></a> *client</code></em>,
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gioGAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *result</code></em>,
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
diff --git a/docs/libnm-glib/html/NMDevice.html b/docs/libnm-glib/html/NMDevice.html
index 1710e7d0..93b7ce9b 100644
--- a/docs/libnm-glib/html/NMDevice.html
+++ b/docs/libnm-glib/html/NMDevice.html
@@ -74,7 +74,7 @@
 </tr>
 <tr>
 <td class="function_type">
-<a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMDeviceType"><span class="returnvalue">NMDeviceType</span></a>
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMDeviceType"><span class="returnvalue">NMDeviceType</span></a>
 </td>
 <td class="function_name">
 <a class="link" href="NMDevice.html#nm-device-get-device-type" title="nm_device_get_device_type ()">nm_device_get_device_type</a> <span class="c_punctuation">()</span>
@@ -124,7 +124,7 @@
 </tr>
 <tr>
 <td class="function_type">
-<a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMDeviceCapabilities"><span class="returnvalue">NMDeviceCapabilities</span></a>
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMDeviceCapabilities"><span class="returnvalue">NMDeviceCapabilities</span></a>
 </td>
 <td class="function_name">
 <a class="link" href="NMDevice.html#nm-device-get-capabilities" title="nm_device_get_capabilities ()">nm_device_get_capabilities</a> <span class="c_punctuation">()</span>
@@ -204,7 +204,7 @@
 </tr>
 <tr>
 <td class="function_type">
-<a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMDeviceState"><span class="returnvalue">NMDeviceState</span></a>
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMDeviceState"><span class="returnvalue">NMDeviceState</span></a>
 </td>
 <td class="function_name">
 <a class="link" href="NMDevice.html#nm-device-get-state" title="nm_device_get_state ()">nm_device_get_state</a> <span class="c_punctuation">()</span>
@@ -212,7 +212,7 @@
 </tr>
 <tr>
 <td class="function_type">
-<a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMDeviceState"><span class="returnvalue">NMDeviceState</span></a>
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMDeviceState"><span class="returnvalue">NMDeviceState</span></a>
 </td>
 <td class="function_name">
 <a class="link" href="NMDevice.html#nm-device-get-state-reason" title="nm_device_get_state_reason ()">nm_device_get_state_reason</a> <span class="c_punctuation">()</span>
@@ -766,7 +766,7 @@ used by the device, and must not be modified.</p>
 <hr>
 <div class="refsect2">
 <a name="nm-device-get-device-type"></a><h3>nm_device_get_device_type ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMDeviceType"><span class="returnvalue">NMDeviceType</span></a>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMDeviceType"><span class="returnvalue">NMDeviceType</span></a>
 nm_device_get_device_type (<em class="parameter"><code><a class="link" href="NMDevice.html" title="NMDevice"><span class="type">NMDevice</span></a> *device</code></em>);</pre>
 <p>Returns the numeric type of the <a class="link" href="NMDevice.html" title="NMDevice"><span class="type">NMDevice</span></a>, ie Ethernet, Wi-Fi, etc.</p>
 <div class="refsect3">
@@ -960,7 +960,7 @@ This is the internal string used by the device, and must not be modified.</p>
 <hr>
 <div class="refsect2">
 <a name="nm-device-get-capabilities"></a><h3>nm_device_get_capabilities ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMDeviceCapabilities"><span class="returnvalue">NMDeviceCapabilities</span></a>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMDeviceCapabilities"><span class="returnvalue">NMDeviceCapabilities</span></a>
 nm_device_get_capabilities (<em class="parameter"><code><a class="link" href="NMDevice.html" title="NMDevice"><span class="type">NMDevice</span></a> *device</code></em>);</pre>
 <p>Gets the device' capabilities.</p>
 <div class="refsect3">
@@ -1249,7 +1249,7 @@ using DHCP. </p>
 <hr>
 <div class="refsect2">
 <a name="nm-device-get-state"></a><h3>nm_device_get_state ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMDeviceState"><span class="returnvalue">NMDeviceState</span></a>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMDeviceState"><span class="returnvalue">NMDeviceState</span></a>
 nm_device_get_state (<em class="parameter"><code><a class="link" href="NMDevice.html" title="NMDevice"><span class="type">NMDevice</span></a> *device</code></em>);</pre>
 <p>Gets the current <a class="link" href="NMDevice.html" title="NMDevice"><span class="type">NMDevice</span></a> state.</p>
 <div class="refsect3">
@@ -1275,9 +1275,9 @@ nm_device_get_state (<em class="parameter"><code><a class="link" href="NMDevice.
 <hr>
 <div class="refsect2">
 <a name="nm-device-get-state-reason"></a><h3>nm_device_get_state_reason ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMDeviceState"><span class="returnvalue">NMDeviceState</span></a>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMDeviceState"><span class="returnvalue">NMDeviceState</span></a>
 nm_device_get_state_reason (<em class="parameter"><code><a class="link" href="NMDevice.html" title="NMDevice"><span class="type">NMDevice</span></a> *device</code></em>,
-                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMDeviceStateReason"><span class="type">NMDeviceStateReason</span></a> *reason</code></em>);</pre>
+                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMDeviceStateReason"><span class="type">NMDeviceStateReason</span></a> *reason</code></em>);</pre>
 <p>Gets the current <a class="link" href="NMDevice.html" title="NMDevice"><span class="type">NMDevice</span></a> state (return value) and the reason for entering
 the state (<em class="parameter"><code>reason</code></em>
  argument).</p>
@@ -1297,7 +1297,7 @@ the state (<em class="parameter"><code>reason</code></em>
 </tr>
 <tr>
 <td class="parameter_name"><p>reason</p></td>
-<td class="parameter_description"><p> location to store reason (<a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMDeviceStateReason"><span class="type">NMDeviceStateReason</span></a>), or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_description"><p> location to store reason (<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMDeviceStateReason"><span class="type">NMDeviceStateReason</span></a>), or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 </tbody>
@@ -1725,7 +1725,7 @@ incompatible with the device. To get the full list of connections see
 </tr>
 <tr>
 <td class="parameter_name"><p>connections</p></td>
-<td class="parameter_description"><p> a list of <span class="type">NMConnection</span> objects to filter. </p></td>
+<td class="parameter_description"><p> a list of <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> objects to filter. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMConnection]</span></td>
 </tr>
 </tbody>
@@ -1734,7 +1734,7 @@ incompatible with the device. To get the full list of connections see
 <div class="refsect3">
 <a name="nm-device-filter-connections.returns"></a><h4>Returns</h4>
 <p> a
-list of <span class="type">NMConnection</span> objects that could be activated with the given <em class="parameter"><code>device</code></em>
+list of <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> objects that could be activated with the given <em class="parameter"><code>device</code></em>
 .
 The elements of the list are owned by their creator and should not be freed
 by the caller, but the returned list itself is owned by the caller and should
@@ -1747,7 +1747,7 @@ be freed with <a href="/usr/share/gtk-doc/html/glibglib-Singly-Linked-Lists.html
 <a name="nm-device-connection-valid"></a><h3>nm_device_connection_valid ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 nm_device_connection_valid (<em class="parameter"><code><a class="link" href="NMDevice.html" title="NMDevice"><span class="type">NMDevice</span></a> *device</code></em>,
-                            <em class="parameter"><code><span class="type">NMConnection</span> *connection</code></em>);</pre>
+                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> *connection</code></em>);</pre>
 <p>Validates a given connection for a given <a class="link" href="NMDevice.html" title="NMDevice"><span class="type">NMDevice</span></a> object and returns
 whether the connection may be activated with the device. For example if
 <em class="parameter"><code>device</code></em>
@@ -1773,7 +1773,7 @@ against</p></td>
 </tr>
 <tr>
 <td class="parameter_name"><p>connection</p></td>
-<td class="parameter_description"><p>an <span class="type">NMConnection</span> to validate against <em class="parameter"><code>device</code></em>
+<td class="parameter_description"><p>an <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> to validate against <em class="parameter"><code>device</code></em>
 </p></td>
 <td class="parameter_annotations"> </td>
 </tr>
@@ -1791,7 +1791,7 @@ if is incompatible with the device's capabilities and characteristics.</p>
 <a name="nm-device-connection-compatible"></a><h3>nm_device_connection_compatible ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 nm_device_connection_compatible (<em class="parameter"><code><a class="link" href="NMDevice.html" title="NMDevice"><span class="type">NMDevice</span></a> *device</code></em>,
-                                 <em class="parameter"><code><span class="type">NMConnection</span> *connection</code></em>,
+                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> *connection</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
 <p>Validates a given connection for a given <a class="link" href="NMDevice.html" title="NMDevice"><span class="type">NMDevice</span></a> object and returns
 whether the connection may be activated with the device. For example if
@@ -1821,7 +1821,7 @@ against</p></td>
 </tr>
 <tr>
 <td class="parameter_name"><p>connection</p></td>
-<td class="parameter_description"><p>an <span class="type">NMConnection</span> to validate against <em class="parameter"><code>device</code></em>
+<td class="parameter_description"><p>an <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> to validate against <em class="parameter"><code>device</code></em>
 </p></td>
 <td class="parameter_annotations"> </td>
 </tr>
@@ -1844,7 +1844,7 @@ if is incompatible with the device's capabilities and characteristics.</p>
 <a name="nm-device-get-setting-type"></a><h3>nm_device_get_setting_type ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
 nm_device_get_setting_type (<em class="parameter"><code><a class="link" href="NMDevice.html" title="NMDevice"><span class="type">NMDevice</span></a> *device</code></em>);</pre>
-<p>Gets the (primary) <a href="/usr/share/gtk-doc/html/libnmNMSetting.html#NMSetting-struct"><span class="type">NMSetting</span></a> subtype associated with connections
+<p>Gets the (primary) <a href="/usr/share/gtk-doc/html/libnm-utilNMSetting.html#NMSetting-struct"><span class="type">NMSetting</span></a> subtype associated with connections
 that can be used on <em class="parameter"><code>device</code></em>
 .</p>
 <div class="refsect3">
@@ -1865,7 +1865,7 @@ that can be used on <em class="parameter"><code>device</code></em>
 <div class="refsect3">
 <a name="nm-device-get-setting-type.returns"></a><h4>Returns</h4>
 <p> <em class="parameter"><code>device</code></em>
-'s associated <a href="/usr/share/gtk-doc/html/libnmNMSetting.html#NMSetting-struct"><span class="type">NMSetting</span></a> type</p>
+'s associated <a href="/usr/share/gtk-doc/html/libnm-utilNMSetting.html#NMSetting-struct"><span class="type">NMSetting</span></a> type</p>
 </div>
 <p class="since">Since: 0.9.10</p>
 </div>
diff --git a/docs/libnm-glib/html/NMDeviceBt.html b/docs/libnm-glib/html/NMDeviceBt.html
index 4d11b3a7..b88627c6 100644
--- a/docs/libnm-glib/html/NMDeviceBt.html
+++ b/docs/libnm-glib/html/NMDeviceBt.html
@@ -73,7 +73,7 @@
 </tr>
 <tr>
 <td class="function_type">
-<a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMBluetoothCapabilities"><span class="returnvalue">NMBluetoothCapabilities</span></a>
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMBluetoothCapabilities"><span class="returnvalue">NMBluetoothCapabilities</span></a>
 </td>
 <td class="function_name">
 <a class="link" href="NMDeviceBt.html#nm-device-bt-get-capabilities" title="nm_device_bt_get_capabilities ()">nm_device_bt_get_capabilities</a> <span class="c_punctuation">()</span>
@@ -256,7 +256,7 @@ nm_device_bt_get_name (<em class="parameter"><code><a class="link" href="NMDevic
 <hr>
 <div class="refsect2">
 <a name="nm-device-bt-get-capabilities"></a><h3>nm_device_bt_get_capabilities ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMBluetoothCapabilities"><span class="returnvalue">NMBluetoothCapabilities</span></a>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMBluetoothCapabilities"><span class="returnvalue">NMBluetoothCapabilities</span></a>
 nm_device_bt_get_capabilities (<em class="parameter"><code><a class="link" href="NMDeviceBt.html" title="NMDeviceBt"><span class="type">NMDeviceBt</span></a> *device</code></em>);</pre>
 <p>Returns the Bluetooth device's usable capabilities.</p>
 <div class="refsect3">
@@ -276,7 +276,7 @@ nm_device_bt_get_capabilities (<em class="parameter"><code><a class="link" href=
 </div>
 <div class="refsect3">
 <a name="nm-device-bt-get-capabilities.returns"></a><h4>Returns</h4>
-<p> a combination of <a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMBluetoothCapabilities"><span class="type">NMBluetoothCapabilities</span></a></p>
+<p> a combination of <a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMBluetoothCapabilities"><span class="type">NMBluetoothCapabilities</span></a></p>
 </div>
 </div>
 </div>
@@ -369,7 +369,7 @@ nm_device_bt_get_capabilities (<em class="parameter"><code><a class="link" href=
 <div class="refsect2">
 <a name="NMDeviceBt--bt-capabilities"></a><h3>The <code class="literal">“bt-capabilities”</code> property</h3>
 <pre class="programlisting">  “bt-capabilities”          <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
-<p>The device's bluetooth capabilities, a combination of <a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMBluetoothCapabilities"><span class="type">NMBluetoothCapabilities</span></a>.</p>
+<p>The device's bluetooth capabilities, a combination of <a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMBluetoothCapabilities"><span class="type">NMBluetoothCapabilities</span></a>.</p>
 <p>Flags: Read</p>
 <p>Default value: 0</p>
 </div>
diff --git a/docs/libnm-glib/html/NMDeviceModem.html b/docs/libnm-glib/html/NMDeviceModem.html
index 1a563654..f6f17303 100644
--- a/docs/libnm-glib/html/NMDeviceModem.html
+++ b/docs/libnm-glib/html/NMDeviceModem.html
@@ -51,7 +51,7 @@
 </tr>
 <tr>
 <td class="function_type">
-<a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMDeviceModemCapabilities"><span class="returnvalue">NMDeviceModemCapabilities</span></a>
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMDeviceModemCapabilities"><span class="returnvalue">NMDeviceModemCapabilities</span></a>
 </td>
 <td class="function_name">
 <a class="link" href="NMDeviceModem.html#nm-device-modem-get-modem-capabilities" title="nm_device_modem_get_modem_capabilities ()">nm_device_modem_get_modem_capabilities</a> <span class="c_punctuation">()</span>
@@ -59,7 +59,7 @@
 </tr>
 <tr>
 <td class="function_type">
-<a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMDeviceModemCapabilities"><span class="returnvalue">NMDeviceModemCapabilities</span></a>
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMDeviceModemCapabilities"><span class="returnvalue">NMDeviceModemCapabilities</span></a>
 </td>
 <td class="function_name">
 <a class="link" href="NMDeviceModem.html#nm-device-modem-get-current-capabilities" title="nm_device_modem_get_current_capabilities ()">nm_device_modem_get_current_capabilities</a> <span class="c_punctuation">()</span>
@@ -143,7 +143,7 @@ nm_device_modem_error_quark (<em class="parameter"><code><span class="type">void
 <hr>
 <div class="refsect2">
 <a name="nm-device-modem-get-modem-capabilities"></a><h3>nm_device_modem_get_modem_capabilities ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMDeviceModemCapabilities"><span class="returnvalue">NMDeviceModemCapabilities</span></a>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMDeviceModemCapabilities"><span class="returnvalue">NMDeviceModemCapabilities</span></a>
 nm_device_modem_get_modem_capabilities
                                (<em class="parameter"><code><a class="link" href="NMDeviceModem.html" title="NMDeviceModem"><span class="type">NMDeviceModem</span></a> *self</code></em>);</pre>
 <p>Returns a bitfield of the generic access technology families the modem
@@ -172,7 +172,7 @@ may require a firmware reload or reinitialization.</p>
 <hr>
 <div class="refsect2">
 <a name="nm-device-modem-get-current-capabilities"></a><h3>nm_device_modem_get_current_capabilities ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMDeviceModemCapabilities"><span class="returnvalue">NMDeviceModemCapabilities</span></a>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMDeviceModemCapabilities"><span class="returnvalue">NMDeviceModemCapabilities</span></a>
 nm_device_modem_get_current_capabilities
                                (<em class="parameter"><code><a class="link" href="NMDeviceModem.html" title="NMDeviceModem"><span class="type">NMDeviceModem</span></a> *self</code></em>);</pre>
 <p>Returns a bitfield of the generic access technology families the modem
diff --git a/docs/libnm-glib/html/NMDeviceWifi.html b/docs/libnm-glib/html/NMDeviceWifi.html
index b9a51ee7..04f6ee88 100644
--- a/docs/libnm-glib/html/NMDeviceWifi.html
+++ b/docs/libnm-glib/html/NMDeviceWifi.html
@@ -74,7 +74,7 @@
 </tr>
 <tr>
 <td class="function_type">
-<a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NM80211Mode"><span class="returnvalue">NM80211Mode</span></a>
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NM80211Mode"><span class="returnvalue">NM80211Mode</span></a>
 </td>
 <td class="function_name">
 <a class="link" href="NMDeviceWifi.html#nm-device-wifi-get-mode" title="nm_device_wifi_get_mode ()">nm_device_wifi_get_mode</a> <span class="c_punctuation">()</span>
@@ -90,7 +90,7 @@
 </tr>
 <tr>
 <td class="function_type">
-<a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMDeviceWifiCapabilities"><span class="returnvalue">NMDeviceWifiCapabilities</span></a>
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMDeviceWifiCapabilities"><span class="returnvalue">NMDeviceWifiCapabilities</span></a>
 </td>
 <td class="function_name">
 <a class="link" href="NMDeviceWifi.html#nm-device-wifi-get-capabilities" title="nm_device_wifi_get_capabilities ()">nm_device_wifi_get_capabilities</a> <span class="c_punctuation">()</span>
@@ -374,7 +374,7 @@ device, and must not be modified.</p>
 <hr>
 <div class="refsect2">
 <a name="nm-device-wifi-get-mode"></a><h3>nm_device_wifi_get_mode ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NM80211Mode"><span class="returnvalue">NM80211Mode</span></a>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NM80211Mode"><span class="returnvalue">NM80211Mode</span></a>
 nm_device_wifi_get_mode (<em class="parameter"><code><a class="link" href="NMDeviceWifi.html" title="NMDeviceWifi"><span class="type">NMDeviceWifi</span></a> *device</code></em>);</pre>
 <p>Gets the <a class="link" href="NMDeviceWifi.html" title="NMDeviceWifi"><span class="type">NMDeviceWifi</span></a> mode.</p>
 <div class="refsect3">
@@ -426,7 +426,7 @@ nm_device_wifi_get_bitrate (<em class="parameter"><code><a class="link" href="NM
 <hr>
 <div class="refsect2">
 <a name="nm-device-wifi-get-capabilities"></a><h3>nm_device_wifi_get_capabilities ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnmlibnm-nm-dbus-interface.html#NMDeviceWifiCapabilities"><span class="returnvalue">NMDeviceWifiCapabilities</span></a>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManager.html#NMDeviceWifiCapabilities"><span class="returnvalue">NMDeviceWifiCapabilities</span></a>
 nm_device_wifi_get_capabilities (<em class="parameter"><code><a class="link" href="NMDeviceWifi.html" title="NMDeviceWifi"><span class="type">NMDeviceWifi</span></a> *device</code></em>);</pre>
 <p>Gets the Wi-Fi capabilities of the <a class="link" href="NMDeviceWifi.html" title="NMDeviceWifi"><span class="type">NMDeviceWifi</span></a>.</p>
 <div class="refsect3">
diff --git a/docs/libnm-glib/html/NMIP6Config.html b/docs/libnm-glib/html/NMIP6Config.html
index dbc32756..fb74f113 100644
--- a/docs/libnm-glib/html/NMIP6Config.html
+++ b/docs/libnm-glib/html/NMIP6Config.html
@@ -519,7 +519,7 @@ This is the internal copy used by the configuration, and must not be modified. <
 <a name="NMIP6Config--addresses"></a><h3>The <code class="literal">“addresses”</code> property</h3>
 <pre class="programlisting">  “addresses”                <span class="type">NMIP6AddressObjectArray</span> *</pre>
 <p>The <a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> containing the IPv6 addresses;  use
-<code class="function">nm_utils_ip6_addresses_from_gvalue()</code> to return a <a href="/usr/share/gtk-doc/html/glibglib-Singly-Linked-Lists.html#GSList"><span class="type">GSList</span></a> of
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-nm-utils.html#nm-utils-ip6-addresses-from-gvalue"><code class="function">nm_utils_ip6_addresses_from_gvalue()</code></a> to return a <a href="/usr/share/gtk-doc/html/glibglib-Singly-Linked-Lists.html#GSList"><span class="type">GSList</span></a> of
 <span class="type">NMSettingIP6Address</span> objects that is more usable than the raw data.</p>
 <p>Flags: Read</p>
 </div>
@@ -552,7 +552,7 @@ contain the addresses of nameservers of the configuration.</p>
 <a name="NMIP6Config--routes"></a><h3>The <code class="literal">“routes”</code> property</h3>
 <pre class="programlisting">  “routes”                   <span class="type">NMIP6RouteObjectArray</span> *</pre>
 <p>The <a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> containing the IPv6 routes;  use
-<code class="function">nm_utils_ip6_routes_from_gvalue()</code> to return a <a href="/usr/share/gtk-doc/html/glibglib-Singly-Linked-Lists.html#GSList"><span class="type">GSList</span></a> of
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-nm-utils.html#nm-utils-ip6-routes-from-gvalue"><code class="function">nm_utils_ip6_routes_from_gvalue()</code></a> to return a <a href="/usr/share/gtk-doc/html/glibglib-Singly-Linked-Lists.html#GSList"><span class="type">GSList</span></a> of
 <span class="type">NMSettingIP6Address</span> objects that is more usable than the raw data.</p>
 <p>Flags: Read</p>
 </div>
diff --git a/docs/libnm-glib/html/NMRemoteConnection.html b/docs/libnm-glib/html/NMRemoteConnection.html
index c086340e..77c868c4 100644
--- a/docs/libnm-glib/html/NMRemoteConnection.html
+++ b/docs/libnm-glib/html/NMRemoteConnection.html
@@ -229,7 +229,7 @@
 <div class="refsect1">
 <a name="NMRemoteConnection.object-hierarchy"></a><h2>Object Hierarchy</h2>
 <pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
-    <span class="lineart">╰──</span> NMConnection
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct">NMConnection</a>
         <span class="lineart">╰──</span> NMRemoteConnection
 </pre>
 </div>
@@ -548,7 +548,7 @@ nm_remote_connection_get_secrets (<em class="parameter"><code><a class="link" hr
 </tr>
 <tr>
 <td class="parameter_name"><p>setting_name</p></td>
-<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/libnmNMSetting.html#NMSetting-struct"><span class="type">NMSetting</span></a> object name to get secrets for</p></td>
+<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/libnm-utilNMSetting.html#NMSetting-struct"><span class="type">NMSetting</span></a> object name to get secrets for</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 <tr>
@@ -716,7 +716,7 @@ invisible to the current user.</p>
 <tbody>
 <tr>
 <td class="parameter_name"><p>connection</p></td>
-<td class="parameter_description"><p>a <span class="type">NMConnection</span></p></td>
+<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a></p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 <tr>
@@ -748,7 +748,7 @@ still visible to the user.</p>
 <tbody>
 <tr>
 <td class="parameter_name"><p>connection</p></td>
-<td class="parameter_description"><p>a <span class="type">NMConnection</span></p></td>
+<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a></p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 <tr>
diff --git a/docs/libnm-glib/html/NMRemoteSettings.html b/docs/libnm-glib/html/NMRemoteSettings.html
index a91ef5e0..fcf007c1 100644
--- a/docs/libnm-glib/html/NMRemoteSettings.html
+++ b/docs/libnm-glib/html/NMRemoteSettings.html
@@ -284,13 +284,13 @@
 which stores network configuration and allows authenticated clients to
 add, delete, and modify that configuration.  The data required to connect
 to a specific network is called a "connection" and encapsulated by the
-<span class="type">NMConnection</span> object.  Once a connection is known to NetworkManager, having
+<a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> object.  Once a connection is known to NetworkManager, having
 either been added by a user or read from on-disk storage, the
 <a class="link" href="NMRemoteSettings.html" title="NMRemoteSettings"><span class="type">NMRemoteSettings</span></a> object creates a <a class="link" href="NMRemoteConnection.html" title="NMRemoteConnection"><span class="type">NMRemoteConnection</span></a> object which
 represents this stored connection.  Use the <a class="link" href="NMRemoteConnection.html" title="NMRemoteConnection"><span class="type">NMRemoteConnection</span></a> object to
 perform any operations like modification or deletion.</p>
 <p>To add a new network connection to the NetworkManager settings service, first
-build up a template <span class="type">NMConnection</span> object.  Since this connection is not yet
+build up a template <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> object.  Since this connection is not yet
 added to NetworkManager, it is known only to your program and is not yet
 an <a class="link" href="NMRemoteConnection.html" title="NMRemoteConnection"><span class="type">NMRemoteConnection</span></a>.  Then ask <a class="link" href="NMRemoteSettings.html" title="NMRemoteSettings"><span class="type">NMRemoteSettings</span></a> to add your connection.
 When the connection is added successfully, the supplied callback is called
@@ -368,7 +368,7 @@ the stored object known to NetworkManager.</p>
 <span class="normal">   </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">error</span><span class="symbol">)</span>
 <span class="normal">       </span><span class="function"><a href="/usr/share/gtk-doc/html/glibglib-Warnings-and-Assertions.html#g-print">g_print</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Error adding connection: %s"</span><span class="symbol">,</span><span class="normal"> error</span><span class="symbol">-&gt;</span><span class="normal">message</span><span class="symbol">);</span>
 <span class="normal">   </span><span class="keyword">else</span><span class="normal"> </span><span class="cbracket">{</span>
-<span class="normal">       </span><span class="function"><a href="/usr/share/gtk-doc/html/glibglib-Warnings-and-Assertions.html#g-print">g_print</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Added: %s</span><span class="specialchar">\n</span><span class="string">"</span><span class="symbol">,</span><span class="normal"> </span><span class="function"><a href="/usr/share/gtk-doc/html/libnmNMConnection.html#nm-connection-get-path">nm_connection_get_path</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">NM_CONNECTION</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">remote</span><span class="symbol">)));</span>
+<span class="normal">       </span><span class="function"><a href="/usr/share/gtk-doc/html/glibglib-Warnings-and-Assertions.html#g-print">g_print</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Added: %s</span><span class="specialchar">\n</span><span class="string">"</span><span class="symbol">,</span><span class="normal"> </span><span class="function"><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#nm-connection-get-path">nm_connection_get_path</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">NM_CONNECTION</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">remote</span><span class="symbol">)));</span>
 <span class="normal">       </span><span class="comment">/* Use 'remote' with nm_remote_connection_commit_changes() to save</span>
 <span class="comment">        * changes and nm_remote_connection_delete() to delete the connection */</span>
 <span class="normal">   </span><span class="cbracket">}</span>
@@ -383,28 +383,28 @@ the stored object known to NetworkManager.</p>
 <span class="normal">   </span><span class="type">char</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">uuid</span><span class="symbol">;</span>
 <span class="normal">   </span><span class="usertype">gboolean</span><span class="normal"> success</span><span class="symbol">;</span>
 
-<span class="normal">   connection </span><span class="symbol">=</span><span class="normal"> </span><span class="function">nm_connection_new</span><span class="normal"> </span><span class="symbol">();</span>
+<span class="normal">   connection </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#nm-connection-new">nm_connection_new</a></span><span class="normal"> </span><span class="symbol">();</span>
 
 <span class="normal">   </span><span class="comment">/* Build up the 'connection' setting */</span>
-<span class="normal">   s_con </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="/usr/share/gtk-doc/html/libnmNMSettingConnection.html#NMSettingConnection-struct">NMSettingConnection</a> </span><span class="symbol">*)</span><span class="normal"> </span><span class="function"><a href="/usr/share/gtk-doc/html/libnmNMSettingConnection.html#nm-setting-connection-new">nm_setting_connection_new</a></span><span class="normal"> </span><span class="symbol">();</span>
-<span class="normal">   uuid </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="/usr/share/gtk-doc/html/libnmlibnm-nm-utils.html#nm-utils-uuid-generate">nm_utils_uuid_generate</a></span><span class="normal"> </span><span class="symbol">();</span>
+<span class="normal">   s_con </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="/usr/share/gtk-doc/html/libnm-utilNMSettingConnection.html#NMSettingConnection-struct">NMSettingConnection</a> </span><span class="symbol">*)</span><span class="normal"> </span><span class="function"><a href="/usr/share/gtk-doc/html/libnm-utilNMSettingConnection.html#nm-setting-connection-new">nm_setting_connection_new</a></span><span class="normal"> </span><span class="symbol">();</span>
+<span class="normal">   uuid </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-nm-utils.html#nm-utils-uuid-generate">nm_utils_uuid_generate</a></span><span class="normal"> </span><span class="symbol">();</span>
 <span class="normal">   </span><span class="function"><a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#g-object-set">g_object_set</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#G-OBJECT:CAPS">G_OBJECT</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">s_con</span><span class="symbol">),</span>
-<span class="normal">                 <a href="/usr/share/gtk-doc/html/libnmNMSettingConnection.html#NM-SETTING-CONNECTION-UUID:CAPS">NM_SETTING_CONNECTION_UUID</a></span><span class="symbol">,</span><span class="normal"> uuid</span><span class="symbol">,</span>
-<span class="normal">                 <a href="/usr/share/gtk-doc/html/libnmNMSettingConnection.html#NM-SETTING-CONNECTION-ID:CAPS">NM_SETTING_CONNECTION_ID</a></span><span class="symbol">,</span><span class="normal"> human_name</span><span class="symbol">,</span>
-<span class="normal">                 <a href="/usr/share/gtk-doc/html/libnmNMSettingConnection.html#NM-SETTING-CONNECTION-TYPE:CAPS">NM_SETTING_CONNECTION_TYPE</a></span><span class="symbol">,</span><span class="normal"> <a href="/usr/share/gtk-doc/html/libnmNMSettingWired.html#NM-SETTING-WIRED-SETTING-NAME:CAPS">NM_SETTING_WIRED_SETTING_NAME</a></span><span class="symbol">,</span>
+<span class="normal">                 <a href="/usr/share/gtk-doc/html/libnm-utilNMSettingConnection.html#NM-SETTING-CONNECTION-UUID:CAPS">NM_SETTING_CONNECTION_UUID</a></span><span class="symbol">,</span><span class="normal"> uuid</span><span class="symbol">,</span>
+<span class="normal">                 <a href="/usr/share/gtk-doc/html/libnm-utilNMSettingConnection.html#NM-SETTING-CONNECTION-ID:CAPS">NM_SETTING_CONNECTION_ID</a></span><span class="symbol">,</span><span class="normal"> human_name</span><span class="symbol">,</span>
+<span class="normal">                 <a href="/usr/share/gtk-doc/html/libnm-utilNMSettingConnection.html#NM-SETTING-CONNECTION-TYPE:CAPS">NM_SETTING_CONNECTION_TYPE</a></span><span class="symbol">,</span><span class="normal"> <a href="/usr/share/gtk-doc/html/libnm-utilNMSettingWired.html#NM-SETTING-WIRED-SETTING-NAME:CAPS">NM_SETTING_WIRED_SETTING_NAME</a></span><span class="symbol">,</span>
 <span class="normal">                 <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
 <span class="normal">   </span><span class="function"><a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free">g_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">uuid</span><span class="symbol">);</span>
-<span class="normal">   </span><span class="function"><a href="/usr/share/gtk-doc/html/libnmNMConnection.html#nm-connection-add-setting">nm_connection_add_setting</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">connection</span><span class="symbol">,</span><span class="normal"> </span><span class="function">NM_SETTING</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">s_con</span><span class="symbol">));</span>
+<span class="normal">   </span><span class="function"><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#nm-connection-add-setting">nm_connection_add_setting</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">connection</span><span class="symbol">,</span><span class="normal"> </span><span class="function">NM_SETTING</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">s_con</span><span class="symbol">));</span>
 
 <span class="normal">   </span><span class="comment">/* Add the required 'wired' setting as this is a wired connection */</span>
-<span class="normal">   </span><span class="function"><a href="/usr/share/gtk-doc/html/libnmNMConnection.html#nm-connection-add-setting">nm_connection_add_setting</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">connection</span><span class="symbol">,</span><span class="normal"> </span><span class="function"><a href="/usr/share/gtk-doc/html/libnmNMSettingWired.html#nm-setting-wired-new">nm_setting_wired_new</a></span><span class="normal"> </span><span class="symbol">());</span>
+<span class="normal">   </span><span class="function"><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#nm-connection-add-setting">nm_connection_add_setting</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">connection</span><span class="symbol">,</span><span class="normal"> </span><span class="function"><a href="/usr/share/gtk-doc/html/libnm-utilNMSettingWired.html#nm-setting-wired-new">nm_setting_wired_new</a></span><span class="normal"> </span><span class="symbol">());</span>
 
 <span class="normal">   </span><span class="comment">/* Add an 'ipv4' setting using AUTO configuration (eg DHCP) */</span>
-<span class="normal">   s_ip4 </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="/usr/share/gtk-doc/html/libnmNMSettingIP4Config.html#NMSettingIP4Config-struct">NMSettingIP4Config</a> </span><span class="symbol">*)</span><span class="normal"> </span><span class="function"><a href="/usr/share/gtk-doc/html/libnmNMSettingIP4Config.html#nm-setting-ip4-config-new">nm_setting_ip4_config_new</a></span><span class="normal"> </span><span class="symbol">();</span>
+<span class="normal">   s_ip4 </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="/usr/share/gtk-doc/html/libnmNMSettingIP4Config.html#NMSettingIP4Config-struct">NMSettingIP4Config</a> </span><span class="symbol">*)</span><span class="normal"> </span><span class="function"><a href="/usr/share/gtk-doc/html/libnm-utilNMSettingIP4Config.html#nm-setting-ip4-config-new">nm_setting_ip4_config_new</a></span><span class="normal"> </span><span class="symbol">();</span>
 <span class="normal">   </span><span class="function"><a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#g-object-set">g_object_set</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#G-OBJECT:CAPS">G_OBJECT</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">s_ip4</span><span class="symbol">),</span>
-<span class="normal">                 NM_SETTING_IP4_CONFIG_METHOD</span><span class="symbol">,</span><span class="normal"> <a href="/usr/share/gtk-doc/html/libnmNMSettingIP4Config.html#NM-SETTING-IP4-CONFIG-METHOD-AUTO:CAPS">NM_SETTING_IP4_CONFIG_METHOD_AUTO</a></span><span class="symbol">,</span>
+<span class="normal">                 <a href="/usr/share/gtk-doc/html/libnm-utilNMSettingIP4Config.html#NM-SETTING-IP4-CONFIG-METHOD:CAPS">NM_SETTING_IP4_CONFIG_METHOD</a></span><span class="symbol">,</span><span class="normal"> <a href="/usr/share/gtk-doc/html/libnm-utilNMSettingIP4Config.html#NM-SETTING-IP4-CONFIG-METHOD-AUTO:CAPS">NM_SETTING_IP4_CONFIG_METHOD_AUTO</a></span><span class="symbol">,</span>
 <span class="normal">                 <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
-<span class="normal">   </span><span class="function"><a href="/usr/share/gtk-doc/html/libnmNMConnection.html#nm-connection-add-setting">nm_connection_add_setting</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">connection</span><span class="symbol">,</span><span class="normal"> </span><span class="function">NM_SETTING</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">s_ip4</span><span class="symbol">));</span>
+<span class="normal">   </span><span class="function"><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#nm-connection-add-setting">nm_connection_add_setting</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">connection</span><span class="symbol">,</span><span class="normal"> </span><span class="function">NM_SETTING</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">s_ip4</span><span class="symbol">));</span>
 
 <span class="normal">   </span><span class="comment">/* Ask NetworkManager to store the connection */</span>
 <span class="normal">   success </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="NMRemoteSettings.html#nm-remote-settings-add-connection">nm_remote_settings_add_connection</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">settings</span><span class="symbol">,</span><span class="normal"> connection</span><span class="symbol">,</span><span class="normal"> added_cb</span><span class="symbol">,</span><span class="normal"> loop</span><span class="symbol">);</span>
@@ -725,7 +725,7 @@ not known. </p>
 <a name="nm-remote-settings-add-connection"></a><h3>nm_remote_settings_add_connection ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 nm_remote_settings_add_connection (<em class="parameter"><code><a class="link" href="NMRemoteSettings.html" title="NMRemoteSettings"><span class="type">NMRemoteSettings</span></a> *settings</code></em>,
-                                   <em class="parameter"><code><span class="type">NMConnection</span> *connection</code></em>,
+                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> *connection</code></em>,
                                    <em class="parameter"><code><a class="link" href="NMRemoteSettings.html#NMRemoteSettingsAddConnectionFunc" title="NMRemoteSettingsAddConnectionFunc ()"><span class="type">NMRemoteSettingsAddConnectionFunc</span></a> callback</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 <p>Requests that the remote settings service add the given settings to a new
@@ -785,7 +785,7 @@ added, not the object itself</p></td>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 nm_remote_settings_add_connection_unsaved
                                (<em class="parameter"><code><a class="link" href="NMRemoteSettings.html" title="NMRemoteSettings"><span class="type">NMRemoteSettings</span></a> *settings</code></em>,
-                                <em class="parameter"><code><span class="type">NMConnection</span> *connection</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> *connection</code></em>,
                                 <em class="parameter"><code><a class="link" href="NMRemoteSettings.html#NMRemoteSettingsAddConnectionFunc" title="NMRemoteSettingsAddConnectionFunc ()"><span class="type">NMRemoteSettingsAddConnectionFunc</span></a> callback</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 <p>Requests that the remote settings service add the given settings to a new
diff --git a/docs/libnm-glib/html/NMSecretAgent.html b/docs/libnm-glib/html/NMSecretAgent.html
index 5cb18fa7..3f47d5fd 100644
--- a/docs/libnm-glib/html/NMSecretAgent.html
+++ b/docs/libnm-glib/html/NMSecretAgent.html
@@ -241,7 +241,7 @@ nm_secret_agent_error_quark (<em class="parameter"><code><span class="type">void
 <a name="NMSecretAgentGetSecretsFunc"></a><h3>NMSecretAgentGetSecretsFunc ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 <span class="c_punctuation">(</span>*NMSecretAgentGetSecretsFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="NMSecretAgent.html" title="NMSecretAgent"><span class="type">NMSecretAgent</span></a> *agent</code></em>,
-                                <em class="parameter"><code><span class="type">NMConnection</span> *connection</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> *connection</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *secrets</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> *error</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
@@ -277,13 +277,13 @@ something like this:</p>
 <span class="usertype">NMSettingWirelessSecurity</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">s_wsec</span><span class="symbol">;</span>
 <span class="usertype">GHashTable</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">secrets_hash</span><span class="symbol">;</span>
 
-<span class="normal">secrets </span><span class="symbol">=</span><span class="normal"> </span><span class="function">nm_connection_new</span><span class="normal"> </span><span class="symbol">();</span>
-<span class="normal">s_wsec </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="/usr/share/gtk-doc/html/libnmNMSettingWirelessSecurity.html#NMSettingWirelessSecurity-struct">NMSettingWirelessSecurity</a> </span><span class="symbol">*)</span><span class="normal"> </span><span class="function"><a href="/usr/share/gtk-doc/html/libnmNMSettingWirelessSecurity.html#nm-setting-wireless-security-new">nm_setting_wireless_security_new</a></span><span class="normal"> </span><span class="symbol">();</span>
+<span class="normal">secrets </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#nm-connection-new">nm_connection_new</a></span><span class="normal"> </span><span class="symbol">();</span>
+<span class="normal">s_wsec </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="/usr/share/gtk-doc/html/libnmNMSettingWirelessSecurity.html#NMSettingWirelessSecurity-struct">NMSettingWirelessSecurity</a> </span><span class="symbol">*)</span><span class="normal"> </span><span class="function"><a href="/usr/share/gtk-doc/html/libnm-utilNMSettingWirelessSecurity.html#nm-setting-wireless-security-new">nm_setting_wireless_security_new</a></span><span class="normal"> </span><span class="symbol">();</span>
 <span class="function"><a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#g-object-set">g_object_set</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#G-OBJECT:CAPS">G_OBJECT</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">s_wsec</span><span class="symbol">),</span>
-<span class="normal">              <a href="/usr/share/gtk-doc/html/libnmNMSettingWirelessSecurity.html#NM-SETTING-WIRELESS-SECURITY-PSK:CAPS">NM_SETTING_WIRELESS_SECURITY_PSK</a></span><span class="symbol">,</span><span class="normal"> </span><span class="string">"my really cool PSK"</span><span class="symbol">,</span>
+<span class="normal">              <a href="/usr/share/gtk-doc/html/libnm-utilNMSettingWirelessSecurity.html#NM-SETTING-WIRELESS-SECURITY-PSK:CAPS">NM_SETTING_WIRELESS_SECURITY_PSK</a></span><span class="symbol">,</span><span class="normal"> </span><span class="string">"my really cool PSK"</span><span class="symbol">,</span>
 <span class="normal">              <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
-<span class="function"><a href="/usr/share/gtk-doc/html/libnmNMConnection.html#nm-connection-add-setting">nm_connection_add_setting</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">secrets</span><span class="symbol">,</span><span class="normal"> </span><span class="function">NM_SETTING</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">s_wsec</span><span class="symbol">));</span>
-<span class="normal">secrets_hash </span><span class="symbol">=</span><span class="normal"> </span><span class="function">nm_connection_to_hash</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">secrets</span><span class="symbol">,</span><span class="normal"> NM_SETTING_HASH_FLAG_ALL</span><span class="symbol">);</span>
+<span class="function"><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#nm-connection-add-setting">nm_connection_add_setting</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">secrets</span><span class="symbol">,</span><span class="normal"> </span><span class="function">NM_SETTING</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">s_wsec</span><span class="symbol">));</span>
+<span class="normal">secrets_hash </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#nm-connection-to-hash">nm_connection_to_hash</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">secrets</span><span class="symbol">,</span><span class="normal"> <a href="/usr/share/gtk-doc/html/libnm-utilNMSetting.html#NM-SETTING-HASH-FLAG-ALL:CAPS">NM_SETTING_HASH_FLAG_ALL</a></span><span class="symbol">);</span>
 
 <span class="symbol">(</span><span class="normal">call the NMSecretAgentGetSecretsFunc </span><span class="usertype">with</span><span class="normal"> secrets_hash</span><span class="symbol">)</span>
 
@@ -320,9 +320,9 @@ has returned. </p></td>
 <tr>
 <td class="parameter_name"><p>secrets</p></td>
 <td class="parameter_description"><p> the <a href="/usr/share/gtk-doc/html/glibglib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> containing
-the requested secrets in the same format as an <span class="type">NMConnection</span> hash (as
-created by <code class="function">nm_connection_to_hash()</code> for example).  Each key in <em class="parameter"><code>secrets</code></em>
-should be the name of a <a href="/usr/share/gtk-doc/html/libnmNMSetting.html#NMSetting-struct"><span class="type">NMSetting</span></a> object (like "802-11-wireless-security")
+the requested secrets in the same format as an <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> hash (as
+created by <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#nm-connection-to-hash"><code class="function">nm_connection_to_hash()</code></a> for example).  Each key in <em class="parameter"><code>secrets</code></em>
+should be the name of a <a href="/usr/share/gtk-doc/html/libnm-utilNMSetting.html#NMSetting-struct"><span class="type">NMSetting</span></a> object (like "802-11-wireless-security")
 and each value should be a <a href="/usr/share/gtk-doc/html/glibglib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a>.  The sub-hashes map string:<a href="/usr/share/gtk-doc/html/gobjectgobject-Generic-values.html#GValue"><span class="type">GValue</span></a>
 where the string is the setting property name (like "psk") and the value
 is the secret. </p></td>
@@ -347,7 +347,7 @@ is the secret. </p></td>
 <a name="NMSecretAgentSaveSecretsFunc"></a><h3>NMSecretAgentSaveSecretsFunc ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 <span class="c_punctuation">(</span>*NMSecretAgentSaveSecretsFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="NMSecretAgent.html" title="NMSecretAgent"><span class="type">NMSecretAgent</span></a> *agent</code></em>,
-                                 <em class="parameter"><code><span class="type">NMConnection</span> *connection</code></em>,
+                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> *connection</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> *error</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 <p>Called as a result of a request by NM to save secrets.  When the
@@ -394,7 +394,7 @@ has returned. </p></td>
 <a name="NMSecretAgentDeleteSecretsFunc"></a><h3>NMSecretAgentDeleteSecretsFunc ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 <span class="c_punctuation">(</span>*NMSecretAgentDeleteSecretsFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="NMSecretAgent.html" title="NMSecretAgent"><span class="type">NMSecretAgent</span></a> *agent</code></em>,
-                                   <em class="parameter"><code><span class="type">NMConnection</span> *connection</code></em>,
+                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> *connection</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> *error</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 <p>Called as a result of a request by NM to delete secrets.  When the
@@ -526,7 +526,7 @@ nm_secret_agent_get_registered (<em class="parameter"><code><a class="link" href
 <a name="nm-secret-agent-get-secrets"></a><h3>nm_secret_agent_get_secrets ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 nm_secret_agent_get_secrets (<em class="parameter"><code><a class="link" href="NMSecretAgent.html" title="NMSecretAgent"><span class="type">NMSecretAgent</span></a> *self</code></em>,
-                             <em class="parameter"><code><span class="type">NMConnection</span> *connection</code></em>,
+                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> *connection</code></em>,
                              <em class="parameter"><code>const <span class="type">char</span> *setting_name</code></em>,
                              <em class="parameter"><code>const <span class="type">char</span> **hints</code></em>,
                              <em class="parameter"><code><a class="link" href="NMSecretAgent.html#NMSecretAgentGetSecretsFlags" title="enum NMSecretAgentGetSecretsFlags"><span class="type">NMSecretAgentGetSecretsFlags</span></a> flags</code></em>,
@@ -557,7 +557,7 @@ secrets from the user.</p>
 </tr>
 <tr>
 <td class="parameter_name"><p>connection</p></td>
-<td class="parameter_description"><p>the <span class="type">NMConnection</span> for which we're asked secrets</p></td>
+<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> for which we're asked secrets</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 <tr>
@@ -595,7 +595,7 @@ secrets from the user.</p>
 <a name="nm-secret-agent-save-secrets"></a><h3>nm_secret_agent_save_secrets ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 nm_secret_agent_save_secrets (<em class="parameter"><code><a class="link" href="NMSecretAgent.html" title="NMSecretAgent"><span class="type">NMSecretAgent</span></a> *self</code></em>,
-                              <em class="parameter"><code><span class="type">NMConnection</span> *connection</code></em>,
+                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> *connection</code></em>,
                               <em class="parameter"><code><a class="link" href="NMSecretAgent.html#NMSecretAgentSaveSecretsFunc" title="NMSecretAgentSaveSecretsFunc ()"><span class="type">NMSecretAgentSaveSecretsFunc</span></a> callback</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 <p>Asyncronously ensure that all secrets inside <em class="parameter"><code>connection</code></em>
@@ -618,7 +618,7 @@ are stored to disk.</p>
 </tr>
 <tr>
 <td class="parameter_name"><p>connection</p></td>
-<td class="parameter_description"><p>a <span class="type">NMConnection</span></p></td>
+<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a></p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 <tr>
@@ -641,7 +641,7 @@ are stored to disk.</p>
 <a name="nm-secret-agent-delete-secrets"></a><h3>nm_secret_agent_delete_secrets ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 nm_secret_agent_delete_secrets (<em class="parameter"><code><a class="link" href="NMSecretAgent.html" title="NMSecretAgent"><span class="type">NMSecretAgent</span></a> *self</code></em>,
-                                <em class="parameter"><code><span class="type">NMConnection</span> *connection</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> *connection</code></em>,
                                 <em class="parameter"><code><a class="link" href="NMSecretAgent.html#NMSecretAgentDeleteSecretsFunc" title="NMSecretAgentDeleteSecretsFunc ()"><span class="type">NMSecretAgentDeleteSecretsFunc</span></a> callback</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 <p>Asynchronously ask the agent to delete all saved secrets belonging to
@@ -664,7 +664,7 @@ nm_secret_agent_delete_secrets (<em class="parameter"><code><a class="link" href
 </tr>
 <tr>
 <td class="parameter_name"><p>connection</p></td>
-<td class="parameter_description"><p>a <span class="type">NMConnection</span></p></td>
+<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a></p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 <tr>
diff --git a/docs/libnm-glib/html/NMVPNConnection.html b/docs/libnm-glib/html/NMVPNConnection.html
index 65e9352f..52684541 100644
--- a/docs/libnm-glib/html/NMVPNConnection.html
+++ b/docs/libnm-glib/html/NMVPNConnection.html
@@ -52,7 +52,7 @@
 </tr>
 <tr>
 <td class="function_type">
-<span class="returnvalue">NMVPNConnectionState</span>
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManagerVPN.html#NMVPNConnectionState"><span class="returnvalue">NMVPNConnectionState</span></a>
 </td>
 <td class="function_name">
 <a class="link" href="NMVPNConnection.html#nm-vpn-connection-get-vpn-state" title="nm_vpn_connection_get_vpn_state ()">nm_vpn_connection_get_vpn_state</a> <span class="c_punctuation">()</span>
@@ -175,7 +175,7 @@ nm_vpn_connection_new (<em class="parameter"><code><a href="/usr/share/gtk-doc/h
 <hr>
 <div class="refsect2">
 <a name="nm-vpn-connection-get-vpn-state"></a><h3>nm_vpn_connection_get_vpn_state ()</h3>
-<pre class="programlisting"><span class="returnvalue">NMVPNConnectionState</span>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManagerVPN.html#NMVPNConnectionState"><span class="returnvalue">NMVPNConnectionState</span></a>
 nm_vpn_connection_get_vpn_state (<em class="parameter"><code><a class="link" href="NMVPNConnection.html" title="NMVPNConnection"><span class="type">NMVPNConnection</span></a> *vpn</code></em>);</pre>
 <p>Gets the current <a class="link" href="NMVPNConnection.html" title="NMVPNConnection"><span class="type">NMVPNConnection</span></a> state.</p>
 <div class="refsect3">
diff --git a/docs/libnm-glib/html/NMWimaxNsp.html b/docs/libnm-glib/html/NMWimaxNsp.html
index 1012a7e5..15005fb6 100644
--- a/docs/libnm-glib/html/NMWimaxNsp.html
+++ b/docs/libnm-glib/html/NMWimaxNsp.html
@@ -297,7 +297,7 @@ returned connections will match the <em class="parameter"><code>nsp</code></em>
 <tr>
 <td class="parameter_name"><p>connections</p></td>
 <td class="parameter_description"><p> a list of
-<span class="type">NMConnection</span> objects to filter. </p></td>
+<a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> objects to filter. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMConnection]</span></td>
 </tr>
 </tbody>
@@ -306,7 +306,7 @@ returned connections will match the <em class="parameter"><code>nsp</code></em>
 <div class="refsect3">
 <a name="nm-wimax-nsp-filter-connections.returns"></a><h4>Returns</h4>
 <p> a
-list of <span class="type">NMConnection</span> objects that could be activated with the given <em class="parameter"><code>nsp</code></em>
+list of <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> objects that could be activated with the given <em class="parameter"><code>nsp</code></em>
 .
 The elements of the list are owned by their creator and should not be freed
 by the caller, but the returned list itself is owned by the caller and should
@@ -319,7 +319,7 @@ be freed with <a href="/usr/share/gtk-doc/html/glibglib-Singly-Linked-Lists.html
 <a name="nm-wimax-nsp-connection-valid"></a><h3>nm_wimax_nsp_connection_valid ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 nm_wimax_nsp_connection_valid (<em class="parameter"><code><a class="link" href="NMWimaxNsp.html" title="NMWimaxNsp"><span class="type">NMWimaxNsp</span></a> *nsp</code></em>,
-                               <em class="parameter"><code><span class="type">NMConnection</span> *connection</code></em>);</pre>
+                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> *connection</code></em>);</pre>
 <p>Validates a given connection against a given WiMAX NSP to ensure that the
 connection may be activated with that NSP.  The connection must match the
 <em class="parameter"><code>nsp</code></em>
@@ -341,7 +341,7 @@ against</p></td>
 </tr>
 <tr>
 <td class="parameter_name"><p>connection</p></td>
-<td class="parameter_description"><p>an <span class="type">NMConnection</span> to validate against <em class="parameter"><code>nsp</code></em>
+<td class="parameter_description"><p>an <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> to validate against <em class="parameter"><code>nsp</code></em>
 </p></td>
 <td class="parameter_annotations"> </td>
 </tr>
diff --git a/docs/libnm-glib/html/index.html b/docs/libnm-glib/html/index.html
index 044b45b4..2d69ccbc 100644
--- a/docs/libnm-glib/html/index.html
+++ b/docs/libnm-glib/html/index.html
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">libnm-glib Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for libnm-glib 1.5.90
+      for libnm-glib 1.5.91
 
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="https://developer.gnome.org/libnm-glib/stable/" target="_top">https://developer.gnome.org/libnm-glib/stable/</a>.
diff --git a/docs/libnm-glib/html/libnm-glib-NMVPNPlugin.html b/docs/libnm-glib/html/libnm-glib-NMVPNPlugin.html
index 8ebb9147..016e41ba 100644
--- a/docs/libnm-glib/html/libnm-glib-NMVPNPlugin.html
+++ b/docs/libnm-glib/html/libnm-glib-NMVPNPlugin.html
@@ -57,7 +57,7 @@
 </tr>
 <tr>
 <td class="function_type">
-<span class="returnvalue">NMVPNServiceState</span>
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManagerVPN.html#NMVPNServiceState"><span class="returnvalue">NMVPNServiceState</span></a>
 </td>
 <td class="function_name">
 <a class="link" href="libnm-glib-NMVPNPlugin.html#nm-vpn-plugin-get-state" title="nm_vpn_plugin_get_state ()">nm_vpn_plugin_get_state</a> <span class="c_punctuation">()</span>
@@ -172,7 +172,7 @@ nm_vpn_plugin_get_connection (<em class="parameter"><code><span class="type">NMV
 <hr>
 <div class="refsect2">
 <a name="nm-vpn-plugin-get-state"></a><h3>nm_vpn_plugin_get_state ()</h3>
-<pre class="programlisting"><span class="returnvalue">NMVPNServiceState</span>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManagerVPN.html#NMVPNServiceState"><span class="returnvalue">NMVPNServiceState</span></a>
 nm_vpn_plugin_get_state (<em class="parameter"><code><span class="type">NMVPNPlugin</span> *plugin</code></em>);</pre>
 </div>
 <hr>
@@ -180,7 +180,7 @@ nm_vpn_plugin_get_state (<em class="parameter"><code><span class="type">NMVPNPlu
 <a name="nm-vpn-plugin-set-state"></a><h3>nm_vpn_plugin_set_state ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 nm_vpn_plugin_set_state (<em class="parameter"><code><span class="type">NMVPNPlugin</span> *plugin</code></em>,
-                         <em class="parameter"><code><span class="type">NMVPNServiceState</span> state</code></em>);</pre>
+                         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManagerVPN.html#NMVPNServiceState"><span class="type">NMVPNServiceState</span></a> state</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
@@ -235,7 +235,7 @@ nm_vpn_plugin_set_login_banner (<em class="parameter"><code><span class="type">N
 <a name="nm-vpn-plugin-failure"></a><h3>nm_vpn_plugin_failure ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 nm_vpn_plugin_failure (<em class="parameter"><code><span class="type">NMVPNPlugin</span> *plugin</code></em>,
-                       <em class="parameter"><code><span class="type">NMVPNPluginFailure</span> reason</code></em>);</pre>
+                       <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-NetworkManagerVPN.html#NMVPNPluginFailure"><span class="type">NMVPNPluginFailure</span></a> reason</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/libnm-glib/html/libnm-glib-NMVpnPluginUiWidget.html b/docs/libnm-glib/html/libnm-glib-NMVpnPluginUiWidget.html
index 868a7e25..414c0953 100644
--- a/docs/libnm-glib/html/libnm-glib-NMVpnPluginUiWidget.html
+++ b/docs/libnm-glib/html/libnm-glib-NMVpnPluginUiWidget.html
@@ -73,7 +73,7 @@
 </tr>
 <tr>
 <td class="function_type">
-<span class="returnvalue">NMConnection</span> *
+<a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="returnvalue">NMConnection</span></a> *
 </td>
 <td class="function_name">
 <a class="link" href="libnm-glib-NMVpnPluginUiWidget.html#nm-vpn-plugin-ui-interface-import" title="nm_vpn_plugin_ui_interface_import ()">nm_vpn_plugin_ui_interface_import</a> <span class="c_punctuation">()</span>
@@ -262,7 +262,7 @@ nm_vpn_plugin_ui_factory (<em class="parameter"><code><a href="/usr/share/gtk-do
 <a name="nm-vpn-plugin-ui-interface-ui-factory"></a><h3>nm_vpn_plugin_ui_interface_ui_factory ()</h3>
 <pre class="programlisting"><span class="returnvalue">NMVpnPluginUiWidgetInterface</span> *
 nm_vpn_plugin_ui_interface_ui_factory (<em class="parameter"><code><span class="type">NMVpnPluginUiInterface</span> *iface</code></em>,
-                                       <em class="parameter"><code><span class="type">NMConnection</span> *connection</code></em>,
+                                       <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> *connection</code></em>,
                                        <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
 </div>
 <hr>
@@ -275,7 +275,7 @@ nm_vpn_plugin_ui_interface_get_capabilities
 <hr>
 <div class="refsect2">
 <a name="nm-vpn-plugin-ui-interface-import"></a><h3>nm_vpn_plugin_ui_interface_import ()</h3>
-<pre class="programlisting"><span class="returnvalue">NMConnection</span> *
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="returnvalue">NMConnection</span></a> *
 nm_vpn_plugin_ui_interface_import (<em class="parameter"><code><span class="type">NMVpnPluginUiInterface</span> *iface</code></em>,
                                    <em class="parameter"><code>const <span class="type">char</span> *path</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
@@ -286,7 +286,7 @@ nm_vpn_plugin_ui_interface_import (<em class="parameter"><code><span class="type
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 nm_vpn_plugin_ui_interface_export (<em class="parameter"><code><span class="type">NMVpnPluginUiInterface</span> *iface</code></em>,
                                    <em class="parameter"><code>const <span class="type">char</span> *path</code></em>,
-                                   <em class="parameter"><code><span class="type">NMConnection</span> *connection</code></em>,
+                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> *connection</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
 </div>
 <hr>
@@ -295,7 +295,7 @@ nm_vpn_plugin_ui_interface_export (<em class="parameter"><code><span class="type
 <pre class="programlisting"><span class="returnvalue">char</span> *
 nm_vpn_plugin_ui_interface_get_suggested_name
                                (<em class="parameter"><code><span class="type">NMVpnPluginUiInterface</span> *iface</code></em>,
-                                <em class="parameter"><code><span class="type">NMConnection</span> *connection</code></em>);</pre>
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> *connection</code></em>);</pre>
 </div>
 <hr>
 <div class="refsect2">
@@ -303,7 +303,7 @@ nm_vpn_plugin_ui_interface_get_suggested_name
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 nm_vpn_plugin_ui_interface_delete_connection
                                (<em class="parameter"><code><span class="type">NMVpnPluginUiInterface</span> *iface</code></em>,
-                                <em class="parameter"><code><span class="type">NMConnection</span> *connection</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> *connection</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
 <div class="warning"><p><code class="literal">nm_vpn_plugin_ui_interface_delete_connection</code> is deprecated and should not be used in newly-written code.</p></div>
 </div>
@@ -320,7 +320,7 @@ nm_vpn_plugin_ui_widget_interface_get_widget
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 nm_vpn_plugin_ui_widget_interface_update_connection
                                (<em class="parameter"><code><span class="type">NMVpnPluginUiWidgetInterface</span> *iface</code></em>,
-                                <em class="parameter"><code><span class="type">NMConnection</span> *connection</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> *connection</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
 </div>
 <hr>
@@ -329,7 +329,7 @@ nm_vpn_plugin_ui_widget_interface_update_connection
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 nm_vpn_plugin_ui_widget_interface_save_secrets
                                (<em class="parameter"><code><span class="type">NMVpnPluginUiWidgetInterface</span> *iface</code></em>,
-                                <em class="parameter"><code><span class="type">NMConnection</span> *connection</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnection</span></a> *connection</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
 <div class="warning"><p><code class="literal">nm_vpn_plugin_ui_widget_interface_save_secrets</code> is deprecated and should not be used in newly-written code.</p></div>
 </div>
diff --git a/docs/libnm-glib/html/libnm-glib-nm-vpn-plugin-utils.html b/docs/libnm-glib/html/libnm-glib-nm-vpn-plugin-utils.html
index f48d8e8c..82993a52 100644
--- a/docs/libnm-glib/html/libnm-glib-nm-vpn-plugin-utils.html
+++ b/docs/libnm-glib/html/libnm-glib-nm-vpn-plugin-utils.html
@@ -111,11 +111,11 @@ an applet when the applet calls the authentication dialog of the VPN plugin.</p>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 nm_vpn_plugin_utils_get_secret_flags (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *data</code></em>,
                                       <em class="parameter"><code>const <span class="type">char</span> *secret_name</code></em>,
-                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnmNMSetting.html#NMSettingSecretFlags"><span class="type">NMSettingSecretFlags</span></a> *out_flags</code></em>);</pre>
+                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/libnm-utilNMSetting.html#NMSettingSecretFlags"><span class="type">NMSettingSecretFlags</span></a> *out_flags</code></em>);</pre>
 <p>Given a VPN secret key name, attempts to find the corresponding flags data
 item in <em class="parameter"><code>data</code></em>
 .  If found, converts the flags data item to
-<a href="/usr/share/gtk-doc/html/libnmNMSetting.html#NMSettingSecretFlags"><span class="type">NMSettingSecretFlags</span></a> and returns it.</p>
+<a href="/usr/share/gtk-doc/html/libnm-utilNMSetting.html#NMSettingSecretFlags"><span class="type">NMSettingSecretFlags</span></a> and returns it.</p>
 <div class="refsect3">
 <a name="nm-vpn-plugin-utils-get-secret-flags.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
diff --git a/docs/libnm-glib/html/object-tree.html b/docs/libnm-glib/html/object-tree.html
index d02b72fb..b5706550 100644
--- a/docs/libnm-glib/html/object-tree.html
+++ b/docs/libnm-glib/html/object-tree.html
@@ -49,7 +49,7 @@
     <span class="lineart">│</span>   <span class="lineart">├──</span> <a class="link" href="NMDHCP4Config.html" title="NMDHCP4Config">NMDHCP4Config</a>
     <span class="lineart">│</span>   <span class="lineart">╰──</span> <a class="link" href="NMDHCP6Config.html" title="NMDHCP6Config">NMDHCP6Config</a>
     <span class="lineart">├──</span> <a class="link" href="NMRemoteSettings.html" title="NMRemoteSettings">NMRemoteSettings</a>
-    <span class="lineart">├──</span> NMConnection
+    <span class="lineart">├──</span> <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct">NMConnection</a>
     <span class="lineart">│</span>   <span class="lineart">╰──</span> <a class="link" href="NMRemoteConnection.html" title="NMRemoteConnection">NMRemoteConnection</a>
     <span class="lineart">╰──</span> <a class="link" href="NMSecretAgent.html" title="NMSecretAgent">NMSecretAgent</a>
 </pre>
diff --git a/docs/libnm-glib/version.xml b/docs/libnm-glib/version.xml
index 81fd881e..80b2369f 100644
--- a/docs/libnm-glib/version.xml
+++ b/docs/libnm-glib/version.xml
@@ -1 +1 @@
-1.5.90
+1.5.91
diff --git a/docs/libnm-util/html/NMConnection.html b/docs/libnm-util/html/NMConnection.html
index 82e9185b..87c720f9 100644
--- a/docs/libnm-util/html/NMConnection.html
+++ b/docs/libnm-util/html/NMConnection.html
@@ -1730,7 +1730,7 @@ nm_connection_get_connection_type (<em class="parameter"><code><a class="link" h
 <pre class="programlisting"><span class="returnvalue">char</span> *
 nm_connection_get_virtual_device_description
                                (<em class="parameter"><code><a class="link" href="NMConnection.html" title="NMConnection"><span class="type">NMConnection</span></a> *connection</code></em>);</pre>
-<p>Returns the name that <a href="/usr/share/gtk-doc/html/libnmNMDevice.html#nm-device-disambiguate-names"><code class="function">nm_device_disambiguate_names()</code></a> would
+<p>Returns the name that <a href="/usr/share/gtk-doc/html/libnm-glibNMDevice.html#nm-device-disambiguate-names"><code class="function">nm_device_disambiguate_names()</code></a> would
 return for the virtual device that would be created for <em class="parameter"><code>connection</code></em>
 .
 Eg, "VLAN (eth1.1)".</p>
diff --git a/docs/libnm-util/html/index.html b/docs/libnm-util/html/index.html
index f49d9a34..35a6a899 100644
--- a/docs/libnm-util/html/index.html
+++ b/docs/libnm-util/html/index.html
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">libnm-util Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for libnm-util 1.5.90
+      for libnm-util 1.5.91
 
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="https://developer.gnome.org/libnm-util/stable/" target="_top">https://developer.gnome.org/libnm-util/stable/</a>.
diff --git a/docs/libnm-util/version.xml b/docs/libnm-util/version.xml
index 81fd881e..80b2369f 100644
--- a/docs/libnm-util/version.xml
+++ b/docs/libnm-util/version.xml
@@ -1 +1 @@
-1.5.90
+1.5.91
diff --git a/docs/libnm/html/NMAccessPoint.html b/docs/libnm/html/NMAccessPoint.html
index 473e9c7d..1937bd13 100644
--- a/docs/libnm/html/NMAccessPoint.html
+++ b/docs/libnm/html/NMAccessPoint.html
@@ -584,7 +584,7 @@ with this function.</p>
 </tr>
 <tr>
 <td class="parameter_name"><p>connections</p></td>
-<td class="parameter_description"><p> an array of <span class="type">NMConnections</span> to
+<td class="parameter_description"><p> an array of <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnections</span></a> to
 filter. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMConnection]</span></td>
 </tr>
@@ -594,7 +594,7 @@ filter. </p></td>
 <div class="refsect3">
 <a name="nm-access-point-filter-connections.returns"></a><h4>Returns</h4>
 <p> an array of
-<span class="type">NMConnections</span> that could be activated with the given <em class="parameter"><code>ap</code></em>
+<a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnections</span></a> that could be activated with the given <em class="parameter"><code>ap</code></em>
 .  The array should
 be freed with <a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#g-ptr-array-unref"><code class="function">g_ptr_array_unref()</code></a> when it is no longer required. </p>
 <p><span class="annotation">[<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMConnection]</span></p>
diff --git a/docs/libnm/html/NMConnection.html b/docs/libnm/html/NMConnection.html
index bbc0ffaa..f2645b05 100644
--- a/docs/libnm/html/NMConnection.html
+++ b/docs/libnm/html/NMConnection.html
@@ -1258,7 +1258,7 @@ failed (tried to update secrets for a setting that doesn't exist, etc)</p>
 nm_connection_set_path (<em class="parameter"><code><a class="link" href="NMConnection.html" title="NMConnection"><span class="type">NMConnection</span></a> *connection</code></em>,
                         <em class="parameter"><code>const <span class="type">char</span> *path</code></em>);</pre>
 <p>Sets the D-Bus path of the connection.  This property is not serialized, and
-is only for the reference of the caller.  Sets the <span class="type">“path”</span>
+is only for the reference of the caller.  Sets the <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection--path"><span class="type">“path”</span></a>
 property.</p>
 <div class="refsect3">
 <a name="nm-connection-set-path.parameters"></a><h4>Parameters</h4>
diff --git a/docs/libnm/html/NMDevice.html b/docs/libnm/html/NMDevice.html
index a2fa6df2..eaf6288c 100644
--- a/docs/libnm/html/NMDevice.html
+++ b/docs/libnm/html/NMDevice.html
@@ -2407,7 +2407,7 @@ incompatible with the device. To get the full list of connections see
 </tr>
 <tr>
 <td class="parameter_name"><p>connections</p></td>
-<td class="parameter_description"><p> an array of <span class="type">NMConnections</span> to filter. </p></td>
+<td class="parameter_description"><p> an array of <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnections</span></a> to filter. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMConnection]</span></td>
 </tr>
 </tbody>
@@ -2416,7 +2416,7 @@ incompatible with the device. To get the full list of connections see
 <div class="refsect3">
 <a name="nm-device-filter-connections.returns"></a><h4>Returns</h4>
 <p> an array of
-<span class="type">NMConnections</span> that could be activated with the given <em class="parameter"><code>device</code></em>
+<a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnections</span></a> that could be activated with the given <em class="parameter"><code>device</code></em>
 .  The array
 should be freed with <a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#g-ptr-array-unref"><code class="function">g_ptr_array_unref()</code></a> when it is no longer required. </p>
 <p><span class="annotation">[<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMConnection]</span></p>
diff --git a/docs/libnm/html/NMSettingConnection.html b/docs/libnm/html/NMSettingConnection.html
index 0142dff3..621b9d76 100644
--- a/docs/libnm/html/NMSettingConnection.html
+++ b/docs/libnm/html/NMSettingConnection.html
@@ -1900,7 +1900,7 @@ provider, or <a class="link" href="NMSettingConnection.html#NMSettingConnection-
 <p>The UUID must be in the format "2815492f-7e56-435e-b2e9-246bd7cdc664"
 (ie, contains only hexadecimal characters and "-").  A suitable UUID may
 be generated by <a class="link" href="libnm-nm-utils.html#nm-utils-uuid-generate" title="nm_utils_uuid_generate ()"><code class="function">nm_utils_uuid_generate()</code></a> or
-<code class="function">nm_utils_uuid_generate_from_string()</code>.</p>
+<a href="/usr/share/gtk-doc/html/libnm-utillibnm-util-nm-utils.html#nm-utils-uuid-generate-from-string"><code class="function">nm_utils_uuid_generate_from_string()</code></a>.</p>
 <p>Flags: Read / Write</p>
 <p>Default value: NULL</p>
 </div>
diff --git a/docs/libnm/html/NMSettingGeneric.html b/docs/libnm/html/NMSettingGeneric.html
index 64105475..89112de0 100644
--- a/docs/libnm/html/NMSettingGeneric.html
+++ b/docs/libnm/html/NMSettingGeneric.html
@@ -81,7 +81,7 @@
 optional properties that apply to "generic" devices (ie, devices that
 NetworkManager does not specifically recognize).</p>
 <p>There are currently no properties on this object; it exists only to be
-the "connection type" setting on <span class="type">NMConnections</span> for generic devices.</p>
+the "connection type" setting on <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnections</span></a> for generic devices.</p>
 </div>
 <div class="refsect1">
 <a name="NMSettingGeneric.functions_details"></a><h2>Functions</h2>
diff --git a/docs/libnm/html/NMWimaxNsp.html b/docs/libnm/html/NMWimaxNsp.html
index ed905c16..167505c5 100644
--- a/docs/libnm/html/NMWimaxNsp.html
+++ b/docs/libnm/html/NMWimaxNsp.html
@@ -260,7 +260,7 @@ connections will match the <em class="parameter"><code>nsp</code></em>
 </tr>
 <tr>
 <td class="parameter_name"><p>connections</p></td>
-<td class="parameter_description"><p> an array of <span class="type">NMConnections</span> to
+<td class="parameter_description"><p> an array of <a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnections</span></a> to
 filter. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMConnection]</span></td>
 </tr>
@@ -270,7 +270,7 @@ filter. </p></td>
 <div class="refsect3">
 <a name="nm-wimax-nsp-filter-connections.returns"></a><h4>Returns</h4>
 <p> an array of
-<span class="type">NMConnections</span> that could be activated with the given <em class="parameter"><code>nsp</code></em>
+<a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct"><span class="type">NMConnections</span></a> that could be activated with the given <em class="parameter"><code>nsp</code></em>
 .  The array should
 be freed with <a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#g-ptr-array-unref"><code class="function">g_ptr_array_unref()</code></a> when it is no longer required. </p>
 <p><span class="annotation">[<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMConnection]</span></p>
diff --git a/docs/libnm/html/api-index-full.html b/docs/libnm/html/api-index-full.html
index 87f163c3..cc1bc431 100644
--- a/docs/libnm/html/api-index-full.html
+++ b/docs/libnm/html/api-index-full.html
@@ -953,19 +953,19 @@
 </dt>
 <dd></dd>
 <dt>
-NMConnection, struct in nm-core-types
+<a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-struct">NMConnection</a>, struct in nm-core-types
 </dt>
 <dd></dd>
 <dt>
-NMConnection::changed, object signal in nm-core-types
+<a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-changed">NMConnection::changed</a>, object signal in nm-core-types
 </dt>
 <dd></dd>
 <dt>
-NMConnection::secrets-cleared, object signal in nm-core-types
+<a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-secrets-cleared">NMConnection::secrets-cleared</a>, object signal in nm-core-types
 </dt>
 <dd></dd>
 <dt>
-NMConnection::secrets-updated, object signal in nm-core-types
+<a href="/usr/share/gtk-doc/html/libnm-utilNMConnection.html#NMConnection-secrets-updated">NMConnection::secrets-updated</a>, object signal in nm-core-types
 </dt>
 <dd></dd>
 <dt>
@@ -9078,7 +9078,7 @@ NM_SETTING_PROXY_SETTING_NAME, macro in NMSettingProxy
 </dt>
 <dd></dd>
 <dt>
-NMVpnEditorInterface, struct in <a class="link" href="NMVpnEditorPlugin.html#NMVpnEditor">NMVpnEditor</a>
+<a href="/usr/share/gtk-doc/html/libnm-gliblibnm-glib-NMVpnPluginUiWidget.html#NMVpnEditorInterface">NMVpnEditorInterface</a>, struct in <a class="link" href="NMVpnEditorPlugin.html#NMVpnEditor">NMVpnEditor</a>
 </dt>
 <dd></dd>
 <dt>
@@ -9154,7 +9154,7 @@ NMVpnPluginInfo, struct in nm-vpn-plugin-info
 </dt>
 <dd></dd>
 <dt>
-nm_vpn_editor_get_widget, function in <a class="link" href="NMVpnEditorPlugin.html#NMVpnEditor">NMVpnEditor</a>
+<a href="/usr/share/gtk-doc/html/libnm-gliblibnm-glib-NMVpnPluginUiWidget.html#nm-vpn-editor-get-widget">nm_vpn_editor_get_widget</a>, function in <a class="link" href="NMVpnEditorPlugin.html#NMVpnEditor">NMVpnEditor</a>
 </dt>
 <dd></dd>
 <dt>
@@ -9214,7 +9214,7 @@ nm_vpn_editor_get_widget, function in <a class="link" href="NMVpnEditorPlugin.ht
 </dt>
 <dd></dd>
 <dt>
-nm_vpn_editor_update_connection, function in <a class="link" href="NMVpnEditorPlugin.html#NMVpnEditor">NMVpnEditor</a>
+<a href="/usr/share/gtk-doc/html/libnm-gliblibnm-glib-NMVpnPluginUiWidget.html#nm-vpn-editor-update-connection">nm_vpn_editor_update_connection</a>, function in <a class="link" href="NMVpnEditorPlugin.html#NMVpnEditor">NMVpnEditor</a>
 </dt>
 <dd></dd>
 <dt>
diff --git a/docs/libnm/html/index.html b/docs/libnm/html/index.html
index 100b1450..15174584 100644
--- a/docs/libnm/html/index.html
+++ b/docs/libnm/html/index.html
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">libnm Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for libnm 1.5.90
+      for libnm 1.5.91
 
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="https://developer.gnome.org/libnm/stable/" target="_top">https://developer.gnome.org/libnm/stable/</a>.
diff --git a/docs/libnm/html/libnm-nm-errors.html b/docs/libnm/html/libnm-nm-errors.html
index 6d260056..acb0782f 100644
--- a/docs/libnm/html/libnm-nm-errors.html
+++ b/docs/libnm/html/libnm-nm-errors.html
@@ -254,7 +254,7 @@ nm_vpn_plugin_error_quark (<em class="parameter"><code><span class="type">void</
 <a name="NMAgentManagerError"></a><h3>enum NMAgentManagerError</h3>
 <p>Errors returned from the secret-agent manager.</p>
 <p>These errors may be returned from operations that could cause secrets to be
-requested (such as <code class="function">nm_client_activate_connection()</code>), and correspond to D-Bus
+requested (such as <a href="/usr/share/gtk-doc/html/libnm-glibNMClient.html#nm-client-activate-connection"><code class="function">nm_client_activate_connection()</code></a>), and correspond to D-Bus
 errors in the "org.freedesktop.NetworkManager.AgentManager" namespace.</p>
 <div class="refsect3">
 <a name="NMAgentManagerError.members"></a><h4>Members</h4>
@@ -722,7 +722,7 @@ errors in that namespace.</p>
 when they encounter problems retrieving secrets on behalf of NM. They
 correspond to errors in the "org.freedesktop.NetworkManager.SecretManager"
 namespace.</p>
-<p>Client APIs such as <code class="function">nm_client_activate_connection()</code> will not see these error
+<p>Client APIs such as <a href="/usr/share/gtk-doc/html/libnm-glibNMClient.html#nm-client-activate-connection"><code class="function">nm_client_activate_connection()</code></a> will not see these error
 codes; instead, the secret agent manager will translate them to the
 corresponding <a class="link" href="libnm-nm-errors.html#NMAgentManagerError" title="enum NMAgentManagerError"><span class="type">NMAgentManagerError</span></a> codes.</p>
 <div class="refsect3">
diff --git a/docs/libnm/version.xml b/docs/libnm/version.xml
index 81fd881e..80b2369f 100644
--- a/docs/libnm/version.xml
+++ b/docs/libnm/version.xml
@@ -1 +1 @@
-1.5.90
+1.5.91
diff --git a/libnm-core/tests/test-general.c b/libnm-core/tests/test-general.c
index 1cb8d7af..b9fef8da 100644
--- a/libnm-core/tests/test-general.c
+++ b/libnm-core/tests/test-general.c
@@ -4708,7 +4708,9 @@ test_nm_utils_check_valid_json (void)
 #else
 	/* Without JSON library everything except empty string is considered valid */
 	_json_config_check_valid ("{ }", TRUE);
-	_json_config_check_valid ("{'%!-a1", TRUE);
+	_json_config_check_valid ("{'%!-a1} ", TRUE);
+	_json_config_check_valid (" {'%!-a1}", TRUE);
+	_json_config_check_valid ("{'%!-a1", FALSE);
 #endif
 }
 
diff --git a/libnm/generate-setting-docs.py b/libnm/generate-setting-docs.py
index d2358d9e..e1ea9723 100755
--- a/libnm/generate-setting-docs.py
+++ b/libnm/generate-setting-docs.py
@@ -18,12 +18,29 @@
 
 from __future__ import print_function
 
+import os
 import gi
-gi.require_version('NM', '1.0')
-from gi.repository import NM, GObject
+gi.require_version('GIRepository', '2.0')
+from gi.repository import GIRepository
 import argparse, datetime, re, sys
 import xml.etree.ElementTree as ET
 
+try:
+    libs = os.environ['LD_LIBRARY_PATH'].split(':')
+    libs.reverse()
+    for lib in libs:
+        GIRepository.Repository.prepend_library_path(lib)
+except AttributeError:
+        # An old GI version, that has no prepend_library_path
+        # It's alright, it probably interprets LD_LIBRARY_PATH
+        # correctly.
+        pass
+except KeyError:
+        pass
+
+gi.require_version('NM', '1.0')
+from gi.repository import NM, GObject
+
 dbus_type_name_map = {
     'b': 'boolean',
     's': 'string',
diff --git a/libnm/nm-object.c b/libnm/nm-object.c
index a5eccbdc..6a47c659 100644
--- a/libnm/nm-object.c
+++ b/libnm/nm-object.c
@@ -596,7 +596,18 @@ handle_object_property (NMObject *self, const char *property_name, GVariant *val
 	if (!object) {
 		/* This is a server bug -- a dangling object path for an object
 		 * that does not exist. */
-		g_warning ("No object known for %s", path);
+		/* XXX: We've ignored this before and the server hits the condition
+		 * more often that it should. Given we're able to recover from
+		 * ther error, let's lower the severity of the log message to
+		 * avoid unnecessarily bothering the user. This can be removed
+		 * once the issue is fixed on the server. */
+#if NM_MORE_ASSERTS
+#define __nm_log_debug g_warning
+#else
+#define __nm_log_debug g_debug
+#endif
+		__nm_log_debug ("No object known for %s", path);
+#undef __nm_log_debug
 		return FALSE;
 	}
 
diff --git a/m4/compiler_options.m4 b/m4/compiler_options.m4
index ad03200a..0023c36b 100644
--- a/m4/compiler_options.m4
+++ b/m4/compiler_options.m4
@@ -37,7 +37,7 @@ AC_DEFUN([NM_COMPILER_WARNING], [
 AC_DEFUN([NM_COMPILER_WARNINGS],
 [AC_ARG_ENABLE(more-warnings,
 	AS_HELP_STRING([--enable-more-warnings], [Possible values: no/yes/error]),
-	set_more_warnings="$enableval",set_more_warnings=yes)
+	set_more_warnings="$enableval",set_more_warnings=$1)
 AC_MSG_CHECKING(for more warnings)
 if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
 	AC_MSG_RESULT(yes)
diff --git a/man/NetworkManager.8 b/man/NetworkManager.8
index 457dfa80..dc0ba76b 100644
--- a/man/NetworkManager.8
+++ b/man/NetworkManager.8
@@ -2,12 +2,12 @@
 .\"     Title: NetworkManager
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\"      Date: 01/17/2017
+.\"      Date: 01/23/2017
 .\"    Manual: Network management daemons
-.\"    Source: NetworkManager 1.5.90
+.\"    Source: NetworkManager 1.5.91
 .\"  Language: English
 .\"
-.TH "NETWORKMANAGER" "8" "" "NetworkManager 1\&.5\&.90" "Network management daemons"
+.TH "NETWORKMANAGER" "8" "" "NetworkManager 1\&.5\&.91" "Network management daemons"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff --git a/man/NetworkManager.conf.5 b/man/NetworkManager.conf.5
index 12720935..95322d44 100644
--- a/man/NetworkManager.conf.5
+++ b/man/NetworkManager.conf.5
@@ -2,12 +2,12 @@
 .\"     Title: NetworkManager.conf
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\"      Date: 01/17/2017
+.\"      Date: 01/23/2017
 .\"    Manual: Configuration
-.\"    Source: NetworkManager 1.5.90
+.\"    Source: NetworkManager 1.5.91
 .\"  Language: English
 .\"
-.TH "NETWORKMANAGER\&.CON" "5" "" "NetworkManager 1\&.5\&.90" "Configuration"
+.TH "NETWORKMANAGER\&.CON" "5" "" "NetworkManager 1\&.5\&.91" "Configuration"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff --git a/man/nm-online.1 b/man/nm-online.1
index 38b62bab..c8f4e5e0 100644
--- a/man/nm-online.1
+++ b/man/nm-online.1
@@ -2,12 +2,12 @@
 .\"     Title: nm-online
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\"      Date: 01/17/2017
+.\"      Date: 01/23/2017
 .\"    Manual: General Commands Manual
-.\"    Source: NetworkManager 1.5.90
+.\"    Source: NetworkManager 1.5.91
 .\"  Language: English
 .\"
-.TH "NM\-ONLINE" "1" "" "NetworkManager 1\&.5\&.90" "General Commands Manual"
+.TH "NM\-ONLINE" "1" "" "NetworkManager 1\&.5\&.91" "General Commands Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff --git a/man/nm-settings-ifcfg-rh.5 b/man/nm-settings-ifcfg-rh.5
index cdf7e0a2..7777b77e 100644
--- a/man/nm-settings-ifcfg-rh.5
+++ b/man/nm-settings-ifcfg-rh.5
@@ -2,12 +2,12 @@
 .\"     Title: nm-settings-ifcfg-rh
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\"      Date: 01/17/2017
+.\"      Date: 01/23/2017
 .\"    Manual: Configuration
-.\"    Source: NetworkManager 1.5.90
+.\"    Source: NetworkManager 1.5.91
 .\"  Language: English
 .\"
-.TH "NM\-SETTINGS\-IFCFG\" "5" "" "NetworkManager 1\&.5\&.90" "Configuration"
+.TH "NM\-SETTINGS\-IFCFG\" "5" "" "NetworkManager 1\&.5\&.91" "Configuration"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff --git a/man/nm-settings-ifcfg-rh.xml b/man/nm-settings-ifcfg-rh.xml
index a2624171..60f2b90d 100644
--- a/man/nm-settings-ifcfg-rh.xml
+++ b/man/nm-settings-ifcfg-rh.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
-<refentry id="nm-settings-ifcfg-rh"><refentryinfo><title>nm-settings-ifcfg-rh</title><author>NetworkManager developers</author></refentryinfo><refmeta><refentrytitle>nm-settings-ifcfg-rh</refentrytitle><manvolnum>5</manvolnum><refmiscinfo class="source">NetworkManager</refmiscinfo><refmiscinfo class="manual">Configuration</refmiscinfo><refmiscinfo class="version">1.5.90</refmiscinfo></refmeta><refnamediv><refname>nm-settings-ifcfg-rh</refname><refpurpose>Description of <emphasis>ifcfg-rh</emphasis> settings plugin</refpurpose></refnamediv><refsect1 id="description"><title>Description</title><para>
+<refentry id="nm-settings-ifcfg-rh"><refentryinfo><title>nm-settings-ifcfg-rh</title><author>NetworkManager developers</author></refentryinfo><refmeta><refentrytitle>nm-settings-ifcfg-rh</refentrytitle><manvolnum>5</manvolnum><refmiscinfo class="source">NetworkManager</refmiscinfo><refmiscinfo class="manual">Configuration</refmiscinfo><refmiscinfo class="version">1.5.91</refmiscinfo></refmeta><refnamediv><refname>nm-settings-ifcfg-rh</refname><refpurpose>Description of <emphasis>ifcfg-rh</emphasis> settings plugin</refpurpose></refnamediv><refsect1 id="description"><title>Description</title><para>
           NetworkManager is based on the concept of connection profiles that contain
           network configuration (see <citerefentry><refentrytitle>nm-settings</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details). The profiles can be
           stored in various formats. NetworkManager uses plugins for reading and writing
diff --git a/man/nm-settings-keyfile.5 b/man/nm-settings-keyfile.5
index f1f99246..af0694d3 100644
--- a/man/nm-settings-keyfile.5
+++ b/man/nm-settings-keyfile.5
@@ -2,12 +2,12 @@
 .\"     Title: nm-settings-keyfile
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\"      Date: 01/17/2017
+.\"      Date: 01/23/2017
 .\"    Manual: Configuration
-.\"    Source: NetworkManager 1.5.90
+.\"    Source: NetworkManager 1.5.91
 .\"  Language: English
 .\"
-.TH "NM\-SETTINGS\-KEYFIL" "5" "" "NetworkManager 1\&.5\&.90" "Configuration"
+.TH "NM\-SETTINGS\-KEYFIL" "5" "" "NetworkManager 1\&.5\&.91" "Configuration"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff --git a/man/nm-settings-keyfile.xml b/man/nm-settings-keyfile.xml
index 9adddadd..2c5d6f9d 100644
--- a/man/nm-settings-keyfile.xml
+++ b/man/nm-settings-keyfile.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
-<refentry id="nm-settings-keyfile"><refentryinfo><title>nm-settings-keyfile</title><author>NetworkManager developers</author></refentryinfo><refmeta><refentrytitle>nm-settings-keyfile</refentrytitle><manvolnum>5</manvolnum><refmiscinfo class="source">NetworkManager</refmiscinfo><refmiscinfo class="manual">Configuration</refmiscinfo><refmiscinfo class="version">1.5.90</refmiscinfo></refmeta><refnamediv><refname>nm-settings-keyfile</refname><refpurpose>Description of <emphasis>keyfile</emphasis> settings plugin</refpurpose></refnamediv><refsect1 id="description"><title>Description</title><para>
+<refentry id="nm-settings-keyfile"><refentryinfo><title>nm-settings-keyfile</title><author>NetworkManager developers</author></refentryinfo><refmeta><refentrytitle>nm-settings-keyfile</refentrytitle><manvolnum>5</manvolnum><refmiscinfo class="source">NetworkManager</refmiscinfo><refmiscinfo class="manual">Configuration</refmiscinfo><refmiscinfo class="version">1.5.91</refmiscinfo></refmeta><refnamediv><refname>nm-settings-keyfile</refname><refpurpose>Description of <emphasis>keyfile</emphasis> settings plugin</refpurpose></refnamediv><refsect1 id="description"><title>Description</title><para>
           NetworkManager is based on the concept of connection profiles that contain
           network configuration (see <citerefentry><refentrytitle>nm-settings</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details). The profiles can be
           stored in various formats. NetworkManager uses plugins for reading and writing
diff --git a/man/nm-settings.5 b/man/nm-settings.5
index 0367acef..7de56fd9 100644
--- a/man/nm-settings.5
+++ b/man/nm-settings.5
@@ -2,12 +2,12 @@
 .\"     Title: nm-settings
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\"      Date: 01/17/2017
+.\"      Date: 01/23/2017
 .\"    Manual: Configuration
-.\"    Source: NetworkManager 1.5.90
+.\"    Source: NetworkManager 1.5.91
 .\"  Language: English
 .\"
-.TH "NM\-SETTINGS" "5" "" "NetworkManager 1\&.5\&.90" "Configuration"
+.TH "NM\-SETTINGS" "5" "" "NetworkManager 1\&.5\&.91" "Configuration"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff --git a/man/nm-settings.xml b/man/nm-settings.xml
index 84eb49c0..6200fc0d 100644
--- a/man/nm-settings.xml
+++ b/man/nm-settings.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
-<refentry id="nm-settings"><refentryinfo><title>nm-settings</title><author>NetworkManager developers</author></refentryinfo><refmeta><refentrytitle>nm-settings</refentrytitle><manvolnum>5</manvolnum><refmiscinfo class="source">NetworkManager</refmiscinfo><refmiscinfo class="manual">Configuration</refmiscinfo><refmiscinfo class="version">1.5.90</refmiscinfo></refmeta><refnamediv><refname>nm-settings</refname><refpurpose>Description of settings and properties of NetworkManager connection profiles</refpurpose></refnamediv><refsect1 id="description"><title>Description</title><para>
+<refentry id="nm-settings"><refentryinfo><title>nm-settings</title><author>NetworkManager developers</author></refentryinfo><refmeta><refentrytitle>nm-settings</refentrytitle><manvolnum>5</manvolnum><refmiscinfo class="source">NetworkManager</refmiscinfo><refmiscinfo class="manual">Configuration</refmiscinfo><refmiscinfo class="version">1.5.91</refmiscinfo></refmeta><refnamediv><refname>nm-settings</refname><refpurpose>Description of settings and properties of NetworkManager connection profiles</refpurpose></refnamediv><refsect1 id="description"><title>Description</title><para>
           NetworkManager is based on a concept of connection profiles, sometimes referred to as
           connections only. These connection profiles contain a network configuration. When
           NetworkManager activates a connection profile on a network device the configuration will
diff --git a/man/nmcli-examples.7 b/man/nmcli-examples.7
index 8b832402..98c562de 100644
--- a/man/nmcli-examples.7
+++ b/man/nmcli-examples.7
@@ -2,12 +2,12 @@
 .\"     Title: nmcli-examples
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\"      Date: 01/17/2017
+.\"      Date: 01/23/2017
 .\"    Manual: Examples
-.\"    Source: NetworkManager 1.5.90
+.\"    Source: NetworkManager 1.5.91
 .\"  Language: English
 .\"
-.TH "NMCLI\-EXAMPLES" "7" "" "NetworkManager 1\&.5\&.90" "Examples"
+.TH "NMCLI\-EXAMPLES" "7" "" "NetworkManager 1\&.5\&.91" "Examples"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff --git a/man/nmcli.1 b/man/nmcli.1
index cbc06d77..fc98d715 100644
--- a/man/nmcli.1
+++ b/man/nmcli.1
@@ -2,12 +2,12 @@
 .\"     Title: nmcli
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\"      Date: 01/17/2017
+.\"      Date: 01/23/2017
 .\"    Manual: General Commands Manual
-.\"    Source: NetworkManager 1.5.90
+.\"    Source: NetworkManager 1.5.91
 .\"  Language: English
 .\"
-.TH "NMCLI" "1" "" "NetworkManager 1\&.5\&.90" "General Commands Manual"
+.TH "NMCLI" "1" "" "NetworkManager 1\&.5\&.91" "General Commands Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff --git a/man/nmtui.1 b/man/nmtui.1
index 09687e72..823ac753 100644
--- a/man/nmtui.1
+++ b/man/nmtui.1
@@ -2,12 +2,12 @@
 .\"     Title: nmtui
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\"      Date: 01/17/2017
+.\"      Date: 01/23/2017
 .\"    Manual: General Commands Manual
-.\"    Source: NetworkManager 1.5.90
+.\"    Source: NetworkManager 1.5.91
 .\"  Language: English
 .\"
-.TH "NMTUI" "1" "" "NetworkManager 1\&.5\&.90" "General Commands Manual"
+.TH "NMTUI" "1" "" "NetworkManager 1\&.5\&.91" "General Commands Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff --git a/po/pl.po b/po/pl.po
index 11298b5a..5c9a29c5 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -1,27 +1,19 @@
-# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-# Aviary.pl
-# Jeśli masz jakiekolwiek uwagi odnoszące się do tłumaczenia lub chcesz
-# pomóc w jego rozwijaniu i pielęgnowaniu, napisz do nas:
-# gnomepl@aviary.pl
-# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+# Polish translation for NetworkManager.
+# Copyright © 2007-2017 the NetworkManager authors.
+# This file is distributed under the same license as the NetworkManager package.
 # Wadim Dziedzic <wdziedzic@aviary.pl>, 2007-2008.
 # Artur Flinta <aflinta@at.kernel.pl>, 2007.
 # Tomasz Dominikowski <dominikowski@gmail.com>, 2008-2010.
-# Piotr Drąg <piotrdrag@gmail.com>, 2009-2016.
-# Aviary.pl <gnomepl@aviary.pl>, 2007-2016.
-# Polish translation for NetworkManager.
-# Copyright © 2007-2016 the NetworkManager authors.
-# This file is distributed under the same license as the NetworkManager package.
-# Aviary.pl <community-poland@mozilla.org>, 2007-2016.
-# Lubomir Rintel <lkundrak@v3.sk>, 2016. #zanata
-# Lubomir Rintel <lkundrak@v3.sk>, 2017. #zanata
+# Piotr Drąg <piotrdrag@gmail.com>, 2009-2017.
+# Aviary.pl <community-poland@mozilla.org>, 2007-2017.
+#
 msgid ""
 msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-01-16 16:07+0100\n"
-"PO-Revision-Date: 2017-01-16 09:36-0500\n"
-"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+"POT-Creation-Date: 2017-01-17 14:14+0000\n"
+"PO-Revision-Date: 2017-01-17 17:42+0100\n"
+"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
 "Language-Team: Polish <community-poland@mozilla.org>\n"
 "Language: pl\n"
 "MIME-Version: 1.0\n"
@@ -29,7 +21,6 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2\n"
-"X-Generator: Zanata 3.9.6\n"
 
 #: ../clients/cli/agent.c:39
 #, c-format
@@ -118,7 +109,7 @@ msgstr "Pomyślnie zarejestrowano program nmcli jako agenta polkit.\n"
 
 #: ../clients/cli/common.c:40 ../clients/cli/common.c:53
 #: ../clients/cli/common.c:61 ../clients/cli/common.c:73
-#: ../clients/cli/connections.c:211 ../clients/cli/connections.c:233
+#: ../clients/cli/connections.c:213 ../clients/cli/connections.c:235
 msgid "GROUP"
 msgstr "GRUPA"
 
@@ -130,7 +121,7 @@ msgstr "ADRES"
 #. 1
 #. 2
 #: ../clients/cli/common.c:42 ../clients/cli/common.c:63
-#: ../clients/cli/connections.c:236
+#: ../clients/cli/connections.c:238
 msgid "GATEWAY"
 msgstr "BRAMA"
 
@@ -231,7 +222,7 @@ msgstr "łączenie (uruchamianie drugorzędnych połączeń)"
 msgid "connected"
 msgstr "połączono"
 
-#: ../clients/cli/common.c:520 ../clients/cli/connections.c:628
+#: ../clients/cli/common.c:520 ../clients/cli/connections.c:635
 msgid "deactivating"
 msgstr "dezaktywowanie"
 
@@ -240,25 +231,25 @@ msgid "connection failed"
 msgstr "połączenie się nie powiodło"
 
 #: ../clients/cli/common.c:524 ../clients/cli/common.c:541
-#: ../clients/cli/connections.c:633 ../clients/cli/connections.c:656
-#: ../clients/cli/connections.c:2136 ../clients/cli/devices.c:1190
+#: ../clients/cli/connections.c:640 ../clients/cli/connections.c:663
+#: ../clients/cli/connections.c:2143 ../clients/cli/devices.c:1190
 #: ../clients/cli/devices.c:1231 ../clients/cli/devices.c:1233
 #: ../clients/cli/general.c:251 ../clients/cli/general.c:289
 #: ../clients/cli/general.c:437 ../clients/cli/general.c:452
-#: ../clients/cli/settings.c:869 ../clients/cli/settings.c:955
-#: ../clients/cli/settings.c:1402 ../clients/cli/settings.c:2065
-#: ../clients/cli/settings.c:3533
+#: ../clients/cli/settings.c:892 ../clients/cli/settings.c:978
+#: ../clients/cli/settings.c:1425 ../clients/cli/settings.c:2088
+#: ../clients/cli/settings.c:3656
 #, c-format
 msgid "unknown"
 msgstr "nieznane"
 
 #. "CAPABILITIES"
-#: ../clients/cli/common.c:533 ../clients/cli/connections.c:944
-#: ../clients/cli/connections.c:946 ../clients/cli/connections.c:948
-#: ../clients/cli/connections.c:983 ../clients/cli/connections.c:1053
-#: ../clients/cli/connections.c:1054 ../clients/cli/connections.c:1056
-#: ../clients/cli/connections.c:3471 ../clients/cli/connections.c:4673
-#: ../clients/cli/connections.c:6492 ../clients/cli/connections.c:6493
+#: ../clients/cli/common.c:533 ../clients/cli/connections.c:951
+#: ../clients/cli/connections.c:953 ../clients/cli/connections.c:955
+#: ../clients/cli/connections.c:990 ../clients/cli/connections.c:1060
+#: ../clients/cli/connections.c:1061 ../clients/cli/connections.c:1063
+#: ../clients/cli/connections.c:3487 ../clients/cli/connections.c:4707
+#: ../clients/cli/connections.c:6530 ../clients/cli/connections.c:6531
 #: ../clients/cli/devices.c:868 ../clients/cli/devices.c:1155
 #: ../clients/cli/devices.c:1156 ../clients/cli/devices.c:1157
 #: ../clients/cli/devices.c:1158 ../clients/cli/devices.c:1159
@@ -268,16 +259,16 @@ msgstr "nieznane"
 #: ../clients/cli/devices.c:1228 ../clients/cli/devices.c:1229
 #: ../clients/cli/devices.c:1230 ../clients/cli/devices.c:1232
 #: ../clients/cli/devices.c:1234 ../clients/cli/general.c:446
-#: ../clients/cli/settings.c:3528
+#: ../clients/cli/settings.c:3651
 msgid "yes"
 msgstr "tak"
 
-#: ../clients/cli/common.c:535 ../clients/cli/connections.c:944
-#: ../clients/cli/connections.c:946 ../clients/cli/connections.c:948
-#: ../clients/cli/connections.c:1053 ../clients/cli/connections.c:1054
-#: ../clients/cli/connections.c:1056 ../clients/cli/connections.c:3472
-#: ../clients/cli/connections.c:4672 ../clients/cli/connections.c:6492
-#: ../clients/cli/connections.c:6493 ../clients/cli/devices.c:868
+#: ../clients/cli/common.c:535 ../clients/cli/connections.c:951
+#: ../clients/cli/connections.c:953 ../clients/cli/connections.c:955
+#: ../clients/cli/connections.c:1060 ../clients/cli/connections.c:1061
+#: ../clients/cli/connections.c:1063 ../clients/cli/connections.c:3488
+#: ../clients/cli/connections.c:4706 ../clients/cli/connections.c:6530
+#: ../clients/cli/connections.c:6531 ../clients/cli/devices.c:868
 #: ../clients/cli/devices.c:1155 ../clients/cli/devices.c:1156
 #: ../clients/cli/devices.c:1157 ../clients/cli/devices.c:1158
 #: ../clients/cli/devices.c:1159 ../clients/cli/devices.c:1194
@@ -286,7 +277,7 @@ msgstr "tak"
 #: ../clients/cli/devices.c:1227 ../clients/cli/devices.c:1228
 #: ../clients/cli/devices.c:1229 ../clients/cli/devices.c:1230
 #: ../clients/cli/devices.c:1232 ../clients/cli/devices.c:1234
-#: ../clients/cli/general.c:448 ../clients/cli/settings.c:3530
+#: ../clients/cli/general.c:448 ../clients/cli/settings.c:3653
 msgid "no"
 msgstr "nie"
 
@@ -303,7 +294,7 @@ msgid "No reason given"
 msgstr "Nie podano przyczyny"
 
 #. We should not really come here
-#: ../clients/cli/common.c:553 ../clients/cli/connections.c:3320
+#: ../clients/cli/common.c:553 ../clients/cli/connections.c:3336
 #, c-format
 msgid "Unknown error"
 msgstr "Nieznany błąd"
@@ -558,7 +549,7 @@ msgstr "Zmieniono zarządzanie urządzenia nadrzędnego urządzenia"
 
 #. TRANSLATORS: Unknown reason for a device state change (NMDeviceStateReason)
 #: ../clients/cli/common.c:740 ../libnm-glib/nm-device.c:1898
-#: ../libnm/nm-device.c:1700
+#: ../libnm/nm-device.c:1703
 msgid "Unknown"
 msgstr "Nieznane"
 
@@ -575,42 +566,42 @@ msgstr "priorytet „%s” jest nieprawidłowy (<0-%ld>)"
 #: ../clients/cli/common.c:869
 #, c-format
 msgid "cannot read team config from file '%s'"
-msgstr ""
+msgstr "nie można odczytać konfiguracji zespołu z pliku „%s”"
 
 #: ../clients/cli/common.c:876
 #, c-format
 msgid "team config file '%s' contains non-valid utf-8"
-msgstr ""
+msgstr "plik konfiguracji zespołu „%s” zawiera nieprawidłowy tekst UTF-8"
 
 #: ../clients/cli/common.c:888
 #, c-format
 msgid "'%s' does not contain a valid team configuration"
-msgstr ""
+msgstr "„%s” nie zawiera prawidłowej konfiguracji zespołu"
 
 #: ../clients/cli/common.c:891
 #, c-format
 msgid "team configuration must be a JSON object"
-msgstr ""
+msgstr "konfiguracja zespołu musi być obiektem JSON"
 
 #: ../clients/cli/common.c:944
 #, c-format
 msgid "cannot read pac-script from file '%s'"
-msgstr ""
+msgstr "nie można odczytać skryptu PAC z pliku „%s”"
 
 #: ../clients/cli/common.c:951
 #, c-format
 msgid "file '%s' contains non-valid utf-8"
-msgstr ""
+msgstr "plik „%s” zawiera nieprawidłowy tekst UTF-8"
 
 #: ../clients/cli/common.c:964
 #, c-format
 msgid "'%s' does not contain a valid PAC Script"
-msgstr ""
+msgstr "„%s” nie zawiera prawidłowego skryptu PAC"
 
 #: ../clients/cli/common.c:967
 #, c-format
 msgid "Not a valid PAC Script"
-msgstr ""
+msgstr "Nieprawidłowy skrypt PAC"
 
 #: ../clients/cli/common.c:1090
 #, c-format
@@ -700,7 +691,7 @@ msgstr "Typ Bluetooth"
 msgid "Bonding mode"
 msgstr "Tryb wiązania"
 
-#: ../clients/cli/connections.c:85 ../clients/cli/connections.c:4257
+#: ../clients/cli/connections.c:85 ../clients/cli/connections.c:4284
 msgid "Bonding monitoring mode"
 msgstr "Tryb monitorowania wiązania"
 
@@ -745,7 +736,7 @@ msgid "Connection(s) (name, UUID, path or apath)"
 msgstr "Połączenia (nazwa, UUID, ścieżka lub „apath”)"
 
 #. 0
-#: ../clients/cli/connections.c:120 ../clients/cli/connections.c:212
+#: ../clients/cli/connections.c:120 ../clients/cli/connections.c:214
 #: ../clients/cli/devices.c:56 ../clients/cli/devices.c:90
 #: ../clients/cli/devices.c:100 ../clients/cli/devices.c:111
 #: ../clients/cli/devices.c:121 ../clients/cli/devices.c:138
@@ -758,7 +749,7 @@ msgstr "NAZWA"
 
 #. 0
 #. 1
-#: ../clients/cli/connections.c:121 ../clients/cli/connections.c:213
+#: ../clients/cli/connections.c:121 ../clients/cli/connections.c:215
 msgid "UUID"
 msgstr "UUID"
 
@@ -766,7 +757,7 @@ msgstr "UUID"
 #. 0
 #. 1
 #. 2
-#: ../clients/cli/connections.c:122 ../clients/cli/connections.c:234
+#: ../clients/cli/connections.c:122 ../clients/cli/connections.c:236
 #: ../clients/cli/devices.c:42 ../clients/cli/devices.c:58
 #: ../clients/cli/devices.c:180
 msgid "TYPE"
@@ -775,12 +766,12 @@ msgstr "TYP"
 #. 2
 #: ../clients/cli/connections.c:123
 msgid "TIMESTAMP"
-msgstr "OKRES-CZASU"
+msgstr "CZAS"
 
 #. 3
 #: ../clients/cli/connections.c:124
 msgid "TIMESTAMP-REAL"
-msgstr "RZECZYWISTY-OKRES-CZASU"
+msgstr "RZECZYWISTY-CZAS"
 
 #. 4
 #. 16
@@ -803,7 +794,7 @@ msgstr "TYLKO-DO-ODCZYTU"
 #. 2
 #. 15
 #. 5
-#: ../clients/cli/connections.c:128 ../clients/cli/connections.c:220
+#: ../clients/cli/connections.c:128 ../clients/cli/connections.c:222
 #: ../clients/cli/devices.c:44 ../clients/cli/devices.c:167
 #: ../clients/cli/devices.c:183
 msgid "DBUS-PATH"
@@ -833,7 +824,7 @@ msgstr "URZĄDZENIE"
 #. 1
 #. 10
 #. 1
-#: ../clients/cli/connections.c:131 ../clients/cli/connections.c:215
+#: ../clients/cli/connections.c:131 ../clients/cli/connections.c:217
 #: ../clients/cli/devices.c:43 ../clients/cli/devices.c:67
 #: ../clients/cli/general.c:39
 msgid "STATE"
@@ -847,31 +838,31 @@ msgstr "AKTYWNA-ŚCIEŻKA"
 #. 12
 #: ../clients/cli/connections.c:133
 msgid "SLAVE"
-msgstr ""
+msgstr "PODRZĘDNE"
 
 #. 2
-#: ../clients/cli/connections.c:214
+#: ../clients/cli/connections.c:216
 msgid "DEVICES"
 msgstr "URZĄDZENIA"
 
 #. 4
-#: ../clients/cli/connections.c:216
+#: ../clients/cli/connections.c:218
 msgid "DEFAULT"
 msgstr "DOMYŚLNE"
 
 #. 5
-#: ../clients/cli/connections.c:217
+#: ../clients/cli/connections.c:219
 msgid "DEFAULT6"
 msgstr "DOMYŚLNE6"
 
 #. 6
-#: ../clients/cli/connections.c:218
+#: ../clients/cli/connections.c:220
 msgid "SPEC-OBJECT"
 msgstr "KONKRETNY-OBIEKT"
 
 #. 7
 #. 4
-#: ../clients/cli/connections.c:219 ../clients/cli/connections.c:257
+#: ../clients/cli/connections.c:221 ../clients/cli/connections.c:259
 #: ../clients/cli/general.c:1131 ../clients/tui/nm-editor-utils.c:241
 #: ../clients/tui/nmt-connect-connection-list.c:406
 msgid "VPN"
@@ -880,70 +871,70 @@ msgstr "VPN"
 #. 9
 #. 5
 #. 22
-#: ../clients/cli/connections.c:221 ../clients/cli/devices.c:47
+#: ../clients/cli/connections.c:223 ../clients/cli/devices.c:47
 #: ../clients/cli/devices.c:79
 msgid "CON-PATH"
 msgstr "ŚCIEŻKA-POŁĄCZENIA"
 
 #. 10
-#: ../clients/cli/connections.c:222
+#: ../clients/cli/connections.c:224
 msgid "ZONE"
 msgstr "STREFA"
 
 #. 11
-#: ../clients/cli/connections.c:223
+#: ../clients/cli/connections.c:225
 msgid "MASTER-PATH"
 msgstr "GŁÓWNA-ŚCIEŻKA"
 
 #. 1
-#: ../clients/cli/connections.c:235
+#: ../clients/cli/connections.c:237
 msgid "USERNAME"
 msgstr "NAZWA-UŻYTKOWNIKA"
 
 #. 3
-#: ../clients/cli/connections.c:237
+#: ../clients/cli/connections.c:239
 msgid "BANNER"
 msgstr "BANER"
 
 #. 4
-#: ../clients/cli/connections.c:238
+#: ../clients/cli/connections.c:240
 msgid "VPN-STATE"
 msgstr "STAN-VPN"
 
 #. 5
-#: ../clients/cli/connections.c:239
+#: ../clients/cli/connections.c:241
 msgid "CFG"
 msgstr "KONFIGURACJA"
 
-#: ../clients/cli/connections.c:252 ../clients/cli/devices.c:236
+#: ../clients/cli/connections.c:254 ../clients/cli/devices.c:236
 msgid "GENERAL"
 msgstr "OGÓLNE"
 
 #. 0
 #. 6
-#: ../clients/cli/connections.c:253 ../clients/cli/devices.c:243
+#: ../clients/cli/connections.c:255 ../clients/cli/devices.c:243
 msgid "IP4"
 msgstr "IP4"
 
 #. 1
 #. 7
-#: ../clients/cli/connections.c:254 ../clients/cli/devices.c:244
+#: ../clients/cli/connections.c:256 ../clients/cli/devices.c:244
 msgid "DHCP4"
 msgstr "DHCP4"
 
 #. 2
 #. 8
-#: ../clients/cli/connections.c:255 ../clients/cli/devices.c:245
+#: ../clients/cli/connections.c:257 ../clients/cli/devices.c:245
 msgid "IP6"
 msgstr "IP6"
 
 #. 3
 #. 9
-#: ../clients/cli/connections.c:256 ../clients/cli/devices.c:246
+#: ../clients/cli/connections.c:258 ../clients/cli/devices.c:246
 msgid "DHCP6"
 msgstr "DHCP6"
 
-#: ../clients/cli/connections.c:288
+#: ../clients/cli/connections.c:290
 #, c-format
 msgid ""
 "Usage: nmcli connection { COMMAND | help }\n"
@@ -1019,7 +1010,7 @@ msgstr ""
 "  export [id | uuid | path] <identyfikator> [<plik wyjściowy>]\n"
 "\n"
 
-#: ../clients/cli/connections.c:310
+#: ../clients/cli/connections.c:312
 #, c-format
 msgid ""
 "Usage: nmcli connection show { ARGUMENTS | help }\n"
@@ -1060,11 +1051,11 @@ msgstr ""
 "\n"
 "Wyświetla szczegóły podanych połączeń. Domyślnie wyświetlane są dane\n"
 "statycznej konfiguracji i aktywnego połączenia. Można filtrować wyjście\n"
-"używając globalnej opcji „--fields”. Na stronie podręcznika znajduje się\n"
+"za pomocą globalnej opcji „--fields”. Na stronie podręcznika znajduje się\n"
 "więcej informacji. Podanie opcji „--active” spowoduje uwzględnienie tylko\n"
 "aktywnych profili. Opcja „--show-secrets” ujawni także powiązane hasła.\n"
 
-#: ../clients/cli/connections.c:331
+#: ../clients/cli/connections.c:333
 #, c-format
 msgid ""
 "Usage: nmcli connection up { ARGUMENTS | help }\n"
@@ -1109,7 +1100,7 @@ msgstr ""
 "passwd-file — plik z hasłami wymaganymi do aktywowania połączenia\n"
 "\n"
 
-#: ../clients/cli/connections.c:352
+#: ../clients/cli/connections.c:354
 #, c-format
 msgid ""
 "Usage: nmcli connection down { ARGUMENTS | help }\n"
@@ -1131,7 +1122,7 @@ msgstr ""
 "identyfikowany po swojej nazwie, UUID lub ścieżce D-Bus.\n"
 "\n"
 
-#: ../clients/cli/connections.c:364
+#: ../clients/cli/connections.c:366
 #, c-format
 msgid ""
 "Usage: nmcli connection add { ARGUMENTS | help }\n"
@@ -1249,6 +1240,13 @@ msgid ""
 "                  [local <local endpoint IP>]\n"
 "                  [dev <parent device (ifname or connection UUID)>]\n"
 "\n"
+"    macsec:       dev <parent device (connection UUID, ifname, or MAC)>\n"
+"                  mode <psk|eap>\n"
+"                  [cak <key> ckn <key>]\n"
+"                  [encrypt yes|no]\n"
+"                  [port 1-65534]\n"
+"\n"
+"\n"
 "    macvlan:      dev <parent device (connection UUID, ifname, or MAC)>\n"
 "                  mode vepa|bridge|private|passthru|source\n"
 "                  [tap yes|no]\n"
@@ -1274,7 +1272,8 @@ msgid ""
 "\n"
 msgstr ""
 "Użycie: nmcli connection add { PARAMETRY | help }\n"
-"  OPCJE := WSPÓLNE_OPCJE OPCJE_DLA_KONKRETNYCH_TYPÓW OPCJE_PODRZĘDNE "
+"\n"
+"PARAMETRY := WSPÓLNE_OPCJE OPCJE_DLA_KONKRETNYCH_TYPÓW OPCJE_PODRZĘDNE "
 "OPCJE_IP [-- ([+|-]<ustawienie>.<właściwość> <wartość>)+]\n"
 "\n"
 "  WSPÓLNE_OPCJE:\n"
@@ -1324,7 +1323,7 @@ msgstr ""
 "                  [bt-type panu|dun-gsm|dun-cdma]\n"
 "\n"
 "    vlan:         dev <urządzenie nadrzędne (UUID połączenia, nazwa "
-"interfejsu lub MAC)>\n"
+"interfejsu lub adres MAC)>\n"
 "                  [id <identyfikator VLAN>]\n"
 "                  [flags <flagi VLAN>]\n"
 "                  [ingress <wejściowe mapowanie priorytetów>]\n"
@@ -1346,11 +1345,11 @@ msgstr ""
 "    bond-slave:   master <master (nazwa interfejsu, UUID połączenia lub "
 "nazwa)>\n"
 "\n"
-"    team:         [config <surowe dane JSON>]\n"
+"    team:         [config <plik>|<surowe dane JSON>]\n"
 "\n"
 "    team-slave:   master <master (nazwa interfejsu, UUID połączenia lub "
 "nazwa)>\n"
-"                  [config <surowe dane JSON>]\n"
+"                  [config <plik>|<surowe dane JSON>]\n"
 "\n"
 "    bridge:       [stp yes|no>]\n"
 "                  [priority <numer>]\n"
@@ -1393,6 +1392,14 @@ msgstr ""
 "                  [dev <urządzenie nadrzędne (nazwa interfejsu lub UUID "
 "połączenia)>]\n"
 "\n"
+"    macsec:       dev <urządzenie nadrzędne (UUID połączenia, nazwa "
+"interfejsu lub adres MAC)>\n"
+"                  mode <psk|eap>\n"
+"                  [cak <klucz> ckn <klucz>]\n"
+"                  [encrypt yes|no]\n"
+"                  [port 1-65534]\n"
+"\n"
+"\n"
 "    macvlan:      dev <urządzenie nadrzędne (UUID połączenia, nazwa "
 "interfejsu lub adres MAC)>\n"
 "                  mode vepa|bridge|private|passthru|source\n"
@@ -1417,8 +1424,9 @@ msgstr ""
 "  OPCJE_IP:\n"
 "                  [ip4 <adres IPv4>] [gw4 <brama IPv4>]\n"
 "                  [ip6 <adres IPv6>] [gw6 <brama IPv6>]\n"
+"\n"
 
-#: ../clients/cli/connections.c:476
+#: ../clients/cli/connections.c:483
 #, c-format
 msgid ""
 "Usage: nmcli connection modify { ARGUMENTS | help }\n"
@@ -1465,7 +1473,7 @@ msgstr ""
 "nmcli con mod bond0 -bond.options downdelay\n"
 "\n"
 
-#: ../clients/cli/connections.c:499
+#: ../clients/cli/connections.c:506
 #, c-format
 msgid ""
 "Usage: nmcli connection clone { ARGUMENTS | help }\n"
@@ -1487,7 +1495,7 @@ msgstr ""
 "utworzona) oraz „id” (podana jako parametr <nowa nazwa>).\n"
 "\n"
 
-#: ../clients/cli/connections.c:511
+#: ../clients/cli/connections.c:518
 #, c-format
 msgid ""
 "Usage: nmcli connection edit { ARGUMENTS | help }\n"
@@ -1515,7 +1523,7 @@ msgstr ""
 "Dodaje nowy profil połączenia w interaktywnym edytorze.\n"
 "\n"
 
-#: ../clients/cli/connections.c:526
+#: ../clients/cli/connections.c:533
 #, c-format
 msgid ""
 "Usage: nmcli connection delete { ARGUMENTS | help }\n"
@@ -1534,7 +1542,7 @@ msgstr ""
 "Profil jest identyfikowany po swojej nazwie, UUID lub ścieżce D-Bus.\n"
 "\n"
 
-#: ../clients/cli/connections.c:537
+#: ../clients/cli/connections.c:544
 #, c-format
 msgid ""
 "Usage: nmcli connection monitor { ARGUMENTS | help }\n"
@@ -1555,7 +1563,7 @@ msgstr ""
 "Monitoruje wszystkie profile połączeń, jeśli żaden nie zostanie podany.\n"
 "\n"
 
-#: ../clients/cli/connections.c:549
+#: ../clients/cli/connections.c:556
 #, c-format
 msgid ""
 "Usage: nmcli connection reload { help }\n"
@@ -1568,7 +1576,7 @@ msgstr ""
 "Wczytuje ponownie wszystkie pliki połączeń z dysku.\n"
 "\n"
 
-#: ../clients/cli/connections.c:557
+#: ../clients/cli/connections.c:564
 #, c-format
 msgid ""
 "Usage: nmcli connection load { ARGUMENTS | help }\n"
@@ -1590,7 +1598,7 @@ msgstr ""
 "usługa NetworkManager zna jego najnowszy stan.\n"
 "\n"
 
-#: ../clients/cli/connections.c:569
+#: ../clients/cli/connections.c:576
 #, c-format
 msgid ""
 "Usage: nmcli connection import { ARGUMENTS | help }\n"
@@ -1615,7 +1623,7 @@ msgstr ""
 "importowana przez wtyczki VPN usługi NetworkManager.\n"
 "\n"
 
-#: ../clients/cli/connections.c:582
+#: ../clients/cli/connections.c:589
 #, c-format
 msgid ""
 "Usage: nmcli connection export { ARGUMENTS | help }\n"
@@ -1635,119 +1643,119 @@ msgstr ""
 "nazwę.\n"
 "\n"
 
-#: ../clients/cli/connections.c:624
+#: ../clients/cli/connections.c:631
 msgid "activating"
 msgstr "aktywowanie"
 
-#: ../clients/cli/connections.c:626
+#: ../clients/cli/connections.c:633
 msgid "activated"
 msgstr "aktywowano"
 
-#: ../clients/cli/connections.c:630
+#: ../clients/cli/connections.c:637
 msgid "deactivated"
 msgstr "dezaktywowano"
 
-#: ../clients/cli/connections.c:642
+#: ../clients/cli/connections.c:649
 msgid "VPN connecting (prepare)"
 msgstr "Łączenie z VPN (przygotowanie)"
 
-#: ../clients/cli/connections.c:644
+#: ../clients/cli/connections.c:651
 msgid "VPN connecting (need authentication)"
 msgstr "Łączenie z VPN (wymaga uwierzytelnienia)"
 
-#: ../clients/cli/connections.c:646
+#: ../clients/cli/connections.c:653
 msgid "VPN connecting"
 msgstr "Łączenie z VPN"
 
-#: ../clients/cli/connections.c:648
+#: ../clients/cli/connections.c:655
 msgid "VPN connecting (getting IP configuration)"
 msgstr "Łączenie z VPN (pobieranie konfiguracji adresu IP)"
 
-#: ../clients/cli/connections.c:650
+#: ../clients/cli/connections.c:657
 msgid "VPN connected"
 msgstr "Połączono z VPN"
 
-#: ../clients/cli/connections.c:652
+#: ../clients/cli/connections.c:659
 msgid "VPN connection failed"
 msgstr "Połączenie z VPN się nie powiodło"
 
-#: ../clients/cli/connections.c:654
+#: ../clients/cli/connections.c:661
 msgid "VPN disconnected"
 msgstr "Rozłączono z VPN"
 
-#: ../clients/cli/connections.c:724
+#: ../clients/cli/connections.c:731
 #, c-format
 msgid "Error updating secrets for %s: %s\n"
 msgstr "Błąd podczas aktualizowania haseł dla %s: %s\n"
 
-#: ../clients/cli/connections.c:744
+#: ../clients/cli/connections.c:751
 msgid "Connection profile details"
 msgstr "Szczegóły profilu połączenia"
 
-#: ../clients/cli/connections.c:756 ../clients/cli/connections.c:1183
+#: ../clients/cli/connections.c:763 ../clients/cli/connections.c:1190
 #, c-format
 msgid "Error: 'connection show': %s"
 msgstr "Błąd: „connection show”: %s"
 
-#: ../clients/cli/connections.c:943 ../clients/cli/settings.c:2061
+#: ../clients/cli/connections.c:950 ../clients/cli/settings.c:2084
 msgid "never"
 msgstr "nigdy"
 
-#: ../clients/cli/connections.c:1171
+#: ../clients/cli/connections.c:1178
 msgid "Activate connection details"
 msgstr "Szczegóły aktywowania połączenia"
 
-#: ../clients/cli/connections.c:1407
+#: ../clients/cli/connections.c:1414
 #, c-format
 msgid "invalid field '%s'; allowed fields: %s and %s, or %s,%s"
 msgstr "nieprawidłowe pole „%s”; dozwolone pola: %s i %s, albo %s,%s"
 
-#: ../clients/cli/connections.c:1422 ../clients/cli/connections.c:1430
+#: ../clients/cli/connections.c:1429 ../clients/cli/connections.c:1437
 #, c-format
 msgid "'%s' has to be alone"
 msgstr "„%s” musi być same"
 
-#: ../clients/cli/connections.c:1630
+#: ../clients/cli/connections.c:1637
 #, c-format
 msgid "incorrect string '%s' of '--order' option"
 msgstr "niepoprawny ciąg „%s” opcji „--order”"
 
-#: ../clients/cli/connections.c:1656
+#: ../clients/cli/connections.c:1663
 #, c-format
 msgid "incorrect item '%s' in '--order' option"
 msgstr "niepoprawny element „%s” w opcji „--order”"
 
-#: ../clients/cli/connections.c:1686
+#: ../clients/cli/connections.c:1693
 msgid "No connection specified"
 msgstr "Nie podano połączenia"
 
-#: ../clients/cli/connections.c:1699
+#: ../clients/cli/connections.c:1706
 #, c-format
 msgid "%s argument is missing"
 msgstr "Brak parametru %s"
 
-#: ../clients/cli/connections.c:1709
+#: ../clients/cli/connections.c:1716
 #, c-format
 msgid "unknown connection '%s'"
 msgstr "nieznane połączenie „%s”"
 
-#: ../clients/cli/connections.c:1750
+#: ../clients/cli/connections.c:1757
 msgid "'--order' argument is missing"
 msgstr "Brak parametru „--order”"
 
 #. Add headers
-#: ../clients/cli/connections.c:1792
+#: ../clients/cli/connections.c:1799
 msgid "NetworkManager active profiles"
 msgstr "Aktywne profile usługi NetworkManager"
 
-#: ../clients/cli/connections.c:1793
+#: ../clients/cli/connections.c:1800
 msgid "NetworkManager connection profiles"
 msgstr "Profile połączeń usługi NetworkManager"
 
-#: ../clients/cli/connections.c:1844 ../clients/cli/connections.c:2625
-#: ../clients/cli/connections.c:2635 ../clients/cli/connections.c:2645
-#: ../clients/cli/connections.c:2812 ../clients/cli/connections.c:8517
-#: ../clients/cli/connections.c:8528 ../clients/cli/devices.c:2640
+#: ../clients/cli/connections.c:1851 ../clients/cli/connections.c:2632
+#: ../clients/cli/connections.c:2642 ../clients/cli/connections.c:2652
+#: ../clients/cli/connections.c:2819 ../clients/cli/connections.c:8555
+#: ../clients/cli/connections.c:8566 ../clients/cli/devices.c:2640
 #: ../clients/cli/devices.c:2648 ../clients/cli/devices.c:2883
 #: ../clients/cli/devices.c:2891 ../clients/cli/devices.c:2907
 #: ../clients/cli/devices.c:2914 ../clients/cli/devices.c:2933
@@ -1761,14 +1769,14 @@ msgstr "Profile połączeń usługi NetworkManager"
 msgid "Error: %s argument is missing."
 msgstr "Błąd: brak parametru %s."
 
-#: ../clients/cli/connections.c:1863
+#: ../clients/cli/connections.c:1870
 #, c-format
 msgid "Error: %s - no such connection profile."
 msgstr "Błąd: %s — nie ma takiego profilu połączenia."
 
-#: ../clients/cli/connections.c:1927 ../clients/cli/connections.c:2614
-#: ../clients/cli/connections.c:2673 ../clients/cli/connections.c:8042
-#: ../clients/cli/connections.c:8151 ../clients/cli/connections.c:8639
+#: ../clients/cli/connections.c:1934 ../clients/cli/connections.c:2621
+#: ../clients/cli/connections.c:2680 ../clients/cli/connections.c:8080
+#: ../clients/cli/connections.c:8189 ../clients/cli/connections.c:8677
 #: ../clients/cli/devices.c:1496 ../clients/cli/devices.c:1554
 #: ../clients/cli/devices.c:1840 ../clients/cli/devices.c:2008
 #: ../clients/cli/devices.c:2115 ../clients/cli/devices.c:2303
@@ -1781,85 +1789,85 @@ msgstr "Błąd: %s — nie ma takiego profilu połączenia."
 msgid "Error: %s."
 msgstr "Błąd: %s."
 
-#: ../clients/cli/connections.c:2025
+#: ../clients/cli/connections.c:2032
 #, c-format
 msgid "no active connection on device '%s'"
 msgstr "brak aktywnych połączeń na urządzeniu „%s”"
 
-#: ../clients/cli/connections.c:2033
+#: ../clients/cli/connections.c:2040
 msgid "no active connection or device"
 msgstr "brak aktywnych połączeń na urządzeń"
 
-#: ../clients/cli/connections.c:2053
+#: ../clients/cli/connections.c:2060
 #, c-format
 msgid "device '%s' not compatible with connection '%s':"
 msgstr "urządzenie „%s” jest niezgodne z połączeniem „%s”:"
 
-#: ../clients/cli/connections.c:2089
+#: ../clients/cli/connections.c:2096
 #, c-format
 msgid "device '%s' not compatible with connection '%s'"
 msgstr "urządzenie „%s” jest niezgodne z połączeniem „%s”"
 
-#: ../clients/cli/connections.c:2092
+#: ../clients/cli/connections.c:2099
 #, c-format
 msgid "no device found for connection '%s'"
 msgstr "nie odnaleziono urządzenia dla połączenia „%s”"
 
-#: ../clients/cli/connections.c:2112
+#: ../clients/cli/connections.c:2119
 msgid "unknown reason"
 msgstr "nieznany powód"
 
-#: ../clients/cli/connections.c:2114 ../clients/cli/general.c:280
+#: ../clients/cli/connections.c:2121 ../clients/cli/general.c:280
 msgid "none"
 msgstr "brak"
 
-#: ../clients/cli/connections.c:2116
+#: ../clients/cli/connections.c:2123
 msgid "the user was disconnected"
 msgstr "rozłączono użytkownika"
 
-#: ../clients/cli/connections.c:2118
+#: ../clients/cli/connections.c:2125
 msgid "the base network connection was interrupted"
 msgstr "przerwano podstawowe połączenie sieciowe"
 
-#: ../clients/cli/connections.c:2120
+#: ../clients/cli/connections.c:2127
 msgid "the VPN service stopped unexpectedly"
 msgstr "usługa VPN została nieoczekiwanie zatrzymana"
 
-#: ../clients/cli/connections.c:2122
+#: ../clients/cli/connections.c:2129
 msgid "the VPN service returned invalid configuration"
 msgstr "usługa VPN zwróciła nieprawidłową konfigurację"
 
-#: ../clients/cli/connections.c:2124
+#: ../clients/cli/connections.c:2131
 msgid "the connection attempt timed out"
 msgstr "próba połączenia przekroczyła czas oczekiwania"
 
-#: ../clients/cli/connections.c:2126
+#: ../clients/cli/connections.c:2133
 msgid "the VPN service did not start in time"
 msgstr "usługa VPN nie została uruchomiona w czasie"
 
-#: ../clients/cli/connections.c:2128
+#: ../clients/cli/connections.c:2135
 msgid "the VPN service failed to start"
 msgstr "uruchomienie usługi VPN się nie powiodło"
 
-#: ../clients/cli/connections.c:2130
+#: ../clients/cli/connections.c:2137
 msgid "no valid VPN secrets"
 msgstr "brak prawidłowych haseł VPN"
 
-#: ../clients/cli/connections.c:2132
+#: ../clients/cli/connections.c:2139
 msgid "invalid VPN secrets"
 msgstr "nieprawidłowe hasła VPN"
 
-#: ../clients/cli/connections.c:2134
+#: ../clients/cli/connections.c:2141
 msgid "the connection was removed"
 msgstr "usunięto połączenie"
 
-#: ../clients/cli/connections.c:2156 ../clients/cli/connections.c:2193
-#: ../clients/cli/connections.c:2372 ../clients/cli/connections.c:6382
+#: ../clients/cli/connections.c:2163 ../clients/cli/connections.c:2200
+#: ../clients/cli/connections.c:2379 ../clients/cli/connections.c:6420
 #, c-format
 msgid "Connection successfully activated (D-Bus active path: %s)\n"
 msgstr "Pomyślnie aktywowano połączenie (ścieżka aktywacji D-Bus: %s)\n"
 
-#: ../clients/cli/connections.c:2164
+#: ../clients/cli/connections.c:2171
 #, c-format
 msgid ""
 "Connection successfully activated (master waiting for slaves) (D-Bus active "
@@ -1868,337 +1876,337 @@ msgstr ""
 "Pomyślnie aktywowano połączenie (główne oczekujące na podrzędne) (ścieżka "
 "aktywacji D-Bus: %s)\n"
 
-#: ../clients/cli/connections.c:2176 ../clients/cli/connections.c:2197
+#: ../clients/cli/connections.c:2183 ../clients/cli/connections.c:2204
 #, c-format
 msgid "Error: Connection activation failed."
 msgstr "Błąd: aktywacja połączenia się nie powiodła."
 
-#: ../clients/cli/connections.c:2245
+#: ../clients/cli/connections.c:2252
 #, c-format
 msgid "VPN connection successfully activated (D-Bus active path: %s)\n"
 msgstr "Pomyślnie aktywowano połączenie VPN (ścieżka aktywacji D-Bus: %s)\n"
 
-#: ../clients/cli/connections.c:2252
+#: ../clients/cli/connections.c:2259
 #, c-format
 msgid "Error: Connection activation failed: %s."
 msgstr "Błąd: aktywacja połączenia się nie powiodła: %s."
 
-#: ../clients/cli/connections.c:2266
+#: ../clients/cli/connections.c:2273
 #, c-format
 msgid "Error: Timeout expired (%d seconds)"
 msgstr "Błąd: przekroczono czas oczekiwania (%d s)"
 
-#: ../clients/cli/connections.c:2352
+#: ../clients/cli/connections.c:2359
 #, c-format
 msgid "Error: Connection activation failed: %s"
 msgstr "Błąd: aktywacja połączenia się nie powiodła: %s"
 
-#: ../clients/cli/connections.c:2441
+#: ../clients/cli/connections.c:2448
 #, c-format
 msgid "failed to read passwd-file '%s': %s"
 msgstr "odczytanie passwd-file „%s” się nie powiodło: %s"
 
-#: ../clients/cli/connections.c:2453
+#: ../clients/cli/connections.c:2460
 #, c-format
 msgid "missing colon in 'password' entry '%s'"
 msgstr "brak dwukropka we wpisie „password” „%s”"
 
-#: ../clients/cli/connections.c:2461
+#: ../clients/cli/connections.c:2468
 #, c-format
 msgid "missing dot in 'password' entry '%s'"
 msgstr "brak kropki we wpisie „password” „%s”"
 
-#: ../clients/cli/connections.c:2474
+#: ../clients/cli/connections.c:2481
 #, c-format
 msgid "invalid setting name in 'password' entry '%s'"
 msgstr "nieprawidłowa nazwa ustawienia we wpisie „password” „%s”"
 
-#: ../clients/cli/connections.c:2530
+#: ../clients/cli/connections.c:2537
 #, c-format
 msgid "unknown device '%s'."
 msgstr "nieznane urządzenie „%s”."
 
-#: ../clients/cli/connections.c:2535
+#: ../clients/cli/connections.c:2542
 msgid "neither a valid connection nor device given"
 msgstr "nie podano prawidłowego połączenia ani urządzenia"
 
-#: ../clients/cli/connections.c:2655 ../clients/cli/devices.c:1502
+#: ../clients/cli/connections.c:2662 ../clients/cli/devices.c:1502
 #: ../clients/cli/devices.c:2655 ../clients/cli/devices.c:2969
 #: ../clients/cli/devices.c:3562
 #, c-format
 msgid "Unknown parameter: %s\n"
 msgstr "Nieznany parametr: %s\n"
 
-#: ../clients/cli/connections.c:2681
+#: ../clients/cli/connections.c:2688
 msgid "preparing"
 msgstr "przygotowywanie"
 
-#: ../clients/cli/connections.c:2700
+#: ../clients/cli/connections.c:2707
 #, c-format
 msgid "Connection '%s' (%s) successfully deleted.\n"
 msgstr "Pomyślnie usunięto połączenie „%s” (%s).\n"
 
-#: ../clients/cli/connections.c:2716
+#: ../clients/cli/connections.c:2723
 #, c-format
 msgid "Connection '%s' successfully deactivated (D-Bus active path: %s)\n"
 msgstr ""
 "Pomyślnie dezaktywowano połączenie „%s” (ścieżka aktywacji D-Bus: %s)\n"
 
-#: ../clients/cli/connections.c:2790 ../clients/cli/connections.c:8260
-#: ../clients/cli/connections.c:8292 ../clients/cli/connections.c:8445
+#: ../clients/cli/connections.c:2797 ../clients/cli/connections.c:8298
+#: ../clients/cli/connections.c:8330 ../clients/cli/connections.c:8483
 #, c-format
 msgid "Error: No connection specified."
 msgstr "Błąd: nie podano połączenia."
 
-#: ../clients/cli/connections.c:2829
+#: ../clients/cli/connections.c:2836
 #, c-format
 msgid "Error: '%s' is not an active connection.\n"
 msgstr "Błąd: „%s” nie jest aktywnym połączeniem.\n"
 
-#: ../clients/cli/connections.c:2830
+#: ../clients/cli/connections.c:2837
 #, c-format
 msgid "Error: not all active connections found."
 msgstr "Błąd: nie odnaleziono wszystkich aktywnych połączeń."
 
-#: ../clients/cli/connections.c:2839
+#: ../clients/cli/connections.c:2846
 #, c-format
 msgid "Error: no active connection provided."
 msgstr "Błąd: nie podano aktywnego połączenia."
 
-#: ../clients/cli/connections.c:3300 ../clients/cli/utils.c:646
+#: ../clients/cli/connections.c:3316 ../clients/cli/utils.c:646
 #, c-format
 msgid "'%s' not among [%s]"
 msgstr "„%s” nie jest w [%s]"
 
-#: ../clients/cli/connections.c:3460
+#: ../clients/cli/connections.c:3476
 #, c-format
 msgid "Warning: master='%s' doesn't refer to any existing profile.\n"
 msgstr ""
 "Ostrzeżenie: master=„%s” nie odnosi się do żadnego istniejącego profilu.\n"
 
-#: ../clients/cli/connections.c:3634
+#: ../clients/cli/connections.c:3650
 #, c-format
 msgid "Error: don't know how to create '%s' setting."
 msgstr "Błąd: nie wiadomo, jak utworzyć ustawienie „%s”."
 
-#: ../clients/cli/connections.c:3645
+#: ../clients/cli/connections.c:3661
 #, c-format
 msgid "Error: invalid property '%s': %s."
 msgstr "Błąd: nieprawidłowa właściwość „%s”: %s."
 
-#: ../clients/cli/connections.c:3662
+#: ../clients/cli/connections.c:3678
 #, c-format
 msgid "Error: failed to modify %s.%s: %s."
 msgstr "Błąd: zmodyfikowanie %s.%s się nie powiodło: %s."
 
-#: ../clients/cli/connections.c:3681
+#: ../clients/cli/connections.c:3697
 #, c-format
 msgid "Error: failed to remove a value from %s.%s: %s."
 msgstr "Błąd: usunięcie wartości z %s.%s się nie powiodło: %s."
 
-#: ../clients/cli/connections.c:3707
+#: ../clients/cli/connections.c:3723
 #, c-format
 msgid "Error: '%s' is mandatory."
 msgstr "Błąd: „%s” jest wymagane."
 
-#: ../clients/cli/connections.c:3739
+#: ../clients/cli/connections.c:3755
 #, c-format
 msgid "Error: invalid slave type; %s."
 msgstr "Błąd: nieznany typ podrzędnego; %s."
 
-#: ../clients/cli/connections.c:3752
+#: ../clients/cli/connections.c:3768
 #, c-format
 msgid "Error: invalid connection type; %s."
 msgstr "Błąd: nieznany typ połączenia; %s."
 
-#: ../clients/cli/connections.c:3939
+#: ../clients/cli/connections.c:3966
 #, c-format
 msgid "Error: bad connection type: %s."
 msgstr "Błąd: błędny typ połączenia; %s."
 
-#: ../clients/cli/connections.c:4002
+#: ../clients/cli/connections.c:4029
 #, c-format
 msgid "Error: '%s': %s"
-msgstr ""
+msgstr "Błąd: „%s”: %s"
 
-#: ../clients/cli/connections.c:4023
+#: ../clients/cli/connections.c:4050
 msgid "Error: master is required"
 msgstr "Błąd: „master” jest wymagane"
 
-#: ../clients/cli/connections.c:4082
+#: ../clients/cli/connections.c:4109
 #, c-format
 msgid "Error: error adding bond option '%s=%s'."
 msgstr "Błąd: błąd podczas dodawania opcji wiązania „%s=%s”."
 
-#: ../clients/cli/connections.c:4113
+#: ../clients/cli/connections.c:4140
 #, c-format
 msgid "Error: '%s' is not a valid monitoring mode; use '%s' or '%s'.\n"
 msgstr ""
 "Błąd: „%s” nie jest prawidłowym trybem monitorowania; należy użyć „%s” lub "
 "„%s”.\n"
 
-#: ../clients/cli/connections.c:4144
+#: ../clients/cli/connections.c:4171
 #, c-format
 msgid "Error: 'bt-type': '%s' not valid; use [%s, %s (%s), %s]."
 msgstr ""
 "Błąd: „bt-type”: „%s” jest nieprawidłowe; należy użyć [%s, %s (%s), %s]."
 
-#: ../clients/cli/connections.c:4219
+#: ../clients/cli/connections.c:4246
 msgid "PPPoE username"
 msgstr "Nazwa użytkownika PPPoE"
 
-#: ../clients/cli/connections.c:4220 ../clients/cli/connections.c:4241
-#: ../clients/cli/connections.c:4243 ../clients/cli/connections.c:4292
+#: ../clients/cli/connections.c:4247 ../clients/cli/connections.c:4268
+#: ../clients/cli/connections.c:4270 ../clients/cli/connections.c:4319
 msgid "Password [none]"
 msgstr "Hasło [none]"
 
-#: ../clients/cli/connections.c:4221
+#: ../clients/cli/connections.c:4248
 msgid "Service [none]"
 msgstr "Usługa [none]"
 
-#: ../clients/cli/connections.c:4222 ../clients/cli/connections.c:4225
-#: ../clients/cli/connections.c:4234
+#: ../clients/cli/connections.c:4249 ../clients/cli/connections.c:4252
+#: ../clients/cli/connections.c:4261
 msgid "MTU [auto]"
 msgstr "MTU [auto]"
 
-#: ../clients/cli/connections.c:4223 ../clients/cli/connections.c:4226
-#: ../clients/cli/connections.c:4235 ../clients/cli/connections.c:4238
-#: ../clients/cli/connections.c:4279
+#: ../clients/cli/connections.c:4250 ../clients/cli/connections.c:4253
+#: ../clients/cli/connections.c:4262 ../clients/cli/connections.c:4265
+#: ../clients/cli/connections.c:4306
 msgid "MAC [none]"
 msgstr "MAC [none]"
 
-#: ../clients/cli/connections.c:4224 ../clients/cli/connections.c:4236
+#: ../clients/cli/connections.c:4251 ../clients/cli/connections.c:4263
 msgid "Cloned MAC [none]"
 msgstr "Sklonowany MAC [none]"
 
-#: ../clients/cli/connections.c:4229
+#: ../clients/cli/connections.c:4256
 msgid "Parent interface [none]"
 msgstr "Interfejs nadrzędny [none]"
 
-#: ../clients/cli/connections.c:4230
+#: ../clients/cli/connections.c:4257
 msgid "P_KEY [none]"
 msgstr "P_KEY [none]"
 
 #. 0
-#: ../clients/cli/connections.c:4231 ../clients/cli/connections.c:4286
+#: ../clients/cli/connections.c:4258 ../clients/cli/connections.c:4313
 #: ../clients/cli/devices.c:152 ../clients/tui/nmt-page-wifi.c:224
 msgid "SSID"
 msgstr "SSID"
 
-#: ../clients/cli/connections.c:4237
+#: ../clients/cli/connections.c:4264
 msgid "WiMAX NSP name"
 msgstr "Nazwa NSP sieci WiMAX"
 
-#: ../clients/cli/connections.c:4239
+#: ../clients/cli/connections.c:4266
 msgid "APN"
 msgstr "APN"
 
-#: ../clients/cli/connections.c:4240 ../clients/cli/connections.c:4242
-#: ../clients/cli/connections.c:4285
+#: ../clients/cli/connections.c:4267 ../clients/cli/connections.c:4269
+#: ../clients/cli/connections.c:4312
 msgid "Username [none]"
 msgstr "Nazwa użytkownika [none]"
 
-#: ../clients/cli/connections.c:4244
+#: ../clients/cli/connections.c:4271
 msgid "Bluetooth device address"
 msgstr "Adres urządzenia Bluetooth"
 
-#: ../clients/cli/connections.c:4247
+#: ../clients/cli/connections.c:4274
 msgid "VLAN parent device or connection UUID"
 msgstr "Urządzenie nadrzędne VLAN lub UUID połączenia"
 
-#: ../clients/cli/connections.c:4249
+#: ../clients/cli/connections.c:4276
 msgid "VLAN ID (<0-4094>)"
 msgstr "Identyfikator VLAN (<0-4094>)"
 
-#: ../clients/cli/connections.c:4250
+#: ../clients/cli/connections.c:4277
 msgid "VLAN flags (<0-7>) [none]"
 msgstr "Flagi VLAN (<0-7>) [none]"
 
-#: ../clients/cli/connections.c:4251
+#: ../clients/cli/connections.c:4278
 msgid "Ingress priority maps [none]"
 msgstr "Wejściowe mapy priorytetów [none]"
 
-#: ../clients/cli/connections.c:4252
+#: ../clients/cli/connections.c:4279
 msgid "Egress priority maps [none]"
 msgstr "Wyjściowe mapy priorytetów [none]"
 
-#: ../clients/cli/connections.c:4255
+#: ../clients/cli/connections.c:4282
 msgid "Bonding primary interface [none]"
 msgstr "Główny interfejs wiązania [none]"
 
-#: ../clients/cli/connections.c:4259
+#: ../clients/cli/connections.c:4286
 msgid "Bonding miimon [100]"
 msgstr "„miimon” wiązania [100]"
 
-#: ../clients/cli/connections.c:4260
+#: ../clients/cli/connections.c:4287
 msgid "Bonding downdelay [0]"
 msgstr "„downdelay” wiązania [0]"
 
-#: ../clients/cli/connections.c:4261
+#: ../clients/cli/connections.c:4288
 msgid "Bonding updelay [0]"
 msgstr "„updelay” wiązania [0]"
 
-#: ../clients/cli/connections.c:4262
+#: ../clients/cli/connections.c:4289
 msgid "Bonding arp-interval [0]"
 msgstr "„arp-interval” wiązania [0]"
 
-#: ../clients/cli/connections.c:4264
+#: ../clients/cli/connections.c:4291
 msgid "Bonding arp-ip-target [none]"
 msgstr "„arp-ip-target” wiązania [none]"
 
-#: ../clients/cli/connections.c:4266
+#: ../clients/cli/connections.c:4293
 msgid "LACP rate ('slow' or 'fast') [slow]"
 msgstr "Prędkość LACP („slow” lub „fast”) [slow]"
 
-#: ../clients/cli/connections.c:4268 ../clients/cli/connections.c:4269
+#: ../clients/cli/connections.c:4295 ../clients/cli/connections.c:4296
 msgid "Team JSON configuration [none]"
 msgstr "Konfiguracja JSON zespołu [none]"
 
-#: ../clients/cli/connections.c:4270
+#: ../clients/cli/connections.c:4297
 msgid "Enable STP [no]"
 msgstr "Włączenie STP [no]"
 
-#: ../clients/cli/connections.c:4272
+#: ../clients/cli/connections.c:4299
 msgid "STP priority [32768]"
 msgstr "Priorytet STP [32768]"
 
-#: ../clients/cli/connections.c:4273
+#: ../clients/cli/connections.c:4300
 msgid "Forward delay [15]"
 msgstr "Forward-delay [15]"
 
-#: ../clients/cli/connections.c:4274
+#: ../clients/cli/connections.c:4301
 msgid "Hello time [2]"
 msgstr "Hello-time [2]"
 
-#: ../clients/cli/connections.c:4275
+#: ../clients/cli/connections.c:4302
 msgid "Max age [20]"
 msgstr "Max-age [20]"
 
-#: ../clients/cli/connections.c:4276
+#: ../clients/cli/connections.c:4303
 msgid "MAC address ageing time [300]"
 msgstr "Czas starzenia adresu MAC [300]"
 
-#: ../clients/cli/connections.c:4277
+#: ../clients/cli/connections.c:4304
 msgid "Enable IGMP snooping [no]"
 msgstr "Włączenie węszenia IGMP [no]"
 
-#: ../clients/cli/connections.c:4280
+#: ../clients/cli/connections.c:4307
 msgid "Bridge port priority [32]"
 msgstr "Priorytet portu mostku [32]"
 
-#: ../clients/cli/connections.c:4281
+#: ../clients/cli/connections.c:4308
 msgid "Bridge port STP path cost [100]"
 msgstr "Koszt ścieżki STP portu mostku [100]"
 
-#: ../clients/cli/connections.c:4282
+#: ../clients/cli/connections.c:4309
 msgid "Hairpin [no]"
 msgstr "Hairpin [no]"
 
-#: ../clients/cli/connections.c:4287
+#: ../clients/cli/connections.c:4314
 msgid "OLPC Mesh channel [1]"
 msgstr "Kanał sieci kratowej OLPC [1]"
 
-#: ../clients/cli/connections.c:4288
+#: ../clients/cli/connections.c:4315
 msgid "DHCP anycast MAC address [none]"
 msgstr "Adres MAC „anycast” DHCP [none]"
 
@@ -2206,140 +2214,166 @@ msgstr "Adres MAC „anycast” DHCP [none]"
 #. * is not visible here since we only care about phase2 authentication
 #. * (and don't even care of which one)
 #.
-#: ../clients/cli/connections.c:4289
+#: ../clients/cli/connections.c:4316
 #: ../clients/common/nm-secret-agent-simple.c:223
 #: ../clients/common/nm-secret-agent-simple.c:328
 #: ../clients/tui/nmt-page-dsl.c:66 ../clients/tui/nmt-page-wifi.c:332
 msgid "Username"
 msgstr "Nazwa użytkownika"
 
-#: ../clients/cli/connections.c:4295
+#: ../clients/cli/connections.c:4322
+msgid "MACsec parent device or connection UUID"
+msgstr "Urządzenie nadrzędne MACsec lub UUID połączenia"
+
+#: ../clients/cli/connections.c:4323 ../clients/tui/nmt-page-bond.c:367
+#: ../clients/tui/nmt-page-ip-tunnel.c:148 ../clients/tui/nmt-page-wifi.c:230
+msgid "Mode"
+msgstr "Tryb"
+
+#: ../clients/cli/connections.c:4324
+msgid "Enable encryption [yes]"
+msgstr "Włączenie szyfrowania [yes]"
+
+#: ../clients/cli/connections.c:4325
+#: ../clients/common/nm-secret-agent-simple.c:520
+msgid "MKA CAK"
+msgstr "MKA CAK"
+
+#: ../clients/cli/connections.c:4326
+msgid "MKA_CKN"
+msgstr "MKA_CKN"
+
+#: ../clients/cli/connections.c:4327
+msgid "SCI port [1]"
+msgstr "Port SCI [1]"
+
+#: ../clients/cli/connections.c:4329
 msgid "MACVLAN parent device or connection UUID"
 msgstr "Urządzenie nadrzędne MACVLAN lub UUID połączenia"
 
-#: ../clients/cli/connections.c:4299
+#: ../clients/cli/connections.c:4333
 msgid "Tap [no]"
 msgstr "Tap [no]"
 
-#: ../clients/cli/connections.c:4301
+#: ../clients/cli/connections.c:4335
 msgid "VXLAN ID"
 msgstr "Identyfikator VXLAN"
 
-#: ../clients/cli/connections.c:4302 ../clients/cli/connections.c:4321
+#: ../clients/cli/connections.c:4336 ../clients/cli/connections.c:4355
 msgid "Remote"
 msgstr "Zdalne"
 
-#: ../clients/cli/connections.c:4303 ../clients/cli/connections.c:4322
+#: ../clients/cli/connections.c:4337 ../clients/cli/connections.c:4356
 msgid "Parent device [none]"
 msgstr "Urządzenie nadrzędne [none]"
 
-#: ../clients/cli/connections.c:4305
+#: ../clients/cli/connections.c:4339
 msgid "Local address [none]"
 msgstr "Lokalny adres [none]"
 
-#: ../clients/cli/connections.c:4306
+#: ../clients/cli/connections.c:4340
 msgid "Minimum source port [0]"
 msgstr "Minimalny port źródłowy [0]"
 
-#: ../clients/cli/connections.c:4307
+#: ../clients/cli/connections.c:4341
 msgid "Maximum source port [0]"
 msgstr "Maksymalny port źródłowy [0]"
 
-#: ../clients/cli/connections.c:4308
+#: ../clients/cli/connections.c:4342
 msgid "Destination port [8472]"
 msgstr "Port docelowy [8472]"
 
-#: ../clients/cli/connections.c:4311
+#: ../clients/cli/connections.c:4345
 msgid "User ID [none]"
 msgstr "Identyfikator użytkownika [none]"
 
-#: ../clients/cli/connections.c:4312
+#: ../clients/cli/connections.c:4346
 msgid "Group ID [none]"
 msgstr "Identyfikator grupy [none]"
 
-#: ../clients/cli/connections.c:4313
+#: ../clients/cli/connections.c:4347
 msgid "Enable PI [no]"
 msgstr "Włączenie PI [no]"
 
-#: ../clients/cli/connections.c:4315
+#: ../clients/cli/connections.c:4349
 msgid "Enable VNET header [no]"
 msgstr "Włączenie nagłówka VNET [no]"
 
-#: ../clients/cli/connections.c:4317
+#: ../clients/cli/connections.c:4351
 msgid "Enable multi queue [no]"
 msgstr "Włączenie wielokrotnej kolejki [no]"
 
-#: ../clients/cli/connections.c:4320
+#: ../clients/cli/connections.c:4354
 msgid "Local endpoint [none]"
 msgstr "Lokalny punkt końcowy [none]"
 
-#: ../clients/cli/connections.c:4324
+#: ../clients/cli/connections.c:4358
 msgid "IPv4 address (IP[/plen]) [none]"
 msgstr "Adres IPv4 (IP[/plen]) [none]"
 
-#: ../clients/cli/connections.c:4326
+#: ../clients/cli/connections.c:4360
 msgid "IPv4 gateway [none]"
 msgstr "Brama IPv4 [none]"
 
-#: ../clients/cli/connections.c:4327
+#: ../clients/cli/connections.c:4361
 msgid "IPv6 address (IP[/plen]) [none]"
 msgstr "Adres IPv6 (IP[/plen]) [none]"
 
-#: ../clients/cli/connections.c:4329
+#: ../clients/cli/connections.c:4363
 msgid "IPv6 gateway [none]"
 msgstr "Brama IPv6 [none]"
 
-#: ../clients/cli/connections.c:4330
+#: ../clients/cli/connections.c:4364
 msgid "Proxy method"
-msgstr ""
+msgstr "Metoda pośrednika"
 
-#: ../clients/cli/connections.c:4331
+#: ../clients/cli/connections.c:4365
 msgid "Browser Only"
-msgstr ""
+msgstr "Tylko przeglądarka"
 
-#: ../clients/cli/connections.c:4332
+#: ../clients/cli/connections.c:4366
 msgid "PAC Url"
-msgstr ""
+msgstr "Adres URL PAC"
 
-#: ../clients/cli/connections.c:4333
+#: ../clients/cli/connections.c:4367
 msgid "PAC Script"
-msgstr ""
+msgstr "Skrypt PAC"
 
-#: ../clients/cli/connections.c:4468
+#: ../clients/cli/connections.c:4502
 #, c-format
 msgid "Error: value for '%s' is missing."
 msgstr "Błąd: brak wartości dla „%s”."
 
-#: ../clients/cli/connections.c:4513
+#: ../clients/cli/connections.c:4547
 msgid "Error: <setting>.<property> argument is missing."
 msgstr "Błąd: brak parametru <ustawienie>.<właściwość>."
 
-#: ../clients/cli/connections.c:4536
+#: ../clients/cli/connections.c:4570
 #, c-format
 msgid "Error: invalid or not allowed setting '%s': %s."
 msgstr "Błąd: nieprawidłowe lub niedozwolone ustawienie „%s”: %s."
 
-#: ../clients/cli/connections.c:4560
+#: ../clients/cli/connections.c:4594
 #, c-format
 msgid "Error: '%s' is ambiguous (%s.%s or %s.%s)."
 msgstr "Błąd: „%s” jest niejednoznaczne (%s.%s lub %s.%s)."
 
-#: ../clients/cli/connections.c:4574
+#: ../clients/cli/connections.c:4608
 #, c-format
 msgid "Error: invalid <setting>.<property> '%s'."
 msgstr "Błąd: nieprawidłowe <ustawienie>.<właściwość> „%s”."
 
-#: ../clients/cli/connections.c:4615 ../clients/cli/connections.c:8093
+#: ../clients/cli/connections.c:4649 ../clients/cli/connections.c:8131
 #, c-format
 msgid "Error: Failed to add '%s' connection: %s"
 msgstr "Błąd: dodanie połączenia „%s” się nie powiodło: %s"
 
-#: ../clients/cli/connections.c:4620
+#: ../clients/cli/connections.c:4654
 #, c-format
 msgid "Connection '%s' (%s) successfully added.\n"
 msgstr "Pomyślnie dodano połączenie „%s” (%s).\n"
 
-#: ../clients/cli/connections.c:4738
+#: ../clients/cli/connections.c:4772
 #, c-format
 msgid ""
 "You can specify this option more than once. Press <Enter> when you're done.\n"
@@ -2348,7 +2382,7 @@ msgstr ""
 "ukończeniu.\n"
 
 #. Ask for optional arguments.
-#: ../clients/cli/connections.c:4776
+#: ../clients/cli/connections.c:4810
 #, c-format
 msgid "There is %d optional setting for %s.\n"
 msgid_plural "There are %d optional settings for %s.\n"
@@ -2356,7 +2390,7 @@ msgstr[0] "Istnieje %d opcjonalne ustawienie dla %s.\n"
 msgstr[1] "Istnieją %d opcjonalne ustawienia dla %s.\n"
 msgstr[2] "Istnieje %d opcjonalnych ustawień dla %s.\n"
 
-#: ../clients/cli/connections.c:4779
+#: ../clients/cli/connections.c:4813
 #, c-format
 msgid "Do you want to provide it? %s"
 msgid_plural "Do you want to provide them? %s"
@@ -2364,114 +2398,118 @@ msgstr[0] "Podać go? %s"
 msgstr[1] "Podać je? %s"
 msgstr[2] "Podać je? %s"
 
-#: ../clients/cli/connections.c:4793
+#: ../clients/cli/connections.c:4827
 msgid "Wired Ethernet"
 msgstr "Przewodowy Ethernet"
 
-#: ../clients/cli/connections.c:4795 ../src/devices/nm-device-infiniband.c:186
+#: ../clients/cli/connections.c:4829 ../src/devices/nm-device-infiniband.c:194
 msgid "InfiniBand connection"
 msgstr "Połączenie InfiniBand"
 
-#: ../clients/cli/connections.c:4797
+#: ../clients/cli/connections.c:4831
 msgid "Wi-Fi connection"
 msgstr "Połączenie Wi-Fi"
 
-#: ../clients/cli/connections.c:4799
+#: ../clients/cli/connections.c:4833
 msgid "WiMAX connection"
 msgstr "Połączenie WiMAX"
 
-#: ../clients/cli/connections.c:4801
+#: ../clients/cli/connections.c:4835
 msgid "PPPoE"
 msgstr "PPPoE"
 
-#: ../clients/cli/connections.c:4803
+#: ../clients/cli/connections.c:4837
 msgid "CDMA mobile broadband connection"
 msgstr "Połączenie komórkowe CDMA"
 
-#: ../clients/cli/connections.c:4805
+#: ../clients/cli/connections.c:4839
 msgid "GSM mobile broadband connection"
 msgstr "Połączenie komórkowe GSM"
 
-#: ../clients/cli/connections.c:4807
+#: ../clients/cli/connections.c:4841
 msgid "bluetooth connection"
 msgstr "Połączenie Bluetooth"
 
-#: ../clients/cli/connections.c:4809 ../src/devices/nm-device-vlan.c:432
+#: ../clients/cli/connections.c:4843 ../src/devices/nm-device-vlan.c:432
 msgid "VLAN connection"
 msgstr "Połączenie VLAN"
 
-#: ../clients/cli/connections.c:4811
+#: ../clients/cli/connections.c:4845
 msgid "Bond device"
 msgstr "Urządzenie wiązania"
 
-#: ../clients/cli/connections.c:4813
+#: ../clients/cli/connections.c:4847
 msgid "Team device"
 msgstr "Urządzenie zespołowe"
 
-#: ../clients/cli/connections.c:4815
+#: ../clients/cli/connections.c:4849
 msgid "Team port"
 msgstr "Port zespołu"
 
-#: ../clients/cli/connections.c:4817
+#: ../clients/cli/connections.c:4851
 msgid "Bridge device"
 msgstr "Urządzenie mostka"
 
-#: ../clients/cli/connections.c:4819
+#: ../clients/cli/connections.c:4853
 msgid "Bridge port"
 msgstr "Port mostka"
 
-#: ../clients/cli/connections.c:4821 ../src/nm-manager.c:3824
+#: ../clients/cli/connections.c:4855 ../src/nm-manager.c:3824
 msgid "VPN connection"
 msgstr "Połączenie VPN"
 
-#: ../clients/cli/connections.c:4823
+#: ../clients/cli/connections.c:4857
 msgid "OLPC Mesh connection"
 msgstr "Połączenie kratowe OLPC"
 
-#: ../clients/cli/connections.c:4825 ../src/devices/adsl/nm-device-adsl.c:137
+#: ../clients/cli/connections.c:4859 ../src/devices/adsl/nm-device-adsl.c:137
 msgid "ADSL connection"
 msgstr "Połączenie ADSL"
 
-#: ../clients/cli/connections.c:4827
+#: ../clients/cli/connections.c:4861
+msgid "MACsec connection"
+msgstr "Połączenie MACsec"
+
+#: ../clients/cli/connections.c:4863
 msgid "macvlan connection"
 msgstr "Połączenie MACVLAN"
 
-#: ../clients/cli/connections.c:4829 ../src/devices/nm-device-vxlan.c:369
+#: ../clients/cli/connections.c:4865 ../src/devices/nm-device-vxlan.c:369
 msgid "VXLAN connection"
 msgstr "Połączenie VXLAN"
 
-#: ../clients/cli/connections.c:4831
+#: ../clients/cli/connections.c:4867
 msgid "Tun device"
 msgstr "Urządzenie TUN"
 
-#: ../clients/cli/connections.c:4833
+#: ../clients/cli/connections.c:4869
 msgid "IPv4 protocol"
 msgstr "Protokół IPv4"
 
-#: ../clients/cli/connections.c:4835
+#: ../clients/cli/connections.c:4871
 msgid "IPv6 protocol"
 msgstr "Protokół IPv6"
 
-#: ../clients/cli/connections.c:4837
+#: ../clients/cli/connections.c:4873
 msgid "Proxy"
-msgstr ""
+msgstr "Pośrednik"
 
-#: ../clients/cli/connections.c:4920 ../clients/cli/utils.c:122
+#: ../clients/cli/connections.c:4956 ../clients/cli/utils.c:122
 #, c-format
 msgid "Error: value for '%s' argument is required."
 msgstr "Błąd: wartość dla parametru „%s” jest wymagana."
 
-#: ../clients/cli/connections.c:4926
+#: ../clients/cli/connections.c:4962
 #, c-format
 msgid "Error: 'save': %s."
 msgstr "Błąd: „save”: %s."
 
-#: ../clients/cli/connections.c:4998
+#: ../clients/cli/connections.c:5034
 #, c-format
 msgid "Error: '%s' argument is required."
 msgstr "Błąd: parametr „%s” jest wymagany."
 
-#: ../clients/cli/connections.c:5968
+#: ../clients/cli/connections.c:6006
 #, c-format
 msgid "['%s' setting values]\n"
 msgstr "[wartości ustawienia „%s”]\n"
@@ -2479,7 +2517,7 @@ msgstr "[wartości ustawienia „%s”]\n"
 #. TRANSLATORS: do not translate command names and keywords before ::
 #. *              However, you should translate terms enclosed in <>.
 #.
-#: ../clients/cli/connections.c:6050
+#: ../clients/cli/connections.c:6088
 #, c-format
 msgid ""
 "---[ Main menu ]---\n"
@@ -2516,7 +2554,7 @@ msgstr ""
 "nmcli    <opcja konfiguracji> <wartość>        :: konfiguracja nmcli\n"
 "quit                                           :: kończy działanie nmcli\n"
 
-#: ../clients/cli/connections.c:6077
+#: ../clients/cli/connections.c:6115
 #, c-format
 msgid ""
 "goto <setting>[.<prop>] | <prop>  :: enter setting/property for editing\n"
@@ -2537,7 +2575,7 @@ msgstr ""
 "           nmcli connection> goto secondaries\n"
 "           nmcli> goto ipv4.addresses\n"
 
-#: ../clients/cli/connections.c:6084
+#: ../clients/cli/connections.c:6122
 #, c-format
 msgid ""
 "remove <setting>[.<prop>]  :: remove setting or reset property value\n"
@@ -2558,7 +2596,7 @@ msgstr ""
 "Przykłady: nmcli> remove wifi-sec\n"
 "           nmcli> remove eth.mtu\n"
 
-#: ../clients/cli/connections.c:6091
+#: ../clients/cli/connections.c:6129
 #, c-format
 msgid ""
 "set [<setting>.<prop> <value>]  :: set property value\n"
@@ -2573,7 +2611,7 @@ msgstr ""
 "\n"
 "Przykład: nmcli> set con.id Moje połączenie\n"
 
-#: ../clients/cli/connections.c:6096
+#: ../clients/cli/connections.c:6134
 #, c-format
 msgid ""
 "describe [<setting>.<prop>]  :: describe property\n"
@@ -2586,7 +2624,7 @@ msgstr ""
 "Wyświetla opis właściwości. Wszystkie ustawienia i właściwości usługi NM\n"
 "można znaleźć na stronie podręcznika nm-settings(5).\n"
 
-#: ../clients/cli/connections.c:6101
+#: ../clients/cli/connections.c:6139
 #, c-format
 msgid ""
 "print [all]  :: print setting or connection values\n"
@@ -2601,7 +2639,7 @@ msgstr ""
 "\n"
 "Przykład: nmcli ipv4> print all\n"
 
-#: ../clients/cli/connections.c:6106
+#: ../clients/cli/connections.c:6144
 #, c-format
 msgid ""
 "verify [all | fix]  :: verify setting or connection validity\n"
@@ -2625,7 +2663,7 @@ msgstr ""
 "           nmcli> verify fix\n"
 "           nmcli bond> verify\n"
 
-#: ../clients/cli/connections.c:6115
+#: ../clients/cli/connections.c:6153
 #, c-format
 msgid ""
 "save [persistent|temporary]  :: save the connection\n"
@@ -2651,7 +2689,7 @@ msgstr ""
 "między ponownymi uruchomieniami. Aby w pełni usunąć trwałe połączenie,\n"
 "należy usunąć profil połączenia.\n"
 
-#: ../clients/cli/connections.c:6126
+#: ../clients/cli/connections.c:6164
 #, c-format
 msgid ""
 "activate [<ifname>] [/<ap>|<nsp>]  :: activate the connection\n"
@@ -2673,7 +2711,7 @@ msgstr ""
 "                     poprzedzić znakiem /, kiedy nie podano\n"
 "                     <nazwy-interfejsu>)\n"
 
-#: ../clients/cli/connections.c:6133 ../clients/cli/connections.c:6292
+#: ../clients/cli/connections.c:6171 ../clients/cli/connections.c:6330
 #, c-format
 msgid ""
 "back  :: go to upper menu level\n"
@@ -2682,7 +2720,7 @@ msgstr ""
 "back  :: przechodzi do menu wyższego poziomu\n"
 "\n"
 
-#: ../clients/cli/connections.c:6136
+#: ../clients/cli/connections.c:6174
 #, c-format
 msgid ""
 "help/? [<command>]  :: help for the nmcli commands\n"
@@ -2691,7 +2729,7 @@ msgstr ""
 "help/? [<polecenie>]  :: pomoc dla poleceń nmcli\n"
 "\n"
 
-#: ../clients/cli/connections.c:6139
+#: ../clients/cli/connections.c:6177
 #, c-format
 msgid ""
 "nmcli [<conf-option> <value>]  :: nmcli configuration\n"
@@ -2718,7 +2756,7 @@ msgstr ""
 "           nmcli> nmcli save-confirmation no\n"
 "           nmcli> nmcli prompt-color 3\n"
 
-#: ../clients/cli/connections.c:6161 ../clients/cli/connections.c:6298
+#: ../clients/cli/connections.c:6199 ../clients/cli/connections.c:6336
 #, c-format
 msgid ""
 "quit  :: exit nmcli\n"
@@ -2731,8 +2769,8 @@ msgstr ""
 "To polecenie kończy działanie nmcli. Jeśli modyfikowane połączenie nie jest "
 "zapisane, użytkownik zostanie poproszony o potwierdzenie działania.\n"
 
-#: ../clients/cli/connections.c:6166 ../clients/cli/connections.c:6303
-#: ../clients/cli/connections.c:6723 ../clients/cli/connections.c:7675
+#: ../clients/cli/connections.c:6204 ../clients/cli/connections.c:6341
+#: ../clients/cli/connections.c:6761 ../clients/cli/connections.c:7713
 #, c-format
 msgid "Unknown command: '%s'\n"
 msgstr "Nieznane polecenie: „%s”\n"
@@ -2740,7 +2778,7 @@ msgstr "Nieznane polecenie: „%s”\n"
 #. TRANSLATORS: do not translate command names and keywords before ::
 #. *              However, you should translate terms enclosed in <>.
 #.
-#: ../clients/cli/connections.c:6232
+#: ../clients/cli/connections.c:6270
 #, c-format
 msgid ""
 "---[ Property menu ]---\n"
@@ -2767,7 +2805,7 @@ msgstr ""
 "help/?   [<polecenie>]           :: wyświetla tę pomoc lub opis polecenia\n"
 "quit                             :: kończy działanie nmcli\n"
 
-#: ../clients/cli/connections.c:6257
+#: ../clients/cli/connections.c:6295
 #, c-format
 msgid ""
 "set [<value>]  :: set new value\n"
@@ -2778,7 +2816,7 @@ msgstr ""
 "\n"
 "To polecenie ustawia podaną <wartość> tej właściwości\n"
 
-#: ../clients/cli/connections.c:6261
+#: ../clients/cli/connections.c:6299
 #, c-format
 msgid ""
 "add [<value>]  :: append new value to the property\n"
@@ -2793,7 +2831,7 @@ msgstr ""
 "jest typu kontener. W przypadku właściwości zawierających jedną wartość "
 "zastępuje tę wartość (podobnie jak „set”).\n"
 
-#: ../clients/cli/connections.c:6267
+#: ../clients/cli/connections.c:6305
 #, c-format
 msgid ""
 "change  :: change current value\n"
@@ -2804,7 +2842,7 @@ msgstr ""
 "\n"
 "Wyświetla bieżącą wartość i umożliwia jej modyfikację.\n"
 
-#: ../clients/cli/connections.c:6271
+#: ../clients/cli/connections.c:6309
 #, c-format
 msgid ""
 "remove [<value>|<index>|<option name>]  :: delete the value\n"
@@ -2837,7 +2875,7 @@ msgstr ""
 "           nmcli bond.options> remove downdelay\n"
 "\n"
 
-#: ../clients/cli/connections.c:6282
+#: ../clients/cli/connections.c:6320
 #, c-format
 msgid ""
 "describe  :: describe property\n"
@@ -2850,7 +2888,7 @@ msgstr ""
 "Wyświetla opis właściwości. Wszystkie ustawienia i właściwości usługi NM "
 "można znaleźć na stronie podręcznika nm-settings(5).\n"
 
-#: ../clients/cli/connections.c:6287
+#: ../clients/cli/connections.c:6325
 #, c-format
 msgid ""
 "print [property|setting|connection]  :: print property (setting, connection) "
@@ -2865,7 +2903,7 @@ msgstr ""
 "Wyświetla wartość właściwości. Podając parametr można także wyświetlić "
 "wartości dla całego ustawienia lub połączenia.\n"
 
-#: ../clients/cli/connections.c:6295
+#: ../clients/cli/connections.c:6333
 #, c-format
 msgid ""
 "help/? [<command>]  :: help for nmcli commands\n"
@@ -2874,28 +2912,28 @@ msgstr ""
 "help/? [<polecenie>]  :: pomoc dla poleceń nmcli\n"
 "\n"
 
-#: ../clients/cli/connections.c:6388
+#: ../clients/cli/connections.c:6426
 #, c-format
 msgid "Error: Connection activation failed.\n"
 msgstr "Błąd: aktywacja połączenia się nie powiodła.\n"
 
-#: ../clients/cli/connections.c:6472
+#: ../clients/cli/connections.c:6510
 #, c-format
 msgid "Error: setting '%s' is mandatory and cannot be removed.\n"
 msgstr "Błąd: ustawienie „%s” jest wymagane i nie może być usuwane.\n"
 
 #. TRANSLATORS: status line in nmcli connection editor
-#: ../clients/cli/connections.c:6490
+#: ../clients/cli/connections.c:6528
 #, c-format
 msgid "[ Type: %s | Name: %s | UUID: %s | Dirty: %s | Temp: %s ]\n"
 msgstr "[ Typ: %s | nazwa: %s | UUID: %s | dirty: %s | tymczasowe: %s ]\n"
 
-#: ../clients/cli/connections.c:6526
+#: ../clients/cli/connections.c:6564
 #, c-format
 msgid "The connection is not saved. Do you really want to quit? %s"
 msgstr "Połączenie nie jest zapisane. Na pewno zakończyć? %s"
 
-#: ../clients/cli/connections.c:6575
+#: ../clients/cli/connections.c:6613
 #, c-format
 msgid ""
 "The connection profile has been removed from another client. You may type "
@@ -2904,66 +2942,66 @@ msgstr ""
 "Profil połączenia został usunięty z innego klienta. Można wpisać „save” "
 "w głównym oknie, aby go przywrócić.\n"
 
-#: ../clients/cli/connections.c:6600 ../clients/cli/connections.c:7021
-#: ../clients/cli/connections.c:7079
+#: ../clients/cli/connections.c:6638 ../clients/cli/connections.c:7059
+#: ../clients/cli/connections.c:7117
 #, c-format
 msgid "Allowed values for '%s' property: %s\n"
 msgstr "Dozwolone wartości dla właściwości „%s”: %s\n"
 
-#: ../clients/cli/connections.c:6604 ../clients/cli/connections.c:7025
-#: ../clients/cli/connections.c:7083
+#: ../clients/cli/connections.c:6642 ../clients/cli/connections.c:7063
+#: ../clients/cli/connections.c:7121
 #, c-format
 msgid "Enter '%s' value: "
 msgstr "Proszę podać wartość „%s”: "
 
-#: ../clients/cli/connections.c:6619 ../clients/cli/connections.c:6641
-#: ../clients/cli/connections.c:7029 ../clients/cli/connections.c:7088
+#: ../clients/cli/connections.c:6657 ../clients/cli/connections.c:6679
+#: ../clients/cli/connections.c:7067 ../clients/cli/connections.c:7126
 #, c-format
 msgid "Error: failed to set '%s' property: %s\n"
 msgstr "Błąd: ustawienie właściwości „%s” się nie powiodło: %s\n"
 
-#: ../clients/cli/connections.c:6635
+#: ../clients/cli/connections.c:6673
 #, c-format
 msgid "Edit '%s' value: "
 msgstr "Modyfikacja wartości „%s”: "
 
-#: ../clients/cli/connections.c:6664
+#: ../clients/cli/connections.c:6702
 #, c-format
 msgid "Error: %s\n"
 msgstr "Błąd: %s\n"
 
-#: ../clients/cli/connections.c:6670 ../clients/cli/connections.c:7180
-#: ../clients/cli/connections.c:7228
+#: ../clients/cli/connections.c:6708 ../clients/cli/connections.c:7218
+#: ../clients/cli/connections.c:7266
 #, c-format
 msgid "Error: failed to remove value of '%s': %s\n"
 msgstr "Błąd: usunięcie wartości „%s” się nie powiodło: %s\n"
 
-#: ../clients/cli/connections.c:6691
+#: ../clients/cli/connections.c:6729
 #, c-format
 msgid "Unknown command argument: '%s'\n"
 msgstr "Nieznany parametr polecenia: „%s”\n"
 
-#: ../clients/cli/connections.c:6796
+#: ../clients/cli/connections.c:6834
 #, c-format
 msgid "Available settings: %s\n"
 msgstr "Dostępne ustawienia: %s\n"
 
-#: ../clients/cli/connections.c:6808
+#: ../clients/cli/connections.c:6846
 #, c-format
 msgid "Error: invalid setting name; %s\n"
 msgstr "Błąd: nieprawidłowa nazwa ustawienia; %s\n"
 
-#: ../clients/cli/connections.c:6825
+#: ../clients/cli/connections.c:6863
 #, c-format
 msgid "Available properties: %s\n"
 msgstr "Dostępne właściwości: %s\n"
 
-#: ../clients/cli/connections.c:6833
+#: ../clients/cli/connections.c:6871
 #, c-format
 msgid "Error: property %s\n"
 msgstr "Błąd: właściwość %s\n"
 
-#: ../clients/cli/connections.c:6874
+#: ../clients/cli/connections.c:6912
 #, c-format
 msgid ""
 "Saving the connection with 'autoconnect=yes'. That might result in an "
@@ -2974,12 +3012,12 @@ msgstr ""
 "natychmiastową aktywację połączenia.\n"
 "Na pewno zapisać? %s"
 
-#: ../clients/cli/connections.c:6963
+#: ../clients/cli/connections.c:7001
 #, c-format
 msgid "You may edit the following settings: %s\n"
 msgstr "Można modyfikować następujące ustawienia: %s\n"
 
-#: ../clients/cli/connections.c:6991
+#: ../clients/cli/connections.c:7029
 #, c-format
 msgid ""
 "The connection profile has been removed from another client. You may type "
@@ -2988,218 +3026,218 @@ msgstr ""
 "Profil połączenia został usunięty z innego klienta. Można wpisać „save”, aby "
 "go przywrócić.\n"
 
-#: ../clients/cli/connections.c:7033 ../clients/cli/connections.c:7273
+#: ../clients/cli/connections.c:7071 ../clients/cli/connections.c:7311
 #, c-format
 msgid "Error: no setting selected; valid are [%s]\n"
 msgstr "Błąd: nie wybrano ustawienia; prawidłowe to [%s]\n"
 
-#: ../clients/cli/connections.c:7034
+#: ../clients/cli/connections.c:7072
 #, c-format
 msgid "use 'goto <setting>' first, or 'set <setting>.<property>'\n"
 msgstr ""
 "należy najpierw użyć „goto <ustawienie>” lub „set <ustawienie>."
 "<właściwość>”\n"
 
-#: ../clients/cli/connections.c:7048 ../clients/cli/connections.c:7207
-#: ../clients/cli/connections.c:7295
+#: ../clients/cli/connections.c:7086 ../clients/cli/connections.c:7245
+#: ../clients/cli/connections.c:7333
 #, c-format
 msgid "Error: invalid setting argument '%s'; valid are [%s]\n"
 msgstr "Błąd: nieprawidłowy parametr ustawienia „%s”; prawidłowe to [%s]\n"
 
-#: ../clients/cli/connections.c:7058
+#: ../clients/cli/connections.c:7096
 #, c-format
 msgid "Error: missing setting for '%s' property\n"
 msgstr "Błąd: brak ustawienia dla właściwości „%s”\n"
 
-#: ../clients/cli/connections.c:7065
+#: ../clients/cli/connections.c:7103
 #, c-format
 msgid "Error: invalid property: %s\n"
 msgstr "Błąd: nieprawidłowa właściwość: %s\n"
 
-#: ../clients/cli/connections.c:7118
+#: ../clients/cli/connections.c:7156
 #, c-format
 msgid "Error: unknown setting '%s'\n"
 msgstr "Błąd: nieznane ustawienie „%s”\n"
 
-#: ../clients/cli/connections.c:7141
+#: ../clients/cli/connections.c:7179
 #, c-format
 msgid "You may edit the following properties: %s\n"
 msgstr "Można modyfikować następujące właściwości: %s\n"
 
-#: ../clients/cli/connections.c:7185
+#: ../clients/cli/connections.c:7223
 #, c-format
 msgid "Error: no argument given; valid are [%s]\n"
 msgstr "Błąd: nie podano żadnego parametru; prawidłowe to [%s]\n"
 
-#: ../clients/cli/connections.c:7204
+#: ../clients/cli/connections.c:7242
 #, c-format
 msgid "Setting '%s' is not present in the connection.\n"
 msgstr "Ustawienie „%s” nie jest obecne w połączeniu.\n"
 
-#: ../clients/cli/connections.c:7249
+#: ../clients/cli/connections.c:7287
 #, c-format
 msgid "Error: %s properties, nor it is a setting name.\n"
 msgstr "Błąd: właściwości %s, ani nie jest nazwą ustawiania.\n"
 
-#: ../clients/cli/connections.c:7274
+#: ../clients/cli/connections.c:7312
 #, c-format
 msgid "use 'goto <setting>' first, or 'describe <setting>.<property>'\n"
 msgstr ""
 "należy najpierw użyć „goto <ustawienie>” lub „describe <ustawienie>."
 "<właściwość>”\n"
 
-#: ../clients/cli/connections.c:7323
+#: ../clients/cli/connections.c:7361
 #, c-format
 msgid "Error: invalid property: %s, neither a valid setting name.\n"
 msgstr "Błąd: nieprawidłowa właściwość: %s: ani prawidłową nazwą ustawienia.\n"
 
-#: ../clients/cli/connections.c:7355
+#: ../clients/cli/connections.c:7393
 #, c-format
 msgid "Error: unknown setting: '%s'\n"
 msgstr "Błąd: nieznane ustawienie: „%s”\n"
 
-#: ../clients/cli/connections.c:7360
+#: ../clients/cli/connections.c:7398
 #, c-format
 msgid "Error: '%s' setting not present in the connection\n"
 msgstr "Błąd: ustawienie „%s” nie jest obecne w połączeniu\n"
 
-#: ../clients/cli/connections.c:7388
+#: ../clients/cli/connections.c:7426
 #, c-format
 msgid "Error: invalid property: %s%s\n"
 msgstr "Błąd: nieprawidłowa właściwość: %s%s\n"
 
-#: ../clients/cli/connections.c:7390
+#: ../clients/cli/connections.c:7428
 msgid ", neither a valid setting name"
 msgstr ", ani prawidłową nazwą ustawienia"
 
-#: ../clients/cli/connections.c:7407
+#: ../clients/cli/connections.c:7445
 #, c-format
 msgid "Invalid verify option: %s\n"
 msgstr "Nieprawidłowa opcja sprawdzania: %s\n"
 
-#: ../clients/cli/connections.c:7415
+#: ../clients/cli/connections.c:7453
 #, c-format
 msgid "Verify setting '%s': %s\n"
 msgstr "Sprawdzenie ustawienia „%s”: %s\n"
 
-#: ../clients/cli/connections.c:7430
+#: ../clients/cli/connections.c:7468
 #, c-format
 msgid "Verify connection: %s\n"
 msgstr "Sprawdzenie połączenia: %s\n"
 
-#: ../clients/cli/connections.c:7433
+#: ../clients/cli/connections.c:7471
 #, c-format
 msgid "The error cannot be fixed automatically.\n"
 msgstr "Nie można automatycznie naprawić błędu.\n"
 
-#: ../clients/cli/connections.c:7450
+#: ../clients/cli/connections.c:7488
 #, c-format
 msgid "Error: invalid argument '%s'\n"
 msgstr "Błąd: nieprawidłowy parametr „%s”\n"
 
-#: ../clients/cli/connections.c:7482
+#: ../clients/cli/connections.c:7520
 #, c-format
 msgid "Error: Failed to save '%s' (%s) connection: %s\n"
 msgstr "Błąd: zapisanie połączenia „%s” (%s) się nie powiodło: %s\n"
 
-#: ../clients/cli/connections.c:7489
+#: ../clients/cli/connections.c:7527
 #, c-format
 msgid "Connection '%s' (%s) successfully saved.\n"
 msgstr "Pomyślnie zapisano połączenie „%s” (%s).\n"
 
-#: ../clients/cli/connections.c:7490
+#: ../clients/cli/connections.c:7528
 #, c-format
 msgid "Connection '%s' (%s) successfully updated.\n"
 msgstr "Pomyślnie zaktualizowano połączenie „%s” (%s).\n"
 
-#: ../clients/cli/connections.c:7522
+#: ../clients/cli/connections.c:7560
 #, c-format
 msgid "Error: connection verification failed: %s\n"
 msgstr "Błąd: sprawdzenie połączenia się nie powiodło: %s\n"
 
-#: ../clients/cli/connections.c:7523
+#: ../clients/cli/connections.c:7561
 msgid "(unknown error)"
 msgstr "(nieznany błąd)"
 
-#: ../clients/cli/connections.c:7524
+#: ../clients/cli/connections.c:7562
 #, c-format
 msgid "You may try running 'verify fix' to fix errors.\n"
 msgstr "Można spróbować wykonać „verify fix”, aby naprawić błędy.\n"
 
-#: ../clients/cli/connections.c:7546
+#: ../clients/cli/connections.c:7584
 #, c-format
 msgid "Error: connection is not saved. Type 'save' first.\n"
 msgstr "Błąd: połączenie nie jest zapisane. Należy najpierw wpisać „save”.\n"
 
-#: ../clients/cli/connections.c:7550
+#: ../clients/cli/connections.c:7588
 #, c-format
 msgid "Error: connection is not valid: %s\n"
 msgstr "Błąd: połączenie jest nieprawidłowe: %s\n"
 
-#: ../clients/cli/connections.c:7560
+#: ../clients/cli/connections.c:7598
 #, c-format
 msgid "Error: Cannot activate connection: %s.\n"
 msgstr "Błąd: nie można aktywować połączenia: %s.\n"
 
-#: ../clients/cli/connections.c:7569
+#: ../clients/cli/connections.c:7607
 #, c-format
 msgid "Error: Failed to activate '%s' (%s) connection: %s\n"
 msgstr "Błąd: aktywowanie połączenia „%s” (%s) się nie powiodło: %s\n"
 
-#: ../clients/cli/connections.c:7575
+#: ../clients/cli/connections.c:7613
 msgid "Monitoring connection activation (press any key to continue)\n"
 msgstr ""
 "Aktywacja monitorowania połączenia (naciśnięcie dowolnego klawisza "
 "kontynuuje)\n"
 
-#: ../clients/cli/connections.c:7611
+#: ../clients/cli/connections.c:7649
 #, c-format
 msgid "Error: status-line: %s\n"
 msgstr "Błąd: status-line: %s\n"
 
-#: ../clients/cli/connections.c:7619
+#: ../clients/cli/connections.c:7657
 #, c-format
 msgid "Error: save-confirmation: %s\n"
 msgstr "Błąd: save-confirmation: %s\n"
 
-#: ../clients/cli/connections.c:7627
+#: ../clients/cli/connections.c:7665
 #, c-format
 msgid "Error: show-secrets: %s\n"
 msgstr "Błąd: show-secrets: %s\n"
 
-#: ../clients/cli/connections.c:7636
+#: ../clients/cli/connections.c:7674
 #, c-format
 msgid "Error: bad color: %s\n"
 msgstr "Błąd: błędny kolor: %s\n"
 
-#: ../clients/cli/connections.c:7650
+#: ../clients/cli/connections.c:7688
 #, c-format
 msgid "Current nmcli configuration:\n"
 msgstr "Obecna konfiguracja nmcli:\n"
 
-#: ../clients/cli/connections.c:7660
+#: ../clients/cli/connections.c:7698
 #, c-format
 msgid "Invalid configuration option '%s'; allowed [%s]\n"
 msgstr "Nieprawidłowa opcja konfiguracji „%s”; dozwolone [%s]\n"
 
-#: ../clients/cli/connections.c:7877
+#: ../clients/cli/connections.c:7915
 #, c-format
 msgid "Error: only one of 'id', uuid, or 'path' can be provided."
 msgstr "Błąd: tylko jedno z „id”, UUID lub „path” może być podane."
 
-#: ../clients/cli/connections.c:7889 ../clients/cli/connections.c:8050
+#: ../clients/cli/connections.c:7927 ../clients/cli/connections.c:8088
 #, c-format
 msgid "Error: Unknown connection '%s'."
 msgstr "Błąd: nieznane połączenie „%s”."
 
-#: ../clients/cli/connections.c:7907
+#: ../clients/cli/connections.c:7945
 #, c-format
 msgid "Warning: editing existing connection '%s'; 'type' argument is ignored\n"
 msgstr ""
 "Ostrzeżenie: modyfikowanie istniejącego połączenia „%s”; parametr „type” "
 "jest ignorowany\n"
 
-#: ../clients/cli/connections.c:7910
+#: ../clients/cli/connections.c:7948
 #, c-format
 msgid ""
 "Warning: editing existing connection '%s'; 'con-name' argument is ignored\n"
@@ -3207,197 +3245,197 @@ msgstr ""
 "Ostrzeżenie: modyfikowanie istniejącego połączenia „%s”; parametr „con-name” "
 "jest ignorowany\n"
 
-#: ../clients/cli/connections.c:7924
+#: ../clients/cli/connections.c:7962
 #, c-format
 msgid "Valid connection types: %s\n"
 msgstr "Prawidłowe typy połączeń: %s\n"
 
-#: ../clients/cli/connections.c:7926
+#: ../clients/cli/connections.c:7964
 #, c-format
 msgid "Error: invalid connection type; %s\n"
 msgstr "Błąd: nieznany typ połączenia; %s\n"
 
-#: ../clients/cli/connections.c:7965
+#: ../clients/cli/connections.c:8003
 #, c-format
 msgid "===| nmcli interactive connection editor |==="
 msgstr "===| interaktywny edytor połączeń nmcli |==="
 
-#: ../clients/cli/connections.c:7968
+#: ../clients/cli/connections.c:8006
 #, c-format
 msgid "Editing existing '%s' connection: '%s'"
 msgstr "Modyfikowanie istniejącego połączenia „%s”: „%s”"
 
-#: ../clients/cli/connections.c:7970
+#: ../clients/cli/connections.c:8008
 #, c-format
 msgid "Adding a new '%s' connection"
 msgstr "Dodawanie nowego połączenia „%s”"
 
-#: ../clients/cli/connections.c:7972
+#: ../clients/cli/connections.c:8010
 #, c-format
 msgid "Type 'help' or '?' for available commands."
 msgstr "Wpisanie „help” lub „?” wyświetla dostępne polecenia."
 
-#: ../clients/cli/connections.c:7974
+#: ../clients/cli/connections.c:8012
 #, c-format
 msgid "Type 'describe [<setting>.<prop>]' for detailed property description."
 msgstr ""
 "Wpisanie „describe [<ustawienie>.<właściwość>]” wyświetla szczegółowy opis "
 "właściwości."
 
-#: ../clients/cli/connections.c:8009
+#: ../clients/cli/connections.c:8047
 #, c-format
 msgid "Error: Failed to modify connection '%s': %s"
 msgstr "Błąd: zmodyfikowanie połączenia „%s” się nie powiodło: %s"
 
-#: ../clients/cli/connections.c:8016
+#: ../clients/cli/connections.c:8054
 #, c-format
 msgid "Connection '%s' (%s) successfully modified.\n"
 msgstr "Pomyślnie zmodyfikowano połączenie „%s” (%s).\n"
 
-#: ../clients/cli/connections.c:8098
+#: ../clients/cli/connections.c:8136
 #, c-format
 msgid "%s (%s) cloned as %s (%s).\n"
 msgstr "Sklonowano %s (%s) jako %s (%s).\n"
 
-#: ../clients/cli/connections.c:8162
+#: ../clients/cli/connections.c:8200
 msgid "New connection name: "
 msgstr "Nazwa nowego połączenia: "
 
-#: ../clients/cli/connections.c:8164
+#: ../clients/cli/connections.c:8202
 #, c-format
 msgid "Error: <new name> argument is missing."
 msgstr "Błąd: brak parametru <nowa nazwa>."
 
-#: ../clients/cli/connections.c:8170 ../clients/cli/connections.c:8653
+#: ../clients/cli/connections.c:8208 ../clients/cli/connections.c:8691
 #, c-format
 msgid "Error: unknown extra argument: '%s'."
 msgstr "Błąd: nieznany dodatkowy parametr: „%s”."
 
-#: ../clients/cli/connections.c:8219
+#: ../clients/cli/connections.c:8257
 #, c-format
 msgid "Error: not all connections deleted."
 msgstr "Błąd: nie usunięto wszystkich połączeń."
 
-#: ../clients/cli/connections.c:8220
+#: ../clients/cli/connections.c:8258
 #, c-format
 msgid "Error: Connection deletion failed: %s"
 msgstr "Błąd: usunięcie połączenia się nie powiodło: %s"
 
-#: ../clients/cli/connections.c:8277 ../clients/cli/connections.c:8400
+#: ../clients/cli/connections.c:8315 ../clients/cli/connections.c:8438
 #, c-format
 msgid "Error: %s.\n"
 msgstr "Błąd: %s.\n"
 
-#: ../clients/cli/connections.c:8278 ../clients/cli/connections.c:8401
+#: ../clients/cli/connections.c:8316 ../clients/cli/connections.c:8439
 #, c-format
 msgid "Error: not all connections found."
 msgstr "Błąd: nie odnaleziono wszystkich połączeń."
 
 #. truncate trailing ", "
-#: ../clients/cli/connections.c:8320
+#: ../clients/cli/connections.c:8358
 #, c-format
 msgid "Error: cannot delete unknown connection(s): %s."
 msgstr "Błąd: nie można usunąć nieznanych połączeń: %s."
 
-#: ../clients/cli/connections.c:8332
+#: ../clients/cli/connections.c:8370
 #, c-format
 msgid "%s: connection profile changed\n"
 msgstr "%s: zmieniono profil połączenia\n"
 
-#: ../clients/cli/connections.c:8358
+#: ../clients/cli/connections.c:8396
 #, c-format
 msgid "%s: connection profile created\n"
 msgstr "%s: utworzono profil połączenia\n"
 
-#: ../clients/cli/connections.c:8367
+#: ../clients/cli/connections.c:8405
 #, c-format
 msgid "%s: connection profile removed\n"
 msgstr "%s: usunięto profil połączenia\n"
 
-#: ../clients/cli/connections.c:8428
+#: ../clients/cli/connections.c:8466
 #, c-format
 msgid "Error: failed to reload connections: %s."
 msgstr "Błąd: ponowne wczytanie połączeń się nie powiodło: %s."
 
-#: ../clients/cli/connections.c:8460
+#: ../clients/cli/connections.c:8498
 #, c-format
 msgid "Error: failed to load connection: %s."
 msgstr "Błąd: wczytanie połączeń się nie powiodło: %s."
 
-#: ../clients/cli/connections.c:8468
+#: ../clients/cli/connections.c:8506
 #, c-format
 msgid "Could not load file '%s'\n"
 msgstr "Nie można wczytać pliku „%s”\n"
 
-#: ../clients/cli/connections.c:8477
+#: ../clients/cli/connections.c:8515
 msgid "File to import: "
 msgstr "Plik do zaimportowania: "
 
-#: ../clients/cli/connections.c:8501
+#: ../clients/cli/connections.c:8539
 #, c-format
 msgid "Error: No arguments provided."
 msgstr "Błąd: nie podano żadnych parametrów."
 
-#: ../clients/cli/connections.c:8524
+#: ../clients/cli/connections.c:8562
 #, c-format
 msgid "Warning: 'type' already specified, ignoring extra one.\n"
 msgstr "Ostrzeżenie: „type” zostało już podane, ignorowanie dodatkowego.\n"
 
-#: ../clients/cli/connections.c:8537
+#: ../clients/cli/connections.c:8575
 #, c-format
 msgid "Warning: 'file' already specified, ignoring extra one.\n"
 msgstr "Ostrzeżenie: „file” zostało już podane, ignorowanie dodatkowego.\n"
 
-#: ../clients/cli/connections.c:8539
+#: ../clients/cli/connections.c:8577
 #, c-format
 msgid "Unknown parameter: %s"
 msgstr "Nieznany parametr: %s"
 
-#: ../clients/cli/connections.c:8552
+#: ../clients/cli/connections.c:8590
 #, c-format
 msgid "Error: 'type' argument is required."
 msgstr "Błąd: parametr „type” jest wymagany."
 
-#: ../clients/cli/connections.c:8557
+#: ../clients/cli/connections.c:8595
 #, c-format
 msgid "Error: 'file' argument is required."
 msgstr "Błąd: parametr „file” jest wymagany."
 
-#: ../clients/cli/connections.c:8564
+#: ../clients/cli/connections.c:8602
 #, c-format
 msgid "Error: failed to find VPN plugin for %s."
 msgstr "Błąd: odnalezienie wtyczki VPN dla %s się nie powiodło."
 
-#: ../clients/cli/connections.c:8572 ../clients/cli/connections.c:8669
+#: ../clients/cli/connections.c:8610 ../clients/cli/connections.c:8707
 #, c-format
 msgid "Error: failed to load VPN plugin: %s."
 msgstr "Błąd: wczytanie wtyczki VPN się nie powiodło: %s."
 
-#: ../clients/cli/connections.c:8580
+#: ../clients/cli/connections.c:8618
 #, c-format
 msgid "Error: failed to import '%s': %s."
 msgstr "Błąd: zaimportowanie „%s” się nie powiodło: %s."
 
-#: ../clients/cli/connections.c:8650
+#: ../clients/cli/connections.c:8688
 msgid "Output file name: "
 msgstr "Nazwa pliku wyjściowego: "
 
-#: ../clients/cli/connections.c:8660
+#: ../clients/cli/connections.c:8698
 #, c-format
 msgid "Error: the connection is not VPN."
 msgstr "Błąd: połączenie nie jest VPN."
 
-#: ../clients/cli/connections.c:8681
+#: ../clients/cli/connections.c:8719
 #, c-format
 msgid "Error: failed to create temporary file %s."
 msgstr "Błąd: utworzenie pliku tymczasowego %s się nie powiodło."
 
-#: ../clients/cli/connections.c:8690
+#: ../clients/cli/connections.c:8728
 #, c-format
 msgid "Error: failed to export '%s': %s."
 msgstr "Błąd: wyeksportowanie „%s” się nie powiodło: %s."
 
-#: ../clients/cli/connections.c:8701
+#: ../clients/cli/connections.c:8739
 #, c-format
 msgid "Error: failed to read temporary file '%s': %s."
 msgstr "Błąd: odczytanie pliku tymczasowego „%s” się nie powiodło: %s."
@@ -3737,9 +3775,9 @@ msgstr "MOSTEK"
 
 #. 13
 #: ../clients/cli/devices.c:250 ../clients/tui/nm-editor-utils.c:217
-#: ../clients/tui/nmt-page-vlan.c:94 ../libnm-core/nm-connection.c:1897
+#: ../clients/tui/nmt-page-vlan.c:94 ../libnm-core/nm-connection.c:1898
 #: ../libnm-glib/nm-device.c:1879 ../libnm-util/nm-connection.c:1632
-#: ../libnm/nm-device.c:1681
+#: ../libnm/nm-device.c:1682
 msgid "VLAN"
 msgstr "VLAN"
 
@@ -3926,7 +3964,7 @@ msgstr ""
 " TYP        — typ urządzenia\n"
 " STAN       — stan urządzenia\n"
 " POŁĄCZENIE — połączenie aktywowane na urządzeniu (jeśli istnieje)\n"
-"Wyświetlane kolumny mogą być zmieniane używając globalnej opcji\n"
+"Wyświetlane kolumny mogą być zmieniane za pomocą globalnej opcji\n"
 "„--fields”. „status” jest domyślnym poleceniem, co oznacza, że „nmcli\n"
 "device” wywołuje „nmcli device status”.\n"
 "\n"
@@ -4171,6 +4209,58 @@ msgid ""
 "use 'nmcli device wifi list' for that.\n"
 "\n"
 msgstr ""
+"Użycie: nmcli device wifi { PARAMETRY | help }\n"
+"\n"
+"Wykonuje działanie na urządzeniach Wi-Fi.\n"
+"\n"
+"PARAMETRY := [list [ifname <nazwa interfejsu>] [bssid <BSSID>]]\n"
+"\n"
+"Wyświetla listę dostępnych punktów dostępowych Wi-Fi. Opcje „ifname” i\n"
+"„bssid” mogą być używane do wyświetlenia listy punktów dostępowych dla\n"
+"konkretnego interfejsu lub o podanym BSSID.\n"
+"\n"
+"PARAMETRY := connect <(B)SSID> [password <hasło>] [wep-key-type key|phrase] "
+"[ifname <nazwa interfejsu>]\n"
+"                    [bssid <BSSID>] [name <nazwa>] [private yes|no] [hidden "
+"yes|no]\n"
+"\n"
+"Łączy z siecią Wi-Fi podaną jako SSID lub BSSID. Polecenie tworzy nowe\n"
+"połączenia, a następnie aktywuje je na urządzeniu. Jest to odpowiednik\n"
+"kliknięcia SSID w kliencie graficznym dla wiersza poleceń. Polecenie zawsze\n"
+"tworzy nowe połączenie, jest więc przydatne głównie do łączenia z nowymi\n"
+"sieciami Wi-Fi. Jeśli połączenie dla sieci już istnieje, to lepiej jest\n"
+"aktywować istniejący profil w ten sposób: nmcli con up id <nazwa>. Proszę\n"
+"zauważyć, że w tej chwili obsługiwane są tylko sieci otwarte oraz\n"
+"zabezpieczone za pomocą WEP i WPA-PSK. Przyjmowane jest także, że\n"
+"konfiguracja IP jest uzyskiwana przez DHCP.\n"
+"\n"
+"PARAMETRY := hotspot [ifname <nazwa interfejsu>] [con-name <nazwa>] [ssid "
+"<SSID>]\n"
+"                          [band a|bg] [channel <kanał>] [password <hasło>]\n"
+"\n"
+"Tworzy hotspot Wi-Fi. Należy użyć „connection down” lub „device "
+"disconnect”,\n"
+"aby zatrzymać hotspot.\n"
+"Parametry hotspotu mogą być zmieniane opcjonalnymi parametrami:\n"
+"ifname — używane urządzenie Wi-Fi\n"
+"con-name — nazwa profilu połączenia tworzonego hotspotu\n"
+"ssid — SSID hotspotu\n"
+"band — używane pasmo Wi-Fi\n"
+"channel — używany kanał Wi-Fi\n"
+"password — hasło hotspotu\n"
+"\n"
+"PARAMETRY := rescan [ifname <nazwa interfejsu>] [[ssid <SSID do skanowania>] "
+"…]\n"
+"\n"
+"Żąda, aby usługa NetworkManager natychmiastowo ponownie przeskanowała "
+"dostępne punkty dostępowe.\n"
+"Usługa NetworkManager okresowo skanuje sieci Wi-Fi, ale w niektórych\n"
+"przypadkach ręczne rozpoczęcie skanowania może być przydatne. „ssid”\n"
+"umożliwia skanowanie podanego SSID, co jest przydatne dla punktów\n"
+"dostępowych z ukrytym SSID. Można podać więcej parametrów „ssid”. Proszę\n"
+"zauważyć, że to polecenie nie wyświetla punktów dostępowych, i w tym celu\n"
+"należy użyć „nmcli device wifi list”.\n"
+"\n"
 
 #: ../clients/cli/devices.c:483
 #, c-format
@@ -5263,7 +5353,7 @@ msgstr ""
 "\n"
 "OBIEKT\n"
 "  g[eneral]       ogólny stan i działania usługi NetworkManager\n"
-"  n[etworking]    ogólna kontrola sieci\n"
+"  n[etworking]    ogólne sterowanie siecią\n"
 "  r[adio]         przełączniki radiowe usługi NetworkManager\n"
 "  c[onnection]    połączenia usługi NetworkManager\n"
 "  d[evice]        urządzenia zarządzane przez usługę NetworkManager\n"
@@ -5327,7 +5417,7 @@ msgstr ""
 #: ../clients/cli/nmcli.c:419 ../clients/cli/nmcli.c:426
 #, c-format
 msgid "Error: nmcli terminated by signal %s (%d)\n"
-msgstr ""
+msgstr "Błąd: nmcli zostało zakończone sygnałem %s (%d)\n"
 
 #: ../clients/cli/nmcli.c:524
 msgid "Success"
@@ -5348,139 +5438,139 @@ msgstr "Błąd uwierzytelnienia: %s\n"
 msgid "Warning: polkit agent initialization failed: %s\n"
 msgstr "Ostrzeżenie: zainicjowanie agenta polkit się nie powiodło: %s\n"
 
-#: ../clients/cli/settings.c:820
+#: ../clients/cli/settings.c:843
 #, c-format
 msgid "%d (key)"
 msgstr "%d (klucz)"
 
-#: ../clients/cli/settings.c:822
+#: ../clients/cli/settings.c:845
 #, c-format
 msgid "%d (passphrase)"
 msgstr "%d (hasło)"
 
-#: ../clients/cli/settings.c:825 ../clients/cli/settings.c:911
+#: ../clients/cli/settings.c:848 ../clients/cli/settings.c:934
 #, c-format
 msgid "%d (unknown)"
 msgstr "%d (nieznane)"
 
-#: ../clients/cli/settings.c:854
+#: ../clients/cli/settings.c:877
 msgid "0 (NONE)"
 msgstr "0 (BRAK)"
 
-#: ../clients/cli/settings.c:860
+#: ../clients/cli/settings.c:883
 msgid "REORDER_HEADERS, "
 msgstr "ZMIANA_KOLEJNOŚCI_NAGŁÓWKÓW, "
 
-#: ../clients/cli/settings.c:862
+#: ../clients/cli/settings.c:885
 msgid "GVRP, "
 msgstr "GVRP, "
 
-#: ../clients/cli/settings.c:864
+#: ../clients/cli/settings.c:887
 msgid "LOOSE_BINDING, "
 msgstr "LUŹNE_DOWIĄZANIE, "
 
-#: ../clients/cli/settings.c:866
+#: ../clients/cli/settings.c:889
 msgid "MVRP, "
 msgstr "MVRP, "
 
-#: ../clients/cli/settings.c:905
+#: ../clients/cli/settings.c:928
 #, c-format
 msgid "%d (disabled)"
 msgstr "%d (wyłączone)"
 
-#: ../clients/cli/settings.c:907
+#: ../clients/cli/settings.c:930
 #, c-format
 msgid "%d (enabled, prefer public IP)"
 msgstr "%d (włączone, preferowanie publicznego adresu IP)"
 
-#: ../clients/cli/settings.c:909
+#: ../clients/cli/settings.c:932
 #, c-format
 msgid "%d (enabled, prefer temporary IP)"
 msgstr "%d (włączone, preferowanie tymczasowego adresu IP)"
 
-#: ../clients/cli/settings.c:924
+#: ../clients/cli/settings.c:947
 #, c-format
 msgid "%d (no)"
 msgstr "%d (nie)"
 
-#: ../clients/cli/settings.c:926
+#: ../clients/cli/settings.c:949
 #, c-format
 msgid "%d (yes)"
 msgstr "%d (tak)"
 
-#: ../clients/cli/settings.c:929 ../clients/cli/settings.c:1340
-#: ../clients/cli/settings.c:1692
+#: ../clients/cli/settings.c:952 ../clients/cli/settings.c:1363
+#: ../clients/cli/settings.c:1715
 #, c-format
 msgid "%d (default)"
 msgstr "%d (domyślne)"
 
-#: ../clients/cli/settings.c:942
+#: ../clients/cli/settings.c:965
 msgid "0 (none)"
 msgstr "0 (brak)"
 
-#: ../clients/cli/settings.c:948
+#: ../clients/cli/settings.c:971
 msgid "agent-owned, "
 msgstr "posiadane przez agenta, "
 
-#: ../clients/cli/settings.c:950
+#: ../clients/cli/settings.c:973
 msgid "not saved, "
 msgstr "niezapisane, "
 
-#: ../clients/cli/settings.c:952
+#: ../clients/cli/settings.c:975
 msgid "not required, "
 msgstr "niewymagane, "
 
-#: ../clients/cli/settings.c:1001 ../clients/tui/nmt-mtu-entry.c:84
+#: ../clients/cli/settings.c:1024 ../clients/tui/nmt-mtu-entry.c:84
 msgid "(default)"
 msgstr "(domyślne)"
 
 #. ----------------------------------------------------------------------------
-#: ../clients/cli/settings.c:1093 ../clients/cli/settings.c:1150
-#: ../clients/cli/settings.c:1191 ../clients/cli/settings.c:1225
-#: ../clients/cli/settings.c:8301
+#: ../clients/cli/settings.c:1116 ../clients/cli/settings.c:1173
+#: ../clients/cli/settings.c:1214 ../clients/cli/settings.c:1248
+#: ../clients/cli/settings.c:8482
 msgid "<hidden>"
 msgstr "<ukryte>"
 
-#: ../clients/cli/settings.c:1342
+#: ../clients/cli/settings.c:1365
 #, c-format
 msgid "%d (forever)"
-msgstr ""
+msgstr "%d (zawsze)"
 
-#: ../clients/cli/settings.c:1389
+#: ../clients/cli/settings.c:1412
 msgid "0 (disabled)"
 msgstr "0 (wyłączone)"
 
-#: ../clients/cli/settings.c:1395
+#: ../clients/cli/settings.c:1418
 msgid "enabled, "
 msgstr "włączone, "
 
-#: ../clients/cli/settings.c:1397
+#: ../clients/cli/settings.c:1420
 msgid "advertise, "
 msgstr "rozgłaszanie, "
 
-#: ../clients/cli/settings.c:1399
+#: ../clients/cli/settings.c:1422
 msgid "willing, "
 msgstr "chętne, "
 
-#: ../clients/cli/settings.c:1427
+#: ../clients/cli/settings.c:1450
 msgid "-1 (unset)"
 msgstr "-1 (usunięcie ustawienia)"
 
-#: ../clients/cli/settings.c:1559 ../clients/cli/settings.c:1887
-#: ../clients/cli/settings.c:2028
+#: ../clients/cli/settings.c:1582 ../clients/cli/settings.c:1910
+#: ../clients/cli/settings.c:2051
 msgid "auto"
 msgstr "automatyczne"
 
-#: ../clients/cli/settings.c:1572 ../clients/cli/settings.c:2059
+#: ../clients/cli/settings.c:1595 ../clients/cli/settings.c:2082
 msgid "default"
 msgstr "domyślne"
 
-#: ../clients/cli/settings.c:1694
+#: ../clients/cli/settings.c:1717
 #, c-format
 msgid "%d (off)"
 msgstr "%d (wyłączone)"
 
-#: ../clients/cli/settings.c:1933
+#: ../clients/cli/settings.c:1956
 #, c-format
 msgid ""
 "invalid option '%s', use a combination of [%s] or 'ignore', 'default' or "
@@ -5489,43 +5579,44 @@ msgstr ""
 "nieprawidłowa opcja „%s”, należy użyć połączenia [%s] albo „ignore”, "
 "„default” lub „none”"
 
-#: ../clients/cli/settings.c:1944
+#: ../clients/cli/settings.c:1967
 msgid "'default' and 'ignore' are incompatible with other flags"
 msgstr "„default” i „ignore” są niezgodne z innymi flagami"
 
-#: ../clients/cli/settings.c:1980
+#: ../clients/cli/settings.c:2003
 #, c-format
 msgid "invalid mode '%s', use one of %s"
 msgstr "nieprawidłowy tryb „%s”, należy użyć jednego z %s"
 
-#: ../clients/cli/settings.c:2063
+#: ../clients/cli/settings.c:2086
 #, c-format
 msgid "always"
 msgstr "zawsze"
 
-#: ../clients/cli/settings.c:2163 ../clients/cli/settings.c:3618
-#: ../clients/cli/settings.c:4803 ../clients/cli/settings.c:5307
+#: ../clients/cli/settings.c:2174 ../clients/cli/settings.c:2208
+#: ../clients/cli/settings.c:2274 ../clients/cli/settings.c:3741
+#: ../clients/cli/settings.c:4926 ../clients/cli/settings.c:5430
 #: ../libnm-core/nm-keyfile-reader.c:579
 #, c-format
 msgid "invalid option '%s', use one of [%s]"
 msgstr "nieprawidłowa opcja „%s”, należy użyć jednej z [%s]"
 
-#: ../clients/cli/settings.c:2236
+#: ../clients/cli/settings.c:2347
 #, c-format
 msgid "invalid method '%s', use one of %s"
-msgstr ""
+msgstr "nieprawidłowa metoda „%s”, należy użyć jednej z %s"
 
-#: ../clients/cli/settings.c:2332
+#: ../clients/cli/settings.c:2455
 #, c-format
 msgid "Do you also want to set '%s' to '%s'? [yes]: "
 msgstr "Ustawić „%s” na „%s”? [yes]: "
 
-#: ../clients/cli/settings.c:2334
+#: ../clients/cli/settings.c:2457
 #, c-format
 msgid "Do you also want to clear '%s'? [yes]: "
 msgstr "Wyczyścić „%s”? [yes]: "
 
-#: ../clients/cli/settings.c:2510
+#: ../clients/cli/settings.c:2633
 #, c-format
 msgid ""
 "Warning: %s.%s set to '%s', but it might be ignored in infrastructure mode\n"
@@ -5533,103 +5624,103 @@ msgstr ""
 "Ostrzeżenie: ustawiono %s.%s na „%s”, ale może zostać zignorowane w trybie "
 "infrastruktury\n"
 
-#: ../clients/cli/settings.c:2529
+#: ../clients/cli/settings.c:2652
 #, c-format
 msgid "Warning: setting %s.%s requires removing ipv4 and ipv6 settings\n"
 msgstr "Ostrzeżenie: ustawienie %s.%s wymaga usunięcia ustawień IPv4 i IPv6\n"
 
-#: ../clients/cli/settings.c:2531
+#: ../clients/cli/settings.c:2654
 msgid "Do you want to remove them? [yes] "
 msgstr "Usunąć je? [yes] "
 
-#: ../clients/cli/settings.c:2677 ../clients/cli/settings.c:3072
-#: ../clients/cli/settings.c:5508
+#: ../clients/cli/settings.c:2800 ../clients/cli/settings.c:3195
+#: ../clients/cli/settings.c:5631
 #, c-format
 msgid "'%s' is not valid"
 msgstr "„%s” jest nieprawidłowe"
 
-#: ../clients/cli/settings.c:2700
+#: ../clients/cli/settings.c:2823
 #, c-format
 msgid "'%d' is not valid; use <%d-%d>"
 msgstr "„%d” jest nieprawidłowe; należy użyć <%d-%d>"
 
-#: ../clients/cli/settings.c:2722
+#: ../clients/cli/settings.c:2845
 #, c-format
 msgid "'%lld' is not valid; use <%lld-%lld>"
 msgstr "„%lld” jest nieprawidłowe; należy użyć <%lld-%lld>"
 
-#: ../clients/cli/settings.c:2744
+#: ../clients/cli/settings.c:2867
 #, c-format
 msgid "'%u' is not valid; use <%u-%u>"
 msgstr "„%u” jest nieprawidłowe; należy użyć <%u-%u>"
 
-#: ../clients/cli/settings.c:2783
+#: ../clients/cli/settings.c:2906
 #, c-format
 msgid "'%u' flags are not valid; use combination of %s"
 msgstr "flagi „%u” są nieprawidłowe; należy użyć połączenia %s"
 
-#: ../clients/cli/settings.c:2850
+#: ../clients/cli/settings.c:2973
 #, c-format
 msgid "'%s' is not valid; use <option>=<value>"
 msgstr "„%s” jest nieprawidłowe; należy użyć <opcja>=<wartość>"
 
-#: ../clients/cli/settings.c:2884
+#: ../clients/cli/settings.c:3007
 #, c-format
 msgid "index '%s' is not valid"
 msgstr "indeks „%s” jest nieprawidłowy"
 
-#: ../clients/cli/settings.c:2889 ../clients/cli/settings.c:2914
+#: ../clients/cli/settings.c:3012 ../clients/cli/settings.c:3037
 msgid "no item to remove"
 msgstr "brak elementu do usunięcia"
 
-#: ../clients/cli/settings.c:2893 ../clients/cli/settings.c:2918
+#: ../clients/cli/settings.c:3016 ../clients/cli/settings.c:3041
 #, c-format
 msgid "index '%d' is not in range <0-%d>"
 msgstr "indeks „%d” jest poza zakresem <0-%d>"
 
-#: ../clients/cli/settings.c:2933
+#: ../clients/cli/settings.c:3056
 #, c-format
 msgid "invalid option '%s'"
 msgstr "nieprawidłowa opcja „%s”"
 
-#: ../clients/cli/settings.c:2935
+#: ../clients/cli/settings.c:3058
 msgid "missing option"
 msgstr "brak opcji"
 
-#: ../clients/cli/settings.c:2962 ../clients/cli/settings.c:2982
-#: ../clients/cli/settings.c:3002 ../clients/cli/settings.c:3022
+#: ../clients/cli/settings.c:3085 ../clients/cli/settings.c:3105
+#: ../clients/cli/settings.c:3125 ../clients/cli/settings.c:3145
 #, c-format
 msgid "'%s' is not a valid number (or out of range)"
 msgstr "„%s” nie jest prawidłową liczbą (lub jest poza zakresem)"
 
-#: ../clients/cli/settings.c:3056
+#: ../clients/cli/settings.c:3179
 #, c-format
 msgid "'%s' is not a valid value; use -1, 0 or 1"
 msgstr "„%s” nie jest prawidłową wartością; należy użyć -1, 0 lub 1"
 
-#: ../clients/cli/settings.c:3089
+#: ../clients/cli/settings.c:3212
 #, c-format
 msgid "'%s' is not a valid Ethernet MAC"
 msgstr "„%s” nie jest prawidłowym adresem MAC Ethernetu"
 
-#: ../clients/cli/settings.c:3148
+#: ../clients/cli/settings.c:3271
 #, c-format
 msgid "'%s' is not a valid flag number; use <0-%d>"
 msgstr "„%s” nie jest prawidłowym numerem flagi; należy użyć <0-%d>"
 
-#: ../clients/cli/settings.c:3160
+#: ../clients/cli/settings.c:3283
 #, c-format
 msgid "Warning: '%s' sum is higher than all flags => all flags set\n"
 msgstr ""
 "Ostrzeżenie: suma „%s” jest wyższa niż wszystkie flagi => wszystkie "
 "ustawione flagi\n"
 
-#: ../clients/cli/settings.c:3211
+#: ../clients/cli/settings.c:3334
 #, c-format
 msgid "'%s' is not a valid hex character"
 msgstr "„%s” nie jest prawidłowym znakiem szesnastkowym"
 
-#: ../clients/cli/settings.c:3241
+#: ../clients/cli/settings.c:3364
 #, c-format
 msgid "'%s' is not a valid MAC"
 msgstr "„%s” nie jest prawidłowym adresem MAC"
@@ -5641,23 +5732,23 @@ msgstr "„%s” nie jest prawidłowym adresem MAC"
 #. * hacky: we can not see if the type is already set, because
 #. * nmc_setting_set_property() is called only after the property
 #. * we're setting (type) has been removed.
-#: ../clients/cli/settings.c:3269
+#: ../clients/cli/settings.c:3392
 #, c-format
 msgid "Can not change the connection type"
 msgstr "Nie można zmienić typu połączenia"
 
-#: ../clients/cli/settings.c:3293 ../libnm-core/nm-setting-connection.c:887
+#: ../clients/cli/settings.c:3416 ../libnm-core/nm-setting-connection.c:887
 #: ../libnm-util/nm-setting-connection.c:791
 #, c-format
 msgid "'%s' is not a valid UUID"
 msgstr "„%s” nie jest prawidłowym UUID"
 
-#: ../clients/cli/settings.c:3360
+#: ../clients/cli/settings.c:3483
 #, c-format
 msgid "the property doesn't contain permission '%s'"
 msgstr "właściwość nie zawiera uprawnienia „%s”"
 
-#: ../clients/cli/settings.c:3372
+#: ../clients/cli/settings.c:3495
 msgid ""
 "Enter a list of user permissions. This is a list of user names formatted "
 "as:\n"
@@ -5673,40 +5764,40 @@ msgstr ""
 "\n"
 "Przykład: alice bob charlie\n"
 
-#: ../clients/cli/settings.c:3391
+#: ../clients/cli/settings.c:3514
 #, c-format
 msgid "'%s' is not valid master; use ifname or connection UUID"
 msgstr ""
 "„%s” nie jest prawidłowym „master”; należy użyć nazwy interfejsu lub UUID "
 "połączenia"
 
-#: ../clients/cli/settings.c:3436
+#: ../clients/cli/settings.c:3559
 #, c-format
 msgid "Warning: %s is not an UUID of any existing connection profile\n"
 msgstr ""
 "Ostrzeżenie: %s nie jest UUID żadnego istniejącego profilu połączenia\n"
 
-#: ../clients/cli/settings.c:3440 ../clients/cli/settings.c:3455
+#: ../clients/cli/settings.c:3563 ../clients/cli/settings.c:3578
 #, c-format
 msgid "'%s' is not a VPN connection profile"
 msgstr "„%s” nie jest profilem połączenia VPN"
 
-#: ../clients/cli/settings.c:3448
+#: ../clients/cli/settings.c:3571
 #, c-format
 msgid "'%s' is not a name of any exiting profile"
 msgstr "„%s” nie jest nazwą żadnego istniejącego profilu"
 
-#: ../clients/cli/settings.c:3482
+#: ../clients/cli/settings.c:3605
 #, c-format
 msgid "the value '%s' is not a valid UUID"
 msgstr "wartość „%s” nie jest prawidłowym UUID"
 
-#: ../clients/cli/settings.c:3489
+#: ../clients/cli/settings.c:3612
 #, c-format
 msgid "the property doesn't contain UUID '%s'"
 msgstr "właściwość nie zawiera UUID „%s”"
 
-#: ../clients/cli/settings.c:3501
+#: ../clients/cli/settings.c:3624
 msgid ""
 "Enter secondary connections that should be activated when this connection "
 "is\n"
@@ -5727,7 +5818,7 @@ msgstr ""
 "\n"
 "Przykład: private-openvpn, fe6ba5d8-c2fc-4aae-b2e3-97efddd8d9a7\n"
 
-#: ../clients/cli/settings.c:3568
+#: ../clients/cli/settings.c:3691
 msgid ""
 "Enter a value which indicates whether the connection is subject to a data\n"
 "quota, usage costs or other limitations. Accepted options are:\n"
@@ -5735,19 +5826,19 @@ msgid ""
 "'false','no','off' to set the connection as not metered\n"
 "'unknown' to let NetworkManager choose a value using some heuristics\n"
 msgstr ""
-"Proszę podać wartość wskazującą, czy połączenie posiada limit przesłanych\n"
+"Proszę podać wartość wskazującą, czy połączenie ma limit przesłanych\n"
 "danych, koszty użytkowania lub inne ograniczenia. Dostępne opcje:\n"
 "„true”, „yes”, „on” ustawiają połączenie jako mierzone\n"
 "„false”, „no”, „off” ustawiają połączenie jako niemierzone\n"
-"„unknown” umożliwia usłudze NetworkManager wybranie wartości używając "
+"„unknown” umożliwia usłudze NetworkManager wybranie wartości za pomocą "
 "heurystyki\n"
 
-#: ../clients/cli/settings.c:3717
+#: ../clients/cli/settings.c:3840
 #, c-format
 msgid "the property doesn't contain EAP method '%s'"
 msgstr "właściwość nie zawiera metody EAP „%s”"
 
-#: ../clients/cli/settings.c:3734
+#: ../clients/cli/settings.c:3857
 msgid ""
 "Enter file path to CA certificate (optionally prefixed with file://).\n"
 "  [file://]<file path>\n"
@@ -5761,12 +5852,12 @@ msgstr ""
 "danych typu blob.\n"
 "Przykład: /home/cimrman/cacert.crt\n"
 
-#: ../clients/cli/settings.c:3753
+#: ../clients/cli/settings.c:3876
 #, c-format
 msgid "the property doesn't contain alternative subject match '%s'"
 msgstr "właściwość nie zawiera alternatywnego dopasowania tematu „%s”"
 
-#: ../clients/cli/settings.c:3769
+#: ../clients/cli/settings.c:3892
 msgid ""
 "Enter file path to client certificate (optionally prefixed with file://).\n"
 "  [file://]<file path>\n"
@@ -5780,7 +5871,7 @@ msgstr ""
 "danych typu blob.\n"
 "Przykład: /home/cimrman/jara.crt\n"
 
-#: ../clients/cli/settings.c:3781
+#: ../clients/cli/settings.c:3904
 msgid ""
 "Enter file path to CA certificate for inner authentication (optionally "
 "prefixed\n"
@@ -5796,12 +5887,12 @@ msgstr ""
 "danych typu blob.\n"
 "Przykład: /home/cimrman/ca-zweite-phase.crt\n"
 
-#: ../clients/cli/settings.c:3801
+#: ../clients/cli/settings.c:3924
 #, c-format
 msgid "the property doesn't contain \"phase2\" alternative subject match '%s'"
 msgstr "właściwość nie zawiera alternatywnego dopasowania tematu „phase2” „%s”"
 
-#: ../clients/cli/settings.c:3817
+#: ../clients/cli/settings.c:3940
 msgid ""
 "Enter file path to client certificate for inner authentication (optionally "
 "prefixed\n"
@@ -5817,7 +5908,7 @@ msgstr ""
 "danych typu blob.\n"
 "Przykład: /home/cimrman/jara-zweite-phase.crt\n"
 
-#: ../clients/cli/settings.c:3837
+#: ../clients/cli/settings.c:3960
 msgid ""
 "Enter path to a private key and the key password (if not set yet):\n"
 "  [file://]<file path> [<password>]\n"
@@ -5831,7 +5922,7 @@ msgstr ""
 "surowych danych typu blob.\n"
 "Przykład: /home/cimrman/jara-priv-key Dardanely\n"
 
-#: ../clients/cli/settings.c:3908
+#: ../clients/cli/settings.c:4031
 msgid ""
 "Enter bytes as a list of hexadecimal values.\n"
 "Two formats are accepted:\n"
@@ -5852,7 +5943,7 @@ msgstr ""
 "Przykłady: ab0455a6ea3a74C2\n"
 "           ab 4 55 0xa6 ea 3a 74 C2\n"
 
-#: ../clients/cli/settings.c:4029
+#: ../clients/cli/settings.c:4152
 #, c-format
 msgid ""
 "Enter a list of bonding options formatted as:\n"
@@ -5883,33 +5974,33 @@ msgstr ""
 "\n"
 "Przykład: mode=2,miimon=120\n"
 
-#: ../clients/cli/settings.c:4060
+#: ../clients/cli/settings.c:4183
 #, c-format
 msgid "'%s' is not a valid InfiniBand MAC"
 msgstr "„%s” nie jest prawidłowym adresem MAC InfiniBand"
 
-#: ../clients/cli/settings.c:4097
+#: ../clients/cli/settings.c:4220
 #, c-format
 msgid "'%s' is not a valid IBoIP P_Key"
 msgstr "„%s” nie jest prawidłowym P_Key IBoIP"
 
-#: ../clients/cli/settings.c:4128
+#: ../clients/cli/settings.c:4251
 #, c-format
 msgid "'%s' is not valid (the format is: ip[/prefix] [next-hop] [metric])"
 msgstr ""
 "„%s” jest nieprawidłowe (format: ip[/przedrostek] [next-hop] [parametry])"
 
-#: ../clients/cli/settings.c:4176 ../clients/cli/settings.c:4195
+#: ../clients/cli/settings.c:4299 ../clients/cli/settings.c:4318
 #, c-format
 msgid "invalid IPv4 address '%s'"
 msgstr "nieprawidłowy adres IPv4 „%s”"
 
-#: ../clients/cli/settings.c:4201 ../clients/cli/settings.c:4509
+#: ../clients/cli/settings.c:4324 ../clients/cli/settings.c:4632
 #, c-format
 msgid "the property doesn't contain DNS server '%s'"
 msgstr "właściwość nie zawiera serwera DNS „%s”"
 
-#: ../clients/cli/settings.c:4213
+#: ../clients/cli/settings.c:4336
 msgid ""
 "Enter a list of IPv4 addresses of DNS servers.\n"
 "\n"
@@ -5919,22 +6010,22 @@ msgstr ""
 "\n"
 "Przykład: 8.8.8.8, 8.8.4.4\n"
 
-#: ../clients/cli/settings.c:4249 ../clients/cli/settings.c:4563
+#: ../clients/cli/settings.c:4372 ../clients/cli/settings.c:4686
 #, c-format
 msgid "the property doesn't contain DNS search domain '%s'"
 msgstr "właściwość nie zawiera domeny wyszukiwania DNS „%s”"
 
-#: ../clients/cli/settings.c:4287 ../clients/cli/settings.c:4601
+#: ../clients/cli/settings.c:4410 ../clients/cli/settings.c:4724
 #, c-format
 msgid "the property doesn't contain DNS option '%s'"
 msgstr "właściwość nie zawiera opcji DNS „%s”"
 
-#: ../clients/cli/settings.c:4341 ../clients/cli/settings.c:4654
+#: ../clients/cli/settings.c:4464 ../clients/cli/settings.c:4777
 #, c-format
 msgid "the property doesn't contain IP address '%s'"
 msgstr "właściwość nie zawiera adresu IP „%s”"
 
-#: ../clients/cli/settings.c:4354
+#: ../clients/cli/settings.c:4477
 msgid ""
 "Enter a list of IPv4 addresses formatted as:\n"
 "  ip[/prefix], ip[/prefix],...\n"
@@ -5948,17 +6039,17 @@ msgstr ""
 "\n"
 "Przykład: 192.168.1.5/24, 10.0.0.11/24\n"
 
-#: ../clients/cli/settings.c:4370 ../clients/cli/settings.c:4683
+#: ../clients/cli/settings.c:4493 ../clients/cli/settings.c:4806
 #, c-format
 msgid "invalid gateway address '%s'"
 msgstr "nieprawidłowy adres bramy „%s”"
 
-#: ../clients/cli/settings.c:4425 ../clients/cli/settings.c:4738
+#: ../clients/cli/settings.c:4548 ../clients/cli/settings.c:4861
 #, c-format
 msgid "the property doesn't contain route '%s'"
 msgstr "właściwość nie zawiera trasy „%s”"
 
-#: ../clients/cli/settings.c:4438
+#: ../clients/cli/settings.c:4561
 msgid ""
 "Enter a list of IPv4 routes formatted as:\n"
 "  ip[/prefix] [next-hop] [metric],...\n"
@@ -5981,12 +6072,12 @@ msgstr ""
 "Przykłady: 192.168.2.0/24 192.168.2.1 3, 10.1.0.0/16 10.0.0.254\n"
 "           10.1.2.0/24\n"
 
-#: ../clients/cli/settings.c:4484 ../clients/cli/settings.c:4503
+#: ../clients/cli/settings.c:4607 ../clients/cli/settings.c:4626
 #, c-format
 msgid "invalid IPv6 address '%s'"
 msgstr "nieprawidłowy adres IPv6 „%s”"
 
-#: ../clients/cli/settings.c:4521
+#: ../clients/cli/settings.c:4644
 msgid ""
 "Enter a list of IPv6 addresses of DNS servers.  If the IPv6 configuration "
 "method is 'auto' these DNS servers are appended to those (if any) returned "
@@ -6007,7 +6098,7 @@ msgstr ""
 "\n"
 "Przykład: 2607:f0d0:1002:51::4, 2607:f0d0:1002:51::1\n"
 
-#: ../clients/cli/settings.c:4667
+#: ../clients/cli/settings.c:4790
 msgid ""
 "Enter a list of IPv6 addresses formatted as:\n"
 "  ip[/prefix], ip[/prefix],...\n"
@@ -6021,7 +6112,7 @@ msgstr ""
 "\n"
 "Przykład: 2607:f0d0:1002:51::4/64, 1050:0:0:0:5:600:300c:326b\n"
 
-#: ../clients/cli/settings.c:4751
+#: ../clients/cli/settings.c:4874
 msgid ""
 "Enter a list of IPv6 routes formatted as:\n"
 "  ip[/prefix] [next-hop] [metric],...\n"
@@ -6046,28 +6137,28 @@ msgstr ""
 "db8:beef::3 2\n"
 "          abbe::/64 55\n"
 
-#: ../clients/cli/settings.c:4768 ../libnm-core/nm-setting-gsm.c:363
+#: ../clients/cli/settings.c:4891 ../libnm-core/nm-setting-gsm.c:363
 #: ../libnm-util/nm-setting-gsm.c:364
 #, c-format
 msgid "'%s' is not a number"
 msgstr "„%s” nie jest liczbą"
 
-#: ../clients/cli/settings.c:4775
+#: ../clients/cli/settings.c:4898
 #, c-format
 msgid "'%s' is not valid; use 0, 1, or 2"
 msgstr "„%s” jest nieprawidłowe; należy użyć 0, 1 lub 2"
 
-#: ../clients/cli/settings.c:4822
+#: ../clients/cli/settings.c:4945
 #, c-format
 msgid "'%s' is not a valid channel; use <1-13>"
 msgstr "„%s” nie jest prawidłowym kanałem; należy użyć <1-13>"
 
-#: ../clients/cli/settings.c:4859
+#: ../clients/cli/settings.c:4982
 #, c-format
 msgid "'%s' is not valid; use [e, o, n]"
 msgstr "„%s” jest nieprawidłowe; należy użyć [e, o, n]"
 
-#: ../clients/cli/settings.c:4887
+#: ../clients/cli/settings.c:5010
 msgid ""
 "nmcli can accepts both direct JSON configuration data and a file name "
 "containing the configuration. In the latter case the file is read and the "
@@ -6085,16 +6176,16 @@ msgstr ""
 "\"roundrobin\"}, \"ports\": {\"eth1\": {}, \"eth2\": {}} }\n"
 "          set team.config /etc/mój-zespół.conf\n"
 
-#: ../clients/cli/settings.c:4927
+#: ../clients/cli/settings.c:5050
 msgid "no priority to remove"
 msgstr "brak priorytetu do usunięcia"
 
-#: ../clients/cli/settings.c:4931
+#: ../clients/cli/settings.c:5054
 #, c-format
 msgid "index '%d' is not in the range of <0-%d>"
 msgstr "indeks „%d” jest poza zakresem <0-%d>"
 
-#: ../clients/cli/settings.c:4970
+#: ../clients/cli/settings.c:5093
 #, c-format
 msgid ""
 "Warning: only one mapping at a time is supported; taking the first one (%s)\n"
@@ -6102,17 +6193,17 @@ msgstr ""
 "Ostrzeżenie: obsługiwane jest tylko jedno mapowanie na raz; przyjmowanie "
 "pierwszego (%s)\n"
 
-#: ../clients/cli/settings.c:4977
+#: ../clients/cli/settings.c:5100
 #, c-format
 msgid "the property doesn't contain mapping '%s'"
 msgstr "właściwość nie zawiera mapowania „%s”"
 
-#: ../clients/cli/settings.c:5025
+#: ../clients/cli/settings.c:5148
 #, c-format
 msgid "'%s' cannot be empty"
 msgstr "„%s” nie może być puste"
 
-#: ../clients/cli/settings.c:5100 ../clients/cli/settings.c:5267
+#: ../clients/cli/settings.c:5223 ../clients/cli/settings.c:5390
 #: ../libnm-core/nm-setting-wired.c:662 ../libnm-core/nm-setting-wireless.c:857
 #: ../libnm-core/nm-setting-wireless.c:869 ../libnm-util/nm-setting-wired.c:646
 #: ../libnm-util/nm-setting-wireless.c:859
@@ -6121,17 +6212,17 @@ msgstr "„%s” nie może być puste"
 msgid "'%s' is not a valid MAC address"
 msgstr "„%s” nie jest prawidłowym adresem MAC"
 
-#: ../clients/cli/settings.c:5106 ../clients/cli/settings.c:5273
+#: ../clients/cli/settings.c:5229 ../clients/cli/settings.c:5396
 #, c-format
 msgid "the property doesn't contain MAC address '%s'"
 msgstr "właściwość nie zawiera adresu MAC „%s”"
 
-#: ../clients/cli/settings.c:5125
+#: ../clients/cli/settings.c:5248
 #, c-format
 msgid "'%s' is not valid; 2 or 3 strings should be provided"
 msgstr "„%s” jest nieprawidłowe; powinny zostać podane dwa lub trzy ciągi"
 
-#: ../clients/cli/settings.c:5139
+#: ../clients/cli/settings.c:5262
 msgid ""
 "Enter a list of subchannels (comma or space separated).\n"
 "\n"
@@ -6141,12 +6232,12 @@ msgstr ""
 "\n"
 "Przykład: 0.0.0e20 0.0.0e21 0.0.0e22\n"
 
-#: ../clients/cli/settings.c:5161
+#: ../clients/cli/settings.c:5284
 #, c-format
 msgid "'%s' string value should consist of 1 - 199 characters"
 msgstr "wartość ciągu „%s” powinna składać się z 1-199 znaków"
 
-#: ../clients/cli/settings.c:5193
+#: ../clients/cli/settings.c:5316
 #, c-format
 msgid ""
 "Enter a list of S/390 options formatted as:\n"
@@ -6157,28 +6248,28 @@ msgstr ""
 "  opcja = <wartość>, opcja = <wartość>,…\n"
 "Prawidłowe opcje: %s\n"
 
-#: ../clients/cli/settings.c:5239
+#: ../clients/cli/settings.c:5362
 #, c-format
 msgid "'%s' is not a valid channel"
 msgstr "„%s” nie jest prawidłowym kanałem"
 
-#: ../clients/cli/settings.c:5245
+#: ../clients/cli/settings.c:5368
 #, c-format
 msgid "'%ld' is not a valid channel"
 msgstr "„%ld” nie jest prawidłowym kanałem"
 
-#: ../clients/cli/settings.c:5339
+#: ../clients/cli/settings.c:5462
 #, c-format
 msgid "invalid option '%s', use 'default', 'never' or 'always'"
 msgstr "nieprawidłowa opcja „%s”, należy użyć „default”, „never” lub „always”"
 
-#: ../clients/cli/settings.c:5400 ../clients/cli/settings.c:5439
-#: ../clients/cli/settings.c:5478
+#: ../clients/cli/settings.c:5523 ../clients/cli/settings.c:5562
+#: ../clients/cli/settings.c:5601
 #, c-format
 msgid "the property doesn't contain protocol '%s'"
 msgstr "właściwość nie zawiera protokołu „%s”"
 
-#: ../clients/cli/settings.c:5517
+#: ../clients/cli/settings.c:5640
 #, c-format
 msgid ""
 "'%s' not compatible with %s '%s', please change the key or set the right %s "
@@ -6187,23 +6278,23 @@ msgstr ""
 "„%s” nie jest zgodne z %s „%s”, proszę zmienić klucz lub ustawić najpierw "
 "właściwe %s."
 
-#: ../clients/cli/settings.c:5525
+#: ../clients/cli/settings.c:5648
 #, c-format
 msgid "WEP key is guessed to be of '%s'\n"
 msgstr "Klucz WEP jest prawdopodobnie typu „%s”\n"
 
-#: ../clients/cli/settings.c:5527
+#: ../clients/cli/settings.c:5650
 #, c-format
 msgid "WEP key index set to '%d'\n"
 msgstr "Ustawiono indeks klucza WEP na „%d”\n"
 
-#: ../clients/cli/settings.c:5550
+#: ../clients/cli/settings.c:5673
 #, c-format
 msgid "'%s' not among [0 (unknown), 1 (key), 2 (passphrase)]"
 msgstr "„%s” nie jest jednym z [0 (unknown), 1 (key), 2 (passphrase)]"
 
-#: ../clients/cli/settings.c:5566 ../clients/cli/settings.c:5569
-#: ../clients/cli/settings.c:5572 ../clients/cli/settings.c:5575
+#: ../clients/cli/settings.c:5689 ../clients/cli/settings.c:5692
+#: ../clients/cli/settings.c:5695 ../clients/cli/settings.c:5698
 #, c-format
 msgid ""
 "Warning: '%s' is not compatible with '%s' type, please change or delete the "
@@ -6212,7 +6303,7 @@ msgstr ""
 "Ostrzeżenie: „%s” nie jest zgodne z typem „%s”, proszę zmienić lub usunąć "
 "klucz.\n"
 
-#: ../clients/cli/settings.c:5588
+#: ../clients/cli/settings.c:5711
 #, c-format
 msgid ""
 "Enter the type of WEP keys. The accepted values are: 0 or unknown, 1 or key, "
@@ -6221,36 +6312,36 @@ msgstr ""
 "Proszę podać typ kluczy WEP. Możliwe wartości: 0 lub „unknown”, 1 lub „key” "
 "i 2 lub „passphrase”.\n"
 
-#: ../clients/cli/settings.c:5601
+#: ../clients/cli/settings.c:5724
 #, c-format
 msgid "'%s' is not a valid PSK"
 msgstr "„%s” nie jest prawidłowym PSK"
 
-#: ../clients/cli/settings.c:5645
+#: ../clients/cli/settings.c:5768
 #, c-format
 msgid "'%s' is not a valid DCB flag"
 msgstr "„%s” nie jest prawidłową flagą DCB"
 
-#: ../clients/cli/settings.c:5668
+#: ../clients/cli/settings.c:5791
 #, c-format
 msgid "'%s' is not a DCB app priority"
 msgstr "„%s” nie jest prawidłowym priorytetem aplikacji DCB"
 
-#: ../clients/cli/settings.c:5694
+#: ../clients/cli/settings.c:5817
 msgid "must contain 8 comma-separated numbers"
 msgstr "musi zawierać osiem liczb oddzielonych przecinkami"
 
-#: ../clients/cli/settings.c:5711
+#: ../clients/cli/settings.c:5834
 #, c-format
 msgid "'%s' not a number between 0 and %u (inclusive) or %u"
 msgstr "„%s” nie jest liczbą między 0 a %u (włącznie) lub %u"
 
-#: ../clients/cli/settings.c:5714
+#: ../clients/cli/settings.c:5837
 #, c-format
 msgid "'%s' not a number between 0 and %u (inclusive)"
 msgstr "„%s” nie jest liczbą między 0 a %u (włącznie)"
 
-#: ../clients/cli/settings.c:5736
+#: ../clients/cli/settings.c:5859
 #, c-format
 msgid ""
 "Warning: changes will have no effect until '%s' includes 1 (enabled)\n"
@@ -6260,33 +6351,33 @@ msgstr ""
 "(włączone)\n"
 "\n"
 
-#: ../clients/cli/settings.c:5789
+#: ../clients/cli/settings.c:5912
 #, c-format
 msgid "bandwidth percentages must total 100%%"
 msgstr "procenty szerokości pasma muszą razem wynosić 100%%"
 
-#: ../clients/cli/settings.c:5875 ../clients/cli/settings.c:5881
+#: ../clients/cli/settings.c:5998 ../clients/cli/settings.c:6004
 msgid "SIM operator ID must be a 5 or 6 number MCCMNC code"
 msgstr "Identyfikator operatora SIM musi być kodem MCCMNC o 5 lub 6 liczbach"
 
-#: ../clients/cli/settings.c:5924
+#: ../clients/cli/settings.c:6047
 #, c-format
 msgid "invalid option '%s', use '%s' or '%s'"
 msgstr "nieprawidłowa opcja „%s”, należy użyć „%s” lub „%s”"
 
-#: ../clients/cli/settings.c:8049
+#: ../clients/cli/settings.c:8230
 msgid "don't know how to get the property value"
 msgstr "nie wiadomo, jak uzyskać wartość właściwości"
 
-#: ../clients/cli/settings.c:8102 ../clients/cli/settings.c:8142
+#: ../clients/cli/settings.c:8283 ../clients/cli/settings.c:8323
 msgid "the property can't be changed"
 msgstr "nie można zmieniać tej właściwości"
 
-#: ../clients/cli/settings.c:8247
+#: ../clients/cli/settings.c:8428
 msgid "[NM property description]"
 msgstr "[opis właściwości NM]"
 
-#: ../clients/cli/settings.c:8252
+#: ../clients/cli/settings.c:8433
 msgid "[nmcli specific description]"
 msgstr "[konkretny opis nmcli]"
 
@@ -6356,8 +6447,8 @@ msgstr "Sesja uwierzytelnienia jest już w drodze."
 #: ../clients/common/nm-secret-agent-simple.c:303
 #: ../clients/common/nm-secret-agent-simple.c:342
 #: ../clients/common/nm-secret-agent-simple.c:504
-#: ../clients/common/nm-secret-agent-simple.c:519
-#: ../clients/common/nm-secret-agent-simple.c:537
+#: ../clients/common/nm-secret-agent-simple.c:538
+#: ../clients/common/nm-secret-agent-simple.c:556
 #: ../clients/common/nm-vpn-helpers.c:119
 #: ../clients/common/nm-vpn-helpers.c:120
 #: ../clients/common/nm-vpn-helpers.c:124
@@ -6429,20 +6520,33 @@ msgid "PIN"
 msgstr "PIN"
 
 #: ../clients/common/nm-secret-agent-simple.c:500
-#: ../clients/common/nm-secret-agent-simple.c:515
-#: ../clients/common/nm-secret-agent-simple.c:533
+#: ../clients/common/nm-secret-agent-simple.c:534
+#: ../clients/common/nm-secret-agent-simple.c:552
 msgid "Mobile broadband network password"
 msgstr "Hasło sieci komórkowej"
 
 #: ../clients/common/nm-secret-agent-simple.c:501
-#: ../clients/common/nm-secret-agent-simple.c:516
-#: ../clients/common/nm-secret-agent-simple.c:534
-#: ../clients/common/nm-secret-agent-simple.c:554
+#: ../clients/common/nm-secret-agent-simple.c:535
+#: ../clients/common/nm-secret-agent-simple.c:553
+#: ../clients/common/nm-secret-agent-simple.c:573
 #, c-format
 msgid "A password is required to connect to '%s'."
 msgstr "Wymagane jest hasło, aby połączyć z „%s”."
 
-#: ../clients/common/nm-secret-agent-simple.c:549
+#: ../clients/common/nm-secret-agent-simple.c:515
+#, c-format
+msgid "Secrets are required to access the MACsec network '%s'"
+msgstr "Wymagane są hasła, aby uzyskać dostęp do sieci MACsec „%s”"
+
+#: ../clients/common/nm-secret-agent-simple.c:519
+msgid "MACsec PSK authentication"
+msgstr "Uwierzytelnianie PSK sieci MACsec"
+
+#: ../clients/common/nm-secret-agent-simple.c:528
+msgid "MACsec EAP authentication"
+msgstr "Uwierzytelnianie EAP sieci MACsec"
+
+#: ../clients/common/nm-secret-agent-simple.c:568
 msgid "VPN password required"
 msgstr "Wymagane jest hasło VPN"
 
@@ -6454,7 +6558,7 @@ msgstr "nieznana wtyczka VPN „%s”"
 #: ../clients/common/nm-vpn-helpers.c:59
 #, c-format
 msgid "cannot load legacy-only VPN plugin \"%s\" for \"%s\""
-msgstr ""
+msgstr "nie można wczytać przestarzałej wtyczki VPN „%s” dla „%s”"
 
 #: ../clients/common/nm-vpn-helpers.c:64
 #, c-format
@@ -6565,7 +6669,7 @@ msgid "Could not re-read file: %s"
 msgstr "Nie można ponownie odczytać pliku: %s"
 
 #: ../clients/tui/nm-editor-utils.c:146 ../libnm-glib/nm-device.c:1859
-#: ../libnm/nm-device.c:1661
+#: ../libnm/nm-device.c:1662
 msgid "Ethernet"
 msgstr "Ethernet"
 
@@ -6575,7 +6679,7 @@ msgid "Ethernet connection %d"
 msgstr "Połączenie ethernet %d"
 
 #: ../clients/tui/nm-editor-utils.c:154 ../libnm-glib/nm-device.c:1861
-#: ../libnm/nm-device.c:1663
+#: ../libnm/nm-device.c:1664
 msgid "Wi-Fi"
 msgstr "Wi-Fi"
 
@@ -6584,8 +6688,8 @@ msgstr "Wi-Fi"
 msgid "Wi-Fi connection %d"
 msgstr "Połączenie Wi-Fi %d"
 
-#: ../clients/tui/nm-editor-utils.c:163 ../libnm-core/nm-connection.c:1899
-#: ../libnm-glib/nm-device.c:1871 ../libnm/nm-device.c:1673
+#: ../clients/tui/nm-editor-utils.c:163 ../libnm-core/nm-connection.c:1900
+#: ../libnm-glib/nm-device.c:1871 ../libnm/nm-device.c:1674
 msgid "InfiniBand"
 msgstr "InfiniBand"
 
@@ -6595,7 +6699,7 @@ msgid "InfiniBand connection %d"
 msgstr "Połączenie InfiniBand %d"
 
 #: ../clients/tui/nm-editor-utils.c:172 ../libnm-glib/nm-device.c:1869
-#: ../libnm/nm-device.c:1671
+#: ../libnm/nm-device.c:1672
 msgid "Mobile Broadband"
 msgstr "Komórkowe"
 
@@ -6613,9 +6717,9 @@ msgstr "DSL"
 msgid "DSL connection %d"
 msgstr "Połączenie DSL %d"
 
-#: ../clients/tui/nm-editor-utils.c:190 ../libnm-core/nm-connection.c:1891
+#: ../clients/tui/nm-editor-utils.c:190 ../libnm-core/nm-connection.c:1892
 #: ../libnm-glib/nm-device.c:1873 ../libnm-util/nm-connection.c:1626
-#: ../libnm/nm-device.c:1675
+#: ../libnm/nm-device.c:1676
 #: ../src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c:4308
 msgid "Bond"
 msgstr "Wiązane"
@@ -6625,9 +6729,9 @@ msgstr "Wiązane"
 msgid "Bond connection %d"
 msgstr "Połączenie wiązane %d"
 
-#: ../clients/tui/nm-editor-utils.c:199 ../libnm-core/nm-connection.c:1895
+#: ../clients/tui/nm-editor-utils.c:199 ../libnm-core/nm-connection.c:1896
 #: ../libnm-glib/nm-device.c:1877 ../libnm-util/nm-connection.c:1630
-#: ../libnm/nm-device.c:1679
+#: ../libnm/nm-device.c:1680
 #: ../src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c:4605
 msgid "Bridge"
 msgstr "Mostek"
@@ -6637,9 +6741,9 @@ msgstr "Mostek"
 msgid "Bridge connection %d"
 msgstr "Połączenie mostkowane %d"
 
-#: ../clients/tui/nm-editor-utils.c:208 ../libnm-core/nm-connection.c:1893
+#: ../clients/tui/nm-editor-utils.c:208 ../libnm-core/nm-connection.c:1894
 #: ../libnm-glib/nm-device.c:1875 ../libnm-util/nm-connection.c:1628
-#: ../libnm/nm-device.c:1677
+#: ../libnm/nm-device.c:1678
 #: ../src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c:4414
 msgid "Team"
 msgstr "Zespół"
@@ -6656,12 +6760,12 @@ msgstr "Połączenie VLAN %d"
 
 #: ../clients/tui/nm-editor-utils.c:225 ../clients/tui/nmt-page-ip-tunnel.c:136
 msgid "IP tunnel"
-msgstr ""
+msgstr "Tunel IP"
 
 #: ../clients/tui/nm-editor-utils.c:229
 #, c-format
 msgid "IP tunnel connection %d"
-msgstr ""
+msgstr "Połączenie tunelu IP %d"
 
 #: ../clients/tui/nm-editor-utils.c:244
 #, c-format
@@ -6791,11 +6895,6 @@ msgstr "ARP"
 msgid "Slaves"
 msgstr "Podrzędne"
 
-#: ../clients/tui/nmt-page-bond.c:367 ../clients/tui/nmt-page-ip-tunnel.c:148
-#: ../clients/tui/nmt-page-wifi.c:230
-msgid "Mode"
-msgstr "Tryb"
-
 #: ../clients/tui/nmt-page-bond.c:373
 msgid "Primary"
 msgstr "Główne"
@@ -6976,39 +7075,39 @@ msgstr "Wymaganie adresowania IPv6 dla tego połączenia"
 #. The order must match the NM_IP_TUNNEL_MODE_* enum
 #: ../clients/tui/nmt-page-ip-tunnel.c:78
 msgid "IPIP"
-msgstr ""
+msgstr "IPIP"
 
 #: ../clients/tui/nmt-page-ip-tunnel.c:79
 msgid "GRE"
-msgstr ""
+msgstr "GRE"
 
 #: ../clients/tui/nmt-page-ip-tunnel.c:80
 msgid "SIT"
-msgstr ""
+msgstr "SIT"
 
 #: ../clients/tui/nmt-page-ip-tunnel.c:81
 msgid "ISATAP"
-msgstr ""
+msgstr "ISATAP"
 
 #: ../clients/tui/nmt-page-ip-tunnel.c:82
 msgid "VTI"
-msgstr ""
+msgstr "VTI"
 
 #: ../clients/tui/nmt-page-ip-tunnel.c:83
 msgid "IP6IP6"
-msgstr ""
+msgstr "IP6IP6"
 
 #: ../clients/tui/nmt-page-ip-tunnel.c:84
 msgid "IPIP6"
-msgstr ""
+msgstr "IPIP6"
 
 #: ../clients/tui/nmt-page-ip-tunnel.c:85
 msgid "IP6GRE"
-msgstr ""
+msgstr "IP6GRE"
 
 #: ../clients/tui/nmt-page-ip-tunnel.c:86
 msgid "VTI6"
-msgstr ""
+msgstr "VTI6"
 
 #: ../clients/tui/nmt-page-ip-tunnel.c:150 ../clients/tui/nmt-page-vlan.c:99
 msgid "Parent"
@@ -7016,19 +7115,19 @@ msgstr "Nadrzędne"
 
 #: ../clients/tui/nmt-page-ip-tunnel.c:157
 msgid "Local IP"
-msgstr ""
+msgstr "Lokalny adres IP"
 
 #: ../clients/tui/nmt-page-ip-tunnel.c:163
 msgid "Remote IP"
-msgstr ""
+msgstr "Zdalny adres IP"
 
 #: ../clients/tui/nmt-page-ip-tunnel.c:169
 msgid "Input key"
-msgstr ""
+msgstr "Klucz wejściowy"
 
 #: ../clients/tui/nmt-page-ip-tunnel.c:176
 msgid "Output key"
-msgstr ""
+msgstr "Klucz wyjściowy"
 
 #: ../clients/tui/nmt-page-ppp.c:131
 msgid "PPP CONFIGURATION"
@@ -7685,7 +7784,7 @@ msgstr "Nie można zdekodować certyfikatu: %d"
 #: ../libnm-core/crypto_nss.c:420
 #, c-format
 msgid "Password must be UTF-8"
-msgstr "Hasło musi być UTF-8"
+msgstr "Hasło musi być tekstem UTF-8"
 
 #: ../libnm-core/crypto_nss.c:450 ../libnm-util/crypto_nss.c:488
 #, c-format
@@ -7738,12 +7837,12 @@ msgstr "Sprawdzenie połączenia niespodziewanie się nie powiodło"
 msgid "Unexpected failure to normalize the connection"
 msgstr "Znormalizowanie połączenia niespodziewanie się nie powiodło"
 
-#: ../libnm-core/nm-connection.c:1759 ../libnm-core/nm-setting-8021x.c:2654
-#: ../libnm-core/nm-setting-8021x.c:2671 ../libnm-core/nm-setting-8021x.c:2702
-#: ../libnm-core/nm-setting-8021x.c:2719 ../libnm-core/nm-setting-8021x.c:2761
-#: ../libnm-core/nm-setting-8021x.c:2773 ../libnm-core/nm-setting-8021x.c:2791
-#: ../libnm-core/nm-setting-8021x.c:2803 ../libnm-core/nm-setting-8021x.c:2827
-#: ../libnm-core/nm-setting-8021x.c:2992 ../libnm-core/nm-setting-adsl.c:189
+#: ../libnm-core/nm-connection.c:1759 ../libnm-core/nm-setting-8021x.c:2653
+#: ../libnm-core/nm-setting-8021x.c:2670 ../libnm-core/nm-setting-8021x.c:2701
+#: ../libnm-core/nm-setting-8021x.c:2718 ../libnm-core/nm-setting-8021x.c:2760
+#: ../libnm-core/nm-setting-8021x.c:2772 ../libnm-core/nm-setting-8021x.c:2790
+#: ../libnm-core/nm-setting-8021x.c:2802 ../libnm-core/nm-setting-8021x.c:2826
+#: ../libnm-core/nm-setting-8021x.c:2991 ../libnm-core/nm-setting-adsl.c:189
 #: ../libnm-core/nm-setting-bluetooth.c:120
 #: ../libnm-core/nm-setting-bluetooth.c:138 ../libnm-core/nm-setting-cdma.c:141
 #: ../libnm-core/nm-setting-connection.c:871
@@ -7778,7 +7877,7 @@ msgstr "Znormalizowanie połączenia niespodziewanie się nie powiodło"
 msgid "property is missing"
 msgstr "brak właściwości"
 
-#: ../libnm-core/nm-connection.c:1902
+#: ../libnm-core/nm-connection.c:1903
 msgid "IP Tunnel"
 msgstr "Tunel IP"
 
@@ -7889,7 +7988,7 @@ msgstr "nieprawidłowa ścieżka wartości klucz/certyfikat „%s”"
 #: ../libnm-core/nm-keyfile-reader.c:970
 #, c-format
 msgid "invalid PKCS#11 URI \"%s\""
-msgstr ""
+msgstr "nieprawidłowy adres URI PKCS#11 „%s”"
 
 #: ../libnm-core/nm-keyfile-reader.c:1008
 msgid "invalid key/cert value data:;base64, is not base64"
@@ -7963,39 +8062,39 @@ msgstr "brak danych binarnych"
 
 #: ../libnm-core/nm-setting-8021x.c:478
 msgid "URI not NUL terminated"
-msgstr ""
+msgstr "adres URI nie kończy się NUL"
 
 #: ../libnm-core/nm-setting-8021x.c:487
 msgid "URI is empty"
-msgstr ""
+msgstr "adres URI jest pusty"
 
 #: ../libnm-core/nm-setting-8021x.c:495
 msgid "URI is not valid UTF-8"
-msgstr ""
+msgstr "adres URI nie jest prawidłowym tekstem UTF-8"
 
 #: ../libnm-core/nm-setting-8021x.c:731 ../libnm-util/nm-setting-8021x.c:639
 msgid "CA certificate must be in X.509 format"
 msgstr "Certyfikat CA musi być w formacie X.509"
 
-#: ../libnm-core/nm-setting-8021x.c:1101 ../libnm-core/nm-setting-8021x.c:1405
-#: ../libnm-core/nm-setting-8021x.c:1781 ../libnm-util/nm-setting-8021x.c:957
+#: ../libnm-core/nm-setting-8021x.c:1101 ../libnm-core/nm-setting-8021x.c:1404
+#: ../libnm-core/nm-setting-8021x.c:1780 ../libnm-util/nm-setting-8021x.c:957
 #: ../libnm-util/nm-setting-8021x.c:1220 ../libnm-util/nm-setting-8021x.c:1543
 msgid "invalid certificate format"
 msgstr "nieprawidłowy format certyfikatu"
 
-#: ../libnm-core/nm-setting-8021x.c:2098 ../libnm-util/nm-setting-8021x.c:1812
+#: ../libnm-core/nm-setting-8021x.c:2097 ../libnm-util/nm-setting-8021x.c:1812
 msgid "invalid private key"
 msgstr "nieprawidłowy klucz prywatny"
 
-#: ../libnm-core/nm-setting-8021x.c:2445 ../libnm-util/nm-setting-8021x.c:2123
+#: ../libnm-core/nm-setting-8021x.c:2444 ../libnm-util/nm-setting-8021x.c:2123
 msgid "invalid phase2 private key"
 msgstr "nieprawidłowy klucz prywatny drugiego etapu"
 
-#: ../libnm-core/nm-setting-8021x.c:2661 ../libnm-core/nm-setting-8021x.c:2678
-#: ../libnm-core/nm-setting-8021x.c:2709 ../libnm-core/nm-setting-8021x.c:2726
-#: ../libnm-core/nm-setting-8021x.c:2767 ../libnm-core/nm-setting-8021x.c:2779
-#: ../libnm-core/nm-setting-8021x.c:2797 ../libnm-core/nm-setting-8021x.c:2809
-#: ../libnm-core/nm-setting-8021x.c:2834 ../libnm-core/nm-setting-adsl.c:196
+#: ../libnm-core/nm-setting-8021x.c:2660 ../libnm-core/nm-setting-8021x.c:2677
+#: ../libnm-core/nm-setting-8021x.c:2708 ../libnm-core/nm-setting-8021x.c:2725
+#: ../libnm-core/nm-setting-8021x.c:2766 ../libnm-core/nm-setting-8021x.c:2778
+#: ../libnm-core/nm-setting-8021x.c:2796 ../libnm-core/nm-setting-8021x.c:2808
+#: ../libnm-core/nm-setting-8021x.c:2833 ../libnm-core/nm-setting-adsl.c:196
 #: ../libnm-core/nm-setting-cdma.c:148 ../libnm-core/nm-setting-cdma.c:157
 #: ../libnm-core/nm-setting-connection.c:878
 #: ../libnm-core/nm-setting-connection.c:923 ../libnm-core/nm-setting-gsm.c:281
@@ -8027,19 +8126,19 @@ msgstr "nieprawidłowy klucz prywatny drugiego etapu"
 msgid "property is empty"
 msgstr "właściwość jest pusta"
 
-#: ../libnm-core/nm-setting-8021x.c:2691 ../libnm-core/nm-setting-8021x.c:2739
+#: ../libnm-core/nm-setting-8021x.c:2690 ../libnm-core/nm-setting-8021x.c:2738
 #: ../libnm-util/nm-setting-8021x.c:2360 ../libnm-util/nm-setting-8021x.c:2372
 #: ../libnm-util/nm-setting-8021x.c:2418 ../libnm-util/nm-setting-8021x.c:2430
 #, c-format
 msgid "has to match '%s' property for PKCS#12"
 msgstr "musi pasować do właściwości „%s” dla PKCS#12"
 
-#: ../libnm-core/nm-setting-8021x.c:2966
+#: ../libnm-core/nm-setting-8021x.c:2965
 #, c-format
 msgid "certificate is invalid: %s"
 msgstr "certyfikat jest nieprawidłowy: %s"
 
-#: ../libnm-core/nm-setting-8021x.c:3001
+#: ../libnm-core/nm-setting-8021x.c:3000
 #: ../libnm-core/nm-setting-bluetooth.c:129
 #: ../libnm-core/nm-setting-infiniband.c:192
 #: ../libnm-core/nm-setting-infiniband.c:207
@@ -8080,9 +8179,9 @@ msgstr "certyfikat jest nieprawidłowy: %s"
 msgid "property is invalid"
 msgstr "właściwość jest nieprawidłowa"
 
-#: ../libnm-core/nm-setting-8021x.c:3026 ../libnm-core/nm-setting-8021x.c:3036
-#: ../libnm-core/nm-setting-8021x.c:3046 ../libnm-core/nm-setting-8021x.c:3056
-#: ../libnm-core/nm-setting-8021x.c:3066 ../libnm-core/nm-setting-adsl.c:208
+#: ../libnm-core/nm-setting-8021x.c:3025 ../libnm-core/nm-setting-8021x.c:3035
+#: ../libnm-core/nm-setting-8021x.c:3045 ../libnm-core/nm-setting-8021x.c:3055
+#: ../libnm-core/nm-setting-8021x.c:3065 ../libnm-core/nm-setting-adsl.c:208
 #: ../libnm-core/nm-setting-adsl.c:220 ../libnm-core/nm-setting-bluetooth.c:146
 #: ../libnm-core/nm-setting-wireless-security.c:870
 #: ../libnm-util/nm-setting-8021x.c:2714 ../libnm-util/nm-setting-8021x.c:2724
@@ -8127,7 +8226,7 @@ msgstr "„%s=%s” nie jest zgodne z „%s > 0”"
 #: ../libnm-core/nm-setting-bond.c:627
 #, c-format
 msgid "'%s' is not a valid for '%s' option: %s"
-msgstr ""
+msgstr "„%s” nie jest prawidłową opcją dla „%s”: %s"
 
 #: ../libnm-core/nm-setting-bond.c:638 ../libnm-util/nm-setting-bond.c:577
 #, c-format
@@ -8388,12 +8487,12 @@ msgstr "%d. adres IP jest nieprawidłowy"
 #: ../libnm-core/nm-setting-ip-config.c:2306
 #, c-format
 msgid "%d. IP address has 'label' property with invalid type"
-msgstr "%d. adres IP posiada właściwość „label” z nieprawidłowym typem"
+msgstr "%d. adres IP ma właściwość „label” z nieprawidłowym typem"
 
 #: ../libnm-core/nm-setting-ip-config.c:2315
 #, c-format
 msgid "%d. IP address has invalid label '%s'"
-msgstr "%d. adres IP posiada nieprawidłową etykietę „%s”"
+msgstr "%d. adres IP ma nieprawidłową etykietę „%s”"
 
 #: ../libnm-core/nm-setting-ip-config.c:2329
 msgid "gateway cannot be set if there are no addresses configured"
@@ -8456,7 +8555,7 @@ msgstr ""
 #: ../libnm-core/nm-setting-ip4-config.c:235
 #, c-format
 msgid "multiple addresses are not allowed for '%s=%s'"
-msgstr ""
+msgstr "wiele adresów nie jest dozwolonych dla „%s=%s”"
 
 #: ../libnm-core/nm-setting-ip4-config.c:249
 msgid "property should be TRUE when method is set to disabled"
@@ -8486,8 +8585,9 @@ msgid "'%d' is not a valid tunnel mode"
 msgstr "„%d” nie jest prawidłowym trybem tunelu"
 
 #: ../libnm-core/nm-setting-ip-tunnel.c:330
-#: ../libnm-core/nm-setting-macvlan.c:167 ../libnm-core/nm-setting-vlan.c:645
-#: ../libnm-core/nm-setting-vxlan.c:403 ../libnm-util/nm-setting-vlan.c:567
+#: ../libnm-core/nm-setting-macsec.c:302 ../libnm-core/nm-setting-macvlan.c:167
+#: ../libnm-core/nm-setting-vlan.c:645 ../libnm-core/nm-setting-vxlan.c:403
+#: ../libnm-util/nm-setting-vlan.c:567
 #, c-format
 msgid "'%s' is neither an UUID nor an interface name"
 msgstr "„%s” nie jest UUID ani nazwą interfejsu"
@@ -8513,12 +8613,41 @@ msgid "a fixed TTL is allowed only when path MTU discovery is enabled"
 msgstr ""
 "stałe TTL jest dozwolone tylko, kiedy wykrywanie MTU ścieżki jest włączone"
 
-#: ../libnm-core/nm-setting-macvlan.c:181 ../libnm-core/nm-setting-vlan.c:659
-#: ../libnm-util/nm-setting-vlan.c:580
+#: ../libnm-core/nm-setting-macsec.c:235
+msgid "the key is empty"
+msgstr "klucz jest pusty"
+
+#: ../libnm-core/nm-setting-macsec.c:246
+#, c-format
+msgid "the key must be %d characters"
+msgstr "klucz musi mieć %d znaków"
+
+#: ../libnm-core/nm-setting-macsec.c:254
+msgid "the key contais non-hexadecimal characters"
+msgstr "klucz zawiera nieszesnastkowe znaki"
+
+#: ../libnm-core/nm-setting-macsec.c:291 ../libnm-core/nm-setting-vlan.c:634
+#: ../libnm-util/nm-setting-vlan.c:556
+#, c-format
+msgid "'%s' value doesn't match '%s=%s'"
+msgstr "wartość „%s” nie pasuje do „%s=%s”"
+
+#: ../libnm-core/nm-setting-macsec.c:316 ../libnm-core/nm-setting-macvlan.c:181
+#: ../libnm-core/nm-setting-vlan.c:659 ../libnm-util/nm-setting-vlan.c:580
 #, c-format
 msgid "property is not specified and neither is '%s:%s'"
 msgstr "właściwość nie została podana, tak jak i „%s:%s”"
 
+#: ../libnm-core/nm-setting-macsec.c:333
+#, c-format
+msgid "EAP key management requires '%s' setting presence"
+msgstr "zarządzanie kluczem EAP wymaga obecności ustawienia „%s”"
+
+#: ../libnm-core/nm-setting-macsec.c:344
+#, c-format
+msgid "invalid port %d"
+msgstr "nieprawidłowy port %d"
+
 #: ../libnm-core/nm-setting-macvlan.c:192
 msgid "non promiscuous operation is allowed only in passthru mode"
 msgstr "nierozwiązłe działanie jest dozwolone tylko w trybie przejścia"
@@ -8551,32 +8680,32 @@ msgstr "ustawienie tej właściwości wymaga niezerowej właściwości „%s”"
 #: ../libnm-core/nm-setting-proxy.c:163
 #, c-format
 msgid "invalid proxy method"
-msgstr ""
+msgstr "nieprawidłowa metoda pośrednika"
 
 #: ../libnm-core/nm-setting-proxy.c:173 ../libnm-core/nm-setting-proxy.c:182
 #, c-format
 msgid "this property is not allowed for method none"
-msgstr ""
+msgstr "ta właściwość nie jest dozwolona dla metody „none”"
 
 #: ../libnm-core/nm-setting-proxy.c:193
 #, c-format
 msgid "the script is too large"
-msgstr ""
+msgstr "skrypt jest za duży"
 
 #: ../libnm-core/nm-setting-proxy.c:201
 #, c-format
 msgid "the script is not valid utf8"
-msgstr ""
+msgstr "skrypt nie jest prawidłowym tekstem UTF-8"
 
 #: ../libnm-core/nm-setting-proxy.c:209
 #, c-format
 msgid "the script lacks FindProxyForURL function"
-msgstr ""
+msgstr "skrypt nie ma funkcji FindProxyForURL"
 
 #: ../libnm-core/nm-setting-team.c:94 ../libnm-core/nm-setting-team-port.c:122
 #, c-format
 msgid "team config exceeds size limit"
-msgstr ""
+msgstr "konfiguracja zespołu przekracza ograniczenie rozmiaru"
 
 #: ../libnm-core/nm-setting-tun.c:187
 #, c-format
@@ -8593,11 +8722,6 @@ msgstr "„%s”: nieprawidłowy identyfikator użytkownika"
 msgid "'%s': invalid group ID"
 msgstr "„%s”: nieprawidłowy identyfikator grupy"
 
-#: ../libnm-core/nm-setting-vlan.c:634 ../libnm-util/nm-setting-vlan.c:556
-#, c-format
-msgid "'%s' value doesn't match '%s=%s'"
-msgstr "wartość „%s” nie pasuje do „%s=%s”"
-
 #: ../libnm-core/nm-setting-vlan.c:670 ../libnm-util/nm-setting-vlan.c:600
 #, c-format
 msgid "the vlan id must be in range 0-4094 but is %u"
@@ -8678,14 +8802,17 @@ msgstr ""
 #: ../libnm-core/nm-setting-wired.c:768
 msgid "when link autonegotiation is enabled no duplex value is accepted"
 msgstr ""
+"kiedy automatyczna negocjacja łącza jest włączona, żadna wartość dupleksu "
+"nie jest przyjmowana"
 
 #: ../libnm-core/nm-setting-wired.c:776
 msgid "when link autonegotiation is enabled speed should be 0"
 msgstr ""
+"kiedy automatyczna negocjacja łącza jest włączona, prędkość powinna wynosić 0"
 
 #: ../libnm-core/nm-setting-wired.c:786
 msgid "both speed and duplex are required for static link configuration"
-msgstr ""
+msgstr "prędkość i dupleks są wymagane dla konfiguracji statycznego łącza"
 
 #: ../libnm-core/nm-setting-wireless-security.c:882
 #: ../libnm-util/nm-setting-wireless-security.c:912
@@ -8840,40 +8967,40 @@ msgstr "nieprawidłowy adres MAC Ethernetu #%u w miejscu %lld"
 
 #: ../libnm-core/nm-utils.c:3758
 msgid "interface name is too short"
-msgstr ""
+msgstr "nazwa interfejsu jest za krótka"
 
 #: ../libnm-core/nm-utils.c:3764
 msgid "interface name is longer than 15 characters"
-msgstr ""
+msgstr "nazwa interfejsu jest dłuższa niż 15 znaków"
 
 #: ../libnm-core/nm-utils.c:3770
 msgid "interface name is reserved"
-msgstr ""
+msgstr "nazwa interfejsu jest zastrzeżona"
 
 #: ../libnm-core/nm-utils.c:3777
 msgid "interface name contains an invalid character"
-msgstr ""
+msgstr "nazwa interfejsu zawiera nieprawidłowy znak"
 
 #: ../libnm-core/nm-utils.c:4495 ../libnm-core/nm-utils.c:4629
 msgid "value is NULL"
-msgstr ""
+msgstr "wartość wynosi NULL"
 
 #: ../libnm-core/nm-utils.c:4495 ../libnm-core/nm-utils.c:4629
 msgid "value is empty"
-msgstr ""
+msgstr "wartość jest pusta"
 
 #: ../libnm-core/nm-utils.c:4504
 #, c-format
 msgid "invalid JSON at position %d (%s)"
-msgstr ""
+msgstr "nieprawidłowy kod JSON w miejscu %d (%s)"
 
 #: ../libnm-core/nm-utils.c:4516 ../libnm-core/nm-utils.c:4648
 msgid "is not a JSON object"
-msgstr ""
+msgstr "nie jest obiektem JSON"
 
 #: ../libnm-core/nm-utils.c:4618
 msgid "not valid utf-8"
-msgstr ""
+msgstr "nieprawidłowy tekst UTF-8"
 
 #: ../libnm-core/nm-vpn-editor-plugin.c:296
 #, c-format
@@ -8923,12 +9050,12 @@ msgstr "nazwa pliku musi być ścieżką bezwzględną (%s)"
 #: ../libnm-core/nm-vpn-plugin-info.c:127
 #, c-format
 msgid "filename has invalid format (%s)"
-msgstr "nazwa pliku posiada nieprawidłowy format (%s)"
+msgstr "nazwa pliku ma nieprawidłowy format (%s)"
 
 #: ../libnm-core/nm-vpn-plugin-info.c:450
 #, c-format
 msgid "there exists a conflicting plugin (%s) that has the same %s.%s value"
-msgstr "istnieje wtyczka w konflikcie (%s) posiadająca tą samą wartość %s.%s"
+msgstr "istnieje wtyczka w konflikcie (%s) mająca tą samą wartość %s.%s"
 
 #: ../libnm-core/nm-vpn-plugin-info.c:488
 #, c-format
@@ -8958,51 +9085,51 @@ msgstr "brak nazwy dla informacji o wtyczce VPN"
 msgid "missing service for VPN plugin info"
 msgstr "brak usługi dla informacji o wtyczce VPN"
 
-#: ../libnm-glib/nm-device.c:1863 ../libnm/nm-device.c:1665
+#: ../libnm-glib/nm-device.c:1863 ../libnm/nm-device.c:1666
 msgid "Bluetooth"
 msgstr "Bluetooth"
 
-#: ../libnm-glib/nm-device.c:1865 ../libnm/nm-device.c:1667
+#: ../libnm-glib/nm-device.c:1865 ../libnm/nm-device.c:1668
 msgid "OLPC Mesh"
 msgstr "Kratowe OLPC"
 
-#: ../libnm-glib/nm-device.c:1867 ../libnm/nm-device.c:1669
+#: ../libnm-glib/nm-device.c:1867 ../libnm/nm-device.c:1670
 msgid "WiMAX"
 msgstr "WiMAX"
 
-#: ../libnm-glib/nm-device.c:1881 ../libnm/nm-device.c:1683
+#: ../libnm-glib/nm-device.c:1881 ../libnm/nm-device.c:1684
 msgid "ADSL"
 msgstr "ADSL"
 
-#: ../libnm-glib/nm-device.c:1883 ../libnm/nm-device.c:1685
+#: ../libnm-glib/nm-device.c:1883 ../libnm/nm-device.c:1686
 msgid "MACVLAN"
 msgstr "MACVLAN"
 
-#: ../libnm-glib/nm-device.c:1885 ../libnm/nm-device.c:1687
+#: ../libnm-glib/nm-device.c:1885 ../libnm/nm-device.c:1688
 msgid "VXLAN"
 msgstr "VXLAN"
 
-#: ../libnm-glib/nm-device.c:1887 ../libnm/nm-device.c:1689
+#: ../libnm-glib/nm-device.c:1887 ../libnm/nm-device.c:1690
 msgid "IPTunnel"
 msgstr "Tunel IP"
 
-#: ../libnm-glib/nm-device.c:1889 ../libnm/nm-device.c:1691
+#: ../libnm-glib/nm-device.c:1889 ../libnm/nm-device.c:1692
 msgid "Tun"
 msgstr "TUN"
 
-#: ../libnm-glib/nm-device.c:1891 ../libnm/nm-device.c:1693
+#: ../libnm-glib/nm-device.c:1891 ../libnm/nm-device.c:1694
 msgid "Veth"
 msgstr "Veth"
 
-#: ../libnm-glib/nm-device.c:1923 ../libnm/nm-device.c:1725
+#: ../libnm-glib/nm-device.c:1923 ../libnm/nm-device.c:1728
 msgid "Wired"
 msgstr "Przewodowe"
 
-#: ../libnm-glib/nm-device.c:1954 ../libnm/nm-device.c:1756
+#: ../libnm-glib/nm-device.c:1954 ../libnm/nm-device.c:1759
 msgid "PCI"
 msgstr "PCI"
 
-#: ../libnm-glib/nm-device.c:1956 ../libnm/nm-device.c:1758
+#: ../libnm-glib/nm-device.c:1956 ../libnm/nm-device.c:1761
 msgid "USB"
 msgstr "USB"
 
@@ -9013,7 +9140,7 @@ msgstr "USB"
 #. * the strings otherwise.
 #.
 #: ../libnm-glib/nm-device.c:2052 ../libnm-glib/nm-device.c:2071
-#: ../libnm/nm-device.c:1852 ../libnm/nm-device.c:1871
+#: ../libnm/nm-device.c:1855 ../libnm/nm-device.c:1874
 #, c-format
 msgctxt "long device name"
 msgid "%s %s"
@@ -9066,7 +9193,7 @@ msgstr "wymaga obecności ustawienia „%s” w połączeniu"
 
 #: ../libnm-util/nm-setting-infiniband.c:231
 msgid "not a valid interface name"
-msgstr "nie jest prawidłową nazwą interfejsu"
+msgstr "nieprawidłowa nazwa interfejsu"
 
 #: ../libnm-util/nm-setting-ip4-config.c:957
 #, c-format
@@ -9076,13 +9203,13 @@ msgstr "%d. adres IPv4 jest nieprawidłowy"
 #: ../libnm-util/nm-setting-ip4-config.c:967
 #, c-format
 msgid "%d. IPv4 address has invalid prefix"
-msgstr "%d. adres IPv4 posiada nieprawidłowy przedrostek"
+msgstr "%d. adres IPv4 ma nieprawidłowy przedrostek"
 
 #: ../libnm-util/nm-setting-ip4-config.c:983
 #: ../libnm-util/nm-setting-ip6-config.c:939
 #, c-format
 msgid "%d. route has invalid prefix"
-msgstr "%d. trasa posiada nieprawidłowy przedrostek"
+msgstr "%d. trasa ma nieprawidłowy przedrostek"
 
 #: ../libnm-util/nm-setting-ip6-config.c:913
 #, c-format
@@ -9092,7 +9219,7 @@ msgstr "%d. adres IPv6 jest nieprawidłowy"
 #: ../libnm-util/nm-setting-ip6-config.c:923
 #, c-format
 msgid "%d. IPv6 address has invalid prefix"
-msgstr "%d. adres IPv6 posiada nieprawidłowy przedrostek"
+msgstr "%d. adres IPv6 ma nieprawidłowy przedrostek"
 
 #: ../libnm-util/nm-setting-vpn.c:582
 #, c-format
@@ -9137,8 +9264,7 @@ msgstr "Adresy Bluetooth urządzenia i połączenia się nie zgadzają."
 #: ../libnm/nm-device-bt.c:161
 msgid ""
 "The device is lacking Bluetooth capabilities required by the connection."
-msgstr ""
-"Urządzenie nie posiada możliwości Bluetooth wymaganych przez połączenie."
+msgstr "Urządzenie nie ma możliwości Bluetooth wymaganych przez połączenie."
 
 #: ../libnm/nm-device-ethernet.c:206
 msgid "The connection was not an Ethernet or PPPoE connection."
@@ -9215,7 +9341,7 @@ msgstr "Połączenie nie jest prawidłowym połączeniem modemowym."
 
 #: ../libnm/nm-device-modem.c:134
 msgid "The device is lacking capabilities required by the connection."
-msgstr "Urządzenie nie posiada możliwości wymaganych przez połączenie."
+msgstr "Urządzenie nie ma możliwości wymaganych przez połączenie."
 
 #: ../libnm/nm-device-olpc-mesh.c:114
 msgid "The connection was not an OLPC Mesh connection."
@@ -9251,23 +9377,26 @@ msgstr "Połączenie nie jest połączeniem Wi-Fi."
 
 #: ../libnm/nm-device-wifi.c:626
 msgid "The device is lacking WPA capabilities required by the connection."
-msgstr "Urządzenie nie posiada możliwości WPA wymaganych przez połączenie."
+msgstr "Urządzenie nie ma możliwości WPA wymaganych przez połączenie."
 
 #: ../libnm/nm-device-wifi.c:633
 msgid "The device is lacking WPA2/RSN capabilities required by the connection."
-msgstr ""
-"Urządzenie nie posiada możliwości WPA2/RSN wymaganych przez połączenie."
+msgstr "Urządzenie nie ma możliwości WPA2/RSN wymaganych przez połączenie."
 
 #: ../libnm/nm-device-wimax.c:315
 msgid "The connection was not a WiMAX connection."
 msgstr "Połączenie nie jest połączeniem WiMAX."
 
-#: ../libnm/nm-device.c:2583
+#: ../libnm/nm-device.c:1696
+msgid "MACsec"
+msgstr "MACsec"
+
+#: ../libnm/nm-device.c:2586
 #, c-format
 msgid "The connection was not valid: %s"
 msgstr "Połączenie jest nieprawidłowe: %s"
 
-#: ../libnm/nm-device.c:2592
+#: ../libnm/nm-device.c:2595
 #, c-format
 msgid "The interface names of the device and the connection didn't match."
 msgstr "Nazwy interfejsu urządzenia i połączenia się nie zgadzają."
@@ -9291,7 +9420,7 @@ msgstr "Włączenie lub wyłączenie sieci systemowej"
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:2
 msgid "System policy prevents enabling or disabling system networking"
 msgstr ""
-"Polityka systemu powstrzymuje włączanie lub wyłączanie sieci systemowej"
+"Polityka systemu uniemożliwia włączanie lub wyłączanie sieci systemowej"
 
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:3
 msgid "Reload NetworkManager configuration"
@@ -9299,7 +9428,7 @@ msgstr "Ponowne wczytanie konfiguracji usługi NetworkManager"
 
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:4
 msgid "System policy prevents reloading NetworkManager"
-msgstr "Polityka systemu powstrzymuje ponowne wczytanie usługi NetworkManager"
+msgstr "Polityka systemu uniemożliwia ponowne wczytanie usługi NetworkManager"
 
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:5
 msgid ""
@@ -9312,7 +9441,7 @@ msgstr ""
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:6
 msgid "System policy prevents putting NetworkManager to sleep or waking it up"
 msgstr ""
-"Polityka systemu powstrzymuje umieszczenie usługi NetworkManager w stanie "
+"Polityka systemu uniemożliwia umieszczenie usługi NetworkManager w stanie "
 "uśpienia lub przebudzenie go"
 
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:7
@@ -9321,7 +9450,7 @@ msgstr "Włączenie lub wyłączenie urządzeń Wi-Fi"
 
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:8
 msgid "System policy prevents enabling or disabling WiFi devices"
-msgstr "Polityka systemu powstrzymuje włączanie lub wyłączanie urządzeń Wi-Fi"
+msgstr "Polityka systemu uniemożliwia włączanie lub wyłączanie urządzeń Wi-Fi"
 
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:9
 msgid "Enable or disable mobile broadband devices"
@@ -9330,7 +9459,7 @@ msgstr "Włączenie lub wyłączenie urządzeń komórkowych"
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:10
 msgid "System policy prevents enabling or disabling mobile broadband devices"
 msgstr ""
-"Polityka systemu powstrzymuje włączenie lub wyłączenie urządzeń komórkowych"
+"Polityka systemu uniemożliwia włączenie lub wyłączenie urządzeń komórkowych"
 
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:11
 msgid "Enable or disable WiMAX mobile broadband devices"
@@ -9340,16 +9469,16 @@ msgstr "Włączenie lub wyłączenie urządzeń komórkowych WiMAX"
 msgid ""
 "System policy prevents enabling or disabling WiMAX mobile broadband devices"
 msgstr ""
-"Polityka systemu powstrzymuje włączenie lub wyłączenie urządzeń komórkowych "
+"Polityka systemu uniemożliwia włączenie lub wyłączenie urządzeń komórkowych "
 "WiMAX"
 
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:13
 msgid "Allow control of network connections"
-msgstr "Umożliwienie kontroli połączeń sieciowych"
+msgstr "Umożliwienie sterowania połączeniami sieciowymi"
 
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:14
 msgid "System policy prevents control of network connections"
-msgstr "Polityka systemu powstrzymuje kontrolę połączeń sieciowych"
+msgstr "Polityka systemu uniemożliwia sterowanie połączeniami sieciowymi"
 
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:15
 msgid "Connection sharing via a protected WiFi network"
@@ -9358,7 +9487,7 @@ msgstr "Współdzielenie połączenia przez chronioną sieć Wi-Fi"
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:16
 msgid "System policy prevents sharing connections via a protected WiFi network"
 msgstr ""
-"Polityka systemu powstrzymuje współdzielenie połączeń przez chronioną sieć "
+"Polityka systemu uniemożliwia współdzielenie połączeń przez chronioną sieć "
 "Wi-Fi"
 
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:17
@@ -9368,7 +9497,7 @@ msgstr "Współdzielenie połączenia przez otwartą sieć Wi-Fi"
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:18
 msgid "System policy prevents sharing connections via an open WiFi network"
 msgstr ""
-"Polityka systemu powstrzymuje współdzielenie połączeń przez otwartą sieć Wi-"
+"Polityka systemu uniemożliwia współdzielenie połączeń przez otwartą sieć Wi-"
 "Fi"
 
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:19
@@ -9378,7 +9507,7 @@ msgstr "Modyfikacja osobistych połączeń sieciowych"
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:20
 msgid "System policy prevents modification of personal network settings"
 msgstr ""
-"Polityka systemu powstrzymuje modyfikację osobistych ustawień systemowych"
+"Polityka systemu uniemożliwia modyfikację osobistych ustawień systemowych"
 
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:21
 msgid "Modify network connections for all users"
@@ -9387,7 +9516,7 @@ msgstr "Modyfikacja połączeń sieciowych dla wszystkich użytkowników"
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:22
 msgid "System policy prevents modification of network settings for all users"
 msgstr ""
-"Polityka systemu powstrzymuje modyfikację ustawień sieciowych dla wszystkich "
+"Polityka systemu uniemożliwia modyfikację ustawień sieciowych dla wszystkich "
 "użytkowników"
 
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:23
@@ -9397,7 +9526,7 @@ msgstr "Modyfikacja trwałej systemowej nazwy komputera"
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:24
 msgid "System policy prevents modification of the persistent system hostname"
 msgstr ""
-"Polityka systemu powstrzymuje modyfikację trwałej systemowej nazwy komputera"
+"Polityka systemu uniemożliwia modyfikację trwałej systemowej nazwy komputera"
 
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:25
 msgid "Modify persistent global DNS configuration"
@@ -9408,7 +9537,7 @@ msgid ""
 "System policy prevents modification of the persistent global DNS "
 "configuration"
 msgstr ""
-"Polityka systemu powstrzymuje modyfikację trwałej globalnej konfiguracji DNS"
+"Polityka systemu uniemożliwia modyfikację trwałej globalnej konfiguracji DNS"
 
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:27
 msgid "Perform a checkpoint or rollback of interfaces configuration"
@@ -9417,6 +9546,8 @@ msgstr "Wykonanie punktu kontrolnego lub przywrócenie konfiguracji interfejsów
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:28
 msgid "System policy prevents the creation of a checkpoint or its rollback"
 msgstr ""
+"Polityka systemu uniemożliwia utworzenie punktu kontrolnego lub jego "
+"przywrócenie"
 
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:29
 msgid "Enable or disable device statistics"
@@ -9425,12 +9556,12 @@ msgstr "Włączenie lub wyłączenie statystyk urządzenia"
 #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:30
 msgid "System policy prevents enabling or disabling device statistics"
 msgstr ""
-"Polityka systemu powstrzymuje włączanie lub wyłączanie statystyk urządzenia"
+"Polityka systemu uniemożliwia włączanie lub wyłączanie statystyk urządzenia"
 
 #: ../shared/nm-utils/nm-shared-utils.c:264
 #, c-format
 msgid "object class '%s' has no property named '%s'"
-msgstr "klasa obiektów „%s” nie posiada właściwości o nazwie „%s”"
+msgstr "klasa obiektów „%s” nie ma właściwości o nazwie „%s”"
 
 #: ../shared/nm-utils/nm-shared-utils.c:271
 #, c-format
@@ -9635,8 +9766,8 @@ msgid "Unknown/unhandled Bluetooth connection type"
 msgstr "Nieznany/nieobsługiwany typ połączenia Bluetooth"
 
 #: ../src/devices/bluetooth/nm-device-bt.c:347
-#: ../src/devices/nm-device-ethernet.c:1508
-#: ../src/devices/nm-device-infiniband.c:204
+#: ../src/devices/nm-device-ethernet.c:1478
+#: ../src/devices/nm-device-infiniband.c:212
 #: ../src/devices/wifi/nm-device-wifi.c:910
 msgid "connection does not match device"
 msgstr "połączenie nie pasuje do urządzenia"
@@ -9649,11 +9780,11 @@ msgstr "Połączenie wiązane"
 msgid "Bridge connection"
 msgstr "Połączenie mostkowane"
 
-#: ../src/devices/nm-device-ethernet.c:1489
+#: ../src/devices/nm-device-ethernet.c:1459
 msgid "PPPoE connection"
 msgstr "Połączenie PPPoE"
 
-#: ../src/devices/nm-device-ethernet.c:1489
+#: ../src/devices/nm-device-ethernet.c:1459
 msgid "Wired connection"
 msgstr "Połączenie przewodowe"
 
diff --git a/shared/nm-utils/nm-test-utils.h b/shared/nm-utils/nm-test-utils.h
index 7e712dcd..7be7e254 100644
--- a/shared/nm-utils/nm-test-utils.h
+++ b/shared/nm-utils/nm-test-utils.h
@@ -832,6 +832,31 @@ nmtst_rand_perm (GRand *rand, void *dst, const void *src, gsize elmt_size, gsize
 	return dst;
 }
 
+inline static GSList *
+nmtst_rand_perm_gslist (GRand *rand, GSList *list)
+{
+	GSList *result;
+	guint l;
+
+	if (!rand)
+		rand = nmtst_get_rand ();
+
+	/* no need for an efficient implementation :) */
+
+	result = 0;
+	for (l = g_slist_length (list); l > 0; l--) {
+		GSList *tmp;
+
+		tmp = g_slist_nth (list, g_rand_int (rand) % l);
+		g_assert (tmp);
+
+		list = g_slist_remove_link (list, tmp);
+		result = g_slist_concat (tmp, result);
+	}
+	g_assert (!list);
+	return result;
+}
+
 /*****************************************************************************/
 
 inline static gboolean
diff --git a/shared/nm-version-macros.h b/shared/nm-version-macros.h
index e81c60d5..c16e720b 100644
--- a/shared/nm-version-macros.h
+++ b/shared/nm-version-macros.h
@@ -45,7 +45,7 @@
  * Evaluates to the micro version number of NetworkManager which this source
  * compiled against.
  */
-#define NM_MICRO_VERSION (90)
+#define NM_MICRO_VERSION (91)
 
 /**
  * NM_CHECK_VERSION:
diff --git a/src/devices/nm-device-ethernet.c b/src/devices/nm-device-ethernet.c
index f9d753a5..327e54a8 100644
--- a/src/devices/nm-device-ethernet.c
+++ b/src/devices/nm-device-ethernet.c
@@ -1543,19 +1543,12 @@ new_default_connection (NMDevice *self)
 	return connection;
 }
 
-static NMMatchSpecMatchType
-spec_match_list (NMDevice *device, const GSList *specs)
+static const char *
+get_s390_subchannels (NMDevice *device)
 {
-	NMMatchSpecMatchType matched = NM_MATCH_SPEC_NO_MATCH, m;
-	NMDeviceEthernetPrivate *priv = NM_DEVICE_ETHERNET_GET_PRIVATE ((NMDeviceEthernet *) device);
+	nm_assert (NM_IS_DEVICE_ETHERNET (device));
 
-	if (priv->subchannels)
-		matched = nm_match_spec_s390_subchannels (specs, priv->subchannels);
-	if (matched != NM_MATCH_SPEC_NEG_MATCH) {
-		m = NM_DEVICE_CLASS (nm_device_ethernet_parent_class)->spec_match_list (device, specs);
-		matched = MAX (matched, m);
-	}
-	return matched;
+	return NM_DEVICE_ETHERNET_GET_PRIVATE ((NMDeviceEthernet *) device)->subchannels;
 }
 
 static void
@@ -1746,7 +1739,7 @@ nm_device_ethernet_class_init (NMDeviceEthernetClass *klass)
 	parent_class->act_stage3_ip4_config_start = act_stage3_ip4_config_start;
 	parent_class->get_configured_mtu = get_configured_mtu;
 	parent_class->deactivate = deactivate;
-	parent_class->spec_match_list = spec_match_list;
+	parent_class->get_s390_subchannels = get_s390_subchannels;
 	parent_class->update_connection = update_connection;
 	parent_class->carrier_changed = carrier_changed;
 	parent_class->link_changed = link_changed;
diff --git a/src/devices/nm-device-veth.c b/src/devices/nm-device-veth.c
index a5a87a2d..1971aeeb 100644
--- a/src/devices/nm-device-veth.c
+++ b/src/devices/nm-device-veth.c
@@ -111,6 +111,7 @@ notify (GObject *object, GParamSpec *pspec)
 {
 	if (nm_streq (pspec->name, NM_DEVICE_PARENT))
 		_notify (NM_DEVICE_VETH (object), PROP_PEER);
+	G_OBJECT_CLASS (nm_device_veth_parent_class)->notify (object, pspec);
 }
 
 static void
diff --git a/src/devices/nm-device-vlan.c b/src/devices/nm-device-vlan.c
index 3979c95d..45d7cf67 100644
--- a/src/devices/nm-device-vlan.c
+++ b/src/devices/nm-device-vlan.c
@@ -572,6 +572,24 @@ act_stage1_prepare (NMDevice *device, NMDeviceStateReason *reason)
 	return ret;
 }
 
+static guint32
+get_configured_mtu (NMDevice *self, gboolean *out_is_user_config)
+{
+	guint32 mtu = 0;
+	int ifindex;
+
+	mtu = nm_device_get_configured_mtu_for_wired (self, out_is_user_config);
+	if (*out_is_user_config)
+		return mtu;
+
+	/* Inherit the MTU from parent device, if any */
+	ifindex = nm_device_parent_get_ifindex (self);
+	if (ifindex > 0)
+		mtu = nm_platform_link_get_mtu (NM_PLATFORM_GET, ifindex);
+
+	return mtu ?: NM_DEVICE_DEFAULT_MTU_WIRED;
+}
+
 /*****************************************************************************/
 
 static void
@@ -612,7 +630,7 @@ nm_device_vlan_class_init (NMDeviceVlanClass *klass)
 	parent_class->unrealize_notify = unrealize_notify;
 	parent_class->get_generic_capabilities = get_generic_capabilities;
 	parent_class->act_stage1_prepare = act_stage1_prepare;
-	parent_class->get_configured_mtu = nm_device_get_configured_mtu_for_wired;
+	parent_class->get_configured_mtu = get_configured_mtu;
 	parent_class->is_available = is_available;
 	parent_class->parent_changed_notify = parent_changed_notify;
 
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
index bc532ff9..b614894e 100644
--- a/src/devices/nm-device.c
+++ b/src/devices/nm-device.c
@@ -2140,8 +2140,7 @@ device_link_changed (NMDevice *self)
 		_notify (self, PROP_UDI);
 	}
 
-	if (g_strcmp0 (info.driver, priv->driver)) {
-		/* Update driver to what udev gives us */
+	if (!nm_streq0 (info.driver, priv->driver)) {
 		g_free (priv->driver);
 		priv->driver = g_strdup (info.driver);
 		_notify (self, PROP_DRIVER);
@@ -2152,12 +2151,6 @@ device_link_changed (NMDevice *self)
 		_notify (self, PROP_MTU);
 	}
 
-	if (info.driver && g_strcmp0 (priv->driver, info.driver) != 0) {
-		g_free (priv->driver);
-		priv->driver = g_strdup (info.driver);
-		_notify (self, PROP_DRIVER);
-	}
-
 	if (ifindex == nm_device_get_ip_ifindex (self))
 		_stats_update_counters_from_pllink (self, &info);
 
@@ -5698,10 +5691,9 @@ act_stage3_ip4_config_start (NMDevice *self,
 				ret = NM_ACT_STAGE_RETURN_FAILURE;
 		} else
 			g_return_val_if_reached (NM_ACT_STAGE_RETURN_FAILURE);
-	} else if (strcmp (method, NM_SETTING_IP4_CONFIG_METHOD_DISABLED) == 0) {
-		_commit_mtu (self, priv->ip4_config);
+	} else if (strcmp (method, NM_SETTING_IP4_CONFIG_METHOD_DISABLED) == 0)
 		ret = NM_ACT_STAGE_RETURN_SUCCESS;
-	} else
+	else
 		_LOGW (LOGD_IP4, "unhandled IPv4 config method '%s'; will fail", method);
 
 	return ret;
@@ -6630,7 +6622,7 @@ _commit_mtu (NMDevice *self, const NMIP4Config *config)
 	struct {
 		gboolean initialized;
 		guint32 value;
-	} ip6_mtu_sysctl;
+	} ip6_mtu_sysctl = { 0, };
 	int ifindex;
 	char sbuf[64], sbuf1[64], sbuf2[64];
 
@@ -6729,7 +6721,6 @@ _commit_mtu (NMDevice *self, const NMIP4Config *config)
 	       ip6_mtu == ip6_mtu_orig ? "" : nm_sprintf_buf (sbuf2, " (was %u)", (guint) ip6_mtu_orig),
 	       ifindex);
 
-	ip6_mtu_sysctl.initialized = FALSE;
 #define _IP6_MTU_SYS() \
 	({ \
 		if (!ip6_mtu_sysctl.initialized) { \
@@ -8317,7 +8308,7 @@ _hash_check_invalid_keys_impl (GHashTable *hash, const char *setting_name, GErro
 		gs_unref_hashtable GHashTable *check_dups = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, NULL);
 
 		for (i = 0; argv[i]; i++) {
-			if (!g_hash_table_add (check_dups, (char *) argv[i]))
+			if (!nm_g_hash_table_add (check_dups, (char *) argv[i]))
 				nm_assert (FALSE);
 		}
 		nm_assert (g_hash_table_size (check_dups) > 0);
@@ -12870,42 +12861,19 @@ nm_device_get_initial_hw_address (NMDevice *self)
 gboolean
 nm_device_spec_match_list (NMDevice *self, const GSList *specs)
 {
-	g_return_val_if_fail (NM_IS_DEVICE (self), FALSE);
-
-	if (!specs)
-		return FALSE;
-
-	return NM_DEVICE_GET_CLASS (self)->spec_match_list (self, specs) == NM_MATCH_SPEC_MATCH;
-}
+	NMDeviceClass *klass;
+	NMMatchSpecMatchType m;
 
-static NMMatchSpecMatchType
-spec_match_list (NMDevice *self, const GSList *specs)
-{
-	NMMatchSpecMatchType matched = NM_MATCH_SPEC_NO_MATCH, m;
-	const GSList *iter;
-	const char *hw_addr_perm;
+	g_return_val_if_fail (NM_IS_DEVICE (self), FALSE);
 
-	for (iter = specs; iter; iter = g_slist_next (iter)) {
-		if (!strcmp ((const char *) iter->data, "*")) {
-			matched = NM_MATCH_SPEC_MATCH;
-			break;
-		}
-	}
+	klass = NM_DEVICE_GET_CLASS (self);
 
-	hw_addr_perm = nm_device_get_permanent_hw_address (self);
-	if (hw_addr_perm) {
-		m = nm_match_spec_hwaddr (specs, hw_addr_perm);
-		matched = MAX (matched, m);
-	}
-	if (matched != NM_MATCH_SPEC_NEG_MATCH) {
-		m = nm_match_spec_interface_name (specs, nm_device_get_iface (self));
-		matched = MAX (matched, m);
-	}
-	if (matched != NM_MATCH_SPEC_NEG_MATCH) {
-		m = nm_match_spec_device_type (specs, nm_device_get_type_description (self));
-		matched = MAX (matched, m);
-	}
-	return matched;
+	m = nm_match_spec_device (specs,
+	                          nm_device_get_iface (self),
+	                          nm_device_get_type_description (self),
+	                          nm_device_get_permanent_hw_address (self),
+	                          klass->get_s390_subchannels ? klass->get_s390_subchannels (self) : NULL);
+	return m == NM_MATCH_SPEC_MATCH;
 }
 
 /*****************************************************************************/
@@ -13186,17 +13154,15 @@ set_property (GObject *object, guint prop_id,
 		priv->iface = g_value_dup_string (value);
 		break;
 	case PROP_DRIVER:
-		if (g_value_get_string (value)) {
-			g_free (priv->driver);
-			priv->driver = g_value_dup_string (value);
-		}
+		/* construct-only */
+		priv->driver = g_value_dup_string (value);
 		break;
 	case PROP_DRIVER_VERSION:
-		g_free (priv->driver_version);
+		/* construct-only */
 		priv->driver_version = g_value_dup_string (value);
 		break;
 	case PROP_FIRMWARE_VERSION:
-		g_free (priv->firmware_version);
+		/* construct-only */
 		priv->firmware_version = g_value_dup_string (value);
 		break;
 	case PROP_IP4_ADDRESS:
@@ -13230,22 +13196,25 @@ set_property (GObject *object, guint prop_id,
 		priv->nm_plugin_missing = g_value_get_boolean (value);
 		break;
 	case PROP_DEVICE_TYPE:
-		g_return_if_fail (priv->type == NM_DEVICE_TYPE_UNKNOWN);
+		/* construct-only */
+		nm_assert (priv->type == NM_DEVICE_TYPE_UNKNOWN);
 		priv->type = g_value_get_uint (value);
 		break;
 	case PROP_LINK_TYPE:
 		/* construct-only */
-		g_return_if_fail (priv->link_type == NM_LINK_TYPE_NONE);
+		nm_assert (priv->link_type == NM_LINK_TYPE_NONE);
 		priv->link_type = g_value_get_uint (value);
 		break;
 	case PROP_TYPE_DESC:
-		g_free (priv->type_desc);
+		/* construct-only */
 		priv->type_desc = g_value_dup_string (value);
 		break;
 	case PROP_RFKILL_TYPE:
+		/* construct-only */
 		priv->rfkill_type = g_value_get_uint (value);
 		break;
 	case PROP_IS_MASTER:
+		/* construct-only */
 		priv->is_master = g_value_get_boolean (value);
 		break;
 	case PROP_PERM_HW_ADDRESS:
@@ -13469,7 +13438,6 @@ nm_device_class_init (NMDeviceClass *klass)
 	klass->have_any_ready_slaves = have_any_ready_slaves;
 
 	klass->get_type_description = get_type_description;
-	klass->spec_match_list = spec_match_list;
 	klass->can_auto_connect = can_auto_connect;
 	klass->check_connection_compatible = check_connection_compatible;
 	klass->check_connection_available = check_connection_available;
diff --git a/src/devices/nm-device.h b/src/devices/nm-device.h
index 52a74d26..311b5a2c 100644
--- a/src/devices/nm-device.h
+++ b/src/devices/nm-device.h
@@ -295,7 +295,7 @@ typedef struct {
 
 	const char *(*get_type_description) (NMDevice *self);
 
-	NMMatchSpecMatchType (* spec_match_list)   (NMDevice *self, const GSList *specs);
+	const char *(*get_s390_subchannels) (NMDevice *self);
 
 	/* Update the connection with currently configured L2 settings */
 	void            (* update_connection) (NMDevice *device, NMConnection *connection);
diff --git a/src/nm-act-request.c b/src/nm-act-request.c
index 3a04667b..03964896 100644
--- a/src/nm-act-request.c
+++ b/src/nm-act-request.c
@@ -495,31 +495,39 @@ static void
 get_property (GObject *object, guint prop_id,
               GValue *value, GParamSpec *pspec)
 {
+	NMActiveConnection *active;
 	NMDevice *device;
-
-	device = nm_active_connection_get_device (NM_ACTIVE_CONNECTION (object));
-	if (!device) {
-		g_value_set_string (value, "/");
-		return;
-	}
+	char *name;
 
 	switch (prop_id) {
 	case PROP_IP4_CONFIG:
-		g_object_get_property (G_OBJECT (device), NM_DEVICE_IP4_CONFIG, value);
+		name = NM_DEVICE_IP4_CONFIG;
 		break;
 	case PROP_DHCP4_CONFIG:
-		g_object_get_property (G_OBJECT (device), NM_DEVICE_DHCP4_CONFIG, value);
+		name = NM_DEVICE_DHCP4_CONFIG;
 		break;
 	case PROP_IP6_CONFIG:
-		g_object_get_property (G_OBJECT (device), NM_DEVICE_IP6_CONFIG, value);
+		name = NM_DEVICE_IP6_CONFIG;
 		break;
 	case PROP_DHCP6_CONFIG:
-		g_object_get_property (G_OBJECT (device), NM_DEVICE_DHCP6_CONFIG, value);
+		name = NM_DEVICE_DHCP6_CONFIG;
 		break;
 	default:
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-		break;
+		return;
 	}
+
+	active = NM_ACTIVE_CONNECTION (object);
+	device = nm_active_connection_get_device (active);
+	if (   !device
+	    || !NM_IN_SET (nm_active_connection_get_state (active),
+	                   NM_ACTIVE_CONNECTION_STATE_ACTIVATED,
+	                   NM_ACTIVE_CONNECTION_STATE_DEACTIVATING)) {
+		g_value_set_string (value, "/");
+		return;
+	}
+
+	g_object_get_property (G_OBJECT (device), name, value);
 }
 
 static void
diff --git a/src/nm-config.c b/src/nm-config.c
index 87d0c8a7..bc8a3ea5 100644
--- a/src/nm-config.c
+++ b/src/nm-config.c
@@ -529,9 +529,9 @@ ignore_config_snippet (GKeyFile *keyfile, gboolean is_base_config)
 
 	/* second, interpret the value as match-spec. */
 	specs = nm_config_get_match_spec (keyfile, NM_CONFIG_KEYFILE_GROUP_CONFIG, NM_CONFIG_KEYFILE_KEY_CONFIG_ENABLE, NULL);
-	match_type = nm_match_spec_match_config (specs,
-	                                         _nm_config_match_nm_version,
-	                                         _nm_config_match_env);
+	match_type = nm_match_spec_config (specs,
+	                                   _nm_config_match_nm_version,
+	                                   _nm_config_match_env);
 	g_slist_free_full (specs, g_free);
 
 	return match_type != NM_MATCH_SPEC_MATCH;
diff --git a/src/nm-core-utils.c b/src/nm-core-utils.c
index 219f309b..79f9e117 100644
--- a/src/nm-core-utils.c
+++ b/src/nm-core-utils.c
@@ -1213,169 +1213,44 @@ nm_utils_read_link_absolute (const char *link_file, GError **error)
 #define MATCH_TAG_CONFIG_NM_VERSION_MAX         "nm-version-max:"
 #define MATCH_TAG_CONFIG_ENV                    "env:"
 
-#define _spec_has_prefix(pspec, tag) \
-	({ \
-		const char **_spec = (pspec); \
-		gboolean _has = FALSE; \
-		\
-		if (!g_ascii_strncasecmp (*_spec, (""tag), NM_STRLEN (tag))) { \
-			*_spec += NM_STRLEN (tag); \
-			_has = TRUE; \
-		} \
-		_has; \
-	})
-
-static const char *
-_match_except (const char *spec_str, gboolean *out_except)
-{
-	if (!g_ascii_strncasecmp (spec_str, EXCEPT_TAG, NM_STRLEN (EXCEPT_TAG))) {
-		spec_str += NM_STRLEN (EXCEPT_TAG);
-		*out_except = TRUE;
-	} else
-		*out_except = FALSE;
-	return spec_str;
-}
-
-NMMatchSpecMatchType
-nm_match_spec_device_type (const GSList *specs, const char *device_type)
-{
-	const GSList *iter;
-	NMMatchSpecMatchType match = NM_MATCH_SPEC_NO_MATCH;
-
-	if (!device_type || !*device_type)
-		return NM_MATCH_SPEC_NO_MATCH;
-
-	for (iter = specs; iter; iter = g_slist_next (iter)) {
-		const char *spec_str = iter->data;
-		gboolean except;
-
-		if (!spec_str || !*spec_str)
-			continue;
-
-		spec_str = _match_except (spec_str, &except);
-
-		if (g_ascii_strncasecmp (spec_str, DEVICE_TYPE_TAG, NM_STRLEN (DEVICE_TYPE_TAG)) != 0)
-			continue;
-
-		spec_str += NM_STRLEN (DEVICE_TYPE_TAG);
-		if (strcmp (spec_str, device_type) == 0) {
-			if (except)
-				return NM_MATCH_SPEC_NEG_MATCH;
-			match = NM_MATCH_SPEC_MATCH;
-		}
-	}
-	return match;
-}
-
-NMMatchSpecMatchType
-nm_match_spec_hwaddr (const GSList *specs, const char *hwaddr)
-{
-	const GSList *iter;
-	NMMatchSpecMatchType match = NM_MATCH_SPEC_NO_MATCH;
-	gsize hwaddr_len = 0;
-	guint8 hwaddr_bin[NM_UTILS_HWADDR_LEN_MAX];
-
-	nm_assert (nm_utils_hwaddr_valid (hwaddr, -1));
-
-	for (iter = specs; iter; iter = g_slist_next (iter)) {
-		const char *spec_str = iter->data;
-		gboolean except;
-
-		if (!spec_str || !*spec_str)
-			continue;
-
-		spec_str = _match_except (spec_str, &except);
-
-		if (   !g_ascii_strncasecmp (spec_str, INTERFACE_NAME_TAG, NM_STRLEN (INTERFACE_NAME_TAG))
-		    || !g_ascii_strncasecmp (spec_str, SUBCHAN_TAG, NM_STRLEN (SUBCHAN_TAG))
-		    || !g_ascii_strncasecmp (spec_str, DEVICE_TYPE_TAG, NM_STRLEN (DEVICE_TYPE_TAG)))
-			continue;
-
-		if (!g_ascii_strncasecmp (spec_str, MAC_TAG, NM_STRLEN (MAC_TAG)))
-			spec_str += NM_STRLEN (MAC_TAG);
-		else if (except)
-			continue;
-
-		if (G_UNLIKELY (hwaddr_len == 0)) {
-			if (!_nm_utils_hwaddr_aton (hwaddr, hwaddr_bin, sizeof (hwaddr_bin), &hwaddr_len))
-				g_return_val_if_reached (NM_MATCH_SPEC_NO_MATCH);
-		}
-
-		if (nm_utils_hwaddr_matches (spec_str, -1, hwaddr_bin, hwaddr_len)) {
-			if (except)
-				return NM_MATCH_SPEC_NEG_MATCH;
-			match = NM_MATCH_SPEC_MATCH;
-		}
-	}
-	return match;
-}
-
-NMMatchSpecMatchType
-nm_match_spec_interface_name (const GSList *specs, const char *interface_name)
-{
-	const GSList *iter;
-	NMMatchSpecMatchType match = NM_MATCH_SPEC_NO_MATCH;
-
-	g_return_val_if_fail (interface_name != NULL, NM_MATCH_SPEC_NO_MATCH);
-
-	for (iter = specs; iter; iter = g_slist_next (iter)) {
-		const char *spec_str = iter->data;
-		gboolean use_pattern = FALSE;
-		gboolean except;
-
-		if (!spec_str || !*spec_str)
-			continue;
-
-		spec_str = _match_except (spec_str, &except);
-
-		if (   !g_ascii_strncasecmp (spec_str, MAC_TAG, NM_STRLEN (MAC_TAG))
-		    || !g_ascii_strncasecmp (spec_str, SUBCHAN_TAG, NM_STRLEN (SUBCHAN_TAG))
-		    || !g_ascii_strncasecmp (spec_str, DEVICE_TYPE_TAG, NM_STRLEN (DEVICE_TYPE_TAG)))
-			continue;
-
-		if (!g_ascii_strncasecmp (spec_str, INTERFACE_NAME_TAG, NM_STRLEN (INTERFACE_NAME_TAG))) {
-			spec_str += NM_STRLEN (INTERFACE_NAME_TAG);
-			if (spec_str[0] == '=')
-				spec_str += 1;
-			else {
-				if (spec_str[0] == '~')
-					spec_str += 1;
-				use_pattern=TRUE;
-			}
-		} else if (except)
-			continue;
-
-		if (   !strcmp (spec_str, interface_name)
-		    || (use_pattern && g_pattern_match_simple (spec_str, interface_name))) {
-			if (except)
-				return NM_MATCH_SPEC_NEG_MATCH;
-			match = NM_MATCH_SPEC_MATCH;
-		}
-	}
-	return match;
-}
-
-#define BUFSIZE 10
+typedef struct {
+	const char *interface_name;
+	const char *device_type;
+	struct {
+		const char *value;
+		gboolean is_parsed;
+		guint len;
+		guint8 bin[NM_UTILS_HWADDR_LEN_MAX];
+	} hwaddr;
+	struct {
+		const char *value;
+		gboolean is_parsed;
+		guint32 a;
+		guint32 b;
+		guint32 c;
+	} s390_subchannels;
+} MatchDeviceData;
 
 static gboolean
-parse_subchannels (const char *subchannels, guint32 *a, guint32 *b, guint32 *c)
+match_device_s390_subchannels_parse (const char *s390_subchannels, guint32 *a, guint32 *b, guint32 *c)
 {
+	const int BUFSIZE = 10;
 	long unsigned int tmp;
 	char buf[BUFSIZE + 1];
-	const char *p = subchannels;
+	const char *p = s390_subchannels;
 	int i = 0;
 	char *pa = NULL, *pb = NULL, *pc = NULL;
 
-	g_return_val_if_fail (subchannels != NULL, FALSE);
-	g_return_val_if_fail (a != NULL, FALSE);
-	g_return_val_if_fail (*a == 0, FALSE);
-	g_return_val_if_fail (b != NULL, FALSE);
-	g_return_val_if_fail (*b == 0, FALSE);
-	g_return_val_if_fail (c != NULL, FALSE);
-	g_return_val_if_fail (*c == 0, FALSE);
+	nm_assert (s390_subchannels);
+	nm_assert (a != NULL);
+	nm_assert (*a == 0);
+	nm_assert (b != NULL);
+	nm_assert (*b == 0);
+	nm_assert (c != NULL);
+	nm_assert (*c == 0);
 
 	/* sanity check */
-	if (!g_ascii_isxdigit (subchannels[0]))
+	if (!g_ascii_isxdigit (s390_subchannels[0]))
 		return FALSE;
 
 	/* Get the first channel */
@@ -1421,47 +1296,194 @@ parse_subchannels (const char *subchannels, guint32 *a, guint32 *b, guint32 *c)
 	return TRUE;
 }
 
+static gboolean
+match_data_s390_subchannels_eval (const char *spec_str,
+                                  MatchDeviceData *match_data)
+{
+	guint32 a, b, c;
+
+	if (G_UNLIKELY (!match_data->s390_subchannels.is_parsed)) {
+		match_data->s390_subchannels.is_parsed = TRUE;
+
+		if (   !match_data->s390_subchannels.value
+		    || !match_device_s390_subchannels_parse (match_data->s390_subchannels.value,
+		                                             &match_data->s390_subchannels.a,
+		                                             &match_data->s390_subchannels.b,
+		                                             &match_data->s390_subchannels.c)) {
+			match_data->s390_subchannels.value = NULL;
+			return FALSE;
+		}
+	} else if (!match_data->s390_subchannels.value)
+		return FALSE;
+
+	if (!match_device_s390_subchannels_parse (spec_str, &a, &b, &c))
+		return FALSE;
+	return    match_data->s390_subchannels.a == a
+	       && match_data->s390_subchannels.b == b
+	       && match_data->s390_subchannels.c == c;
+}
+
+static gboolean
+match_device_hwaddr_eval (const char *spec_str,
+                          MatchDeviceData *match_data)
+{
+	if (G_UNLIKELY (!match_data->hwaddr.is_parsed)) {
+		match_data->hwaddr.is_parsed = TRUE;
+
+		if (match_data->hwaddr.value) {
+			gsize l;
+
+			if (!_nm_utils_hwaddr_aton (match_data->hwaddr.value, match_data->hwaddr.bin, sizeof (match_data->hwaddr.bin), &l))
+				g_return_val_if_reached (FALSE);
+			match_data->hwaddr.len = l;
+		} else
+			return FALSE;
+	} else if (!match_data->hwaddr.len)
+		return FALSE;
+
+	return nm_utils_hwaddr_matches (spec_str, -1, match_data->hwaddr.bin, match_data->hwaddr.len);
+}
+
+#define _MATCH_CHECK(spec_str, tag) \
+	({ \
+		gboolean _has = FALSE; \
+		\
+		if (!g_ascii_strncasecmp (spec_str, (""tag""), NM_STRLEN (tag))) { \
+			spec_str += NM_STRLEN (tag); \
+			_has = TRUE; \
+		} \
+		_has; \
+	})
+
+static const char *
+match_except (const char *spec_str, gboolean *out_except)
+{
+	if (_MATCH_CHECK (spec_str, EXCEPT_TAG))
+		*out_except = TRUE;
+	else
+		*out_except = FALSE;
+	return spec_str;
+}
+
+static gboolean
+match_device_eval (const char *spec_str,
+                   gboolean allow_fuzzy,
+                   MatchDeviceData *match_data)
+{
+	if (spec_str[0] == '*' && spec_str[1] == '\0')
+		return TRUE;
+
+	if (_MATCH_CHECK (spec_str, DEVICE_TYPE_TAG)) {
+		return    match_data->device_type
+		       && nm_streq (spec_str, match_data->device_type);
+	}
+
+	if (_MATCH_CHECK (spec_str, MAC_TAG))
+		return match_device_hwaddr_eval (spec_str, match_data);
+
+	if (_MATCH_CHECK (spec_str, INTERFACE_NAME_TAG)) {
+		gboolean use_pattern = FALSE;
+
+		if (spec_str[0] == '=')
+			spec_str += 1;
+		else {
+			if (spec_str[0] == '~')
+				spec_str += 1;
+			use_pattern = TRUE;
+		}
+
+		if (match_data->interface_name) {
+			if (nm_streq (spec_str, match_data->interface_name))
+				return TRUE;
+			if (use_pattern && g_pattern_match_simple (spec_str, match_data->interface_name))
+				return TRUE;
+		}
+		return FALSE;
+	}
+
+	if (_MATCH_CHECK (spec_str, SUBCHAN_TAG))
+		return match_data_s390_subchannels_eval (spec_str, match_data);
+
+	if (allow_fuzzy) {
+		if (match_device_hwaddr_eval (spec_str, match_data))
+			return TRUE;
+		if (   match_data->interface_name
+		    && nm_streq (spec_str, match_data->interface_name))
+			return TRUE;
+	}
+
+	return FALSE;
+}
+
 NMMatchSpecMatchType
-nm_match_spec_s390_subchannels (const GSList *specs, const char *subchannels)
+nm_match_spec_device (const GSList *specs,
+                      const char *interface_name,
+                      const char *device_type,
+                      const char *hwaddr,
+                      const char *s390_subchannels)
 {
 	const GSList *iter;
-	guint32 a = 0, b = 0, c = 0;
-	guint32 spec_a = 0, spec_b = 0, spec_c = 0;
-	NMMatchSpecMatchType match = NM_MATCH_SPEC_NO_MATCH;
+	NMMatchSpecMatchType match;
+	const char *spec_str;
+	gboolean except;
+	MatchDeviceData match_data = {
+	    .interface_name = interface_name,
+	    .device_type = nm_str_not_empty (device_type),
+	    .hwaddr = {
+	        .value = hwaddr,
+	    },
+	    .s390_subchannels = {
+	        .value = s390_subchannels,
+	    },
+	};
 
-	g_return_val_if_fail (subchannels != NULL, NM_MATCH_SPEC_NO_MATCH);
+	nm_assert (!hwaddr || nm_utils_hwaddr_valid (hwaddr, -1));
 
 	if (!specs)
 		return NM_MATCH_SPEC_NO_MATCH;
 
-	if (!parse_subchannels (subchannels, &a, &b, &c))
-		return NM_MATCH_SPEC_NO_MATCH;
+	match = NM_MATCH_SPEC_NO_MATCH;
 
-	for (iter = specs; iter; iter = g_slist_next (iter)) {
-		const char *spec_str = iter->data;
-		gboolean except;
+	/* pre-search for "*" */
+	for (iter = specs; iter; iter = iter->next) {
+		spec_str = iter->data;
+
+		if (spec_str && spec_str[0] == '*' && spec_str[1] == '\0') {
+			match = NM_MATCH_SPEC_MATCH;
+			break;
+		}
+	}
+
+	for (iter = specs; iter; iter = iter->next) {
+		spec_str = iter->data;
 
 		if (!spec_str || !*spec_str)
 			continue;
 
-		spec_str = _match_except (spec_str, &except);
+		spec_str = match_except (spec_str, &except);
 
-		if (!g_ascii_strncasecmp (spec_str, SUBCHAN_TAG, NM_STRLEN (SUBCHAN_TAG))) {
-			spec_str += NM_STRLEN (SUBCHAN_TAG);
-			if (parse_subchannels (spec_str, &spec_a, &spec_b, &spec_c)) {
-				if (a == spec_a && b == spec_b && c == spec_c) {
-					if (except)
-						return NM_MATCH_SPEC_NEG_MATCH;
-					match = NM_MATCH_SPEC_MATCH;
-				}
-			}
+		if (   !except
+		    && match == NM_MATCH_SPEC_MATCH) {
+			/* we have no "except-match" but already match. No need to evaluate
+			 * the match, we cannot match stronger. */
+			continue;
 		}
+
+		if (!match_device_eval (spec_str,
+		                        !except,
+		                        &match_data))
+			continue;
+
+		if (except)
+			return NM_MATCH_SPEC_NEG_MATCH;
+		match = NM_MATCH_SPEC_MATCH;
 	}
+
 	return match;
 }
 
 static gboolean
-_match_config_nm_version (const char *str, const char *tag, guint cur_nm_version)
+match_config_eval (const char *str, const char *tag, guint cur_nm_version)
 {
 	gs_free char *s_ver = NULL;
 	gs_strfreev char **s_ver_tokens = NULL;
@@ -1524,7 +1546,7 @@ _match_config_nm_version (const char *str, const char *tag, guint cur_nm_version
 }
 
 NMMatchSpecMatchType
-nm_match_spec_match_config (const GSList *specs, guint cur_nm_version, const char *env)
+nm_match_spec_config (const GSList *specs, guint cur_nm_version, const char *env)
 {
 	const GSList *iter;
 	NMMatchSpecMatchType match = NM_MATCH_SPEC_NO_MATCH;
@@ -1540,15 +1562,15 @@ nm_match_spec_match_config (const GSList *specs, guint cur_nm_version, const cha
 		if (!spec_str || !*spec_str)
 			continue;
 
-		spec_str = _match_except (spec_str, &except);
+		spec_str = match_except (spec_str, &except);
 
-		if (_spec_has_prefix (&spec_str, MATCH_TAG_CONFIG_NM_VERSION))
-			v_match = _match_config_nm_version (spec_str, MATCH_TAG_CONFIG_NM_VERSION, cur_nm_version);
-		else if (_spec_has_prefix (&spec_str, MATCH_TAG_CONFIG_NM_VERSION_MIN))
-			v_match = _match_config_nm_version (spec_str, MATCH_TAG_CONFIG_NM_VERSION_MIN, cur_nm_version);
-		else if (_spec_has_prefix (&spec_str, MATCH_TAG_CONFIG_NM_VERSION_MAX))
-			v_match = _match_config_nm_version (spec_str, MATCH_TAG_CONFIG_NM_VERSION_MAX, cur_nm_version);
-		else if (_spec_has_prefix (&spec_str, MATCH_TAG_CONFIG_ENV))
+		if (_MATCH_CHECK (spec_str, MATCH_TAG_CONFIG_NM_VERSION))
+			v_match = match_config_eval (spec_str, MATCH_TAG_CONFIG_NM_VERSION, cur_nm_version);
+		else if (_MATCH_CHECK (spec_str, MATCH_TAG_CONFIG_NM_VERSION_MIN))
+			v_match = match_config_eval (spec_str, MATCH_TAG_CONFIG_NM_VERSION_MIN, cur_nm_version);
+		else if (_MATCH_CHECK (spec_str, MATCH_TAG_CONFIG_NM_VERSION_MAX))
+			v_match = match_config_eval (spec_str, MATCH_TAG_CONFIG_NM_VERSION_MAX, cur_nm_version);
+		else if (_MATCH_CHECK (spec_str, MATCH_TAG_CONFIG_ENV))
 			v_match = env && env[0] && !strcmp (spec_str, env);
 		else
 			continue;
@@ -1562,6 +1584,8 @@ nm_match_spec_match_config (const GSList *specs, guint cur_nm_version, const cha
 	return match;
 }
 
+#undef _MATCH_CHECK
+
 /**
  * nm_match_spec_split:
  * @value: the string of device specs
diff --git a/src/nm-core-utils.h b/src/nm-core-utils.h
index e3aa257f..ada3f8ef 100644
--- a/src/nm-core-utils.h
+++ b/src/nm-core-utils.h
@@ -142,11 +142,14 @@ typedef enum {
 	NM_MATCH_SPEC_NEG_MATCH = 2,
 } NMMatchSpecMatchType;
 
-NMMatchSpecMatchType nm_match_spec_device_type (const GSList *specs, const char *device_type);
-NMMatchSpecMatchType nm_match_spec_hwaddr (const GSList *specs, const char *hwaddr);
-NMMatchSpecMatchType nm_match_spec_s390_subchannels (const GSList *specs, const char *subchannels);
-NMMatchSpecMatchType nm_match_spec_interface_name (const GSList *specs, const char *interface_name);
-NMMatchSpecMatchType nm_match_spec_match_config (const GSList *specs, guint nm_version, const char *env);
+NMMatchSpecMatchType nm_match_spec_device (const GSList *specs,
+                                           const char *interface_name,
+                                           const char *device_type,
+                                           const char *hwaddr,
+                                           const char *s390_subchannels);
+NMMatchSpecMatchType nm_match_spec_config (const GSList *specs,
+                                           guint nm_version,
+                                           const char *env);
 GSList *nm_match_spec_split (const char *value);
 char *nm_match_spec_join (GSList *specs);
 
diff --git a/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-master-invalid b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-master-invalid
index 4534882e..41c0f25c 100644
--- a/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-master-invalid
+++ b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-master-invalid
@@ -1,4 +1,4 @@
 DEVICE=team0
 ONBOOT=no
 BOOTPROTO=dhcp
-TEAM_CONFIG="{ foobar }"
+TEAM_CONFIG="{ foobar }x"
diff --git a/src/supplicant/nm-supplicant-interface.c b/src/supplicant/nm-supplicant-interface.c
index 6fc85535..deaac779 100644
--- a/src/supplicant/nm-supplicant-interface.c
+++ b/src/supplicant/nm-supplicant-interface.c
@@ -57,15 +57,15 @@ NM_GOBJECT_PROPERTIES_DEFINE (NMSupplicantInterface,
 	PROP_SCANNING,
 	PROP_CURRENT_BSS,
 	PROP_DRIVER,
-	PROP_FAST_SUPPORTED,
+	PROP_FAST_SUPPORT,
 	PROP_AP_SUPPORT,
 );
 
 typedef struct {
 	char *         dev;
 	NMSupplicantDriver driver;
-	bool           fast_supported;
 	gboolean       has_credreq;  /* Whether querying 802.1x credentials is supported */
+	NMSupplicantFeature fast_support;
 	NMSupplicantFeature ap_support;   /* Lightweight AP mode support */
 	NMSupplicantFeature mac_randomization_support;
 	guint32        max_scan_ssids;
@@ -510,6 +510,15 @@ nm_supplicant_interface_set_ap_support (NMSupplicantInterface *self,
 		priv->ap_support = ap_support;
 }
 
+void
+nm_supplicant_interface_set_fast_support (NMSupplicantInterface *self,
+                                          NMSupplicantFeature fast_support)
+{
+	NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self);
+
+	priv->fast_support = fast_support;
+}
+
 static void
 set_preassoc_scan_mac_cb (GDBusProxy *proxy, GAsyncResult *result, gpointer user_data)
 {
@@ -1302,7 +1311,8 @@ nm_supplicant_interface_set_config (NMSupplicantInterface *self,
 	/* Make sure the supplicant supports EAP-FAST before trying to send
 	 * it an EAP-FAST configuration.
 	 */
-	if (nm_supplicant_config_fast_required (cfg) && !priv->fast_supported) {
+	if (   priv->fast_support == NM_SUPPLICANT_FEATURE_NO
+	    && nm_supplicant_config_fast_required (cfg)) {
 		g_set_error (error, NM_SUPPLICANT_ERROR, NM_SUPPLICANT_ERROR_CONFIG,
 		             "EAP-FAST is not supported by the supplicant");
 		return FALSE;
@@ -1464,7 +1474,7 @@ nm_supplicant_interface_get_max_scan_ssids (NMSupplicantInterface *self)
 NMSupplicantInterface *
 nm_supplicant_interface_new (const char *ifname,
                              NMSupplicantDriver driver,
-                             gboolean fast_supported,
+                             NMSupplicantFeature fast_support,
                              NMSupplicantFeature ap_support)
 {
 	g_return_val_if_fail (ifname != NULL, NULL);
@@ -1472,7 +1482,7 @@ nm_supplicant_interface_new (const char *ifname,
 	return g_object_new (NM_TYPE_SUPPLICANT_INTERFACE,
 	                     NM_SUPPLICANT_INTERFACE_IFACE, ifname,
 	                     NM_SUPPLICANT_INTERFACE_DRIVER, (guint) driver,
-	                     NM_SUPPLICANT_INTERFACE_FAST_SUPPORTED, fast_supported,
+	                     NM_SUPPLICANT_INTERFACE_FAST_SUPPORT, (int) fast_support,
 	                     NM_SUPPLICANT_INTERFACE_AP_SUPPORT, (int) ap_support,
 	                     NULL);
 }
@@ -1504,9 +1514,9 @@ set_property (GObject *object,
 		/* construct-only */
 		priv->driver = g_value_get_uint (value);
 		break;
-	case PROP_FAST_SUPPORTED:
+	case PROP_FAST_SUPPORT:
 		/* construct-only */
-		priv->fast_supported = g_value_get_boolean (value);
+		priv->fast_support = g_value_get_int (value);
 		break;
 	case PROP_AP_SUPPORT:
 		/* construct-only */
@@ -1597,12 +1607,14 @@ nm_supplicant_interface_class_init (NMSupplicantInterfaceClass *klass)
 	                       G_PARAM_WRITABLE |
 	                       G_PARAM_CONSTRUCT_ONLY |
 	                       G_PARAM_STATIC_STRINGS);
-	obj_properties[PROP_FAST_SUPPORTED] =
-	    g_param_spec_boolean (NM_SUPPLICANT_INTERFACE_FAST_SUPPORTED, "", "",
-	                          TRUE,
-	                          G_PARAM_WRITABLE |
-	                          G_PARAM_CONSTRUCT_ONLY |
-	                          G_PARAM_STATIC_STRINGS);
+	obj_properties[PROP_FAST_SUPPORT] =
+	    g_param_spec_int (NM_SUPPLICANT_INTERFACE_FAST_SUPPORT, "", "",
+	                      NM_SUPPLICANT_FEATURE_UNKNOWN,
+	                      NM_SUPPLICANT_FEATURE_YES,
+	                      NM_SUPPLICANT_FEATURE_UNKNOWN,
+	                      G_PARAM_WRITABLE |
+	                      G_PARAM_CONSTRUCT_ONLY |
+	                      G_PARAM_STATIC_STRINGS);
 	obj_properties[PROP_AP_SUPPORT] =
 	    g_param_spec_int (NM_SUPPLICANT_INTERFACE_AP_SUPPORT, "", "",
 	                      NM_SUPPLICANT_FEATURE_UNKNOWN,
diff --git a/src/supplicant/nm-supplicant-interface.h b/src/supplicant/nm-supplicant-interface.h
index 5ab66d5d..2ef63d1e 100644
--- a/src/supplicant/nm-supplicant-interface.h
+++ b/src/supplicant/nm-supplicant-interface.h
@@ -19,8 +19,8 @@
  * Copyright (C) 2007 - 2008 Novell, Inc.
  */
 
-#ifndef __NETWORKMANAGER_SUPPLICANT_INTERFACE_H__
-#define __NETWORKMANAGER_SUPPLICANT_INTERFACE_H__
+#ifndef __NM_SUPPLICANT_INTERFACE_H__
+#define __NM_SUPPLICANT_INTERFACE_H__
 
 #include "nm-supplicant-types.h"
 
@@ -58,7 +58,7 @@ enum {
 #define NM_SUPPLICANT_INTERFACE_SCANNING         "scanning"
 #define NM_SUPPLICANT_INTERFACE_CURRENT_BSS      "current-bss"
 #define NM_SUPPLICANT_INTERFACE_DRIVER           "driver"
-#define NM_SUPPLICANT_INTERFACE_FAST_SUPPORTED   "fast-supported"
+#define NM_SUPPLICANT_INTERFACE_FAST_SUPPORT     "fast-support"
 #define NM_SUPPLICANT_INTERFACE_AP_SUPPORT       "ap-support"
 
 /* Signals */
@@ -77,7 +77,7 @@ GType nm_supplicant_interface_get_type (void);
 
 NMSupplicantInterface * nm_supplicant_interface_new (const char *ifname,
                                                      NMSupplicantDriver driver,
-                                                     gboolean fast_supported,
+                                                     NMSupplicantFeature fast_support,
                                                      NMSupplicantFeature ap_support);
 
 void nm_supplicant_interface_set_supplicant_available (NMSupplicantInterface *self,
@@ -119,4 +119,7 @@ NMSupplicantFeature nm_supplicant_interface_get_ap_support (NMSupplicantInterfac
 void nm_supplicant_interface_set_ap_support (NMSupplicantInterface *self,
                                              NMSupplicantFeature apmode);
 
-#endif	/* NM_SUPPLICANT_INTERFACE_H */
+void nm_supplicant_interface_set_fast_support (NMSupplicantInterface *self,
+                                               NMSupplicantFeature fast_support);
+
+#endif /* __NM_SUPPLICANT_INTERFACE_H__ */
diff --git a/src/supplicant/nm-supplicant-manager.c b/src/supplicant/nm-supplicant-manager.c
index 2fbfa391..cf53fb41 100644
--- a/src/supplicant/nm-supplicant-manager.c
+++ b/src/supplicant/nm-supplicant-manager.c
@@ -37,7 +37,7 @@ typedef struct {
 	gboolean         running;
 
 	GSList          *ifaces;
-	gboolean          fast_supported;
+	NMSupplicantFeature fast_support;
 	NMSupplicantFeature ap_support;
 	guint             die_count_reset_id;
 	guint             die_count;
@@ -158,7 +158,7 @@ nm_supplicant_manager_create_interface (NMSupplicantManager *self,
 
 	iface = nm_supplicant_interface_new (ifname,
 	                                     driver,
-	                                     priv->fast_supported,
+	                                     priv->fast_support,
 	                                     priv->ap_support);
 
 	priv->ifaces = g_slist_prepend (priv->ifaces, iface);
@@ -217,21 +217,32 @@ update_capabilities (NMSupplicantManager *self)
 	           (priv->ap_support == NM_SUPPLICANT_FEATURE_NO) ? "not " : "possibly ");
 
 	/* EAP-FAST */
-	priv->fast_supported = FALSE;
+	priv->fast_support = NM_SUPPLICANT_FEATURE_NO;
 	value = g_dbus_proxy_get_cached_property (priv->proxy, "EapMethods");
 	if (value) {
 		if (g_variant_is_of_type (value, G_VARIANT_TYPE_STRING_ARRAY)) {
 			array = g_variant_get_strv (value, NULL);
 			if (array) {
-				if (g_strv_contains (array, "fast"))
-					priv->fast_supported = TRUE;
+				const char **a;
+
+				for (a = array; *a; a++) {
+					if (g_ascii_strcasecmp (*a, "FAST") == 0) {
+						priv->fast_support = NM_SUPPLICANT_FEATURE_YES;
+						break;
+					}
+				}
 				g_free (array);
 			}
 		}
 		g_variant_unref (value);
 	}
 
-	_LOGD ("EAP-FAST is %ssupported", priv->fast_supported ? "" : "not ");
+	for (ifaces = priv->ifaces; ifaces; ifaces = ifaces->next)
+		nm_supplicant_interface_set_fast_support (ifaces->data, priv->fast_support);
+
+	_LOGD ("EAP-FAST is %ssupported",
+	       (priv->fast_support == NM_SUPPLICANT_FEATURE_YES) ? "" :
+	           (priv->fast_support == NM_SUPPLICANT_FEATURE_NO) ? "not " : "possibly ");
 }
 
 static void
@@ -306,8 +317,8 @@ name_owner_cb (GDBusProxy *proxy, GParamSpec *pspec, gpointer user_data)
 	_LOGI ("wpa_supplicant %s", owner ? "running" : "stopped");
 
 	if (owner) {
-		set_running (self, TRUE);
 		update_capabilities (self);
+		set_running (self, TRUE);
 	} else if (priv->running) {
 		/* Reschedule the die count reset timeout.  Every time the supplicant
 		 * dies we wait 10 seconds before resetting the counter.  If the
@@ -324,9 +335,10 @@ name_owner_cb (GDBusProxy *proxy, GParamSpec *pspec, gpointer user_data)
 			       priv->die_count);
 		}
 
-		set_running (self, FALSE);
+		priv->ap_support = NM_SUPPLICANT_FEATURE_UNKNOWN;
+		priv->fast_support = NM_SUPPLICANT_FEATURE_UNKNOWN;
 
-		priv->fast_supported = FALSE;
+		set_running (self, FALSE);
 	}
 
 	g_free (owner);
diff --git a/src/tests/test-general.c b/src/tests/test-general.c
index ed2f4e51..add12233 100644
--- a/src/tests/test-general.c
+++ b/src/tests/test-general.c
@@ -955,6 +955,12 @@ test_connection_sort_autoconnect_priority (void)
 
 /*****************************************************************************/
 
+static NMMatchSpecMatchType
+_test_match_device_interface (const GSList *specs, const char *interface_name)
+{
+	return nm_match_spec_device (specs, interface_name, NULL, NULL, NULL);
+}
+
 static const char *_test_match_spec_all[] = {
 	"e",
 	"em",
@@ -984,10 +990,10 @@ _test_match_spec_contains (const char **matches, const char *match)
 }
 
 static void
-test_match_spec_ifname (const char *spec_str, const char **matches, const char **neg_matches)
+_do_test_match_spec_device (const char *spec_str, const char **matches, const char **neg_matches)
 {
 	const char *m;
-	GSList *specs, *specs_reverse = NULL, *specs_resplit, *specs_i, *specs_j;
+	GSList *specs, *specs_randperm = NULL, *specs_resplit, *specs_i, *specs_j;
 	guint i;
 	gs_free char *specs_joined = NULL;
 
@@ -1008,87 +1014,87 @@ test_match_spec_ifname (const char *spec_str, const char **matches, const char *
 	g_assert (!specs_j);
 	g_slist_free_full (specs_resplit, g_free);
 
-	/* also check the matches in the reverse order. They must yield the same result because
+	/* also check the matches in the random order. They must yield the same result because
 	 * matches are inclusive -- except "except:" which always wins. */
-	specs_reverse = g_slist_reverse (g_slist_copy (specs));
+	specs_randperm = nmtst_rand_perm_gslist (NULL, g_slist_copy (specs));
 
 	for (i = 0; matches && matches[i]; i++) {
-		g_assert (nm_match_spec_interface_name (specs, matches[i]) == NM_MATCH_SPEC_MATCH);
-		g_assert (nm_match_spec_interface_name (specs_reverse, matches[i]) == NM_MATCH_SPEC_MATCH);
+		g_assert (_test_match_device_interface (specs, matches[i]) == NM_MATCH_SPEC_MATCH);
+		g_assert (_test_match_device_interface (specs_randperm, matches[i]) == NM_MATCH_SPEC_MATCH);
 	}
 	for (i = 0; neg_matches && neg_matches[i]; i++) {
-		g_assert (nm_match_spec_interface_name (specs, neg_matches[i]) == NM_MATCH_SPEC_NEG_MATCH);
-		g_assert (nm_match_spec_interface_name (specs_reverse, neg_matches[i]) == NM_MATCH_SPEC_NEG_MATCH);
+		g_assert (_test_match_device_interface (specs, neg_matches[i]) == NM_MATCH_SPEC_NEG_MATCH);
+		g_assert (_test_match_device_interface (specs_randperm, neg_matches[i]) == NM_MATCH_SPEC_NEG_MATCH);
 	}
 	for (i = 0; (m = _test_match_spec_all[i]); i++) {
 		if (_test_match_spec_contains (matches, m))
 			continue;
 		if (_test_match_spec_contains (neg_matches, m))
 			continue;
-		g_assert (nm_match_spec_interface_name (specs, m) == NM_MATCH_SPEC_NO_MATCH);
-		g_assert (nm_match_spec_interface_name (specs_reverse, m) == NM_MATCH_SPEC_NO_MATCH);
+		g_assert (_test_match_device_interface (specs, m) == NM_MATCH_SPEC_NO_MATCH);
+		g_assert (_test_match_device_interface (specs_randperm, m) == NM_MATCH_SPEC_NO_MATCH);
 	}
 
-	g_slist_free (specs_reverse);
+	g_slist_free (specs_randperm);
 	g_slist_free_full (specs, g_free);
 }
 
 static void
-test_nm_match_spec_interface_name (void)
+test_match_spec_device (void)
 {
 #define S(...) ((const char *[]) { __VA_ARGS__, NULL } )
-	test_match_spec_ifname ("em1",
-	                        S ("em1"),
-	                        NULL);
-	test_match_spec_ifname ("em1,em2",
-	                        S ("em1", "em2"),
-	                        NULL);
-	test_match_spec_ifname ("em1,em2,interface-name:em2",
-	                        S ("em1", "em2"),
-	                        NULL);
-	test_match_spec_ifname ("interface-name:em1",
-	                        S ("em1"),
-	                        NULL);
-	test_match_spec_ifname ("interface-name:em*",
-	                        S ("em", "em*", "em\\", "em\\*", "em\\1", "em\\11", "em\\2", "em1", "em11", "em2", "em3"),
-	                        NULL);
-	test_match_spec_ifname ("interface-name:em\\*",
-	                        S ("em\\", "em\\*", "em\\1", "em\\11", "em\\2"),
-	                        NULL);
-	test_match_spec_ifname ("interface-name:~em\\*",
-	                        S ("em\\", "em\\*", "em\\1", "em\\11", "em\\2"),
-	                        NULL);
-	test_match_spec_ifname ("interface-name:=em*",
-	                        S ("em*"),
-	                        NULL);
-	test_match_spec_ifname ("interface-name:em*,except:interface-name:em1*",
-	                        S ("em", "em*", "em\\", "em\\*", "em\\1", "em\\11", "em\\2", "em2", "em3"),
-	                        S ("em1", "em11"));
-	test_match_spec_ifname ("interface-name:em*,except:interface-name:=em*",
-	                        S ("em", "em\\", "em\\*", "em\\1", "em\\11", "em\\2", "em1", "em11", "em2", "em3"),
-	                        S ("em*"));
-	test_match_spec_ifname ("aa,bb,cc\\,dd,e,,",
-	                        S ("aa", "bb", "cc,dd", "e"),
-	                        NULL);
-	test_match_spec_ifname ("aa;bb;cc\\;dd;e,;",
-	                        S ("aa", "bb", "cc;dd", "e"),
-	                        NULL);
-	test_match_spec_ifname ("interface-name:em\\;1,em\\,2,\\,,\\\\,,em\\\\x",
-	                        S ("em;1", "em,2", ",", "\\", "em\\x"),
-	                        NULL);
-	test_match_spec_ifname ("\\s\\s,\\sinterface-name:a,\\s,",
-	                        S ("  ", " ", " interface-name:a"),
-	                        NULL);
-	test_match_spec_ifname (" aa ;  bb   ; cc\\;dd  ;e , ; \t\\t  , ",
-	                        S ("aa", "bb", "cc;dd", "e", "\t"),
-	                        NULL);
+	_do_test_match_spec_device ("em1",
+	                            S ("em1"),
+	                            NULL);
+	_do_test_match_spec_device ("em1,em2",
+	                            S ("em1", "em2"),
+	                            NULL);
+	_do_test_match_spec_device ("em1,em2,interface-name:em2",
+	                            S ("em1", "em2"),
+	                            NULL);
+	_do_test_match_spec_device ("interface-name:em1",
+	                            S ("em1"),
+	                            NULL);
+	_do_test_match_spec_device ("interface-name:em*",
+	                            S ("em", "em*", "em\\", "em\\*", "em\\1", "em\\11", "em\\2", "em1", "em11", "em2", "em3"),
+	                            NULL);
+	_do_test_match_spec_device ("interface-name:em\\*",
+	                            S ("em\\", "em\\*", "em\\1", "em\\11", "em\\2"),
+	                            NULL);
+	_do_test_match_spec_device ("interface-name:~em\\*",
+	                            S ("em\\", "em\\*", "em\\1", "em\\11", "em\\2"),
+	                            NULL);
+	_do_test_match_spec_device ("interface-name:=em*",
+	                            S ("em*"),
+	                            NULL);
+	_do_test_match_spec_device ("interface-name:em*,except:interface-name:em1*",
+	                            S ("em", "em*", "em\\", "em\\*", "em\\1", "em\\11", "em\\2", "em2", "em3"),
+	                            S ("em1", "em11"));
+	_do_test_match_spec_device ("interface-name:em*,except:interface-name:=em*",
+	                            S ("em", "em\\", "em\\*", "em\\1", "em\\11", "em\\2", "em1", "em11", "em2", "em3"),
+	                            S ("em*"));
+	_do_test_match_spec_device ("aa,bb,cc\\,dd,e,,",
+	                            S ("aa", "bb", "cc,dd", "e"),
+	                            NULL);
+	_do_test_match_spec_device ("aa;bb;cc\\;dd;e,;",
+	                            S ("aa", "bb", "cc;dd", "e"),
+	                            NULL);
+	_do_test_match_spec_device ("interface-name:em\\;1,em\\,2,\\,,\\\\,,em\\\\x",
+	                            S ("em;1", "em,2", ",", "\\", "em\\x"),
+	                            NULL);
+	_do_test_match_spec_device ("\\s\\s,\\sinterface-name:a,\\s,",
+	                            S ("  ", " ", " interface-name:a"),
+	                            NULL);
+	_do_test_match_spec_device (" aa ;  bb   ; cc\\;dd  ;e , ; \t\\t  , ",
+	                            S ("aa", "bb", "cc;dd", "e", "\t"),
+	                            NULL);
 #undef S
 }
 
 /*****************************************************************************/
 
 static void
-_do_test_match_spec_match_config (const char *file, gint line, const char *spec_str, guint version, guint v_maj, guint v_min, guint v_mic, NMMatchSpecMatchType expected)
+_do_test_match_spec_config (const char *file, gint line, const char *spec_str, guint version, guint v_maj, guint v_min, guint v_mic, NMMatchSpecMatchType expected)
 {
 	GSList *specs;
 	NMMatchSpecMatchType match_result;
@@ -1103,7 +1109,7 @@ _do_test_match_spec_match_config (const char *file, gint line, const char *spec_
 
 	specs = nm_match_spec_split (spec_str);
 
-	match_result = nm_match_spec_match_config (specs, version, NULL);
+	match_result = nm_match_spec_config (specs, version, NULL);
 
 	if (expected != match_result)
 		g_error ("%s:%d: faild comparing \"%s\" with %u.%u.%u. Expected %d, but got %d", file, line, spec_str, v_maj, v_min, v_mic, (int) expected, (int) match_result);
@@ -1115,7 +1121,7 @@ _do_test_match_spec_match_config (const char *file, gint line, const char *spec_
 		NMMatchSpecMatchType match_result2;
 
 
-		match_result2 = nm_match_spec_match_config (specs2, version, NULL);
+		match_result2 = nm_match_spec_config (specs2, version, NULL);
 		if (match_result == NM_MATCH_SPEC_NO_MATCH)
 			g_assert_cmpint (match_result2, ==, NM_MATCH_SPEC_NO_MATCH);
 		else
@@ -1126,105 +1132,105 @@ _do_test_match_spec_match_config (const char *file, gint line, const char *spec_
 
 	g_slist_free_full (specs, g_free);
 }
-#define do_test_match_spec_match_config(spec, v_maj, v_min, v_mic, expected) \
-	_do_test_match_spec_match_config (__FILE__, __LINE__, (""spec), NM_ENCODE_VERSION ((v_maj), (v_min), (v_mic)), (v_maj), (v_min), (v_mic), (expected))
+#define do_test_match_spec_config(spec, v_maj, v_min, v_mic, expected) \
+	_do_test_match_spec_config (__FILE__, __LINE__, (""spec), NM_ENCODE_VERSION ((v_maj), (v_min), (v_mic)), (v_maj), (v_min), (v_mic), (expected))
 
 static void
-test_nm_match_spec_match_config (void)
+test_match_spec_config (void)
 {
-	do_test_match_spec_match_config ("", 1, 2, 3, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version:1.2.3", 1, 2, 2, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version:1.2.3", 1, 2, 3, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version:1.2.3", 1, 2, 4, NM_MATCH_SPEC_NO_MATCH);
-
-	do_test_match_spec_match_config ("nm-version:1.2", 1, 1, 2, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version:1.2", 1, 2, 0, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version:1.2", 1, 2, 2, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version:1.2", 1, 2, 3, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version:1.2", 1, 2, 4, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version:1.2", 1, 3, 0, NM_MATCH_SPEC_NO_MATCH);
-
-	do_test_match_spec_match_config ("nm-version-min:1.2.3", 0, 2, 30, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.2.3", 1, 1, 1, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.2.3", 1, 2, 2, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.2.3", 1, 2, 3, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.2.3", 1, 2, 5, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.2.3", 1, 3, 0, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.2.3", 1, 3, 30, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.2.3", 1, 4, 30, NM_MATCH_SPEC_NO_MATCH);
-
-	do_test_match_spec_match_config ("nm-version-min:1.2", 0, 2, 30, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.2", 1, 1, 1, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.2", 1, 2, 0, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.2", 1, 2, 3, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.2", 1, 2, 5, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.2", 1, 3, 0, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.2", 1, 3, 30, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.2", 1, 4, 30, NM_MATCH_SPEC_MATCH);
-
-	do_test_match_spec_match_config ("nm-version-min:1", 0, 2, 30, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1", 1, 1, 1, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1", 1, 2, 0, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1", 1, 2, 3, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1", 1, 2, 5, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1", 1, 3, 0, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1", 1, 3, 30, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1", 1, 4, 30, NM_MATCH_SPEC_MATCH);
-
-
-	do_test_match_spec_match_config ("nm-version-max:1.2.3", 0, 2, 30, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version-max:1.2.3", 1, 1, 1, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version-max:1.2.3", 1, 2, 0, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-max:1.2.3", 1, 2, 1, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-max:1.2.3", 1, 2, 2, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-max:1.2.3", 1, 2, 3, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-max:1.2.3", 1, 2, 5, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version-max:1.2.3", 1, 3, 0, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version-max:1.2.3", 1, 3, 30, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version-max:1.2.3", 1, 4, 30, NM_MATCH_SPEC_NO_MATCH);
-
-	do_test_match_spec_match_config ("nm-version-max:1.2", 0, 2, 30, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version-max:1.2", 1, 1, 1, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-max:1.2", 1, 2, 0, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-max:1.2", 1, 2, 3, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-max:1.2", 1, 2, 5, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-max:1.2", 1, 3, 0, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version-max:1.2", 1, 3, 30, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version-max:1.2", 1, 4, 30, NM_MATCH_SPEC_NO_MATCH);
-
-	do_test_match_spec_match_config ("nm-version-max:1", 0, 2, 30, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-max:1", 1, 1, 1, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-max:1", 1, 2, 0, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-max:1", 1, 2, 3, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-max:1", 1, 2, 5, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-max:1", 1, 3, 0, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-max:1", 1, 3, 30, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-max:1", 1, 4, 30, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-max:1", 2, 4, 30, NM_MATCH_SPEC_NO_MATCH);
-
-	do_test_match_spec_match_config ("except:nm-version:1.4.8", 1, 6, 0, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.6,except:nm-version:1.4.8", 1, 6, 0, NM_MATCH_SPEC_MATCH);
-
-	do_test_match_spec_match_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 2, 0, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 2, 0, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 2, 15, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 2, 16, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 2, 17, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 2, 20, NM_MATCH_SPEC_MATCH);
-
-	do_test_match_spec_match_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 3, 0, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 4, 0, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 4, 5, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 4, 6, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 4, 7, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 4, 8, NM_MATCH_SPEC_NEG_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 4, 9, NM_MATCH_SPEC_MATCH);
-
-	do_test_match_spec_match_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 5, 0, NM_MATCH_SPEC_NO_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 6, 0, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 6, 5, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 7, 7, NM_MATCH_SPEC_MATCH);
-	do_test_match_spec_match_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 8, 8, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("", 1, 2, 3, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version:1.2.3", 1, 2, 2, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version:1.2.3", 1, 2, 3, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version:1.2.3", 1, 2, 4, NM_MATCH_SPEC_NO_MATCH);
+
+	do_test_match_spec_config ("nm-version:1.2", 1, 1, 2, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version:1.2", 1, 2, 0, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version:1.2", 1, 2, 2, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version:1.2", 1, 2, 3, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version:1.2", 1, 2, 4, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version:1.2", 1, 3, 0, NM_MATCH_SPEC_NO_MATCH);
+
+	do_test_match_spec_config ("nm-version-min:1.2.3", 0, 2, 30, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.2.3", 1, 1, 1, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.2.3", 1, 2, 2, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.2.3", 1, 2, 3, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.2.3", 1, 2, 5, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.2.3", 1, 3, 0, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.2.3", 1, 3, 30, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.2.3", 1, 4, 30, NM_MATCH_SPEC_NO_MATCH);
+
+	do_test_match_spec_config ("nm-version-min:1.2", 0, 2, 30, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.2", 1, 1, 1, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.2", 1, 2, 0, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.2", 1, 2, 3, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.2", 1, 2, 5, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.2", 1, 3, 0, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.2", 1, 3, 30, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.2", 1, 4, 30, NM_MATCH_SPEC_MATCH);
+
+	do_test_match_spec_config ("nm-version-min:1", 0, 2, 30, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version-min:1", 1, 1, 1, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-min:1", 1, 2, 0, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-min:1", 1, 2, 3, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-min:1", 1, 2, 5, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-min:1", 1, 3, 0, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-min:1", 1, 3, 30, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-min:1", 1, 4, 30, NM_MATCH_SPEC_MATCH);
+
+
+	do_test_match_spec_config ("nm-version-max:1.2.3", 0, 2, 30, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version-max:1.2.3", 1, 1, 1, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version-max:1.2.3", 1, 2, 0, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-max:1.2.3", 1, 2, 1, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-max:1.2.3", 1, 2, 2, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-max:1.2.3", 1, 2, 3, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-max:1.2.3", 1, 2, 5, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version-max:1.2.3", 1, 3, 0, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version-max:1.2.3", 1, 3, 30, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version-max:1.2.3", 1, 4, 30, NM_MATCH_SPEC_NO_MATCH);
+
+	do_test_match_spec_config ("nm-version-max:1.2", 0, 2, 30, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version-max:1.2", 1, 1, 1, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-max:1.2", 1, 2, 0, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-max:1.2", 1, 2, 3, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-max:1.2", 1, 2, 5, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-max:1.2", 1, 3, 0, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version-max:1.2", 1, 3, 30, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version-max:1.2", 1, 4, 30, NM_MATCH_SPEC_NO_MATCH);
+
+	do_test_match_spec_config ("nm-version-max:1", 0, 2, 30, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-max:1", 1, 1, 1, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-max:1", 1, 2, 0, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-max:1", 1, 2, 3, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-max:1", 1, 2, 5, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-max:1", 1, 3, 0, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-max:1", 1, 3, 30, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-max:1", 1, 4, 30, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-max:1", 2, 4, 30, NM_MATCH_SPEC_NO_MATCH);
+
+	do_test_match_spec_config ("except:nm-version:1.4.8", 1, 6, 0, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.6,except:nm-version:1.4.8", 1, 6, 0, NM_MATCH_SPEC_MATCH);
+
+	do_test_match_spec_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 2, 0, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 2, 0, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 2, 15, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 2, 16, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 2, 17, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 2, 20, NM_MATCH_SPEC_MATCH);
+
+	do_test_match_spec_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 3, 0, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 4, 0, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 4, 5, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 4, 6, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 4, 7, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 4, 8, NM_MATCH_SPEC_NEG_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 4, 9, NM_MATCH_SPEC_MATCH);
+
+	do_test_match_spec_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 5, 0, NM_MATCH_SPEC_NO_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 6, 0, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 6, 5, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 7, 7, NM_MATCH_SPEC_MATCH);
+	do_test_match_spec_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 8, 8, NM_MATCH_SPEC_MATCH);
 }
 
 /*****************************************************************************/
@@ -1594,8 +1600,8 @@ main (int argc, char **argv)
 
 	g_test_add_func ("/general/connection-sort/autoconnect-priority", test_connection_sort_autoconnect_priority);
 
-	g_test_add_func ("/general/nm_match_spec_interface_name", test_nm_match_spec_interface_name);
-	g_test_add_func ("/general/nm_match_spec_match_config", test_nm_match_spec_match_config);
+	g_test_add_func ("/general/match-spec/device", test_match_spec_device);
+	g_test_add_func ("/general/match-spec/config", test_match_spec_config);
 	g_test_add_func ("/general/duplicate_decl_specifier", test_duplicate_decl_specifier);
 
 	g_test_add_func ("/general/reverse_dns/ip4", test_reverse_dns_ip4);