bind9/lib
Diego Fronza a8ce7b461c Fix rpz wildcard name matching
Whenever an exact match is found by dns_rbt_findnode(),
the highest level node in the chain will not be put into
chain->levels[] array, but instead the chain->end
pointer will be adjusted to point to that node.

Suppose we have the following entries in a rpz zone:
example.com     CNAME rpz-passthru.
*.example.com   CNAME rpz-passthru.

A query for www.example.com would result in the
following chain object returned by dns_rbt_findnode():

chain->level_count = 2
chain->level_matches = 2
chain->levels[0] = .
chain->levels[1] = example.com
chain->levels[2] = NULL
chain->end = www

Since exact matches only care for testing rpz set bits,
we need to test for rpz wild bits through iterating the nodechain, and
that includes testing the rpz wild bits in the highest level node found.

In the case of an exact match, chain->levels[chain->level_matches]
will be NULL, to address that we must use chain->end as the start point,
then iterate over the remaining levels in the chain.
2020-07-27 17:02:16 -03:00
..
bind9 prep 9.16.5 2020-07-15 23:10:55 +02:00
dns Fix rpz wildcard name matching 2020-07-27 17:02:16 -03:00
irs Adjust library API versions 2020-05-19 13:57:37 +02:00
isc Remove few lines in unix socket handling 2020-07-24 13:47:26 +10:00
isccc prep 9.16.3 2020-05-19 13:57:36 +02:00
isccfg prep 9.16.4 2020-06-18 10:25:50 +02:00
ns prep 9.16.5 2020-07-15 23:10:55 +02:00
samples add support for building sphinx documentation 2020-06-01 09:54:46 +02:00
win32/bindevt Disable MSB8028 warning 2020-04-16 07:56:38 +02:00
.gitignore added gitignore, removed cvsignore 2012-03-03 23:10:05 -08:00
Kyuafile link in lib/isccc/tests/Kyuafile 2018-11-13 07:23:36 +11:00
Makefile.in remove lib/tests as nothing uses it anymore 2018-03-09 14:12:50 -08:00