[Git][NTPsec/ntpsec][proto-refactor] 90 commits: Improve driver documerntation - mainly adding the mode bit to summaries.

Daniel Fox Franke gitlab at mg.gitlab.com
Fri Jul 8 16:30:53 UTC 2016


Daniel Fox Franke pushed to branch proto-refactor at NTPsec / ntpsec


Commits:
00d56365 by Eric S. Raymond at 2016-06-27T15:21:08-04:00
Improve driver documerntation - mainly adding the mode bit to summaries.

- - - - -
10dbc43f by Eric S. Raymond at 2016-06-27T15:52:29-04:00
Make the unit clause of the refclock directive optional.

- - - - -
10389e41 by Eric S. Raymond at 2016-06-27T16:32:59-04:00
Add configuration examples to driver pages.

- - - - -
7e0f04cb by Eric S. Raymond at 2016-06-27T16:50:27-04:00
Fix refclock-directive parsing.

Apparently tring to us the same estrdup copy twice could cause a
stale-pointer bug later in initialization.

- - - - -
35da103d by Eric S. Raymond at 2016-06-27T17:40:10-04:00
Do not attempt to lock ntpd into memory.

This had a bad interaction with the async-DNS code that leads to
sporadic crashes. There are some possible fixes that add code
complexity in Classic, but the right thing to do is (a) notice that
this call is pretty useless on modern systems, which swap so seldom
that many people don't bother with swap partitions, and (b) simplify
by dropping the code.

One good reason to retain this might have been crypto security.  But
our crypto geek says: "Some people like to use memory locking to make
sure that intermediate results of crypto computations don't get
written to swap and sit there long-term. But that's only useful if
you're not already storing keys on disk (rather than on, say, an HSM),
and we don't support any alternative to that."

- - - - -
c1ec30c7 by Eric S. Raymond at 2016-06-27T18:53:10-04:00
hp58503a -> hpgps, at Hal Murray's suggestion.

- - - - -
5a947d84 by Eric S. Raymond at 2016-06-27T19:19:43-04:00
hgpgps driver *does* use the mode flag; note this.

- - - - -
f4ae76db by Eric S. Raymond at 2016-06-27T22:38:27-04:00
Fix a reversed test that was messing up pool response handling.

- - - - -
d706dfc2 by Eric S. Raymond at 2016-06-28T07:38:21-04:00
Fix a few documentation glitches.

- - - - -
2bd84c41 by Eric S. Raymond at 2016-06-28T07:48:42-04:00
Follow up memlock removal - remove setrlimit() that's a no-op without it.

This used t be done because Linux had a memory limit sometimes smaller than
ntpd's working setup, but that is no longer true - probably changed in the
64-bit transition.

- - - - -
05e36ed4 by Eric S. Raymond at 2016-06-28T08:05:52-04:00
NEWS update.

- - - - -
2403f640 by Eric S. Raymond at 2016-06-28T08:31:38-04:00
Major revision of the list of visible changes from Classic.

- - - - -
c225c835 by Eric S. Raymond at 2016-06-28T09:34:54-04:00
Make the hpgps driver shortname consistent.

- - - - -
7fb3fe2b by Eric S. Raymond at 2016-06-28T10:03:29-04:00
Eliminate a whole set of dependencies on no-longer-used driver numbers.

- - - - -
012a5f93 by Eric S. Raymond at 2016-06-28T11:35:27-04:00
Avoid some indirectitions through the driver table.

- - - - -
f0cf98a9 by Eric S. Raymond at 2016-06-28T12:07:08-04:00
Clean up a bit more around driver structure access.

- - - - -
3221d205 by Eric S. Raymond at 2016-06-28T13:01:31-04:00
Eliminate last use of refclktype.

- - - - -
a24d9930 by Eric S. Raymond at 2016-06-28T18:18:08-04:00
Fix refclock table formatting.

- - - - -
e3bdd60e by Eric S. Raymond at 2016-06-29T06:06:59-04:00
Format typo fix.

- - - - -
5ed58cc5 by Eric S. Raymond at 2016-06-29T06:52:02-04:00
Narrow magic-address dependency further.

The smoke test for this is that local refclock declarations didn't break.

- - - - -
2d529a55 by Eric S. Raymond at 2016-06-29T07:46:25-04:00
Ferret out and fix a well-hidden magic-address dependency...

...in the generic driver.

- - - - -
faca5e39 by Eric S. Raymond at 2016-06-29T07:50:50-04:00
Final confinement of all magic-address tests to ntpd/ntp_config.c.

- - - - -
c66208b5 by Eric S. Raymond at 2016-06-29T07:56:57-04:00
Remove unused structure declaration and extern.

This should have gone away with the clocktypes array.

- - - - -
62ca9f7b by Eric S. Raymond at 2016-06-29T09:05:31-04:00
Fully update the documentation for the refclock directive.

- - - - -
29b1912e by Eric S. Raymond at 2016-06-29T09:20:03-04:00
Eliminare a magic-address assumption in a comment.

- - - - -
4e065481 by Eric S. Raymond at 2016-06-29T09:28:19-04:00
Remove a historical relic.

- - - - -
e53fdfd6 by Daniel Fox Franke at 2016-06-29T13:12:33-04:00
Make sendpkt() take void* for data

- - - - -
d140b8ea by Hal Murray at 2016-06-30T13:20:47-07:00
Tweak loopstats drift description

- - - - -
27b7d2d2 by Hal Murray at 2016-06-30T14:20:05-07:00
Fix for not building without a refclock

- - - - -
55cb81a8 by Eric S. Raymond at 2016-07-01T07:45:13-04:00
Booleanization.

- - - - -
7c452322 by Eric S. Raymond at 2016-07-01T08:33:03-04:00
Rename mx4200 driver to 'magnavox'.

- - - - -
07cd3b2e by Eric S. Raymond at 2016-07-01T08:56:44-04:00
Minor documentation updates.  Carry through as2201 -> austron rename.

- - - - -
25f4902a by Eric S. Raymond at 2016-07-01T09:16:50-04:00
Remove supportt for listen-only Atron flag...

...it requites a streams module from an obsolete Sun version.

- - - - -
7602fd40 by Eric S. Raymond at 2016-07-01T09:36:18-04:00
Correct a comment for new refclock syntax.

- - - - -
ed5062a7 by Eric S. Raymond at 2016-07-01T14:36:57-04:00
Address GitLab issue #89: compile failure of refclock_conf.c

Finger error from the as2201 -> austron name change.

- - - - -
2c970b33 by Eric S. Raymond at 2016-07-01T14:59:03-04:00
Added "atom", "in-band time" and "popcorn spike" to glossary.

- - - - -
b20dd2b5 by Eric S. Raymond at 2016-07-01T15:02:12-04:00
STI -> IBT. Apparently perly didn't know the common term for this.

- - - - -
a81c42bc by Eric S. Raymond at 2016-07-01T15:13:06-04:00
Follow up on STI -> IBT terminology change.

- - - - -
ca7761f0 by Hal Murray at 2016-07-01T20:33:50-07:00
Add usestats: statistics on resource usage

- - - - -
0cc21552 by Hal Murray at 2016-07-01T20:34:47-07:00
Merge branch 'master' of gitlab.com:NTPsec/ntpsec

- - - - -
08bd5623 by Eric S. Raymond at 2016-07-02T08:32:02-04:00
Remove a now-unused prototype.

- - - - -
1cb07cd8 by Eric S. Raymond at 2016-07-02T09:34:35-04:00
Fix some misleading error codes.

- - - - -
fe05e182 by Eric S. Raymond at 2016-07-02T16:50:35-04:00
Add chrony-style unlimited memlock to reduce latency.

- - - - -
ffd0a125 by Eric S. Raymond at 2016-07-02T16:50:35-04:00
Minor update of new features and requirements.

- - - - -
0e880ad0 by Eric S. Raymond at 2016-07-02T19:14:50-04:00
Note that asciidoc 8.6.0 is required.

- - - - -
0ed4e17d by Eric S. Raymond at 2016-07-02T21:51:15-04:00
Explain why and how to avoid merge bubbles.

- - - - -
d57d9c90 by Hal Murray at 2016-07-02T23:16:29-07:00
Remove file leftover from using saveconfigquit to check parser.

- - - - -
7dc4671a by Hal Murray at 2016-07-02T23:56:13-07:00
Fix typos.

- - - - -
2e50da40 by Hal Murray at 2016-07-03T17:01:55-07:00
Formatting fixes and minor tweaks.

- - - - -
ff69693d by Eric S. Raymond at 2016-07-04T05:08:13-04:00
TESTFRAME: Trying capture-replay at the protocol-machine level didn't work...

...there was too much peer state that never got updated.  We're going
to have to take more of an outside-view approach, capturing raw packet reads
and circumventing the poll-interval machinery.

This patch begins to clear the decks, getting rid of intercept_receive -
which will be replaced by a packet-read-level intercept.  Fortunately, most
of the other machinery will not need to change.

- - - - -
f969a3ee by Eric S. Raymond at 2016-07-04T05:34:23-04:00
TESTFRAME: Intercept open_socket() and recvfrom.

A step towards complete socket mocking for capture/replay.

- - - - -
d79419eb by Eric S. Raymond at 2016-07-04T05:54:20-04:00
TESTFRAME: Capture mode for packet receives and socket opens.

- - - - -
28b96070 by Eric S. Raymond at 2016-07-05T06:29:31-04:00
Fix elementary coding error in driver name matching. Duh.

- - - - -
7c8262b4 by Eric S. Raymond at 2016-07-05T06:36:50-04:00
Fix outdated comment.

- - - - -
42e675e7 by Eric S. Raymond at 2016-07-05T06:57:38-04:00
Terminology change: mode -> subtype when it refers to a device type.

This is for the reclock syntax; "mode" is still recognized as a synonym,
abd still used in the NMEA driver where that optoon controls sentence
mix and baud rate.

- - - - -
56471f9e by Eric S. Raymond at 2016-07-05T07:08:45-04:00
Remove a macro that is now only used once.

- - - - -
5d45b6a5 by Hal Murray at 2016-07-05T23:59:39-07:00
Fix for refclock poll time ramp up

- - - - -
08f82ddb by Eric S. Raymond at 2016-07-06T05:18:55-04:00
Address GitLab issue #91: ...mentions 5 phases instead of 4

- - - - -
7ca77376 by Eric S. Raymond at 2016-07-06T05:51:26-04:00
Under Linux, keep scheduler privileges (cap_sys_nice) when dropping root.

- - - - -
b0765cbe by Eric S. Raymond at 2016-07-06T06:02:01-04:00
Remove mention of some options from the old autoconf build.

- - - - -
af329dab by Eric S. Raymond at 2016-07-06T06:14:23-04:00
Remove the complaint that ntpd has gotten fat.

A good deal of internal complexity (notably the mode 7 code and
autogen) has been shed since that was written.  With refclocks
configured out, the working set is actually pretty modest by 2016
standards.

- - - - -
4b82ee92 by Eric S. Raymond at 2016-07-06T06:59:07-04:00
Address GitLab issue #70: waf should die if...

...it can't find sys/capability.h on linux.

I've turned this into a more general check and moved it to
runtime. This gives operators the ability to recover by leaving off
the -u and -i options.

- - - - -
26148470 by Eric S. Raymond at 2016-07-06T07:51:56-04:00
Minor documentation typo fixes.

- - - - -
4c0975e6 by Eric S. Raymond at 2016-07-06T10:56:35-04:00
More magic-address banishment.

This commit is a bit of a grab-bag.  First, it adds a build option
--enable-classic-mode that can be used to prevent the new behaviors
the rest of the patch implements.

Then, it modifies some logging functions so that the
clock-identification fields in them become composed from the driver
shortname string and the unit number, rather than being a 127.127.t.u
address.  The --enable-classic-mode option *restores* the old behavior.

Finally, it modifies the documentation to reflect the new behavior.

- - - - -
7a06ce78 by Eric S. Raymond at 2016-07-06T11:34:32-04:00
Convert README.stats to asciidoc.

- - - - -
d6fb211b by Hal Murray at 2016-07-06T15:09:21-07:00
Fix warning if no refclocks, add comment

- - - - -
836c1602 by Eric S. Raymond at 2016-07-06T18:31:41-04:00
Fix a compiler warning...

...that scrolled off my screen before I could see it first time.

- - - - -
80983d15 by Eric S. Raymond at 2016-07-06T21:30:00-04:00
Remove remnants of old workaround for the mlockall/threads/async-DNS bug.

- - - - -
aee181fd by Eric S. Raymond at 2016-07-06T22:05:21-04:00
Revert "Convert README.stats to asciidoc."

We need to back out my logging-related changes until we figure out
what earlier change broke peerstats logging.

- - - - -
a610b35b by Eric S. Raymond at 2016-07-06T22:08:21-04:00
Revert "More magic-address banishment."

We need to back out my logging-related changes until we figure out
what earlier change broke peerstats logging.

- - - - -
be7ecbdf by Eric S. Raymond at 2016-07-06T23:34:35-04:00
Revert "Terminology change: mode -> subtype when it refers to a device type."

Adding "subtype" to the token table as an alias for "mode" apparently confuses
the crap out of the scanner generator.  The symptom of this is strangely
specific - the "peerstats" keyword is no longer recognized, breaking logging.

This reversion restores things to a good state.  Next, figure out out why
the scanner generator is losing its merbles.

- - - - -
3d878b19 by Eric S. Raymond at 2016-07-07T04:55:37-04:00
Re-introduce subtype keyword without the lossage.

Looks like the scanner doesn't like it when you try to alias multiple strings
to one value.

Logging live-tested at tis revision works.

- - - - -
c6d0a486 by Eric S. Raymond at 2016-07-07T05:52:15-04:00
Carry through the mode->subtype change in documentation and comments/

Restores some changes earlier reverted.

- - - - -
1c32ac75 by Eric S. Raymond at 2016-07-07T06:44:01-04:00
Refactoring step: Give record_clock_stats() the peer structure...

...so it can have access to the procptr member of the clock. We'll
use this in a later change.

Live-testing clockstats logging works at this revision.

- - - - -
ea3622c3 by Eric S. Raymond at 2016-07-07T07:09:54-04:00
Refactor the logging hooks for peer, loop, and raw stats...

...so they have access to peer->procptr. We'll use this in a later
behavior change.

Logging of peer, loop, clock, and raw statistics works live at this
revision.

- - - - -
c8c52817 by Eric S. Raymond at 2016-07-07T07:44:36-04:00
Change logs to use new-style clock identifiers (e.g. not magic addresses).

The --enable-classic-mode build switch restores the old behavior.

All log channels work live (with new clock IDs) at this revision.

- - - - -
864da517 by Eric S. Raymond at 2016-07-07T08:03:28-04:00
More magic-address banishment.  No code changes.

- - - - -
56e2290b by Eric S. Raymond at 2016-07-07T08:20:29-04:00
Document the (rather accidental) removal of a limit in the generic driver.

The changes to banish magic driver addresses made it possible to pass the
generic driver unit numbers above 3.

- - - - -
c0608ca9 by Eric S. Raymond at 2016-07-07T09:32:45-04:00
Document an accidebtally-introduced problem with old config syntax.

- - - - -
35e7592d by Eric S. Raymond at 2016-07-07T09:40:34-04:00
Clearer phrasing.

- - - - -
a3852f0c by Eric S. Raymond at 2016-07-07T10:20:01-04:00
Make --enable-classic-mode re-enable old-style config for generic driver.

- - - - -
c418f382 by Eric S. Raymond at 2016-07-07T16:00:50-04:00
Bundle some server flags into a struct.

- - - - -
f54e8ff3 by Eric S. Raymond at 2016-07-07T17:24:17-04:00
Eliminate some pointless gymnastics in the config parser.

For some odd reason the code for parsing server clauses created a secondary
FIFO of attribute/value nodes to be composed into flag bits later, rather
than simply composing the flag bits immediately.  It worked, but why?

- - - - -
9bf60227 by Eric S. Raymond at 2016-07-07T22:31:26-04:00
Add support for NetBSD clockctl interface.

According to clockctl(4), if the owner of a non-root device has access to
/dev/clocktl, that process will be be able to set and slew the clock
through all the time-related system calls normally availabke to root.

What we do here is presume that the ntp user has that access.  Thus
we refrain from bailing out after dropping root.

- - - - -
77741ce0 by Hal Murray at 2016-07-07T20:00:09-07:00
Add _H to HAVE_SYS_CLOCKCTL_H in ntp_sandbox

- - - - -
438fdc29 by Hal Murray at 2016-07-07T21:23:11-07:00
Fix compiler warnings in ntp_intercept

- - - - -
965462b9 by Eric S. Raymond at 2016-07-08T00:53:50-04:00
record_raw_stats() never sees clock data, so simplify life.

- - - - -
f6ae4b5d by Eric S. Raymond at 2016-07-08T09:06:33-04:00
Move versioon field into peerctl, and move peer_config()...

...into ntp_config.c.  No code changes, this is just better containment.

- - - - -
1ec52223 by Eric S. Raymond at 2016-07-08T09:36:33-04:00
Take advantage of struct encapsulation to simplify some signatures.

- - - - -
16a9997e by Daniel Fox Franke at 2016-07-08T12:28:23-04:00
Merge branch 'master' into proto-refactor

Resolved merge conflicts surrounding removal of xleave from the
parser, a change to the signature newpeer(), and removal of the
is_network_packet() function.

- - - - -


30 changed files:

- INSTALL
- NEWS
- devel/hacking.txt
- docs/driver-howto.txt
- docs/driver_acts.txt
- docs/driver_arbiter.txt
- docs/driver_austron.txt
- docs/driver_chu.txt
- docs/driver_dumbclock.txt
- docs/driver_generic.txt
- docs/driver_gpsd.txt
- docs/driver_hp58503a.txt → docs/driver_hpgps.txt
- docs/driver_irig.txt
- docs/driver_jjy.txt
- docs/driver_jupiter.txt
- docs/driver_local.txt
- docs/driver_mx4200.txt → docs/driver_magnavox.txt
- docs/driver_neoclock.txt
- docs/driver_nmea.txt
- docs/driver_oncore.txt
- docs/driver_palisade.txt
- docs/driver_pps.txt
- docs/driver_shm.txt
- docs/driver_spectracom.txt
- docs/driver_truetime.txt
- docs/driver_zyfer.txt
- docs/includes/clock-options.txt
- docs/includes/misc-options.txt
- docs/includes/mon-commands.txt
- docs/includes/ntpd-body.txt


The diff was not included because it is too large.


View it on GitLab: https://gitlab.com/NTPsec/ntpsec/compare/2d4764fa2c977a764b2fd0f56216032eb799111a...16a9997e33f8bf6502a89159e8f40ba50ab5dd55
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ntpsec.org/pipermail/vc/attachments/20160708/eb1561a9/attachment.html>


More information about the vc mailing list