Properly process extra nameserver lines in resolv.conf

The whole line needs to be read rather than just the token "nameserver"
otherwise the next line in resolv.conf is not properly processed.
This commit is contained in:
Mark Andrews 2023-05-15 10:34:16 +10:00
parent 15eaf9d3f2
commit 864cd08052

View file

@ -288,10 +288,6 @@ resconf_parsenameserver(irs_resconf_t *conf, FILE *fp) {
int cp;
isc_result_t result;
if (conf->numns == RESCONFMAXNAMESERVERS) {
return (ISC_R_SUCCESS);
}
cp = getword(fp, word, sizeof(word));
if (strlen(word) == 0U) {
return (ISC_R_UNEXPECTEDEND); /* Nothing on line. */
@ -303,6 +299,10 @@ resconf_parsenameserver(irs_resconf_t *conf, FILE *fp) {
return (ISC_R_UNEXPECTEDTOKEN); /* Extra junk on line. */
}
if (conf->numns == RESCONFMAXNAMESERVERS) {
return (ISC_R_SUCCESS);
}
result = add_server(conf->mctx, word, &conf->nameservers);
if (result != ISC_R_SUCCESS) {
return (result);