From 9b816c9effc85dd5bda67a953d9c2329a9199ef7 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: May 17 2022 09:40:48 +0000 Subject: import libnet-1.2-6.el9 --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..04d9412 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/libnet-1.2-repack.tar.gz diff --git a/.libnet.metadata b/.libnet.metadata new file mode 100644 index 0000000..80f9561 --- /dev/null +++ b/.libnet.metadata @@ -0,0 +1 @@ +ee154e054d5545778a9a318553af9c7181998db9 SOURCES/libnet-1.2-repack.tar.gz diff --git a/SOURCES/120.patch b/SOURCES/120.patch new file mode 100644 index 0000000..24662aa --- /dev/null +++ b/SOURCES/120.patch @@ -0,0 +1,205 @@ +From fdf4c18b1f2c17eddc871d4a593240a59dd0682f Mon Sep 17 00:00:00 2001 +From: Adrian Reber +Date: Wed, 14 Apr 2021 09:21:50 +0200 +Subject: [PATCH 1/3] libnet_port_list.c: fix gcc -fanalyzer warning +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This fixes: + +libnet_port_list.c:99:8: warning: leak of ‘_8’ [CWE-401] [-Wanalyzer-malloc-leak] + 99 | if (!all_lists) + | ^ + ‘libnet_plist_chain_new’: events 1-3 + | + | 48 | if (l == NULL) + | | ^ + | | | + | | (1) following ‘false’ branch (when ‘l_70(D)’ is non-NULL)... + |...... + | 53 | if (token_list == NULL) + | | ~~ ~ + | | | | + | | | (3) following ‘false’ branch (when ‘token_list_71(D)’ is non-NULL)... + | | (2) ...to here + | + ‘libnet_plist_chain_new’: event 4 + | + |cc1: + | (4): ...to here + | + ‘libnet_plist_chain_new’: events 5-9 + | + | 83 | *plist = malloc(sizeof (libnet_plist_t)); + | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + | | | + | | (5) allocated here + | 84 | + | 85 | if (!(*plist)) + | | ~ + | | | + | | (6) assuming ‘*plist_74(D)’ is non-NULL + | | (7) following ‘false’ branch... + |...... + | 93 | tmp = *plist; + | | ~~~ + | | | + | | (8) ...to here + |...... + | 99 | if (!all_lists) + | | ~ + | | | + | | (9) ‘_8’ leaks here; was allocated at (5) + | + +Signed-off-by: Adrian Reber +--- + src/libnet_port_list.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/libnet_port_list.c b/src/libnet_port_list.c +index 942a856..a99867c 100644 +--- a/src/libnet_port_list.c ++++ b/src/libnet_port_list.c +@@ -101,6 +101,7 @@ libnet_plist_chain_new(libnet_t *l, libnet_plist_t **plist, char *token_list) + all_lists = all_lists_tmp; + snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, + "libnet_build_plist_chain: realloc %s", strerror(errno)); ++ free(tmp); + *plist = NULL; + return(-1); + } + +From 60d71f03f26d349b4bf069983f625128ddcfdba8 Mon Sep 17 00:00:00 2001 +From: Adrian Reber +Date: Wed, 14 Apr 2021 09:41:27 +0200 +Subject: [PATCH 2/3] =?UTF-8?q?libnet=5Fpblock.c:=20fix=20warning=20"unuse?= + =?UTF-8?q?d=20variable=20=E2=80=98c=E2=80=99"?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Adrian Reber +--- + src/libnet_pblock.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/libnet_pblock.c b/src/libnet_pblock.c +index fa46d35..e3eb184 100644 +--- a/src/libnet_pblock.c ++++ b/src/libnet_pblock.c +@@ -489,7 +489,6 @@ libnet_pblock_coalesce(libnet_t *l, uint8_t **packet, uint32_t *size) + { + if (q->flags & LIBNET_PBLOCK_DO_CHECKSUM) + { +- uint32_t c; + uint8_t* end = *packet + l->aligner + l->total_size; + uint8_t* beg = *packet + n; + int ip_offset = calculate_ip_offset(l, q); + +From 5085aebbe93b81eb93bfec5e33c04286f779ceda Mon Sep 17 00:00:00 2001 +From: Adrian Reber +Date: Wed, 14 Apr 2021 10:13:23 +0200 +Subject: [PATCH 3/3] libnet_cq.c: fix 'dereference of possibly-NULL' +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +libnet_cq.c:139:18: warning: dereference of possibly-NULL ‘new_18’ [CWE-690] [-Wanalyzer-possible-null-dereference] + 139 | new->context = l; + | ~~~~~~~~~~~~~^~~ + ‘libnet_cq_add.part.0’: events 1-6 + | + | 71 | libnet_cq_add(libnet_t *l, char *label) + | | ^~~~~~~~~~~~~ + | | | + | | (1) entry to ‘libnet_cq_add.part.0’ + |...... + | 89 | if (label == NULL) + | | ~ + | | | + | | (2) following ‘false’ branch (when ‘label_1(D)’ is non-NULL)... + |...... + | 97 | if (l_cq == NULL) + | | ~~ ~ + | | | | + | | | (4) following ‘false’ branch... + | | (3) ...to here + |...... + | 124 | if (libnet_cq_dup_check(l, label)) + | | ~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + | | | | + | | | (6) calling ‘libnet_cq_dup_check’ from ‘libnet_cq_add.part.0’ + | | (5) ...to here + | + +--> ‘libnet_cq_dup_check’: events 7-13 + | + | 269 | libnet_cq_dup_check(libnet_t *l, char *label) + | | ^~~~~~~~~~~~~~~~~~~ + | | | + | | (7) entry to ‘libnet_cq_dup_check’ + |...... + | 273 | for (p = l_cq; p; p = p->next) + | | ~ ~~~~~~~~~~~ + | | | | + | | | (13) ...to here + | | (8) following ‘true’ branch (when ‘p_6’ is non-NULL)... + | 274 | { + | 275 | if (p->context == l) + | | ~~ ~ + | | | | + | | | (10) following ‘false’ branch... + | | (9) ...to here + |...... + | 281 | if (strncmp(p->context->label, label, LIBNET_LABEL_SIZE) == 0) + | | ~~ ~ + | | | | + | | | (12) following ‘false’ branch... + | | (11) ...to here + | + <------+ + | + ‘libnet_cq_add.part.0’: events 14-20 + | + | 124 | if (libnet_cq_dup_check(l, label)) + | | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + | | || + | | |(14) returning to ‘libnet_cq_add.part.0’ from ‘libnet_cq_dup_check’ + | | (15) following ‘false’ branch... + |...... + | 130 | new = (libnet_cq_t *)malloc(sizeof (libnet_cq_t)); + | | ~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + | | | | + | | | (17) this call could return NULL + | | (16) ...to here + | 131 | if (l_cq == NULL) + | | ~ + | | | + | | (18) following ‘false’ branch... + |...... + | 139 | new->context = l; + | | ~~~~~~~~~~~~~~~~ + | | | | + | | | (20) ‘new_18’ could be NULL: unchecked value from (17) + | | (19) ...to here + | + +Signed-off-by: Adrian Reber +--- + src/libnet_cq.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/libnet_cq.c b/src/libnet_cq.c +index 2234cbc..b3c5677 100644 +--- a/src/libnet_cq.c ++++ b/src/libnet_cq.c +@@ -128,7 +128,7 @@ libnet_cq_add(libnet_t *l, char *label) + } + + new = (libnet_cq_t *)malloc(sizeof (libnet_cq_t)); +- if (l_cq == NULL) ++ if (new == NULL) + { + snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, + "%s(): can't malloc new context queue: %s", diff --git a/SOURCES/libnet-config.patch b/SOURCES/libnet-config.patch new file mode 100644 index 0000000..a8a6bb8 --- /dev/null +++ b/SOURCES/libnet-config.patch @@ -0,0 +1,16 @@ +--- libnet-1.2/libnet-config.in.orig 2021-04-08 14:13:20.095564421 +0200 ++++ libnet-1.2/libnet-config.in 2021-04-08 14:13:42.038730961 +0200 +@@ -12,12 +12,11 @@ + + prefix=@prefix@ + exec_prefix=@exec_prefix@ +-libdir=@libdir@ + includedir=@includedir@ + + libnet_defines="@PKG_CONFIG_DEFINES@" + libnet_cflags="-I${includedir} @PKG_CONFIG_CFLAGS@" +-libnet_libs="-L${libdir} @PKG_CONFIG_LIBS@ -lnet" ++libnet_libs="@PKG_CONFIG_LIBS@ -lnet" + + usage() + { diff --git a/SOURCES/libnet_pblock.patch b/SOURCES/libnet_pblock.patch new file mode 100644 index 0000000..4b79e3d --- /dev/null +++ b/SOURCES/libnet_pblock.patch @@ -0,0 +1,18 @@ +diff --git a/src/libnet_pblock.c b/src/libnet_pblock.c +index 9fd015f..fa46d35 100644 +--- a/src/libnet_pblock.c ++++ b/src/libnet_pblock.c +@@ -500,10 +500,9 @@ libnet_pblock_coalesce(libnet_t *l, uint8_t **packet, uint32_t *size) + q->ptag, libnet_diag_dump_pblock_type(q->type), + ip_offset); + #endif +- c = libnet_inet_checksum(l, iph, +- libnet_pblock_p2p(q->type), q->h_len, +- beg, end); +- if (c == -1) ++ if (libnet_inet_checksum(l, iph, ++ libnet_pblock_p2p(q->type), q->h_len, ++ beg, end) == -1) + { + /* err msg set in libnet_do_checksum() */ + goto err; diff --git a/SPECS/libnet.spec b/SPECS/libnet.spec new file mode 100644 index 0000000..58daf77 --- /dev/null +++ b/SPECS/libnet.spec @@ -0,0 +1,265 @@ +Summary: C library for portable packet creation and injection +Name: libnet +Version: 1.2 +Release: 6%{?dist} +License: BSD +URL: https://github.com/libnet/libnet +# This used to be https://github.com/libnet/libnet/releases/download/v%%{version}/%%{name}-%%{version}.tar.gz +# But because of licensing a repacked tarball is used +# The repacked tarball has the directory win32/wpdpack removed +# which was never used. Upstream also removed that directory: +# https://github.com/libnet/libnet/commit/eba016f9506d9041e1bc8786c10ca94ebe626057 +Source0: libnet-1.2-repack.tar.gz +Patch0: libnet-config.patch +Patch1: libnet_pblock.patch +Patch2: https://patch-diff.githubusercontent.com/raw/libnet/libnet/pull/120.patch +BuildRequires: gcc +BuildRequires: make +BuildRequires: %{_bindir}/pod2man + +%description +Libnet is an API to help with the construction and handling of network +packets. It provides a portable framework for low-level network packet +writing and handling (use libnet in conjunction with libpcap and you can +write some really cool stuff). Libnet includes packet creation at the IP +layer and at the link layer as well as a host of supplementary and +complementary functionality. + +%package devel +Summary: Development files for the libnet library +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: pkgconfig + +%description devel +The libnet-devel package includes header files and libraries necessary +for developing programs which use the libnet library. Libnet is very +handy with which to write network tools and network test code. See the +man page and sample test code for more detailed information. + +%if 0%{!?_without_doc:1} +%package doc +Summary: Documentation files for the libnet library +BuildArch: noarch +BuildRequires: doxygen +BuildRequires: graphviz + +%description doc +Libnet is an API to help with the construction and handling of network +packets. It provides a portable framework for low-level network packet +writing and handling. This package contains the API documentation for +developing applications that use libnet. +%endif + +%prep +%setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +# Avoid library soname bump (https://github.com/libnet/libnet/issues/115) +sed -e 's/-version-info 9:0:0/-version-info 9:0:8/' -i src/Makefile.{am,in} + +%build +%configure +%make_build + +%install +%make_install INSTALL='install -p' + +# Don't install any libtool .la files +rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}.{a,la} + +# Clean up for later usage in documentation +rm -rf $RPM_BUILD_ROOT%{_defaultdocdir} + +# Prepare samples for usage in documentation +rm -rf sample/{Makefile*,win32} +for file in sample/*.[hc]; do + sed \ + -e 's@#include "../include/libnet.h"@#include @' \ + -e 's@#include "../include/config.h"@#include @' \ + $file > $file.new + touch -c -r $file{,.new} + mv -f $file{.new,} +done + +%ldconfig_scriptlets + +%files +%license LICENSE +%doc README.md ChangeLog.md +%{_libdir}/%{name}.so.* + +%files devel +%doc doc/MIGRATION.md doc/RAWSOCKET.md sample/ +%{_bindir}/%{name}-config +%{_libdir}/%{name}.so +%{_libdir}/pkgconfig/%{name}.pc +%{_includedir}/%{name}.h +%{_includedir}/%{name}/ +%{_mandir}/man3/%{name}*.3* + +%if 0%{!?_without_doc:1} +%files doc +%doc doc/html/ +%endif + +%changelog +* Mon Aug 09 2021 Mohan Boddu - 1.2-6 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Fri Apr 23 2021 Adrian Reber - 1.2-5 +- Repack tarball to remove problematic license from unused code +- Apply fixes for warnings found by gcc -fanalyzer + +* Fri Apr 16 2021 Mohan Boddu - 1.2-4 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Thu Apr 08 2021 Adrian Reber - 1.2-3 +- Fix file conflicts with libnet-devel + +* Tue Jan 26 2021 Fedora Release Engineering - 1.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sat Jan 02 2021 Robert Scheck 1.2-1 +- Upgrade to 1.2 (#1912031) + +* Tue Jul 28 2020 Fedora Release Engineering - 1.1.6-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jan 29 2020 Fedora Release Engineering - 1.1.6-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 1.1.6-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 1.1.6-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 1.1.6-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 1.1.6-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 1.1.6-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.1.6-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1.1.6-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Feb 04 2016 Fedora Release Engineering - 1.1.6-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 1.1.6-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sun Aug 17 2014 Fedora Release Engineering - 1.1.6-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 1.1.6-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri Dec 20 2013 Robert Scheck 1.1.6-7 +- Run autoreconf to recognize aarch64 (#925813) +- Conditionalized usage of %%{_lib} vs %%{_libdir} for RHEL < 7 +- Tight run-time dependencies between sub-packages via %%{?_isa} + +* Sat Aug 03 2013 Fedora Release Engineering - 1.1.6-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Feb 14 2013 Fedora Release Engineering - 1.1.6-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Thu Jul 19 2012 Fedora Release Engineering - 1.1.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Mon Apr 02 2012 Jon Ciesla - 1.1.6-3 +- Removed redundant leading slashes. + +* Mon Apr 02 2012 Jon Ciesla - 1.1.6-2 +- Move from lib to libdir. + +* Fri Mar 30 2012 Jon Ciesla - 1.1.6-1 +- Upgrade to 1.1.6, BZ 808394. + +* Fri Jan 13 2012 Fedora Release Engineering - 1.1.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Feb 08 2011 Fedora Release Engineering - 1.1.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Dec 28 2010 Robert Scheck 1.1.5-1 +- Upgrade to 1.1.5 + +* Fri Jul 09 2010 Robert Scheck 1.1.4-4 +- Added patch for capability support rather UID check (#589770) + +* Fri Aug 21 2009 Robert Scheck 1.1.4-3 +- Move libnet.so.* to /lib[64] to avoid static linking (#518150) + +* Fri Jul 24 2009 Fedora Release Engineering - 1.1.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Jun 11 2009 Robert Scheck 1.1.4-1 +- Upgrade to 1.1.4 + +* Sat Jun 06 2009 Robert Scheck 1.1.3-2 +- Added upstream patch to solve HAVE_CONFIG_H (#501633, #502400) + +* Sat May 16 2009 Robert Scheck 1.1.3-1 +- Upgrade to 1.1.3 + +* Sun Apr 19 2009 Robert Scheck 1.1.2.1-14 +- Enabled a shared library and made lots of spec file cleanups + +* Mon Feb 23 2009 Robert Scheck 1.1.2.1-13 +- Rebuild against gcc 4.4 and rpm 4.6 + +* Tue Feb 19 2008 Fedora Release Engineering - 1.1.2.1-12 +- Autorebuild for GCC 4.3 + +* Wed Aug 1 2007 Patrice Dumas 1.1.2.1-11 +- build with -fPIC (#250296) + +* Fri Jan 12 2007 Patrice Dumas 1.1.2.1-10 +- add debian patch to correct bad checksums + +* Tue Aug 29 2006 Patrice Dumas 1.1.2.1-9 +- rebuild for FC6 + +* Fri Feb 17 2006 Patrice Dumas 1.1.2.1-8 +- rebuild for fc5 + +* Thu Dec 22 2005 Patrice Dumas 1.1.2.1-7 +- rebuild + +* Mon Sep 12 2005 Patrice Dumas 1.1.2.1-6 +- bump release and add dist tag + +* Tue Aug 30 2005 Paul Howarth 1.1.2.1-5 +- spec file cleanup + +* Fri Aug 26 2005 Patrice Dumas 1.1.2.1-4 +- use pushd and popd (from Oliver Falk) + +* Mon Aug 22 2005 Patrice Dumas 1.1.2.1-3 +- Correct dos end of lines +- add in devel: Provides: %%{name} = %%{version}-%%{release} + +* Fri Aug 12 2005 Patrice Dumas 1.1.2.1-2 +- put everything in a devel subpackage +- add smpflags +- clean in sample + +* Fri Aug 12 2005 Patrice Dumas 1.1.2.1-1 +- rebuild changing only name + +* Wed Jun 02 2004 Marcin Garski 1.1.2.1-2.fc2 +- Rebuild for Fedora Core 2 + +* Sat May 08 2004 Marcin Garski 1.1.2.1-1 +- Initial specfile