update for krb5-1.3.2-beta5
[krb5.git] / README
1                   Kerberos Version 5, Release 1.3.2
2
3                             Release Notes
4                         The MIT Kerberos Team
5
6 Unpacking the Source Distribution
7 ---------------------------------
8
9 The source distribution of Kerberos 5 comes in a gzipped tarfile,
10 krb5-1.3.2.tar.gz.  Instructions on how to extract the entire
11 distribution follow.
12
13 If you have the GNU tar program and gzip installed, you can simply do:
14
15         gtar zxpf krb5-1.3.2.tar.gz
16
17 If you don't have GNU tar, you will need to get the FSF gzip
18 distribution and use gzcat:
19
20         gzcat krb5-1.3.2.tar.gz | tar xpf -
21
22 Both of these methods will extract the sources into krb5-1.3.2/src and
23 the documentation into krb5-1.3.2/doc.
24
25 Building and Installing Kerberos 5
26 ----------------------------------
27
28 The first file you should look at is doc/install-guide.ps; it contains
29 the notes for building and installing Kerberos 5.  The info file
30 krb5-install.info has the same information in info file format.  You
31 can view this using the GNU emacs info-mode, or by using the
32 standalone info file viewer from the Free Software Foundation.  This
33 is also available as an HTML file, install.html.
34
35 Other good files to look at are admin-guide.ps and user-guide.ps,
36 which contain the system administrator's guide, and the user's guide,
37 respectively.  They are also available as info files
38 kerberos-admin.info and krb5-user.info, respectively.  These files are
39 also available as HTML files.
40
41 If you are attempting to build under Windows, please see the
42 src/windows/README file.
43
44 Reporting Bugs
45 --------------
46
47 Please report any problems/bugs/comments using the krb5-send-pr
48 program.  The krb5-send-pr program will be installed in the sbin
49 directory once you have successfully compiled and installed Kerberos
50 V5 (or if you have installed one of our binary distributions).
51
52 If you are not able to use krb5-send-pr because you haven't been able
53 compile and install Kerberos V5 on any platform, you may send mail to
54 krb5-bugs@mit.edu.
55
56 You may view bug reports by visiting
57
58 http://krbdev.mit.edu/rt/
59
60 and logging in as "guest" with password "guest".
61
62 Major changes in 1.3.2
63 ----------------------
64
65 * [2040, 1471, 2067, 2077, 2079, 2166, 2167, 2220, 2266] Support for
66   AES in GSSAPI has been implemented.  This corresponds to the
67   in-progress work in the IETF (CFX).
68
69 * [2049, 2139, 2148, 2153, 2182, 2183, 2184, 2190, 2202] Added a new
70   ccache type "MSLSA:" for read-only access to the MS Windows LSA
71   cache.
72
73 * [982] On windows, krb5.exe now has a checkbox to request addressless
74   tickets.
75
76 * [2189, 2234] To avoid compatibility problems, unrecognized TGS
77   options will now be ignored.  Thanks to Wyllys Ingersoll for finding
78   a problem with a previous fix.
79
80 * [2218] 128-bit AES has been added to the default enctypes.
81
82 * [2223, 2229] AES cryptosystem now chains IVs.  This WILL break
83   backwards compatibility for the kcmd applications, if they are using
84   AES session keys.  Thanks to Wyllys Ingersoll for finding a problem
85   with a previous fix.
86
87 Minor changes in 1.3.2
88 ----------------------
89
90 * [1437] Applied patch from Stephen Grau so kinit returns non-zero
91   status under certain failure conditions where it had previously
92   returned zero.
93
94 * [1586] On Windows, the krb4 CREDENTIALS structure has been changed
95   to align with KfW's version of the structure.
96
97 * [1613] Applied patch from Dave Shrimpton to avoid truncation of
98   dates output from the kadmin CLI when long time zone names are
99   used.
100
101 * [1622] krshd no longer calls syslog from inside a signal handler, in
102   an effort to avoid deadlocks on exit.
103
104 * [1649] A com_err test program compiles properly on Darwin now.
105
106 * [1692] A new configuration file tag "master_kdc" has been added to
107   allow master KDCs to be designated separately from admin servers.
108
109 * [1702] krb5_get_host_realm() and krb5_free_host_realm() are no
110   longer marked as KRB5_PRIVATE.
111
112 * [1711] Applied patch from Harry McGavran Jr to allow fake-addrinfo.h
113   to compile on libc5 Linux platforms.
114
115 * [1712] Applied patch from Cesar Garcia to fix lifetime computation
116   in krb524 ticket conversion.
117
118 * [1714] Fixed a 64-bit endianness bug in ticket starttime encoding in
119   krb524d.  Found by Cesar Garcia.
120
121 * [1715] kadmind4 and v5passwdd are no longer installed on Mac OS X.
122
123 * [1718] The krb4 library configure script now recognizes
124   OpenDarwin/x86.  Bug found by Rob Braun.
125
126 * [1721] krb5_get_init_creds_password() no longer returns a spurious
127   KRB5_REALM_UNKNOWN if DNS SRV record support is turned off.
128
129 * [1730] krb_mk_auth() no longer overzealously clears the key
130   schedule.
131
132 * [1731] A double-free related to reading forwarded credentials has
133   been fixed.  Found by Joseph Galbraith.
134
135 * [1770] Applied patch from Maurice Massar to fix a foreachaddr()
136   problem that was causing the KDC to segfault on startup.
137
138 * [1790] The Linux build uses $(CC) to create shared libraries,
139   avoiding a libgcc problem when building libdb.
140
141 * [1792] The lib/kadm5 unit tests now work around a Solaris 9
142   pty-close bug.
143
144 * [1793] The test suite works around some Tru64 and Irix RPATH
145   issues, which previously could prevent tests from running on a build
146   with shared libraries enabled.
147
148 * [1799] kadmind supports callouts to the Apple password server.
149
150 * [1893] KRB-SAFE messages from older releases can now be read
151   successfully.  Prior 1.3.x releases did not save the encoded
152   KRB-SAFE message, and experienced problems when re-encoding.  Found
153   by Scooter Morris.
154
155 * [1962] MS LSA tickets with short remaining lifetimes will be
156   rejected in favor of retrieving tickets bypassing the LSA cache.
157
158 * [1973] sendto_kdc.c now closes sockets with closesocket() instead of
159   close(), avoiding a descriptor leak on Windows.
160
161 * [1979] An erroneously short initial sequence number mask has been
162   fixed.
163
164 * [2028] KfW now displays a kinit dialog when GSS fails to find
165   tickets.
166
167 * [2051] Missing exports have been added to krb4_32.def on Windows.
168
169 * [2058] Some problems with krb4 ticket lifetime backdating have
170   fixed.
171
172 * [2060] GSSAPI's idea of the default ccache is less sticky now.
173
174 * [2068] The profile library includes prof-int.h before conditionals
175   that rely on it.
176
177 * [2084] The resolver library is no longer referenced by library code
178   if not building with DNS SRV record support.
179
180 * [2085] Updated Windows README file to reflect current compliation
181   requirements, etc.
182
183 * [2104] On Windows, only define strcasecmp and strncasecmp
184   replacement macros if said functions are missing.
185
186 * [2106] Return an error for unimplemented ccache functions, rather
187   than calling through a null pointer.
188
189 * [2118] Applied patch from Will Fiveash to use correct parameter for
190   KDC TCP listening sockets.
191
192 * [2144,2230] Memory management errors in the Windows gss.exe test
193   client have been fixed.
194
195 * [2171] krb5_locate_kpasswd() now correctly calls htons() on the
196   kpasswd port number.  Found by Arlene Berry.
197
198 * [2180] The profile library now includes pthread.h when compiled with
199   USE_PTHREADS.
200
201 * [2181, 2224] A timeout has been added to gss-server, and a missing
202   parameter to sign_server() has been added.
203
204 * [2196] config.{guess,sub} have been updated from autoconf-2.59.
205
206 * [2204] Windows gss.exe now has support for specifying credentials
207   cache, as well as some minor bugfixes.
208
209 * [2210] GSSAPI accept_sec_context() no longer unconditionally sets
210   INTEG and CONF flags in contradiction to what the initiator sent.
211
212 * [2212] The GSS sample application has some additional options to
213   support testing of SSPI vs GSSAPI.
214
215 * [2217] Windows gss.exe has new UI elements to support more flag
216   settings.
217
218 * [2225] In the gss sample client, some extraneous parameters have
219   been removed from client_establish_context().
220
221 * [2228] Copyright notices updated in GSS sample apps.
222
223 * [2233] On Windows compiles with KRB5_KFW_COMPILE, the lib path for
224   krbcc32.lib is now correct.
225
226 * [2195, 2236, 2241, 2245] The Solaris 9 pty-close bug, which was
227   affecting the test suite, has been worked around by hacking
228   scheduler priorities.  See the installation notes for details.
229   Thanks to Bill Sommerfeld for some useful hints.
230
231 * [2258] An incorrect memcpy() statment in fakeka has been fixed.
232   Reported by David Thompson.
233
234 Notes, Major Changes, and Known Bugs for 1.3.1
235 ----------------------------------------------
236
237 * [1681] The incorrect encoding of the ETYPE-INFO2 preauthentication
238   hint is no longer emitted, and the both the incorrect and the
239   correct encodings of ETYPE-INFO2 are now accepted.  We STRONGLY
240   encourage deploying krb5-1.3.1 in preference to 1.3, especially on
241   client installations, as the 1.3 release did not conform to the
242   internet-draft for the revised Kerberos protocol in its encoding of
243   ETYPE-INFO2.
244
245 * [1683] The non-caching getaddrinfo() API on Mac OS X, which was
246   causing significant slowdowns under some circumstances, has been
247   worked around.
248
249 Minor changes in 1.3.1
250 ----------------------
251
252 * [1015] gss_accept_sec_context() now passes correct arguments to
253   TREAD_STR() when reading options beyond the forwarded credential
254   option.  Thanks to Emily Ratliff.
255
256 * [1365] The GSSAPI initiator credentials are no longer cached inside
257   the GSSAPI library.
258
259 * [1651] A buffer overflow in krb_get_admhst() has been fixed.
260
261 * [1655] krb5_get_permitted_enctypes() and krb5_set_real_time() are
262   now exported for use by Samba.
263
264 * [1656] gss_init_sec_context() no longer leaks credentials under some
265   error conditions.
266
267 * [1657] krb_get_lrealm() no longer returns "ATHENA.MIT.EDU"
268   inappropriately.
269
270 * [1664] The crypto library no longer has bogus dependencies on
271   com_err.
272
273 * [1665] krb5_init_context() no longer multiply registers error tables
274   when called more than once, preventing a memory leak.
275
276 * [1666] The GSS_C_NT_* symbols are now exported from gssapi32.dll on
277   Windows.
278
279 * [1667] ms2mit now imports any tickets with supported enctypes, and
280   does not import invalid tickets.
281
282 * [1677] krb5_gss_register_acceptor_identity() no longer has an
283   off-by-one in its memory allocation.
284
285 * [1679] krb5_principal2salt is now exported on all platforms.
286
287 * [1684] The file credentials cache is now supported if USE_CCAPI is
288   defined, i.e., for KfM and KfW.
289
290 * [1691] Documentation for the obsolete kdc_supported_enctypes config
291   variable has been removed.
292
293 Notes, Major Changes, and Known Bugs for 1.3
294 --------------------------------------------
295
296 * We now install the compile_et program, so other packages can use the
297   installed com_err library with their own error tables.  (If you use
298   our com_err code, that is; see below.)
299
300 * The header files we install now assume ANSI/ISO C ('89, not '99).
301   We have stopped testing on SunOS 4, even with gcc.  Some of our code
302   now has C89-based assumptions, like free(NULL) being well defined,
303   that will probably frustrate any attempts to run this code under SunOS
304   4 or other pre-C89 systems.
305
306 * Some new code, bug fixes, and cleanup for IPv6 support.  Most of the
307   code should support IPv6 transparently now.  The RPC code (and
308   therefore the admin system, which is based on it) does not yet
309   support IPv6.  The support for Kerberos 4 may work with IPv6 in very
310   limited ways, if the address checking is turned off.  The FTP client
311   and server do not have support for the new protocol messages needed
312   for IPv6 support (RFC 2428).
313
314 * We have upgraded to autoconf 2.52 (or later), and the syntax for
315   specifying certain configuration options have changed.  For example,
316   autoconf 2.52 configure scripts let you specify command-line options
317   like "configure CC=/some/path/foo-cc", so we have removed some of
318   our old options like --with-cc in favor of this approach.
319
320 * The client libraries can now use TCP to connect to the KDC.  This
321   may be necessary when talking to Microsoft KDCs (domain controllers),
322   if they issue you tickets with lots of PAC data.
323
324 * If you have versions of the com_err or ss installed locally, you can
325   use the --with-system-et and --with-system-ss configure options to
326   use them rather than using the versions supplied here.  Note that
327   the interfaces are assumed to be similar to those we supply; in
328   particular, some older, divergent versions of the com_err library
329   may not work with the krb5 sources.  Many configure-time variables
330   can be used to help the compiler and linker find the installed
331   packages; see the build documentation for details.
332
333 * The AES cryptosystem has been implemented.  However, support in the
334   Kerberos GSSAPI mechanism has not been written (or even fully
335   specified), so it's not fully enabled.  See the documentation for
336   details.
337
338 Major changes listed by ticket ID
339 ---------------------------------
340
341 * [492] PRNG breakage on 64-bit platforms no longer an issue due to
342   new PRNG implementation.
343
344 * [523] Client library is now compatible with the RC4-based
345   cryptosystem used by Windows 2000.
346
347 * [709] krb4 long lifetime support has been implemented.
348
349 * [880] krb5_gss_register_acceptor_identity() implemented (is called
350   gsskrb5_register_acceptor_identity() by Heimdal).
351
352 * [1087] ftpd no longer requires channel bindings, allowing easier use
353   of ftp from behind a NAT.
354
355 * [1156, 1209] It is now possible to use the system com_err to build
356   this release.
357
358 * [1174] TCP support added to client library.
359
360 * [1175] TCP support added to the KDC, but is disabled by default.
361
362 * [1176] autoconf-2.5x is now required by the build system.
363
364 * [1184] It is now possible to use the system Berkeley/Sleepycat DB
365   library to build this release.
366
367 * [1189, 1251] The KfM krb4 library source base has been merged.
368
369 * [1190] The default KDC master key type is now triple-DES.  KDCs
370   being updated may need their config files updated if they are not
371   already specifying the master key type.
372
373 * [1190] The default ticket lifetime and default maximum renewable
374   ticket lifetime have been extended to one day and one week,
375   respectively.
376
377 * [1191] A new script, k5srvutil, may be used to manipulate keytabs in
378   ways similar to the krb4 ksrvutil utility.
379
380 * [1281] The "fakeka" program, which emulates the AFS kaserver, has
381   been integrated.  Thanks to Ken Hornstein.
382
383 * [1343] The KDC now defaults to not answering krb4 requests.
384
385 * [1344] Addressless tickets are requested by default now.
386
387 * [1372] There is no longer a need to create a special keytab for
388   kadmind.  The legacy administration daemons "kadmind4" and
389   "v5passwdd" will still require a keytab, though.
390
391 * [1377, 1442, 1443] The Microsoft set-password protocol has been
392   implemented.  Thanks to Paul Nelson.
393
394 * [1385, 1395, 1410] The krb4 protocol vulnerabilities
395   [MITKRB5-SA-2003-004] have been worked around.  Note that this will
396   disable krb4 cross-realm functionality, as well as krb4 triple-DES
397   functionality.  Please see doc/krb4-xrealm.txt for details of the
398   patch.
399
400 * [1393] The xdrmem integer overflows [MITKRB5-SA-2003-003] have
401   been fixed.
402
403 * [1397] The krb5_principal buffer bounds problems
404   [MITKRB5-SA-2003-005] have been fixed.  Thanks to Nalin Dahyabhai.
405
406 * [1415] Subsession key negotiation has been fixed to allow for
407   server-selected subsession keys in the future.
408
409 * [1418, 1429, 1446, 1484, 1486, 1487, 1535, 1621] The AES
410   cryptosystem has been implemented.  It is not usable for GSSAPI,
411   though.
412
413 * [1491] The client-side functionality of the krb524 library has been
414   moved into the krb5 library.
415
416 * [1550] SRV record support exists for Kerberos v4.
417
418 * [1551] The heuristic for locating the Kerberos v4 KDC by prepending
419   "kerberos." to the realm name if no config file or DNS information
420   is available has been removed.
421
422 * [1568, 1067] A krb524 stub library is built on Windows.
423
424 Minor changes listed by ticket ID
425 ---------------------------------
426
427 * [90] default_principal_flags documented.
428
429 * [175] Docs refer to appropriate example domains/IPs now.
430
431 * [299] kadmin no longer complains about missing kdc.conf parameters
432   when it really means krb5.conf parameters.
433
434 * [318] Run-time load path for tcl is set now when linking test
435   programs.
436
437 * [443] --includedir honored now.
438
439 * [479] unused argument in try_krb4() in login.c deleted.
440
441 * [590] The des_read_pw_string() function in libdes425 has been
442   aligned with the original krb4 and CNS APIs.
443
444 * [608] login.krb5 handles SIGHUP more sanely now and thus avoids
445   getting the session into a weird state w.r.t. job control.
446
447 * [620] krb4 encrypted rcp should work a little better now.  Thanks to
448   Greg Hudson.
449
450 * [647] libtelnet/kerberos5.c no longer uses internal include files.
451
452 * [673] Weird echoing of admin password in kadmin client worked around
453   by not using buffered stdio calls to read passwords.
454
455 * [677] The build system has been reworked to allow the user to set
456   CFLAGS, LDFLAGS, CPPFLAGS, etc. reasonably.
457
458 * [680] Related to [673], rewrite krb5_prompter_posix() to no longer
459   use longjmp(), thus avoiding some bugs relating to non-restoration
460   of terminal settings.
461
462 * [697] login.krb5 no longer zeroes out the terminal window size.
463
464 * [710] decomp_ticket() in libkrb4 now looks up the local realm name
465   more correctly.  Thanks to Booker Bense.
466
467 * [771] .rconf files are excluded from the release now.
468
469 * [772] LOG_AUTHPRIV syslog facility is now usable for logging on
470   systems that support it.
471
472 * [844] krshd now syslogs using the LOG_AUTH facility.
473
474 * [850] Berekely DB build is better integrated into the krb5 library
475   build process.
476
477 * [866] lib/krb5/os/localaddr.c and kdc/network.c use a common source
478   for local address enumeration now.
479
480 * [882] gss-client now correctly deletes the context on error.
481
482 * [919] kdc/network.c problems relating to SIOCGIFCONF have been
483   fixed.
484
485 * [922] An overflow in the string-to-time conversion routines has been
486   fixed.
487
488 * [933] krb524d now handles single-DES session keys other than of type
489   des-cbc-crc.
490
491 * [935] des-cbc-md4 now included in default enctypes.
492
493 * [939] A minor grammatical error has been fixed in a telnet client
494   error message.
495
496 * [953] des3 no longer failing on Windows due to SHA1 implementation
497   problems.
498
499 * [964] kdb_init_hist() no longer fails if master_key_enctype is not
500   in supported_enctypes.
501
502 * [970] A minor inconsistency in ccache.tex has been fixed.
503
504 * [971] option parsing bugs rendered irrelevant by removal of unused
505   gss mechanism.
506
507 * [976] make install mentioned in build documentation.
508
509 * [986] Related to [677], problems with the ordering of LDFLAGS
510   initialization rendered irrelevant by use of native autoconf
511   idioms.
512
513 * [992] Related to [677], quirks with --with-cc no longer relevant as
514   AC_PROG_CC is used instead now.
515
516 * [999] The kdc_default_options configuration variable is now honored.
517   Thanks to Emily Ratliff.
518
519 * [1006] Client library, as well as KDC, now perform reasonable
520   sorting of ETYPE-INFO preauthentication data.
521
522 * [1055] NULL pointer dereferences in code calling
523   krb5_change_password() have been fixed.
524
525 * [1063] Initial credentials acquisition failures related to client
526   host having a large number of local network interfaces should be
527   fixed now.
528
529 * [1064] Incorrect option parsing in the gssapi library is no longer
530   relevant due to removal of the "v2" mechanism.
531
532 * [1065, 1225] krb5_get_init_creds_password() should properly warn about
533   password expiration.
534
535 * [1066] printf() argument mismatches in rpc unit tests fixed.
536
537 * [1085] The krb5.conf manpage has been re-synchronized with other
538   documentation.
539
540 * [1102] gssapi_generic.h should now work with C++.
541
542 * [1135] The kadm5 ACL system is better documented.
543
544 * [1136] Some documentation for the setup of cross-realm
545   authentication has been added.
546
547 * [1164] krb5_auth_con_gen_addrs() now properly returns errno instead
548   of -1 if getpeername() fails.
549
550 * [1173] Address-less forwardable tickets will remain address-less
551   when forwarded.
552
553 * [1178, 1228, 1244, 1246, 1249] Test suite has been stabilized
554   somewhat.
555
556 * [1188] As part of the modernization of our usage of autoconf,
557   AC_CONFIG_FILES is now used instead of passing a list of files to
558   AC_OUTPUT.
559
560 * [1194] configure will no longer recurse out of the top of the source
561   tree when attempting to locate the top of the source tree.
562
563 * [1192] Documentation for the krb5 afs functionality of krb524d has
564   been written.
565
566 * [1195] Example krb5.conf file modified to include all enctypes
567   supported by the release.
568
569 * [1202] The KDC no longer rejects unrecognized flags.
570
571 * [1203] krb5_get_init_creds_keytab() no longer does a double-free.
572
573 * [1211] The ASN.1 code no longer passes (harmless) uninitialized
574   values around.
575
576 * [1212] libkadm5 now allows for persistent exclusive database locks.
577
578 * [1217] krb5_read_password() and des_read_password() are now
579   implemented via krb5_prompter_posix().
580
581 * [1224] For SAM challenges, omitted optional strings are no longer
582   encoded as zero-length strings.
583
584 * [1226] Client-side support for SAM hardware-based preauth
585   implemented.
586
587 * [1229] The keytab search logic no longer fails prematurely if an
588   incorrect encryption type is found.  Thanks to Wyllys Ingersoll.
589
590 * [1232] If the master KDC cannot be resolved, but a slave is
591   reachable, the client library now returns the real error from the
592   slave rather than the resolution failure from the master.  Thanks to
593   Ben Cox.
594
595 * [1234] Assigned numbers for SAM preauth have been corrected.
596   sam-pk-for-sad implementation has been aligned.
597
598 * [1237] Profile-sharing optimizations from KfM have been merged.
599
600 * [1240] Windows calling conventions for krb5int_c_combine_keys() have
601   been aligned.
602
603 * [1242] Build system incompatibilities with Debian's chimeric
604   autoconf installation have been worked around.
605
606 * [1256] Incorrect sizes passed to memset() in combine_keys()
607   operations have been corrected.
608
609 * [1260] Client credential lookup now gets new service tickets in
610   preference to attempting to use expired ticketes.  Thanks to Ben
611   Cox.
612
613 * [1262, 1572] Sequence numbers are now unsigned; negative sequence
614   numbers will be accepted for the purposes of backwards
615   compatibility.
616
617 * [1263] A heuristic for matching the incorrectly encoded sequence
618   numbers emitted by Heimdal implementations has been written.
619
620 * [1284] kshd accepts connections by IPv6 now.
621
622 * [1292] kvno manpage title fixed.
623
624 * [1293] Source files no longer explicitly attempt to declare errno.
625
626 * [1304] kadmind4 no longer leaves sa_flags uninitialized.
627
628 * [1305] Expired tickets now cause KfM to pop up a password dialog.
629
630 * [1309] krb5_send_tgs() no longer leaks the storage associated with
631   the TGS-REQ.
632
633 * [1310] kadm5_get_either() no longer leaks regexp library memory.
634
635 * [1311] Output from krb5-config no longer contains spurious uses of
636   $(PURE).
637
638 * [1324] The KDC no longer logs an inappropriate "no matching key"
639   error when an encrypted timestamp preauth password is incorrect.
640
641 * [1334] The KDC now returns a clockskew error when the timestamp in
642   the encrypted timestamp preauth is out of bounds, rather than just
643   returning a preauthentcation failure.
644
645 * [1342] gawk is no longer required for building kerbsrc.zip for the
646   Windows build.
647
648 * [1346] gss_krb5_ccache_name() no longer attempts to return a pointer
649   to freed memory.
650
651 * [1351] The filename globbing vulnerability [CERT VU#258721] in the
652   ftp client's handling of filenames beginning with "|" or "-"
653   returned from the "mget" command has been fixed.
654
655 * [1352] GSS_C_PROT_READY_FLAG is no longer asserted inappropriately
656   during GSSAPI context establishment.
657
658 * [1356] krb5_gss_accept_sec_context() no longer attempts to validate
659   a null credential if one is passed in.
660
661 * [1362] The "-a user" option to telnetd now does the right thing.
662   Thanks to Nathan Neulinger.
663
664 * [1363] ksu no longer inappropriately syslogs to stderr.
665
666 * [1357] krb__get_srvtab_name() no longer leaks memory.
667
668 * [1370] GSS_C_NO_CREDENTIAL now accepts any principal in the keytab.
669
670 * [1373] Handling of SAM preauth no longer attempts to stuff a size_t
671   into an unsigned int.
672
673 * [1387] BIND versions later than 8 now supported.
674
675 * [1392] The getaddrinfo() wrapper should work better on AIX.
676
677 * [1400] If DO_TIME is not set in the auth_context, and no replay
678   cache is available, no replay cache will be used.
679
680 * [1406, 1108] libdb is no longer installed.  If you installed
681   krb5-1.3-alpha1, you should ensure that no spurious libdb is left in
682   your install tree.
683
684 * [1412] ETYPE_INFO handling no longer goes into an infinite loop.
685
686 * [1414] libtelnet is now built using the same library build framework
687   as the rest of the tree.
688
689 * [1417] A minor memory leak in krb5_read_password() has been fixed.
690
691 * [1419] A memory leak in asn1_decode_kdc_req_body() has been fixed.
692
693 * [1435] inet_ntop() is now emulated when needed.
694
695 * [1439] krb5_free_pwd_sequences() now correctly frees the entire
696   sequence of elements.
697
698 * [1440] errno is no longer explicitly declared.
699
700 * [1441] kadmind should now return useful errors if an unrecognized
701   version is received in a changepw request.
702
703 * [1454, 1480, 1517, 1525] The etype-info2 preauth type is now
704   supported.
705
706 * [1459] (KfM/KLL internal) config file resolution can now be
707   prevented from accessing the user's homedir.
708
709 * [1463] Preauth handling in the KDC has been reorganized.
710
711 * [1470] Double-free in client-side preauth code fixed.
712
713 * [1473] Ticket forwarding when the TGS and the end service have
714   different enctypes should work somewhat better now.
715
716 * [1474] ASN.1 testsuite memory management has been cleaned up a
717   little to allow for memory leak checking.
718
719 * [1476] Documentation updated to reflect default krb4 mode.
720
721 * [1482] RFC-1964 OIDs now provided using the suggested symbolic
722   names.
723
724 * [1483, 1528] KRB5_DEPRECATED is now false by default on all
725   platforms.
726
727 * [1488] The KDC will now return integrity errors if a decryption
728   error is responsible for preauthentication failure.
729
730 * [1492] The autom4te.cache directories are now deleted from the
731   release tarfiles.
732
733 * [1501] Writable keytabs are registered by default.
734
735 * [1515] The check for cross-realm TGTs no longer reads past the end
736   of an array.
737
738 * [1518] The kdc_default_options option is now actually honored.
739
740 * [1519] The changepw protocol implementation in kadmind now logs
741   password changes.
742
743 * [1520] Documentation of OS-specific build options has been updated.
744
745 * [1536] A missing prototype for krb5_db_iterate_ext() has been
746   added.
747
748 * [1537] An incorrect path to kdc.conf show in the kdc.conf manpage
749   has been fixed.
750
751 * [1540] verify_as_reply() will only check the "renew-till" time
752   against the "till" time if the RENEWABLE is not set in the request.
753
754 * [1547] gssftpd no longer uses vfork(), as this was causing problems
755   under RedHat 9.
756
757 * [1549] SRV records with a value of "." are now interpreted as a lack
758   of support for the protocol.
759
760 * [1553] The undocumented (and confusing!) kdc_supported_enctypes
761   kdc.conf variable is no longer used.
762
763 * [1560] Some spurious double-colons in password prompts have been
764   fixed.
765
766 * [1571] The test suite tries a little harder to get a root shell.
767
768 * [1573] The KfM build process now sets localstatedir=/var/db.
769
770 * [1576, 1575] The client library no longer requests RENEWABLE_OK if
771   the renew lifetime is greater than the ticket lifetime.
772
773 * [1587] A more standard autoconf test to locate the C compiler allows
774   for gcc to be found by default without additional configuration
775   arguments.
776
777 * [1593] Replay cache filenames are now escaped with hyphens, not
778   backslashes.
779
780 * [1598] MacOS 9 support removed from in-tree com_err.
781
782 * [1602] Fixed a memory leak in make_ap_req_v1().  Thanks to Kent Wu.
783
784 * [1604] Fixed a memory leak in krb5_gss_init_sec_context(), and an
785   uninitialized memory reference in kg_unseal_v1().  Thanks to Kent
786   Wu.
787
788 * [1607] kerberos-iv SRV records are now documented.
789
790 * [1610] Fixed AES credential delegation under GSSAPI.
791
792 * [1618] ms2mit no longer inserts local addresses into tickets
793   converted from the MS ccache if they began as addressless tickets.
794
795 * [1619] etype_info parser (once again) accepts extra field emitted by
796   Heimdal.
797
798 * [1643] Some typos in kdc.conf.M have been fixed.
799
800 * [1648] For consistency, leading spaces before preprocessor
801   directives in profile.h have been removed.
802
803 --[ DELETE BEFORE RELEASE ---changes to unreleased code, etc.--- ]--
804
805 * [1054] KRB-CRED messages for RC4 are encrypted now.
806
807 * [1177] krb5-1-2-2-branch merged onto trunk.
808
809 * [1193] Punted comment about reworking key storage architecture.
810
811 * [1208] install-headers target implemented.
812
813 * [1223] asn1_decode_oid, asn1_encode_oid implemented
814
815 * [1248] RC4 is explicitly excluded from combine_keys.
816
817 * [1276] Generated dependencies handle --without-krb4 properly now.
818
819 * [1339] An inadvertent change to the krb4 get_adm_hst API (strcpy vs
820   strncpy etc.) has been fixed.
821
822 * [1384, 1413] Use of autoconf-2.52 in util/reconf will now cause a
823   warning.
824
825 * [1388] DNS support is turned on in KfM.
826
827 * [1391] Fix kadmind startup failure with krb4 vuln patch.
828
829 * [1409] get_ad_tkt() now prompts for password if there are no tickets
830   (in KfM).
831
832 * [1447] vts_long() and vts_short() work now.
833
834 * [1462] KfM adds exports of set_pw calls.
835
836 * [1477] compile_et output not used in err_txt.c.
837
838 * [1495] KfM now exports string_to_key_with_params.
839
840 * [1512, 1522] afs_string_to_key now works with etype_info2.
841
842 * [1514] krb5int_populate_gic_opt returns void now.
843
844 * [1521] Using an afs3 salt for an AES key no longer causes
845   segfaults.
846
847 * [1533] krb524.h no longer contains invalid Mac pragmas.
848
849 * [1546] krb_mk_req_creds() no longer zeros the session key.
850
851 * [1554] The krb4 string-to-key iteration now accounts correctly for
852   the decrypt-in-place semantics of libdes425.
853
854 * [1557] KerberosLoginPrivate.h is now correctly included for the use
855   of __KLAllowHomeDirectoryAccess() in init_os_ctx.c (for KfM).
856
857 * [1558] KfM exports the new krb524 interface.
858
859 * [1563] krb__get_srvtaname() no longer returns a pointer that is
860   free()d upon a subsequent call.
861
862 * [1569] A debug statement has been removed from krb524init.
863
864 * [1592] Document possible file rename lossage when building against
865   system libdb.
866
867 * [1594] Darwin gets an explicit dependency of err_txt.o on
868   krb_err.c.
869
870 * [1596] Calling conventions, etc. tweaked for KfW build of
871   krb524.dll.
872
873 * [1600] Minor tweaks to README to improve notes on IPv6, etc.
874
875 * [1605] Fixed a leak of subkeys in krb5_rd_rep().
876
877 * [1630] krb5_get_in_tkt_with_keytab() works now; previously borken by
878   reimplementation in terms of krb5_get_init_creds().
879
880 * [1642] KfM build now inherits CFLAGS and LDFLAGS from parent project.
881
882 Copyright Notice and Legal Administrivia
883 ----------------------------------------
884
885 Copyright (C) 1985-2004 by the Massachusetts Institute of Technology.
886
887 All rights reserved.
888
889 Export of this software from the United States of America may require
890 a specific license from the United States Government.  It is the
891 responsibility of any person or organization contemplating export to
892 obtain such a license before exporting.
893
894 WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
895 distribute this software and its documentation for any purpose and
896 without fee is hereby granted, provided that the above copyright
897 notice appear in all copies and that both that copyright notice and
898 this permission notice appear in supporting documentation, and that
899 the name of M.I.T. not be used in advertising or publicity pertaining
900 to distribution of the software without specific, written prior
901 permission.  Furthermore if you modify this software you must label
902 your software as modified software and not distribute it in such a
903 fashion that it might be confused with the original MIT software.
904 M.I.T. makes no representations about the suitability of this software
905 for any purpose.  It is provided "as is" without express or implied
906 warranty.
907
908 THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
909 IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
910 WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
911
912 Individual source code files are copyright MIT, Cygnus Support,
913 OpenVision, Oracle, Sun Soft, FundsXpress, and others.
914
915 Project Athena, Athena, Athena MUSE, Discuss, Hesiod, Kerberos, Moira,
916 and Zephyr are trademarks of the Massachusetts Institute of Technology
917 (MIT).  No commercial use of these trademarks may be made without
918 prior written permission of MIT.
919
920 "Commercial use" means use of a name in a product or other for-profit
921 manner.  It does NOT prevent a commercial firm from referring to the
922 MIT trademarks in order to convey information (although in doing so,
923 recognition of their trademark status should be given).
924
925 ----
926
927 The following copyright and permission notice applies to the
928 OpenVision Kerberos Administration system located in kadmin/create,
929 kadmin/dbutil, kadmin/passwd, kadmin/server, lib/kadm5, and portions
930 of lib/rpc:
931
932    Copyright, OpenVision Technologies, Inc., 1996, All Rights Reserved
933
934    WARNING: Retrieving the OpenVision Kerberos Administration system 
935    source code, as described below, indicates your acceptance of the 
936    following terms.  If you do not agree to the following terms, do not 
937    retrieve the OpenVision Kerberos administration system.
938
939    You may freely use and distribute the Source Code and Object Code
940    compiled from it, with or without modification, but this Source
941    Code is provided to you "AS IS" EXCLUSIVE OF ANY WARRANTY,
942    INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY OR
943    FITNESS FOR A PARTICULAR PURPOSE, OR ANY OTHER WARRANTY, WHETHER
944    EXPRESS OR IMPLIED.  IN NO EVENT WILL OPENVISION HAVE ANY LIABILITY
945    FOR ANY LOST PROFITS, LOSS OF DATA OR COSTS OF PROCUREMENT OF 
946    SUBSTITUTE GOODS OR SERVICES, OR FOR ANY SPECIAL, INDIRECT, OR
947    CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, INCLUDING, 
948    WITHOUT LIMITATION, THOSE RESULTING FROM THE USE OF THE SOURCE 
949    CODE, OR THE FAILURE OF THE SOURCE CODE TO PERFORM, OR FOR ANY 
950    OTHER REASON.
951
952    OpenVision retains all copyrights in the donated Source Code. OpenVision
953    also retains copyright to derivative works of the Source Code, whether
954    created by OpenVision or by a third party. The OpenVision copyright 
955    notice must be preserved if derivative works are made based on the 
956    donated Source Code.
957
958    OpenVision Technologies, Inc. has donated this Kerberos 
959    Administration system to MIT for inclusion in the standard 
960    Kerberos 5 distribution.  This donation underscores our 
961    commitment to continuing Kerberos technology development 
962    and our gratitude for the valuable work which has been 
963    performed by MIT and the Kerberos community.
964
965 ----
966
967     Portions contributed by Matt Crawford <crawdad@fnal.gov> were
968     work performed at Fermi National Accelerator Laboratory, which is
969     operated by Universities Research Association, Inc., under
970     contract DE-AC02-76CHO3000 with the U.S. Department of Energy.
971
972 ---- The implementation of the Yarrow pseudo-random number generator
973 in src/lib/crypto/yarrow has the following copyright:
974
975 Copyright 2000 by Zero-Knowledge Systems, Inc.
976
977 Permission to use, copy, modify, distribute, and sell this software
978 and its documentation for any purpose is hereby granted without fee,
979 provided that the above copyright notice appear in all copies and that
980 both that copyright notice and this permission notice appear in
981 supporting documentation, and that the name of Zero-Knowledge Systems,
982 Inc. not be used in advertising or publicity pertaining to
983 distribution of the software without specific, written prior
984 permission.  Zero-Knowledge Systems, Inc. makes no representations
985 about the suitability of this software for any purpose.  It is
986 provided "as is" without express or implied warranty.
987
988 ZERO-KNOWLEDGE SYSTEMS, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO
989 THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
990 FITNESS, IN NO EVENT SHALL ZERO-KNOWLEDGE SYSTEMS, INC. BE LIABLE FOR
991 ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
992 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
993 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT
994 OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
995
996 ---- The implementation of the AES encryption algorithm in
997 src/lib/crypto/aes has the following copyright:
998
999  Copyright (c) 2001, Dr Brian Gladman <brg@gladman.uk.net>, Worcester, UK.
1000  All rights reserved.
1001
1002  LICENSE TERMS
1003
1004  The free distribution and use of this software in both source and binary 
1005  form is allowed (with or without changes) provided that:
1006
1007    1. distributions of this source code include the above copyright 
1008       notice, this list of conditions and the following disclaimer;
1009
1010    2. distributions in binary form include the above copyright
1011       notice, this list of conditions and the following disclaimer
1012       in the documentation and/or other associated materials;
1013
1014    3. the copyright holder's name is not used to endorse products 
1015       built using this software without specific written permission. 
1016
1017  DISCLAIMER
1018
1019  This software is provided 'as is' with no explcit or implied warranties
1020  in respect of any properties, including, but not limited to, correctness 
1021  and fitness for purpose.
1022
1023
1024
1025 Acknowledgements
1026 ----------------
1027
1028 Appreciation Time!!!!  There are far too many people to try to thank
1029 them all; many people have contributed to the development of Kerberos
1030 V5.  This is only a partial listing....
1031
1032 Thanks to Paul Vixie and the Internet Software Consortium for funding
1033 the work of Barry Jaspan.  This funding was invaluable for the OV
1034 administration server integration, as well as the 1.0 release
1035 preparation process.
1036
1037 Thanks to John Linn, Scott Foote, and all of the folks at OpenVision
1038 Technologies, Inc., who donated their administration server for use in
1039 the MIT release of Kerberos.
1040
1041 Thanks to Jeff Bigler, Mark Eichin, Marc Horowitz, Nancy Gilman, Ken
1042 Raeburn, and all of the folks at Cygnus Support, who provided
1043 innumerable bug fixes and portability enhancements to the Kerberos V5
1044 tree.  Thanks especially to Jeff Bigler, for the new user and system
1045 administrator's documentation.
1046
1047 Thanks to Doug Engert from ANL for providing many bug fixes, as well
1048 as testing to ensure DCE interoperability.
1049
1050 Thanks to Ken Hornstein at NRL for providing many bug fixes and
1051 suggestions, and for working on SAM preauthentication.
1052
1053 Thanks to Matt Crawford at FNAL for bugfixes and enhancements.
1054
1055 Thanks to Sean Mullan and Bill Sommerfeld from Hewlett Packard for
1056 their many suggestions and bug fixes.
1057
1058 Thanks to Nalin Dahyabhai of RedHat and Chris Evans for locating and
1059 providing patches for numerous buffer overruns.
1060
1061 Thanks to Christopher Thompson and Marcus Watts for discovering the
1062 ftpd security bug.
1063
1064 Thanks to Paul Nelson of Thursby Software Systems for implementing the
1065 Microsoft set password protocol.
1066
1067 Thanks to the members of the Kerberos V5 development team at MIT, both
1068 past and present: Danilo Almeida, Jeffrey Altman, Jay Berkenbilt,
1069 Richard Basch, Mitch Berger, John Carr, Don Davis, Alexandra Ellwood,
1070 Nancy Gilman, Matt Hancher, Sam Hartman, Paul Hill, Marc Horowitz, Eva
1071 Jacobus, Miroslav Jurisic, Barry Jaspan, Geoffrey King, John Kohl,
1072 Peter Litwack, Scott McGuire, Kevin Mitchell, Cliff Neuman, Paul Park,
1073 Ezra Peisach, Chris Provenzano, Ken Raeburn, Jon Rochlis, Jeff
1074 Schiller, Jen Selby, Brad Thompson, Harry Tsai, Ted Ts'o, Marshall
1075 Vale, Tom Yu.