}
continue;
}
+ if (OPTION_IS("adns_ignoreunkcfg")) {
+ ads->config_report_unknown=0;
+ continue;
+ }
if (/* adns's query strategy is not configurable */
OPTION_STARTS("timeout:") ||
OPTION_STARTS("attempts:") ||
/* adns does not do edns0 and this is not a problem */
OPTION_IS("edns0"))
continue;
- adns__diag(ads,-1,0,"%s:%d: unknown option `%.*s'", fn,lno, l,word);
+ if (ads->config_report_unknown)
+ adns__diag(ads,-1,0,"%s:%d: unknown option `%.*s'", fn,lno, l,word);
}
#undef OPTION__IS
adns__diag(ads,-1,0,"%s:%d: yp lookups not supported by adns", fn,lno);
found_bind=-1;
} else {
- adns__diag(ads,-1,0,"%s:%d: unknown `lookup' database `%.*s'",
- fn,lno, l,word);
+ if (ads->config_report_unknown)
+ adns__diag(ads,-1,0,"%s:%d: unknown `lookup' database `%.*s'",
+ fn,lno, l,word);
found_bind=-1;
}
}
!(strlen(ccip->name)==dirl && !memcmp(ccip->name,p,q-p));
ccip++);
if (!ccip->name) {
- adns__diag(ads,-1,0,"%s:%d: unknown configuration directive `%.*s'",
- filename,lno,(int)(q-p),p);
+ if (ads->config_report_unknown)
+ adns__diag(ads,-1,0,"%s:%d: unknown configuration directive `%.*s'",
+ filename,lno,(int)(q-p),p);
continue;
}
while (ctype_whitespace(*q)) q++;
ads->tcpstate= server_disconnected;
timerclear(&ads->tcptimeout);
ads->searchlist= 0;
+ ads->config_report_unknown=1;
pid= getpid();
ads->rand48xsubi[0]= pid;