Initial commit
This commit is contained in:
17
package/libs/libpcap/Config.in
Normal file
17
package/libs/libpcap/Config.in
Normal file
@@ -0,0 +1,17 @@
|
||||
menu "Configuration"
|
||||
depends on PACKAGE_libpcap
|
||||
|
||||
config PCAP_HAS_USB
|
||||
bool "Include USB support"
|
||||
default n
|
||||
|
||||
config PCAP_HAS_BT
|
||||
bool "Include bluetooth support"
|
||||
depends on BROKEN
|
||||
default n
|
||||
|
||||
config PCAP_HAS_NETFILTER
|
||||
bool "Include netfilter support"
|
||||
default n
|
||||
|
||||
endmenu
|
||||
103
package/libs/libpcap/Makefile
Normal file
103
package/libs/libpcap/Makefile
Normal file
@@ -0,0 +1,103 @@
|
||||
#
|
||||
# Copyright (C) 2006-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libpcap
|
||||
PKG_VERSION:=1.10.1
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=http://www.us.tcpdump.org/release/ \
|
||||
http://www.tcpdump.org/release/
|
||||
PKG_HASH:=ed285f4accaf05344f90975757b3dbfe772ba41d1c401c2648b7fa45b711bdd4
|
||||
|
||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||
PKG_LICENSE:=BSD-3-Clause
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
PKG_ASLR_PIE_REGULAR:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
define Package/libpcap
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
TITLE:=Low-level packet capture library
|
||||
URL:=http://www.tcpdump.org/
|
||||
MENU:=1
|
||||
ABI_VERSION:=1
|
||||
endef
|
||||
|
||||
define Package/libpcap/description
|
||||
This package contains a system-independent library for user-level network packet
|
||||
capture.
|
||||
endef
|
||||
|
||||
define Package/libpcap/config
|
||||
source "$(SOURCE)/Config.in"
|
||||
endef
|
||||
|
||||
define Package/rpcapd
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
TITLE:=Capture daemon to be controlled by a remote libpcap application
|
||||
URL:=http://www.tcpdump.org/
|
||||
DEPENDS+= +libpcap
|
||||
endef
|
||||
|
||||
ifdef CONFIG_PACKAGE_rpcapd
|
||||
CMAKE_OPTIONS += \
|
||||
-DENABLE_REMOTE=ON
|
||||
endif
|
||||
|
||||
CMAKE_OPTIONS += \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DBUILD_WITH_LIBNL=OFF \
|
||||
-DINET6=O$(if $(CONFIG_IPV6),N,FF) \
|
||||
-DPCAP_SUPPORT_NETFILTER=O$(if $(CONFIG_PCAP_HAS_NETFILTER),N,FF)
|
||||
|
||||
# grep 'option(DISABLE_' CMakeLists.txt | cut -f2 -d'(' | cut -f1 -d' ' | sort --unique
|
||||
CMAKE_OPTIONS += \
|
||||
-DDISABLE_BLUETOOTH=O$(if $(CONFIG_PCAP_HAS_BT),FF,N) \
|
||||
-DDISABLE_DAG=ON \
|
||||
-DDISABLE_DBUS=ON \
|
||||
-DDISABLE_DPDK=ON \
|
||||
-DDISABLE_LINUX_USBMON=O$(if $(CONFIG_PCAP_HAS_USB),FF,N) \
|
||||
-DDISABLE_NETMAP=ON \
|
||||
-DDISABLE_RDMA=ON \
|
||||
-DDISABLE_SEPTEL=ON \
|
||||
-DDISABLE_SNF=ON \
|
||||
-DDISABLE_TC=ON \
|
||||
|
||||
# Debugging options
|
||||
CMAKE_OPTIONS += \
|
||||
-DBDEBUG=OFF \
|
||||
-DYYDEBUG=OFF \
|
||||
|
||||
define Build/InstallDev
|
||||
$(call Build/InstallDev/cmake,$(1))
|
||||
$(SED) \
|
||||
's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' \
|
||||
$(1)/usr/bin/pcap-config
|
||||
$(INSTALL_DIR) $(2)/bin
|
||||
$(LN) ../../usr/bin/pcap-config $(2)/bin/pcap-config
|
||||
endef
|
||||
|
||||
define Package/libpcap/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcap.so.* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
define Package/rpcapd/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/rpcapd $(1)/usr/sbin/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,libpcap))
|
||||
$(eval $(call BuildPackage,rpcapd))
|
||||
10
package/libs/libpcap/patches/100-no-openssl.patch
Normal file
10
package/libs/libpcap/patches/100-no-openssl.patch
Normal file
@@ -0,0 +1,10 @@
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -1042,7 +1042,6 @@ endif()
|
||||
#
|
||||
# OpenSSL/libressl.
|
||||
#
|
||||
-find_package(OpenSSL)
|
||||
if(OPENSSL_FOUND)
|
||||
#
|
||||
# We have OpenSSL.
|
||||
69
package/libs/libpcap/patches/102-skip-manpages.patch
Normal file
69
package/libs/libpcap/patches/102-skip-manpages.patch
Normal file
@@ -0,0 +1,69 @@
|
||||
From f172e36e436d714f4def1439b13efd147a6a8411 Mon Sep 17 00:00:00 2001
|
||||
From: Yousong Zhou <yszhou4tech@gmail.com>
|
||||
Date: Fri, 18 Oct 2019 12:43:22 +0000
|
||||
Subject: [PATCH] skip manpages
|
||||
|
||||
---
|
||||
CMakeLists.txt | 55 --------------------------------------------------
|
||||
1 file changed, 55 deletions(-)
|
||||
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -2732,57 +2732,6 @@ if(NOT MSVC)
|
||||
if(MINGW)
|
||||
find_program(LINK_EXECUTABLE ln)
|
||||
endif(MINGW)
|
||||
- if(UNIX OR (MINGW AND LINK_EXECUTABLE))
|
||||
- set(MAN1 "")
|
||||
- foreach(MANPAGE ${MAN1_NOEXPAND})
|
||||
- set(MAN1 ${MAN1} ${CMAKE_CURRENT_SOURCE_DIR}/${MANPAGE})
|
||||
- endforeach(MANPAGE)
|
||||
- install(FILES ${MAN1} DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
|
||||
-
|
||||
- set(MAN3PCAP "")
|
||||
- foreach(MANPAGE ${MAN3PCAP_NOEXPAND})
|
||||
- set(MAN3PCAP ${MAN3PCAP} ${CMAKE_CURRENT_SOURCE_DIR}/${MANPAGE})
|
||||
- endforeach(MANPAGE)
|
||||
- foreach(TEMPLATE_MANPAGE ${MAN3PCAP_EXPAND})
|
||||
- string(REPLACE ".in" "" MANPAGE ${TEMPLATE_MANPAGE})
|
||||
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${TEMPLATE_MANPAGE} ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE} @ONLY)
|
||||
- set(MAN3PCAP ${MAN3PCAP} ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE})
|
||||
- endforeach(TEMPLATE_MANPAGE)
|
||||
- install(FILES ${MAN3PCAP} DESTINATION ${CMAKE_INSTALL_MANDIR}/man3)
|
||||
- install_manpage_symlink(pcap_datalink_val_to_name.3pcap pcap_datalink_val_to_description.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
|
||||
- install_manpage_symlink(pcap_datalink_val_to_name.3pcap pcap_datalink_val_to_description_or_dlt.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
|
||||
- install_manpage_symlink(pcap_dump_open.3pcap pcap_dump_fopen.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
|
||||
- install_manpage_symlink(pcap_findalldevs.3pcap pcap_freealldevs.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
|
||||
- install_manpage_symlink(pcap_geterr.3pcap pcap_perror.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
|
||||
- install_manpage_symlink(pcap_inject.3pcap pcap_sendpacket.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
|
||||
- install_manpage_symlink(pcap_list_datalinks.3pcap pcap_free_datalinks.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
|
||||
- install_manpage_symlink(pcap_list_tstamp_types.3pcap pcap_free_tstamp_types.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
|
||||
- install_manpage_symlink(pcap_loop.3pcap pcap_dispatch.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
|
||||
- install_manpage_symlink(pcap_major_version.3pcap pcap_minor_version.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
|
||||
- install_manpage_symlink(pcap_next_ex.3pcap pcap_next.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
|
||||
- install_manpage_symlink(pcap_open_dead.3pcap pcap_open_dead_with_tstamp_precision.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
|
||||
- install_manpage_symlink(pcap_open_offline.3pcap pcap_open_offline_with_tstamp_precision.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
|
||||
- install_manpage_symlink(pcap_open_offline.3pcap pcap_fopen_offline.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
|
||||
- install_manpage_symlink(pcap_open_offline.3pcap pcap_fopen_offline_with_tstamp_precision.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
|
||||
- install_manpage_symlink(pcap_tstamp_type_val_to_name.3pcap pcap_tstamp_type_val_to_description.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
|
||||
- install_manpage_symlink(pcap_setnonblock.3pcap pcap_getnonblock.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
|
||||
-
|
||||
- set(MANFILE "")
|
||||
- foreach(TEMPLATE_MANPAGE ${MANFILE_EXPAND})
|
||||
- string(REPLACE ".manfile.in" ".${MAN_FILE_FORMATS}" MANPAGE ${TEMPLATE_MANPAGE})
|
||||
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${TEMPLATE_MANPAGE} ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE} @ONLY)
|
||||
- set(MANFILE ${MANFILE} ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE})
|
||||
- endforeach(TEMPLATE_MANPAGE)
|
||||
- install(FILES ${MANFILE} DESTINATION ${CMAKE_INSTALL_MANDIR}/man${MAN_FILE_FORMATS})
|
||||
-
|
||||
- set(MANMISC "")
|
||||
- foreach(TEMPLATE_MANPAGE ${MANMISC_EXPAND})
|
||||
- string(REPLACE ".manmisc.in" ".${MAN_MISC_INFO}" MANPAGE ${TEMPLATE_MANPAGE})
|
||||
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${TEMPLATE_MANPAGE} ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE} @ONLY)
|
||||
- set(MANMISC ${MANMISC} ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE})
|
||||
- endforeach(TEMPLATE_MANPAGE)
|
||||
- install(FILES ${MANMISC} DESTINATION ${CMAKE_INSTALL_MANDIR}/man${MAN_MISC_INFO})
|
||||
- endif(UNIX OR (MINGW AND LINK_EXECUTABLE))
|
||||
endif(NOT MSVC)
|
||||
|
||||
# uninstall target
|
||||
26
package/libs/libpcap/patches/201-space_optimization.patch
Normal file
26
package/libs/libpcap/patches/201-space_optimization.patch
Normal file
@@ -0,0 +1,26 @@
|
||||
--- a/pcap-common.c
|
||||
+++ b/pcap-common.c
|
||||
@@ -1662,14 +1662,23 @@ swap_pseudo_headers(int linktype, struct
|
||||
break;
|
||||
|
||||
case DLT_USB_LINUX:
|
||||
+#ifndef PCAP_SUPPORT_USB
|
||||
+ return;
|
||||
+#endif
|
||||
swap_linux_usb_header(hdr, data, 0);
|
||||
break;
|
||||
|
||||
case DLT_USB_LINUX_MMAPPED:
|
||||
+#ifndef PCAP_SUPPORT_USB
|
||||
+ return;
|
||||
+#endif
|
||||
swap_linux_usb_header(hdr, data, 1);
|
||||
break;
|
||||
|
||||
case DLT_NFLOG:
|
||||
+#ifndef PCAP_SUPPORT_NETFILTER
|
||||
+ return;
|
||||
+#endif
|
||||
swap_nflog_header(hdr, data);
|
||||
break;
|
||||
}
|
||||
Reference in New Issue
Block a user