r3 - 2008-06-29 - 19:52:06 - RahulKumarYou are here: NTP >  Dev Web > GoogleSummerOfCode > GSoC2008doc > GSoC2008docStatusReports
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.

GSoC 2008 Documentation Project Status Reports

Related Topics: GSoC2008doc

June 06

Using Mdoc to create manual pages for NTP Project

  • We are using currently man(7) macros for producing manual pages for NTP , which is generated by AutoGen using Autoopts. man(7) page layout leaves the manipulation of fonts and other typesetting details to individual.

  • Autoopts also produce output in plaintext hence there is no scope for font manipulation and page layout.

  • We will be using ManDoc used by freeBsd to produce automated documentation for NTP project to produce more formatted man page.

Advantage of ManDoc over man(7)

  • In -mdoc, page layout macros make up the page structure domain which consists of macros for titles, section headers, displays and lists - essentially items which affect the physical position of text on a formatted page.

  • It has separate manual and general text domain, which makes man page generation easy and consistent.

  • It supports parsing of macros while processing this gives us power to nest micros.

  • We can pass space character in arguments.

Manual page template

The body of a man page is easily constructed from a basic template:

.\" The following commands are required for all man pages.

. Dd Month day, year

.Os [OPERATING_SYSTEM] [version/release]

.Dt DOCUMENT_TITLE [section number] [architecture/volume]


.Nm name

.Nd one line description of name

.\" This next command is for sections 2 and 3 only.




.\" The following commands should be uncommented and

.\" used where appropriate.


.\" This next command is for sections 2, 3 and 9 function

.\" return values only.


.\" This next command is for sections 1, 6, 7 and 8 only.


.\" .Sh FILES


.\" This next command is for sections 1, 6, 7, 8 and 9 only

.\" (command return values (to shell) and

.\" fprintf/stderr type diagnostics).



.\" This next command is for sections 2, 3 and 9 error

.\" and signal handling only.

.\" .Sh ERRORS

.\" .Sh SEE ALSO




.\" .Sh BUGS



Author Name


Configuration Declarations (Section Four Only)

Command Modifiers

Defined Variables


Environment Variables


Function Declarations

Function Types

Functions (Library Routines)

Function Arguments

Return Values

Exit Status

Interactive Commands

Library Names






Variable Types


Manual Page Cross References


AT&T Macro

BSD Macro

NetBSD Macro

FreeBSD Macro

DragonFly Macro

OpenBSD Macro

BSD/OS Macro

UNIX Macro

Emphasis Macro

Font Mode

Enclosure and Quoting Macros

No-Op or Normal Text Macro

No-Space Macro

Section Cross References


Mathematical Symbols

References and Citations

Trade Names (or Acronyms and Type Names)

Extended Arguments


Section Headers

Subsection Headers

Paragraphs and Line Spacing


Examples and Displays

Lists and Columns

Reference : Groff-mdoc sample

Author : Rahul Kumar


june 20 (Creating ntpd(8) page)

As reported on on june 6 i was following a approach to create a brand new man page using the manDoc format used by freeBsd.

But it had some shortcomings .

1.We have to add additional support for .cat file which is unnecessary overhead at this time of project.

2.The main goal is to produce a improved man page and converting it to various format and we have pre existing template for creating .1 man page as agman.tpl.

3.So, we came to an idea of producing a new ntpd(8) page by using pre- existing agman.tpl file and writing a new definition file.

Writing a new .def file for ntpd(8)

1.Since we are having pre existing ntpd(8) page from freeBsd ,so i tried to model my ntpd(8) page on that page .

2. First comes the problem that agman1.tpl is only made to produce man(1) pages and since want to produce man(8) page we will have to override "AutoGen5 template man=%s.1".

3.ntpd(8) need to have description , so i added the description in detail = <<- _END_DETAIL section.ntpd(1) had no description.

4.Writing the option section was as easy as to give the definition flag as done in in ntpd(1).

5.I have to add extra sections as how ntp operates and Files which needs some change in template itself.

6. agman1.tpl is only made to create man(1) page ,so to add some extra feature of man(8) pages we need to make it more flexible, along with writing a def file for the man page we want to create.

Reference : URL : http://www.freebsd.org/cgi/man.cgi?query=ntpd&apropos=0&sektion=0&manpath=FreeBSD+7.0-RELEASE&format=ascii

Author : Rahul Kumar

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r3 < r2 < r1 | 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