From: "Christian Ruppert" <idl0r@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: net-dns/bind/files/, net-dns/bind/
Date: Fri, 9 Jun 2017 17:39:15 +0000 (UTC) [thread overview]
Message-ID: <1497029718.8266797e5918f9d72fc0333486fc6c5bad2d367f.idl0r@gentoo> (raw)
commit: 8266797e5918f9d72fc0333486fc6c5bad2d367f
Author: Christian Ruppert <idl0r <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 9 17:35:18 2017 +0000
Commit: Christian Ruppert <idl0r <AT> gentoo <DOT> org>
CommitDate: Fri Jun 9 17:35:18 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8266797e
net-dns/bind: Fix compilation with dyndb and dlopen, bug 600212, thanks to all involved'
Package-Manager: Portage-2.3.6, Repoman-2.3.2
net-dns/bind/bind-9.11.0_p5.ebuild | 3 +
.../bind/files/bind-9.11.0_p5-dyndb-dlopen.patch | 97 ++++++++++++++++++++++
2 files changed, 100 insertions(+)
diff --git a/net-dns/bind/bind-9.11.0_p5.ebuild b/net-dns/bind/bind-9.11.0_p5.ebuild
index 7b82a673244..887f9abcb52 100644
--- a/net-dns/bind/bind-9.11.0_p5.ebuild
+++ b/net-dns/bind/bind-9.11.0_p5.ebuild
@@ -100,6 +100,9 @@ pkg_setup() {
}
src_prepare() {
+ # bug 600212
+ epatch "${FILESDIR}"/${P}-dyndb-dlopen.patch
+
# Adjusting PATHs in manpages
for i in bin/{named/named.8,check/named-checkconf.8,rndc/rndc.8} ; do
sed -i \
diff --git a/net-dns/bind/files/bind-9.11.0_p5-dyndb-dlopen.patch b/net-dns/bind/files/bind-9.11.0_p5-dyndb-dlopen.patch
new file mode 100644
index 00000000000..5fc8f3c1889
--- /dev/null
+++ b/net-dns/bind/files/bind-9.11.0_p5-dyndb-dlopen.patch
@@ -0,0 +1,97 @@
+From ae903759c205f8a5039458d780c0e0c4442b7291 Mon Sep 17 00:00:00 2001
+From: Mark Andrews <marka@isc.org>
+Date: Tue, 30 May 2017 11:31:34 +1000
+Subject: [PATCH] 4530. [bug] "dyndb" is dependent on dlopen
+ existing / being enabled. [RT #45291]
+
+From aa3a8979bc7eb1596d044eff572b3c35310584fa Mon Sep 17 00:00:00 2001
+From: Mark Andrews <marka@isc.org>
+Date: Tue, 30 May 2017 11:34:37 +1000
+Subject: [PATCH] 4530. [bug] "dyndb" is dependent on dlopen
+ existing / being enabled. [RT #45291]
+
+diff --git a/lib/dns/dyndb.c b/lib/dns/dyndb.c
+index a477508..dec68a7 100644
+--- a/lib/dns/dyndb.c
++++ b/lib/dns/dyndb.c
+@@ -80,7 +80,7 @@ impfind(const char *name) {
+ return (NULL);
+ }
+
+-#if HAVE_DLFCN_H
++#if HAVE_DLFCN_H && HAVE_DLOPEN
+ static isc_result_t
+ load_symbol(void *handle, const char *filename,
+ const char *symbol_name, void **symbolp)
+--- a/bin/named/server.c
++++ b/bin/named/server.c
+@@ -1496,6 +1496,7 @@ configure_peer(const cfg_obj_t *cpeer, isc_mem_t *mctx, dns_peer_t **peerp) {
+ return (result);
+ }
+
++#ifdef HAVE_DLOPEN
+ static isc_result_t
+ configure_dyndb(const cfg_obj_t *dyndb, isc_mem_t *mctx,
+ const dns_dyndbctx_t *dctx)
+@@ -1521,6 +1522,7 @@ configure_dyndb(const cfg_obj_t *dyndb, isc_mem_t *mctx,
+ name, isc_result_totext(result));
+ return (result);
+ }
++#endif
+
+
+ static isc_result_t
+@@ -4669,6 +4671,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
+ else
+ (void)cfg_map_get(config, "dyndb", &dyndb_list);
+
++#ifdef HAVE_DLOPEN
+ for (element = cfg_list_first(dyndb_list);
+ element != NULL;
+ element = cfg_list_next(element))
+@@ -4686,6 +4689,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
+
+ CHECK(configure_dyndb(dyndb, mctx, dctx));
+ }
++#endif
+
+ /*
+ * Setup automatic empty zones. If recursion is off then
+diff --git a/lib/bind9/check.c b/lib/bind9/check.c
+index 097dd96..99b995c 100644
+--- a/lib/bind9/check.c
++++ b/lib/bind9/check.c
+@@ -2988,6 +2988,9 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions,
+ {
+ const cfg_obj_t *zones = NULL;
+ const cfg_obj_t *keys = NULL;
++#ifndef HAVE_DLOPEN
++ const cfg_obj_t *dyndb = NULL;
++#endif
+ const cfg_listelt_t *element, *element2;
+ isc_symtab_t *symtab = NULL;
+ isc_result_t result = ISC_R_SUCCESS;
+@@ -3041,6 +3044,20 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions,
+ result = ISC_R_FAILURE;
+ }
+
++#ifndef HAVE_DLOPEN
++ if (voptions != NULL)
++ (void)cfg_map_get(voptions, "dyndb", &dyndb);
++ else
++ (void)cfg_map_get(config, "dyndb", &dyndb);
++
++ if (dyndb != NULL) {
++ cfg_obj_log(dyndb, logctx, ISC_LOG_ERROR,
++ "dynamic loading of databases is not supported");
++ if (tresult != ISC_R_SUCCESS)
++ result = ISC_R_NOTIMPLEMENTED;
++ }
++#endif
++
+ /*
+ * Check that the response-policy and catalog-zones options
+ * refer to zones that exist.
+--
+2.9.0
+
next reply other threads:[~2017-06-09 17:39 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-09 17:39 Christian Ruppert [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-09-02 8:30 [gentoo-commits] repo/gentoo:master commit in: net-dns/bind/files/, net-dns/bind/ Sam James
2024-08-31 7:10 Sam James
2024-08-31 7:10 Sam James
2024-02-18 10:48 Sam James
2022-06-03 7:33 Sam James
2021-07-18 17:54 Mikle Kolyada
2020-09-18 19:23 Patrick McLean
2020-09-15 17:58 Patrick McLean
2020-02-14 16:01 Thomas Deutschmann
2019-02-17 9:02 Mikle Kolyada
2018-01-08 9:08 Christian Ruppert
2016-01-20 18:56 Christian Ruppert
2015-12-27 19:39 Christian Ruppert
2015-10-17 12:18 Christian Ruppert
2015-10-04 8:29 Pacho Ramos
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1497029718.8266797e5918f9d72fc0333486fc6c5bad2d367f.idl0r@gentoo \
--to=idl0r@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox