Bugfix: missing line in message.c
Mark Andrews
marka at isc.org
Wed Jun 1 22:23:27 UTC 2022
Thanks.
INDENT is being addressed.
Can you add an issue on https://gitlab.isc.org/ for the view name in dnstap?
Mark
> On 2 Jun 2022, at 07:26, Peter <pmc at citylink.dinoex.sub.org> wrote:
>
> Hi,
>
> this is broken in 916 (and apparently 918 also).
> Consequentially, output from dnstap gets unreadable (invalid YAML)
> when using dynamic zone updates.
>
> ******************** PATCH ****************
> --- lib/dns/message.c.orig 2022-05-10 11:02:21.000000000 +0200
> +++ lib/dns/message.c 2022-05-30 04:02:40.568222000 +0200
> @@ -4296,6 +4296,7 @@
> INDENT(style);
> ADD_STRING(target, "QUESTION: ");
> } else {
> + INDENT(style);
> ADD_STRING(target, "ZONE: ");
> }
> snprintf(buf, sizeof(buf), "%1u",
> ******************** PATCH ****************
>
> And when You'ra at it:
> I would very much appreciate when we could get the *view name* into the
> dnstap output.
>
> I am running my nameservers as
> * authoritative to the public,
> * authoritative for the LAN,
> * recursing for the LAN (for DNSSEC to work some useful DANE things),
> * authoritative as root slave,
> * recursing as root slave (for DNSSEC to get 'AD' instead of 'AA'),
> * plus a couple of in-between cases,
> all in a single process. :)
>
> Obviousely that needs lots of views. I found dnstap to be the perfect
> and long desired solution for debugging and understanding what
> actually happens, to become even able to create more fancy setups.
>
> But then the view name is needed in the messages. There is an option
> 'dnstap-identity ( <quoted_string> | none | hostname );'
> and putting that into the views would be the natural solution - but
> that doesn't work, it gets rejected as a syntax error (for no reason
> obvious to me). I tried 918, it gets rejected there also.
>
> So for now I hacked it with a simple approach (because I know my
> version anyway, I need only the identity of an instance and the view)
> and that works for now:
> - dm->d.version.data = env->version.base;
> - dm->d.version.len = env->version.length;
> + dm->d.version.data = (uint8_t *)(view->name);
> + dm->d.version.len = strlen(view->name);
>
> But this is ugly as it computes strlen() on every call. I could do it
> nicer, but then I think the beforementioned option should be made
> working instead.
>
>
> -- PMc
> --
> Visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe from this list
>
> ISC funds the development of this software with paid support subscriptions. Contact us at https://www.isc.org/contact/ for more information.
>
>
> bind-users mailing list
> bind-users at lists.isc.org
> https://lists.isc.org/mailman/listinfo/bind-users
--
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742 INTERNET: marka at isc.org
More information about the bind-users
mailing list