Subject: [bug#59760] [PATCH] gnu: Add ncrack.

From: Maxim Cournoyer <[email-masked]>
Date: Mon, 16 Jan 2023 09:13:22 -0500

Hi Petr,

phodina <[email-masked]> writes:

> Hi,
>
> here's another penetration testing tool - ncrack. Slowly catching up to Kali :-)
>
> ----
> Petr
> From cfcc719c2fc2e40fb2936269dc4bdbd28be5d71a Mon Sep 17 00:00:00 2001
> From: Petr Hodina <[email-masked]>
> Date: Fri, 10 Jun 2022 10:26:13 +0200
> Subject: [PATCH] gnu: Add ncrack.

Neat, thank you!

[...]

> * gnu/packages/patches/ncrack-fix-spelling-errors.patch: New file.
> * gnu/packages/patches/ncrack-nullcheck.patch: New file.
> * gnu/packages/patches/ncrack-unbundle-opensshlib.patch: New file.

The patches above have unclear upstream status; could you annotate the
files with the information?  They should be submitted upstream for
consideration.  For upstream to consider your last patch though, you'd
want to have the opensshlib patch configurable via a configure.ac check
or option.  It could for example check for a system-provided opensshlib
and use this, else fall-back to the bundled library build that it
currently does.

> diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
> index 3f44d082fb..ce004c52f0 100644
> --- a/gnu/packages/networking.scm
> +++ b/gnu/packages/networking.scm
> @@ -786,6 +786,35 @@ (define-public knockd
>  at the link-layer level.")
>      (license license:gpl2+)))
>  
> +(define-public ncrack
> +  (package
> +    (name "ncrack")
> +    (version "0.7")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> +                    "https://github.com/nmap/ncrack/archive/refs/tags/"
> +                    version ".tar.gz"))
> +              (patches (search-patches "ncrack-nullcheck.patch"
> +                                       "ncrack-fix-gcc-10-build.patch"
> +                                       "ncrack-fix-autotools-compat.patch"
> +                                       "ncrack-fix-spelling-errors.patch"))
> +              (sha256
> +               (base32
> +                "0jnif319rjykiphi211v1c2hblw1ql190dnbd030qjkwcz6p3ygk"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     (list #:tests? #f)) ;no test suite
> +    (native-inputs (list pkg-config))
> +    (inputs (list openssl zlib))
> +    (home-page "https://nmap.org/ncrack/man.html")
> +    (synopsis "Network authentication cracking tool")
> +    (description
> +     "@code{Ncrack} is a tool for network authentication cracking.  It was

To be more accurate, I'd use "The @command{ncrack} command is a tool for
[...]".

Otherwise, LGTM.

-- 
Thanks,
Maxim