Hi Robin, [merging your reply and Lukas']
On Tue, Oct 20, 2015 at 08:59:27AM +0200, Robin Geuze wrote: > Hey Willy, > > Recursors are not required to recurse when serving an ANY query. ANY > query means that you ask a server (either recursor or auth) for > everything it has on label x. If it has a CNAME on that label just > returning that is a valid response (just like would happen if you > queried for the CNAME type at label x). However when you ask for an A or > AAAA record a recursor is required to follow the CNAME. Welcome to the > wonderful world of DNS which doesn't really make sense anymore to anyone ;). I didn't know the server was required to follow the CNAME, that's the info I was missing. Then of course it definitely makes sense. > Like said in the other mailthread, ANY queries are just a very > unreliable way to get the records/types you want. Just asking for the > actual types, if necessary in multiple queries, is the way to go. DNS is > (usually) fast enough that the one extra query really shouldn't matter > that much. Lukas: > I don't think this is CNAME specific. ANY will just return what the > recursor has in the cache. If it isn't in the cache, ANY won't make > the recursor ask upstream DNS servers, only A and AAAA (or MX or > any other real qtype) will. OK so you can get random response based on whatever someone else asked this server in the past. These are very useful info. We'll discuss this with Baptiste, and very likely Andrew's patch will be taken as-is. Willy