From 7514efc2f38c9ace4557d4e69d68e7d380389030 Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Fri, 26 Aug 2016 02:18:32 +0200 Subject: Imported Upstream version 1.4.0 --- libnm/Makefile.am | 21 +++++-- libnm/Makefile.in | 38 +++++++++--- libnm/libnm.ver | 21 +++++++ libnm/nm-client.c | 60 ++++++++++++++++-- libnm/nm-client.h | 9 ++- libnm/nm-dbus-helpers.h | 2 - libnm/nm-device-ethernet.c | 9 ++- libnm/nm-device-team.c | 40 ++++++++++++ libnm/nm-device-team.h | 3 + libnm/nm-enum-types.c | 2 + libnm/nm-ifcfg-rh-docs.xml | 14 ++++- libnm/nm-manager.c | 4 ++ libnm/nm-object-cache.h | 1 - libnm/nm-object-private.h | 1 - libnm/nm-property-docs.xml | 10 ++- libnm/nm-setting-docs-overrides.xml | 14 +++++ libnm/nm-setting-docs.xml | 12 +++- libnm/nm-vpn-editor.h | 2 +- libnm/nm-vpn-service-plugin.c | 8 +++ libnm/tests/Makefile.am | 24 ++++++++ libnm/tests/Makefile.in | 117 ++++++++++++++++++++++++++++-------- 21 files changed, 357 insertions(+), 55 deletions(-) (limited to 'libnm') diff --git a/libnm/Makefile.am b/libnm/Makefile.am index 184bdbdc..ee64d4eb 100644 --- a/libnm/Makefile.am +++ b/libnm/Makefile.am @@ -137,17 +137,15 @@ GLIB_MKENUMS_C_FLAGS = --identifier-prefix NM --fhead '\#include "nm-default.h"\ libnm_la_LIBADD = \ $(top_builddir)/libnm-core/libnm-core.la \ $(top_builddir)/introspection/libnmdbus.la \ - $(LIBDL) \ + $(DL_LIBS) \ $(GLIB_LIBS) \ $(UUID_LIBS) \ $(GUDEV_LIBS) -libnm_la_LDFLAGS = \ - $(CODE_COVERAGE_LDFLAGS) - SYMBOL_VIS_FILE=$(srcdir)/libnm.ver libnm_la_LDFLAGS = -Wl,--version-script=$(SYMBOL_VIS_FILE) \ + $(CODE_COVERAGE_LDFLAGS) \ -version-info "1:0:1" ### @@ -171,6 +169,10 @@ INTROSPECTION_COMPILER_ARGS = \ --includedir=$(top_srcdir)/libnm \ --includedir=$(top_builddir)/libnm +# Pass SANITIZER_ENV where a command that uses built libraries is +# executed, to suppress possible errors +INTROSPECTION_SCANNER_ENV = $(SANITIZER_ENV) + if HAVE_INTROSPECTION introspection_sources = \ $(libnm_core_headers) \ @@ -214,9 +216,16 @@ docs_sources = $(filter-out %/nm-core-enum-types.c,$(libnm_core_sources)) nm-setting-docs-overrides.xml: generate-plugin-docs.pl $(docs_sources) $(srcdir)/generate-plugin-docs.pl dbus $(top_srcdir)/libnm-core $@ +# When the python scripts loads libnm and the address sanitizers is +# enabled, we must LD_PRELOAD libasan otherwise it will complain that +# it was not loaded as initial library. nm-property-docs.xml: generate-setting-docs.py $(docs_sources) | NM-1.0.gir NM-1.0.typelib libnm.la export GI_TYPELIB_PATH=$(abs_builddir)$${GI_TYPELIB_PATH:+:$$GI_TYPELIB_PATH}; \ export LD_LIBRARY_PATH=$(abs_builddir)/.libs$${LD_LIBRARY_PATH:+:$$LD_LIBRARY_PATH}; \ + if echo $(CFLAGS) | grep -e -fsanitize=address; then \ + export LD_PRELOAD="$${LD_PRELOAD} $$(ldd $(abs_builddir)/.libs/libnm.so | grep libasan\.so\.. -o | head -n 1)"; \ + fi; \ + [ -n "$(SANITIZER_ENV)" ] && export $(SANITIZER_ENV) ; \ $(srcdir)/generate-setting-docs.py \ --gir $(builddir)/NM-1.0.gir \ --output $@ @@ -224,6 +233,10 @@ nm-property-docs.xml: generate-setting-docs.py $(docs_sources) | NM-1.0.gir NM-1 nm-setting-docs.xml: generate-setting-docs.py $(docs_sources) nm-setting-docs-overrides.xml | NM-1.0.gir NM-1.0.typelib libnm.la export GI_TYPELIB_PATH=$(abs_builddir)$${GI_TYPELIB_PATH:+:$$GI_TYPELIB_PATH}; \ export LD_LIBRARY_PATH=$(abs_builddir)/.libs$${LD_LIBRARY_PATH:+:$$LD_LIBRARY_PATH}; \ + if echo $(CFLAGS) | grep -e -fsanitize=address; then \ + export LD_PRELOAD="$${LD_PRELOAD} $$(ldd $(abs_builddir)/.libs/libnm.so | grep libasan\.so\.. -o | head -n 1)"; \ + fi; \ + [ -n "$(SANITIZER_ENV)" ] && export $(SANITIZER_ENV) ; \ $(srcdir)/generate-setting-docs.py \ --gir $(builddir)/NM-1.0.gir \ --overrides $(builddir)/nm-setting-docs-overrides.xml \ diff --git a/libnm/Makefile.in b/libnm/Makefile.in index f6ce85de..119a03f7 100644 --- a/libnm/Makefile.in +++ b/libnm/Makefile.in @@ -100,8 +100,9 @@ host_triplet = @host@ @BUILD_SETTING_DOCS_TRUE@am__append_4 = $(noinst_DATA) subdir = libnm ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_lib_readline.m4 \ - $(top_srcdir)/m4/compiler_warnings.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/attributes.m4 \ + $(top_srcdir)/m4/ax_lib_readline.m4 \ + $(top_srcdir)/m4/compiler_options.m4 \ $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/gnome-code-coverage.m4 \ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \ @@ -324,6 +325,7 @@ DHCLIENT_PATH = @DHCLIENT_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@ DSYMUTIL = @DSYMUTIL@ @@ -380,13 +382,14 @@ INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@ INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@ INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ IPTABLES_PATH = @IPTABLES_PATH@ +JANSSON_CFLAGS = @JANSSON_CFLAGS@ +JANSSON_LIBS = @JANSSON_LIBS@ KERNEL_FIRMWARE_DIR = @KERNEL_FIRMWARE_DIR@ LCOV = @LCOV@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBAUDIT_CFLAGS = @LIBAUDIT_CFLAGS@ LIBAUDIT_LIBS = @LIBAUDIT_LIBS@ -LIBDL = @LIBDL@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBM = @LIBM@ @@ -398,6 +401,8 @@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSOUP_CFLAGS = @LIBSOUP_CFLAGS@ LIBSOUP_LIBS = @LIBSOUP_LIBS@ +LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@ +LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@ LIBTEAMDCTL_CFLAGS = @LIBTEAMDCTL_CFLAGS@ LIBTEAMDCTL_LIBS = @LIBTEAMDCTL_LIBS@ LIBTOOL = @LIBTOOL@ @@ -458,6 +463,8 @@ QT_CFLAGS = @QT_CFLAGS@ QT_LIBS = @QT_LIBS@ RANLIB = @RANLIB@ READLINE_LIBS = @READLINE_LIBS@ +SANITIZERS = @SANITIZERS@ +SANITIZER_ENV = @SANITIZER_ENV@ SED = @SED@ SELINUX_CFLAGS = @SELINUX_CFLAGS@ SELINUX_LIBS = @SELINUX_LIBS@ @@ -493,6 +500,7 @@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_RANLIB = @ac_ct_RANLIB@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -619,7 +627,7 @@ libnm_core_headers = \ $(core)/nm-vpn-plugin-info.h libnm_core_private_headers = \ - $(top_builddir)/shared/nm-shared-utils.h \ + $(top_builddir)/shared/nm-utils/nm-shared-utils.h \ $(core)/crypto.h \ $(core)/nm-connection-private.h \ $(core)/nm-core-internal.h \ @@ -631,7 +639,7 @@ libnm_core_private_headers = \ $(core)/nm-utils-private.h libnm_core_sources = \ - $(top_builddir)/shared/nm-shared-utils.c \ + $(top_builddir)/shared/nm-utils/nm-shared-utils.c \ $(core_build)/nm-core-enum-types.c \ $(core)/crypto.c \ $(core)/nm-connection.c \ @@ -791,15 +799,16 @@ GLIB_MKENUMS_C_FLAGS = --identifier-prefix NM --fhead '\#include "nm-default.h"\ libnm_la_LIBADD = \ $(top_builddir)/libnm-core/libnm-core.la \ $(top_builddir)/introspection/libnmdbus.la \ - $(LIBDL) \ + $(DL_LIBS) \ $(GLIB_LIBS) \ $(UUID_LIBS) \ $(GUDEV_LIBS) +SYMBOL_VIS_FILE = $(srcdir)/libnm.ver libnm_la_LDFLAGS = -Wl,--version-script=$(SYMBOL_VIS_FILE) \ + $(CODE_COVERAGE_LDFLAGS) \ -version-info "1:0:1" -SYMBOL_VIS_FILE = $(srcdir)/libnm.ver ### BUILT_SOURCES = $(GLIB_GENERATED) @@ -816,6 +825,10 @@ INTROSPECTION_COMPILER_ARGS = \ --includedir=$(top_srcdir)/libnm \ --includedir=$(top_builddir)/libnm + +# Pass SANITIZER_ENV where a command that uses built libraries is +# executed, to suppress possible errors +INTROSPECTION_SCANNER_ENV = $(SANITIZER_ENV) @HAVE_INTROSPECTION_TRUE@introspection_sources = \ @HAVE_INTROSPECTION_TRUE@ $(libnm_core_headers) \ @HAVE_INTROSPECTION_TRUE@ $(libnminclude_hfiles) \ @@ -1384,9 +1397,16 @@ check-local: @BUILD_SETTING_DOCS_TRUE@nm-setting-docs-overrides.xml: generate-plugin-docs.pl $(docs_sources) @BUILD_SETTING_DOCS_TRUE@ $(srcdir)/generate-plugin-docs.pl dbus $(top_srcdir)/libnm-core $@ +# When the python scripts loads libnm and the address sanitizers is +# enabled, we must LD_PRELOAD libasan otherwise it will complain that +# it was not loaded as initial library. @BUILD_SETTING_DOCS_TRUE@nm-property-docs.xml: generate-setting-docs.py $(docs_sources) | NM-1.0.gir NM-1.0.typelib libnm.la @BUILD_SETTING_DOCS_TRUE@ export GI_TYPELIB_PATH=$(abs_builddir)$${GI_TYPELIB_PATH:+:$$GI_TYPELIB_PATH}; \ @BUILD_SETTING_DOCS_TRUE@ export LD_LIBRARY_PATH=$(abs_builddir)/.libs$${LD_LIBRARY_PATH:+:$$LD_LIBRARY_PATH}; \ +@BUILD_SETTING_DOCS_TRUE@ if echo $(CFLAGS) | grep -e -fsanitize=address; then \ +@BUILD_SETTING_DOCS_TRUE@ export LD_PRELOAD="$${LD_PRELOAD} $$(ldd $(abs_builddir)/.libs/libnm.so | grep libasan\.so\.. -o | head -n 1)"; \ +@BUILD_SETTING_DOCS_TRUE@ fi; \ +@BUILD_SETTING_DOCS_TRUE@ [ -n "$(SANITIZER_ENV)" ] && export $(SANITIZER_ENV) ; \ @BUILD_SETTING_DOCS_TRUE@ $(srcdir)/generate-setting-docs.py \ @BUILD_SETTING_DOCS_TRUE@ --gir $(builddir)/NM-1.0.gir \ @BUILD_SETTING_DOCS_TRUE@ --output $@ @@ -1394,6 +1414,10 @@ check-local: @BUILD_SETTING_DOCS_TRUE@nm-setting-docs.xml: generate-setting-docs.py $(docs_sources) nm-setting-docs-overrides.xml | NM-1.0.gir NM-1.0.typelib libnm.la @BUILD_SETTING_DOCS_TRUE@ export GI_TYPELIB_PATH=$(abs_builddir)$${GI_TYPELIB_PATH:+:$$GI_TYPELIB_PATH}; \ @BUILD_SETTING_DOCS_TRUE@ export LD_LIBRARY_PATH=$(abs_builddir)/.libs$${LD_LIBRARY_PATH:+:$$LD_LIBRARY_PATH}; \ +@BUILD_SETTING_DOCS_TRUE@ if echo $(CFLAGS) | grep -e -fsanitize=address; then \ +@BUILD_SETTING_DOCS_TRUE@ export LD_PRELOAD="$${LD_PRELOAD} $$(ldd $(abs_builddir)/.libs/libnm.so | grep libasan\.so\.. -o | head -n 1)"; \ +@BUILD_SETTING_DOCS_TRUE@ fi; \ +@BUILD_SETTING_DOCS_TRUE@ [ -n "$(SANITIZER_ENV)" ] && export $(SANITIZER_ENV) ; \ @BUILD_SETTING_DOCS_TRUE@ $(srcdir)/generate-setting-docs.py \ @BUILD_SETTING_DOCS_TRUE@ --gir $(builddir)/NM-1.0.gir \ @BUILD_SETTING_DOCS_TRUE@ --overrides $(builddir)/nm-setting-docs-overrides.xml \ diff --git a/libnm/libnm.ver b/libnm/libnm.ver index 4fd8027c..cc2fc7df 100644 --- a/libnm/libnm.ver +++ b/libnm/libnm.ver @@ -1060,5 +1060,26 @@ global: } libnm_1_0_0; libnm_1_2_4 { + #nm_setting_ip_config_get_dns_priority@libnm_1_2_4; +} libnm_1_2_0; + +libnm_1_4_0 { +global: + nm_device_team_get_config; + nm_setting_connection_get_stable_id; + nm_setting_ip6_config_get_token; nm_setting_ip_config_get_dns_priority; + nm_setting_wired_get_generate_mac_address_mask; + nm_setting_wireless_get_generate_mac_address_mask; + nm_vpn_editor_plugin_get_plugin_info; + nm_vpn_editor_plugin_get_vt; + nm_vpn_editor_plugin_load; + nm_vpn_editor_plugin_set_plugin_info; + nm_vpn_plugin_info_get_aliases; + nm_vpn_plugin_info_get_auth_dialog; + nm_vpn_plugin_info_get_service; + nm_vpn_plugin_info_list_get_service_types; + nm_vpn_plugin_info_list_find_service_type; + nm_vpn_plugin_info_new_search_file; + nm_vpn_plugin_info_supports_hints; } libnm_1_2_0; diff --git a/libnm/nm-client.c b/libnm/nm-client.c index a7ecdb55..64c0d9de 100644 --- a/libnm/nm-client.c +++ b/libnm/nm-client.c @@ -89,6 +89,8 @@ enum { PERMISSION_CHANGED, CONNECTION_ADDED, CONNECTION_REMOVED, + ACTIVE_CONNECTION_ADDED, + ACTIVE_CONNECTION_REMOVED, LAST_SIGNAL }; @@ -1368,7 +1370,7 @@ nm_client_add_connection_finish (NMClient *client, /** * nm_client_load_connections: * @client: the %NMClient - * @filenames: %NULL-terminated array of filenames to load + * @filenames: (array zero-terminated=1): %NULL-terminated array of filenames to load * @failures: (out) (transfer full): on return, a %NULL-terminated array of * filenames that failed to load * @cancellable: a #GCancellable, or %NULL @@ -1427,7 +1429,7 @@ load_connections_cb (GObject *object, GAsyncResult *result, gpointer user_data) /** * nm_client_load_connections_async: * @client: the %NMClient - * @filenames: %NULL-terminated array of filenames to load + * @filenames: (array zero-terminated=1): %NULL-terminated array of filenames to load * @cancellable: a #GCancellable, or %NULL * @callback: (scope async): callback to be called when the operation completes * @user_data: (closure): caller-specific data passed to @callback @@ -1465,8 +1467,8 @@ nm_client_load_connections_async (NMClient *client, /** * nm_client_load_connections_finish: * @client: the %NMClient - * @failures: (out) (transfer full): on return, a %NULL-terminated array of - * filenames that failed to load + * @failures: (out) (transfer full) (array zero-terminated=1): on return, a + * %NULL-terminated array of filenames that failed to load * @result: the result passed to the #GAsyncReadyCallback * @error: location for a #GError, or %NULL * @@ -1751,6 +1753,22 @@ settings_connection_removed (NMRemoteSettings *manager, g_signal_emit (client, signals[CONNECTION_REMOVED], 0, connection); } +static void +manager_active_connection_added (NMManager *manager, + NMActiveConnection *active_connection, + gpointer client) +{ + g_signal_emit (client, signals[ACTIVE_CONNECTION_ADDED], 0, active_connection); +} + +static void +manager_active_connection_removed (NMManager *manager, + NMActiveConnection *active_connection, + gpointer client) +{ + g_signal_emit (client, signals[ACTIVE_CONNECTION_REMOVED], 0, active_connection); +} + static void constructed (GObject *object) { @@ -1772,6 +1790,10 @@ constructed (GObject *object) G_CALLBACK (manager_any_device_removed), client); g_signal_connect (priv->manager, "permission-changed", G_CALLBACK (manager_permission_changed), client); + g_signal_connect (priv->manager, "active-connection-added", + G_CALLBACK (manager_active_connection_added), client); + g_signal_connect (priv->manager, "active-connection-removed", + G_CALLBACK (manager_active_connection_removed), client); priv->settings = g_object_new (NM_TYPE_REMOTE_SETTINGS, NM_OBJECT_PATH, NM_DBUS_PATH_SETTINGS, @@ -2353,6 +2375,36 @@ nm_client_class_init (NMClientClass *client_class) NULL, NULL, NULL, G_TYPE_NONE, 1, NM_TYPE_REMOTE_CONNECTION); + + /** + * NMClient::active-connection-added: + * @client: the settings object that received the signal + * @active_connection: the new active connection + * + * Notifies that a #NMActiveConnection has been added. + **/ + signals[ACTIVE_CONNECTION_ADDED] = + g_signal_new (NM_CLIENT_ACTIVE_CONNECTION_ADDED, + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_FIRST, + 0, NULL, NULL, NULL, + G_TYPE_NONE, 1, + NM_TYPE_ACTIVE_CONNECTION); + + /** + * NMClient::active-connection-removed: + * @client: the settings object that received the signal + * @active_connection: the removed active connection + * + * Notifies that a #NMActiveConnection has been removed. + **/ + signals[ACTIVE_CONNECTION_REMOVED] = + g_signal_new (NM_CLIENT_ACTIVE_CONNECTION_REMOVED, + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_FIRST, + 0, NULL, NULL, NULL, + G_TYPE_NONE, 1, + NM_TYPE_ACTIVE_CONNECTION); } static void diff --git a/libnm/nm-client.h b/libnm/nm-client.h index 6bae78fa..5358ded4 100644 --- a/libnm/nm-client.h +++ b/libnm/nm-client.h @@ -66,6 +66,8 @@ G_BEGIN_DECLS #define NM_CLIENT_PERMISSION_CHANGED "permission-changed" #define NM_CLIENT_CONNECTION_ADDED "connection-added" #define NM_CLIENT_CONNECTION_REMOVED "connection-removed" +#define NM_CLIENT_ACTIVE_CONNECTION_ADDED "active-connection-added" +#define NM_CLIENT_ACTIVE_CONNECTION_REMOVED "active-connection-removed" /** * NMClientPermission: @@ -95,6 +97,9 @@ G_BEGIN_DECLS * @NM_CLIENT_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS: modify persistent global * DNS configuration * @NM_CLIENT_PERMISSION_RELOAD: controls access to Reload. + * @NM_CLIENT_PERMISSION_CHECKPOINT_ROLLBACK: permission to create checkpoints. + * @NM_CLIENT_PERMISSION_ENABLE_DISABLE_STATISTICS: controls whether device + * statistics can be globally enabled or disabled * @NM_CLIENT_PERMISSION_LAST: a reserved boundary value * * #NMClientPermission values indicate various permissions that NetworkManager @@ -115,8 +120,10 @@ typedef enum { NM_CLIENT_PERMISSION_SETTINGS_MODIFY_HOSTNAME = 11, NM_CLIENT_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS = 12, NM_CLIENT_PERMISSION_RELOAD = 13, + NM_CLIENT_PERMISSION_CHECKPOINT_ROLLBACK = 14, + NM_CLIENT_PERMISSION_ENABLE_DISABLE_STATISTICS = 15, - NM_CLIENT_PERMISSION_LAST = 13, + NM_CLIENT_PERMISSION_LAST = 15, } NMClientPermission; /** diff --git a/libnm/nm-dbus-helpers.h b/libnm/nm-dbus-helpers.h index 497739f0..4ec8988a 100644 --- a/libnm/nm-dbus-helpers.h +++ b/libnm/nm-dbus-helpers.h @@ -21,8 +21,6 @@ #ifndef __NM_DBUS_HELPERS_PRIVATE_H__ #define __NM_DBUS_HELPERS_PRIVATE_H__ - -#include "nm-default.h" #include "nm-dbus-compat.h" GBusType _nm_dbus_bus_type (void); diff --git a/libnm/nm-device-ethernet.c b/libnm/nm-device-ethernet.c index 88a7c432..825ed7b3 100644 --- a/libnm/nm-device-ethernet.c +++ b/libnm/nm-device-ethernet.c @@ -227,9 +227,14 @@ connection_compatible (NMDevice *device, NMConnection *connection, GError **erro perm_addr = nm_device_ethernet_get_permanent_hw_address (NM_DEVICE_ETHERNET (device)); s_mac = nm_setting_wired_get_mac_address (s_wired); if (perm_addr) { + /* Virtual devices will have empty permanent addr but they should not be excluded + * from the MAC address check specified in the connection */ + if (*perm_addr == 0) + perm_addr = nm_device_ethernet_get_hw_address (NM_DEVICE_ETHERNET (device)); + if (!nm_utils_hwaddr_valid (perm_addr, ETH_ALEN)) { - g_set_error_literal (error, NM_DEVICE_ERROR, NM_DEVICE_ERROR_FAILED, - _("Invalid device MAC address.")); + g_set_error (error, NM_DEVICE_ERROR, NM_DEVICE_ERROR_FAILED, + _("Invalid device MAC address %s."), perm_addr); return FALSE; } if (try_mac && s_mac && !nm_utils_hwaddr_matches (s_mac, -1, perm_addr, -1)) { diff --git a/libnm/nm-device-team.c b/libnm/nm-device-team.c index b855d5ec..3955e105 100644 --- a/libnm/nm-device-team.c +++ b/libnm/nm-device-team.c @@ -39,6 +39,7 @@ typedef struct { char *hw_address; gboolean carrier; GPtrArray *slaves; + char *config; } NMDeviceTeamPrivate; enum { @@ -46,6 +47,7 @@ enum { PROP_HW_ADDRESS, PROP_CARRIER, PROP_SLAVES, + PROP_CONFIG, LAST_PROP }; @@ -101,6 +103,25 @@ nm_device_team_get_slaves (NMDeviceTeam *device) return NM_DEVICE_TEAM_GET_PRIVATE (device)->slaves; } +/** + * nm_device_team_get_config: + * @device: a #NMDeviceTeam + * + * Gets the current JSON configuration of the #NMDeviceTeam + * + * Returns: the current configuration. This is the internal string used by the + * device, and must not be modified. + * + * Since: 1.4 + **/ +const char * +nm_device_team_get_config (NMDeviceTeam *device) +{ + g_return_val_if_fail (NM_IS_DEVICE_TEAM (device), NULL); + + return NM_DEVICE_TEAM_GET_PRIVATE (device)->config; +} + static const char * get_hw_address (NMDevice *device) { @@ -150,6 +171,7 @@ init_dbus (NMObject *object) { NM_DEVICE_TEAM_HW_ADDRESS, &priv->hw_address }, { NM_DEVICE_TEAM_CARRIER, &priv->carrier }, { NM_DEVICE_TEAM_SLAVES, &priv->slaves, NULL, NM_TYPE_DEVICE }, + { NM_DEVICE_TEAM_CONFIG, &priv->config }, { NULL }, }; @@ -176,6 +198,7 @@ finalize (GObject *object) NMDeviceTeamPrivate *priv = NM_DEVICE_TEAM_GET_PRIVATE (object); g_free (priv->hw_address); + g_free (priv->config); G_OBJECT_CLASS (nm_device_team_parent_class)->finalize (object); } @@ -198,6 +221,9 @@ get_property (GObject *object, case PROP_SLAVES: g_value_take_boxed (value, _nm_utils_copy_object_array (nm_device_team_get_slaves (device))); break; + case PROP_CONFIG: + g_value_set_string (value, nm_device_team_get_config (device)); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -265,4 +291,18 @@ nm_device_team_class_init (NMDeviceTeamClass *team_class) G_TYPE_PTR_ARRAY, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); + + /** + * NMDeviceTeam:config: + * + * The current JSON configuration of the device. + * + * Since: 1.4 + **/ + g_object_class_install_property + (object_class, PROP_CONFIG, + g_param_spec_string (NM_DEVICE_TEAM_CONFIG, "", "", + NULL, + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); } diff --git a/libnm/nm-device-team.h b/libnm/nm-device-team.h index a9b71c6a..522e3d29 100644 --- a/libnm/nm-device-team.h +++ b/libnm/nm-device-team.h @@ -39,6 +39,7 @@ G_BEGIN_DECLS #define NM_DEVICE_TEAM_HW_ADDRESS "hw-address" #define NM_DEVICE_TEAM_CARRIER "carrier" #define NM_DEVICE_TEAM_SLAVES "slaves" +#define NM_DEVICE_TEAM_CONFIG "config" /** * NMDeviceTeam: @@ -59,6 +60,8 @@ GType nm_device_team_get_type (void); const char *nm_device_team_get_hw_address (NMDeviceTeam *device); gboolean nm_device_team_get_carrier (NMDeviceTeam *device); const GPtrArray *nm_device_team_get_slaves (NMDeviceTeam *device); +NM_AVAILABLE_IN_1_4 +const char *nm_device_team_get_config (NMDeviceTeam *device); G_END_DECLS diff --git a/libnm/nm-enum-types.c b/libnm/nm-enum-types.c index a64e4cf0..eaebcfbe 100644 --- a/libnm/nm-enum-types.c +++ b/libnm/nm-enum-types.c @@ -65,6 +65,8 @@ nm_client_permission_get_type (void) { NM_CLIENT_PERMISSION_SETTINGS_MODIFY_HOSTNAME, "NM_CLIENT_PERMISSION_SETTINGS_MODIFY_HOSTNAME", "settings-modify-hostname" }, { NM_CLIENT_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS, "NM_CLIENT_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS", "settings-modify-global-dns" }, { NM_CLIENT_PERMISSION_RELOAD, "NM_CLIENT_PERMISSION_RELOAD", "reload" }, + { NM_CLIENT_PERMISSION_CHECKPOINT_ROLLBACK, "NM_CLIENT_PERMISSION_CHECKPOINT_ROLLBACK", "checkpoint-rollback" }, + { NM_CLIENT_PERMISSION_ENABLE_DISABLE_STATISTICS, "NM_CLIENT_PERMISSION_ENABLE_DISABLE_STATISTICS", "enable-disable-statistics" }, { NM_CLIENT_PERMISSION_LAST, "NM_CLIENT_PERMISSION_LAST", "last" }, { 0, NULL, NULL } }; diff --git a/libnm/nm-ifcfg-rh-docs.xml b/libnm/nm-ifcfg-rh-docs.xml index ef01a16a..36018c21 100644 --- a/libnm/nm-ifcfg-rh-docs.xml +++ b/libnm/nm-ifcfg-rh-docs.xml @@ -71,7 +71,8 @@ MACADDR for bridges is an NM extension."/> +creates the UUID itself (by hashing the filename)."/> + @@ -158,6 +159,9 @@ meaning as 'never-default' property."/> + @@ -185,9 +189,13 @@ meaning as 'never-default' property."/> + + @@ -232,6 +240,8 @@ but VLAN id from DEVICE takes precedence over VLAN_ID."/> notation (e.g. 00:22:68:14:5A:05)."/> + @@ -279,6 +289,8 @@ band is "bg"."/> notation (e.g. 00:22:68:14:5A:05)."/> + diff --git a/libnm/nm-manager.c b/libnm/nm-manager.c index 27bd4ca6..c3d0c51d 100644 --- a/libnm/nm-manager.c +++ b/libnm/nm-manager.c @@ -232,6 +232,10 @@ nm_permission_to_client (const char *nm) return NM_CLIENT_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS; else if (!strcmp (nm, NM_AUTH_PERMISSION_RELOAD)) return NM_CLIENT_PERMISSION_RELOAD; + else if (!strcmp (nm, NM_AUTH_PERMISSION_CHECKPOINT_ROLLBACK)) + return NM_CLIENT_PERMISSION_CHECKPOINT_ROLLBACK; + else if (!strcmp (nm, NM_AUTH_PERMISSION_ENABLE_DISABLE_STATISTICS)) + return NM_CLIENT_PERMISSION_ENABLE_DISABLE_STATISTICS; return NM_CLIENT_PERMISSION_NONE; } diff --git a/libnm/nm-object-cache.h b/libnm/nm-object-cache.h index c0f70f21..b29692fa 100644 --- a/libnm/nm-object-cache.h +++ b/libnm/nm-object-cache.h @@ -21,7 +21,6 @@ #ifndef __NM_OBJECT_CACHE_H__ #define __NM_OBJECT_CACHE_H__ -#include "nm-default.h" #include "nm-object.h" G_BEGIN_DECLS diff --git a/libnm/nm-object-private.h b/libnm/nm-object-private.h index 7e8066f4..ad78f92b 100644 --- a/libnm/nm-object-private.h +++ b/libnm/nm-object-private.h @@ -21,7 +21,6 @@ #ifndef __NM_OBJECT_PRIVATE_H__ #define __NM_OBJECT_PRIVATE_H__ -#include "nm-default.h" #include "nm-object.h" typedef gboolean (*PropertyMarshalFunc) (NMObject *, GParamSpec *, GVariant *, gpointer); diff --git a/libnm/nm-property-docs.xml b/libnm/nm-property-docs.xml index b4996bef..71cbc35a 100644 --- a/libnm/nm-property-docs.xml +++ b/libnm/nm-property-docs.xml @@ -98,6 +98,7 @@ + @@ -190,6 +191,7 @@ + @@ -315,8 +317,9 @@ - + + @@ -333,11 +336,12 @@ - + + - + diff --git a/libnm/nm-setting-docs-overrides.xml b/libnm/nm-setting-docs-overrides.xml index 2f788db8..8cfa2cc0 100644 --- a/libnm/nm-setting-docs-overrides.xml +++ b/libnm/nm-setting-docs-overrides.xml @@ -137,10 +137,24 @@ vlan's interface name."/> + + + + + @@ -196,6 +197,7 @@ + @@ -322,9 +324,11 @@ + - + + @@ -338,14 +342,16 @@ + - + + - + diff --git a/libnm/nm-vpn-editor.h b/libnm/nm-vpn-editor.h index a11e9fd1..2ee34525 100644 --- a/libnm/nm-vpn-editor.h +++ b/libnm/nm-vpn-editor.h @@ -30,7 +30,7 @@ #include #include -#include "nm-vpn-editor-plugin.h" +#include G_BEGIN_DECLS diff --git a/libnm/nm-vpn-service-plugin.c b/libnm/nm-vpn-service-plugin.c index bf4369e4..64316296 100644 --- a/libnm/nm-vpn-service-plugin.c +++ b/libnm/nm-vpn-service-plugin.c @@ -1306,3 +1306,11 @@ nm_vpn_service_plugin_initable_iface_init (GInitableIface *iface) { iface->init = init_sync; } + +/*****************************************************************************/ + +/* this header is intended to be copied to users of nm_vpn_editor_plugin_call(), + * to simplify invocation of generic functions. Include it here, to complile + * the code. */ +#include "nm-utils/nm-vpn-editor-plugin-call.h" + diff --git a/libnm/tests/Makefile.am b/libnm/tests/Makefile.am index d2944c4c..1c65f723 100644 --- a/libnm/tests/Makefile.am +++ b/libnm/tests/Makefile.am @@ -39,3 +39,27 @@ test_secret_agent_SOURCES = \ $(top_builddir)/shared/nm-test-libnm-utils.h \ test-secret-agent.c endif + +############################################################################### + +noinst_LTLIBRARIES = \ + libnm-vpn-plugin-utils-test.la + +libnm_vpn_plugin_utils_test_la_SOURCES = \ + $(top_srcdir)/shared/nm-utils/nm-vpn-plugin-utils.c \ + $(top_srcdir)/shared/nm-utils/nm-vpn-plugin-utils.h \ + $(NULL) + +libnm_vpn_plugin_utils_test_la_CFLAGS = \ + $(GLIB_CFLAGS) \ + -I$(top_srcdir)/shared \ + -I$(top_srcdir)/libnm-core \ + -I$(top_srcdir)/libnm \ + $(NULL) + +libnm_vpn_plugin_utils_test_la_LIBADD = \ + $(GLIB_LIBS) \ + $(NULL) + +############################################################################### + diff --git a/libnm/tests/Makefile.in b/libnm/tests/Makefile.in index 4592ac6c..35b040f9 100644 --- a/libnm/tests/Makefile.in +++ b/libnm/tests/Makefile.in @@ -14,6 +14,7 @@ @SET_MAKE@ + VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ @@ -94,8 +95,9 @@ host_triplet = @host@ @ENABLE_TESTS_TRUE@ test-secret-agent$(EXEEXT) subdir = libnm/tests ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_lib_readline.m4 \ - $(top_srcdir)/m4/compiler_warnings.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/attributes.m4 \ + $(top_srcdir)/m4/ax_lib_readline.m4 \ + $(top_srcdir)/m4/compiler_options.m4 \ $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/gnome-code-coverage.m4 \ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \ @@ -114,6 +116,21 @@ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +LTLIBRARIES = $(noinst_LTLIBRARIES) +am__DEPENDENCIES_1 = +libnm_vpn_plugin_utils_test_la_DEPENDENCIES = $(am__DEPENDENCIES_1) +am_libnm_vpn_plugin_utils_test_la_OBJECTS = \ + libnm_vpn_plugin_utils_test_la-nm-vpn-plugin-utils.lo +libnm_vpn_plugin_utils_test_la_OBJECTS = \ + $(am_libnm_vpn_plugin_utils_test_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +libnm_vpn_plugin_utils_test_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(libnm_vpn_plugin_utils_test_la_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ @ENABLE_TESTS_TRUE@am__EXEEXT_1 = test-nm-client$(EXEEXT) \ @ENABLE_TESTS_TRUE@ test-remote-settings-client$(EXEEXT) \ @ENABLE_TESTS_TRUE@ test-secret-agent$(EXEEXT) @@ -126,14 +143,9 @@ am__test_nm_client_SOURCES_DIST = \ @ENABLE_TESTS_TRUE@ test-nm-client.$(OBJEXT) test_nm_client_OBJECTS = $(am_test_nm_client_OBJECTS) test_nm_client_LDADD = $(LDADD) -am__DEPENDENCIES_1 = @ENABLE_TESTS_TRUE@test_nm_client_DEPENDENCIES = \ @ENABLE_TESTS_TRUE@ $(top_builddir)/libnm/libnm.la \ @ENABLE_TESTS_TRUE@ $(am__DEPENDENCIES_1) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = am__test_remote_settings_client_SOURCES_DIST = \ $(top_builddir)/shared/nm-test-utils-impl.c \ $(top_builddir)/shared/nm-test-libnm-utils.h \ @@ -193,10 +205,12 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = -SOURCES = $(test_nm_client_SOURCES) \ +SOURCES = $(libnm_vpn_plugin_utils_test_la_SOURCES) \ + $(test_nm_client_SOURCES) \ $(test_remote_settings_client_SOURCES) \ $(test_secret_agent_SOURCES) -DIST_SOURCES = $(am__test_nm_client_SOURCES_DIST) \ +DIST_SOURCES = $(libnm_vpn_plugin_utils_test_la_SOURCES) \ + $(am__test_nm_client_SOURCES_DIST) \ $(am__test_remote_settings_client_SOURCES_DIST) \ $(am__test_secret_agent_SOURCES_DIST) am__can_run_installinfo = \ @@ -464,6 +478,7 @@ DHCLIENT_PATH = @DHCLIENT_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@ DSYMUTIL = @DSYMUTIL@ @@ -520,13 +535,14 @@ INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@ INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@ INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ IPTABLES_PATH = @IPTABLES_PATH@ +JANSSON_CFLAGS = @JANSSON_CFLAGS@ +JANSSON_LIBS = @JANSSON_LIBS@ KERNEL_FIRMWARE_DIR = @KERNEL_FIRMWARE_DIR@ LCOV = @LCOV@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBAUDIT_CFLAGS = @LIBAUDIT_CFLAGS@ LIBAUDIT_LIBS = @LIBAUDIT_LIBS@ -LIBDL = @LIBDL@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBM = @LIBM@ @@ -538,6 +554,8 @@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSOUP_CFLAGS = @LIBSOUP_CFLAGS@ LIBSOUP_LIBS = @LIBSOUP_LIBS@ +LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@ +LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@ LIBTEAMDCTL_CFLAGS = @LIBTEAMDCTL_CFLAGS@ LIBTEAMDCTL_LIBS = @LIBTEAMDCTL_LIBS@ LIBTOOL = @LIBTOOL@ @@ -598,6 +616,8 @@ QT_CFLAGS = @QT_CFLAGS@ QT_LIBS = @QT_LIBS@ RANLIB = @RANLIB@ READLINE_LIBS = @READLINE_LIBS@ +SANITIZERS = @SANITIZERS@ +SANITIZER_ENV = @SANITIZER_ENV@ SED = @SED@ SELINUX_CFLAGS = @SELINUX_CFLAGS@ SELINUX_LIBS = @SELINUX_LIBS@ @@ -633,6 +653,7 @@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_RANLIB = @ac_ct_RANLIB@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -725,6 +746,27 @@ with_valgrind = @with_valgrind@ @ENABLE_TESTS_TRUE@ $(top_builddir)/shared/nm-test-libnm-utils.h \ @ENABLE_TESTS_TRUE@ test-secret-agent.c + +############################################################################### +noinst_LTLIBRARIES = \ + libnm-vpn-plugin-utils-test.la + +libnm_vpn_plugin_utils_test_la_SOURCES = \ + $(top_srcdir)/shared/nm-utils/nm-vpn-plugin-utils.c \ + $(top_srcdir)/shared/nm-utils/nm-vpn-plugin-utils.h \ + $(NULL) + +libnm_vpn_plugin_utils_test_la_CFLAGS = \ + $(GLIB_CFLAGS) \ + -I$(top_srcdir)/shared \ + -I$(top_srcdir)/libnm-core \ + -I$(top_srcdir)/libnm \ + $(NULL) + +libnm_vpn_plugin_utils_test_la_LIBADD = \ + $(GLIB_LIBS) \ + $(NULL) + all: all-am .SUFFIXES: @@ -759,6 +801,20 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libnm-vpn-plugin-utils-test.la: $(libnm_vpn_plugin_utils_test_la_OBJECTS) $(libnm_vpn_plugin_utils_test_la_DEPENDENCIES) $(EXTRA_libnm_vpn_plugin_utils_test_la_DEPENDENCIES) + $(AM_V_CCLD)$(libnm_vpn_plugin_utils_test_la_LINK) $(libnm_vpn_plugin_utils_test_la_OBJECTS) $(libnm_vpn_plugin_utils_test_la_LIBADD) $(LIBS) + clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ @@ -786,6 +842,7 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnm_vpn_plugin_utils_test_la-nm-vpn-plugin-utils.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nm-test-utils-impl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-nm-client.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-remote-settings-client.Po@am__quote@ @@ -812,6 +869,13 @@ distclean-compile: @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< +libnm_vpn_plugin_utils_test_la-nm-vpn-plugin-utils.lo: $(top_srcdir)/shared/nm-utils/nm-vpn-plugin-utils.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnm_vpn_plugin_utils_test_la_CFLAGS) $(CFLAGS) -MT libnm_vpn_plugin_utils_test_la-nm-vpn-plugin-utils.lo -MD -MP -MF $(DEPDIR)/libnm_vpn_plugin_utils_test_la-nm-vpn-plugin-utils.Tpo -c -o libnm_vpn_plugin_utils_test_la-nm-vpn-plugin-utils.lo `test -f '$(top_srcdir)/shared/nm-utils/nm-vpn-plugin-utils.c' || echo '$(srcdir)/'`$(top_srcdir)/shared/nm-utils/nm-vpn-plugin-utils.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libnm_vpn_plugin_utils_test_la-nm-vpn-plugin-utils.Tpo $(DEPDIR)/libnm_vpn_plugin_utils_test_la-nm-vpn-plugin-utils.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/shared/nm-utils/nm-vpn-plugin-utils.c' object='libnm_vpn_plugin_utils_test_la-nm-vpn-plugin-utils.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnm_vpn_plugin_utils_test_la_CFLAGS) $(CFLAGS) -c -o libnm_vpn_plugin_utils_test_la-nm-vpn-plugin-utils.lo `test -f '$(top_srcdir)/shared/nm-utils/nm-vpn-plugin-utils.c' || echo '$(srcdir)/'`$(top_srcdir)/shared/nm-utils/nm-vpn-plugin-utils.c + nm-test-utils-impl.o: $(top_builddir)/shared/nm-test-utils-impl.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nm-test-utils-impl.o -MD -MP -MF $(DEPDIR)/nm-test-utils-impl.Tpo -c -o nm-test-utils-impl.o `test -f '$(top_builddir)/shared/nm-test-utils-impl.c' || echo '$(srcdir)/'`$(top_builddir)/shared/nm-test-utils-impl.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/nm-test-utils-impl.Tpo $(DEPDIR)/nm-test-utils-impl.Po @@ -1094,7 +1158,7 @@ distdir: $(DISTFILES) check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am -all-am: Makefile $(PROGRAMS) +all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) installdirs: install: install-am install-exec: install-exec-am @@ -1131,8 +1195,8 @@ maintainer-clean-generic: @echo "it deletes files that may require special tools to rebuild." clean: clean-am -clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ - mostlyclean-am +clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ + clean-noinstPROGRAMS mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) @@ -1203,24 +1267,27 @@ uninstall-am: .MAKE: check-am install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \ - clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \ - ctags ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am 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 mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - recheck tags tags-am uninstall uninstall-am + clean-generic clean-libtool clean-noinstLTLIBRARIES \ + clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am 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 mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am recheck tags tags-am uninstall \ + uninstall-am .PRECIOUS: Makefile @ENABLE_TESTS_TRUE@@WITH_VALGRIND_TRUE@@VALGRIND_RULES@ --launch-dbus +############################################################################### + # 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: -- cgit 1.3.0-6-gf8a5