What's left to doo on NTS.
Eric S. Raymond
esr at thyrsus.com
Sat Mar 2 17:26:43 UTC 2019
Hal Murray <hmurray at megapathdsl.net>:
>
> Eric said:
> >> I've been collecting major items in devel/TODO-NTS
> > Is there some reason this isn't just a section in nts.adoc? (Which may need
> > some GC at this point.) The whole idea of that document was to be a planning
> > whiteboard.
>
> Only signal to noise. I was trying to capture the big ideas without getting
> bogged down in details.
Fair enough. At some point in the near future I need to go through nts.adoc,
cull out the things we've done, and delete roads that won't be taken now.
*I* might merge those documents then. I'll give you a heads-up if I do.
> My big concern is that nobody else seems to be testing it. There may be
> dragons that I haven't poked.
Understood. Unfortunately I myself can't be much help here - my
outside view of NTP is still weak, I have only limited ability to
recognize what normal operation should look like or spot deviations
from it. Gary or Achim or Matt would be better for that end of
things.
> > Remember, I'm trying to get away from configure-time options.
>
> There is a fundamental conflict between ease of use, ease of debugging, and
> good security. I don't know how to resolve that. Mostly, I was trying to
> raise the issue. Configure-time issues are just a detail.
I don't know how to resolve it either, not in any global sense. We'll
just have to muddle through. I don't think we;ve done badly so far.
> For Go, can we build 2 versions by linking in different modules?
We can. That's what build tags allows. Getting the kind of fine-grained
control one has with #ifdefs would be complex, though - outside of regularly
structured cases like a driver table (which should really be handled by
code templating using "go generate") one could easily wind up in a
combinatorial tag explosion.
I strongly suspect that the weaker conditionalization support reflects a
deliberate choice on the part of the Go designers. I think they'd say that
the kind of feature-option trickery we're used to in C builds is a defect
attractor - and think they'd be right to say that.
> Has anybody looked at our configure time options? How many of them make sense
> in the context of Go? (ignore refclocks)
It was on my list. Now is not a bad time to look deeper.
Eyeballing the output of ./waf configure help I see
NTP configure options:
--disable-droproot Disable dropping root.
--enable-early-droproot
Droproot earlier (breaks SHM and NetBSD).
--enable-seccomp Enable seccomp (restricts syscalls).
--disable-mdns-registration
Disable MDNS registration.
--enable-classic-mode
Strict configuration and log-format compatibility with NTP Classic
--enable-debug-timing
Collect timing statistics for debugging.
NTP configure features:
--enable-leap-smear
Enable Leap Smearing.
--enable-leap-testing
Enable leaps on other than 1st of month.
--enable-mssntp Enable Samba MS SNTP support.
Refclock configure options:
--refclock=REFCLOCKS
Comma-separated list of Refclock IDs to build (or "all")
That's not terrible.
--
<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>
My work is funded by the Internet Civil Engineering Institute: https://icei.org
Please visit their site and donate: the civilization you save might be your own.
More information about the devel
mailing list