Hi, First, let me be clear that I am (personally) not now, nor have I ever been, a member of the resolver implementation party; so my opinion is biased about what is obvious. If various resolver-writers were to chime in to say that what is obvious to you is obvious to them too (and I don't think we need perfect consensus, as usual), then I'll cheerfully withdraw. Nobody ever wants to see samples of my C code, including me.
On Fri, Feb 09, 2018 at 07:21:05PM -0500, Ted Lemon wrote: > > This is really fascinating. To me what this code requires it something like > the following, in any affected stub resolver: > One architectural point I _think_ I've been trying to make is exactly that "in any affected stub resolver" is in fact the entire universe of deployed resolvers (including stubs). We have zero reason to suppose that old habits will die -- hard, soft, or at all -- within another generation, given the results we got with EDNS0. So, I think I am asking, "Why isn't the original 6761 advice better?" That advice would have the root zone return RDATA appropriate to the QNAME "localhost" (depending on RRTYPE). It has no advice about TTL, if I recall correctly, so one could trivially set it to the maximum. Maybe if the roots did this, everyone else would follow 6761 too. > resolve(name): > if (name == 'localhost'): > return [IPv4Addr('127.0.0.1'), IPv6Addr('::1')] But what you have just done there is short-circuited the search processing, thereby retroactively making "localhost" a restricted _label_ in every network that relies on search processing. Now, I think that such networks are broken in deep ways[1]. Those ways are, however, mostly unobserved by many network operators. The operators we are trying to sort out -- the ones who already aren't following 6761 -- are entirely unlikely to believe this advice either. > So to me there is no obvious architectural superiority to what you think is > correct. I don't think it is _correct_. I believe the existing state of affairs is bad. I also think that good architecture doesn't just come along and smash existing practice, like some Corbusier Moses. We have an existing system, and what the document wants to do is make a number of reservations (effectively across the entire DNS tree) in an effort to solve a problem that would be _already solved_ by the existing RFC, were it implemented. But that RFC was apparently not implemented, and therefore I think this I-D is dangerous because it entails rules about a certain label that extend down the tree, even though it is solving a problem that might already have been solved if 6761 were followed. I don't believe we should take greater action when the previous, lesser action has not yet been implemented. Best regards, A [1] To be clear, I say this with pretty full experience of my current employer's "enterprise network(s)". I used to think my picture of such networks was a nasty parody, including every bad idea I could think of. As it turns out, I was short on bad ideas. -- Andrew Sullivan a...@anvilwalrusden.com _______________________________________________ DNSOP mailing list DNSOP@ietf.org https://www.ietf.org/mailman/listinfo/dnsop