jtesta / ssh-audit

SSH server & client security auditing (banner, key exchange, encryption, mac, compression, compatibility, security, etc)
MIT License
3.36k stars 176 forks source link

Include man page with PyPI, Snap, and Docker builds #231

Closed jtesta closed 7 months ago

jtesta commented 9 months ago

Currently, the -m argument only shows the man page on Windows builds. This should be modified to also work with the PyPI, Snap, and Docker builds.

thecliguy commented 9 months ago

When I originally added -m I did so for the Windows build because it's as a self-contained binary with no external dependencies. And even if we did somehow ship it with an external man file, it would be somewhat useless because Windows has no man reader that's capable of rendering a *roff formatted file.

Other operating systems such as GNU/Linux and Mac have proper man reading tools. I did toy with the idea of making -m pass ssh-audit.1 to the man reader on GNU/Linux and Mac but ultimately decided against this because I feared there may be a minefield of subtle nuances between different OS distros and versions that would cause the man page to render poorly in some cases. So, I thought it better to just encourage users of GNU/Linux and Mac to read the man page in the normal way for their particular OS.

I never considered builds for PyPI, Snap and Docker... I'm not sure if they existed back when I worked on -m, but also they aren't things that I have any experience with...

To make -m available in PyPI, Snap and Docker builds, would you continue with the existing approach for the Windows build, which is when building a package, obtain a plain text version of the man page and use it to populate $MAN_PAGE in globals.py?

jtesta commented 9 months ago

To make -m available in PyPI, Snap and Docker builds, would you continue with the existing approach for the Windows build, which is when building a package, obtain a plain text version of the man page and use it to populate $MAN_PAGE in globals.py?

Yep, that's the idea!

jtesta commented 7 months ago

Implemented in 20fbb706b0a79478749a53ab1964ab18f6bb0a99. The next release will include the man page in the PyPI, Snap, and Docker builds.