Ping. Does anyone have any thoughts on this? It's a small but
persistent irritation on my system. :-)
Alexis <flexibe...@gmail.com> writes:
[1. text/plain]
Hi all,
On my Gentoo system, awk.1 simply contains an .so request whose
argument is the man page for the actual awk implementation in
use,
i.e. just:
.so gawk.1
However, although this works when using man-db, it doesn't when
one is
using mandoc instead, as on my system. Instead of gawk.1 being
sourced, processed and displayed, i get output along the lines
of:
() ()
See the file gawk.1.
()
However, if i change the request in awk.1 to:
.so man1/gawk.1
then everything works as expected.
The example in the entry for .so in mandoc_roff(7) is what led
me to
try the preceding, but there's no further indication that the
requirement for a leading section directory is consciously
different
from any other roff implementation, or from groff in
particular. A
comment in roff_so() in mandoc/roff.c[a] says:
/*
/* Handle `so'. Be EXTREMELY careful, as we shouldn't be
* opening anything that's not in our cwd or anything beneath
* it. Thus, explicitly disallow traversing up the
file-system
* or using absolute paths.
*/
i couldn't find any discussion about .so in the mandoc TODO
list[b].
i've no idea what the 'correct' behaviour 'should' be, from
whatever
perspective (historical / security / groff-compatibility /
etc.), so
am cross-posting to what i believe to be the relevant lists.
Alexis.
[a]
https://cvsweb.bsd.lv/mandoc/roff.c?rev=1.395&content-type=text/x-cvsweb-markup
[b]
https://cvsweb.bsd.lv/mandoc/TODO?rev=1.327&content-type=text/x-cvsweb-markup