From c240974325c552cad177c457d6ff04e381fd77a3 Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Sat, 15 Sep 2018 01:04:32 +0200 Subject: New upstream version 1.14.0 --- Makefile.am | 6 +- Makefile.in | 29 +- NEWS | 11 +- clients/cli/common.c | 6 +- clients/cli/connections.c | 10 +- clients/common/nm-meta-setting-desc.c | 13 +- clients/common/nm-secret-agent-simple.c | 2 +- clients/common/nm-secret-agent-simple.h | 2 +- clients/tui/nmtui-connect.c | 6 +- config-extra.h.meson | 18 + config.h.in | 27 +- config.h.meson | 5 +- configure | 188 +-- configure.ac | 103 +- docs/api/Makefile.in | 5 +- docs/api/html/index.html | 2 +- docs/api/html/ix01.html | 1402 ++++++++++---------- docs/api/version.xml | 2 +- docs/libnm-glib/Makefile.in | 5 +- docs/libnm-glib/html/index.html | 2 +- docs/libnm-glib/version.xml | 2 +- docs/libnm-util/Makefile.in | 5 +- docs/libnm-util/html/index.html | 2 +- docs/libnm-util/version.xml | 2 +- docs/libnm/Makefile.am | 12 + docs/libnm/Makefile.in | 46 +- docs/libnm/html/NMConnection.html | 108 -- docs/libnm/html/api-index-full.html | 12 - docs/libnm/html/index.html | 2 +- docs/libnm/html/libnm-nm-utils.html | 4 +- docs/libnm/html/libnm.devhelp2 | 3 - docs/libnm/html/usage.html | 2 +- docs/libnm/libnm-sections.txt | 3 - docs/libnm/version.xml | 2 +- libnm-core/meson.build | 1 + libnm-core/nm-connection.c | 50 +- libnm-core/nm-connection.h | 7 +- libnm-core/nm-setting-ethtool.h | 1 + libnm-core/nm-utils.c | 22 +- libnm-util/meson.build | 32 +- libnm/libnm.ver | 3 - libnm/nm-autoptr.h | 4 + man/NetworkManager.8 | 6 +- man/NetworkManager.conf.5 | 6 +- man/nm-online.1 | 6 +- man/nm-openvswitch.7 | 6 +- man/nm-settings-ifcfg-rh.5 | 6 +- man/nm-settings-ifcfg-rh.xml | 2 +- man/nm-settings-keyfile.5 | 6 +- man/nm-settings-keyfile.xml | 2 +- man/nm-settings.5 | 6 +- man/nm-settings.xml | 2 +- man/nmcli-examples.7 | 6 +- man/nmcli.1 | 6 +- man/nmtui.1 | 6 +- meson.build | 251 ++-- meson_options.txt | 19 +- po/cs.po | 561 ++++---- shared/nm-utils/nm-shared-utils.h | 21 + shared/nm-version-macros.h | 4 +- src/devices/nm-device-6lowpan.c | 10 +- src/devices/nm-device-wpan.c | 8 +- src/devices/nm-device.c | 71 +- src/devices/nm-device.h | 4 +- src/devices/wifi/nm-device-iwd.c | 148 ++- src/devices/wifi/nm-device-wifi.c | 1 + src/dhcp/nm-dhcp-client.c | 14 +- src/dhcp/nm-dhcp-client.h | 14 +- src/dhcp/nm-dhcp-dhclient.c | 181 ++- src/dhcp/nm-dhcp-dhcpcanon.c | 90 +- src/dhcp/nm-dhcp-dhcpcd.c | 66 +- src/dhcp/nm-dhcp-manager.c | 59 +- src/dhcp/nm-dhcp-manager.h | 6 +- src/dhcp/nm-dhcp-systemd.c | 79 +- src/dns/nm-dns-dnsmasq.c | 10 +- src/dns/nm-dns-unbound.c | 2 +- src/meson.build | 80 +- src/nm-iface-helper.c | 9 +- src/platform/nm-netlink.c | 230 ++-- src/platform/nm-netlink.h | 48 +- src/ppp/nm-ppp-manager.c | 22 +- src/ppp/nm-pppd-plugin.c | 2 +- src/settings/plugins/ifcfg-rh/meson.build | 6 +- .../plugins/ifcfg-rh/nms-ifcfg-rh-writer.c | 2 +- .../plugins/ifcfg-rh/tests/test-ifcfg-rh.c | 2 +- src/systemd/src/libsystemd-network/dhcp-network.c | 2 - src/vpn/nm-vpn-connection.c | 13 +- tools/create-exports-NetworkManager.sh | 21 +- vapi/meson.build | 5 +- 89 files changed, 2087 insertions(+), 2209 deletions(-) create mode 100644 config-extra.h.meson diff --git a/Makefile.am b/Makefile.am index c1615108..5b0feefa 100644 --- a/Makefile.am +++ b/Makefile.am @@ -120,9 +120,6 @@ config-extra.h: Makefile echo "/* Generated by Makefile.am */" >$@ && \ echo "#define BINDIR \"$(bindir)\"" >>$@ && \ echo "#define DATADIR \"$(datadir)\"" >>$@ && \ - echo "#define DHCLIENT_PATH \"$(DHCLIENT_PATH)\"" >>$@ && \ - echo "#define DHCPCANON_PATH \"$(DHCPCANON_PATH)\"" >>$@ && \ - echo "#define DHCPCD_PATH \"$(DHCPCD_PATH)\"" >>$@ && \ echo "#define LIBEXECDIR \"$(libexecdir)\"" >>$@ && \ echo "#define LOCALSTATEDIR \"$(localstatedir)\"" >>$@ && \ echo "#define NMCONFDIR \"$(nmconfdir)\"" >>$@ && \ @@ -1853,7 +1850,7 @@ $(src_libNetworkManagerTest_la_OBJECTS): $(libnm_core_lib_h_pub_mkenums) ############################################################################### src/NetworkManager.ver: src/libNetworkManager.la $(core_plugins) - $(AM_V_GEN) NM="$(NM)" "$(srcdir)/tools/create-exports-NetworkManager.sh" --called-from-make "$(srcdir)" + $(AM_V_GEN) NM="$(NM)" "$(srcdir)/tools/create-exports-NetworkManager.sh" --called-from-build "$(srcdir)" CLEANFILES += src/NetworkManager.ver @@ -4749,6 +4746,7 @@ EXTRA_DIST += \ meson_options.txt \ meson_post_install.py \ config.h.meson \ + config-extra.h.meson \ docs/meson.build \ \ po/meson.build \ diff --git a/Makefile.in b/Makefile.in index 4249c9d2..b5d76338 100644 --- a/Makefile.in +++ b/Makefile.in @@ -3231,14 +3231,11 @@ DBUS_LIBS = @DBUS_LIBS@ DBUS_SYS_DIR = @DBUS_SYS_DIR@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DHCLIENT_PATH = @DHCLIENT_PATH@ -DHCPCANON_PATH = @DHCPCANON_PATH@ -DHCPCD_PATH = @DHCPCD_PATH@ DISTRO_NETWORK_SERVICE = @DISTRO_NETWORK_SERVICE@ DLLTOOL = @DLLTOOL@ DL_LIBS = @DL_LIBS@ DNSMASQ_PATH = @DNSMASQ_PATH@ -DNSSEC_TRIGGER_SCRIPT = @DNSSEC_TRIGGER_SCRIPT@ +DNSSEC_TRIGGER_PATH = @DNSSEC_TRIGGER_PATH@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ @@ -3936,15 +3933,16 @@ EXTRA_DIST = $(dbusinterfaces_DATA) introspection/meson.build \ linker-script-settings.ver src/ppp/nm-ppp-plugin.ver \ Makefile.glib autogen.sh valgrind.suppressions meson.build \ meson_options.txt meson_post_install.py config.h.meson \ - docs/meson.build po/meson.build shared/nm-common-macros.h \ - shared/nm-dbus-compat.h shared/nm-default.h \ - shared/nm-dispatcher-api.h shared/nm-test-libnm-utils.h \ - shared/nm-test-utils-impl.c shared/nm-utils/c-list-util.c \ - shared/nm-utils/c-list-util.h shared/nm-utils/nm-c-list.h \ - shared/nm-utils/nm-compat.c shared/nm-utils/nm-compat.h \ - shared/nm-utils/nm-glib.h shared/nm-utils/nm-io-utils.c \ - shared/nm-utils/nm-io-utils.h shared/nm-utils/nm-jansson.h \ - shared/nm-utils/nm-obj.h shared/nm-utils/nm-macros-internal.h \ + config-extra.h.meson docs/meson.build po/meson.build \ + shared/nm-common-macros.h shared/nm-dbus-compat.h \ + shared/nm-default.h shared/nm-dispatcher-api.h \ + shared/nm-test-libnm-utils.h shared/nm-test-utils-impl.c \ + shared/nm-utils/c-list-util.c shared/nm-utils/c-list-util.h \ + shared/nm-utils/nm-c-list.h shared/nm-utils/nm-compat.c \ + shared/nm-utils/nm-compat.h shared/nm-utils/nm-glib.h \ + shared/nm-utils/nm-io-utils.c shared/nm-utils/nm-io-utils.h \ + shared/nm-utils/nm-jansson.h shared/nm-utils/nm-obj.h \ + shared/nm-utils/nm-macros-internal.h \ shared/nm-utils/nm-secret-utils.c \ shared/nm-utils/nm-secret-utils.h \ shared/nm-utils/nm-shared-utils.c \ @@ -17956,9 +17954,6 @@ config-extra.h: Makefile echo "/* Generated by Makefile.am */" >$@ && \ echo "#define BINDIR \"$(bindir)\"" >>$@ && \ echo "#define DATADIR \"$(datadir)\"" >>$@ && \ - echo "#define DHCLIENT_PATH \"$(DHCLIENT_PATH)\"" >>$@ && \ - echo "#define DHCPCANON_PATH \"$(DHCPCANON_PATH)\"" >>$@ && \ - echo "#define DHCPCD_PATH \"$(DHCPCD_PATH)\"" >>$@ && \ echo "#define LIBEXECDIR \"$(libexecdir)\"" >>$@ && \ echo "#define LOCALSTATEDIR \"$(localstatedir)\"" >>$@ && \ echo "#define NMCONFDIR \"$(nmconfdir)\"" >>$@ && \ @@ -18123,7 +18118,7 @@ $(src_libNetworkManagerTest_la_OBJECTS): $(libnm_core_lib_h_pub_mkenums) ############################################################################### src/NetworkManager.ver: src/libNetworkManager.la $(core_plugins) - $(AM_V_GEN) NM="$(NM)" "$(srcdir)/tools/create-exports-NetworkManager.sh" --called-from-make "$(srcdir)" + $(AM_V_GEN) NM="$(NM)" "$(srcdir)/tools/create-exports-NetworkManager.sh" --called-from-build "$(srcdir)" $(src_NetworkManager_OBJECTS): $(libnm_core_lib_h_pub_mkenums) diff --git a/NEWS b/NEWS index 4ebf395f..fb749600 100644 --- a/NEWS +++ b/NEWS @@ -1,18 +1,16 @@ ============================================= -NetworkManager-1.14 (not released yet) +NetworkManager-1.14 Overview of changes since NetworkManager-1.12 ============================================= -This is a snapshot of NetworkManager 1.14 development series. -The API is subject to change and not guaranteed to be compatible -with the later release. -USE AT YOUR OWN RISK. NOT RECOMMENDED FOR PRODUCTION USE! +This is a new stable release of NetworkManager. Notable changes include: * Added support for IEEE 802.15.4 and 6LowPAN devices. * Support activating profile multiple times via connection.multi-connect setting. * Add match setting to restrict a profile to devices based on a list of interface names with globbing supported. +* Fix PrimaryConnection for VPN with default-route. * Add support for ethtool offload features. * Add support for configuring llmnr. * Deprecate endian-dependent D-Bus API and add new API that can be @@ -23,7 +21,8 @@ USE AT YOUR OWN RISK. NOT RECOMMENDED FOR PRODUCTION USE! * Add support for configuring SR-IOV devices. * Improve error reporting of activation when no device is available. * Support reapplying changes of the route metric. -* Support EAP profiles with iwd Wi-Fi backend. +* Support EAP profiles with iwd Wi-Fi backend and support iwd API 0.8. +* Expose slaves of OVS bridges and ports. The following changes were backported to 1.12.x releases between 1.12.0 and 1.12.2 are also present in NetworkManager-1.14: diff --git a/clients/cli/common.c b/clients/cli/common.c index ede447ba..88e98154 100644 --- a/clients/cli/common.c +++ b/clients/cli/common.c @@ -645,13 +645,13 @@ vpn_openconnect_get_secrets (NMConnection *connection, GPtrArray *secrets) if (!nm_streq0 (secret->vpn_type, NM_SECRET_AGENT_VPN_TYPE_OPENCONNECT)) continue; - if (nm_streq0 (secret->entry_id, NM_SECRET_AGENT_ENTRY_ID_PREFX_VPN_SECRET "cookie")) { + if (nm_streq0 (secret->entry_id, NM_SECRET_AGENT_ENTRY_ID_PREFX_VPN_SECRETS "cookie")) { g_free (secret->value); secret->value = g_steal_pointer (&cookie); - } else if (nm_streq0 (secret->entry_id, NM_SECRET_AGENT_ENTRY_ID_PREFX_VPN_SECRET "gateway")) { + } else if (nm_streq0 (secret->entry_id, NM_SECRET_AGENT_ENTRY_ID_PREFX_VPN_SECRETS "gateway")) { g_free (secret->value); secret->value = g_steal_pointer (&gateway); - } else if (nm_streq0 (secret->entry_id, NM_SECRET_AGENT_ENTRY_ID_PREFX_VPN_SECRET "gwcert")) { + } else if (nm_streq0 (secret->entry_id, NM_SECRET_AGENT_ENTRY_ID_PREFX_VPN_SECRETS "gwcert")) { g_free (secret->value); secret->value = g_steal_pointer (&gwcert); } diff --git a/clients/cli/connections.c b/clients/cli/connections.c index ad0b7672..bcd257ac 100644 --- a/clients/cli/connections.c +++ b/clients/cli/connections.c @@ -2607,7 +2607,15 @@ parse_passwords (const char *passwd_file, GError **error) return NULL; } - pwd_spec = g_strdup_printf ("%s.%s", setting, prop); + if ( nm_streq (setting, "vpn") + && g_str_has_prefix (prop, "secret.")) { + /* in 1.12.0, we wrongly required the VPN secrets to be named + * "vpn.secret". It should be "vpn.secrets". Work around it + * (rh#1628833). */ + pwd_spec = g_strdup_printf ("vpn.secrets.%s", &prop[NM_STRLEN ("secret.")]); + } else + pwd_spec = g_strdup_printf ("%s.%s", setting, prop); + g_hash_table_insert (pwds_hash, pwd_spec, g_strdup (pwd)); } return g_steal_pointer (&pwds_hash); diff --git a/clients/common/nm-meta-setting-desc.c b/clients/common/nm-meta-setting-desc.c index 8c27779e..f794c67b 100644 --- a/clients/common/nm-meta-setting-desc.c +++ b/clients/common/nm-meta-setting-desc.c @@ -192,11 +192,20 @@ _parse_ip_route (int family, return NULL; } - if (!attrs) - attrs = g_hash_table_new (nm_str_hash, g_str_equal); + if (!attrs) { + attrs = g_hash_table_new_full (nm_str_hash, + g_str_equal, + g_free, + (GDestroyNotify) g_variant_unref); + } g_hash_table_iter_init (&iter, tmp_attrs); while (g_hash_table_iter_next (&iter, (gpointer *) &iter_key, (gpointer *) &iter_value)) { + + /* need to sink the reference, because nm_utils_parse_variant_attributes() returns + * floating refs. */ + g_variant_ref_sink (iter_value); + if (!nm_ip_route_attribute_validate (iter_key, iter_value, family, NULL, error)) { g_prefix_error (error, "%s: ", iter_key); g_hash_table_unref (tmp_attrs); diff --git a/clients/common/nm-secret-agent-simple.c b/clients/common/nm-secret-agent-simple.c index 7048e0ef..cab0c15a 100644 --- a/clients/common/nm-secret-agent-simple.c +++ b/clients/common/nm-secret-agent-simple.c @@ -195,7 +195,7 @@ nm_secret_agent_simple_secret_new (NMSecretAgentSecretType secret_type, real->base.is_secret = (secret_type != NM_SECRET_AGENT_SECRET_TYPE_PROPERTY); break; case NM_SECRET_AGENT_SECRET_TYPE_VPN_SECRET: - vpn_prefix = NM_SECRET_AGENT_ENTRY_ID_PREFX_VPN_SECRET; + vpn_prefix = NM_SECRET_AGENT_ENTRY_ID_PREFX_VPN_SECRETS; value = nm_setting_vpn_get_secret (NM_SETTING_VPN (setting), property); real->base.entry_id = g_strdup_printf ("%s%s", vpn_prefix, property); nm_assert (vpn_type); diff --git a/clients/common/nm-secret-agent-simple.h b/clients/common/nm-secret-agent-simple.h index 505987df..529aaeac 100644 --- a/clients/common/nm-secret-agent-simple.h +++ b/clients/common/nm-secret-agent-simple.h @@ -56,7 +56,7 @@ typedef struct { gboolean is_secret; } NMSecretAgentSimpleSecret; -#define NM_SECRET_AGENT_ENTRY_ID_PREFX_VPN_SECRET "vpn.secret." +#define NM_SECRET_AGENT_ENTRY_ID_PREFX_VPN_SECRETS "vpn.secrets." #define NM_SECRET_AGENT_VPN_TYPE_OPENCONNECT NM_DBUS_INTERFACE".openconnect" diff --git a/clients/tui/nmtui-connect.c b/clients/tui/nmtui-connect.c index 2a954fb8..6f29e13e 100644 --- a/clients/tui/nmtui-connect.c +++ b/clients/tui/nmtui-connect.c @@ -121,13 +121,13 @@ secrets_requested (NMSecretAgentSimple *agent, continue; if (!nm_streq0 (secret->vpn_type, NM_SECRET_AGENT_VPN_TYPE_OPENCONNECT)) continue; - if (nm_streq0 (secret->entry_id, NM_SECRET_AGENT_ENTRY_ID_PREFX_VPN_SECRET "cookie")) { + if (nm_streq0 (secret->entry_id, NM_SECRET_AGENT_ENTRY_ID_PREFX_VPN_SECRETS "cookie")) { g_free (secret->value); secret->value = g_steal_pointer (&cookie); - } else if (nm_streq0 (secret->entry_id, NM_SECRET_AGENT_ENTRY_ID_PREFX_VPN_SECRET "gateway")) { + } else if (nm_streq0 (secret->entry_id, NM_SECRET_AGENT_ENTRY_ID_PREFX_VPN_SECRETS "gateway")) { g_free (secret->value); secret->value = g_steal_pointer (&gateway); - } else if (nm_streq0 (secret->entry_id, NM_SECRET_AGENT_ENTRY_ID_PREFX_VPN_SECRET "gwcert")) { + } else if (nm_streq0 (secret->entry_id, NM_SECRET_AGENT_ENTRY_ID_PREFX_VPN_SECRETS "gwcert")) { g_free (secret->value); secret->value = g_steal_pointer (&gwcert); } diff --git a/config-extra.h.meson b/config-extra.h.meson new file mode 100644 index 00000000..34c962fd --- /dev/null +++ b/config-extra.h.meson @@ -0,0 +1,18 @@ +#mesondefine BINDIR +#mesondefine DATADIR +#mesondefine LIBEXECDIR +#mesondefine LOCALSTATEDIR +#mesondefine NMCONFDIR +#mesondefine NMLIBDIR +#mesondefine NMLOCALEDIR +#mesondefine NMPLUGINDIR +#mesondefine NMRUNDIR +#mesondefine NMSTATEDIR +#mesondefine NMVPNDIR +#mesondefine NM_BUILD_BUILDDIR +#mesondefine NM_BUILD_SRCDIR +#mesondefine PPPD_PLUGIN_DIR +#mesondefine PREFIX +#mesondefine RUNDIR +#mesondefine RUNSTATEDIR +#mesondefine SYSCONFDIR diff --git a/config.h.in b/config.h.in index 4ea66c92..ef7963da 100644 --- a/config.h.in +++ b/config.h.in @@ -3,14 +3,20 @@ /* Whether NM is built with address sanitizer */ #undef ASAN_BUILD -/* Define if dhcpcd supports IPv6 (6.x+) */ -#undef DHCPCD_SUPPORTS_IPV6 +/* Define path to dhclient */ +#undef DHCLIENT_PATH + +/* Define path to dhcpcanon */ +#undef DHCPCANON_PATH + +/* Define path to dhcpcd */ +#undef DHCPCD_PATH /* Define to path of dnsmasq binary */ #undef DNSMASQ_PATH /* Define to path of unbound dnssec-trigger-script */ -#undef DNSSEC_TRIGGER_SCRIPT +#undef DNSSEC_TRIGGER_PATH /* Define to 1 if translation of program messages to the user's native language is requested. */ @@ -27,12 +33,6 @@ the CoreFoundation framework. */ #undef HAVE_CFPREFERENCESCOPYAPPVALUE -/* Define if you have gnutls support */ -#undef HAVE_CRYPTO_GNUTLS - -/* Define if you have nss support */ -#undef HAVE_CRYPTO_NSS - /* Define if the GNU dcgettext() function is already present or preinstalled. */ #undef HAVE_DCGETTEXT @@ -309,15 +309,9 @@ /* Define if you have libpsl */ #undef WITH_LIBPSL -/* Define if you have ModemManager1 support */ -#undef WITH_MODEM_MANAGER_1 - /* Define if you have oFono support (experimental) */ #undef WITH_OFONO -/* Define if you have OpenVSwitch support */ -#undef WITH_OPENVSWITCH - /* Define if you have polkit agent */ #undef WITH_POLKIT_AGENT @@ -327,9 +321,6 @@ /* Whether compilation of ibft setting plugin is enabled */ #undef WITH_SETTINGS_PLUGIN_IBFT -/* Define if you have Teamd control support */ -#undef WITH_TEAMDCTL - /* Define if you have Wi-Fi support */ #undef WITH_WIFI diff --git a/config.h.meson b/config.h.meson index ce77952b..e79f9dcb 100644 --- a/config.h.meson +++ b/config.h.meson @@ -10,14 +10,11 @@ /* Define to path of dhcpcd binary */ #mesondefine DHCPCD_PATH -/* Define if dhcpcd supports IPv6 (6.x+) */ -#mesondefine DHCPCD_SUPPORTS_IPV6 - /* Define to path of dnsmasq binary */ #mesondefine DNSMASQ_PATH /* Define to path of unbound dnssec-trigger-script */ -#mesondefine DNSSEC_TRIGGER_SCRIPT +#mesondefine DNSSEC_TRIGGER_PATH /* Gettext package */ #mesondefine GETTEXT_PACKAGE diff --git a/configure b/configure index ce3a3ab9..b9515c99 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.13.90. +# Generated by GNU Autoconf 2.69 for NetworkManager 1.14.0. # # Report bugs to . # @@ -591,8 +591,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='NetworkManager' PACKAGE_TARNAME='NetworkManager' -PACKAGE_VERSION='1.13.90' -PACKAGE_STRING='NetworkManager 1.13.90' +PACKAGE_VERSION='1.14.0' +PACKAGE_STRING='NetworkManager 1.14.0' PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=NetworkManager' PACKAGE_URL='' @@ -705,20 +705,17 @@ LIBPSL_LIBS LIBPSL_CFLAGS KERNEL_FIRMWARE_DIR SYSTEM_CA_PATH -DNSSEC_TRIGGER_SCRIPT +DNSSEC_TRIGGER_PATH DNSMASQ_PATH IPTABLES_PATH NM_CONFIG_DEFAULT_MAIN_RC_MANAGER with_netconfig with_resolvconf NM_CONFIG_DEFAULT_MAIN_DHCP -DHCPCD_PATH with_dhcpcd -DHCLIENT_PATH with_dhclient WITH_OPENVSWITCH_FALSE WITH_OPENVSWITCH_TRUE -DHCPCANON_PATH with_dhcpcanon WITH_OFONO_FALSE WITH_OFONO_TRUE @@ -1091,7 +1088,6 @@ with_dhcpcanon enable_ovs with_dhclient with_dhcpcd -with_dhcpcd_supports_ipv6 with_config_dhcp_default with_resolvconf with_netconfig @@ -1731,7 +1727,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.13.90 to adapt to many kinds of systems. +\`configure' configures NetworkManager 1.14.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1801,7 +1797,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of NetworkManager 1.13.90:";; + short | recursive ) echo "Configuration of NetworkManager 1.14.0:";; esac cat <<\_ACEOF @@ -1932,11 +1928,9 @@ Optional Packages: --with-dhcpcanon=yes|no|path Enable dhcpcanon support (experimental) --with-dhclient=yes|no|path - Enable dhclient 4.x support + Enable dhclient support --with-dhcpcd=yes|no|path Enable dhcpcd 4.x support - --with-dhcpcd-supports-ipv6=yes|no|auto - Whether using dhcpcd >= 6.x which has IPv6 support --with-config-dhcp-default=dhclient|dhcpcd|internal Default configuration option for main.dhcp setting, used as fallback if the configuration option is @@ -2142,7 +2136,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -NetworkManager configure 1.13.90 +NetworkManager configure 1.14.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2915,7 +2909,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.13.90, which was +It was created by NetworkManager $as_me 1.14.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3785,7 +3779,7 @@ fi # Define the identity of the package. PACKAGE='NetworkManager' - VERSION='1.13.90' + VERSION='1.14.0' cat >>confdefs.h <<_ACEOF @@ -17968,9 +17962,9 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu NM_MAJOR_VERSION=1 -NM_MINOR_VERSION=13 -NM_MICRO_VERSION=90 -NM_VERSION=1.13.90 +NM_MINOR_VERSION=14 +NM_MICRO_VERSION=0 +NM_VERSION=1.14.0 @@ -17978,7 +17972,7 @@ NM_VERSION=1.13.90 -NM_GIT_SHA=16ad82f967cdef4a1bbea8d799c6a28fb1c2f09e +NM_GIT_SHA=2979c891c4af7584780924e92b6d448b7d6cd328 if test """" != "no-config-h" ; then @@ -24259,13 +24253,6 @@ if (test "${enable_teamdctl}" = "yes"); then fi # temporary bug workaround LIBTEAMDCTL_CFLAGS=`echo $LIBTEAMDCTL_CFLAGS | sed -e 's:/teamdctl.h::'` - -$as_echo "#define WITH_TEAMDCTL 1" >>confdefs.h - -else - -$as_echo "#define WITH_TEAMDCTL 0" >>confdefs.h - fi if test "${enable_teamdctl}" = "yes"; then WITH_TEAMDCTL_TRUE= @@ -24607,24 +24594,6 @@ else HAVE_CRYPTO_NSS_FALSE= fi -if test "${have_crypto_gnutls}" = 'yes'; then - -$as_echo "#define HAVE_CRYPTO_GNUTLS 1" >>confdefs.h - -else - -$as_echo "#define HAVE_CRYPTO_GNUTLS 0" >>confdefs.h - -fi -if test "${have_crypto_nss}" = 'yes'; then - -$as_echo "#define HAVE_CRYPTO_NSS 1" >>confdefs.h - -else - -$as_echo "#define HAVE_CRYPTO_NSS 0" >>confdefs.h - -fi # Check whether --with-crypto was given. @@ -24885,16 +24854,6 @@ fi else with_modem_manager_1="yes" fi -fi - -if (test "${with_modem_manager_1}" = "yes"); then - -$as_echo "#define WITH_MODEM_MANAGER_1 1" >>confdefs.h - -else - -$as_echo "#define WITH_MODEM_MANAGER_1 0" >>confdefs.h - fi if test "${with_modem_manager_1}" = "yes"; then WITH_MODEM_MANAGER_1_TRUE= @@ -25100,7 +25059,10 @@ if test "$with_dhcpcanon" != "no"; then $as_echo "#define WITH_DHCPCANON 1" >>confdefs.h - DHCPCANON_PATH=$with_dhcpcanon + +cat >>confdefs.h <<_ACEOF +#define DHCPCANON_PATH "$with_dhcpcanon" +_ACEOF else @@ -25119,13 +25081,6 @@ if test "${enable_ovs}" != "no"; then if test "$have_jansson" = "no"; then as_fn_error $? "Jansson is required for ovs support" "$LINENO" 5 fi - -$as_echo "#define WITH_OPENVSWITCH 1" >>confdefs.h - -else - -$as_echo "#define WITH_OPENVSWITCH 0" >>confdefs.h - fi if test "${enable_ovs}" = "yes"; then WITH_OPENVSWITCH_TRUE= @@ -25198,18 +25153,16 @@ test -n "$with_dhclient" || with_dhclient="no" $as_echo "$as_me: WARNING: dhclient not found, assume path /usr/sbin/dhclient" >&2;} with_dhclient=/usr/sbin/dhclient fi - else - if ! $with_dhclient --version 2>&1 | grep -q "^isc-dhclient-4\."; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Seems version of dhclient $with_dhclient is too old, version 4.x or newer is required." >&5 -$as_echo "$as_me: WARNING: Seems version of dhclient $with_dhclient is too old, version 4.x or newer is required." >&2;} - fi fi fi if test "$with_dhclient" != "no"; then $as_echo "#define WITH_DHCLIENT 1" >>confdefs.h - DHCLIENT_PATH=$with_dhclient + +cat >>confdefs.h <<_ACEOF +#define DHCLIENT_PATH "$with_dhclient" +_ACEOF else @@ -25223,14 +25176,6 @@ if test "${with_dhcpcd+set}" = set; then : withval=$with_dhcpcd; fi - -# Check whether --with-dhcpcd-supports-ipv6 was given. -if test "${with_dhcpcd_supports_ipv6+set}" = set; then : - withval=$with_dhcpcd_supports_ipv6; with_dhcpcd_supports_ipv6=$withval -else - with_dhcpcd_supports_ipv6=auto -fi - if test "$with_dhcpcd" != "no"; then with_dhcpcd_="$with_dhcpcd" for ac_prog in dhcpcd @@ -25285,46 +25230,17 @@ test -n "$with_dhcpcd" || with_dhcpcd="no" { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: dhcpcd not found, assume path /usr/sbin/dhcpcd" >&5 $as_echo "$as_me: WARNING: dhcpcd not found, assume path /usr/sbin/dhcpcd" >&2;} with_dhcpcd=/usr/sbin/dhcpcd - if test "$with_dhcpcd_supports_ipv6" == auto; then - with_dhcpcd_supports_ipv6=yes - fi - fi - else - if ! $with_dhcpcd --version 2>&1 | grep -q "^dhcpcd [456789]\."; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Seems version of dhcpcd $with_dhcpcd is too old, version 4.x or newer is required" >&5 -$as_echo "$as_me: WARNING: Seems version of dhcpcd $with_dhcpcd is too old, version 4.x or newer is required" >&2;} - fi - fi -fi -if test "$with_dhcpcd" != "no"; then - if $with_dhcpcd --version 2>&1 | grep -q "^dhcpcd [6789]\."; then - if test "$with_dhcpcd_supports_ipv6" == no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Seems version of dhcpcd $with_dhcpcd supports IPv6, but compiling --with-dhcpcd-supports-ipv6=no" >&5 -$as_echo "$as_me: WARNING: Seems version of dhcpcd $with_dhcpcd supports IPv6, but compiling --with-dhcpcd-supports-ipv6=no" >&2;} - else - with_dhcpcd_supports_ipv6=yes fi - else - if test "$with_dhcpcd_supports_ipv6" == yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Seems version of dhcpcd $with_dhcpcd does not support IPv6, but compiling --with-dhcpcd-supports-ipv6=yes" >&5 -$as_echo "$as_me: WARNING: Seems version of dhcpcd $with_dhcpcd does not support IPv6, but compiling --with-dhcpcd-supports-ipv6=yes" >&2;} - else - with_dhcpcd_supports_ipv6=no - fi - fi - if test "$with_dhcpcd_supports_ipv6" != no; then - -$as_echo "#define DHCPCD_SUPPORTS_IPV6 1" >>confdefs.h - fi -else - with_dhcpcd_supports_ipv6=no fi if test "$with_dhcpcd" != "no"; then $as_echo "#define WITH_DHCPCD 1" >>confdefs.h - DHCPCD_PATH=$with_dhcpcd + +cat >>confdefs.h <<_ACEOF +#define DHCPCD_PATH "$with_dhcpcd" +_ACEOF else @@ -25355,7 +25271,6 @@ _ACEOF NM_CONFIG_DEFAULT_MAIN_DHCP=$config_dhcp_default -# resolvconf and netconfig support # Check whether --with-resolvconf was given. if test "${with_resolvconf+set}" = set; then : @@ -25374,9 +25289,9 @@ if test "${with_config_dns_rc_manager_default+set}" = set; then : withval=$with_config_dns_rc_manager_default; config_dns_rc_manager_default=$withval fi -if test "$config_dns_rc_manager_default" != symlink -a \ +if test "$config_dns_rc_manager_default" != "" -a \ "$config_dns_rc_manager_default" != file -a \ - "$config_dns_rc_manager_default" != "" -a \ + "$config_dns_rc_manager_default" != symlink -a \ "$config_dns_rc_manager_default" != netconfig -a \ "$config_dns_rc_manager_default" != resolvconf; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unknown --with-config-dns-rc-manager-default=$config_dns_rc_manager_default setting." >&5 @@ -25394,7 +25309,7 @@ fi if test -z "$with_netconfig"; then : with_netconfig=no fi -# Find resolvconf and netconfig + if test "$with_resolvconf" = "yes"; then for ac_prog in resolvconf do @@ -25441,14 +25356,18 @@ fi test -n "$with_resolvconf" && break done -test -n "$with_resolvconf" || with_resolvconf="no" +test -n "$with_resolvconf" || with_resolvconf="'yes'" + if test "$with_resolvconf" = "yes"; then + as_fn_error $? "cannot find resolvconf in path. Set the path explicitly via --with-resolvconf=PATH." "$LINENO" 5 + fi fi if test "$with_resolvconf" != "no"; then if test -z "$config_dns_rc_manager_default"; then : config_dns_rc_manager_default=resolvconf fi fi + if test "$with_netconfig" = "yes"; then for ac_prog in netconfig do @@ -25495,18 +25414,22 @@ fi test -n "$with_netconfig" && break done -test -n "$with_netconfig" || with_netconfig="no" +test -n "$with_netconfig" || with_netconfig="yes" + if test "$with_netconfig" = "yes"; then + as_fn_error $? "cannot find netconfig in path. Set the path explicitly via --with-netconfig=PATH." "$LINENO" 5 + fi fi if test "$with_netconfig" != "no"; then if test -z "$config_dns_rc_manager_default"; then : config_dns_rc_manager_default=netconfig fi fi + if test -z "$config_dns_rc_manager_default"; then : config_dns_rc_manager_default=symlink fi -# Define resolvconf and netconfig paths + if test "$with_resolvconf" != "no"; then cat >>confdefs.h <<_ACEOF @@ -25662,12 +25585,12 @@ if test "x${with_dnssec_trigger}" = x; then set dummy dnssec-trigger-script; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_DNSSEC_TRIGGER_SCRIPT+:} false; then : +if ${ac_cv_path_DNSSEC_TRIGGER_PATH+:} false; then : $as_echo_n "(cached) " >&6 else - case $DNSSEC_TRIGGER_SCRIPT in + case $DNSSEC_TRIGGER_PATH in [\\/]* | ?:[\\/]*) - ac_cv_path_DNSSEC_TRIGGER_SCRIPT="$DNSSEC_TRIGGER_SCRIPT" # Let the user override the test with a path. + ac_cv_path_DNSSEC_TRIGGER_PATH="$DNSSEC_TRIGGER_PATH" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -25678,7 +25601,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_DNSSEC_TRIGGER_SCRIPT="$as_dir/$ac_word$ac_exec_ext" + ac_cv_path_DNSSEC_TRIGGER_PATH="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -25686,14 +25609,14 @@ done done IFS=$as_save_IFS - test -z "$ac_cv_path_DNSSEC_TRIGGER_SCRIPT" && ac_cv_path_DNSSEC_TRIGGER_SCRIPT="/usr/libexec/dnssec-trigger-script" + test -z "$ac_cv_path_DNSSEC_TRIGGER_PATH" && ac_cv_path_DNSSEC_TRIGGER_PATH="/usr/libexec/dnssec-trigger-script" ;; esac fi -DNSSEC_TRIGGER_SCRIPT=$ac_cv_path_DNSSEC_TRIGGER_SCRIPT -if test -n "$DNSSEC_TRIGGER_SCRIPT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DNSSEC_TRIGGER_SCRIPT" >&5 -$as_echo "$DNSSEC_TRIGGER_SCRIPT" >&6; } +DNSSEC_TRIGGER_PATH=$ac_cv_path_DNSSEC_TRIGGER_PATH +if test -n "$DNSSEC_TRIGGER_PATH"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DNSSEC_TRIGGER_PATH" >&5 +$as_echo "$DNSSEC_TRIGGER_PATH" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } @@ -25701,11 +25624,11 @@ fi else - DNSSEC_TRIGGER_SCRIPT="$with_dnssec_trigger" + DNSSEC_TRIGGER_PATH="$with_dnssec_trigger" fi cat >>confdefs.h <<_ACEOF -#define DNSSEC_TRIGGER_SCRIPT "$DNSSEC_TRIGGER_SCRIPT" +#define DNSSEC_TRIGGER_PATH "$DNSSEC_TRIGGER_PATH" _ACEOF @@ -28248,7 +28171,7 @@ else if test "$enable_gtk_doc" = "yes"; then # large parts of the documentation require introspection/pygobject to extract # the documentation out of the source files. You cannot enable gtk-doc without alone. - as_fn_error $? "\"--with-gtk-doc requires --enable-introspection\"" "$LINENO" 5 + as_fn_error $? "\"--enable-gtk-doc requires --enable-introspection\"" "$LINENO" 5 fi have_introspection=no fi @@ -29006,7 +28929,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.13.90, which was +This file was extended by NetworkManager $as_me 1.14.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -29072,7 +28995,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.13.90 +NetworkManager config.status 1.14.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -31219,7 +31142,7 @@ echo echo "Features:" echo " wext: $ac_with_wext" echo " wifi: $enable_wifi" -echo " ppp: $enable_ppp ${PPPD_PLUGIN_DIR}" +echo " ppp: $enable_ppp ${PPPD_PATH} plugins:${PPPD_PLUGIN_DIR}" echo " modemmanager-1: $with_modem_manager_1" echo " ofono: $with_ofono" echo " concheck: $enable_concheck" @@ -31247,7 +31170,6 @@ echo "DHCP clients (default $config_dhcp_default):" echo " dhcpcanon: $with_dhcpcanon" echo " dhclient: $with_dhclient" echo " dhcpcd: $with_dhcpcd" -echo " dhcpcd-supports-ipv6: $with_dhcpcd_supports_ipv6" echo echo "Miscellaneous:" diff --git a/configure.ac b/configure.ac index 67b1ecd6..ff5d5f71 100644 --- a/configure.ac +++ b/configure.ac @@ -7,8 +7,8 @@ dnl - add corresponding NM_VERSION_x_y_z macros in dnl "shared/nm-version-macros.h.in" dnl - update number in meson.build m4_define([nm_major_version], [1]) -m4_define([nm_minor_version], [13]) -m4_define([nm_micro_version], [90]) +m4_define([nm_minor_version], [14]) +m4_define([nm_micro_version], [0]) m4_define([nm_version], [nm_major_version.nm_minor_version.nm_micro_version]) @@ -603,9 +603,6 @@ if (test "${enable_teamdctl}" = "yes"); then fi # temporary bug workaround LIBTEAMDCTL_CFLAGS=`echo $LIBTEAMDCTL_CFLAGS | sed -e 's:/teamdctl.h::'` - AC_DEFINE(WITH_TEAMDCTL, 1, [Define if you have Teamd control support]) -else - AC_DEFINE(WITH_TEAMDCTL, 0, [Define if you have Teamd control support]) fi AM_CONDITIONAL(WITH_TEAMDCTL, test "${enable_teamdctl}" = "yes") @@ -674,16 +671,6 @@ if test "${have_crypto_nss}" = "yes"; then fi AM_CONDITIONAL(HAVE_CRYPTO_GNUTLS, test "${have_crypto_gnutls}" = 'yes') AM_CONDITIONAL(HAVE_CRYPTO_NSS, test "${have_crypto_nss}" = 'yes') -if test "${have_crypto_gnutls}" = 'yes'; then - AC_DEFINE(HAVE_CRYPTO_GNUTLS, 1, [Define if you have gnutls support]) -else - AC_DEFINE(HAVE_CRYPTO_GNUTLS, 0, [Define if you have gnutls support]) -fi -if test "${have_crypto_nss}" = 'yes'; then - AC_DEFINE(HAVE_CRYPTO_NSS, 1, [Define if you have nss support]) -else - AC_DEFINE(HAVE_CRYPTO_NSS, 0, [Define if you have nss support]) -fi AC_ARG_WITH(crypto, AS_HELP_STRING([--with-crypto=nss|gnutls], @@ -773,12 +760,6 @@ if (test "${with_modem_manager_1}" != "no"); then with_modem_manager_1="yes" fi fi - -if (test "${with_modem_manager_1}" = "yes"); then - AC_DEFINE(WITH_MODEM_MANAGER_1, 1, [Define if you have ModemManager1 support]) -else - AC_DEFINE(WITH_MODEM_MANAGER_1, 0, [Define if you have ModemManager1 support]) -fi AM_CONDITIONAL(WITH_MODEM_MANAGER_1, test "${with_modem_manager_1}" = "yes") # Bluez5 DUN support @@ -822,7 +803,7 @@ if test "$with_dhcpcanon" != "no"; then fi if test "$with_dhcpcanon" != "no"; then AC_DEFINE(WITH_DHCPCANON, 1, [Define if you have dhcpcanon]) - AC_SUBST(DHCPCANON_PATH, $with_dhcpcanon) + AC_DEFINE_UNQUOTED(DHCPCANON_PATH, "$with_dhcpcanon", [Define path to dhcpcanon]) else AC_DEFINE(WITH_DHCPCANON, 0, [Define if you have dhcpcanon]) fi @@ -834,15 +815,12 @@ if test "${enable_ovs}" != "no"; then if test "$have_jansson" = "no"; then AC_MSG_ERROR(Jansson is required for ovs support) fi - AC_DEFINE(WITH_OPENVSWITCH, 1, [Define if you have OpenVSwitch support]) -else - AC_DEFINE(WITH_OPENVSWITCH, 0, [Define if you have OpenVSwitch support]) fi AM_CONDITIONAL(WITH_OPENVSWITCH, test "${enable_ovs}" = "yes") # DHCP client support AC_ARG_WITH([dhclient], - AS_HELP_STRING([--with-dhclient=yes|no|path], [Enable dhclient 4.x support])) + AS_HELP_STRING([--with-dhclient=yes|no|path], [Enable dhclient support])) if test "$with_dhclient" != "no"; then with_dhclient_="$with_dhclient" AC_PATH_PROGS(with_dhclient, dhclient, no, /sbin:/usr/sbin:/usr/local/sbin) @@ -851,25 +829,17 @@ if test "$with_dhclient" != "no"; then AC_MSG_WARN([dhclient not found, assume path /usr/sbin/dhclient]) with_dhclient=/usr/sbin/dhclient fi - else - if ! $with_dhclient --version 2>&1 | grep -q "^isc-dhclient-4\."; then - AC_MSG_WARN([Seems version of dhclient $with_dhclient is too old, version 4.x or newer is required.]) - fi fi fi if test "$with_dhclient" != "no"; then AC_DEFINE(WITH_DHCLIENT, 1, [Define if you have dhclient]) - AC_SUBST(DHCLIENT_PATH, $with_dhclient) + AC_DEFINE_UNQUOTED(DHCLIENT_PATH, "$with_dhclient", [Define path to dhclient]) else AC_DEFINE(WITH_DHCLIENT, 0, [Define if you have dhclient]) fi AC_ARG_WITH([dhcpcd], AS_HELP_STRING([--with-dhcpcd=yes|no|path], [Enable dhcpcd 4.x support])) -AC_ARG_WITH([dhcpcd-supports-ipv6], - AS_HELP_STRING([--with-dhcpcd-supports-ipv6=yes|no|auto], - [Whether using dhcpcd >= 6.x which has IPv6 support]), - [with_dhcpcd_supports_ipv6=$withval], [with_dhcpcd_supports_ipv6=auto]) if test "$with_dhcpcd" != "no"; then with_dhcpcd_="$with_dhcpcd" AC_PATH_PROGS(with_dhcpcd, dhcpcd, no, /sbin:/usr/sbin:/usr/local/sbin) @@ -877,39 +847,12 @@ if test "$with_dhcpcd" != "no"; then if test "$with_dhcpcd_" == yes; then AC_MSG_WARN([dhcpcd not found, assume path /usr/sbin/dhcpcd]) with_dhcpcd=/usr/sbin/dhcpcd - if test "$with_dhcpcd_supports_ipv6" == auto; then - with_dhcpcd_supports_ipv6=yes - fi - fi - else - if ! $with_dhcpcd --version 2>&1 | grep -q "^dhcpcd [[456789]]\."; then - AC_MSG_WARN([Seems version of dhcpcd $with_dhcpcd is too old, version 4.x or newer is required]) - fi - fi -fi -if test "$with_dhcpcd" != "no"; then - if $with_dhcpcd --version 2>&1 | grep -q "^dhcpcd [[6789]]\."; then - if test "$with_dhcpcd_supports_ipv6" == no; then - AC_MSG_WARN([Seems version of dhcpcd $with_dhcpcd supports IPv6, but compiling --with-dhcpcd-supports-ipv6=no]) - else - with_dhcpcd_supports_ipv6=yes fi - else - if test "$with_dhcpcd_supports_ipv6" == yes; then - AC_MSG_WARN([Seems version of dhcpcd $with_dhcpcd does not support IPv6, but compiling --with-dhcpcd-supports-ipv6=yes]) - else - with_dhcpcd_supports_ipv6=no - fi - fi - if test "$with_dhcpcd_supports_ipv6" != no; then - AC_DEFINE(DHCPCD_SUPPORTS_IPV6, 1, [Define if dhcpcd supports IPv6 (6.x+)]) fi -else - with_dhcpcd_supports_ipv6=no fi if test "$with_dhcpcd" != "no"; then AC_DEFINE(WITH_DHCPCD, 1, [Define if you have dhcpcd]) - AC_SUBST(DHCPCD_PATH, $with_dhcpcd) + AC_DEFINE_UNQUOTED(DHCPCD_PATH, "$with_dhcpcd", [Define path to dhcpcd]) else AC_DEFINE(WITH_DHCPCD, 0, [Define if you have dhcpcd]) fi @@ -928,13 +871,12 @@ test -z "$config_dhcp_default" && config_dhcp_defaul AC_DEFINE_UNQUOTED(NM_CONFIG_DEFAULT_MAIN_DHCP, "$config_dhcp_default", [Default configuration option for main.dhcp setting]) AC_SUBST(NM_CONFIG_DEFAULT_MAIN_DHCP, $config_dhcp_default) -# resolvconf and netconfig support AC_ARG_WITH(resolvconf, AS_HELP_STRING([--with-resolvconf=yes|no|path], [Enable resolvconf support])) AC_ARG_WITH(netconfig, AS_HELP_STRING([--with-netconfig=yes|no], [Enable SUSE netconfig support])) AC_ARG_WITH(config-dns-rc-manager-default, AS_HELP_STRING([--with-config-dns-rc-manager-default=symlink|file|netconfig|resolvconf], [Configure default value for main.rc-manager setting]), [config_dns_rc_manager_default=$withval]) -if test "$config_dns_rc_manager_default" != symlink -a \ +if test "$config_dns_rc_manager_default" != "" -a \ "$config_dns_rc_manager_default" != file -a \ - "$config_dns_rc_manager_default" != "" -a \ + "$config_dns_rc_manager_default" != symlink -a \ "$config_dns_rc_manager_default" != netconfig -a \ "$config_dns_rc_manager_default" != resolvconf; then AC_MSG_WARN([Unknown --with-config-dns-rc-manager-default=$config_dns_rc_manager_default setting.]) @@ -945,21 +887,29 @@ AS_IF([test -z "$with_netconfig" -a -f /etc/SuSE-release], with_netconfig=yes) # Otherwise default to "no" AS_IF([test -z "$with_resolvconf"], with_resolvconf=no) AS_IF([test -z "$with_netconfig"], with_netconfig=no) -# Find resolvconf and netconfig + if test "$with_resolvconf" = "yes"; then - AC_PATH_PROGS(with_resolvconf, resolvconf, no, /sbin:/usr/sbin:/usr/local/sbin) + AC_PATH_PROGS(with_resolvconf, resolvconf, 'yes', /sbin:/usr/sbin:/usr/local/sbin) + if test "$with_resolvconf" = "yes"; then + AC_MSG_ERROR(cannot find resolvconf in path. Set the path explicitly via --with-resolvconf=PATH.) + fi fi if test "$with_resolvconf" != "no"; then AS_IF([test -z "$config_dns_rc_manager_default"], config_dns_rc_manager_default=resolvconf) fi + if test "$with_netconfig" = "yes"; then - AC_PATH_PROGS(with_netconfig, netconfig, no, /sbin:/usr/sbin:/usr/local/sbin) + AC_PATH_PROGS(with_netconfig, netconfig, yes, /sbin:/usr/sbin:/usr/local/sbin) + if test "$with_netconfig" = "yes"; then + AC_MSG_ERROR(cannot find netconfig in path. Set the path explicitly via --with-netconfig=PATH.) + fi fi if test "$with_netconfig" != "no"; then AS_IF([test -z "$config_dns_rc_manager_default"], config_dns_rc_manager_default=netconfig) fi + AS_IF([test -z "$config_dns_rc_manager_default"], config_dns_rc_manager_default=symlink) -# Define resolvconf and netconfig paths + if test "$with_resolvconf" != "no"; then AC_DEFINE_UNQUOTED(RESOLVCONF_PATH, "$with_resolvconf", [Path to resolvconf]) fi @@ -998,13 +948,13 @@ AC_SUBST(DNSMASQ_PATH) AC_ARG_WITH(dnssec_trigger, AS_HELP_STRING([--with-dnssec-trigger=/path/to/dnssec-trigger-script], [path to unbound dnssec-trigger-script])) if test "x${with_dnssec_trigger}" = x; then - AC_PATH_PROG(DNSSEC_TRIGGER_SCRIPT, dnssec-trigger-script, /usr/libexec/dnssec-trigger-script, + AC_PATH_PROG(DNSSEC_TRIGGER_PATH, dnssec-trigger-script, /usr/libexec/dnssec-trigger-script, /usr/local/libexec:/usr/local/lib:/usr/local/lib/dnssec-trigger:/usr/libexec:/usr/lib:/usr/lib/dnssec-trigger) else - DNSSEC_TRIGGER_SCRIPT="$with_dnssec_trigger" + DNSSEC_TRIGGER_PATH="$with_dnssec_trigger" fi -AC_DEFINE_UNQUOTED(DNSSEC_TRIGGER_SCRIPT, "$DNSSEC_TRIGGER_SCRIPT", [Define to path of unbound dnssec-trigger-script]) -AC_SUBST(DNSSEC_TRIGGER_SCRIPT) +AC_DEFINE_UNQUOTED(DNSSEC_TRIGGER_PATH, "$DNSSEC_TRIGGER_PATH", [Define to path of unbound dnssec-trigger-script]) +AC_SUBST(DNSSEC_TRIGGER_PATH) # system CA certificates path AC_ARG_WITH(system-ca-path, @@ -1267,7 +1217,7 @@ else if test "$enable_gtk_doc" = "yes"; then # large parts of the documentation require introspection/pygobject to extract # the documentation out of the source files. You cannot enable gtk-doc without alone. - AC_MSG_ERROR(["--with-gtk-doc requires --enable-introspection"]) + AC_MSG_ERROR(["--enable-gtk-doc requires --enable-introspection"]) fi have_introspection=no fi @@ -1356,7 +1306,7 @@ echo echo "Features:" echo " wext: $ac_with_wext" echo " wifi: $enable_wifi" -echo " ppp: $enable_ppp ${PPPD_PLUGIN_DIR}" +echo " ppp: $enable_ppp ${PPPD_PATH} plugins:${PPPD_PLUGIN_DIR}" echo " modemmanager-1: $with_modem_manager_1" echo " ofono: $with_ofono" echo " concheck: $enable_concheck" @@ -1384,7 +1334,6 @@ echo "DHCP clients (default $config_dhcp_default):" echo " dhcpcanon: $with_dhcpcanon" echo " dhclient: $with_dhclient" echo " dhcpcd: $with_dhcpcd" -echo " dhcpcd-supports-ipv6: $with_dhcpcd_supports_ipv6" echo echo "Miscellaneous:" diff --git a/docs/api/Makefile.in b/docs/api/Makefile.in index 4fe74632..218798dc 100644 --- a/docs/api/Makefile.in +++ b/docs/api/Makefile.in @@ -189,14 +189,11 @@ DBUS_LIBS = @DBUS_LIBS@ DBUS_SYS_DIR = @DBUS_SYS_DIR@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DHCLIENT_PATH = @DHCLIENT_PATH@ -DHCPCANON_PATH = @DHCPCANON_PATH@ -DHCPCD_PATH = @DHCPCD_PATH@ DISTRO_NETWORK_SERVICE = @DISTRO_NETWORK_SERVICE@ DLLTOOL = @DLLTOOL@ DL_LIBS = @DL_LIBS@ DNSMASQ_PATH = @DNSMASQ_PATH@ -DNSSEC_TRIGGER_SCRIPT = @DNSSEC_TRIGGER_SCRIPT@ +DNSSEC_TRIGGER_PATH = @DNSSEC_TRIGGER_PATH@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ diff --git a/docs/api/html/index.html b/docs/api/html/index.html index d0107f5a..d1bf330b 100644 --- a/docs/api/html/index.html +++ b/docs/api/html/index.html @@ -16,7 +16,7 @@

- for NetworkManager 1.13.90 + for NetworkManager 1.14.0 The latest version of this documentation can be found on-line at https://developer.gnome.org/NetworkManager/stable/. diff --git a/docs/api/html/ix01.html b/docs/api/html/ix01.html index b5253878..2cdcf0f2 100644 --- a/docs/api/html/ix01.html +++ b/docs/api/html/ix01.html @@ -26,1519 +26,1519 @@

Symbols

-
org.freedesktop.NetworkManager.AccessPoint, org.freedesktop.NetworkManager.AccessPoint +
org.freedesktop.NetworkManager.AccessPoint, org.freedesktop.NetworkManager.AccessPoint
-
org.freedesktop.NetworkManager.AccessPoint::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.AccessPoint::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.AccessPoint:Flags, The "Flags" property +
org.freedesktop.NetworkManager.AccessPoint:Flags, The "Flags" property
-
org.freedesktop.NetworkManager.AccessPoint:Frequency, The "Frequency" property +
org.freedesktop.NetworkManager.AccessPoint:Frequency, The "Frequency" property
-
org.freedesktop.NetworkManager.AccessPoint:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.AccessPoint:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.AccessPoint:LastSeen, The "LastSeen" property +
org.freedesktop.NetworkManager.AccessPoint:LastSeen, The "LastSeen" property
-
org.freedesktop.NetworkManager.AccessPoint:MaxBitrate, The "MaxBitrate" property +
org.freedesktop.NetworkManager.AccessPoint:MaxBitrate, The "MaxBitrate" property
-
org.freedesktop.NetworkManager.AccessPoint:Mode, The "Mode" property +
org.freedesktop.NetworkManager.AccessPoint:Mode, The "Mode" property
-
org.freedesktop.NetworkManager.AccessPoint:RsnFlags, The "RsnFlags" property +
org.freedesktop.NetworkManager.AccessPoint:RsnFlags, The "RsnFlags" property
-
org.freedesktop.NetworkManager.AccessPoint:Ssid, The "Ssid" property +
org.freedesktop.NetworkManager.AccessPoint:Ssid, The "Ssid" property
-
org.freedesktop.NetworkManager.AccessPoint:Strength, The "Strength" property +
org.freedesktop.NetworkManager.AccessPoint:Strength, The "Strength" property
-
org.freedesktop.NetworkManager.AccessPoint:WpaFlags, The "WpaFlags" property +
org.freedesktop.NetworkManager.AccessPoint:WpaFlags, The "WpaFlags" property
-
org.freedesktop.NetworkManager.AgentManager, org.freedesktop.NetworkManager.AgentManager +
org.freedesktop.NetworkManager.AgentManager, org.freedesktop.NetworkManager.AgentManager
-
org.freedesktop.NetworkManager.AgentManager.Register(), The Register() method +
org.freedesktop.NetworkManager.AgentManager.Register(), The Register() method
-
org.freedesktop.NetworkManager.AgentManager.RegisterWithCapabilities(), The RegisterWithCapabilities() method +
org.freedesktop.NetworkManager.AgentManager.RegisterWithCapabilities(), The RegisterWithCapabilities() method
-
org.freedesktop.NetworkManager.AgentManager.Unregister(), The Unregister() method +
org.freedesktop.NetworkManager.AgentManager.Unregister(), The Unregister() method
-
org.freedesktop.NetworkManager.Device, org.freedesktop.NetworkManager.Device +
org.freedesktop.NetworkManager.Device, org.freedesktop.NetworkManager.Device
-
org.freedesktop.NetworkManager.Device.Adsl, org.freedesktop.NetworkManager.Device.Adsl +
org.freedesktop.NetworkManager.Device.Adsl, org.freedesktop.NetworkManager.Device.Adsl
-
org.freedesktop.NetworkManager.Device.Adsl::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Adsl::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Adsl:Carrier, The "Carrier" property +
org.freedesktop.NetworkManager.Device.Adsl:Carrier, The "Carrier" property
-
org.freedesktop.NetworkManager.Device.Bluetooth, org.freedesktop.NetworkManager.Device.Bluetooth +
org.freedesktop.NetworkManager.Device.Bluetooth, org.freedesktop.NetworkManager.Device.Bluetooth
-
org.freedesktop.NetworkManager.Device.Bluetooth::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Bluetooth::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Bluetooth:BtCapabilities, The "BtCapabilities" property +
org.freedesktop.NetworkManager.Device.Bluetooth:BtCapabilities, The "BtCapabilities" property
-
org.freedesktop.NetworkManager.Device.Bluetooth:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Bluetooth:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.Bluetooth:Name, The "Name" property +
org.freedesktop.NetworkManager.Device.Bluetooth:Name, The "Name" property
-
org.freedesktop.NetworkManager.Device.Bond, org.freedesktop.NetworkManager.Device.Bond +
org.freedesktop.NetworkManager.Device.Bond, org.freedesktop.NetworkManager.Device.Bond
-
org.freedesktop.NetworkManager.Device.Bond::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Bond::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Bond:Carrier, The "Carrier" property +
org.freedesktop.NetworkManager.Device.Bond:Carrier, The "Carrier" property
-
org.freedesktop.NetworkManager.Device.Bond:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Bond:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.Bond:Slaves, The "Slaves" property +
org.freedesktop.NetworkManager.Device.Bond:Slaves, The "Slaves" property
-
org.freedesktop.NetworkManager.Device.Bridge, org.freedesktop.NetworkManager.Device.Bridge +
org.freedesktop.NetworkManager.Device.Bridge, org.freedesktop.NetworkManager.Device.Bridge
-
org.freedesktop.NetworkManager.Device.Bridge::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Bridge::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Bridge:Carrier, The "Carrier" property +
org.freedesktop.NetworkManager.Device.Bridge:Carrier, The "Carrier" property
-
org.freedesktop.NetworkManager.Device.Bridge:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Bridge:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.Bridge:Slaves, The "Slaves" property +
org.freedesktop.NetworkManager.Device.Bridge:Slaves, The "Slaves" property
-
org.freedesktop.NetworkManager.Device.Delete(), The Delete() method +
org.freedesktop.NetworkManager.Device.Delete(), The Delete() method
-
org.freedesktop.NetworkManager.Device.Disconnect(), The Disconnect() method +
org.freedesktop.NetworkManager.Device.Disconnect(), The Disconnect() method
-
org.freedesktop.NetworkManager.Device.Dummy, org.freedesktop.NetworkManager.Device.Dummy +
org.freedesktop.NetworkManager.Device.Dummy, org.freedesktop.NetworkManager.Device.Dummy
-
org.freedesktop.NetworkManager.Device.Dummy::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Dummy::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Dummy:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Dummy:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.Generic, org.freedesktop.NetworkManager.Device.Generic +
org.freedesktop.NetworkManager.Device.Generic, org.freedesktop.NetworkManager.Device.Generic
-
org.freedesktop.NetworkManager.Device.Generic::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Generic::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Generic:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Generic:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.Generic:TypeDescription, The "TypeDescription" property +
org.freedesktop.NetworkManager.Device.Generic:TypeDescription, The "TypeDescription" property
-
org.freedesktop.NetworkManager.Device.GetAppliedConnection(), The GetAppliedConnection() method +
org.freedesktop.NetworkManager.Device.GetAppliedConnection(), The GetAppliedConnection() method
-
org.freedesktop.NetworkManager.Device.Infiniband, org.freedesktop.NetworkManager.Device.Infiniband +
org.freedesktop.NetworkManager.Device.Infiniband, org.freedesktop.NetworkManager.Device.Infiniband
-
org.freedesktop.NetworkManager.Device.Infiniband::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Infiniband::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Infiniband:Carrier, The "Carrier" property +
org.freedesktop.NetworkManager.Device.Infiniband:Carrier, The "Carrier" property
-
org.freedesktop.NetworkManager.Device.Infiniband:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Infiniband:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.IPTunnel, org.freedesktop.NetworkManager.Device.IPTunnel +
org.freedesktop.NetworkManager.Device.IPTunnel, org.freedesktop.NetworkManager.Device.IPTunnel
-
org.freedesktop.NetworkManager.Device.IPTunnel::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.IPTunnel::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.IPTunnel:EncapsulationLimit, The "EncapsulationLimit" property +
org.freedesktop.NetworkManager.Device.IPTunnel:EncapsulationLimit, The "EncapsulationLimit" property
-
org.freedesktop.NetworkManager.Device.IPTunnel:Flags, The "Flags" property +
org.freedesktop.NetworkManager.Device.IPTunnel:Flags, The "Flags" property
-
org.freedesktop.NetworkManager.Device.IPTunnel:FlowLabel, The "FlowLabel" property +
org.freedesktop.NetworkManager.Device.IPTunnel:FlowLabel, The "FlowLabel" property
-
org.freedesktop.NetworkManager.Device.IPTunnel:InputKey, The "InputKey" property +
org.freedesktop.NetworkManager.Device.IPTunnel:InputKey, The "InputKey" property
-
org.freedesktop.NetworkManager.Device.IPTunnel:Local, The "Local" property +
org.freedesktop.NetworkManager.Device.IPTunnel:Local, The "Local" property
-
org.freedesktop.NetworkManager.Device.IPTunnel:Mode, The "Mode" property +
org.freedesktop.NetworkManager.Device.IPTunnel:Mode, The "Mode" property
-
org.freedesktop.NetworkManager.Device.IPTunnel:OutputKey, The "OutputKey" property +
org.freedesktop.NetworkManager.Device.IPTunnel:OutputKey, The "OutputKey" property
-
org.freedesktop.NetworkManager.Device.IPTunnel:Parent, The "Parent" property +
org.freedesktop.NetworkManager.Device.IPTunnel:Parent, The "Parent" property
-
org.freedesktop.NetworkManager.Device.IPTunnel:PathMtuDiscovery, The "PathMtuDiscovery" property +
org.freedesktop.NetworkManager.Device.IPTunnel:PathMtuDiscovery, The "PathMtuDiscovery" property
-
org.freedesktop.NetworkManager.Device.IPTunnel:Remote, The "Remote" property +
org.freedesktop.NetworkManager.Device.IPTunnel:Remote, The "Remote" property
-
org.freedesktop.NetworkManager.Device.IPTunnel:Tos, The "Tos" property +
org.freedesktop.NetworkManager.Device.IPTunnel:Tos, The "Tos" property
-
org.freedesktop.NetworkManager.Device.IPTunnel:Ttl, The "Ttl" property +
org.freedesktop.NetworkManager.Device.IPTunnel:Ttl, The "Ttl" property
-
org.freedesktop.NetworkManager.Device.Lowpan, org.freedesktop.NetworkManager.Device.Lowpan +
org.freedesktop.NetworkManager.Device.Lowpan, org.freedesktop.NetworkManager.Device.Lowpan
-
org.freedesktop.NetworkManager.Device.Lowpan:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Lowpan:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.Lowpan:Parent, The "Parent" property +
org.freedesktop.NetworkManager.Device.Lowpan:Parent, The "Parent" property
-
org.freedesktop.NetworkManager.Device.Macsec, org.freedesktop.NetworkManager.Device.Macsec +
org.freedesktop.NetworkManager.Device.Macsec, org.freedesktop.NetworkManager.Device.Macsec
-
org.freedesktop.NetworkManager.Device.Macsec::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Macsec::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Macsec:CipherSuite, The "CipherSuite" property +
org.freedesktop.NetworkManager.Device.Macsec:CipherSuite, The "CipherSuite" property
-
org.freedesktop.NetworkManager.Device.Macsec:EncodingSa, The "EncodingSa" property +
org.freedesktop.NetworkManager.Device.Macsec:EncodingSa, The "EncodingSa" property
-
org.freedesktop.NetworkManager.Device.Macsec:Encrypt, The "Encrypt" property +
org.freedesktop.NetworkManager.Device.Macsec:Encrypt, The "Encrypt" property
-
org.freedesktop.NetworkManager.Device.Macsec:Es, The "Es" property +
org.freedesktop.NetworkManager.Device.Macsec:Es, The "Es" property
-
org.freedesktop.NetworkManager.Device.Macsec:IcvLength, The "IcvLength" property +
org.freedesktop.NetworkManager.Device.Macsec:IcvLength, The "IcvLength" property
-
org.freedesktop.NetworkManager.Device.Macsec:IncludeSci, The "IncludeSci" property +
org.freedesktop.NetworkManager.Device.Macsec:IncludeSci, The "IncludeSci" property
-
org.freedesktop.NetworkManager.Device.Macsec:Parent, The "Parent" property +
org.freedesktop.NetworkManager.Device.Macsec:Parent, The "Parent" property
-
org.freedesktop.NetworkManager.Device.Macsec:Protect, The "Protect" property +
org.freedesktop.NetworkManager.Device.Macsec:Protect, The "Protect" property
-
org.freedesktop.NetworkManager.Device.Macsec:ReplayProtect, The "ReplayProtect" property +
org.freedesktop.NetworkManager.Device.Macsec:ReplayProtect, The "ReplayProtect" property
-
org.freedesktop.NetworkManager.Device.Macsec:Scb, The "Scb" property +
org.freedesktop.NetworkManager.Device.Macsec:Scb, The "Scb" property
-
org.freedesktop.NetworkManager.Device.Macsec:Sci, The "Sci" property +
org.freedesktop.NetworkManager.Device.Macsec:Sci, The "Sci" property
-
org.freedesktop.NetworkManager.Device.Macsec:Validation, The "Validation" property +
org.freedesktop.NetworkManager.Device.Macsec:Validation, The "Validation" property
-
org.freedesktop.NetworkManager.Device.Macsec:Window, The "Window" property +
org.freedesktop.NetworkManager.Device.Macsec:Window, The "Window" property
-
org.freedesktop.NetworkManager.Device.Macvlan, org.freedesktop.NetworkManager.Device.Macvlan +
org.freedesktop.NetworkManager.Device.Macvlan, org.freedesktop.NetworkManager.Device.Macvlan
-
org.freedesktop.NetworkManager.Device.Macvlan::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Macvlan::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Macvlan:Mode, The "Mode" property +
org.freedesktop.NetworkManager.Device.Macvlan:Mode, The "Mode" property
-
org.freedesktop.NetworkManager.Device.Macvlan:NoPromisc, The "NoPromisc" property +
org.freedesktop.NetworkManager.Device.Macvlan:NoPromisc, The "NoPromisc" property
-
org.freedesktop.NetworkManager.Device.Macvlan:Parent, The "Parent" property +
org.freedesktop.NetworkManager.Device.Macvlan:Parent, The "Parent" property
-
org.freedesktop.NetworkManager.Device.Macvlan:Tap, The "Tap" property +
org.freedesktop.NetworkManager.Device.Macvlan:Tap, The "Tap" property
-
org.freedesktop.NetworkManager.Device.Modem, org.freedesktop.NetworkManager.Device.Modem +
org.freedesktop.NetworkManager.Device.Modem, org.freedesktop.NetworkManager.Device.Modem
-
org.freedesktop.NetworkManager.Device.Modem::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Modem::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Modem:CurrentCapabilities, The "CurrentCapabilities" property +
org.freedesktop.NetworkManager.Device.Modem:CurrentCapabilities, The "CurrentCapabilities" property
-
org.freedesktop.NetworkManager.Device.Modem:ModemCapabilities, The "ModemCapabilities" property +
org.freedesktop.NetworkManager.Device.Modem:ModemCapabilities, The "ModemCapabilities" property
-
org.freedesktop.NetworkManager.Device.OlpcMesh, org.freedesktop.NetworkManager.Device.OlpcMesh +
org.freedesktop.NetworkManager.Device.OlpcMesh, org.freedesktop.NetworkManager.Device.OlpcMesh
-
org.freedesktop.NetworkManager.Device.OlpcMesh::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.OlpcMesh::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.OlpcMesh:ActiveChannel, The "ActiveChannel" property +
org.freedesktop.NetworkManager.Device.OlpcMesh:ActiveChannel, The "ActiveChannel" property
-
org.freedesktop.NetworkManager.Device.OlpcMesh:Companion, The "Companion" property +
org.freedesktop.NetworkManager.Device.OlpcMesh:Companion, The "Companion" property
-
org.freedesktop.NetworkManager.Device.OlpcMesh:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.OlpcMesh:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.OvsBridge, org.freedesktop.NetworkManager.Device.OvsBridge +
org.freedesktop.NetworkManager.Device.OvsBridge, org.freedesktop.NetworkManager.Device.OvsBridge
-
org.freedesktop.NetworkManager.Device.OvsBridge::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.OvsBridge::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.OvsBridge:Slaves, The "Slaves" property +
org.freedesktop.NetworkManager.Device.OvsBridge:Slaves, The "Slaves" property
-
org.freedesktop.NetworkManager.Device.OvsInterface, org.freedesktop.NetworkManager.Device.OvsInterface +
org.freedesktop.NetworkManager.Device.OvsInterface, org.freedesktop.NetworkManager.Device.OvsInterface
-
org.freedesktop.NetworkManager.Device.OvsInterface::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.OvsInterface::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.OvsPort, org.freedesktop.NetworkManager.Device.OvsPort +
org.freedesktop.NetworkManager.Device.OvsPort, org.freedesktop.NetworkManager.Device.OvsPort
-
org.freedesktop.NetworkManager.Device.OvsPort::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.OvsPort::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.OvsPort:Slaves, The "Slaves" property +
org.freedesktop.NetworkManager.Device.OvsPort:Slaves, The "Slaves" property
-
org.freedesktop.NetworkManager.Device.Ppp, org.freedesktop.NetworkManager.Device.Ppp +
org.freedesktop.NetworkManager.Device.Ppp, org.freedesktop.NetworkManager.Device.Ppp
-
org.freedesktop.NetworkManager.Device.Ppp::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Ppp::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Reapply(), The Reapply() method +
org.freedesktop.NetworkManager.Device.Reapply(), The Reapply() method
-
org.freedesktop.NetworkManager.Device.Statistics, org.freedesktop.NetworkManager.Device.Statistics +
org.freedesktop.NetworkManager.Device.Statistics, org.freedesktop.NetworkManager.Device.Statistics
-
org.freedesktop.NetworkManager.Device.Statistics::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Statistics::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Statistics:RefreshRateMs, The "RefreshRateMs" property +
org.freedesktop.NetworkManager.Device.Statistics:RefreshRateMs, The "RefreshRateMs" property
-
org.freedesktop.NetworkManager.Device.Statistics:RxBytes, The "RxBytes" property +
org.freedesktop.NetworkManager.Device.Statistics:RxBytes, The "RxBytes" property
-
org.freedesktop.NetworkManager.Device.Statistics:TxBytes, The "TxBytes" property +
org.freedesktop.NetworkManager.Device.Statistics:TxBytes, The "TxBytes" property
-
org.freedesktop.NetworkManager.Device.Team, org.freedesktop.NetworkManager.Device.Team +
org.freedesktop.NetworkManager.Device.Team, org.freedesktop.NetworkManager.Device.Team
-
org.freedesktop.NetworkManager.Device.Team::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Team::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Team:Carrier, The "Carrier" property +
org.freedesktop.NetworkManager.Device.Team:Carrier, The "Carrier" property
-
org.freedesktop.NetworkManager.Device.Team:Config, The "Config" property +
org.freedesktop.NetworkManager.Device.Team:Config, The "Config" property
-
org.freedesktop.NetworkManager.Device.Team:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Team:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.Team:Slaves, The "Slaves" property +
org.freedesktop.NetworkManager.Device.Team:Slaves, The "Slaves" property
-
org.freedesktop.NetworkManager.Device.Tun, org.freedesktop.NetworkManager.Device.Tun +
org.freedesktop.NetworkManager.Device.Tun, org.freedesktop.NetworkManager.Device.Tun
-
org.freedesktop.NetworkManager.Device.Tun::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Tun::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Tun:Group, The "Group" property +
org.freedesktop.NetworkManager.Device.Tun:Group, The "Group" property
-
org.freedesktop.NetworkManager.Device.Tun:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Tun:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.Tun:Mode, The "Mode" property +
org.freedesktop.NetworkManager.Device.Tun:Mode, The "Mode" property
-
org.freedesktop.NetworkManager.Device.Tun:MultiQueue, The "MultiQueue" property +
org.freedesktop.NetworkManager.Device.Tun:MultiQueue, The "MultiQueue" property
-
org.freedesktop.NetworkManager.Device.Tun:NoPi, The "NoPi" property +
org.freedesktop.NetworkManager.Device.Tun:NoPi, The "NoPi" property
-
org.freedesktop.NetworkManager.Device.Tun:Owner, The "Owner" property +
org.freedesktop.NetworkManager.Device.Tun:Owner, The "Owner" property
-
org.freedesktop.NetworkManager.Device.Tun:VnetHdr, The "VnetHdr" property +
org.freedesktop.NetworkManager.Device.Tun:VnetHdr, The "VnetHdr" property
-
org.freedesktop.NetworkManager.Device.Veth, org.freedesktop.NetworkManager.Device.Veth +
org.freedesktop.NetworkManager.Device.Veth, org.freedesktop.NetworkManager.Device.Veth
-
org.freedesktop.NetworkManager.Device.Veth::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Veth::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Veth:Peer, The "Peer" property +
org.freedesktop.NetworkManager.Device.Veth:Peer, The "Peer" property
-
org.freedesktop.NetworkManager.Device.Vlan, org.freedesktop.NetworkManager.Device.Vlan +
org.freedesktop.NetworkManager.Device.Vlan, org.freedesktop.NetworkManager.Device.Vlan
-
org.freedesktop.NetworkManager.Device.Vlan::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Vlan::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Vlan:Carrier, The "Carrier" property +
org.freedesktop.NetworkManager.Device.Vlan:Carrier, The "Carrier" property
-
org.freedesktop.NetworkManager.Device.Vlan:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Vlan:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.Vlan:Parent, The "Parent" property +
org.freedesktop.NetworkManager.Device.Vlan:Parent, The "Parent" property
-
org.freedesktop.NetworkManager.Device.Vlan:VlanId, The "VlanId" property +
org.freedesktop.NetworkManager.Device.Vlan:VlanId, The "VlanId" property
-
org.freedesktop.NetworkManager.Device.Vxlan, org.freedesktop.NetworkManager.Device.Vxlan +
org.freedesktop.NetworkManager.Device.Vxlan, org.freedesktop.NetworkManager.Device.Vxlan
-
org.freedesktop.NetworkManager.Device.Vxlan::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Vxlan::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Vxlan:Ageing, The "Ageing" property +
org.freedesktop.NetworkManager.Device.Vxlan:Ageing, The "Ageing" property
-
org.freedesktop.NetworkManager.Device.Vxlan:DstPort, The "DstPort" property +
org.freedesktop.NetworkManager.Device.Vxlan:DstPort, The "DstPort" property
-
org.freedesktop.NetworkManager.Device.Vxlan:Group, The "Group" property +
org.freedesktop.NetworkManager.Device.Vxlan:Group, The "Group" property
-
org.freedesktop.NetworkManager.Device.Vxlan:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Vxlan:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.Vxlan:Id, The "Id" property +
org.freedesktop.NetworkManager.Device.Vxlan:Id, The "Id" property
-
org.freedesktop.NetworkManager.Device.Vxlan:L2miss, The "L2miss" property +
org.freedesktop.NetworkManager.Device.Vxlan:L2miss, The "L2miss" property
-
org.freedesktop.NetworkManager.Device.Vxlan:L3miss, The "L3miss" property +
org.freedesktop.NetworkManager.Device.Vxlan:L3miss, The "L3miss" property
-
org.freedesktop.NetworkManager.Device.Vxlan:Learning, The "Learning" property +
org.freedesktop.NetworkManager.Device.Vxlan:Learning, The "Learning" property
-
org.freedesktop.NetworkManager.Device.Vxlan:Limit, The "Limit" property +
org.freedesktop.NetworkManager.Device.Vxlan:Limit, The "Limit" property
-
org.freedesktop.NetworkManager.Device.Vxlan:Local, The "Local" property +
org.freedesktop.NetworkManager.Device.Vxlan:Local, The "Local" property
-
org.freedesktop.NetworkManager.Device.Vxlan:Parent, The "Parent" property +
org.freedesktop.NetworkManager.Device.Vxlan:Parent, The "Parent" property
-
org.freedesktop.NetworkManager.Device.Vxlan:Proxy, The "Proxy" property +
org.freedesktop.NetworkManager.Device.Vxlan:Proxy, The "Proxy" property
-
org.freedesktop.NetworkManager.Device.Vxlan:Rsc, The "Rsc" property +
org.freedesktop.NetworkManager.Device.Vxlan:Rsc, The "Rsc" property
-
org.freedesktop.NetworkManager.Device.Vxlan:SrcPortMax, The "SrcPortMax" property +
org.freedesktop.NetworkManager.Device.Vxlan:SrcPortMax, The "SrcPortMax" property
-
org.freedesktop.NetworkManager.Device.Vxlan:SrcPortMin, The "SrcPortMin" property +
org.freedesktop.NetworkManager.Device.Vxlan:SrcPortMin, The "SrcPortMin" property
-
org.freedesktop.NetworkManager.Device.Vxlan:Tos, The "Tos" property +
org.freedesktop.NetworkManager.Device.Vxlan:Tos, The "Tos" property
-
org.freedesktop.NetworkManager.Device.Vxlan:Ttl, The "Ttl" property +
org.freedesktop.NetworkManager.Device.Vxlan:Ttl, The "Ttl" property
-
org.freedesktop.NetworkManager.Device.WireGuard, org.freedesktop.NetworkManager.Device.WireGuard +
org.freedesktop.NetworkManager.Device.WireGuard, org.freedesktop.NetworkManager.Device.WireGuard
-
org.freedesktop.NetworkManager.Device.WireGuard:FwMark, The "FwMark" property +
org.freedesktop.NetworkManager.Device.WireGuard:FwMark, The "FwMark" property
-
org.freedesktop.NetworkManager.Device.WireGuard:ListenPort, The "ListenPort" property +
org.freedesktop.NetworkManager.Device.WireGuard:ListenPort, The "ListenPort" property
-
org.freedesktop.NetworkManager.Device.WireGuard:PublicKey, The "PublicKey" property +
org.freedesktop.NetworkManager.Device.WireGuard:PublicKey, The "PublicKey" property
-
org.freedesktop.NetworkManager.Device.Wpan, org.freedesktop.NetworkManager.Device.Wpan +
org.freedesktop.NetworkManager.Device.Wpan, org.freedesktop.NetworkManager.Device.Wpan
-
org.freedesktop.NetworkManager.Device.Wpan:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Wpan:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device::StateChanged, The "StateChanged" signal +
org.freedesktop.NetworkManager.Device::StateChanged, The "StateChanged" signal
-
org.freedesktop.NetworkManager.Device:ActiveConnection, The "ActiveConnection" property +
org.freedesktop.NetworkManager.Device:ActiveConnection, The "ActiveConnection" property
-
org.freedesktop.NetworkManager.Device:Autoconnect, The "Autoconnect" property +
org.freedesktop.NetworkManager.Device:Autoconnect, The "Autoconnect" property
-
org.freedesktop.NetworkManager.Device:AvailableConnections, The "AvailableConnections" property +
org.freedesktop.NetworkManager.Device:AvailableConnections, The "AvailableConnections" property
-
org.freedesktop.NetworkManager.Device:Capabilities, The "Capabilities" property +
org.freedesktop.NetworkManager.Device:Capabilities, The "Capabilities" property
-
org.freedesktop.NetworkManager.Device:DeviceType, The "DeviceType" property +
org.freedesktop.NetworkManager.Device:DeviceType, The "DeviceType" property
-
org.freedesktop.NetworkManager.Device:Dhcp4Config, The "Dhcp4Config" property +
org.freedesktop.NetworkManager.Device:Dhcp4Config, The "Dhcp4Config" property
-
org.freedesktop.NetworkManager.Device:Dhcp6Config, The "Dhcp6Config" property +
org.freedesktop.NetworkManager.Device:Dhcp6Config, The "Dhcp6Config" property
-
org.freedesktop.NetworkManager.Device:Driver, The "Driver" property +
org.freedesktop.NetworkManager.Device:Driver, The "Driver" property
-
org.freedesktop.NetworkManager.Device:DriverVersion, The "DriverVersion" property +
org.freedesktop.NetworkManager.Device:DriverVersion, The "DriverVersion" property
-
org.freedesktop.NetworkManager.Device:FirmwareMissing, The "FirmwareMissing" property +
org.freedesktop.NetworkManager.Device:FirmwareMissing, The "FirmwareMissing" property
-
org.freedesktop.NetworkManager.Device:FirmwareVersion, The "FirmwareVersion" property +
org.freedesktop.NetworkManager.Device:FirmwareVersion, The "FirmwareVersion" property
-
org.freedesktop.NetworkManager.Device:Interface, The "Interface" property +
org.freedesktop.NetworkManager.Device:Interface, The "Interface" property
-
org.freedesktop.NetworkManager.Device:Ip4Address, The "Ip4Address" property +
org.freedesktop.NetworkManager.Device:Ip4Address, The "Ip4Address" property
-
org.freedesktop.NetworkManager.Device:Ip4Config, The "Ip4Config" property +
org.freedesktop.NetworkManager.Device:Ip4Config, The "Ip4Config" property
-
org.freedesktop.NetworkManager.Device:Ip6Config, The "Ip6Config" property +
org.freedesktop.NetworkManager.Device:Ip6Config, The "Ip6Config" property
-
org.freedesktop.NetworkManager.Device:IpInterface, The "IpInterface" property +
org.freedesktop.NetworkManager.Device:IpInterface, The "IpInterface" property
-
org.freedesktop.NetworkManager.Device:LldpNeighbors, The "LldpNeighbors" property +
org.freedesktop.NetworkManager.Device:LldpNeighbors, The "LldpNeighbors" property
-
org.freedesktop.NetworkManager.Device:Managed, The "Managed" property +
org.freedesktop.NetworkManager.Device:Managed, The "Managed" property
-
org.freedesktop.NetworkManager.Device:Metered, The "Metered" property +
org.freedesktop.NetworkManager.Device:Metered, The "Metered" property
-
org.freedesktop.NetworkManager.Device:Mtu, The "Mtu" property +
org.freedesktop.NetworkManager.Device:Mtu, The "Mtu" property
-
org.freedesktop.NetworkManager.Device:NmPluginMissing, The "NmPluginMissing" property +
org.freedesktop.NetworkManager.Device:NmPluginMissing, The "NmPluginMissing" property
-
org.freedesktop.NetworkManager.Device:PhysicalPortId, The "PhysicalPortId" property +
org.freedesktop.NetworkManager.Device:PhysicalPortId, The "PhysicalPortId" property
-
org.freedesktop.NetworkManager.Device:Real, The "Real" property +
org.freedesktop.NetworkManager.Device:Real, The "Real" property
-
org.freedesktop.NetworkManager.Device:State, The "State" property +
org.freedesktop.NetworkManager.Device:State, The "State" property
-
org.freedesktop.NetworkManager.Device:StateReason, The "StateReason" property +
org.freedesktop.NetworkManager.Device:StateReason, The "StateReason" property
-
org.freedesktop.NetworkManager.Device:Udi, The "Udi" property +
org.freedesktop.NetworkManager.Device:Udi, The "Udi" property
-
org.freedesktop.NetworkManager.DnsManager, org.freedesktop.NetworkManager.DnsManager +
org.freedesktop.NetworkManager.DnsManager, org.freedesktop.NetworkManager.DnsManager
-
org.freedesktop.NetworkManager.DnsManager:Configuration, The "Configuration" property +
org.freedesktop.NetworkManager.DnsManager:Configuration, The "Configuration" property
-
org.freedesktop.NetworkManager.DnsManager:Mode, The "Mode" property +
org.freedesktop.NetworkManager.DnsManager:Mode, The "Mode" property
-
org.freedesktop.NetworkManager.DnsManager:RcManager, The "RcManager" property +
org.freedesktop.NetworkManager.DnsManager:RcManager, The "RcManager" property
-
org.freedesktop.NetworkManager.IP4Config, org.freedesktop.NetworkManager.IP4Config +
org.freedesktop.NetworkManager.IP4Config, org.freedesktop.NetworkManager.IP4Config
-
org.freedesktop.NetworkManager.IP4Config::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.IP4Config::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.IP4Config:AddressData, The "AddressData" property +
org.freedesktop.NetworkManager.IP4Config:AddressData, The "AddressData" property
-
org.freedesktop.NetworkManager.IP4Config:Addresses, The "Addresses" property +
org.freedesktop.NetworkManager.IP4Config:Addresses, The "Addresses" property
-
org.freedesktop.NetworkManager.IP4Config:DnsOptions, The "DnsOptions" property +
org.freedesktop.NetworkManager.IP4Config:DnsOptions, The "DnsOptions" property
-
org.freedesktop.NetworkManager.IP4Config:DnsPriority, The "DnsPriority" property +
org.freedesktop.NetworkManager.IP4Config:DnsPriority, The "DnsPriority" property
-
org.freedesktop.NetworkManager.IP4Config:Domains, The "Domains" property +
org.freedesktop.NetworkManager.IP4Config:Domains, The "Domains" property
-
org.freedesktop.NetworkManager.IP4Config:Gateway, The "Gateway" property +
org.freedesktop.NetworkManager.IP4Config:Gateway, The "Gateway" property
-
org.freedesktop.NetworkManager.IP4Config:NameserverData, The "NameserverData" property +
org.freedesktop.NetworkManager.IP4Config:NameserverData, The "NameserverData" property
-
org.freedesktop.NetworkManager.IP4Config:Nameservers, The "Nameservers" property +
org.freedesktop.NetworkManager.IP4Config:Nameservers, The "Nameservers" property
-
org.freedesktop.NetworkManager.IP4Config:RouteData, The "RouteData" property +
org.freedesktop.NetworkManager.IP4Config:RouteData, The "RouteData" property
-
org.freedesktop.NetworkManager.IP4Config:Routes, The "Routes" property +
org.freedesktop.NetworkManager.IP4Config:Routes, The "Routes" property
-
org.freedesktop.NetworkManager.IP4Config:Searches, The "Searches" property +
org.freedesktop.NetworkManager.IP4Config:Searches, The "Searches" property
-
org.freedesktop.NetworkManager.IP4Config:WinsServerData, The "WinsServerData" property +
org.freedesktop.NetworkManager.IP4Config:WinsServerData, The "WinsServerData" property
-
org.freedesktop.NetworkManager.IP4Config:WinsServers, The "WinsServers" property +
org.freedesktop.NetworkManager.IP4Config:WinsServers, The "WinsServers" property
-
org.freedesktop.NetworkManager.IP6Config, org.freedesktop.NetworkManager.IP6Config +
org.freedesktop.NetworkManager.IP6Config, org.freedesktop.NetworkManager.IP6Config
-
org.freedesktop.NetworkManager.IP6Config::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.IP6Config::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.IP6Config:AddressData, The "AddressData" property +
org.freedesktop.NetworkManager.IP6Config:AddressData, The "AddressData" property
-
org.freedesktop.NetworkManager.IP6Config:Addresses, The "Addresses" property +
org.freedesktop.NetworkManager.IP6Config:Addresses, The "Addresses" property
-
org.freedesktop.NetworkManager.IP6Config:DnsOptions, The "DnsOptions" property +
org.freedesktop.NetworkManager.IP6Config:DnsOptions, The "DnsOptions" property
-
org.freedesktop.NetworkManager.IP6Config:DnsPriority, The "DnsPriority" property +
org.freedesktop.NetworkManager.IP6Config:DnsPriority, The "DnsPriority" property
-
org.freedesktop.NetworkManager.IP6Config:Domains, The "Domains" property +
org.freedesktop.NetworkManager.IP6Config:Domains, The "Domains" property
-
org.freedesktop.NetworkManager.IP6Config:Gateway, The "Gateway" property +
org.freedesktop.NetworkManager.IP6Config:Gateway, The "Gateway" property
-
org.freedesktop.NetworkManager.IP6Config:Nameservers, The "Nameservers" property +
org.freedesktop.NetworkManager.IP6Config:Nameservers, The "Nameservers" property
-
org.freedesktop.NetworkManager.IP6Config:RouteData, The "RouteData" property +
org.freedesktop.NetworkManager.IP6Config:RouteData, The "RouteData" property
-
org.freedesktop.NetworkManager.IP6Config:Routes, The "Routes" property +
org.freedesktop.NetworkManager.IP6Config:Routes, The "Routes" property
-
org.freedesktop.NetworkManager.IP6Config:Searches, The "Searches" property +
org.freedesktop.NetworkManager.IP6Config:Searches, The "Searches" property
-
org.freedesktop.NetworkManager.SecretAgent, org.freedesktop.NetworkManager.SecretAgent +
org.freedesktop.NetworkManager.SecretAgent, org.freedesktop.NetworkManager.SecretAgent
-
org.freedesktop.NetworkManager.SecretAgent.CancelGetSecrets(), The CancelGetSecrets() method +
org.freedesktop.NetworkManager.SecretAgent.CancelGetSecrets(), The CancelGetSecrets() method
-
org.freedesktop.NetworkManager.SecretAgent.DeleteSecrets(), The DeleteSecrets() method +
org.freedesktop.NetworkManager.SecretAgent.DeleteSecrets(), The DeleteSecrets() method
-
org.freedesktop.NetworkManager.SecretAgent.GetSecrets(), The GetSecrets() method +
org.freedesktop.NetworkManager.SecretAgent.GetSecrets(), The GetSecrets() method
-
org.freedesktop.NetworkManager.SecretAgent.SaveSecrets(), The SaveSecrets() method +
org.freedesktop.NetworkManager.SecretAgent.SaveSecrets(), The SaveSecrets() method
-
org.freedesktop.NetworkManager.Settings, org.freedesktop.NetworkManager.Settings +
org.freedesktop.NetworkManager.Settings, org.freedesktop.NetworkManager.Settings
-
org.freedesktop.NetworkManager.Settings.AddConnection(), The AddConnection() method +
org.freedesktop.NetworkManager.Settings.AddConnection(), The AddConnection() method
-
org.freedesktop.NetworkManager.Settings.AddConnectionUnsaved(), The AddConnectionUnsaved() method +
org.freedesktop.NetworkManager.Settings.AddConnectionUnsaved(), The AddConnectionUnsaved() method
-
org.freedesktop.NetworkManager.Settings.Connection, org.freedesktop.NetworkManager.Settings.Connection +
org.freedesktop.NetworkManager.Settings.Connection, org.freedesktop.NetworkManager.Settings.Connection
-
org.freedesktop.NetworkManager.Settings.Connection.ClearSecrets(), The ClearSecrets() method +
org.freedesktop.NetworkManager.Settings.Connection.ClearSecrets(), The ClearSecrets() method
-
org.freedesktop.NetworkManager.Settings.Connection.Delete(), The Delete() method +
org.freedesktop.NetworkManager.Settings.Connection.Delete(), The Delete() method
-
org.freedesktop.NetworkManager.Settings.Connection.GetSecrets(), The GetSecrets() method +
org.freedesktop.NetworkManager.Settings.Connection.GetSecrets(), The GetSecrets() method
-
org.freedesktop.NetworkManager.Settings.Connection.GetSettings(), The GetSettings() method +
org.freedesktop.NetworkManager.Settings.Connection.GetSettings(), The GetSettings() method
-
org.freedesktop.NetworkManager.Settings.Connection.Save(), The Save() method +
org.freedesktop.NetworkManager.Settings.Connection.Save(), The Save() method
-
org.freedesktop.NetworkManager.Settings.Connection.Update(), The Update() method +
org.freedesktop.NetworkManager.Settings.Connection.Update(), The Update() method
-
org.freedesktop.NetworkManager.Settings.Connection.Update2(), The Update2() method +
org.freedesktop.NetworkManager.Settings.Connection.Update2(), The Update2() method
-
org.freedesktop.NetworkManager.Settings.Connection.UpdateUnsaved(), The UpdateUnsaved() method +
org.freedesktop.NetworkManager.Settings.Connection.UpdateUnsaved(), The UpdateUnsaved() method
-
org.freedesktop.NetworkManager.Settings.Connection::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Settings.Connection::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Settings.Connection::Removed, The "Removed" signal +
org.freedesktop.NetworkManager.Settings.Connection::Removed, The "Removed" signal
-
org.freedesktop.NetworkManager.Settings.Connection::Updated, The "Updated" signal +
org.freedesktop.NetworkManager.Settings.Connection::Updated, The "Updated" signal
-
org.freedesktop.NetworkManager.Settings.Connection:Filename, The "Filename" property +
org.freedesktop.NetworkManager.Settings.Connection:Filename, The "Filename" property
-
org.freedesktop.NetworkManager.Settings.Connection:Flags, The "Flags" property +
org.freedesktop.NetworkManager.Settings.Connection:Flags, The "Flags" property
-
org.freedesktop.NetworkManager.Settings.Connection:Unsaved, The "Unsaved" property +
org.freedesktop.NetworkManager.Settings.Connection:Unsaved, The "Unsaved" property
-
org.freedesktop.NetworkManager.Settings.GetConnectionByUuid(), The GetConnectionByUuid() method +
org.freedesktop.NetworkManager.Settings.GetConnectionByUuid(), The GetConnectionByUuid() method
-
org.freedesktop.NetworkManager.Settings.ListConnections(), The ListConnections() method +
org.freedesktop.NetworkManager.Settings.ListConnections(), The ListConnections() method
-
org.freedesktop.NetworkManager.Settings.LoadConnections(), The LoadConnections() method +
org.freedesktop.NetworkManager.Settings.LoadConnections(), The LoadConnections() method
-
org.freedesktop.NetworkManager.Settings.ReloadConnections(), The ReloadConnections() method +
org.freedesktop.NetworkManager.Settings.ReloadConnections(), The ReloadConnections() method
-
org.freedesktop.NetworkManager.Settings.SaveHostname(), The SaveHostname() method +
org.freedesktop.NetworkManager.Settings.SaveHostname(), The SaveHostname() method
-
org.freedesktop.NetworkManager.Settings::ConnectionRemoved, The "ConnectionRemoved" signal +
org.freedesktop.NetworkManager.Settings::ConnectionRemoved, The "ConnectionRemoved" signal
-
org.freedesktop.NetworkManager.Settings::NewConnection, The "NewConnection" signal +
org.freedesktop.NetworkManager.Settings::NewConnection, The "NewConnection" signal
-
org.freedesktop.NetworkManager.Settings::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Settings::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Settings:CanModify, The "CanModify" property +
org.freedesktop.NetworkManager.Settings:CanModify, The "CanModify" property
-
org.freedesktop.NetworkManager.Settings:Connections, The "Connections" property +
org.freedesktop.NetworkManager.Settings:Connections, The "Connections" property
-
org.freedesktop.NetworkManager.Settings:Hostname, The "Hostname" property +
org.freedesktop.NetworkManager.Settings:Hostname, The "Hostname" property

A

-
org.freedesktop.NetworkManager.Connection.Active, org.freedesktop.NetworkManager.Connection.Active +
org.freedesktop.NetworkManager.Connection.Active, org.freedesktop.NetworkManager.Connection.Active
-
org.freedesktop.NetworkManager.Connection.Active::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Connection.Active::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Connection.Active::StateChanged, The "StateChanged" signal +
org.freedesktop.NetworkManager.Connection.Active::StateChanged, The "StateChanged" signal
-
org.freedesktop.NetworkManager.Connection.Active:Connection, The "Connection" property +
org.freedesktop.NetworkManager.Connection.Active:Connection, The "Connection" property
-
org.freedesktop.NetworkManager.Connection.Active:Default, The "Default" property +
org.freedesktop.NetworkManager.Connection.Active:Default, The "Default" property
-
org.freedesktop.NetworkManager.Connection.Active:Default6, The "Default6" property +
org.freedesktop.NetworkManager.Connection.Active:Default6, The "Default6" property
-
org.freedesktop.NetworkManager.Connection.Active:Devices, The "Devices" property +
org.freedesktop.NetworkManager.Connection.Active:Devices, The "Devices" property
-
org.freedesktop.NetworkManager.Connection.Active:Dhcp4Config, The "Dhcp4Config" property +
org.freedesktop.NetworkManager.Connection.Active:Dhcp4Config, The "Dhcp4Config" property
-
org.freedesktop.NetworkManager.Connection.Active:Dhcp6Config, The "Dhcp6Config" property +
org.freedesktop.NetworkManager.Connection.Active:Dhcp6Config, The "Dhcp6Config" property
-
org.freedesktop.NetworkManager.Connection.Active:Id, The "Id" property +
org.freedesktop.NetworkManager.Connection.Active:Id, The "Id" property
-
org.freedesktop.NetworkManager.Connection.Active:Ip4Config, The "Ip4Config" property +
org.freedesktop.NetworkManager.Connection.Active:Ip4Config, The "Ip4Config" property
-
org.freedesktop.NetworkManager.Connection.Active:Ip6Config, The "Ip6Config" property +
org.freedesktop.NetworkManager.Connection.Active:Ip6Config, The "Ip6Config" property
-
org.freedesktop.NetworkManager.Connection.Active:Master, The "Master" property +
org.freedesktop.NetworkManager.Connection.Active:Master, The "Master" property
-
org.freedesktop.NetworkManager.Connection.Active:SpecificObject, The "SpecificObject" property +
org.freedesktop.NetworkManager.Connection.Active:SpecificObject, The "SpecificObject" property
-
org.freedesktop.NetworkManager.Connection.Active:State, The "State" property +
org.freedesktop.NetworkManager.Connection.Active:State, The "State" property
-
org.freedesktop.NetworkManager.Connection.Active:StateFlags, The "StateFlags" property +
org.freedesktop.NetworkManager.Connection.Active:StateFlags, The "StateFlags" property
-
org.freedesktop.NetworkManager.Connection.Active:Type, The "Type" property +
org.freedesktop.NetworkManager.Connection.Active:Type, The "Type" property
-
org.freedesktop.NetworkManager.Connection.Active:Uuid, The "Uuid" property +
org.freedesktop.NetworkManager.Connection.Active:Uuid, The "Uuid" property
-
org.freedesktop.NetworkManager.Connection.Active:Vpn, The "Vpn" property +
org.freedesktop.NetworkManager.Connection.Active:Vpn, The "Vpn" property
-
addr-gen-mode, ipv6 +
addr-gen-mode, ipv6
-
address-data, ipv4, ipv6 +
address-data, ipv4, ipv6
-
addresses, ipv4, ipv6 +
addresses, ipv4, ipv6
-
ageing, vxlan +
ageing, vxlan
-
ageing-time, bridge +
ageing-time, bridge
-
altsubject-matches, 802-1x +
altsubject-matches, 802-1x
-
anonymous-identity, 802-1x +
anonymous-identity, 802-1x
-
apn, gsm +
apn, gsm
-
app-fcoe-flags, dcb +
app-fcoe-flags, dcb
-
app-fcoe-mode, dcb +
app-fcoe-mode, dcb
-
app-fcoe-priority, dcb +
app-fcoe-priority, dcb
-
app-fip-flags, dcb +
app-fip-flags, dcb
-
app-fip-priority, dcb +
app-fip-priority, dcb
-
app-iscsi-flags, dcb +
app-iscsi-flags, dcb
-
app-iscsi-priority, dcb +
app-iscsi-priority, dcb
-
assigned-mac-address, 802-3-ethernet, 802-11-wireless +
assigned-mac-address, 802-3-ethernet, 802-11-wireless
-
auth-alg, 802-11-wireless-security +
auth-alg, 802-11-wireless-security
-
auth-retries, connection +
auth-retries, connection
-
auth-timeout, 802-1x +
auth-timeout, 802-1x
-
auto-negotiate, 802-3-ethernet +
auto-negotiate, 802-3-ethernet
-
autoconnect, connection +
autoconnect, connection
-
autoconnect-priority, connection +
autoconnect-priority, connection
-
autoconnect-retries, connection +
autoconnect-retries, connection
-
autoconnect-slaves, connection +
autoconnect-slaves, connection
-
autoprobe-drivers, sriov +
autoprobe-drivers, sriov

B

-
band, 802-11-wireless +
band, 802-11-wireless
-
baud, ppp, serial +
baud, ppp, serial
-
bdaddr, bluetooth +
bdaddr, bluetooth
-
bits, serial +
bits, serial
-
bond-downdelay, ovs-port +
bond-downdelay, ovs-port
-
bond-mode, ovs-port +
bond-mode, ovs-port
-
bond-updelay, ovs-port +
bond-updelay, ovs-port
-
browser-only, proxy +
browser-only, proxy
-
bssid, 802-11-wireless +
bssid, 802-11-wireless

C

-
ca-cert, 802-1x +
ca-cert, 802-1x
-
ca-cert-password, 802-1x +
ca-cert-password, 802-1x
-
ca-cert-password-flags, 802-1x +
ca-cert-password-flags, 802-1x
-
ca-path, 802-1x +
ca-path, 802-1x
-
channel, 802-11-olpc-mesh, 802-11-wireless +
channel, 802-11-olpc-mesh, 802-11-wireless
-
org.freedesktop.NetworkManager.Checkpoint, org.freedesktop.NetworkManager.Checkpoint +
org.freedesktop.NetworkManager.Checkpoint, org.freedesktop.NetworkManager.Checkpoint
-
org.freedesktop.NetworkManager.Checkpoint::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Checkpoint::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Checkpoint:Created, The "Created" property +
org.freedesktop.NetworkManager.Checkpoint:Created, The "Created" property
-
org.freedesktop.NetworkManager.Checkpoint:Devices, The "Devices" property +
org.freedesktop.NetworkManager.Checkpoint:Devices, The "Devices" property
-
org.freedesktop.NetworkManager.Checkpoint:RollbackTimeout, The "RollbackTimeout" property +
org.freedesktop.NetworkManager.Checkpoint:RollbackTimeout, The "RollbackTimeout" property
-
client-cert, 802-1x +
client-cert, 802-1x
-
client-cert-password, 802-1x +
client-cert-password, 802-1x
-
client-cert-password-flags, 802-1x +
client-cert-password-flags, 802-1x
-
cloned-mac-address, 802-3-ethernet, 802-11-wireless +
cloned-mac-address, 802-3-ethernet, 802-11-wireless
-
config, team, team-port +
config, team, team-port
-
crtscts, ppp +
crtscts, ppp

D

-
dad-timeout, ipv4, ipv6 +
dad-timeout, ipv4, ipv6
-
data, user, vpn +
data, user, vpn
-
destination-port, vxlan +
destination-port, vxlan
-
device-id, gsm +
device-id, gsm
-
org.freedesktop.NetworkManager.Device.Wired, org.freedesktop.NetworkManager.Device.Wired +
org.freedesktop.NetworkManager.Device.Wired, org.freedesktop.NetworkManager.Device.Wired
-
org.freedesktop.NetworkManager.Device.Wired::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Wired::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Wired:Carrier, The "Carrier" property +
org.freedesktop.NetworkManager.Device.Wired:Carrier, The "Carrier" property
-
org.freedesktop.NetworkManager.Device.Wired:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Wired:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.Wired:PermHwAddress, The "PermHwAddress" property +
org.freedesktop.NetworkManager.Device.Wired:PermHwAddress, The "PermHwAddress" property
-
org.freedesktop.NetworkManager.Device.Wired:S390Subchannels, The "S390Subchannels" property +
org.freedesktop.NetworkManager.Device.Wired:S390Subchannels, The "S390Subchannels" property
-
org.freedesktop.NetworkManager.Device.Wired:Speed, The "Speed" property +
org.freedesktop.NetworkManager.Device.Wired:Speed, The "Speed" property
-
org.freedesktop.NetworkManager.Device.Wireless, org.freedesktop.NetworkManager.Device.Wireless +
org.freedesktop.NetworkManager.Device.Wireless, org.freedesktop.NetworkManager.Device.Wireless
-
org.freedesktop.NetworkManager.Device.Wireless.GetAccessPoints(), The GetAccessPoints() method +
org.freedesktop.NetworkManager.Device.Wireless.GetAccessPoints(), The GetAccessPoints() method
-
org.freedesktop.NetworkManager.Device.Wireless.GetAllAccessPoints(), The GetAllAccessPoints() method +
org.freedesktop.NetworkManager.Device.Wireless.GetAllAccessPoints(), The GetAllAccessPoints() method
-
org.freedesktop.NetworkManager.Device.Wireless.RequestScan(), The RequestScan() method +
org.freedesktop.NetworkManager.Device.Wireless.RequestScan(), The RequestScan() method
-
org.freedesktop.NetworkManager.Device.Wireless::AccessPointAdded, The "AccessPointAdded" signal +
org.freedesktop.NetworkManager.Device.Wireless::AccessPointAdded, The "AccessPointAdded" signal
-
org.freedesktop.NetworkManager.Device.Wireless::AccessPointRemoved, The "AccessPointRemoved" signal +
org.freedesktop.NetworkManager.Device.Wireless::AccessPointRemoved, The "AccessPointRemoved" signal
-
org.freedesktop.NetworkManager.Device.Wireless::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Wireless::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Wireless:AccessPoints, The "AccessPoints" property +
org.freedesktop.NetworkManager.Device.Wireless:AccessPoints, The "AccessPoints" property
-
org.freedesktop.NetworkManager.Device.Wireless:ActiveAccessPoint, The "ActiveAccessPoint" property +
org.freedesktop.NetworkManager.Device.Wireless:ActiveAccessPoint, The "ActiveAccessPoint" property
-
org.freedesktop.NetworkManager.Device.Wireless:Bitrate, The "Bitrate" property +
org.freedesktop.NetworkManager.Device.Wireless:Bitrate, The "Bitrate" property
-
org.freedesktop.NetworkManager.Device.Wireless:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Wireless:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.Wireless:LastScan, The "LastScan" property +
org.freedesktop.NetworkManager.Device.Wireless:LastScan, The "LastScan" property
-
org.freedesktop.NetworkManager.Device.Wireless:Mode, The "Mode" property +
org.freedesktop.NetworkManager.Device.Wireless:Mode, The "Mode" property
-
org.freedesktop.NetworkManager.Device.Wireless:PermHwAddress, The "PermHwAddress" property +
org.freedesktop.NetworkManager.Device.Wireless:PermHwAddress, The "PermHwAddress" property
-
org.freedesktop.NetworkManager.Device.Wireless:WirelessCapabilities, The "WirelessCapabilities" property +
org.freedesktop.NetworkManager.Device.Wireless:WirelessCapabilities, The "WirelessCapabilities" property
-
dhcp-anycast-address, 802-11-olpc-mesh +
dhcp-anycast-address, 802-11-olpc-mesh
-
dhcp-client-id, ipv4 +
dhcp-client-id, ipv4
-
dhcp-duid, ipv6 +
dhcp-duid, ipv6
-
dhcp-fqdn, ipv4 +
dhcp-fqdn, ipv4
-
dhcp-hostname, ipv4, ipv6 +
dhcp-hostname, ipv4, ipv6
-
dhcp-send-hostname, ipv4, ipv6 +
dhcp-send-hostname, ipv4, ipv6
-
dhcp-timeout, ipv4, ipv6 +
dhcp-timeout, ipv4, ipv6
-
org.freedesktop.NetworkManager.DHCP4Config, org.freedesktop.NetworkManager.DHCP4Config +
org.freedesktop.NetworkManager.DHCP4Config, org.freedesktop.NetworkManager.DHCP4Config
-
org.freedesktop.NetworkManager.DHCP4Config::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.DHCP4Config::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.DHCP4Config:Options, The "Options" property +
org.freedesktop.NetworkManager.DHCP4Config:Options, The "Options" property
-
org.freedesktop.NetworkManager.DHCP6Config, org.freedesktop.NetworkManager.DHCP6Config +
org.freedesktop.NetworkManager.DHCP6Config, org.freedesktop.NetworkManager.DHCP6Config
-
org.freedesktop.NetworkManager.DHCP6Config::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.DHCP6Config::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.DHCP6Config:Options, The "Options" property +
org.freedesktop.NetworkManager.DHCP6Config:Options, The "Options" property
-
dns, ipv4, ipv6 +
dns, ipv4, ipv6
-
dns-options, ipv4, ipv6 +
dns-options, ipv4, ipv6
-
dns-priority, ipv4, ipv6 +
dns-priority, ipv4, ipv6
-
dns-search, ipv4, ipv6 +
dns-search, ipv4, ipv6
-
domain-suffix-match, 802-1x +
domain-suffix-match, 802-1x
-
duplex, 802-3-ethernet +
duplex, 802-3-ethernet

E

-
eap, 802-1x +
eap, 802-1x
-
egress-priority-map, vlan +
egress-priority-map, vlan
-
encapsulation, adsl +
encapsulation, adsl
-
encapsulation-limit, ip-tunnel +
encapsulation-limit, ip-tunnel
-
encrypt, macsec +
encrypt, macsec

F

-
fail-mode, ovs-bridge +
fail-mode, ovs-bridge
-
fils, 802-11-wireless-security +
fils, 802-11-wireless-security
-
flags, ip-tunnel, vlan +
flags, ip-tunnel, vlan
-
flow-label, ip-tunnel +
flow-label, ip-tunnel
-
forward-delay, bridge +
forward-delay, bridge

G

-
gateway, ipv4, ipv6 +
gateway, ipv4, ipv6
-
gateway-ping-timeout, connection +
gateway-ping-timeout, connection
-
generate-mac-address-mask, 802-3-ethernet, 802-11-wireless +
generate-mac-address-mask, 802-3-ethernet, 802-11-wireless
-
group, tun, 802-11-wireless-security +
group, tun, 802-11-wireless-security
-
group-forward-mask, bridge +
group-forward-mask, bridge

H

-
hairpin-mode, bridge-port +
hairpin-mode, bridge-port
-
hello-time, bridge +
hello-time, bridge
-
hidden, 802-11-wireless +
hidden, 802-11-wireless
-
home-only, gsm +
home-only, gsm

I

-
id, connection, vlan, vxlan +
id, connection, vlan, vxlan
-
identity, 802-1x +
identity, 802-1x
-
ignore-auto-dns, ipv4, ipv6 +
ignore-auto-dns, ipv4, ipv6
-
ignore-auto-routes, ipv4, ipv6 +
ignore-auto-routes, ipv4, ipv6
-
ingress-priority-map, vlan +
ingress-priority-map, vlan
-
input-key, ip-tunnel +
input-key, ip-tunnel
-
interface-name, connection, bond, bridge, match, team, vlan +
interface-name, connection, bond, bridge, match, team, vlan
-
ip6-privacy, ipv6 +
ip6-privacy, ipv6

L

-
l2-miss, vxlan +
l2-miss, vxlan
-
l3-miss, vxlan +
l3-miss, vxlan
-
lacp, ovs-port +
lacp, ovs-port
-
lacp-key, team-port +
lacp-key, team-port
-
lacp-prio, team-port +
lacp-prio, team-port
-
lcp-echo-failure, ppp +
lcp-echo-failure, ppp
-
lcp-echo-interval, ppp +
lcp-echo-interval, ppp
-
leap-password, 802-11-wireless-security +
leap-password, 802-11-wireless-security
-
leap-password-flags, 802-11-wireless-security +
leap-password-flags, 802-11-wireless-security
-
leap-username, 802-11-wireless-security +
leap-username, 802-11-wireless-security
-
learning, vxlan +
learning, vxlan
-
limit, vxlan +
limit, vxlan
-
link-watchers, team, team-port +
link-watchers, team, team-port
-
lldp, connection +
lldp, connection
-
llmnr, connection +
llmnr, connection
-
local, ip-tunnel, vxlan +
local, ip-tunnel, vxlan

M

-
mac-address, bridge, infiniband, wimax, 802-3-ethernet, 802-11-wireless, wpan +
mac-address, bridge, infiniband, wimax, 802-3-ethernet, 802-11-wireless, wpan
-
mac-address-blacklist, 802-3-ethernet, 802-11-wireless +
mac-address-blacklist, 802-3-ethernet, 802-11-wireless
-
mac-address-randomization, 802-11-wireless +
mac-address-randomization, 802-11-wireless
-
org.freedesktop.NetworkManager, org.freedesktop.NetworkManager +
org.freedesktop.NetworkManager, org.freedesktop.NetworkManager
-
org.freedesktop.NetworkManager.ActivateConnection(), The ActivateConnection() method +
org.freedesktop.NetworkManager.ActivateConnection(), The ActivateConnection() method
-
org.freedesktop.NetworkManager.AddAndActivateConnection(), The AddAndActivateConnection() method +
org.freedesktop.NetworkManager.AddAndActivateConnection(), The AddAndActivateConnection() method
-
org.freedesktop.NetworkManager.CheckConnectivity(), The CheckConnectivity() method +
org.freedesktop.NetworkManager.CheckConnectivity(), The CheckConnectivity() method
-
org.freedesktop.NetworkManager.CheckpointAdjustRollbackTimeout(), The CheckpointAdjustRollbackTimeout() method +
org.freedesktop.NetworkManager.CheckpointAdjustRollbackTimeout(), The CheckpointAdjustRollbackTimeout() method
-
org.freedesktop.NetworkManager.CheckpointCreate(), The CheckpointCreate() method +
org.freedesktop.NetworkManager.CheckpointCreate(), The CheckpointCreate() method
-
org.freedesktop.NetworkManager.CheckpointDestroy(), The CheckpointDestroy() method +
org.freedesktop.NetworkManager.CheckpointDestroy(), The CheckpointDestroy() method
-
org.freedesktop.NetworkManager.CheckpointRollback(), The CheckpointRollback() method +
org.freedesktop.NetworkManager.CheckpointRollback(), The CheckpointRollback() method
-
org.freedesktop.NetworkManager.DeactivateConnection(), The DeactivateConnection() method +
org.freedesktop.NetworkManager.DeactivateConnection(), The DeactivateConnection() method
-
org.freedesktop.NetworkManager.Enable(), The Enable() method +
org.freedesktop.NetworkManager.Enable(), The Enable() method
-
org.freedesktop.NetworkManager.GetAllDevices(), The GetAllDevices() method +
org.freedesktop.NetworkManager.GetAllDevices(), The GetAllDevices() method
-
org.freedesktop.NetworkManager.GetDeviceByIpIface(), The GetDeviceByIpIface() method +
org.freedesktop.NetworkManager.GetDeviceByIpIface(), The GetDeviceByIpIface() method
-
org.freedesktop.NetworkManager.GetDevices(), The GetDevices() method +
org.freedesktop.NetworkManager.GetDevices(), The GetDevices() method
-
org.freedesktop.NetworkManager.GetLogging(), The GetLogging() method +
org.freedesktop.NetworkManager.GetLogging(), The GetLogging() method
-
org.freedesktop.NetworkManager.GetPermissions(), The GetPermissions() method +
org.freedesktop.NetworkManager.GetPermissions(), The GetPermissions() method
-
org.freedesktop.NetworkManager.Reload(), The Reload() method +
org.freedesktop.NetworkManager.Reload(), The Reload() method
-
org.freedesktop.NetworkManager.SetLogging(), The SetLogging() method +
org.freedesktop.NetworkManager.SetLogging(), The SetLogging() method
-
org.freedesktop.NetworkManager.Sleep(), The Sleep() method +
org.freedesktop.NetworkManager.Sleep(), The Sleep() method
-
org.freedesktop.NetworkManager.state(), The state() method +
org.freedesktop.NetworkManager.state(), The state() method
-
org.freedesktop.NetworkManager::CheckPermissions, The "CheckPermissions" signal +
org.freedesktop.NetworkManager::CheckPermissions, The "CheckPermissions" signal
-
org.freedesktop.NetworkManager::DeviceAdded, The "DeviceAdded" signal +
org.freedesktop.NetworkManager::DeviceAdded, The "DeviceAdded" signal
-
org.freedesktop.NetworkManager::DeviceRemoved, The "DeviceRemoved" signal +
org.freedesktop.NetworkManager::DeviceRemoved, The "DeviceRemoved" signal
-
org.freedesktop.NetworkManager::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager::StateChanged, The "StateChanged" signal +
org.freedesktop.NetworkManager::StateChanged, The "StateChanged" signal
-
org.freedesktop.NetworkManager:ActivatingConnection, The "ActivatingConnection" property +
org.freedesktop.NetworkManager:ActivatingConnection, The "ActivatingConnection" property
-
org.freedesktop.NetworkManager:ActiveConnections, The "ActiveConnections" property +
org.freedesktop.NetworkManager:ActiveConnections, The "ActiveConnections" property
-
org.freedesktop.NetworkManager:AllDevices, The "AllDevices" property +
org.freedesktop.NetworkManager:AllDevices, The "AllDevices" property
-
org.freedesktop.NetworkManager:Capabilities, The "Capabilities" property +
org.freedesktop.NetworkManager:Capabilities, The "Capabilities" property
-
org.freedesktop.NetworkManager:Checkpoints, The "Checkpoints" property +
org.freedesktop.NetworkManager:Checkpoints, The "Checkpoints" property
-
org.freedesktop.NetworkManager:Connectivity, The "Connectivity" property +
org.freedesktop.NetworkManager:Connectivity, The "Connectivity" property
-
org.freedesktop.NetworkManager:ConnectivityCheckAvailable, The "ConnectivityCheckAvailable" property +
org.freedesktop.NetworkManager:ConnectivityCheckAvailable, The "ConnectivityCheckAvailable" property
-
org.freedesktop.NetworkManager:ConnectivityCheckEnabled, The "ConnectivityCheckEnabled" property +
org.freedesktop.NetworkManager:ConnectivityCheckEnabled, The "ConnectivityCheckEnabled" property
-
org.freedesktop.NetworkManager:Devices, The "Devices" property +
org.freedesktop.NetworkManager:Devices, The "Devices" property
-
org.freedesktop.NetworkManager:GlobalDnsConfiguration, The "GlobalDnsConfiguration" property +
org.freedesktop.NetworkManager:GlobalDnsConfiguration, The "GlobalDnsConfiguration" property
-
org.freedesktop.NetworkManager:Metered, The "Metered" property +
org.freedesktop.NetworkManager:Metered, The "Metered" property
-
org.freedesktop.NetworkManager:NetworkingEnabled, The "NetworkingEnabled" property +
org.freedesktop.NetworkManager:NetworkingEnabled, The "NetworkingEnabled" property
-
org.freedesktop.NetworkManager:PrimaryConnection, The "PrimaryConnection" property +
org.freedesktop.NetworkManager:PrimaryConnection, The "PrimaryConnection" property
-
org.freedesktop.NetworkManager:PrimaryConnectionType, The "PrimaryConnectionType" property +
org.freedesktop.NetworkManager:PrimaryConnectionType, The "PrimaryConnectionType" property
-
org.freedesktop.NetworkManager:Startup, The "Startup" property +
org.freedesktop.NetworkManager:Startup, The "Startup" property
-
org.freedesktop.NetworkManager:State, The "State" property +
org.freedesktop.NetworkManager:State, The "State" property
-
org.freedesktop.NetworkManager:Version, The "Version" property +
org.freedesktop.NetworkManager:Version, The "Version" property
-
org.freedesktop.NetworkManager:WimaxEnabled, The "WimaxEnabled" property +
org.freedesktop.NetworkManager:WimaxEnabled, The "WimaxEnabled" property
-
org.freedesktop.NetworkManager:WimaxHardwareEnabled, The "WimaxHardwareEnabled" property +
org.freedesktop.NetworkManager:WimaxHardwareEnabled, The "WimaxHardwareEnabled" property
-
org.freedesktop.NetworkManager:WirelessEnabled, The "WirelessEnabled" property +
org.freedesktop.NetworkManager:WirelessEnabled, The "WirelessEnabled" property
-
org.freedesktop.NetworkManager:WirelessHardwareEnabled, The "WirelessHardwareEnabled" property +
org.freedesktop.NetworkManager:WirelessHardwareEnabled, The "WirelessHardwareEnabled" property
-
org.freedesktop.NetworkManager:WwanEnabled, The "WwanEnabled" property +
org.freedesktop.NetworkManager:WwanEnabled, The "WwanEnabled" property
-
org.freedesktop.NetworkManager:WwanHardwareEnabled, The "WwanHardwareEnabled" property +
org.freedesktop.NetworkManager:WwanHardwareEnabled, The "WwanHardwareEnabled" property
-
master, connection +
master, connection
-
max-age, bridge +
max-age, bridge
-
may-fail, ipv4, ipv6 +
may-fail, ipv4, ipv6
-
mcast-rejoin-count, team +
mcast-rejoin-count, team
-
mcast-rejoin-interval, team +
mcast-rejoin-interval, team
-
mcast-snooping-enable, ovs-bridge +
mcast-snooping-enable, ovs-bridge
-
mdns, connection +
mdns, connection
-
metered, connection +
metered, connection
-
method, ipv4, ipv6, proxy +
method, ipv4, ipv6, proxy
-
mka-cak, macsec +
mka-cak, macsec
-
mka-cak-flags, macsec +
mka-cak-flags, macsec
-
mka-ckn, macsec +
mka-ckn, macsec
-
mode, ip-tunnel, macsec, macvlan, tun, 802-11-wireless +
mode, ip-tunnel, macsec, macvlan, tun, 802-11-wireless
-
mppe-stateful, ppp +
mppe-stateful, ppp
-
mru, ppp +
mru, ppp
-
mtu, cdma, gsm, infiniband, ip-tunnel, ppp, 802-3-ethernet, 802-11-wireless +
mtu, cdma, gsm, infiniband, ip-tunnel, ppp, 802-3-ethernet, 802-11-wireless
-
multi-connect, connection +
multi-connect, connection
-
multi-queue, tun +
multi-queue, tun
-
multicast-snooping, bridge +
multicast-snooping, bridge

N

-
network-id, gsm +
network-id, gsm
-
network-name, wimax +
network-name, wimax
-
never-default, ipv4, ipv6 +
never-default, ipv4, ipv6
-
NM80211ApFlags, enum NM80211ApFlags +
NM80211ApFlags, enum NM80211ApFlags
-
NM80211ApSecurityFlags, enum NM80211ApSecurityFlags +
NM80211ApSecurityFlags, enum NM80211ApSecurityFlags
-
NM80211Mode, enum NM80211Mode +
NM80211Mode, enum NM80211Mode
-
NMActivationStateFlags, enum NMActivationStateFlags +
NMActivationStateFlags, enum NMActivationStateFlags
-
NMActiveConnectionState, enum NMActiveConnectionState +
NMActiveConnectionState, enum NMActiveConnectionState
-
NMActiveConnectionStateReason, enum NMActiveConnectionStateReason +
NMActiveConnectionStateReason, enum NMActiveConnectionStateReason
-
NMBluetoothCapabilities, enum NMBluetoothCapabilities +
NMBluetoothCapabilities, enum NMBluetoothCapabilities
-
NMCapability, enum NMCapability +
NMCapability, enum NMCapability
-
NMCheckpointCreateFlags, enum NMCheckpointCreateFlags +
NMCheckpointCreateFlags, enum NMCheckpointCreateFlags
-
NMConnectionMultiConnect, enum NMConnectionMultiConnect +
NMConnectionMultiConnect, enum NMConnectionMultiConnect
-
NMConnectivityState, enum NMConnectivityState +
NMConnectivityState, enum NMConnectivityState
-
NMDeviceCapabilities, enum NMDeviceCapabilities +
NMDeviceCapabilities, enum NMDeviceCapabilities
-
NMDeviceModemCapabilities, enum NMDeviceModemCapabilities +
NMDeviceModemCapabilities, enum NMDeviceModemCapabilities
-
NMDeviceState, enum NMDeviceState +
NMDeviceState, enum NMDeviceState
-
NMDeviceStateReason, enum NMDeviceStateReason +
NMDeviceStateReason, enum NMDeviceStateReason
-
NMDeviceType, enum NMDeviceType +
NMDeviceType, enum NMDeviceType
-
NMDeviceWifiCapabilities, enum NMDeviceWifiCapabilities +
NMDeviceWifiCapabilities, enum NMDeviceWifiCapabilities
-
NMIPTunnelMode, enum NMIPTunnelMode +
NMIPTunnelMode, enum NMIPTunnelMode
-
NMMetered, enum NMMetered +
NMMetered, enum NMMetered
-
NMRollbackResult, enum NMRollbackResult +
NMRollbackResult, enum NMRollbackResult
-
NMSecretAgentCapabilities, enum NMSecretAgentCapabilities +
NMSecretAgentCapabilities, enum NMSecretAgentCapabilities
-
NMSecretAgentGetSecretsFlags, enum NMSecretAgentGetSecretsFlags +
NMSecretAgentGetSecretsFlags, enum NMSecretAgentGetSecretsFlags
-
NMSettingsConnectionFlags, enum NMSettingsConnectionFlags +
NMSettingsConnectionFlags, enum NMSettingsConnectionFlags
-
NMSettingsUpdate2Flags, enum NMSettingsUpdate2Flags +
NMSettingsUpdate2Flags, enum NMSettingsUpdate2Flags
-
NMState, enum NMState +
NMState, enum NMState
-
NMTernary, enum NMTernary +
NMTernary, enum NMTernary
-
NMVpnConnectionState, enum NMVpnConnectionState +
NMVpnConnectionState, enum NMVpnConnectionState
-
NMVpnConnectionStateReason, enum NMVpnConnectionStateReason +
NMVpnConnectionStateReason, enum NMVpnConnectionStateReason
-
NMVpnPluginFailure, enum NMVpnPluginFailure +
NMVpnPluginFailure, enum NMVpnPluginFailure
-
NMVpnServiceState, enum NMVpnServiceState +
NMVpnServiceState, enum NMVpnServiceState
-
NMWimaxNspNetworkType, enum NMWimaxNspNetworkType +
NMWimaxNspNetworkType, enum NMWimaxNspNetworkType
-
no-vj-comp, ppp +
no-vj-comp, ppp
-
noauth, ppp +
noauth, ppp
-
nobsdcomp, ppp +
nobsdcomp, ppp
-
nodeflate, ppp +
nodeflate, ppp
-
notify-peers-count, team +
notify-peers-count, team
-
notify-peers-interval, team +
notify-peers-interval, team
-
number, cdma, gsm +
number, cdma, gsm

O

-
options, bond +
options, bond
-
output-key, ip-tunnel +
output-key, ip-tunnel
-
owner, tun +
owner, tun

P

-
p-key, infiniband +
p-key, infiniband
-
pac-file, 802-1x +
pac-file, 802-1x
-
pac-script, proxy +
pac-script, proxy
-
pac-url, proxy +
pac-url, proxy
-
pairwise, 802-11-wireless-security +
pairwise, 802-11-wireless-security
-
pan-id, wpan +
pan-id, wpan
-
parent, 6lowpan, infiniband, ip-tunnel, macsec, macvlan, pppoe, vlan, vxlan +
parent, 6lowpan, infiniband, ip-tunnel, macsec, macvlan, pppoe, vlan, vxlan
-
parity, serial +
parity, serial
-
password, 802-1x, adsl, cdma, gsm, pppoe +
password, 802-1x, adsl, cdma, gsm, pppoe
-
password-flags, 802-1x, adsl, cdma, gsm, pppoe +
password-flags, 802-1x, adsl, cdma, gsm, pppoe
-
password-raw, 802-1x +
password-raw, 802-1x
-
password-raw-flags, 802-1x +
password-raw-flags, 802-1x
-
path-cost, bridge-port +
path-cost, bridge-port
-
path-mtu-discovery, ip-tunnel +
path-mtu-discovery, ip-tunnel
-
peer, ovs-patch +
peer, ovs-patch
-
permissions, connection +
permissions, connection
-
persistent, vpn +
persistent, vpn
-
phase1-auth-flags, 802-1x +
phase1-auth-flags, 802-1x
-
phase1-fast-provisioning, 802-1x +
phase1-fast-provisioning, 802-1x
-
phase1-peaplabel, 802-1x +
phase1-peaplabel, 802-1x
-
phase1-peapver, 802-1x +
phase1-peapver, 802-1x
-
phase2-altsubject-matches, 802-1x +
phase2-altsubject-matches, 802-1x
-
phase2-auth, 802-1x +
phase2-auth, 802-1x
-
phase2-autheap, 802-1x +
phase2-autheap, 802-1x
-
phase2-ca-cert, 802-1x +
phase2-ca-cert, 802-1x
-
phase2-ca-cert-password, 802-1x +
phase2-ca-cert-password, 802-1x
-
phase2-ca-cert-password-flags, 802-1x +
phase2-ca-cert-password-flags, 802-1x
-
phase2-ca-path, 802-1x +
phase2-ca-path, 802-1x
-
phase2-client-cert, 802-1x +
phase2-client-cert, 802-1x
-
phase2-client-cert-password, 802-1x +
phase2-client-cert-password, 802-1x
-
phase2-client-cert-password-flags, 802-1x +
phase2-client-cert-password-flags, 802-1x
-
phase2-domain-suffix-match, 802-1x +
phase2-domain-suffix-match, 802-1x
-
phase2-private-key, 802-1x +
phase2-private-key, 802-1x
-
phase2-private-key-password, 802-1x +
phase2-private-key-password, 802-1x
-
phase2-private-key-password-flags, 802-1x +
phase2-private-key-password-flags, 802-1x
-
phase2-subject-match, 802-1x +
phase2-subject-match, 802-1x
-
pi, tun +
pi, tun
-
pin, 802-1x, gsm +
pin, 802-1x, gsm
-
pin-flags, 802-1x, gsm +
pin-flags, 802-1x, gsm
-
pmf, 802-11-wireless-security +
pmf, 802-11-wireless-security
-
port, macsec, 802-3-ethernet +
port, macsec, 802-3-ethernet
-
powersave, 802-11-wireless +
powersave, 802-11-wireless
-
org.freedesktop.NetworkManager.PPP, org.freedesktop.NetworkManager.PPP +
org.freedesktop.NetworkManager.PPP, org.freedesktop.NetworkManager.PPP
-
org.freedesktop.NetworkManager.PPP.NeedSecrets(), The NeedSecrets() method +
org.freedesktop.NetworkManager.PPP.NeedSecrets(), The NeedSecrets() method
-
org.freedesktop.NetworkManager.PPP.SetIfindex(), The SetIfindex() method +
org.freedesktop.NetworkManager.PPP.SetIfindex(), The SetIfindex() method
-
org.freedesktop.NetworkManager.PPP.SetIp4Config(), The SetIp4Config() method +
org.freedesktop.NetworkManager.PPP.SetIp4Config(), The SetIp4Config() method
-
org.freedesktop.NetworkManager.PPP.SetIp6Config(), The SetIp6Config() method +
org.freedesktop.NetworkManager.PPP.SetIp6Config(), The SetIp6Config() method
-
org.freedesktop.NetworkManager.PPP.SetState(), The SetState() method +
org.freedesktop.NetworkManager.PPP.SetState(), The SetState() method
-
prio, team-port +
prio, team-port
-
priority, bridge, bridge-port +
priority, bridge, bridge-port
-
priority-bandwidth, dcb +
priority-bandwidth, dcb
-
priority-flow-control, dcb +
priority-flow-control, dcb
-
priority-flow-control-flags, dcb +
priority-flow-control-flags, dcb
-
priority-group-bandwidth, dcb +
priority-group-bandwidth, dcb
-
priority-group-flags, dcb +
priority-group-flags, dcb
-
priority-group-id, dcb +
priority-group-id, dcb
-
priority-strict-bandwidth, dcb +
priority-strict-bandwidth, dcb
-
priority-traffic-class, dcb +
priority-traffic-class, dcb
-
private-key, 802-1x +
private-key, 802-1x
-
private-key-password, 802-1x +
private-key-password, 802-1x
-
private-key-password-flags, 802-1x +
private-key-password-flags, 802-1x
-
promiscuous, macvlan +
promiscuous, macvlan
-
proto, 802-11-wireless-security +
proto, 802-11-wireless-security
-
protocol, adsl +
protocol, adsl
-
proxy, vxlan +
proxy, vxlan
-
psk, 802-11-wireless-security +
psk, 802-11-wireless-security
-
psk-flags, 802-11-wireless-security +
psk-flags, 802-11-wireless-security

Q

-
qdiscs, tc +
qdiscs, tc
-
queue-id, team-port +
queue-id, team-port

R

-
rate, 802-11-wireless +
rate, 802-11-wireless
-
read-only, connection +
read-only, connection
-
refuse-chap, ppp +
refuse-chap, ppp
-
refuse-eap, ppp +
refuse-eap, ppp
-
refuse-mschap, ppp +
refuse-mschap, ppp
-
refuse-mschapv2, ppp +
refuse-mschapv2, ppp
-
refuse-pap, ppp +
refuse-pap, ppp
-
remote, ip-tunnel, vxlan +
remote, ip-tunnel, vxlan
-
require-mppe, ppp +
require-mppe, ppp
-
require-mppe-128, ppp +
require-mppe-128, ppp
-
route-data, ipv4, ipv6 +
route-data, ipv4, ipv6
-
route-metric, ipv4, ipv6 +
route-metric, ipv4, ipv6
-
route-table, ipv4, ipv6 +
route-table, ipv4, ipv6
-
routes, ipv4, ipv6 +
routes, ipv4, ipv6
-
rsc, vxlan +
rsc, vxlan
-
rstp-enable, ovs-bridge +
rstp-enable, ovs-bridge
-
runner, team +
runner, team
-
runner-active, team +
runner-active, team
-
runner-agg-select-policy, team +
runner-agg-select-policy, team
-
runner-fast-rate, team +
runner-fast-rate, team
-
runner-hwaddr-policy, team +
runner-hwaddr-policy, team
-
runner-min-ports, team +
runner-min-ports, team
-
runner-sys-prio, team +
runner-sys-prio, team
-
runner-tx-balancer, team +
runner-tx-balancer, team
-
runner-tx-balancer-interval, team +
runner-tx-balancer-interval, team
-
runner-tx-hash, team +
runner-tx-hash, team

S

-
s390-nettype, 802-3-ethernet +
s390-nettype, 802-3-ethernet
-
s390-options, 802-3-ethernet +
s390-options, 802-3-ethernet
-
s390-subchannels, 802-3-ethernet +
s390-subchannels, 802-3-ethernet
-
secondaries, connection +
secondaries, connection
-
secrets, vpn +
secrets, vpn
-
security, 802-11-wireless +
security, 802-11-wireless
-
seen-bssids, 802-11-wireless +
seen-bssids, 802-11-wireless
-
send-delay, serial +
send-delay, serial
-
send-sci, macsec +
send-sci, macsec
-
service, pppoe +
service, pppoe
-
service-type, vpn +
service-type, vpn
-
short-address, wpan +
short-address, wpan
-
sim-id, gsm +
sim-id, gsm
-
sim-operator-id, gsm +
sim-operator-id, gsm
-
slave-type, connection +
slave-type, connection
-
source-port-max, vxlan +
source-port-max, vxlan
-
source-port-min, vxlan +
source-port-min, vxlan
-
speed, 802-3-ethernet +
speed, 802-3-ethernet
-
ssid, 802-11-olpc-mesh, 802-11-wireless +
ssid, 802-11-olpc-mesh, 802-11-wireless
-
stable-id, connection +
stable-id, connection
-
sticky, team-port +
sticky, team-port
-
stopbits, serial +
stopbits, serial
-
stp, bridge +
stp, bridge
-
stp-enable, ovs-bridge +
stp-enable, ovs-bridge
-
subject-match, 802-1x +
subject-match, 802-1x
-
system-ca-certs, 802-1x +
system-ca-certs, 802-1x

T

-
tag, ovs-port +
tag, ovs-port
-
tap, macvlan +
tap, macvlan
-
tfilters, tc +
tfilters, tc
-
timeout, vpn +
timeout, vpn
-
timestamp, connection +
timestamp, connection
-
token, ipv6 +
token, ipv6
-
tos, ip-tunnel, vxlan +
tos, ip-tunnel, vxlan
-
total-vfs, sriov +
total-vfs, sriov
-
transport-mode, infiniband +
transport-mode, infiniband
-
ttl, ip-tunnel, vxlan +
ttl, ip-tunnel, vxlan
-
tx-power, 802-11-wireless +
tx-power, 802-11-wireless
-
type, connection, bluetooth, ovs-interface +
type, connection, bluetooth, ovs-interface

U

-
user-name, vpn +
user-name, vpn
-
username, adsl, cdma, gsm, pppoe +
username, adsl, cdma, gsm, pppoe
-
uuid, connection +
uuid, connection

V

-
validation, macsec +
validation, macsec
-
vci, adsl +
vci, adsl
-
vfs, sriov +
vfs, sriov
-
vlan-mode, ovs-port +
vlan-mode, ovs-port
-
vnet-hdr, tun +
vnet-hdr, tun
-
vpi, adsl +
vpi, adsl
-
org.freedesktop.NetworkManager.VPN.Connection, org.freedesktop.NetworkManager.VPN.Connection +
org.freedesktop.NetworkManager.VPN.Connection, org.freedesktop.NetworkManager.VPN.Connection
-
org.freedesktop.NetworkManager.VPN.Connection::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.VPN.Connection::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.VPN.Connection::VpnStateChanged, The "VpnStateChanged" signal +
org.freedesktop.NetworkManager.VPN.Connection::VpnStateChanged, The "VpnStateChanged" signal
-
org.freedesktop.NetworkManager.VPN.Connection:Banner, The "Banner" property +
org.freedesktop.NetworkManager.VPN.Connection:Banner, The "Banner" property
-
org.freedesktop.NetworkManager.VPN.Connection:VpnState, The "VpnState" property +
org.freedesktop.NetworkManager.VPN.Connection:VpnState, The "VpnState" property
-
org.freedesktop.NetworkManager.VPN.Plugin, org.freedesktop.NetworkManager.VPN.Plugin +
org.freedesktop.NetworkManager.VPN.Plugin, org.freedesktop.NetworkManager.VPN.Plugin
-
org.freedesktop.NetworkManager.VPN.Plugin.Connect(), The Connect() method +
org.freedesktop.NetworkManager.VPN.Plugin.Connect(), The Connect() method
-
org.freedesktop.NetworkManager.VPN.Plugin.ConnectInteractive(), The ConnectInteractive() method +
org.freedesktop.NetworkManager.VPN.Plugin.ConnectInteractive(), The ConnectInteractive() method
-
org.freedesktop.NetworkManager.VPN.Plugin.Disconnect(), The Disconnect() method +
org.freedesktop.NetworkManager.VPN.Plugin.Disconnect(), The Disconnect() method
-
org.freedesktop.NetworkManager.VPN.Plugin.NeedSecrets(), The NeedSecrets() method +
org.freedesktop.NetworkManager.VPN.Plugin.NeedSecrets(), The NeedSecrets() method
-
org.freedesktop.NetworkManager.VPN.Plugin.NewSecrets(), The NewSecrets() method +
org.freedesktop.NetworkManager.VPN.Plugin.NewSecrets(), The NewSecrets() method
-
org.freedesktop.NetworkManager.VPN.Plugin.SetConfig(), The SetConfig() method +
org.freedesktop.NetworkManager.VPN.Plugin.SetConfig(), The SetConfig() method
-
org.freedesktop.NetworkManager.VPN.Plugin.SetFailure(), The SetFailure() method +
org.freedesktop.NetworkManager.VPN.Plugin.SetFailure(), The SetFailure() method
-
org.freedesktop.NetworkManager.VPN.Plugin.SetIp4Config(), The SetIp4Config() method +
org.freedesktop.NetworkManager.VPN.Plugin.SetIp4Config(), The SetIp4Config() method
-
org.freedesktop.NetworkManager.VPN.Plugin.SetIp6Config(), The SetIp6Config() method +
org.freedesktop.NetworkManager.VPN.Plugin.SetIp6Config(), The SetIp6Config() method
-
org.freedesktop.NetworkManager.VPN.Plugin::Config, The "Config" signal +
org.freedesktop.NetworkManager.VPN.Plugin::Config, The "Config" signal
-
org.freedesktop.NetworkManager.VPN.Plugin::Failure, The "Failure" signal +
org.freedesktop.NetworkManager.VPN.Plugin::Failure, The "Failure" signal
-
org.freedesktop.NetworkManager.VPN.Plugin::Ip4Config, The "Ip4Config" signal +
org.freedesktop.NetworkManager.VPN.Plugin::Ip4Config, The "Ip4Config" signal
-
org.freedesktop.NetworkManager.VPN.Plugin::Ip6Config, The "Ip6Config" signal +
org.freedesktop.NetworkManager.VPN.Plugin::Ip6Config, The "Ip6Config" signal
-
org.freedesktop.NetworkManager.VPN.Plugin::LoginBanner, The "LoginBanner" signal +
org.freedesktop.NetworkManager.VPN.Plugin::LoginBanner, The "LoginBanner" signal
-
org.freedesktop.NetworkManager.VPN.Plugin::SecretsRequired, The "SecretsRequired" signal +
org.freedesktop.NetworkManager.VPN.Plugin::SecretsRequired, The "SecretsRequired" signal
-
org.freedesktop.NetworkManager.VPN.Plugin::StateChanged, The "StateChanged" signal +
org.freedesktop.NetworkManager.VPN.Plugin::StateChanged, The "StateChanged" signal
-
org.freedesktop.NetworkManager.VPN.Plugin:State, The "State" property +
org.freedesktop.NetworkManager.VPN.Plugin:State, The "State" property

W

-
wake-on-lan, 802-3-ethernet +
wake-on-lan, 802-3-ethernet
-
wake-on-lan-password, 802-3-ethernet +
wake-on-lan-password, 802-3-ethernet
-
wake-on-wlan, 802-11-wireless +
wake-on-wlan, 802-11-wireless
-
wep-key-flags, 802-11-wireless-security +
wep-key-flags, 802-11-wireless-security
-
wep-key-type, 802-11-wireless-security +
wep-key-type, 802-11-wireless-security
-
wep-key0, 802-11-wireless-security +
wep-key0, 802-11-wireless-security
-
wep-key1, 802-11-wireless-security +
wep-key1, 802-11-wireless-security
-
wep-key2, 802-11-wireless-security +
wep-key2, 802-11-wireless-security
-
wep-key3, 802-11-wireless-security +
wep-key3, 802-11-wireless-security
-
wep-tx-keyidx, 802-11-wireless-security +
wep-tx-keyidx, 802-11-wireless-security
-
wps-method, 802-11-wireless-security +
wps-method, 802-11-wireless-security

Z

-
zone, connection +
zone, connection
diff --git a/docs/api/version.xml b/docs/api/version.xml index 48930ada..850e7424 100644 --- a/docs/api/version.xml +++ b/docs/api/version.xml @@ -1 +1 @@ -1.13.90 +1.14.0 diff --git a/docs/libnm-glib/Makefile.in b/docs/libnm-glib/Makefile.in index cccc3b87..9a98505c 100644 --- a/docs/libnm-glib/Makefile.in +++ b/docs/libnm-glib/Makefile.in @@ -187,14 +187,11 @@ DBUS_LIBS = @DBUS_LIBS@ DBUS_SYS_DIR = @DBUS_SYS_DIR@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DHCLIENT_PATH = @DHCLIENT_PATH@ -DHCPCANON_PATH = @DHCPCANON_PATH@ -DHCPCD_PATH = @DHCPCD_PATH@ DISTRO_NETWORK_SERVICE = @DISTRO_NETWORK_SERVICE@ DLLTOOL = @DLLTOOL@ DL_LIBS = @DL_LIBS@ DNSMASQ_PATH = @DNSMASQ_PATH@ -DNSSEC_TRIGGER_SCRIPT = @DNSSEC_TRIGGER_SCRIPT@ +DNSSEC_TRIGGER_PATH = @DNSSEC_TRIGGER_PATH@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ diff --git a/docs/libnm-glib/html/index.html b/docs/libnm-glib/html/index.html index d0d84c2d..66ded7be 100644 --- a/docs/libnm-glib/html/index.html +++ b/docs/libnm-glib/html/index.html @@ -15,7 +15,7 @@

- for libnm-glib 1.13.90 + for libnm-glib 1.14.0 The latest version of this documentation can be found on-line at https://developer.gnome.org/libnm-glib/stable/. diff --git a/docs/libnm-glib/version.xml b/docs/libnm-glib/version.xml index 48930ada..850e7424 100644 --- a/docs/libnm-glib/version.xml +++ b/docs/libnm-glib/version.xml @@ -1 +1 @@ -1.13.90 +1.14.0 diff --git a/docs/libnm-util/Makefile.in b/docs/libnm-util/Makefile.in index c24f6c68..4b06a682 100644 --- a/docs/libnm-util/Makefile.in +++ b/docs/libnm-util/Makefile.in @@ -187,14 +187,11 @@ DBUS_LIBS = @DBUS_LIBS@ DBUS_SYS_DIR = @DBUS_SYS_DIR@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DHCLIENT_PATH = @DHCLIENT_PATH@ -DHCPCANON_PATH = @DHCPCANON_PATH@ -DHCPCD_PATH = @DHCPCD_PATH@ DISTRO_NETWORK_SERVICE = @DISTRO_NETWORK_SERVICE@ DLLTOOL = @DLLTOOL@ DL_LIBS = @DL_LIBS@ DNSMASQ_PATH = @DNSMASQ_PATH@ -DNSSEC_TRIGGER_SCRIPT = @DNSSEC_TRIGGER_SCRIPT@ +DNSSEC_TRIGGER_PATH = @DNSSEC_TRIGGER_PATH@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ diff --git a/docs/libnm-util/html/index.html b/docs/libnm-util/html/index.html index 95bac241..c5398f79 100644 --- a/docs/libnm-util/html/index.html +++ b/docs/libnm-util/html/index.html @@ -15,7 +15,7 @@

- for libnm-util 1.13.90 + for libnm-util 1.14.0 The latest version of this documentation can be found on-line at https://developer.gnome.org/libnm-util/stable/. diff --git a/docs/libnm-util/version.xml b/docs/libnm-util/version.xml index 48930ada..850e7424 100644 --- a/docs/libnm-util/version.xml +++ b/docs/libnm-util/version.xml @@ -1 +1 @@ -1.13.90 +1.14.0 diff --git a/docs/libnm/Makefile.am b/docs/libnm/Makefile.am index c5f2b836..7aa9810e 100644 --- a/docs/libnm/Makefile.am +++ b/docs/libnm/Makefile.am @@ -1,6 +1,8 @@ ## Process this file with automake to produce Makefile.in AUTOMAKE_OPTIONS = 1.6 +check_local = + # The name of the module DOC_MODULE=libnm @@ -94,3 +96,13 @@ CLEANFILES += \ tmpl/* \ xml/* +if GTK_DOC_BUILD_HTML +check-local-gtk-doc-patch: + @if grep -q -F 'nm-setting-user' "$(top_builddir)/docs/libnm/html/index.html"; then \ + echo "WARNING: The generated documentation has issues. Patch your gtk-doc (see https://gitlab.gnome.org/GNOME/gtk-doc/merge_requests/2). Let this check fail with NMTST_CHECK_GTK_DOC=1"; \ + test "$$NMTST_CHECK_GTK_DOC" != 1; \ + fi +check_local += check-local-gtk-doc-patch +endif + +check-local: $(check_local) diff --git a/docs/libnm/Makefile.in b/docs/libnm/Makefile.in index 555ee4e8..ae36e0a6 100644 --- a/docs/libnm/Makefile.in +++ b/docs/libnm/Makefile.in @@ -111,6 +111,7 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ +@GTK_DOC_BUILD_HTML_TRUE@am__append_1 = check-local-gtk-doc-patch subdir = docs/libnm ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/attributes.m4 \ @@ -187,14 +188,11 @@ DBUS_LIBS = @DBUS_LIBS@ DBUS_SYS_DIR = @DBUS_SYS_DIR@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ -DHCLIENT_PATH = @DHCLIENT_PATH@ -DHCPCANON_PATH = @DHCPCANON_PATH@ -DHCPCD_PATH = @DHCPCD_PATH@ DISTRO_NETWORK_SERVICE = @DISTRO_NETWORK_SERVICE@ DLLTOOL = @DLLTOOL@ DL_LIBS = @DL_LIBS@ DNSMASQ_PATH = @DNSMASQ_PATH@ -DNSSEC_TRIGGER_SCRIPT = @DNSSEC_TRIGGER_SCRIPT@ +DNSSEC_TRIGGER_PATH = @DNSSEC_TRIGGER_PATH@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ @@ -450,6 +448,7 @@ with_netconfig = @with_netconfig@ with_resolvconf = @with_resolvconf@ with_valgrind = @with_valgrind@ AUTOMAKE_OPTIONS = 1.6 +check_local = $(am__append_1) # The name of the module DOC_MODULE = libnm @@ -692,6 +691,7 @@ distdir: $(DISTFILES) top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-local check: check-am @ENABLE_GTK_DOC_FALSE@all-local: all-am: Makefile all-local @@ -794,21 +794,21 @@ ps-am: uninstall-am: uninstall-local -.MAKE: install-am install-strip - -.PHONY: all all-am all-local check check-am clean clean-generic \ - clean-libtool clean-local cscopelist-am ctags-am dist-hook \ - distclean distclean-generic distclean-libtool distclean-local \ - distdir dvi dvi-am html html-am info info-am install \ - install-am install-data install-data-am install-data-local \ - install-dvi install-dvi-am install-exec install-exec-am \ - install-html install-html-am install-info install-info-am \ - install-man install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - maintainer-clean-local mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ - uninstall-am uninstall-local +.MAKE: check-am install-am install-strip + +.PHONY: all all-am all-local check check-am check-local clean \ + clean-generic clean-libtool clean-local cscopelist-am ctags-am \ + dist-hook distclean distclean-generic distclean-libtool \ + distclean-local distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am \ + install-data-local install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic maintainer-clean-local mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags-am uninstall uninstall-am uninstall-local .PRECIOUS: Makefile @@ -1008,6 +1008,14 @@ dist-hook: dist-check-gtkdoc all-gtk-doc dist-hook-local .PHONY : dist-hook-local docs +@GTK_DOC_BUILD_HTML_TRUE@check-local-gtk-doc-patch: +@GTK_DOC_BUILD_HTML_TRUE@ @if grep -q -F 'nm-setting-user' "$(top_builddir)/docs/libnm/html/index.html"; then \ +@GTK_DOC_BUILD_HTML_TRUE@ echo "WARNING: The generated documentation has issues. Patch your gtk-doc (see https://gitlab.gnome.org/GNOME/gtk-doc/merge_requests/2). Let this check fail with NMTST_CHECK_GTK_DOC=1"; \ +@GTK_DOC_BUILD_HTML_TRUE@ test "$$NMTST_CHECK_GTK_DOC" != 1; \ +@GTK_DOC_BUILD_HTML_TRUE@ fi + +check-local: $(check_local) + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/docs/libnm/html/NMConnection.html b/docs/libnm/html/NMConnection.html index 7b28796c..5389b26e 100644 --- a/docs/libnm/html/NMConnection.html +++ b/docs/libnm/html/NMConnection.html @@ -268,14 +268,6 @@ -NMSetting6Lowpan * - - -nm_connection_get_setting_6lowpan () - - - - NMSetting8021x * @@ -500,14 +492,6 @@ -NMSettingSriov * - - -nm_connection_get_setting_sriov () - - - - NMSettingTCConfig * @@ -586,14 +570,6 @@ nm_connection_get_setting_vxlan () - - -NMSettingWpan * - - -nm_connection_get_setting_wpan () - -

@@ -1709,34 +1685,6 @@ is not a virtual connection type.


-

nm_connection_get_setting_6lowpan ()

-
NMSetting6Lowpan *
-nm_connection_get_setting_6lowpan (NMConnection *connection);
-

A shortcut to return any NMSetting6Lowpan the connection might contain.

-
-

Parameters

-
----- - - - - - -

connection

the NMConnection

 
-
-
-

Returns

-

an NMSetting6Lowpan if the connection contains one, otherwise NULL.

-

[transfer none]

-
-

Since: 1.14

-
-
-

nm_connection_get_setting_802_1x ()

NMSetting8021x *
 nm_connection_get_setting_802_1x (NMConnection *connection);
@@ -2511,34 +2459,6 @@ nm_connection_get_setting_serial (
-

nm_connection_get_setting_sriov ()

-
NMSettingSriov *
-nm_connection_get_setting_sriov (NMConnection *connection);
-

A shortcut to return any NMSettingSriov the connection might contain.

-
-

Parameters

-
----- - - - - - -

connection

the NMConnection

 
-
-
-

Returns

-

an NMSettingSriov if the connection contains one, otherwise NULL.

-

[transfer none]

-
-

Since: 1.14

-
-
-

nm_connection_get_setting_tc_config ()

NMSettingTCConfig *
 nm_connection_get_setting_tc_config (NMConnection *connection);
@@ -2811,34 +2731,6 @@ nm_connection_get_setting_vxlan (

Since: 1.2

-
-
-

nm_connection_get_setting_wpan ()

-
NMSettingWpan *
-nm_connection_get_setting_wpan (NMConnection *connection);
-

A shortcut to return any NMSettingWpan the connection might contain.

-
-

Parameters

-
----- - - - - - -

connection

the NMConnection

 
-
-
-

Returns

-

an NMSettingWpan if the connection contains one, otherwise NULL.

-

[transfer none]

-
-

Since: 1.14

-

Types and Values

diff --git a/docs/libnm/html/api-index-full.html b/docs/libnm/html/api-index-full.html index 6de91cd3..2e4a55aa 100644 --- a/docs/libnm/html/api-index-full.html +++ b/docs/libnm/html/api-index-full.html @@ -1211,10 +1211,6 @@ NMCheckpoint:rollback-timeout, object property in NMDeviceOvs
-nm_connection_get_setting_6lowpan, function in NMConnection -
-
-
nm_connection_get_setting_802_1x, function in NMConnection
@@ -1327,10 +1323,6 @@ NMCheckpoint:rollback-timeout, object property in NMDeviceOvs
-nm_connection_get_setting_sriov, function in NMConnection -
-
-
nm_connection_get_setting_tc_config, function in NMConnection
@@ -1375,10 +1367,6 @@ NMCheckpoint:rollback-timeout, object property in NMDeviceOvs
-nm_connection_get_setting_wpan, function in NMConnection -
-
-
nm_connection_get_uuid, function in NMConnection
diff --git a/docs/libnm/html/index.html b/docs/libnm/html/index.html index fe2418d4..26f5e72a 100644 --- a/docs/libnm/html/index.html +++ b/docs/libnm/html/index.html @@ -15,7 +15,7 @@

- for libnm 1.13.90 + for libnm 1.14.0 The latest version of this documentation can be found on-line at https://developer.gnome.org/libnm/stable/. diff --git a/docs/libnm/html/libnm-nm-utils.html b/docs/libnm/html/libnm-nm-utils.html index e032f0e9..c2a4a97e 100644 --- a/docs/libnm/html/libnm-nm-utils.html +++ b/docs/libnm/html/libnm-nm-utils.html @@ -3042,7 +3042,9 @@ nm_utils_parse_variant_attributes (const

Returns

a GHashTable mapping -attribute names to GVariant values.

+attribute names to GVariant values. Warning: the variant are still floating +references, owned by the hash table. If you take a reference, ensure to sink +the one of the hash table first.

[transfer full][element-type utf8 GVariant]

Since: 1.8

diff --git a/docs/libnm/html/libnm.devhelp2 b/docs/libnm/html/libnm.devhelp2 index 1e58b459..e056858b 100644 --- a/docs/libnm/html/libnm.devhelp2 +++ b/docs/libnm/html/libnm.devhelp2 @@ -451,7 +451,6 @@ - @@ -480,7 +479,6 @@ - @@ -491,7 +489,6 @@ - diff --git a/docs/libnm/html/usage.html b/docs/libnm/html/usage.html index 51c40c19..5b96190f 100644 --- a/docs/libnm/html/usage.html +++ b/docs/libnm/html/usage.html @@ -96,7 +96,7 @@

$ cc $(pkg-config --libs --cflags libnm) -o hello-nm hello-nm.c
   $ ./hello-nm
-  NetworkManager version: 1.13.90
+  NetworkManager version: 1.14.0
 
   $ 

diff --git a/docs/libnm/libnm-sections.txt b/docs/libnm/libnm-sections.txt index 519d7fd0..02d31ad7 100644 --- a/docs/libnm/libnm-sections.txt +++ b/docs/libnm/libnm-sections.txt @@ -281,7 +281,6 @@ nm_connection_get_id nm_connection_get_connection_type nm_connection_is_virtual nm_connection_get_virtual_device_description -nm_connection_get_setting_6lowpan nm_connection_get_setting_802_1x nm_connection_get_setting_bluetooth nm_connection_get_setting_bond @@ -310,7 +309,6 @@ nm_connection_get_setting_ppp nm_connection_get_setting_pppoe nm_connection_get_setting_proxy nm_connection_get_setting_serial -nm_connection_get_setting_sriov nm_connection_get_setting_tc_config nm_connection_get_setting_tun nm_connection_get_setting_vpn @@ -321,7 +319,6 @@ nm_connection_get_setting_wireless nm_connection_get_setting_wireless_security nm_connection_get_setting_vlan nm_connection_get_setting_vxlan -nm_connection_get_setting_wpan NM_CONNECTION NM_CONNECTION_GET_INTERFACE diff --git a/docs/libnm/version.xml b/docs/libnm/version.xml index 48930ada..850e7424 100644 --- a/docs/libnm/version.xml +++ b/docs/libnm/version.xml @@ -1 +1 @@ -1.13.90 +1.14.0 diff --git a/libnm-core/meson.build b/libnm-core/meson.build index eb6fcce9..ac13a1be 100644 --- a/libnm-core/meson.build +++ b/libnm-core/meson.build @@ -16,6 +16,7 @@ libnm_core_headers = files( 'nm-setting-connection.h', 'nm-setting-dcb.h', 'nm-setting-dummy.h', + 'nm-setting-ethtool.h', 'nm-setting-generic.h', 'nm-setting-gsm.h', 'nm-setting-infiniband.h', diff --git a/libnm-core/nm-connection.c b/libnm-core/nm-connection.c index a5df0814..172f9c99 100644 --- a/libnm-core/nm-connection.c +++ b/libnm-core/nm-connection.c @@ -1216,7 +1216,7 @@ _normalize_sriov_vf_order (NMConnection *self, GHashTable *parameters) { NMSettingSriov *s_sriov; - s_sriov = nm_connection_get_setting_sriov (self); + s_sriov = NM_SETTING_SRIOV (nm_connection_get_setting (self, NM_TYPE_SETTING_SRIOV)); if (!s_sriov) return FALSE; @@ -2278,22 +2278,6 @@ nm_connection_get_virtual_device_description (NMConnection *connection) /*****************************************************************************/ -/** - * nm_connection_get_setting_6lowpan: - * @connection: the #NMConnection - * - * A shortcut to return any #NMSetting6Lowpan the connection might contain. - * - * Returns: (transfer none): an #NMSetting6Lowpan if the connection contains one, otherwise %NULL - * - * Since: 1.14 - **/ -NMSetting6Lowpan * -nm_connection_get_setting_6lowpan (NMConnection *connection) -{ - return _connection_get_setting_check (connection, NM_TYPE_SETTING_6LOWPAN); -} - /** * nm_connection_get_setting_802_1x: * @connection: the #NMConnection @@ -2700,22 +2684,6 @@ nm_connection_get_setting_serial (NMConnection *connection) return _connection_get_setting_check (connection, NM_TYPE_SETTING_SERIAL); } -/** - * nm_connection_get_setting_sriov: - * @connection: the #NMConnection - * - * A shortcut to return any #NMSettingSriov the connection might contain. - * - * Returns: (transfer none): an #NMSettingSriov if the connection contains one, otherwise %NULL - * - * Since: 1.14 - **/ -NMSettingSriov * -nm_connection_get_setting_sriov (NMConnection *connection) -{ - return _connection_get_setting_check (connection, NM_TYPE_SETTING_SRIOV); -} - /** * nm_connection_get_setting_tc_config: * @connection: the #NMConnection @@ -2876,22 +2844,6 @@ nm_connection_get_setting_vlan (NMConnection *connection) return _connection_get_setting_check (connection, NM_TYPE_SETTING_VLAN); } -/** - * nm_connection_get_setting_wpan: - * @connection: the #NMConnection - * - * A shortcut to return any #NMSettingWpan the connection might contain. - * - * Returns: (transfer none): an #NMSettingWpan if the connection contains one, otherwise %NULL - * - * Since: 1.14 - **/ -NMSettingWpan * -nm_connection_get_setting_wpan (NMConnection *connection) -{ - return _connection_get_setting_check (connection, NM_TYPE_SETTING_WPAN); -} - NMSettingBluetooth * _nm_connection_get_setting_bluetooth_for_nap (NMConnection *connection) { diff --git a/libnm-core/nm-connection.h b/libnm-core/nm-connection.h index 312760f1..802f68ba 100644 --- a/libnm-core/nm-connection.h +++ b/libnm-core/nm-connection.h @@ -193,8 +193,6 @@ const char * nm_connection_get_connection_type (NMConnection *connection); gboolean nm_connection_is_virtual (NMConnection *connection); char * nm_connection_get_virtual_device_description (NMConnection *connection); -NM_AVAILABLE_IN_1_14 -NMSetting6Lowpan * nm_connection_get_setting_6lowpan (NMConnection *connection); NMSetting8021x * nm_connection_get_setting_802_1x (NMConnection *connection); NMSettingBluetooth * nm_connection_get_setting_bluetooth (NMConnection *connection); NMSettingBond * nm_connection_get_setting_bond (NMConnection *connection); @@ -231,10 +229,9 @@ NMSettingPppoe * nm_connection_get_setting_pppoe (NMConnec NM_AVAILABLE_IN_1_6 NMSettingProxy * nm_connection_get_setting_proxy (NMConnection *connection); NMSettingSerial * nm_connection_get_setting_serial (NMConnection *connection); -NM_AVAILABLE_IN_1_14 -NMSettingSriov * nm_connection_get_setting_sriov (NMConnection *connection); NM_AVAILABLE_IN_1_12 NMSettingTCConfig * nm_connection_get_setting_tc_config (NMConnection *connection); +NM_AVAILABLE_IN_1_2 NMSettingTun * nm_connection_get_setting_tun (NMConnection *connection); NMSettingVpn * nm_connection_get_setting_vpn (NMConnection *connection); NMSettingWimax * nm_connection_get_setting_wimax (NMConnection *connection); @@ -245,8 +242,6 @@ NMSettingWirelessSecurity *nm_connection_get_setting_wireless_security (NMConnec NMSettingVlan * nm_connection_get_setting_vlan (NMConnection *connection); NM_AVAILABLE_IN_1_2 NMSettingVxlan * nm_connection_get_setting_vxlan (NMConnection *connection); -NM_AVAILABLE_IN_1_14 -NMSettingWpan * nm_connection_get_setting_wpan (NMConnection *connection); G_END_DECLS diff --git a/libnm-core/nm-setting-ethtool.h b/libnm-core/nm-setting-ethtool.h index 6a0458a5..66a94489 100644 --- a/libnm-core/nm-setting-ethtool.h +++ b/libnm-core/nm-setting-ethtool.h @@ -84,6 +84,7 @@ G_BEGIN_DECLS #define NM_ETHTOOL_OPTNAME_FEATURE_TX_UDP_TNL_SEGMENTATION "feature-tx-udp_tnl-segmentation" #define NM_ETHTOOL_OPTNAME_FEATURE_TX_VLAN_STAG_HW_INSERT "feature-tx-vlan-stag-hw-insert" +NM_AVAILABLE_IN_1_14 gboolean nm_ethtool_optname_is_feature (const char *optname); /*****************************************************************************/ diff --git a/libnm-core/nm-utils.c b/libnm-core/nm-utils.c index 47ec7a4e..f6e1555e 100644 --- a/libnm-core/nm-utils.c +++ b/libnm-core/nm-utils.c @@ -431,7 +431,7 @@ nm_utils_escape_ssid (const guint8 *ssid, gsize len) char * _nm_utils_ssid_to_string_arr (const guint8 *ssid, gsize len) { - char *s_copy; + gs_free char *s_copy = NULL; const char *s_cnst; if (len == 0) @@ -2141,10 +2141,10 @@ _tc_read_common_opts (const char *str, gs_unref_hashtable GHashTable *ht = NULL; GVariant *variant; - ht = nm_utils_parse_variant_attributes (str, - ' ', ' ', FALSE, - tc_object_attribute_spec, - error); + ht = nm_utils_parse_variant_attributes (str, + ' ', ' ', FALSE, + tc_object_attribute_spec, + error); if (!ht) return FALSE; @@ -2504,10 +2504,10 @@ nm_utils_tc_tfilter_from_str (const char *str, GError **error) return NULL; if (rest) { - ht = nm_utils_parse_variant_attributes (rest, - ' ', ' ', FALSE, - tc_tfilter_attribute_spec, - error); + ht = nm_utils_parse_variant_attributes (rest, + ' ', ' ', FALSE, + tc_tfilter_attribute_spec, + error); if (!ht) return NULL; @@ -6035,7 +6035,9 @@ attribute_unescape (const char *start, const char *end) * Parse attributes from a string. * * Returns: (transfer full) (element-type utf8 GVariant): a #GHashTable mapping - * attribute names to #GVariant values. + * attribute names to #GVariant values. Warning: the variant are still floating + * references, owned by the hash table. If you take a reference, ensure to sink + * the one of the hash table first. * * Since: 1.8 */ diff --git a/libnm-util/meson.build b/libnm-util/meson.build index da807bc6..44d9e735 100644 --- a/libnm-util/meson.build +++ b/libnm-util/meson.build @@ -57,7 +57,6 @@ libnm_utils_enum = gnome.mkenums( sources = files( 'crypto.c', - 'crypto_' + crypto + '.c', 'nm-connection.c', 'nm-param-spec-specialized.c', 'nm-setting-8021x.c', @@ -93,7 +92,6 @@ sources = files( sources += shared_files_libnm_util deps = [ - crypto_dep, dbus_dep, dbus_glib_dep, shared_dep, @@ -108,6 +106,32 @@ cflags = common_cflags + [ '-DG_LOG_DOMAIN="@0@"'.format(libnm_util_name) ] +if crypto_gnutls_dep.found() + libnm_util_crypto_gnutls = static_library( + 'nm-util-crypto-gnutls', + sources: [ 'crypto_gnutls.c' ], + dependencies: deps + [ crypto_gnutls_dep ], + c_args: cflags + ) +endif + +if crypto_nss_dep.found() + libnm_util_crypto_nss = static_library( + 'nm-util-crypto-nss', + sources: [ 'crypto_nss.c' ], + dependencies: deps + [ crypto_nss_dep ], + c_args: cflags + ) +endif + +if crypto == 'gnutls' + libnm_util_crypto = libnm_util_crypto_gnutls +elif crypto == 'nss' + libnm_util_crypto = libnm_util_crypto_nss +else + error('bug') +endif + linker_script = join_paths(meson.current_source_dir(), 'libnm-util.ver') libnm_util = shared_library( @@ -120,6 +144,7 @@ libnm_util = shared_library( '-Wl,--version-script,@0@'.format(linker_script), ], link_depends: linker_script, + link_with: libnm_util_crypto, install: true ) @@ -174,11 +199,9 @@ test( sources = files( 'crypto.c', - 'crypto_' + crypto + '.c' ) deps = [ - crypto_dep, shared_dep ] @@ -186,6 +209,7 @@ libtest_crypto = static_library( 'test-crypto', sources: sources, dependencies: deps, + link_with: libnm_util_crypto, c_args: cflags ) diff --git a/libnm/libnm.ver b/libnm/libnm.ver index 00dd06e4..476cfcc9 100644 --- a/libnm/libnm.ver +++ b/libnm/libnm.ver @@ -1382,9 +1382,6 @@ libnm_1_12_2 { libnm_1_14_0 { global: - nm_connection_get_setting_6lowpan; - nm_connection_get_setting_sriov; - nm_connection_get_setting_wpan; nm_connection_multi_connect_get_type; nm_device_6lowpan_get_type; nm_device_wireguard_get_fwmark; diff --git a/libnm/nm-autoptr.h b/libnm/nm-autoptr.h index 665c28c0..e96a03a0 100644 --- a/libnm/nm-autoptr.h +++ b/libnm/nm-autoptr.h @@ -37,6 +37,7 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMClient, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMConnection, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSetting, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSetting6Lowpan, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSetting8021x, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSettingAdsl, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSettingBluetooth, g_object_unref) @@ -57,6 +58,7 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSettingIPConfig, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSettingIPTunnel, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSettingMacsec, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSettingMacvlan, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSettingMatch, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSettingOlpcMesh, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSettingOvsBridge, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSettingOvsInterface, g_object_unref) @@ -66,6 +68,7 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSettingPpp, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSettingPppoe, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSettingProxy, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSettingSerial, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSettingSriov, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSettingTCConfig, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSettingTeam, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSettingTeamPort, g_object_unref) @@ -78,6 +81,7 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSettingWimax, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSettingWired, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSettingWireless, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSettingWirelessSecurity, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMSettingWpan, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMVpnEditor, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC (NMVpnEditorPlugin, g_object_unref) diff --git a/man/NetworkManager.8 b/man/NetworkManager.8 index f507f841..06a1a906 100644 --- a/man/NetworkManager.8 +++ b/man/NetworkManager.8 @@ -2,12 +2,12 @@ .\" Title: NetworkManager .\" Author: .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 09/08/2018 +.\" Date: 09/14/2018 .\" Manual: Network management daemons -.\" Source: NetworkManager 1.13.90 +.\" Source: NetworkManager 1.14.0 .\" Language: English .\" -.TH "NETWORKMANAGER" "8" "" "NetworkManager 1\&.13\&.90" "Network management daemons" +.TH "NETWORKMANAGER" "8" "" "NetworkManager 1\&.14\&.0" "Network management daemons" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/NetworkManager.conf.5 b/man/NetworkManager.conf.5 index c00e0cce..c2b02150 100644 --- a/man/NetworkManager.conf.5 +++ b/man/NetworkManager.conf.5 @@ -2,12 +2,12 @@ .\" Title: NetworkManager.conf .\" Author: .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 09/08/2018 +.\" Date: 09/14/2018 .\" Manual: Configuration -.\" Source: NetworkManager 1.13.90 +.\" Source: NetworkManager 1.14.0 .\" Language: English .\" -.TH "NETWORKMANAGER\&.CONF" "5" "" "NetworkManager 1\&.13\&.90" "Configuration" +.TH "NETWORKMANAGER\&.CONF" "5" "" "NetworkManager 1\&.14\&.0" "Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/nm-online.1 b/man/nm-online.1 index c2b9003d..639fa52d 100644 --- a/man/nm-online.1 +++ b/man/nm-online.1 @@ -2,12 +2,12 @@ .\" Title: nm-online .\" Author: .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 09/08/2018 +.\" Date: 09/14/2018 .\" Manual: General Commands Manual -.\" Source: NetworkManager 1.13.90 +.\" Source: NetworkManager 1.14.0 .\" Language: English .\" -.TH "NM\-ONLINE" "1" "" "NetworkManager 1\&.13\&.90" "General Commands Manual" +.TH "NM\-ONLINE" "1" "" "NetworkManager 1\&.14\&.0" "General Commands Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/nm-openvswitch.7 b/man/nm-openvswitch.7 index 33d8ec3c..45d6fe2b 100644 --- a/man/nm-openvswitch.7 +++ b/man/nm-openvswitch.7 @@ -2,12 +2,12 @@ .\" Title: nm-openvswitch .\" Author: .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 09/08/2018 +.\" Date: 09/14/2018 .\" Manual: OpenVSwitch support overview -.\" Source: NetworkManager 1.13.90 +.\" Source: NetworkManager 1.14.0 .\" Language: English .\" -.TH "NM\-OPENVSWITCH" "7" "" "NetworkManager 1\&.13\&.90" "OpenVSwitch support overview" +.TH "NM\-OPENVSWITCH" "7" "" "NetworkManager 1\&.14\&.0" "OpenVSwitch support overview" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/nm-settings-ifcfg-rh.5 b/man/nm-settings-ifcfg-rh.5 index 2c953652..54c94211 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 vsnapshot -.\" Date: 09/08/2018 +.\" Date: 09/14/2018 .\" Manual: Configuration -.\" Source: NetworkManager 1.13.90 +.\" Source: NetworkManager 1.14.0 .\" Language: English .\" -.TH "NM\-SETTINGS\-IFCFG\-RH" "5" "" "NetworkManager 1\&.13\&.90" "Configuration" +.TH "NM\-SETTINGS\-IFCFG\-RH" "5" "" "NetworkManager 1\&.14\&.0" "Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/nm-settings-ifcfg-rh.xml b/man/nm-settings-ifcfg-rh.xml index 4d19a73d..2071493a 100644 --- a/man/nm-settings-ifcfg-rh.xml +++ b/man/nm-settings-ifcfg-rh.xml @@ -1,6 +1,6 @@ -nm-settings-ifcfg-rhNetworkManager developersnm-settings-ifcfg-rh5NetworkManagerConfiguration1.13.90nm-settings-ifcfg-rhDescription of ifcfg-rh settings pluginDescription +nm-settings-ifcfg-rhNetworkManager developersnm-settings-ifcfg-rh5NetworkManagerConfiguration1.14.0nm-settings-ifcfg-rhDescription of ifcfg-rh settings pluginDescription NetworkManager is based on the concept of connection profiles that contain network configuration (see nm-settings5 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 b3686e29..cd11d445 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 vsnapshot -.\" Date: 09/08/2018 +.\" Date: 09/14/2018 .\" Manual: Configuration -.\" Source: NetworkManager 1.13.90 +.\" Source: NetworkManager 1.14.0 .\" Language: English .\" -.TH "NM\-SETTINGS\-KEYFILE" "5" "" "NetworkManager 1\&.13\&.90" "Configuration" +.TH "NM\-SETTINGS\-KEYFILE" "5" "" "NetworkManager 1\&.14\&.0" "Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/nm-settings-keyfile.xml b/man/nm-settings-keyfile.xml index a43c0167..3037182e 100644 --- a/man/nm-settings-keyfile.xml +++ b/man/nm-settings-keyfile.xml @@ -1,6 +1,6 @@ -nm-settings-keyfileNetworkManager developersnm-settings-keyfile5NetworkManagerConfiguration1.13.90nm-settings-keyfileDescription of keyfile settings pluginDescription +nm-settings-keyfileNetworkManager developersnm-settings-keyfile5NetworkManagerConfiguration1.14.0nm-settings-keyfileDescription of keyfile settings pluginDescription NetworkManager is based on the concept of connection profiles that contain network configuration (see nm-settings5 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 8662a6b8..20ef453f 100644 --- a/man/nm-settings.5 +++ b/man/nm-settings.5 @@ -2,12 +2,12 @@ .\" Title: nm-settings .\" Author: .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 09/08/2018 +.\" Date: 09/14/2018 .\" Manual: Configuration -.\" Source: NetworkManager 1.13.90 +.\" Source: NetworkManager 1.14.0 .\" Language: English .\" -.TH "NM\-SETTINGS" "5" "" "NetworkManager 1\&.13\&.90" "Configuration" +.TH "NM\-SETTINGS" "5" "" "NetworkManager 1\&.14\&.0" "Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/nm-settings.xml b/man/nm-settings.xml index acb67724..03c66bd6 100644 --- a/man/nm-settings.xml +++ b/man/nm-settings.xml @@ -1,6 +1,6 @@ -nm-settingsNetworkManager developersnm-settings5NetworkManagerConfiguration1.13.90nm-settingsDescription of settings and properties of NetworkManager connection profilesDescription +nm-settingsNetworkManager developersnm-settings5NetworkManagerConfiguration1.14.0nm-settingsDescription of settings and properties of NetworkManager connection profilesDescription 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 7300d658..f6c269fb 100644 --- a/man/nmcli-examples.7 +++ b/man/nmcli-examples.7 @@ -2,12 +2,12 @@ .\" Title: nmcli-examples .\" Author: .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 09/08/2018 +.\" Date: 09/14/2018 .\" Manual: Examples -.\" Source: NetworkManager 1.13.90 +.\" Source: NetworkManager 1.14.0 .\" Language: English .\" -.TH "NMCLI\-EXAMPLES" "7" "" "NetworkManager 1\&.13\&.90" "Examples" +.TH "NMCLI\-EXAMPLES" "7" "" "NetworkManager 1\&.14\&.0" "Examples" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/nmcli.1 b/man/nmcli.1 index 25f7c2fe..626ad6fc 100644 --- a/man/nmcli.1 +++ b/man/nmcli.1 @@ -2,12 +2,12 @@ .\" Title: nmcli .\" Author: .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 09/08/2018 +.\" Date: 09/14/2018 .\" Manual: General Commands Manual -.\" Source: NetworkManager 1.13.90 +.\" Source: NetworkManager 1.14.0 .\" Language: English .\" -.TH "NMCLI" "1" "" "NetworkManager 1\&.13\&.90" "General Commands Manual" +.TH "NMCLI" "1" "" "NetworkManager 1\&.14\&.0" "General Commands Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/nmtui.1 b/man/nmtui.1 index 185d604e..e3944faa 100644 --- a/man/nmtui.1 +++ b/man/nmtui.1 @@ -2,12 +2,12 @@ .\" Title: nmtui .\" Author: .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 09/08/2018 +.\" Date: 09/14/2018 .\" Manual: General Commands Manual -.\" Source: NetworkManager 1.13.90 +.\" Source: NetworkManager 1.14.0 .\" Language: English .\" -.TH "NMTUI" "1" "" "NetworkManager 1\&.13\&.90" "General Commands Manual" +.TH "NMTUI" "1" "" "NetworkManager 1\&.14\&.0" "General Commands Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/meson.build b/meson.build index 00e958e5..da0e8009 100644 --- a/meson.build +++ b/meson.build @@ -4,7 +4,7 @@ project( # - add corresponding NM_VERSION_x_y_z macros in # "shared/nm-version-macros.h.in" # - update number in configure.ac - version: '1.13.90', + version: '1.14.0', license: 'GPL2+', default_options: [ 'buildtype=debugoptimized', @@ -50,7 +50,7 @@ nm_pkgdatadir = join_paths(nm_datadir, nm_name) nm_pkgincludedir = join_paths(nm_includedir, nm_name) nm_pkglibdir = join_paths(nm_prefix, 'lib', nm_name) nm_pkgrundir = join_paths(nm_runstatedir, nm_name) -nm_pkgstatedir = join_paths(nm_localstatedir, nm_name) +nm_pkgstatedir = join_paths(nm_localstatedir, 'lib', nm_name) nm_vpndir = join_paths(nm_libdir, nm_name) nm_plugindir = join_paths(nm_libdir, nm_name, dist_version) @@ -505,11 +505,14 @@ enable_ppp = get_option('ppp') if enable_ppp assert(cc.has_header('pppd/pppd.h'), 'couldn\'t find pppd.h. pppd development headers are required') - locations = get_option('pppd') - pppd = find_program(locations, required: false) - assert(pppd.found(), 'pppd required but not found, please provide a valid pppd path or use -Dppp=false to disable it') + pppd_path = get_option('pppd') + if pppd_path == '' + pppd = find_program('pppd', '/sbin/pppd', '/usr/sbin/pppd', required: false) + assert(pppd.found(), 'pppd required but not found, please provide a valid pppd path or use -Dppp=false to disable it') + pppd_path = pppd.path() + endif - config_h.set_quoted('PPPD_PATH', pppd.path()) + config_h.set_quoted('PPPD_PATH', pppd_path) pppd_plugin_dir = get_option('pppd_plugin_dir') if pppd_plugin_dir == '' @@ -536,81 +539,39 @@ config_h.set10('WITH_BLUEZ5_DUN', enable_bluez5_dun) enable_ofono = get_option('ofono') config_h.set10('WITH_OFONO', enable_ofono) -# DHCP client support with dhcpcanon -locations = get_option('dhcpcanon') -enable_dhcpcanon = (locations != ['no']) -if enable_dhcpcanon - dhcpcanon = find_program(locations, required: false) - enable_dhcpcanon = dhcpcanon.found() - - if enable_dhcpcanon - config_h.set_quoted('DHCPCANON_PATH', dhcpcanon.path()) - endif -endif -config_h.set10('WITH_DHCPCANON', enable_dhcpcanon) - # DHCP client support -locations = get_option('dhclient') -enable_dhclient = (locations != ['no']) -if enable_dhclient - dhclient = find_program(locations, required: false) - enable_dhclient = dhclient.found() - - if enable_dhclient - res = run_command(dhclient, '--version') - # FIXME: dhcp outputs the version string through stderr!? - if not res.stderr().strip().contains('isc-dhclient-4.') - message('Seems version of dhclient ' + dhclient.path() + ' is too old, version 4.x or newer is required') - endif - config_h.set_quoted('DHCLIENT_PATH', dhclient.path()) - endif -endif -config_h.set10('WITH_DHCLIENT', enable_dhclient) - -locations = get_option('dhcpcd') -enable_dhcpcd = (locations != ['no']) -enable_dhcpcd_supports_ipv6 = false -if enable_dhcpcd - dhcpcd = find_program(locations, required: false) - enable_dhcpcd = dhcpcd.found() - - if enable_dhcpcd - res = run_command(dhcpcd, '--version').stdout().strip() - dhcpcd_version = res.split(' ')[1] - if not dhcpcd_version.version_compare('> 4') - message('Seems version of dhcpcd ' + dhcpcd.path() + ' is too old, version 4.x or newer is required') - endif - - enable_dhcpcd_supports_ipv6 = get_option('dhcpcd_supports_ipv6') - if dhcpcd_version.version_compare('> 6') - if not enable_dhcpcd_supports_ipv6 - message('Seems version of dhcpcd ' + dhcpcd.path() + ' supports IPv6, but compiling without IPv6 support.') - endif - else - if enable_dhcpcd_supports_ipv6 - message('Seems version of dhcpcd ' + dhcpcd.path() +' does not support IPv6, but compiling with IPv6 support.') +config_dhcp_default = get_option('config_dhcp_default') +config_h.set_quoted('NM_CONFIG_DEFAULT_MAIN_DHCP', config_dhcp_default) +dhcp_summary = '' +foreach client : [ 'dhclient', 'dhcpcd', 'dhcpcanon' ] + client_path = get_option(client) + client_enable = (client_path != 'no') + if client_enable + if client_path == '' + client_prog = find_program(client, + '/sbin/' + client, + '/usr/sbin/pppd/' + client, + '/usr/local/sbin/' + client, + required : false) + if client_prog.found() + client_path = client_prog.path() + else + client_path = '/usr/sbin/' + client + message('@0@ not found, assume path @1@'.format(client, client_path)) endif endif - config_h.set('DHCPCD_SUPPORTS_IPV6', enable_dhcpcd_supports_ipv6) - config_h.set_quoted('DHCPCD_PATH', dhcpcd.path()) + config_h.set_quoted(client.to_upper() + '_PATH', client_path) endif -endif -config_h.set10('WITH_DHCPCD', enable_dhcpcd) - -config_dhcp_default = get_option('config_dhcp_default') -if config_dhcp_default == 'dhcpcanon' and not enable_dhcpcanon - error(config_dhcp_default + ' has not been enabled. Please don\'t disable it or use another configuration option for main.dhcp setting') -endif - -if config_dhcp_default == 'dhclient' and not enable_dhclient - error(config_dhcp_default + ' has not been enabled. Please don\'t disable it or use another configuration option for main.dhcp setting') -endif - -if config_dhcp_default == 'dhcpcd' and not enable_dhcpcd - error(config_dhcp_default + ' has not been enabled. Please don\'t disable it or use another configuration option for main.dhcp setting') -endif - -config_h.set_quoted('NM_CONFIG_DEFAULT_MAIN_DHCP', config_dhcp_default) + if config_dhcp_default == client and not client_enable + error(client + ' has not been enabled. Please don\'t disable it or use another configuration option for main.dhcp setting') + endif + config_h.set10('WITH_' + client.to_upper(), client_enable) + dhcp_summary += (' ' + client + ': ' + client_enable.to_string()) + if (client_enable) + dhcp_summary += (' ' + client_path) + endif + dhcp_summary += '\n' +endforeach # OpenVSwitch integration enable_ovs = get_option('ovs') @@ -618,49 +579,70 @@ if enable_ovs assert(jansson_dep.found(), 'jansson is needed for OpenVSwitch integration. Use -Dovs=false to disable it') endif -# resolvconf and netconfig support -locations = get_option('resolvconf') -enable_resolvconf = (locations != ['no']) -if enable_resolvconf - resolvconf = find_program(locations, required: false) - enable_resolvconf = resolvconf.found() - - if enable_resolvconf - config_h.set_quoted('RESOLVCONF_PATH', resolvconf.path()) - endif -endif - -locations = get_option('netconfig') -enable_netconfig = (locations != ['no']) -if enable_netconfig - netconfig = find_program(locations, required: false) - enable_netconfig = netconfig.found() - - if enable_netconfig - config_h.set_quoted('NETCONFIG_PATH', netconfig.path()) - endif -endif - +# DNS resolv.conf managers config_dns_rc_manager_default = get_option('config_dns_rc_manager_default') -if config_dns_rc_manager_default == 'resolvconf' and not enable_resolvconf - error(config_dns_rc_manager_default + ' has not been enabled. Please don\'t disable it or use another configuration option for main.rc-manager setting') -endif - -if config_dns_rc_manager_default == 'netconfig' and not enable_netconfig - error(config_dns_rc_manager_default + ' has not been enabled. Please don\'t disable it or use another configuration option for main.rc-manager setting') -endif - config_h.set_quoted('NM_CONFIG_DEFAULT_MAIN_RC_MANAGER', config_dns_rc_manager_default) +resolv_conf_summary = '' +foreach prog_name : ['resolvconf', 'netconfig'] + prog_path = get_option(prog_name) + prog_enable = (prog_path != 'no') + + if prog_enable + if prog_path == '' + prog = find_program(prog_name, + '/usr/' + prog_name, + '/usr/sbin/' + prog_name, + '/usr/local/sbin' + prog_name, + required : false) + if prog.found() + prog_path = prog.path() + else + prog_enable = false + endif + endif + endif -# iptables path -config_h.set_quoted('IPTABLES_PATH', find_program(get_option('iptables')).path()) + if prog_enable + config_h.set_quoted(prog_name.to_upper() + '_PATH', prog_path) + elif config_dns_rc_manager_default == prog_name + error(prog_name + ' has not been enabled. Please don\'t disable it or use another configuration option for main.rc-manager setting') + endif -# dnsmasq path -config_h.set_quoted('DNSMASQ_PATH', find_program(get_option('dnsmasq')).path()) + resolv_conf_summary += ' ' + prog_name + ': ' + prog_enable.to_string() + if prog_enable + resolv_conf_summary += ' ' + prog_path + endif + resolv_conf_summary += '\n' +endforeach -# dnssec-trigger-script path -dnssec_trigger_script = find_program(get_option('dnssec_trigger'), required: false) -config_h.set_quoted('DNSSEC_TRIGGER_SCRIPT', (dnssec_trigger_script.found() ? dnssec_trigger_script.path() : '/usr/libexec/dnssec-trigger-script')) +# external misc tools paths +default_paths = ['/sbin', '/usr/sbin'] +dnssec_ts_paths = ['/usr/local/libexec', + '/usr/local/lib', + '/usr/local/lib/dnssec-trigger', + '/usr/libexec', + '/usr/lib', + '/usr/lib/dnssec-trigger'] + +# 0: cmdline option, 1: paths, 2: fallback +progs = [['iptables', default_paths, '/sbin/iptables'], + ['dnsmasq', default_paths, ''], + ['dnssec_trigger', dnssec_ts_paths, join_paths(nm_libexecdir, 'dnssec-trigger-script') ], + ] + +foreach prog : progs + path = get_option(prog[0]) + if path == '' + search_paths = [ prog[0] ] + foreach path : prog[1] + search_paths += (path + '/' + prog[0]) + endforeach + exe = find_program(search_paths, required : false) + path = exe.found() ? exe.path() : prog[2] + endif + name = prog[0].to_upper() + '_PATH' + config_h.set_quoted(name, path) +endforeach # system CA certificates path system_ca_path = get_option('system_ca_path') @@ -886,15 +868,6 @@ config_extra_h = configuration_data() config_extra_h.set_quoted('BINDIR', nm_bindir) config_extra_h.set_quoted('DATADIR', nm_datadir) -if enable_dhclient - config_extra_h.set_quoted('DHCLIENT_PATH', dhclient.path()) -endif -if enable_dhcpcanon - config_extra_h.set_quoted('DHCPCANON_PATH', dhcpcanon.path()) -endif -if enable_dhcpcd - config_extra_h.set_quoted('DHCPCD_PATH', dhcpcd.path()) -endif config_extra_h.set_quoted('LIBEXECDIR', nm_libexecdir) config_extra_h.set_quoted('LOCALSTATEDIR', nm_localstatedir) config_extra_h.set_quoted('NMCONFDIR', nm_pkgconfdir) @@ -965,7 +938,7 @@ output += ' wifi: ' + enable_wifi.to_string() + '\n' output += ' iwd: ' + enable_iwd.to_string() + '\n' output += ' pppd: ' + enable_ppp.to_string() if enable_ppp - output += ' ' + pppd.path() + output += ' ' + pppd_path + ' plugins:' + pppd_plugin_dir endif output += '\n' output += ' modemmanager-1: ' + enable_modem_manager.to_string() + '\n' @@ -980,35 +953,11 @@ output += '\nConfiguration_plugins (main.plugins=' + config_plugins_default + ') output += ' ibft: ' + enable_ibft.to_string() + '\n' output += ' ifcfg-rh: ' + enable_ifcfg_rh.to_string() + '\n' output += ' ifupdown: ' + enable_ifupdown.to_string() + '\n' -output += '\nHandlers for /etc/resolv.conf:\n' -output += ' resolvconf: ' + enable_resolvconf.to_string() -if enable_resolvconf - output += ' ' + resolvconf.path() -endif -output += '\n' -output += ' netconfig: ' + enable_netconfig.to_string() -if enable_netconfig - output += ' ' + netconfig.path() -endif +output += '\nHandlers for /etc/resolv.conf:\n' + resolv_conf_summary output += '\n' output += ' config-dns-rc-manager-default: ' + config_dns_rc_manager_default + '\n' -output += '\nDHCP clients (default ' + config_dhcp_default + '):\n' -output += ' dhcpcanon: ' + enable_dhcpcanon.to_string() -if enable_dhcpcanon - output += ' ' + dhcpcanon.path() -endif -output += '\n' -output += ' dhclient: ' + enable_dhclient.to_string() -if enable_dhclient - output += ' ' + dhclient.path() -endif -output += '\n' -output += ' dhcpcd: ' + enable_dhcpcd.to_string() -if enable_dhcpcd - output += ' ' + dhcpcd.path() -endif +output += '\nDHCP clients (default ' + config_dhcp_default + '):\n' + dhcp_summary output += '\n' -output += ' dhcpcd-supports-ipv6: ' + enable_dhcpcd_supports_ipv6.to_string() + '\n' output += '\nMiscellaneous:\n' output += ' have introspection: ' + enable_introspection.to_string() + '\n' output += ' build documentation and manpages: ' + enable_docs.to_string() + '\n' diff --git a/meson_options.txt b/meson_options.txt index 25ec7ae4..7f06d53a 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -7,9 +7,9 @@ option('dbus_ifaces_dir', type: 'string', value: '', description: 'where D-Bus i option('dbus_sys_dir', type: 'string', value: '', description: 'where D-Bus system service directory is') option('polkit_dir', type: 'string', value: '', description: 'where PolicyKit policy directory is') option('kernel_firmware_dir', type: 'string', value: '/lib/firmware', description: 'where kernel firmware directory is (default is /lib/firmware)') -option('iptables', type: 'array', value: ['iptables', '/sbin/iptables', '/usr/sbin/iptables'], description: 'path to iptables') -option('dnsmasq', type: 'array', value: ['dnsmasq', '/sbin/dnsmasq', '/usr/sbin/dnsmasq'], description: 'path to dnsmasq') -option('dnssec_trigger', type: 'array', value: ['dnssec-trigger-script', '/usr/local/libexec/dnssec-trigger-script', '/usr/local/lib/dnssec-trigger-script', '/usr/local/lib/dnssec-trigger/dnssec-trigger-script', '/usr/libexec/dnssec-trigger-script', '/usr/lib/dnssec-trigger-script', '/usr/lib/dnssec-trigger/dnssec-trigger-script'], description: 'path to unbound dnssec-trigger-script') +option('iptables', type: 'string', value: '', description: 'path to iptables') +option('dnsmasq', type: 'string', value: '', description: 'path to dnsmasq') +option('dnssec_trigger', type: 'string', value: '', description: 'path to unbound dnssec-trigger-script') # platform option('dist_version', type: 'string', value: '', description: 'Define the NM\'s distribution version string') @@ -30,7 +30,7 @@ option('wext', type: 'boolean', value: true, description: 'Enable or disable Lin option('wifi', type: 'boolean', value: true, description: 'enable Wi-Fi support') option('iwd', type: 'boolean', value: false, description: 'enable iwd support (experimental)') option('ppp', type: 'boolean', value: true, description: 'enable PPP/PPPoE support') -option('pppd', type: 'array', value: ['pppd', '/sbin/pppd', '/usr/sbin/pppd'], description: 'path to pppd binary') +option('pppd', type: 'string', value: '', description: 'path to pppd binary') option('pppd_plugin_dir', type: 'string', value: '', description: 'path to the pppd plugins directory') option('modem_manager', type: 'boolean', value: true, description: 'Enable new ModemManager1 interface support') option('ofono', type: 'boolean', value: false, description: 'Enable oFono support (experimental)') @@ -49,16 +49,15 @@ option('ifcfg_rh', type: 'boolean', value: false, description: 'enable ifcfg-rh option('ifupdown', type: 'boolean', value: false, description: 'enable ifupdown configuration plugin (Debian/Ubuntu)') # handlers for resolv.conf -option('resolvconf', type: 'array', value: ['resolvconf', '/sbin/resolvconf', '/usr/sbin/resolvconf', '/usr/local/sbin/resolvconf'], description: 'Enable resolvconf support') -option('netconfig', type: 'array', value: ['netconfig', '/sbin/netconfig', '/usr/sbin/netconfig', '/usr/local/sbin/netconfig'], description: 'Enable SUSE netconfig support') +option('resolvconf', type: 'string', value: '', description: 'Enable resolvconf support') +option('netconfig', type: 'string', value: '', description: 'Enable SUSE netconfig support') option('config_dns_rc_manager_default', type: 'combo', choices: ['symlink', 'file', 'netconfig', 'resolvconf'], value: 'symlink', description: 'Configure default value for main.rc-manager setting') # dhcp clients -option('dhcpcanon', type: 'array', value: ['dhcpcanon', '/sbin/dhcpcanon', '/usr/sbin/dhcpcanon', '/usr/local/sbin/dhcpcanon', '/usr/bin/dhcpcanon', '/usr/local/bin/dhcpcanon'], description: 'Enable dhcpcanon support (experimental)') -option('dhclient', type: 'array', value: ['dhclient', '/sbin/dhclient', '/usr/sbin/dhclient', '/usr/local/sbin/dhclient'], description: 'Enable dhclient 4.x support') -option('dhcpcd', type: 'array', value: ['dhcpcd', '/sbin/dhcpcd', '/usr/sbin/dhcpcd', '/usr/local/sbin/dhcpcd'], description: 'Enable dhcpcd 4.x support') +option('dhclient', type: 'string', value: '', description: 'Enable dhclient support') +option('dhcpcanon', type: 'string', value: '', description: 'Enable dhcpcanon support (experimental)') +option('dhcpcd', type: 'string', value: '', description: 'Enable dhcpcd support') option('config_dhcp_default', type: 'combo', choices: ['dhcpcanon', 'dhclient', 'dhcpcd', 'internal'], value: 'internal', description: 'Default configuration option for main.dhcp setting, used as fallback if the configuration option is unset') -option('dhcpcd_supports_ipv6', type: 'boolean', value: true, description: 'Whether using dhcpcd >= 6.x which has IPv6 support') # miscellaneous option('introspection', type: 'boolean', value: true, description: 'Enable introspection for this build') diff --git a/po/cs.po b/po/cs.po index 007000bc..7490c7aa 100644 --- a/po/cs.po +++ b/po/cs.po @@ -17,7 +17,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-05-29 17:44+0200\n" -"PO-Revision-Date: 2018-03-29 17:52+0200\n" +"PO-Revision-Date: 2018-09-13 16:02+0200\n" "Last-Translator: Daniel Rusek \n" "Language-Team: Czech \n" "Language: cs\n" @@ -25,7 +25,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Generator: Poedit 2.0.6\n" +"X-Generator: Poedit 2.1.1\n" #: ../clients/cli/agent.c:40 #, c-format @@ -208,9 +208,9 @@ msgstr "" #. We should not really come here #: ../clients/cli/common.c:434 ../clients/cli/connections.c:3095 #: ../clients/cli/connections.c:3155 -#, fuzzy, c-format +#, c-format msgid "Unknown error" -msgstr "Neznámý" +msgstr "Neznámá chyba" #: ../clients/cli/common.c:437 msgid "Device is now managed" @@ -964,9 +964,8 @@ msgid "activated" msgstr "aktivováno" #: ../clients/cli/connections.c:530 -#, fuzzy msgid "deactivated" -msgstr "aktivováno" +msgstr "deaktivováno" #: ../clients/cli/connections.c:542 msgid "VPN connecting (prepare)" @@ -1617,9 +1616,9 @@ msgstr "" #: ../clients/cli/connections.c:6047 ../clients/cli/connections.c:6184 #: ../clients/cli/connections.c:6610 ../clients/cli/connections.c:7569 -#, fuzzy, c-format +#, c-format msgid "Unknown command: '%s'\n" -msgstr "Neznámá doména evidence „%s“" +msgstr "Neznámý příkaz: „%s“\n" #. TRANSLATORS: do not translate command names and keywords before :: #. * However, you should translate terms enclosed in <>. @@ -2739,9 +2738,8 @@ msgid "%s: device removed\n" msgstr "" #: ../clients/cli/devices.c:2609 -#, fuzzy msgid "Wi-Fi scan list" -msgstr "Seznam prohledání WiFi" +msgstr "Seznam prohledání Wi-Fi" #: ../clients/cli/devices.c:2657 #, fuzzy, c-format @@ -2947,9 +2945,8 @@ msgid "running" msgstr "běží" #: ../clients/cli/general.c:201 -#, fuzzy msgid "starting" -msgstr "aktivuje se" +msgstr "spouští se" #: ../clients/cli/general.c:201 msgid "started" @@ -3263,7 +3260,7 @@ msgstr "připojeno" #: ../clients/cli/general.c:1183 msgid "fw missing" -msgstr "" +msgstr "fw chybí" #: ../clients/cli/general.c:1188 #, fuzzy @@ -3272,11 +3269,11 @@ msgstr "Chyba: schází argument %s." #: ../clients/cli/general.c:1193 msgid "sw" -msgstr "" +msgstr "sw" #: ../clients/cli/general.c:1195 msgid "hw" -msgstr "" +msgstr "hw" #: ../clients/cli/general.c:1200 msgid "iface" @@ -3284,11 +3281,11 @@ msgstr "" #: ../clients/cli/general.c:1203 msgid "port" -msgstr "" +msgstr "port" #: ../clients/cli/general.c:1206 msgid "mtu" -msgstr "" +msgstr "mtu" #: ../clients/cli/general.c:1223 msgid "master" @@ -3301,16 +3298,16 @@ msgstr "VPN" #: ../clients/cli/general.c:1229 msgid "ip4 default" -msgstr "" +msgstr "ip4 výchozí" #: ../clients/cli/general.c:1231 msgid "ip6 default" -msgstr "" +msgstr "ip6 výchozí" #: ../clients/cli/general.c:1314 -#, fuzzy, c-format +#, c-format msgid "%s VPN connection" -msgstr "VPN se připojuje" +msgstr "%s VPN připojení" #: ../clients/cli/general.c:1384 #, c-format @@ -3503,9 +3500,9 @@ msgid "Warning: %s\n" msgstr "" #: ../clients/cli/settings.c:385 -#, fuzzy, c-format +#, c-format msgid "Info: %s\n" -msgstr "Chyba: %s." +msgstr "Info: %s\n" #: ../clients/cli/settings.c:477 msgid "don't know how to get the property value" @@ -3755,14 +3752,14 @@ msgid "invalid option '%s', use one of [%s]" msgstr "" #: ../clients/common/nm-meta-setting-desc.c:1316 -#, fuzzy, c-format +#, c-format msgid "%d (key)" -msgstr "%d (hex-ascii-klíč)" +msgstr "%d (klíč)" #: ../clients/common/nm-meta-setting-desc.c:1318 -#, fuzzy, c-format +#, c-format msgid "%d (passphrase)" -msgstr "%d (104/128bitové heslo)" +msgstr "%d (heslo)" #: ../clients/common/nm-meta-setting-desc.c:1321 #: ../clients/common/nm-meta-setting-desc.c:1410 @@ -3772,52 +3769,50 @@ msgstr "%d (neznámé)" #: ../clients/common/nm-meta-setting-desc.c:1353 msgid "0 (NONE)" -msgstr "" +msgstr "0 (ŽÁDNÉ)" #: ../clients/common/nm-meta-setting-desc.c:1359 msgid "REORDER_HEADERS, " -msgstr "" +msgstr "REORDER_HEADERS, " #: ../clients/common/nm-meta-setting-desc.c:1361 msgid "GVRP, " -msgstr "" +msgstr "GVRP, " #: ../clients/common/nm-meta-setting-desc.c:1363 msgid "LOOSE_BINDING, " -msgstr "" +msgstr "LOOSE_BINDING, " #: ../clients/common/nm-meta-setting-desc.c:1365 msgid "MVRP, " -msgstr "" +msgstr "MVRP, " #: ../clients/common/nm-meta-setting-desc.c:1404 -#, fuzzy, c-format +#, c-format msgid "%d (disabled)" -msgstr "zakázáno" +msgstr "%d (zakázáno)" #: ../clients/common/nm-meta-setting-desc.c:1406 #, c-format msgid "%d (enabled, prefer public IP)" -msgstr "" +msgstr "%d (povoleno, preferovat veřejnou IP)" #: ../clients/common/nm-meta-setting-desc.c:1408 #, c-format msgid "%d (enabled, prefer temporary IP)" -msgstr "" +msgstr "%d (povoleno, preferovat dočasnou IP)" #: ../clients/common/nm-meta-setting-desc.c:1423 -#, fuzzy msgid "0 (none)" -msgstr "(nic)" +msgstr "0 (žádné)" #: ../clients/common/nm-meta-setting-desc.c:1429 msgid "agent-owned, " msgstr "" #: ../clients/common/nm-meta-setting-desc.c:1431 -#, fuzzy msgid "not saved, " -msgstr "nenastaveno" +msgstr "neuloženo, " #: ../clients/common/nm-meta-setting-desc.c:1433 msgid "not required, " @@ -3950,14 +3945,12 @@ msgid "the property doesn't contain UUID '%s'" msgstr "" #: ../clients/common/nm-meta-setting-desc.c:2634 -#, fuzzy msgid "0 (disabled)" -msgstr "zakázáno" +msgstr "0 (zakázáno)" #: ../clients/common/nm-meta-setting-desc.c:2640 -#, fuzzy msgid "enabled, " -msgstr "povoleno" +msgstr "povoleno, " #: ../clients/common/nm-meta-setting-desc.c:2642 msgid "advertise, " @@ -4011,9 +4004,9 @@ msgid "default" msgstr "" #: ../clients/common/nm-meta-setting-desc.c:3134 -#, fuzzy, c-format +#, c-format msgid "%d (off)" -msgstr "%d (neznámé)" +msgstr "%d (vypnuto)" #: ../clients/common/nm-meta-setting-desc.c:3171 #: ../clients/common/nm-meta-setting-desc.c:3190 @@ -4296,14 +4289,14 @@ msgstr "" #: ../clients/common/nm-secret-agent-simple.c:328 #: ../clients/tui/nmt-page-dsl.c:66 ../clients/tui/nmt-page-wifi.c:321 msgid "Username" -msgstr "" +msgstr "Uživatelské jméno" #: ../clients/common/nm-meta-setting-desc.c:4774 #: ../clients/common/nm-meta-setting-desc.c:4952 #: ../clients/common/nm-meta-setting-desc.c:5221 #: ../clients/common/nm-meta-setting-desc.c:5788 msgid "Password [none]" -msgstr "" +msgstr "Heslo [žádné]" #: ../clients/common/nm-meta-setting-desc.c:4821 msgid "Bluetooth device address" @@ -4396,23 +4389,22 @@ msgid "" msgstr "" #: ../clients/common/nm-meta-setting-desc.c:5232 -#, fuzzy msgid "APN" -msgstr "AP" +msgstr "APN" #: ../clients/common/nm-meta-setting-desc.c:5284 #: ../clients/common/nm-meta-setting-desc.c:6276 #: ../clients/common/nm-meta-setting-desc.c:6422 msgid "MTU [auto]" -msgstr "" +msgstr "MTU [automaticky]" #: ../clients/common/nm-meta-setting-desc.c:5303 msgid "P_KEY [none]" -msgstr "" +msgstr "P_KLÍČ [žádný]" #: ../clients/common/nm-meta-setting-desc.c:5312 msgid "Parent interface [none]" -msgstr "" +msgstr "Rodičovské rozhraní [žádné]" #: ../clients/common/nm-meta-setting-desc.c:5335 msgid "" @@ -4420,10 +4412,13 @@ msgid "" "\n" "Example: 8.8.8.8, 8.8.4.4\n" msgstr "" +"Vložte seznam IPv4 adres DNS serverů.\n" +"\n" +"Například: 8.8.8.8, 8.8.4.4\n" #: ../clients/common/nm-meta-setting-desc.c:5367 msgid "IPv4 address (IP[/plen]) [none]" -msgstr "" +msgstr "IPv4 adresa (IP[/plen]) [žádná]" #: ../clients/common/nm-meta-setting-desc.c:5369 msgid "" @@ -4436,7 +4431,7 @@ msgstr "" #: ../clients/common/nm-meta-setting-desc.c:5382 msgid "IPv4 gateway [none]" -msgstr "" +msgstr "IPv4 brána [žádná]" #: ../clients/common/nm-meta-setting-desc.c:5390 msgid "" @@ -4465,7 +4460,7 @@ msgstr "" #: ../clients/common/nm-meta-setting-desc.c:5494 msgid "IPv6 address (IP[/plen]) [none]" -msgstr "" +msgstr "IPv6 adresa (IP[/plen]) [žádná]" #: ../clients/common/nm-meta-setting-desc.c:5496 msgid "" @@ -4478,7 +4473,7 @@ msgstr "" #: ../clients/common/nm-meta-setting-desc.c:5509 msgid "IPv6 gateway [none]" -msgstr "" +msgstr "IPv6 brána [žádná]" #: ../clients/common/nm-meta-setting-desc.c:5517 msgid "" @@ -4506,7 +4501,7 @@ msgstr "" #: ../clients/common/nm-meta-setting-desc.c:5608 #: ../clients/common/nm-meta-setting-desc.c:6156 msgid "Remote" -msgstr "" +msgstr "Vzdálené" #: ../clients/common/nm-meta-setting-desc.c:5645 msgid "MACsec parent device or connection UUID" @@ -4514,16 +4509,16 @@ msgstr "" #: ../clients/common/nm-meta-setting-desc.c:5666 msgid "Enable encryption [yes]" -msgstr "" +msgstr "Povolit šifrování [ano]" #: ../clients/common/nm-meta-setting-desc.c:5672 #: ../clients/common/nm-secret-agent-simple.c:520 msgid "MKA CAK" -msgstr "" +msgstr "MKA CAK" #: ../clients/common/nm-meta-setting-desc.c:5682 msgid "MKA_CKN" -msgstr "" +msgstr "MKA_CKN" #: ../clients/common/nm-meta-setting-desc.c:5688 msgid "SCI port [1]" @@ -4553,13 +4548,12 @@ msgid "DHCP anycast MAC address [none]" msgstr "" #: ../clients/common/nm-meta-setting-desc.c:5775 -#, fuzzy msgid "Service [none]" -msgstr "Služba" +msgstr "Služba [žádná]" #: ../clients/common/nm-meta-setting-desc.c:5782 msgid "PPPoE username" -msgstr "" +msgstr "Uživatelské jméno PPPoE" #: ../clients/common/nm-meta-setting-desc.c:5881 msgid "Browser only [no]" @@ -4665,7 +4659,7 @@ msgstr "" #. *************************************************************************** #: ../clients/common/nm-meta-setting-desc.c:6708 msgid "802-1x settings" -msgstr "" +msgstr "802-1x nastavení" #: ../clients/common/nm-meta-setting-desc.c:6709 #: ../src/devices/adsl/nm-device-adsl.c:137 @@ -4673,23 +4667,20 @@ msgid "ADSL connection" msgstr "ADSL připojení" #: ../clients/common/nm-meta-setting-desc.c:6710 -#, fuzzy msgid "bluetooth connection" -msgstr "připojuje se" +msgstr "bluetooth připojení" #: ../clients/common/nm-meta-setting-desc.c:6711 msgid "Bond device" -msgstr "" +msgstr "Zařízení Bond" #: ../clients/common/nm-meta-setting-desc.c:6712 -#, fuzzy msgid "Bridge device" -msgstr "Aktivní připojení" +msgstr "Zařízení Most" #: ../clients/common/nm-meta-setting-desc.c:6713 -#, fuzzy msgid "Bridge port" -msgstr "Aktivní připojení" +msgstr "Port Most" #: ../clients/common/nm-meta-setting-desc.c:6714 msgid "CDMA mobile broadband connection" @@ -4697,19 +4688,19 @@ msgstr "Mobilní širokopásmové připojení CDMA" #: ../clients/common/nm-meta-setting-desc.c:6715 msgid "General settings" -msgstr "" +msgstr "Obecné nastavení" #: ../clients/common/nm-meta-setting-desc.c:6716 msgid "DCB settings" -msgstr "" +msgstr "DCB nastavení" #: ../clients/common/nm-meta-setting-desc.c:6717 msgid "Dummy settings" -msgstr "" +msgstr "Prázdné nastavení" #: ../clients/common/nm-meta-setting-desc.c:6718 msgid "Generic settings" -msgstr "" +msgstr "Generické nastavení" #: ../clients/common/nm-meta-setting-desc.c:6719 msgid "GSM mobile broadband connection" @@ -4717,68 +4708,64 @@ msgstr "Mobilní širokopásmové připojení GSM" #: ../clients/common/nm-meta-setting-desc.c:6720 #: ../src/devices/nm-device-infiniband.c:192 -#, fuzzy msgid "InfiniBand connection" -msgstr "Drátové připojení %d" +msgstr "InfiniBand připojení" #: ../clients/common/nm-meta-setting-desc.c:6721 msgid "IPv4 protocol" -msgstr "" +msgstr "IPv4 protokol" #: ../clients/common/nm-meta-setting-desc.c:6722 msgid "IPv6 protocol" -msgstr "" +msgstr "IPv6 protokol" #: ../clients/common/nm-meta-setting-desc.c:6723 msgid "IP-tunnel settings" -msgstr "" +msgstr "IP-tunel nastavení" #: ../clients/common/nm-meta-setting-desc.c:6724 msgid "MACsec connection" -msgstr "" +msgstr "MACsec připojení" #: ../clients/common/nm-meta-setting-desc.c:6725 -#, fuzzy msgid "macvlan connection" -msgstr "připojuje se" +msgstr "macvlan připojení" #: ../clients/common/nm-meta-setting-desc.c:6726 -#, fuzzy msgid "OLPC Mesh connection" -msgstr "Připojení CDMA %d" +msgstr "OLPC Mesh připojení" #: ../clients/common/nm-meta-setting-desc.c:6727 msgid "PPP settings" -msgstr "" +msgstr "Nastavení PPP" #: ../clients/common/nm-meta-setting-desc.c:6728 msgid "PPPoE" -msgstr "" +msgstr "PPPoE" #: ../clients/common/nm-meta-setting-desc.c:6729 msgid "Proxy" -msgstr "" +msgstr "Proxy" #: ../clients/common/nm-meta-setting-desc.c:6730 msgid "Serial settings" -msgstr "" +msgstr "Nastavení Serial" #: ../clients/common/nm-meta-setting-desc.c:6731 msgid "Team device" -msgstr "" +msgstr "Zařízení Team" #: ../clients/common/nm-meta-setting-desc.c:6732 msgid "Team port" -msgstr "" +msgstr "Port Team" #: ../clients/common/nm-meta-setting-desc.c:6733 -#, fuzzy msgid "Tun device" -msgstr "Zařízení" +msgstr "Zařízení Tun" #: ../clients/common/nm-meta-setting-desc.c:6734 msgid "User settings" -msgstr "" +msgstr "Uživatelské nastavení" #: ../clients/common/nm-meta-setting-desc.c:6735 #: ../src/devices/nm-device-vlan.c:433 @@ -4808,11 +4795,11 @@ msgstr "Wi-Fi připojení" #: ../clients/common/nm-meta-setting-desc.c:6741 msgid "Wi-Fi security settings" -msgstr "" +msgstr "Nastavení zabezpečení Wi-Fi" #: ../clients/common/nm-meta-setting-desc.c:7013 msgid "name" -msgstr "" +msgstr "název" #: ../clients/common/nm-polkit-listener.c:212 msgid "An authentication session is already underway." @@ -4832,20 +4819,20 @@ msgstr "" #: ../clients/tui/nmt-page-wifi.c:266 ../clients/tui/nmt-page-wifi.c:297 #: ../clients/tui/nmt-page-wifi.c:330 msgid "Password" -msgstr "" +msgstr "Heslo" #: ../clients/common/nm-secret-agent-simple.c:241 msgid "Identity" -msgstr "" +msgstr "Identita" #: ../clients/common/nm-secret-agent-simple.c:248 msgid "Private key password" -msgstr "" +msgstr "Heslo soukromého klíče" #: ../clients/common/nm-secret-agent-simple.c:289 #: ../clients/tui/nmt-page-wifi.c:278 msgid "Key" -msgstr "" +msgstr "Klíč" #: ../clients/common/nm-secret-agent-simple.c:335 #: ../clients/tui/nmt-page-dsl.c:78 @@ -4885,7 +4872,7 @@ msgstr "pro připojení „%s“ nebylo nalezeno žádné zařízení" #: ../clients/common/nm-secret-agent-simple.c:489 msgid "PIN code required" -msgstr "" +msgstr "Požadován PIN kód" #: ../clients/common/nm-secret-agent-simple.c:490 #, fuzzy @@ -4893,9 +4880,8 @@ msgid "PIN code is needed for the mobile broadband device" msgstr "Povolit nebo zakázat mobilní širokopásmová zařízení" #: ../clients/common/nm-secret-agent-simple.c:492 -#, fuzzy msgid "PIN" -msgstr "VPN" +msgstr "PIN" #: ../clients/common/nm-secret-agent-simple.c:500 #: ../clients/common/nm-secret-agent-simple.c:534 @@ -7009,9 +6995,8 @@ msgid "" msgstr "" #: ../clients/nm-online.c:91 -#, fuzzy msgid "Connecting" -msgstr "připojuje se" +msgstr "Připojuje se" #: ../clients/nm-online.c:189 #, fuzzy, c-format @@ -7058,7 +7043,7 @@ msgstr "" #: ../clients/tui/nmt-route-editor.c:122 ../clients/tui/nmtui-hostname.c:69 #: ../clients/tui/nmtui.c:136 msgid "OK" -msgstr "" +msgstr "OK" #: ../clients/tui/newt/nmt-newt-utils.c:325 #: ../clients/tui/newt/nmt-newt-utils.c:357 @@ -7089,7 +7074,7 @@ msgstr "Nelze dekódovat soubor PKCS#8: %s" #: ../clients/tui/nm-editor-utils.c:146 ../libnm-glib/nm-device.c:1821 #: ../libnm/nm-device.c:1517 msgid "Ethernet" -msgstr "" +msgstr "Drátové připojení" #: ../clients/tui/nm-editor-utils.c:150 #, c-format @@ -7099,7 +7084,7 @@ msgstr "Drátové připojení %d" #: ../clients/tui/nm-editor-utils.c:154 ../libnm-glib/nm-device.c:1823 #: ../libnm/nm-device.c:1519 msgid "Wi-Fi" -msgstr "" +msgstr "Wi-Fi" #: ../clients/tui/nm-editor-utils.c:158 #, c-format @@ -7109,12 +7094,12 @@ msgstr "Wi-Fi připojení %d" #: ../clients/tui/nm-editor-utils.c:163 ../libnm-core/nm-connection.c:1939 #: ../libnm-glib/nm-device.c:1833 ../libnm/nm-device.c:1529 msgid "InfiniBand" -msgstr "" +msgstr "InfiniBand" #: ../clients/tui/nm-editor-utils.c:167 -#, fuzzy, c-format +#, c-format msgid "InfiniBand connection %d" -msgstr "Drátové připojení %d" +msgstr "InfiniBand připojení %d" #: ../clients/tui/nm-editor-utils.c:172 ../libnm-glib/nm-device.c:1831 #: ../libnm/nm-device.c:1527 @@ -7127,9 +7112,8 @@ msgid "Mobile broadband connection %d" msgstr "Mobilní širokopásmové připojení %d" #: ../clients/tui/nm-editor-utils.c:181 ../clients/tui/nmt-page-dsl.c:62 -#, fuzzy msgid "DSL" -msgstr "DNS" +msgstr "DSL" #: ../clients/tui/nm-editor-utils.c:185 #, c-format @@ -7144,39 +7128,39 @@ msgid "Bond" msgstr "Svazek" #: ../clients/tui/nm-editor-utils.c:194 -#, fuzzy, c-format +#, c-format msgid "Bond connection %d" -msgstr "Drátové připojení %d" +msgstr "Připojení Bond %d" #: ../clients/tui/nm-editor-utils.c:199 ../libnm-core/nm-connection.c:1935 #: ../libnm-glib/nm-device.c:1839 ../libnm-util/nm-connection.c:1630 #: ../libnm/nm-device.c:1535 #: ../src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c:4766 msgid "Bridge" -msgstr "" +msgstr "Most" #: ../clients/tui/nm-editor-utils.c:204 -#, fuzzy, c-format +#, c-format msgid "Bridge connection %d" -msgstr "Drátové připojení %d" +msgstr "Připojení Most %d" #: ../clients/tui/nm-editor-utils.c:208 ../libnm-core/nm-connection.c:1933 #: ../libnm-glib/nm-device.c:1837 ../libnm-util/nm-connection.c:1628 #: ../libnm/nm-device.c:1533 #: ../src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c:4579 msgid "Team" -msgstr "" +msgstr "Team" #: ../clients/tui/nm-editor-utils.c:213 -#, fuzzy, c-format +#, c-format msgid "Team connection %d" -msgstr "Drátové připojení %d" +msgstr "Team připojení %d" #: ../clients/tui/nm-editor-utils.c:217 ../clients/tui/nmt-page-vlan.c:82 #: ../libnm-core/nm-connection.c:1937 ../libnm-glib/nm-device.c:1841 #: ../libnm-util/nm-connection.c:1632 ../libnm/nm-device.c:1537 msgid "VLAN" -msgstr "" +msgstr "VLAN" #: ../clients/tui/nm-editor-utils.c:221 #, c-format @@ -7184,14 +7168,13 @@ msgid "VLAN connection %d" msgstr "VLAN připojení %d" #: ../clients/tui/nm-editor-utils.c:225 ../clients/tui/nmt-page-ip-tunnel.c:136 -#, fuzzy msgid "IP tunnel" -msgstr "Aktivní připojení" +msgstr "IP tunel" #: ../clients/tui/nm-editor-utils.c:229 -#, fuzzy, c-format +#, c-format msgid "IP tunnel connection %d" -msgstr "Aktivní připojení" +msgstr "IP tunel připojení %d" #: ../clients/tui/nm-editor-utils.c:244 #, c-format @@ -7200,30 +7183,30 @@ msgstr "VPN připojení %d" #: ../clients/tui/nmt-device-entry.c:370 msgid "Select..." -msgstr "" +msgstr "Vybrat..." #: ../clients/tui/nmt-edit-connection-list.c:110 msgid "Add" -msgstr "" +msgstr "Přidat" #: ../clients/tui/nmt-edit-connection-list.c:113 #: ../clients/tui/nmt-page-ip4.c:169 ../clients/tui/nmt-page-ip6.c:167 #: ../clients/tui/nmt-page-team-port.c:109 ../clients/tui/nmt-page-team.c:173 msgid "Edit..." -msgstr "" +msgstr "Upravit..." #: ../clients/tui/nmt-edit-connection-list.c:116 #: ../clients/tui/nmtui-edit.c:531 msgid "Delete" -msgstr "" +msgstr "Odstranit" #: ../clients/tui/nmt-editor-section.c:103 msgid "Hide" -msgstr "" +msgstr "Skrýt" #: ../clients/tui/nmt-editor-section.c:103 msgid "Show" -msgstr "" +msgstr "Zobrazit" #: ../clients/tui/nmt-editor.c:98 #, c-format @@ -7252,7 +7235,7 @@ msgstr "nelze se připojit ke skupině netlink: %s" #: ../clients/tui/nmt-editor.c:333 msgid "Profile name" -msgstr "" +msgstr "Název profilu" #: ../clients/tui/nmt-editor.c:344 msgid "Ethernet device" @@ -7265,17 +7248,17 @@ msgstr "Zařízení" #. And finally the bottom widgets #: ../clients/tui/nmt-editor.c:406 msgid "Automatically connect" -msgstr "" +msgstr "Automaticky připojit" #: ../clients/tui/nmt-editor.c:412 msgid "Available to all users" -msgstr "" +msgstr "Dostupné pro všechny uživatele" #: ../clients/tui/nmt-editor.c:427 ../clients/tui/nmt-password-dialog.c:171 #: ../clients/tui/nmt-route-editor.c:115 ../clients/tui/nmtui-edit.c:222 #: ../clients/tui/nmtui-edit.c:530 ../clients/tui/nmtui-hostname.c:67 msgid "Cancel" -msgstr "" +msgstr "Zrušit" #: ../clients/tui/nmt-mtu-entry.c:86 ../clients/tui/nmt-mtu-entry.c:117 msgid "bytes" @@ -7291,7 +7274,7 @@ msgstr "" #: ../clients/tui/nmt-page-bond.c:87 msgid "XOR" -msgstr "" +msgstr "XOR" #: ../clients/tui/nmt-page-bond.c:88 msgid "Broadcast" @@ -7314,9 +7297,8 @@ msgid "MII (recommended)" msgstr "" #: ../clients/tui/nmt-page-bond.c:98 -#, fuzzy msgid "ARP" -msgstr "AP" +msgstr "ARP" #: ../clients/tui/nmt-page-bond.c:359 msgid "BOND" @@ -7386,7 +7368,7 @@ msgstr "" #: ../clients/tui/nmt-page-bridge.c:81 msgid "BRIDGE" -msgstr "" +msgstr "MOST" #: ../clients/tui/nmt-page-bridge.c:96 ../clients/tui/nmt-page-bridge.c:127 #: ../clients/tui/nmt-page-bridge.c:137 ../clients/tui/nmt-page-bridge.c:147 @@ -7426,29 +7408,27 @@ msgstr "" #: ../clients/tui/nmt-page-ip-tunnel.c:186 ../clients/tui/nmt-page-vlan.c:116 #: ../clients/tui/nmt-page-wifi.c:359 msgid "MTU" -msgstr "" +msgstr "MTU" #: ../clients/tui/nmt-page-infiniband.c:47 msgid "Datagram" msgstr "" #: ../clients/tui/nmt-page-infiniband.c:48 -#, fuzzy msgid "Connected" -msgstr "připojeno" +msgstr "je připojeno" #: ../clients/tui/nmt-page-infiniband.c:81 msgid "INFINIBAND" -msgstr "" +msgstr "INFINIBAND" #: ../clients/tui/nmt-page-infiniband.c:88 msgid "Transport mode" msgstr "" #: ../clients/tui/nmt-page-ip4.c:38 -#, fuzzy msgid "Disabled" -msgstr "zakázáno" +msgstr "je zakázáno" #: ../clients/tui/nmt-page-ip4.c:39 ../clients/tui/nmt-page-ip6.c:39 msgid "Automatic" @@ -7456,7 +7436,7 @@ msgstr "" #: ../clients/tui/nmt-page-ip4.c:40 ../clients/tui/nmt-page-ip6.c:41 msgid "Link-Local" -msgstr "" +msgstr "Link-Local" #: ../clients/tui/nmt-page-ip4.c:41 ../clients/tui/nmt-page-ip6.c:42 msgid "Manual" @@ -7480,15 +7460,15 @@ msgstr[2] "" #: ../clients/tui/nmt-page-ip4.c:128 msgid "IPv4 CONFIGURATION" -msgstr "" +msgstr "IPv4 KONFIGURACE" #: ../clients/tui/nmt-page-ip4.c:136 ../clients/tui/nmt-page-ip6.c:136 msgid "Addresses" -msgstr "" +msgstr "Adresy" #: ../clients/tui/nmt-page-ip4.c:150 ../clients/tui/nmt-page-ip6.c:150 msgid "DNS servers" -msgstr "" +msgstr "DNS servery" #: ../clients/tui/nmt-page-ip4.c:156 ../clients/tui/nmt-page-ip6.c:156 msgid "Search domains" @@ -7496,7 +7476,7 @@ msgstr "" #: ../clients/tui/nmt-page-ip4.c:171 ../clients/tui/nmt-page-ip6.c:169 msgid "Routing" -msgstr "" +msgstr "Směrování" #: ../clients/tui/nmt-page-ip4.c:173 ../clients/tui/nmt-page-ip6.c:171 msgid "Never use this network for default route" @@ -7508,110 +7488,108 @@ msgstr "" #: ../clients/tui/nmt-page-ip4.c:187 msgid "Require IPv4 addressing for this connection" -msgstr "" +msgstr "Požadovat adresování IPv4 pro toto připojení" #: ../clients/tui/nmt-page-ip6.c:38 msgid "Ignore" -msgstr "" +msgstr "Ignorovat" #: ../clients/tui/nmt-page-ip6.c:40 msgid "Automatic (DHCP-only)" -msgstr "" +msgstr "Automatické (pouze DHCP)" #: ../clients/tui/nmt-page-ip6.c:128 msgid "IPv6 CONFIGURATION" -msgstr "" +msgstr "IPv6 KONFIGURACE" #: ../clients/tui/nmt-page-ip6.c:185 msgid "Require IPv6 addressing for this connection" -msgstr "" +msgstr "Požadovat adresování IPv6 pro toto připojení" #. 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:87 msgid "Parent" -msgstr "" +msgstr "Rodič" #: ../clients/tui/nmt-page-ip-tunnel.c:157 msgid "Local IP" -msgstr "" +msgstr "Lokální IP" #: ../clients/tui/nmt-page-ip-tunnel.c:163 msgid "Remote IP" -msgstr "" +msgstr "Vzdálená IP" #: ../clients/tui/nmt-page-ip-tunnel.c:169 msgid "Input key" -msgstr "" +msgstr "Vstupní klíč" #: ../clients/tui/nmt-page-ip-tunnel.c:176 msgid "Output key" -msgstr "" +msgstr "Výstupní klíč" #: ../clients/tui/nmt-page-ppp.c:131 msgid "PPP CONFIGURATION" -msgstr "" +msgstr "PPP KONFIGURACE" #: ../clients/tui/nmt-page-ppp.c:140 msgid "Allowed authentication methods:" -msgstr "" +msgstr "Povolené metody autentizace:" #: ../clients/tui/nmt-page-ppp.c:147 -#, fuzzy msgid "EAP" -msgstr "AP" +msgstr "EAP" #: ../clients/tui/nmt-page-ppp.c:155 -#, fuzzy msgid "PAP" -msgstr "AP" +msgstr "PAP" #: ../clients/tui/nmt-page-ppp.c:163 msgid "CHAP" -msgstr "" +msgstr "CHAP" #: ../clients/tui/nmt-page-ppp.c:171 msgid "MSCHAPv2" -msgstr "" +msgstr "MSCHAPv2" #: ../clients/tui/nmt-page-ppp.c:179 msgid "MSCHAP" -msgstr "" +msgstr "MSCHAP" #: ../clients/tui/nmt-page-ppp.c:195 msgid "Use point-to-point encryption (MPPE)" @@ -7643,120 +7621,116 @@ msgstr "" #: ../clients/tui/nmt-page-team-port.c:92 msgid "TEAM PORT" -msgstr "" +msgstr "TEAM PORT" #: ../clients/tui/nmt-page-team-port.c:99 ../clients/tui/nmt-page-team.c:163 msgid "JSON configuration" -msgstr "" +msgstr "JSON konfigurace" #: ../clients/tui/nmt-page-team.c:145 msgid "TEAM" -msgstr "" +msgstr "TEAM" #: ../clients/tui/nmt-page-vlan.c:102 msgid "VLAN id" -msgstr "" +msgstr "VLAN id" #: ../clients/tui/nmt-page-wifi.c:57 msgctxt "Wi-Fi" msgid "Client" -msgstr "" +msgstr "Klient" #: ../clients/tui/nmt-page-wifi.c:58 msgid "Access Point" -msgstr "" +msgstr "Přístupový bod" #: ../clients/tui/nmt-page-wifi.c:59 -#, fuzzy msgid "Ad-Hoc Network" -msgstr "Ad-Hoc" +msgstr "Ad-Hoc síť" #: ../clients/tui/nmt-page-wifi.c:64 msgctxt "Wi-Fi" msgid "Automatic" -msgstr "" +msgstr "Automaticky" #. 802.11a Wi-Fi network #: ../clients/tui/nmt-page-wifi.c:66 msgid "A (5 GHz)" -msgstr "" +msgstr "A (5 GHz)" #. 802.11b / 802.11g Wi-Fi network #: ../clients/tui/nmt-page-wifi.c:68 msgid "B/G (2.4 GHz)" -msgstr "" +msgstr "B/G (2.4 GHz)" #: ../clients/tui/nmt-page-wifi.c:73 msgctxt "Wi-Fi security" msgid "None" -msgstr "" +msgstr "Žádné" #: ../clients/tui/nmt-page-wifi.c:74 msgid "WPA & WPA2 Personal" -msgstr "" +msgstr "WPA & WPA2 Personal" #: ../clients/tui/nmt-page-wifi.c:75 -#, fuzzy msgid "WPA & WPA2 Enterprise" -msgstr "Podnikové " +msgstr "WPA & WPA2 Enterprise" #: ../clients/tui/nmt-page-wifi.c:76 msgid "WEP 40/128-bit Key (Hex or ASCII)" -msgstr "" +msgstr "WEP 40/128-bit klíč (Hex nebo ASCII)" #: ../clients/tui/nmt-page-wifi.c:77 -#, fuzzy msgid "WEP 128-bit Passphrase" -msgstr "%d (104/128bitové heslo)" +msgstr "WEP 128-bit heslo" #: ../clients/tui/nmt-page-wifi.c:78 msgid "Dynamic WEP (802.1x)" -msgstr "" +msgstr "Dynamický WEP (802.1x)" #: ../clients/tui/nmt-page-wifi.c:79 msgid "LEAP" -msgstr "" +msgstr "LEAP" #: ../clients/tui/nmt-page-wifi.c:84 msgctxt "WEP key index" msgid "1 (Default)" -msgstr "" +msgstr "1 (Výchozí)" #: ../clients/tui/nmt-page-wifi.c:85 msgctxt "WEP key index" msgid "2" -msgstr "" +msgstr "2" #: ../clients/tui/nmt-page-wifi.c:86 msgctxt "WEP key index" msgid "3" -msgstr "" +msgstr "3" #: ../clients/tui/nmt-page-wifi.c:87 msgctxt "WEP key index" msgid "4" -msgstr "" +msgstr "4" #: ../clients/tui/nmt-page-wifi.c:92 -#, fuzzy msgid "Open System" -msgstr "Systém" +msgstr "Otevřený systém" #: ../clients/tui/nmt-page-wifi.c:93 msgid "Shared Key" -msgstr "" +msgstr "Sdílený klíč" #: ../clients/tui/nmt-page-wifi.c:203 msgid "WI-FI" -msgstr "" +msgstr "WI-FI" #: ../clients/tui/nmt-page-wifi.c:245 msgid "Channel" -msgstr "" +msgstr "Kanál" #: ../clients/tui/nmt-page-wifi.c:250 msgid "Security" -msgstr "" +msgstr "Zabezpečení" #. "wpa-enterprise" #. FIXME @@ -7765,13 +7739,12 @@ msgid "(No support for wpa-enterprise yet...)" msgstr "" #: ../clients/tui/nmt-page-wifi.c:281 ../clients/tui/nmt-page-wifi.c:300 -#, fuzzy msgid "WEP index" -msgstr "WEP " +msgstr "WEP index" #: ../clients/tui/nmt-page-wifi.c:289 ../clients/tui/nmt-page-wifi.c:308 msgid "Authentication" -msgstr "" +msgstr "Autentizace" #. "dynamic-wep" #. FIXME @@ -7789,11 +7762,11 @@ msgstr "" #: ../clients/tui/nmt-password-fields.c:129 msgid "Show password" -msgstr "" +msgstr "Zobrazit heslo" #: ../clients/tui/nmt-route-table.c:191 msgid "Destination" -msgstr "" +msgstr "Cíl" #: ../clients/tui/nmt-route-table.c:191 msgid "Prefix" @@ -7801,11 +7774,11 @@ msgstr "Předčíslí" #: ../clients/tui/nmt-route-table.c:200 msgid "Next Hop" -msgstr "" +msgstr "Další skok" #: ../clients/tui/nmt-route-table.c:208 msgid "Metric" -msgstr "" +msgstr "Metrika" #: ../clients/tui/nmt-route-table.c:228 msgid "No custom routes are defined." @@ -7817,11 +7790,11 @@ msgstr "" #: ../clients/tui/nmt-widget-list.c:139 msgid "Add..." -msgstr "" +msgstr "Přidat..." #: ../clients/tui/nmt-widget-list.c:202 msgid "Remove" -msgstr "" +msgstr "Odstranit" #: ../clients/tui/nmtui-connect.c:54 msgid "" @@ -7845,48 +7818,43 @@ msgid "openconnect failed with signal %d" msgstr "" #: ../clients/tui/nmtui-connect.c:178 -#, fuzzy msgid "Activation failed" -msgstr "připojení se nezdařilo" +msgstr "Aktivace se nezdařila" #: ../clients/tui/nmtui-connect.c:233 -#, fuzzy msgid "Connecting..." -msgstr "připojuje se" +msgstr "připojuje se..." #: ../clients/tui/nmtui-connect.c:271 ../clients/tui/nmtui-connect.c:302 -#, fuzzy, c-format +#, c-format msgid "Could not activate connection: %s" -msgstr "žádné aktivní připojení nebo zařízení „%s“" +msgstr "Nelze aktivovat připojení: %s" #: ../clients/tui/nmtui-connect.c:362 ../clients/tui/nmtui-connect.c:411 -#, fuzzy msgid "Activate" -msgstr "aktivováno" +msgstr "Aktivovat" #: ../clients/tui/nmtui-connect.c:364 -#, fuzzy msgid "Deactivate" -msgstr "aktivováno" +msgstr "Deaktivovat" #: ../clients/tui/nmtui-connect.c:416 ../clients/tui/nmtui-edit.c:120 #: ../clients/tui/nmtui.c:130 msgid "Quit" -msgstr "" +msgstr "Ukončit" #: ../clients/tui/nmtui-connect.c:416 ../clients/tui/nmtui-edit.c:120 msgid "Back" -msgstr "" +msgstr "Zpět" #: ../clients/tui/nmtui-connect.c:439 -#, fuzzy, c-format +#, c-format msgid "No such connection '%s'" -msgstr "Připojení PAN %d" +msgstr "Připojení „%s“ neexistuje" #: ../clients/tui/nmtui-connect.c:441 -#, fuzzy msgid "Connection is already active" -msgstr "Připojení aktivováno\n" +msgstr "Připojení je již aktivní" #: ../clients/tui/nmtui-edit.c:230 msgid "Create" @@ -7903,9 +7871,8 @@ msgid "" msgstr "" #: ../clients/tui/nmtui-edit.c:416 ../clients/tui/nmtui-edit.c:432 -#, fuzzy msgid "New Connection" -msgstr "VPN se připojuje" +msgstr "Nové připojení" #: ../clients/tui/nmtui-edit.c:471 #, fuzzy, c-format @@ -7942,41 +7909,36 @@ msgid "Unable to set hostname: %s" msgstr "" #: ../clients/tui/nmtui.c:53 ../clients/tui/nmtui.c:56 -#, fuzzy msgid "connection" -msgstr "připojuje se" +msgstr "připojení" #: ../clients/tui/nmtui.c:54 -#, fuzzy msgid "Edit a connection" -msgstr "odpojuje se" +msgstr "Upravit připojení" #: ../clients/tui/nmtui.c:57 -#, fuzzy msgid "Activate a connection" -msgstr "Aktivní připojení" +msgstr "Aktivovat připojení" #: ../clients/tui/nmtui.c:59 msgid "new hostname" -msgstr "" +msgstr "nový název počítače" #: ../clients/tui/nmtui.c:60 -#, fuzzy msgid "Set system hostname" -msgstr "Měnit trvalý systémový název počítače" +msgstr "Nastavit systémový název počítače" #: ../clients/tui/nmtui.c:104 -#, fuzzy msgid "NetworkManager TUI" -msgstr "Stav správce sítě NetworkManager" +msgstr "NetworkManager TUI" #: ../clients/tui/nmtui.c:112 msgid "Please select an option" -msgstr "" +msgstr "Prosím vyberte možnost" #: ../clients/tui/nmtui.c:160 msgid "Usage" -msgstr "" +msgstr "Použití" #: ../clients/tui/nmtui.c:241 msgid "Could not parse arguments" @@ -7988,9 +7950,8 @@ msgid "Could not contact NetworkManager: %s.\n" msgstr "" #: ../clients/tui/nmtui.c:256 -#, fuzzy msgid "NetworkManager is not running." -msgstr "Chyba: NetworkManager neběží." +msgstr "NetworkManager neběží." #: ../libnm-core/crypto.c:118 ../libnm-util/crypto.c:131 #, c-format @@ -8350,9 +8311,8 @@ msgid "property is missing" msgstr "Chyba: schází argument %s." #: ../libnm-core/nm-connection.c:1942 -#, fuzzy msgid "IP Tunnel" -msgstr "Aktivní připojení" +msgstr "IP tunel" #: ../libnm-core/nm-dbus-utils.c:188 #, c-format @@ -9701,39 +9661,39 @@ msgstr "" #: ../libnm-glib/nm-device.c:1825 ../libnm/nm-device.c:1521 msgid "Bluetooth" -msgstr "" +msgstr "Bluetooth" #: ../libnm-glib/nm-device.c:1827 ../libnm/nm-device.c:1523 msgid "OLPC Mesh" -msgstr "" +msgstr "OLPC Mesh" #: ../libnm-glib/nm-device.c:1829 ../libnm/nm-device.c:1525 msgid "WiMAX" -msgstr "" +msgstr "WiMAX" #: ../libnm-glib/nm-device.c:1843 ../libnm/nm-device.c:1539 msgid "ADSL" -msgstr "" +msgstr "ADSL" #: ../libnm-glib/nm-device.c:1845 ../libnm/nm-device.c:1541 msgid "MACVLAN" -msgstr "" +msgstr "MACVLAN" #: ../libnm-glib/nm-device.c:1847 ../libnm/nm-device.c:1543 msgid "VXLAN" -msgstr "" +msgstr "VXLAN" #: ../libnm-glib/nm-device.c:1849 ../libnm/nm-device.c:1545 msgid "IPTunnel" -msgstr "" +msgstr "IPTunnel" #: ../libnm-glib/nm-device.c:1851 ../libnm/nm-device.c:1547 msgid "Tun" -msgstr "" +msgstr "Tun" #: ../libnm-glib/nm-device.c:1853 ../libnm/nm-device.c:1549 msgid "Veth" -msgstr "" +msgstr "Veth" #: ../libnm-glib/nm-device.c:1885 ../libnm/nm-device.c:1585 msgid "Wired" @@ -9741,11 +9701,11 @@ msgstr "Drátové" #: ../libnm-glib/nm-device.c:1916 ../libnm/nm-device.c:1616 msgid "PCI" -msgstr "" +msgstr "PCI" #: ../libnm-glib/nm-device.c:1918 ../libnm/nm-device.c:1618 msgid "USB" -msgstr "" +msgstr "USB" #. TRANSLATORS: the first %s is a bus name (eg, "USB") or #. * product name, the second is a device type (eg, @@ -10020,16 +9980,16 @@ msgstr "" #: ../libnm/nm-device.c:1551 msgid "MACsec" -msgstr "" +msgstr "MACsec" #: ../libnm/nm-device.c:1553 msgid "Dummy" -msgstr "" +msgstr "Prázdné" #: ../libnm/nm-device.c:2444 -#, fuzzy, c-format +#, c-format msgid "The connection was not valid: %s" -msgstr "připojení odstraněno" +msgstr "Připojení nebylo platné: %s" #: ../libnm/nm-device.c:2453 #, c-format @@ -10045,9 +10005,8 @@ msgid "Connection removed before it was initialized" msgstr "" #: ../libnm/nm-vpn-plugin-old.c:957 ../libnm/nm-vpn-service-plugin.c:979 -#, fuzzy msgid "No service name specified" -msgstr "Chyba: nebylo určeno rozhraní." +msgstr "Nebyl určen název služby" #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:1 msgid "Enable or disable system networking" @@ -10058,14 +10017,12 @@ msgid "System policy prevents enabling or disabling system networking" msgstr "Systémová zásada zamezuje povolit nebo zakázat systémovou síť" #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:3 -#, fuzzy msgid "Reload NetworkManager configuration" -msgstr "Stav správce sítě NetworkManager" +msgstr "Znovu načíst konfiguraci NetworkManageru" #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:4 -#, fuzzy msgid "System policy prevents reloading NetworkManager" -msgstr "Systémová zásada zamezuje povolit nebo zakázat systémovou síť" +msgstr "Systémová zásada zamezuje opětovnému načtení NetworkManageru" #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:5 msgid "" @@ -10178,14 +10135,12 @@ msgid "System policy prevents the creation of a checkpoint or its rollback" msgstr "Systémová zásada zabránila změně trvalého systémového názvu počítače" #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:29 -#, fuzzy msgid "Enable or disable device statistics" -msgstr "Povolit nebo zakázat zařízení WiFi" +msgstr "Povolit nebo zakázat statistiky zařízení" #: ../data/org.freedesktop.NetworkManager.policy.in.in.h:30 -#, fuzzy msgid "System policy prevents enabling or disabling device statistics" -msgstr "Systémová zásada zamezuje povolit nebo zakázat zařízení WiFi" +msgstr "Systémová zásada zamezuje povolení nebo zakázání statistik zařízení" #: ../shared/nm-utils/nm-shared-utils.c:345 #, c-format @@ -10231,15 +10186,14 @@ msgid "%s %d" msgstr "" #: ../src/main.c:179 ../src/main.c:318 -#, fuzzy, c-format +#, c-format msgid "Failed to read configuration: %s\n" -msgstr "Selhalo nastavení IV pro šifrování: %s / %s." +msgstr "Selhalo čtení konfigurace: %s\n" #. Logging/debugging #: ../src/main.c:193 ../src/nm-iface-helper.c:309 -#, fuzzy msgid "Print NetworkManager version and exit" -msgstr "Stav správce sítě NetworkManager" +msgstr "Vypsat verzi NetworkManageru a skončit" #: ../src/main.c:194 ../src/nm-iface-helper.c:310 msgid "Don't become a daemon" @@ -10286,9 +10240,9 @@ msgid "Ignoring unrecognized log domain(s) '%s' passed on command line.\n" msgstr "" #: ../src/main.c:333 -#, fuzzy, c-format +#, c-format msgid "Error in configuration file: %s.\n" -msgstr "Chyba: Selhala aktivace připojení: %s" +msgstr "Chyba v konfiguračním souboru: %s.\n" #: ../src/main.c:338 #, c-format @@ -10346,7 +10300,7 @@ msgstr "" #: ../src/devices/bluetooth/nm-bluez-device.c:210 #, c-format msgid "%s Network" -msgstr "" +msgstr "Síť %s" #: ../src/devices/bluetooth/nm-device-bt.c:264 msgid "PAN requested, but Bluetooth device does not support NAP" @@ -10357,9 +10311,8 @@ msgid "PAN connections cannot specify GSM, CDMA, or serial settings" msgstr "" #: ../src/devices/bluetooth/nm-device-bt.c:287 -#, fuzzy msgid "PAN connection" -msgstr "Připojení PAN %d" +msgstr "Připojení PAN" #: ../src/devices/bluetooth/nm-device-bt.c:294 msgid "DUN requested, but Bluetooth device does not support DUN" @@ -10371,9 +10324,8 @@ msgstr "" #: ../src/devices/bluetooth/nm-device-bt.c:314 #: ../src/devices/wwan/nm-modem-broadband.c:706 -#, fuzzy msgid "GSM connection" -msgstr "Připojení GSM %d" +msgstr "GSM připojení" #: ../src/devices/bluetooth/nm-device-bt.c:318 #: ../src/devices/wwan/nm-modem-broadband.c:730 @@ -10393,19 +10345,16 @@ msgid "connection does not match device" msgstr "žádné aktivní připojení nebo zařízení" #: ../src/devices/nm-device-bond.c:109 -#, fuzzy msgid "Bond connection" -msgstr "připojuje se" +msgstr "Připojení Bond" #: ../src/devices/nm-device-bridge.c:115 -#, fuzzy msgid "Bridge connection" -msgstr "Aktivní připojení" +msgstr "Připojení Most" #: ../src/devices/nm-device-dummy.c:70 -#, fuzzy msgid "Dummy connection" -msgstr "Připojení GSM %d" +msgstr "Prázdné připojení" #: ../src/devices/nm-device-ethernet.c:1435 msgid "PPPoE connection" @@ -10421,29 +10370,24 @@ msgid "Wired connection %d" msgstr "Drátové připojení %d" #: ../src/devices/nm-device-ip-tunnel.c:340 -#, fuzzy msgid "IP tunnel connection" -msgstr "Aktivní připojení" +msgstr "IP tunel připojení" #: ../src/devices/nm-device-macvlan.c:407 -#, fuzzy msgid "MACVLAN connection" -msgstr "VPN se připojuje" +msgstr "MACVLAN připojení" #: ../src/devices/nm-device-tun.c:146 -#, fuzzy msgid "TUN connection" -msgstr "Připojení DUN %d" +msgstr "TUN připojení" #: ../src/devices/team/nm-device-team.c:135 -#, fuzzy msgid "Team connection" -msgstr "Aktivní připojení" +msgstr "Team připojení" #: ../src/devices/wifi/nm-device-olpc-mesh.c:156 -#, fuzzy msgid "Mesh" -msgstr "Mesh %d" +msgstr "Mesh" #: ../src/devices/wifi/nm-device-wifi.c:905 msgid "WPA Ad-Hoc disabled due to kernel bugs" @@ -10658,9 +10602,8 @@ msgid "The interface to manage" msgstr "" #: ../src/nm-iface-helper.c:292 -#, fuzzy msgid "Connection UUID" -msgstr "Seznam připojení" +msgstr "UUID připojení" #: ../src/nm-iface-helper.c:293 #, fuzzy @@ -10767,4 +10710,4 @@ msgstr "Neznámá úroveň evidence „%s“" #: ../src/nm-logging.c:369 #, c-format msgid "Unknown log domain '%s'" -msgstr "Neznámá doména evidence „%s“" +msgstr "Neznámá doména evidence „%s“" \ No newline at end of file diff --git a/shared/nm-utils/nm-shared-utils.h b/shared/nm-utils/nm-shared-utils.h index b3099738..5125bd3d 100644 --- a/shared/nm-utils/nm-shared-utils.h +++ b/shared/nm-utils/nm-shared-utils.h @@ -480,6 +480,19 @@ _nm_g_slice_free_fcn_define (16) /*****************************************************************************/ +static inline int +nm_errno (int errsv) +{ + /* several API returns negative errno values as errors. Normalize + * negative values to positive values. + * + * As a special case, map G_MININT to G_MAXINT. If you care about the + * distinction, then check for G_MININT before. */ + return errsv >= 0 + ? errsv + : ((errsv == G_MININT) ? G_MAXINT : -errsv); +} + /** * NMUtilsError: * @NM_UTILS_ERROR_UNKNOWN: unknown or unclassified error @@ -542,6 +555,14 @@ nm_utils_error_set_literal (GError **error, int error_code, const char *literal) #define nm_utils_error_set(error, error_code, ...) \ g_set_error ((error), NM_UTILS_ERROR, error_code, __VA_ARGS__) +#define nm_utils_error_set_errno(error, errsv, fmt, ...) \ + g_set_error ((error), \ + NM_UTILS_ERROR, \ + NM_UTILS_ERROR_UNKNOWN, \ + fmt, \ + ##__VA_ARGS__, \ + g_strerror (nm_errno (errsv))) + /*****************************************************************************/ gboolean nm_g_object_set_property (GObject *object, diff --git a/shared/nm-version-macros.h b/shared/nm-version-macros.h index d53e59f2..d14f6361 100644 --- a/shared/nm-version-macros.h +++ b/shared/nm-version-macros.h @@ -37,7 +37,7 @@ * Evaluates to the minor version number of NetworkManager which this source * is compiled against. */ -#define NM_MINOR_VERSION (13) +#define NM_MINOR_VERSION (14) /** * NM_MICRO_VERSION: @@ -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 (0) /** * NM_CHECK_VERSION: diff --git a/src/devices/nm-device-6lowpan.c b/src/devices/nm-device-6lowpan.c index 600d1b80..b6b9157c 100644 --- a/src/devices/nm-device-6lowpan.c +++ b/src/devices/nm-device-6lowpan.c @@ -114,7 +114,7 @@ create_and_realize (NMDevice *device, NMSetting6Lowpan *s_6lowpan; int parent_ifindex; - s_6lowpan = nm_connection_get_setting_6lowpan (connection); + s_6lowpan = NM_SETTING_6LOWPAN (nm_connection_get_setting (connection, NM_TYPE_SETTING_6LOWPAN)); g_return_val_if_fail (s_6lowpan, FALSE); parent_ifindex = parent ? nm_device_get_ifindex (parent) : 0; @@ -192,7 +192,7 @@ complete_connection (NMDevice *device, NULL, TRUE); - s_6lowpan = nm_connection_get_setting_6lowpan (connection); + s_6lowpan = NM_SETTING_6LOWPAN (nm_connection_get_setting (connection, NM_TYPE_SETTING_6LOWPAN)); if (!s_6lowpan) { g_set_error_literal (error, NM_DEVICE_ERROR, NM_DEVICE_ERROR_INVALID_CONNECTION, "A '6lowpan' setting is required."); @@ -215,7 +215,7 @@ complete_connection (NMDevice *device, static void update_connection (NMDevice *device, NMConnection *connection) { - NMSetting6Lowpan *s_6lowpan = nm_connection_get_setting_6lowpan (connection); + NMSetting6Lowpan *s_6lowpan = NM_SETTING_6LOWPAN (nm_connection_get_setting (connection, NM_TYPE_SETTING_6LOWPAN)); if (!s_6lowpan) { s_6lowpan = (NMSetting6Lowpan *) nm_setting_6lowpan_new (); @@ -310,7 +310,7 @@ get_connection_parent (NMDeviceFactory *factory, NMConnection *connection) g_return_val_if_fail (nm_connection_is_type (connection, NM_SETTING_6LOWPAN_SETTING_NAME), NULL); - s_6lowpan = nm_connection_get_setting_6lowpan (connection); + s_6lowpan = NM_SETTING_6LOWPAN (nm_connection_get_setting (connection, NM_TYPE_SETTING_6LOWPAN)); g_assert (s_6lowpan); return nm_setting_6lowpan_get_parent (s_6lowpan); @@ -326,7 +326,7 @@ get_connection_iface (NMDeviceFactory *factory, g_return_val_if_fail (nm_connection_is_type (connection, NM_SETTING_6LOWPAN_SETTING_NAME), NULL); - s_6lowpan = nm_connection_get_setting_6lowpan (connection); + s_6lowpan = NM_SETTING_6LOWPAN (nm_connection_get_setting (connection, NM_TYPE_SETTING_6LOWPAN)); g_assert (s_6lowpan); if (!parent_iface) diff --git a/src/devices/nm-device-wpan.c b/src/devices/nm-device-wpan.c index dd2ebac1..f910b0b8 100644 --- a/src/devices/nm-device-wpan.c +++ b/src/devices/nm-device-wpan.c @@ -69,7 +69,7 @@ complete_connection (NMDevice *device, NULL, TRUE); - s_wpan = nm_connection_get_setting_wpan (connection); + s_wpan = NM_SETTING_WPAN (nm_connection_get_setting (connection, NM_TYPE_SETTING_WPAN)); if (!s_wpan) { g_set_error_literal (error, NM_DEVICE_ERROR, NM_DEVICE_ERROR_INVALID_CONNECTION, "A 'wpan' setting is required."); @@ -82,7 +82,7 @@ complete_connection (NMDevice *device, static void update_connection (NMDevice *device, NMConnection *connection) { - NMSettingWpan *s_wpan = nm_connection_get_setting_wpan (connection); + NMSettingWpan *s_wpan = NM_SETTING_WPAN (nm_connection_get_setting (connection, NM_TYPE_SETTING_WPAN)); if (!s_wpan) { s_wpan = (NMSettingWpan *) nm_setting_wpan_new (); @@ -99,7 +99,7 @@ check_connection_compatible (NMDevice *device, NMConnection *connection, GError if (!NM_DEVICE_CLASS (nm_device_wpan_parent_class)->check_connection_compatible (device, connection, error)) return FALSE; - s_wpan = nm_connection_get_setting_wpan (connection); + s_wpan = NM_SETTING_WPAN (nm_connection_get_setting (connection, NM_TYPE_SETTING_WPAN)); mac = nm_setting_wpan_get_mac_address (s_wpan); if (mac) { @@ -143,7 +143,7 @@ act_stage1_prepare (NMDevice *device, NMDeviceStateReason *out_failure_reason) connection = nm_device_get_applied_connection (device); g_return_val_if_fail (connection, NM_ACT_STAGE_RETURN_FAILURE); - s_wpan = nm_connection_get_setting_wpan (connection); + s_wpan = NM_SETTING_WPAN (nm_connection_get_setting (connection, NM_TYPE_SETTING_WPAN)); g_return_val_if_fail (s_wpan, NM_ACT_STAGE_RETURN_FAILURE); hwaddr = nm_platform_link_get_address (platform, ifindex, &hwaddr_len); diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c index 515e6334..8ca899a2 100644 --- a/src/devices/nm-device.c +++ b/src/devices/nm-device.c @@ -80,7 +80,10 @@ #include "nm-audit-manager.h" #include "nm-connectivity.h" #include "nm-dbus-interface.h" + +#include "nm-device-generic.h" #include "nm-device-vlan.h" +#include "nm-device-wireguard.h" #include "nm-device-logging.h" _LOG_DECLARE_SELF (NMDevice); @@ -823,6 +826,13 @@ _ethtool_state_set (NMDevice *self) /*****************************************************************************/ +static gboolean +is_loopback (NMDevice *self) +{ + return NM_IS_DEVICE_GENERIC (self) + && NM_DEVICE_GET_PRIVATE (self)->ifindex == 1; +} + NMSettings * nm_device_get_settings (NMDevice *self) { @@ -2460,7 +2470,7 @@ concheck_is_possible (NMDevice *self) NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE (self); if ( !nm_device_is_real (self) - || NM_FLAGS_HAS (priv->unmanaged_flags, NM_UNMANAGED_LOOPBACK)) + || is_loopback (self)) return FALSE; /* we enable periodic checks for every device state (except UNKNOWN). Especially with @@ -4289,10 +4299,13 @@ realize_start_setup (NMDevice *self, NM_UNMANAGED_EXTERNAL_DOWN, is_unmanaged_external_down (self, TRUE)); - /* Unmanaged the loopback device with an explicit NM_UNMANAGED_LOOPBACK flag. + /* Unmanaged the loopback device with an explicit NM_UNMANAGED_BY_TYPE flag. * Later we might want to manage 'lo' too. Currently that doesn't work because * NetworkManager might down the interface or remove the 127.0.0.1 address. */ - nm_device_set_unmanaged_flags (self, NM_UNMANAGED_LOOPBACK, priv->ifindex == 1); + nm_device_set_unmanaged_flags (self, + NM_UNMANAGED_BY_TYPE, + is_loopback (self) + || NM_IS_DEVICE_WIREGUARD (self)); nm_device_set_unmanaged_by_user_udev (self); nm_device_set_unmanaged_by_user_conf (self); @@ -4488,7 +4501,7 @@ nm_device_unrealize (NMDevice *self, gboolean remove_resources, GError **error) nm_device_set_unmanaged_flags (self, NM_UNMANAGED_PARENT | - NM_UNMANAGED_LOOPBACK | + NM_UNMANAGED_BY_TYPE | NM_UNMANAGED_USER_UDEV | NM_UNMANAGED_USER_EXPLICIT | NM_UNMANAGED_EXTERNAL_DOWN | @@ -5596,6 +5609,14 @@ check_connection_compatible (NMDevice *self, NMConnection *connection, GError ** klass->connection_type_check_compatible, error)) return FALSE; + } else if (klass->check_connection_compatible == check_connection_compatible) { + /* the device class does not implement check_connection_compatible nor set + * connection_type_check_compatible. That means, it is by default not compatible + * with any connection type. */ + nm_utils_error_set_literal (error, + NM_UTILS_ERROR_CONNECTION_AVAILABLE_INCOMPATIBLE, + "device does not support any connections"); + return FALSE; } conn_iface = nm_manager_get_connection_iface (nm_manager_get (), @@ -7540,6 +7561,7 @@ dhcp4_start (NMDevice *self) gs_unref_bytes GBytes *hwaddr = NULL; gs_unref_bytes GBytes *client_id = NULL; NMConnection *connection; + GError *error = NULL; connection = nm_device_get_applied_connection (self); g_return_val_if_fail (connection, FALSE); @@ -7570,10 +7592,14 @@ dhcp4_start (NMDevice *self) client_id, get_dhcp_timeout (self, AF_INET), priv->dhcp_anycast_address, - NULL); + NULL, + &error); - if (!priv->dhcp4.client) + if (!priv->dhcp4.client) { + _LOGW (LOGD_DHCP4, "failure to start DHCP: %s", error->message); + g_clear_error (&error); return NM_ACT_STAGE_RETURN_FAILURE; + } priv->dhcp4.state_sigid = g_signal_connect (priv->dhcp4.client, NM_DHCP_CLIENT_SIGNAL_STATE_CHANGED, @@ -8375,6 +8401,7 @@ dhcp6_start_with_link_ready (NMDevice *self, NMConnection *connection) gs_unref_bytes GBytes *hwaddr = NULL; gs_unref_bytes GBytes *duid = NULL; gboolean enforce_duid = FALSE; + GError *error = NULL; const NMPlatformIP6Address *ll_addr = NULL; @@ -8414,23 +8441,29 @@ dhcp6_start_with_link_ready (NMDevice *self, NMConnection *connection) priv->dhcp_anycast_address, (priv->dhcp6.mode == NM_NDISC_DHCP_LEVEL_OTHERCONF) ? TRUE : FALSE, nm_setting_ip6_config_get_ip6_privacy (NM_SETTING_IP6_CONFIG (s_ip6)), - priv->dhcp6.needed_prefixes); - - if (priv->dhcp6.client) { - priv->dhcp6.state_sigid = g_signal_connect (priv->dhcp6.client, - NM_DHCP_CLIENT_SIGNAL_STATE_CHANGED, - G_CALLBACK (dhcp6_state_changed), - self); - priv->dhcp6.prefix_sigid = g_signal_connect (priv->dhcp6.client, - NM_DHCP_CLIENT_SIGNAL_PREFIX_DELEGATED, - G_CALLBACK (dhcp6_prefix_delegated), - self); + priv->dhcp6.needed_prefixes, + &error); + if (!priv->dhcp6.client) { + _LOGW (LOGD_DHCP6, "failure to start DHCPv6: %s", error->message); + g_clear_error (&error); + if (nm_device_sys_iface_state_is_external_or_assume (self)) + priv->dhcp6.was_active = TRUE; + return FALSE; } + priv->dhcp6.state_sigid = g_signal_connect (priv->dhcp6.client, + NM_DHCP_CLIENT_SIGNAL_STATE_CHANGED, + G_CALLBACK (dhcp6_state_changed), + self); + priv->dhcp6.prefix_sigid = g_signal_connect (priv->dhcp6.client, + NM_DHCP_CLIENT_SIGNAL_PREFIX_DELEGATED, + G_CALLBACK (dhcp6_prefix_delegated), + self); + if (nm_device_sys_iface_state_is_external_or_assume (self)) priv->dhcp6.was_active = TRUE; - return !!priv->dhcp6.client; + return TRUE; } static gboolean @@ -12859,7 +12892,7 @@ NM_UTILS_FLAGS2STR_DEFINE (nm_unmanaged_flags2str, NMUnmanagedFlags, NM_UTILS_FLAGS2STR (NM_UNMANAGED_SLEEPING, "sleeping"), NM_UTILS_FLAGS2STR (NM_UNMANAGED_QUITTING, "quitting"), NM_UTILS_FLAGS2STR (NM_UNMANAGED_PARENT, "parent"), - NM_UTILS_FLAGS2STR (NM_UNMANAGED_LOOPBACK, "loopback"), + NM_UTILS_FLAGS2STR (NM_UNMANAGED_BY_TYPE, "by-type"), NM_UTILS_FLAGS2STR (NM_UNMANAGED_PLATFORM_INIT, "platform-init"), NM_UTILS_FLAGS2STR (NM_UNMANAGED_USER_EXPLICIT, "user-explicit"), NM_UTILS_FLAGS2STR (NM_UNMANAGED_BY_DEFAULT, "by-default"), diff --git a/src/devices/nm-device.h b/src/devices/nm-device.h index 7d74e5b9..6342a657 100644 --- a/src/devices/nm-device.h +++ b/src/devices/nm-device.h @@ -583,7 +583,7 @@ void nm_device_copy_ip6_dns_config (NMDevice *self, NMDevice *from_device); * @NM_UNMANAGED_SLEEPING: %TRUE when unmanaged because NM is sleeping. * @NM_UNMANAGED_QUITTING: %TRUE when unmanaged because NM is shutting down. * @NM_UNMANAGED_PARENT: %TRUE when unmanaged due to parent device being unmanaged - * @NM_UNMANAGED_LOOPBACK: %TRUE for unmanaging loopback device + * @NM_UNMANAGED_BY_TYPE: %TRUE for unmanaging device by type, like loopback. * @NM_UNMANAGED_PLATFORM_INIT: %TRUE when unmanaged because platform link not * yet initialized. Unrealized device are also unmanaged for this reason. * @NM_UNMANAGED_USER_EXPLICIT: %TRUE when unmanaged by explicit user decision @@ -614,7 +614,7 @@ typedef enum { /*< skip >*/ NM_UNMANAGED_SLEEPING = (1LL << 0), NM_UNMANAGED_QUITTING = (1LL << 1), NM_UNMANAGED_PARENT = (1LL << 2), - NM_UNMANAGED_LOOPBACK = (1LL << 3), + NM_UNMANAGED_BY_TYPE = (1LL << 3), NM_UNMANAGED_PLATFORM_INIT = (1LL << 4), NM_UNMANAGED_USER_EXPLICIT = (1LL << 5), NM_UNMANAGED_USER_SETTINGS = (1LL << 6), diff --git a/src/devices/wifi/nm-device-iwd.c b/src/devices/wifi/nm-device-iwd.c index 56b1f853..32d49916 100644 --- a/src/devices/wifi/nm-device-iwd.c +++ b/src/devices/wifi/nm-device-iwd.c @@ -228,6 +228,85 @@ vardict_from_network_type (const char *type) return g_variant_new ("a{sv}", &builder); } +static void +insert_ap_from_network (GHashTable *aps, GDBusProxy *proxy, const char *path, int16_t signal, uint32_t ap_id) +{ + gs_unref_object GDBusProxy *network_proxy = NULL; + gs_unref_variant GVariant *name_value = NULL, *type_value = NULL; + const char *name, *type; + GVariantBuilder builder; + gs_unref_variant GVariant *props = NULL; + GVariant *rsn; + uint8_t bssid[6]; + NMWifiAP *ap; + GError *error; + + network_proxy = g_dbus_proxy_new_sync (g_dbus_proxy_get_connection (proxy), + G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS, + NULL, + NM_IWD_SERVICE, + path, + NM_IWD_NETWORK_INTERFACE, + NULL, &error); + if (!network_proxy) { + g_clear_error (&error); + return; + } + + name_value = g_dbus_proxy_get_cached_property (network_proxy, "Name"); + type_value = g_dbus_proxy_get_cached_property (network_proxy, "Type"); + if ( !name_value + || !g_variant_is_of_type (name_value, G_VARIANT_TYPE_STRING) + || !type_value + || !g_variant_is_of_type (type_value, G_VARIANT_TYPE_STRING)) + return; + + name = g_variant_get_string (name_value, NULL); + type = g_variant_get_string (type_value, NULL); + + /* What we get from IWD are networks, or ESSs, that may contain + * multiple APs, or BSSs, each. We don't get information about any + * specific BSSs within an ESS but we can safely present each ESS + * as an individual BSS to NM, which will be seen as ESSs comprising + * a single BSS each. NM won't be able to handle roaming but IWD + * already does that. We fake the BSSIDs as they don't play any + * role either. + */ + bssid[0] = 0x00; + bssid[1] = 0x01; + bssid[2] = 0x02; + bssid[3] = ap_id >> 16; + bssid[4] = ap_id >> 8; + bssid[5] = ap_id; + + /* WEP not supported */ + if (nm_streq (type, "wep")) + return; + + g_variant_builder_init (&builder, G_VARIANT_TYPE_VARDICT); + g_variant_builder_add (&builder, "{sv}", "BSSID", + g_variant_new_fixed_array (G_VARIANT_TYPE_BYTE, bssid, 6, 1)); + g_variant_builder_add (&builder, "{sv}", "Mode", + g_variant_new_string ("infrastructure")); + + rsn = vardict_from_network_type (type); + if (rsn) + g_variant_builder_add (&builder, "{sv}", "RSN", rsn); + + props = g_variant_new ("a{sv}", &builder); + + ap = nm_wifi_ap_new_from_properties (path, props); + + nm_wifi_ap_set_ssid_arr (ap, + (const guint8 *) name, + NM_MIN (32, strlen (name))); + + nm_wifi_ap_set_strength (ap, nm_wifi_utils_level_to_quality (signal / 100)); + nm_wifi_ap_set_freq (ap, 2417); + nm_wifi_ap_set_max_bitrate (ap, 65000); + g_hash_table_insert (aps, (gpointer) nm_wifi_ap_get_supplicant_path (ap), ap); +} + static void get_ordered_networks_cb (GObject *source, GAsyncResult *res, gpointer user_data) { @@ -242,9 +321,16 @@ get_ordered_networks_cb (GObject *source, GAsyncResult *res, gpointer user_data) gboolean changed = FALSE; GHashTableIter ap_iter; gs_unref_hashtable GHashTable *new_aps = NULL; + /* Depending on whether we're using the Station interface or the Device + * interface for compatibility with IWD <= 0.7, the return signature of + * GetOrderedNetworks will be different. + */ + gboolean compat = priv->dbus_station_proxy == priv->dbus_device_proxy; + const char *return_sig = compat ? "(a(osns))" : "(a(on))"; + static uint32_t ap_id = 0; variant = _nm_dbus_proxy_call_finish (G_DBUS_PROXY (source), res, - G_VARIANT_TYPE ("(a(osns))"), + G_VARIANT_TYPE (return_sig), &error); if (!variant) { _LOGE (LOGD_WIFI, "Station.GetOrderedNetworks failed: %s", @@ -254,60 +340,14 @@ get_ordered_networks_cb (GObject *source, GAsyncResult *res, gpointer user_data) new_aps = g_hash_table_new_full (nm_str_hash, g_str_equal, NULL, g_object_unref); - g_variant_get (variant, "(a(osns))", &networks); - - while (g_variant_iter_next (networks, "(&o&sn&s)", &path, &name, &signal, &type)) { - GVariantBuilder builder; - gs_unref_variant GVariant *props = NULL; - GVariant *rsn; - static uint32_t ap_id = 0; - uint8_t bssid[6]; + g_variant_get (variant, return_sig, &networks); - /* - * What we get from IWD are networks, or ESSs, that may - * contain multiple APs, or BSSs, each. We don't get - * information about any specific BSSs within an ESS but - * we can safely present each ESS as an individual BSS to - * NM, which will be seen as ESSs comprising a single BSS - * each. NM won't be able to handle roaming but IWD already - * does that. We fake the BSSIDs as they don't play any - * role either. - */ - bssid[0] = 0x00; - bssid[1] = 0x01; - bssid[2] = 0x02; - bssid[3] = ap_id >> 16; - bssid[4] = ap_id >> 8; - bssid[5] = ap_id++; - - /* WEP not supported */ - if (!strcmp (type, "wep")) - continue; - - g_variant_builder_init (&builder, G_VARIANT_TYPE_VARDICT); - g_variant_builder_add (&builder, "{sv}", "BSSID", - g_variant_new_fixed_array (G_VARIANT_TYPE_BYTE, bssid, 6, 1)); - g_variant_builder_add (&builder, "{sv}", "Mode", - g_variant_new_string ("infrastructure")); - - rsn = vardict_from_network_type (type); - if (rsn) - g_variant_builder_add (&builder, "{sv}", "RSN", rsn); - - props = g_variant_new ("a{sv}", &builder); - - ap = nm_wifi_ap_new_from_properties (path, props); - - nm_wifi_ap_set_ssid_arr (ap, - (const guint8 *) name, - NM_MIN (32, strlen (name))); - - nm_wifi_ap_set_strength (ap, nm_wifi_utils_level_to_quality (signal / 100)); - nm_wifi_ap_set_freq (ap, 2417); - nm_wifi_ap_set_max_bitrate (ap, 65000); - g_hash_table_insert (new_aps, - (gpointer) nm_wifi_ap_get_supplicant_path (ap), - ap); + if (compat) { + while (g_variant_iter_next (networks, "(&o&sn&s)", &path, &name, &signal, &type)) + insert_ap_from_network (new_aps, priv->dbus_station_proxy, path, signal, ap_id++); + } else { + while (g_variant_iter_next (networks, "(&on)", &path, &signal)) + insert_ap_from_network (new_aps, priv->dbus_station_proxy, path, signal, ap_id++); } g_variant_iter_free (networks); diff --git a/src/devices/wifi/nm-device-wifi.c b/src/devices/wifi/nm-device-wifi.c index 64ab82cb..ec1150bb 100644 --- a/src/devices/wifi/nm-device-wifi.c +++ b/src/devices/wifi/nm-device-wifi.c @@ -2593,6 +2593,7 @@ act_stage1_prepare (NMDevice *device, NMDeviceStateReason *out_failure_reason) set_current_ap (self, ap, FALSE); nm_active_connection_set_specific_object (NM_ACTIVE_CONNECTION (req), nm_dbus_object_get_path (NM_DBUS_OBJECT (ap))); + g_object_unref (ap); return NM_ACT_STAGE_RETURN_SUCCESS; done: diff --git a/src/dhcp/nm-dhcp-client.c b/src/dhcp/nm-dhcp-client.c index 9fc7d2c1..16db8306 100644 --- a/src/dhcp/nm-dhcp-client.c +++ b/src/dhcp/nm-dhcp-client.c @@ -510,7 +510,8 @@ nm_dhcp_client_start_ip4 (NMDhcpClient *self, GBytes *client_id, const char *dhcp_anycast_addr, const char *hostname, - const char *last_ip4_address) + const char *last_ip4_address, + GError **error) { NMDhcpClientPrivate *priv; @@ -531,7 +532,10 @@ nm_dhcp_client_start_ip4 (NMDhcpClient *self, g_clear_pointer (&priv->hostname, g_free); priv->hostname = g_strdup (hostname); - return NM_DHCP_CLIENT_GET_CLASS (self)->ip4_start (self, dhcp_anycast_addr, last_ip4_address); + return NM_DHCP_CLIENT_GET_CLASS (self)->ip4_start (self, + dhcp_anycast_addr, + last_ip4_address, + error); } static GBytes * @@ -548,7 +552,8 @@ nm_dhcp_client_start_ip6 (NMDhcpClient *self, const struct in6_addr *ll_addr, const char *hostname, NMSettingIP6ConfigPrivacy privacy, - guint needed_prefixes) + guint needed_prefixes, + GError **error) { NMDhcpClientPrivate *priv; gs_free char *str = NULL; @@ -584,7 +589,8 @@ nm_dhcp_client_start_ip6 (NMDhcpClient *self, ll_addr, privacy, priv->duid, - needed_prefixes); + needed_prefixes, + error); } void diff --git a/src/dhcp/nm-dhcp-client.h b/src/dhcp/nm-dhcp-client.h index b50ea515..86d60e38 100644 --- a/src/dhcp/nm-dhcp-client.h +++ b/src/dhcp/nm-dhcp-client.h @@ -76,18 +76,18 @@ typedef enum { typedef struct { GObjectClass parent; - /* Methods */ - gboolean (*ip4_start) (NMDhcpClient *self, const char *anycast_addr, - const char *last_ip4_address); + const char *last_ip4_address, + GError **error); gboolean (*ip6_start) (NMDhcpClient *self, const char *anycast_addr, const struct in6_addr *ll_addr, NMSettingIP6ConfigPrivacy privacy, GBytes *duid, - guint needed_prefixes); + guint needed_prefixes, + GError **error); void (*stop) (NMDhcpClient *self, gboolean release, @@ -151,7 +151,8 @@ gboolean nm_dhcp_client_start_ip4 (NMDhcpClient *self, GBytes *client_id, const char *dhcp_anycast_addr, const char *hostname, - const char *last_ip4_address); + const char *last_ip4_address, + GError **error); gboolean nm_dhcp_client_start_ip6 (NMDhcpClient *self, GBytes *client_id, @@ -160,7 +161,8 @@ gboolean nm_dhcp_client_start_ip6 (NMDhcpClient *self, const struct in6_addr *ll_addr, const char *hostname, NMSettingIP6ConfigPrivacy privacy, - guint needed_prefixes); + guint needed_prefixes, + GError **error); void nm_dhcp_client_stop (NMDhcpClient *self, gboolean release); diff --git a/src/dhcp/nm-dhcp-dhclient.c b/src/dhcp/nm-dhcp-dhclient.c index 8408e3f9..46d2339b 100644 --- a/src/dhcp/nm-dhcp-dhclient.c +++ b/src/dhcp/nm-dhcp-dhclient.c @@ -174,13 +174,14 @@ merge_dhclient_config (NMDhcpDhclient *self, GBytes **out_new_client_id, GError **error) { - char *orig = NULL, *new; - gboolean success = FALSE; + gs_free char *orig = NULL; + gs_free char *new = NULL; - g_return_val_if_fail (iface != NULL, FALSE); - g_return_val_if_fail (conf_file != NULL, FALSE); + g_return_val_if_fail (iface, FALSE); + g_return_val_if_fail (conf_file, FALSE); - if (orig_path && g_file_test (orig_path, G_FILE_TEST_EXISTS)) { + if ( orig_path + && g_file_test (orig_path, G_FILE_TEST_EXISTS)) { GError *read_error = NULL; if (!g_file_get_contents (orig_path, &orig, NULL, &read_error)) { @@ -190,14 +191,22 @@ merge_dhclient_config (NMDhcpDhclient *self, } } - new = nm_dhcp_dhclient_create_config (iface, addr_family, client_id, anycast_addr, hostname, timeout, - use_fqdn, orig_path, orig, out_new_client_id); + new = nm_dhcp_dhclient_create_config (iface, + addr_family, + client_id, + anycast_addr, + hostname, + timeout, + use_fqdn, + orig_path, + orig, + out_new_client_id); g_assert (new); - success = g_file_set_contents (conf_file, new, -1, error); - g_free (new); - g_free (orig); - return success; + return g_file_set_contents (conf_file, + new, + -1, + error); } static char * @@ -282,13 +291,14 @@ create_dhclient_config (NMDhcpDhclient *self, gboolean use_fqdn, GBytes **out_new_client_id) { - char *orig = NULL, *new = NULL; + gs_free char *orig = NULL; + char *new = NULL; GError *error = NULL; - gboolean success = FALSE; g_return_val_if_fail (iface != NULL, NULL); new = g_strdup_printf (NMSTATEDIR "/dhclient%s-%s.conf", _addr_family_to_path_part (addr_family), iface); + _LOGD ("creating composite dhclient config %s", new); orig = find_existing_config (self, addr_family, iface, uuid); @@ -297,15 +307,12 @@ create_dhclient_config (NMDhcpDhclient *self, else _LOGD ("no existing dhclient configuration to merge"); - error = NULL; - success = merge_dhclient_config (self, addr_family, iface, new, client_id, dhcp_anycast_addr, - hostname, timeout, use_fqdn, orig, out_new_client_id, &error); - if (!success) { + if (!merge_dhclient_config (self, addr_family, iface, new, client_id, dhcp_anycast_addr, + hostname, timeout, use_fqdn, orig, out_new_client_id, &error)) { _LOGW ("error creating dhclient configuration: %s", error->message); - g_error_free (error); + g_clear_error (&error); } - g_free (orig); return new; } @@ -315,13 +322,14 @@ dhclient_start (NMDhcpClient *client, GBytes *duid, gboolean release, pid_t *out_pid, - int prefixes) + int prefixes, + GError **error) { NMDhcpDhclient *self = NM_DHCP_DHCLIENT (client); NMDhcpDhclientPrivate *priv = NM_DHCP_DHCLIENT_GET_PRIVATE (self); gs_unref_ptrarray GPtrArray *argv = NULL; pid_t pid; - GError *error = NULL; + gs_free_error GError *local = NULL; const char *iface; const char *uuid; const char *system_bus_address; @@ -339,7 +347,7 @@ dhclient_start (NMDhcpClient *client, dhclient_path = nm_dhcp_dhclient_get_path (); if (!dhclient_path) { - _LOGW ("dhclient could not be found"); + nm_utils_error_set_literal (error, NM_UTILS_ERROR_UNKNOWN, "dhclient binary not found"); return FALSE; } @@ -371,16 +379,20 @@ dhclient_start (NMDhcpClient *client, gs_unref_object GFile *dst = g_file_new_for_path (preferred_leasefile_path); /* Try to copy the existing leasefile to the preferred location */ - if (g_file_copy (src, dst, G_FILE_COPY_OVERWRITE, NULL, NULL, NULL, &error)) { - /* Success; use the preferred leasefile path */ - g_free (priv->lease_file); - priv->lease_file = g_strdup (g_file_get_path (dst)); - } else { + if (!g_file_copy (src, dst, G_FILE_COPY_OVERWRITE, NULL, NULL, NULL, &local)) { + gs_free char *s_path = NULL; + gs_free char *d_path = NULL; + /* Failure; just use the existing leasefile */ _LOGW ("failed to copy leasefile %s to %s: %s", - g_file_get_path (src), g_file_get_path (dst), - error->message); - g_clear_error (&error); + (s_path = g_file_get_path (src)), + (d_path = g_file_get_path (dst)), + local->message); + g_clear_error (&local); + } else { + /* Success; use the preferred leasefile path */ + g_free (priv->lease_file); + priv->lease_file = g_file_get_path (dst); } } @@ -389,9 +401,12 @@ dhclient_start (NMDhcpClient *client, gs_free char *escaped = NULL; escaped = nm_dhcp_dhclient_escape_duid (duid); - if (!nm_dhcp_dhclient_save_duid (priv->lease_file, escaped, &error)) { - _LOGW ("failed to save DUID to %s: %s", priv->lease_file, error->message); - g_clear_error (&error); + if (!nm_dhcp_dhclient_save_duid (priv->lease_file, escaped, &local)) { + nm_utils_error_set (error, + NM_UTILS_ERROR_UNKNOWN, + "failed to save DUID to '%s': %s", + priv->lease_file, + local->message); return FALSE; } } @@ -451,9 +466,11 @@ dhclient_start (NMDhcpClient *client, if (!g_spawn_async (NULL, (char **) argv->pdata, NULL, G_SPAWN_DO_NOT_REAP_CHILD | G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL, - nm_utils_setpgid, NULL, &pid, &error)) { - _LOGW ("dhclient failed to start: '%s'", error->message); - g_error_free (error); + nm_utils_setpgid, NULL, &pid, &local)) { + nm_utils_error_set (error, + NM_UTILS_ERROR_UNKNOWN, + "dhclient failed to start: %s", + local->message); return FALSE; } @@ -469,36 +486,46 @@ dhclient_start (NMDhcpClient *client, } static gboolean -ip4_start (NMDhcpClient *client, const char *dhcp_anycast_addr, const char *last_ip4_address) +ip4_start (NMDhcpClient *client, + const char *dhcp_anycast_addr, + const char *last_ip4_address, + GError **error) { NMDhcpDhclient *self = NM_DHCP_DHCLIENT (client); NMDhcpDhclientPrivate *priv = NM_DHCP_DHCLIENT_GET_PRIVATE (self); GBytes *client_id; gs_unref_bytes GBytes *new_client_id = NULL; - const char *iface, *uuid, *hostname; - guint32 timeout; - gboolean success = FALSE; - gboolean use_fqdn; - iface = nm_dhcp_client_get_iface (client); - uuid = nm_dhcp_client_get_uuid (client); client_id = nm_dhcp_client_get_client_id (client); - hostname = nm_dhcp_client_get_hostname (client); - timeout = nm_dhcp_client_get_timeout (client); - use_fqdn = nm_dhcp_client_get_use_fqdn (client); - priv->conf_file = create_dhclient_config (self, AF_INET, iface, uuid, client_id, dhcp_anycast_addr, - hostname, timeout, use_fqdn, &new_client_id); - if (priv->conf_file) { - if (new_client_id) { - nm_assert (!client_id); - nm_dhcp_client_set_client_id (client, new_client_id); - } - success = dhclient_start (client, NULL, NULL, FALSE, NULL, 0); - } else - _LOGW ("error creating dhclient configuration file"); + priv->conf_file = create_dhclient_config (self, + AF_INET, + nm_dhcp_client_get_iface (client), + nm_dhcp_client_get_uuid (client), + client_id, + dhcp_anycast_addr, + nm_dhcp_client_get_hostname (client), + nm_dhcp_client_get_timeout (client), + nm_dhcp_client_get_use_fqdn (client), + &new_client_id); + if (!priv->conf_file) { + nm_utils_error_set_literal (error, + NM_UTILS_ERROR_UNKNOWN, + "error creating dhclient configuration file"); + return FALSE; + } - return success; + if (new_client_id) { + nm_assert (!client_id); + nm_dhcp_client_set_client_id (client, new_client_id); + } + return dhclient_start (client, + NULL, + NULL, + FALSE, + NULL, + 0, + error); } static gboolean @@ -507,22 +534,26 @@ ip6_start (NMDhcpClient *client, const struct in6_addr *ll_addr, NMSettingIP6ConfigPrivacy privacy, GBytes *duid, - guint needed_prefixes) + guint needed_prefixes, + GError **error) { NMDhcpDhclient *self = NM_DHCP_DHCLIENT (client); NMDhcpDhclientPrivate *priv = NM_DHCP_DHCLIENT_GET_PRIVATE (self); - const char *iface, *uuid, *hostname; - guint32 timeout; - - iface = nm_dhcp_client_get_iface (client); - uuid = nm_dhcp_client_get_uuid (client); - hostname = nm_dhcp_client_get_hostname (client); - timeout = nm_dhcp_client_get_timeout (client); - priv->conf_file = create_dhclient_config (self, AF_INET6, iface, uuid, NULL, dhcp_anycast_addr, - hostname, timeout, TRUE, NULL); + priv->conf_file = create_dhclient_config (self, + AF_INET6, + nm_dhcp_client_get_iface (client), + nm_dhcp_client_get_uuid (client), + NULL, + dhcp_anycast_addr, + nm_dhcp_client_get_hostname (client), + nm_dhcp_client_get_timeout (client), + TRUE, + NULL); if (!priv->conf_file) { - _LOGW ("error creating dhclient configuration file"); + nm_utils_error_set_literal (error, + NM_UTILS_ERROR_UNKNOWN, + "error creating dhclient configuration file"); return FALSE; } @@ -530,7 +561,11 @@ ip6_start (NMDhcpClient *client, nm_dhcp_client_get_info_only (NM_DHCP_CLIENT (self)) ? "-S" : "-N", - duid, FALSE, NULL, needed_prefixes); + duid, + FALSE, + NULL, + needed_prefixes, + error); } static void @@ -556,7 +591,13 @@ stop (NMDhcpClient *client, gboolean release, GBytes *duid) if (release) { pid_t rpid = -1; - if (dhclient_start (client, NULL, duid, TRUE, &rpid, 0)) { + if (dhclient_start (client, + NULL, + duid, + TRUE, + &rpid, + 0, + NULL)) { /* Wait a few seconds for the release to happen */ nm_dhcp_client_stop_pid (rpid, nm_dhcp_client_get_iface (client)); } diff --git a/src/dhcp/nm-dhcp-dhcpcanon.c b/src/dhcp/nm-dhcp-dhcpcanon.c index 92aa7f8c..de403020 100644 --- a/src/dhcp/nm-dhcp-dhcpcanon.c +++ b/src/dhcp/nm-dhcp-dhcpcanon.c @@ -82,28 +82,36 @@ dhcpcanon_start (NMDhcpClient *client, GBytes *duid, gboolean release, pid_t *out_pid, - int prefixes) + guint needed_prefixes, + GError **error) { NMDhcpDhcpcanon *self = NM_DHCP_DHCPCANON (client); NMDhcpDhcpcanonPrivate *priv = NM_DHCP_DHCPCANON_GET_PRIVATE (self); - GPtrArray *argv = NULL; + gs_unref_ptrarray GPtrArray *argv = NULL; pid_t pid; - GError *error = NULL; - const char *iface, *system_bus_address, *dhcpcanon_path = NULL; - char *binary_name, *cmd_str, *pid_file = NULL, *system_bus_address_env = NULL; + gs_free_error GError *local = NULL; + const char *iface; + const char *system_bus_address; + const char *dhcpcanon_path; + gs_free char *binary_name = NULL; + gs_free char *pid_file = NULL; + gs_free char *system_bus_address_env = NULL; int addr_family; - g_return_val_if_fail (priv->pid_file == NULL, FALSE); + g_return_val_if_fail (!priv->pid_file, FALSE); iface = nm_dhcp_client_get_iface (client); + addr_family = nm_dhcp_client_get_addr_family (client); + dhcpcanon_path = nm_dhcp_dhcpcanon_get_path (); - _LOGD ("dhcpcanon_path: %s", dhcpcanon_path); if (!dhcpcanon_path) { - _LOGW ("dhcpcanon could not be found"); + nm_utils_error_set_literal (error, NM_UTILS_ERROR_UNKNOWN, "dhcpcanon binary not found"); return FALSE; } + _LOGD ("dhcpcanon_path: %s", dhcpcanon_path); + pid_file = g_strdup_printf (RUNSTATEDIR "/dhcpcanon%c-%s.pid", nm_utils_addr_family_to_char (addr_family), iface); @@ -112,7 +120,6 @@ dhcpcanon_start (NMDhcpClient *client, /* Kill any existing dhcpcanon from the pidfile */ binary_name = g_path_get_basename (dhcpcanon_path); nm_dhcp_client_stop_existing (pid_file, binary_name); - g_free (binary_name); argv = g_ptr_array_new (); g_ptr_array_add (argv, (gpointer) dhcpcanon_path); @@ -120,10 +127,8 @@ dhcpcanon_start (NMDhcpClient *client, g_ptr_array_add (argv, (gpointer) "-sf"); /* Set script file */ g_ptr_array_add (argv, (gpointer) nm_dhcp_helper_path); - if (pid_file) { - g_ptr_array_add (argv, (gpointer) "-pf"); /* Set pid file */ - g_ptr_array_add (argv, (gpointer) pid_file); - } + g_ptr_array_add (argv, (gpointer) "-pf"); /* Set pid file */ + g_ptr_array_add (argv, (gpointer) pid_file); if (priv->conf_file) { g_ptr_array_add (argv, (gpointer) "-cf"); /* Set interface config file */ @@ -144,33 +149,43 @@ dhcpcanon_start (NMDhcpClient *client, g_ptr_array_add (argv, (gpointer) iface); g_ptr_array_add (argv, NULL); - cmd_str = g_strjoinv (" ", (char **) argv->pdata); - g_free (cmd_str); - - if (g_spawn_async (NULL, (char **) argv->pdata, NULL, - G_SPAWN_DO_NOT_REAP_CHILD | G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL, - nm_utils_setpgid, NULL, &pid, &error)) { - g_assert (pid > 0); - _LOGI ("dhcpcanon started with pid %d", pid); - nm_dhcp_client_watch_child (client, pid); - priv->pid_file = pid_file; - } else { - _LOGW ("dhcpcanon failed to start: '%s'", error->message); - g_error_free (error); - g_free (pid_file); + if (!g_spawn_async (NULL, + (char **) argv->pdata, + NULL, + G_SPAWN_DO_NOT_REAP_CHILD + | G_SPAWN_STDOUT_TO_DEV_NULL + | G_SPAWN_STDERR_TO_DEV_NULL, + nm_utils_setpgid, + NULL, + &pid, + &local)) { + nm_utils_error_set (error, + NM_UTILS_ERROR_UNKNOWN, + "dhcpcanon failed to start: %s", + local->message); + return FALSE; } - g_ptr_array_free (argv, TRUE); - g_free (system_bus_address_env); - return pid > 0 ? TRUE : FALSE; + nm_assert (pid > 0); + _LOGI ("dhcpcanon started with pid %d", pid); + nm_dhcp_client_watch_child (client, pid); + priv->pid_file = g_steal_pointer (&pid_file); + return TRUE; } static gboolean -ip4_start (NMDhcpClient *client, const char *dhcp_anycast_addr, const char *last_ip4_address) +ip4_start (NMDhcpClient *client, + const char *dhcp_anycast_addr, + const char *last_ip4_address, + GError **error) { - gboolean success = FALSE; - success = dhcpcanon_start (client, NULL, NULL, FALSE, NULL, 0); - return success; + return dhcpcanon_start (client, + NULL, + NULL, + FALSE, + NULL, + 0, + error); } static gboolean @@ -179,11 +194,10 @@ ip6_start (NMDhcpClient *client, const struct in6_addr *ll_addr, NMSettingIP6ConfigPrivacy privacy, GBytes *duid, - guint needed_prefixes) + guint needed_prefixes, + GError **error) { - NMDhcpDhcpcanon *self = NM_DHCP_DHCPCANON (client); - - _LOGW ("the dhcpcd backend does not support IPv6"); + nm_utils_error_set_literal (error, NM_UTILS_ERROR_UNKNOWN, "dhcpcanon plugin does not support IPv6"); return FALSE; } static void diff --git a/src/dhcp/nm-dhcp-dhcpcd.c b/src/dhcp/nm-dhcp-dhcpcd.c index 10094e5c..98ab5342 100644 --- a/src/dhcp/nm-dhcp-dhcpcd.c +++ b/src/dhcp/nm-dhcp-dhcpcd.c @@ -81,15 +81,21 @@ nm_dhcp_dhcpcd_get_path (void) } static gboolean -ip4_start (NMDhcpClient *client, const char *dhcp_anycast_addr, const char *last_ip4_address) +ip4_start (NMDhcpClient *client, + const char *dhcp_anycast_addr, + const char *last_ip4_address, + GError **error) { NMDhcpDhcpcd *self = NM_DHCP_DHCPCD (client); NMDhcpDhcpcdPrivate *priv = NM_DHCP_DHCPCD_GET_PRIVATE (self); - GPtrArray *argv = NULL; + gs_unref_ptrarray GPtrArray *argv = NULL; pid_t pid = -1; - GError *error = NULL; - char *pid_contents = NULL, *binary_name, *cmd_str; - const char *iface, *dhcpcd_path, *hostname; + GError *local = NULL; + gs_free char *cmd_str = NULL; + gs_free char *binary_name = NULL; + const char *iface; + const char *dhcpcd_path; + const char *hostname; g_return_val_if_fail (priv->pid_file == NULL, FALSE); @@ -102,14 +108,13 @@ ip4_start (NMDhcpClient *client, const char *dhcp_anycast_addr, const char *last dhcpcd_path = nm_dhcp_dhcpcd_get_path (); if (!dhcpcd_path) { - _LOGW ("dhcpcd could not be found"); + nm_utils_error_set_literal (error, NM_UTILS_ERROR_UNKNOWN, "dhcpcd binary not found"); return FALSE; } /* Kill any existing dhcpcd from the pidfile */ binary_name = g_path_get_basename (dhcpcd_path); nm_dhcp_client_stop_existing (priv->pid_file, binary_name); - g_free (binary_name); argv = g_ptr_array_new (); g_ptr_array_add (argv, (gpointer) dhcpcd_path); @@ -128,13 +133,11 @@ ip4_start (NMDhcpClient *client, const char *dhcp_anycast_addr, const char *last g_ptr_array_add (argv, (gpointer) "-c"); /* Set script file */ g_ptr_array_add (argv, (gpointer) nm_dhcp_helper_path); -#ifdef DHCPCD_SUPPORTS_IPV6 /* IPv4-only for now. NetworkManager knows better than dhcpcd when to * run IPv6, and dhcpcd's automatic Router Solicitations cause problems * with devices that don't expect them. */ g_ptr_array_add (argv, (gpointer) "-4"); -#endif hostname = nm_dhcp_client_get_hostname (client); @@ -153,24 +156,30 @@ ip4_start (NMDhcpClient *client, const char *dhcp_anycast_addr, const char *last g_ptr_array_add (argv, (gpointer) iface); g_ptr_array_add (argv, NULL); - cmd_str = g_strjoinv (" ", (char **) argv->pdata); - _LOGD ("running: %s", cmd_str); - g_free (cmd_str); - - if (g_spawn_async (NULL, (char **) argv->pdata, NULL, - G_SPAWN_DO_NOT_REAP_CHILD | G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL, - nm_utils_setpgid, NULL, &pid, &error)) { - g_assert (pid > 0); - _LOGI ("dhcpcd started with pid %d", pid); - nm_dhcp_client_watch_child (client, pid); - } else { - _LOGW ("dhcpcd failed to start, error: '%s'", error->message); - g_error_free (error); + _LOGD ("running: %s", + (cmd_str = g_strjoinv (" ", (char **) argv->pdata))); + + if (!g_spawn_async (NULL, + (char **) argv->pdata, NULL, + G_SPAWN_DO_NOT_REAP_CHILD + | G_SPAWN_STDOUT_TO_DEV_NULL + | G_SPAWN_STDERR_TO_DEV_NULL, + nm_utils_setpgid, + NULL, + &pid, + &local)) { + nm_utils_error_set (error, + NM_UTILS_ERROR_UNKNOWN, + "dhcpcd failed to start: %s", + local->message); + g_error_free (local); + return FALSE; } - g_free (pid_contents); - g_ptr_array_free (argv, TRUE); - return pid > 0 ? TRUE : FALSE; + nm_assert (pid > 0); + _LOGI ("dhcpcd started with pid %d", pid); + nm_dhcp_client_watch_child (client, pid); + return TRUE; } static gboolean @@ -179,11 +188,10 @@ ip6_start (NMDhcpClient *client, const struct in6_addr *ll_addr, NMSettingIP6ConfigPrivacy privacy, GBytes *duid, - guint needed_prefixes) + guint needed_prefixes, + GError **error) { - NMDhcpDhcpcd *self = NM_DHCP_DHCPCD (client); - - _LOGW ("the dhcpcd backend does not support IPv6"); + nm_utils_error_set_literal (error, NM_UTILS_ERROR_UNKNOWN, "dhcpcd plugin does not support IPv6"); return FALSE; } diff --git a/src/dhcp/nm-dhcp-manager.c b/src/dhcp/nm-dhcp-manager.c index 67254323..6c71af9d 100644 --- a/src/dhcp/nm-dhcp-manager.c +++ b/src/dhcp/nm-dhcp-manager.c @@ -172,22 +172,39 @@ client_start (NMDhcpManager *self, gboolean info_only, NMSettingIP6ConfigPrivacy privacy, const char *last_ip4_address, - guint needed_prefixes) + guint needed_prefixes, + GError **error) { NMDhcpManagerPrivate *priv; NMDhcpClient *client; gboolean success = FALSE; + gsize hwaddr_len; - g_return_val_if_fail (self, NULL); g_return_val_if_fail (NM_IS_DHCP_MANAGER (self), NULL); g_return_val_if_fail (ifindex > 0, NULL); g_return_val_if_fail (uuid != NULL, NULL); g_return_val_if_fail (!dhcp_client_id || g_bytes_get_size (dhcp_client_id) >= 2, NULL); + g_return_val_if_fail (!error || !*error, NULL); + + if (!hwaddr) { + nm_utils_error_set (error, + NM_UTILS_ERROR_UNKNOWN, + "missing MAC address"); + return NULL; + } + + hwaddr_len = g_bytes_get_size (hwaddr); + if ( hwaddr_len == 0 + || hwaddr_len > NM_UTILS_HWADDR_LEN_MAX) { + nm_utils_error_set (error, + NM_UTILS_ERROR_UNKNOWN, + "invalid MAC address"); + g_return_val_if_reached (NULL) ; + } priv = NM_DHCP_MANAGER_GET_PRIVATE (self); - if (!priv->client_factory) - return NULL; + nm_assert (priv->client_factory); /* Kill any old client instance */ client = get_client_for_ifindex (self, addr_family, ifindex); @@ -216,10 +233,24 @@ client_start (NMDhcpManager *self, c_list_link_tail (&priv->dhcp_client_lst_head, &client->dhcp_client_lst); g_signal_connect (client, NM_DHCP_CLIENT_SIGNAL_STATE_CHANGED, G_CALLBACK (client_state_changed), self); - if (addr_family == AF_INET) - success = nm_dhcp_client_start_ip4 (client, dhcp_client_id, dhcp_anycast_addr, hostname, last_ip4_address); - else - success = nm_dhcp_client_start_ip6 (client, dhcp_client_id, enforce_duid, dhcp_anycast_addr, ipv6_ll_addr, hostname, privacy, needed_prefixes); + if (addr_family == AF_INET) { + success = nm_dhcp_client_start_ip4 (client, + dhcp_client_id, + dhcp_anycast_addr, + hostname, + last_ip4_address, + error); + } else { + success = nm_dhcp_client_start_ip6 (client, + dhcp_client_id, + enforce_duid, + dhcp_anycast_addr, + ipv6_ll_addr, + hostname, + privacy, + needed_prefixes, + error); + } if (!success) { remove_client_unref (self, client); @@ -245,7 +276,8 @@ nm_dhcp_manager_start_ip4 (NMDhcpManager *self, GBytes *dhcp_client_id, guint32 timeout, const char *dhcp_anycast_addr, - const char *last_ip_address) + const char *last_ip_address, + GError **error) { NMDhcpManagerPrivate *priv; const char *hostname = NULL; @@ -282,7 +314,7 @@ nm_dhcp_manager_start_ip4 (NMDhcpManager *self, return client_start (self, AF_INET, multi_idx, iface, ifindex, hwaddr, uuid, route_table, route_metric, NULL, dhcp_client_id, 0, timeout, dhcp_anycast_addr, hostname, - use_fqdn, FALSE, 0, last_ip_address, 0); + use_fqdn, FALSE, 0, last_ip_address, 0, error); } /* Caller owns a reference to the NMDhcpClient on return */ @@ -304,7 +336,8 @@ nm_dhcp_manager_start_ip6 (NMDhcpManager *self, const char *dhcp_anycast_addr, gboolean info_only, NMSettingIP6ConfigPrivacy privacy, - guint needed_prefixes) + guint needed_prefixes, + GError **error) { NMDhcpManagerPrivate *priv; const char *hostname = NULL; @@ -319,7 +352,7 @@ nm_dhcp_manager_start_ip6 (NMDhcpManager *self, return client_start (self, AF_INET6, multi_idx, iface, ifindex, hwaddr, uuid, route_table, route_metric, ll_addr, duid, enforce_duid, timeout, dhcp_anycast_addr, hostname, TRUE, info_only, - privacy, NULL, needed_prefixes); + privacy, NULL, needed_prefixes, error); } void @@ -409,7 +442,7 @@ nm_dhcp_manager_init (NMDhcpManager *self) } } - nm_assert (client_factory); + g_return_if_fail (client_factory); nm_log_info (LOGD_DHCP, "dhcp-init: Using DHCP client '%s'", client_factory->name); diff --git a/src/dhcp/nm-dhcp-manager.h b/src/dhcp/nm-dhcp-manager.h index 7eb32c37..1d9e5c21 100644 --- a/src/dhcp/nm-dhcp-manager.h +++ b/src/dhcp/nm-dhcp-manager.h @@ -59,7 +59,8 @@ NMDhcpClient * nm_dhcp_manager_start_ip4 (NMDhcpManager *manager, GBytes *dhcp_client_id, guint32 timeout, const char *dhcp_anycast_addr, - const char *last_ip_address); + const char *last_ip_address, + GError **error); NMDhcpClient * nm_dhcp_manager_start_ip6 (NMDhcpManager *manager, struct _NMDedupMultiIndex *multi_idx, @@ -78,7 +79,8 @@ NMDhcpClient * nm_dhcp_manager_start_ip6 (NMDhcpManager *manager, const char *dhcp_anycast_addr, gboolean info_only, NMSettingIP6ConfigPrivacy privacy, - guint needed_prefixes); + guint needed_prefixes, + GError **error); /* For testing only */ extern const char* nm_dhcp_helper_path; diff --git a/src/dhcp/nm-dhcp-systemd.c b/src/dhcp/nm-dhcp-systemd.c index 2d0202bb..b51c6e7b 100644 --- a/src/dhcp/nm-dhcp-systemd.c +++ b/src/dhcp/nm-dhcp-systemd.c @@ -567,7 +567,10 @@ get_arp_type (GBytes *hwaddr) } static gboolean -ip4_start (NMDhcpClient *client, const char *dhcp_anycast_addr, const char *last_ip4_address) +ip4_start (NMDhcpClient *client, + const char *dhcp_anycast_addr, + const char *last_ip4_address, + GError **error) { NMDhcpSystemd *self = NM_DHCP_SYSTEMD (client); NMDhcpSystemdPrivate *priv = NM_DHCP_SYSTEMD_GET_PRIVATE (self); @@ -590,7 +593,7 @@ ip4_start (NMDhcpClient *client, const char *dhcp_anycast_addr, const char *last r = sd_dhcp_client_new (&priv->client4, FALSE); if (r < 0) { - _LOGW ("failed to create client (%d)", r); + nm_utils_error_set_errno (error, r, "failed to create dhcp-client: %s"); return FALSE; } @@ -598,8 +601,8 @@ ip4_start (NMDhcpClient *client, const char *dhcp_anycast_addr, const char *last r = sd_dhcp_client_attach_event (priv->client4, NULL, 0); if (r < 0) { - _LOGW ("failed to attach event (%d)", r); - goto error; + nm_utils_error_set_errno (error, r, "failed to attach event: %s"); + goto errout; } hwaddr = nm_dhcp_client_get_hw_addr (client); @@ -613,21 +616,21 @@ ip4_start (NMDhcpClient *client, const char *dhcp_anycast_addr, const char *last len, get_arp_type (hwaddr)); if (r < 0) { - _LOGW ("failed to set MAC address (%d)", r); - goto error; + nm_utils_error_set_errno (error, r, "failed to set MAC address: %s"); + goto errout; } } r = sd_dhcp_client_set_ifindex (priv->client4, nm_dhcp_client_get_ifindex (client)); if (r < 0) { - _LOGW ("failed to set ififindex (%d)", r); - goto error; + nm_utils_error_set_errno (error, r, "failed to set ifindex: %s"); + goto errout; } r = sd_dhcp_client_set_callback (priv->client4, dhcp_event_cb, client); if (r < 0) { - _LOGW ("failed to set callback (%d)", r); - goto error; + nm_utils_error_set_errno (error, r, "failed to set callback: %s"); + goto errout; } dhcp_lease_load (&lease, priv->lease_file); @@ -640,8 +643,8 @@ ip4_start (NMDhcpClient *client, const char *dhcp_anycast_addr, const char *last if (last_addr.s_addr) { r = sd_dhcp_client_set_request_address (priv->client4, &last_addr); if (r < 0) { - _LOGW ("failed to set last IPv4 address (%d)", r); - goto error; + nm_utils_error_set_errno (error, r, "failed to set last IPv4 address: %s"); + goto errout; } } @@ -681,25 +684,25 @@ ip4_start (NMDhcpClient *client, const char *dhcp_anycast_addr, const char *last */ r = sd_dhcp_client_set_hostname (priv->client4, hostname); if (r < 0) { - _LOGW ("failed to set DHCP hostname to '%s' (%d)", hostname, r); - goto error; + nm_utils_error_set_errno (error, r, "failed to set DHCP hostname: %s"); + goto errout; } } r = sd_dhcp_client_start (priv->client4); if (r < 0) { - _LOGW ("failed to start client (%d)", r); - goto error; + nm_utils_error_set_errno (error, r, "failed to start DHCP client: %s"); + goto errout; } nm_dhcp_client_start_timeout (client); success = TRUE; -error: +errout: sd_dhcp_lease_unref (lease); if (!success) - priv->client4 = sd_dhcp_client_unref (priv->client4); + sd_dhcp_client_unref (g_steal_pointer (&priv->client4)); return success; } @@ -864,7 +867,8 @@ ip6_start (NMDhcpClient *client, const struct in6_addr *ll_addr, NMSettingIP6ConfigPrivacy privacy, GBytes *duid, - guint needed_prefixes) + guint needed_prefixes, + GError **error) { NMDhcpSystemd *self = NM_DHCP_SYSTEMD (client); NMDhcpSystemdPrivate *priv = NM_DHCP_SYSTEMD_GET_PRIVATE (self); @@ -888,7 +892,7 @@ ip6_start (NMDhcpClient *client, r = sd_dhcp6_client_new (&priv->client6); if (r < 0) { - _LOGW ("failed to create client (%d)", r); + nm_utils_error_set_errno (error, r, "failed to create dhcp-client: %s"); return FALSE; } @@ -907,14 +911,14 @@ ip6_start (NMDhcpClient *client, &duid_arr[2], duid_len - 2); if (r < 0) { - _LOGW ("failed to set DUID (%d)", r); + nm_utils_error_set_errno (error, r, "failed to set DUID: %s"); return FALSE; } r = sd_dhcp6_client_attach_event (priv->client6, NULL, 0); if (r < 0) { - _LOGW ("failed to attach event (%d)", r); - goto error; + nm_utils_error_set_errno (error, r, "failed to attach event: %s"); + goto errout; } hwaddr = nm_dhcp_client_get_hw_addr (client); @@ -928,21 +932,21 @@ ip6_start (NMDhcpClient *client, len, get_arp_type (hwaddr)); if (r < 0) { - _LOGW ("failed to set MAC address (%d)", r); - goto error; + nm_utils_error_set_errno (error, r, "failed to set MAC address: %s"); + goto errout; } } r = sd_dhcp6_client_set_ifindex (priv->client6, nm_dhcp_client_get_ifindex (client)); if (r < 0) { - _LOGW ("failed to set ifindex (%d)", r); - goto error; + nm_utils_error_set_errno (error, r, "failed to set ifindex: %s"); + goto errout; } r = sd_dhcp6_client_set_callback (priv->client6, dhcp6_event_cb, client); if (r < 0) { - _LOGW ("failed to set callback (%d)", r); - goto error; + nm_utils_error_set_errno (error, r, "failed to set callback: %s"); + goto errout; } /* Add requested options */ @@ -953,30 +957,29 @@ ip6_start (NMDhcpClient *client, r = sd_dhcp6_client_set_local_address (priv->client6, ll_addr); if (r < 0) { - _LOGW ("failed to set local address (%d)", r); - goto error; + nm_utils_error_set_errno (error, r, "failed to set local address: %s"); + goto errout; } hostname = nm_dhcp_client_get_hostname (client); r = sd_dhcp6_client_set_fqdn (priv->client6, hostname); if (r < 0) { - _LOGW ("failed to set DHCP hostname to '%s' (%d)", hostname, r); - goto error; + nm_utils_error_set_errno (error, r, "failed to set DHCP hostname: %s"); + goto errout; } r = sd_dhcp6_client_start (priv->client6); if (r < 0) { - _LOGW ("failed to start client (%d)", r); - goto error; + nm_utils_error_set_errno (error, r, "failed to start client: %s"); + goto errout; } nm_dhcp_client_start_timeout (client); return TRUE; -error: - sd_dhcp6_client_unref (priv->client6); - priv->client6 = NULL; +errout: + sd_dhcp6_client_unref (g_steal_pointer (&priv->client6)); return FALSE; } diff --git a/src/dns/nm-dns-dnsmasq.c b/src/dns/nm-dns-dnsmasq.c index 90a08d59..cb7a626c 100644 --- a/src/dns/nm-dns-dnsmasq.c +++ b/src/dns/nm-dns-dnsmasq.c @@ -183,10 +183,12 @@ add_ip_config (NMDnsDnsmasq *self, GVariantBuilder *servers, const NMDnsIPConfig domain[0] ? domain : NULL); } - for (j = 0; ip_data->domains.reverse[j]; j++) { - add_dnsmasq_nameserver (self, servers, - ip_addr_to_string_buf, - ip_data->domains.reverse[j]); + if (ip_data->domains.reverse) { + for (j = 0; ip_data->domains.reverse[j]; j++) { + add_dnsmasq_nameserver (self, servers, + ip_addr_to_string_buf, + ip_data->domains.reverse[j]); + } } } } diff --git a/src/dns/nm-dns-unbound.c b/src/dns/nm-dns-unbound.c index e06128aa..b900f29e 100644 --- a/src/dns/nm-dns-unbound.c +++ b/src/dns/nm-dns-unbound.c @@ -43,7 +43,7 @@ update (NMDnsPlugin *plugin, const CList *ip_config_lst_head, const char *hostname) { - char *argv[] = { DNSSEC_TRIGGER_SCRIPT, "--async", "--update", NULL }; + char *argv[] = { DNSSEC_TRIGGER_PATH, "--async", "--update", NULL }; int status; /* TODO: We currently call a script installed with the dnssec-trigger diff --git a/src/meson.build b/src/meson.build index 83fc3eac..f46366a9 100644 --- a/src/meson.build +++ b/src/meson.build @@ -143,7 +143,7 @@ sources = files( 'nm-sleep-monitor.c' ) -deps = [ +nm_deps = [ dl_dep, libndp_dep, libudev_dep, @@ -153,70 +153,29 @@ deps = [ ] if enable_concheck - deps += libcurl_dep + nm_deps += libcurl_dep endif if enable_libaudit - deps += libaudit_dep + nm_deps += libaudit_dep endif if enable_libpsl - deps += libpsl_dep + nm_deps += libpsl_dep endif if enable_selinux - deps += selinux_dep + nm_deps += selinux_dep endif libnetwork_manager = static_library( nm_name, sources: sources, - dependencies: deps, + dependencies: nm_deps, c_args: cflags, link_with: [libnetwork_manager_base, libsystemd_nm] ) -ldflags = ['-rdynamic'] - -# FIXME: this doesn't work and it depends on libtool -''' -src/NetworkManager.ver: src/libNetworkManager.la $(core_plugins) - $(AM_V_GEN) NM="$(NM)" "$(srcdir)/tools/create-exports-NetworkManager.sh" --called-from-make "$(srcdir)" - -src_NetworkManager_LDFLAGS = \ - -rdynamic \ - -Wl,--version-script="src/NetworkManager.ver" - -nm = find_program('gcc-nm', 'nm') -create_exports_networkmanager = join_paths(meson.source_root(), 'tools', 'create-exports-NetworkManager.sh') - -symbol_map_name = 'NetworkManager.ver' - -linker_script = custom_target( - symbol_map_name, - input: meson.source_root(), - output: symbol_map_name, - capture: true, - #command: ['NM=' + nm.path(), create_exports_networkmanager, '--called-from-make', '@INPUT@'] - command: [create_exports_networkmanager, '--called-from-make', '@INPUT@'] -) - -ldflags += '-Wl,--version-script,@0@'.format(linker_script) -''' - -network_manager = executable( - nm_name, - 'main.c', - dependencies: deps, - c_args: cflags, - link_with: libnetwork_manager, - link_args: ldflags, - #FIXME - #link_depends: linker_script, - install: true, - install_dir: nm_sbindir -) - deps = [ dl_dep, libndp_dep, @@ -287,3 +246,30 @@ endif subdir('devices') subdir('settings/plugins') + +# NetworkManager binary + +create_exports_networkmanager = join_paths(meson.source_root(), 'tools', 'create-exports-NetworkManager.sh') +symbol_map_name = 'NetworkManager.ver' + +ver_script = custom_target( + symbol_map_name, + input: meson.source_root(), + output: symbol_map_name, + depends: [ libnetwork_manager, core_plugins ], + command: [create_exports_networkmanager, '--called-from-build', '@INPUT@'] +) + +ldflags = ['-rdynamic', '-Wl,--version-script,@0@'.format(ver_script.full_path())] + +network_manager = executable( + nm_name, + 'main.c', + dependencies: nm_deps, + c_args: nm_cflags, + link_with: libnetwork_manager, + link_args: ldflags, + link_depends: ver_script, + install: true, + install_dir: nm_sbindir +) diff --git a/src/nm-iface-helper.c b/src/nm-iface-helper.c index 308c9e1f..805c6e4f 100644 --- a/src/nm-iface-helper.c +++ b/src/nm-iface-helper.c @@ -380,7 +380,7 @@ int main (int argc, char *argv[]) { char *bad_domains = NULL; - GError *error = NULL; + gs_free_error GError *error = NULL; gboolean wrote_pidfile = FALSE; gs_free char *pidfile = NULL; gs_unref_object NMDhcpClient *dhcp4_client = NULL; @@ -516,8 +516,11 @@ main (int argc, char *argv[]) client_id, NM_DHCP_TIMEOUT_DEFAULT, NULL, - global_opt.dhcp4_address); - g_assert (dhcp4_client); + global_opt.dhcp4_address, + &error); + if (!dhcp4_client) + g_error ("failure to start DHCP: %s", error->message); + g_signal_connect (dhcp4_client, NM_DHCP_CLIENT_SIGNAL_STATE_CHANGED, G_CALLBACK (dhcp4_state_changed), diff --git a/src/platform/nm-netlink.c b/src/platform/nm-netlink.c index fa8a812c..3e2ad911 100644 --- a/src/platform/nm-netlink.c +++ b/src/platform/nm-netlink.c @@ -83,18 +83,18 @@ NM_UTILS_LOOKUP_STR_DEFINE_STATIC (_geterror, int, ) const char * -nl_geterror (int err) +nl_geterror (int nlerr) { const char *s; - err = nl_errno (err); + nlerr = nl_errno (nlerr); - if (err >= _NLE_BASE) { - s = _geterror (err); + if (nlerr >= _NLE_BASE) { + s = _geterror (nlerr); if (s) return s; } - return g_strerror (err); + return g_strerror (nlerr); } /*****************************************************************************/ @@ -251,7 +251,7 @@ nlmsg_reserve (struct nl_msg *n, size_t len, int pad) n->nm_nlh->nlmsg_len += tlen; if (tlen > len) - memset(buf + len, 0, tlen - len); + memset (buf + len, 0, tlen - len); return buf; } @@ -267,17 +267,17 @@ nla_reserve (struct nl_msg *msg, int attrtype, int attrlen) if (attrlen < 0) return NULL; - tlen = NLMSG_ALIGN(msg->nm_nlh->nlmsg_len) + nla_total_size(attrlen); + tlen = NLMSG_ALIGN (msg->nm_nlh->nlmsg_len) + nla_total_size (attrlen); if (tlen > msg->nm_size) return NULL; - nla = (struct nlattr *) nlmsg_tail(msg->nm_nlh); + nla = (struct nlattr *) nlmsg_tail (msg->nm_nlh); nla->nla_type = attrtype; - nla->nla_len = nla_attr_size(attrlen); + nla->nla_len = nla_attr_size (attrlen); if (attrlen) - memset((unsigned char *) nla + nla->nla_len, 0, nla_padlen(attrlen)); + memset ((unsigned char *) nla + nla->nla_len, 0, nla_padlen (attrlen)); msg->nm_nlh->nlmsg_len = tlen; return nla; @@ -337,7 +337,7 @@ nlmsg_alloc_convert (struct nlmsghdr *hdr) struct nl_msg *nm; nm = nlmsg_alloc_size (NLMSG_ALIGN (hdr->nlmsg_len)); - memcpy(nm->nm_nlh, hdr, hdr->nlmsg_len); + memcpy (nm->nm_nlh, hdr, hdr->nlmsg_len); return nm; } @@ -374,7 +374,7 @@ nlmsg_append (struct nl_msg *n, void *data, size_t len, int pad) if (tmp == NULL) return -ENOMEM; - memcpy(tmp, data, len); + memcpy (tmp, data, len); return 0; } @@ -384,11 +384,11 @@ int nlmsg_parse (struct nlmsghdr *nlh, int hdrlen, struct nlattr *tb[], int maxtype, const struct nla_policy *policy) { - if (!nlmsg_valid_hdr(nlh, hdrlen)) + if (!nlmsg_valid_hdr (nlh, hdrlen)) return -NLE_MSG_TOOSHORT; - return nla_parse (tb, maxtype, nlmsg_attrdata(nlh, hdrlen), - nlmsg_attrlen(nlh, hdrlen), policy); + return nla_parse (tb, maxtype, nlmsg_attrdata (nlh, hdrlen), + nlmsg_attrlen (nlh, hdrlen), policy); } struct nlmsghdr * @@ -406,8 +406,8 @@ nlmsg_put (struct nl_msg *n, uint32_t pid, uint32_t seq, nlh->nlmsg_pid = pid; nlh->nlmsg_seq = seq; - if (payload > 0 && - nlmsg_reserve(n, payload, NLMSG_ALIGNTO) == NULL) + if ( payload > 0 + && nlmsg_reserve (n, payload, NLMSG_ALIGNTO) == NULL) return NULL; return nlh; @@ -418,8 +418,8 @@ nla_get_u64 (const struct nlattr *nla) { uint64_t tmp = 0; - if (nla && nla_len(nla) >= sizeof (tmp)) - memcpy(&tmp, nla_data(nla), sizeof (tmp)); + if (nla && nla_len (nla) >= sizeof (tmp)) + memcpy (&tmp, nla_data (nla), sizeof (tmp)); return tmp; } @@ -427,8 +427,8 @@ nla_get_u64 (const struct nlattr *nla) size_t nla_strlcpy (char *dst, const struct nlattr *nla, size_t dstsize) { - size_t srclen = nla_len(nla); - const char *src = nla_data(nla); + size_t srclen = nla_len (nla); + const char *src = nla_data (nla); if (srclen > 0 && src[srclen - 1] == '\0') srclen--; @@ -436,8 +436,8 @@ nla_strlcpy (char *dst, const struct nlattr *nla, size_t dstsize) if (dstsize > 0) { size_t len = (srclen >= dstsize) ? dstsize - 1 : srclen; - memset(dst, 0, dstsize); - memcpy(dst, src, len); + memset (dst, 0, dstsize); + memcpy (dst, src, len); } return srclen; @@ -452,7 +452,7 @@ nla_memcpy (void *dest, const struct nlattr *src, int count) return 0; minlen = NM_MIN (count, (int) nla_len (src)); - memcpy(dest, nla_data(src), minlen); + memcpy (dest, nla_data (src), minlen); return minlen; } @@ -462,7 +462,7 @@ nla_put (struct nl_msg *msg, int attrtype, int datalen, const void *data) { struct nlattr *nla; - nla = nla_reserve(msg, attrtype, datalen); + nla = nla_reserve (msg, attrtype, datalen); if (!nla) { if (datalen < 0) g_return_val_if_reached (-NLE_BUG); @@ -471,7 +471,7 @@ nla_put (struct nl_msg *msg, int attrtype, int datalen, const void *data) } if (datalen > 0) - memcpy (nla_data(nla), data, datalen); + memcpy (nla_data (nla), data, datalen); return 0; } @@ -495,21 +495,21 @@ nla_nest_cancel (struct nl_msg *msg, const struct nlattr *attr) { ssize_t len; - len = (char *) nlmsg_tail(msg->nm_nlh) - (char *) attr; + len = (char *) nlmsg_tail (msg->nm_nlh) - (char *) attr; if (len < 0) g_return_if_reached (); else if (len > 0) { msg->nm_nlh->nlmsg_len -= len; - memset(nlmsg_tail(msg->nm_nlh), 0, len); + memset (nlmsg_tail (msg->nm_nlh), 0, len); } } struct nlattr * nla_nest_start (struct nl_msg *msg, int attrtype) { - struct nlattr *start = (struct nlattr *) nlmsg_tail(msg->nm_nlh); + struct nlattr *start = (struct nlattr *) nlmsg_tail (msg->nm_nlh); - if (nla_put(msg, attrtype, 0, NULL) < 0) + if (nla_put (msg, attrtype, 0, NULL) < 0) return NULL; return start; @@ -520,7 +520,7 @@ _nest_end (struct nl_msg *msg, struct nlattr *start, int keep_empty) { size_t pad, len; - len = (char *) nlmsg_tail(msg->nm_nlh) - (char *) start; + len = (char *) nlmsg_tail (msg->nm_nlh) - (char *) start; if ( len > USHRT_MAX || (!keep_empty && len == NLA_HDRLEN)) { @@ -528,7 +528,7 @@ _nest_end (struct nl_msg *msg, struct nlattr *start, int keep_empty) * Max nlattr size exceeded or empty nested attribute, trim the * attribute header again */ - nla_nest_cancel(msg, start); + nla_nest_cancel (msg, start); /* Return error only if nlattr size was exceeded */ return (len == NLA_HDRLEN) ? 0 : -NLE_ATTRSIZE; @@ -536,7 +536,7 @@ _nest_end (struct nl_msg *msg, struct nlattr *start, int keep_empty) start->nla_len = len; - pad = NLMSG_ALIGN(msg->nm_nlh->nlmsg_len) - msg->nm_nlh->nlmsg_len; + pad = NLMSG_ALIGN (msg->nm_nlh->nlmsg_len) - msg->nm_nlh->nlmsg_len; if (pad > 0) { /* * Data inside attribute does not end at a alignment boundry. @@ -544,7 +544,7 @@ _nest_end (struct nl_msg *msg, struct nlattr *start, int keep_empty) * the message. nlmsg_reserve() may never fail in this situation, * the allocate message buffer must be a multiple of NLMSG_ALIGNTO. */ - if (!nlmsg_reserve(msg, pad, 0)) + if (!nlmsg_reserve (msg, pad, 0)) g_return_val_if_reached (-NLE_BUG); } @@ -572,7 +572,7 @@ validate_nla (const struct nlattr *nla, int maxtype, { const struct nla_policy *pt; unsigned int minlen = 0; - int type = nla_type(nla); + int type = nla_type (nla); if (type < 0 || type > maxtype) return 0; @@ -587,15 +587,15 @@ validate_nla (const struct nlattr *nla, int maxtype, else if (pt->type != NLA_UNSPEC) minlen = nla_attr_minlen[pt->type]; - if (nla_len(nla) < minlen) + if (nla_len (nla) < minlen) return -NLE_UNSPEC; - if (pt->maxlen && nla_len(nla) > pt->maxlen) + if (pt->maxlen && nla_len (nla) > pt->maxlen) return -NLE_UNSPEC; if (pt->type == NLA_STRING) { - const char *data = nla_data(nla); - if (data[nla_len(nla) - 1] != '\0') + const char *data = nla_data (nla); + if (data[nla_len (nla) - 1] != '\0') return -NLE_UNSPEC; } @@ -607,28 +607,28 @@ nla_parse (struct nlattr *tb[], int maxtype, struct nlattr *head, int len, const struct nla_policy *policy) { struct nlattr *nla; - int rem, err; + int rem, nlerr; - memset(tb, 0, sizeof (struct nlattr *) * (maxtype + 1)); + memset (tb, 0, sizeof (struct nlattr *) * (maxtype + 1)); - nla_for_each_attr(nla, head, len, rem) { - int type = nla_type(nla); + nla_for_each_attr (nla, head, len, rem) { + int type = nla_type (nla); if (type > maxtype) continue; if (policy) { - err = validate_nla(nla, maxtype, policy); - if (err < 0) + nlerr = validate_nla (nla, maxtype, policy); + if (nlerr < 0) goto errout; } tb[type] = nla; } - err = 0; + nlerr = 0; errout: - return err; + return nlerr; } /*****************************************************************************/ @@ -839,7 +839,7 @@ nl_socket_alloc (void) sk->s_fd = -1; sk->s_local.nl_family = AF_NETLINK; sk->s_peer.nl_family = AF_NETLINK; - sk->s_seq_expect = sk->s_seq_next = time(NULL); + sk->s_seq_expect = sk->s_seq_next = time (NULL); return sk; } @@ -914,7 +914,7 @@ nl_socket_set_nonblocking (const struct nl_sock *sk) if (sk->s_fd == -1) return -NLE_BAD_SOCK; - if (fcntl(sk->s_fd, F_SETFL, O_NONBLOCK) < 0) + if (fcntl (sk->s_fd, F_SETFL, O_NONBLOCK) < 0) return -nl_syserr2nlerr (errno); return 0; @@ -958,25 +958,27 @@ nl_socket_add_memberships (struct nl_sock *sk, int group, ...) if (sk->s_fd == -1) return -NLE_BAD_SOCK; - va_start(ap, group); + va_start (ap, group); while (group != 0) { if (group < 0) { - va_end(ap); + va_end (ap); g_return_val_if_reached (-NLE_BUG); } err = setsockopt (sk->s_fd, SOL_NETLINK, NETLINK_ADD_MEMBERSHIP, &group, sizeof (group)); if (err < 0) { - va_end(ap); - return -nl_syserr2nlerr (errno); + int errsv = errno; + + va_end (ap); + return -nl_syserr2nlerr (errsv); } - group = va_arg(ap, int); + group = va_arg (ap, int); } - va_end(ap); + va_end (ap); return 0; } @@ -1006,7 +1008,7 @@ void nl_socket_disable_msg_peek (struct nl_sock *sk) int nl_connect (struct nl_sock *sk, int protocol) { - int err; + int err, nlerr; socklen_t addrlen; struct sockaddr_nl local = { 0 }; @@ -1015,12 +1017,12 @@ nl_connect (struct nl_sock *sk, int protocol) sk->s_fd = socket (AF_NETLINK, SOCK_RAW | SOCK_CLOEXEC, protocol); if (sk->s_fd < 0) { - err = -nl_syserr2nlerr (errno); + nlerr = -nl_syserr2nlerr (errno); goto errout; } - err = nl_socket_set_buffer_size(sk, 0, 0); - if (err < 0) + nlerr = nl_socket_set_buffer_size (sk, 0, 0); + if (nlerr < 0) goto errout; nm_assert (sk->s_local.nl_pid == 0); @@ -1028,7 +1030,7 @@ nl_connect (struct nl_sock *sk, int protocol) err = bind (sk->s_fd, (struct sockaddr*) &sk->s_local, sizeof (sk->s_local)); if (err != 0) { - err = -nl_syserr2nlerr (errno); + nlerr = -nl_syserr2nlerr (errno); goto errout; } @@ -1036,17 +1038,17 @@ nl_connect (struct nl_sock *sk, int protocol) err = getsockname (sk->s_fd, (struct sockaddr *) &local, &addrlen); if (err < 0) { - err = -nl_syserr2nlerr (errno); + nlerr = -nl_syserr2nlerr (errno); goto errout; } if (addrlen != sizeof (local)) { - err = -NLE_UNSPEC; + nlerr = -NLE_UNSPEC; goto errout; } if (local.nl_family != AF_NETLINK) { - err = -NLE_UNSPEC; + nlerr = -NLE_UNSPEC; goto errout; } @@ -1057,10 +1059,10 @@ nl_connect (struct nl_sock *sk, int protocol) errout: if (sk->s_fd != -1) { - close(sk->s_fd); + close (sk->s_fd); sk->s_fd = -1; } - return err; + return nlerr; } /*****************************************************************************/ @@ -1076,7 +1078,7 @@ _cb_init (struct nl_cb *dst, const struct nl_cb *src) memset (dst, 0, sizeof (*dst)); } -static int ack_wait_handler(struct nl_msg *msg, void *arg) +static int ack_wait_handler (struct nl_msg *msg, void *arg) { return NL_STOP; } @@ -1097,19 +1099,21 @@ do { \ const struct nl_cb *_cb = (cb); \ \ if (_cb->type##_cb) { \ - err = _cb->type##_cb ((msg), _cb->type##_arg); \ - switch (err) { \ + /* the returned value here must be either a negative + * netlink error number, or one of NL_SKIP, NL_STOP, NL_OK. */ \ + nlerr = _cb->type##_cb ((msg), _cb->type##_arg); \ + switch (nlerr) { \ case NL_OK: \ - err = 0; \ + nlerr = 0; \ break; \ case NL_SKIP: \ goto skip; \ case NL_STOP: \ goto stop; \ default: \ - if (err >= 0) { \ + if (nlerr >= 0) { \ nm_assert_not_reached (); \ - err = -NLE_BUG; \ + nlerr = -NLE_BUG; \ } \ goto out; \ } \ @@ -1119,7 +1123,7 @@ do { \ int nl_recvmsgs (struct nl_sock *sk, const struct nl_cb *cb) { - int n, err = 0, multipart = 0, interrupted = 0, nrecv = 0; + int n, nlerr = 0, multipart = 0, interrupted = 0, nrecv = 0; gs_free unsigned char *buf = NULL; struct nlmsghdr *hdr; struct sockaddr_nl nla = { 0 }; @@ -1144,9 +1148,9 @@ continue_reading: nrecv++; /* Only do sequence checking if auto-ack mode is enabled */ - if (!(sk->s_flags & NL_NO_AUTO_ACK)) { + if (! (sk->s_flags & NL_NO_AUTO_ACK)) { if (hdr->nlmsg_seq != sk->s_seq_expect) { - err = -NLE_SEQ_MISMATCH; + nlerr = -NLE_SEQ_MISMATCH; goto out; } } @@ -1178,7 +1182,7 @@ continue_reading: * this action by skipping this packet. */ if (hdr->nlmsg_type == NLMSG_DONE) { multipart = 0; - NL_CB_CALL(cb, finish, msg); + NL_CB_CALL (cb, finish, msg); } /* Message to be ignored, the default action is to @@ -1192,51 +1196,53 @@ continue_reading: * quit parsing. The user may overrule this action by retuning * NL_SKIP or NL_PROCEED (dangerous) */ else if (hdr->nlmsg_type == NLMSG_OVERRUN) { - err = -NLE_MSG_OVERFLOW; + nlerr = -NLE_MSG_OVERFLOW; goto out; } /* Message carries a nlmsgerr */ else if (hdr->nlmsg_type == NLMSG_ERROR) { - struct nlmsgerr *e = nlmsg_data(hdr); + struct nlmsgerr *e = nlmsg_data (hdr); - if (hdr->nlmsg_len < nlmsg_size(sizeof (*e))) { + if (hdr->nlmsg_len < nlmsg_size (sizeof (*e))) { /* Truncated error message, the default action * is to stop parsing. The user may overrule * this action by returning NL_SKIP or * NL_PROCEED (dangerous) */ - err = -NLE_MSG_TRUNC; + nlerr = -NLE_MSG_TRUNC; goto out; } if (e->error) { /* Error message reported back from kernel. */ if (cb->err_cb) { - err = cb->err_cb (&nla, e, - cb->err_arg); - if (err < 0) + /* the returned value here must be either a negative + * netlink error number, or one of NL_SKIP, NL_STOP, NL_OK. */ + nlerr = cb->err_cb (&nla, e, + cb->err_arg); + if (nlerr < 0) goto out; - else if (err == NL_SKIP) + else if (nlerr == NL_SKIP) goto skip; - else if (err == NL_STOP) { - err = -nl_syserr2nlerr (e->error); + else if (nlerr == NL_STOP) { + nlerr = -nl_syserr2nlerr (e->error); goto out; } - nm_assert (err == NL_OK); + nm_assert (nlerr == NL_OK); } else { - err = -nl_syserr2nlerr (e->error); + nlerr = -nl_syserr2nlerr (e->error); goto out; } } else - NL_CB_CALL(cb, ack, msg); + NL_CB_CALL (cb, ack, msg); } else { /* Valid message (not checking for MULTIPART bit to * get along with broken kernels. NL_SKIP has no * effect on this. */ - NL_CB_CALL(cb, valid, msg); + NL_CB_CALL (cb, valid, msg); } skip: - err = 0; - hdr = nlmsg_next(hdr, &n); + nlerr = 0; + hdr = nlmsg_next (hdr, &n); } if (multipart) { @@ -1248,14 +1254,14 @@ skip: } stop: - err = 0; + nlerr = 0; out: if (interrupted) - err = -NLE_DUMP_INTR; + nlerr = -NLE_DUMP_INTR; - nm_assert (err <= 0); - return err ?: nrecv; + nm_assert (nlerr <= 0); + return nlerr ?: nrecv; } int @@ -1268,7 +1274,7 @@ nl_sendmsg (struct nl_sock *sk, struct nl_msg *msg, struct msghdr *hdr) nlmsg_set_src (msg, &sk->s_local); - ret = sendmsg(sk->s_fd, hdr, 0); + ret = sendmsg (sk->s_fd, hdr, 0); if (ret < 0) return -nl_syserr2nlerr (errno); @@ -1286,28 +1292,28 @@ nl_send_iovec (struct nl_sock *sk, struct nl_msg *msg, struct iovec *iov, unsign .msg_iov = iov, .msg_iovlen = iovlen, }; - char buf[CMSG_SPACE(sizeof (struct ucred))]; + char buf[CMSG_SPACE (sizeof (struct ucred))]; /* Overwrite destination if specified in the message itself, defaults * to the peer address of the socket. */ - dst = nlmsg_get_dst(msg); + dst = nlmsg_get_dst (msg); if (dst->nl_family == AF_NETLINK) hdr.msg_name = dst; /* Add credentials if present. */ - creds = nlmsg_get_creds(msg); + creds = nlmsg_get_creds (msg); if (creds != NULL) { struct cmsghdr *cmsg; hdr.msg_control = buf; hdr.msg_controllen = sizeof (buf); - cmsg = CMSG_FIRSTHDR(&hdr); + cmsg = CMSG_FIRSTHDR (&hdr); cmsg->cmsg_level = SOL_SOCKET; cmsg->cmsg_type = SCM_CREDENTIALS; - cmsg->cmsg_len = CMSG_LEN(sizeof (struct ucred)); - memcpy(CMSG_DATA(cmsg), creds, sizeof (struct ucred)); + cmsg->cmsg_len = CMSG_LEN (sizeof (struct ucred)); + memcpy (CMSG_DATA (cmsg), creds, sizeof (struct ucred)); } return nl_sendmsg (sk, msg, &hdr); @@ -1318,9 +1324,9 @@ nl_complete_msg (struct nl_sock *sk, struct nl_msg *msg) { struct nlmsghdr *nlh; - nlh = nlmsg_hdr(msg); + nlh = nlmsg_hdr (msg); if (nlh->nlmsg_pid == NL_AUTO_PORT) - nlh->nlmsg_pid = nl_socket_get_local_port(sk); + nlh->nlmsg_pid = nl_socket_get_local_port (sk); if (nlh->nlmsg_seq == NL_AUTO_SEQ) nlh->nlmsg_seq = sk->s_seq_next++; @@ -1338,14 +1344,14 @@ int nl_send (struct nl_sock *sk, struct nl_msg *msg) { struct iovec iov = { - .iov_base = (void *) nlmsg_hdr(msg), - .iov_len = nlmsg_hdr(msg)->nlmsg_len, + .iov_base = (void *) nlmsg_hdr (msg), + .iov_len = nlmsg_hdr (msg)->nlmsg_len, }; - return nl_send_iovec(sk, msg, &iov, 1); + return nl_send_iovec (sk, msg, &iov, 1); } -int nl_send_auto(struct nl_sock *sk, struct nl_msg *msg) +int nl_send_auto (struct nl_sock *sk, struct nl_msg *msg) { nl_complete_msg (sk, msg); @@ -1379,7 +1385,7 @@ nl_recv (struct nl_sock *sk, struct sockaddr_nl *nla, flags |= MSG_PEEK | MSG_TRUNC; if (page_size == 0) - page_size = getpagesize() * 4; + page_size = getpagesize () * 4; iov.iov_len = sk->s_bufsize ?: page_size; iov.iov_base = g_malloc (iov.iov_len); @@ -1391,7 +1397,7 @@ nl_recv (struct nl_sock *sk, struct sockaddr_nl *nla, } retry: - n = recvmsg(sk->s_fd, &msg, flags); + n = recvmsg (sk->s_fd, &msg, flags); if (!n) { retval = 0; goto abort; @@ -1447,12 +1453,12 @@ retry: if (creds && (sk->s_flags & NL_SOCK_PASSCRED)) { struct cmsghdr *cmsg; - for (cmsg = CMSG_FIRSTHDR(&msg); cmsg; cmsg = CMSG_NXTHDR(&msg, cmsg)) { + for (cmsg = CMSG_FIRSTHDR (&msg); cmsg; cmsg = CMSG_NXTHDR (&msg, cmsg)) { if (cmsg->cmsg_level != SOL_SOCKET) continue; if (cmsg->cmsg_type != SCM_CREDENTIALS) continue; - tmpcreds = nm_memdup (CMSG_DATA(cmsg), sizeof (*tmpcreds)); + tmpcreds = nm_memdup (CMSG_DATA (cmsg), sizeof (*tmpcreds)); break; } } diff --git a/src/platform/nm-netlink.h b/src/platform/nm-netlink.h index 187685d8..1fccddb9 100644 --- a/src/platform/nm-netlink.h +++ b/src/platform/nm-netlink.h @@ -52,32 +52,48 @@ #endif static inline int -nl_errno (int err) +nl_errno (int nlerr) { - /* the error codes from our netlink implementation are plain errno - * extended with our own error in a particular range starting from - * _NLE_BASE. + /* Normalizes an netlink error to be positive. Various API returns negative + * error codes, and this function converts the negative value to its + * positive. * - * However, often we encode errors as negative values. This function - * normalizes the error and returns its positive value. */ - return err >= 0 - ? err - : ((err == G_MININT) ? NLE_BUG : -err); + * It's very similar to nm_errno(), but not exactly. The difference is that + * nm_errno() is for plain errno, while nl_errno() is for netlink error numbers. + * Yes, netlink error number are ~almost~ the same as errno, except that a particular + * range (_NLE_BASE, _NLE_BASE_END) is reserved. The difference between the two + * functions is only how G_MININT is mapped. + * + * See also nl_syserr2nlerr() below. */ + return nlerr >= 0 + ? nlerr + : ((nlerr == G_MININT) ? NLE_BUG : -nlerr); } static inline int -nl_syserr2nlerr (int err) +nl_syserr2nlerr (int errsv) { - if (err == G_MININT) + /* this maps a native errno to a (always non-negative) netlink error number. + * + * Note that netlink error numbers are embedded into the range of regular + * errno. The only difference is, that netlink error numbers reserve a + * range (_NLE_BASE, _NLE_BASE_END) for their own purpose. + * + * That means, converting an errno to netlink error number means in + * most cases just returning itself (negative values are normalized + * to be positive). Only values G_MININT and [_NLE_BASE, _NLE_BASE_END] + * are coerced to the special value NLE_NATIVE_ERRNO, as they cannot + * otherwise be represented in netlink error number domain. */ + if (errsv == G_MININT) return NLE_NATIVE_ERRNO; - if (err < 0) - err = -err; - return (err >= _NLE_BASE && err < _NLE_BASE_END) + if (errsv < 0) + errsv = -errsv; + return (errsv >= _NLE_BASE && errsv < _NLE_BASE_END) ? NLE_NATIVE_ERRNO - : err; + : errsv; } -const char *nl_geterror (int err); +const char *nl_geterror (int nlerr); /*****************************************************************************/ diff --git a/src/ppp/nm-ppp-manager.c b/src/ppp/nm-ppp-manager.c index fdec4763..b231ff20 100644 --- a/src/ppp/nm-ppp-manager.c +++ b/src/ppp/nm-ppp-manager.c @@ -438,11 +438,12 @@ impl_ppp_manager_set_ifindex (NMDBusObject *obj, g_variant_get (parameters, "(i)", &ifindex); - _LOGD ("set-ifindex %d", (int) ifindex); - if (priv->ifindex >= 0) { - _LOGW ("can't change the ifindex from %d to %d", priv->ifindex, (int) ifindex); - return; + if (priv->ifindex == ifindex) + _LOGD ("set-ifindex: ignore repeated calls setting ifindex to %d", (int) ifindex); + else + _LOGW ("set-ifindex: can't change the ifindex from %d to %d", priv->ifindex, (int) ifindex); + goto out; } if (ifindex > 0) { @@ -454,15 +455,22 @@ impl_ppp_manager_set_ifindex (NMDBusObject *obj, } if (!plink) { - _LOGW ("unknown interface with ifindex %d", ifindex); + _LOGW ("set-ifindex: unknown interface with ifindex %d", ifindex); ifindex = 0; + } else { + obj_keep_alive = nmp_object_ref (NMP_OBJECT_UP_CAST (plink)); + _LOGD ("set-ifindex: %d, name \"%s\"", (int) ifindex, plink->name); } priv->ifindex = ifindex; - obj_keep_alive = nmp_object_ref (NMP_OBJECT_UP_CAST (plink)); + g_signal_emit (self, + signals[IFINDEX_SET], + 0, + ifindex, + plink ? plink->name : NULL); - g_signal_emit (self, signals[IFINDEX_SET], 0, ifindex, plink->name); +out: g_dbus_method_invocation_return_value (invocation, NULL); } diff --git a/src/ppp/nm-pppd-plugin.c b/src/ppp/nm-pppd-plugin.c index 989f7433..09196340 100644 --- a/src/ppp/nm-pppd-plugin.c +++ b/src/ppp/nm-pppd-plugin.c @@ -147,7 +147,7 @@ nm_phasechange (void *data, int arg) if ( if_indextoname (index, new_name) && !nm_streq0 (ifname, new_name)) { g_message ("nm-ppp-plugin: interface name changed from '%s' to '%s'", ifname, new_name); - strncpy (ifname, new_name, IF_NAMESIZE); + g_strlcpy (ifname, new_name, IF_NAMESIZE); } } } diff --git a/src/settings/plugins/ifcfg-rh/meson.build b/src/settings/plugins/ifcfg-rh/meson.build index 5d9689a5..e4bce09b 100644 --- a/src/settings/plugins/ifcfg-rh/meson.build +++ b/src/settings/plugins/ifcfg-rh/meson.build @@ -18,7 +18,7 @@ libnmdbus_ifcfg_rh = static_library( dependencies: glib_dep, ) -sources = files( +core_sources = files( 'nm-inotify-helper.c', 'nms-ifcfg-rh-reader.c', 'nms-ifcfg-rh-utils.c', @@ -32,11 +32,11 @@ deps = [ libnms_ifcfg_rh_core = static_library( 'nms-ifcfg-rh-core', - sources: sources, + sources: core_sources, dependencies: deps, ) -sources = [dbus_sources] + files('nms-ifcfg-rh-connection.c') +sources = [dbus_sources] + core_sources + files('nms-ifcfg-rh-connection.c', 'nms-ifcfg-rh-plugin.c') libnm_settings_plugin_ifcfg_rh = shared_module( 'nm-settings-plugin-ifcfg-rh', diff --git a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c index e1a2289e..b70690cc 100644 --- a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c +++ b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c @@ -2223,7 +2223,7 @@ write_sriov_setting (NMConnection *connection, shvarFile *ifcfg) svUnsetAll (ifcfg, SV_KEY_TYPE_SRIOV_VF); - s_sriov = nm_connection_get_setting_sriov (connection); + s_sriov = NM_SETTING_SRIOV (nm_connection_get_setting (connection, NM_TYPE_SETTING_SRIOV)); if (s_sriov) num = nm_setting_sriov_get_total_vfs (s_sriov); if (num == 0) { diff --git a/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c b/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c index 70693861..0c0dd64e 100644 --- a/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c +++ b/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c @@ -9721,7 +9721,7 @@ test_sriov_read (void) g_assert_cmpstr (nm_connection_get_interface_name (connection), ==, "eth0"); - s_sriov = nm_connection_get_setting_sriov (connection); + s_sriov = NM_SETTING_SRIOV (nm_connection_get_setting (connection, NM_TYPE_SETTING_SRIOV)); g_assert (s_sriov); g_assert_cmpint (nm_setting_sriov_get_total_vfs (s_sriov), ==, 16); diff --git a/src/systemd/src/libsystemd-network/dhcp-network.c b/src/systemd/src/libsystemd-network/dhcp-network.c index 90fe29d0..80e9577c 100644 --- a/src/systemd/src/libsystemd-network/dhcp-network.c +++ b/src/systemd/src/libsystemd-network/dhcp-network.c @@ -128,8 +128,6 @@ int dhcp_network_bind_raw_socket(int ifindex, union sockaddr_union *link, const uint8_t *bcast_addr = NULL; uint8_t dhcp_hlen = 0; - assert_return(mac_addr_len > 0, -EINVAL); - if (arp_type == ARPHRD_ETHER) { assert_return(mac_addr_len == ETH_ALEN, -EINVAL); memcpy(ð_mac, mac_addr, ETH_ALEN); diff --git a/src/vpn/nm-vpn-connection.c b/src/vpn/nm-vpn-connection.c index d1aaa7c9..bd847d75 100644 --- a/src/vpn/nm-vpn-connection.c +++ b/src/vpn/nm-vpn-connection.c @@ -2684,12 +2684,16 @@ plugin_interactive_secrets_required (NMVpnConnection *self, gs_free const char **hints = NULL; gs_free char *message_hint = NULL; + if (!NM_IN_SET (priv->vpn_state, STATE_CONNECT, + STATE_NEED_AUTH)) { + _LOGD ("VPN plugin: requested secrets; state %s (%d); ignore request in current state", + vpn_state_to_string (priv->vpn_state), priv->vpn_state); + return; + } + _LOGI ("VPN plugin: requested secrets; state %s (%d)", vpn_state_to_string (priv->vpn_state), priv->vpn_state); - g_return_if_fail (priv->vpn_state == STATE_CONNECT || - priv->vpn_state == STATE_NEED_AUTH); - priv->secrets_idx = SECRETS_REQ_INTERACTIVE; _set_vpn_state (self, STATE_NEED_AUTH, NM_ACTIVE_CONNECTION_STATE_REASON_NONE, FALSE); @@ -2756,6 +2760,9 @@ dispose (GObject *object) NMVpnConnection *self = NM_VPN_CONNECTION (object); NMVpnConnectionPrivate *priv = NM_VPN_CONNECTION_GET_PRIVATE (self); + if (priv->proxy) + g_signal_handlers_disconnect_by_data (priv->proxy, self); + nm_clear_g_source (&priv->start_timeout); g_clear_pointer (&priv->connect_hash, g_variant_unref); diff --git a/tools/create-exports-NetworkManager.sh b/tools/create-exports-NetworkManager.sh index 3c2494e1..7d359005 100755 --- a/tools/create-exports-NetworkManager.sh +++ b/tools/create-exports-NetworkManager.sh @@ -35,7 +35,7 @@ call_nm() { } get_symbols_nm () { - call_nm ./src/.libs/libNetworkManager.a | + call_nm ./src/${libs}libNetworkManager.a | sed -n 's/^[tTDGRBS] //p' | _sort } @@ -47,9 +47,9 @@ EOF } get_symbols_missing() { - (for f in $(find ./src/settings/plugins/*/.libs/ \ - ./src/devices/*/.libs/ \ - ./src/ppp/.libs/ -name '*.so'); do + (for f in $(find ./src/settings/plugins/*/${libs} \ + ./src/devices/*/${libs} \ + ./src/ppp/${libs} -name '*.so'); do call_nm "$f" | sed -n 's/^\([U]\) \(\(nm_\|nmp_\|_nm\|NM\|_NM\|c_siphash_\).*\)$/\2/p' done) | @@ -90,16 +90,25 @@ local: EOF } -test -f ./src/.libs/libNetworkManager.a || die "must be called from NetworkManager \$(top_builddir) after building the tree" +if [ -f "build.ninja" ]; then + from_meson=1 + libs= +else + libs=.libs/ +fi + +test -f ./src/${libs}libNetworkManager.a || die "must be called from NetworkManager top build dir after building the tree" case "$1" in rebuild) + [ -n "$from_meson" ] && die "can't do a build when called from meson" do_rebuild ;; build) + [ -n "$from_meson" ] && die "can't do a build when called from meson" do_build ;; - '--called-from-make') + --called-from-build) if test -z "${NM_BUILD_NO_CREATE_EXPORTS+x}"; then do_update else diff --git a/vapi/meson.build b/vapi/meson.build index 835a0b9a..37e5090c 100644 --- a/vapi/meson.build +++ b/vapi/meson.build @@ -18,12 +18,11 @@ if enable_libnm_glib install: true ) - packages += libnm_util_vapi - gnome.generate_vapi( libnm_glib_name, sources: libnm_glib_gir[0], - packages: packages, + packages: packages + [libnm_util_vapi], + gir_dirs: [join_paths(meson.current_build_dir(), '..', 'libnm-util')], install: true ) endif -- cgit 1.3.0-6-gf8a5