Memory leak in save_error_string_nocopy()
[krb5.git] / README
diff --git a/README b/README
index e161fcd70cd4b78ae2bedbc666c049e91c396ed0..920b7d47fb566d10aa55da52859746922ed3f431 100644 (file)
--- a/README
+++ b/README
@@ -1,41 +1,24 @@
-                  Kerberos Version 5, Release 1.3
+                   Kerberos Version 5, Release 1.8
 
-                           Release Notes
-                       The MIT Kerberos Team
+                            Release Notes
+                        The MIT Kerberos Team
 
-Unpacking the Source Distribution
----------------------------------
+Copyright and Other Notices
+---------------------------
 
-The source distribution of Kerberos 5 comes in three gzipped tarfiles,
-krb5-1.3.src.tar.gz, krb5-1.3.doc.tar.gz, and krb5-1.3.crypto.tar.gz.
-The krb5-1.3.doc.tar.gz contains the doc/ directory and this README
-file.  The krb5-1.3.src.tar.gz contains the src/ directory and this
-README file, except for the crypto library sources, which are in
-krb5-1.3.crypto.tar.gz.
+Copyright (C) 1985-2011 by the Massachusetts Institute of Technology
+and its contributors.  All rights reserved.
 
-Instruction on how to extract the entire distribution follow.  These
-directions assume that you want to extract into a directory called
-DIST.
+Please see the file named NOTICE for additional notices.
 
-If you have the GNU tar program and gzip installed, you can simply do:
+MIT Kerberos is a project of the MIT Kerberos Consortium.  For more
+information about the Kerberos Consortium, see http://kerberos.org/
 
-       mkdir DIST
-       cd DIST
-       gtar zxpf krb5-1.3.src.tar.gz
-       gtar zxpf krb5-1.3.crypto.tar.gz
-       gtar zxpf krb5-1.3.doc.tar.gz
+For more information about the MIT Kerberos software, see
+    http://web.mit.edu/kerberos/
 
-If you don't have GNU tar, you will need to get the FSF gzip
-distribution and use gzcat:
-
-       mkdir DIST
-       cd DIST
-       gzcat krb5-1.3.src.tar.gz | tar xpf -
-       gzcat krb5-1.3.crypto.tar.gz | tar xpf -
-       gzcat krb5-1.3.doc.tar.gz | tar xpf -
-
-Both of these methods will extract the sources into DIST/krb5-1.3/src
-and the documentation into DIST/krb5-1.3/doc.
+People interested in participating in the MIT Kerberos development
+effort should visit http://k5wiki.kerberos.org/
 
 Building and Installing Kerberos 5
 ----------------------------------
@@ -68,437 +51,522 @@ If you are not able to use krb5-send-pr because you haven't been able
 compile and install Kerberos V5 on any platform, you may send mail to
 krb5-bugs@mit.edu.
 
+Please keep in mind that unencrypted e-mail is not secure. If you need
+to report a security vulnerability, or send sensitive information,
+please PGP-encrypt it to krbcore-security@mit.edu.
+
 You may view bug reports by visiting
 
-http://krbdev.mit.edu/rt/
+    http://krbdev.mit.edu/rt/
 
 and logging in as "guest" with password "guest".
 
-Notes, Major Changes, and Known Bugs for 1.3
---------------------------------------------
-
-* We now install the compile_et program, so other packages can use the
-  installed com_err library with their own error tables.  (If you use
-  our com_err code, that is; see below.)
-
-* The header files we install now assume ANSI/ISO C ('89, not '99).
-  We have stopped testing on SunOS 4, even with gcc.  Some of our code
-  now has C89-based assumptions, like free(NULL) being well defined,
-  that will probably frustrate any attempts to run this code under SunOS
-  4 or other pre-C89 systems.
-
-* Some new code, bug fixes, and cleanup for IPv6 support.  [[TODO:
-  Insert list of (non-)supporting programs and libraries here.]]
-
-* We have upgraded to autoconf 2.52 (or later), and the syntax for
-  specifying certain configuration options have changed.  For example,
-  autoconf 2.52 configure scripts let you specify command-line options
-  like "configure CC=/some/path/foo-cc", so we have removed some of
-  our old options like --with-cc in favor of this approach.
-
-* The client libraries can now use TCP to connect to the KDC.  This
-  may be necessary when talking to Microsoft KDCs (domain controllers),
-  if they issue you tickets with lots of PAC data.
-
-* If you have versions of the com_err, ss, or Berkeley DB packages
-  installed locally, you can use the --with-system-et,
-  --with-system-ss, and --with-system-db configure options to use them
-  rather than using the versions supplied here.  Note that the
-  interfaces are assumed to be similar to those we supply; in
-  particular, some older, divergent versions of the com_err library
-  may not work with the krb5 sources.  Many configure-time variables
-  can be used to help the compiler and linker find the installed
-  packages; see the build documentation for details.
-
-Major changes listed by ticket ID
----------------------------------
-
-* [492] PRNG breakage on 64-bit platforms no longer an issue due to
-  new PRNG implementation.
-
-* [523] Client library is now compatible with the RC4-based
-  cryptosystem used by Windows 2000.
-
-* [709] krb4 long lifetime support has been implemented.
-
-* [880] krb5_gss_register_acceptor_identity() implemented (is called
-  gsskrb5_register_acceptor_identity() by Heimdal).
-
-* [1156, 1209] It is now possible to use the system com_err to build
-  this release.
-
-* [1174] TCP support added to client library.
-
-* [1175] TCP support added to the KDC, but is disabled by default.
-
-* [1176] autoconf-2.5x is now required by the build system.
-
-* [1184] It is now possible to use the system Berkeley/Sleepycat DB
-  library to build this release.
-
-* [1189, 1251] The KfM krb4 library source base has been merged.
-
-Minor changes listed by ticket ID
----------------------------------
-
-* [90] default_principal_flags documented.
-
-* [175] Docs refer to appropriate example domains/IPs now.
-
-* [433] --includedir honored now.
-
-* [479] unused argument in try_krb4() in login.c deleted.
-
-* [608] login.krb5 handles SIGHUP more sanely now and thus avoids
-  getting the session into a weird state w.r.t. job control.
-
-* [620] krb4 encrypted rcp should work a little better now.  Thanks to
-  Greg Hudson.
-
-* [673] Weird echoing of admin password in kadmin client worked around
-  by not using buffered stdio calls to read passwords.
-
-* [677] The build system has been reworked to allow the user to set
-  CFLAGS, LDFLAGS, CPPFLAGS, etc. reasonably.
-
-* [680] Related to [673], rewrite krb5_prompter_posix() to no longer
-  use longjmp(), thus avoiding some bugs relating to non-restoration
-  of terminal settings.
-
-* [697] login.krb5 no longer zeroes out the terminal window size.
-
-* [710] decomp_ticket() in libkrb4 now looks up the local realm name
-  more correctly.  Thanks to Booker Bense.
-
-* [771] .rconf files are excluded from the release now.
-
-* [850] Berekely DB build is better integrated into the krb5 library
-  build process.
-
-* [866] lib/krb5/os/localaddr.c and kdc/network.c use a common source
-  for local address enumeration now.
-
-* [919] kdc/network.c problems relating to SIOCGIFCONF have been
-  fixed.
-
-* [922] An overflow in the string-to-time conversion routines has been
-  fixed.
-
-* [935] des-cbc-md4 now included in default enctypes.
-
-* [953] des3 no longer failing on Windows due to SHA1 implementation
-  problems.
-
-* [971] option parsing bugs rendered irrelevant by removal of unused
-  gss mechanism.
-
-* [986] Related to [677], problems with the ordering of LDFLAGS
-  initialization rendered irrelevant by use of native autoconf
-  idioms.
-
-* [992] Related to [677], quirks with --with-cc no longer relevant as
-  AC_PROG_CC is used instead now.
-
-* [999] kdc_default_options now honored in gss context initialization.
-
-* [1006] Client library, as well as KDC, now perform reasonable
-  sorting of ETYPE-INFO preauthentication data.
-
-* [1055] NULL pointer dereferences in code calling
-  krb5_change_password() have been fixed.
-
-* [1063] Initial credentials acquisition failures related to client
-  host having a large number of local network interfaces should be
-  fixed now.
-
-* [1065, 1225] krb5_get_init_creds_password() should properly warn about
-  password expiration.
-
-* [1066] printf() argument mismatches in rpc unit tests fixed.
-
-* [1087] ftpd no longer requires channel bindings, allowing easier use
-  of ftp from behind a NAT.
-
-* [1102] gssapi_generic.h should now work with C++.
-
-* [1164] krb5_auth_con_gen_addrs() now properly returns errno instead
-  of -1 if getpeername() fails.
-
-* [1178, 1228, 1244, 1246, 1249] Test suite has been stabilized
-  somewhat.
-
-* [1188] As part of the modernization of our usage of autoconf,
-  AC_CONFIG_FILES is now used instead of passing a list of files to
-  AC_OUTPUT.
-
-* [1194] configure will no longer recurse out of the top of the source
-  tree when attempting to locate the top of the source tree.
-
-* [1195] Example krb5.conf file modified to include all enctypes
-  supported by the release.
-
-* [1211] The ASN.1 code no longer passes (harmless) uninitialized
-  values around.
-
-* [1212] libkadm5 now allows for persistent exclusive database locks.
-
-* [1217] krb5_read_password() and des_read_password() are now
-  implemented via krb5_prompter_posix().
-
-* [1224] For SAM challenges, omitted optional strings are no longer
-  encoded as zero-length strings.
-
-* [1226] Client-side support for SAM hardware-based preauth
-  implemented.
-
-* [1232] If the master KDC cannot be resolved, but a slave is
-  reachable, the client library now returns the real error from the
-  slave rather than the resolution failure from the master.  Thanks to
-  Ben Cox.
-
-* [1234] Assigned numbers for SAM preauth have been corrected.
-  sam-pk-for-sad implementation has been aligned.
-
-* [1237] Profile-sharing optimizations from KfM have been merged.
-
-* [1240] Windows calling conventions for krb5int_c_combine_keys() have
-  been aligned.
-
-* [1256] Incorrect sizes passed to memset() in combine_keys()
-  operations have been corrected.
-
-* [1260] Client credential lookup now gets new service tickets in
-  preference to attempting to use expired ticketes.  Thanks to Ben
-  Cox.
-
-* [1284] kshd accepts connections by IPv6 now.
-
-* [1292] kvno manpage title fixed.
-
-* [1293] Source files no longer explicitly attempt to declare errno.
-
-* [1304] kadmind4 no longer leaves sa_flags uninitialized.
-
-* [1309] krb5_send_tgs() no longer leaks the storage associated with
-  the TGS-REQ.
-
-* [1310] kadm5_get_either() no longer leaks regexp library memory.
-
-* [1311] Output from krb5-config no longer contains spurious uses of
-  $(PURE).
-
-* [1346] gss_krb5_ccache_name() no longer attempts to return a pointer
-  to freed memory.
-
-* [1356] krb5_gss_accept_sec_context() no longer attempts to validate
-  a null credential if one is passed in.
-
-* [1357] krb__get_srvtab_name() no longer leaks memory.
-
-* [1373] Handling of SAM preauth no longer attempts to stuff a size_t
-  into an unsigned int.
-
-[ DELETE BEFORE RELEASE ---changes to unreleased code, etc.--- ]
-
-* [1054] KRB-CRED messages for RC4 are encrypted now.
-
-* [1177] krb5-1-2-2-branch merged onto trunk.
-
-* [1193] Punted comment about reworking key storage architecture.
-
-* [1208] install-headers target implemented.
-
-* [1223] asn1_decode_oid, asn1_encode_oid implemented
-
-* [1276] Generated dependencies handle --without-krb4 properly now.
-
-Copyright Notice and Legal Administrivia
-----------------------------------------
-
-Copyright (C) 1985-2003 by the Massachusetts Institute of Technology.
-
-All rights reserved.
-
-Export of this software from the United States of America may require
-a specific license from the United States Government.  It is the
-responsibility of any person or organization contemplating export to
-obtain such a license before exporting.
-
-WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
-distribute this software and its documentation for any purpose and
-without fee is hereby granted, provided that the above copyright
-notice appear in all copies and that both that copyright notice and
-this permission notice appear in supporting documentation, and that
-the name of M.I.T. not be used in advertising or publicity pertaining
-to distribution of the software without specific, written prior
-permission.  Furthermore if you modify this software you must label
-your software as modified software and not distribute it in such a
-fashion that it might be confused with the original MIT software.
-M.I.T. makes no representations about the suitability of this software
-for any purpose.  It is provided "as is" without express or implied
-warranty.
-
-THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
-WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-Individual source code files are copyright MIT, Cygnus Support,
-OpenVision, Oracle, Sun Soft, FundsXpress, and others.
-
-Project Athena, Athena, Athena MUSE, Discuss, Hesiod, Kerberos, Moira,
-and Zephyr are trademarks of the Massachusetts Institute of Technology
-(MIT).  No commercial use of these trademarks may be made without
-prior written permission of MIT.
-
-"Commercial use" means use of a name in a product or other for-profit
-manner.  It does NOT prevent a commercial firm from referring to the
-MIT trademarks in order to convey information (although in doing so,
-recognition of their trademark status should be given).
-
-----
-
-The following copyright and permission notice applies to the
-OpenVision Kerberos Administration system located in kadmin/create,
-kadmin/dbutil, kadmin/passwd, kadmin/server, lib/kadm5, and portions
-of lib/rpc:
-
-   Copyright, OpenVision Technologies, Inc., 1996, All Rights Reserved
+DES transition
+--------------
 
-   WARNING: Retrieving the OpenVision Kerberos Administration system 
-   source code, as described below, indicates your acceptance of the 
-   following terms.  If you do not agree to the following terms, do not 
-   retrieve the OpenVision Kerberos administration system.
+The krb5-1.8 release disables single-DES cryptosystems by default.  As
+a result, you may need to add the libdefaults setting
+"allow_weak_crypto = true" to communicate with existing Kerberos
+infrastructures if they do not support stronger ciphers.
+
+The Data Encryption Standard (DES) is widely recognized as weak.  The
+krb5-1.7 release contains measures to encourage sites to migrate away
+from using single-DES cryptosystems.  Among these is a configuration
+variable that enables "weak" enctypes, which now defaults to "false"
+beginning with krb5-1.8.  The krb5-1.8 release includes additional
+measures to ease the transition away from single-DES.  These
+additional measures include:
+
+* enctype config enhancements (so you can do "DEFAULT +des", etc.)
+* new API to allow applications (e.g. AFS) to explicitly reenable weak
+  crypto
+* easier kadmin history key changes
+
+Major changes in 1.8.4
+----------------------
+
+This is primarily a bugfix release.
+
+* Fix vulnerabilities:
+  ** KDC uninitialized pointer crash [MITKRB5-SA-2010-006 CVE-2010-1322]
+  ** kpropd denial of service [MITKRB5-SA-2011-001 CVE-2010-4022]
+  ** KDC denial of service attacks [MITKRB5-SA-2011-002
+     CVE-2011-0281 CVE-2011-0282 CVE-2011-0283]
+  ** KDC double-free when PKINIT enabled [MITKRB5-SA-2011-003
+     CVE-2011-0284]
+  ** kadmind frees invalid pointer [MITKRB5-SA-2011-004 CVE-2011-0285]
+
+* Interoperability:
+
+  ** Correctly encrypt GSSAPI forwarded credentials using the session
+     key, not a subkey.
+
+  ** Set NT-SRV-INST on TGS principal names as expected by some
+     Windows Server Domain Controllers.
+
+  ** Don't reject AP-REQ messages if their PAC doesn't validate;
+     suppress the PAC instead.
+
+  ** Correctly validate HMAC-MD5 checksums that use DES keys
+
+krb5-1.8.4 changes by ticket ID
+-------------------------------
+
+6701    syntax error in src/plugins/kdb/ldap/libkdb_ldap/kerberos.ldif
+6764    has_mandatory_for_kdc_authdata checks only first authdata element
+6768    GSSAPI forwarded credentials must be encrypted in session key
+6790    skip invalid enctypes instead of erroring out in
+        krb5_dbe_def_search_enctype
+6797    CVE-2010-1322 KDC uninitialized pointer crash in authorization
+        data handling (MITKRB5-SA-2010-006)
+6798    set NT-SRV-INST on TGS principal names
+6833    SA-2010-007 Checksum vulnerabilities (CVE-2010-1324 and others)
+6843    handle MS PACs that lack server checksum
+6853    Make gss_krb5_set_allowable_enctypes work for the acceptor (1.8 pullup)
+6861    kpropd denial of service [MITKRB5-SA-2011-001 CVE-2010-4022]
+6862    KDC denial of service attacks [MITKRB5-SA-2011-002
+        CVE-2011-0281 CVE-2011-0282]
+6876    hmac-md5 checksum doesn't work with DES keys
+6877    Don't reject AP-REQs based on PACs
+6882    KDC double-free when PKINIT enabled [MITKRB5-SA-2011-003 CVE-2011-0284]
+6900    kadmind frees invalid pointer [MITKRB5-SA-2011-004 CVE-2011-0285]
+
+Major changes in 1.8.3
+----------------------
+
+* Behavior Change:
+
+    GSS-API context expiration -- the gss_wrap and gss_unwrap
+    functions no longer check for ticket expiration.  Applications
+    wishing to enforce ticket lifetimes should check using the
+    gss_inquire_context function.  The previous behavior of checking
+    for ticket expiration produced results that were not expected by
+    application developers, and could lead to poor user experience.
+
+* Fix an interoperability issue when the Microsoft HMAC-MD5 checksum
+  type was used with non-RC4 keys.
+
+* Fix an interoperability issue with ephemeral Diffie-Hellman key
+  exchange in PKINIT that would happen for less than 1% of
+  transactions.
+
+krb5-1.8.3 changes by ticket ID
+-------------------------------
+
+6345    no kdb5_util stash equivalent with LDAP database
+6738    PKINIT DH exchange occasionally produces mismatch
+6739    Behavior change: gssapi context expiration
+6740    kadmin ktadd may display wrong name of default keytab
+6744    only test t_locate_kdc if known-good DNS name is present
+6745    Add correct error table when initializing gss-krb5
+6750    krb5kdc doesn't parse the -P command-line option correctly
+6751    Allow Microsoft HMAC-MD5 checksum types to use non-RC4 keys
+
+Major changes in 1.8.2
+----------------------
+
+This is primarily a bugfix release.
+
+* Fix vulnerabilities:
+  ** CVE-2010-1320 KDC double free caused by ticket renewal
+     (MITKRB5-SA-2010-004)
+  ** CVE-2010-1321 GSS-API lib null pointer deref (MITKRB5-SA-2010-005)
+
+* Allow numeric IPv6 addresses for configuring KDC locations.
+
+krb5-1.8.2 changes by ticket ID
+-------------------------------
 
-   You may freely use and distribute the Source Code and Object Code
-   compiled from it, with or without modification, but this Source
-   Code is provided to you "AS IS" EXCLUSIVE OF ANY WARRANTY,
-   INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY OR
-   FITNESS FOR A PARTICULAR PURPOSE, OR ANY OTHER WARRANTY, WHETHER
-   EXPRESS OR IMPLIED.  IN NO EVENT WILL OPENVISION HAVE ANY LIABILITY
-   FOR ANY LOST PROFITS, LOSS OF DATA OR COSTS OF PROCUREMENT OF 
-   SUBSTITUTE GOODS OR SERVICES, OR FOR ANY SPECIAL, INDIRECT, OR
-   CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, INCLUDING, 
-   WITHOUT LIMITATION, THOSE RESULTING FROM THE USE OF THE SOURCE 
-   CODE, OR THE FAILURE OF THE SOURCE CODE TO PERFORM, OR FOR ANY 
-   OTHER REASON.
+6562    kinit not working if kdc is configured with numerical IPv6 address
+6696    gss_accept_sec_context doesn't produce error tokens
+6697    segfault caused by dlerror returning NULL
+6698    kproplog displays incorrect iprop timestamps on 64-bit platforms
+6702    CVE-2010-1320 KDC double free caused by ticket renewal
+        (MITKRB5-SA-2010-004)
+6711    memory leak in process_tgs_req in r23724
+6718    Make KADM5_FAIL_AUTH_COUNT_INCREMENT more robust with LDAP
+6722    Error handling bug in krb5_init_creds_init()
+6725    CVE-2010-1321 GSS-API lib null pointer deref (MITKRB5-SA-2010-005)
+6726    SPNEGO doesn't interoperate with Windows 2000
+6730    kdc_tcp_ports not documented in kdc.conf.M
+6734    FAST negotiation could erroneously succeed
 
-   OpenVision retains all copyrights in the donated Source Code. OpenVision
-   also retains copyright to derivative works of the Source Code, whether
-   created by OpenVision or by a third party. The OpenVision copyright 
-   notice must be preserved if derivative works are made based on the 
-   donated Source Code.
+Major changes in 1.8.1
+----------------------
 
-   OpenVision Technologies, Inc. has donated this Kerberos 
-   Administration system to MIT for inclusion in the standard 
-   Kerberos 5 distribution.  This donation underscores our 
-   commitment to continuing Kerberos technology development 
-   and our gratitude for the valuable work which has been 
-   performed by MIT and the Kerberos community.
+This is primarily a bugfix release.
 
-----
+* MITKRB5-SA-2010-002 CVE-2010-0628 denial of service in SPNEGO
 
-    Portions contributed by Matt Crawford <crawdad@fnal.gov> were
-    work performed at Fermi National Accelerator Laboratory, which is
-    operated by Universities Research Association, Inc., under
-    contract DE-AC02-76CHO3000 with the U.S. Department of Energy.
+* Support IPv6 in kpasswd client.
 
----- The implementation of the Yarrow pseudo-random number generator
-in src/lib/crypto/yarrow has the following copyright:
+* Fix an authorization data type number assignment that conflicted
+  with an undocumented Microsoft usage.
 
-Copyright 2000 by Zero-Knowledge Systems, Inc.
-
-Permission to use, copy, modify, distribute, and sell this software
-and its documentation for any purpose is hereby granted without fee,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the name of Zero-Knowledge Systems,
-Inc. not be used in advertising or publicity pertaining to
-distribution of the software without specific, written prior
-permission.  Zero-Knowledge Systems, Inc. makes no representations
-about the suitability of this software for any purpose.  It is
-provided "as is" without express or implied warranty.
-
-ZERO-KNOWLEDGE SYSTEMS, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO
-THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
-FITNESS, IN NO EVENT SHALL ZERO-KNOWLEDGE SYSTEMS, INC. BE LIABLE FOR
-ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT
-OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
----- The implementation of the AES encryption algorithm in
-src/lib/crypto/aes has the following copyright:
-
- Copyright (c) 2001, Dr Brian Gladman <brg@gladman.uk.net>, Worcester, UK.
- All rights reserved.
-
- LICENSE TERMS
-
- The free distribution and use of this software in both source and binary 
- form is allowed (with or without changes) provided that:
+krb5-1.8.1 changes by ticket ID
+-------------------------------
 
-   1. distributions of this source code include the above copyright 
-      notice, this list of conditions and the following disclaimer;
-
-   2. distributions in binary form include the above copyright
-      notice, this list of conditions and the following disclaimer
-      in the documentation and/or other associated materials;
-
-   3. the copyright holder's name is not used to endorse products 
-      built using this software without specific written permission. 
-
- DISCLAIMER
+6661    [RFE] properly support IPv6 in kpasswd
+6668    Two problems in kadm5_get_principal mask handling
+6674    memory leak in SPNEGO
+6676    Ignore improperly encoded signedpath AD elements
+6678    use of freed memory in gss_import_sec_context error path
+6680    the "ticket_lifetime" setting isn't documented
+6681    krb5_get_init_creds_password() can crash with NULL options and
+        expired keys
+6683    kpasswd doesn't guess the client principal name correctly
+        without a ccache
+6685    handle NT_SRV_INST in service principal referrals
+6687    Change KRB5_AUTHDATA_SIGNTICKET from 142 to 512
+6689    krb5_typed_data not castable to krb5_pa_data on 64-bit MacOSX
+6690    MITKRB5-SA-2010-002 CVE-2010-0628 denial of service in SPNEGO
+6693    Fix backwards flag output in krb5_init_creds_step()
 
- This software is provided 'as is' with no explcit or implied warranties
- in respect of any properties, including, but not limited to, correctness 
- and fitness for purpose.
+Major changes in 1.8
+--------------------
 
+The krb5-1.8 release contains a large number of changes, featuring
+improvements in the following broad areas:
 
+* Code quality
+* Developer experience
+* Performance
+* End-user experience
+* Administrator experience
+* Protocol evolution
+
+Code quality:
+
+* Move toward test-driven development -- new features have test code,
+  or at least written testing procedures.
+
+* Remove applications to a separate distribution to simplify
+  independent maintenance.
+
+* Increase conformance to coding style
+
+  + "The great reindent"
+
+  + Selective refactoring
+
+Developer experience:
+
+* Crypto modularity -- vendors can more easily substitute their own
+  crypto implementations, which might be hardware-accelerated or
+  validated to FIPS 140, for the builtin crypto implementation that
+  has historically shipped as part of MIT Kerberos.  Currently, only
+  an OpenSSL provider is included, but others are planned for the
+  future.
+
+* Move toward improved KDB interface
+
+* Improved API for verifying and interrogating authorization data
+
+Performance:
+
+* Investigate and remedy repeatedly-reported performance bottlenecks.
+
+* Encryption performance -- new crypto API with opaque key structures,
+  to allow for optimizations such as caching of derived keys
+
+End-user experience:
+
+* Reduce DNS dependence by implementing an interface that allows
+  client library to track whether a KDC supports service principal
+  referrals.
+
+Administrator experience:
+
+* Disable DES by default -- this reduces security exposure from using
+  an increasingly insecure cipher.
+
+* More versatile crypto configuration, to simplify migration away from
+  DES -- new configuration syntax to allow inclusion and exclusion of
+  specific algorithms relative to a default set.
+
+* Account lockout for repeated login failures -- mitigates online
+  password guessing attacks, and helps with some enterprise regulatory
+  compliance.
+
+* Bridge layer to allow Heimdal HDB modules to act as KDB backend
+  modules.  This provides a migration path from a Heimdal to an MIT
+  KDC.
+
+Protocol evolution:
+
+* FAST enhancements -- preauthentication framework enhancements to
+  allow a client to securely negotiate the use of FAST with a KDC of
+  unknown capabilities.
+
+* Microsoft Services for User (S4U) compatibility: S4U2Self, also
+  known as "protocol transition", allows for service to ask a KDC for
+  a ticket to themselves on behalf of a client authenticated via a
+  different means; S4U2Proxy allows a service to ask a KDC for a
+  ticket to another service on behalf of a client.
+
+* Anonymous PKINIT -- allows the use of public-key cryptography to
+  anonymously authenticate to a realm
+
+* Support doing constrained delegation similar to Microsoft's
+  S4U2Proxy without the use of the Windows PAC.  This functionality
+  uses a protocol compatible with Heimdal.
+
+krb5-1.8 changes by ticket ID
+-----------------------------
+
+5468    delete kadmin v1 support
+6206    new API for storing extra per-principal data in ccache
+6434    krb5_cc_resolve() will crash if a null name param is provided
+6454    Make krb5_mkt_resolve error handling work
+6510    Restore limited support for static linking
+6539    Enctype list configuration enhancements
+6546    KDB should use enctype of stashed master key
+6547    Modify kadm5 initializers to accept krb5 contexts
+6563    Implement s4u extensions
+6564    s4u extensions integration broke test suite...
+6565    HP-UX IA64 wrong endian
+6572    Implement GSS naming extensions and authdata verification
+6576    Implement new APIs to allow improved crypto performance
+6577    Account lockout for repeated login failures
+6578    Heimdal DB bridge plugin for KDC back end
+6580    Constrained delegation without PAC support
+6582    Memory leak in _kadm5_init_any introduced with ipropd
+6583    Unbundle applications into separate repository
+6586    libkrb5 support for non-blocking AS requests
+6590    allow testing even if name->addr->name mapping doesn't work
+6591    fix slow behavior on Mac OS X with link-local addresses
+6592    handle negative enctypes better
+6593    Remove dependency on /bin/csh in test suite
+6595    FAST (preauth framework) negotiation
+6597    Add GSS extensions to store credentials, generate random bits
+6598    gss_init_sec_context potential segfault
+6599    memory leak in krb5_rd_req_decrypt_tkt_part
+6600    gss_inquire_context cannot handle no target name from mechanism
+6601    gsssspi_set_cred_option cannot handle mech specific option
+6603    issues with SPNEGO
+6605    PKINIT client should validate SAN for TGS, not service principal
+6606    allow testing when offline
+6607    anonymous PKINIT
+6616    Fix spelling and hyphen errors in man pages
+6618    Support optional creation of PID files for krb5kdc and kadmind
+6620    kdc_supported_enctypes does nothing; eradicate mentions thereof
+6621    disable weak crypto by default
+6622    kinit_fast fails if weak enctype is among client principal keys
+6623    Always treat anonymous as preauth required
+6624    automated tests for anonymous pkinit
+6625    yarrow code does not initialize keyblock enctype and uses
+        unitialized value
+6626    Restore interoperability with 1.6 addprinc -randkey
+6627    Set enctype in crypto_tests to prevent memory leaks
+6628    krb5int_dk_string_to_key fails to set enctype
+6629    krb5int_derive_key results in cache with uninitialized values
+6630    krb5int_pbkdf2_hmac_sha1 fails to set enctype on keyblock
+6632    Simplify and fix FAST check for keyed checksum type
+6634    Use keyed checksum type for DES FAST
+6640    Make history key exempt from permitted_enctypes
+6642    Add test program for decryption of overly short buffers
+6643    Problem with krb5 libcom_err vs. system libcom_err
+6644    Change basename of libkadm5 libraries to avoid Heimdal conflict
+6645    Add krb5_allow_weak_crypto API
+6648    define MIN() in lib/gssapi/krb5/prf.c
+6649    Get rid of kdb_ext.h and allow out-of-tree KDB plugins
+6651    Handle migration from pre-1.7 databases with master key
+        kvno != 1 (1.8 pullup)
+6652    Make decryption of master key list more robust
+6653    set_default_enctype_var should filter not reject weak enctypes
+6654    Fix greet_server build
+6655    Fix cross-realm handling of AD-SIGNEDPATH
+6656    krb5int_fast_free_state segfaults if state is null
+6657    enc_padata can include empty sequence
+6658    Implement gss_set_neg_mechs
+6659    Additional memory leaks in kdc
+6660    Minimal support for updating history key
+6662    MITKRB5-SA-2010-001 CVE-2010-0283 KDC denial of service
+6663    update mkrel to deal with changed source layout
+6665    Fix cipher state chaining in OpenSSL back end
+6669    doc updates for allow_weak_crypto
 
 Acknowledgements
 ----------------
 
-Appreciation Time!!!!  There are far too many people to try to thank
-them all; many people have contributed to the development of Kerberos
-V5.  This is only a partial listing....
-
-Thanks to Paul Vixie and the Internet Software Consortium for funding
-the work of Barry Jaspan.  This funding was invaluable for the OV
-administration server integration, as well as the 1.0 release
-preparation process.
-
-Thanks to John Linn, Scott Foote, and all of the folks at OpenVision
-Technologies, Inc., who donated their administration server for use in
-the MIT release of Kerberos.
-
-Thanks to Jeff Bigler, Mark Eichin, Marc Horowitz, Nancy Gilman, Ken
-Raeburn, and all of the folks at Cygnus Support, who provided
-innumerable bug fixes and portability enhancements to the Kerberos V5
-tree.  Thanks especially to Jeff Bigler, for the new user and system
-administrator's documentation.
-
-Thanks to Doug Engert from ANL for providing many bug fixes, as well
-as testing to ensure DCE interoperability.
-
-Thanks to Ken Hornstein at NRL for providing many bug fixes and
-suggestions, and for working on SAM preauthentication.
-
-Thanks to Matt Crawford at FNAL for bugfixes and enhancements.
-
-Thanks to Sean Mullan and Bill Sommerfeld from Hewlett Packard for
-their many suggestions and bug fixes.
-
-Thanks to Nalin Dahyabhai of RedHat and Chris Evans for locating and
-providing patches for numerous buffer overruns.
-
-Thanks to Christopher Thompson and Marcus Watts for discovering the
-ftpd security bug.
-
-Thanks to the members of the Kerberos V5 development team at MIT, both
-past and present: Danilo Almeida, Jay Berkenbilt, Richard Basch, Mitch
-Berger, John Carr, Don Davis, Alexandra Ellwood, Nancy Gilman, Matt
-Hancher, Sam Hartman, Paul Hill, Marc Horowitz, Eva Jacobus, Miroslav
-Jurisic, Barry Jaspan, Geoffrey King, John Kohl, Peter Litwack, Scott
-McGuire, Kevin Mitchell, Cliff Neuman, Paul Park, Ezra Peisach, Chris
-Provenzano, Ken Raeburn, Jon Rochlis, Jeff Schiller, Jen Selby, Brad
-Thompson, Harry Tsai, Ted Ts'o, Marshall Vale, Tom Yu.
+Past and present Sponsors of the MIT Kerberos Consortium:
+
+    Apple
+    Carnegie Mellon University
+    Centrify Corporation
+    Columbia University
+    Cornell University
+    The Department of Defense of the United States of America (DoD)
+    Google
+    Iowa State University
+    MIT
+    Michigan State University
+    Microsoft
+    The National Aeronautics and Space Administration
+        of the United States of America (NASA)
+    Network Appliance (NetApp)
+    Nippon Telephone and Telegraph (NTT)
+    Oracle
+    Pennsylvania State University
+    Red Hat
+    Stanford University
+    TeamF1, Inc.
+    The University of Alaska
+    The University of Michigan
+    The University of Pennsylvania
+
+Past and present members of the Kerberos Team at MIT:
+
+    Danilo Almeida
+    Jeffrey Altman
+    Justin Anderson
+    Richard Basch
+    Mitch Berger
+    Jay Berkenbilt
+    Andrew Boardman
+    Bill Bryant
+    Steve Buckley
+    Joe Calzaretta
+    John Carr
+    Mark Colan
+    Don Davis
+    Alexandra Ellwood
+    Dan Geer
+    Nancy Gilman
+    Matt Hancher
+    Thomas Hardjono
+    Sam Hartman
+    Paul Hill
+    Marc Horowitz
+    Eva Jacobus
+    Miroslav Jurisic
+    Barry Jaspan
+    Geoffrey King
+    Kevin Koch
+    John Kohl
+    HaoQi Li
+    Peter Litwack
+    Scott McGuire
+    Steve Miller
+    Kevin Mitchell
+    Cliff Neuman
+    Paul Park
+    Ezra Peisach
+    Chris Provenzano
+    Ken Raeburn
+    Jon Rochlis
+    Jeff Schiller
+    Jen Selby
+    Robert Silk
+    Bill Sommerfeld
+    Jennifer Steiner
+    Ralph Swick
+    Brad Thompson
+    Harry Tsai
+    Zhanna Tsitkova
+    Ted Ts'o
+    Marshall Vale
+    Tom Yu
+
+The following external contributors have provided code, patches, bug
+reports, suggestions, and valuable resources:
+
+    Brandon Allbery
+    Russell Allbery
+    Brian Almeida
+    Michael B Allen
+    Derek Atkins
+    David Bantz
+    Alex Baule
+    Arlene Berry
+    Jeff Blaine
+    Radoslav Bodo
+    Emmanuel Bouillon
+    Michael Calmer
+    Julien Chaffraix
+    Ravi Channavajhala
+    Srinivas Cheruku
+    Leonardo Chiquitto
+    Howard Chu
+    Andrea Cirulli
+    Christopher D. Clausen
+    Kevin Coffman
+    Simon Cooper
+    Sylvain Cortes
+    Nalin Dahyabhai
+    Dennis Davis
+    Roland Dowdeswell
+    Jason Edgecombe
+    Mark Eichin
+    Shawn M. Emery
+    Douglas E. Engert
+    Peter Eriksson
+    Ronni Feldt
+    Bill Fellows
+    JC Ferguson
+    William Fiveash
+    Ákos Frohner
+    Marcus Granado
+    Scott Grizzard
+    Helmut Grohne
+    Steve Grubb
+    Philip Guenther
+    Dominic Hargreaves
+    Jakob Haufe
+    Jeff Hodges
+    Love Hörnquist Åstrand
+    Ken Hornstein
+    Henry B. Hotz
+    Luke Howard
+    Jakub Hrozek
+    Shumon Huque
+    Jeffrey Hutzelman
+    Wyllys Ingersoll
+    Holger Isenberg
+    Pavel Jindra
+    Joel Johnson
+    Mikkel Kruse
+    Volker Lendecke
+    Jan iankko Lieskovsky
+    Kevin Longfellow
+    Ryan Lynch
+    Cameron Meadors
+    Franklyn Mendez
+    Markus Moeller
+    Paul Moore
+    Keiichi Mori
+    Zbysek Mraz
+    Edward Murrell
+    Nikos Nikoleris
+    Felipe Ortega
+    Dmitri Pal
+    Javier Palacios
+    Ezra Peisach
+    W. Michael Petullo
+    Mark Phalan
+    Robert Relyea
+    Martin Rex
+    Jason Rogers
+    Mike Roszkowski
+    Guillaume Rousse
+    Tom Shaw
+    Peter Shoults
+    Simo Sorce
+    Michael Spang
+    Michael Ströder
+    Bjørn Tore Sund
+    Rathor Vipin
+    Jorgen Wahlsten
+    Max (Weijun) Wang
+    John Washington
+    Marcus Watts
+    Simon Wilkinson
+    Nicolas Williams
+    Ross Wilper
+    Xu Qiang
+    Hanz van Zijst
+
+The above is not an exhaustive list; many others have contributed in
+various ways to the MIT Kerberos development effort over the years.
+Other acknowledgments (for bug reports and patches) are in the
+doc/CHANGES file.