summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Roovers <jer@gentoo.org>2020-01-01 16:36:45 +0100
committerJeroen Roovers <jer@gentoo.org>2020-01-01 16:39:39 +0100
commit4344075efcc6c42845677630b08265e05241c05b (patch)
treec6b8c04e44212a3d4f1a987776a18ca157b84ac0 /net-analyzer
parentdev-libs/9libs: amd64 stable wrt bug #704436 (diff)
downloadgentoo-4344075efcc6c42845677630b08265e05241c05b.tar.gz
gentoo-4344075efcc6c42845677630b08265e05241c05b.tar.bz2
gentoo-4344075efcc6c42845677630b08265e05241c05b.zip
net-analyzer/tcpstat: Version 1.5_p8
* Split up -db patch * Apply Debian patches * Fix -L-lpcap * Depend on sys-libs/db:* for tcpprof(1) Package-Manager: Portage-2.3.84, Repoman-2.3.20 Signed-off-by: Jeroen Roovers <jer@gentoo.org>
Diffstat (limited to 'net-analyzer')
-rw-r--r--net-analyzer/tcpstat/Manifest1
-rw-r--r--net-analyzer/tcpstat/files/tcpstat-1.5_p8-_DEFAULT_SOURCE.patch11
-rw-r--r--net-analyzer/tcpstat/files/tcpstat-1.5_p8-ipv6.patch30
-rw-r--r--net-analyzer/tcpstat/files/tcpstat-1.5_p8-libpcap.patch11
-rw-r--r--net-analyzer/tcpstat/files/tcpstat-1.5_p8-off-by-one.patch50
-rw-r--r--net-analyzer/tcpstat/files/tcpstat-1.5_p8-unused.patch99
-rw-r--r--net-analyzer/tcpstat/tcpstat-1.5_p8.ebuild59
7 files changed, 261 insertions, 0 deletions
diff --git a/net-analyzer/tcpstat/Manifest b/net-analyzer/tcpstat/Manifest
index 19241909fb7f..1f36deb47008 100644
--- a/net-analyzer/tcpstat/Manifest
+++ b/net-analyzer/tcpstat/Manifest
@@ -1 +1,2 @@
DIST tcpstat-1.5.tar.gz 93102 BLAKE2B 39a570fe6176fda0e8a6539417ece268183a1ebed6fa956b8ec5556b8bbd2508829e7d0861ef39b551bd6070df70cfdaf3dbf694a42ad00be4ea0f3e5c757ce5 SHA512 f1399365e754e4d9e19657c455a580294a7b4002a0d02ff05791a45574dcb1d0e75dc492157ef595066502b1553702481c67b20ad24267a50d7293766c39a5ab
+DIST tcpstat_1.5-8.debian.tar.xz 7844 BLAKE2B d74e3fd6a274d5e4e0963741bcfe870cfa300281706f965ac1c61ab7e6eb9aa2ea06566649fb3ae8d6071464cfa4bc037e58f64bf32f71ad8b3006976a515417 SHA512 f54546a9191feddc5410c7abb6764533ce89de4bd93fdc480e1a8f7473b405ca914482e6b950ead39d78d235caf093aaa663c683df346417070b97fc3e4f5c41
diff --git a/net-analyzer/tcpstat/files/tcpstat-1.5_p8-_DEFAULT_SOURCE.patch b/net-analyzer/tcpstat/files/tcpstat-1.5_p8-_DEFAULT_SOURCE.patch
new file mode 100644
index 000000000000..3ea38d7bac02
--- /dev/null
+++ b/net-analyzer/tcpstat/files/tcpstat-1.5_p8-_DEFAULT_SOURCE.patch
@@ -0,0 +1,11 @@
+--- a/configure.in
++++ b/configure.in
+@@ -68,7 +68,7 @@
+ case $my_build_os in
+ aix*) AC_DEFINE(AIX_STRANGENESS, 1, [ defined on AIX systems. ]) ;;
+ osf1*) AC_DEFINE(TRU64_STRANGENESS, 1, [ defined on OSF systems. ]) ;;
+- linux*) AC_DEFINE(_BSD_SOURCE, 1, [ defined usually on linux systems ] ) ;;
++ linux*) AC_DEFINE(_DEFAULT_SOURCE, 1, [ defined usually on linux systems ] ) ;;
+ gnu/kfreebsd*) AC_DEFINE(_BSD_SOURCE, 1, [ defined usually on debian kfreebsd systems ] ) ;;
+ bsd/os*) ;;
+ freebsd*) ;;
diff --git a/net-analyzer/tcpstat/files/tcpstat-1.5_p8-ipv6.patch b/net-analyzer/tcpstat/files/tcpstat-1.5_p8-ipv6.patch
new file mode 100644
index 000000000000..f26268f7a93f
--- /dev/null
+++ b/net-analyzer/tcpstat/files/tcpstat-1.5_p8-ipv6.patch
@@ -0,0 +1,30 @@
+--- a/configure.in
++++ b/configure.in
+@@ -84,15 +84,26 @@
+ dnl #######################
+ dnl Checks for header files
+ dnl #######################
+ AC_HEADER_STDC
+ AC_HEADER_SYS_WAIT
+-AC_CHECK_HEADERS(sys/time.h sys/stat.h unistd.h strings.h fcntl.h netinet/ip6.h)
++AC_CHECK_HEADERS(sys/time.h sys/stat.h unistd.h strings.h fcntl.h)
+
+ dnl BSD/OS Seems to not have a good ethernet header, so we gotta wing it
+ AC_CHECK_HEADERS(net/if.h net/ethernet.h netinet/if_ether.h net/ppp_defs.h)
+
++AC_ARG_ENABLE( ipv6, [ AC_HELP_STRING([--enable-ipv6], [s use IPv6?]) ], ip6=$enableval )
++if test "$ip6" = "yes"
++then
++ AC_CHECK_HEADER(netinet/ip6.h, , [AC_MSG_ERROR([I couldn't find netinet/ip6.h though you asked for ipv6 support.])] )
++elif test "$ip6" != "no"
++then
++ AC_CHECK_HEADER(netinet/ip6.h)
++
++fi
++
++
+ dnl #############################################################
+ dnl Checks for typedefs, structures, and compiler characteristics
+ dnl #############################################################
+ AC_C_CONST
+ AC_TYPE_SIZE_T
diff --git a/net-analyzer/tcpstat/files/tcpstat-1.5_p8-libpcap.patch b/net-analyzer/tcpstat/files/tcpstat-1.5_p8-libpcap.patch
new file mode 100644
index 000000000000..54554890416a
--- /dev/null
+++ b/net-analyzer/tcpstat/files/tcpstat-1.5_p8-libpcap.patch
@@ -0,0 +1,11 @@
+--- a/configure.in
++++ b/configure.in
+@@ -47,7 +47,7 @@
+ fi
+ done
+ else
+- LDFLAGS=" -L${with_pcap_lib} "${LDFLAGS}
++ LDFLAGS="${with_pcap_lib} "${LDFLAGS}
+ fi
+
+ AC_ARG_ENABLE(fdesc,
diff --git a/net-analyzer/tcpstat/files/tcpstat-1.5_p8-off-by-one.patch b/net-analyzer/tcpstat/files/tcpstat-1.5_p8-off-by-one.patch
new file mode 100644
index 000000000000..4029ddb7d407
--- /dev/null
+++ b/net-analyzer/tcpstat/files/tcpstat-1.5_p8-off-by-one.patch
@@ -0,0 +1,50 @@
+--- a/src/catpcap.c
++++ b/src/catpcap.c
+@@ -156,10 +156,10 @@
+ return Usage(1, argv[0]);
+ break;
+ case 'f':
+- strncpy(filterexpr, optarg, BUF_SIZ);
++ strncpy(filterexpr, optarg, BUF_SIZ - 1);
+ break;
+ case 'r':
+- strncpy(filename, optarg, BUF_SIZ);
++ strncpy(filename, optarg, BUF_SIZ - 1);
+ break;
+ default:
+ return Usage(1, argv[0]);
+--- a/src/dump.c
++++ b/src/dump.c
+@@ -109,10 +109,10 @@
+ get_tcp_flags |= GET_TCPD_COUNT_LINKSIZE;
+ break;
+ case 'f':
+- strncpy(filterexpr, optarg, BUF_SIZ);
++ strncpy(filterexpr, optarg, BUF_SIZ - 1);
+ break;
+ case 'r':
+- strncpy(filename, optarg, BUF_SIZ);
++ strncpy(filename, optarg, BUF_SIZ - 1);
+ break;
+ case 's':
+ what_to_show |= parse_show_types(optarg);
+--- a/src/tcpprof.c
++++ b/src/tcpprof.c
+@@ -126,14 +126,14 @@
+ src_dest_split = 1;
+ break;
+ case 'f':
+- strncpy(filterexpr, optarg, BUF_SIZ);
++ strncpy(filterexpr, optarg, BUF_SIZ - 1);
+ break;
+ case 'i':
+- strncpy(filename, optarg, BUF_SIZ);
++ strncpy(filename, optarg, BUF_SIZ - 1);
+ flags |= GET_TCPD_DO_LIVE;
+ break;
+ case 'r':
+- strncpy(filename, optarg, BUF_SIZ);
++ strncpy(filename, optarg, BUF_SIZ - 1);
+ flags &= ~GET_TCPD_DO_LIVE;
+ break;
+ case 'n':
diff --git a/net-analyzer/tcpstat/files/tcpstat-1.5_p8-unused.patch b/net-analyzer/tcpstat/files/tcpstat-1.5_p8-unused.patch
new file mode 100644
index 000000000000..c255f52dbe85
--- /dev/null
+++ b/net-analyzer/tcpstat/files/tcpstat-1.5_p8-unused.patch
@@ -0,0 +1,99 @@
+--- a/lib/process.c
++++ b/lib/process.c
+@@ -230,12 +230,12 @@
+ * calls a user function pointing to the data
+ *
+ * XXX: filter is not used. capture_seconds also isn't, but snoop is
+ * always read from a file.
+ */
+-int get_snoop_data(char *fname, char *filter, int flags,
+- Double capture_seconds, void (*hook)(packet_data *, void **),
++int get_snoop_data(char *fname, char *filter __attribute__((unused)), int flags,
++ Double capture_seconds __attribute__((unused)), void (*hook)(packet_data *, void **),
+ void **args) {
+
+ u_char *packet;
+ int fd, len, blen, ret = 0;
+ struct snoop_file_header fh;
+--- a/lib/tcpseq.c
++++ b/lib/tcpseq.c
+@@ -54,11 +54,10 @@
+ u_char flags;
+ struct tcpseq_ha test_ha;
+ struct tcphdr *tp = NULL;
+ struct ip *ip;
+ #ifdef INET6
+- int is_ip6 = 0;
+ struct ip6_hdr *ip6;
+
+ ip6 = (struct ip6_hdr *) &pd->data.ip6.hdr;
+ if (is_ip6_packet(pd))
+ tp= &(pd->data.ip6.body.tcphdr);
+--- a/src/catpcap.c
++++ b/src/catpcap.c
+@@ -52,13 +52,12 @@
+ return '.';
+ }
+
+-void proc_pcap(u_char *user, const struct pcap_pkthdr *h, const u_char *p) {
++void proc_pcap(u_char *user __attribute__((unused)), const struct pcap_pkthdr *h, const u_char *p) {
+ u_int length = h->caplen, i, j, k, step;
+- u_char *r, *s;
++ u_char *r;
+ char c;
+
+ r = (u_char *)p;
+- s = (u_char *)p;
+ step = 22;
+ printf("%u: %lu.%.6lu, caplen %u, len %u\n",
+ p_number++,
+@@ -92,7 +91,7 @@
+ * process_file() takes the output of tcpdump, saves packets, and displays
+ * statistics
+ */
+-void process_file(char *fname, u_int unused) {
++void process_file(char *fname, u_int unused __attribute__((unused))) {
+ int run = 1, i;
+ pcap_t *pd;
+ char ebuf[PCAP_ERRBUF_SIZE];
+--- a/src/dump.c
++++ b/src/dump.c
+@@ -37,21 +37,21 @@
+ char filterexpr[BUF_SIZ] = "";
+ int get_tcp_flags = 0;
+ int what_to_show = 0;
+ int packet_number = 0;
+
+-void my_hook(packet_data *pd, void **args) {
++void my_hook(packet_data *pd) {
+ printf("PACKET NUMBER: %d\n", ++packet_number);
+ print_packet(pd, what_to_show);
+ printf("-------------------\n");
+ }
+
+ /*
+ * process_file() takes the output of tcpdump, saves packets, and displays
+ * statistics
+ */
+-void process_file(char *fname, u_int unused) {
++void process_file(char *fname, u_int unused __attribute__((unused))) {
+ get_dump_data(fname, filterexpr, get_tcp_flags,
+ -1.0, my_hook, NULL);
+ }
+
+ int parse_show_types(char *in) {
+--- a/src/tcpstat.c
++++ b/src/tcpstat.c
+@@ -421,11 +421,11 @@
+ }
+
+ /*
+ * process_file() gets the data, and then displays the statistics
+ */
+-void process_file(char *fname, u_int unused) {
++void process_file(char *fname, u_int unused __attribute__((unused))) {
+ void *argv[2];
+ statistics stats;
+ Double x;
+
+ signal(SIGUSR1, catch_signal);
diff --git a/net-analyzer/tcpstat/tcpstat-1.5_p8.ebuild b/net-analyzer/tcpstat/tcpstat-1.5_p8.ebuild
new file mode 100644
index 000000000000..fbd6a2b9111c
--- /dev/null
+++ b/net-analyzer/tcpstat/tcpstat-1.5_p8.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools flag-o-matic
+
+DESCRIPTION="Reports network interface statistics"
+HOMEPAGE="https://www.frenchfries.net/paul/tcpstat/"
+SRC_URI="
+ ${HOMEPAGE}${P/_p*}.tar.gz
+ mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${PV/_p*}-$(ver_cut 4).debian.tar.xz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="ipv6"
+
+DEPEND="
+ net-libs/libpcap
+ sys-libs/db:*
+"
+RDEPEND="
+ ${DEPEND}
+"
+DOCS=( AUTHORS ChangeLog NEWS README doc/Tips_and_Tricks.txt )
+PATCHES=(
+ "${FILESDIR}"/${P}-_DEFAULT_SOURCE.patch
+ "${FILESDIR}"/${P}-ipv6.patch
+ "${FILESDIR}"/${P}-libpcap.patch
+ "${FILESDIR}"/${P}-off-by-one.patch
+ "${FILESDIR}"/${P}-unused.patch
+)
+S=${WORKDIR}/${P/_p*}
+
+src_prepare() {
+ eapply $(
+ for patch in $(cat "${WORKDIR}"/debian/patches/series)
+ do echo "${WORKDIR}"/debian/patches/${patch}
+ done
+ ) ${PATCHES[@]}
+ eapply_user
+
+ eautoreconf
+}
+
+src_configure() {
+ append-cflags -Wall -Wextra
+ econf \
+ $(use_enable ipv6) \
+ --with-pcap-include='' \
+ --with-pcap-lib="$( $(tc-getPKG_CONFIG) --libs libpcap)"
+}
+
+src_install() {
+ default
+ dobin src/{catpcap,packetdump}
+ newdoc src/README README.src
+}