Hi Greg, Andreas,
I'll have a go at this tomorrow (and diff the old vs new parser).
Thanks for noticing.
- Jeroen
P.S.
I'll be sure to add a test case...
On Mon, 2019-11-25 at 19:57 +0000, Greg Bock via nsd-users
wrote:> > 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 <jeroen at nlnetlabs.nl>
> > 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.
>
>
>
> _______________________________________________
> nsd-users mailing list
> nsd-users at NLnetLabs.nl
> https://open.nlnetlabs.nl/mailman/listinfo/nsd-users