This is the list of work items and potential work items I have extracted from my back mail.
Serious bug: We have a report from MAYER Hans <hans.ma...@iiasa.ac.at> that ifstats is broken, returning no output. It should be possible to pin down when this broke with a regression test. Possible work item (Ian): See how much of the C statustoa() function we can get rid of in favor of the Python implementation in pylib/util.c. Possible work item (me): Change Mode 6 so it no longer ships system status bits in hex, decoding them into a string token list instead, old behavior preserved under ENABLE_CLASSIC_MODE. This is because the PLL* definitions aren't guaranteed to be consistent across different system versions. Work item (me): Move the pivot application to timestamps as they are received. The current locus in sys_adjtime() is wrong. This won't be urgent until closer to 2036, but it's important - the current pivoting machanism probably doesn't work. (And what's with the 10-year stepback in there?) Must figure out a way to test it. Can be post-1.0. Work item (me): Hal wrote: We need a web page that summarizes this area - not the internal details, but the general problem and how it impacts users. NTP overflows in 2036 32 bit signed time_t overflows in 2038 GPS overflows every 1024 weeks (~20 years starting from 1980) First rollover was 22 August 1999 They added 3 bits in ??? Some older devices used pivot logic to extend their lifetime past 2000 A description of pivoting and how it works. Good URLs for more info Yes, we do need this. Now we should add a description of SOURCE_DATE_EPOCH and link to https://reproducible-builds.org/specs/source-date-epoch/ Work item: Replace typedef uint64_t l_fp; with typedef uint64_t l_fp_time; typedef int64_t l_fp_offset; Then replace all the places that used to use l_fp with the correct one. Then iterate on making macros and removing casts in the main code. Work item: Study this: https://developers.google.com/time/smear#standardsmear Are we implementing it? Work item: New Mode 6 responses that unpack status bits into list of string tags for the status bits. Avoids potential problem with PLL bits (outside our control) changing due to kernel mods. Work item: There are two date/time to text modules, prettdyate.c and humandate.c. Hal notes that seems like one too many. This whole area feels ripe for more cleanup. Hal thinks think one of the routines in prettydate is only used by python. This feels like an area where if we start getting rid of things then we can get rid of more things that nobody else uses. Work item: The lfpfloat() function in the Python interface may be dispensible. Convert the hex literal to float and divide by 1<<32 to scale to seconds since the NTP epoch. -- <a href="http://www.catb.org/~esr/">Eric S. Raymond</a> Alcohol still kills more people every year than all `illegal' drugs put together, and Prohibition only made it worse. Oppose the War On Some Drugs! _______________________________________________ devel mailing list devel@ntpsec.org http://lists.ntpsec.org/mailman/listinfo/devel