Fix failure to capture packets with newer zlib, bug #316835, thank Richard for report.
authorPeter Volkov <pva@gentoo.org>
Sat, 8 May 2010 07:24:22 +0000 (07:24 +0000)
committerPeter Volkov <pva@gentoo.org>
Sat, 8 May 2010 07:24:22 +0000 (07:24 +0000)
Package-Manager: portage-2.1.8.3/cvs/Linux x86_64

net-analyzer/wireshark/ChangeLog
net-analyzer/wireshark/Manifest
net-analyzer/wireshark/files/wireshark-1.2.8-zlib-1.2.5-capture.patch [new file with mode: 0644]
net-analyzer/wireshark/wireshark-1.2.8-r1.ebuild [new file with mode: 0644]

index edc81ce97a06cc01a52366d993d63c88a93fe9ff..6bebc957c2087a52edfb38e7a996c339a81ec035 100644 (file)
@@ -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)
 
index a478ec78afe681880ad7b7ffc8abce80fcd507b7..8f5a75170e935bd22f7432b0f92085f115d43c99 100644 (file)
@@ -3,6 +3,7 @@ AUX wireshark-0.99.8-as-needed.patch 395 RMD160 2e06f641e9789db717544bfd1568e4bf
 AUX wireshark-1.0-sigpipe.patch 850 RMD160 a240a1317681516d207ca1694b0e44584008530b SHA1 8f127c22daa77ce9f658f3b1d3f897e428ee9dde SHA256 3a5130838a48b65cb21b4e25913347cee05689b4641c1dfb407facf9fa4f9f59
 AUX wireshark-1.0.5-text2pcap-protos.patch 487 RMD160 20e64be01b281c48516969c508c04455111de300 SHA1 432751cd931baefba3bd13cfa07c3d9863b7c82e SHA256 991e12325670c81f4927c6dc2b665eb8c8938d8f3f0cdfab58601dd37a00d8a4
 AUX wireshark-1.1.2--as-needed.patch 830 RMD160 fd192d107147c65ef52625b51b59a2bf4e2f65c3 SHA1 7a743a42542fa59423870a0205e8ed7aa6bde70e SHA256 34aa27c611021c9a515cc4fed9778148395761bf6f4272130d3e83abcc13a499
+AUX wireshark-1.2.8-zlib-1.2.5-capture.patch 779 RMD160 7440a7d8a04a1b43057fc7c1e29540a49a77ac0f SHA1 01ab94564003bb230f15a637b355fca31774e27e SHA256 936be11853d8eaf846a28be1dce7e098d386fc58d84ed521bc4f6965e387c69d
 AUX wireshark-except-double-free.diff 664 RMD160 2b61f03f5148975f6438351c11de18a500deabc5 SHA1 0239e19ba0ebd2cfb4ab4987a8a4c56646cd9250 SHA256 dc02a5f3e4bdbd128a2ba08f38880358f747661a93ca0b3fe1918c67b255c369
 DIST wireshark-1.2.6.tar.gz 19381295 RMD160 271a05afbf1701630a6070ecabeabcb842715b12 SHA1 62f5571e4786d3fa0cfc3d528f69a5c431e42d75 SHA256 0788f3424f056c8cbb94fb0eef49cc92ac63a67b122153e3b920cfce8d6e95ab
 DIST wireshark-1.2.7.tar.gz 19417531 RMD160 44f1eb9ba209a83592ac636f7c1d97003a51ca5c SHA1 068e27540f56f4dec384422fb6258909b0426d6e SHA256 12ed3bce40033da2f4560149b3542fb2b00fb2aa27fc58580ee81bea6bb99242
@@ -10,6 +11,7 @@ DIST wireshark-1.2.8.tar.gz 19434341 RMD160 1affc20a741c1a452dac8fcf26ff337bff05
 EBUILD wireshark-1.2.6.ebuild 4551 RMD160 bc94cd69950fa308f550258e151958a5990ca765 SHA1 2953e180f76351c86c9dcd3f0fd96805a088cce5 SHA256 1ffa24ac2dfec46d4496bd1090b47c31d6e4352b99d896559b3457b7cc24cdcd
 EBUILD wireshark-1.2.7-r1.ebuild 4523 RMD160 9f765bd26a3bb1aaf43d52b615d3feb6213fcdc5 SHA1 47bff0b550bfcf18d336a9c89b366b191635dc38 SHA256 7238717706295710b5a89372753be1d4271d3b9bf9e1b14b0d0d663c7df33126
 EBUILD wireshark-1.2.7.ebuild 4582 RMD160 ef886b3ac3f938b2ace6103d8e8bc63cbb89db15 SHA1 0f1ef572f137614acc87fbf50050a2b7a1a18f4a SHA256 624b86cef6639e9a1a2d9e21531efa451f68dc3c9c5dd363958618df7999b838
+EBUILD wireshark-1.2.8-r1.ebuild 4631 RMD160 e406426b9ee1c4100dbbd7a5fb2ecf704c899b95 SHA1 71b6af4caa37d44d35c7b6de436f3da7c9ec962b SHA256 152530e1eada43d7c1cc09dc1d725073e5369636d5b14fde5675a015841f8e6f
 EBUILD wireshark-1.2.8.ebuild 4520 RMD160 86fb45634304b58b1c13eaa6ec9871f4b6c4146e SHA1 13831d2840eb2c177058dc7cdd3a89c22e85f513 SHA256 3ff217d4ad11a418b61c2a617fa04cc4b2d3be8799aacf33a671a24cbdf2e8e4
-MISC ChangeLog 32939 RMD160 f6c9f35565de642a8c9934878d4fa5bfaa106bb0 SHA1 d64d20e2b361dc56aa71ecd55a46a182c25eb292 SHA256 b1b54d47612f5a461df99af217af553f449edf306b0370069c301b0f62bf4037
+MISC ChangeLog 33190 RMD160 3f5924b85cded83a82d5024c72285250178769b6 SHA1 f59c536b97960a1c7a82f11c452849517fd2ee99 SHA256 5d219fcb71db21cd9bcba5f70d8cfe7d43332e36ea4d9310dc3ccb6de8dcd9d3
 MISC metadata.xml 2154 RMD160 01af8905d25e6c387902d30766daedcd37d94e0e SHA1 d68e79d413654ce72c553d508d7aa96f27fe85b5 SHA256 48c540fcec9cf1e5eebe132d7f90e8330b413f4eb6469761a88720eaa6a2233a
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 (file)
index 0000000..3120027
--- /dev/null
@@ -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 (file)
index 0000000..e318901
--- /dev/null
@@ -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
+}