Updated to-do list?

James Browning jamesb192 at jamesb192.com
Sun Apr 9 07:14:41 UTC 2023

> On 04/08/2023 2:45 PM PDT Hal Murray <halmurray at sonic.net> wrote:
> > Given that the things I have been turning in are not in the direction
> > we are headed, what should I be working on? Other than trying to do a
> > Golang port by myself, or revisiting the more than a-year-old list?
> MR 1307 and/or 1309 is high on my list. I was hoping somebody else would be
> interested.

Grab a shovel and a Philosopher's Stone.

> What's on your year old list?
TLDR back in June 2021, I kicked off the previous to-do list by revisiting the in-tree devel/TODO.adoc file [1] and randomly commenting on the points. [2]

This led to ESR kicking off the provisional new list with the sole item of porting NTPsec (probably) to Golang [3]. I kicked in my tuppence[4].

* check on the state of C to Rust/Golang transpilers (They sucked)
* Archipelligo model but with threads rather than discrete processes to enable per thread seccomp.
* Implement a toy that hits all of the (sys)calls used by NTPsec quickly (for seccomp again)
* try to break up sizeable opaque code blocks (maybe enabling things like refclockd and testframe)
* Testing
** compilers other than GCC/Clang
** kernels other than Linux (token FreeBSD/Darwin)
** other libC implementations, file Hierarchies
* Update the docker runners to be better
* sort out my miscellaneous merge requests
(whatever frippery I think up)

with the result primarily being [5]

* Port away from C

with minor diversions to

* Resolve CVEs
* close issues to have less than 20 open
* More extensive unit-tests
* Releases

[1] https://gitlab.com/NTPsec/ntpsec/-/blob/master/devel/TODO.adoc

[2] https://lists.ntpsec.org/pipermail/devel/2021-June/009761.html

[3] https://lists.ntpsec.org/pipermail/devel/2021-June/009775.html

[4] https://lists.ntpsec.org/pipermail/devel/2021-June/009779.html

[5] https://lists.ntpsec.org/pipermail/devel/2021-June/009798.html

> For a small project, I think we should make mode6/ntpq require the cookie on
> everything but getting the cookie, and we should make sure that there is no
> amplification when getting the cookie.

That would break compatibility with ntpq from classic NTP.

> How much do you know about Go? Can you write a multi-threaded echo server?
> I have a collection of hacks for measuring performance of NTP servers. Down
> hill and with a tailwind, I can get 1,000,000 packets per second. I have C
> and Rust versions. It would be neat to try a Go version.

I can manage to do that.

More information about the devel mailing list