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.
(cherry picked from commit 864cd08052)
This commit is contained in:
@@ -290,10 +290,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. */
|
||||
@@ -305,6 +301,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