Merge branch 'upstream' into tizen_base
[platform/upstream/krb5.git] / README
1                    Kerberos Version 5, Release 1.20
2
3                             Release Notes
4                         The MIT Kerberos Team
5
6 Copyright and Other Notices
7 ---------------------------
8
9 Copyright (C) 1985-2022 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 Documentation
15 -------------
16
17 Unified documentation for Kerberos V5 is available in both HTML and
18 PDF formats.  The table of contents of the HTML format documentation
19 is at doc/html/index.html, and the PDF format documentation is in the
20 doc/pdf directory.
21
22 Additionally, you may find copies of the HTML format documentation
23 online at
24
25     https://web.mit.edu/kerberos/krb5-latest/doc/
26
27 for the most recent supported release, or at
28
29     https://web.mit.edu/kerberos/krb5-devel/doc/
30
31 for the release under development.
32
33 More information about Kerberos may be found at
34
35     https://web.mit.edu/kerberos/
36
37 and at the MIT Kerberos Consortium web site
38
39     https://kerberos.org/
40
41 Building and Installing Kerberos 5
42 ----------------------------------
43
44 Build documentation is in doc/html/build/index.html or
45 doc/pdf/build.pdf.
46
47 The installation guide is in doc/html/admin/install.html or
48 doc/pdf/install.pdf.
49
50 If you are attempting to build under Windows, please see the
51 src/windows/README file.
52
53 Reporting Bugs
54 --------------
55
56 Please report any problems/bugs/comments by sending email to
57 krb5-bugs@mit.edu.
58
59 You may view bug reports by visiting
60
61 https://krbdev.mit.edu/rt/
62
63 and using the "Guest Login" button.  Please note that the web
64 interface to our bug database is read-only for guests, and the primary
65 way to interact with our bug database is via email.
66
67 PAC transition
68 --------------
69
70 Beginning with release 1.20, the KDC will include minimal PACs in
71 tickets instead of AD-SIGNEDPATH authdata.  S4U requests (protocol
72 transition and constrained delegation) must now contain valid PACs in
73 the incoming tickets.  If only some KDCs in a realm have been upgraded
74 across version 1.20, the upgraded KDCs will reject S4U requests
75 containing tickets from non-upgraded KDCs and vice versa.
76
77 Triple-DES transition
78 ---------------------
79
80 Beginning with the krb5-1.19 release, a warning will be issued if
81 initial credentials are acquired using the des3-cbc-sha1 encryption
82 type.  In future releases, this encryption type will be disabled by
83 default and eventually removed.
84
85 Beginning with the krb5-1.18 release, single-DES encryption types have
86 been removed.
87
88 Major changes in 1.20.1 (2022-11-15)
89 ------------------------------------
90
91 This is a bug fix release.
92
93 * Fix integer overflows in PAC parsing [CVE-2022-42898].
94
95 * Fix null deref in KDC when decoding invalid NDR.
96
97 * Fix memory leak in OTP kdcpreauth module.
98
99 * Fix PKCS11 module path search.
100
101 krb5-1.20.1 changes by ticket ID
102 --------------------------------
103
104 9061    Fix memory leak in SPAKE kdcpreauth module
105 9062    Fix net-server.c when AI_NUMERICSERV is undefined
106 9063    Fix memory leak in OTP kdcpreauth module
107 9064    Free verto context later in KDC cleanup
108 9065    Fix uncommon PKINIT memory leak
109 9067    Fix PKCS11 module path search
110 9073    Fix null deref in KDC when decoding invalid NDR
111 9074    Fix integer overflows in PAC parsing
112
113 Major changes in 1.20 (2022-05-26)
114 ----------------------------------
115
116 Administrator experience:
117
118 * Added a "disable_pac" realm relation to suppress adding PAC authdata
119   to tickets, for realms which do not need to support S4U requests.
120
121 * Most credential cache types will use atomic replacement when a cache
122   is reinitialized using kinit or refreshed from the client keytab.
123
124 * kprop can now propagate databases with a dump size larger than 4GB,
125   if both the client and server are upgraded.
126
127 * kprop can now work over NATs that change the destination IP address,
128   if the client is upgraded.
129
130 Developer experience:
131
132 * Updated the KDB interface.  The sign_authdata() method is replaced
133   with the issue_pac() method, allowing KDB modules to add logon info
134   and other buffers to the PAC issued by the KDC.
135
136 * Host-based initiator names are better supported in the GSS krb5
137   mechanism.
138
139 Protocol evolution:
140
141 * Replaced AD-SIGNEDPATH authdata with minimal PACs.
142
143 * To avoid spurious replay errors, password change requests will not
144   be attempted over UDP until the attempt over TCP fails.
145
146 * PKINIT will sign its CMS messages with SHA-256 instead of SHA-1.
147
148 Code quality:
149
150 * Updated all code using OpenSSL to be compatible with OpenSSL 3.
151
152 * Reorganized the libk5crypto build system to allow the OpenSSL
153   back-end to pull in material from the builtin back-end depending on
154   the OpenSSL version.
155
156 * Simplified the PRNG logic to always use the platform PRNG.
157
158 * Converted the remaining Tcl tests to Python.
159
160 krb5-1.20 changes by ticket ID
161 ------------------------------
162
163 7707    Credential cache API does not support atomic reinitialization
164 8010    gss_store_cred should initialize ccache and work with collections
165 8970    Wrong Encryption types shown in MIT Kerberos Ticket Manager on Windows
166 8976    all-liblinks build target fails when symlinks not supported
167 8977    Allow kprop over more types of NATs
168 8978    Support host-based GSS initiator names
169 8980    Add APIs for marshalling credentials
170 8981    Documentation__krb5.conf
171 8983    Infer name type when creating principals
172 8988    Only require one valid pkinit anchor/pool value
173 8990    Add KCM_OP_GET_CRED_LIST for faster iteration
174 8991    Fix PKINIT memory leaks
175 8994    Fix gss-krb5 handling of high sequence numbers
176 8995    KCM interop issue with KRB5_TC_ flags
177 8997    Use KCM_OP_RETRIEVE in KCM client
178 8998    Simplify krb5_cccol_have_content()
179 8999    Add additional KRB5_TRACE points
180 9000    Fix multiple UPN handling in PKINIT client certs
181 9002    Check for undefined kadm5 policy mask bits
182 9003    Add duplicate check to kadm5_create_policy()
183 9009    Update IRC pointer in resources.rst
184 9010    Add MAXHOSTNAME guard in Windows public header
185 9011    Fix some principal realm canonicalization cases
186 9012    Allow kinit with keytab to defer canonicalization
187 9013    Fix kadmin -k with fallback or referral realm
188 9017    Clarify and correct interposer plugin docs
189 9019    make check fails: OSError: AF_UNIX path too long
190 9022    Potential integer overflows
191 9024    Find gss_get_mic_iov extensions in GSS modules
192 9025    Use version-independent OpenLDAP links in docs
193 9027    Add OpenLDAP advice to princ_dns.rst
194 9028    Constify name field in four plugin vtables
195 9031    Fix verification of RODC-issued PAC KDC signature
196 9032    Always use platform PRNG
197 9034    Use builtin MD4, RC4 for OpenSSL 3.0
198 9035    Avoid use after free during libkrad cleanup
199 9036    Support larger RADIUS attributes in libkrad
200 9037    Race condition in krb5_set_password()
201 9038    Issue an error from KDC on S4U2Self failures
202 9039    Fix PAC handling of authtimes after y2038
203 9040    Use 14 instead of 9 for unkeyed SHA-1 checksum
204 9041    Add PA-REDHAT-IDP-OAUTH2 padata type
205 9042    Don't fail krb5_cc_select() for no default realm
206 9043    Add PAC ticket signature APIs
207 9044    Replace AD-SIGNEDPATH with minimal PACs
208 9047    Avoid passing null for asprintf strings
209 9048    Pass client flag to KDB for client preauth match
210 9049    Add replace_reply_key kdcpreauth callback
211 9050    Implement replaced_reply_key input to issue_pac()
212 9051    Clarify certauth interface documentation
213 9056    Fix iprop with fallback
214 9060    Read GSS configuration files with mtime 0
215
216 Acknowledgements
217 ----------------
218
219 Past Sponsors of the MIT Kerberos Consortium:
220
221     Apple
222     Carnegie Mellon University
223     Centrify Corporation
224     Columbia University
225     Cornell University
226     The Department of Defense of the United States of America (DoD)
227     Fidelity Investments
228     Google
229     Iowa State University
230     MIT
231     Michigan State University
232     Microsoft
233     MITRE Corporation
234     Morgan-Stanley
235     The National Aeronautics and Space Administration
236         of the United States of America (NASA)
237     Network Appliance (NetApp)
238     Nippon Telephone and Telegraph (NTT)
239     US Government Office of the National Coordinator for Health
240         Information Technology (ONC)
241     Oracle
242     Pennsylvania State University
243     Red Hat
244     Stanford University
245     TeamF1, Inc.
246     The University of Alaska
247     The University of Michigan
248     The University of Pennsylvania
249
250 Past and present members of the Kerberos Team at MIT:
251
252     Danilo Almeida
253     Jeffrey Altman
254     Justin Anderson
255     Richard Basch
256     Mitch Berger
257     Jay Berkenbilt
258     Andrew Boardman
259     Bill Bryant
260     Steve Buckley
261     Joe Calzaretta
262     John Carr
263     Mark Colan
264     Don Davis
265     Sarah Day
266     Alexandra Ellwood
267     Carlos Garay
268     Dan Geer
269     Nancy Gilman
270     Matt Hancher
271     Thomas Hardjono
272     Sam Hartman
273     Paul Hill
274     Marc Horowitz
275     Eva Jacobus
276     Miroslav Jurisic
277     Barry Jaspan
278     Benjamin Kaduk
279     Geoffrey King
280     Kevin Koch
281     John Kohl
282     HaoQi Li
283     Jonathan Lin
284     Peter Litwack
285     Scott McGuire
286     Steve Miller
287     Kevin Mitchell
288     Cliff Neuman
289     Paul Park
290     Ezra Peisach
291     Chris Provenzano
292     Ken Raeburn
293     Jon Rochlis
294     Jeff Schiller
295     Jen Selby
296     Robert Silk
297     Bill Sommerfeld
298     Jennifer Steiner
299     Ralph Swick
300     Brad Thompson
301     Harry Tsai
302     Zhanna Tsitkova
303     Ted Ts'o
304     Marshall Vale
305     Taylor Yu
306
307 The following external contributors have provided code, patches, bug
308 reports, suggestions, and valuable resources:
309
310     Ian Abbott
311     Daniel Albers
312     Brandon Allbery
313     Russell Allbery
314     Brian Almeida
315     Michael B Allen
316     Pooja Anil
317     Jeffrey Arbuckle
318     Heinz-Ado Arnolds
319     Derek Atkins
320     Mark Bannister
321     David Bantz
322     Alex Baule
323     Nikhil Benesch
324     David Benjamin
325     Thomas Bernard
326     Adam Bernstein
327     Arlene Berry
328     Jeff Blaine
329     Toby Blake
330     Radoslav Bodo
331     Alexander Bokovoy
332     Sumit Bose
333     Emmanuel Bouillon
334     Isaac Boukris
335     Ulf Bremer
336     Pavel Březina
337     Philip Brown
338     Samuel Cabrero
339     Michael Calmer
340     Andrea Campi
341     Julien Chaffraix
342     Puran Chand
343     Ravi Channavajhala
344     Srinivas Cheruku
345     Leonardo Chiquitto
346     Rachit Chokshi
347     Seemant Choudhary
348     Howard Chu
349     Andrea Cirulli
350     Christopher D. Clausen
351     Kevin Coffman
352     Simon Cooper
353     Sylvain Cortes
354     Ian Crowther
355     Arran Cudbard-Bell
356     Adam Dabrowski
357     Jeff D'Angelo
358     Nalin Dahyabhai
359     Mark Davies
360     Dennis Davis
361     Alex Dehnert
362     Misty De Meo
363     Mark Deneen
364     Günther Deschner
365     John Devitofranceschi
366     Marc Dionne
367     Roland Dowdeswell
368     Ken Dreyer
369     Dorian Ducournau
370     Viktor Dukhovni
371     Jason Edgecombe
372     Mark Eichin
373     Shawn M. Emery
374     Douglas E. Engert
375     Peter Eriksson
376     Juha Erkkilä
377     Gilles Espinasse
378     Ronni Feldt
379     Bill Fellows
380     JC Ferguson
381     Remi Ferrand
382     Paul Fertser
383     Fabiano Fidêncio
384     Frank Filz
385     William Fiveash
386     Jacques Florent
387     Oliver Freyermuth
388     Ákos Frohner
389     Sebastian Galiano
390     Marcus Granado
391     Dylan Gray
392     Norm Green
393     Scott Grizzard
394     Helmut Grohne
395     Steve Grubb
396     Philip Guenther
397     Timo Gurr
398     Dominic Hargreaves
399     Robbie Harwood
400     John Hascall
401     Jakob Haufe
402     Matthieu Hautreux
403     Jochen Hein
404     Paul B. Henson
405     Kihong Heo
406     Jeff Hodges
407     Christopher Hogan
408     Love Hörnquist Åstrand
409     Ken Hornstein
410     Henry B. Hotz
411     Luke Howard
412     Jakub Hrozek
413     Shumon Huque
414     Jeffrey Hutzelman
415     Sergey Ilinykh
416     Wyllys Ingersoll
417     Holger Isenberg
418     Spencer Jackson
419     Diogenes S. Jesus
420     Mike Jetzer
421     Pavel Jindra
422     Brian Johannesmeyer
423     Joel Johnson
424     Lutz Justen
425     Alexander Karaivanov
426     Anders Kaseorg
427     Bar Katz
428     Zentaro Kavanagh
429     Mubashir Kazia
430     W. Trevor King
431     Patrik Kis
432     Martin Kittel
433     Thomas Klausner
434     Tomasz Kłoczko
435     Matthew Krupcale
436     Mikkel Kruse
437     Reinhard Kugler
438     Harshawardhan Kulkarni
439     Tomas Kuthan
440     Pierre Labastie
441     Andreas Ladanyi
442     Chris Leick
443     Volker Lendecke
444     Jan iankko Lieskovsky
445     Todd Lipcon
446     Oliver Loch
447     Chris Long
448     Kevin Longfellow
449     Frank Lonigro
450     Jon Looney
451     Nuno Lopes
452     Todd Lubin
453     Ryan Lynch
454     Glenn Machin
455     Roland Mainz
456     Sorin Manolache
457     Robert Marshall
458     Andrei Maslennikov
459     Michael Mattioli
460     Nathaniel McCallum
461     Greg McClement
462     Cameron Meadors
463     Vipul Mehta
464     Alexey Melnikov
465     Ivan A. Melnikov
466     Franklyn Mendez
467     Mantas Mikulėnas
468     Markus Moeller
469     Kyle Moffett
470     Paul Moore
471     Keiichi Mori
472     Michael Morony
473     Sam Morris
474     Zbysek Mraz
475     Edward Murrell
476     Joshua Neuheisel
477     Nikos Nikoleris
478     Demi Obenour
479     Felipe Ortega
480     Michael Osipov
481     Andrej Ota
482     Dmitri Pal
483     Javier Palacios
484     Dilyan Palauzov
485     Tom Parker
486     Eric Pauly
487     Leonard Peirce
488     Ezra Peisach
489     Alejandro Perez
490     Zoran Pericic
491     W. Michael Petullo
492     Mark Phalan
493     Sharwan Ram
494     Brett Randall
495     Jonathan Reams
496     Jonathan Reed
497     Robert Relyea
498     Tony Reix
499     Martin Rex
500     Pat Riehecky
501     Julien Rische
502     Jason Rogers
503     Matt Rogers
504     Nate Rosenblum
505     Solly Ross
506     Mike Roszkowski
507     Guillaume Rousse
508     Joshua Schaeffer
509     Alexander Scheel
510     Jens Schleusener
511     Ryan Schmidt
512     Andreas Schneider
513     Paul Seyfert
514     Tom Shaw
515     Jim Shi
516     Jerry Shipman
517     Peter Shoults
518     Richard Silverman
519     Cel Skeggs
520     Simo Sorce
521     Michael Spang
522     Michael Ströder
523     Bjørn Tore Sund
524     Ondřej Surý
525     Joseph Sutton
526     Joe Travaglini
527     Sergei Trofimovich
528     Greg Troxel
529     Fraser Tweedale
530     Tim Uglow
531     Rathor Vipin
532     Denis Vlasenko
533     Thomas Wagner
534     Jorgen Wahlsten
535     Stef Walter
536     Max (Weijun) Wang
537     John Washington
538     Stef Walter
539     Xi Wang
540     Nehal J Wani
541     Kevin Wasserman
542     Margaret Wasserman
543     Marcus Watts
544     Andreas Wiese
545     Simon Wilkinson
546     Nicolas Williams
547     Ross Wilper
548     Augustin Wolf
549     Garrett Wollman
550     David Woodhouse
551     Tsu-Phong Wu
552     Xu Qiang
553     Neng Xue
554     Zhaomo Yang
555     Tianjiao Yin
556     Nickolai Zeldovich
557     Bean Zhang
558     Hanz van Zijst
559     Gertjan Zwartjes
560
561 The above is not an exhaustive list; many others have contributed in
562 various ways to the MIT Kerberos development effort over the years.
563 Other acknowledgments (for bug reports and patches) are in the
564 doc/CHANGES file.