In message <3809dd3b-af63-492e-bc2d-e447ee4b3...@ogud.com>, Olafur Gudmundsson 
writes:
>
> > On Mar 25, 2015, at 8:33 AM, Mark Andrews <ma...@isc.org> wrote:
> >
> >
> > In message
> <alpine.lsu.2.00.1503251055490.23...@hermes-1.csi.cam.ac.uk>, Tony Finch
> writes:
> >> John Dickinson <j...@sinodun.com> wrote:
> >>>
> >>> I support this draft. One thing that jumped out to me was there
> appears
> >>> to be no mention of NSEC/NSEC3 chain management when adding/removing
> >>> records.
> >>
> >> Even if the slave is able to work out what the necessary changes are to
> >> the NSEC chain, the master is still going to have to send the new RRSIG
> >> records. So I don't think there would be much saving from adding
> special
> >> cases for NSEC and NSEC3.
> >
> > NSEC is a singleton record.  Adding a new one indicates a implicit
> > deletion of any other NSEC record at that name.  This does not
> > indicate that all NSEC deletes can be removed from the IXFR stream,
> > when constructing a MIXFR stream, only those with a matching addition.
> >
> > Adding a NSEC3 record causes a implicit deletion of the existing
> > NSEC3 with matching parameters.  This does not indicate that all
> > NSEC3 deletes can be remove from the IXFR stream, when constructing
> > a MIXFR stream, only those with a matching addition.
>
>
> The only cases where MIXFR can safe in the case of NSEC3 are
> a) add of updated NSEC3 with same owner name as singleton the old one is
> deleted

NSEC3 is not a singlton.  It is a quasi singleton record.  Two
chains may have names that hash to the same value which is why I
said to check the parameters.  Statistically this is extremely
unlikely but it is easy to check to ensure that you are not removing
from a different chain.  Named already does this check when rebuilding
NSEC3 chains after processing a UPDATE mesaage.

> b) replacement of NSEC3PARM implies that the NSEC3’s matching old
> NSEC3PARAM can be deleted.

Multiple NSEC3PARAM records are permitted.  A server only needs to
pick one when generating a reply.  There is zero requirement for a
server to delete all NSEC3 records that make up a NSEC3 chain
atomically.  Named doesn't do this today and I have no intention
of making the incremental management of NSEC/NSEC3 constuction /
destruction do this.  This work is deliberatly broken up to allow
a server to appear to simultaneously answer queries, to rebuild/destroy
NSEC/NSEC3 chains in zones and to accept new updates without having
to rely on the OS supporting threads.

NSEC3PARAM -> NSEC3 inference you are describing above depends on
atomicity of changes which just do not happen and cannot be made
to happen without detremental effects.

> Olafur
>

-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: ma...@isc.org

_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to