diff options
author | Jeroen Roovers <jer@gentoo.org> | 2020-01-01 16:36:45 +0100 |
---|---|---|
committer | Jeroen Roovers <jer@gentoo.org> | 2020-01-01 16:39:39 +0100 |
commit | 4344075efcc6c42845677630b08265e05241c05b (patch) | |
tree | c6b8c04e44212a3d4f1a987776a18ca157b84ac0 /net-analyzer/tcpstat | |
parent | dev-libs/9libs: amd64 stable wrt bug #704436 (diff) | |
download | gentoo-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/tcpstat')
-rw-r--r-- | net-analyzer/tcpstat/Manifest | 1 | ||||
-rw-r--r-- | net-analyzer/tcpstat/files/tcpstat-1.5_p8-_DEFAULT_SOURCE.patch | 11 | ||||
-rw-r--r-- | net-analyzer/tcpstat/files/tcpstat-1.5_p8-ipv6.patch | 30 | ||||
-rw-r--r-- | net-analyzer/tcpstat/files/tcpstat-1.5_p8-libpcap.patch | 11 | ||||
-rw-r--r-- | net-analyzer/tcpstat/files/tcpstat-1.5_p8-off-by-one.patch | 50 | ||||
-rw-r--r-- | net-analyzer/tcpstat/files/tcpstat-1.5_p8-unused.patch | 99 | ||||
-rw-r--r-- | net-analyzer/tcpstat/tcpstat-1.5_p8.ebuild | 59 |
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 +} |