Compare commits

...

4 Commits

3 changed files with 7 additions and 13 deletions

View File

@@ -1,6 +1,3 @@
2675. [bug] dnssec-signzone could crash if the key directory
did not exist. [RT #20232]
--- 9.7.0a3 released ---
2674. [bug] "dnssec-lookaside auto;" crashed if named was built

View File

@@ -16,7 +16,7 @@
*/
/*
* $Id: dnssec.c,v 1.101 2009/09/10 05:09:31 each Exp $
* $Id: dnssec.c,v 1.100 2009/09/02 23:48:02 tbox Exp $
*/
/*! \file */
@@ -1101,7 +1101,6 @@ dns_dnssec_findmatchingkeys(dns_name_t *origin, const char *directory,
isc_mem_t *mctx, dns_dnsseckeylist_t *keylist)
{
isc_result_t result = ISC_R_SUCCESS;
isc_boolean_t dir_open = ISC_FALSE;
dns_dnsseckeylist_t list;
isc_dir_t dir;
dns_dnsseckey_t *key = NULL;
@@ -1112,15 +1111,14 @@ dns_dnssec_findmatchingkeys(dns_name_t *origin, const char *directory,
REQUIRE(keylist != NULL);
ISC_LIST_INIT(list);
isc_dir_init(&dir);
isc_buffer_init(&b, namebuf, sizeof(namebuf) - 1);
RETERR(dns_name_totext(origin, ISC_FALSE, &b));
len = isc_buffer_usedlength(&b);
namebuf[len] = '\0';
isc_dir_init(&dir);
RETERR(isc_dir_open(&dir, directory));
dir_open = ISC_TRUE;
while (isc_dir_read(&dir) == ISC_R_SUCCESS) {
if (dir.entry.name[0] == 'K' &&
@@ -1128,7 +1126,7 @@ dns_dnssec_findmatchingkeys(dns_name_t *origin, const char *directory,
dir.entry.name[len + 1] == '+' &&
strncasecmp(dir.entry.name + 1, namebuf, len) == 0) {
p = strrchr(dir.entry.name, '.');
if (p != NULL && strcmp(p, ".private") != 0)
if (strcmp(p, ".private") != 0)
continue;
dstkey = NULL;
@@ -1155,8 +1153,7 @@ dns_dnssec_findmatchingkeys(dns_name_t *origin, const char *directory,
result = ISC_R_NOTFOUND;
failure:
if (dir_open)
isc_dir_close(&dir);
isc_dir_close(&dir);
INSIST(key == NULL);
while ((key = ISC_LIST_HEAD(list)) != NULL) {
ISC_LIST_UNLINK(list, key, link);

View File

@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: zone.c,v 1.506 2009/09/10 23:48:00 tbox Exp $ */
/* $Id: zone.c,v 1.505 2009/09/10 01:47:08 each Exp $ */
/*! \file */
@@ -2898,7 +2898,7 @@ static isc_result_t
add_soa(dns_zone_t *zone, dns_db_t *db) {
isc_result_t result;
dns_rdata_t rdata = DNS_RDATA_INIT;
unsigned char buf[DNS_SOA_BUFFERSIZE];
unsigned char buf[DNS_SOA_BUFFERSIZE];
dns_dbversion_t *ver = NULL;
dns_diff_t diff;
@@ -3133,7 +3133,7 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime,
else
DNS_ZONE_CLRFLAG(zone, DNS_ZONEFLG_HASINCLUDE);
/*
/*
* If there's no master file for a key zone, then the zone is new:
* create an SOA record. (We do this now, instead of later, so that
* if there happens to be a journal file, we can roll forward from