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