diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /net-dns/bind-tools/files |
reinit the tree, so we can have metadata
Diffstat (limited to 'net-dns/bind-tools/files')
-rw-r--r-- | net-dns/bind-tools/files/bind-tools-9.11.0_p5-dyndb-dlopen.patch | 97 | ||||
-rw-r--r-- | net-dns/bind-tools/files/bind-tools-9.5.0_p1-lwconfig.patch | 63 |
2 files changed, 160 insertions, 0 deletions
diff --git a/net-dns/bind-tools/files/bind-tools-9.11.0_p5-dyndb-dlopen.patch b/net-dns/bind-tools/files/bind-tools-9.11.0_p5-dyndb-dlopen.patch new file mode 100644 index 000000000000..5fc8f3c18897 --- /dev/null +++ b/net-dns/bind-tools/files/bind-tools-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 + diff --git a/net-dns/bind-tools/files/bind-tools-9.5.0_p1-lwconfig.patch b/net-dns/bind-tools/files/bind-tools-9.5.0_p1-lwconfig.patch new file mode 100644 index 000000000000..7aa1d16e92cd --- /dev/null +++ b/net-dns/bind-tools/files/bind-tools-9.5.0_p1-lwconfig.patch @@ -0,0 +1,63 @@ +--- lib/lwres/lwconfig.c.old 2007-06-20 01:47:22.000000000 +0200 ++++ lib/lwres/lwconfig.c 2008-06-15 02:57:02.000000000 +0200 +@@ -175,13 +175,8 @@ + REQUIRE(buffer != NULL); + REQUIRE(size > 0U); + +- *p = '\0'; +- + ch = eatwhite(fp); + +- if (ch == EOF) +- return (EOF); +- + do { + *p = '\0'; + +@@ -592,23 +587,37 @@ + if (strlen(word) == 0U) + rval = LWRES_R_SUCCESS; + else if (strcmp(word, "nameserver") == 0) +- rval = lwres_conf_parsenameserver(ctx, fp); ++ rval = (stopchar != '\n')? /* fail instantly if EOL is reached */ ++ lwres_conf_parsenameserver(ctx, fp) ++ : LWRES_R_FAILURE; + else if (strcmp(word, "lwserver") == 0) +- rval = lwres_conf_parselwserver(ctx, fp); ++ rval = (stopchar != '\n')? ++ lwres_conf_parselwserver(ctx, fp) ++ : LWRES_R_FAILURE; + else if (strcmp(word, "domain") == 0) +- rval = lwres_conf_parsedomain(ctx, fp); ++ rval = (stopchar != '\n')? ++ lwres_conf_parsedomain(ctx, fp) ++ : LWRES_R_FAILURE; + else if (strcmp(word, "search") == 0) +- rval = lwres_conf_parsesearch(ctx, fp); ++ rval = (stopchar != '\n')? ++ lwres_conf_parsesearch(ctx, fp) ++ : LWRES_R_FAILURE; + else if (strcmp(word, "sortlist") == 0) +- rval = lwres_conf_parsesortlist(ctx, fp); ++ rval = (stopchar != '\n')? ++ lwres_conf_parsesortlist(ctx, fp) ++ : LWRES_R_FAILURE; + else if (strcmp(word, "options") == 0) +- rval = lwres_conf_parseoption(ctx, fp); ++ rval = (stopchar != '\n')? ++ lwres_conf_parseoption(ctx, fp) ++ : LWRES_R_FAILURE; + else { + /* unrecognised word. Ignore entire line */ + rval = LWRES_R_SUCCESS; +- stopchar = eatline(fp); +- if (stopchar == EOF) { +- break; ++ if (stopchar != '\n') { /* do not eat the next line */ ++ stopchar = eatline(fp); ++ if (stopchar == EOF) { ++ break; ++ } + } + } + if (ret == LWRES_R_SUCCESS && rval != LWRES_R_SUCCESS) |