| # |
| # Copyright (C) 2006-2017 OpenWrt.org |
| # |
| # This is free software, licensed under the GNU General Public License v2. |
| # See /LICENSE for more information. |
| |
| #TODO |
| # |
| # * uClibcpp not supported, performance +100x slower. libstdcpp is being used. https://bugs.busybox.net/show_bug.cgi?id=2545 |
| # * liblua is still not recognized/blindly accepted. Impossible to compile with support |
| # |
| |
| include $(TOPDIR)/rules.mk |
| |
| PKG_NAME:=nmap |
| PKG_VERSION:=7.80 |
| PKG_RELEASE:=3 |
| PKG_MAINTAINER:=Nuno Goncalves <nunojpg@gmail.com> |
| |
| PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 |
| PKG_SOURCE_URL:=https://nmap.org/dist/ |
| PKG_HASH:=fcfa5a0e42099e12e4bf7a68ebe6fde05553383a682e816a7ec9256ab4773faa |
| PKG_LICENSE:=GPL-2.0-only |
| PKG_LICENSE_FILES:=COPYING |
| PKG_CPE_ID:=cpe:/a:nmap:nmap |
| |
| PKG_BUILD_PARALLEL:=1 |
| PKG_INSTALL:=1 |
| PYTHON3_PKG_BUILD:=0 |
| |
| include $(INCLUDE_DIR)/package.mk |
| include ../../lang/python/python3-package.mk |
| |
| NMAP_DEPENDS:=+libpcap +libstdcpp +zlib +libpcre |
| NCAT_DEPENDS:=+libpcap |
| NPING_DEPENDS:=+libpcap +libpthread +libstdcpp |
| |
| define Package/nmap/default |
| SUBMENU:=NMAP Suite |
| SECTION:=net |
| CATEGORY:=Network |
| URL:=https://nmap.org/ |
| endef |
| |
| define Package/nmap |
| $(call Package/nmap/default) |
| DEPENDS:=$(NMAP_DEPENDS) |
| VARIANT:=nossl |
| TITLE:=Utility for network exploration or security auditing |
| endef |
| |
| define Package/nmap-ssl |
| $(call Package/nmap/default) |
| DEPENDS:=$(NMAP_DEPENDS) +libopenssl |
| VARIANT:=ssl |
| TITLE:=Nmap (with OpenSSL support) |
| endef |
| |
| define Package/nmap-full |
| $(call Package/nmap/default) |
| DEPENDS:=$(NMAP_DEPENDS) +libopenssl +liblua5.3 +libssh2 |
| VARIANT:=full |
| TITLE:=Nmap (with OpenSSL and scripting support) |
| endef |
| |
| define Package/ncat |
| $(call Package/nmap/default) |
| DEPENDS:=$(NCAT_DEPENDS) |
| VARIANT:=nossl |
| TITLE:=Much-improved reimplementation of Netcat |
| endef |
| |
| define Package/ncat-ssl |
| $(call Package/nmap/default) |
| DEPENDS:=$(NCAT_DEPENDS) +libopenssl |
| VARIANT:=ssl |
| TITLE:=Ncat (with OpenSSL support) |
| endef |
| |
| define Package/ncat-full |
| $(call Package/nmap/default) |
| DEPENDS:=$(NCAT_DEPENDS) +libopenssl +liblua5.3 |
| VARIANT:=full |
| TITLE:=Ncat (with OpenSSL and scripting support) |
| endef |
| |
| define Package/nping |
| $(call Package/nmap/default) |
| DEPENDS:=$(NPING_DEPENDS) |
| VARIANT:=nossl |
| TITLE:=Network packet generation tool / ping utility |
| endef |
| |
| define Package/nping-ssl |
| $(call Package/nmap/default) |
| DEPENDS:=$(NPING_DEPENDS) +libopenssl |
| VARIANT:=ssl |
| TITLE:=Nping (with OpenSSL support) |
| endef |
| |
| define Package/ndiff |
| $(call Package/nmap/default) |
| DEPENDS:=+python3-light +python3-xml |
| TITLE:=Utility to compare the results of Nmap scans |
| endef |
| |
| CONFIGURE_ARGS += \ |
| --with-libdnet=included \ |
| --with-liblinear=included \ |
| --with-libpcap="$(STAGING_DIR)/usr" \ |
| --with-libpcre="$(STAGING_DIR)/usr" \ |
| --with-libz="$(STAGING_DIR)/usr" \ |
| --with-ncat \ |
| --without-localdirs \ |
| --without-ndiff \ |
| --without-nmap-update \ |
| --without-subversion \ |
| --without-zenmap |
| # --with-libnbase=included |
| # --with-libnsock=included |
| # --without-apr |
| |
| ifeq ($(BUILD_VARIANT),full) |
| CONFIGURE_ARGS += \ |
| --with-liblua="$(STAGING_DIR)/usr" \ |
| --with-libssh2="$(STAGING_DIR)/usr" \ |
| --with-openssl="$(STAGING_DIR)/usr" \ |
| --without-nping |
| |
| else ifeq ($(BUILD_VARIANT),ssl) |
| CONFIGURE_ARGS += \ |
| --with-nping \ |
| --with-openssl="$(STAGING_DIR)/usr" \ |
| --without-liblua \ |
| --without-libssh2 |
| |
| else # nossl |
| CONFIGURE_ARGS += \ |
| --with-nping \ |
| --without-liblua \ |
| --without-libssh2 \ |
| --without-openssl |
| endif |
| |
| CONFIGURE_VARS += \ |
| ac_cv_dnet_bsd_bpf=no |
| |
| PYTHON3_PKG_SETUP_DIR:=ndiff |
| PYTHON3_PKG_SETUP_ARGS:= |
| |
| define Build/Compile |
| $(call Build/Compile/Default,) |
| $(call Py3Build/Compile) |
| endef |
| |
| define Package/nmap/install |
| $(INSTALL_DIR) $(1)/usr/bin |
| $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nmap $(1)/usr/bin/ |
| $(INSTALL_DIR) $(1)/usr/share/nmap |
| $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/nmap/nmap* $(1)/usr/share/nmap/ |
| endef |
| |
| Package/nmap-ssl/install=$(Package/nmap/install) |
| |
| define Package/nmap-full/install |
| $(call Package/nmap/install,$(1)) |
| $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/nmap/nse_main.lua $(1)/usr/share/nmap/ |
| $(CP) $(PKG_INSTALL_DIR)/usr/share/nmap/{nselib,scripts} $(1)/usr/share/nmap/ |
| endef |
| |
| define Package/ncat/install |
| $(INSTALL_DIR) $(1)/usr/bin |
| $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ncat $(1)/usr/bin/ |
| endef |
| |
| define Package/ncat-ssl/install |
| $(call Package/ncat/install,$(1)) |
| $(INSTALL_DIR) $(1)/usr/share/ncat |
| $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/ncat/ca-bundle.crt $(1)/usr/share/ncat/ |
| endef |
| |
| Package/ncat-full/install=$(Package/ncat-ssl/install) |
| |
| define Package/nping/install |
| $(INSTALL_DIR) $(1)/usr/bin |
| $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nping $(1)/usr/bin/ |
| endef |
| |
| Package/nping-ssl/install=$(Package/nping/install) |
| |
| define Py3Package/ndiff/install |
| $(INSTALL_DIR) $(1)/usr/bin |
| $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ndiff $(1)/usr/bin/ |
| endef |
| |
| $(eval $(call BuildPackage,nmap)) |
| $(eval $(call BuildPackage,nmap-ssl)) |
| $(eval $(call BuildPackage,nmap-full)) |
| $(eval $(call BuildPackage,ncat)) |
| $(eval $(call BuildPackage,ncat-ssl)) |
| $(eval $(call BuildPackage,ncat-full)) |
| $(eval $(call BuildPackage,nping)) |
| $(eval $(call BuildPackage,nping-ssl)) |
| |
| $(eval $(call Py3Package,ndiff)) |
| $(eval $(call BuildPackage,ndiff)) |
| $(eval $(call BuildPackage,ndiff-src)) |