MoinQ:

kresd/issues/nic.cz/STRICT_MODEについて、ここに記述してください。

STRICT_MODE 1 のときは、AAありの場合、Authorityなどは無視される。-- ToshinoriMaeno 2016-04-16 15:41:08

> [plan] plan 'nic.cz.' type 'A'

[resl]   => using root hints
[resl]   => querying: '202.12.27.33' score: 10 zone cut: '.' m12n: 'cZ.' type: 'NS'
[resl]      optional: '199.7.83.42' score: 10 zone cut: '.' m12n: 'cZ.' type: 'NS'
[resl]      optional: '193.0.14.129' score: 10 zone cut: '.' m12n: 'cZ.' type: 'NS'
[resl]      optional: '192.58.128.30' score: 10 zone cut: '.' m12n: 'cZ.' type: 'NS'
[iter]   update_cut
[iter]   fetching glue for cut cz, dnsniccz
[iter]   update_cut
[iter]   fetching glue for cut cz, ansniccz
[iter]   update_cut
[iter]   fetching glue for cut cz, bnsniccz
[iter]   update_cut
[iter]   fetching glue for cut cz, cnsniccz
[iter]   <= referral response, follow
[resl]   <= server: '202.12.27.33' rtt: 6 ms

[resl]   => querying: '193.29.206.1' score: 10 zone cut: 'cz.' m12n: 'NIc.cZ.' type: 'A'
[resl]      optional: '194.0.14.1' score: 10 zone cut: 'cz.' m12n: 'NIc.cZ.' type: 'A'
[resl]      optional: '194.0.13.1' score: 10 zone cut: 'cz.' m12n: 'NIc.cZ.' type: 'A'
[resl]      optional: '194.0.12.1' score: 10 zone cut: 'cz.' m12n: 'NIc.cZ.' type: 'A'
[iter]   <= rcode: NOERROR
[resl]   <= server: '193.29.206.1' rtt: 116 ms
[resl] finished: 4, queries: 1, mempool: 32800 B

だが、"dig -t ns nic.cz @127.0.0.3"の返事が気になる。

[plan] plan 'nic.cz.' type 'NS'
[ rc ]   => satisfied from cache
[iter]   <= rcode: NOERROR
[resl] finished: 4, queries: 1, mempool: 32800 B

--- rrcache.c:

     bool is_auth = knot_wire_get_aa(pkt->wire);
        if (is_auth) {
                ret = stash_answer(qry, pkt, &stash, &req->pool);
                if (ret == 0) {
                        ret = stash_authority(qry, pkt, &stash, &req->pool);
                }