# 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.215 2010/01/30 15:07:41 pva Exp $

  30 Jan 2010; Peter Volkov <pva@gentoo.org> -wireshark-1.2.5.ebuild,
  wireshark-1.2.6.ebuild:
  amd64 stable, bug #302665. Drop vulnerable.

  30 Jan 2010; Raúl Porcel <armin76@gentoo.org> wireshark-1.2.6.ebuild:
  alpha/ia64/sparc/x86 stable wrt #302665

  28 Jan 2010; Jeroen Roovers <jer@gentoo.org> wireshark-1.2.6.ebuild:
  Stable for HPPA (bug #302665).

  28 Jan 2010; Brent Baude <ranger@gentoo.org> wireshark-1.2.6.ebuild:
  Marking wireshark-1.2.6 ppc for bug 302665

  28 Jan 2010; Brent Baude <ranger@gentoo.org> wireshark-1.2.6.ebuild:
  Marking wireshark-1.2.6 ppc64 for bug 302665

*wireshark-1.2.6 (28 Jan 2010)

  28 Jan 2010; Peter Volkov <pva@gentoo.org> -wireshark-1.2.3.ebuild,
  -wireshark-1.2.4.ebuild, +wireshark-1.2.6.ebuild:
  Version bump, fixes security issue #302665. Remove old.

  11 Jan 2010; Mike Frysinger <vapier@gentoo.org> wireshark-1.2.3.ebuild,
  wireshark-1.2.4.ebuild, wireshark-1.2.5.ebuild:
  Drop -fomit-frame-pointer filter for USE=profile.

  22 Dec 2009; Jeroen Roovers <jer@gentoo.org> wireshark-1.2.5.ebuild:
  Stable for PPC (bug #297388).

  21 Dec 2009; Raúl Porcel <armin76@gentoo.org> wireshark-1.2.5.ebuild:
  alpha/ia64/sparc stable wrt #297388

  20 Dec 2009; Brent Baude <ranger@gentoo.org> wireshark-1.2.5.ebuild:
  Marking wireshark-1.2.5 ppc64 for bug 297388

  19 Dec 2009; Jeroen Roovers <jer@gentoo.org> wireshark-1.2.5.ebuild:
  Stable for HPPA (bug #297388).

  19 Dec 2009; Richard Freeman <rich0@gentoo.org> wireshark-1.2.5.ebuild:
  amd64 stable - 297388

  18 Dec 2009; Christian Faulhammer <fauli@gentoo.org>
  wireshark-1.2.5.ebuild:
  stable x86, security bug 297388

*wireshark-1.2.5 (18 Dec 2009)

  18 Dec 2009; Peter Volkov <pva@gentoo.org> +wireshark-1.2.5.ebuild:
  Version bump. Fixes security bug #297388.

*wireshark-1.2.4 (17 Nov 2009)

  17 Nov 2009; Peter Volkov <pva@gentoo.org> +wireshark-1.2.4.ebuild:
  Version bump.

  14 Nov 2009; Peter Volkov <pva@gentoo.org> wireshark-1.2.3.ebuild:
  USE='profile' and PIE are incompatible, bug 292991, thank Radoslaw Madej
  for report.

  04 Nov 2009; Peter Volkov <pva@gentoo.org> -wireshark-1.2.1.ebuild,
  -wireshark-1.2.2.ebuild:
  Revert ChangeLog, thank PSYCHO___ for report. Remove vulnerable versions.

  01 Nov 2009; nixnut <nixnut@gentoo.org> wireshark-1.2.3.ebuild:
  ppc stable #290710

  31 Oct 2009; Brent Baude <ranger@gentoo.org> wireshark-1.2.3.ebuild:
  Marking wireshark-1.2.3 ppc64 for bug 290710

  30 Oct 2009; Raúl Porcel <armin76@gentoo.org> wireshark-1.2.3.ebuild:
  alpha/ia64/sparc stable wrt #290710

  29 Oct 2009; Jeroen Roovers <jer@gentoo.org> wireshark-1.2.3.ebuild:
  Stable for HPPA (bug #290710).

  29 Oct 2009; <chainsaw@gentoo.org> wireshark-1.2.3.ebuild:
  Marked stable on AMD64 as requested by Alex "a3li" Legler in security bug
  #290710. Tested capture on a Marvell "sky2" 88E8055 Gig-copper NIC.

  28 Oct 2009; Christian Faulhammer <fauli@gentoo.org>
  wireshark-1.2.3.ebuild:
  stable x86, security bug 290710

*wireshark-1.2.3 (28 Oct 2009)

  28 Oct 2009; Peter Volkov <pva@gentoo.org> +wireshark-1.2.3.ebuild:
  Version bump, fixes number of security issues, bug #290710, thank Alex
  Legler for report.

  26 Oct 2009; Mounir Lamouri <volkmar@gentoo.org> wireshark-1.2.2.ebuild:
  Stable for ppc, bug 285280

  18 Oct 2009; Brent Baude <ranger@gentoo.org> wireshark-1.2.2.ebuild:
  Marking wireshark-1.2.2 ppc64 for bug 285280

  12 Oct 2009; Raúl Porcel <armin76@gentoo.org> wireshark-1.2.2.ebuild:
  ia64/sparc stable wrt #285280

  11 Oct 2009; Jeroen Roovers <jer@gentoo.org> wireshark-1.2.2.ebuild:
  Stable for HPPA (bug #285280).

  11 Oct 2009; Tobias Klausmann <klausman@gentoo.org>
  wireshark-1.2.2.ebuild:
  Stable on alpha, bug #285280

  09 Oct 2009; Markus Meier <maekke@gentoo.org> wireshark-1.2.2.ebuild:
  x86 stable, bug #285280

  09 Oct 2009; Richard Freeman <rich0@gentoo.org> wireshark-1.2.2.ebuild:
  amd64 stable - 285280

*wireshark-1.2.2 (08 Oct 2009)

  08 Oct 2009; Peter Volkov <pva@gentoo.org> -wireshark-1.0.8.ebuild,
  +wireshark-1.2.2.ebuild:
  Version bump, fixes security issue bug #285280, thank Alex Legler for
  report. Dropped gtk IUSE default, bug #279849.

  09 Aug 2009; nixnut <nixnut@gentoo.org> wireshark-1.2.1.ebuild:
  ppc stable #278564

  02 Aug 2009; Raúl Porcel <armin76@gentoo.org> wireshark-1.2.1.ebuild:
  ia64 stable wrt #278564

  31 Jul 2009; Tiago Cunha <tcunha@gentoo.org> wireshark-1.2.1.ebuild:
  stable sparc, security bug 278564

  26 Jul 2009; Brent Baude <ranger@gentoo.org> wireshark-1.2.1.ebuild:
  Marking wireshark-1.2.1 ppc64 for bug 278564

  21 Jul 2009; Jeroen Roovers <jer@gentoo.org> wireshark-1.2.1.ebuild:
  Stable for HPPA (bug #278564).

  21 Jul 2009; Christian Faulhammer <fauli@gentoo.org>
  wireshark-1.2.1.ebuild:
  stable x86, security bug 278564

  21 Jul 2009; Tobias Klausmann <klausman@gentoo.org>
  wireshark-1.2.1.ebuild:
  Stable on alpha, bug #278564

  21 Jul 2009; <chainsaw@gentoo.org> wireshark-1.2.1.ebuild:
  Marked stable on AMD64 for security bug #278564. Tested on a Core2 Duo
  with a Marvell "Sky2" 88E8055 NIC.

*wireshark-1.2.1 (21 Jul 2009)

  21 Jul 2009; Peter Volkov <pva@gentoo.org> -wireshark-1.2.0.ebuild,
  +wireshark-1.2.1.ebuild:
  Version bump, bug #278564, thank Alex Legler for report. Remove vulnerable
  version.

*wireshark-1.2.0 (17 Jun 2009)

  17 Jun 2009; Peter Volkov <pva@gentoo.org>
  -files/wireshark-1.1.2-misc-warnings.patch,
  -files/wireshark-1.1.3-misc-warnings.patch, -wireshark-1.2.0_rc1.ebuild,
  +wireshark-1.2.0.ebuild:
  Version bump. Dropped unused patches.

*wireshark-1.2.0_rc1 (29 May 2009)

  29 May 2009; Peter Volkov <pva@gentoo.org> -wireshark-1.0.7.ebuild,
  -wireshark-1.1.3.ebuild, +wireshark-1.2.0_rc1.ebuild:
  Version bump. Remove old/unused.

  27 May 2009; Raúl Porcel <armin76@gentoo.org> wireshark-1.0.8.ebuild:
  alpha/ia64 stable wrt #271062

  26 May 2009; Tiago Cunha <tcunha@gentoo.org> wireshark-1.0.8.ebuild:
  stable sparc, security bug 271062

  25 May 2009; Brent Baude <ranger@gentoo.org> wireshark-1.0.8.ebuild:
  Marking wireshark-1.0.8 ppc64 and ppc for bug 271062

  24 May 2009; Jeroen Roovers <jer@gentoo.org> wireshark-1.0.8.ebuild:
  Stable for HPPA (bug #271062).

  24 May 2009; Markus Meier <maekke@gentoo.org> wireshark-1.0.8.ebuild:
  amd64/x86 stable, bug #271062

*wireshark-1.0.8 (24 May 2009)

  24 May 2009; Peter Volkov <pva@gentoo.org> +wireshark-1.0.8.ebuild:
  Version bump, fixes security issue #271062.

  04 May 2009; Peter Volkov <pva@gentoo.org> -wireshark-1.0.6-r1.ebuild,
  wireshark-1.0.7, wireshark-1.1.3:
  tshark should not be suid, bug #268324, thank Wolfgang Goetz for report.
  Remove old.

  11 Apr 2009; Jeroen Roovers <jer@gentoo.org> wireshark-1.0.7.ebuild:
  Stable for HPPA (bug #264571).

  10 Apr 2009; Raúl Porcel <armin76@gentoo.org> wireshark-1.0.7.ebuild:
  alpha/ia64/sparc/x86 stable wrt #264571

  10 Apr 2009; Tobias Heinlein <keytoaster@gentoo.org>
  wireshark-1.0.7.ebuild:
  amd64 stable wrt security bug #264571

  09 Apr 2009; Brent Baude <ranger@gentoo.org> wireshark-1.0.7.ebuild:
  Marking wireshark-1.0.7 ppc64 and ppc for bug 264571

*wireshark-1.0.7 (09 Apr 2009)

  09 Apr 2009; Peter Volkov <pva@gentoo.org> -wireshark-1.0.6.ebuild,
  +wireshark-1.0.7.ebuild, -wireshark-1.1.2.ebuild:
  Version bump, fixes security bug #264571, thank Robert Buchholz for report.

  02 Apr 2009; Raúl Porcel <armin76@gentoo.org> wireshark-1.0.6-r1.ebuild:
  alpha/ia64 stable wrt #263443

  27 Mar 2009; Jeroen Roovers <jer@gentoo.org> wireshark-1.0.6-r1.ebuild:
  Stable for HPPA (bug #263443).

  25 Mar 2009; Joseph Jezak <josejx@gentoo.org> wireshark-1.0.6-r1.ebuild:
  Marked ppc/ppc64 stable for bug #263443.

  24 Mar 2009; Tiago Cunha <tcunha@gentoo.org> wireshark-1.0.6-r1.ebuild:
  stable sparc, bug 263443

*wireshark-1.1.3 (24 Mar 2009)

  24 Mar 2009; Peter Volkov <pva@gentoo.org>
  +files/wireshark-1.1.3-misc-warnings.patch, +wireshark-1.1.3.ebuild:
  Version bump.

  23 Mar 2009; Markus Meier <maekke@gentoo.org> wireshark-1.0.6-r1.ebuild:
  amd64/x86 stable, bug #263443

  08 Mar 2009; Peter Volkov <pva@gentoo.org>
  +files/wireshark-1.1.2-misc-warnings.patch, wireshark-1.1.2.ebuild:
  Fixed build failure in function 'dissect_sflow_sample_rawheaderdata'

*wireshark-1.0.6-r1 (05 Mar 2009)

  05 Mar 2009; Peter Volkov <pva@gentoo.org>
  -files/wireshark-1.0.5-glib-1-build.patch,
  +files/wireshark-1.0-sigpipe.patch, -wireshark-1.0.5.ebuild,
  +wireshark-1.0.6-r1.ebuild:
  Fixed freeze on start issue, bug #260457, thank haarp for report.

  11 Feb 2009; Tobias Scherbaum <dertobi123@gentoo.org>
  wireshark-1.0.6.ebuild:
  ppc stable, bug #258013

  10 Feb 2009; Brent Baude <ranger@gentoo.org> wireshark-1.0.6.ebuild:
  Marking wireshark-1.0.6 ppc64 for bug 258013

  09 Feb 2009; Raúl Porcel <armin76@gentoo.org> wireshark-1.0.6.ebuild:
  ia64/sparc stable wrt #258013

  08 Feb 2009; Markus Meier <maekke@gentoo.org> wireshark-1.0.6.ebuild:
  amd64/x86 stable, bug #258013

  07 Feb 2009; Jeroen Roovers <jer@gentoo.org> wireshark-1.0.6.ebuild:
  Stable for HPPA (bug #258013).

  07 Feb 2009; Tobias Klausmann <klausman@gentoo.org>
  wireshark-1.0.6.ebuild:
  Stable on alpha, bug #258013

*wireshark-1.0.6 (07 Feb 2009)

  07 Feb 2009; Peter Volkov <pva@gentoo.org> +wireshark-1.0.6.ebuild:
  Version bump.

*wireshark-1.1.2 (19 Jan 2009)

  19 Jan 2009; Peter Volkov <pva@gentoo.org>
  -files/wireshark-1.0.4-zlib-build.patch,
  -files/wireshark-1.1.1--as-needed.patch,
  -files/wireshark-1.1.1-misc-warnings.patch,
  +files/wireshark-1.1.2--as-needed.patch, -wireshark-1.0.4.ebuild,
  -wireshark-1.1.1.ebuild, +wireshark-1.1.2.ebuild:
  Version bump of development version, remove old.

  26 Dec 2008; Mike Frysinger <vapier@gentoo.org>
  +files/wireshark-1.0.5-text2pcap-protos.patch, wireshark-1.0.5.ebuild:
  Fix building on 64bit systems due to implicit string prototypes.

  18 Dec 2008; Tobias Scherbaum <dertobi123@gentoo.org>
  wireshark-1.0.5.ebuild:
  ppc stable, bug #248425

  16 Dec 2008; Brent Baude <ranger@gentoo.org> wireshark-1.0.5.ebuild:
  Marking wireshark-1.0.5 ppc64 for bug 248425

  16 Dec 2008; Raúl Porcel <armin76@gentoo.org> wireshark-1.0.5.ebuild:
  ia64 stable wrt #248425

  15 Dec 2008; Jeroen Roovers <jer@gentoo.org> wireshark-1.0.5.ebuild:
  Stable for HPPA (bug #248425).

  14 Dec 2008; Peter Volkov <pva@gentoo.org> wireshark-1.0.5.ebuild:
  Fixed dodoc on nonexistent files, bug #248425, thank Markus Meier for report.

  14 Dec 2008; Tobias Klausmann <klausman@gentoo.org>
  wireshark-1.0.5.ebuild:
  Stable on alpha, bug #248425

  14 Dec 2008; Markus Meier <maekke@gentoo.org> wireshark-1.0.5.ebuild:
  amd64/x86 stable, bug #248425

  14 Dec 2008; Friedrich Oslage <bluebird@gentoo.org>
  wireshark-1.0.5.ebuild:
  Stable on sparc, security bug #248425

*wireshark-1.0.5 (13 Dec 2008)

  13 Dec 2008; Peter Volkov <pva@gentoo.org>
  +files/wireshark-1.0.5-glib-1-build.patch, +wireshark-1.0.5.ebuild:
  Version bump, fixes security issue #248425, thank Steven Susbauer for report.

  22 Nov 2008; Peter Volkov <pva@gentoo.org>
  files/wireshark-1.1.1-misc-warnings.patch, -wireshark-1.0.3.ebuild:
  Updated patch to handle more points of failure. Remove old.

  15 Nov 2008; Tobias Scherbaum <dertobi123@gentoo.org>
  wireshark-1.0.4.ebuild:
  ppc stable, bug #242996

  30 Oct 2008; Peter Volkov <pva@gentoo.org>
  +files/wireshark-1.0.4-zlib-build.patch, wireshark-1.0.4.ebuild:
  Build fails without zlib, this patch fixes it, bug #244931, thank emos696
  AT hotmail.com for this work.

  22 Oct 2008; Guy Martin <gmsoft@gentoo.org> wireshark-1.0.4.ebuild:
  hppa stable, #242996

  22 Oct 2008; Raúl Porcel <armin76@gentoo.org> wireshark-1.0.4.ebuild:
  alpha/ia64/x86 stable wrt #242996

  21 Oct 2008; Markus Rothe <corsair@gentoo.org> wireshark-1.0.4.ebuild:
  Stable on ppc64; bug #242996

  21 Oct 2008; Ferris McCormick <fmccor@gentoo.org> wireshark-1.0.4.ebuild:
  Sparc stable --- Security Bug #242996 --- appears to work fine.

  21 Oct 2008; Jeremy Olexa <darkside@gentoo.org> wireshark-1.0.4.ebuild:
  amd64 stable, accelerated due to security. bug #242996

*wireshark-1.0.4 (21 Oct 2008)

  21 Oct 2008; Peter Volkov <pva@gentoo.org> +wireshark-1.0.4.ebuild,
  wireshark-1.1.1.ebuild:
  Version bump.

  17 Oct 2008; Peter Volkov <pva@gentoo.org>
  +files/wireshark-1.1.1--as-needed.patch,
  +files/wireshark-1.1.1-misc-warnings.patch, wireshark-1.1.1.ebuild:
  Fixed build issue with --as-needed and lua enabled. Fixed build issues with
  -ftracer, bug #239941, thank Thomas Pegeot for report.

*wireshark-1.1.1 (10 Oct 2008)

  10 Oct 2008; Peter Volkov <pva@gentoo.org>
  -files/wireshark-1.1.0-as-needed.patch, -wireshark-1.1.0.ebuild,
  +wireshark-1.1.1.ebuild:
  Version bump. Some cleanups in ebuild.

  04 Oct 2008; Peter Volkov <pva@gentoo.org> metadata.xml,
  wireshark-1.1.0.ebuild:
  Change c-ares USE flag to ares, as other packages already USE ares.

  18 Sep 2008; Peter Volkov <pva@gentoo.org> wireshark-1.1.0.ebuild:
  Fixed dependency on c-ares and configuration.

*wireshark-1.1.0 (17 Sep 2008)

  17 Sep 2008; Peter Volkov <pva@gentoo.org>
  +files/wireshark-1.1.0-as-needed.patch, metadata.xml,
  -wireshark-1.0.2.ebuild, +wireshark-1.1.0.ebuild:
  Bump development version.

  10 Sep 2008; Olivier Crête <tester@gentoo.org> wireshark-1.0.3.ebuild:
  amd64 stable, bug #236515

  10 Sep 2008; Brent Baude <ranger@gentoo.org> wireshark-1.0.3.ebuild:
  Marking wireshark-1.0.3 ppc64 and ppc for bug 236515

  10 Sep 2008; Raúl Porcel <armin76@gentoo.org> wireshark-1.0.3.ebuild:
  alpha/ia64/sparc/x86 stable wrt #236515

  10 Sep 2008; Jeroen Roovers <jer@gentoo.org> wireshark-1.0.3.ebuild:
  Stable for HPPA (bug #236515).

*wireshark-1.0.3 (10 Sep 2008)

  10 Sep 2008; Peter Volkov <pva@gentoo.org> +wireshark-1.0.3.ebuild:
  Version bump, fixes security issues #236515, thank Robert Buchholz for
  report.

  04 Aug 2008; Jeroen Roovers <jer@gentoo.org> metadata.xml:
  Describe local USE flags for GLEP 56.

  03 Aug 2008; Cédric Krier <cedk@gentoo.org> wireshark-1.0.2.ebuild:
  Add gtk m4 for bug #233158

  20 Jul 2008; Peter Volkov <pva@gentoo.org> -wireshark-1.0.0.ebuild,
  -wireshark-1.0.1.ebuild:
  Removing vulnerable versions.

  17 Jul 2008; Kenneth Prugh <ken69267@gentoo.org> wireshark-1.0.2.ebuild:
  amd64 stable, bug #231587

  15 Jul 2008; Tobias Scherbaum <dertobi123@gentoo.org>
  wireshark-1.0.2.ebuild:
  ppc stable, bug #231587

  15 Jul 2008; Markus Rothe <corsair@gentoo.org> wireshark-1.0.2.ebuild:
  Stable on ppc64; bug #231587

  14 Jul 2008; Jeroen Roovers <jer@gentoo.org> wireshark-1.0.2.ebuild:
  Stable for HPPA (bug #231587).

  13 Jul 2008; Raúl Porcel <armin76@gentoo.org> wireshark-1.0.2.ebuild:
  alpha/ia64/sparc/x86 stable wrt #231587

*wireshark-1.0.2 (12 Jul 2008)

  12 Jul 2008; Marcelo Goes <vanquirius@gentoo.org> +wireshark-1.0.2.ebuild:
  1.0.2 version bump for security bug 231587. Thanks to 7v5w7go9ub0o
  <7v5w7go9ub0o at gmail dot com>.

  05 Jul 2008; Markus Meier <maekke@gentoo.org> wireshark-1.0.1.ebuild:
  amd64 stable, bug #230411

  05 Jul 2008; Brent Baude <ranger@gentoo.org> wireshark-1.0.1.ebuild:
  Marking wireshark-1.0.1 ppc64 for bug 230411

  05 Jul 2008; Tobias Scherbaum <dertobi123@gentoo.org>
  wireshark-1.0.1.ebuild:
  ppc stable, bug #230411

  04 Jul 2008; Jeroen Roovers <jer@gentoo.org> wireshark-1.0.1.ebuild:
  Stable for HPPA (bug #230411).

  03 Jul 2008; Raúl Porcel <armin76@gentoo.org> wireshark-1.0.1.ebuild:
  alpha/ia64/sparc/x86 stable wrt #230411

*wireshark-1.0.1 (03 Jul 2008)

  03 Jul 2008; Peter Volkov <pva@gentoo.org>
  -files/wireshark-0.99.8-libpcap-compile.patch, -wireshark-0.99.8.ebuild,
  +wireshark-1.0.1.ebuild:
  Version bump, bug #230411, thank 7v5w7go9ub0o for report.

  10 Apr 2008; Peter Volkov <pva@gentoo.org> wireshark-1.0.0.ebuild:
  cap_kill is not required in wireshark-1.0.0, bug #217061, thank Justin
  Bronder for report.

  03 Apr 2008; Tobias Scherbaum <dertobi123@gentoo.org>
  wireshark-1.0.0.ebuild:
  ppc stable, bug #215276

  03 Apr 2008; Peter Volkov <pva@gentoo.org> wireshark-1.0.0.ebuild:
  Fixed build with profile USE flag and -fomit-frame-pointer, bug #215806,
  thank Joel Thompson for report and Mikael Magnusson for solution.

  02 Apr 2008; Markus Rothe <corsair@gentoo.org> wireshark-1.0.0.ebuild:
  Stable on ppc64; bug #215276

  02 Apr 2008; Jeroen Roovers <jer@gentoo.org> wireshark-1.0.0.ebuild:
  Stable for HPPA (bug #215276).

  02 Apr 2008; Raúl Porcel <armin76@gentoo.org> wireshark-1.0.0.ebuild:
  alpha/ia64/sparc stable wrt security #215276

  02 Apr 2008; Christian Faulhammer <opfer@gentoo.org>
  wireshark-1.0.0.ebuild:
  stable x86, security bug 215276

  02 Apr 2008; Richard Freeman <rich0@gentoo.org> wireshark-1.0.0.ebuild:
  amd64 stable - 215276

*wireshark-1.0.0 (01 Apr 2008)

  01 Apr 2008; Peter Volkov <pva@gentoo.org>
  -files/wireshark-1.0.0_rc1-fix-setcap-EPERM.patch,
  -files/wireshark-1.0.0_rc1-fix-stop-capture.patch,
  -wireshark-1.0.0_rc1.ebuild, -wireshark-1.0.0_rc1-r1.ebuild,
  +wireshark-1.0.0.ebuild:
  Version bump, as usual security fixes, bug #215276, thank Robert Buchholz
  and Christian Faulhammer for report.

*wireshark-1.0.0_rc1-r1 (23 Mar 2008)

  23 Mar 2008; Peter Volkov <pva@gentoo.org>
  +files/wireshark-1.0.0_rc1-fix-setcap-EPERM.patch,
  +files/wireshark-1.0.0_rc1-fix-stop-capture.patch,
  +wireshark-1.0.0_rc1-r1.ebuild:
  Fix wireshark stop when built with caps.

*wireshark-1.0.0_rc1 (19 Mar 2008)

  19 Mar 2008; Peter Volkov <pva@gentoo.org>
  -files/wireshark-0.99.7-libgcrypt.patch, -wireshark-0.99.7.ebuild,
  +wireshark-1.0.0_rc1.ebuild:
  Bump to 1.0.0pre1. Removed old vulnerable.

  19 Mar 2008; Markus Rothe <corsair@gentoo.org> wireshark-0.99.8.ebuild:
  Stable on ppc64; bug #212149

  18 Mar 2008; Peter Volkov <pva@gentoo.org>
  -files/wireshark-0.99.7-crash-emem.c.patch,
  -files/wireshark-0.99.7-exit.patch,
  -files/wireshark-0.99.7-glib-1.2-compile-fix.patch,
  -wireshark-0.99.7-r1.ebuild, -wireshark-0.99.7-r2.ebuild,
  -wireshark-0.99.8_rc1.ebuild, wireshark-0.99.8.ebuild:
  Removed unused ebuilds. Made pcap USE flag enabled by default to avoid
  further questions why wireshark is unable to capture packets.

  18 Mar 2008; Tobias Scherbaum <dertobi123@gentoo.org>
  wireshark-0.99.8.ebuild:
  ppc stable, bug #212149

  18 Mar 2008; Raúl Porcel <armin76@gentoo.org> wireshark-0.99.8.ebuild:
  alpha/ia64/sparc stable wrt security #212149

  17 Mar 2008; Jeroen Roovers <jer@gentoo.org> wireshark-0.99.8.ebuild:
  Stable for HPPA (bug #212149).

  17 Mar 2008; Peter Volkov <pva@gentoo.org> wireshark-0.99.8.ebuild:
  Fixed build problem with heimdal, bug #213705, thank Doug Goldstein for
  report.

  17 Mar 2008; Dawid Węgliński <cla@gentoo.org> wireshark-0.99.8.ebuild:
  Stable on x86 (bug #212149)

  17 Mar 2008; Olivier Crête <tester@gentoo.org> wireshark-0.99.8.ebuild:
  Stable on amd64, bug #212149

  17 Mar 2008; Peter Volkov <pva@gentoo.org>
  +files/wireshark-0.99.8-libpcap-compile.patch:
  Missed patch added, thank steev for IRC notification.

*wireshark-0.99.8 (16 Mar 2008)

  16 Mar 2008; Peter Volkov <pva@gentoo.org> +wireshark-0.99.8.ebuild:
  Finally version bump, fixes security bug #212149, reported by Robert
  Buchholz. Fixes libsmi autodep, bug #211324, reported by Fabio Erculiani.
  Many other fixes here and there... Dropped check for minimal USE flag in perl.

  21 Feb 2008; <pva@gentoo.org> +files/wireshark-0.99.8-as-needed.patch,
  wireshark-0.99.8_rc1.ebuild:
  Fixed regression: compilation failure with --as-needed, bug 210998, reported
  by Mike Auty and Hanno Böck.

*wireshark-0.99.8_rc1 (20 Feb 2008)

  20 Feb 2008; <pva@gentoo.org> metadata.xml, +wireshark-0.99.8_rc1.ebuild:
  Version bump to pre-release. Took maintainance.

*wireshark-0.99.7-r2 (27 Jan 2008)

  27 Jan 2008; <pva@gentoo.org>
  +files/wireshark-0.99.7-glib-1.2-compile-fix.patch,
  +wireshark-0.99.7-r2.ebuild:
  Enable lua support, bug 206151, thank you Jaroslaw Niec <zuljin AT go2.pl>.

*wireshark-0.99.7-r1 (10 Jan 2008)

  10 Jan 2008; <pva@gentoo.org> -files/wireshark-0.99.6-asneeded.patch,
  -files/wireshark-0.99.6-asneeded-r1.patch,
  -files/wireshark-0.99.6-gint64-warnings.patch,
  -files/wireshark-0.99.6-libgcrypt.patch, -files/wireshark-0.99.6-lm.patch,
  +files/wireshark-0.99.7-crash-emem.c.patch,
  +files/wireshark-0.99.7-exit.patch,
  -files/wireshark-epan_dissectors_packet-diameter.diff,
  -wireshark-0.99.6.ebuild, -wireshark-0.99.6-r1.ebuild,
  +wireshark-0.99.7-r1.ebuild:
  Fixed crash on bad bLength. Fixed crash if user is not in wireshark group,
  thank you M. Edward Borasky <znmeb AT cesmail.net> for report and Kevin Pyle
  <kevin.pyle AT bluecoat.com> for investigation and work with upstream to
  make this fixed. Removed old and vulnerable.

  26 Dec 2007; Peter Weller <welp@gentoo.org> wireshark-0.99.7.ebuild:
  Stable on amd64; bug 199958

  24 Dec 2007; Raúl Porcel <armin76@gentoo.org> wireshark-0.99.7.ebuild:
  alpha/ia64/sparc stable wrt #199958

  24 Dec 2007; Jeroen Roovers <jer@gentoo.org> wireshark-0.99.7.ebuild:
  Stable for HPPA (bug #199958).

  23 Dec 2007; Markus Meier <maekke@gentoo.org> wireshark-0.99.7.ebuild:
  x86 stable, security bug #199958

  23 Dec 2007; Brent Baude <ranger@gentoo.org> wireshark-0.99.7.ebuild:
  Marking wireshark-0.99.7 ppc and ppc64 stable for bug 199958

  20 Dec 2007; <pva@gentoo.org> +files/wireshark-0.99.7-asneeded.patch,
  +files/wireshark-0.99.7-libgcrypt.patch:
  Missed patches added, bug 202866 reported by <kroemmelbein AT gmx.de>

*wireshark-0.99.7 (20 Dec 2007)

  20 Dec 2007; <pva@gentoo.org> +wireshark-0.99.7.ebuild:
  New release. Fixes security issues, bug #199958. Thank Robert Buchholz <rbu
  AT gentoo.org> for lots of usefull suggestions on how to improve ebuild.

  02 Aug 2007; Raphael Marichez <falco@gentoo.org> wireshark-0.99.6.ebuild,
  wireshark-0.99.6-r1.ebuild:
  Remove redundant econf lines, reported by steev

  26 Jul 2007; Chris Gianelloni <wolf31o2@gentoo.org>
  wireshark-0.99.6.ebuild, wireshark-0.99.6-r1.ebuild:
  Cosmetic changes only... rearranged some of the post-merge output so it fits
  properly on 80 columns.

  24 Jul 2007; Markus Ullmann <jokey@gentoo.org>
  -files/wireshark-0.99.5-sizet.patch, -wireshark-0.99.5.ebuild:
  Clean out old stuff

*wireshark-0.99.6-r1 (24 Jul 2007)

  24 Jul 2007; <pva@gentoo.org> +files/wireshark-0.99.6-asneeded-r1.patch,
  +files/wireshark-0.99.6-gint64-warnings.patch,
  +files/wireshark-0.99.6-libgcrypt.patch, +files/wireshark-0.99.6-lm.patch,
  +wireshark-0.99.6-r1.ebuild:
  Fixed -lm problem with ulibc (bug #186424; thank Natanael Copa
  <natanael.copa AT gmail.com> for report. Commited fix for bug #184529 and
  enabled warnings treated as errors for gtk-2.0 build like upstream wants us.
  Fix for libgcrypt problem reported by armin76 and fixed by drac.

  20 Jul 2007; Tobias Scherbaum <dertobi123@gentoo.org>
  wireshark-0.99.6.ebuild:
  ppc stable, bug #183520

  16 Jul 2007; Jeroen Roovers <jer@gentoo.org> wireshark-0.99.6.ebuild:
  Stable for HPPA (bug #183520).

  16 Jul 2007; Markus Rothe <corsair@gentoo.org> wireshark-0.99.6.ebuild:
  Stable on ppc64; bug #183520

  16 Jul 2007; Marcus D. Hanwell <cryos@gentoo.org> wireshark-0.99.6.ebuild:
  Marked stable on amd64, bug 183520.

  16 Jul 2007; Raúl Porcel <armin76@gentoo.org> wireshark-0.99.6.ebuild:
  alpha/ia64/x86 stable wrt security #183520

  16 Jul 2007; Gustavo Zacarias <gustavoz@gentoo.org>
  wireshark-0.99.6.ebuild:
  Stable on sparc wrt security #183520

  15 Jul 2007; Samuli Suominen <drac@gentoo.org>
  +files/wireshark-0.99.6-asneeded.patch, wireshark-0.99.6.ebuild:
  Fix building with asneeded for bug 184668.

  09 Jul 2007; Raúl Porcel <armin76@gentoo.org> wireshark-0.99.6.ebuild:
  Fix bug #184529, blame Jokey

*wireshark-0.99.6 (06 Jul 2007)

  06 Jul 2007; Markus Ullmann <jokey@gentoo.org> +wireshark-0.99.6.ebuild:
  Security version bump wrt bug #183520

  18 Apr 2007; Markus Ullmann <jokey@gentoo.org> -wireshark-0.99.4.ebuild,
  -wireshark-0.99.4-r1.ebuild, wireshark-0.99.5.ebuild:
  Fix gcc 3.4 bug #165340 thanks to Guenther Brunthaler for the solution, do
  some cleanup as well

  17 Apr 2007; Gustavo Zacarias <gustavoz@gentoo.org>
  wireshark-0.99.5.ebuild:
  Stable on sparc wrt #174625

  17 Apr 2007; Bryan Østergaard <kloeri@gentoo.org>
  wireshark-0.99.5.ebuild:
  Stable on Alpha, bug 174625.

  16 Apr 2007; Raúl Porcel <armin76@gentoo.org> wireshark-0.99.5.ebuild:
  ia64 stable wrt bug 174625

  15 Apr 2007; Andrej Kacian <ticho@gentoo.org> wireshark-0.99.5.ebuild:
  Stable on x86, bug #174625.

  15 Apr 2007; Markus Rothe <corsair@gentoo.org> wireshark-0.99.5.ebuild:
  Stable on ppc64; bug #174625

  15 Apr 2007; Olivier Crête <tester@gentoo.org> wireshark-0.99.5.ebuild:
  Stable on amd64, bug #174625

  14 Apr 2007; Jeroen Roovers <jer@gentoo.org> wireshark-0.99.5.ebuild:
  Stable for HPPA (bug #174625).

  24 Feb 2007; Daniel Black <dragonheart@gentoo.org>
  wireshark-0.99.4.ebuild, wireshark-0.99.4-r1.ebuild,
  wireshark-0.99.5.ebuild:
  removed unused autotools import thanks to Flameeyes

  16 Feb 2007; Daniel Black <dragonheart@gentoo.org>
  +files/wireshark-0.99.5-sizet.patch, wireshark-0.99.5.ebuild:
  upstream patch to fix bug #165896 - hopefully

  10 Feb 2007; Martin Jackson <mjolnir@gentoo.org>
  +files/wireshark-epan_dissectors_packet-diameter.diff,
  wireshark-0.99.5.ebuild:
  Add patch from FC3/FreeBSD to fix GCC 3.4 link error (#165340)

*wireshark-0.99.5 (03 Feb 2007)

  03 Feb 2007; Marcelo Goes <vanquirius@gentoo.org>
  +wireshark-0.99.5.ebuild:
  0.99.5 version bump for bug 165077, reported by Executioner <executioner at
  phobik dot org>.

  16 Nov 2006; Roy Marples <uberlord@gentoo.org> wireshark-0.99.4.ebuild,
  wireshark-0.99.4-r1.ebuild:
  Added ~x86-fbsd keyword.

*wireshark-0.99.4-r1 (12 Nov 2006)

  12 Nov 2006; Daniel Black <dragonheart@gentoo.org>
  +files/wireshark-except-double-free.diff, -wireshark-0.99.3.ebuild,
  +wireshark-0.99.4-r1.ebuild:
  Thanks a7x, didier who made great efforts with upstream to prove it was a
  Gentoo compiler bug. bug #145974 and bug #133092. removed sec vulnerable
  version

  05 Nov 2006; Brent Baude <ranger@gentoo.org> wireshark-0.99.4.ebuild:
  Marking wireshark-0.99.4 ppc64 stable for bug #152951

  02 Nov 2006; Olivier Crête <tester@gentoo.org> wireshark-0.99.4.ebuild:
  Stable on amd64 for security bug #152951

  02 Nov 2006; Jeroen Roovers <jer@gentoo.org> wireshark-0.99.4.ebuild:
  Stable for HPPA (bug #152951).

  01 Nov 2006; Bryan Østergaard <kloeri@gentoo.org>
  wireshark-0.99.4.ebuild:
  Stable on ia64, bug 152951.

  01 Nov 2006; Bryan Østergaard <kloeri@gentoo.org>
  wireshark-0.99.4.ebuild:
  Stable on Alpha, bug 152951.

  01 Nov 2006; Andrej Kacian <ticho@gentoo.org> wireshark-0.99.4.ebuild:
  Stable on x86, security bug #152951.

  01 Nov 2006; Gustavo Zacarias <gustavoz@gentoo.org>
  wireshark-0.99.4.ebuild:
  Stable on sparc wrt security #152951

  01 Nov 2006; Tobias Scherbaum <dertobi123@gentoo.org>
  wireshark-0.99.4.ebuild:
  ppc stable, bug #152951

*wireshark-0.99.4 (01 Nov 2006)

  01 Nov 2006; Daniel Black <dragonheart@gentoo.org>
  +wireshark-0.99.4.ebuild:
  version bump as per security bug #152951. Also fixes dead symlink - bug
  #145067, wifiscanner & wireshark: File collision /usr/lib/libwiretap.la bug
  #146286

  18 Sep 2006; Benjamin Smee <strerror@gentoo.org> wireshark-0.99.3.ebuild:
  Small change for bug #147814

  12 Sep 2006; Markus Ullmann <jokey@gentoo.org> wireshark-0.99.3.ebuild:
  Fixing built_with_use check for non-existant IUSE ( bug #146839 )

  30 Aug 2006; Daniel Black <dragonheart@gentoo.org>
  wireshark-0.99.3.ebuild:
  changed description to emerge -s ethereal will find it

  29 Aug 2006; Bryan Østergaard <kloeri@gentoo.org>
  wireshark-0.99.3.ebuild:
  Stable on ia64.

  27 Aug 2006; Daniel Black <dragonheart@gentoo.org>
  -files/wireshark-0.99.2-libgcrypt-asneeded.patch,
  -wireshark-0.99.2.ebuild:
  purge vulnerable version

  27 Aug 2006; Rene Nussbaumer <killerfox@gentoo.org>
  wireshark-0.99.3.ebuild:
  Stable on hppa. See bug #144946.

  25 Aug 2006; Daniel Black <dragonheart@gentoo.org>
  wireshark-0.99.3.ebuild:
  seemed to have dropped hppa - re-added

  25 Aug 2006; Bryan Østergaard <kloeri@gentoo.org>
  wireshark-0.99.3.ebuild:
  Stable on alpha, bug 144946.

  25 Aug 2006; Olivier Crête <tester@gentoo.org> wireshark-0.99.3.ebuild:
  Stable on amd64 per security bug #144946

  25 Aug 2006; <ticho@gentoo.org> wireshark-0.99.3.ebuild:
  Stable on x86, security bug #144946.

  25 Aug 2006; Jason Wever <weeve@gentoo.org> wireshark-0.99.3.ebuild:
  Stable on SPARC wrt security bug #144946.

  24 Aug 2006; Tobias Scherbaum <dertobi123@gentoo.org>
  wireshark-0.99.3.ebuild:
  ppc stable, bug #144946

  24 Aug 2006; Markus Rothe <corsair@gentoo.org> wireshark-0.99.3.ebuild:
  Stable on ppc64; bug #144946

*wireshark-0.99.3 (24 Aug 2006)

  24 Aug 2006; Daniel Black <dragonheart@gentoo.org>
  +wireshark-0.99.3.ebuild:
  version bump - security bug #144946

  19 Aug 2006; Jeroen Roovers <jer@gentoo.org> wireshark-0.99.2.ebuild:
  Stable for HPPA.

  30 Jul 2006; Daniel Black <dragonheart@gentoo.org>
  wireshark-0.99.2.ebuild:
  added filter-flags -fstack-protector thanks to Richard Hansen and Kevin F.
  Quinn see bug #133092

  25 Jul 2006; Daniel Black <dragonheart@gentoo.org>
  wireshark-0.99.2.ebuild:
  added RDEPEND on selinux-wireshark for USE=selinux. Thanks to Petre bug #141156
  removed RDEPEND=!net-analyzer in preparation for ethereal->wireshark move.
  added ethereal -> wireshark and tethereal -> tshark symlinks thanks to
  suggestion from solar

  20 Jul 2006; Gustavo Zacarias <gustavoz@gentoo.org>
  wireshark-0.99.2.ebuild:
  Stable on sparc wrt security #140856

  20 Jul 2006; Joshua Jackson <tsunam@gentoo.org> wireshark-0.99.2.ebuild:
  Stable x86; bug #140856

  19 Jul 2006; Daniel Black <dragonheart@gentoo.org>
  +files/wireshark-0.99.2-libgcrypt-asneeded.patch, wireshark-0.99.2.ebuild:
  added patch to include gcrypt libraries to solve bug #141021. Thanks to
  Alberto Ornaghi for the bug report

  19 Jul 2006; Simon Stelling <blubb@gentoo.org> wireshark-0.99.2.ebuild:
  stable wrt bug 140856

  19 Jul 2006; Tobias Scherbaum <dertobi123@gentoo.org>
  wireshark-0.99.2.ebuild:
  ppc stable, bug #140856

  19 Jul 2006; <tcort@gentoo.org> wireshark-0.99.2.ebuild:
  Stable on alpha wrt security Bug #140856.

  19 Jul 2006; Markus Rothe <corsair@gentoo.org> wireshark-0.99.2.ebuild:
  Stable on ppc64; bug #140856

*wireshark-0.99.2 (18 Jul 2006)

  18 Jul 2006; Markus Ullmann <jokey@gentoo.org>
  -files/wireshark-0.99.1_pre1-as-needed.patch,
  -wireshark-0.99.1_pre1.ebuild, +wireshark-0.99.2.ebuild:
  Security version bump wrt bug #140856

  17 Jul 2006; Daniel Black <dragonheart@gentoo.org>
  wireshark-0.99.1_pre1.ebuild:
  added keywords (~alpha ~ia64 ~ppc64) as this is off the same codebase as
  ethereal - bug #136729

  16 Jul 2006; Daniel Gryniewicz <dang@gentoo.org>
  wireshark-0.99.1_pre1.ebuild:
  Marked ~amd64 per bug #136729

  15 Jul 2006; Stephanie Lockwood-Childs <wormo@gentoo.org>
  wireshark-0.99.1_pre1.ebuild:
  mark ~ppc (Bug #136729)

  01 Jul 2006; Jason Wever <weeve@gentoo.org> wireshark-0.99.1_pre1.ebuild:
  Added ~sparc keyword.

*wireshark-0.99.1_pre1 (30 Jun 2006)

  30 Jun 2006; Markus Ullmann <jokey@gentoo.org>
  +files/wireshark-0.99.1_pre1-as-needed.patch, +metadata.xml,
  +wireshark-0.99.1_pre1.ebuild:
  Initial import, fixes bug #136729 , thanks to gentooperson@yahoo.com for
  providing an ebuild

