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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user