mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-01 15:05:23 +00:00
4031. [bug] named-checkconf -z failed to report a missing file
with a hint zone. [RT #38294]
This commit is contained in:
3
CHANGES
3
CHANGES
@@ -1,3 +1,6 @@
|
|||||||
|
4031. [bug] named-checkconf -z failed to report a missing file
|
||||||
|
with a hint zone. [RT #38294]
|
||||||
|
|
||||||
4030. [func] "rndc delzone" is now applicable to zones that were
|
4030. [func] "rndc delzone" is now applicable to zones that were
|
||||||
configured in named.conf, as well as zones that
|
configured in named.conf, as well as zones that
|
||||||
were added via "rndc addzone". (Note, however, that
|
were added via "rndc addzone". (Note, however, that
|
||||||
|
@@ -4331,16 +4331,8 @@ configure_zone(const cfg_obj_t *config, const cfg_obj_t *zconfig,
|
|||||||
if (dns_name_equal(origin, dns_rootname)) {
|
if (dns_name_equal(origin, dns_rootname)) {
|
||||||
const char *hintsfile = cfg_obj_asstring(fileobj);
|
const char *hintsfile = cfg_obj_asstring(fileobj);
|
||||||
|
|
||||||
result = configure_hints(view, hintsfile);
|
CHECK(configure_hints(view, hintsfile));
|
||||||
if (result != ISC_R_SUCCESS) {
|
|
||||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
|
|
||||||
NS_LOGMODULE_SERVER,
|
|
||||||
ISC_LOG_ERROR,
|
|
||||||
"could not configure root hints "
|
|
||||||
"from '%s': %s", hintsfile,
|
|
||||||
isc_result_totext(result));
|
|
||||||
goto cleanup;
|
|
||||||
}
|
|
||||||
/*
|
/*
|
||||||
* Hint zones may also refer to delegation only points.
|
* Hint zones may also refer to delegation only points.
|
||||||
*/
|
*/
|
||||||
|
@@ -53,7 +53,8 @@ done
|
|||||||
|
|
||||||
echo "I: checking that named-checkconf -z catches missing hint file"
|
echo "I: checking that named-checkconf -z catches missing hint file"
|
||||||
ret=0
|
ret=0
|
||||||
$CHECKCONF -z hint-nofile.conf > /dev/null 2>&1 && ret=1
|
$CHECKCONF -z hint-nofile.conf > hint-nofile.out 2>&1 && ret=1
|
||||||
|
grep "could not configure root hints from 'nonexistent.db': file not found" hint-nofile.out > /dev/null || ret=1
|
||||||
if [ $ret != 0 ]; then echo "I:failed"; fi
|
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
@@ -211,7 +211,7 @@ dns_rootns_create(isc_mem_t *mctx, dns_rdataclass_t rdclass,
|
|||||||
result = dns_db_create(mctx, "rbt", dns_rootname, dns_dbtype_zone,
|
result = dns_db_create(mctx, "rbt", dns_rootname, dns_dbtype_zone,
|
||||||
rdclass, 0, NULL, &db);
|
rdclass, 0, NULL, &db);
|
||||||
if (result != ISC_R_SUCCESS)
|
if (result != ISC_R_SUCCESS)
|
||||||
return (result);
|
goto failure;
|
||||||
|
|
||||||
len = strlen(root_ns);
|
len = strlen(root_ns);
|
||||||
isc_buffer_init(&source, root_ns, len);
|
isc_buffer_init(&source, root_ns, len);
|
||||||
@@ -220,7 +220,7 @@ dns_rootns_create(isc_mem_t *mctx, dns_rdataclass_t rdclass,
|
|||||||
dns_rdatacallbacks_init(&callbacks);
|
dns_rdatacallbacks_init(&callbacks);
|
||||||
result = dns_db_beginload(db, &callbacks);
|
result = dns_db_beginload(db, &callbacks);
|
||||||
if (result != ISC_R_SUCCESS)
|
if (result != ISC_R_SUCCESS)
|
||||||
return (result);
|
goto failure;
|
||||||
if (filename != NULL) {
|
if (filename != NULL) {
|
||||||
/*
|
/*
|
||||||
* Load the hints from the specified filename.
|
* Load the hints from the specified filename.
|
||||||
@@ -243,7 +243,7 @@ dns_rootns_create(isc_mem_t *mctx, dns_rdataclass_t rdclass,
|
|||||||
if (result == ISC_R_SUCCESS || result == DNS_R_SEENINCLUDE)
|
if (result == ISC_R_SUCCESS || result == DNS_R_SEENINCLUDE)
|
||||||
result = eresult;
|
result = eresult;
|
||||||
if (result != ISC_R_SUCCESS && result != DNS_R_SEENINCLUDE)
|
if (result != ISC_R_SUCCESS && result != DNS_R_SEENINCLUDE)
|
||||||
goto db_detach;
|
goto failure;
|
||||||
if (check_hints(db) != ISC_R_SUCCESS)
|
if (check_hints(db) != ISC_R_SUCCESS)
|
||||||
isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL,
|
isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL,
|
||||||
DNS_LOGMODULE_HINTS, ISC_LOG_WARNING,
|
DNS_LOGMODULE_HINTS, ISC_LOG_WARNING,
|
||||||
@@ -252,8 +252,14 @@ dns_rootns_create(isc_mem_t *mctx, dns_rdataclass_t rdclass,
|
|||||||
*target = db;
|
*target = db;
|
||||||
return (ISC_R_SUCCESS);
|
return (ISC_R_SUCCESS);
|
||||||
|
|
||||||
db_detach:
|
failure:
|
||||||
dns_db_detach(&db);
|
isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_HINTS,
|
||||||
|
ISC_LOG_ERROR, "could not configure root hints from "
|
||||||
|
"'%s': %s", (filename != NULL) ? filename : "<BUILT-IN>",
|
||||||
|
isc_result_totext(result));
|
||||||
|
|
||||||
|
if (db != NULL)
|
||||||
|
dns_db_detach(&db);
|
||||||
|
|
||||||
return (result);
|
return (result);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user