summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-analyzer/ethereal/ChangeLog8
-rw-r--r--net-analyzer/ethereal/Manifest3
-rw-r--r--net-analyzer/ethereal/ethereal-0.10.14-r1.ebuild122
-rw-r--r--net-analyzer/ethereal/files/digest-ethereal-0.10.14-r11
-rw-r--r--net-analyzer/ethereal/files/ethereal-0.10.14-capture_loop.patch48
5 files changed, 181 insertions, 1 deletions
diff --git a/net-analyzer/ethereal/ChangeLog b/net-analyzer/ethereal/ChangeLog
index 8b9a3f15a328..3dc231fb7dcf 100644
--- a/net-analyzer/ethereal/ChangeLog
+++ b/net-analyzer/ethereal/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-analyzer/ethereal
# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-analyzer/ethereal/ChangeLog,v 1.167 2006/01/16 19:11:52 vanquirius Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/ethereal/ChangeLog,v 1.168 2006/01/27 00:22:49 vanquirius Exp $
+
+*ethereal-0.10.14-r1 (27 Jan 2006)
+
+ 27 Jan 2006; Marcelo Goes <vanquirius@gentoo.org>
+ +files/ethereal-0.10.14-capture_loop.patch, +ethereal-0.10.14-r1.ebuild:
+ Add patch from bug 117716 to fix -w.
16 Jan 2006; Marcelo Goes <vanquirius@gentoo.org>
ethereal-0.10.13-r2.ebuild, ethereal-0.10.14.ebuild:
diff --git a/net-analyzer/ethereal/Manifest b/net-analyzer/ethereal/Manifest
index de534c9e51ff..70722d8c3778 100644
--- a/net-analyzer/ethereal/Manifest
+++ b/net-analyzer/ethereal/Manifest
@@ -1,8 +1,11 @@
MD5 2d1e18f6111e97c89eacf427ac6f2723 ChangeLog 15061
MD5 02fc2991e73408e55aa134f32e22c45a ethereal-0.10.13-r2.ebuild 3791
+MD5 fbae8eb4fd66db34dd6f2cc6265ba50d ethereal-0.10.14-r1.ebuild 3693
MD5 de20043acc5a6aaff6e5a669d75e5cdb ethereal-0.10.14.ebuild 3577
MD5 ce9e77144029b2f1104aa92c1927f4e9 files/digest-ethereal-0.10.13-r2 70
MD5 006b9cf78002e82c2bb4e279f50e3429 files/digest-ethereal-0.10.14 70
+MD5 006b9cf78002e82c2bb4e279f50e3429 files/digest-ethereal-0.10.14-r1 70
MD5 e58b082ef143490cd14bbd423d5e7f4d files/ethereal-0.10.13-fix-irc-loop-DoS-CVE-2005-3313.diff 612
MD5 c334d7d6daae506c1e3a9a61d892a00c files/ethereal-0.10.13-packet-ospf.diff 18115
+MD5 99292dc5864a5d38a12bf357dab75e6f files/ethereal-0.10.14-capture_loop.patch 1985
MD5 17a9be2cf8cb9f24e7e5b398392483b4 metadata.xml 224
diff --git a/net-analyzer/ethereal/ethereal-0.10.14-r1.ebuild b/net-analyzer/ethereal/ethereal-0.10.14-r1.ebuild
new file mode 100644
index 000000000000..b9c0a8a547ea
--- /dev/null
+++ b/net-analyzer/ethereal/ethereal-0.10.14-r1.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/ethereal/ethereal-0.10.14-r1.ebuild,v 1.1 2006/01/27 00:22:49 vanquirius Exp $
+
+inherit libtool flag-o-matic eutils
+
+DESCRIPTION="A commercial-quality network protocol analyzer"
+HOMEPAGE="http://www.ethereal.com/"
+SRC_URI="http://www.ethereal.com/distribution/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="adns gtk ipv6 snmp ssl kerberos"
+
+RDEPEND=">=sys-libs/zlib-1.1.4
+ snmp? ( >=net-analyzer/net-snmp-5.1.1 )
+ >=dev-util/pkgconfig-0.15.0
+ gtk? ( >=dev-libs/glib-2.0.4
+ =x11-libs/gtk+-2*
+ x11-libs/pango
+ dev-libs/atk )
+ !gtk? ( =dev-libs/glib-1.2* )
+ ssl? ( >=dev-libs/openssl-0.9.6e )
+ virtual/libpcap
+ >=dev-libs/libpcre-4.2
+ adns? ( net-libs/adns )
+ kerberos? ( virtual/krb5 )"
+
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ sys-devel/bison
+ sys-devel/flex
+ sys-apps/sed"
+
+pkg_setup() {
+ # bug 119208
+ if built_with_use dev-lang/perl minimal ; then
+ ewarn "ethereal will not build if dev-lang/perl is compiled with"
+ ewarn "USE=minimal. Rebuild dev-lang/perl with USE=-minimal and try again."
+ ebeep 5
+ die "dev-lang/perl compiled with USE=minimal"
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ # bug 117716
+ epatch "${FILESDIR}"/${PN}-0.10.14-capture_loop.patch
+}
+
+src_compile() {
+
+ replace-flags -O? -O
+
+ # Fix gcc-3.4 segfault #49238
+ #[ "`gcc-version`" == "3.4" ] && append-flags -fno-unroll-loops
+
+ local myconf
+
+ if use gtk; then
+ einfo "Building with gtk support"
+ else
+ einfo "Building without gtk support"
+ myconf="${myconf} --disable-ethereal"
+ # the asn1 plugin needs gtk
+ sed -i -e '/plugins.asn1/d' Makefile.in || die "sed failed"
+ sed -i -e '/^SUBDIRS/s/asn1//' plugins/Makefile.in || die "sed failed"
+ fi
+
+ econf \
+ $(use_with ssl) \
+ $(use_enable ipv6) \
+ $(use_with adns) \
+ $(use_with kerberos krb5) \
+ $(use_with snmp net-snmp) \
+ $(use_enable gtk gtk2) \
+ --without-ucd-snmp \
+ --enable-dftest \
+ --enable-randpkt \
+ --sysconfdir=/etc/ethereal \
+ --enable-editcap \
+ --enable-capinfos \
+ --enable-text2pcap \
+ --enable-dftest \
+ --enable-randpkt \
+ ${myconf} || die "bad ./configure"
+
+ # fixes an access violation caused by libnetsnmp - see bug 79068
+ use snmp && export MIBDIRS="${D}/usr/share/snmp/mibs"
+
+ emake || die "compile problem"
+}
+
+src_install() {
+ dodir /usr/lib/ethereal/plugins/${PV}
+ make DESTDIR="${D}" install || die
+
+ dodoc AUTHORS ChangeLog NEWS README*
+
+ insinto /usr/share/icons/hicolor/16x16/apps
+ newins "${S}"/image/hi16-app-ethereal.png ethereal.png
+ insinto /usr/share/icons/hicolor/32x32/apps
+ newins "${S}"/image/hi32-app-ethereal.png ethereal.png
+ insinto /usr/share/icons/hicolor/48x48/apps
+ newins "${S}"/image/hi48-app-ethereal.png ethereal.png
+ make_desktop_entry ethereal "Ethereal" ethereal
+}
+
+pkg_postinst() {
+ ewarn "Due to a history of security flaws in this piece of software, it may contain more flaws."
+ ewarn "To protect yourself against malicious damage due to potential flaws in this product we recommend"
+ ewarn "you take the following security precautions when running ethereal in an untrusted environment:"
+ ewarn "do no run any longer than you need to;"
+ ewarn "use in a root jail - prefereably one that has been hardened with grsec like rootjail protections;"
+ ewarn "use a hardened operating system;"
+ ewarn "do not listen to addition interfaces;"
+ ewarn "if possible, run behind a firewall;"
+ ewarn "take a capture with tcpdump and analyze running ethereal as a least privileged user;"
+ ewarn "and subscribe to ethereal's announce list to be notified of newly discovered vulnerabilities."
+}
diff --git a/net-analyzer/ethereal/files/digest-ethereal-0.10.14-r1 b/net-analyzer/ethereal/files/digest-ethereal-0.10.14-r1
new file mode 100644
index 000000000000..2d5807181159
--- /dev/null
+++ b/net-analyzer/ethereal/files/digest-ethereal-0.10.14-r1
@@ -0,0 +1 @@
+MD5 297f678c037f88429250830e924b8fa0 ethereal-0.10.14.tar.bz2 8583324
diff --git a/net-analyzer/ethereal/files/ethereal-0.10.14-capture_loop.patch b/net-analyzer/ethereal/files/ethereal-0.10.14-capture_loop.patch
new file mode 100644
index 000000000000..1b5d028cd574
--- /dev/null
+++ b/net-analyzer/ethereal/files/ethereal-0.10.14-capture_loop.patch
@@ -0,0 +1,48 @@
+--- ethereal-16940/capture_loop.c 2006-01-04 11:51:25.000000000 +0200
++++ ethereal/capture_loop.c 2006-01-04 11:54:33.000000000 +0200
+@@ -1015,20 +1015,33 @@ capture_loop_open_output(capture_options
+ * case the caller destroys it after we return.
+ */
+ capfile_name = g_strdup(capture_opts->save_file);
+- if (capture_opts->multi_files_on) {
+- /* ringbuffer is enabled */
+- *save_file_fd = ringbuf_init(capfile_name,
+- (capture_opts->has_ring_num_files) ? capture_opts->ring_num_files : 0);
+-
+- /* we need the ringbuf name */
+- if(*save_file_fd != -1) {
+- g_free(capfile_name);
+- capfile_name = g_strdup(ringbuf_current_filename());
++ if (strcmp(capfile_name, "") == 0) {
++ /* Write to the standard output. */
++ if (capture_opts->multi_files_on) {
++ /* ringbuffer is enabled; that doesn't work with standard output */
++ g_snprintf(errmsg, errmsg_len,
++ "Ring buffer requested, but capture is being written to the standard error.");
++ g_free(capfile_name);
++ return FALSE;
++ } else {
++ *save_file_fd = 1;
+ }
+ } else {
+- /* Try to open/create the specified file for use as a capture buffer. */
+- *save_file_fd = open(capfile_name, O_RDWR|O_BINARY|O_TRUNC|O_CREAT,
+- 0600);
++ if (capture_opts->multi_files_on) {
++ /* ringbuffer is enabled */
++ *save_file_fd = ringbuf_init(capfile_name,
++ (capture_opts->has_ring_num_files) ? capture_opts->ring_num_files : 0);
++
++ /* we need the ringbuf name */
++ if(*save_file_fd != -1) {
++ g_free(capfile_name);
++ capfile_name = g_strdup(ringbuf_current_filename());
++ }
++ } else {
++ /* Try to open/create the specified file for use as a capture buffer. */
++ *save_file_fd = open(capfile_name, O_RDWR|O_BINARY|O_TRUNC|O_CREAT,
++ 0600);
++ }
+ }
+ is_tempfile = FALSE;
+ } else {