summaryrefslogtreecommitdiff
path: root/net-analyzer
diff options
context:
space:
mode:
authorBertrand Jacquin <beber@meleeweb.net>2011-07-26 20:20:58 +0200
committerBertrand Jacquin <beber@meleeweb.net>2011-07-26 20:20:58 +0200
commit1d84a361d5c302d358dfa4701e73b1d309a9cf38 (patch)
treef3425dcf3796260d1376eea994de2a87502d8597 /net-analyzer
parentnet-analyzer/iptraf-ng: #376157 (diff)
downloadportage-1d84a361d5c302d358dfa4701e73b1d309a9cf38.tar.xz
net-analyzer/tcpreplay: #375679
https://bugs.gentoo.org/show_bug.cgi?id=375679
Diffstat (limited to 'net-analyzer')
-rw-r--r--net-analyzer/tcpreplay/Manifest4
-rw-r--r--net-analyzer/tcpreplay/files/tcpreplay-3.4.4-crash.patch38
-rw-r--r--net-analyzer/tcpreplay/files/tcpreplay-BJA-cross.diff88
-rw-r--r--net-analyzer/tcpreplay/tcpreplay-3.4.4-r1.ebuild60
4 files changed, 190 insertions, 0 deletions
diff --git a/net-analyzer/tcpreplay/Manifest b/net-analyzer/tcpreplay/Manifest
new file mode 100644
index 00000000..2e376556
--- /dev/null
+++ b/net-analyzer/tcpreplay/Manifest
@@ -0,0 +1,4 @@
+AUX tcpreplay-3.4.4-crash.patch 999 RMD160 ea9cc29a1479d600493e57ec79ae9ad3244b6be8 SHA1 310bb774108bab593435120ccf96dfc4080804e1 SHA256 1880eccd2616836df6e255757f0683d9c3a9d127848514741f3825f53e560af8
+AUX tcpreplay-BJA-cross.diff 1750 RMD160 69e8c8c9a7a82bccf45a232dac09dc9a2092aad4 SHA1 25857d74272bce168824ea624877c1fd056f54b6 SHA256 443c81eb8e1b74da73a0d761a989f3fc7c494771997192e8687318311db99f90
+DIST tcpreplay-3.4.4.tar.gz 947179 RMD160 672812755ff39b284044b08cba32c574ab2b7e70 SHA1 9e4cca81cfbfb919f8759e1a27ce1b3b963ff3b8 SHA256 7a809c58ddec86407fd6e5597ac883d7874a19bea81d716bb2b1c6e3b0e7b58f
+EBUILD tcpreplay-3.4.4-r1.ebuild 1651 RMD160 80fe62059d3f5a64144aaa2e777076f311dbe320 SHA1 321c96e9ef4d33d3a42dab2587c019d25df83358 SHA256 4383c5f7ee6d0077c11cfd2cdd5ed5db95624f60e75b07593c06b4f5e0f87500
diff --git a/net-analyzer/tcpreplay/files/tcpreplay-3.4.4-crash.patch b/net-analyzer/tcpreplay/files/tcpreplay-3.4.4-crash.patch
new file mode 100644
index 00000000..09875054
--- /dev/null
+++ b/net-analyzer/tcpreplay/files/tcpreplay-3.4.4-crash.patch
@@ -0,0 +1,38 @@
+=== modified file 'src/common/cidr.c'
+--- src/common/cidr.c 2010-10-29 13:00:54 +0000
++++ src/common/cidr.c 2010-10-29 13:09:01 +0000
+@@ -85,11 +85,12 @@
+ destroy_cidr(tcpr_cidr_t * cidr)
+ {
+
+- if (cidr != NULL)
++ if (cidr != NULL) {
+ if (cidr->next != NULL)
+ destroy_cidr(cidr->next);
+
+- safe_free(cidr);
++ safe_free(cidr);
++ }
+ return;
+
+ }
+@@ -667,7 +668,7 @@
+ cidr2iplist(tcpr_cidr_t * cidr, char delim)
+ {
+ char *list = NULL;
+- char ipaddr[16];
++ char ipaddr[16], tempbuff[20];
+ u_int32_t size, addr, first, last, numips;
+ struct in_addr in;
+
+@@ -694,7 +695,8 @@
+ /* loop through all but the last one */
+ for (addr = first; addr < last; addr++) {
+ in.s_addr = htonl(addr);
+- snprintf(ipaddr, 17, "%s%c", inet_ntoa(in), delim);
++ snprintf(tempbuff, 17, "%s%c", inet_ntoa(in), delim);
++ memcpy(ipaddr, tempbuff, 16);
+ dbgx(2, "%s", ipaddr);
+ strlcat(list, ipaddr, size);
+ }
+
diff --git a/net-analyzer/tcpreplay/files/tcpreplay-BJA-cross.diff b/net-analyzer/tcpreplay/files/tcpreplay-BJA-cross.diff
new file mode 100644
index 00000000..21ee7ee1
--- /dev/null
+++ b/net-analyzer/tcpreplay/files/tcpreplay-BJA-cross.diff
@@ -0,0 +1,88 @@
+--- configure.ac.ori 2011-07-19 20:21:01.000000000 +0200
++++ configure.ac 2011-07-19 20:25:06.000000000 +0200
+@@ -402,7 +402,6 @@
+
+ dnl 0.9.6 (which is still thinks it is 0.9.5 due to a bug) introduces an important
+ dnl fix for OSX. See: http://tcpreplay.synfin.net/trac/ticket/167
+-libpcap_version_096=no
+ AC_RUN_IFELSE(AC_LANG_PROGRAM([[
+ #include <string.h>
+ #include <stdlib.h>
+@@ -419,11 +418,12 @@
+ exit(0);
+
+ exit(1);
+-]]), [
+- libpcap_version_096=yes
+-])
++]]),
++ [libpcap_version_096=yes],
++ [libpcap_version_096=no],
++ [libpcap_version_096=yes]
++)
+
+-libpcap_ver8=no
+ AC_RUN_IFELSE(AC_LANG_PROGRAM([[
+ #include <string.h>
+ #include <stdlib.h>
+@@ -444,13 +444,12 @@
+ exit(0);
+
+ exit(1);
+-]]), [
+- libpcap_ver8=yes
+-], [
+- libpcap_ver8=no
+-])
++]]),
++ [libpcap_ver8=yes],
++ [libpcap_ver8=no],
++ [libpcap_ver8=yes]
++)
+
+-libpcap_ver7=no
+ AC_RUN_IFELSE(AC_LANG_PROGRAM([[
+ #include <string.h>
+ #include <stdlib.h>
+@@ -469,11 +468,11 @@
+ exit(0);
+
+ exit(1);
+-]]), [
+- libpcap_ver7=yes
+-], [
+- libpcap_ver7=no
+-])
++]]),
++ [libpcap_ver7=yes],
++ [libpcap_ver7=no],
++ [libpcap_ver7=yes]
++)
+
+ if test x$libpcap_ver8 = xyes ; then
+ AC_MSG_RESULT(>= 0.8.0)
+@@ -761,8 +760,8 @@
+
+ have_bpf=no
+ dnl Check for BSD's BPF
+-AC_MSG_CHECKING(for BPF device sending support)
+-AC_TRY_RUN([
++AC_CACHE_CHECK([for BPF device sending support], ac_cv_have_bpf,
++[AC_TRY_RUN([
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <sys/types.h>
+@@ -796,8 +795,11 @@
+ [Do we have BPF device support?])
+ AC_MSG_RESULT(yes)
+ have_bpf=yes
+-],[
+- AC_MSG_RESULT(no)
++],
++[AC_MSG_RESULT(no)],
++[AC_MSG_ERROR([cross-compiling,
++ presetting ac_cv_have_bpf=(yes|no) will help])]
++)
+ ])
+
+
diff --git a/net-analyzer/tcpreplay/tcpreplay-3.4.4-r1.ebuild b/net-analyzer/tcpreplay/tcpreplay-3.4.4-r1.ebuild
new file mode 100644
index 00000000..0476112b
--- /dev/null
+++ b/net-analyzer/tcpreplay/tcpreplay-3.4.4-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/tcpreplay/tcpreplay-3.4.4-r1.ebuild,v 1.3 2011/03/21 08:12:16 tomka Exp $
+
+EAPI="2"
+
+inherit eutils autotools
+
+DESCRIPTION="replay saved tcpdump or snoop files at arbitrary speeds"
+HOMEPAGE="http://tcpreplay.synfin.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~sparc x86"
+IUSE="debug pcapnav +tcpdump"
+
+DEPEND="
+ >=sys-devel/autogen-5.9.8
+ dev-libs/libdnet
+ >=net-libs/libpcap-0.9
+ tcpdump? ( net-analyzer/tcpdump )
+ pcapnav? ( net-libs/libpcapnav )"
+
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ echo "We don't use bundled libopts" > libopts/options.h
+ epatch ${FILESDIR}/${P}-crash.patch
+ epatch ${FILESDIR}/${PN}-BJA-cross.diff
+
+ eautoreconf
+}
+
+src_configure() {
+ # By default it uses static linking. Avoid that, bug 252940
+ econf --enable-shared \
+ --disable-local-libopts \
+ $(use_with tcpdump tcpdump /usr/sbin/tcpdump) \
+ $(use_with pcapnav pcapnav-config /usr/bin/pcapnav-config) \
+ $(use_enable debug)
+}
+
+src_test() {
+ if [[ ! ${EUID} -eq 0 ]]; then
+ ewarn "Some tests were disabled due to FEATURES=userpriv"
+ ewarn "To run all tests issue the following command as root:"
+ ewarn " # make -C ${S}/test"
+ make -C test tcpprep || die "self test failed - see ${S}/test/test.log"
+ else
+ make test || {
+ ewarn "Note, that some tests require eth0 iface to be UP." ;
+ die "self test failed - see ${S}/test/test.log" ; }
+ fi
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die
+ dodoc README docs/{CHANGELOG,CREDIT,HACKING,TODO} || die
+}