Package: net-tools Version: 2.10-1.1 Severity: minor Tags: patch * What led up to the situation?
Checking for defects with a new version test-[g|n]roff -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=10 -ww -z < "man page" [Use "groff -e ' $' -e '\\~$' <file>" to find obvious trailing spaces.] ["test-groff" is a script in the repository for "groff"; is not shipped] (local copy and "troff" slightly changed by me). [The fate of "test-nroff" was decided in groff bug #55941.] * What was the outcome of this action? Output from "test-groff -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=10 -ww -z ": troff:<stdin>:14: warning: trailing space in the line troff:<stdin>:81: warning: trailing space in the line troff:<stdin>:83: warning: trailing space in the line troff:<stdin>:85: warning: trailing space in the line troff:<stdin>:87: warning: trailing space in the line troff:<stdin>:89: warning: trailing space in the line troff:<stdin>:96: warning: trailing space in the line troff:<stdin>:124: warning: trailing space in the line troff:<stdin>:185: warning: trailing space in the line troff:<stdin>:193: warning: trailing space in the line troff:<stdin>:199: warning: trailing space in the line troff:<stdin>:200: warning: trailing space in the line troff:<stdin>:235: warning: trailing space in the line troff:<stdin>:257: warning: trailing space in the line * What outcome did you expect instead? No output (no warnings). -.- General remarks and further material, if a diff-file exist, are in the attachments. -- System Information: Debian Release: trixie/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 6.12.12-amd64 (SMP w/2 CPU threads; PREEMPT) Locale: LANG=is_IS.iso88591, LC_CTYPE=is_IS.iso88591 (charmap=ISO-8859-1), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: sysvinit (via /sbin/init) Versions of packages net-tools depends on: ii libc6 2.40-7 ii libselinux1 3.8-3 net-tools recommends no packages. net-tools suggests no packages. -- no debconf information
Input file is route.8 Output from "mandoc -T lint route.8": (shortened list) 1 input text line longer than 80 bytes: Currently maintained... 1 input text line longer than 80 bytes: This adds a IPv6 rou... 1 input text line longer than 80 bytes: set the metric field... 4 skipping paragraph macro: PP empty 69 whitespace at end of input line Remove trailing space with: sed -e 's/ *$//' -.-. Output from "test-groff -mandoc -t -ww -z route.8": (shortened list) 14 trailing space in the line Remove trailing space with: sed -e 's/ *$//' -.-. Remove space characters (whitespace) at the end of lines. Use "git apply ... --whitespace=fix" to fix extra space issues, or use global configuration "core.whitespace". Number of lines affected is 69 -.-. Change '-' (\-) to '\(en' (en-dash) for a (numeric) range. GNU gnulib has recently (2023-06-18) updated its "build_aux/update-copyright" to recognize "\(en" in man pages. route.8:166:route to \fII\fR milliseconds (1-12000). This is typically only used on -.-. Change a HYPHEN-MINUS (code 0x2D) to a minus(-dash) (\-), if it is in front of a name for an option, is a symbol for standard input, is a single character used to indicate an option, or is in the NAME section (man-pages(7)). N.B. - (0x2D), processed as a UTF-8 file, is changed to a hyphen (0x2010, groff \[u2010] or \[hy]) in the output. 152:set the metric field in the routing table (used by routing daemons) to \fIM\fR. If this option is not specified the metric for inet6 (IPv6) address family defaults to '1', for inet (IPv4) it defaults to '0'. You should always specify an explicit metric value to not rely on those defaults - they also differ from iproute2. 211:same as as seen in 'route -n' listing. 219:can reach "mango" - "mango" must be on directly reachable route. 242:.B route -6 add 2001:0002::/48 metric 1 dev eth0 -.-. Find a repeated word ! 211 --> as -.-. Add a "\&" (or a comma (Oxford comma)) after "e.g." and "i.e.", or use English words (man-pages(7)). Abbreviation points should be marked as such and protected against being interpreted as an end of sentence, if they are not, and that independent of the current place on the line. 326:address is not needed for the interface of the cached route (e.g. lo). -.-. Wrong distance between sentences in the input file. Separate the sentences and subordinate clauses; each begins on a new line. See man-pages(7) ("Conventions for source file layout") and "info groff" ("Input Conventions"). The best procedure is to always start a new sentence on a new line, at least, if you are typing on a computer. Remember coding: Only one command ("sentence") on each (logical) line. E-mail: Easier to quote exactly the relevant lines. Generally: Easier to edit the sentence. Patches: Less unaffected text. Search for two adjacent words is easier, when they belong to the same line, and the same phrase. The amount of space between sentences in the output can then be controlled with the ".ss" request. Mark a final abbreviation point as such by suffixing it with "\&". Some sentences (etc.) do not begin on a new line. Split (sometimes) lines after a punctuation mark; before a conjunction. N.B. The number of lines affected can be too large to be in a patch. Lines with only one (or two) space(s) between sentences could be split, so latter sentences begin on a new line. Use #!/usr/bin/sh sed -e '/^\./n' \ -e 's/\([[:alpha:]]\)\. */\1.\n/g' $1 to split lines after a sentence period. Check result with the difference between the formatted outputs. See also the attachment "general.bugs" 62:manipulates the kernel's IP routing tables. Its primary use is to set 74:modifies the routing tables. Without these options, 81:use the specified address family (eg `inet'). Use 83:for a full list. You can use 96:table. 107:names. This is useful if you are trying to determine why the route to your 124:the destination network or host. You can provide an addresses or symbolic 125:network or host name. Optionally you can use \fB/\fIprefixlen\fR notation 145:The specified gateway must be reachable first. This usually means that 146:you have to set up a static route to the gateway beforehand. If you specify 148:the interface to which the packets should be routed to. This is a BSDism 152:set the metric field in the routing table (used by routing daemons) to \fIM\fR. If this option is not specified the metric for inet6 (IPv6) address family defaults to '1', for inet (IPv4) it defaults to '0'. You should always specify an explicit metric value to not rely on those defaults - they also differ from iproute2. 161:bytes. This is typically only used on AX.25 networks and with drivers 166:route to \fII\fR milliseconds (1-12000). This is typically only used on 167:AX.25 networks. If omitted the RFC 1122 default of 300ms is used. 172:route. This is NOT for firewalling. 175:install a dynamic or modified route. These flags are for diagnostic 182:the route is added to). In most normal networks you won't need this. 187:may be omitted, as it's the default. Otherwise the order of the route 200:"eth0". The word "dev" can be omitted here. 209:deletes the route. Since the Linux routing kernel uses classless 217:named "mango". The 233:This is an obscure one documented so people know how to do it. This sets 234:all of the class D (multicast) IP routes to go via "eth0". This is the 235:correct normal configuration line with a multicasting kernel. 304:Number of references to this route. (Not used in the Linux kernel.) 307:Count of lookups for the route. Depending on the use of \-F and \-C this will 320:Initial RTT (Round Trip Time). The kernel uses this to guess about the best 325:header cache for the cached route. This will be \-1 if a hardware 326:address is not needed for the interface of the cached route (e.g. lo). 348:for Linux was originally written by Fred N. van Kempen, 350:Linus Torvalds for pl15. Alan Cox added the mss and window options for 351:Linux 1.1.22. irtt support and merged with netstat from Bernd Eckenfels. -.-. Split lines longer than 80 characters into two or more lines. Appropriate break points are the end of a sentence and a subordinate clause; after punctuation marks. Add "\:" to split the string for the output, "\<newline>" in the source. Line 152, length 322 set the metric field in the routing table (used by routing daemons) to \fIM\fR. If this option is not specified the metric for inet6 (IPv6) address family defaults to '1', for inet (IPv4) it defaults to '0'. You should always specify an explicit metric value to not rely on those defaults - they also differ from iproute2. Line 243, length 83 This adds a IPv6 route with the specified metric to be directly reachable via eth0. Line 353, length 111 Currently maintained by Phil Blundell <philip.blund...@pobox.com> and Bernd Eckenfels <net-to...@lina.inka.de>. -.-. Use \(en (en-dash) for a dash at the beginning (en) of a line, or between space characters, not a minus (\-) or a hyphen (-), except in the NAME section. route.8:152:set the metric field in the routing table (used by routing daemons) to \fIM\fR. If this option is not specified the metric for inet6 (IPv6) address family defaults to '1', for inet (IPv4) it defaults to '0'. You should always specify an explicit metric value to not rely on those defaults - they also differ from iproute2. route.8:219:can reach "mango" - "mango" must be on directly reachable route. -.-. Put a parenthetical sentence, phrase on a separate line, if not part of a code. See man-pages(7), item "semantic newline". route.8:81:use the specified address family (eg `inet'). Use route.8:95:operate on the kernel's FIB (Forwarding Information Base) routing route.8:152:set the metric field in the routing table (used by routing daemons) to \fIM\fR. If this option is not specified the metric for inet6 (IPv6) address family defaults to '1', for inet (IPv4) it defaults to '0'. You should always specify an explicit metric value to not rely on those defaults - they also differ from iproute2. route.8:155:sets MTU (Maximum Transmission Unit) of the route to \fIM\fR bytes. route.8:188:modifiers (\fBmetric netmask gw dev\fR) doesn't matter. route.8:215:adds a default route (which will be used if no other route matches). route.8:301:The 'distance' to the target (usually counted in hops). route.8:304:Number of references to this route. (Not used in the Linux kernel.) route.8:320:Initial RTT (Round Trip Time). The kernel uses this to guess about the best route.8:321:TCP protocol parameters without waiting on (possibly slow) answers. route.8:323:.B HH (cached only) route.8:326:address is not needed for the interface of the cached route (e.g. lo). route.8:328:.B Arp (cached only) -.-. Use a no-break space between a number and a (SI) unit 167:AX.25 networks. If omitted the RFC 1122 default of 300ms is used. -.-. Use thousand markers to make large numbers easy to read 166:route to \fII\fR milliseconds (1-12000). This is typically only used on -.-. Remove quotes when there is a printable but no space character between them and the quotes are not for emphasis (markup), for example as an argument to a macro. 1:.TH ROUTE 8 "2014\-02\-17" "net\-tools" "Linux System Administrator's Manual" -.-. Space character after a macro call. 93:.TP 98:.TP 119:.TP 153:.TP 158:.TP 197:.TP -.-. Trailing space in a macro call. Remove with "sed -i -e 's/ *$//'" 9:.RB | \-4 | \-6 ] 11:.B route 15:.RB | \-4 | \-6 ] 16:.B add 17:.RB [ \-net | \-host ] 18:.I target 19:.RB [ netmask 20:.IR Nm ] 21:.RB [ gw 22:.IR Gw ] 23:.RB [ metric 24:.IR N ] 25:.RB [ mss 26:.IR M ] 27:.RB [ window 28:.IR W ] 29:.RB [ irtt 33:.RB [ dyn ] 34:.RB [ reinstate ] 35:.RB [[ dev ] 38:.B route 39:.RB [ \-v ] 43:.B del 44:.RB [ \-net | \-host ] 45:.I target 46:.RB [ gw 47:.IR Gw ] 48:.RB [ netmask 49:.IR Nm ] 50:.RB [ metric 51:.IR M ] 55:.B route 56:.RB [ \-V ] 84:.B \-6 86:.B \-\-inet6 88:.B \-4 114:.B \-ee 120:.B add 135:.I target 195:.BR ifconfig (8)). 214:.B route add default gw mango 242:.B route -6 add 2001:0002::/48 metric 1 dev eth0 249:.B Destination 255:.B Genmask 261:.B Flags 300:.B Metric 303:.B Ref 313:.B MSS 316:.B Window -.-. Section headings (.SH and .SS) do not need quoting. 338:.SH "SEE ALSO" -.-. Output from "test-groff -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=10 -ww -z ": troff:<stdin>:14: warning: trailing space in the line troff:<stdin>:81: warning: trailing space in the line troff:<stdin>:83: warning: trailing space in the line troff:<stdin>:85: warning: trailing space in the line troff:<stdin>:87: warning: trailing space in the line troff:<stdin>:89: warning: trailing space in the line troff:<stdin>:96: warning: trailing space in the line troff:<stdin>:124: warning: trailing space in the line troff:<stdin>:185: warning: trailing space in the line troff:<stdin>:193: warning: trailing space in the line troff:<stdin>:199: warning: trailing space in the line troff:<stdin>:200: warning: trailing space in the line troff:<stdin>:235: warning: trailing space in the line troff:<stdin>:257: warning: trailing space in the line -.-. Additionally: eg -> e.g.\& -.- Generally: Split (sometimes) lines after a punctuation mark; before a conjunction.
--- route.8 2025-02-26 22:19:46.637169465 +0000 +++ route.8.new 2025-02-26 22:19:27.358092696 +0000 @@ -1,4 +1,4 @@ -.TH ROUTE 8 "2014\-02\-17" "net\-tools" "Linux System Administrator's Manual" +.TH ROUTE 8 2014\-02\-17 net\-tools "Linux System Administrator's Manual" .SH NAME route \- show / manipulate the IP routing table .SH SYNOPSIS @@ -6,54 +6,54 @@ route \- show / manipulate the IP routin .RB [ \-CFvnNee ] .RB [ \-A family -.RB | \-4 | \-6 ] +.RB | \-4 | \-6 ] .TP -.B route +.B route .RB [ \-v ] .RB [ \-A -family -.RB | \-4 | \-6 ] -.B add -.RB [ \-net | \-host ] -.I target -.RB [ netmask -.IR Nm ] -.RB [ gw -.IR Gw ] -.RB [ metric -.IR N ] -.RB [ mss -.IR M ] -.RB [ window -.IR W ] -.RB [ irtt +family +.RB | \-4 | \-6 ] +.B add +.RB [ \-net | \-host ] +.I target +.RB [ netmask +.IR Nm ] +.RB [ gw +.IR Gw ] +.RB [ metric +.IR N ] +.RB [ mss +.IR M ] +.RB [ window +.IR W ] +.RB [ irtt .IR I ] .RB [ reject ] .RB [ mod ] -.RB [ dyn ] -.RB [ reinstate ] -.RB [[ dev ] +.RB [ dyn ] +.RB [ reinstate ] +.RB [[ dev ] .IR If ] .TP -.B route -.RB [ \-v ] +.B route +.RB [ \-v ] .RB [ \-A .I family .RB | \-4 | \-6 ] -.B del -.RB [ \-net | \-host ] -.I target -.RB [ gw -.IR Gw ] -.RB [ netmask -.IR Nm ] -.RB [ metric -.IR M ] +.B del +.RB [ \-net | \-host ] +.I target +.RB [ gw +.IR Gw ] +.RB [ netmask +.IR Nm ] +.RB [ metric +.IR M ] .RB [[ dev ] .IR If ] .TP -.B route -.RB [ \-V ] +.B route +.RB [ \-V ] .RB [ \-\-version ] .RB [ \-h ] .RB [ \-\-help ] @@ -78,24 +78,24 @@ displays the current contents of the rou .SH OPTIONS .TP \fB\-A \fIfamily\fR -use the specified address family (eg `inet'). Use +use the specified address family (e.g.\& `inet'). Use .B route \-\-help -for a full list. You can use -.B \-6 -as an alias for -.B \-\-inet6 -and -.B \-4 -as an alias for +for a full list. You can use +.B \-6 +as an alias for +.B \-\-inet6 +and +.B \-4 +as an alias for .B \-A inet . -.TP +.TP .B \-F operate on the kernel's FIB (Forwarding Information Base) routing -table. +table. This is the default. -.TP +.TP .B \-C operate on the kernel's routing cache. .TP @@ -111,17 +111,17 @@ nameserver has vanished. use .BR netstat (8)\-format for displaying the routing table. -.B \-ee +.B \-ee will generate a very long line with all parameters from the routing table. .TP .B del delete a route. -.TP -.B add +.TP +.B add add a new route. .TP .I target -the destination network or host. You can provide an addresses or symbolic +the destination network or host. You can provide an addresses or symbolic network or host name. Optionally you can use \fB/\fIprefixlen\fR notation instead of using the \fBnetmask\fR option. .TP @@ -132,7 +132,7 @@ is a network. .TP .B \-host the -.I target +.I target is a host. .TP \fBnetmask \fINM\fR @@ -149,13 +149,13 @@ the interface to which the packets shoul compatibility hack. .TP \fBmetric \fIM\fR -set the metric field in the routing table (used by routing daemons) to \fIM\fR. If this option is not specified the metric for inet6 (IPv6) address family defaults to '1', for inet (IPv4) it defaults to '0'. You should always specify an explicit metric value to not rely on those defaults - they also differ from iproute2. -.TP +set the metric field in the routing table (used by routing daemons) to \fIM\fR. If this option is not specified the metric for inet6 (IPv6) address family defaults to '1', for inet (IPv4) it defaults to '0'. You should always specify an explicit metric value to not rely on those defaults \(en they also differ from iproute2. +.TP \fBmss \fIM\fR sets MTU (Maximum Transmission Unit) of the route to \fIM\fR bytes. Note that the current implementation of the route command does not allow the option to set the Maximum Segment Size (MSS). -.TP +.TP \fBwindow \fIW\fR set the TCP window size for connections over this route to \fIW\fR bytes. This is typically only used on AX.25 networks and with drivers @@ -163,8 +163,8 @@ unable to handle back to back frames. .TP \fBirtt \fII\fR set the initial round trip time (irtt) for TCP connections over this -route to \fII\fR milliseconds (1-12000). This is typically only used on -AX.25 networks. If omitted the RFC 1122 default of 300ms is used. +route to \fII\fR milliseconds (1\(en12.000). This is typically only used on +AX.25 networks. If omitted the RFC 1122 default of 300\~ms is used. .TP .B reject install a blocking route, which will force a route lookup to fail. @@ -182,7 +182,7 @@ checking already existing routes and dev the route is added to). In most normal networks you won't need this. If \fBdev \fIIf\fR -is the last option on the command line, the word +is the last option on the command line, the word .B dev may be omitted, as it's the default. Otherwise the order of the route modifiers (\fBmetric netmask gw dev\fR) doesn't matter. @@ -190,14 +190,14 @@ modifiers (\fBmetric netmask gw dev\fR) .SH EXAMPLES .TP .B route add \-net 127.0.0.0 netmask 255.0.0.0 metric 1024 dev lo -adds the normal loopback entry, using netmask 255.0.0.0 and associated with the +adds the normal loopback entry, using netmask 255.0.0.0 and associated with the "lo" device (assuming this device was previously set up correctly with -.BR ifconfig (8)). +.BR ifconfig (8)). -.TP +.TP .B route add \-net 192.56.76.0 netmask 255.255.255.0 metric 1024 dev eth0 -adds a route to the local network 192.56.76.x via -"eth0". The word "dev" can be omitted here. +adds a route to the local network 192.56.76.x via +"eth0". The word "dev" can be omitted here. .TP .B route del default @@ -208,15 +208,15 @@ in the destination field of the current .B route del \-net 192.56.76.0 netmask 255.255.255.0 deletes the route. Since the Linux routing kernel uses classless addressing, you pretty much always have to specify the netmask that is -same as as seen in 'route -n' listing. +same as seen in 'route \-n' listing. .TP -.B route add default gw mango +.B route add default gw mango adds a default route (which will be used if no other route matches). All packets using this route will be gatewayed through the address of a node named "mango". The device which will actually be used for that route depends on how we -can reach "mango" - "mango" must be on directly reachable route. +can reach "mango" \(en "mango" must be on directly reachable route. .TP .B route add mango sl0 @@ -232,33 +232,32 @@ route to the SLIP interface. .B route add \-net 224.0.0.0 netmask 240.0.0.0 dev eth0 This is an obscure one documented so people know how to do it. This sets all of the class D (multicast) IP routes to go via "eth0". This is the -correct normal configuration line with a multicasting kernel. +correct normal configuration line with a multicasting kernel. .TP .B route add \-net 10.0.0.0 netmask 255.0.0.0 metric 1024 reject This installs a rejecting route for the private network "10.x.x.x." .TP -.B route -6 add 2001:0002::/48 metric 1 dev eth0 +.B route \-6 add 2001:0002::/48 metric 1 dev eth0 This adds a IPv6 route with the specified metric to be directly reachable via eth0. -.LP .SH OUTPUT The output of the kernel routing table is organized in the following columns .TP -.B Destination +.B Destination The destination network or destination host. .TP .B Gateway The gateway address or '*' if none set. .TP -.B Genmask +.B Genmask The netmask for the destination net; '255.255.255.255' for a host destination -and '0.0.0.0' for the +and '0.0.0.0' for the .B default route. .TP -.B Flags +.B Flags Possible flags include .br .B U @@ -297,10 +296,10 @@ entry) .RB ( reject route) .TP -.B Metric +.B Metric The 'distance' to the target (usually counted in hops). .TP -.B Ref +.B Ref Number of references to this route. (Not used in the Linux kernel.) .TP .B Use @@ -310,10 +309,10 @@ be either route cache misses (\-F) or hi .B Iface Interface to which packets for this route will be sent. .TP -.B MSS +.B MSS Default maximum segment size for TCP connections over this route. .TP -.B Window +.B Window Default window size for TCP connections over this route. .TP .B irtt @@ -323,29 +322,26 @@ TCP protocol parameters without waiting .B HH (cached only) The number of ARP entries and cached routes that refer to the hardware header cache for the cached route. This will be \-1 if a hardware -address is not needed for the interface of the cached route (e.g. lo). +address is not needed for the interface of the cached route (e.g.\& lo). .TP .B Arp (cached only) Whether or not the hardware address for the cached route is up to date. -.LP .SH FILES .I /proc/net/ipv6_route .br .I /proc/net/route .br .I /proc/net/rt_cache -.LP -.SH "SEE ALSO" +.SH SEE ALSO .BR ethers (5), .BR arp (8), .BR rarp (8), .BR route (8), .BR ifconfig (8), .BR netstat (8) -.LP .SH HISTORY .B Route -for Linux was originally written by Fred N. van Kempen, +for Linux was originally written by Fred N.\& van Kempen, <wal...@uwalt.nl.mugnet.org> and then modified by Johannes Stille and Linus Torvalds for pl15. Alan Cox added the mss and window options for Linux 1.1.22. irtt support and merged with netstat from Bernd Eckenfels.
Any program (person), that produces man pages, should check the output for defects by using (both groff and nroff) [gn]roff -mandoc -t -ww -b -z -K utf8 <man page> The same goes for man pages that are used as an input. For a style guide use mandoc -T lint -.- Any "autogenerator" should check its products with the above mentioned 'groff', 'mandoc', and additionally with 'nroff ...'. It should also check its input files for too long (> 80) lines. This is just a simple quality control measure. The "autogenerator" may have to be corrected to get a better man page, the source file may, and any additional file may. Common defects: Not removing trailing spaces (in in- and output). The reason for these trailing spaces should be found and eliminated. "git" has a "tool" to point out whitespace, see for example "git-apply(1)" and git-config(1)") Not beginning each input sentence on a new line. Line length and patch size should thus be reduced. The script "reportbug" uses 'quoted-printable' encoding when a line is longer than 1024 characters in an 'ascii' file. See man-pages(7), item "semantic newline". -.- The difference between the formatted output of the original and patched file can be seen with: nroff -mandoc <file1> > <out1> nroff -mandoc <file2> > <out2> diff -d -u <out1> <out2> and for groff, using \"printf '%s\n%s\n' '.kern 0' '.ss 12 0' | groff -mandoc -Z - \" instead of 'nroff -mandoc' Add the option '-t', if the file contains a table. Read the output from 'diff -d -u ...' with 'less -R' or similar. -.-. If 'man' (man-db) is used to check the manual for warnings, the following must be set: The option \"-warnings=w\" The environmental variable: export MAN_KEEP_STDERR=yes (or any non-empty value) or (produce only warnings): export MANROFFOPT=\"-ww -b -z\" export MAN_KEEP_STDERR=yes (or any non-empty value) -.-