![Carlos Santos](/assets/img/avatar_default.png)
The forthcoming "libvirt" package will need a "nc" command with support for Unix domain sockets in order to permit remote management using the virt-manager utility. netcat-openbsd provides such command but requires glibc, so we would not have remote management on uClibc-based systems. Ncat is a much-improved reimplementation of the venerable Netcat and is compatible with uClibc and musl. It provides features not available in the ancient GNU netcat and its Busybox double like IPv6, proxies, and Unix sockets. Since 'nmap' itself is a fairly big program (~2.3 MB), we want to be able to install only ncat. In addition, nmap requires an external library, pcre. So this commit adds sub-options to selectively enable/disable the different programs part of nmap: nmap, nping, ndiff and ncat. Finally, we symlink 'nc' to ncat if neiter netcat nor netcat-openbsd is selected, even though ncat does not have the same interface as netcat-openbsd. However, since Fedora/RHEL install nmap-ncat as 'nc', it can be assumed that packages that depend on 'nc' know how to deal with this diversity. For example, the virt-manager package does that. Also user-supplied scripts can be assumed to do the right thing, since the user also selects whether nmap-ncat, netcat or netcat-openbsd is installed. Signed-off-by: Carlos Santos <casantos@datacom.ind.br> [Thomas: - don't just handle the ncat case in a special way: create sub-options for all nmap tools, and use <pkg>_MAKE_OPTS and <pkg>_INSTALL_TARGET_OPTS to select which ones should be built/installed.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
60 lines
1.6 KiB
Plaintext
60 lines
1.6 KiB
Plaintext
config BR2_PACKAGE_NMAP
|
|
bool "nmap"
|
|
depends on BR2_INSTALL_LIBSTDCPP
|
|
depends on BR2_USE_MMU # fork()
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS
|
|
select BR2_PACKAGE_LIBPCAP
|
|
select BR2_PACKAGE_NMAP_NMAP \
|
|
if !BR2_PACKAGE_NMAP_NCAT && !BR2_PACKAGE_NMAP_NPING && !BR2_PACKAGE_NMAP_NDIFF
|
|
help
|
|
Nmap ("Network Mapper") is a free and open source (license)
|
|
utility for network discovery and security auditing.
|
|
|
|
http://nmap.org
|
|
|
|
if BR2_PACKAGE_NMAP
|
|
|
|
config BR2_PACKAGE_NMAP_NCAT
|
|
bool "install ncat"
|
|
depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
|
help
|
|
Ncat is a feature-packed networking utility which reads and
|
|
writes data across networks from the command line. Ncat was
|
|
written for the Nmap Project as a much-improved
|
|
reimplementation of the venerable Netcat.
|
|
|
|
If symlink to "nc" is installed if neither netcat or
|
|
netcat-openbsd is selected.
|
|
|
|
comment "a symlink from ncat to 'nc' will be installed"
|
|
depends on BR2_PACKAGE_NMAP_NCAT
|
|
depends on !BR2_PACKAGE_NETCAT
|
|
depends on !BR2_PACKAGE_NETCAT_OPENBSD
|
|
|
|
config BR2_PACKAGE_NMAP_NDIFF
|
|
bool "install ndiff"
|
|
# ndiff only works with python2.x
|
|
depends on BR2_PACKAGE_PYTHON
|
|
help
|
|
This option installs the 'ndiff' tool.
|
|
|
|
comment "ndiff needs Python 2.x"
|
|
depends on !BR2_PACKAGE_PYTHON
|
|
|
|
config BR2_PACKAGE_NMAP_NMAP
|
|
bool "install nmap"
|
|
select BR2_PACKAGE_PCRE
|
|
help
|
|
This option installs 'nmap' itself.
|
|
|
|
config BR2_PACKAGE_NMAP_NPING
|
|
bool "install nping"
|
|
help
|
|
This option installs the 'nping' tool.
|
|
|
|
endif
|
|
|
|
comment "nmap-nmap needs a toolchain w/ C++, threads"
|
|
depends on BR2_USE_MMU
|
|
depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_HAS_THREADS)
|