diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..26aa1f4 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/libpcap-1.10.0.tar.gz diff --git a/.libpcap.metadata b/.libpcap.metadata new file mode 100644 index 0000000..ee2c138 --- /dev/null +++ b/.libpcap.metadata @@ -0,0 +1 @@ +3d8c1843ae4ea0d7871c8689b58508406e5743c9 SOURCES/libpcap-1.10.0.tar.gz diff --git a/SOURCES/0001-man-tcpdump-and-tcpslice-have-manpages-in-man8.patch b/SOURCES/0001-man-tcpdump-and-tcpslice-have-manpages-in-man8.patch new file mode 100644 index 0000000..51c9aae --- /dev/null +++ b/SOURCES/0001-man-tcpdump-and-tcpslice-have-manpages-in-man8.patch @@ -0,0 +1,28 @@ +From 208bb414553d5444d82601e6fd4ca25fbb192998 Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Mon, 29 Sep 2014 08:19:05 +0200 +Subject: [PATCH 1/4] man: tcpdump and tcpslice have manpages in man8 + +Both should be run only by root, hence manpages for them should be located in +/usr/share/man/man8/ +--- + pcap.3pcap.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pcap.3pcap.in b/pcap.3pcap.in +index 492c227..46a2a4b 100644 +--- a/pcap.3pcap.in ++++ b/pcap.3pcap.in +@@ -1025,8 +1025,8 @@ script or some other configuration script to check whether the libpcap + 1.0 APIs are available and use them only if they are. + .SH SEE ALSO + .BR autoconf (1), +-.BR tcpdump (1), +-.BR tcpslice (1), ++.BR tcpdump (8), ++.BR tcpslice (8), + .BR pcap-filter (@MAN_MISC_INFO@), + .BR pfconfig (8), + .BR usermod (@MAN_ADMIN_COMMANDS@) +-- +1.8.3.1 diff --git a/SOURCES/0002-pcap-config-mitigate-multilib-conflict.patch b/SOURCES/0002-pcap-config-mitigate-multilib-conflict.patch new file mode 100644 index 0000000..8b6b420 --- /dev/null +++ b/SOURCES/0002-pcap-config-mitigate-multilib-conflict.patch @@ -0,0 +1,88 @@ +From 5b80ca39b1f01177e98c78bbc622dfda6f7a7e71 Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Mon, 29 Sep 2014 08:27:15 +0200 +Subject: [PATCH 2/4] pcap-config: mitigate multilib conflict + +libdir path is different on 64bit and 32bit arches. Hence when installing both +multilib versions on the system yum complains about conflicting pcap-config +file. + +Hence remove libdir references from pcap-config, libdir is in dynamic linker +path anyway. +--- + pcap-config.in | 27 ++++++++------------------- + 1 file changed, 8 insertions(+), 19 deletions(-) + +diff --git a/pcap-config.in b/pcap-config.in +index 206be3b..75f2c9f 100644 +--- a/pcap-config.in ++++ b/pcap-config.in +@@ -7,7 +7,6 @@ + prefix="@prefix@" + exec_prefix="@exec_prefix@" + includedir="@includedir@" +-libdir="@libdir@" + V_RPATH_OPT="@V_RPATH_OPT@" + LIBS="@LIBS@" + PACKAGE_NAME="@PACKAGE_NAME@" +@@ -36,16 +35,6 @@ do + esac + shift + done +-if [ "$V_RPATH_OPT" != "" ] +-then +- # +- # If libdir isn't /usr/lib, add it to the run-time linker path. +- # +- if [ "$libdir" != "/usr/lib" ] +- then +- RPATH=$V_RPATH_OPT$libdir +- fi +-fi + if [ "$static" = 1 ] + then + # +@@ -54,16 +43,16 @@ then + # + if [ "$show_cflags" = 1 -a "$show_libs" = 1 ] + then +- echo "-I$includedir -L$libdir -lpcap $LIBS" ++ echo "-lpcap @LIBS@" + elif [ "$show_cflags" = 1 -a "$show_additional_libs" = 1 ] + then +- echo "-I$includedir -L$libdir $LIBS" ++ echo "@LIBS@" + elif [ "$show_cflags" = 1 ] + then +- echo "-I$includedir" ++ echo "" + elif [ "$show_libs" = 1 ] + then +- echo "-L$libdir -lpcap $LIBS" ++ echo "-lpcap @LIBS@" + elif [ "$show_additional_libs" = 1 ] + then + echo "$LIBS" +@@ -75,15 +64,15 @@ else + # + if [ "$show_cflags" = 1 -a "$show_libs" = 1 ] + then +- echo "-I$includedir -L$libdir $RPATH -l$PACKAGE_NAME" ++ echo "-lpcap" + elif [ "$show_cflags" = 1 -a "$show_additional_libs" = 1 ] + then +- echo "-I$includedir" ++ echo "" + elif [ "$show_cflags" = 1 ] + then +- echo "-I$includedir" ++ echo "" + elif [ "$show_libs" = 1 ] + then +- echo "-L$libdir $RPATH -l$PACKAGE_NAME" ++ echo "-lpcap" + fi + fi +-- +1.8.3.1 + diff --git a/SOURCES/0003-pcap-linux-apparently-ctc-interfaces-on-s390-has-eth.patch b/SOURCES/0003-pcap-linux-apparently-ctc-interfaces-on-s390-has-eth.patch new file mode 100644 index 0000000..7f7d372 --- /dev/null +++ b/SOURCES/0003-pcap-linux-apparently-ctc-interfaces-on-s390-has-eth.patch @@ -0,0 +1,28 @@ +From b9fa92532328daad84766753422e8a21fd474e6f Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Mon, 29 Sep 2014 08:37:25 +0200 +Subject: [PATCH 3/4] pcap-linux: apparently ctc interfaces on s390 has + ethernet DLT + +--- + pcap-linux.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/pcap-linux.c b/pcap-linux.c +index 900ebbc..58292c3 100644 +--- a/pcap-linux.c ++++ b/pcap-linux.c +@@ -3197,6 +3197,10 @@ activate_new(pcap_t *handle) + } + } + ++ /* Hack to make things work on s390 ctc interfaces */ ++ if (strncmp("ctc", device, 3) == 0) ++ handle->linktype = DLT_EN10MB; ++ + handlep->ifindex = iface_get_id(sock_fd, device, + handle->errbuf); + if (handlep->ifindex == -1) { +-- +1.8.3.1 + diff --git a/SOURCES/0004-covscan-rhel9.patch b/SOURCES/0004-covscan-rhel9.patch new file mode 100644 index 0000000..c8b9dfe --- /dev/null +++ b/SOURCES/0004-covscan-rhel9.patch @@ -0,0 +1,14 @@ +diff --git a/pcap-linux.c b/pcap-linux.c +index 86ce887..3c09617 100644 +--- a/pcap-linux.c ++++ b/pcap-linux.c +@@ -1599,8 +1599,8 @@ get_if_flags(const char *name, bpf_u_int32 *flags, char *errbuf) + } + } + fclose(fh); +- free(pathstr); + } ++ free(pathstr); + } + + #ifdef ETHTOOL_GLINK diff --git a/SPECS/libpcap.spec b/SPECS/libpcap.spec new file mode 100644 index 0000000..4811142 --- /dev/null +++ b/SPECS/libpcap.spec @@ -0,0 +1,313 @@ +Name: libpcap +Epoch: 14 +Version: 1.10.0 +Release: 4%{?dist} +Summary: A system-independent interface for user-level packet capture +License: BSD with advertising +URL: https://www.tcpdump.org/ + +BuildRequires: make +BuildRequires: bison +BuildRequires: bluez-libs-devel +BuildRequires: flex +BuildRequires: gcc +BuildRequires: git +BuildRequires: glibc-kernheaders >= 2.2.0 +#rdma-core-devel not available on arm +%ifnarch %{arm} +BuildRequires: rdma-core-devel +%endif + +Source: https://www.tcpdump.org/release/%{name}-%{version}.tar.gz + +Patch0001: 0001-man-tcpdump-and-tcpslice-have-manpages-in-man8.patch +Patch0002: 0002-pcap-config-mitigate-multilib-conflict.patch +Patch0003: 0003-pcap-linux-apparently-ctc-interfaces-on-s390-has-eth.patch +Patch0004: 0004-covscan-rhel9.patch + +%description +Libpcap provides a portable framework for low-level network +monitoring. Libpcap can provide network statistics collection, +security monitoring and network debugging. Since almost every system +vendor provides a different interface for packet capture, the libpcap +authors created this system-independent API to ease in porting and to +alleviate the need for several system-dependent packet capture modules +in each application. + +Install libpcap if you need to do low-level network traffic monitoring +on your network. + +%package devel +Summary: Libraries and header files for the libpcap library +Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} + +%description devel +Libpcap provides a portable framework for low-level network +monitoring. Libpcap can provide network statistics collection, +security monitoring and network debugging. Since almost every system +vendor provides a different interface for packet capture, the libpcap +authors created this system-independent API to ease in porting and to +alleviate the need for several system-dependent packet capture modules +in each application. + +This package provides the libraries, include files, and other +resources needed for developing libpcap applications. + +%prep +%autosetup -S git + +#sparc needs -fPIC +%ifarch %{sparc} +sed -i -e 's|-fpic|-fPIC|g' configure +%endif + +%build +export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" +%ifarch %{arm} +%configure +%else +%configure --enable-rdma +%endif +%make_build + +%install +%make_install +rm -f $RPM_BUILD_ROOT%{_libdir}/libpcap.a + +%ldconfig_scriptlets + +%files +%license LICENSE +%doc README.md CHANGES CREDITS +%{_libdir}/libpcap.so.* +%{_mandir}/man7/pcap*.7* + +%files devel +%{_bindir}/pcap-config +%{_includedir}/pcap*.h +%{_includedir}/pcap +%{_libdir}/libpcap.so +%{_libdir}/pkgconfig/libpcap.pc +%{_mandir}/man1/pcap-config.1* +%{_mandir}/man3/pcap*.3* +%{_mandir}/man5/pcap*.5* + +%changelog +* Mon Aug 09 2021 Mohan Boddu - 14:1.10.0-4 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Mon Jul 26 2021 Michal Ruprich - 14:1.10.0-3 +- Resolves: #1938778 - review of important potential issues detected by static analyzers in libpcap + +* Fri Apr 16 2021 Mohan Boddu - 14:1.10.0-2 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Thu Feb 11 2021 Michal Ruprich - 14:1.10.0-1 +- New version 1.10.0 + +* Tue Jan 26 2021 Fedora Release Engineering - 14:1.9.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Oct 12 2020 Michal Ruprich - 14:1.9.1-6 +- Using make macros +- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro + +* Tue Jul 28 2020 Fedora Release Engineering - 14:1.9.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri May 15 2020 Michal Ruprich - 14:1.9.1-4 +- Enabling rdma support in libpcap + +* Mon Feb 24 2020 Michal Ruprich - 14:1.9.1-3 +- libpcap should print an error on wrong IPv4 address + +* Wed Jan 29 2020 Fedora Release Engineering - 14:1.9.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Oct 11 2019 Michal Ruprich - 14:1.9.1-1 +- New version 1.9.1 +- Fix for CVE-2018-16301, CVE-2019-15161, CVE-2019-15162, CVE-2019-15163, CVE-2019-15164, CVE-2019-15165 + +* Thu Jul 25 2019 Fedora Release Engineering - 14:1.9.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 14:1.9.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Aug 13 2018 Peter Robinson 14:1.9.0-2 +- pkgconfig file belong in devel package +- drop obsolete group in spec + +* Wed Aug 01 2018 Michal Ruprich - 14:1.9.0-1 +- New version 1.9.0 + +* Fri Jul 13 2018 Fedora Release Engineering - 14:1.8.1-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Jun 06 2018 Michal Ruprich - 14:1.8.1-10 +- Adding support for AF_VSOCK + +* Tue Feb 20 2018 Martin Sehnoutka - 14:1.8.1-9 +- Add gcc to BuildRequires + +* Wed Feb 07 2018 Fedora Release Engineering - 14:1.8.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Feb 03 2018 Igor Gnatenko - 14:1.8.1-7 +- Switch to %%ldconfig_scriptlets + +* Thu Aug 03 2017 Fedora Release Engineering - 14:1.8.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 14:1.8.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Thu May 18 2017 Martin Sehnoutka - 14:1.8.1-4 +- Drop TPACKET_V3 patch as it should be fixed in kernel by now + +* Fri Feb 10 2017 Fedora Release Engineering - 14:1.8.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Feb 01 2017 Stephen Gallagher - 1.8.1-2 +- Add missing %%license macro + +* Mon Oct 31 2016 Luboš Uhliarik - 14:1.8.1-1 +- new version 1.8.1 + +* Mon Aug 08 2016 Luboš Uhliarik - 14:1.8.0-1 +- new version 1.8.0 + +* Thu Feb 04 2016 Fedora Release Engineering - 14:1.7.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Jun 29 2015 Michal Sekletar - 14:1.7.4-1 +- update to 1.7.4 (#1236387) + +* Wed Jun 17 2015 Fedora Release Engineering - 14:1.7.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue May 26 2015 Michal Sekletar - 14:1.7.3-1 +- update to 1.7.3 (#1214723) +- fix build against bluez-5 (#1178297) + +* Fri Mar 13 2015 Michal Sekletar - 14:1.7.2-1 +- update to 1.7.2 (#1201078) + +* Mon Feb 23 2015 Michal Sekletar - 14:1.6.2-2 +- fix scaling of pcap-ng timestamps (#1169322) +- remove kernel-devel from buildrequires + +* Mon Sep 29 2014 Michal Sekletar - 14:1.6.2-1 +- update to 1.6.2 (#1124174) +- disable TPACKET_V3 support (#1131500) + +* Sun Aug 17 2014 Fedora Release Engineering - 14:1.5.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 14:1.5.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon Mar 31 2014 Michal Sekletar - 14:1.5.3-3 +- don't link against libnl + +* Fri Mar 28 2014 Michal Sekletar - 14:1.5.3-2 +- link against libnl (#765716) + +* Wed Jan 15 2014 Michal Sekletar - 14:1.5.3-1 +- update to 1.5.3 + +* Thu Nov 28 2013 Michal Sekletar - 14:1.5.1-1 +- update to 1.5.1 + +* Fri Nov 08 2013 Michal Sekletar - 14:1.5.0-1.20131108git459712e +- update to snapshot 20131108git459712e + +* Sat Aug 03 2013 Fedora Release Engineering - 14:1.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Jun 06 2013 Michal Sekletar - 14:1.4.0-1 +- update to 1.4.0 + +* Tue Mar 26 2013 Michal Sekletar - 14:1.3.0-4 +- remove unused variable from pcap-config to prevent multilib conflicts +- specfile cleanup + +* Thu Feb 14 2013 Fedora Release Engineering - 14:1.3.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Thu Jul 19 2012 Fedora Release Engineering - 14:1.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Jun 13 2012 Michal Sekletar 14:1.3.0-1 +- Update to 1.3.0 + +* Thu Jan 05 2012 Jan Synáček 14:1.2.1-2 +- Rebuilt for GCC 4.7 + +* Tue Jan 03 2012 Jan Synáček 14:1.2.1-1 +- Update to 1.2.1 +- Drop unnecessary -fragment patch + +* Fri Dec 02 2011 Michal Sekletar 14:1.2.0-1 +- update to 1.2.0 + +* Tue Sep 06 2011 Michal Sekletar 14:1.1.1-4 +- fix capture of fragmented ipv6 packets + +* Fri Apr 22 2011 Miroslav Lichvar 14:1.1.1-3 +- ignore /sys/net/dev files on ENODEV (#693943) +- drop ppp patch +- compile with -fno-strict-aliasing + +* Tue Feb 08 2011 Fedora Release Engineering - 14:1.1.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Apr 06 2010 Miroslav Lichvar 14:1.1.1-1 +- update to 1.1.1 + +* Wed Dec 16 2009 Miroslav Lichvar 14:1.0.0-5.20091201git117cb5 +- update to snapshot 20091201git117cb5 + +* Sat Oct 17 2009 Dennis Gilmore 14:1.0.0-4.20090922gite154e2 +- use -fPIC on sparc arches + +* Wed Sep 23 2009 Miroslav Lichvar 14:1.0.0-3.20090922gite154e2 +- update to snapshot 20090922gite154e2 +- drop old soname + +* Fri Jul 24 2009 Fedora Release Engineering - 14:1.0.0-2.20090716git6de2de +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Jul 22 2009 Miroslav Lichvar 14:1.0.0-1.20090716git6de2de +- update to 1.0.0, git snapshot 20090716git6de2de + +* Wed Feb 25 2009 Fedora Release Engineering - 14:0.9.8-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Fri Jun 27 2008 Miroslav Lichvar 14:0.9.8-3 +- use CFLAGS when linking (#445682) + +* Tue Feb 19 2008 Fedora Release Engineering - 14:0.9.8-2 +- Autorebuild for GCC 4.3 + +* Wed Oct 24 2007 Miroslav Lichvar 14:0.9.8-1 +- update to 0.9.8 + +* Wed Aug 22 2007 Miroslav Lichvar 14:0.9.7-3 +- update license tag + +* Wed Jul 25 2007 Jesse Keating - 14:0.9.7-2 +- Rebuild for RH #249435 + +* Tue Jul 24 2007 Miroslav Lichvar 14:0.9.7-1 +- update to 0.9.7 + +* Tue Jun 19 2007 Miroslav Lichvar 14:0.9.6-1 +- update to 0.9.6 + +* Tue Nov 28 2006 Miroslav Lichvar 14:0.9.5-1 +- split from tcpdump package (#193657) +- update to 0.9.5 +- don't package static library +- maintain soname