mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-17 11:08:07 +02:00
In commitca000cffbb, we changed to accept a plugin library name without path. One reason for that is to keep architecture dependent parts out of the .name file and possibly support multilib. However, the shared libraries of VPN plugins are not installed in a global library search path, but for example into "/usr/lib64/NetworkManager/libnm-vpn-plugin-openvpn.so". In that case, specifying "plugin=libnm-vpn-plugin-openvpn.so" would not be enough to find plugin. Instead, when configuring a plugin name without path, assume it is in NMPLUGINDIR directory. Modify nm_vpn_editor_plugin_load_from_file() to allow path-less plugin-names. Previously such names would be rejected as not being absolute. This API allows to do file verification before loading the plugin, but it now supports prepending NMPLUGINDIR to the plugin name. Basically, this function mangles the plugin_name argument and checks that such a file exists. The recently added nm_vpn_editor_plugin_load() continues to behave as before: it does no checks whatsoever and passes the name directly to dlopen(). That way, it uses system search paths like LD_LIBRARY_PATH and performs no checks on the file. Fixes:ca000cffbb(cherry picked from commit0b128aeced)
57 lines
1.4 KiB
Makefile
57 lines
1.4 KiB
Makefile
include $(GLIB_MAKEFILE)
|
|
|
|
@GNOME_CODE_COVERAGE_RULES@
|
|
|
|
SUBDIRS = . tests
|
|
|
|
AM_CPPFLAGS = \
|
|
-I${top_srcdir}/shared \
|
|
-I${top_builddir}/shared \
|
|
-DG_LOG_DOMAIN=\""libnm"\" \
|
|
-DLOCALEDIR=\"$(datadir)/locale\" \
|
|
-DNMCONFDIR=\"$(nmconfdir)\" \
|
|
-DNMLIBDIR=\"$(nmlibdir)\" \
|
|
-DNMPLUGINDIR=\"$(pkglibdir)\" \
|
|
-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIB \
|
|
$(GLIB_CFLAGS) \
|
|
$(CODE_COVERAGE_CFLAGS)
|
|
|
|
noinst_LTLIBRARIES = libnm-core.la
|
|
|
|
# header/source defines are in Makefile.libnm-core, so they can be shared
|
|
# with libnm/Makefile.am
|
|
include Makefile.libnm-core
|
|
|
|
libnmincludedir = $(includedir)/libnm
|
|
|
|
libnminclude_HEADERS = $(libnm_core_headers)
|
|
libnm_core_la_SOURCES = \
|
|
$(libnm_core_sources) \
|
|
$(libnm_core_private_headers)
|
|
|
|
GLIB_GENERATED = nm-core-enum-types.h nm-core-enum-types.c
|
|
nm_core_enum_types_sources = $(filter-out %nm-core-enum-types.h,$(libnminclude_HEADERS))
|
|
GLIB_MKENUMS_H_FLAGS = --identifier-prefix NM
|
|
GLIB_MKENUMS_C_FLAGS = --identifier-prefix NM
|
|
|
|
libnm_core_la_LIBADD = \
|
|
$(GLIB_LIBS) \
|
|
$(UUID_LIBS)
|
|
|
|
libnm_core_la_LDFLAGS = \
|
|
$(CODE_COVERAGE_LDFLAGS)
|
|
|
|
if WITH_GNUTLS
|
|
AM_CPPFLAGS += $(GNUTLS_CFLAGS)
|
|
libnm_core_la_SOURCES += crypto_gnutls.c
|
|
libnm_core_la_LIBADD += $(GNUTLS_LIBS)
|
|
endif
|
|
|
|
if WITH_NSS
|
|
AM_CPPFLAGS += $(NSS_CFLAGS)
|
|
libnm_core_la_SOURCES += crypto_nss.c
|
|
libnm_core_la_LIBADD += $(NSS_LIBS)
|
|
endif
|
|
|
|
BUILT_SOURCES = $(GLIB_GENERATED)
|
|
CLEANFILES = $(BUILT_SOURCES)
|