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