mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
(send_dg): Recognize referral results and treat them as server errors.
This commit is contained in:
@ -1008,11 +1008,19 @@ send_dg(res_state statp,
|
|||||||
DprintQ(statp->options & RES_DEBUG,
|
DprintQ(statp->options & RES_DEBUG,
|
||||||
(stdout, "server rejected query:\n"),
|
(stdout, "server rejected query:\n"),
|
||||||
ans, (resplen > anssiz) ? anssiz : resplen);
|
ans, (resplen > anssiz) ? anssiz : resplen);
|
||||||
|
next_ns:
|
||||||
res_nclose(statp);
|
res_nclose(statp);
|
||||||
/* don't retry if called from dig */
|
/* don't retry if called from dig */
|
||||||
if (!statp->pfcode)
|
if (!statp->pfcode)
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
if (anhp->rcode == NOERROR && anhp->ancount == 0
|
||||||
|
&& anhp->aa == 0 && anhp->ra == 0 && anhp->arcount == 0) {
|
||||||
|
DprintQ(statp->options & RES_DEBUG,
|
||||||
|
(stdout, "referred query:\n"),
|
||||||
|
ans, (resplen > anssiz) ? anssiz : resplen);
|
||||||
|
goto next_ns;
|
||||||
|
}
|
||||||
if (!(statp->options & RES_IGNTC) && anhp->tc) {
|
if (!(statp->options & RES_IGNTC) && anhp->tc) {
|
||||||
/*
|
/*
|
||||||
* To get the rest of answer,
|
* To get the rest of answer,
|
||||||
|
Reference in New Issue
Block a user