2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-22 18:19:42 +00:00

[master] clean up gcc -Wshadow warnings

4039.	[cleanup]	Cleaned up warnings from gcc -Wshadow. [RT #37381]
This commit is contained in:
Evan Hunt 2015-01-20 13:29:18 -08:00
parent cc0a48a381
commit 11463c0ac2
53 changed files with 502 additions and 565 deletions

View File

@ -1,3 +1,5 @@
4039. [cleanup] Cleaned up warnings from gcc -Wshadow. [RT #37381]
4038. [bug] Add 'rpz' flag to node and use it to determine whether 4038. [bug] Add 'rpz' flag to node and use it to determine whether
to call dns_rpz_delete. This should prevent unbalanced to call dns_rpz_delete. This should prevent unbalanced
add / delete calls. [RT #36888] add / delete calls. [RT #36888]

View File

@ -447,8 +447,6 @@ printdata(dns_rdataset_t *rdataset, dns_name_t *owner,
result == ISC_R_SUCCESS; result == ISC_R_SUCCESS;
result = dns_rdataset_next(rdataset)) result = dns_rdataset_next(rdataset))
{ {
isc_region_t r;
if ((rdataset->attributes & if ((rdataset->attributes &
DNS_RDATASETATTR_NEGATIVE) != 0) DNS_RDATASETATTR_NEGATIVE) != 0)
continue; continue;
@ -462,14 +460,12 @@ printdata(dns_rdataset_t *rdataset, dns_name_t *owner,
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
break; break;
isc_buffer_availableregion(&target, &r); if (isc_buffer_availablelength(&target) < 1) {
if (r.length < 1) {
result = ISC_R_NOSPACE; result = ISC_R_NOSPACE;
break; break;
} }
r.base[0] = '\n'; isc_buffer_putstr(&target, "\n");
isc_buffer_add(&target, 1);
dns_rdata_reset(&rdata); dns_rdata_reset(&rdata);
} }

View File

@ -1180,10 +1180,9 @@ parse_hmac(const char *hmac) {
*/ */
static isc_result_t static isc_result_t
read_confkey(void) { read_confkey(void) {
isc_log_t *lctx = NULL;
cfg_parser_t *pctx = NULL; cfg_parser_t *pctx = NULL;
cfg_obj_t *file = NULL; cfg_obj_t *file = NULL;
const cfg_obj_t *key = NULL; const cfg_obj_t *keyobj = NULL;
const cfg_obj_t *secretobj = NULL; const cfg_obj_t *secretobj = NULL;
const cfg_obj_t *algorithmobj = NULL; const cfg_obj_t *algorithmobj = NULL;
const char *keyname; const char *keyname;
@ -1194,7 +1193,7 @@ read_confkey(void) {
if (! isc_file_exists(keyfile)) if (! isc_file_exists(keyfile))
return (ISC_R_FILENOTFOUND); return (ISC_R_FILENOTFOUND);
result = cfg_parser_create(mctx, lctx, &pctx); result = cfg_parser_create(mctx, NULL, &pctx);
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
goto cleanup; goto cleanup;
@ -1203,16 +1202,16 @@ read_confkey(void) {
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
goto cleanup; goto cleanup;
result = cfg_map_get(file, "key", &key); result = cfg_map_get(file, "key", &keyobj);
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
goto cleanup; goto cleanup;
(void) cfg_map_get(key, "secret", &secretobj); (void) cfg_map_get(keyobj, "secret", &secretobj);
(void) cfg_map_get(key, "algorithm", &algorithmobj); (void) cfg_map_get(keyobj, "algorithm", &algorithmobj);
if (secretobj == NULL || algorithmobj == NULL) if (secretobj == NULL || algorithmobj == NULL)
fatal("key must have algorithm and secret"); fatal("key must have algorithm and secret");
keyname = cfg_obj_asstring(cfg_map_getname(key)); keyname = cfg_obj_asstring(cfg_map_getname(keyobj));
secretstr = cfg_obj_asstring(secretobj); secretstr = cfg_obj_asstring(secretobj);
algorithm = cfg_obj_asstring(algorithmobj); algorithm = cfg_obj_asstring(algorithmobj);
@ -1570,14 +1569,14 @@ save_opt(dig_lookup_t *lookup, char *code, char *value) {
*/ */
static void static void
add_opt(dns_message_t *msg, isc_uint16_t udpsize, isc_uint16_t edns, add_opt(dns_message_t *msg, isc_uint16_t udpsize, isc_uint16_t edns,
unsigned int flags, dns_ednsopt_t *ednsopts, size_t count) unsigned int flags, dns_ednsopt_t *opts, size_t count)
{ {
dns_rdataset_t *rdataset = NULL; dns_rdataset_t *rdataset = NULL;
isc_result_t result; isc_result_t result;
debug("add_opt()"); debug("add_opt()");
result = dns_message_buildopt(msg, &rdataset, edns, udpsize, flags, result = dns_message_buildopt(msg, &rdataset, edns, udpsize, flags,
ednsopts, count); opts, count);
check_result(result, "dns_message_buildopt"); check_result(result, "dns_message_buildopt");
result = dns_message_setopt(msg, rdataset); result = dns_message_setopt(msg, rdataset);
check_result(result, "dns_message_setopt"); check_result(result, "dns_message_setopt");
@ -2172,10 +2171,10 @@ insert_soa(dig_lookup_t *lookup) {
#ifdef ISC_PLATFORM_USESIT #ifdef ISC_PLATFORM_USESIT
static void static void
compute_cookie(unsigned char *cookie, size_t len) { compute_cookie(unsigned char *clientcookie, size_t len) {
/* XXXMPA need to fix, should be per server. */ /* XXXMPA need to fix, should be per server. */
INSIST(len >= 8U); INSIST(len >= 8U);
memmove(cookie, cookie_secret, 8); memmove(clientcookie, cookie_secret, 8);
} }
#endif #endif
@ -2372,7 +2371,6 @@ setup_lookup(dig_lookup_t *lookup) {
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS) {
dns_message_puttempname(lookup->sendmsg, dns_message_puttempname(lookup->sendmsg,
&lookup->name); &lookup->name);
isc_buffer_init(&b, store, MXNAME);
fatal("'%s' is not a legal name " fatal("'%s' is not a legal name "
"(%s)", lookup->textname, "(%s)", lookup->textname,
isc_result_totext(result)); isc_result_totext(result));
@ -2497,7 +2495,6 @@ setup_lookup(dig_lookup_t *lookup) {
struct sockaddr_in *sin; struct sockaddr_in *sin;
struct sockaddr_in6 *sin6; struct sockaddr_in6 *sin6;
size_t addrl; size_t addrl;
isc_buffer_t b;
sa = &lookup->ecs_addr->type.sa; sa = &lookup->ecs_addr->type.sa;
prefixlen = lookup->ecs_addr->length; prefixlen = lookup->ecs_addr->length;
@ -2537,8 +2534,6 @@ setup_lookup(dig_lookup_t *lookup) {
INSIST(i < DNS_EDNSOPTIONS); INSIST(i < DNS_EDNSOPTIONS);
opts[i].code = DNS_OPT_SIT; opts[i].code = DNS_OPT_SIT;
if (lookup->sitvalue != NULL) { if (lookup->sitvalue != NULL) {
isc_buffer_t b;
isc_buffer_init(&b, sitbuf, sizeof(sitbuf)); isc_buffer_init(&b, sitbuf, sizeof(sitbuf));
result = isc_hex_decodestring(lookup->sitvalue, result = isc_hex_decodestring(lookup->sitvalue,
&b); &b);
@ -3888,7 +3883,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
#endif #endif
printmessage(query, msg, ISC_TRUE); printmessage(query, msg, ISC_TRUE);
} else if (l->trace) { } else if (l->trace) {
int n = 0; int nl = 0;
int count = msg->counts[DNS_SECTION_ANSWER]; int count = msg->counts[DNS_SECTION_ANSWER];
debug("in TRACE code"); debug("in TRACE code");
@ -3899,13 +3894,13 @@ recv_done(isc_task_t *task, isc_event_t *event) {
if (l->trace_root || (l->ns_search_only && count > 0)) { if (l->trace_root || (l->ns_search_only && count > 0)) {
if (!l->trace_root) if (!l->trace_root)
l->rdtype = dns_rdatatype_soa; l->rdtype = dns_rdatatype_soa;
n = followup_lookup(msg, query, nl = followup_lookup(msg, query,
DNS_SECTION_ANSWER); DNS_SECTION_ANSWER);
l->trace_root = ISC_FALSE; l->trace_root = ISC_FALSE;
} else if (count == 0) } else if (count == 0)
n = followup_lookup(msg, query, nl = followup_lookup(msg, query,
DNS_SECTION_AUTHORITY); DNS_SECTION_AUTHORITY);
if (n == 0) if (nl == 0)
docancel = ISC_TRUE; docancel = ISC_TRUE;
} else { } else {
debug("in NSSEARCH code"); debug("in NSSEARCH code");
@ -3914,12 +3909,12 @@ recv_done(isc_task_t *task, isc_event_t *event) {
/* /*
* This is the initial NS query. * This is the initial NS query.
*/ */
int n; int nl;
l->rdtype = dns_rdatatype_soa; l->rdtype = dns_rdatatype_soa;
n = followup_lookup(msg, query, nl = followup_lookup(msg, query,
DNS_SECTION_ANSWER); DNS_SECTION_ANSWER);
if (n == 0) if (nl == 0)
docancel = ISC_TRUE; docancel = ISC_TRUE;
l->trace_root = ISC_FALSE; l->trace_root = ISC_FALSE;
usesearch = ISC_FALSE; usesearch = ISC_FALSE;
@ -4049,12 +4044,12 @@ recv_done(isc_task_t *task, isc_event_t *event) {
* routines, since they may be using a non-DNS system for these lookups. * routines, since they may be using a non-DNS system for these lookups.
*/ */
isc_result_t isc_result_t
get_address(char *host, in_port_t port, isc_sockaddr_t *sockaddr) { get_address(char *host, in_port_t myport, isc_sockaddr_t *sockaddr) {
int count; int count;
isc_result_t result; isc_result_t result;
isc_app_block(); isc_app_block();
result = bind9_getaddresses(host, port, sockaddr, 1, &count); result = bind9_getaddresses(host, myport, sockaddr, 1, &count);
isc_app_unblock(); isc_app_unblock();
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
return (result); return (result);

View File

@ -255,7 +255,7 @@ printsection(dns_message_t *msg, dns_section_t sectionid,
isc_result_t result, loopresult; isc_result_t result, loopresult;
isc_region_t r; isc_region_t r;
dns_name_t empty_name; dns_name_t empty_name;
char t[4096]; char tbuf[4096];
isc_boolean_t first; isc_boolean_t first;
isc_boolean_t no_rdata; isc_boolean_t no_rdata;
@ -279,7 +279,7 @@ printsection(dns_message_t *msg, dns_section_t sectionid,
name = NULL; name = NULL;
dns_message_currentname(msg, sectionid, &name); dns_message_currentname(msg, sectionid, &name);
isc_buffer_init(&target, t, sizeof(t)); isc_buffer_init(&target, tbuf, sizeof(tbuf));
first = ISC_TRUE; first = ISC_TRUE;
print_name = name; print_name = name;
@ -370,13 +370,13 @@ printrdata(dns_message_t *msg, dns_rdataset_t *rdataset, dns_name_t *owner,
isc_buffer_t target; isc_buffer_t target;
isc_result_t result; isc_result_t result;
isc_region_t r; isc_region_t r;
char t[4096]; char tbuf[4096];
UNUSED(msg); UNUSED(msg);
if (headers) if (headers)
printf(";; %s SECTION:\n", set_name); printf(";; %s SECTION:\n", set_name);
isc_buffer_init(&target, t, sizeof(t)); isc_buffer_init(&target, tbuf, sizeof(tbuf));
result = dns_rdataset_totext(rdataset, owner, ISC_FALSE, ISC_FALSE, result = dns_rdataset_totext(rdataset, owner, ISC_FALSE, ISC_FALSE,
&target); &target);

View File

@ -15,8 +15,6 @@
* PERFORMANCE OF THIS SOFTWARE. * PERFORMANCE OF THIS SOFTWARE.
*/ */
/* $Id: dig.h,v 1.114 2011/12/07 17:23:28 each Exp $ */
#ifndef DIG_H #ifndef DIG_H
#define DIG_H #define DIG_H
@ -274,7 +272,6 @@ extern isc_boolean_t check_ra, have_ipv4, have_ipv6, specified_source,
extern in_port_t port; extern in_port_t port;
extern unsigned int timeout; extern unsigned int timeout;
extern isc_mem_t *mctx; extern isc_mem_t *mctx;
extern dns_messageid_t id;
extern int sendcount; extern int sendcount;
extern int ndots; extern int ndots;
extern int lookup_counter; extern int lookup_counter;

View File

@ -425,13 +425,12 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
puts(""); puts("");
if (!short_form) { if (!short_form) {
isc_boolean_t headers = ISC_TRUE;
puts("------------"); puts("------------");
/* detailheader(query, msg);*/ /* detailheader(query, msg);*/
detailsection(query, msg, headers, DNS_SECTION_QUESTION); detailsection(query, msg, ISC_TRUE, DNS_SECTION_QUESTION);
detailsection(query, msg, headers, DNS_SECTION_ANSWER); detailsection(query, msg, ISC_TRUE, DNS_SECTION_ANSWER);
detailsection(query, msg, headers, DNS_SECTION_AUTHORITY); detailsection(query, msg, ISC_TRUE, DNS_SECTION_AUTHORITY);
detailsection(query, msg, headers, DNS_SECTION_ADDITIONAL); detailsection(query, msg, ISC_TRUE, DNS_SECTION_ADDITIONAL);
puts("------------"); puts("------------");
} }

View File

@ -496,7 +496,7 @@ main(int argc, char **argv) {
isc_result_totext(result)); isc_result_totext(result));
isc_entropy_stopcallbacksources(ectx); isc_entropy_stopcallbacksources(ectx);
setup_logging(verbose, mctx, &log); setup_logging(mctx, &log);
dns_rdataset_init(&rdataset); dns_rdataset_init(&rdataset);

View File

@ -387,7 +387,7 @@ main(int argc, char **argv) {
isc_result_totext(result)); isc_result_totext(result));
isc_entropy_stopcallbacksources(ectx); isc_entropy_stopcallbacksources(ectx);
setup_logging(verbose, mctx, &log); setup_logging(mctx, &log);
dns_rdataset_init(&rdataset); dns_rdataset_init(&rdataset);

View File

@ -331,7 +331,7 @@ main(int argc, char **argv) {
fatal("could not initialize dst: %s", fatal("could not initialize dst: %s",
isc_result_totext(ret)); isc_result_totext(ret));
setup_logging(verbose, mctx, &log); setup_logging(mctx, &log);
if (predecessor == NULL) { if (predecessor == NULL) {
if (label == NULL) if (label == NULL)

View File

@ -487,7 +487,7 @@ main(int argc, char **argv) {
fatal("could not initialize dst: %s", fatal("could not initialize dst: %s",
isc_result_totext(ret)); isc_result_totext(ret));
setup_logging(verbose, mctx, &log); setup_logging(mctx, &log);
if (predecessor == NULL) { if (predecessor == NULL) {
if (prepub == -1) if (prepub == -1)

View File

@ -169,7 +169,7 @@ main(int argc, char **argv) {
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
fatal("Out of memory"); fatal("Out of memory");
setup_logging(verbose, mctx, &log); setup_logging(mctx, &log);
#ifdef PKCS11CRYPTO #ifdef PKCS11CRYPTO
pk11_result_register(); pk11_result_register();
@ -343,7 +343,6 @@ main(int argc, char **argv) {
isc_entropy_stopcallbacksources(ectx); isc_entropy_stopcallbacksources(ectx);
if (predecessor != NULL) { if (predecessor != NULL) {
char keystr[DST_KEY_FORMATSIZE];
int major, minor; int major, minor;
if (prepub == -1) if (prepub == -1)

View File

@ -138,7 +138,7 @@ static isc_mem_t *mctx = NULL;
static isc_entropy_t *ectx = NULL; static isc_entropy_t *ectx = NULL;
static dns_ttl_t zone_soa_min_ttl; static dns_ttl_t zone_soa_min_ttl;
static dns_ttl_t soa_ttl; static dns_ttl_t soa_ttl;
static FILE *fp = NULL; static FILE *outfp = NULL;
static char *tempfile = NULL; static char *tempfile = NULL;
static const dns_master_style_t *masterstyle; static const dns_master_style_t *masterstyle;
static dns_masterformat_t inputformat = dns_masterformat_text; static dns_masterformat_t inputformat = dns_masterformat_text;
@ -158,7 +158,7 @@ static dns_name_t *gorigin; /* The database origin */
static int nsec3flags = 0; static int nsec3flags = 0;
static dns_iterations_t nsec3iter = 10U; static dns_iterations_t nsec3iter = 10U;
static unsigned char saltbuf[255]; static unsigned char saltbuf[255];
static unsigned char *salt = saltbuf; static unsigned char *gsalt = saltbuf;
static size_t salt_length = 0; static size_t salt_length = 0;
static isc_task_t *master = NULL; static isc_task_t *master = NULL;
static unsigned int ntasks = 0; static unsigned int ntasks = 0;
@ -210,7 +210,7 @@ dumpnode(dns_name_t *name, dns_dbnode_t *node) {
if (!output_dnssec_only) { if (!output_dnssec_only) {
result = dns_master_dumpnodetostream(mctx, gdb, gversion, node, result = dns_master_dumpnodetostream(mctx, gdb, gversion, node,
name, masterstyle, fp); name, masterstyle, outfp);
check_result(result, "dns_master_dumpnodetostream"); check_result(result, "dns_master_dumpnodetostream");
return; return;
} }
@ -252,7 +252,7 @@ dumpnode(dns_name_t *name, dns_dbnode_t *node) {
check_result(result, "dns_master_rdatasettotext"); check_result(result, "dns_master_rdatasettotext");
isc_buffer_usedregion(buffer, &r); isc_buffer_usedregion(buffer, &r);
result = isc_stdio_write(r.base, 1, r.length, fp, NULL); result = isc_stdio_write(r.base, 1, r.length, outfp, NULL);
check_result(result, "isc_stdio_write"); check_result(result, "isc_stdio_write");
isc_buffer_clear(buffer); isc_buffer_clear(buffer);
@ -293,8 +293,6 @@ signwithkey(dns_name_t *name, dns_rdataset_t *rdataset, dst_key_t *key,
mctx, &b, &trdata); mctx, &b, &trdata);
isc_entropy_stopcallbacksources(ectx); isc_entropy_stopcallbacksources(ectx);
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS) {
char keystr[DST_KEY_FORMATSIZE];
dst_key_format(key, keystr, sizeof(keystr));
fatal("dnskey '%s' failed to sign data: %s", fatal("dnskey '%s' failed to sign data: %s",
keystr, isc_result_totext(result)); keystr, isc_result_totext(result));
} }
@ -744,7 +742,7 @@ hashlist_add(hashlist_t *l, const unsigned char *hash, size_t len)
static void static void
hashlist_add_dns_name(hashlist_t *l, /*const*/ dns_name_t *name, hashlist_add_dns_name(hashlist_t *l, /*const*/ dns_name_t *name,
unsigned int hashalg, unsigned int iterations, unsigned int hashalg, unsigned int iterations,
const unsigned char *salt, size_t salt_length, const unsigned char *salt, size_t salt_len,
isc_boolean_t speculative) isc_boolean_t speculative)
{ {
char nametext[DNS_NAME_FORMATSIZE]; char nametext[DNS_NAME_FORMATSIZE];
@ -753,7 +751,7 @@ hashlist_add_dns_name(hashlist_t *l, /*const*/ dns_name_t *name,
size_t i; size_t i;
len = isc_iterated_hash(hash, hashalg, iterations, len = isc_iterated_hash(hash, hashalg, iterations,
salt, (int)salt_length, salt, (int)salt_len,
name->ndata, name->length); name->ndata, name->length);
if (verbose) { if (verbose) {
dns_name_format(name, nametext, sizeof nametext); dns_name_format(name, nametext, sizeof nametext);
@ -835,7 +833,7 @@ hashlist_exists(const hashlist_t *l,
static void static void
addnowildcardhash(hashlist_t *l, /*const*/ dns_name_t *name, addnowildcardhash(hashlist_t *l, /*const*/ dns_name_t *name,
unsigned int hashalg, unsigned int iterations, unsigned int hashalg, unsigned int iterations,
const unsigned char *salt, size_t salt_length) const unsigned char *salt, size_t salt_len)
{ {
dns_fixedname_t fixed; dns_fixedname_t fixed;
dns_name_t *wild; dns_name_t *wild;
@ -862,7 +860,7 @@ addnowildcardhash(hashlist_t *l, /*const*/ dns_name_t *name,
fprintf(stderr, "adding no-wildcardhash for %s\n", namestr); fprintf(stderr, "adding no-wildcardhash for %s\n", namestr);
} }
hashlist_add_dns_name(l, wild, hashalg, iterations, salt, salt_length, hashlist_add_dns_name(l, wild, hashalg, iterations, salt, salt_len,
ISC_TRUE); ISC_TRUE);
} }
@ -1840,7 +1838,7 @@ nsecify(void) {
} }
static void static void
addnsec3param(const unsigned char *salt, size_t salt_length, addnsec3param(const unsigned char *salt, size_t salt_len,
dns_iterations_t iterations) dns_iterations_t iterations)
{ {
dns_dbnode_t *node = NULL; dns_dbnode_t *node = NULL;
@ -1861,7 +1859,7 @@ addnsec3param(const unsigned char *salt, size_t salt_length,
nsec3param.flags = 0; nsec3param.flags = 0;
nsec3param.hash = unknownalg ? DNS_NSEC3_UNKNOWNALG : dns_hash_sha1; nsec3param.hash = unknownalg ? DNS_NSEC3_UNKNOWNALG : dns_hash_sha1;
nsec3param.iterations = iterations; nsec3param.iterations = iterations;
nsec3param.salt_length = (unsigned char)salt_length; nsec3param.salt_length = (unsigned char)salt_len;
DE_CONST(salt, nsec3param.salt); DE_CONST(salt, nsec3param.salt);
isc_buffer_init(&b, nsec3parambuf, sizeof(nsec3parambuf)); isc_buffer_init(&b, nsec3parambuf, sizeof(nsec3parambuf));
@ -1900,7 +1898,7 @@ addnsec3param(const unsigned char *salt, size_t salt_length,
static void static void
addnsec3(dns_name_t *name, dns_dbnode_t *node, addnsec3(dns_name_t *name, dns_dbnode_t *node,
const unsigned char *salt, size_t salt_length, const unsigned char *salt, size_t salt_len,
unsigned int iterations, hashlist_t *hashlist, unsigned int iterations, hashlist_t *hashlist,
dns_ttl_t ttl) dns_ttl_t ttl)
{ {
@ -1914,7 +1912,7 @@ addnsec3(dns_name_t *name, dns_dbnode_t *node,
isc_result_t result; isc_result_t result;
dns_dbnode_t *nsec3node = NULL; dns_dbnode_t *nsec3node = NULL;
char namebuf[DNS_NAME_FORMATSIZE]; char namebuf[DNS_NAME_FORMATSIZE];
size_t hash_length; size_t hash_len;
dns_name_format(name, namebuf, sizeof(namebuf)); dns_name_format(name, namebuf, sizeof(namebuf));
@ -1922,16 +1920,16 @@ addnsec3(dns_name_t *name, dns_dbnode_t *node,
dns_rdataset_init(&rdataset); dns_rdataset_init(&rdataset);
dns_name_downcase(name, name, NULL); dns_name_downcase(name, name, NULL);
result = dns_nsec3_hashname(&hashname, hash, &hash_length, result = dns_nsec3_hashname(&hashname, hash, &hash_len,
name, gorigin, dns_hash_sha1, iterations, name, gorigin, dns_hash_sha1, iterations,
salt, salt_length); salt, salt_len);
check_result(result, "addnsec3: dns_nsec3_hashname()"); check_result(result, "addnsec3: dns_nsec3_hashname()");
nexthash = hashlist_findnext(hashlist, hash); nexthash = hashlist_findnext(hashlist, hash);
result = dns_nsec3_buildrdata(gdb, gversion, node, result = dns_nsec3_buildrdata(gdb, gversion, node,
unknownalg ? unknownalg ?
DNS_NSEC3_UNKNOWNALG : dns_hash_sha1, DNS_NSEC3_UNKNOWNALG : dns_hash_sha1,
nsec3flags, iterations, nsec3flags, iterations,
salt, salt_length, salt, salt_len,
nexthash, ISC_SHA1_DIGESTLENGTH, nexthash, ISC_SHA1_DIGESTLENGTH,
nsec3buffer, &rdata); nsec3buffer, &rdata);
check_result(result, "addnsec3: dns_nsec3_buildrdata()"); check_result(result, "addnsec3: dns_nsec3_buildrdata()");
@ -1967,7 +1965,7 @@ addnsec3(dns_name_t *name, dns_dbnode_t *node,
static void static void
nsec3clean(dns_name_t *name, dns_dbnode_t *node, nsec3clean(dns_name_t *name, dns_dbnode_t *node,
unsigned int hashalg, unsigned int iterations, unsigned int hashalg, unsigned int iterations,
const unsigned char *salt, size_t salt_length, hashlist_t *hashlist) const unsigned char *salt, size_t salt_len, hashlist_t *hashlist)
{ {
dns_label_t label; dns_label_t label;
dns_rdata_nsec3_t nsec3; dns_rdata_nsec3_t nsec3;
@ -2027,8 +2025,8 @@ nsec3clean(dns_name_t *name, dns_dbnode_t *node,
check_result(result, "dns_rdata_tostruct"); check_result(result, "dns_rdata_tostruct");
if (exists && nsec3.hash == hashalg && if (exists && nsec3.hash == hashalg &&
nsec3.iterations == iterations && nsec3.iterations == iterations &&
nsec3.salt_length == salt_length && nsec3.salt_length == salt_len &&
!memcmp(nsec3.salt, salt, salt_length)) !memcmp(nsec3.salt, salt, salt_len))
continue; continue;
rdatalist.rdclass = rdata.rdclass; rdatalist.rdclass = rdata.rdclass;
rdatalist.type = rdata.type; rdatalist.type = rdata.type;
@ -2188,7 +2186,7 @@ cleanup_zone(void) {
*/ */
static void static void
nsec3ify(unsigned int hashalg, dns_iterations_t iterations, nsec3ify(unsigned int hashalg, dns_iterations_t iterations,
const unsigned char *salt, size_t salt_length, hashlist_t *hashlist) const unsigned char *salt, size_t salt_len, hashlist_t *hashlist)
{ {
dns_dbiterator_t *dbiter = NULL; dns_dbiterator_t *dbiter = NULL;
dns_dbnode_t *node = NULL, *nextnode = NULL; dns_dbnode_t *node = NULL, *nextnode = NULL;
@ -2284,7 +2282,7 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations,
isc_result_totext(result)); isc_result_totext(result));
dns_name_downcase(name, name, NULL); dns_name_downcase(name, name, NULL);
hashlist_add_dns_name(hashlist, name, hashalg, iterations, hashlist_add_dns_name(hashlist, name, hashalg, iterations,
salt, salt_length, ISC_FALSE); salt, salt_len, ISC_FALSE);
dns_db_detachnode(gdb, &node); dns_db_detachnode(gdb, &node);
/* /*
* Add hashs for empty nodes. Use closest encloser logic. * Add hashs for empty nodes. Use closest encloser logic.
@ -2295,16 +2293,16 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations,
dns_name_downcase(nextname, nextname, NULL); dns_name_downcase(nextname, nextname, NULL);
dns_name_fullcompare(name, nextname, &order, &nlabels); dns_name_fullcompare(name, nextname, &order, &nlabels);
addnowildcardhash(hashlist, name, hashalg, iterations, addnowildcardhash(hashlist, name, hashalg, iterations,
salt, salt_length); salt, salt_len);
count = dns_name_countlabels(nextname); count = dns_name_countlabels(nextname);
while (count > nlabels + 1) { while (count > nlabels + 1) {
count--; count--;
dns_name_split(nextname, count, NULL, nextname); dns_name_split(nextname, count, NULL, nextname);
hashlist_add_dns_name(hashlist, nextname, hashalg, hashlist_add_dns_name(hashlist, nextname, hashalg,
iterations, salt, salt_length, iterations, salt, salt_len,
ISC_FALSE); ISC_FALSE);
addnowildcardhash(hashlist, nextname, hashalg, addnowildcardhash(hashlist, nextname, hashalg,
iterations, salt, salt_length); iterations, salt, salt_len);
} }
} }
dns_dbiterator_destroy(&dbiter); dns_dbiterator_destroy(&dbiter);
@ -2327,7 +2325,7 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations,
zonecut = NULL; zonecut = NULL;
done = ISC_FALSE; done = ISC_FALSE;
addnsec3param(salt, salt_length, iterations); addnsec3param(salt, salt_len, iterations);
/* /*
* Clean out NSEC3 records which don't match this chain. * Clean out NSEC3 records which don't match this chain.
@ -2340,7 +2338,7 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations,
result = dns_dbiterator_next(dbiter)) { result = dns_dbiterator_next(dbiter)) {
result = dns_dbiterator_current(dbiter, &node, name); result = dns_dbiterator_current(dbiter, &node, name);
check_dns_dbiterator_current(result); check_dns_dbiterator_current(result);
nsec3clean(name, node, hashalg, iterations, salt, salt_length, nsec3clean(name, node, hashalg, iterations, salt, salt_len,
hashlist); hashlist);
dns_db_detachnode(gdb, &node); dns_db_detachnode(gdb, &node);
} }
@ -2414,7 +2412,7 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations,
* We need to pause here to release the lock on the database. * We need to pause here to release the lock on the database.
*/ */
dns_dbiterator_pause(dbiter); dns_dbiterator_pause(dbiter);
addnsec3(name, node, salt, salt_length, iterations, addnsec3(name, node, salt, salt_len, iterations,
hashlist, zone_soa_min_ttl); hashlist, zone_soa_min_ttl);
dns_db_detachnode(gdb, &node); dns_db_detachnode(gdb, &node);
/* /*
@ -2425,7 +2423,7 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations,
while (count > nlabels + 1) { while (count > nlabels + 1) {
count--; count--;
dns_name_split(nextname, count, NULL, nextname); dns_name_split(nextname, count, NULL, nextname);
addnsec3(nextname, NULL, salt, salt_length, addnsec3(nextname, NULL, salt, salt_len,
iterations, hashlist, zone_soa_min_ttl); iterations, hashlist, zone_soa_min_ttl);
} }
} }
@ -2687,7 +2685,7 @@ warnifallksk(dns_db_t *db) {
} }
static void static void
set_nsec3params(isc_boolean_t update_chain, isc_boolean_t set_salt, set_nsec3params(isc_boolean_t update, isc_boolean_t set_salt,
isc_boolean_t set_optout, isc_boolean_t set_iter) isc_boolean_t set_optout, isc_boolean_t set_iter)
{ {
isc_result_t result; isc_result_t result;
@ -2715,7 +2713,7 @@ set_nsec3params(isc_boolean_t update_chain, isc_boolean_t set_salt,
nsec_datatype = dns_rdatatype_nsec3; nsec_datatype = dns_rdatatype_nsec3;
if (!update_chain && set_salt) { if (!update && set_salt) {
if (salt_length != orig_saltlen || if (salt_length != orig_saltlen ||
memcmp(saltbuf, orig_salt, salt_length) != 0) memcmp(saltbuf, orig_salt, salt_length) != 0)
fatal("An NSEC3 chain exists with a different salt. " fatal("An NSEC3 chain exists with a different salt. "
@ -2723,10 +2721,10 @@ set_nsec3params(isc_boolean_t update_chain, isc_boolean_t set_salt,
} else if (!set_salt) { } else if (!set_salt) {
salt_length = orig_saltlen; salt_length = orig_saltlen;
memmove(saltbuf, orig_salt, orig_saltlen); memmove(saltbuf, orig_salt, orig_saltlen);
salt = saltbuf; gsalt = saltbuf;
} }
if (!update_chain && set_iter) { if (!update && set_iter) {
if (nsec3iter != orig_iter) if (nsec3iter != orig_iter)
fatal("An NSEC3 chain exists with different " fatal("An NSEC3 chain exists with different "
"iterations. Use -u to update it."); "iterations. Use -u to update it.");
@ -2760,7 +2758,7 @@ set_nsec3params(isc_boolean_t update_chain, isc_boolean_t set_salt,
result = dns_rdata_tostruct(&rdata, &nsec3, NULL); result = dns_rdata_tostruct(&rdata, &nsec3, NULL);
check_result(result, "dns_rdata_tostruct"); check_result(result, "dns_rdata_tostruct");
if (!update_chain && set_optout) { if (!update && set_optout) {
if (nsec3flags != nsec3.flags) if (nsec3flags != nsec3.flags)
fatal("An NSEC3 chain exists with%s OPTOUT. " fatal("An NSEC3 chain exists with%s OPTOUT. "
"Use -u -%s to %s it.", "Use -u -%s to %s it.",
@ -3470,7 +3468,7 @@ main(int argc, char *argv[]) {
if (directory == NULL) if (directory == NULL)
directory = "."; directory = ".";
setup_logging(verbose, mctx, &log); setup_logging(mctx, &log);
argc -= isc_commandline_index; argc -= isc_commandline_index;
argv += isc_commandline_index; argv += isc_commandline_index;
@ -3691,7 +3689,7 @@ main(int argc, char *argv[]) {
if (!nonsecify) { if (!nonsecify) {
if (IS_NSEC3) if (IS_NSEC3)
nsec3ify(dns_hash_sha1, nsec3iter, salt, salt_length, nsec3ify(dns_hash_sha1, nsec3iter, gsalt, salt_length,
&hashlist); &hashlist);
else else
nsecify(); nsecify();
@ -3707,7 +3705,7 @@ main(int argc, char *argv[]) {
} }
if (output_stdout) { if (output_stdout) {
fp = stdout; outfp = stdout;
if (outputformatstr == NULL) if (outputformatstr == NULL)
masterstyle = &dns_master_style_full; masterstyle = &dns_master_style_full;
} else { } else {
@ -3720,9 +3718,9 @@ main(int argc, char *argv[]) {
check_result(result, "isc_file_mktemplate"); check_result(result, "isc_file_mktemplate");
if (outputformat == dns_masterformat_text) if (outputformat == dns_masterformat_text)
result = isc_file_openunique(tempfile, &fp); result = isc_file_openunique(tempfile, &outfp);
else else
result = isc_file_bopenunique(tempfile, &fp); result = isc_file_bopenunique(tempfile, &outfp);
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
fatal("failed to open temporary output file: %s", fatal("failed to open temporary output file: %s",
isc_result_totext(result)); isc_result_totext(result));
@ -3730,8 +3728,8 @@ main(int argc, char *argv[]) {
setfatalcallback(&removetempfile); setfatalcallback(&removetempfile);
} }
print_time(fp); print_time(outfp);
print_version(fp); print_version(outfp);
result = isc_taskmgr_create(mctx, ntasks, 0, &taskmgr); result = isc_taskmgr_create(mctx, ntasks, 0, &taskmgr);
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
@ -3801,7 +3799,7 @@ main(int argc, char *argv[]) {
} }
result = dns_master_dumptostream3(mctx, gdb, gversion, result = dns_master_dumptostream3(mctx, gdb, gversion,
masterstyle, outputformat, masterstyle, outputformat,
&header, fp); &header, outfp);
check_result(result, "dns_master_dumptostream3"); check_result(result, "dns_master_dumptostream3");
} }
@ -3810,7 +3808,7 @@ main(int argc, char *argv[]) {
DESTROYLOCK(&statslock); DESTROYLOCK(&statslock);
if (!output_stdout) { if (!output_stdout) {
result = isc_stdio_close(fp); result = isc_stdio_close(outfp);
check_result(result, "isc_stdio_close"); check_result(result, "isc_stdio_close");
removefile = ISC_FALSE; removefile = ISC_FALSE;

View File

@ -282,7 +282,7 @@ main(int argc, char *argv[]) {
rdclass = strtoclass(classname); rdclass = strtoclass(classname);
setup_logging(verbose, mctx, &log); setup_logging(mctx, &log);
argc -= isc_commandline_index; argc -= isc_commandline_index;
argv += isc_commandline_index; argv += isc_commandline_index;

View File

@ -120,8 +120,8 @@ vbprintf(int level, const char *fmt, ...) {
} }
void void
version(const char *program) { version(const char *name) {
fprintf(stderr, "%s %s\n", program, VERSION); fprintf(stderr, "%s %s\n", name, VERSION);
exit(0); exit(0);
} }
@ -149,7 +149,7 @@ sig_format(dns_rdata_rrsig_t *sig, char *cp, unsigned int size) {
} }
void void
setup_logging(int verbose, isc_mem_t *mctx, isc_log_t **logp) { setup_logging(isc_mem_t *mctx, isc_log_t **logp) {
isc_result_t result; isc_result_t result;
isc_logdestination_t destination; isc_logdestination_t destination;
isc_logconfig_t *logconfig = NULL; isc_logconfig_t *logconfig = NULL;

View File

@ -57,7 +57,7 @@ sig_format(dns_rdata_rrsig_t *sig, char *cp, unsigned int size);
#define SIG_FORMATSIZE (DNS_NAME_FORMATSIZE + DNS_SECALG_FORMATSIZE + sizeof("65535")) #define SIG_FORMATSIZE (DNS_NAME_FORMATSIZE + DNS_SECALG_FORMATSIZE + sizeof("65535"))
void void
setup_logging(int verbose, isc_mem_t *mctx, isc_log_t **logp); setup_logging(isc_mem_t *mctx, isc_log_t **logp);
void void
cleanup_logging(isc_log_t **logp); cleanup_logging(isc_log_t **logp);

View File

@ -1437,7 +1437,6 @@ ns_client_addopt(ns_client_t *client, dns_message_t *message,
(ns_g_server->server_id != NULL || (ns_g_server->server_id != NULL ||
ns_g_server->server_usehostname)) { ns_g_server->server_usehostname)) {
if (ns_g_server->server_usehostname) { if (ns_g_server->server_usehostname) {
isc_result_t result;
result = ns_os_gethostname(nsid, sizeof(nsid)); result = ns_os_gethostname(nsid, sizeof(nsid));
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS) {
goto no_nsid; goto no_nsid;

View File

@ -6929,8 +6929,6 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
* We're authoritative for an ancestor of QNAME. * We're authoritative for an ancestor of QNAME.
*/ */
if (!USECACHE(client) || !RECURSIONOK(client)) { if (!USECACHE(client) || !RECURSIONOK(client)) {
dns_fixedname_t fixed;
dns_fixedname_init(&fixed); dns_fixedname_init(&fixed);
dns_name_copy(fname, dns_name_copy(fname,
dns_fixedname_name(&fixed), NULL); dns_fixedname_name(&fixed), NULL);
@ -7076,8 +7074,6 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
else else
RECURSE_ERROR(result); RECURSE_ERROR(result);
} else { } else {
dns_fixedname_t fixed;
dns_fixedname_init(&fixed); dns_fixedname_init(&fixed);
dns_name_copy(fname, dns_name_copy(fname,
dns_fixedname_name(&fixed), NULL); dns_fixedname_name(&fixed), NULL);

View File

@ -2702,7 +2702,6 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
result = ns_config_get(maps, "dns64", &obj); result = ns_config_get(maps, "dns64", &obj);
if (result == ISC_R_SUCCESS && strcmp(view->name, "_bind") && if (result == ISC_R_SUCCESS && strcmp(view->name, "_bind") &&
strcmp(view->name, "_meta")) { strcmp(view->name, "_meta")) {
const cfg_listelt_t *element;
isc_netaddr_t na, suffix, *sp; isc_netaddr_t na, suffix, *sp;
unsigned int prefixlen; unsigned int prefixlen;
const char *server, *contact; const char *server, *contact;
@ -3211,7 +3210,6 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
*/ */
{ {
const cfg_obj_t *peers = NULL; const cfg_obj_t *peers = NULL;
const cfg_listelt_t *element;
dns_peerlist_t *newpeers = NULL; dns_peerlist_t *newpeers = NULL;
(void)ns_config_get(cfgmaps, "server", &peers); (void)ns_config_get(cfgmaps, "server", &peers);
@ -3236,7 +3234,6 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
*/ */
{ {
const cfg_obj_t *rrsetorder = NULL; const cfg_obj_t *rrsetorder = NULL;
const cfg_listelt_t *element;
(void)ns_config_get(maps, "rrset-order", &rrsetorder); (void)ns_config_get(maps, "rrset-order", &rrsetorder);
CHECK(dns_order_create(mctx, &order)); CHECK(dns_order_create(mctx, &order));
@ -3539,10 +3536,10 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
view->prefetch_trigger = 10; view->prefetch_trigger = 10;
eligible = cfg_tuple_get(obj, "eligible"); eligible = cfg_tuple_get(obj, "eligible");
if (cfg_obj_isvoid(eligible)) { if (cfg_obj_isvoid(eligible)) {
int i; int m;
for (i = 1; maps[i] != NULL; i++) { for (m = 1; maps[m] != NULL; m++) {
obj = NULL; obj = NULL;
result = ns_config_get(&maps[i], result = ns_config_get(&maps[m],
"prefetch", &obj); "prefetch", &obj);
INSIST(result == ISC_R_SUCCESS); INSIST(result == ISC_R_SUCCESS);
eligible = cfg_tuple_get(obj, "eligible"); eligible = cfg_tuple_get(obj, "eligible");
@ -3587,17 +3584,12 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
element != NULL; element != NULL;
element = cfg_list_next(element)) element = cfg_list_next(element))
{ {
const char *str;
isc_buffer_t b;
dns_name_t *dlv; dns_name_t *dlv;
obj = cfg_listelt_value(element); obj = cfg_listelt_value(element);
str = cfg_obj_asstring(cfg_tuple_get(obj, obj = cfg_tuple_get(obj, "trust-anchor");
"trust-anchor"));
isc_buffer_constinit(&b, str, strlen(str));
isc_buffer_add(&b, strlen(str));
dlv = dns_fixedname_name(&view->dlv_fixed); dlv = dns_fixedname_name(&view->dlv_fixed);
CHECK(dns_name_fromtext(dlv, &b, dns_rootname, CHECK(dns_name_fromstring(dlv, cfg_obj_asstring(obj),
DNS_NAME_DOWNCASE, NULL)); DNS_NAME_DOWNCASE, NULL));
view->dlv = dns_fixedname_name(&view->dlv_fixed); view->dlv = dns_fixedname_name(&view->dlv_fixed);
} }
@ -3642,28 +3634,22 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
obj = NULL; obj = NULL;
result = ns_config_get(maps, "root-delegation-only", &obj); result = ns_config_get(maps, "root-delegation-only", &obj);
if (result == ISC_R_SUCCESS) { if (result == ISC_R_SUCCESS) {
dns_view_setrootdelonly(view, ISC_TRUE);
if (!cfg_obj_isvoid(obj)) {
dns_fixedname_t fixed; dns_fixedname_t fixed;
dns_name_t *name; dns_name_t *name;
isc_buffer_t b;
const char *str;
const cfg_obj_t *exclude; const cfg_obj_t *exclude;
dns_view_setrootdelonly(view, ISC_TRUE);
dns_fixedname_init(&fixed); dns_fixedname_init(&fixed);
name = dns_fixedname_name(&fixed); name = dns_fixedname_name(&fixed);
for (element = cfg_list_first(obj); for (element = cfg_list_first(obj);
element != NULL; element != NULL;
element = cfg_list_next(element)) { element = cfg_list_next(element)) {
exclude = cfg_listelt_value(element); exclude = cfg_listelt_value(element);
str = cfg_obj_asstring(exclude); CHECK(dns_name_fromstring(name,
isc_buffer_constinit(&b, str, strlen(str)); cfg_obj_asstring(exclude),
isc_buffer_add(&b, strlen(str));
CHECK(dns_name_fromtext(name, &b, dns_rootname,
0, NULL)); 0, NULL));
CHECK(dns_view_excludedelegationonly(view, CHECK(dns_view_excludedelegationonly(view, name));
name));
}
} }
} else } else
dns_view_setrootdelonly(view, ISC_FALSE); dns_view_setrootdelonly(view, ISC_FALSE);
@ -3693,7 +3679,6 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
dns_fixedname_t fixed; dns_fixedname_t fixed;
dns_name_t *name; dns_name_t *name;
isc_buffer_t buffer; isc_buffer_t buffer;
const char *str;
char server[DNS_NAME_FORMATSIZE + 1]; char server[DNS_NAME_FORMATSIZE + 1];
char contact[DNS_NAME_FORMATSIZE + 1]; char contact[DNS_NAME_FORMATSIZE + 1];
const char *empty_dbtype[4] = const char *empty_dbtype[4] =
@ -3707,11 +3692,8 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
obj = NULL; obj = NULL;
result = ns_config_get(maps, "empty-server", &obj); result = ns_config_get(maps, "empty-server", &obj);
if (result == ISC_R_SUCCESS) { if (result == ISC_R_SUCCESS) {
str = cfg_obj_asstring(obj); CHECK(dns_name_fromstring(name, cfg_obj_asstring(obj),
isc_buffer_constinit(&buffer, str, strlen(str)); 0, NULL));
isc_buffer_add(&buffer, strlen(str));
CHECK(dns_name_fromtext(name, &buffer, dns_rootname, 0,
NULL));
isc_buffer_init(&buffer, server, sizeof(server) - 1); isc_buffer_init(&buffer, server, sizeof(server) - 1);
CHECK(dns_name_totext(name, ISC_FALSE, &buffer)); CHECK(dns_name_totext(name, ISC_FALSE, &buffer));
server[isc_buffer_usedlength(&buffer)] = 0; server[isc_buffer_usedlength(&buffer)] = 0;
@ -3722,11 +3704,8 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
obj = NULL; obj = NULL;
result = ns_config_get(maps, "empty-contact", &obj); result = ns_config_get(maps, "empty-contact", &obj);
if (result == ISC_R_SUCCESS) { if (result == ISC_R_SUCCESS) {
str = cfg_obj_asstring(obj); CHECK(dns_name_fromstring(name, cfg_obj_asstring(obj),
isc_buffer_constinit(&buffer, str, strlen(str)); 0, NULL));
isc_buffer_add(&buffer, strlen(str));
CHECK(dns_name_fromtext(name, &buffer, dns_rootname, 0,
NULL));
isc_buffer_init(&buffer, contact, sizeof(contact) - 1); isc_buffer_init(&buffer, contact, sizeof(contact) - 1);
CHECK(dns_name_totext(name, ISC_FALSE, &buffer)); CHECK(dns_name_totext(name, ISC_FALSE, &buffer));
contact[isc_buffer_usedlength(&buffer)] = 0; contact[isc_buffer_usedlength(&buffer)] = 0;
@ -3758,16 +3737,12 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
empty != NULL; empty != NULL;
empty = empty_zones[++empty_zone]) empty = empty_zones[++empty_zone])
{ {
dns_forwarders_t *forwarders = NULL; dns_forwarders_t *dnsforwarders = NULL;
dns_view_t *pview = NULL;
isc_buffer_constinit(&buffer, empty, strlen(empty));
isc_buffer_add(&buffer, strlen(empty));
/* /*
* Look for zone on drop list. * Look for zone on drop list.
*/ */
CHECK(dns_name_fromtext(name, &buffer, dns_rootname, 0, CHECK(dns_name_fromstring(name, empty, 0, NULL));
NULL));
if (disablelist != NULL && if (disablelist != NULL &&
on_disable_list(disablelist, name)) on_disable_list(disablelist, name))
continue; continue;
@ -3786,9 +3761,9 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
* empty zone for it. * empty zone for it.
*/ */
result = dns_fwdtable_find(view->fwdtable, name, result = dns_fwdtable_find(view->fwdtable, name,
&forwarders); &dnsforwarders);
if (result == ISC_R_SUCCESS && if (result == ISC_R_SUCCESS &&
forwarders->fwdpolicy == dns_fwdpolicy_only) dnsforwarders->fwdpolicy == dns_fwdpolicy_only)
continue; continue;
/* /*
@ -6215,7 +6190,6 @@ load_configuration(const char *filename, ns_server_t *server,
(void)cfg_map_get(logobj, "category", (void)cfg_map_get(logobj, "category",
&categories); &categories);
if (categories != NULL) { if (categories != NULL) {
const cfg_listelt_t *element;
for (element = cfg_list_first(categories); for (element = cfg_list_first(categories);
element != NULL; element != NULL;
element = cfg_list_next(element)) element = cfg_list_next(element))

View File

@ -1539,7 +1539,7 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
dns_zone_setoption(mayberaw, DNS_ZONEOPT_CHECKINTEGRITY, dns_zone_setoption(mayberaw, DNS_ZONEOPT_CHECKINTEGRITY,
cfg_obj_asboolean(obj)); cfg_obj_asboolean(obj));
} else { } else {
isc_boolean_t check = ISC_FALSE; check = ISC_FALSE;
result = ns_config_get(nodefault, "check-integrity", result = ns_config_get(nodefault, "check-integrity",
&obj); &obj);
if (result == ISC_R_SUCCESS) if (result == ISC_R_SUCCESS)

View File

@ -15,8 +15,6 @@
* PERFORMANCE OF THIS SOFTWARE. * PERFORMANCE OF THIS SOFTWARE.
*/ */
/* $Id: nsupdate.c,v 1.198 2011/12/16 23:01:16 each Exp $ */
/*! \file */ /*! \file */
#include <config.h> #include <config.h>
@ -140,8 +138,8 @@ static isc_boolean_t local_only = ISC_FALSE;
static isc_taskmgr_t *taskmgr = NULL; static isc_taskmgr_t *taskmgr = NULL;
static isc_task_t *global_task = NULL; static isc_task_t *global_task = NULL;
static isc_event_t *global_event = NULL; static isc_event_t *global_event = NULL;
static isc_log_t *lctx = NULL; static isc_log_t *glctx = NULL;
static isc_mem_t *mctx = NULL; static isc_mem_t *gmctx = NULL;
static dns_dispatchmgr_t *dispatchmgr = NULL; static dns_dispatchmgr_t *dispatchmgr = NULL;
static dns_requestmgr_t *requestmgr = NULL; static dns_requestmgr_t *requestmgr = NULL;
static isc_socketmgr_t *socketmgr = NULL; static isc_socketmgr_t *socketmgr = NULL;
@ -151,7 +149,7 @@ static dns_dispatch_t *dispatchv6 = NULL;
static dns_message_t *updatemsg = NULL; static dns_message_t *updatemsg = NULL;
static dns_fixedname_t fuserzone; static dns_fixedname_t fuserzone;
static dns_name_t *userzone = NULL; static dns_name_t *userzone = NULL;
static dns_name_t *zonename = NULL; static dns_name_t *zname = NULL;
static dns_name_t tmpzonename; static dns_name_t tmpzonename;
static dns_name_t restart_master; static dns_name_t restart_master;
static dns_tsig_keyring_t *gssring = NULL; static dns_tsig_keyring_t *gssring = NULL;
@ -249,8 +247,7 @@ struct entropysource {
static ISC_LIST(entropysource_t) sources; static ISC_LIST(entropysource_t) sources;
static void static void
setup_entropy(isc_mem_t *mctx, const char *randomfile, isc_entropy_t **ectx) setup_entropy(isc_mem_t *mctx, const char *randomfile, isc_entropy_t **ectx) {
{
isc_result_t result; isc_result_t result;
isc_entropysource_t *source = NULL; isc_entropysource_t *source = NULL;
entropysource_t *elt; entropysource_t *elt;
@ -304,7 +301,7 @@ static void
master_from_servers(void) { master_from_servers(void) {
if (master_servers != NULL && master_servers != servers) if (master_servers != NULL && master_servers != servers)
isc_mem_put(mctx, master_servers, isc_mem_put(gmctx, master_servers,
master_total * sizeof(isc_sockaddr_t)); master_total * sizeof(isc_sockaddr_t));
master_servers = servers; master_servers = servers;
master_total = ns_total; master_total = ns_total;
@ -432,7 +429,7 @@ reset_system(void) {
if (updatemsg != NULL) if (updatemsg != NULL)
dns_message_reset(updatemsg, DNS_MESSAGE_INTENTRENDER); dns_message_reset(updatemsg, DNS_MESSAGE_INTENTRENDER);
else { else {
result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, result = dns_message_create(gmctx, DNS_MESSAGE_INTENTRENDER,
&updatemsg); &updatemsg);
check_result(result, "dns_message_create"); check_result(result, "dns_message_create");
} }
@ -537,13 +534,13 @@ setup_keystr(void) {
char *secretstr; char *secretstr;
char *s, *n; char *s, *n;
dns_fixedname_t fkeyname; dns_fixedname_t fkeyname;
dns_name_t *keyname; dns_name_t *mykeyname;
char *name; char *name;
dns_name_t *hmacname = NULL; dns_name_t *hmacname = NULL;
isc_uint16_t digestbits = 0; isc_uint16_t digestbits = 0;
dns_fixedname_init(&fkeyname); dns_fixedname_init(&fkeyname);
keyname = dns_fixedname_name(&fkeyname); mykeyname = dns_fixedname_name(&fkeyname);
debug("Creating key..."); debug("Creating key...");
@ -568,11 +565,12 @@ setup_keystr(void) {
isc_buffer_add(&keynamesrc, (unsigned int)(n - name)); isc_buffer_add(&keynamesrc, (unsigned int)(n - name));
debug("namefromtext"); debug("namefromtext");
result = dns_name_fromtext(keyname, &keynamesrc, dns_rootname, 0, NULL); result = dns_name_fromtext(mykeyname, &keynamesrc, dns_rootname, 0,
NULL);
check_result(result, "dns_name_fromtext"); check_result(result, "dns_name_fromtext");
secretlen = strlen(secretstr) * 3 / 4; secretlen = strlen(secretstr) * 3 / 4;
secret = isc_mem_allocate(mctx, secretlen); secret = isc_mem_allocate(gmctx, secretlen);
if (secret == NULL) if (secret == NULL)
fatal("out of memory"); fatal("out of memory");
@ -587,8 +585,8 @@ setup_keystr(void) {
secretlen = isc_buffer_usedlength(&secretbuf); secretlen = isc_buffer_usedlength(&secretbuf);
debug("keycreate"); debug("keycreate");
result = dns_tsigkey_create(keyname, hmacname, secret, secretlen, result = dns_tsigkey_create(mykeyname, hmacname, secret, secretlen,
ISC_FALSE, NULL, 0, 0, mctx, NULL, ISC_FALSE, NULL, 0, 0, gmctx, NULL,
&tsigkey); &tsigkey);
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
fprintf(stderr, "could not create key from %s: %s\n", fprintf(stderr, "could not create key from %s: %s\n",
@ -597,7 +595,7 @@ setup_keystr(void) {
dst_key_setbits(tsigkey->key, digestbits); dst_key_setbits(tsigkey->key, digestbits);
failure: failure:
if (secret != NULL) if (secret != NULL)
isc_mem_free(mctx, secret); isc_mem_free(gmctx, secret);
} }
/* /*
@ -610,7 +608,7 @@ read_sessionkey(isc_mem_t *mctx, isc_log_t *lctx) {
const cfg_obj_t *key = NULL; const cfg_obj_t *key = NULL;
const cfg_obj_t *secretobj = NULL; const cfg_obj_t *secretobj = NULL;
const cfg_obj_t *algorithmobj = NULL; const cfg_obj_t *algorithmobj = NULL;
const char *keyname; const char *mykeyname;
const char *secretstr; const char *secretstr;
const char *algorithm; const char *algorithm;
isc_result_t result; isc_result_t result;
@ -637,13 +635,13 @@ read_sessionkey(isc_mem_t *mctx, isc_log_t *lctx) {
if (secretobj == NULL || algorithmobj == NULL) if (secretobj == NULL || algorithmobj == NULL)
fatal("key must have algorithm and secret"); fatal("key must have algorithm and secret");
keyname = cfg_obj_asstring(cfg_map_getname(key)); mykeyname = cfg_obj_asstring(cfg_map_getname(key));
secretstr = cfg_obj_asstring(secretobj); secretstr = cfg_obj_asstring(secretobj);
algorithm = cfg_obj_asstring(algorithmobj); algorithm = cfg_obj_asstring(algorithmobj);
len = strlen(algorithm) + strlen(keyname) + strlen(secretstr) + 3; len = strlen(algorithm) + strlen(mykeyname) + strlen(secretstr) + 3;
keystr = isc_mem_allocate(mctx, len); keystr = isc_mem_allocate(mctx, len);
snprintf(keystr, len, "%s:%s:%s", algorithm, keyname, secretstr); snprintf(keystr, len, "%s:%s:%s", algorithm, mykeyname, secretstr);
setup_keystr(); setup_keystr();
cleanup: cleanup:
@ -736,17 +734,17 @@ doshutdown(void) {
* to NULL. * to NULL.
*/ */
if (master_servers != NULL && master_servers != servers) if (master_servers != NULL && master_servers != servers)
isc_mem_put(mctx, master_servers, isc_mem_put(gmctx, master_servers,
master_total * sizeof(isc_sockaddr_t)); master_total * sizeof(isc_sockaddr_t));
if (servers != NULL) if (servers != NULL)
isc_mem_put(mctx, servers, ns_total * sizeof(isc_sockaddr_t)); isc_mem_put(gmctx, servers, ns_total * sizeof(isc_sockaddr_t));
if (localaddr4 != NULL) if (localaddr4 != NULL)
isc_mem_put(mctx, localaddr4, sizeof(isc_sockaddr_t)); isc_mem_put(gmctx, localaddr4, sizeof(isc_sockaddr_t));
if (localaddr6 != NULL) if (localaddr6 != NULL)
isc_mem_put(mctx, localaddr6, sizeof(isc_sockaddr_t)); isc_mem_put(gmctx, localaddr6, sizeof(isc_sockaddr_t));
if (tsigkey != NULL) { if (tsigkey != NULL) {
ddebug("Freeing TSIG key"); ddebug("Freeing TSIG key");
@ -833,19 +831,19 @@ setup_system(void) {
if (!have_ipv4 && !have_ipv6) if (!have_ipv4 && !have_ipv6)
fatal("could not find either IPv4 or IPv6"); fatal("could not find either IPv4 or IPv6");
result = isc_log_create(mctx, &lctx, &logconfig); result = isc_log_create(gmctx, &glctx, &logconfig);
check_result(result, "isc_log_create"); check_result(result, "isc_log_create");
isc_log_setcontext(lctx); isc_log_setcontext(glctx);
dns_log_init(lctx); dns_log_init(glctx);
dns_log_setcontext(lctx); dns_log_setcontext(glctx);
result = isc_log_usechannel(logconfig, "default_debug", NULL, NULL); result = isc_log_usechannel(logconfig, "default_debug", NULL, NULL);
check_result(result, "isc_log_usechannel"); check_result(result, "isc_log_usechannel");
isc_log_setdebuglevel(lctx, logdebuglevel); isc_log_setdebuglevel(glctx, logdebuglevel);
lwresult = lwres_context_create(&lwctx, mctx, mem_alloc, mem_free, 1); lwresult = lwres_context_create(&lwctx, gmctx, mem_alloc, mem_free, 1);
if (lwresult != LWRES_R_SUCCESS) if (lwresult != LWRES_R_SUCCESS)
fatal("lwres_context_create failed"); fatal("lwres_context_create failed");
@ -855,7 +853,7 @@ setup_system(void) {
if (servers != NULL) { if (servers != NULL) {
if (master_servers == servers) if (master_servers == servers)
master_servers = NULL; master_servers = NULL;
isc_mem_put(mctx, servers, ns_total * sizeof(isc_sockaddr_t)); isc_mem_put(gmctx, servers, ns_total * sizeof(isc_sockaddr_t));
} }
ns_inuse = 0; ns_inuse = 0;
@ -869,7 +867,7 @@ setup_system(void) {
default_servers = !local_only; default_servers = !local_only;
ns_total = (have_ipv4 ? 1 : 0) + (have_ipv6 ? 1 : 0); ns_total = (have_ipv4 ? 1 : 0) + (have_ipv6 ? 1 : 0);
servers = isc_mem_get(mctx, ns_total * sizeof(isc_sockaddr_t)); servers = isc_mem_get(gmctx, ns_total * sizeof(isc_sockaddr_t));
if (servers == NULL) if (servers == NULL)
fatal("out of memory"); fatal("out of memory");
@ -885,7 +883,7 @@ setup_system(void) {
} }
} else { } else {
ns_total = lwconf->nsnext; ns_total = lwconf->nsnext;
servers = isc_mem_get(mctx, ns_total * sizeof(isc_sockaddr_t)); servers = isc_mem_get(gmctx, ns_total * sizeof(isc_sockaddr_t));
if (servers == NULL) if (servers == NULL)
fatal("out of memory"); fatal("out of memory");
for (i = 0; i < ns_total; i++) { for (i = 0; i < ns_total; i++) {
@ -906,22 +904,22 @@ setup_system(void) {
} }
} }
setup_entropy(mctx, NULL, &entropy); setup_entropy(gmctx, NULL, &entropy);
result = isc_hash_create(mctx, entropy, DNS_NAME_MAXWIRE); result = isc_hash_create(gmctx, entropy, DNS_NAME_MAXWIRE);
check_result(result, "isc_hash_create"); check_result(result, "isc_hash_create");
isc_hash_init(); isc_hash_init();
result = dns_dispatchmgr_create(mctx, entropy, &dispatchmgr); result = dns_dispatchmgr_create(gmctx, entropy, &dispatchmgr);
check_result(result, "dns_dispatchmgr_create"); check_result(result, "dns_dispatchmgr_create");
result = isc_socketmgr_create(mctx, &socketmgr); result = isc_socketmgr_create(gmctx, &socketmgr);
check_result(result, "dns_socketmgr_create"); check_result(result, "dns_socketmgr_create");
result = isc_timermgr_create(mctx, &timermgr); result = isc_timermgr_create(gmctx, &timermgr);
check_result(result, "dns_timermgr_create"); check_result(result, "dns_timermgr_create");
result = isc_taskmgr_create(mctx, 1, 0, &taskmgr); result = isc_taskmgr_create(gmctx, 1, 0, &taskmgr);
check_result(result, "isc_taskmgr_create"); check_result(result, "isc_taskmgr_create");
result = isc_task_create(taskmgr, 0, &global_task); result = isc_task_create(taskmgr, 0, &global_task);
@ -930,7 +928,7 @@ setup_system(void) {
result = isc_task_onshutdown(global_task, shutdown_program, NULL); result = isc_task_onshutdown(global_task, shutdown_program, NULL);
check_result(result, "isc_task_onshutdown"); check_result(result, "isc_task_onshutdown");
result = dst_lib_init(mctx, entropy, 0); result = dst_lib_init(gmctx, entropy, 0);
check_result(result, "dst_lib_init"); check_result(result, "dst_lib_init");
is_dst_up = ISC_TRUE; is_dst_up = ISC_TRUE;
@ -961,7 +959,7 @@ setup_system(void) {
check_result(result, "dns_dispatch_getudp (v4)"); check_result(result, "dns_dispatch_getudp (v4)");
} }
result = dns_requestmgr_create(mctx, timermgr, result = dns_requestmgr_create(gmctx, timermgr,
socketmgr, taskmgr, dispatchmgr, socketmgr, taskmgr, dispatchmgr,
dispatchv4, dispatchv6, &requestmgr); dispatchv4, dispatchv6, &requestmgr);
check_result(result, "dns_requestmgr_create"); check_result(result, "dns_requestmgr_create");
@ -969,12 +967,12 @@ setup_system(void) {
if (keystr != NULL) if (keystr != NULL)
setup_keystr(); setup_keystr();
else if (local_only) { else if (local_only) {
result = read_sessionkey(mctx, lctx); result = read_sessionkey(gmctx, glctx);
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
fatal("can't read key from %s: %s\n", fatal("can't read key from %s: %s\n",
keyfile, isc_result_totext(result)); keyfile, isc_result_totext(result));
} else if (keyfile != NULL) } else if (keyfile != NULL)
setup_keyfile(mctx, lctx); setup_keyfile(gmctx, glctx);
} }
static void static void
@ -1212,7 +1210,7 @@ parse_name(char **cmdlinep, dns_message_t *msg, dns_name_t **namep) {
result = dns_message_gettempname(msg, namep); result = dns_message_gettempname(msg, namep);
check_result(result, "dns_message_gettempname"); check_result(result, "dns_message_gettempname");
result = isc_buffer_allocate(mctx, &namebuf, DNS_NAME_MAXWIRE); result = isc_buffer_allocate(gmctx, &namebuf, DNS_NAME_MAXWIRE);
check_result(result, "isc_buffer_allocate"); check_result(result, "isc_buffer_allocate");
dns_name_init(*namep, NULL); dns_name_init(*namep, NULL);
dns_name_setbuffer(*namep, namebuf); dns_name_setbuffer(*namep, namebuf);
@ -1247,21 +1245,21 @@ parse_rdata(char **cmdlinep, dns_rdataclass_t rdataclass,
if (*cmdline != 0) { if (*cmdline != 0) {
dns_rdatacallbacks_init(&callbacks); dns_rdatacallbacks_init(&callbacks);
result = isc_lex_create(mctx, strlen(cmdline), &lex); result = isc_lex_create(gmctx, strlen(cmdline), &lex);
check_result(result, "isc_lex_create"); check_result(result, "isc_lex_create");
isc_buffer_init(&source, cmdline, strlen(cmdline)); isc_buffer_init(&source, cmdline, strlen(cmdline));
isc_buffer_add(&source, strlen(cmdline)); isc_buffer_add(&source, strlen(cmdline));
result = isc_lex_openbuffer(lex, &source); result = isc_lex_openbuffer(lex, &source);
check_result(result, "isc_lex_openbuffer"); check_result(result, "isc_lex_openbuffer");
result = isc_buffer_allocate(mctx, &buf, MAXWIRE); result = isc_buffer_allocate(gmctx, &buf, MAXWIRE);
check_result(result, "isc_buffer_allocate"); check_result(result, "isc_buffer_allocate");
result = dns_rdata_fromtext(NULL, rdataclass, rdatatype, lex, result = dns_rdata_fromtext(NULL, rdataclass, rdatatype, lex,
dns_rootname, 0, mctx, buf, dns_rootname, 0, gmctx, buf,
&callbacks); &callbacks);
isc_lex_destroy(&lex); isc_lex_destroy(&lex);
if (result == ISC_R_SUCCESS) { if (result == ISC_R_SUCCESS) {
isc_buffer_usedregion(buf, &r); isc_buffer_usedregion(buf, &r);
result = isc_buffer_allocate(mctx, &newbuf, r.length); result = isc_buffer_allocate(gmctx, &newbuf, r.length);
check_result(result, "isc_buffer_allocate"); check_result(result, "isc_buffer_allocate");
isc_buffer_putmem(newbuf, r.base, r.length); isc_buffer_putmem(newbuf, r.base, r.length);
isc_buffer_usedregion(newbuf, &r); isc_buffer_usedregion(newbuf, &r);
@ -1457,14 +1455,14 @@ evaluate_server(char *cmdline) {
if (servers != NULL) { if (servers != NULL) {
if (master_servers == servers) if (master_servers == servers)
master_servers = NULL; master_servers = NULL;
isc_mem_put(mctx, servers, ns_total * sizeof(isc_sockaddr_t)); isc_mem_put(gmctx, servers, ns_total * sizeof(isc_sockaddr_t));
} }
default_servers = ISC_FALSE; default_servers = ISC_FALSE;
ns_total = MAX_SERVERADDRS; ns_total = MAX_SERVERADDRS;
ns_inuse = 0; ns_inuse = 0;
servers = isc_mem_get(mctx, ns_total * sizeof(isc_sockaddr_t)); servers = isc_mem_get(gmctx, ns_total * sizeof(isc_sockaddr_t));
if (servers == NULL) if (servers == NULL)
fatal("out of memory"); fatal("out of memory");
@ -1506,13 +1504,13 @@ evaluate_local(char *cmdline) {
if (have_ipv6 && inet_pton(AF_INET6, local, &in6) == 1) { if (have_ipv6 && inet_pton(AF_INET6, local, &in6) == 1) {
if (localaddr6 == NULL) if (localaddr6 == NULL)
localaddr6 = isc_mem_get(mctx, sizeof(isc_sockaddr_t)); localaddr6 = isc_mem_get(gmctx, sizeof(isc_sockaddr_t));
if (localaddr6 == NULL) if (localaddr6 == NULL)
fatal("out of memory"); fatal("out of memory");
isc_sockaddr_fromin6(localaddr6, &in6, (in_port_t)port); isc_sockaddr_fromin6(localaddr6, &in6, (in_port_t)port);
} else if (have_ipv4 && inet_pton(AF_INET, local, &in4) == 1) { } else if (have_ipv4 && inet_pton(AF_INET, local, &in4) == 1) {
if (localaddr4 == NULL) if (localaddr4 == NULL)
localaddr4 = isc_mem_get(mctx, sizeof(isc_sockaddr_t)); localaddr4 = isc_mem_get(gmctx, sizeof(isc_sockaddr_t));
if (localaddr4 == NULL) if (localaddr4 == NULL)
fatal("out of memory"); fatal("out of memory");
isc_sockaddr_fromin(localaddr4, &in4, (in_port_t)port); isc_sockaddr_fromin(localaddr4, &in4, (in_port_t)port);
@ -1531,7 +1529,7 @@ evaluate_key(char *cmdline) {
isc_buffer_t b; isc_buffer_t b;
isc_result_t result; isc_result_t result;
dns_fixedname_t fkeyname; dns_fixedname_t fkeyname;
dns_name_t *keyname; dns_name_t *mykeyname;
int secretlen; int secretlen;
unsigned char *secret = NULL; unsigned char *secret = NULL;
isc_buffer_t secretbuf; isc_buffer_t secretbuf;
@ -1546,7 +1544,7 @@ evaluate_key(char *cmdline) {
} }
dns_fixedname_init(&fkeyname); dns_fixedname_init(&fkeyname);
keyname = dns_fixedname_name(&fkeyname); mykeyname = dns_fixedname_name(&fkeyname);
n = strchr(namestr, ':'); n = strchr(namestr, ':');
if (n != NULL) { if (n != NULL) {
@ -1557,7 +1555,7 @@ evaluate_key(char *cmdline) {
isc_buffer_init(&b, namestr, strlen(namestr)); isc_buffer_init(&b, namestr, strlen(namestr));
isc_buffer_add(&b, strlen(namestr)); isc_buffer_add(&b, strlen(namestr));
result = dns_name_fromtext(keyname, &b, dns_rootname, 0, NULL); result = dns_name_fromtext(mykeyname, &b, dns_rootname, 0, NULL);
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS) {
fprintf(stderr, "could not parse key name\n"); fprintf(stderr, "could not parse key name\n");
return (STATUS_SYNTAX); return (STATUS_SYNTAX);
@ -1569,7 +1567,7 @@ evaluate_key(char *cmdline) {
return (STATUS_SYNTAX); return (STATUS_SYNTAX);
} }
secretlen = strlen(secretstr) * 3 / 4; secretlen = strlen(secretstr) * 3 / 4;
secret = isc_mem_allocate(mctx, secretlen); secret = isc_mem_allocate(gmctx, secretlen);
if (secret == NULL) if (secret == NULL)
fatal("out of memory"); fatal("out of memory");
@ -1578,17 +1576,17 @@ evaluate_key(char *cmdline) {
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS) {
fprintf(stderr, "could not create key from %s: %s\n", fprintf(stderr, "could not create key from %s: %s\n",
secretstr, isc_result_totext(result)); secretstr, isc_result_totext(result));
isc_mem_free(mctx, secret); isc_mem_free(gmctx, secret);
return (STATUS_SYNTAX); return (STATUS_SYNTAX);
} }
secretlen = isc_buffer_usedlength(&secretbuf); secretlen = isc_buffer_usedlength(&secretbuf);
if (tsigkey != NULL) if (tsigkey != NULL)
dns_tsigkey_detach(&tsigkey); dns_tsigkey_detach(&tsigkey);
result = dns_tsigkey_create(keyname, hmacname, secret, secretlen, result = dns_tsigkey_create(mykeyname, hmacname, secret, secretlen,
ISC_FALSE, NULL, 0, 0, mctx, NULL, ISC_FALSE, NULL, 0, 0, gmctx, NULL,
&tsigkey); &tsigkey);
isc_mem_free(mctx, secret); isc_mem_free(gmctx, secret);
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS) {
fprintf(stderr, "could not create key from %s %s: %s\n", fprintf(stderr, "could not create key from %s %s: %s\n",
namestr, secretstr, dns_result_totext(result)); namestr, secretstr, dns_result_totext(result));
@ -1632,7 +1630,7 @@ evaluate_realm(char *cmdline) {
int n; int n;
if (realm != NULL) { if (realm != NULL) {
isc_mem_free(mctx, realm); isc_mem_free(gmctx, realm);
realm = NULL; realm = NULL;
} }
@ -1643,7 +1641,7 @@ evaluate_realm(char *cmdline) {
n = snprintf(buf, sizeof(buf), "@%s", word); n = snprintf(buf, sizeof(buf), "@%s", word);
if (n < 0 || (size_t)n >= sizeof(buf)) if (n < 0 || (size_t)n >= sizeof(buf))
fatal("realm is too long"); fatal("realm is too long");
realm = isc_mem_strdup(mctx, buf); realm = isc_mem_strdup(gmctx, buf);
if (realm == NULL) if (realm == NULL)
fatal("out of memory"); fatal("out of memory");
return (STATUS_MORE); return (STATUS_MORE);
@ -2020,7 +2018,7 @@ show_message(FILE *stream, dns_message_t *msg, const char *description) {
} }
if (buf != NULL) if (buf != NULL)
isc_buffer_free(&buf); isc_buffer_free(&buf);
result = isc_buffer_allocate(mctx, &buf, bufsz); result = isc_buffer_allocate(gmctx, &buf, bufsz);
check_result(result, "isc_buffer_allocate"); check_result(result, "isc_buffer_allocate");
result = dns_message_totext(msg, style, 0, buf); result = dns_message_totext(msg, style, 0, buf);
bufsz *= 2; bufsz *= 2;
@ -2284,12 +2282,12 @@ update_completed(isc_task_t *task, isc_event_t *event) {
dns_request_destroy(&request); dns_request_destroy(&request);
dns_message_renderreset(updatemsg); dns_message_renderreset(updatemsg);
dns_message_settsigkey(updatemsg, NULL); dns_message_settsigkey(updatemsg, NULL);
send_update(zonename, &master_servers[master_inuse]); send_update(zname, &master_servers[master_inuse]);
isc_event_free(&event); isc_event_free(&event);
return; return;
} }
result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &answer); result = dns_message_create(gmctx, DNS_MESSAGE_INTENTPARSE, &answer);
check_result(result, "dns_message_create"); check_result(result, "dns_message_create");
result = dns_request_getresponse(request, answer, result = dns_request_getresponse(request, answer,
DNS_MESSAGEPARSE_PRESERVEORDER); DNS_MESSAGEPARSE_PRESERVEORDER);
@ -2343,15 +2341,15 @@ update_completed(isc_task_t *task, isc_event_t *event) {
done: done:
dns_request_destroy(&request); dns_request_destroy(&request);
if (usegsstsig) { if (usegsstsig) {
dns_name_free(&tmpzonename, mctx); dns_name_free(&tmpzonename, gmctx);
dns_name_free(&restart_master, mctx); dns_name_free(&restart_master, gmctx);
} }
isc_event_free(&event); isc_event_free(&event);
done_update(); done_update();
} }
static void static void
send_update(dns_name_t *zonename, isc_sockaddr_t *master) { send_update(dns_name_t *zone, isc_sockaddr_t *master) {
isc_result_t result; isc_result_t result;
dns_request_t *request = NULL; dns_request_t *request = NULL;
unsigned int options = DNS_REQUESTOPT_CASE; unsigned int options = DNS_REQUESTOPT_CASE;
@ -2359,7 +2357,7 @@ send_update(dns_name_t *zonename, isc_sockaddr_t *master) {
ddebug("send_update()"); ddebug("send_update()");
setzone(zonename); setzone(zone);
if (usevc) if (usevc)
options |= DNS_REQUESTOPT_TCP; options |= DNS_REQUESTOPT_TCP;
@ -2446,7 +2444,7 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
if (shuttingdown) { if (shuttingdown) {
dns_request_destroy(&request); dns_request_destroy(&request);
dns_message_destroy(&soaquery); dns_message_destroy(&soaquery);
isc_mem_put(mctx, reqinfo, sizeof(nsu_requestinfo_t)); isc_mem_put(gmctx, reqinfo, sizeof(nsu_requestinfo_t));
isc_event_free(&event); isc_event_free(&event);
maybeshutdown(); maybeshutdown();
return; return;
@ -2459,19 +2457,19 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
dns_message_renderreset(soaquery); dns_message_renderreset(soaquery);
dns_message_settsigkey(soaquery, NULL); dns_message_settsigkey(soaquery, NULL);
sendrequest(&servers[ns_inuse], soaquery, &request); sendrequest(&servers[ns_inuse], soaquery, &request);
isc_mem_put(mctx, reqinfo, sizeof(nsu_requestinfo_t)); isc_mem_put(gmctx, reqinfo, sizeof(nsu_requestinfo_t));
isc_event_free(&event); isc_event_free(&event);
setzoneclass(dns_rdataclass_none); setzoneclass(dns_rdataclass_none);
return; return;
} }
isc_mem_put(mctx, reqinfo, sizeof(nsu_requestinfo_t)); isc_mem_put(gmctx, reqinfo, sizeof(nsu_requestinfo_t));
reqinfo = NULL; reqinfo = NULL;
isc_event_free(&event); isc_event_free(&event);
reqev = NULL; reqev = NULL;
ddebug("About to create rcvmsg"); ddebug("About to create rcvmsg");
result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &rcvmsg); result = dns_message_create(gmctx, DNS_MESSAGE_INTENTPARSE, &rcvmsg);
check_result(result, "dns_message_create"); check_result(result, "dns_message_create");
result = dns_request_getresponse(request, rcvmsg, result = dns_request_getresponse(request, rcvmsg,
DNS_MESSAGEPARSE_PRESERVEORDER); DNS_MESSAGEPARSE_PRESERVEORDER);
@ -2479,7 +2477,7 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
dns_message_destroy(&rcvmsg); dns_message_destroy(&rcvmsg);
ddebug("Destroying request [%p]", request); ddebug("Destroying request [%p]", request);
dns_request_destroy(&request); dns_request_destroy(&request);
reqinfo = isc_mem_get(mctx, sizeof(nsu_requestinfo_t)); reqinfo = isc_mem_get(gmctx, sizeof(nsu_requestinfo_t));
if (reqinfo == NULL) if (reqinfo == NULL)
fatal("out of memory"); fatal("out of memory");
reqinfo->msg = soaquery; reqinfo->msg = soaquery;
@ -2587,9 +2585,9 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
dns_name_clone(&soa.origin, &master); dns_name_clone(&soa.origin, &master);
if (userzone != NULL) if (userzone != NULL)
zonename = userzone; zname = userzone;
else else
zonename = name; zname = name;
if (debugging) { if (debugging) {
char namestr[DNS_NAME_FORMATSIZE]; char namestr[DNS_NAME_FORMATSIZE];
@ -2608,11 +2606,11 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
serverstr[isc_buffer_usedlength(&buf)] = 0; serverstr[isc_buffer_usedlength(&buf)] = 0;
if (master_servers != NULL && master_servers != servers) if (master_servers != NULL && master_servers != servers)
isc_mem_put(mctx, master_servers, isc_mem_put(gmctx, master_servers,
master_total * sizeof(isc_sockaddr_t)); master_total * sizeof(isc_sockaddr_t));
master_total = MAX_SERVERADDRS; master_total = MAX_SERVERADDRS;
size = master_total * sizeof(isc_sockaddr_t); size = master_total * sizeof(isc_sockaddr_t);
master_servers = isc_mem_get(mctx, size); master_servers = isc_mem_get(gmctx, size);
if (master_servers == NULL) if (master_servers == NULL)
fatal("out of memory"); fatal("out of memory");
@ -2626,16 +2624,16 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
#ifdef GSSAPI #ifdef GSSAPI
if (usegsstsig) { if (usegsstsig) {
dns_name_init(&tmpzonename, NULL); dns_name_init(&tmpzonename, NULL);
dns_name_dup(zonename, mctx, &tmpzonename); dns_name_dup(zname, gmctx, &tmpzonename);
dns_name_init(&restart_master, NULL); dns_name_init(&restart_master, NULL);
dns_name_dup(&master, mctx, &restart_master); dns_name_dup(&master, gmctx, &restart_master);
start_gssrequest(&master); start_gssrequest(&master);
} else { } else {
send_update(zonename, &master_servers[master_inuse]); send_update(zname, &master_servers[master_inuse]);
setzoneclass(dns_rdataclass_none); setzoneclass(dns_rdataclass_none);
} }
#else #else
send_update(zonename, &master_servers[master_inuse]); send_update(zname, &master_servers[master_inuse]);
setzoneclass(dns_rdataclass_none); setzoneclass(dns_rdataclass_none);
#endif #endif
@ -2673,7 +2671,7 @@ sendrequest(isc_sockaddr_t *destaddr, dns_message_t *msg,
nsu_requestinfo_t *reqinfo; nsu_requestinfo_t *reqinfo;
isc_sockaddr_t *srcaddr; isc_sockaddr_t *srcaddr;
reqinfo = isc_mem_get(mctx, sizeof(nsu_requestinfo_t)); reqinfo = isc_mem_get(gmctx, sizeof(nsu_requestinfo_t));
if (reqinfo == NULL) if (reqinfo == NULL)
fatal("out of memory"); fatal("out of memory");
reqinfo->msg = msg; reqinfo->msg = msg;
@ -2698,8 +2696,7 @@ sendrequest(isc_sockaddr_t *destaddr, dns_message_t *msg,
* Get the realm from the users kerberos ticket if possible * Get the realm from the users kerberos ticket if possible
*/ */
static void static void
get_ticket_realm(isc_mem_t *mctx) get_ticket_realm(isc_mem_t *mctx) {
{
krb5_context ctx; krb5_context ctx;
krb5_error_code rc; krb5_error_code rc;
krb5_ccache ccache; krb5_ccache ccache;
@ -2756,7 +2753,7 @@ start_gssrequest(dns_name_t *master) {
dns_name_t *servname; dns_name_t *servname;
dns_fixedname_t fname; dns_fixedname_t fname;
char namestr[DNS_NAME_FORMATSIZE]; char namestr[DNS_NAME_FORMATSIZE];
char keystr[DNS_NAME_FORMATSIZE]; char mykeystr[DNS_NAME_FORMATSIZE];
char *err_message = NULL; char *err_message = NULL;
debug("start_gssrequest"); debug("start_gssrequest");
@ -2765,7 +2762,7 @@ start_gssrequest(dns_name_t *master) {
if (gssring != NULL) if (gssring != NULL)
dns_tsigkeyring_detach(&gssring); dns_tsigkeyring_detach(&gssring);
gssring = NULL; gssring = NULL;
result = dns_tsigkeyring_create(mctx, &gssring); result = dns_tsigkeyring_create(gmctx, &gssring);
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
fatal("dns_tsigkeyring_create failed: %s", fatal("dns_tsigkeyring_create failed: %s",
@ -2773,7 +2770,7 @@ start_gssrequest(dns_name_t *master) {
dns_name_format(master, namestr, sizeof(namestr)); dns_name_format(master, namestr, sizeof(namestr));
if (kserver == NULL) { if (kserver == NULL) {
kserver = isc_mem_get(mctx, sizeof(isc_sockaddr_t)); kserver = isc_mem_get(gmctx, sizeof(isc_sockaddr_t));
if (kserver == NULL) if (kserver == NULL)
fatal("out of memory"); fatal("out of memory");
} }
@ -2786,7 +2783,7 @@ start_gssrequest(dns_name_t *master) {
servname = dns_fixedname_name(&fname); servname = dns_fixedname_name(&fname);
if (realm == NULL) if (realm == NULL)
get_ticket_realm(mctx); get_ticket_realm(gmctx);
result = isc_string_printf(servicename, sizeof(servicename), result = isc_string_printf(servicename, sizeof(servicename),
"DNS/%s%s", namestr, realm ? realm : ""); "DNS/%s%s", namestr, realm ? realm : "");
@ -2804,13 +2801,13 @@ start_gssrequest(dns_name_t *master) {
keyname = dns_fixedname_name(&fkname); keyname = dns_fixedname_name(&fkname);
isc_random_get(&val); isc_random_get(&val);
result = isc_string_printf(keystr, sizeof(keystr), "%u.sig-%s", result = isc_string_printf(mykeystr, sizeof(mykeystr), "%u.sig-%s",
val, namestr); val, namestr);
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
fatal("isc_string_printf(keystr) failed: %s", fatal("isc_string_printf(mykeystr) failed: %s",
isc_result_totext(result)); isc_result_totext(result));
isc_buffer_init(&buf, keystr, strlen(keystr)); isc_buffer_init(&buf, mykeystr, strlen(mykeystr));
isc_buffer_add(&buf, strlen(keystr)); isc_buffer_add(&buf, strlen(mykeystr));
result = dns_name_fromtext(keyname, &buf, dns_rootname, 0, NULL); result = dns_name_fromtext(keyname, &buf, dns_rootname, 0, NULL);
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
@ -2821,7 +2818,7 @@ start_gssrequest(dns_name_t *master) {
keyname->attributes |= DNS_NAMEATTR_NOCOMPRESS; keyname->attributes |= DNS_NAMEATTR_NOCOMPRESS;
rmsg = NULL; rmsg = NULL;
result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &rmsg); result = dns_message_create(gmctx, DNS_MESSAGE_INTENTRENDER, &rmsg);
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
fatal("dns_message_create failed: %s", fatal("dns_message_create failed: %s",
isc_result_totext(result)); isc_result_totext(result));
@ -2830,7 +2827,7 @@ start_gssrequest(dns_name_t *master) {
context = GSS_C_NO_CONTEXT; context = GSS_C_NO_CONTEXT;
result = dns_tkey_buildgssquery(rmsg, keyname, servname, NULL, 0, result = dns_tkey_buildgssquery(rmsg, keyname, servname, NULL, 0,
&context, use_win2k_gsstsig, &context, use_win2k_gsstsig,
mctx, &err_message); gmctx, &err_message);
if (result == ISC_R_FAILURE) if (result == ISC_R_FAILURE)
fatal("tkey query failed: %s", fatal("tkey query failed: %s",
err_message != NULL ? err_message : "unknown error"); err_message != NULL ? err_message : "unknown error");
@ -2851,7 +2848,7 @@ send_gssrequest(isc_sockaddr_t *destaddr, dns_message_t *msg,
isc_sockaddr_t *srcaddr; isc_sockaddr_t *srcaddr;
debug("send_gssrequest"); debug("send_gssrequest");
reqinfo = isc_mem_get(mctx, sizeof(nsu_gssinfo_t)); reqinfo = isc_mem_get(gmctx, sizeof(nsu_gssinfo_t));
if (reqinfo == NULL) if (reqinfo == NULL)
fatal("out of memory"); fatal("out of memory");
reqinfo->msg = msg; reqinfo->msg = msg;
@ -2908,7 +2905,7 @@ recvgss(isc_task_t *task, isc_event_t *event) {
if (shuttingdown) { if (shuttingdown) {
dns_request_destroy(&request); dns_request_destroy(&request);
dns_message_destroy(&tsigquery); dns_message_destroy(&tsigquery);
isc_mem_put(mctx, reqinfo, sizeof(nsu_gssinfo_t)); isc_mem_put(gmctx, reqinfo, sizeof(nsu_gssinfo_t));
isc_event_free(&event); isc_event_free(&event);
maybeshutdown(); maybeshutdown();
return; return;
@ -2920,17 +2917,17 @@ recvgss(isc_task_t *task, isc_event_t *event) {
dns_request_destroy(&request); dns_request_destroy(&request);
dns_message_renderreset(tsigquery); dns_message_renderreset(tsigquery);
sendrequest(&servers[ns_inuse], tsigquery, &request); sendrequest(&servers[ns_inuse], tsigquery, &request);
isc_mem_put(mctx, reqinfo, sizeof(nsu_gssinfo_t)); isc_mem_put(gmctx, reqinfo, sizeof(nsu_gssinfo_t));
isc_event_free(&event); isc_event_free(&event);
return; return;
} }
isc_mem_put(mctx, reqinfo, sizeof(nsu_gssinfo_t)); isc_mem_put(gmctx, reqinfo, sizeof(nsu_gssinfo_t));
isc_event_free(&event); isc_event_free(&event);
reqev = NULL; reqev = NULL;
ddebug("recvgss creating rcvmsg"); ddebug("recvgss creating rcvmsg");
result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &rcvmsg); result = dns_message_create(gmctx, DNS_MESSAGE_INTENTPARSE, &rcvmsg);
check_result(result, "dns_message_create"); check_result(result, "dns_message_create");
result = dns_request_getresponse(request, rcvmsg, result = dns_request_getresponse(request, rcvmsg,
@ -3052,7 +3049,7 @@ start_update(void) {
return; return;
} }
result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, result = dns_message_create(gmctx, DNS_MESSAGE_INTENTRENDER,
&soaquery); &soaquery);
check_result(result, "dns_message_create"); check_result(result, "dns_message_create");
@ -3129,11 +3126,11 @@ cleanup(void) {
dns_tsigkeyring_detach(&gssring); dns_tsigkeyring_detach(&gssring);
} }
if (kserver != NULL) { if (kserver != NULL) {
isc_mem_put(mctx, kserver, sizeof(isc_sockaddr_t)); isc_mem_put(gmctx, kserver, sizeof(isc_sockaddr_t));
kserver = NULL; kserver = NULL;
} }
if (realm != NULL) { if (realm != NULL) {
isc_mem_free(mctx, realm); isc_mem_free(gmctx, realm);
realm = NULL; realm = NULL;
} }
#endif #endif
@ -3160,12 +3157,12 @@ cleanup(void) {
dns_name_destroy(); dns_name_destroy();
ddebug("Removing log context"); ddebug("Removing log context");
isc_log_destroy(&lctx); isc_log_destroy(&glctx);
ddebug("Destroying memory context"); ddebug("Destroying memory context");
if (memdebugging) if (memdebugging)
isc_mem_stats(mctx, stderr); isc_mem_stats(gmctx, stderr);
isc_mem_destroy(&mctx); isc_mem_destroy(&gmctx);
} }
static void static void
@ -3205,14 +3202,14 @@ main(int argc, char **argv) {
pre_parse_args(argc, argv); pre_parse_args(argc, argv);
result = isc_mem_create(0, 0, &mctx); result = isc_mem_create(0, 0, &gmctx);
check_result(result, "isc_mem_create"); check_result(result, "isc_mem_create");
parse_args(argc, argv, mctx, &entropy); parse_args(argc, argv, gmctx, &entropy);
setup_system(); setup_system();
result = isc_app_onrun(mctx, global_task, getinput, NULL); result = isc_app_onrun(gmctx, global_task, getinput, NULL);
check_result(result, "isc_app_onrun"); check_result(result, "isc_app_onrun");
(void)isc_app_run(); (void)isc_app_run();

View File

@ -79,7 +79,7 @@ static isc_uint32_t algorithm;
static isccc_region_t secret; static isccc_region_t secret;
static isc_boolean_t failed = ISC_FALSE; static isc_boolean_t failed = ISC_FALSE;
static isc_boolean_t c_flag = ISC_FALSE; static isc_boolean_t c_flag = ISC_FALSE;
static isc_mem_t *mctx; static isc_mem_t *rndc_mctx;
static int sends, recvs, connects; static int sends, recvs, connects;
static char *command; static char *command;
static char *args; static char *args;
@ -431,7 +431,7 @@ rndc_connected(isc_task_t *task, isc_event_t *event) {
r.base = databuf->base; r.base = databuf->base;
r.length = databuf->used; r.length = databuf->used;
isccc_ccmsg_init(mctx, sock, &ccmsg); isccc_ccmsg_init(rndc_mctx, sock, &ccmsg);
isccc_ccmsg_setmaxsize(&ccmsg, 1024 * 1024); isccc_ccmsg_setmaxsize(&ccmsg, 1024 * 1024);
DO("schedule recv", isccc_ccmsg_readmessage(&ccmsg, task, DO("schedule recv", isccc_ccmsg_readmessage(&ccmsg, task,
@ -854,12 +854,12 @@ main(int argc, char **argv) {
isc_random_get(&serial); isc_random_get(&serial);
DO("create memory context", isc_mem_create(0, 0, &mctx)); DO("create memory context", isc_mem_create(0, 0, &rndc_mctx));
DO("create socket manager", isc_socketmgr_create(mctx, &socketmgr)); DO("create socket manager", isc_socketmgr_create(rndc_mctx, &socketmgr));
DO("create task manager", isc_taskmgr_create(mctx, 1, 0, &taskmgr)); DO("create task manager", isc_taskmgr_create(rndc_mctx, 1, 0, &taskmgr));
DO("create task", isc_task_create(taskmgr, 0, &task)); DO("create task", isc_task_create(taskmgr, 0, &task));
DO("create logging context", isc_log_create(mctx, &log, &logconfig)); DO("create logging context", isc_log_create(rndc_mctx, &log, &logconfig));
isc_log_setcontext(log); isc_log_setcontext(log);
DO("setting log tag", isc_log_settag(logconfig, progname)); DO("setting log tag", isc_log_settag(logconfig, progname));
logdest.file.stream = stderr; logdest.file.stream = stderr;
@ -873,14 +873,14 @@ main(int argc, char **argv) {
DO("enabling log channel", isc_log_usechannel(logconfig, "stderr", DO("enabling log channel", isc_log_usechannel(logconfig, "stderr",
NULL, NULL)); NULL, NULL));
parse_config(mctx, log, keyname, &pctx, &config); parse_config(rndc_mctx, log, keyname, &pctx, &config);
isccc_result_register(); isccc_result_register();
command = *argv; command = *argv;
DO("allocate data buffer", DO("allocate data buffer",
isc_buffer_allocate(mctx, &databuf, 2048)); isc_buffer_allocate(rndc_mctx, &databuf, 2048));
/* /*
* Convert argc/argv into a space-delimited command string * Convert argc/argv into a space-delimited command string
@ -891,7 +891,7 @@ main(int argc, char **argv) {
for (i = 0; i < argc; i++) for (i = 0; i < argc; i++)
argslen += strlen(argv[i]) + 1; argslen += strlen(argv[i]) + 1;
args = isc_mem_get(mctx, argslen); args = isc_mem_get(rndc_mctx, argslen);
if (args == NULL) if (args == NULL)
DO("isc_mem_get", ISC_R_NOMEMORY); DO("isc_mem_get", ISC_R_NOMEMORY);
@ -915,7 +915,7 @@ main(int argc, char **argv) {
if (nserveraddrs == 0) if (nserveraddrs == 0)
get_addresses(servername, (in_port_t) remoteport); get_addresses(servername, (in_port_t) remoteport);
DO("post event", isc_app_onrun(mctx, task, rndc_start, NULL)); DO("post event", isc_app_onrun(rndc_mctx, task, rndc_start, NULL));
result = isc_app_run(); result = isc_app_run();
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
@ -933,7 +933,7 @@ main(int argc, char **argv) {
cfg_obj_destroy(pctx, &config); cfg_obj_destroy(pctx, &config);
cfg_parser_destroy(&pctx); cfg_parser_destroy(&pctx);
isc_mem_put(mctx, args, argslen); isc_mem_put(rndc_mctx, args, argslen);
isccc_ccmsg_invalidate(&ccmsg); isccc_ccmsg_invalidate(&ccmsg);
dns_name_destroy(); dns_name_destroy();
@ -941,9 +941,9 @@ main(int argc, char **argv) {
isc_buffer_free(&databuf); isc_buffer_free(&databuf);
if (show_final_mem) if (show_final_mem)
isc_mem_stats(mctx, stderr); isc_mem_stats(rndc_mctx, stderr);
isc_mem_destroy(&mctx); isc_mem_destroy(&rndc_mctx);
if (failed) if (failed)
return (1); return (1);

12
configure vendored
View File

@ -976,6 +976,7 @@ with_gnu_ld
with_sysroot with_sysroot
enable_libtool_lock enable_libtool_lock
enable_libbind enable_libbind
enable_warn_shadow
enable_warn_error enable_warn_error
enable_developer enable_developer
enable_seccomp enable_seccomp
@ -1668,6 +1669,7 @@ Optional Features:
optimize for fast installation [default=yes] optimize for fast installation [default=yes]
--disable-libtool-lock avoid locking (might break parallel builds) --disable-libtool-lock avoid locking (might break parallel builds)
--enable-libbind deprecated --enable-libbind deprecated
--enable-warn-shadow turn on -Wshadow when compiling
--enable-warn-error turn on -Werror when compiling --enable-warn-error turn on -Werror when compiling
--enable-developer enable developer build settings --enable-developer enable developer build settings
--enable-seccomp enable support for libseccomp system call filtering --enable-seccomp enable support for libseccomp system call filtering
@ -11411,6 +11413,12 @@ It is available from http://www.isc.org as a separate download." "$LINENO" 5
;; ;;
esac esac
# Check whether --enable-warn_shadow was given.
if test "${enable_warn_shadow+set}" = set; then :
enableval=$enable_warn_shadow;
fi
# Check whether --enable-warn_error was given. # Check whether --enable-warn_error was given.
if test "${enable_warn_error+set}" = set; then : if test "${enable_warn_error+set}" = set; then :
enableval=$enable_warn_error; enableval=$enable_warn_error;
@ -11432,6 +11440,7 @@ yes)
test "${enable_symtable+set}" = set || enable_symtable=all test "${enable_symtable+set}" = set || enable_symtable=all
test "${enable_sit+set}" = set || enable_sit=yes test "${enable_sit+set}" = set || enable_sit=yes
test "${enable_warn_error+set}" = set || enable_warn_error=yes test "${enable_warn_error+set}" = set || enable_warn_error=yes
test "${enable_warn_shadow+set}" = set || enable_warn_shadow=yes
;; ;;
esac esac
@ -16884,6 +16893,9 @@ $as_echo "no" >&6; }
BACKTRACECFLAGS="$BACKTRACECFLAGS -Wl,+vnocompatwarnings" BACKTRACECFLAGS="$BACKTRACECFLAGS -Wl,+vnocompatwarnings"
;; ;;
esac esac
if test "X$enable_warn_shadow" = Xyes; then
STD_CWARNINGS="$STD_CWARNINGS -Wshadow"
fi
if test "X$enable_warn_error" = Xyes; then if test "X$enable_warn_error" = Xyes; then
STD_CWARNINGS="$STD_CWARNINGS -Werror" STD_CWARNINGS="$STD_CWARNINGS -Werror"
fi fi

View File

@ -77,6 +77,8 @@ It is available from http://www.isc.org as a separate download.])
;; ;;
esac esac
AC_ARG_ENABLE(warn_shadow, [ --enable-warn-shadow turn on -Wshadow when compiling])
AC_ARG_ENABLE(warn_error, [ --enable-warn-error turn on -Werror when compiling]) AC_ARG_ENABLE(warn_error, [ --enable-warn-error turn on -Werror when compiling])
AC_ARG_ENABLE(developer, [ --enable-developer enable developer build settings]) AC_ARG_ENABLE(developer, [ --enable-developer enable developer build settings])
@ -90,6 +92,7 @@ yes)
test "${enable_symtable+set}" = set || enable_symtable=all test "${enable_symtable+set}" = set || enable_symtable=all
test "${enable_sit+set}" = set || enable_sit=yes test "${enable_sit+set}" = set || enable_sit=yes
test "${enable_warn_error+set}" = set || enable_warn_error=yes test "${enable_warn_error+set}" = set || enable_warn_error=yes
test "${enable_warn_shadow+set}" = set || enable_warn_shadow=yes
;; ;;
esac esac
@ -2286,6 +2289,9 @@ if test "X$GCC" = "Xyes"; then
BACKTRACECFLAGS="$BACKTRACECFLAGS -Wl,+vnocompatwarnings" BACKTRACECFLAGS="$BACKTRACECFLAGS -Wl,+vnocompatwarnings"
;; ;;
esac esac
if test "X$enable_warn_shadow" = Xyes; then
STD_CWARNINGS="$STD_CWARNINGS -Wshadow"
fi
if test "X$enable_warn_error" = Xyes; then if test "X$enable_warn_error" = Xyes; then
STD_CWARNINGS="$STD_CWARNINGS -Werror" STD_CWARNINGS="$STD_CWARNINGS -Werror"
fi fi

View File

@ -102,7 +102,6 @@ check_orderent(const cfg_obj_t *ent, isc_log_t *logctx) {
obj = cfg_tuple_get(ent, "type"); obj = cfg_tuple_get(ent, "type");
if (cfg_obj_isstring(obj)) { if (cfg_obj_isstring(obj)) {
DE_CONST(cfg_obj_asstring(obj), r.base); DE_CONST(cfg_obj_asstring(obj), r.base);
r.length = strlen(r.base); r.length = strlen(r.base);
tresult = dns_rdatatype_fromtext(&rdtype, &r); tresult = dns_rdatatype_fromtext(&rdtype, &r);
@ -297,7 +296,6 @@ disabled_algorithms(const cfg_obj_t *disabled, isc_log_t *logctx) {
{ {
isc_textregion_t r; isc_textregion_t r;
dns_secalg_t alg; dns_secalg_t alg;
isc_result_t tresult;
DE_CONST(cfg_obj_asstring(cfg_listelt_value(element)), r.base); DE_CONST(cfg_obj_asstring(cfg_listelt_value(element)), r.base);
r.length = strlen(r.base); r.length = strlen(r.base);
@ -345,7 +343,6 @@ disabled_ds_digests(const cfg_obj_t *disabled, isc_log_t *logctx) {
{ {
isc_textregion_t r; isc_textregion_t r;
dns_dsdigest_t digest; dns_dsdigest_t digest;
isc_result_t tresult;
DE_CONST(cfg_obj_asstring(cfg_listelt_value(element)), r.base); DE_CONST(cfg_obj_asstring(cfg_listelt_value(element)), r.base);
r.length = strlen(r.base); r.length = strlen(r.base);
@ -786,6 +783,14 @@ check_dscp(const cfg_obj_t *options, isc_log_t *logctx) {
return (result); return (result);
} }
static isc_result_t
check_name(const char *str) {
dns_fixedname_t fixed;
dns_fixedname_init(&fixed);
return (dns_name_fromstring(dns_fixedname_name(&fixed), str, 0, NULL));
}
static isc_result_t static isc_result_t
check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx, check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx,
optlevel_t optlevel) optlevel_t optlevel)
@ -898,7 +903,6 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx,
obj = NULL; obj = NULL;
(void)cfg_map_get(options, "preferred-glue", &obj); (void)cfg_map_get(options, "preferred-glue", &obj);
if (obj != NULL) { if (obj != NULL) {
const char *str;
str = cfg_obj_asstring(obj); str = cfg_obj_asstring(obj);
if (strcasecmp(str, "a") != 0 && if (strcasecmp(str, "a") != 0 &&
strcasecmp(str, "aaaa") != 0 && strcasecmp(str, "aaaa") != 0 &&
@ -912,25 +916,14 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx,
(void)cfg_map_get(options, "root-delegation-only", &obj); (void)cfg_map_get(options, "root-delegation-only", &obj);
if (obj != NULL) { if (obj != NULL) {
if (!cfg_obj_isvoid(obj)) { if (!cfg_obj_isvoid(obj)) {
const cfg_listelt_t *element;
const cfg_obj_t *exclude;
const char *str;
dns_fixedname_t fixed;
dns_name_t *name;
isc_buffer_t b;
dns_fixedname_init(&fixed);
name = dns_fixedname_name(&fixed);
for (element = cfg_list_first(obj); for (element = cfg_list_first(obj);
element != NULL; element != NULL;
element = cfg_list_next(element)) { element = cfg_list_next(element)) {
const cfg_obj_t *exclude;
exclude = cfg_listelt_value(element); exclude = cfg_listelt_value(element);
str = cfg_obj_asstring(exclude); str = cfg_obj_asstring(exclude);
isc_buffer_constinit(&b, str, strlen(str)); tresult = check_name(str);
isc_buffer_add(&b, strlen(str));
tresult = dns_name_fromtext(name, &b,
dns_rootname,
0, NULL);
if (tresult != ISC_R_SUCCESS) { if (tresult != ISC_R_SUCCESS) {
cfg_obj_log(obj, logctx, ISC_LOG_ERROR, cfg_obj_log(obj, logctx, ISC_LOG_ERROR,
"bad domain name '%s'", "bad domain name '%s'",
@ -1011,10 +1004,7 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx,
continue; continue;
} }
isc_buffer_constinit(&b, dlv, strlen(dlv)); tresult = dns_name_fromstring(name, dlv, 0, NULL);
isc_buffer_add(&b, strlen(dlv));
tresult = dns_name_fromtext(name, &b, dns_rootname,
0, NULL);
if (tresult != ISC_R_SUCCESS) { if (tresult != ISC_R_SUCCESS) {
cfg_obj_log(obj, logctx, ISC_LOG_ERROR, cfg_obj_log(obj, logctx, ISC_LOG_ERROR,
"bad domain name '%s'", dlv); "bad domain name '%s'", dlv);
@ -1031,6 +1021,7 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx,
result == ISC_R_SUCCESS) result == ISC_R_SUCCESS)
result = tresult; result = tresult;
} }
/* /*
* XXXMPA to be removed when multiple lookaside * XXXMPA to be removed when multiple lookaside
* namespaces are supported. * namespaces are supported.
@ -1045,12 +1036,7 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx,
if (!cfg_obj_isvoid(anchor)) { if (!cfg_obj_isvoid(anchor)) {
dlv = cfg_obj_asstring(anchor); dlv = cfg_obj_asstring(anchor);
isc_buffer_constinit(&b, dlv, strlen(dlv)); tresult = check_name(dlv);
isc_buffer_add(&b, strlen(dlv));
tresult = dns_name_fromtext(name, &b,
dns_rootname,
DNS_NAME_DOWNCASE,
NULL);
if (tresult != ISC_R_SUCCESS) { if (tresult != ISC_R_SUCCESS) {
cfg_obj_log(obj, logctx, ISC_LOG_ERROR, cfg_obj_log(obj, logctx, ISC_LOG_ERROR,
"bad domain name '%s'", "bad domain name '%s'",
@ -1093,7 +1079,6 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx,
obj = NULL; obj = NULL;
(void)cfg_map_get(options, "dnssec-must-be-secure", &obj); (void)cfg_map_get(options, "dnssec-must-be-secure", &obj);
if (obj != NULL) { if (obj != NULL) {
isc_symtab_t *symtab = NULL;
tresult = isc_symtab_create(mctx, 100, freekey, mctx, tresult = isc_symtab_create(mctx, 100, freekey, mctx,
ISC_FALSE, &symtab); ISC_FALSE, &symtab);
if (tresult != ISC_R_SUCCESS) if (tresult != ISC_R_SUCCESS)
@ -1119,11 +1104,7 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx,
(void)cfg_map_get(options, server_contact[i], &obj); (void)cfg_map_get(options, server_contact[i], &obj);
if (obj != NULL) { if (obj != NULL) {
str = cfg_obj_asstring(obj); str = cfg_obj_asstring(obj);
isc_buffer_constinit(&b, str, strlen(str)); if (check_name(str) != ISC_R_SUCCESS) {
isc_buffer_add(&b, strlen(str));
tresult = dns_name_fromtext(dns_fixedname_name(&fixed),
&b, dns_rootname, 0, NULL);
if (tresult != ISC_R_SUCCESS) {
cfg_obj_log(obj, logctx, ISC_LOG_ERROR, cfg_obj_log(obj, logctx, ISC_LOG_ERROR,
"%s: invalid name '%s'", "%s: invalid name '%s'",
server_contact[i], str); server_contact[i], str);
@ -1143,11 +1124,7 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx,
{ {
obj = cfg_listelt_value(element); obj = cfg_listelt_value(element);
str = cfg_obj_asstring(obj); str = cfg_obj_asstring(obj);
isc_buffer_constinit(&b, str, strlen(str)); if (check_name(str) != ISC_R_SUCCESS) {
isc_buffer_add(&b, strlen(str));
tresult = dns_name_fromtext(dns_fixedname_name(&fixed), &b,
dns_rootname, 0, NULL);
if (tresult != ISC_R_SUCCESS) {
cfg_obj_log(obj, logctx, ISC_LOG_ERROR, cfg_obj_log(obj, logctx, ISC_LOG_ERROR,
"disable-empty-zone: invalid name '%s'", "disable-empty-zone: invalid name '%s'",
str); str);
@ -1208,7 +1185,6 @@ check_options(const cfg_obj_t *options, isc_log_t *logctx, isc_mem_t *mctx,
obj = NULL; obj = NULL;
(void) cfg_map_get(options, "sit-secret", &obj); (void) cfg_map_get(options, "sit-secret", &obj);
if (obj != NULL) { if (obj != NULL) {
isc_buffer_t b;
unsigned char secret[32]; unsigned char secret[32];
memset(secret, 0, sizeof(secret)); memset(secret, 0, sizeof(secret));
@ -2247,7 +2223,6 @@ bind9_check_key(const cfg_obj_t *key, isc_log_t *logctx) {
} }
if (algorithm[len] == '-') { if (algorithm[len] == '-') {
isc_uint16_t digestbits; isc_uint16_t digestbits;
isc_result_t result;
result = isc_parse_uint16(&digestbits, algorithm + len + 1, 10); result = isc_parse_uint16(&digestbits, algorithm + len + 1, 10);
if (result == ISC_R_SUCCESS || result == ISC_R_RANGE) { if (result == ISC_R_SUCCESS || result == ISC_R_RANGE) {
if (result == ISC_R_RANGE || if (result == ISC_R_RANGE ||
@ -2671,7 +2646,6 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions,
element != NULL; element != NULL;
element = cfg_list_next(element)) element = cfg_list_next(element))
{ {
isc_result_t tresult;
const cfg_obj_t *zone = cfg_listelt_value(element); const cfg_obj_t *zone = cfg_listelt_value(element);
tresult = check_zoneconf(zone, voptions, config, symtab, tresult = check_zoneconf(zone, voptions, config, symtab,
@ -3203,10 +3177,10 @@ bind9_check_namedconf(const cfg_obj_t *config, isc_log_t *logctx,
const cfg_obj_t *voptions = cfg_tuple_get(view, "options"); const cfg_obj_t *voptions = cfg_tuple_get(view, "options");
const cfg_obj_t *vclassobj = cfg_tuple_get(view, "class"); const cfg_obj_t *vclassobj = cfg_tuple_get(view, "class");
dns_rdataclass_t vclass = dns_rdataclass_in; dns_rdataclass_t vclass = dns_rdataclass_in;
isc_result_t tresult = ISC_R_SUCCESS;
const char *key = cfg_obj_asstring(vname); const char *key = cfg_obj_asstring(vname);
isc_symvalue_t symvalue; isc_symvalue_t symvalue;
tresult = ISC_R_SUCCESS;
if (cfg_obj_isstring(vclassobj)) { if (cfg_obj_isstring(vclassobj)) {
isc_textregion_t r; isc_textregion_t r;

View File

@ -103,13 +103,13 @@ bind9_getaddresses(const char *hostname, in_port_t port,
if (d != NULL) { if (d != NULL) {
#ifdef ISC_PLATFORM_HAVESCOPEID #ifdef ISC_PLATFORM_HAVESCOPEID
isc_result_t result; isc_result_t iresult;
result = isc_netscope_pton(AF_INET6, d + 1, iresult = isc_netscope_pton(AF_INET6, d + 1,
&in6, &zone); &in6, &zone);
if (result != ISC_R_SUCCESS) if (iresult != ISC_R_SUCCESS)
return (result); return (iresult);
#else #else
/* /*
* The extended format is specified while the * The extended format is specified while the

View File

@ -388,9 +388,6 @@ diff_apply(dns_diff_t *diff, dns_db_t *db, dns_dbversion_t *ver,
* Issue a warning and continue. * Issue a warning and continue.
*/ */
if (warn) { if (warn) {
char classbuf[DNS_RDATATYPE_FORMATSIZE];
char namebuf[DNS_NAME_FORMATSIZE];
dns_name_format(dns_db_origin(db), dns_name_format(dns_db_origin(db),
namebuf, namebuf,
sizeof(namebuf)); sizeof(namebuf));

View File

@ -1028,7 +1028,6 @@ dump_rdataset_raw(isc_mem_t *mctx, dns_name_t *name, dns_rdataset_t *rdataset,
do { do {
dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_t rdata = DNS_RDATA_INIT;
isc_region_t r;
dns_rdataset_current(rdataset, &rdata); dns_rdataset_current(rdataset, &rdata);
dns_rdata_toregion(&rdata, &r); dns_rdata_toregion(&rdata, &r);

View File

@ -3235,14 +3235,13 @@ render_ecs(isc_buffer_t *optbuf, isc_buffer_t *target) {
inet_ntop(AF_INET6, addr, addr_text, sizeof(addr_text)); inet_ntop(AF_INET6, addr, addr_text, sizeof(addr_text));
else { else {
snprintf(addr_text, sizeof(addr_text), snprintf(addr_text, sizeof(addr_text),
"Unsupported family %d", "Unsupported family %u", family);
family);
ADD_STRING(target, addr_text); ADD_STRING(target, addr_text);
return (ISC_R_SUCCESS); return (ISC_R_SUCCESS);
} }
ADD_STRING(target, addr_text); ADD_STRING(target, addr_text);
sprintf(addr_text, "/%d/%d", addrlen, scopelen); snprintf(addr_text, sizeof(addr_text), "/%d/%d", addrlen, scopelen);
ADD_STRING(target, addr_text); ADD_STRING(target, addr_text);
return (ISC_R_SUCCESS); return (ISC_R_SUCCESS);
} }
@ -3321,7 +3320,6 @@ dns_message_pseudosectiontotext(dns_message_t *msg,
continue; continue;
} else if (optcode == DNS_OPT_EXPIRE) { } else if (optcode == DNS_OPT_EXPIRE) {
if (optlen == 4) { if (optlen == 4) {
char buf[sizeof("4294967296")];
isc_uint32_t secs; isc_uint32_t secs;
secs = isc_buffer_getuint32(&optbuf); secs = isc_buffer_getuint32(&optbuf);
ADD_STRING(target, "; EXPIRE: "); ADD_STRING(target, "; EXPIRE: ");
@ -3335,7 +3333,7 @@ dns_message_pseudosectiontotext(dns_message_t *msg,
ADD_STRING(target, "; EXPIRE"); ADD_STRING(target, "; EXPIRE");
} else { } else {
ADD_STRING(target, "; OPT="); ADD_STRING(target, "; OPT=");
sprintf(buf, "%u", optcode); snprintf(buf, sizeof(buf), "%u", optcode);
ADD_STRING(target, buf); ADD_STRING(target, buf);
} }
@ -3354,7 +3352,8 @@ dns_message_pseudosectiontotext(dns_message_t *msg,
sep = " "; sep = " ";
break; break;
} }
sprintf(buf, "%02x%s", optdata[i], sep); snprintf(buf, sizeof(buf), "%02x%s",
optdata[i], sep);
ADD_STRING(target, buf); ADD_STRING(target, buf);
} }

View File

@ -2053,8 +2053,6 @@ dns_nsec3_noexistnodata(dns_rdatatype_t type, dns_name_t* name,
(scope >= 0 && (order > 0 || (scope >= 0 && (order > 0 ||
memcmp(hash, nsec3.next, length) < 0))) memcmp(hash, nsec3.next, length) < 0)))
{ {
char namebuf[DNS_NAME_FORMATSIZE];
dns_name_format(qname, namebuf, sizeof(namebuf)); dns_name_format(qname, namebuf, sizeof(namebuf));
(*logit)(arg, ISC_LOG_DEBUG(3), "NSEC3 proves " (*logit)(arg, ISC_LOG_DEBUG(3), "NSEC3 proves "
"name does not exist: '%s'", namebuf); "name does not exist: '%s'", namebuf);

View File

@ -162,7 +162,6 @@ dns_private_chains(dns_db_t *db, dns_dbversion_t *ver,
for (result = dns_rdataset_first(&privateset); for (result = dns_rdataset_first(&privateset);
result == ISC_R_SUCCESS; result == ISC_R_SUCCESS;
result = dns_rdataset_next(&privateset)) { result = dns_rdataset_next(&privateset)) {
unsigned char buf[DNS_NSEC3PARAM_BUFFERSIZE];
dns_rdata_t private = DNS_RDATA_INIT; dns_rdata_t private = DNS_RDATA_INIT;
dns_rdata_t rdata = DNS_RDATA_INIT; dns_rdata_t rdata = DNS_RDATA_INIT;

View File

@ -5895,8 +5895,6 @@ allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
currentversion(db, currentversion(db,
(dns_dbversion_t **) (void *)(&rbtversion)); (dns_dbversion_t **) (void *)(&rbtversion));
else { else {
unsigned int refs;
INSIST(rbtversion->rbtdb == rbtdb); INSIST(rbtversion->rbtdb == rbtdb);
isc_refcount_increment(&rbtversion->references, isc_refcount_increment(&rbtversion->references,

View File

@ -140,7 +140,7 @@ totext_nsec3(ARGS_TOTEXT) {
unsigned int window, len; unsigned int window, len;
unsigned char hash; unsigned char hash;
unsigned char flags; unsigned char flags;
char buf[sizeof("65535 ")]; char buf[sizeof("TYPE65535")];
isc_uint32_t iterations; isc_uint32_t iterations;
isc_boolean_t first; isc_boolean_t first;
@ -224,7 +224,6 @@ totext_nsec3(ARGS_TOTEXT) {
if (dns_rdatatype_isknown(t)) { if (dns_rdatatype_isknown(t)) {
RETERR(dns_rdatatype_totext(t, target)); RETERR(dns_rdatatype_totext(t, target));
} else { } else {
char buf[sizeof("TYPE65535")];
sprintf(buf, "TYPE%u", t); sprintf(buf, "TYPE%u", t);
RETERR(str_totext(buf, target)); RETERR(str_totext(buf, target));
} }

View File

@ -178,7 +178,6 @@ totext_rrsig(ARGS_TOTEXT) {
if (dns_rdatatype_isknown(covered) && covered != 0) { if (dns_rdatatype_isknown(covered) && covered != 0) {
RETERR(dns_rdatatype_totext(covered, target)); RETERR(dns_rdatatype_totext(covered, target));
} else { } else {
char buf[sizeof("TYPE65535")];
sprintf(buf, "TYPE%u", covered); sprintf(buf, "TYPE%u", covered);
RETERR(str_totext(buf, target)); RETERR(str_totext(buf, target));
} }

View File

@ -154,7 +154,6 @@ totext_sig(ARGS_TOTEXT) {
if (dns_rdatatype_isknown(covered) && covered != 0) { if (dns_rdatatype_isknown(covered) && covered != 0) {
RETERR(dns_rdatatype_totext(covered, target)); RETERR(dns_rdatatype_totext(covered, target));
} else { } else {
char buf[sizeof("65535")];
sprintf(buf, "%u", covered); sprintf(buf, "%u", covered);
RETERR(str_totext(buf, target)); RETERR(str_totext(buf, target));
} }

View File

@ -417,7 +417,6 @@ towiresorted(dns_rdataset_t *rdataset, const dns_name_t *owner_name,
* 'Random' order. * 'Random' order.
*/ */
for (i = 0; i < count; i++) { for (i = 0; i < count; i++) {
dns_rdata_t rdata;
isc_uint32_t val; isc_uint32_t val;
isc_random_get(&val); isc_random_get(&val);

View File

@ -7751,8 +7751,6 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
unsigned int flags, mask; unsigned int flags, mask;
unsigned int version; unsigned int version;
#if defined(ISC_PLATFORM_USESIT) && DNS_EDNS_VERSION == 0 #if defined(ISC_PLATFORM_USESIT) && DNS_EDNS_VERSION == 0
unsigned char sit[64];
/* /*
* Some servers return BADVERS to unknown * Some servers return BADVERS to unknown
* EDNS options. This cannot be long term * EDNS options. This cannot be long term

View File

@ -486,13 +486,13 @@ decode_NegTokenInit(const unsigned char *p, size_t len, NegTokenInit * data, siz
e = der_get_length(p, len, &newlen, &l); e = der_get_length(p, len, &newlen, &l);
FORW; FORW;
{ {
int dce_fix; int mydce_fix;
oldlen = len; oldlen = len;
if ((dce_fix = fix_dce(newlen, &len)) < 0) if ((mydce_fix = fix_dce(newlen, &len)) < 0)
return ASN1_BAD_FORMAT; return ASN1_BAD_FORMAT;
e = decode_MechTypeList(p, len, &(data)->mechTypes, &l); e = decode_MechTypeList(p, len, &(data)->mechTypes, &l);
FORW; FORW;
if (dce_fix) { if (mydce_fix) {
e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l); e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l);
FORW; FORW;
} else } else
@ -513,16 +513,16 @@ decode_NegTokenInit(const unsigned char *p, size_t len, NegTokenInit * data, siz
e = der_get_length(p, len, &newlen, &l); e = der_get_length(p, len, &newlen, &l);
FORW; FORW;
{ {
int dce_fix; int mydce_fix;
oldlen = len; oldlen = len;
if ((dce_fix = fix_dce(newlen, &len)) < 0) if ((mydce_fix = fix_dce(newlen, &len)) < 0)
return ASN1_BAD_FORMAT; return ASN1_BAD_FORMAT;
(data)->reqFlags = malloc(sizeof(*(data)->reqFlags)); (data)->reqFlags = malloc(sizeof(*(data)->reqFlags));
if ((data)->reqFlags == NULL) if ((data)->reqFlags == NULL)
return ENOMEM; return ENOMEM;
e = decode_ContextFlags(p, len, (data)->reqFlags, &l); e = decode_ContextFlags(p, len, (data)->reqFlags, &l);
FORW; FORW;
if (dce_fix) { if (mydce_fix) {
e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l); e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l);
FORW; FORW;
} else } else
@ -543,16 +543,16 @@ decode_NegTokenInit(const unsigned char *p, size_t len, NegTokenInit * data, siz
e = der_get_length(p, len, &newlen, &l); e = der_get_length(p, len, &newlen, &l);
FORW; FORW;
{ {
int dce_fix; int mydce_fix;
oldlen = len; oldlen = len;
if ((dce_fix = fix_dce(newlen, &len)) < 0) if ((mydce_fix = fix_dce(newlen, &len)) < 0)
return ASN1_BAD_FORMAT; return ASN1_BAD_FORMAT;
(data)->mechToken = malloc(sizeof(*(data)->mechToken)); (data)->mechToken = malloc(sizeof(*(data)->mechToken));
if ((data)->mechToken == NULL) if ((data)->mechToken == NULL)
return ENOMEM; return ENOMEM;
e = decode_octet_string(p, len, (data)->mechToken, &l); e = decode_octet_string(p, len, (data)->mechToken, &l);
FORW; FORW;
if (dce_fix) { if (mydce_fix) {
e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l); e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l);
FORW; FORW;
} else } else
@ -573,16 +573,16 @@ decode_NegTokenInit(const unsigned char *p, size_t len, NegTokenInit * data, siz
e = der_get_length(p, len, &newlen, &l); e = der_get_length(p, len, &newlen, &l);
FORW; FORW;
{ {
int dce_fix; int mydce_fix;
oldlen = len; oldlen = len;
if ((dce_fix = fix_dce(newlen, &len)) < 0) if ((mydce_fix = fix_dce(newlen, &len)) < 0)
return ASN1_BAD_FORMAT; return ASN1_BAD_FORMAT;
(data)->mechListMIC = malloc(sizeof(*(data)->mechListMIC)); (data)->mechListMIC = malloc(sizeof(*(data)->mechListMIC));
if ((data)->mechListMIC == NULL) if ((data)->mechListMIC == NULL)
return ENOMEM; return ENOMEM;
e = decode_octet_string(p, len, (data)->mechListMIC, &l); e = decode_octet_string(p, len, (data)->mechListMIC, &l);
FORW; FORW;
if (dce_fix) { if (mydce_fix) {
e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l); e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l);
FORW; FORW;
} else } else
@ -710,16 +710,16 @@ decode_NegTokenResp(const unsigned char *p, size_t len, NegTokenResp * data, siz
e = der_get_length(p, len, &newlen, &l); e = der_get_length(p, len, &newlen, &l);
FORW; FORW;
{ {
int dce_fix; int mydce_fix;
oldlen = len; oldlen = len;
if ((dce_fix = fix_dce(newlen, &len)) < 0) if ((mydce_fix = fix_dce(newlen, &len)) < 0)
return ASN1_BAD_FORMAT; return ASN1_BAD_FORMAT;
(data)->negState = malloc(sizeof(*(data)->negState)); (data)->negState = malloc(sizeof(*(data)->negState));
if ((data)->negState == NULL) if ((data)->negState == NULL)
return ENOMEM; return ENOMEM;
e = decode_enumerated(p, len, (data)->negState, &l); e = decode_enumerated(p, len, (data)->negState, &l);
FORW; FORW;
if (dce_fix) { if (mydce_fix) {
e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l); e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l);
FORW; FORW;
} else } else
@ -740,16 +740,16 @@ decode_NegTokenResp(const unsigned char *p, size_t len, NegTokenResp * data, siz
e = der_get_length(p, len, &newlen, &l); e = der_get_length(p, len, &newlen, &l);
FORW; FORW;
{ {
int dce_fix; int mydce_fix;
oldlen = len; oldlen = len;
if ((dce_fix = fix_dce(newlen, &len)) < 0) if ((mydce_fix = fix_dce(newlen, &len)) < 0)
return ASN1_BAD_FORMAT; return ASN1_BAD_FORMAT;
(data)->supportedMech = malloc(sizeof(*(data)->supportedMech)); (data)->supportedMech = malloc(sizeof(*(data)->supportedMech));
if ((data)->supportedMech == NULL) if ((data)->supportedMech == NULL)
return ENOMEM; return ENOMEM;
e = decode_MechType(p, len, (data)->supportedMech, &l); e = decode_MechType(p, len, (data)->supportedMech, &l);
FORW; FORW;
if (dce_fix) { if (mydce_fix) {
e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l); e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l);
FORW; FORW;
} else } else
@ -770,16 +770,16 @@ decode_NegTokenResp(const unsigned char *p, size_t len, NegTokenResp * data, siz
e = der_get_length(p, len, &newlen, &l); e = der_get_length(p, len, &newlen, &l);
FORW; FORW;
{ {
int dce_fix; int mydce_fix;
oldlen = len; oldlen = len;
if ((dce_fix = fix_dce(newlen, &len)) < 0) if ((mydce_fix = fix_dce(newlen, &len)) < 0)
return ASN1_BAD_FORMAT; return ASN1_BAD_FORMAT;
(data)->responseToken = malloc(sizeof(*(data)->responseToken)); (data)->responseToken = malloc(sizeof(*(data)->responseToken));
if ((data)->responseToken == NULL) if ((data)->responseToken == NULL)
return ENOMEM; return ENOMEM;
e = decode_octet_string(p, len, (data)->responseToken, &l); e = decode_octet_string(p, len, (data)->responseToken, &l);
FORW; FORW;
if (dce_fix) { if (mydce_fix) {
e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l); e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l);
FORW; FORW;
} else } else
@ -800,16 +800,16 @@ decode_NegTokenResp(const unsigned char *p, size_t len, NegTokenResp * data, siz
e = der_get_length(p, len, &newlen, &l); e = der_get_length(p, len, &newlen, &l);
FORW; FORW;
{ {
int dce_fix; int mydce_fix;
oldlen = len; oldlen = len;
if ((dce_fix = fix_dce(newlen, &len)) < 0) if ((mydce_fix = fix_dce(newlen, &len)) < 0)
return ASN1_BAD_FORMAT; return ASN1_BAD_FORMAT;
(data)->mechListMIC = malloc(sizeof(*(data)->mechListMIC)); (data)->mechListMIC = malloc(sizeof(*(data)->mechListMIC));
if ((data)->mechListMIC == NULL) if ((data)->mechListMIC == NULL)
return ENOMEM; return ENOMEM;
e = decode_octet_string(p, len, (data)->mechListMIC, &l); e = decode_octet_string(p, len, (data)->mechListMIC, &l);
FORW; FORW;
if (dce_fix) { if (mydce_fix) {
e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l); e = der_match_tag_and_length(p, len, (Der_class) 0, (Der_type) 0, 0, &reallen, &l);
FORW; FORW;
} else } else

View File

@ -52,16 +52,16 @@ ATF_TC_HEAD(getoriginnode, tc) {
ATF_TC_BODY(getoriginnode, tc) { ATF_TC_BODY(getoriginnode, tc) {
dns_db_t *db = NULL; dns_db_t *db = NULL;
dns_dbnode_t *node = NULL; dns_dbnode_t *node = NULL;
isc_mem_t *mctx = NULL; isc_mem_t *mymctx = NULL;
isc_result_t result; isc_result_t result;
result = isc_mem_create(0, 0, &mctx); result = isc_mem_create(0, 0, &mymctx);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
result = isc_hash_create(mctx, NULL, 256); result = isc_hash_create(mymctx, NULL, 256);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
result = dns_db_create(mctx, "rbt", dns_rootname, dns_dbtype_zone, result = dns_db_create(mymctx, "rbt", dns_rootname, dns_dbtype_zone,
dns_rdataclass_in, 0, NULL, &db); dns_rdataclass_in, 0, NULL, &db);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
@ -74,7 +74,7 @@ ATF_TC_BODY(getoriginnode, tc) {
dns_db_detachnode(db, &node); dns_db_detachnode(db, &node);
dns_db_detach(&db); dns_db_detach(&db);
isc_mem_detach(&mctx); isc_mem_detach(&mymctx);
} }
/* /*

View File

@ -43,7 +43,7 @@
static char tempname[11] = "dtXXXXXXXX"; static char tempname[11] = "dtXXXXXXXX";
static void static void
callback(const char *file, int line, isc_assertiontype_t type, local_callback(const char *file, int line, isc_assertiontype_t type,
const char *cond) const char *cond)
{ {
UNUSED(file); UNUSED(line); UNUSED(type); UNUSED(cond); UNUSED(file); UNUSED(line); UNUSED(type); UNUSED(cond);
@ -138,7 +138,7 @@ ATF_TC_BODY(attachversion_bad, tc) {
UNUSED(tc); UNUSED(tc);
attachversion(callback); attachversion(local_callback);
} }
static void static void
@ -179,7 +179,7 @@ ATF_TC_BODY(closeversion_bad, tc) {
UNUSED(tc); UNUSED(tc);
closeversion(callback); closeversion(local_callback);
} }
static void static void
@ -227,7 +227,7 @@ ATF_TC_BODY(find_bad, tc) {
UNUSED(tc); UNUSED(tc);
find(callback); find(local_callback);
} }
static void static void
@ -281,7 +281,7 @@ ATF_TC_BODY(allrdatasets_bad, tc) {
UNUSED(tc); UNUSED(tc);
allrdatasets(callback); allrdatasets(local_callback);
} }
static void static void
@ -336,7 +336,7 @@ ATF_TC_BODY(findrdataset_bad, tc) {
UNUSED(tc); UNUSED(tc);
findrdataset(callback); findrdataset(local_callback);
} }
static void static void
@ -391,7 +391,7 @@ ATF_TC_BODY(deleterdataset_bad, tc) {
UNUSED(tc); UNUSED(tc);
deleterdataset(callback); deleterdataset(local_callback);
} }
static void static void
@ -453,7 +453,7 @@ ATF_TC_BODY(subtractrdataset_bad, tc) {
UNUSED(tc); UNUSED(tc);
subtract(callback); subtract(local_callback);
} }
static void static void
@ -501,7 +501,7 @@ ATF_TC_BODY(dump_bad, tc) {
UNUSED(tc); UNUSED(tc);
dump(callback); dump(local_callback);
} }
static void static void
@ -563,7 +563,7 @@ ATF_TC_BODY(addrdataset_bad, tc) {
UNUSED(tc); UNUSED(tc);
addrdataset(callback); addrdataset(local_callback);
} }
static void static void
@ -612,7 +612,7 @@ ATF_TC_BODY(getnsec3parameters_bad, tc) {
UNUSED(tc); UNUSED(tc);
getnsec3parameters(callback); getnsec3parameters(local_callback);
} }
static void static void
@ -706,7 +706,7 @@ ATF_TC_BODY(resigned_bad, tc) {
UNUSED(tc); UNUSED(tc);
resigned(callback); resigned(local_callback);
} }
/* /*

View File

@ -75,10 +75,10 @@ tohexstr(unsigned char *d, unsigned int len, char *out) {
out[0]='\0'; out[0]='\0';
char c_ret[] = "AA"; char c_ret[] = "AA";
unsigned int i; unsigned int j;
strcat(out, "0x"); strcat(out, "0x");
for (i = 0; i < len; i++) { for (j = 0; j < len; j++) {
sprintf(c_ret, "%02X", d[i]); sprintf(c_ret, "%02X", d[j]);
strcat(out, c_ret); strcat(out, c_ret);
} }
strcat(out, "\0"); strcat(out, "\0");

View File

@ -506,7 +506,7 @@ ATF_TC_BODY(nta, tc) {
isc_result_t result; isc_result_t result;
dst_key_t *key = NULL; dst_key_t *key = NULL;
isc_boolean_t issecure, covered; isc_boolean_t issecure, covered;
dns_view_t *view = NULL; dns_view_t *myview = NULL;
isc_stdtime_t now; isc_stdtime_t now;
UNUSED(tc); UNUSED(tc);
@ -514,20 +514,20 @@ ATF_TC_BODY(nta, tc) {
result = dns_test_begin(NULL, ISC_TRUE); result = dns_test_begin(NULL, ISC_TRUE);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
result = dns_test_makeview("view", &view); result = dns_test_makeview("view", &myview);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
result = isc_task_create(taskmgr, 0, &view->task); result = isc_task_create(taskmgr, 0, &myview->task);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
result = dns_view_initsecroots(view, mctx); result = dns_view_initsecroots(myview, mctx);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
result = dns_view_getsecroots(view, &keytable); result = dns_view_getsecroots(myview, &keytable);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
result = dns_view_initntatable(view, taskmgr, timermgr); result = dns_view_initntatable(myview, taskmgr, timermgr);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
result = dns_view_getntatable(view, &ntatable); result = dns_view_getntatable(myview, &ntatable);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
create_key(257, 3, 5, "example", keystr1, &key); create_key(257, 3, 5, "example", keystr1, &key);
@ -541,31 +541,31 @@ ATF_TC_BODY(nta, tc) {
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
/* Should be secure */ /* Should be secure */
result = dns_view_issecuredomain(view, result = dns_view_issecuredomain(myview,
str2name("test.secure.example"), str2name("test.secure.example"),
now, ISC_TRUE, &issecure); now, ISC_TRUE, &issecure);
ATF_CHECK_EQ(result, ISC_R_SUCCESS); ATF_CHECK_EQ(result, ISC_R_SUCCESS);
ATF_CHECK(issecure); ATF_CHECK(issecure);
/* Should not be secure */ /* Should not be secure */
result = dns_view_issecuredomain(view, result = dns_view_issecuredomain(myview,
str2name("test.insecure.example"), str2name("test.insecure.example"),
now, ISC_TRUE, &issecure); now, ISC_TRUE, &issecure);
ATF_CHECK_EQ(result, ISC_R_SUCCESS); ATF_CHECK_EQ(result, ISC_R_SUCCESS);
ATF_CHECK(!issecure); ATF_CHECK(!issecure);
/* NTA covered */ /* NTA covered */
covered = dns_view_ntacovers(view, now, str2name("insecure.example"), covered = dns_view_ntacovers(myview, now, str2name("insecure.example"),
dns_rootname); dns_rootname);
ATF_CHECK(covered); ATF_CHECK(covered);
/* Not NTA covered */ /* Not NTA covered */
covered = dns_view_ntacovers(view, now, str2name("secure.example"), covered = dns_view_ntacovers(myview, now, str2name("secure.example"),
dns_rootname); dns_rootname);
ATF_CHECK(!covered); ATF_CHECK(!covered);
/* As of now + 2, the NTA should be clear */ /* As of now + 2, the NTA should be clear */
result = dns_view_issecuredomain(view, result = dns_view_issecuredomain(myview,
str2name("test.insecure.example"), str2name("test.insecure.example"),
now + 2, ISC_TRUE, &issecure); now + 2, ISC_TRUE, &issecure);
ATF_CHECK_EQ(result, ISC_R_SUCCESS); ATF_CHECK_EQ(result, ISC_R_SUCCESS);
@ -576,7 +576,7 @@ ATF_TC_BODY(nta, tc) {
ISC_FALSE, now, 3600); ISC_FALSE, now, 3600);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
result = dns_view_issecuredomain(view, str2name("test.new.example"), result = dns_view_issecuredomain(myview, str2name("test.new.example"),
now, ISC_TRUE, &issecure); now, ISC_TRUE, &issecure);
ATF_CHECK_EQ(result, ISC_R_SUCCESS); ATF_CHECK_EQ(result, ISC_R_SUCCESS);
ATF_CHECK(!issecure); ATF_CHECK(!issecure);
@ -584,7 +584,7 @@ ATF_TC_BODY(nta, tc) {
result = dns_ntatable_delete(ntatable, str2name("new.example")); result = dns_ntatable_delete(ntatable, str2name("new.example"));
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
result = dns_view_issecuredomain(view, str2name("test.new.example"), result = dns_view_issecuredomain(myview, str2name("test.new.example"),
now, ISC_TRUE, &issecure); now, ISC_TRUE, &issecure);
ATF_CHECK_EQ(result, ISC_R_SUCCESS); ATF_CHECK_EQ(result, ISC_R_SUCCESS);
ATF_CHECK(issecure); ATF_CHECK(issecure);
@ -592,7 +592,7 @@ ATF_TC_BODY(nta, tc) {
/* Clean up */ /* Clean up */
dns_ntatable_detach(&ntatable); dns_ntatable_detach(&ntatable);
dns_keytable_detach(&keytable); dns_keytable_detach(&keytable);
dns_view_detach(&view); dns_view_detach(&myview);
dns_test_end(); dns_test_end();
} }

View File

@ -557,29 +557,29 @@ ATF_TC_BODY(dumpraw, tc) {
isc_result_t result; isc_result_t result;
dns_db_t *db = NULL; dns_db_t *db = NULL;
dns_dbversion_t *version = NULL; dns_dbversion_t *version = NULL;
char origin[sizeof(TEST_ORIGIN)]; char myorigin[sizeof(TEST_ORIGIN)];
dns_name_t dns_origin; dns_name_t dnsorigin;
isc_buffer_t source, target; isc_buffer_t source, target;
unsigned char name_buf[BUFLEN]; unsigned char namebuf[BUFLEN];
int len; int len;
UNUSED(tc); UNUSED(tc);
strcpy(origin, TEST_ORIGIN); strcpy(myorigin, TEST_ORIGIN);
len = strlen(origin); len = strlen(myorigin);
isc_buffer_init(&source, origin, len); isc_buffer_init(&source, myorigin, len);
isc_buffer_add(&source, len); isc_buffer_add(&source, len);
isc_buffer_setactive(&source, len); isc_buffer_setactive(&source, len);
isc_buffer_init(&target, name_buf, BUFLEN); isc_buffer_init(&target, namebuf, BUFLEN);
dns_name_init(&dns_origin, NULL); dns_name_init(&dnsorigin, NULL);
result = dns_name_fromtext(&dns_origin, &source, dns_rootname, result = dns_name_fromtext(&dnsorigin, &source, dns_rootname,
0, &target); 0, &target);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
result = dns_test_begin(NULL, ISC_FALSE); result = dns_test_begin(NULL, ISC_FALSE);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
result = dns_db_create(mctx, "rbt", &dns_origin, dns_dbtype_zone, result = dns_db_create(mctx, "rbt", &dnsorigin, dns_dbtype_zone,
dns_rdataclass_in, 0, NULL, &db); dns_rdataclass_in, 0, NULL, &db);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
@ -624,11 +624,11 @@ static const char *warn_expect_value;
static isc_boolean_t warn_expect_result; static isc_boolean_t warn_expect_result;
static void static void
warn_expect(struct dns_rdatacallbacks *callbacks, const char *fmt, ...) { warn_expect(struct dns_rdatacallbacks *mycallbacks, const char *fmt, ...) {
char buf[4096]; char buf[4096];
va_list ap; va_list ap;
UNUSED(callbacks); UNUSED(mycallbacks);
va_start(ap, fmt); va_start(ap, fmt);
vsnprintf(buf, sizeof(buf), fmt, ap); vsnprintf(buf, sizeof(buf), fmt, ap);

View File

@ -193,7 +193,7 @@ fix_data(dns_rbtnode_t *p, void *base, size_t max, void *arg,
* Load test data into the RBT. * Load test data into the RBT.
*/ */
static void static void
add_test_data(isc_mem_t *mctx, dns_rbt_t *rbt) { add_test_data(isc_mem_t *mymctx, dns_rbt_t *rbt) {
char buffer[1024]; char buffer[1024];
isc_buffer_t b; isc_buffer_t b;
isc_result_t result; isc_result_t result;
@ -202,7 +202,7 @@ add_test_data(isc_mem_t *mctx, dns_rbt_t *rbt) {
dns_compress_t cctx; dns_compress_t cctx;
rbt_testdata_t *testdatap = testdata; rbt_testdata_t *testdatap = testdata;
dns_compress_init(&cctx, -1, mctx); dns_compress_init(&cctx, -1, mymctx);
while (testdatap->name != NULL && testdatap->data.data != NULL) { while (testdatap->name != NULL && testdatap->data.data != NULL) {
memmove(buffer, testdatap->name, testdatap->name_len); memmove(buffer, testdatap->name, testdatap->name_len);

View File

@ -42,7 +42,7 @@ ATF_TC_HEAD(zonemgr_create, tc) {
atf_tc_set_md_var(tc, "descr", "create zone manager"); atf_tc_set_md_var(tc, "descr", "create zone manager");
} }
ATF_TC_BODY(zonemgr_create, tc) { ATF_TC_BODY(zonemgr_create, tc) {
dns_zonemgr_t *zonemgr = NULL; dns_zonemgr_t *myzonemgr = NULL;
isc_result_t result; isc_result_t result;
UNUSED(tc); UNUSED(tc);
@ -51,12 +51,12 @@ ATF_TC_BODY(zonemgr_create, tc) {
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
result = dns_zonemgr_create(mctx, taskmgr, timermgr, socketmgr, result = dns_zonemgr_create(mctx, taskmgr, timermgr, socketmgr,
&zonemgr); &myzonemgr);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
dns_zonemgr_shutdown(zonemgr); dns_zonemgr_shutdown(myzonemgr);
dns_zonemgr_detach(&zonemgr); dns_zonemgr_detach(&myzonemgr);
ATF_REQUIRE_EQ(zonemgr, NULL); ATF_REQUIRE_EQ(myzonemgr, NULL);
dns_test_end(); dns_test_end();
} }
@ -67,7 +67,7 @@ ATF_TC_HEAD(zonemgr_managezone, tc) {
atf_tc_set_md_var(tc, "descr", "manage and release a zone"); atf_tc_set_md_var(tc, "descr", "manage and release a zone");
} }
ATF_TC_BODY(zonemgr_managezone, tc) { ATF_TC_BODY(zonemgr_managezone, tc) {
dns_zonemgr_t *zonemgr = NULL; dns_zonemgr_t *myzonemgr = NULL;
dns_zone_t *zone = NULL; dns_zone_t *zone = NULL;
isc_result_t result; isc_result_t result;
@ -77,35 +77,35 @@ ATF_TC_BODY(zonemgr_managezone, tc) {
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
result = dns_zonemgr_create(mctx, taskmgr, timermgr, socketmgr, result = dns_zonemgr_create(mctx, taskmgr, timermgr, socketmgr,
&zonemgr); &myzonemgr);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
result = dns_test_makezone("foo", &zone, NULL, ISC_FALSE); result = dns_test_makezone("foo", &zone, NULL, ISC_FALSE);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
/* This should not succeed until the dns_zonemgr_setsize() is run */ /* This should not succeed until the dns_zonemgr_setsize() is run */
result = dns_zonemgr_managezone(zonemgr, zone); result = dns_zonemgr_managezone(myzonemgr, zone);
ATF_REQUIRE_EQ(result, ISC_R_FAILURE); ATF_REQUIRE_EQ(result, ISC_R_FAILURE);
ATF_REQUIRE_EQ(dns_zonemgr_getcount(zonemgr, DNS_ZONESTATE_ANY), 0); ATF_REQUIRE_EQ(dns_zonemgr_getcount(myzonemgr, DNS_ZONESTATE_ANY), 0);
result = dns_zonemgr_setsize(zonemgr, 1); result = dns_zonemgr_setsize(myzonemgr, 1);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
/* Now it should succeed */ /* Now it should succeed */
result = dns_zonemgr_managezone(zonemgr, zone); result = dns_zonemgr_managezone(myzonemgr, zone);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
ATF_REQUIRE_EQ(dns_zonemgr_getcount(zonemgr, DNS_ZONESTATE_ANY), 1); ATF_REQUIRE_EQ(dns_zonemgr_getcount(myzonemgr, DNS_ZONESTATE_ANY), 1);
dns_zonemgr_releasezone(zonemgr, zone); dns_zonemgr_releasezone(myzonemgr, zone);
dns_zone_detach(&zone); dns_zone_detach(&zone);
ATF_REQUIRE_EQ(dns_zonemgr_getcount(zonemgr, DNS_ZONESTATE_ANY), 0); ATF_REQUIRE_EQ(dns_zonemgr_getcount(myzonemgr, DNS_ZONESTATE_ANY), 0);
dns_zonemgr_shutdown(zonemgr); dns_zonemgr_shutdown(myzonemgr);
dns_zonemgr_detach(&zonemgr); dns_zonemgr_detach(&myzonemgr);
ATF_REQUIRE_EQ(zonemgr, NULL); ATF_REQUIRE_EQ(myzonemgr, NULL);
dns_test_end(); dns_test_end();
} }
@ -115,7 +115,7 @@ ATF_TC_HEAD(zonemgr_createzone, tc) {
atf_tc_set_md_var(tc, "descr", "create and release a zone"); atf_tc_set_md_var(tc, "descr", "create and release a zone");
} }
ATF_TC_BODY(zonemgr_createzone, tc) { ATF_TC_BODY(zonemgr_createzone, tc) {
dns_zonemgr_t *zonemgr = NULL; dns_zonemgr_t *myzonemgr = NULL;
dns_zone_t *zone = NULL; dns_zone_t *zone = NULL;
isc_result_t result; isc_result_t result;
@ -125,27 +125,27 @@ ATF_TC_BODY(zonemgr_createzone, tc) {
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
result = dns_zonemgr_create(mctx, taskmgr, timermgr, socketmgr, result = dns_zonemgr_create(mctx, taskmgr, timermgr, socketmgr,
&zonemgr); &myzonemgr);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
/* This should not succeed until the dns_zonemgr_setsize() is run */ /* This should not succeed until the dns_zonemgr_setsize() is run */
result = dns_zonemgr_createzone(zonemgr, &zone); result = dns_zonemgr_createzone(myzonemgr, &zone);
ATF_REQUIRE_EQ(result, ISC_R_FAILURE); ATF_REQUIRE_EQ(result, ISC_R_FAILURE);
result = dns_zonemgr_setsize(zonemgr, 1); result = dns_zonemgr_setsize(myzonemgr, 1);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
/* Now it should succeed */ /* Now it should succeed */
result = dns_zonemgr_createzone(zonemgr, &zone); result = dns_zonemgr_createzone(myzonemgr, &zone);
ATF_CHECK_EQ(result, ISC_R_SUCCESS); ATF_CHECK_EQ(result, ISC_R_SUCCESS);
ATF_CHECK(zone != NULL); ATF_CHECK(zone != NULL);
if (zone != NULL) if (zone != NULL)
dns_zone_detach(&zone); dns_zone_detach(&zone);
dns_zonemgr_shutdown(zonemgr); dns_zonemgr_shutdown(myzonemgr);
dns_zonemgr_detach(&zonemgr); dns_zonemgr_detach(&myzonemgr);
ATF_REQUIRE_EQ(zonemgr, NULL); ATF_REQUIRE_EQ(myzonemgr, NULL);
dns_test_end(); dns_test_end();
} }
@ -155,7 +155,7 @@ ATF_TC_HEAD(zonemgr_unreachable, tc) {
atf_tc_set_md_var(tc, "descr", "manage and release a zone"); atf_tc_set_md_var(tc, "descr", "manage and release a zone");
} }
ATF_TC_BODY(zonemgr_unreachable, tc) { ATF_TC_BODY(zonemgr_unreachable, tc) {
dns_zonemgr_t *zonemgr = NULL; dns_zonemgr_t *myzonemgr = NULL;
dns_zone_t *zone = NULL; dns_zone_t *zone = NULL;
isc_sockaddr_t addr1, addr2; isc_sockaddr_t addr1, addr2;
struct in_addr in; struct in_addr in;
@ -171,57 +171,57 @@ ATF_TC_BODY(zonemgr_unreachable, tc) {
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
result = dns_zonemgr_create(mctx, taskmgr, timermgr, socketmgr, result = dns_zonemgr_create(mctx, taskmgr, timermgr, socketmgr,
&zonemgr); &myzonemgr);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
result = dns_test_makezone("foo", &zone, NULL, ISC_FALSE); result = dns_test_makezone("foo", &zone, NULL, ISC_FALSE);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
result = dns_zonemgr_setsize(zonemgr, 1); result = dns_zonemgr_setsize(myzonemgr, 1);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
result = dns_zonemgr_managezone(zonemgr, zone); result = dns_zonemgr_managezone(myzonemgr, zone);
ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
in.s_addr = inet_addr("10.53.0.1"); in.s_addr = inet_addr("10.53.0.1");
isc_sockaddr_fromin(&addr1, &in, 2112); isc_sockaddr_fromin(&addr1, &in, 2112);
in.s_addr = inet_addr("10.53.0.2"); in.s_addr = inet_addr("10.53.0.2");
isc_sockaddr_fromin(&addr2, &in, 5150); isc_sockaddr_fromin(&addr2, &in, 5150);
ATF_CHECK(! dns_zonemgr_unreachable(zonemgr, &addr1, &addr2, &now)); ATF_CHECK(! dns_zonemgr_unreachable(myzonemgr, &addr1, &addr2, &now));
/* /*
* We require multiple unreachableadd calls to mark a server as * We require multiple unreachableadd calls to mark a server as
* unreachable. * unreachable.
*/ */
dns_zonemgr_unreachableadd(zonemgr, &addr1, &addr2, &now); dns_zonemgr_unreachableadd(myzonemgr, &addr1, &addr2, &now);
ATF_CHECK(! dns_zonemgr_unreachable(zonemgr, &addr1, &addr2, &now)); ATF_CHECK(! dns_zonemgr_unreachable(myzonemgr, &addr1, &addr2, &now));
dns_zonemgr_unreachableadd(zonemgr, &addr1, &addr2, &now); dns_zonemgr_unreachableadd(myzonemgr, &addr1, &addr2, &now);
ATF_CHECK(dns_zonemgr_unreachable(zonemgr, &addr1, &addr2, &now)); ATF_CHECK(dns_zonemgr_unreachable(myzonemgr, &addr1, &addr2, &now));
in.s_addr = inet_addr("10.53.0.3"); in.s_addr = inet_addr("10.53.0.3");
isc_sockaddr_fromin(&addr2, &in, 5150); isc_sockaddr_fromin(&addr2, &in, 5150);
ATF_CHECK(! dns_zonemgr_unreachable(zonemgr, &addr1, &addr2, &now)); ATF_CHECK(! dns_zonemgr_unreachable(myzonemgr, &addr1, &addr2, &now));
/* /*
* We require multiple unreachableadd calls to mark a server as * We require multiple unreachableadd calls to mark a server as
* unreachable. * unreachable.
*/ */
dns_zonemgr_unreachableadd(zonemgr, &addr1, &addr2, &now); dns_zonemgr_unreachableadd(myzonemgr, &addr1, &addr2, &now);
dns_zonemgr_unreachableadd(zonemgr, &addr1, &addr2, &now); dns_zonemgr_unreachableadd(myzonemgr, &addr1, &addr2, &now);
ATF_CHECK(dns_zonemgr_unreachable(zonemgr, &addr1, &addr2, &now)); ATF_CHECK(dns_zonemgr_unreachable(myzonemgr, &addr1, &addr2, &now));
dns_zonemgr_unreachabledel(zonemgr, &addr1, &addr2); dns_zonemgr_unreachabledel(myzonemgr, &addr1, &addr2);
ATF_CHECK(! dns_zonemgr_unreachable(zonemgr, &addr1, &addr2, &now)); ATF_CHECK(! dns_zonemgr_unreachable(myzonemgr, &addr1, &addr2, &now));
in.s_addr = inet_addr("10.53.0.2"); in.s_addr = inet_addr("10.53.0.2");
isc_sockaddr_fromin(&addr2, &in, 5150); isc_sockaddr_fromin(&addr2, &in, 5150);
ATF_CHECK(dns_zonemgr_unreachable(zonemgr, &addr1, &addr2, &now)); ATF_CHECK(dns_zonemgr_unreachable(myzonemgr, &addr1, &addr2, &now));
dns_zonemgr_unreachabledel(zonemgr, &addr1, &addr2); dns_zonemgr_unreachabledel(myzonemgr, &addr1, &addr2);
ATF_CHECK(! dns_zonemgr_unreachable(zonemgr, &addr1, &addr2, &now)); ATF_CHECK(! dns_zonemgr_unreachable(myzonemgr, &addr1, &addr2, &now));
dns_zonemgr_releasezone(zonemgr, zone); dns_zonemgr_releasezone(myzonemgr, zone);
dns_zone_detach(&zone); dns_zone_detach(&zone);
dns_zonemgr_shutdown(zonemgr); dns_zonemgr_shutdown(myzonemgr);
dns_zonemgr_detach(&zonemgr); dns_zonemgr_detach(&myzonemgr);
ATF_REQUIRE_EQ(zonemgr, NULL); ATF_REQUIRE_EQ(myzonemgr, NULL);
dns_test_end(); dns_test_end();
} }

View File

@ -865,7 +865,7 @@ buildquery(dns_message_t *msg, dns_name_t *name,
dns_rdataset_t *question = NULL, *tkeyset = NULL; dns_rdataset_t *question = NULL, *tkeyset = NULL;
dns_rdatalist_t *tkeylist = NULL; dns_rdatalist_t *tkeylist = NULL;
dns_rdata_t *rdata = NULL; dns_rdata_t *rdata = NULL;
isc_buffer_t *dynbuf = NULL; isc_buffer_t *dynbuf = NULL, *anamebuf = NULL, *qnamebuf = NULL;
isc_result_t result; isc_result_t result;
REQUIRE(msg != NULL); REQUIRE(msg != NULL);
@ -881,6 +881,8 @@ buildquery(dns_message_t *msg, dns_name_t *name,
dns_rdatatype_tkey); dns_rdatatype_tkey);
RETERR(isc_buffer_allocate(msg->mctx, &dynbuf, 4096)); RETERR(isc_buffer_allocate(msg->mctx, &dynbuf, 4096));
RETERR(isc_buffer_allocate(msg->mctx, &anamebuf, DNS_NAME_MAXWIRE));
RETERR(isc_buffer_allocate(msg->mctx, &qnamebuf, DNS_NAME_MAXWIRE));
RETERR(dns_message_gettemprdata(msg, &rdata)); RETERR(dns_message_gettemprdata(msg, &rdata));
RETERR(dns_rdata_fromstruct(rdata, dns_rdataclass_any, RETERR(dns_rdata_fromstruct(rdata, dns_rdataclass_any,
@ -900,15 +902,16 @@ buildquery(dns_message_t *msg, dns_name_t *name,
RETERR(dns_rdatalist_tordataset(tkeylist, tkeyset)); RETERR(dns_rdatalist_tordataset(tkeylist, tkeyset));
dns_name_init(qname, NULL); dns_name_init(qname, NULL);
dns_name_clone(name, qname); dns_name_copy(name, qname, qnamebuf);
dns_name_init(aname, NULL); dns_name_init(aname, NULL);
dns_name_clone(name, aname); dns_name_copy(name, aname, anamebuf);
ISC_LIST_APPEND(qname->list, question, link); ISC_LIST_APPEND(qname->list, question, link);
ISC_LIST_APPEND(aname->list, tkeyset, link); ISC_LIST_APPEND(aname->list, tkeyset, link);
dns_message_addname(msg, qname, DNS_SECTION_QUESTION); dns_message_addname(msg, qname, DNS_SECTION_QUESTION);
dns_message_takebuffer(msg, &qnamebuf);
/* /*
* Windows 2000 needs this in the answer section, not the additional * Windows 2000 needs this in the answer section, not the additional
@ -918,6 +921,7 @@ buildquery(dns_message_t *msg, dns_name_t *name,
dns_message_addname(msg, aname, DNS_SECTION_ANSWER); dns_message_addname(msg, aname, DNS_SECTION_ANSWER);
else else
dns_message_addname(msg, aname, DNS_SECTION_ADDITIONAL); dns_message_addname(msg, aname, DNS_SECTION_ADDITIONAL);
dns_message_takebuffer(msg, &anamebuf);
return (ISC_R_SUCCESS); return (ISC_R_SUCCESS);
@ -932,6 +936,10 @@ buildquery(dns_message_t *msg, dns_name_t *name,
} }
if (dynbuf != NULL) if (dynbuf != NULL)
isc_buffer_free(&dynbuf); isc_buffer_free(&dynbuf);
if (qnamebuf != NULL)
isc_buffer_free(&qnamebuf);
if (anamebuf != NULL)
isc_buffer_free(&anamebuf);
printf("buildquery error\n"); printf("buildquery error\n");
return (result); return (result);
} }

View File

@ -15,8 +15,6 @@
* PERFORMANCE OF THIS SOFTWARE. * PERFORMANCE OF THIS SOFTWARE.
*/ */
/* $Id$ */
/*! \file */ /*! \file */
#include <config.h> #include <config.h>
@ -1860,7 +1858,6 @@ zone_load(dns_zone_t *zone, unsigned int flags) {
*/ */
if (strcmp(zone->db_argv[0], "dlz") == 0) { if (strcmp(zone->db_argv[0], "dlz") == 0) {
dns_dlzdb_t *dlzdb; dns_dlzdb_t *dlzdb;
dns_db_t *db = NULL;
dns_dlzfindzone_t findzone; dns_dlzfindzone_t findzone;
for (dlzdb = ISC_LIST_HEAD(zone->view->dlz_unsearched); for (dlzdb = ISC_LIST_HEAD(zone->view->dlz_unsearched);
@ -5878,7 +5875,7 @@ del_sigs(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name,
unsigned int i; unsigned int i;
dns_rdata_rrsig_t rrsig; dns_rdata_rrsig_t rrsig;
isc_boolean_t found; isc_boolean_t found;
isc_int64_t warn = 0, maybe = 0; isc_int64_t timewarn = 0, timemaybe = 0;
dns_rdataset_init(&rdataset); dns_rdataset_init(&rdataset);
@ -5984,18 +5981,20 @@ del_sigs(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name,
{ {
isc_int64_t timeexpire = isc_int64_t timeexpire =
dns_time64_from32(rrsig.timeexpire); dns_time64_from32(rrsig.timeexpire);
if (warn != 0 && warn > timeexpire) if (timewarn != 0 &&
warn = timeexpire; timewarn > timeexpire)
timewarn = timeexpire;
if (rdata.flags & DNS_RDATA_OFFLINE) { if (rdata.flags & DNS_RDATA_OFFLINE) {
if (maybe == 0 || if (timemaybe == 0 ||
maybe > timeexpire) timemaybe > timeexpire)
maybe = timeexpire; timemaybe = timeexpire;
break; break;
} }
if (warn == 0) if (timewarn == 0)
warn = maybe; timewarn = timemaybe;
if (warn == 0 || warn > timeexpire) if (timewarn == 0 ||
warn = timeexpire; timewarn > timeexpire)
timewarn = timeexpire;
result = offline(db, ver, zonediff, result = offline(db, ver, zonediff,
name, rdataset.ttl, name, rdataset.ttl,
&rdata); &rdata);
@ -6024,12 +6023,13 @@ del_sigs(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name,
dns_rdataset_disassociate(&rdataset); dns_rdataset_disassociate(&rdataset);
if (result == ISC_R_NOMORE) if (result == ISC_R_NOMORE)
result = ISC_R_SUCCESS; result = ISC_R_SUCCESS;
if (warn > 0) { if (timewarn > 0) {
#if defined(STDTIME_ON_32BITS) #if defined(STDTIME_ON_32BITS)
isc_stdtime_t stdwarn = (isc_stdtime_t)warn; isc_stdtime_t stdwarn = (isc_stdtime_t)timewarn;
if (warn == stdwarn) if (timewarn == stdwarn)
#endif #endif
set_key_expiry_warning(zone, (isc_stdtime_t)warn, now); set_key_expiry_warning(zone, (isc_stdtime_t)timewarn,
now);
#if defined(STDTIME_ON_32BITS) #if defined(STDTIME_ON_32BITS)
else else
dns_zone_log(zone, ISC_LOG_ERROR, dns_zone_log(zone, ISC_LOG_ERROR,
@ -7818,12 +7818,12 @@ zone_nsec3chain(dns_zone_t *zone) {
LOCK_ZONE(zone); LOCK_ZONE(zone);
if (ISC_LIST_HEAD(zone->nsec3chain) != NULL) { if (ISC_LIST_HEAD(zone->nsec3chain) != NULL) {
isc_interval_t i; isc_interval_t interval;
if (zone->update_disabled || result != ISC_R_SUCCESS) if (zone->update_disabled || result != ISC_R_SUCCESS)
isc_interval_set(&i, 60, 0); /* 1 minute */ isc_interval_set(&interval, 60, 0); /* 1 minute */
else else
isc_interval_set(&i, 0, 10000000); /* 10 ms */ isc_interval_set(&interval, 0, 10000000); /* 10 ms */
isc_time_nowplusinterval(&zone->nsec3chaintime, &i); isc_time_nowplusinterval(&zone->nsec3chaintime, &interval);
} else } else
isc_time_settoepoch(&zone->nsec3chaintime); isc_time_settoepoch(&zone->nsec3chaintime);
UNLOCK_ZONE(zone); UNLOCK_ZONE(zone);
@ -8368,12 +8368,12 @@ zone_sign(dns_zone_t *zone) {
dns_db_detach(&db); dns_db_detach(&db);
if (ISC_LIST_HEAD(zone->signing) != NULL) { if (ISC_LIST_HEAD(zone->signing) != NULL) {
isc_interval_t i; isc_interval_t interval;
if (zone->update_disabled || result != ISC_R_SUCCESS) if (zone->update_disabled || result != ISC_R_SUCCESS)
isc_interval_set(&i, 60, 0); /* 1 minute */ isc_interval_set(&interval, 60, 0); /* 1 minute */
else else
isc_interval_set(&i, 0, 10000000); /* 10 ms */ isc_interval_set(&interval, 0, 10000000); /* 10 ms */
isc_time_nowplusinterval(&zone->signingtime, &i); isc_time_nowplusinterval(&zone->signingtime, &interval);
} else } else
isc_time_settoepoch(&zone->signingtime); isc_time_settoepoch(&zone->signingtime);
@ -11379,12 +11379,12 @@ refresh_callback(isc_task_t *task, isc_event_t *event) {
serial = soa.serial; serial = soa.serial;
if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADED)) { if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADED)) {
unsigned int soacount; unsigned int dbsoacount;
result = zone_get_from_db(zone, zone->db, NULL, &soacount, result = zone_get_from_db(zone, zone->db, NULL, &dbsoacount,
&oldserial, NULL, NULL, NULL, NULL, &oldserial, NULL, NULL, NULL, NULL,
NULL); NULL);
RUNTIME_CHECK(result == ISC_R_SUCCESS); RUNTIME_CHECK(result == ISC_R_SUCCESS);
RUNTIME_CHECK(soacount > 0U); RUNTIME_CHECK(dbsoacount > 0U);
zone_debuglog(zone, me, 1, "serial: new %u, old %u", zone_debuglog(zone, me, 1, "serial: new %u, old %u",
serial, oldserial); serial, oldserial);
} else } else

View File

@ -118,7 +118,7 @@ typedef ISC_LIST(debuglink_t) debuglist_t;
static ISC_LIST(isc__mem_t) contexts; static ISC_LIST(isc__mem_t) contexts;
static isc_once_t once = ISC_ONCE_INIT; static isc_once_t once = ISC_ONCE_INIT;
static isc_mutex_t lock; static isc_mutex_t contextslock;
static isc_mutex_t createlock; static isc_mutex_t createlock;
/*% /*%
@ -874,7 +874,7 @@ default_memfree(void *arg, void *ptr) {
static void static void
initialize_action(void) { initialize_action(void) {
RUNTIME_CHECK(isc_mutex_init(&createlock) == ISC_R_SUCCESS); RUNTIME_CHECK(isc_mutex_init(&createlock) == ISC_R_SUCCESS);
RUNTIME_CHECK(isc_mutex_init(&lock) == ISC_R_SUCCESS); RUNTIME_CHECK(isc_mutex_init(&contextslock) == ISC_R_SUCCESS);
ISC_LIST_INIT(contexts); ISC_LIST_INIT(contexts);
totallost = 0; totallost = 0;
} }
@ -1002,9 +1002,9 @@ isc_mem_createx2(size_t init_max_size, size_t target_size,
ctx->memalloc_failures = 0; ctx->memalloc_failures = 0;
LOCK(&lock); LOCK(&contextslock);
ISC_LIST_INITANDAPPEND(contexts, ctx, link); ISC_LIST_INITANDAPPEND(contexts, ctx, link);
UNLOCK(&lock); UNLOCK(&contextslock);
*ctxp = (isc_mem_t *)ctx; *ctxp = (isc_mem_t *)ctx;
return (ISC_R_SUCCESS); return (ISC_R_SUCCESS);
@ -1032,10 +1032,10 @@ destroy(isc__mem_t *ctx) {
unsigned int i; unsigned int i;
isc_ondestroy_t ondest; isc_ondestroy_t ondest;
LOCK(&lock); LOCK(&contextslock);
ISC_LIST_UNLINK(contexts, ctx, link); ISC_LIST_UNLINK(contexts, ctx, link);
totallost += ctx->inuse; totallost += ctx->inuse;
UNLOCK(&lock); UNLOCK(&contextslock);
ctx->common.impmagic = 0; ctx->common.impmagic = 0;
ctx->common.magic = 0; ctx->common.magic = 0;
@ -2293,14 +2293,14 @@ isc_mem_printallactive(FILE *file) {
RUNTIME_CHECK(isc_once_do(&once, initialize_action) == ISC_R_SUCCESS); RUNTIME_CHECK(isc_once_do(&once, initialize_action) == ISC_R_SUCCESS);
LOCK(&lock); LOCK(&contextslock);
for (ctx = ISC_LIST_HEAD(contexts); for (ctx = ISC_LIST_HEAD(contexts);
ctx != NULL; ctx != NULL;
ctx = ISC_LIST_NEXT(ctx, link)) { ctx = ISC_LIST_NEXT(ctx, link)) {
fprintf(file, "context: %p\n", ctx); fprintf(file, "context: %p\n", ctx);
print_active(ctx, file); print_active(ctx, file);
} }
UNLOCK(&lock); UNLOCK(&contextslock);
#endif #endif
} }
@ -2312,7 +2312,7 @@ isc_mem_checkdestroyed(FILE *file) {
RUNTIME_CHECK(isc_once_do(&once, initialize_action) == ISC_R_SUCCESS); RUNTIME_CHECK(isc_once_do(&once, initialize_action) == ISC_R_SUCCESS);
LOCK(&lock); LOCK(&contextslock);
if (!ISC_LIST_EMPTY(contexts)) { if (!ISC_LIST_EMPTY(contexts)) {
#if ISC_MEM_TRACKLINES #if ISC_MEM_TRACKLINES
isc__mem_t *ctx; isc__mem_t *ctx;
@ -2327,7 +2327,7 @@ isc_mem_checkdestroyed(FILE *file) {
#endif #endif
INSIST(0); INSIST(0);
} }
UNLOCK(&lock); UNLOCK(&contextslock);
} }
unsigned int unsigned int
@ -2464,18 +2464,18 @@ isc_mem_renderxml(xmlTextWriterPtr writer) {
RUNTIME_CHECK(isc_once_do(&once, initialize_action) == ISC_R_SUCCESS); RUNTIME_CHECK(isc_once_do(&once, initialize_action) == ISC_R_SUCCESS);
LOCK(&lock); LOCK(&contextslock);
lost = totallost; lost = totallost;
for (ctx = ISC_LIST_HEAD(contexts); for (ctx = ISC_LIST_HEAD(contexts);
ctx != NULL; ctx != NULL;
ctx = ISC_LIST_NEXT(ctx, link)) { ctx = ISC_LIST_NEXT(ctx, link)) {
xmlrc = xml_renderctx(ctx, &summary, writer); xmlrc = xml_renderctx(ctx, &summary, writer);
if (xmlrc < 0) { if (xmlrc < 0) {
UNLOCK(&lock); UNLOCK(&contextslock);
goto error; goto error;
} }
} }
UNLOCK(&lock); UNLOCK(&contextslock);
TRY0(xmlTextWriterEndElement(writer)); /* contexts */ TRY0(xmlTextWriterEndElement(writer)); /* contexts */
@ -2631,18 +2631,18 @@ isc_mem_renderjson(json_object *memobj) {
ctxarray = json_object_new_array(); ctxarray = json_object_new_array();
CHECKMEM(ctxarray); CHECKMEM(ctxarray);
LOCK(&lock); LOCK(&contextslock);
lost = totallost; lost = totallost;
for (ctx = ISC_LIST_HEAD(contexts); for (ctx = ISC_LIST_HEAD(contexts);
ctx != NULL; ctx != NULL;
ctx = ISC_LIST_NEXT(ctx, link)) { ctx = ISC_LIST_NEXT(ctx, link)) {
result = json_renderctx(ctx, &summary, ctxarray); result = json_renderctx(ctx, &summary, ctxarray);
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS) {
UNLOCK(&lock); UNLOCK(&contextslock);
goto error; goto error;
} }
} }
UNLOCK(&lock); UNLOCK(&contextslock);
obj = json_object_new_int64(summary.total); obj = json_object_new_int64(summary.total);
CHECKMEM(obj); CHECKMEM(obj);

View File

@ -153,7 +153,6 @@ isc_ratelimiter_enqueue(isc_ratelimiter_t *rl, isc_task_t *task,
LOCK(&rl->lock); LOCK(&rl->lock);
if (rl->state == isc_ratelimiter_ratelimited || if (rl->state == isc_ratelimiter_ratelimited ||
rl->state == isc_ratelimiter_stalled) { rl->state == isc_ratelimiter_stalled) {
isc_event_t *ev = *eventp;
ev->ev_sender = task; ev->ev_sender = task;
ISC_LIST_APPEND(rl->pending, ev, ev_link); ISC_LIST_APPEND(rl->pending, ev, ev_link);
*eventp = NULL; *eventp = NULL;

View File

@ -40,7 +40,7 @@ typedef struct resulttable {
ISC_LINK(struct resulttable) link; ISC_LINK(struct resulttable) link;
} resulttable; } resulttable;
static const char *text[ISC_R_NRESULTS] = { static const char *description[ISC_R_NRESULTS] = {
"success", /*%< 0 */ "success", /*%< 0 */
"out of memory", /*%< 1 */ "out of memory", /*%< 1 */
"timed out", /*%< 2 */ "timed out", /*%< 2 */
@ -153,8 +153,8 @@ initialize_action(void) {
RUNTIME_CHECK(isc_mutex_init(&lock) == ISC_R_SUCCESS); RUNTIME_CHECK(isc_mutex_init(&lock) == ISC_R_SUCCESS);
ISC_LIST_INIT(tables); ISC_LIST_INIT(tables);
result = register_table(ISC_RESULTCLASS_ISC, ISC_R_NRESULTS, text, result = register_table(ISC_RESULTCLASS_ISC, ISC_R_NRESULTS,
isc_msgcat, ISC_RESULT_RESULTSET); description, isc_msgcat, ISC_RESULT_RESULTSET);
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
UNEXPECTED_ERROR(__FILE__, __LINE__, UNEXPECTED_ERROR(__FILE__, __LINE__,
"register_table() %s: %u", "register_table() %s: %u",

View File

@ -42,7 +42,6 @@ unsigned char buffer[1024];
const char *s; const char *s;
char str[2 * ISC_SHA512_DIGESTLENGTH + 1]; char str[2 * ISC_SHA512_DIGESTLENGTH + 1];
unsigned char key[20]; unsigned char key[20];
int i = 0;
isc_result_t isc_result_t
tohexstr(unsigned char *d, unsigned int len, char *out); tohexstr(unsigned char *d, unsigned int len, char *out);
@ -95,6 +94,7 @@ ATF_TC_HEAD(isc_sha1, tc) {
} }
ATF_TC_BODY(isc_sha1, tc) { ATF_TC_BODY(isc_sha1, tc) {
isc_sha1_t sha1; isc_sha1_t sha1;
int i;
UNUSED(tc); UNUSED(tc);
@ -217,13 +217,13 @@ ATF_TC_BODY(isc_sha1, tc) {
} }
} }
ATF_TC(isc_sha224); ATF_TC(isc_sha224);
ATF_TC_HEAD(isc_sha224, tc) { ATF_TC_HEAD(isc_sha224, tc) {
atf_tc_set_md_var(tc, "descr", "sha224 examples from RFC4634"); atf_tc_set_md_var(tc, "descr", "sha224 examples from RFC4634");
} }
ATF_TC_BODY(isc_sha224, tc) { ATF_TC_BODY(isc_sha224, tc) {
isc_sha224_t sha224; isc_sha224_t sha224;
int i;
UNUSED(tc); UNUSED(tc);
@ -348,7 +348,6 @@ ATF_TC_BODY(isc_sha224, tc) {
testcase++; testcase++;
} }
} }
ATF_TC(isc_sha256); ATF_TC(isc_sha256);
@ -357,6 +356,7 @@ ATF_TC_HEAD(isc_sha256, tc) {
} }
ATF_TC_BODY(isc_sha256, tc) { ATF_TC_BODY(isc_sha256, tc) {
isc_sha256_t sha256; isc_sha256_t sha256;
int i;
UNUSED(tc); UNUSED(tc);
@ -480,7 +480,6 @@ ATF_TC_BODY(isc_sha256, tc) {
testcase++; testcase++;
} }
} }
ATF_TC(isc_sha384); ATF_TC(isc_sha384);
@ -489,6 +488,7 @@ ATF_TC_HEAD(isc_sha384, tc) {
} }
ATF_TC_BODY(isc_sha384, tc) { ATF_TC_BODY(isc_sha384, tc) {
isc_sha384_t sha384; isc_sha384_t sha384;
int i;
UNUSED(tc); UNUSED(tc);
@ -626,7 +626,6 @@ ATF_TC_BODY(isc_sha384, tc) {
testcase++; testcase++;
} }
} }
ATF_TC(isc_sha512); ATF_TC(isc_sha512);
@ -635,6 +634,7 @@ ATF_TC_HEAD(isc_sha512, tc) {
} }
ATF_TC_BODY(isc_sha512, tc) { ATF_TC_BODY(isc_sha512, tc) {
isc_sha512_t sha512; isc_sha512_t sha512;
int i;
UNUSED(tc); UNUSED(tc);
@ -773,7 +773,6 @@ ATF_TC_BODY(isc_sha512, tc) {
testcase++; testcase++;
} }
} }
ATF_TC(isc_md5); ATF_TC(isc_md5);
@ -782,6 +781,7 @@ ATF_TC_HEAD(isc_md5, tc) {
} }
ATF_TC_BODY(isc_md5, tc) { ATF_TC_BODY(isc_md5, tc) {
isc_md5_t md5; isc_md5_t md5;
int i;
UNUSED(tc); UNUSED(tc);
@ -1792,6 +1792,7 @@ ATF_TC_HEAD(isc_crc64, tc) {
} }
ATF_TC_BODY(isc_crc64, tc) { ATF_TC_BODY(isc_crc64, tc) {
isc_uint64_t crc; isc_uint64_t crc;
int i;
UNUSED(tc); UNUSED(tc);

View File

@ -1543,10 +1543,10 @@ cfg_print_mapbody(cfg_printer_t *pctx, const cfg_obj_t *obj) {
result = isc_symtab_lookup(obj->value.map.symtab, result = isc_symtab_lookup(obj->value.map.symtab,
clause->name, 0, &symval); clause->name, 0, &symval);
if (result == ISC_R_SUCCESS) { if (result == ISC_R_SUCCESS) {
cfg_obj_t *obj = symval.as_pointer; cfg_obj_t *symobj = symval.as_pointer;
if (obj->type == &cfg_type_implicitlist) { if (symobj->type == &cfg_type_implicitlist) {
/* Multivalued. */ /* Multivalued. */
cfg_list_t *list = &obj->value.list; cfg_list_t *list = &symobj->value.list;
cfg_listelt_t *elt; cfg_listelt_t *elt;
for (elt = ISC_LIST_HEAD(*list); for (elt = ISC_LIST_HEAD(*list);
elt != NULL; elt != NULL;
@ -1557,7 +1557,8 @@ cfg_print_mapbody(cfg_printer_t *pctx, const cfg_obj_t *obj) {
} }
} else { } else {
/* Single-valued. */ /* Single-valued. */
print_symval(pctx, clause->name, obj); print_symval(pctx, clause->name,
symobj);
} }
} else if (result == ISC_R_NOTFOUND) { } else if (result == ISC_R_NOTFOUND) {
; /* do nothing */ ; /* do nothing */

View File

@ -232,14 +232,14 @@ struct hostent *
lwres_gethostbyname_r(const char *name, struct hostent *resbuf, lwres_gethostbyname_r(const char *name, struct hostent *resbuf,
char *buf, int buflen, int *error) char *buf, int buflen, int *error)
{ {
struct hostent *he; struct hostent *myhe;
int res; int res;
he = lwres_getipnodebyname(name, AF_INET, 0, error); myhe = lwres_getipnodebyname(name, AF_INET, 0, error);
if (he == NULL) if (myhe == NULL)
return (NULL); return (NULL);
res = copytobuf(he, resbuf, buf, buflen); res = copytobuf(myhe, resbuf, buf, buflen);
lwres_freehostent(he); lwres_freehostent(myhe);
if (res != 0) { if (res != 0) {
errno = ERANGE; errno = ERANGE;
return (NULL); return (NULL);
@ -253,14 +253,14 @@ lwres_gethostbyaddr_r(const char *addr, int len, int type,
struct hostent *resbuf, char *buf, int buflen, struct hostent *resbuf, char *buf, int buflen,
int *error) int *error)
{ {
struct hostent *he; struct hostent *myhe;
int res; int res;
he = lwres_getipnodebyaddr(addr, len, type, error); myhe = lwres_getipnodebyaddr(addr, len, type, error);
if (he == NULL) if (myhe == NULL)
return (NULL); return (NULL);
res = copytobuf(he, resbuf, buf, buflen); res = copytobuf(myhe, resbuf, buf, buflen);
lwres_freehostent(he); lwres_freehostent(myhe);
if (res != 0) { if (res != 0) {
errno = ERANGE; errno = ERANGE;
return (NULL); return (NULL);
@ -296,7 +296,7 @@ lwres_endhostent_r(void) {
} }
static int static int
copytobuf(struct hostent *he, struct hostent *hptr, char *buf, int buflen) { copytobuf(struct hostent *src, struct hostent *hptr, char *buf, int buflen) {
char *cp; char *cp;
char **ptr; char **ptr;
int i, n; int i, n;
@ -307,13 +307,13 @@ copytobuf(struct hostent *he, struct hostent *hptr, char *buf, int buflen) {
*/ */
nptr = 2; /* NULL ptrs */ nptr = 2; /* NULL ptrs */
len = (int)((char *)LWRES_ALIGN(buf) - buf); len = (int)((char *)LWRES_ALIGN(buf) - buf);
for (i = 0; he->h_addr_list[i]; i++, nptr++) { for (i = 0; src->h_addr_list[i]; i++, nptr++) {
len += he->h_length; len += src->h_length;
} }
for (i = 0; he->h_aliases[i]; i++, nptr++) { for (i = 0; src->h_aliases[i]; i++, nptr++) {
len += strlen(he->h_aliases[i]) + 1; len += strlen(src->h_aliases[i]) + 1;
} }
len += strlen(he->h_name) + 1; len += strlen(src->h_name) + 1;
len += nptr * sizeof(char*); len += nptr * sizeof(char*);
if (len > buflen) { if (len > buflen) {
@ -323,8 +323,8 @@ copytobuf(struct hostent *he, struct hostent *hptr, char *buf, int buflen) {
/* /*
* Copy address size and type. * Copy address size and type.
*/ */
hptr->h_addrtype = he->h_addrtype; hptr->h_addrtype = src->h_addrtype;
n = hptr->h_length = he->h_length; n = hptr->h_length = src->h_length;
ptr = (char **)LWRES_ALIGN(buf); ptr = (char **)LWRES_ALIGN(buf);
cp = (char *)LWRES_ALIGN(buf) + nptr * sizeof(char *); cp = (char *)LWRES_ALIGN(buf) + nptr * sizeof(char *);
@ -333,8 +333,8 @@ copytobuf(struct hostent *he, struct hostent *hptr, char *buf, int buflen) {
* Copy address list. * Copy address list.
*/ */
hptr->h_addr_list = ptr; hptr->h_addr_list = ptr;
for (i = 0; he->h_addr_list[i]; i++, ptr++) { for (i = 0; src->h_addr_list[i]; i++, ptr++) {
memmove(cp, he->h_addr_list[i], n); memmove(cp, src->h_addr_list[i], n);
hptr->h_addr_list[i] = cp; hptr->h_addr_list[i] = cp;
cp += n; cp += n;
} }
@ -344,8 +344,8 @@ copytobuf(struct hostent *he, struct hostent *hptr, char *buf, int buflen) {
/* /*
* Copy official name. * Copy official name.
*/ */
n = strlen(he->h_name) + 1; n = strlen(src->h_name) + 1;
strcpy(cp, he->h_name); strcpy(cp, src->h_name);
hptr->h_name = cp; hptr->h_name = cp;
cp += n; cp += n;
@ -353,9 +353,9 @@ copytobuf(struct hostent *he, struct hostent *hptr, char *buf, int buflen) {
* Copy aliases. * Copy aliases.
*/ */
hptr->h_aliases = ptr; hptr->h_aliases = ptr;
for (i = 0; he->h_aliases[i]; i++) { for (i = 0; src->h_aliases[i]; i++) {
n = strlen(he->h_aliases[i]) + 1; n = strlen(src->h_aliases[i]) + 1;
strcpy(cp, he->h_aliases[i]); strcpy(cp, src->h_aliases[i]);
hptr->h_aliases[i] = cp; hptr->h_aliases[i] = cp;
cp += n; cp += n;
} }

View File

@ -61,7 +61,7 @@ static isc_appctx_t *actx = NULL;
static isc_mem_t *mctx = NULL; static isc_mem_t *mctx = NULL;
static unsigned int outstanding_probes = 0; static unsigned int outstanding_probes = 0;
const char *cacheserver = "127.0.0.1"; const char *cacheserver = "127.0.0.1";
static FILE *fp; static FILE *input;
typedef enum { typedef enum {
none, none,
@ -979,7 +979,7 @@ probe_domain(struct probe_trans *trans) {
REQUIRE(outstanding_probes < MAX_PROBES); REQUIRE(outstanding_probes < MAX_PROBES);
/* Construct domain */ /* Construct domain */
cp = fgets(buf, sizeof(buf), fp); cp = fgets(buf, sizeof(buf), input);
if (cp == NULL) if (cp == NULL)
return (ISC_R_NOMORE); return (ISC_R_NOMORE);
if ((cp = strchr(buf, '\n')) != NULL) /* zap NL if any */ if ((cp = strchr(buf, '\n')) != NULL) /* zap NL if any */
@ -1128,10 +1128,10 @@ main(int argc, char *argv[]) {
/* Open input file */ /* Open input file */
if (argc == 0) if (argc == 0)
fp = stdin; input = stdin;
else { else {
fp = fopen(argv[0], "r"); input = fopen(argv[0], "r");
if (fp == NULL) { if (input == NULL) {
fprintf(stderr, "failed to open input file: %s\n", fprintf(stderr, "failed to open input file: %s\n",
argv[0]); argv[0]);
exit(1); exit(1);