README and patchlevel.h for krb5-1.8-beta2
[krb5.git] / README
1                    Kerberos Version 5, Release 1.8
2
3                             Release Notes
4                         The MIT Kerberos Team
5
6 Copyright and Other Notices
7 ---------------------------
8
9 Copyright (C) 1985-2010 by the Massachusetts Institute of Technology
10 and its contributors.  All rights reserved.
11
12 Please see the file named NOTICE for additional notices.
13
14 MIT Kerberos is a project of the MIT Kerberos Consortium.  For more
15 information about the Kerberos Consortium, see http://kerberos.org/
16
17 For more information about the MIT Kerberos software, see
18     http://web.mit.edu/kerberos/
19
20 People interested in participating in the MIT Kerberos development
21 effort should see http://k5wiki.kerberos.org/
22
23 Building and Installing Kerberos 5
24 ----------------------------------
25
26 The first file you should look at is doc/install-guide.ps; it contains
27 the notes for building and installing Kerberos 5.  The info file
28 krb5-install.info has the same information in info file format.  You
29 can view this using the GNU emacs info-mode, or by using the
30 standalone info file viewer from the Free Software Foundation.  This
31 is also available as an HTML file, install.html.
32
33 Other good files to look at are admin-guide.ps and user-guide.ps,
34 which contain the system administrator's guide, and the user's guide,
35 respectively.  They are also available as info files
36 kerberos-admin.info and krb5-user.info, respectively.  These files are
37 also available as HTML files.
38
39 If you are attempting to build under Windows, please see the
40 src/windows/README file.
41
42 Reporting Bugs
43 --------------
44
45 Please report any problems/bugs/comments using the krb5-send-pr
46 program.  The krb5-send-pr program will be installed in the sbin
47 directory once you have successfully compiled and installed Kerberos
48 V5 (or if you have installed one of our binary distributions).
49
50 If you are not able to use krb5-send-pr because you haven't been able
51 compile and install Kerberos V5 on any platform, you may send mail to
52 krb5-bugs@mit.edu.
53
54 Please keep in mind that unencrypted e-mail is not secure. If you need
55 to report a security vulnerability, or send sensitive information,
56 please PGP-encrypt it to krbcore-security@mit.edu.
57
58 You may view bug reports by visiting
59
60     http://krbdev.mit.edu/rt/
61
62 and logging in as "guest" with password "guest".
63
64 DES transition
65 --------------
66
67 The krb5-1.8 release disables single-DES cryptosystems by default.  As
68 a result, you may need to add the libdefaults setting
69 "allow_weak_crypto = true" to communicate with existing Kerberos
70 infrastructures if they do not support stronger ciphers.
71
72 The Data Encryption Standard (DES) is widely recognized as weak.  The
73 krb5-1.7 release contains measures to encourage sites to migrate away
74 from using single-DES cryptosystems.  Among these is a configuration
75 variable that enables "weak" enctypes, which now defaults to "false"
76 beginning with krb5-1.8.  The krb5-1.8 release includes additional
77 measures to ease the transition away from single-DES.
78
79 Major changes in 1.8
80 --------------------
81
82 The krb5-1.8 release contains a large number of changes, featuring
83 improvements in the following broad areas:
84
85 * Code quality
86 * Developer experience
87 * Performance
88 * End-user experience
89 * Administrator experience
90 * Protocol evolution
91
92 Code quality:
93
94 * Move toward test-driven development -- new features have test code,
95   or at least written testing procedures.
96
97 * Remove applications to a separate distribution to simplify
98   independent maintenance.
99
100 * Increase conformance to coding style
101
102   + "The great reindent"
103
104   + Selective refactoring
105
106 Developer experience:
107
108 * Crypto modularity -- vendors can more easily substitute their own
109   crypto implementations, which might be hardware-accelerated or
110   validated to FIPS 140, for the builtin crypto implementation that
111   has historically shipped as part of MIT Kerberos.  Currently, only
112   an OpenSSL provider is included, but others are planned for the
113   future.
114
115 * Move toward improved KDB interface
116
117 * Improved API for verifying and interrogating authorization data
118
119 Performance:
120
121 * Investigate and remedy repeatedly-reported performance bottlenecks.
122
123 * Encryption performance -- new crypto API with opaque key structures,
124   to allow for optimizations such as caching of derived keys
125
126 End-user experience:
127
128 * Reduce DNS dependence by implementing an interface that allows
129   client library to track whether a KDC supports service principal
130   referrals.
131
132 Administrator experience:
133
134 * Disable DES by default -- this reduces security exposure from using
135   an increasingly insecure cipher.
136
137 * More versatile crypto configuration, to simplify migration away from
138   DES -- new configuration syntax to allow inclusion and exclusion of
139   specific algorithms relative to a default set.
140
141 * Account lockout for repeated login failures -- mitigates online
142   password guessing attacks, and helps with some enterprise regulatory
143   compliance.
144
145 * Bridge layer to allow Heimdal HDB modules to act as KDB backend
146   modules.  This provides a migration path from a Heimdal to an MIT
147   KDC.
148
149 Protocol evolution:
150
151 * FAST enhancements -- preauthentication framework enhancements to
152   allow a client to securely negotiate the use of FAST with a KDC of
153   unknown capabilities.
154
155 * Microsoft Services for User (S4U) compatibility: S4U2Self, also
156   known as "protocol transition", allows for service to ask a KDC for
157   a ticket to themselves on behalf of a client authenticated via a
158   different means; S4U2Proxy allows a service to ask a KDC for a
159   ticket to another service on behalf of a client.
160
161 * Anonymous PKINIT -- allows the use of public-key cryptography to
162   anonymously authenticate to a realm
163
164 * Support doing constrained delegation similar to Microsoft's
165   S4U2Proxy without the use of the Windows PAC.  This functionality
166   uses a protocol compatible with Heimdal.
167
168 krb5-1.8 changes by ticket ID
169 -----------------------------
170
171 5468    delete kadmin v1 support
172 6206    new API for storing extra per-principal data in ccache
173 6434    krb5_cc_resolve() will crash if a null name param is provided
174 6454    Make krb5_mkt_resolve error handling work
175 6510    Restore limited support for static linking
176 6539    Enctype list configuration enhancements
177 6546    KDB should use enctype of stashed master key
178 6547    Modify kadm5 initializers to accept krb5 contexts
179 6563    Implement s4u extensions
180 6564    s4u extensions integration broke test suite...
181 6565    HP-UX IA64 wrong endian
182 6572    Implement GSS naming extensions and authdata verification
183 6576    Implement new APIs to allow improved crypto performance
184 6577    Account lockout for repeated login failures
185 6578    Heimdal DB bridge plugin for KDC back end
186 6580    Constrained delegation without PAC support
187 6582    Memory leak in _kadm5_init_any introduced with ipropd
188 6583    Unbundle applications into separate repository
189 6586    libkrb5 support for non-blocking AS requests
190 6590    allow testing even if name->addr->name mapping doesn't work
191 6591    fix slow behavior on Mac OS X with link-local addresses
192 6592    handle negative enctypes better
193 6593    Remove dependency on /bin/csh in test suite
194 6595    FAST (preauth framework) negotiation
195 6597    Add GSS extensions to store credentials, generate random bits
196 6598    gss_init_sec_context potential segfault
197 6599    memory leak in krb5_rd_req_decrypt_tkt_part
198 6600    gss_inquire_context cannot handle no target name from mechanism
199 6601    gsssspi_set_cred_option cannot handle mech specific option
200 6603    issues with SPNEGO
201 6605    PKINIT client should validate SAN for TGS, not service principal
202 6606    allow testing when offline
203 6607    anonymous PKINIT
204 6616    Fix spelling and hyphen errors in man pages
205 6618    Support optional creation of PID files for krb5kdc and kadmind
206 6620    kdc_supported_enctypes does nothing; eradicate mentions thereof
207 6621    disable weak crypto by default
208 6622    kinit_fast fails if weak enctype is among client principal keys
209 6623    Always treat anonymous as preauth required
210 6624    automated tests for anonymous pkinit
211 6625    yarrow code does not initialize keyblock enctype and uses
212         unitialized value
213 6626    Restore interoperability with 1.6 addprinc -randkey
214 6627    Set enctype in crypto_tests to prevent memory leaks
215 6628    krb5int_dk_string_to_key fails to set enctype
216 6629    krb5int_derive_key results in cache with uninitialized values
217 6630    krb5int_pbkdf2_hmac_sha1 fails to set enctype on keyblock
218 6632    Simplify and fix FAST check for keyed checksum type
219 6634    Use keyed checksum type for DES FAST
220 6640    Make history key exempt from permitted_enctypes
221 6642    Add test program for decryption of overly short buffers
222 6643    Problem with krb5 libcom_err vs. system libcom_err
223 6644    Change basename of libkadm5 libraries to avoid Heimdal conflict
224 6645    Add krb5_allow_weak_crypto API
225 6648    define MIN() in lib/gssapi/krb5/prf.c
226 6649    Get rid of kdb_ext.h and allow out-of-tree KDB plugins
227 6651    Handle migration from pre-1.7 databases with master key
228         kvno != 1 (1.8 pullup)
229 6652    Make decryption of master key list more robust
230 6653    set_default_enctype_var should filter not reject weak enctypes
231 6654    Fix greet_server build
232 6655    Fix cross-realm handling of AD-SIGNEDPATH
233 6656    krb5int_fast_free_state segfaults if state is null
234 6657    enc_padata can include empty sequence
235 6658    Implement gss_set_neg_mechs
236 6659    Additional memory leaks in kdc
237 6660    Minimal support for updating history key
238 6662    MITKRB5-SA-2010-001 CVE-2010-0283 KDC denial of service
239 6663    update mkrel to deal with changed source layout
240 6665    Fix cipher state chaining in OpenSSL back end
241 6669    doc updates for allow_weak_crypto
242
243 Acknowledgements
244 ----------------
245
246 Past and present Sponsors of the MIT Kerberos Consortium:
247
248     Apple
249     Carnegie Mellon University
250     Centrify Corporation
251     Columbia University
252     Cornell University
253     The Department of Defense of the United States of America (DoD)
254     Google
255     Iowa State University
256     MIT
257     Michigan State University
258     Microsoft
259     The National Aeronautics and Space Administration
260         of the United States of America (NASA)
261     Nippon Telephone and Telegraph (NTT)
262     Oracle
263     Pennsylvania State University
264     Red Hat
265     Stanford University
266     TeamF1, Inc.
267     The University of Alaska
268     The University of Michigan
269
270 Past and present members of the Kerberos Team at MIT:
271
272     Danilo Almeida
273     Jeffrey Altman
274     Justin Anderson
275     Richard Basch
276     Mitch Berger
277     Jay Berkenbilt
278     Andrew Boardman
279     Bill Bryant
280     Steve Buckley
281     Joe Calzaretta
282     John Carr
283     Mark Colan
284     Don Davis
285     Alexandra Ellwood
286     Dan Geer
287     Nancy Gilman
288     Matt Hancher
289     Thomas Hardjono
290     Sam Hartman
291     Paul Hill
292     Marc Horowitz
293     Eva Jacobus
294     Miroslav Jurisic
295     Barry Jaspan
296     Geoffrey King
297     Kevin Koch
298     John Kohl
299     HaoQi Li
300     Peter Litwack
301     Scott McGuire
302     Steve Miller
303     Kevin Mitchell
304     Cliff Neuman
305     Paul Park
306     Ezra Peisach
307     Chris Provenzano
308     Ken Raeburn
309     Jon Rochlis
310     Jeff Schiller
311     Jen Selby
312     Robert Silk
313     Bill Sommerfeld
314     Jennifer Steiner
315     Ralph Swick
316     Brad Thompson
317     Harry Tsai
318     Zhanna Tsitkova
319     Ted Ts'o
320     Marshall Vale
321     Tom Yu
322
323 The following external contributors have provided code, patches, bug
324 reports, suggestions, and valuable resources:
325
326     Brandon Allbery
327     Russell Allbery
328     Michael B Allen
329     Derek Atkins
330     David Bantz
331     Alex Baule
332     Arlene Berry
333     Jeff Blaine
334     Radoslav Bodo
335     Emmanuel Bouillon
336     Michael Calmer
337     Ravi Channavajhala
338     Srinivas Cheruku
339     Howard Chu
340     Andrea Cirulli
341     Christopher D. Clausen
342     Kevin Coffman
343     Simon Cooper
344     Sylvain Cortes
345     Nalin Dahyabhai
346     Roland Dowdeswell
347     Jason Edgecombe
348     Mark Eichin
349     Shawn M. Emery
350     Douglas E. Engert
351     Peter Eriksson
352     Ronni Feldt
353     JC Ferguson
354     William Fiveash
355     Ákos Frohner
356     Marcus Granado
357     Scott Grizzard
358     Steve Grubb
359     Philip Guenther
360     Jakob Haufe
361     Jeff Hodges
362     Love Hörnquist Åstrand
363     Ken Hornstein
364     Henry B. Hotz
365     Luke Howard
366     Shumon Huque
367     Jeffrey Hutzelman
368     Wyllys Ingersoll
369     Holger Isenberg
370     Mikkel Kruse
371     Volker Lendecke
372     Ryan Lynch
373     Franklyn Mendez
374     Markus Moeller
375     Paul Moore
376     Edward Murrell
377     Nikos Nikoleris
378     Dmitri Pal
379     Javier Palacios
380     Ezra Peisach
381     W. Michael Petullo
382     Mark Phalan
383     Xu Qiang
384     Robert Relyea
385     Martin Rex
386     Guillaume Rousse
387     Tom Shaw
388     Peter Shoults
389     Simo Sorce
390     Michael Ströder
391     Bjørn Tore Sund
392     Rathor Vipin
393     Jorgen Wahlsten
394     Max (Weijun) Wang
395     John Washington
396     Marcus Watts
397     Simon Wilkinson
398     Nicolas Williams
399     Ross Wilper
400     Hanz van Zijst
401
402 The above is not an exhaustive list; many others have contributed in
403 various ways to the MIT Kerberos development effort over the years.
404 Other acknowledgments (for bug reports and patches) are in the
405 doc/CHANGES file.