#1027124 should support TLS?

Package:
netcat-openbsd
Source:
netcat-openbsd
Description:
TCP/IP swiss army knife
Submitter:
Marco d'Itri
Date:
2023-11-04 03:21:06 UTC
Severity:
normal
#1027124#5
Date:
2022-12-28 03:01:24 UTC
From:
To:
tls.h is provided by libtls-dev.
#1027124#10
Date:
2022-12-28 07:56:43 UTC
From:
To:
Control: severity -1 wishlist

It is (wasn't) only a build issue, along with the TLS support upstream
(OpenBSD) has added options that conflicts with Debian-specific flags:

     -C certfile
            Load the public key part of the TLS peer certificate from
            certfile, in PEM format.
     -Z peercertfile
            Save the peer certificates to peercertfile, in PEM format.

vs.

    -C  Send CRLF as line-ending.
    -Z  DCCP mode.

I guess these could be interpreted differently depending on whether -c
is used or not, or even whether the option has as argument or not.  DCCP
mode doesn't make sense in TLS context, but changing line endings does.

#1027124#17
Date:
2023-11-04 03:16:37 UTC
From:
To:
It is somewhat confusing that the package calls itself netcat-openbsd
but deviates from the options that OpenBSD supports.

For people coming across this wondering where to find a version of
netcat that supports TLS, note that to add to the confusion other
distros have picked up Debian's version and call it "netcat-openbsd"
with the Debian patches.

LibreSSL portable (https://github.com/libressl/portable) actually
includes a version of nc (if enabled via ENABLE_NC) that is closer to
the true OpenBSD netcat. Instead some distros package nc as part of
LibreSSL, for example
https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/libressl/default.nix
contains a version on NixOS that includes the TLS supporting nc (NixOS
also offers a netcat-openbsd, which is based on the Debian patches.)

(There is also https://github.com/reyk/libressl-deb for Debian, but
unfortunately that doesn't seem to be kept up-to-date.)

Maybe it would make sense to keep this netcat-openbsd package for
compatibility but encourage people to switch to a netcat version built
as part of the libretls package build (by turning on ENABLE_NC there
and split out the nc binary into a binary package.like
netcat-libretls).