> hi,
> I'm about to upgrade our master dns server from 8.2.3 to 9.3.0, in
> the process i'm discovering a 'little-problem' with class HS/hesiod:
> zone updates when the slave is 9.3.0 and the master is 8.2.2 fail.
>
> general: info: zone passwd.NS.CS.HUJI.AC.IL/HS/hesiod: refresh: failure tryin
> g
> master 132.65.16.8#53 (source 0.0.0.0#0): FORMERR
>
> if the slave is runing version 9.2.2 it works fine, also between 9.3.0 and
> 9.2.2
>
> I could just upgrade our dns to 9.3.0 (and buy a one way ticket to Rio) and
> hope for the best, but i'd like a less drastic path.
>
> so, is there any simple fix?
>
> danny


8.2.3 emits IN additional address records for HS queries.
In doaddinfo() there is code like the following.
The "!match(dp, C_IN, T_A) &&" in the if conditional need to
be removed.

Mark

ns_req.c:doaddinfo()
if (ap->a_type == T_A &&
!match(dp, (int)ap->a_class, T_A) &&
!match(dp, C_IN, T_A) &&
!match(dp, (int)ap->a_class, T_AAAA) &&
!match(dp, C_IN, T_AAAA) &&
!match(dp, (int)ap->a_class, ns_t_a6) &&
!match(dp, C_IN, ns_t_a6)) {
continue;
}

needs to become

if (ap->a_type == T_A &&
!match(dp, (int)ap->a_class, T_A) &&
!match(dp, (int)ap->a_class, T_AAAA) &&
!match(dp, (int)ap->a_class, ns_t_a6)) {
continue;
}

This has already been done to later versions of BIND 8.
--
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742 INTERNET: Mark_Andrews@isc.org