Re: NSD 4.2.3 released (changed behavior)
Greg Bock via nsd-users <[email protected]> Mon, 25 Nov 2019 19:57:07 +0000
| Newsgroups | gmane.network.dns.nsd.general |
|---|---|
| Message-ID | <[email protected]> |
> Am 20.11.19 um 08:17 schrieb Wouter Wijngaards: > > The confine-to-zone: yesno option from Greg Bock, if enabled stops NSD > > from responding with data outside of the zone the query was aimed at. > > Answers contain data that comes from one zone only. > > Hello, > > maybe this feature break "minimal-responses: yes" > > dig @nsd-4.2.2 www.example. A > -> give only an answer section > > dig @nsd-4.2.3 www.example. A > -> give an answer AND additional section > > Andreas > > Sorry for the top post earlier. > > > I just tried every combination of both options as well as defaults at commit > > 8fd09a59ea50db1daab352b5bce67b66bf533eb6 (where my change was introduced) and > > was unable to reproduce this. I can reproduce this at tag NSD_4_2_3_REL > > regardless of either setting. If I find time I'll try to bisect the changes > > between mine and NSD_4_2_3_REL to find the culprit but at a glance this > > appears to have been introduced after my changes. > > Bisecting shows this commit to be the culprit: > > commit 565630575ff0f13144c680d4f216e3d4c673124b > Author: Jeroen Koekkoek <[email protected]> > Date: Wed Jun 12 08:41:23 2019 +0200 > > Make configuration parser context aware > It appears minimal_responses and round_robin vars should be set: diff --git a/configparser.y b/configparser.y index 118f43a..d49eeba 100644 --- a/configparser.y +++ b/configparser.y @@ -374,9 +374,16 @@ server_option: | VAR_LOG_TIME_ASCII boolean { cfg_parser->opt->log_time_ascii = $2; } | VAR_ROUND_ROBIN boolean - { cfg_parser->opt->round_robin = $2; } + { + cfg_parser->opt->round_robin = $2; + round_robin = cfg_parser->opt->round_robin; + } | VAR_MINIMAL_RESPONSES boolean - { cfg_parser->opt->minimal_responses = $2; } + { + cfg_parser->opt->minimal_responses = $2; + minimal_responses = cfg_parser->opt->minimal_responses; + } + | VAR_CONFINE_TO_ZONE boolean { cfg_parser->opt->confine_to_zone = $2; } | VAR_REFUSE_ANY Boolean I'm not that familiar with the configuration parser and only took a cursory glance, other things might also not be working as expected.