+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
configured in named.conf, as well as zones that
were added via "rndc addzone". (Note, however, that
if (dns_name_equal(origin, dns_rootname)) {
const char *hintsfile = cfg_obj_asstring(fileobj);
- result = 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;
- }
+ CHECK(configure_hints(view, hintsfile));
+
/*
* Hint zones may also refer to delegation only points.
*/
echo "I: checking that named-checkconf -z catches missing hint file"
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
status=`expr $status + $ret`
result = dns_db_create(mctx, "rbt", dns_rootname, dns_dbtype_zone,
rdclass, 0, NULL, &db);
if (result != ISC_R_SUCCESS)
- return (result);
+ goto failure;
len = strlen(root_ns);
isc_buffer_init(&source, root_ns, len);
dns_rdatacallbacks_init(&callbacks);
result = dns_db_beginload(db, &callbacks);
if (result != ISC_R_SUCCESS)
- return (result);
+ goto failure;
if (filename != NULL) {
/*
* Load the hints from the specified filename.
if (result == ISC_R_SUCCESS || result == DNS_R_SEENINCLUDE)
result = eresult;
if (result != ISC_R_SUCCESS && result != DNS_R_SEENINCLUDE)
- goto db_detach;
+ goto failure;
if (check_hints(db) != ISC_R_SUCCESS)
isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL,
DNS_LOGMODULE_HINTS, ISC_LOG_WARNING,
*target = db;
return (ISC_R_SUCCESS);
- db_detach:
- dns_db_detach(&db);
+ failure:
+ 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);
}