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