version 1.131, 2015/01/14 22:02:49 |
version 1.132, 2015/01/15 04:26:40 |
Line 159 to be reported on the standard error output and to aff |
|
Line 159 to be reported on the standard error output and to aff |
|
The |
The |
.Ar level |
.Ar level |
can be |
can be |
.Cm warning , |
.Cm warning |
.Cm error , |
|
or |
or |
.Cm fatal . |
.Cm error ; |
The default is |
.Cm all |
.Fl W Ns Cm fatal ; |
|
.Fl W Ns Cm all |
|
is an alias for |
is an alias for |
.Fl W Ns Cm warning . |
.Cm warning . |
|
By default, |
|
.Nm |
|
is silent. |
See |
See |
.Sx EXIT STATUS |
.Sx EXIT STATUS |
and |
and |
Line 532 At least one warning occurred, but no error, and |
|
Line 532 At least one warning occurred, but no error, and |
|
.Fl W Ns Cm warning |
.Fl W Ns Cm warning |
was specified. |
was specified. |
.It 3 |
.It 3 |
At least one parsing error occurred, but no fatal error, and |
At least one parsing error occurred, and |
.Fl W Ns Cm error |
.Fl W Ns Cm error |
or |
or |
.Fl W Ns Cm warning |
.Fl W Ns Cm warning |
was specified. |
was specified. |
.It 4 |
|
A fatal parsing error occurred. |
|
.It 5 |
.It 5 |
Invalid command line arguments were specified. |
Invalid command line arguments were specified. |
No input files have been read. |
No input files have been read. |
|
|
.Pp |
.Pp |
Message levels have the following meanings: |
Message levels have the following meanings: |
.Bl -tag -width "warning" |
.Bl -tag -width "warning" |
.It Cm fatal |
|
The parser is unable to parse a given input file at all. |
|
No formatted output is produced from that input file. |
|
.It Cm error |
.It Cm error |
An input file contains syntax that cannot be safely interpreted, |
An input file contains syntax that cannot be safely interpreted, |
either because it is invalid or because |
either because it is invalid or because |
Line 1277 keeps the code more readable. |
|
Line 1272 keeps the code more readable. |
|
.El |
.El |
.Ss "Errors related to roff, mdoc, and man code" |
.Ss "Errors related to roff, mdoc, and man code" |
.Bl -ohang |
.Bl -ohang |
|
.It Sy "input too large" |
|
.Pq mdoc , man |
|
Currently, |
|
.Nm |
|
cannot handle input files larger than its arbitrary size limit |
|
of 2^31 bytes (2 Gigabytes). |
|
Since useful manuals are always small, this is not a problem in practice. |
|
Parsing is aborted as soon as the condition is detected. |
.It Sy "input stack limit exceeded, infinite loop?" |
.It Sy "input stack limit exceeded, infinite loop?" |
.Pq roff |
.Pq roff |
Explicit recursion limits are implemented for the following features, |
Explicit recursion limits are implemented for the following features, |
|
|
.Ic \&gsize |
.Ic \&gsize |
statement has a non-numeric or negative argument or no argument at all. |
statement has a non-numeric or negative argument or no argument at all. |
The invalid request or statement is ignored. |
The invalid request or statement is ignored. |
|
.It Sy "NOT IMPLEMENTED: .so with absolute path or \(dq..\(dq" |
|
.Pq roff |
|
For security reasons, |
|
.Nm |
|
allows |
|
.Ic \&so |
|
file inclusion requests only with relative paths |
|
and only without ascending to any parent directory. |
|
By requesting the inclusion of a sensitive file, a malicious document |
|
might otherwise trick a privileged user into inadvertently displaying |
|
the file on the screen, revealing the file content to bystanders. |
|
.Nm |
|
only shows the path as it appears behind |
|
.Ic \&so . |
|
.It Sy ".so request failed" |
|
.Pq roff |
|
Servicing a |
|
.Ic \&so |
|
request requires reading an external file, but the file could not be |
|
opened. |
|
.Nm |
|
only shows the path as it appears behind |
|
.Ic \&so . |
.It Sy "skipping all arguments" |
.It Sy "skipping all arguments" |
.Pq mdoc , man , eqn , roff |
.Pq mdoc , man , eqn , roff |
An |
An |
Line 1503 macro is invoked with more than one argument, or a req |
|
Line 1529 macro is invoked with more than one argument, or a req |
|
.Ic \&de |
.Ic \&de |
family is invoked with more than two arguments. |
family is invoked with more than two arguments. |
The excess arguments are ignored. |
The excess arguments are ignored. |
.El |
|
.Ss FATAL errors |
|
.Bl -ohang |
|
.It Sy "input too large" |
|
.Pq mdoc , man |
|
Currently, |
|
.Nm |
|
cannot handle input files larger than its arbitrary size limit |
|
of 2^31 bytes (2 Gigabytes). |
|
Since useful manuals are always small, this is not a problem in practice. |
|
Parsing is aborted as soon as the condition is detected. |
|
.It Sy "NOT IMPLEMENTED: .so with absolute path or \(dq..\(dq" |
|
.Pq roff |
|
For security reasons, |
|
.Nm |
|
allows |
|
.Ic \&so |
|
file inclusion requests only with relative paths |
|
and only without ascending to any parent directory. |
|
By requesting the inclusion of a sensitive file, a malicious document |
|
might otherwise trick a privileged user into inadvertently displaying |
|
the file on the screen, revealing the file content to bystanders. |
|
The parser exits immediately. |
|
.It Sy ".so request failed" |
|
.Pq roff |
|
Servicing a |
|
.Ic \&so |
|
request requires reading an external file. |
|
While trying to do so, an |
|
.Xr open 2 , |
|
.Xr stat 2 , |
|
or |
|
.Xr read 2 |
|
system call failed. |
|
The parser exits immediately. |
|
Before showing this message, |
|
.Nm |
|
always shows another message explaining why the system call failed. |
|
.El |
.El |
.Sh COMPATIBILITY |
.Sh COMPATIBILITY |
This section summarises |
This section summarises |