r4 - 2007-10-20 - 19:58:14 - HarlanStennYou are here: NTP >  Dev Web > DevelopmentIssues > LineEditingLibraries
NTP users are strongly urged to take immediate action to ensure that their NTP daemons are not susceptible to being used in distributed denial-of-service (DDoS) attacks. Please also take this opportunity to defeat denial-of-service attacks by implementing Ingress and Egress filtering through BCP38.

ntp-4.2.8p15 was released on 23 June 2020. It addresses 1 medium-severity security issue in ntpd, and provides 13 non-security bugfixes over 4.2.8p13.

Please see the NTP Security Notice for vulnerability and mitigation details.

Are you using Autokey in production? If so, please contact Harlan - he's got some questions for you.

Line Editing Libraries

In ntp-4.2.4 and before, ntp searched for and used -ledit or -lreadline to provide line editing capabilities. This mechanism was incomplete, as described in bug_small.png Bug #764.

We now use the following argument to configure to show the order we search for line editing libraries (and readline must be manually provided because it is GPL code and not compatible with things like OpenSSL):


In ntp-4.2.5 (at least) and before, the line editing facilities were put directly into the source code of ntpdc.c and ntpq.c - pretty much duplicated code.

I'm wondering if it would be useful to create a new library, say ntpline, which would contain a library that ntpdc and ntp would call to handle all line input.

libntpline/Makefile.am would produce this convenience library, using one of the following files:

 stdio.c        for normal stdio
 readline.c     for -lreadline-compatible code
 edit.c         for -ledit-compatible

Additional 'methods' could be added easily.

This would reduce the #ifdef clutter in ntp{q,dc}.c and also give us a single point of service for these functions.

I'm thinking we'd need:


as the API (off the top of my head, as a first pass).

-- HarlanStenn - 20 Oct 2007

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r8 | r6 < r5 < r4 < r3 | More topic actions...
SSL security by CAcert
Get the CAcert Root Certificate
This site is powered by the TWiki collaboration platform
IPv6 Ready
Copyright & 1999-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors. Ideas, requests, problems regarding the site? Send feedback