Updated from BIND-4.9.3-BETA27.

This commit is contained in:
Roland McGrath 1995-12-07 19:37:55 +00:00
parent 0c7b844d25
commit a4219bc4c0
3 changed files with 20 additions and 2 deletions

View File

@ -116,7 +116,7 @@ dn_expand(msg, eomorig, comp_dn, exp_dn, length)
return (-1); return (-1);
checked += n + 1; checked += n + 1;
while (--n >= 0) { while (--n >= 0) {
if ((c = *cp++) == '.') { if (((c = *cp++) == '.') || (c == '\\')) {
if (dn + n + 2 >= eom) if (dn + n + 2 >= eom)
return (-1); return (-1);
*dn++ = '\\'; *dn++ = '\\';

View File

@ -309,6 +309,7 @@ __fp_nquery(msg, len, file)
ntohs(hp->id)); ntohs(hp->id));
putc('\n', file); putc('\n', file);
} }
if ((!_res.pfcode) || (_res.pfcode & RES_PRF_HEADX))
putc(';', file); putc(';', file);
if ((!_res.pfcode) || (_res.pfcode & RES_PRF_HEAD2)) { if ((!_res.pfcode) || (_res.pfcode & RES_PRF_HEAD2)) {
fprintf(file, "; flags:"); fprintf(file, "; flags:");
@ -340,9 +341,21 @@ __fp_nquery(msg, len, file)
if ((!_res.pfcode) || (_res.pfcode & RES_PRF_QUES)) if ((!_res.pfcode) || (_res.pfcode & RES_PRF_QUES))
fprintf(file, ";; QUESTIONS:\n"); fprintf(file, ";; QUESTIONS:\n");
while (--n >= 0) { while (--n >= 0) {
if ((!_res.pfcode) || (_res.pfcode & RES_PRF_QUES))
fprintf(file, ";;\t"); fprintf(file, ";;\t");
TruncTest(cp); TruncTest(cp);
if ((!_res.pfcode) || (_res.pfcode & RES_PRF_QUES))
cp = p_cdnname(cp, msg, len, file); cp = p_cdnname(cp, msg, len, file);
else {
int n;
char name[MAXDNAME];
if ((n = dn_expand(msg, msg+len, cp, name,
sizeof name)) < 0)
cp = NULL;
else
cp += n;
}
ErrorTest(cp); ErrorTest(cp);
TruncTest(cp); TruncTest(cp);
if ((!_res.pfcode) || (_res.pfcode & RES_PRF_QUES)) if ((!_res.pfcode) || (_res.pfcode & RES_PRF_QUES))
@ -354,6 +367,7 @@ __fp_nquery(msg, len, file)
fprintf(file, ", class = %s\n", fprintf(file, ", class = %s\n",
__p_class(_getshort((u_char*)cp))); __p_class(_getshort((u_char*)cp)));
cp += INT16SZ; cp += INT16SZ;
if ((!_res.pfcode) || (_res.pfcode & RES_PRF_QUES))
putc('\n', file); putc('\n', file);
} }
} }

View File

@ -682,9 +682,13 @@ res_send(buf, buflen, ans, anssiz)
goto same_ns; goto same_ns;
} }
} /*if vc/dg*/ } /*if vc/dg*/
Dprint((_res.options & RES_DEBUG) ||
((_res.pfcode & RES_PRF_REPLY) &&
(_res.pfcode & RES_PRF_HEAD1)),
(stdout, ";; got answer:\n"));
DprintQ((_res.options & RES_DEBUG) || DprintQ((_res.options & RES_DEBUG) ||
(_res.pfcode & RES_PRF_REPLY), (_res.pfcode & RES_PRF_REPLY),
(stdout, ";; got answer:\n"), (stdout, ""),
ans, resplen); ans, resplen);
/* /*
* If using virtual circuits, we assume that the first server * If using virtual circuits, we assume that the first server