* minires-os-if.c (cygwin_query): Change questions into answers.

This commit is contained in:
Corinna Vinschen 2015-01-12 16:38:02 +00:00
parent 8ddeb7008e
commit 7d0b0134ee
2 changed files with 11 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2015-01-12 Pierre A. Humblet <pierre@phumblet.no-ip.org>
* minires-os-if.c (cygwin_query): Change questions into answers.
2015-01-08 Corinna Vinschen <corinna@vinschen.de>
* cygheap.h (cygheap_pwdgrp::get_shell): Add sid to argument list.

View File

@ -249,6 +249,13 @@ static int cygwin_query(res_state statp, const char * DomName, int Class, int Ty
rr = pQueryResultsSet;
section = 0;
while (rr) {
/* Some Windows versions return questions when providing locally generated
answers, for example for "localhost" or for the computer name. */
if (((rr->Flags.DW & 0x3) == DnsSectionQuestion) &&
(rr->wDataLength > 0)) {
DPRINTF(debug, "Changing record below from question to answer\n");
rr->Flags.DW ^= DnsSectionQuestion ^ DnsSectionAnswer;
}
if (!counts[0] && (rr->Flags.DW & 0x3)) {
/* No question. Adopt the first name as the name in the question */
if ((len = dn_comp(rr->pName, ptr, AnsLength - 4,