[16022] in Kerberos-V5-bugs
[krbdev.mit.edu #8688] URI lookups don't work on Windows
daemon@ATHENA.MIT.EDU (Greg Hudson via RT)
Sun May 27 00:11:13 2018
Mail-followup-to: rt@krbdev.mit.edu
mail-copies-to: never
From: "Greg Hudson via RT" <rt-comment@KRBDEV-PROD-APP-1.mit.edu>
In-Reply-To: <rt-8688@krbdev.mit.edu>
Message-ID: <rt-8688-48570.17.9259480992592@krbdev.mit.edu>
To: "'AdminCc of krbdev.mit.edu Ticket #8688'":;
Date: Sun, 27 May 2018 00:11:07 -0400 (EDT)
Reply-To: rt-comment@KRBDEV-PROD-APP-1.mit.edu
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: krb5-bugs-bounces@mit.edu
The wshelper res_search() (invoked from dnsglue.c) calls
DnsQuery_A(). (The _A here refers to ANSI encoding, not DNS A
records). This Windows function helpfully parses the response packet
and yields a linked list of records, each decoded according to the
query type. wshelper undoes this work, reassembling a fake DNS
response packet from the query domain and resource records, so that
we can parse it again in dnsglue.c and dnssrv.c.
DnsQuery_A() has no support for URI records. Therefore,
res_quer.c:build_rr() has no code to piece together a URI record
encoding from a PDNS_RECORD. Although it is experimentally possible
to make a URI query and find the record encoding (un-decoded) in the
PDNS_RECORD function where the union rests, retrieving the record
this way seems unlikely to keep working if Windows ever implements
the URI type.
I am hoping to use the DNS_QUERY_RETURN_MESSAGE flag to get the
original DNS response packet so we don't have to reassemble it;
however, this flag is not documented well enough to use and I can
find no examples of code using it. I have asked Microsoft dochelp
for clarification and will report back with their answer.
_______________________________________________
krb5-bugs mailing list
krb5-bugs@mit.edu
https://mailman.mit.edu/mailman/listinfo/krb5-bugs