Bind 9.9.3 configuration message: missing 'file' entry

Spain, Dr. Jeffry A. spainj at countryday.net
Sun Jun 2 14:27:25 UTC 2013


For bind 9.9.3 build on Ubuntu 12.04LTS x64, I see log messages, for example, "/etc/bind/named.conf.local:4: zone 'jaspain.biz': missing 'file' entry" for each slave zone configured for inline signing. The file clause is, in fact, present in the configuration file, for example:
zone "jaspain.biz" {
        type slave;
        file "/var/cache/bind/jaspain.biz.db";
        key-directory "/var/lib/bind/jaspain.biz";
        auto-dnssec maintain;
        inline-signing yes;
        masters { stealthMasters; };
        notify explicit;
        also-notify { publicSlaves; };
        allow-transfer { localhost; transferees; };
};

The message does not occur for a similar slave zone that does not have key-directory, auto-dnssec, or inline-signing configured. The bind9 service appears to be functioning normally despite this log message.

The message originates from the code in /lib/bind9/check.c starting in line 1798.
isc_result_t res1;
obj = NULL;
tresult = cfg_map_get(zoptions, "file", &obj);
obj = NULL;
res1 = cfg_map_get(zoptions, "inline-signing", &obj);
if ((tresult != ISC_R_SUCCESS &&
    (ztype == MASTERZONE || ztype == HINTZONE)) ||
    (ztype == SLAVEZONE && res1 == ISC_R_SUCCESS)) {
	cfg_obj_log(zconfig, logctx, ISC_LOG_ERROR,
	    "zone '%s': missing 'file' entry",
	    znamestr);
	result = tresult;
}

Based on the code comments starting at line 1785, is the conditional expression of the "if" statement incorrectly parenthesized? Should it be as follows?
if (tresult != ISC_R_SUCCESS &&
    (ztype == MASTERZONE || ztype == HINTZONE ||
    (ztype == SLAVEZONE && res1 == ISC_R_SUCCESS))) {

Thanks. Jeff.

Jeffry A. Spain, Network Administrator
Cincinnati Country Day School



More information about the bind-users mailing list