[16022] in Kerberos-V5-bugs

home help back first fref pref prev next nref lref last post

[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

home help back first fref pref prev next nref lref last post