[tz] Bulletin C number 57

Chris Woodbury tzocd at yahoo.com
Tue Jan 29 10:42:35 UTC 2019

Brian Inglis is correct, changes to the "white space" [newline, space, tab, and carriage return] and comments
do not change FIPS 180 Secure Hash Standard (SHS) digests.

And, yes, Paul Eggert is correct, I have a script that generated the file I submitted to the mailing list.

However, it was written for my personal use (I generate my own leap-seconds.list file for use by NTPd
on my local systems) and does decidedly *not*  meet all the restrictions placed upon the code within
the TZ sphere.by ICANN/IANA (and IETF?).  I shudder at the thought of making it do so.

First, it uses GNU's sha1sum to calculate the FIPS 180 digest string.  sha1sum will return the same
digest as FIPS 180 given the *same input*.  The trick is getting the same input... It also uses tolower()
in AWK to ease the parsing it does.  (I've got a FIPS180 shell function, too.)

Two, the script is really automatic.  It parses Bulletin C and the USNO/MAIA's leapsec.dat file.  I use
AWK to pull leap-second data from leapsec.dat, convert it to NTP timestamps and TAI-UTC offsets,
which, along with the data extracted from Bulletin C (which provides the update and expiry timestamps)
is all the information needed to make a leap-seconds.list file.

Lastly, *it literally drives me nuts* (see real mail address) that leapseconds.awk uses the date in the
comments to generate "leapseconds".  So, no, I don't think I'll change the comments in the file.
THEY'RE COMMENTS!  There is no, none, zero, nada guarantee the comments represent anything
in particular.  Data on the other hand, does ... we really should be using it.

Maybe we should be using USNO/MAIA leapsec.dat to generate the ZIC Leap directives in the first place.
The date there is not a comment.  It's also easier to manipulate days than seconds (86400 time less
chance of an overflow.)  We could even generate our own version of leap-seconds.list for downstream
users (and never worry about government shutdowns again).  (A trade-off with Paris rioting?)
IERS/USNO/MAIA Bulletin A (ser7.dat), series14.txt and leapsec.dat could be used instead of the
the copyright files at the Paris Observatory.

This is not to say I won't help. I would be glad to provide leapseconds.awk code that use the *actual data*
to generate the proper ZIC Leap directives.  I have several versions of leapseconds.awk that meet
all hoops the TZ code must be put through.  In particular, I, and Dennis Ferguson, have  AWK functions
 that manipulate NTP timestamps into a format that can generate date strings usable for ZIC LEAP directives.

Thanks to dennis.c.ferguson for the germ of an idea to start years on 1 March when calculating leap-days.
BTW, Dennis, 15th century Gregorian timestamps are not proleptic.  The Gregorian calendar starts on
15 Oct 1582 (14th cent).

A belated and long overdue thanks to Paul for pointing out Dennis function.  I apologize.

Finally, this is all moot, the shutdown is over, NIST will eventually make an updated leap-seconds.list file
(with the wrong update timestamp but a correct expiry).  Also, Jeff Prillaman at USNO Time Services Dept.
 has put up an updated leap-seconds.list file at Tycho.USNO.Navy.Mil.  (Thank you, Jeff !!)  (The GIT backup
source for leap-seconds.list (I hope)?)

More information about the tz mailing list