r16 - 2008-06-06 - 18:47:56 - RahulKumarYou are here: NTP >  Dev Web > GoogleSummerOfCode > GSoC2008doc
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.

Documentation Pre-Processor (Google Summer Of Code - 2008)


We are using AutoOpts from GNU AutoGen to handle the command-line options processing of the NTP programs.

AutoOpts has the ability to produce a variety of program documentation, including man pages, html, .texi, and .txt.It consist of set of AutoGen templates and run time library makes it easy to parse command -line option.

Right now, AutoOpts puts "plain text" into its output formats. I'd like to have a framework where we can at least begin to support some sort of "tags" where we can put information into different fonts (like using ntpd when documenting the ntpd command, perhaps "declaring" that we are using a mandoc style and using .Nm whenever we want to see ntpd). I'd also like the ability to document configuration keywords, and perhaps some support for simple tables.

If the "source" for the documentation is used to produce a man page, the output would be a decent-looking man page. If this same source is used to produce .texi page, the resulting .info page should also look good (and perhaps contain appropriate cross-indexes).

We need something more than what we have now, and I would expect that the results of this effort would be incorporated into the AutoGen project, so even more folks could benefit from this work.

One idea I had for this was that one could specify the "format" for the embedded doc strings in the .def file. For example, options could include .man, .mandoc, .texi and .pod (and maybe .html). This "autogen doc processor" would grok the doc strings based on the specified format, and use that info to properly (at least as best as can be done) assist in the production of the various formats.

Here is one possible way to specify this.

 detail = <<- _END_DETAIL 
        Here is a plain-text detail line. 
 detail = <<- _END_DETAIL MAN
        .SH This is a section heading.
 detail = <<- _END_DETAIL MDOC 
        .Sh This is a section heading.
 detail = <<- _END_DETAIL TEXI 
        Here is a @strong{strong} detail line using @code{.texi} markup. 
 detail = <<- _END_DETAIL POD 
        =head1 This is a Heading 
        and here is a L<crontab(5)> link to a man page. 

Status Reports and other links

Status Reports: GSoC2008docStatusReports

Sponsoring Organization: http://www.gnu.org/s/soc-projects/ideas.html#autogen

Requirements: C, possibly guile

Related Topics: GNUAutoGenConversion

Preferred License: LGPL

Student: RahulKumar

Mentor: HarlanStenn (with help from BruceKorb, the primary developer of AutoGen)

How do you think his project can be implemented and what exactly the milestone should consist of? I think that I will have to write a plugin or something called "doc processor" in scheme by using guile and incorporate into the autoopts.

-- RahulKumar - 02 May 2008


As for implementation, there is one idea in the proposal above.

I recommend you look at the items in the "Related Topics:" section above and also at the man pages for the various parts of NTP that are included with, for example, FreeBSD.

We figure out a list of items that will need to be formatted for the various output styles we will need. This may include:

  • formatting the program name
  • config file formats/syntax/descriptions
  • info for man page sections (FILES, SEE ALSO, BUGS)

We figure out some ways to do it.

-- HarlanStenn - 02 May 2008


Implementation Milestones

Task DescriptionSorted descending % Done Delivery Date
06 Jun Status using mandoc to decide features for man page   20080606
Wrap Up Soft "Pencils Down"   20080811
Midterm Eval Midterm Evaluation Due   20080714
Writing document processor It will be written in LISP/scheme.It will support pre and post triggers.    
Project Ends Hard "Pencils Down"   20080818
Applying it for NTP. Finally the purpose is met.    
Final Evaluation Final Evaluation   20080901
20 Jun Status Exporting a ManDoc page from FreeBsd   20080620
04 Jul Status Conversion of page into HTML   20080704
Integrating it to AutoGen. By use of GNU AutoMake tools.    
18 Jul Status Biweekly Status Report   20080718
01 Aug Status Biweekly Status Report   20080801
15 Aug Status Biweekly Status Report   20080815
Midterm Eval Begin Midterm Evaluation   20080707
Frame work design All the features we want to implement like tag support and support for tables.    

-- HarlanStenn - 22 May 2008

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r21 | r18 < r17 < r16 < r15 | 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-2020 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