summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Volkov <pva@gentoo.org>2010-05-08 07:24:22 +0000
committerPeter Volkov <pva@gentoo.org>2010-05-08 07:24:22 +0000
commit5cd00a2b42f99a472d32a8576c6347ea1a6af1f0 (patch)
tree9d8a52dd1214937f47aa95aaba605f933df386c9 /net-analyzer/wireshark
parentVersion bump (diff)
downloadgentoo-2-5cd00a2b42f99a472d32a8576c6347ea1a6af1f0.tar.gz
gentoo-2-5cd00a2b42f99a472d32a8576c6347ea1a6af1f0.tar.bz2
gentoo-2-5cd00a2b42f99a472d32a8576c6347ea1a6af1f0.zip
Fix failure to capture packets with newer zlib, bug #316835, thank Richard for report.
(Portage version: 2.1.8.3/cvs/Linux x86_64)
Diffstat (limited to 'net-analyzer/wireshark')
-rw-r--r--net-analyzer/wireshark/ChangeLog9
-rw-r--r--net-analyzer/wireshark/files/wireshark-1.2.8-zlib-1.2.5-capture.patch30
-rw-r--r--net-analyzer/wireshark/wireshark-1.2.8-r1.ebuild157
3 files changed, 195 insertions, 1 deletions
diff --git a/net-analyzer/wireshark/ChangeLog b/net-analyzer/wireshark/ChangeLog
index edc81ce97a06..6bebc957c208 100644
--- a/net-analyzer/wireshark/ChangeLog
+++ b/net-analyzer/wireshark/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-analyzer/wireshark
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-analyzer/wireshark/ChangeLog,v 1.222 2010/05/06 09:14:45 pva Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/wireshark/ChangeLog,v 1.223 2010/05/08 07:24:21 pva Exp $
+
+*wireshark-1.2.8-r1 (08 May 2010)
+
+ 08 May 2010; Peter Volkov <pva@gentoo.org> +wireshark-1.2.8-r1.ebuild,
+ +files/wireshark-1.2.8-zlib-1.2.5-capture.patch:
+ Fix failure to capture packets with newer zlib, bug #316835, thank Richard
+ for report.
*wireshark-1.2.8 (06 May 2010)
diff --git a/net-analyzer/wireshark/files/wireshark-1.2.8-zlib-1.2.5-capture.patch b/net-analyzer/wireshark/files/wireshark-1.2.8-zlib-1.2.5-capture.patch
new file mode 100644
index 000000000000..3120027400d4
--- /dev/null
+++ b/net-analyzer/wireshark/files/wireshark-1.2.8-zlib-1.2.5-capture.patch
@@ -0,0 +1,30 @@
+http://anonsvn.wireshark.org/viewvc?view=rev&revision=32715
+
+--- trunk/wiretap/wtap.c 2010/05/07 19:24:32 32714
++++ trunk/wiretap/wtap.c 2010/05/07 19:45:47 32715
+@@ -35,6 +35,10 @@
+ #include <unistd.h>
+ #endif
+
++#ifdef HAVE_LIBZ
++#include <zlib.h>
++#endif
++
+ #include "wtap-int.h"
+ #include "wtap.h"
+
+@@ -646,6 +650,14 @@
+ */
+ wth->phdr.pkt_encap = wth->file_encap;
+
++#if defined(ZLIB_VERNUM) && ZLIB_VERNUM == 0x1250
++ /* Reset EOF */
++ /* g_log(NULL, G_LOG_LEVEL_DEBUG, "wtap_read: eof before seek: %d", gzeof(wth->fh)); */
++ if (gzeof(wth->fh))
++ gzseek(wth->fh, 0, SEEK_CUR);
++ /* g_log(NULL, G_LOG_LEVEL_DEBUG, "wtap_read: eof after seek: %d", gzeof(wth->fh)); */
++#endif
++
+ if (!wth->subtype_read(wth, err, err_info, data_offset))
+ return FALSE; /* failure */
+
diff --git a/net-analyzer/wireshark/wireshark-1.2.8-r1.ebuild b/net-analyzer/wireshark/wireshark-1.2.8-r1.ebuild
new file mode 100644
index 000000000000..e3189013a0d1
--- /dev/null
+++ b/net-analyzer/wireshark/wireshark-1.2.8-r1.ebuild
@@ -0,0 +1,157 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/wireshark/wireshark-1.2.8-r1.ebuild,v 1.1 2010/05/08 07:24:21 pva Exp $
+
+EAPI=2
+inherit autotools libtool flag-o-matic eutils toolchain-funcs
+
+DESCRIPTION="A network protocol analyzer formerly known as ethereal"
+HOMEPAGE="http://www.wireshark.org/"
+
+# _rc versions has different download location.
+[[ -n ${PV#*_rc} && ${PV#*_rc} != ${PV} ]] && {
+SRC_URI="http://www.wireshark.org/download/prerelease/${PN}-${PV/_rc/pre}.tar.gz";
+S=${WORKDIR}/${PN}-${PV/_rc/pre} ; } || \
+SRC_URI="http://www.wireshark.org/download/src/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="adns ares gtk ipv6 lua portaudio gnutls gcrypt geoip zlib kerberos threads profile smi +pcap pcre +caps selinux"
+
+RDEPEND=">=dev-libs/glib-2.4.0:2
+ zlib? ( sys-libs/zlib
+ !=sys-libs/zlib-1.2.4 )
+ smi? ( net-libs/libsmi )
+ gtk? ( >=x11-libs/gtk+-2.4.0:2
+ x11-libs/pango
+ dev-libs/atk )
+ gnutls? ( net-libs/gnutls )
+ gcrypt? ( dev-libs/libgcrypt )
+ pcap? ( net-libs/libpcap )
+ pcre? ( dev-libs/libpcre )
+ caps? ( sys-libs/libcap )
+ kerberos? ( virtual/krb5 )
+ portaudio? ( media-libs/portaudio )
+ ares? ( >=net-dns/c-ares-1.5 )
+ !ares? ( adns? ( net-libs/adns ) )
+ geoip? ( dev-libs/geoip )
+ lua? ( >=dev-lang/lua-5.1 )
+ selinux? ( sec-policy/selinux-wireshark )"
+
+DEPEND="${RDEPEND}
+ >=dev-util/pkgconfig-0.15.0
+ dev-lang/perl
+ sys-devel/bison
+ sys-devel/flex"
+
+pkg_setup() {
+ if ! use gtk; then
+ ewarn "USE=-gtk will means no gui called wireshark will be created and"
+ ewarn "only command line utils are available"
+ fi
+
+ # Add group for users allowed to sniff.
+ enewgroup wireshark
+}
+
+src_prepare() {
+ cd "${S}"/epan # our hardened toolchain bug...
+ epatch "${FILESDIR}/wireshark-except-double-free.diff"
+
+ cd "${S}"
+ epatch "${FILESDIR}/${PN}-1.1.2--as-needed.patch"
+ epatch "${FILESDIR}/${P}-zlib-1.2.5-capture.patch"
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+
+ # optimization bug, see bug #165340, bug #40660
+ if [[ $(gcc-version) == 3.4 ]] ; then
+ elog "Found gcc 3.4, forcing -O3 into CFLAGS"
+ replace-flags -O? -O3
+ elif [[ $(gcc-version) == 3.3 || $(gcc-version) == 3.2 ]] ; then
+ elog "Found <=gcc-3.3, forcing -O into CFLAGS"
+ replace-flags -O? -O
+ fi
+
+ if use ares && use adns; then
+ einfo "You asked for both, ares and adns, but we can use only one of them."
+ einfo "c-ares supersedes adns resolver thus using c-ares (ares USE flag)."
+ myconf="$(use_with ares c-ares) --without-adns"
+ else
+ myconf="$(use_with adns) $(use_with ares c-ares)"
+ fi
+
+ # see bug #133092; bugs.wireshark.org/bugzilla/show_bug.cgi?id=1001
+ # our hardened toolchain bug
+ filter-flags -fstack-protector
+
+ # profile and pie are incompatible #215806, #292991
+ if use profile; then
+ ewarn "You've enabled the 'profile' USE flag, building PIE binaries is disabled."
+ append-flags $(test-flags-CC -nopie)
+ fi
+
+ # Workaround bug #213705. If krb5-config --libs has -lcrypto then pass
+ # --with-ssl to ./configure. (Mimics code from acinclude.m4).
+ if use kerberos; then
+ case `krb5-config --libs` in
+ *-lcrypto*) myconf="${myconf} --with-ssl" ;;
+ esac
+ fi
+
+ # dumpcap requires libcap, setuid-install requires dumpcap
+ econf $(use_enable gtk wireshark) \
+ $(use_enable profile profile-build) \
+ $(use_with gnutls) \
+ $(use_with gcrypt) \
+ $(use_enable ipv6) \
+ $(use_enable threads) \
+ $(use_with lua) \
+ $(use_with kerberos krb5) \
+ $(use_with smi libsmi) \
+ $(use_with pcap) \
+ $(use_with zlib) \
+ $(use_with pcre) \
+ $(use_with geoip) \
+ $(use_with portaudio) \
+ $(use_with caps libcap) \
+ $(use_enable pcap setuid-install) \
+ --sysconfdir=/etc/wireshark \
+ ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ use pcap && fowners 0:wireshark /usr/bin/dumpcap
+ use pcap && fperms 6550 /usr/bin/dumpcap
+
+ insinto /usr/include/wiretap
+ doins wiretap/wtap.h
+
+ # FAQ is not required as is installed from help/faq.txt
+ dodoc AUTHORS ChangeLog NEWS README{,.bsd,.linux,.macos,.vmware} doc/randpkt.txt
+
+ if use gtk; then
+ for c in hi lo; do
+ for d in 16 32 48; do
+ insinto /usr/share/icons/${c}color/${d}x${d}/apps
+ newins image/${c}${d}-app-wireshark.png wireshark.png
+ done
+ done
+ insinto /usr/share/applications
+ doins wireshark.desktop
+ fi
+}
+
+pkg_postinst() {
+ echo
+ ewarn "NOTE: To run wireshark as normal user you have to add yourself into"
+ ewarn "wireshark group. This security measure ensures that only trusted"
+ ewarn "users allowed to sniff your traffic."
+ echo
+}