Possible formatting bug in ssh-agent.1 man page

Glenn Golden gdg at zplane.com
Wed Sep 28 03:30:39 AEST 2016

Hi Ingo,

Inline below describes what I found, per your queries:

Ingo Schwarze <schwarze at usta.de> [2016-09-27 18:52:52 +0200]:
> Hi Glenn,
> Glenn Golden wrote on Mon, Sep 26, 2016 at 02:55:08PM -0600:
> > Version info: OpenSSH_7.3p1, OpenSSL 1.0.2i  22 Sep 2016, Arch linux
> > 
> > The ssh-agent.1 man page seems to have an indentation oddity, at least, as
> > formatted with recent Arch linux manpage toolset. Here's what appears in
> > the formatted output just after the description of the the "-t" option:
> > 
> >      ---------- Begin formatted output -------------------------------------
> >        -t life
> >               Set a default value for the maximum lifetime of identities added
> >               to  the agent.  The lifetime may be specified in seconds or in a
> >               time format specified in sshd_config(5).  A  lifetime  specified
> >               for  an  identity with ssh-add(1) overrides this value.  Without
> >               this option the default maximum lifetime is forever.
> > 
> >               If a command line is given, this is executed as a subprocess  of
> >               the agent.  When the command dies, so does the agent.
> > 
> >               The  idea  is that the agent is run in the user's local PC, lap
> >                       .
> >                       .
> >                       .
> >      ------------ End formatted output -------------------------------------
> > 
> > Seems to me like all the paragraphs after the one immediately
> > below "-t life" (starting with "If a command line..." and thereafter)
> > are meant to be outdented to the main indentation level so that they
> > do not appear be associated with the description of the -t option.
> To debug this, we have to decide whether the problem is in the manual
> page sources used (for example due to bogus patches), in the build
> system, in the man(1) command on Arch, or in the formatter (likely
> groff) on Arch.
> As a first step, can you provide the file that gets installed on
> Arch?  You can probably find the name and path of that file with
>  $ man -w ssh-agent
> More is likely required after that, but what is needed depends on
> the contents of that file.

The target file is /usr/share/man/man1/ssh-agent.1.gz. The first few
lines are

    .TH SSH-AGENT 1 "November 15 2015 " ""
    .SH NAME
    \- authentication agent

The md5sums are

   $ md5sum /usr/share/man/man1/ssh-agent.1.gz
   30f21b3dc30d5c081dda5482c28bee40  /usr/share/man/man1/ssh-agent.1.gz

   $ zcat /usr/share/man/man1/ssh-agent.1.gz | md5sum

(Didn't want to attach the actual ssh-agent.1.gz file, figuring it would
probably get kicked out by the list handler, but it you want it, just let
me know, will send it directly to you.)

> You should also say up front which man(1) implementation you are
> using, which roff formatter you are using,

    $ man --version
    man 2.7.5

    $ groff --version
    GNU groff version 1.22.3
    called subprograms:
    GNU grops (groff) version 1.22.3
    GNU troff (groff) version 1.22.3

> whether you have enabled any caching of preformatted manuals,

Not that I am aware of.  But in any case, "man -w -W" reports only the
roff source page (the one mentioned above) but does not report any "cat"

    $ man -w -W ssh-agent

So I think that implies that the page that gets rendered when I do
"man ssh-agent" really is from that .gz file, processed at that time
by man(1), not a cached version.

I also did this:

    $ cd /tmp
    $ cp /usr/share/man/man1/ssh-agent.1.gz foo.gz
    $ man ./foo.gz

and the rendered result is identical to "man ssh-agent" (i.e. the
indentation oddity is present.)

> whether you have any man.conf or manpath.config files in use, and what 
> they contain. 

My entire fileystem contains no file of either of those names, as
verified using slocate(1).

> This is likely to be some simple user oder packager error; yet again,
> it could also be a yet unknown mdoc(7) or man(7) compat issue, which
> is why i'm interested.

Hope the above helps. Let me know if there's anything else you need.


More information about the openssh-unix-dev mailing list