The end of the beginning is in sight

Eric S. Raymond esr at thyrsus.com
Sat Jan 7 06:27:24 UTC 2017


Hal Murray <hmurray at megapathdsl.net>:
> 
> esr at thyrsus.com said:
> > I think the solution for this is obvious.  We define an extension type the
> > contents of which, if it exists, SHOULD be used as the refid.
> > Implementations that don't know about that extension will be no worse off
> > than before. 
> 
> Only if they correctly ignore extensions that they don't expect.

What would "not ignoring" look like?

> I'll bet there is a lot of code out there that has never seen an extension 
> and does a simple sanity check on the length of a packet assuming there are 
> no extensions.

That could be. If it is, we're in the "must design NTPv5" future.  But I don't
think we'll know whether we're there unless we field a more conservative design
and get a lot of bug reports.

> [extenstions]
> > Can you be more specific about the past troubles?
> 
> Not really.  There was a lot of discussion about various complications on one 
> of the ntp lists.  I didn't follow all the details and/or I may be confusing 
> two discussions.
> 
> I think the problem was that autokey got tangled up in this area.  Maybe a 
> few magic lengths had to be avoided.  ???

That sounds uncomfortably plausible.  I can think of a workaround: add a
padding extension long enough that the packet can't have any of the
magic lengths.

> > I'm already sketching a couple of possibilities for NTPv5 in my head. Both
> > are based on the PNG model of self-describing chunks (which I've heard it
> > iherited from TIFF). One uses binary chunks, like PNG itself. The other uses
> > textual chunks.  I could detail-spec either in a couple days' work. 
> 
> It's not hard if you have a clean slate.  It's much more complicated if you 
> have to support existing installed gear that won't get updated.

If we're using a new protocol number it's clean slate.  If we're not, it
has to be extensions a go-go.  I don't see a third alternative.

My heart wants to do a clean-slate design - it is a job I thnk I am
near ideally equipped for by inclination and experience. My head says
that could easily become a deployment nightmare and we should
establish the impossibility of doing an effective job with extensions
first.  My head is winning, so far.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>


More information about the devel mailing list