pullup from 1.2.1 release
[krb5.git] / README
1 these were the
2                    Kerberos Version 5, Release 1.2
3
4                             Release Notes
5 which will be updated before the next release by
6                         The MIT Kerberos Team
7
8 Unpacking the Source Distribution
9 ---------------------------------
10
11 The source distribution of Kerberos 5 comes in three gzipped tarfiles,
12 krb5-1.2.src.tar.gz, krb5-1.2.doc.tar.gz, and krb5-1.2.crypto.tar.gz.
13 The krb5-1.2.doc.tar.gz contains the doc/ directory and this README
14 file.  The krb5-1.2.src.tar.gz contains the src/ directory and this
15 README file, except for the crypto library sources, which are in
16 krb5-1.2.crypto.tar.gz.
17
18 Instruction on how to extract the entire distribution follow.  These
19 directions assume that you want to extract into a directory called
20 DIST.
21
22 If you have the GNU tar program and gzip installed, you can simply do:
23
24         mkdir DIST
25         cd DIST
26         gtar zxpf krb5-1.2.src.tar.gz
27         gtar zxpf krb5-1.2.crypto.tar.gz
28         gtar zxpf krb5-1.2.doc.tar.gz
29
30 If you don't have GNU tar, you will need to get the FSF gzip
31 distribution and use gzcat:
32
33         mkdir DIST
34         cd DIST
35         gzcat krb5-1.2.src.tar.gz | tar xpf -
36         gzcat krb5-1.2.crypto.tar.gz | tar xpf -
37         gzcat krb5-1.2.doc.tar.gz | tar xpf -
38
39 Both of these methods will extract the sources into DIST/krb5-1.2/src
40 and the documentation into DIST/krb5-1.2/doc.
41
42 Building and Installing Kerberos 5
43 ----------------------------------
44
45 The first file you should look at is doc/install.ps; it contains the
46 notes for building and installing Kerberos 5.  The info file
47 krb5-install.info has the same information in info file format.  You
48 can view this using the GNU emacs info-mode, or by using the
49 standalone info file viewer from the Free Software Foundation.  This
50 is also available as an HTML file, install.html.
51
52 Other good files to look at are admin-guide.ps and user-guide.ps,
53 which contain the system administrator's guide, and the user's guide,
54 respectively.  They are also available as info files
55 kerberos-admin.info and krb5-user.info, respectively.  These files are
56 also available as HTML files.
57
58 If you are attempting to build under Windows, please see the
59 src/windows/README file.
60
61 Reporting Bugs
62 --------------
63
64 Please report any problems/bugs/comments using the krb5-send-pr
65 program.  The krb5-send-pr program will be installed in the sbin
66 directory once you have successfully compiled and installed Kerberos
67 V5 (or if you have installed one of our binary distributions).
68
69 If you are not able to use krb5-send-pr because you haven't been able
70 compile and install Kerberos V5 on any platform, you may send mail to
71 krb5-bugs@mit.edu.
72
73 Notes, Major Changes, and Known Bugs
74 ------------------------------------
75
76 * Triple DES support, for session keys as well as user or service
77   keys, should be nearly complete in this release.  Much of the work
78   that has been needed is generic multiple-cryptosystem support, so
79   the addition of another cryptosystem should be much easier.
80
81   * GSSAPI support for 3DES has been added.  An Internet Draft is
82     being worked on that will describe how this works; it is not
83     currently standardized.  Some backwards-compatibility issues in
84     this area mean that enabling 3DES support must be done with
85     caution; service keys that are used for GSSAPI must not be updated
86     to 3DES until the services themselves are upgraded to support 3DES
87     under GSSAPI.
88
89 * DNS support for locating KDCs is enabled by default.  DNS support
90   for looking up the realm of a host is compiled in but disabled by
91   default (due to some concerns with DNS spoofing).
92
93   We recommend that you publish your KDC information through DNS even
94   if you intend to rely on config files at your own site; otherwise,
95   sites that wish to communicate with you will have to keep their
96   config files updated with your information.  One of the goals of
97   this code is to reduce the client-side configuration maintenance
98   requirements as much as is possible, without compromising security.
99
100   See the administrator's guide for information on setting up DNS
101   information for your realm.
102
103   One important effect of this for developers is that on many systems,
104   "-lresolv" must be added to the compiler command line when linking
105   Kerberos programs.
106
107   Configure-time options are available to control the inclusion of the
108   DNS code and the setting of the defaults.  Entries in krb5.conf will
109   also modify the behavior if the code has been compiled in.
110
111 * Numerous buffer-overrun problems have been found and fixed.  Many of
112   these were in locations we don't expect can be exploited in any
113   useful way (for example, overrunning a buffer of MAXPATHLEN bytes if
114   a compiled-in pathname is too long, in a program that has no special
115   privileges).  It may be possible to exploit a few of these to
116   compromise system security.
117
118 * Partial support for IPv6 addresses has been added.  It can be
119   enabled or disabled at configure time with --enable-ipv6 or
120   --disable-ipv6; by default, the configure script will search for
121   certain types and macros, and enable the IPv6 code if they're found.
122   The IPv6 support at this time mostly consists of including the
123   addresses in credentials.
124
125 * A protocol change has been made to the "rcmd" suite (rlogin, rsh,
126   rcp) to address several security problems described in Kris
127   Hildrum's paper presented at NDSS 2000.  New command-line options
128   have been added to control the selection of protocol, since the
129   revised protocol is not compatible with the old one.
130
131 * A security problem in login.krb5 has been fixed.  This problem was
132   only present if the krb4 compatibility code was not compiled in.
133
134 * A security problem with ftpd has been fixed.  An error in the in the
135   yacc grammar permitted potential root access.
136
137 * The client programs kinit, klist and kdestroy have been changed to
138   incorporate krb4 support.  New command-line options control whether
139   krb4 behavior, krb5 behavior, or both are used.
140
141 * Patches from Frank Cusack for much better hardware preauth support
142   have been incorporated.
143
144 * Patches from Matt Crawford extend the kadmin ACL syntax so that
145   restrictions can be imposed on what certain administrators may do to
146   certain accounts.
147
148 * A KDC on a host with multiple network addresses will now respond to
149   a client from the address that the client used to contact it.  The
150   means used to implement this will however cause the KDC not to
151   listen on network addresses configured after the KDC has started.
152
153 Minor changes
154 -------------
155
156 * The shell code for searching for the Tcl package at configure time
157   has been modified.  If a tclConfig.sh can be found, the information
158   it contains is used, otherwise the old searching method is tried.
159   Let us know if this new scheme causes any problems.
160
161 * Shared library builds may work on HPUX, Rhapsody/MacOS X, and newer
162   Alpha systems now.
163
164 * The Windows build will now include kvno and gss-sample.
165
166 * The routine krb5_secure_config_files has been disabled.  A new
167   routine, krb5_init_secure_context, has been added in its place.
168
169 * The routine decode_krb5_ticket is now being exported as
170   krb5_decode_ticket.  Any programs that used the old name (which
171   should be few) should be changed to use the new name; we will
172   probably eliminate the old name in the future.
173
174 * The CCAPI-based credentials cache code has been changed to store the
175   local-clock time of issue and expiration rather than the KDC-clock
176   times.
177
178 * On systems with large numbers of IP addresses, "kinit" should do a
179   better job of acquiring those addresses to put in the user's
180   credentials.
181
182 * Several memory leaks in error cases in the gssrpc code have been
183   fixed.
184
185 * A bug with login clobbering some internal static storage on AIX has
186   been fixed.
187
188 * Per-library initialization and cleanup functions have been added,
189   for use in configurations that dynamically load and unload these
190   libraries.
191
192 * Many compile-time warnings have been fixed.
193
194 * The GSS sample programs have been updated to exercise more of the
195   API.
196
197 * The telnet server should produce a more meaningful error message if
198   authentication is required but not provided.
199
200 * Changes have been made to ksu to make it more difficult to use it to
201   leak information the user does not have access to.
202
203 * The sample config file information for the CYGNUS.COM realm has been
204   updated, and the GNU.ORG realm has been added.
205
206 * A configure-time option has been added to enable a replay cache in
207   the KDC.  We recommend its use when hardware preauthentication is
208   being used.  It is enabled by default, and can be disabled if
209   desired with the configure-time option --disable-kdc-replay-cache.
210
211 * Some new routines have been added to the library and krb5.h.
212
213 * A new routine has been added to the prompter interface to allow the
214   application to determine which of the strings prompted for is the
215   user's password, in case it is needed for other purposes.
216
217 * The remote kadmin interface has been enhanced to support the
218   specification of key/salt types for a principal.
219
220 * New keytab entries' key values can now be specified manually with a
221   new command in the ktutil program.
222
223 * A longstanding bug where certain krb4 exchanges using the
224   compatibility library between systems with different byte orders
225   would fail half the time has been fixed.
226
227 * A source file under the GPL has been replaced with an equivalent
228   under the BSD license.  The file, strftime.c, was part of one of the
229   OpenVision admin system applications, and was only used on systems
230   that don't have strftime() in their C libraries.
231
232 * Many bug reports are still outstanding in our database.  We are
233   continuing to work on this backlog.
234
235
236 Copyright Notice and Legal Administrivia
237 ----------------------------------------
238
239 Copyright (C) 1985-2000 by the Massachusetts Institute of Technology.
240
241 All rights reserved.
242
243 Export of this software from the United States of America may require
244 a specific license from the United States Government.  It is the
245 responsibility of any person or organization contemplating export to
246 obtain such a license before exporting.
247
248 WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
249 distribute this software and its documentation for any purpose and
250 without fee is hereby granted, provided that the above copyright
251 notice appear in all copies and that both that copyright notice and
252 this permission notice appear in supporting documentation, and that
253 the name of M.I.T. not be used in advertising or publicity pertaining
254 to distribution of the software without specific, written prior
255 permission.  Furthermore if you modify this software you must label
256 your software as modified software and not distribute it in such a
257 fashion that it might be confused with the original MIT software.
258 M.I.T. makes no representations about the suitability of this software
259 for any purpose.  It is provided "as is" without express or implied
260 warranty.
261
262 THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
263 IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
264 WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
265
266 Individual source code files are copyright MIT, Cygnus Support,
267 OpenVision, Oracle, Sun Soft, FundsXpress, and others.
268
269 Project Athena, Athena, Athena MUSE, Discuss, Hesiod, Kerberos, Moira,
270 and Zephyr are trademarks of the Massachusetts Institute of Technology
271 (MIT).  No commercial use of these trademarks may be made without
272 prior written permission of MIT.
273
274 "Commercial use" means use of a name in a product or other for-profit
275 manner.  It does NOT prevent a commercial firm from referring to the
276 MIT trademarks in order to convey information (although in doing so,
277 recognition of their trademark status should be given).
278
279 ----
280
281 The following copyright and permission notice applies to the
282 OpenVision Kerberos Administration system located in kadmin/create,
283 kadmin/dbutil, kadmin/passwd, kadmin/server, lib/kadm5, and portions
284 of lib/rpc:
285
286    Copyright, OpenVision Technologies, Inc., 1996, All Rights Reserved
287
288    WARNING: Retrieving the OpenVision Kerberos Administration system 
289    source code, as described below, indicates your acceptance of the 
290    following terms.  If you do not agree to the following terms, do not 
291    retrieve the OpenVision Kerberos administration system.
292
293    You may freely use and distribute the Source Code and Object Code
294    compiled from it, with or without modification, but this Source
295    Code is provided to you "AS IS" EXCLUSIVE OF ANY WARRANTY,
296    INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY OR
297    FITNESS FOR A PARTICULAR PURPOSE, OR ANY OTHER WARRANTY, WHETHER
298    EXPRESS OR IMPLIED.  IN NO EVENT WILL OPENVISION HAVE ANY LIABILITY
299    FOR ANY LOST PROFITS, LOSS OF DATA OR COSTS OF PROCUREMENT OF 
300    SUBSTITUTE GOODS OR SERVICES, OR FOR ANY SPECIAL, INDIRECT, OR
301    CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, INCLUDING, 
302    WITHOUT LIMITATION, THOSE RESULTING FROM THE USE OF THE SOURCE 
303    CODE, OR THE FAILURE OF THE SOURCE CODE TO PERFORM, OR FOR ANY 
304    OTHER REASON.
305
306    OpenVision retains all copyrights in the donated Source Code. OpenVision
307    also retains copyright to derivative works of the Source Code, whether
308    created by OpenVision or by a third party. The OpenVision copyright 
309    notice must be preserved if derivative works are made based on the 
310    donated Source Code.
311
312    OpenVision Technologies, Inc. has donated this Kerberos 
313    Administration system to MIT for inclusion in the standard 
314    Kerberos 5 distribution.  This donation underscores our 
315    commitment to continuing Kerberos technology development 
316    and our gratitude for the valuable work which has been 
317    performed by MIT and the Kerberos community.
318
319 ----
320
321     Portions contributed by Matt Crawford <crawdad@fnal.gov> were
322     work performed at Fermi National Accelerator Laboratory, which is
323     operated by Universities Research Association, Inc., under
324     contract DE-AC02-76CHO3000 with the U.S. Department of Energy.
325
326 Acknowledgements
327 ----------------
328
329 Appreciation Time!!!!  There are far too many people to try to thank
330 them all; many people have contributed to the development of Kerberos
331 V5.  This is only a partial listing....
332
333 Thanks to Paul Vixie and the Internet Software Consortium for funding
334 the work of Barry Jaspan.  This funding was invaluable for the OV
335 administration server integration, as well as the 1.0 release
336 preparation process.
337
338 Thanks to John Linn, Scott Foote, and all of the folks at OpenVision
339 Technologies, Inc., who donated their administration server for use in
340 the MIT release of Kerberos.
341
342 Thanks to Jeff Bigler, Mark Eichin, Marc Horowitz, Nancy Gilman, Ken
343 Raeburn, and all of the folks at Cygnus Support, who provided
344 innumerable bug fixes and portability enhancements to the Kerberos V5
345 tree.  Thanks especially to Jeff Bigler, for the new user and system
346 administrator's documentation.
347
348 Thanks to Doug Engert from ANL for providing many bug fixes, as well
349 as testing to ensure DCE interoperability.
350
351 Thanks to Ken Hornstein at NRL for providing many bug fixes and
352 suggestions.
353
354 Thanks to Matt Crawford at FNAL for bugfixes and enhancements.
355
356 Thanks to Sean Mullan and Bill Sommerfeld from Hewlett Packard for
357 their many suggestions and bug fixes.
358
359 Thanks to Nalin Dahyabhai of RedHat and Chris Evans for locating and
360 providing patches for numerous buffer overruns.
361
362 Thanks to Christopher Thompson and Marcus Watts for discovering the
363 ftpd security bug.
364
365 Thanks to the members of the Kerberos V5 development team at MIT, both
366 past and present: Danillo Almeida, Jay Berkenbilt, Richard Basch, John
367 Carr, Don Davis, Alexandra Ellwood, Nancy Gilman, Matt Hancher, Sam
368 Hartman, Paul Hill, Marc Horowitz, Eva Jacobus, Miroslav Jurisic,
369 Barry Jaspan, Geoffrey King, John Kohl, Peter Litwack, Scott McGuire,
370 Kevin Mitchell, Cliff Neuman, Paul Park, Ezra Peisach, Chris
371 Provenzano, Ken Raeburn, Jon Rochlis, Jeff Schiller, Brad Thompson,
372 Harry Tsai, Ted Ts'o, Marshall Vale, Tom Yu.