Tony Finch <d...@dotat.at> writes:
> Bjørn Mork <bj...@mork.no> wrote:
>>
>> Recently I noticed a side effect of this configuration which I consider
>> unwanted and unexpected: It changes how BIND replies to requests without
>> the RD bit set. BIND will normally answer such requests with a "best
>> possible redirection", using any matching NS set it has in its cache.
>> Which often will be the root NS.  But using the RFC7706 example config,
>> BIND will REFUSE all requests without RD set.
>
> I agree this behaviour is unhelpful and weird. It seems to come from the
> following bit of the source, though the comment doesn't help very much to
> explain the whys or wherefores.
> https://source.isc.org/cgi-bin/gitweb.cgi?p=bind9.git;a=blob;f=bin/named/query.c;h=0cfdf9288fb16a8f991e7a31f3248118add691d5;hb=HEAD#l1040
>
>       /*
>        * Non recursive query to a static-stub zone is prohibited; its
>        * zone content is not public data, but a part of local configuration
>        * and should not be disclosed.
>        */
>       if (dns_zone_gettype(zone) == dns_zone_staticstub &&
>           !RECURSIONOK(client)) {
>               return (DNS_R_REFUSED);
>       }


Thanks for the code pointer!  I tried looking at the git commit log, but
it didn't help explaining this either.  The comment and test were part
of the commit adding the "static-stub" feature.

> You might be able to work around the problem by adding a
> match-recursion-only option to the recursive view, and adding a
> non-recursive view that has allow-query-cache, and use attach-cache
> so all views share the same cache. I have not tried this :-)

And the main objection I hear wrt RFC7706 is that it complicates the
config :)


Bjørn

_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to