diff options
-rw-r--r-- | net-analyzer/ethereal/ChangeLog | 8 | ||||
-rw-r--r-- | net-analyzer/ethereal/Manifest | 3 | ||||
-rw-r--r-- | net-analyzer/ethereal/ethereal-0.10.14-r1.ebuild | 122 | ||||
-rw-r--r-- | net-analyzer/ethereal/files/digest-ethereal-0.10.14-r1 | 1 | ||||
-rw-r--r-- | net-analyzer/ethereal/files/ethereal-0.10.14-capture_loop.patch | 48 |
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 { |