]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Fix loading plugins using just their filenames
authorMichał Kępień <michal@isc.org>
Fri, 22 Apr 2022 11:27:12 +0000 (13:27 +0200)
committerMichał Kępień <michal@isc.org>
Fri, 22 Apr 2022 11:27:12 +0000 (13:27 +0200)
BIND 9 plugins are installed using Automake's pkglib_LTLIBRARIES stanza,
which causes the relevant shared objects to be placed in the
$(libdir)/@PACKAGE@/ directory, where @PACKAGE@ is expanded to the
lowercase form of the first argument passed to AC_INIT(), i.e. "bind".
Meanwhile, NAMED_PLUGINDIR - the preprocessor macro that the
ns_plugin_expandpath() function uses for determining the absolute path
to a plugin for which only a filename has been provided (rather than a
path) - is set to $(libdir)/named.  This discrepancy breaks loading
plugins using just their filenames.  Fix the issue (and also prevent it
from reoccurring) by setting NAMED_PLUGINDIR to $(pkglibdir).

Makefile.tests
lib/ns/Makefile.am

index 97a914db6aa8798eb73f48ae2316d9efe7598723..7ae2c5ada12efe29dd8570e8200885bf4ad70e0b 100644 (file)
@@ -12,7 +12,7 @@ AM_CFLAGS +=                                  \
 
 AM_CPPFLAGS +=                                 \
        $(CMOCKA_CFLAGS)                        \
-       -DNAMED_PLUGINDIR=\"$(libdir)/named\"   \
+       -DNAMED_PLUGINDIR=\"$(pkglibdir)\"      \
        -DSKIPPED_TEST_EXIT_CODE=77             \
        -DTESTS_DIR=\"$(abs_srcdir)\"
 
index 503b7283b07083b388542657df3763a19176d1e8..b2d5d73b4cd4d1e4c89be41469b5065b4bba6920 100644 (file)
@@ -1,7 +1,7 @@
 include $(top_srcdir)/Makefile.top
 
 AM_CPPFLAGS +=                         \
-       -DNAMED_PLUGINDIR=\"$(libdir)/named\"
+       -DNAMED_PLUGINDIR=\"$(pkglibdir)\"
 
 lib_LTLIBRARIES = libns.la