diff --git a/callouts/Makefile.am b/callouts/Makefile.am index 5279b2f4a..82d7e7557 100644 --- a/callouts/Makefile.am +++ b/callouts/Makefile.am @@ -28,8 +28,8 @@ libexec_PROGRAMS = \ nm_dispatcher_SOURCES = \ + $(top_srcdir)/shared/nm-dispatcher-api.h \ nm-dispatcher.c \ - nm-dispatcher-api.h \ nm-dispatcher-utils.c \ nm-dispatcher-utils.h diff --git a/shared/Makefile.am b/shared/Makefile.am index 31a894a4c..adf101bf2 100644 --- a/shared/Makefile.am +++ b/shared/Makefile.am @@ -12,6 +12,7 @@ EXTRA_DIST = \ nm-common-macros.h \ nm-dbus-compat.h \ nm-default.h \ + nm-dispatcher-api.h \ nm-test-libnm-utils.h \ nm-test-utils-impl.c \ nm-version-macros.h.in \ diff --git a/shared/nm-default.h b/shared/nm-default.h index d8ca04bb6..e3e3ea441 100644 --- a/shared/nm-default.h +++ b/shared/nm-default.h @@ -123,9 +123,10 @@ _nm_g_return_if_fail_warning (const char *log_domain, /*****************************************************************************/ #include "nm-utils/nm-macros-internal.h" -#include "nm-version.h" #include "nm-utils/nm-shared-utils.h" +#include "nm-version.h" + /*****************************************************************************/ #if ((NETWORKMANAGER_COMPILATION) == NM_NETWORKMANAGER_COMPILATION_LIB) || ((NETWORKMANAGER_COMPILATION) == NM_NETWORKMANAGER_COMPILATION_LIB_LEGACY) diff --git a/callouts/nm-dispatcher-api.h b/shared/nm-dispatcher-api.h similarity index 100% rename from callouts/nm-dispatcher-api.h rename to shared/nm-dispatcher-api.h diff --git a/shared/nm-utils/nm-glib.h b/shared/nm-utils/nm-glib.h index 2818074d6..b0ad4572d 100644 --- a/shared/nm-utils/nm-glib.h +++ b/shared/nm-utils/nm-glib.h @@ -417,4 +417,27 @@ _nm_g_strv_contains (const gchar * const *strv, } #define g_strv_contains _nm_g_strv_contains +static inline GVariant * +_nm_g_variant_new_take_string (gchar *string) +{ +#if !GLIB_CHECK_VERSION(2, 38, 0) + GVariant *value; + GBytes *bytes; + + g_return_val_if_fail (string != NULL, NULL); + g_return_val_if_fail (g_utf8_validate (string, -1, NULL), NULL); + + bytes = g_bytes_new_take (string, strlen (string) + 1); + value = g_variant_new_from_bytes (G_VARIANT_TYPE_STRING, bytes, TRUE); + g_bytes_unref (bytes); + + return value; +#else + G_GNUC_BEGIN_IGNORE_DEPRECATIONS + return g_variant_new_take_string (string); + G_GNUC_END_IGNORE_DEPRECATIONS +#endif +} +#define g_variant_new_take_string _nm_g_variant_new_take_string + #endif /* __NM_GLIB_H__ */ diff --git a/src/Makefile.am b/src/Makefile.am index 04b8b694f..24338d9c8 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -32,36 +32,76 @@ SUBDIRS += \ tests endif -AM_CPPFLAGS = \ - -I$(top_srcdir)/shared \ - -I$(top_builddir)/shared \ - -I$(top_builddir)/introspection \ - -I$(top_srcdir)/libnm-core \ - -I$(top_builddir)/libnm-core \ - -I$(top_srcdir)/callouts \ - -DPREFIX=\"$(prefix)\" \ - -DG_LOG_DOMAIN=\""NetworkManager"\" \ - -DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_INSIDE_DAEMON - -# add each subdirectory that contains a libNM source file. $(sort) is being used -# primarily for its side effect of removing duplicates. -AM_CPPFLAGS += $(foreach d,$(sort $(dir $(libNetworkManager_la_SOURCES))),-I$(top_srcdir)/src/$d) - -noinst_LTLIBRARIES = \ - libNetworkManager.la \ - libnm-iface-helper.la \ - libsystemd-nm.la - -###################### -# libsystemd-nm -###################### - SYSTEMD_NM_CFLAGS_PATHS = \ -I$(top_srcdir)/src/systemd/src/systemd \ -I$(top_srcdir)/src/systemd/src/libsystemd-network \ -I$(top_srcdir)/src/systemd/src/basic \ -I$(top_srcdir)/src/systemd +AM_CPPFLAGS = \ + -I$(top_srcdir)/shared \ + -I$(top_builddir)/shared \ + -I$(top_builddir)/introspection \ + -I$(top_srcdir)/libnm-core \ + -I$(top_builddir)/libnm-core \ + \ + $(foreach d,$(sort $(dir $(libNetworkManager_la_SOURCES))),-I$(top_srcdir)/src/$d) \ + \ + -DPREFIX=\"$(prefix)\" \ + -DG_LOG_DOMAIN=\""NetworkManager"\" \ + -DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_INSIDE_DAEMON \ + \ + -DBINDIR=\"$(bindir)\" \ + -DDATADIR=\"$(datadir)\" \ + -DLIBEXECDIR=\"$(libexecdir)\" \ + -DLOCALSTATEDIR=\"$(localstatedir)\" \ + -DRUNSTATEDIR=\"$(runstatedir)\" \ + -DSBINDIR=\"$(sbindir)\" \ + -DSYSCONFDIR=\"$(sysconfdir)\" \ + -DRUNDIR=\"$(rundir)\" \ + \ + -DNMCONFDIR=\"$(nmconfdir)\" \ + -DNMLOCALEDIR=\"$(datadir)/locale\" \ + -DNMPLUGINDIR=\"$(pkglibdir)\" \ + -DNMRUNDIR=\"$(nmrundir)\" \ + -DNMSTATEDIR=\"$(nmstatedir)\" \ + -DNMLIBDIR=\"$(nmlibdir)\" \ + \ + -DDHCLIENT_PATH=\"$(DHCLIENT_PATH)\" \ + -DDHCPCD_PATH=\"$(DHCPCD_PATH)\" \ + -DPPPD_PLUGIN_DIR=\"$(PPPD_PLUGIN_DIR)\" \ + \ + $(GLIB_CFLAGS) \ + $(GUDEV_CFLAGS) \ + $(LIBNL_CFLAGS) \ + $(LIBNDP_CFLAGS) \ + $(LIBSOUP_CFLAGS) \ + $(SELINUX_CFLAGS) \ + $(LIBAUDIT_CFLAGS) \ + $(SYSTEMD_LOGIN_CFLAGS) \ + $(SYSTEMD_JOURNAL_CFLAGS) \ + $(SYSTEMD_NM_CFLAGS_PATHS) \ + $(CODE_COVERAGE_CFLAGS) \ + \ + $(NULL) + +AM_LDFLAGS = $(CODE_COVERAGE_LDFLAGS) + +sbin_PROGRAMS = \ + NetworkManager + +libexec_PROGRAMS = \ + nm-iface-helper + +noinst_LTLIBRARIES = \ + libNetworkManagerBase.la \ + libNetworkManager.la \ + libNetworkManagerTest.la \ + libnm-iface-helper.la \ + libsystemd-nm.la + +############################################################################### + libsystemd_nm_la_SOURCES = \ systemd/nm-sd.c \ systemd/nm-sd.h \ @@ -176,8 +216,8 @@ libsystemd_nm_la_SOURCES = \ systemd/src/systemd/sd-ndisc.h libsystemd_nm_la_CPPFLAGS = \ - -I$(top_srcdir)/shared \ - -I$(top_builddir)/shared \ + -I$(top_srcdir)/shared/ \ + -I$(top_builddir)/shared/ \ -I$(top_srcdir)/libnm-core \ -I$(top_builddir)/libnm-core \ $(SYSTEMD_NM_CFLAGS_PATHS) \ @@ -188,52 +228,25 @@ libsystemd_nm_la_CPPFLAGS = \ libsystemd_nm_la_LIBADD = \ $(GLIB_LIBS) -###################### -# libsystemd-nm-base -###################### +############################################################################### -if ENABLE_TESTS -noinst_LTLIBRARIES += \ - libNetworkManager-base.la - -libNetworkManager_base_la_SOURCES = \ +libNetworkManagerBase_la_SOURCES = \ nm-core-utils.c \ nm-core-utils.h \ nm-logging.c \ nm-logging.h -libNetworkManager_base_la_CPPFLAGS = \ - -I$(top_srcdir)/shared \ - -I$(top_builddir)/shared \ - -I$(top_srcdir)/libnm-core \ - -I$(top_builddir)/libnm-core \ - -I$(top_srcdir)/src/platform \ - -DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_INSIDE_DAEMON \ - -DNO_SYSTEMD_JOURNAL \ - -DPREFIX=\"$(prefix)\" \ - -DLOCALSTATEDIR=\"$(localstatedir)\" \ - -DNMSTATEDIR=\"$(nmstatedir)\" \ - $(GLIB_CFLAGS) - -libNetworkManager_base_la_LIBADD = \ +libNetworkManagerBase_la_LIBADD = \ $(top_builddir)/libnm-core/libnm-core.la \ - $(GLIB_LIBS) -endif + $(GLIB_LIBS) \ + $(SYSTEMD_JOURNAL_LIBS) \ + $(NULL) -########################################### -# NetworkManager -########################################### +############################################################################### -sbin_PROGRAMS = NetworkManager - -NetworkManager_SOURCES = \ - $(nm_device_sources) $(nm_device_headers) \ - $(nm_dhcp_client_sources) $(nm_dhcp_client_headers) \ - main-utils.c \ - main-utils.h \ - main.c - -NetworkManager_LDADD = libNetworkManager.la +# These source files have a attribute((constructor)) to register their factories. +# This gets stripped out from the resulting binary if we add them to libNetworkManager.la. +# Instead, add them to the binary. An alternative would be to link with --as-needed. nm_device_sources = \ devices/nm-device-bond.c \ @@ -258,23 +271,27 @@ nm_device_headers = \ devices/nm-device-tun.h \ devices/nm-device-veth.h \ devices/nm-device-vlan.h \ - devices/nm-device-vxlan.h + devices/nm-device-vxlan.h \ + $(NULL) nm_dhcp_client_sources = \ dhcp-manager/nm-dhcp-dhclient.c \ - dhcp-manager/nm-dhcp-dhclient-utils.c \ dhcp-manager/nm-dhcp-dhcpcd.c \ - dhcp-manager/nm-dhcp-systemd.c + dhcp-manager/nm-dhcp-systemd.c \ + $(NULL) nm_dhcp_client_headers = \ dhcp-manager/nm-dhcp-dhclient.h \ - dhcp-manager/nm-dhcp-dhclient-utils.h \ dhcp-manager/nm-dhcp-dhcpcd.h \ - dhcp-manager/nm-dhcp-systemd.h + dhcp-manager/nm-dhcp-systemd.h \ + $(NULL) + +############################################################################### libNetworkManager_la_SOURCES = \ - $(nm_device_headers) \ - $(nm_dhcp_client_headers) \ + \ + dhcp-manager/nm-dhcp-dhclient-utils.c \ + dhcp-manager/nm-dhcp-dhclient-utils.h \ devices/nm-device.c \ devices/nm-device.h \ devices/nm-lldp-listener.c \ @@ -324,8 +341,6 @@ libNetworkManager_la_SOURCES = \ platform/nm-platform.h \ platform/nm-linux-platform.c \ platform/nm-linux-platform.h \ - platform/nm-fake-platform.c \ - platform/nm-fake-platform.h \ platform/wifi/wifi-utils-nl80211.c \ platform/wifi/wifi-utils-nl80211.h \ platform/wifi/wifi-utils-private.h \ @@ -417,8 +432,6 @@ libNetworkManager_la_SOURCES = \ nm-ip4-config.h \ nm-ip6-config.c \ nm-ip6-config.h \ - nm-logging.c \ - nm-logging.h \ nm-auth-manager.c \ nm-auth-manager.h \ nm-auth-subject.c \ @@ -438,11 +451,9 @@ libNetworkManager_la_SOURCES = \ nm-sleep-monitor.c \ nm-sleep-monitor.h \ nm-types.h \ - nm-core-utils.c \ - nm-core-utils.h \ NetworkManagerUtils.c \ - NetworkManagerUtils.h - + NetworkManagerUtils.h \ + $(NULL) if WITH_WEXT libNetworkManager_la_SOURCES += \ @@ -451,65 +462,15 @@ libNetworkManager_la_SOURCES += \ endif -GLIB_GENERATED = nm-enum-types.h nm-enum-types.c -GLIB_MKENUMS_H_FLAGS = --identifier-prefix NM --fhead '\#include \n' -GLIB_MKENUMS_C_FLAGS = --identifier-prefix NM -nm_enum_types_sources = $(filter-out \ - %/nm-device-private.h \ - %/nm-rdisc-private.h \ - %/wifi-utils-private.h \ - %/nm-dhcp-client-logging.h \ - %/nm-device-logging.h \ - , $(libNetworkManager_la_SOURCES)) - -BUILT_SOURCES = $(GLIB_GENERATED) - -AM_CPPFLAGS += \ - $(GLIB_CFLAGS) \ - $(GUDEV_CFLAGS) \ - $(LIBNL_CFLAGS) \ - $(LIBNDP_CFLAGS) \ - $(LIBSOUP_CFLAGS) \ - $(SELINUX_CFLAGS) \ - $(LIBAUDIT_CFLAGS) \ - $(SYSTEMD_LOGIN_CFLAGS) \ - $(SYSTEMD_JOURNAL_CFLAGS) \ - $(SYSTEMD_NM_CFLAGS_PATHS) \ - $(CODE_COVERAGE_CFLAGS) \ - \ - -DBINDIR=\"$(bindir)\" \ - -DDATADIR=\"$(datadir)\" \ - -DLIBEXECDIR=\"$(libexecdir)\" \ - -DLOCALSTATEDIR=\"$(localstatedir)\" \ - -DRUNSTATEDIR=\"$(runstatedir)\" \ - -DSBINDIR=\"$(sbindir)\" \ - -DSYSCONFDIR=\"$(sysconfdir)\" \ - -DRUNDIR=\"$(rundir)\" \ - \ - -DNMCONFDIR=\"$(nmconfdir)\" \ - -DNMLOCALEDIR=\"$(datadir)/locale\" \ - -DNMPLUGINDIR=\"$(pkglibdir)\" \ - -DNMRUNDIR=\"$(nmrundir)\" \ - -DNMSTATEDIR=\"$(nmstatedir)\" \ - -DNMLIBDIR=\"$(nmlibdir)\" \ - \ - -DDHCLIENT_PATH=\"$(DHCLIENT_PATH)\" \ - -DDHCPCD_PATH=\"$(DHCPCD_PATH)\" \ - -DPPPD_PLUGIN_DIR=\"$(PPPD_PLUGIN_DIR)\" \ - \ - $(NULL) - -AM_LDFLAGS = $(CODE_COVERAGE_LDFLAGS) - libNetworkManager_la_LIBADD = \ $(top_builddir)/libnm-core/libnm-core.la \ $(top_builddir)/introspection/libnmdbus.la \ + libNetworkManagerBase.la \ libsystemd-nm.la \ $(GLIB_LIBS) \ $(GUDEV_LIBS) \ $(LIBNL_LIBS) \ $(SYSTEMD_LOGIN_LIBS) \ - $(SYSTEMD_JOURNAL_LIBS) \ $(LIBNDP_LIBS) \ $(LIBDL) \ $(LIBM) \ @@ -520,13 +481,42 @@ if WITH_LIBSOUP libNetworkManager_la_LIBADD += $(LIBSOUP_LIBS) endif +############################################################################### + +libNetworkManagerTest_la_SOURCES = \ + rdisc/nm-fake-rdisc.c \ + rdisc/nm-fake-rdisc.h \ + platform/nm-fake-platform.c \ + platform/nm-fake-platform.h + +libNetworkManagerTest_la_LIBADD = \ + $(srcdir)/libNetworkManager.la + +############################################################################### + +NetworkManager_SOURCES = \ + \ + $(nm_device_sources) \ + $(nm_device_headers) \ + \ + $(nm_dhcp_client_sources) \ + $(nm_dhcp_client_headers) \ + \ + main-utils.c \ + main-utils.h \ + main.c + +NetworkManager_LDADD = \ + libNetworkManager.la + NetworkManager_LDFLAGS = \ -rdynamic \ -Wl,--version-script="$(srcdir)/NetworkManager.ver" -###################### +############################################################################### libnm_iface_helper_la_SOURCES = \ + \ dhcp-manager/nm-dhcp-client.c \ dhcp-manager/nm-dhcp-client.h \ dhcp-manager/nm-dhcp-client-logging.h \ @@ -568,12 +558,8 @@ libnm_iface_helper_la_SOURCES = \ \ nm-enum-types.c \ nm-enum-types.h \ - nm-logging.c \ - nm-logging.h \ nm-multi-index.c \ nm-multi-index.h \ - nm-core-utils.c \ - nm-core-utils.h \ NetworkManagerUtils.c \ NetworkManagerUtils.h @@ -586,6 +572,7 @@ endif libnm_iface_helper_la_LIBADD = \ $(top_builddir)/libnm-core/libnm-core.la \ $(top_builddir)/introspection/libnmdbus.la \ + libNetworkManagerBase.la \ libsystemd-nm.la \ $(GLIB_LIBS) \ $(GUDEV_LIBS) \ @@ -594,8 +581,6 @@ libnm_iface_helper_la_LIBADD = \ $(LIBDL) \ $(LIBM) -libexec_PROGRAMS = nm-iface-helper - nm_iface_helper_SOURCES = \ dhcp-manager/nm-dhcp-systemd.h \ dhcp-manager/nm-dhcp-systemd.c \ @@ -609,14 +594,29 @@ nm_iface_helper_LDADD = \ libnm-iface-helper.la \ $(GLIB_LIBS) \ $(GUDEV_LIBS) \ - $(SYSTEMD_JOURNAL_LIBS) \ $(LIBNL_LIBS) \ $(LIBNDP_LIBS) \ $(LIBM) -nm_iface_helper_LDFLAGS = -rdynamic +nm_iface_helper_LDFLAGS = \ + -rdynamic -###################### +############################################################################### + +GLIB_GENERATED = nm-enum-types.h nm-enum-types.c +GLIB_MKENUMS_H_FLAGS = --identifier-prefix NM --fhead '\#include \n' +GLIB_MKENUMS_C_FLAGS = --identifier-prefix NM --fhead '\#include "nm-default.h"\n' +nm_enum_types_sources = $(filter-out \ + %/nm-device-private.h \ + %/nm-rdisc-private.h \ + %/wifi-utils-private.h \ + %/nm-dhcp-client-logging.h \ + %/nm-device-logging.h \ + , $(libNetworkManager_la_SOURCES)) + +BUILT_SOURCES = $(GLIB_GENERATED) + +############################################################################### dbusservicedir = $(DBUS_SYS_DIR) dbusservice_DATA = org.freedesktop.NetworkManager.conf diff --git a/src/dhcp-manager/nm-dhcp-dhclient-utils.h b/src/dhcp-manager/nm-dhcp-dhclient-utils.h index 0e2550279..83d5a23da 100644 --- a/src/dhcp-manager/nm-dhcp-dhclient-utils.h +++ b/src/dhcp-manager/nm-dhcp-dhclient-utils.h @@ -22,8 +22,6 @@ #include #include -#include "nm-default.h" - char *nm_dhcp_dhclient_create_config (const char *interface, gboolean is_ip6, GBytes *client_id, diff --git a/src/nm-bus-manager.c b/src/nm-bus-manager.c index 656e7dbf6..5894d7570 100644 --- a/src/nm-bus-manager.c +++ b/src/nm-bus-manager.c @@ -533,6 +533,36 @@ nm_bus_manager_get_caller_info_from_message (NMBusManager *self, return _get_caller_info (self, NULL, connection, message, out_sender, out_uid, out_pid); } +gboolean +nm_bus_manager_ensure_root (NMBusManager *self, + GDBusMethodInvocation *context, + GQuark error_domain, + int error_code) +{ + gulong caller_uid; + GError *error = NULL; + + g_return_val_if_fail (NM_IS_BUS_MANAGER (self), FALSE); + g_return_val_if_fail (G_IS_DBUS_METHOD_INVOCATION (context), FALSE); + + if (!nm_bus_manager_get_caller_info (self, context, NULL, &caller_uid, NULL)) { + error = g_error_new_literal (error_domain, + error_code, + "Unable to determine request UID."); + g_dbus_method_invocation_take_error (context, error); + return FALSE; + } + if (caller_uid != 0) { + error = g_error_new_literal (error_domain, + error_code, + "Permission denied"); + g_dbus_method_invocation_take_error (context, error); + return FALSE; + } + + return TRUE; +} + gboolean nm_bus_manager_get_unix_user (NMBusManager *self, const char *sender, diff --git a/src/nm-bus-manager.h b/src/nm-bus-manager.h index 49579d462..f8a2cb6b5 100644 --- a/src/nm-bus-manager.h +++ b/src/nm-bus-manager.h @@ -68,6 +68,11 @@ gboolean nm_bus_manager_get_caller_info (NMBusManager *self, gulong *out_uid, gulong *out_pid); +gboolean nm_bus_manager_ensure_root (NMBusManager *self, + GDBusMethodInvocation *context, + GQuark error_domain, + int error_code); + const char *nm_bus_manager_connection_get_private_name (NMBusManager *self, GDBusConnection *connection); diff --git a/src/nm-exported-object.h b/src/nm-exported-object.h index c2c228044..7036e0d03 100644 --- a/src/nm-exported-object.h +++ b/src/nm-exported-object.h @@ -21,10 +21,6 @@ #ifndef NM_EXPORTED_OBJECT_H #define NM_EXPORTED_OBJECT_H -#include "nm-default.h" - -G_BEGIN_DECLS - /*****************************************************************************/ char *nm_exported_object_skeletonify_method_name (const char *dbus_method_name); @@ -79,6 +75,4 @@ GDBusInterfaceSkeleton *nm_exported_object_get_interface_by_type (NMExportedObje void _nm_exported_object_clear_and_unexport (NMExportedObject **location); #define nm_exported_object_clear_and_unexport(location) _nm_exported_object_clear_and_unexport ((NMExportedObject **) (location)) -G_END_DECLS - -#endif /* NM_EXPORTED_OBJECT_H */ +#endif /* NM_EXPORTED_OBJECT_H */ diff --git a/src/nm-logging.c b/src/nm-logging.c index d3b4715b2..8e5a44b60 100644 --- a/src/nm-logging.c +++ b/src/nm-logging.c @@ -32,11 +32,6 @@ #include #include -#if defined (NO_SYSTEMD_JOURNAL) && defined (SYSTEMD_JOURNAL) -#undef SYSTEMD_JOURNAL -#define SYSTEMD_JOURNAL 0 -#endif - #if SYSTEMD_JOURNAL #define SD_JOURNAL_SUPPRESS_LOCATION #include diff --git a/src/platform/tests/Makefile.am b/src/platform/tests/Makefile.am index 5af4ce91d..0633dd28b 100644 --- a/src/platform/tests/Makefile.am +++ b/src/platform/tests/Makefile.am @@ -28,7 +28,7 @@ TEST_SOURCES = \ AM_CFLAGS = $(CODE_COVERAGE_CFLAGS) AM_LDFLAGS = $(GLIB_LIBS) $(GUDEV_LIBS) $(LIBNL_LIBS) $(CODE_COVERAGE_LDFLAGS) PLATFORM_LDADD = \ - $(top_builddir)/src/libNetworkManager.la + $(top_builddir)/src/libNetworkManagerTest.la @GNOME_CODE_COVERAGE_RULES@ @@ -109,12 +109,12 @@ test_cleanup_linux_LDADD = $(PLATFORM_LDADD) test_nmp_object_SOURCES = \ test-nmp-object.c test_nmp_object_LDADD = \ - $(top_builddir)/src/libNetworkManager.la + $(top_builddir)/src/libNetworkManagerTest.la test_general_SOURCES = \ test-general.c test_general_LDADD = \ - $(top_builddir)/src/libNetworkManager.la + $(top_builddir)/src/libNetworkManagerTest.la @VALGRIND_RULES@ diff --git a/src/rdisc/tests/Makefile.am b/src/rdisc/tests/Makefile.am index 4e71fac4b..b054179e8 100644 --- a/src/rdisc/tests/Makefile.am +++ b/src/rdisc/tests/Makefile.am @@ -27,11 +27,9 @@ test_rdisc_linux_LDADD = \ $(top_builddir)/src/libNetworkManager.la test_rdisc_fake_SOURCES = \ - $(srcdir)/../nm-fake-rdisc.c \ - $(srcdir)/../nm-fake-rdisc.h \ test-rdisc-fake.c test_rdisc_fake_LDADD = \ - $(top_builddir)/src/libNetworkManager.la + $(top_builddir)/src/libNetworkManagerTest.la @VALGRIND_RULES@ TESTS = test-rdisc-fake diff --git a/src/settings/nm-settings.c b/src/settings/nm-settings.c index 284e173d2..529d7581d 100644 --- a/src/settings/nm-settings.c +++ b/src/settings/nm-settings.c @@ -1512,31 +1512,6 @@ impl_settings_add_connection_unsaved (NMSettings *self, impl_settings_add_connection_helper (self, context, settings, FALSE); } -static gboolean -ensure_root (NMBusManager *dbus_mgr, - GDBusMethodInvocation *context) -{ - gulong caller_uid; - GError *error = NULL; - - if (!nm_bus_manager_get_caller_info (dbus_mgr, context, NULL, &caller_uid, NULL)) { - error = g_error_new_literal (NM_SETTINGS_ERROR, - NM_SETTINGS_ERROR_PERMISSION_DENIED, - "Unable to determine request UID."); - g_dbus_method_invocation_take_error (context, error); - return FALSE; - } - if (caller_uid != 0) { - error = g_error_new_literal (NM_SETTINGS_ERROR, - NM_SETTINGS_ERROR_PERMISSION_DENIED, - "Permission denied"); - g_dbus_method_invocation_take_error (context, error); - return FALSE; - } - - return TRUE; -} - static void impl_settings_load_connections (NMSettings *self, GDBusMethodInvocation *context, @@ -1547,7 +1522,8 @@ impl_settings_load_connections (NMSettings *self, GSList *iter; int i; - if (!ensure_root (nm_bus_manager_get (), context)) + if (!nm_bus_manager_ensure_root (nm_bus_manager_get (), context, + NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_PERMISSION_DENIED)) return; failures = g_ptr_array_new (); @@ -1583,7 +1559,8 @@ impl_settings_reload_connections (NMSettings *self, NMSettingsPrivate *priv = NM_SETTINGS_GET_PRIVATE (self); GSList *iter; - if (!ensure_root (nm_bus_manager_get (), context)) + if (!nm_bus_manager_ensure_root (nm_bus_manager_get (), context, + NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_PERMISSION_DENIED)) return; for (iter = priv->plugins; iter; iter = g_slist_next (iter)) { diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am index 70eb25bfd..d742231af 100644 --- a/src/tests/Makefile.am +++ b/src/tests/Makefile.am @@ -62,7 +62,7 @@ test_route_manager_fake_SOURCES = \ test-route-manager.c test_route_manager_fake_LDADD = \ - $(top_builddir)/src/libNetworkManager.la + $(top_builddir)/src/libNetworkManagerTest.la test_route_manager_linux_SOURCES = \ $(top_srcdir)/src/platform/tests/test-common.c \ @@ -130,7 +130,7 @@ test_systemd_SOURCES = \ test-systemd.c test_systemd_LDADD = \ - $(top_builddir)/src/libNetworkManager-base.la \ + $(top_builddir)/src/libNetworkManagerBase.la \ $(top_builddir)/src/libsystemd-nm.la ####### utils test ####### diff --git a/src/tests/config/Makefile.am b/src/tests/config/Makefile.am index ee8254bab..d0cb797d1 100644 --- a/src/tests/config/Makefile.am +++ b/src/tests/config/Makefile.am @@ -21,7 +21,7 @@ test_config_SOURCES = \ test-config.c test_config_LDADD = \ - $(top_builddir)/src/libNetworkManager.la + $(top_builddir)/src/libNetworkManagerTest.la @VALGRIND_RULES@ TESTS = test-config