# ChangeLog for app-crypt/mit-krb5
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/app-crypt/mit-krb5/ChangeLog,v 1.215 2010/01/14 09:12:31 mueli Exp $

*mit-krb5-1.7-r2 (14 Jan 2010)
*mit-krb5-1.6.3-r7 (14 Jan 2010)

  14 Jan 2010; Michael Hammer <mueli@gentoo.org> +mit-krb5-1.6.3-r7.ebuild,
  -mit-krb5-1.7-r1.ebuild, +mit-krb5-1.7-r2.ebuild,
  +files/1.6-CVE-2009-4212.patch, +files/1.7-CVE-2009-4212.patch:
  added new revision to fix CVE-2009-4212

  12 Jan 2010; Michael Hammer <mueli@gentoo.org> mit-krb5-1.7-r1.ebuild:
  fixed bug 300574

  12 Jan 2010; Michael Hammer <mueli@gentoo.org> mit-krb5-1.6.3-r6.ebuild,
  -mit-krb5-1.7.ebuild, mit-krb5-1.7-r1.ebuild:
  - fixed Bug 300498
  - removed old 1.7 release

*mit-krb5-1.7-r1 (29 Jul 2009)

  29 Jul 2009; Samuli Suominen <ssuominen@gentoo.org>
  +mit-krb5-1.7-r1.ebuild:
  Don't apply 0001_all_lazyldflags.patch which is same as bindnow-flags.

  22 Jul 2009; Michael Hammer <mueli@gentoo.org> -mit-krb5-1.6.3-r3.ebuild,
  -mit-krb5-1.6.3-r4.ebuild, -mit-krb5-1.6.3-r5.ebuild:
  removed outdated releases

*mit-krb5-1.7 (22 Jul 2009)

  22 Jul 2009; Michael Hammer <mueli@gentoo.org> +mit-krb5-1.7.ebuild:
  added mit-krb5-1.7 release

  08 Apr 2009; Tobias Heinlein <keytoaster@gentoo.org>
  mit-krb5-1.6.3-r6.ebuild:
  amd64 stable wrt security bug #263398

  08 Apr 2009; Raúl Porcel <armin76@gentoo.org> mit-krb5-1.6.3-r6.ebuild:
  alpha/arm/ia64/m68k/s390/sh/sparc/x86 stable wrt #263398 and also
  stabilize on hppa/ppc/ppc64

*mit-krb5-1.6.3-r6 (08 Apr 2009)

  08 Apr 2009; Michael Hammer <mueli@gentoo.org>
  +files/CVE-2009-0844+CVE-2009-0847.patch, +files/CVE-2009-0846.patch,
  +mit-krb5-1.6.3-r6.ebuild:
  added mit-krb5-1.6.3-r6 - see bug #263398

  27 Mar 2009; Jeroen Roovers <jer@gentoo.org> mit-krb5-1.6.3-r5.ebuild:
  Stable for HPPA (bug #262736).

  23 Mar 2009; Raúl Porcel <armin76@gentoo.org> mit-krb5-1.6.3-r5.ebuild:
  arm/ia64/s390/sh/sparc stable wrt #262736

  22 Mar 2009; Tobias Klausmann <klausman@gentoo.org>
  mit-krb5-1.6.3-r5.ebuild:
  Stable on alpha, bug #262736

  20 Mar 2009; Markus Meier <maekke@gentoo.org> mit-krb5-1.6.3-r5.ebuild:
  amd64/x86 stable, bug #262736

  20 Mar 2009; Brent Baude <ranger@gentoo.org> mit-krb5-1.6.3-r5.ebuild:
  Marking mit-krb5-1.6.3-r5 ppc64 and ppc for bug 262736

*mit-krb5-1.6.3-r5 (20 Mar 2009)

  20 Mar 2009; Michael Hammer <mueli@gentoo.org> metadata.xml,
  mit-krb5-1.6.3-r3.ebuild, mit-krb5-1.6.3-r4.ebuild,
  +mit-krb5-1.6.3-r5.ebuild:
  added mit-krb5-1.6.3-r5 with new patchset

  20 Mar 2009; Michael Hammer <mueli@gentoo.org> -mit-krb5-1.5.3-r1.ebuild,
  -mit-krb5-1.6.3.ebuild, -mit-krb5-1.6.3-r1.ebuild,
  -mit-krb5-1.6.3-r2.ebuild:
  removed old mit-krb5 versions

  29 Dec 2008; Friedrich Oslage <bluebird@gentoo.org>
  mit-krb5-1.6.3-r4.ebuild:
  Stable on sparc, bug #241670

  08 Nov 2008; Raúl Porcel <armin76@gentoo.org> mit-krb5-1.6.3-r4.ebuild:
  alpha/ia64 stable wrt #241670

  02 Nov 2008; Tobias Scherbaum <dertobi123@gentoo.org>
  mit-krb5-1.6.3-r4.ebuild:
  ppc stable, bug #241670

  29 Oct 2008; Torsten Veller <tove@gentoo.org> mit-krb5-1.6.3-r4.ebuild:
  Stable on x86 (#241670)

  28 Oct 2008; Doug Goldstein <cardoe@gentoo.org> mit-krb5-1.6.3-r2.ebuild,
  mit-krb5-1.6.3-r3.ebuild:
  preferred depends need to go first

  28 Oct 2008; Christoph Mende <angelos@gentoo.org>
  mit-krb5-1.6.3-r4.ebuild:
  Stable on amd64, bug #241670

  28 Oct 2008; Brent Baude <ranger@gentoo.org> mit-krb5-1.6.3-r4.ebuild:
  Marking mit-krb5-1.6.3-r4 ppc64 for bug 241670

  27 Oct 2008; Jeroen Roovers <jer@gentoo.org> mit-krb5-1.6.3-r4.ebuild:
  Stable for HPPA (bug #241670).

  16 Oct 2008; Michael Hammer <mueli@gentoo.org> mit-krb5-1.6.3.ebuild,
  mit-krb5-1.6.3-r1.ebuild, mit-krb5-1.6.3-r2.ebuild,
  mit-krb5-1.6.3-r3.ebuild, mit-krb5-1.6.3-r4.ebuild:
  once again bug #241670

  16 Oct 2008; Michael Hammer <mueli@gentoo.org> mit-krb5-1.6.3.ebuild,
  mit-krb5-1.6.3-r4.ebuild:
  fixed quoting - see bug #241670

  05 Oct 2008; Diego Pettenò <flameeyes@gentoo.org>
  mit-krb5-1.6.3-r4.ebuild:
  Fix obvious typo in quoting for newins.

*mit-krb5-1.6.3-r4 (11 Sep 2008)

  11 Sep 2008; Michael Hammer <mueli@gentoo.org> +mit-krb5-1.6.3-r4.ebuild:
  changed sed statement for $(LDFLAGS) problem in krb5-config - bug #237273
  and removed the || statement in RDEPEND - bug #235409

*mit-krb5-1.6.3-r3 (09 Sep 2008)

  09 Sep 2008; Michael Hammer <mueli@gentoo.org> mit-krb5-1.6.3-r2.ebuild,
  +mit-krb5-1.6.3-r3.ebuild:
  removed LDFLAGS from krb5-config -> bug #184668

  05 Sep 2008; Christian Faulhammer <opfer@gentoo.org>
  mit-krb5-1.5.3-r1.ebuild, mit-krb5-1.6.3.ebuild:
  change dependency from virtual/tetex to virtual/latex-base for all ebuilds

  22 Aug 2008; Michael Hammer <mueli@gentoo.org> mit-krb5-1.6.3-r2.ebuild:
  fixed bug #235409

*mit-krb5-1.6.3-r2 (19 Aug 2008)

  19 Aug 2008; Michael Hammer <mueli@gentoo.org> +mit-krb5-1.6.3-r2.ebuild:
  revision bump to 1.6.3-r2 to fix bug #234886 with a hack - should use
  pkg-config

  31 Jul 2008; Michael Hammer <mueli@gentoo.org> metadata.xml:
  fixed manifest.xml due to GLEP 56

  25 Jul 2008; Michael Hammer <mueli@gentoo.org> +mit-krb5-1.5.3-r1.ebuild:
  commited mit-krb5-1.5.3-r1 back into tree

  22 Jul 2008; Michael Hammer <mueli@gentoo.org> -mit-krb5-1.5.3.ebuild,
  -mit-krb5-1.5.3-r1.ebuild:
  cleaned 1.5.x releases - really old and dangerous, please upgrade

  22 Jul 2008; Michael Hammer <mueli@gentoo.org> mit-krb5-1.6.3-r1.ebuild:
  Fixed bug #232394 - virtual/tetex and wrong doc info

  11 Jul 2008; Michael Hammer <mueli@gentoo.org> mit-krb5-1.6.3-r1.ebuild:
  workaround for autoconf bug - see bug #181404. No revision bump necessary
  because it only effects build system. Thx to truedfx.

  03 Jun 2008; Doug Goldstein <cardoe@gentoo.org> mit-krb5-1.5.3.ebuild,
  mit-krb5-1.5.3-r1.ebuild:
  Fix depend issue in bug #217021. Thanks Fabio Erculiani
  <lxnay@lxnaydesign.net> for the good debug.

*mit-krb5-1.6.3-r1 (19 Mar 2008)

  19 Mar 2008; Markus Ullmann <jokey@gentoo.org> +mit-krb5-1.6.3-r1.ebuild:
  Stick patches into a patchset so we don't ship them over rsync

  19 Mar 2008; Markus Ullmann <jokey@gentoo.org> mit-krb5-1.6.3.ebuild:
  Stable on amd64/arm

  19 Mar 2008; Raúl Porcel <armin76@gentoo.org> mit-krb5-1.6.3.ebuild:
  alpha/ia64/sparc stable wrt security #212363

  19 Mar 2008; Markus Rothe <corsair@gentoo.org> mit-krb5-1.6.3.ebuild:
  Stable on ppc64; bug #212363

  19 Mar 2008; Christian Faulhammer <opfer@gentoo.org>
  mit-krb5-1.6.3.ebuild:
  stable x86, security bug 212363

  19 Mar 2008; Jeroen Roovers <jer@gentoo.org> mit-krb5-1.6.3.ebuild:
  Stable for HPPA (bug #212363).

  18 Mar 2008; Tobias Scherbaum <dertobi123@gentoo.org>
  mit-krb5-1.6.3.ebuild:
  ppc stable, bug #212363

*mit-krb5-1.6.3 (18 Mar 2008)

  18 Mar 2008; Markus Ullmann <jokey@gentoo.org>
  +files/1.6-MITKRB5-SA-2008-001.patch, +files/MITKRB5-SA-2008-002.patch,
  +mit-krb5-1.6.3.ebuild:
  Security version bump for bug #212363

  22 Sep 2007; Joshua Kinard <kumba@gentoo.org> mit-krb5-1.5.3-r1.ebuild:
  Stable on mips

  11 Sep 2007; Jeroen Roovers <jer@gentoo.org> mit-krb5-1.5.3-r1.ebuild:
  Stable for SPARC (bug #191301).

  08 Sep 2007; Markus Rothe <corsair@gentoo.org> mit-krb5-1.5.3-r1.ebuild:
  Stable on ppc64; bug #191301

  07 Sep 2007; Chris Gianelloni <wolf31o2@gentoo.org>
  mit-krb5-1.5.3-r1.ebuild:
  Stable on amd64 wrt bug #191301.

  07 Sep 2007; Tobias Scherbaum <dertobi123@gentoo.org>
  mit-krb5-1.5.3-r1.ebuild:
  ppc stable, bug #191301

  07 Sep 2007; Raúl Porcel <armin76@gentoo.org> mit-krb5-1.5.3-r1.ebuild:
  alpha/ia64/x86 stable wrt #191301

  07 Sep 2007; Jeroen Roovers <jer@gentoo.org> mit-krb5-1.5.3-r1.ebuild:
  Stable for HPPA (bug #191301).

*mit-krb5-1.5.3-r1 (07 Sep 2007)

  07 Sep 2007; Seemant Kulleen <seemant@gentoo.org>
  -mit-krb5-1.4.3-r3.ebuild, +mit-krb5-1.5.3-r1.ebuild:
  removed the 1.4 stuff, because it's totally unmaintained upstream and here.
  Bumped to 1.5.3-r1 for the newest security fix. See bug #191301

  07 Sep 2007; Seemant Kulleen <seemant@gentoo.org>
  -mit-krb5-1.5.2-r1.ebuild, -mit-krb5-1.5.2-r2.ebuild,
  -mit-krb5-1.5.2-r3.ebuild:
  remove crufty versions

  01 Sep 2007; Ryan Hill <dirtyepic@gentoo.org> ChangeLog, Manifest:
  Fix lost ChangeLog history.

  16 Jul 2007; Markus Rothe <corsair@gentoo.org> mit-krb5-1.5.3.ebuild:
  Stable on ppc64; bug #183338

  16 Jul 2007; Gustavo Zacarias <gustavoz@gentoo.org> mit-krb5-1.5.3.ebuild:
  Stable on sparc wrt security #183338

  16 Jul 2007; Jeroen Roovers <jer@gentoo.org> mit-krb5-1.5.2-r3.ebuild:
  Stable for HPPA (bug #183338).

  16 Jul 2007; Jeroen Roovers <jer@gentoo.org> mit-krb5-1.5.3.ebuild:
  Stable for HPPA (bug #183338).

  15 Jul 2007; Tobias Scherbaum <dertobi123@gentoo.org>
  mit-krb5-1.5.3.ebuild:
  ppc stable, bug #183338

  15 Jul 2007; Steve Dibb <beandog@gentoo.org> mit-krb5-1.5.2-r3.ebuild,
  mit-krb5-1.5.3.ebuild:
  amd64 stable, security bug 183338

  15 Jul 2007; Raúl Porcel <armin76@gentoo.org> mit-krb5-1.5.3.ebuild:
  alpha/ia64/x86 stable wrt security #183338

*mit-krb5-1.5.3 (03 Jul 2007)

  03 Jul 2007; Seemant Kulleen <seemant@gentoo.org> +mit-krb5-1.5.3.ebuild:
  version bump + the same two security fixes as for 1.5.2-r3. This solves bug
  #183338

*mit-krb5-1.5.2-r3 (03 Jul 2007)

  03 Jul 2007; Seemant Kulleen <seemant@gentoo.org>
  +mit-krb5-1.5.2-r3.ebuild:
  security fixes for security advisories 004 and 005.

  13 May 2007; Joshua Kinard <kumba@gentoo.org> mit-krb5-1.5.2-r1.ebuild:
  Stable on mips.

  04 Apr 2007; Seemant Kulleen <seemant@gentoo.org>
  -files/mit-krb5-1.4.3-setuid.patch,
  -files/mit-krb5-SA-2007-001-telnetd.patch,
  -files/mit-krb5-SA-2007-002-syslog.patch,
  -files/mit-krb5-SA-2007-003.patch, -files/mit-krb5-pthreads.patch,
  -files/mit-krb5-robustgnu.patch, -files/mit-krb5-setupterm.patch,
  mit-krb5-1.4.3-r3.ebuild, mit-krb5-1.5.2-r1.ebuild,
  mit-krb5-1.5.2-r2.ebuild:
  removed the patches from filesdir and into their own tarballs, otherwise (as
  the prior cleanup showed) things just die in that director

*mit-krb5-1.5.2-r2 (03 Apr 2007)

  03 Apr 2007; Seemant Kulleen <seemant@gentoo.org> -files/krb5.confd,
  -files/kdc.conf, -files/krb5.conf, -files/krb5.initd,
  -files/mit-krb5-notermcap.patch, mit-krb5-1.4.3-r3.ebuild,
  +mit-krb5-1.5.2-r2.ebuild:
  Added a warning about the db switch, closing bug #143605 by Olivier Calle,
  and a suggestion from Doug Paul

*mit-krb5-1.5.2-r1 (03 Apr 2007)

  03 Apr 2007; Seemant Kulleen <seemant@gentoo.org>
  +files/mit-krb5-SA-2007-001-telnetd.patch,
  +files/mit-krb5-SA-2007-002-syslog.patch,
  +files/mit-krb5-SA-2007-003.patch, +mit-krb5-1.5.2-r1.ebuild:
  Fixes for 3 security bugs. See bug #171889 for full details. Also, fixed bug
  #164703 by GNUtoo -- we now create a /var/lib/krb5kdc directory so that a
  kdc database is created more easily

  15 Jan 2007; Bryan Østergaard <kloeri@gentoo.org> mit-krb5-1.5.2.ebuild:
  Stable on Alpha, bug 158810.

  12 Jan 2007; René Nussbaumer <killerfox@gentoo.org>
  mit-krb5-1.5.2.ebuild:
  Stable on hppa. See bug #158810.

  11 Jan 2007; Gustavo Zacarias <gustavoz@gentoo.org> mit-krb5-1.5.2.ebuild:
  Stable on sparc wrt security #158810

  11 Jan 2007; Chris Gianelloni <wolf31o2@gentoo.org> mit-krb5-1.5.2.ebuild:
  Stable on amd64 wrt bug #158810.

  11 Jan 2007; Christian Faulhammer <opfer@gentoo.org>
  mit-krb5-1.5.2.ebuild:
  stable x86, security bug #158810

  11 Jan 2007; Markus Rothe <corsair@gentoo.org> mit-krb5-1.5.2.ebuild:
  Stable on ppc64; bug #158810

  10 Jan 2007; Tobias Scherbaum <dertobi123@gentoo.org>
  mit-krb5-1.5.2.ebuild:
  Stable on ppc wrt bug #158810.

*mit-krb5-1.5.2 (10 Jan 2007)

  10 Jan 2007; Seemant Kulleen <seemant@gentoo.org> -mit-krb5-1.5.1.ebuild,
  +mit-krb5-1.5.2.ebuild:
  Version bump to 1.5.2 -- new candidate for stability, owing to bug #158810
  and bug #161260. Upstream seems to have abandoned 1.4 series, so we're stuck
  with the 1.5 series for now (and 1.6 soon). The only problem is lack of
  --enable-static.

  06 Jan 2007; Timothy Redaelli <drizzt@gentoo.org> -mit-krb5-1.4.3.ebuild,
  -mit-krb5-1.4.3-r1.ebuild, -mit-krb5-1.4.3-r2.ebuild,
  mit-krb5-1.4.3-r3.ebuild, mit-krb5-1.5.1.ebuild:
  s/einfo/elog/
  Removed static USE wrt bug #155530 (thx vapier)
  Security cleanup wrt bug #143240
  Acknowledged by exg

  07 Nov 2006; Seemant Kulleen <seemant@gentoo.org> mit-krb5-1.5.1.ebuild:
  seems like the notermcap is deprecated by the new version. should close bug
  #154298

  05 Sep 2006; Seemant Kulleen <seemant@gentoo.org> mit-krb5-1.5.1.ebuild:
  reflect correct path to the notermcap patch -- version independent now

  04 Sep 2006; Joshua Kinard <kumba@gentoo.org> mit-krb5-1.4.3-r3.ebuild:
  Marked stable on mips.

  02 Sep 2006; Bryan Østergaard <kloeri@gentoo.org>
  mit-krb5-1.4.3-r3.ebuild:
  Stable on ia64.

*mit-krb5-1.5.1 (01 Sep 2006)

  01 Sep 2006; Emanuele Giaquinta <exg@gentoo.org>
  +files/mit-krb5-notermcap.patch, +mit-krb5-1.5.1.ebuild:
  Version bump. Use a clearer patch to not link to libtermcap.

  10 Aug 2006; Thomas Cort <tcort@gentoo.org> mit-krb5-1.4.3-r3.ebuild:
  Stable on alpha wrt security Bug #143240.

  10 Aug 2006; Jason Wever <weeve@gentoo.org> mit-krb5-1.4.3-r3.ebuild:
  Stable on SPARC wrt security bug #143240.

  10 Aug 2006; Rene Nussbaumer <killerfox@gentoo.org>
  mit-krb5-1.4.3-r3.ebuild:
  Stable on hppa. See bug #143240.

  09 Aug 2006; Tobias Scherbaum <dertobi123@gentoo.org>
  mit-krb5-1.4.3-r3.ebuild:
  ppc stable, bug #143240

  09 Aug 2006; Chris Gianelloni <wolf31o2@gentoo.org>
  mit-krb5-1.4.3-r3.ebuild:
  Stable on amd64 and x86 wrt bug #143240.

  09 Aug 2006; Markus Rothe <corsair@gentoo.org> mit-krb5-1.4.3-r3.ebuild:
  Stable on ppc64; bug #143240

*mit-krb5-1.4.3-r3 (08 Aug 2006)

  08 Aug 2006; Emanuele Giaquinta <exg@gentoo.org>
  +files/mit-krb5-1.4.3-setuid.patch, +mit-krb5-1.4.3-r3.ebuild:
  Revision bump for security bug #143240.

  12 Jul 2006; Aron Griffis <agriffis@gentoo.org> mit-krb5-1.4.3-r1.ebuild:
  Mark 1.4.3-r1 stable on ia64

  11 Jul 2006; Emanuele Giaquinta <exg@gentoo.org> mit-krb5-1.4.3.ebuild,
  mit-krb5-1.4.3-r1.ebuild, mit-krb5-1.4.3-r2.ebuild:
  tcltk -> tcl

*mit-krb5-1.4.3-r2 (06 Jul 2006)

  06 Jul 2006; Emanuele Giaquinta <exg@gentoo.org>
  +mit-krb5-1.4.3-r2.ebuild:
  Do not override localstatedir, bug #137433. Use always the internal berkdb,
  see bug #137438. Install more docs; tetex use flag is gone, use doc to build
  the developer docs. Install upstream configuration files examples and correct
  krb5.conf for stable ebuild, bug #53520.

  05 Jul 2006; Emanuele Giaquinta <exg@gentoo.org> files/krb5.conf,
  mit-krb5-1.4.3.ebuild, mit-krb5-1.4.3-r1.ebuild:
  Fix build when configure is regenerated using autoconf-2.60 by
  ed@catmur.co.uk, bug #138535. Use ewarn consistenly, bug #137484.

  29 Jun 2006; Seemant Kulleen <seemant@gentoo.org>
  mit-krb5-1.4.3-r1.ebuild:
  stabling on x86 and amd64

  27 Jun 2006; Guy Martin <gmsoft@gentoo.org> mit-krb5-1.4.3-r1.ebuild:
  Stable on hppa.

  25 Jun 2006; Tobias Scherbaum <dertobi123@gentoo.org>
  mit-krb5-1.4.3-r1.ebuild:
  ppc stable, bug #137040

  21 Jun 2006; Gustavo Zacarias <gustavoz@gentoo.org>
  mit-krb5-1.4.3-r1.ebuild:
  Stable on sparc wrt #137040

  18 Jun 2006; Markus Rothe <corsair@gentoo.org> mit-krb5-1.4.3-r1.ebuild:
  Stable on ppc64; bug #137040

  12 Jun 2006; Seemant Kulleen <seemant@gentoo.org>
  mit-krb5-1.4.3-r1.ebuild:
  need to force autoreconf in the telnet directory to force the libtermcap
  patch to have an effect. Thanks to Mark Gilnes in bug #135288

  22 May 2006; Seemant Kulleen <seemant@gentoo.org>
  mit-krb5-1.4.3-r1.ebuild:
  Install the sample conf files as .conf.example files instead, fixing bug
  #115443 by Trev Peterson, with the fix by Axel Dyks

  22 May 2006; Seemant Kulleen <seemant@gentoo.org> mit-krb5-1.4.3.ebuild,
  mit-krb5-1.4.3-r1.ebuild:
  update the dependency list to take into account the tcltk USE flag and tcl
  as a dep. Closes bug #114202 by James Ausmus

  22 May 2006; Seemant Kulleen <seemant@gentoo.org>
  -mit-krb5-1.4.1-r2.ebuild:
  removing cruft versions

  21 May 2006; Seemant Kulleen <seemant@gentoo.org>
  mit-krb5-1.4.1-r2.ebuild, mit-krb5-1.4.3.ebuild, mit-krb5-1.4.3-r1.ebuild:
  Remove old einfo messages, closing bug #108722 by Mikkel Krautz

*mit-krb5-1.4.3-r1 (21 May 2006)

  21 May 2006; Seemant Kulleen <seemant@gentoo.org>
  +files/mit-krb5-pthreads.patch, +files/mit-krb5-robustgnu.patch,
  +files/mit-krb5-setupterm.patch, +mit-krb5-1.4.3-r1.ebuild:
  The setupterm patch fixes bug #124405 by Juergen Rose. The pthreads and
  robusgnu patches were submitted in bug #125966 by Jose daLuz. Sorry for the
  delay on both.  Also, install all the headers -- which was alerted to in
  bug #129657 which is not, unfortunately, fixed yet.

  22 Feb 2006; Simon Stelling <blubb@gentoo.org> mit-krb5-1.4.3.ebuild:
  amd64 stable wrt bug 113741

  20 Feb 2006; Joshua Kinard <kumba@gentoo.org> mit-krb5-1.4.3.ebuild:
  Marked stable on mips.

  18 Feb 2006; Bryan Østergaard <kloeri@gentoo.org mit-krb5-1.4.3.ebuild:
  Stable on alpha + ia64.

  18 Feb 2006; Joshua Jackson <tsunam@gentoo.org> mit-krb5-1.4.3.ebuild:
  Stable on x86; bug #113741

  17 Feb 2006; Joseph Jezak <josejx@gentoo.org> mit-krb5-1.4.3.ebuild:
  Marked ppc stable for bug #113741.

  16 Feb 2006; Rene Nussbaumer <killerfox@gentoo.org> mit-krb5-1.4.3.ebuild:
  Stable on hppa. See bug #113741.

  16 Feb 2006; Markus Rothe <corsair@gentoo.org> mit-krb5-1.4.3.ebuild:
  Stable on ppc64; bug #113741

  16 Feb 2006; Gustavo Zacarias <gustavoz@gentoo.org> mit-krb5-1.4.3.ebuild:
  Stable on sparc wrt security #113741

*mit-krb5-1.4.3 (16 Feb 2006)

  16 Feb 2006; Seemant Kulleen <seemant@gentoo.org> +mit-krb5-1.4.3.ebuild:
  Version bump from upstream, which fixes bug #113741, by Frederik Tolf

  30 Sep 2005; MATSUU Takuto <matsuu@gentoo.org> mit-krb5-1.4.1-r2.ebuild:
  Stable on sh.

  03 Aug 2005; Seemant Kulleen <seemant@gentoo.org>
  -mit-krb5-1.3.6-r3.ebuild, mit-krb5-1.4.1-r2.ebuild:
  remove 1.3.6 again. Also, fix the DEPEND from app-text/tetex to
  virtual/tetex: See bug #101004

  27 Jul 2005; Joel Martin <kanaka@gentoo.org> mit-krb5-1.4.1-r2.ebuild:
  If doc and tetex use flags set, add dep on tetex

*mit-krb5-1.3.6-r3 (13 Jul 2005)

  13 Jul 2005; Seemant Kulleen <seemant@gentoo.org>
  -files/mit-krb5-1.4.1-lazyldflags.patch,
  +files/mit-krb5-lazyldflags.patch, +mit-krb5-1.3.6-r3.ebuild,
  mit-krb5-1.4.1-r2.ebuild:
  restore 1.3.6 at the request of: WGi <wgi@muenster.de> in bug #98303, but
  I'll like to get 1.4.1 solved and working for people

*mit-krb5-1.4.1-r2 (12 Jul 2005)

  12 Jul 2005; Seemant Kulleen <seemant@gentoo.org>
  +mit-krb5-1.4.1-r2.ebuild:
  Flake me. localstatedir is supposed to be /etc, not /var/lib -- and use the
  system db ONLY with berkdb in USE

*mit-krb5-1.4.1-r1 (12 Jul 2005)

  12 Jul 2005; Seemant Kulleen <seemant@gentoo.org>
  -files/mit-krb5-1.3.6-64bit.patch, -files/mit-krb5-1.3.6-gcc4.patch,
  -files/mit-krb5-1.3.6-telnet.patch.bz2, -mit-krb5-1.3.6-r2.ebuild,
  -mit-krb5-1.4.1.ebuild, +mit-krb5-1.4.1-r1.ebuild:
  revision bump straight to stable for all architectures. This fixes two
  security holes, as per bug #98799 by Thierry Carrez <koon@gentoo.org>

  06 Jul 2005; Seemant Kulleen <seemant@gentoo.org>
  -files/mit-krb5-1.4-2005-001.patch, -files/mit-krb5-1.4-lazyldflags.patch,
  -mit-krb5-1.4-r1.ebuild:
  remove cruft version

  02 Jul 2005; Hardave Riar <hardave@gentoo.org> mit-krb5-1.4.1.ebuild:
  Stable on mips, bug #96156.

  28 Jun 2005; Bryan Østergaard <kloeri@gentoo.org> mit-krb5-1.4.1.ebuild:
  Stable on alpha + ia64, bug 96727.

  27 Jun 2005; Michael Hanselmann <hansmi@gentoo.org> mit-krb5-1.4.1.ebuild:
  Stable on hppa.

  27 Jun 2005; Seemant Kulleen <seemant@gentoo.org> mit-krb5-1.4.1.ebuild:
  stable x86 and amd64 because of bug 96727

  26 Jun 2005; Markus Rothe <corsair@gentoo.org> mit-krb5-1.4.1.ebuild:
  Stable on ppc64 (bug #96156)

  24 Jun 2005; Gustavo Zacarias <gustavoz@gentoo.org> mit-krb5-1.4.1.ebuild:
  Added com_err einfo warnings too, stable on sparc wrt #96727

  22 Jun 2005; Michael Hanselmann <hansmi@gentoo.org> mit-krb5-1.4.1.ebuild:
  Stable on ppc (#96727).

*mit-krb5-1.4.1 (21 Jun 2005)

  21 Jun 2005; Seemant Kulleen <seemant@gentoo.org>
  +files/mit-krb5-1.4.1-lazyldflags.patch, +mit-krb5-1.4.1.ebuild:
  version bump, which also fixes the db-4 specific issue. I do not like it,
  for the record, but then the sys-libs/db package has always been a thorn in
  gentoo's side, so what else is new. Fixes bug #95549 by Justin Guyett
  <justin-gentoo@soze.net>.  Will probably not pass make test, but I'm working
  on that.

*mit-krb5-1.4-r1 (07 Jun 2005)

  07 Jun 2005; Seemant Kulleen <seemant@gentoo.org> +mit-krb5-1.4-r1.ebuild:
  fix for bug #95305 by Rouslan Solomakhin <solomarv@clarkson.edu> -- no more
  file collisions with ftp and telnet packages

  06 Jun 2005; Seemant Kulleen <seemant@gentoo.org> mit-krb5-1.4.ebuild:
  ok, this is now usable

  03 Jun 2005; Mark Loeser <halcy0n@gentoo.org>
  +files/mit-krb5-1.3.6-gcc4.patch, mit-krb5-1.3.6-r2.ebuild:
  Adding GCC4 patch, thanks to wuno@lsvw.de

  08 Apr 2005; Seemant Kulleen <seemant@gentoo.org> mit-krb5-1.4.ebuild:
  OK, so the scheme is settled -- includes in /usr/include/kerberos/mit, libs
  in /usr/$(get_libdir)/kerberos/mit.  You may install this if you wish, but
  you'll need to generate a whole bunch of symlinks to get it to work.  The
  kerberos-update script is on its way, but it'll take a few days probably.

  08 Apr 2005; Seemant Kulleen <seemant@gentoo.org> mit-krb5-1.4.ebuild:
  should now install into completely non-clobbering locations. Warning: please
  do NOT install this YET (still). kerberos-update and heimdal need to be
  fixed up first

*mit-krb5-1.4 (07 Apr 2005)

  07 Apr 2005; Seemant Kulleen <seemant@gentoo.org>
  -files/mit-krb5-1.3.1-res_search.patch.bz2,
  -files/mit-krb5-1.3.3-aname.patch.bz2,
  -files/mit-krb5-1.3.3-autoheader.patch.bz2,
  -files/mit-krb5-1.3.3-res_search.patch.bz2,
  -files/mit-krb5-1.3.4-autoheader.patch.bz2,
  -files/mit-krb5-1.3.4-res_search.patch.bz2,
  -files/mit-krb5-1.3.4-tempfile.patch.bz2,
  -files/mit-krb5-1.3.5-autoheader.patch.bz2,
  -files/mit-krb5-1.3.5-res_search.patch.bz2,
  -files/mit-krb5-1.3.5-suid_fix.patch.bz2,
  +files/mit-krb5-1.4-2005-001.patch, -files/2004-002-patch_1.3.4.txt,
  -files/2004-003-patch_1.3.4.txt, +mit-krb5-1.4.ebuild:
  version bump. This is HARDMASKED because the ebuild is still a work in
  progress. Please do NOT emerge this, unless you read my blog (I will give
  clearance in my blog for emerging this when the time arrives -- that time is
  certainly not now. Back away and forget you saw this.

  07 Apr 2005; <plasmaroo@gentoo.org> mit-krb5-1.3.6-r2.ebuild:
  Mark stable on IA64; #87145.

  07 Apr 2005; Seemant Kulleen <seemant@gentoo.org> -mit-krb5-1.3.1.ebuild,
  -mit-krb5-1.3.1-r1.ebuild, -mit-krb5-1.3.3.ebuild,
  -mit-krb5-1.3.3-r1.ebuild, -mit-krb5-1.3.4.ebuild,
  -mit-krb5-1.3.4-r1.ebuild, -mit-krb5-1.3.5.ebuild,
  -mit-krb5-1.3.5-r1.ebuild, -mit-krb5-1.3.6.ebuild:
  took out crufty versions -- -r1 needs also to disappear, people

  06 Apr 2005; Bryan Østergaard <kloeri@gentoo.org>
  mit-krb5-1.3.6-r2.ebuild:
  Stable on alpha, bug 87145.

  05 Apr 2005; Jan Brinkmann <luckyduck@gentoo.org> mit-krb5-1.3.6-r2.ebuild:
  stable on amd64 wrt #87145

  05 Apr 2005; Hardave Riar <hardave@gentoo.org> mit-krb5-1.3.6-r2.ebuild:
  Stable on mips, bug #87145.

  05 Apr 2005; Markus Rothe <corsair@gentoo.org> mit-krb5-1.3.6-r2.ebuild:
  Stable on ppc64; bug #87145

  04 Apr 2005; Gustavo Zacarias <gustavoz@gentoo.org>
  mit-krb5-1.3.6-r2.ebuild:
  Stable on sparc wrt #87145

  04 Apr 2005; Michael Hanselmann <hansmi@gentoo.org>
  mit-krb5-1.3.6-r2.ebuild:
  Stable on ppc.

*mit-krb5-1.3.6-r2 (04 Apr 2005)

  04 Apr 2005; <rphillips@gentoo.org> +files/mit-krb5-1.3.6-telnet.patch.bz2,
  +mit-krb5-1.3.6-r2.ebuild:
  Added telnet security patch which fixes #87145

  22 Feb 2005; <SeJo@gentoo.org> mit-krb5-1.3.6-r1.ebuild:
  stable on ppc

  22 Feb 2005; Hardave Riar <hardave@gentoo.org> mit-krb5-1.3.6-r1.ebuild:
  Stable on mips.

  18 Jan 2005; Bryan Østergaard <kloeri@gentoo.org>
  mit-krb5-1.3.6-r1.ebuild:
  Stable on alpha.

  05 Jan 2005; Gustavo Zacarias <gustavoz@gentoo.org>
  mit-krb5-1.3.6-r1.ebuild:
  Stable on sparc for consistency

  04 Jan 2005; Olivier Crête <tester@gentoo.org> mit-krb5-1.3.6-r1.ebuild:
  Stable on x86 wrt security bug #75143

  01 Jan 2005; Simon Stelling <blubb@gentoo.org>
  +files/mit-krb5-1.3.6-64bit.patch, -files/mit-krb5-1.3.6-ppc64.patch,
  mit-krb5-1.3.6-r1.ebuild:
  stable on amd64; bug #75143

*mit-krb5-1.3.6-r1 (31 Dec 2004)

  31 Dec 2004; Markus Rothe <corsair@gentoo.org> +mit-krb5-1.3.6-r1.ebuild,
  mit-krb5-1.3.6.ebuild:
  implemented Koon's suggestions from bug #75143

  30 Dec 2004; Bryan Østergaard <kloeri@gentoo.org> mit-krb5-1.3.6.ebuild:
  Stable on alpha, bug 75143.

  30 Dec 2004; Markus Rothe <corsair@gentoo.org>
  +files/mit-krb5-1.3.6-ppc64.patch, mit-krb5-1.3.6.ebuild:
  Added patch for ppc64 and marked stable

  29 Dec 2004; Hardave Riar <hardave@gentoo.org> mit-krb5-1.3.6.ebuild:
  Stable on mips, bug #75143

  29 Dec 2004; Gustavo Zacarias <gustavoz@gentoo.org> mit-krb5-1.3.6.ebuild:
  Stable on sparc wrt #75143

*mit-krb5-1.3.6 (28 Dec 2004)

  28 Dec 2004; <rphillips@gentoo.org> mit-krb5-1.3.6.ebuild:
  Version bump to 1.3.6 to fix a security flaw.  Bug #75143

  25 Oct 2004; Kurt Lieber <klieber@gentoo.org> mit-krb5-1.3.4-r1.ebuild:
  x86 bumpage, #66359

  20 Oct 2004; Guy Martin <gmsoft@gentoo.org> mit-krb5-1.3.4-r1.ebuild:
  Stable on hppa.

  18 Oct 2004; Tom Gall <tgall@gentoo.org> mit-krb5-1.3.4-r1.ebuild:
  stable on ppc64, bug #66359

  17 Oct 2004; Akinori Hattori <hattya@gentoo.org> mit-krb5-1.3.4-r1.ebuild:
  stable on ia64, bug #66359

  16 Oct 2004; Hardave Riar <hardave@gentoo.org> mit-krb5-1.3.4-r1.ebuild:
  Stable on mips, bug #66359

  16 Oct 2004; Danny van Dyk <kugelfang@gentoo.org>
  mit-krb5-1.3.4-r1.ebuild:
  Marked stable on amd64.

  15 Oct 2004; Jason Wever <weeve@gentoo.org> mit-krb5-1.3.4-r1.ebuild:
  Stable on sparc wrt security bug #66359.

  15 Oct 2004; Bryan Østergaard <kloeri@gentoo.org> mit-krb5-1.3.4-r1.ebuild:
  Stable on alpha, bug 66359.

  15 Oct 2004; <SeJo@gentoo.org> mit-krb5-1.3.4-r1.ebuild:
  stable on ppc gsla: 66359

*mit-krb5-1.3.5-r1 (14 Oct 2004)

  14 Oct 2004; <rphillips@gentoo.org> mit-krb5-1.3.4-r1.ebuild,
  mit-krb5-1.3.5-r1.ebuild, files/mit-krb5-1.3.4-tempfile.patch.bz2:
  Added tempfile patch to fix GLSA and bug #66539

  09 Oct 2004; Tom Gall <tgall@gentoo.org> mit-krb5-1.3.4.ebuild:
  stable on ppc64, bug #62417

*mit-krb5-1.3.5 (14 Sep 2004)

  14 Sep 2004; Daniel Ahlberg <aliz@gentoo.org> mit-krb5-1.3.1-r1.ebuild,
  mit-krb5-1.3.1.ebuild, mit-krb5-1.3.3-r1.ebuild, mit-krb5-1.3.3.ebuild,
  mit-krb5-1.3.4.ebuild, mit-krb5-1.3.5.ebuild,
  files/mit-krb5-1.3.1-res_search.patch,
  files/mit-krb5-1.3.1-res_search.patch.bz2, files/mit-krb5-1.3.3-aname.patch,
  files/mit-krb5-1.3.3-aname.patch.bz2, files/mit-krb5-1.3.3-autoheader.patch,
  files/mit-krb5-1.3.3-autoheader.patch.bz2,
  files/mit-krb5-1.3.3-res_search.patch,
  files/mit-krb5-1.3.3-res_search.patch.bz2,
  files/mit-krb5-1.3.4-autoheader.patch,
  files/mit-krb5-1.3.4-autoheader.patch.bz2,
  files/mit-krb5-1.3.4-res_search.patch,
  files/mit-krb5-1.3.4-res_search.patch.bz2,
  files/mit-krb5-1.3.5-autoheader.patch.bz2,
  files/mit-krb5-1.3.5-res_search.patch.bz2,
  files/mit-krb5-1.3.5-suid_fix.patch.bz2:
  +Version bump.
  +Fixed insecure suid binary.
  +Compressed patches.

  05 Sep 2004; Daniel Ahlberg <aliz@gentoo.org> mit-krb5-1.3.4.ebuild:
  Stable on x86.

  02 Sep 2004; Hardave Riar <hardave@gentoo.org> mit-krb5-1.3.4.ebuild:
  Stable on mips. Bug #62417

  02 Sep 2004; Bryan Østergaard <kloeri@gentoo.org> mit-krb5-1.3.4.ebuild:
  Stable on alpha, bug 62417.

  01 Sep 2004; <SeJo@gentoo.org> mit-krb5-1.3.4.ebuild:
  marked stable on ppc

  01 Sep 2004; Gustavo Zacarias <gustavoz@gentoo.org> mit-krb5-1.3.4.ebuild:
  Stable on sparc wrt #62417

  01 Sep 2004; Travis Tilley <lv@gentoo.org> mit-krb5-1.3.4.ebuild:
  stable on amd64

*mit-krb5-1.3.4 (01 Sep 2004)

  01 Sep 2004; Daniel Ahlberg <aliz@gentoo.org> mit-krb5-1.3.4.ebuild,
  files/2004-002-patch_1.3.4.txt, files/2004-003-patch_1.3.4.txt:
  Version bump with two security related patched added.

  20 Jul 2004; <rphillips@gentoo.org> files/mit-krb5-1.3.3-autoheader.patch:
  updated autoheader patch.  Fixes #57185. Contributed by Axel Buttchereit

  16 Jul 2004; <rphillips@gentoo.org> files/mit-krb5-1.3.3-autoheader.patch:
  added Tuan's patch to the autoheader patch

  15 Jul 2004; Daniel Ahlberg <aliz@gentoo.org> metadata.xml,
  mit-krb5-1.3.3-r1.ebuild, files/mit-krb5-1.3.3-autoheader.patch:
  Fixed autohead args, closing #44799.
  Updated description.

  13 Jul 2004; Tom Gall <tgall@gentoo.org> mit-krb5-1.3.1-r1.ebuild,
  mit-krb5-1.3.3-r1.ebuild:
  stable on ppc64

  28 Jun 2004; Luca Barbato <lu_zero@gentoo.org> mit-krb5-1.3.3-r1.ebuild:
  Marked ppc

  27 Jun 2004; Jeremy Huddleston <eradicator@gentoo.org>
  mit-krb5-1.3.3-r1.ebuild:
  Stable amd64.

  27 Jun 2004; Jon Hood <squinky86@gentoo.org> mit-krb5-1.3.3-r1.ebuild:
  stable on x86

  25 Jun 2004; Joshua Kinard <kumba@gentoo.org> mit-krb5-1.3.3-r1.ebuild:
  Marked stable on mips.

  18 Jun 2004; Guy Martin <gmsoft@gentoo.org> mit-krb5-1.3.3-r1.ebuild:
  Marked stable on hppa.

  17 Jun 2004; Jason Wever <weeve@gentoo.org> mit-krb5-1.3.3-r1.ebuild:
  Marked stable on sparc wrt bug #52744.

  17 Jun 2004; Bryan Østergaard <kloeri@gentoo.org> mit-krb5-1.3.3-r1.ebuild:
  Stable on alpha, see bug #52744.

*mit-krb5-1.3.3-r1 (15 Jun 2004)

  15 Jun 2004; Jon Hood <squinky86@gentoo.org>
  +files/mit-krb5-1.3.3-aname.patch, +mit-krb5-1.3.3-r1.ebuild:
  fix krb5_aname_to_localname buffer overflow irt #52744

  12 Jun 2004; Tom Gall <tgall@gentoo.org> mit-krb5-1.3.3.ebuild:
  ppc64 stable, bug #53766

  12 May 2004; Michael McCabe <randy@gentoo.org> mit-krb5-1.3.1.ebuild,
  mit-krb5-1.3.3.ebuild:
  added s390 keywords

*mit-krb5-1.3.3 (10 May 2004)

  10 May 2004; Daniel Ahlberg <aliz@gentoo.org> mit-krb5-1.3.3.ebuild:
  Version bump, closing #49598. Also springcleaning.

*mit-krb5-1.3.1-r1 (10 May 2004)

  10 May 2004; Daniel Ahlberg <aliz@gentoo.org> mit-krb5-1.3.1-r1.ebuild:
  Version bump to block virtual/krb5.

  20 Apr 2004; Daniel Black <dragonheart@gentoo.org> mit-krb5-1.3.1.ebuild:
  QA - removed runtime dependance on autoconf

  23 Mar 2004; Joshua Kinard <kumba@gentoo.org> mit-krb5-1.3.1.ebuild:
  Marked stable on mips.

  27 Feb 2004; Joshua Kinard <kumba@gentoo.org> mit-krb5-1.3.1.ebuild:
  Added ~mips to KEYWORDS to satisfy repoman deps.

  21 Feb 2004; Daniel Ahlberg <aliz@gentoo.org> mit-krb5-1.3.1.ebuild,
  files/mit-krb5-1.3.1-res_search.patch:
  Fix res_search search in configure

  19 Feb 2004; Ryan Phillips <rphillips@gentoo.org> mit-krb5-1.3.1.ebuild:
  marked stable 1.3.1. Fixes #40982

  08 Nov 2003; Todd Sunderlin <todd@gentoo.org> mit-krb5-1.2.7.ebuild:
  added sparc keyword

*mit-krb5-1.3.1 (17 Sep 2003)

  17 Sep 2003; Daniel Ahlberg <aliz@gentoo.org> mit-krb5-1.3.1.ebuild:
  Version bump. Ebuild contributed by Marcin Wisnicki <wisnia21@freeshell.org>
  in #26746

  26 Jun 2003; Bartosch Pixa <darkspecter@gentoo.org> mit-krb5-1.2.8.ebuild:
  set ppc in keywords

  19 Jun 2003; Will Woods <wwoods@gentoo.org> mit-krb5-1.2.8.ebuild:
  Marked stable for alpha

*mit-krb5-1.3_alpha1 (17 Jun 2003)

  17 Jun 2003; Donny Davies <woodchip@gentoo.org> mit-krb5-1.3_alpha1.ebuild:
  Add new 1.3.x series.  This is in package.mask for a while.  Hey it builds
  with gcc-3.3 even!

*mit-krb5-1.2.8 (6 Jun 2003)

  14 Jun 2003; Guy Martin <gmsoft@gentoo.org> mit-krb5-1.2.8.ebuild :
  Added a fix for hppa. It needs to link with gcc and not with ld.
  Added hppa to KEYWORDS.

  7 Jun 2003; Ryan Phillips <rphillips@gentoo.org> mit-krb5-1.2.6-r3.ebuild :
  Initd script split, merge mit packages into one mit-krb5 ebuild,
  support for static build with USE="static", have html docs installed, pass
  $CFLAGS and $CXXFLAGS to configure, remove the unnecessary 1.2.2 patch.

*mit-krb5-1.2.7 (30 Mar 2003)

  20 Apr 2003; Joshua Brindle <method@gentoo.org> mit-krb5-1.2.6-r2.ebuild,
  mit-krb5-1.2.6-r3.ebuild, mit-krb5-1.2.7.ebuild:
  added --with-ccopts= so it won't disregard user CFLAGS

  30 Mar 2003; Daniel Ahlberg <aliz@gentoo.org> mit-krb5-1.2.7.ebuid :
  Security update. Various patches from MIT applied.

*mit-krb5-1.2.6-r3 (22 Apr 2003)

  29 Jun 2003; Daniel Ahlberg <aliz@gentoo.org> :
  Added missing changelog entry.

*mit-krb5-1.2.6-r2 (07 Dec 2002)

  30 Dec 2002; Ryan Phillips <rphillips@gentoo.org> mit-krb5-1.2.6-r3 :
  Added Martti Rannajarvi's fixes. Fixes #3480

  07 Dec 2002; Dave Love <dlove@cashmeresoftware.com>,
  Martti Rannanjärvi <grypt@kapsi.net>:

  Optional kerberos4 support by krb4 USE flag, default configuration
  files and an init.d script. --localstatedir to /etc.

*krb5-1.2.6-r1 (06 Dec 2002)

  06 Dec 2002; Matt Keadle <mkeadle@gentoo.org> krb5-1.2.6-r1.ebuild
  files/digest-krb5-1.2.6-r1 files/krb5-1.2.6-r1.diff

  Now provides virtual/krb5. Client utils are also installed now with
  a leading "k" to signify their kerberos use and not to overlap the
  standard tool. IE: /usr/bin/ftp is the standard ftp client, while
  /usr/bin/kftp is the kerbized client. This resolves bug #8669.

*krb5-1.2.6 (28 Oct 2002)

  28 Oct 2002; Daniel Ahlberg <aliz@gentoo.org> :
  Security update.

*krb5-1.2.5-r2 (02 aug 2002)

  02 Aug 2002; Daniel Ahlberg <aliz@gentoo.org> krb5-1.2.5-r2.ebuild :

  Security update, compile fix and updated homepage URL.

*krb5-1.2.5-r1 (22 Jun 2002)

  22 Jun 2002; William McArthur <sandymac@gentoo.org> :

  Changed --localstatedir from /var/krb5kdc to /var because the /krb5kdc is
  automatically appended.

*krb5-1.2.3 (21 Feb 2002)

  21 Feb 2002; Grant Goodyear <g2boojum@gentoo.org> :

  Updated to 1.2.3.

*krb5-1.2.2-r1 (21 Feb 2002)

  21 Feb 2002; Grant Goodyear <g2boojum@gentoo.org> :

  Thanks to Michael Kaufman, we now have a working ebuild.  Previous ebuild
  failed to build klist, kvno, kpasswd, kinit, and kdestroy.  There was
  also a linker problem which has been fixed.

*krb5-1.2.2 (1 Feb 2002)

  1 Feb 2002; G.Bevin <gbevin@gentoo.org> ChangeLog :

  Added initial ChangeLog which should be updated whenever the package is
  updated in any way. This changelog is targetted to users. This means that the
  comments should well explained and written in clean English. The details about
  writing correct changelogs are explained in the skel.ChangeLog file which you
  can find in the root directory of the portage repository.
