summaryrefslogtreecommitdiffstats
path: root/README
blob: e161fcd70cd4b78ae2bedbc666c049e91c396ed0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
		   Kerberos Version 5, Release 1.3

			    Release Notes
			The MIT Kerberos Team

Unpacking the Source Distribution
---------------------------------

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.

Instruction on how to extract the entire distribution follow.  These
directions assume that you want to extract into a directory called
DIST.

If you have the GNU tar program and gzip installed, you can simply do:

	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

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.

Building and Installing Kerberos 5
----------------------------------

The first file you should look at is doc/install-guide.ps; it contains
the notes for building and installing Kerberos 5.  The info file
krb5-install.info has the same information in info file format.  You
can view this using the GNU emacs info-mode, or by using the
standalone info file viewer from the Free Software Foundation.  This
is also available as an HTML file, install.html.

Other good files to look at are admin-guide.ps and user-guide.ps,
which contain the system administrator's guide, and the user's guide,
respectively.  They are also available as info files
kerberos-admin.info and krb5-user.info, respectively.  These files are
also available as HTML files.

If you are attempting to build under Windows, please see the
src/windows/README file.

Reporting Bugs
--------------

Please report any problems/bugs/comments using the krb5-send-pr
program.  The krb5-send-pr program will be installed in the sbin
directory once you have successfully compiled and installed Kerberos
V5 (or if you have installed one of our binary distributions).

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.

You may view bug reports by visiting

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

   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.

   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.

   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.

   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.

----

    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.

---- The implementation of the Yarrow pseudo-random number generator
in src/lib/crypto/yarrow has the following copyright:

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:

   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

 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.



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.