> 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.