xref: /netbsd-src/crypto/external/bsd/heimdal/dist/NEWS (revision b0d1725196a7921d003d2c66a14f186abda4176b)
1Release Notes - Heimdal - Version Heimdal 7.7
2
3 Bug fixes
4
5 - PKCS#11 hcrypto back-end
6   . initialize the p11_module_load function list
7   . verify that not only is a mechanism present but that its mechanism
8     info states that it offers the required encryption, decryption or
9     digest services
10 - krb5:
11   . Starting with 7.6, Heimdal permitted requesting authenticated
12     anonymous tickets.  However, it did not verify that a KDC in fact
13     returned an anonymous ticket when one was requested.
14   - Cease setting the KDCOption reaquest_anonymous flag when issuing
15     S4UProxy (constrained delegation) TGS requests.
16   . when the Win2K PKINIT compatibility option is set, do
17     not require krbtgt otherName to match when validating KDC
18     certificate.
19   . set PKINIT_BTMM flag per Apple implementation
20   . use memset_s() instead of memset()
21 - kdc:
22   . When generating KRB5SignedPath in the AS, use the reply client name
23     rather than the one from the request, so validation will work
24     correctly in the TGS.
25   . allow checksum of PA-FOR-USER to be HMAC_MD5.  Even if tgt used
26     an enctype with a different checksum.  Per [MS-SFU] 2.2.1
27     PA-FOR-USER the checksum is always HMAC_MD5, and that's what
28     Windows and MIT clients send.
29
30     In heimdal both the client and kdc use instead the
31     checksum of the tgt, and therefore work with each other
32     but Windows and MIT clients fail against heimdal KDC.
33
34     Both Windows and MIT KDCs would allow any keyed checksum
35     to be used so Heimdal client interoperates with them.
36
37     Change Heimdal KDC to allow HMAC_MD5 even for non RC4
38     based tgt in order to support per-spec clients.
39   . use memset_s() instead of memset().
40   - Detect Heimdal 1.0 through 7.6 clients that issue S4UProxy
41     (constrained delegation) TGS Requests with the request
42     anonymous flag set.  These requests will be treated as
43     S4UProxy requests and not anonymous requests.
44 - HDB:
45   . Set SQLite3 backend default page size to 8KB.
46   . Add hdb_set_sync() method
47 - kadmind:
48   . disable HDB sync during database load avoiding unnecessary disk i/o.
49 - ipropd:
50   . disable HDB sync during receive_everything.  Doing an fsync
51     per-record when receiving the complete HDB is a performance
52     disaster.  Among other things, if the HDB is very large, then
53     one slave receving a full HDB can cause other slaves to timeout
54     and, if HDB write activity is high enough to cause iprop log
55     truncation, then also need full syncs, which leads to a cycle of
56     full syncs for all slaves until HDB write activity drops.
57     Allowing the iprop log to be larger helps, but improving
58     receive_everything() performance helps even more.
59 - kinit:
60   . Anonymous PKINIT tickets discard the realm information used
61     to locate the issuing AS. Store the issuing realm in the
62     credentials cache in order to locate a KDC which can renew them.
63   . Do not leak the result of krb5_cc_get_config() when determining
64     anonymous PKINIT start realm.
65  - klist:
66    . Show transited-policy-checked, ok-as-delegate and anonymous
67      flags when listing credentials.
68 - tests:
69   . Regenerate certs so that they expire before the 2038 armageddon
70     so the test suite will pass on 32-bit operating systems until the
71     underlying issues can be resolved.
72 - Solaris:
73   . Define _STDC_C11_BCI for memset_s prototype
74 - build tooling:
75   . Convert from python 2 to python 3
76 - documentation
77   . rename verify-password to verify-password-quality
78   . hprop default mode is encrypt
79   . kadmind "all" permission does not include "get-keys"
80   . verify-password-quality might not be stateless
81
82Release Notes - Heimdal - Version Heimdal 7.6
83
84 Security
85
86 - CVE-2018-16860 Heimdal KDC: Reject PA-S4U2Self with unkeyed checksum
87
88    When the Heimdal KDC checks the checksum that is placed on the
89    S4U2Self packet by the server to protect the requested principal
90    against modification, it does not confirm that the checksum
91    algorithm that protects the user name (principal) in the request
92    is keyed.  This allows a man-in-the-middle attacker who can
93    intercept the request to the KDC to modify the packet by replacing
94    the user name (principal) in the request with any desired user
95    name (principal) that exists in the KDC and replace the checksum
96    protecting that name with a CRC32 checksum (which requires no
97    prior knowledge to compute).
98
99    This would allow a S4U2Self ticket requested on behalf of user
100    name (principal) user@EXAMPLE.COM to any service to be changed
101    to a S4U2Self ticket with a user name (principal) of
102    Administrator@EXAMPLE.COM. This ticket would then contain the
103    PAC of the modified user name (principal).
104
105 - CVE-2019-12098, client-only:
106
107    RFC8062 Section 7 requires verification of the PA-PKINIT-KX key excahnge
108    when anonymous PKINIT is used.  Failure to do so can permit an active
109    attacker to become a man-in-the-middle.
110
111 Bug fixes
112
113 - Happy eyeballs: Don't wait for responses from known-unreachable KDCs.
114 - kdc: check return copy_Realm, copy_PrincipalName, copy_EncryptionKey
115 - kinit:
116   . cleanup temporary ccaches
117   . see man page for "kinit --anonymous" command line syntax change
118 - kdc: Make anonymous AS-requests more RFC8062-compliant.
119 - Updated expired test certificates
120 - Solaris:
121   . PKCS#11 hcrypto backend broken since 7.0.1
122   . Building with Sun Pro C
123
124 Features
125
126 - kuser: support authenticated anonymous AS-REQs in kinit
127 - kdc: support for anonymous TGS-REQs
128 - kgetcred support for anonymous service tickets
129 - Support builds with OpenSSL 1.1.1
130
131Release Notes - Heimdal - Version Heimdal 7.5
132
133 Security
134
135 - Fix CVE-2017-17439, which is a remote denial of service
136   vulnerability:
137
138     In Heimdal 7.1 through 7.4, remote unauthenticated attackers
139     are able to crash the KDC by sending a crafted UDP packet
140     containing empty data fields for client name or realm.
141
142 Bug fixes
143
144 - Handle long input lines when reloading database dumps.
145
146 - In pre-forked mode (default on Unix), correctly clear
147   the process ids of exited children, allowing new child processes
148   to replace the old.
149
150 - Fixed incorrect KDC response when no-cross realm TGT exists,
151   allowing client requests to fail quickly rather than time
152   out after trying to get a correct answer from each KDC.
153
154Release Notes - Heimdal - Version Heimdal 7.4
155
156 Security
157
158 - Fix CVE-2017-11103: Orpheus' Lyre KDC-REP service name validation
159
160   This is a critical vulnerability.
161
162   In _krb5_extract_ticket() the KDC-REP service name must be obtained from
163   encrypted version stored in 'enc_part' instead of the unencrypted version
164   stored in 'ticket'.  Use of the unecrypted version provides an
165   opportunity for successful server impersonation and other attacks.
166
167   Identified by Jeffrey Altman, Viktor Duchovni and Nico Williams.
168
169   See https://www.orpheus-lyre.info/ for more details.
170
171Release Notes - Heimdal - Version Heimdal 7.3
172
173 Security
174
175 - Fix transit path validation.  Commit f469fc6 (2010-10-02) inadvertently
176   caused the previous hop realm to not be added to the transit path
177   of issued tickets.  This may, in some cases, enable bypass of capath
178   policy in Heimdal versions 1.5 through 7.2.
179
180   Note, this may break sites that rely on the bug.  With the bug some
181   incomplete [capaths] worked, that should not have.  These may now break
182   authentication in some cross-realm configurations.
183   (CVE-2017-6594)
184
185Release Notes - Heimdal - Version Heimdal 7.2
186
187 Bug fixes
188 - Portability improvements
189 - More strict parsing of encoded URI components in HTTP KDC
190 - Fixed memory leak in malloc error recovery in NTLM GSSAPI mechanism
191 - Avoid overly specific CPU info in krb5-config in aid of reproducible builds
192 - Don't do AFS string-to-key tests when feature is disabled
193 - Skip mdb_stat test when the command is not available
194 - Windows: update SHA2 timestamp server
195 - hdb: add missing export hdb_generate_key_set_password_with_ks_tuple
196 - Fix signature of hdb_generate_key_set_password()
197 - Windows: enable KX509 support in the KDC
198 - kdc: fix kx509 service principal match
199 - iprop: handle case where master sends nothing new
200 - ipropd-slave: fix incorrect error codes
201 - Allow choice of sqlite for HDB pref
202 - check-iprop: don't fail to kill daemons
203 - roken: pidfile -> rk_pidfile
204 - kdc: _kdc_do_kx509 fix use after free error
205 - Do not detect x32 as 64-bit platform.
206 - No sys/ttydefaults.h on CYGWIN
207 - Fix check-iprop races
208 - roken_detach_prep() close pipe
209
210Release Notes - Heimdal - Version Heimdal 7.1
211
212 Security
213
214 - kx509 realm-chopping security bug
215 - non-authorization of alias additions/removals in kadmind
216   (CVE-2016-2400)
217
218 Feature
219
220 - iprop has been revamped to fix a number of race conditions that could
221   lead to inconsistent replication
222 - Hierarchical capath support
223 - AES Encryption with HMAC-SHA2 for Kerberos 5
224   draft-ietf-kitten-aes-cts-hmac-sha2-11
225 - hcrypto is now thread safe on all platforms
226 - libhcrypto has new backends: CNG (Windows), PKCS#11 (mainly for
227   Solaris), and OpenSSL.  OpenSSL is now a first-class libhcrypto backend.
228   OpenSSL 1.0.x and 1.1 are both supported. AES-NI used when supported by
229   backend
230 - HDB now supports LMDB
231 - Thread support on Windows
232 - RFC 6113  Generalized Framework for Kerberos Pre-Authentication (FAST)
233 - New GSS APIs:
234   . gss_localname
235 - Allow setting what encryption types a principal should have with
236   [kadmin] default_key_rules, see krb5.conf manpage for more info
237 - Unify libhcrypto with LTC (libtomcrypto)
238 - asn1_compile 64-bit INTEGER functionality
239 - HDB key history support including --keepold kadmin password option
240 - Improved cross-realm key rollover safety
241 - New krb5_kuserok() and krb5_aname_to_localname() plug-in interfaces
242 - Improved MIT compatibility
243   . kadm5 API
244   . Migration from MIT KDB via "mitdb" HDB backend
245   . Capable of writing the HDB in MIT dump format
246 - Improved Active Directory interoperability
247   . Enctype selection issues for PAC and other authz-data signatures
248   . Cross realm key rollover (kvno 0)
249 - New [kdc] enctype negotiation configuration:
250   . tgt-use-strongest-session-key
251   . svc-use-strongest-session-key
252   . preauth-use-strongest-session-key
253   . use-strongest-server-key
254 - The KDC process now uses a multi-process model improving
255   resiliency and performance
256 - Allow batch-mode kinit with password file
257 - SIGINFO support added to kinit cmd
258 - New kx509 configuration options:
259   . kx509_ca
260   . kca_service
261   . kx509_include_pkinit_san
262   . kx509_template
263 - Improved Heimdal library/plugin version safety
264 - Name canonicalization
265   . DNS resolver searchlist
266   . Improved referral support
267   . Support host:port host-based services
268 - Pluggable libheimbase interface for DBs
269 - Improve IPv6 Support
270 - LDAP
271   . Bind DN and password
272   . Start TLS
273 - klist --json
274 - DIR credential cache type
275 - Updated upstream SQLite and libedit
276 - Removed legacy applications: ftp, kx, login, popper, push, rcp, rsh,
277   telnet, xnlock
278 - Completely remove RAND_egd support
279 - Moved kadmin and ktutil to /usr/bin
280 - Stricter fcache checks (see fcache_strict_checking krb5.conf setting)
281    . use O_NOFOLLOW
282    . don't follow symlinks
283    . require cache files to be owned by the user
284    . require sensible permissions (not group/other readable)
285 - Implemented gss_store_cred()
286 - Many more
287
288 Bug fixes
289 - iprop has been revamped to fix a number of race conditions that could
290   lead to data loss
291 - Include non-loopback addresses assigned to loopback interfaces
292   when requesting tickets with addresses
293 - KDC 1DES session key selection (for AFS rxkad-k5 compatibility)
294 - Keytab file descriptor and lock leak
295 - Credential cache corruption bugs
296   (NOTE: The FILE ccache is still not entirely safe due to the
297   fundamentally unsafe design of POSIX file locking)
298 - gss_pseudo_random() interop bug
299 - Plugins are now preferentially loaded from the run-time install tree
300 - Reauthentication after password change in init_creds_password
301 - Memory leak in the client kadmin library
302 - TGS client requests renewable/forwardable/proxiable when possible
303 - Locking issues in DB1 and DB3 HDB backends
304 - Master HDB can remain locked while waiting for network I/O
305 - Renewal/refresh logic when kinit is provided with a command
306 - KDC handling of enterprise principals
307 - Use correct bit for anon-pkinit
308 - Many more
309
310 Acknowledgements
311
312 This release of Heimdal includes contributions from:
313
314    Abhinav Upadhyay        Heath Kehoe             Nico Williams
315    Andreas Schneider       Henry Jacques           Patrik Lundin
316    Andrew Bartlett         Howard Chu              Philip Boulain
317    Andrew Tridgell         Igor Sobrado            Ragnar Sundblad
318    Antoine Jacoutot        Ingo Schwarze           Remi Ferrand
319    Arran Cudbard-Bell      Jakub Čajka             Rod Widdowson
320    Arvid Requate           James Le Cuirot         Rok Papež
321    Asanka Herath           James Lee               Roland C. Dowdeswell
322    Ben Kaduk               Jeffrey Altman          Ross L Richardson
323    Benjamin Kaduk          Jeffrey Clark           Russ Allbery
324    Bernard Spil            Jeffrey Hutzelman       Samuel Cabrero
325    Brian May               Jelmer Vernooij         Samuel Thibault
326    Chas Williams           Ken Dreyer              Santosh Kumar Pradhan
327    Chaskiel Grundman       Kiran S J               Sean Davis
328    Dana Koch               Kumar Thangavelu        Sergio Gelato
329    Daniel Schepler         Landon Fuller           Simon Wilkinson
330    David Mulder            Linus Nordberg          Stef Walter
331    Douglas Bagnall         Love Hörnquist Åstrand  Stefan Metzmacher
332    Ed Maste                Luke Howard             Steffen Jaeckel
333    Eray Aslan              Magnus Ahltorp          Timothy Pearson
334    Florian Best            Marc Balmer             Tollef Fog Heen
335    Fredrik Pettai          Marcin Cieślak          Tony Acero
336    Greg Hudson             Marco Molteni           Uri Simchoni
337    Gustavo Zacarias        Matthieu Hautreux       Viktor Dukhovni
338    Günther Deschner        Michael Meffie          Volker Lendecke
339    Harald Barth            Moritz Lenz
340
341Release Notes - Heimdal - Version Heimdal 1.5.3
342
343 Bug fixes
344 - Fix leaking file descriptors in KDC
345 - Better socket/timeout handling in libkrb5
346 - General bug fixes
347 - Build fixes
348
349Release Notes - Heimdal - Version Heimdal 1.5.2
350
351 Security fixes
352 - CVE-2011-4862 Buffer overflow in libtelnet/encrypt.c in telnetd - escalation of privilege
353 - Check that key types strictly match - denial of service
354
355Release Notes - Heimdal - Version Heimdal 1.5.1
356
357 Bug fixes
358 - Fix building on Solaris, requires c99
359 - Fix building on Windows
360 - Build system updates
361
362Release Notes - Heimdal - Version Heimdal 1.5
363
364New features
365
366 - Support GSS name extensions/attributes
367 - SHA512 support
368 - No Kerberos 4 support
369 - Basic support for MIT Admin protocol (SECGSS flavor)
370   in kadmind (extract keytab)
371 - Replace editline with libedit
372
373Release Notes - Heimdal - Version Heimdal 1.4
374
375 New features
376
377 - Support for reading MIT database file directly
378 - KCM is polished up and now used in production
379 - NTLM first class citizen, credentials stored in KCM
380 - Table driven ASN.1 compiler, smaller!, not enabled by default
381 - Native Windows client support
382
383Notes
384
385 - Disabled write support NDBM hdb backend (read still in there) since
386   it can't handle large records, please migrate to a diffrent backend
387   (like BDB4)
388
389Release Notes - Heimdal - Version Heimdal 1.3.3
390
391 Bug fixes
392 - Check the GSS-API checksum exists before trying to use it [CVE-2010-1321]
393 - Check NULL pointers before dereference them [kdc]
394
395Release Notes - Heimdal - Version Heimdal 1.3.2
396
397 Bug fixes
398
399 - Don't mix length when clearing hmac (could memset too much)
400 - More paranoid underrun checking when decrypting packets
401 - Check the password change requests and refuse to answer empty packets
402 - Build on OpenSolaris
403 - Renumber AD-SIGNED-TICKET since it was stolen from US
404 - Don't cache /dev/*random file descriptor, it doesn't get unloaded
405 - Make C++ safe
406 - Misc warnings
407
408Release Notes - Heimdal - Version Heimdal 1.3.1
409
410 Bug fixes
411
412 - Store KDC offset in credentials
413 - Many many more bug fixes
414
415Release Notes - Heimdal - Version Heimdal 1.3.1
416
417 New features
418
419 - Make work with OpenLDAPs krb5 overlay
420
421Release Notes - Heimdal - Version Heimdal 1.3
422
423 New features
424
425 - Partial support for MIT kadmind rpc protocol in kadmind
426 - Better support for finding keytab entries when using SPN aliases in the KDC
427 - Support BER in ASN.1 library (needed for CMS)
428 - Support decryption in Keychain private keys
429 - Support for new sqlite based credential cache
430 - Try both KDC referals and the common DNS reverse lookup in GSS-API
431 - Fix the KCM to not leak resources on failure
432 - Add IPv6 support to iprop
433 - Support localization of error strings in
434   kinit/klist/kdestroy and Kerberos library
435 - Remove Kerberos 4 support in application (still in KDC)
436 - Deprecate DES
437 - Support i18n password in windows domains (using UTF-8)
438 - More complete API emulation of OpenSSL in hcrypto
439 - Support for ECDSA and ECDH when linking with OpenSSL
440
441 API changes
442
443 - Support for settin friendly name on credential caches
444 - Move to using doxygen to generate documentation.
445 - Sprinkling __attribute__((__deprecated__)) for old function to be removed
446 - Support to export LAST-REQUST information in AS-REQ
447 - Support for client deferrals in in AS-REQ
448 - Add seek support for krb5_storage.
449 - Support for split AS-REQ, first step for IA-KERB
450 - Fix many memory leaks and bugs
451 - Improved regression test
452 - Support krb5_cccol
453 - Switch to krb5_set_error_message
454 - Support krb5_crypto_*_iov
455 - Switch to use EVP for most function
456 - Use SOCK_CLOEXEC and O_CLOEXEC (close on exec)
457 - Add support for GSS_C_DELEG_POLICY_FLAG
458 - Add krb5_cc_[gs]et_config to store data in the credential caches
459 - PTY testing application
460
461Bugfixes
462 - Make building on AIX6 possible.
463 - Bugfixes in LDAP KDC code to make it more stable
464 - Make ipropd-slave reconnect when master down gown
465
466
467Release Notes - Heimdal - Version Heimdal 1.2.1
468
469* Bug
470
471  [HEIMDAL-147] - Heimdal 1.2 not compiling on Solaris
472  [HEIMDAL-151] - Make canned tests work again after cert expired
473  [HEIMDAL-152] - iprop test: use full hostname to avoid realm
474                  resolving errors
475  [HEIMDAL-153] - ftp: Use the correct length for unmap, msync
476
477Release Notes - Heimdal - Version Heimdal 1.2
478
479* Bug
480
481  [HEIMDAL-10] - Follow-up on bug report for SEGFAULT in
482  		 gss_display_name/gss_export_name when using SPNEGO
483  [HEIMDAL-15] - Re: [Heimdal-bugs] potential bug in Heimdal 1.1
484  [HEIMDAL-17] - Remove support for depricated [libdefaults]capath
485  [HEIMDAL-52] - hdb overwrite aliases for db databases
486  [HEIMDAL-54] - Two issues which affect credentials delegation
487  [HEIMDAL-58] - sockbuf.c calls setsockopt with bad args
488  [HEIMDAL-62] - Fix printing of sig_atomic_t
489  [HEIMDAL-87] - heimdal 1.1 not building under cygwin in hcrypto
490  [HEIMDAL-105] - rcp: sync rcp with upstream bsd rcp codebase
491  [HEIMDAL-117] - Use libtool to detect symbol versioning (Debian Bug#453241)
492
493* Improvement
494  [HEIMDAL-67] - Fix locking and store credential in atomic writes
495                 in the FILE credential cache
496  [HEIMDAL-106] - make compile on cygwin again
497  [HEIMDAL-107] - Replace old random key generation in des module
498                  and use it with RAND_ function instead
499  [HEIMDAL-115] - Better documentation and compatibility in hcrypto
500                  in regards to OpenSSL
501
502* New Feature
503  [HEIMDAL-3] - pkinit alg agility PRF test vectors
504  [HEIMDAL-14] - Add libwind to Heimdal
505  [HEIMDAL-16] - Use libwind in hx509
506  [HEIMDAL-55] - Add flag to krb5 to not add GSS-API INT|CONF to
507                 the negotiation
508  [HEIMDAL-74] - Add support to report extended error message back
509                 in AS-REQ to support windows clients
510  [HEIMDAL-116] - test pty based application (using rkpty)
511  [HEIMDAL-120] - Use new OpenLDAP API (older deprecated)
512
513* Task
514  [HEIMDAL-63] - Dont try key usage KRB5_KU_AP_REQ_AUTH for TGS-REQ.
515                 This drop compatibility with pre 0.3d KDCs.
516  [HEIMDAL-64] - kcm: first implementation of kcm-move-cache
517  [HEIMDAL-65] - Failed to compile with --disable-pk-init
518  [HEIMDAL-80] - verify that [VU#162289]: gcc silently discards some
519                 wraparound checks doesn't apply to Heimdal
520
521Changes in release 1.1
522
523 * Read-only PKCS11 provider built-in to hx509.
524
525 * Documentation for hx509, hcrypto and ntlm libraries improved.
526
527 * Better compatibilty with Windows 2008 Server pre-releases and Vista.
528
529 * Mac OS X 10.5 support for native credential cache.
530
531 * Provide pkg-config file for Heimdal (heimdal-gssapi.pc).
532
533 * Bug fixes.
534
535Changes in release 1.0.2
536
537* Ubuntu packages.
538
539* Bug fixes.
540
541Changes in release 1.0.1
542
543 * Serveral bug fixes to iprop.
544
545 * Make work on platforms without dlopen.
546
547 * Add RFC3526 modp group14 as default.
548
549 * Handle [kdc] database = { } entries without realm = stanzas.
550
551 * Make krb5_get_renewed_creds work.
552
553 * Make kaserver preauth work again.
554
555 * Bug fixes.
556
557Changes in release 1.0
558
559 * Add gss_pseudo_random() for mechglue and krb5.
560
561 * Make session key for the krbtgt be selected by the best encryption
562   type of the client.
563
564 * Better interoperability with other PK-INIT implementations.
565
566 * Inital support for Mac OS X Keychain for hx509.
567
568 * Alias support for inital ticket requests.
569
570 * Add symbol versioning to selected libraries on platforms that uses
571   GNU link editor: gssapi, hcrypto, heimntlm, hx509, krb5, and libkdc.
572
573 * New version of imath included in hcrypto.
574
575 * Fix memory leaks.
576
577 * Bugs fixes.
578
579Changes in release 0.8.1
580
581 * Make ASN.1 library less paranoid to with regard to NUL in string to
582   make it inter-operate with MIT Kerberos again.
583
584 * Make GSS-API library work again when using gss_acquire_cred
585
586 * Add symbol versioning to libgssapi when using GNU ld.
587
588 * Fix memory leaks
589
590 * Bugs fixes
591
592Changes in release 0.8
593
594 * PK-INIT support.
595
596 * HDB extensions support, used by PK-INIT.
597
598 * New ASN.1 compiler.
599
600 * GSS-API mechglue from FreeBSD.
601
602 * Updated SPNEGO to support RFC4178.
603
604 * Support for Cryptosystem Negotiation Extension (RFC 4537).
605
606 * A new X.509 library (hx509) and related crypto functions.
607
608 * A new ntlm library (heimntlm) and related crypto functions.
609
610 * Updated the built-in crypto library with bignum support using
611   imath, support for RSA and DH and renamed it to libhcrypto.
612
613 * Subsystem in the KDC, digest, that will perform the digest
614   operation in the KDC, currently supports: CHAP, MS-CHAP-V2, SASL
615   DIGEST-MD5 NTLMv1 and NTLMv2.
616
617 * KDC will return the "response too big" error to force TCP retries
618   for large (default 1400 bytes) UDP replies.  This is common for
619   PK-INIT requests.
620
621 * Libkafs defaults to use 2b tokens.
622
623 * Default to use the API cache on Mac OS X.
624
625 * krb5_kuserok() also checks ~/.k5login.d directory for acl files,
626   see manpage for krb5_kuserok for description.
627
628 * Many, many, other updates to code and info manual and manual pages.
629
630 * Bug fixes
631
632Changes in release 0.7.2
633
634* Fix security problem in rshd that enable an attacker to overwrite
635  and change ownership of any file that root could write.
636
637* Fix a DOS in telnetd. The attacker could force the server to crash
638  in a NULL de-reference before the user logged in, resulting in inetd
639  turning telnetd off because it forked too fast.
640
641* Make gss_acquire_cred(GSS_C_ACCEPT) check that the requested name
642  exists in the keytab before returning success. This allows servers
643  to check if its even possible to use GSSAPI.
644
645* Fix receiving end of token delegation for GSS-API. It still wrongly
646  uses subkey for sending for compatibility reasons, this will change
647  in 0.8.
648
649* telnetd, login and rshd are now more verbose in logging failed and
650  successful logins.
651
652* Bug fixes
653
654Changes in release 0.7.1
655
656* Bug fixes
657
658Changes in release 0.7
659
660 * Support for KCM, a process based credential cache
661
662 * Support CCAPI credential cache
663
664 * SPNEGO support
665
666 * AES (and the gssapi conterpart, CFX) support
667
668 * Adding new and improve old documentation
669
670 * Bug fixes
671
672Changes in release 0.6.6
673
674* Fix security problem in rshd that enable an attacker to overwrite
675  and change ownership of any file that root could write.
676
677* Fix a DOS in telnetd. The attacker could force the server to crash
678  in a NULL de-reference before the user logged in, resulting in inetd
679  turning telnetd off because it forked too fast.
680
681Changes in release 0.6.5
682
683 * fix vulnerabilities in telnetd
684
685 * unbreak Kerberos 4 and kaserver
686
687Changes in release 0.6.4
688
689 * fix vulnerabilities in telnet
690
691 * rshd: encryption without a separate error socket should now work
692
693 * telnet now uses appdefaults for the encrypt and forward/forwardable
694   settings
695
696 * bug fixes
697
698Changes in release 0.6.3
699
700 * fix vulnerabilities in ftpd
701
702 * support for linux AFS /proc "syscalls"
703
704 * support for RFC3244 (Windows 2000 Kerberos Change/Set Password) in
705   kpasswdd
706
707 * fix possible KDC denial of service
708
709 * bug fixes
710
711Changes in release 0.6.2
712
713 * Fix possible buffer overrun in v4 kadmin (which now defaults to off)
714
715Changes in release 0.6.1
716
717 * Fixed ARCFOUR suppport
718
719 * Cross realm vulnerability
720
721 * kdc: fix denial of service attack
722
723 * kdc: stop clients from renewing tickets into the future
724
725 * bug fixes
726
727Changes in release 0.6
728
729* The DES3 GSS-API mechanism has been changed to inter-operate with
730  other GSSAPI implementations. See man page for gssapi(3) how to turn
731  on generation of correct MIC messages. Next major release of heimdal
732  will generate correct MIC by default.
733
734* More complete GSS-API support
735
736* Better AFS support: kdc (524) supports 2b; 524 in kdc and AFS
737  support in applications no longer requires Kerberos 4 libs
738
739* Kerberos 4 support in kdc defaults to turned off (includes ka and 524)
740
741* other bug fixes
742
743Changes in release 0.5.2
744
745 * kdc: add option for disabling v4 cross-realm (defaults to off)
746
747 * bug fixes
748
749Changes in release 0.5.1
750
751 * kadmind: fix remote exploit
752
753 * kadmind: add option to disable kerberos 4
754
755 * kdc: make sure kaserver token life is positive
756
757 * telnet: use the session key if there is no subkey
758
759 * fix EPSV parsing in ftp
760
761 * other bug fixes
762
763Changes in release 0.5
764
765 * add --detach option to kdc
766
767 * allow setting forward and forwardable option in telnet from
768   .telnetrc, with override from command line
769
770 * accept addresses with or without ports in krb5_rd_cred
771
772 * make it work with modern openssl
773
774 * use our own string2key function even with openssl (that handles weak
775   keys incorrectly)
776
777 * more system-specific requirements in login
778
779 * do not use getlogin() to determine root in su
780
781 * telnet: abort if telnetd does not support encryption
782
783 * update autoconf to 2.53
784
785 * update config.guess, config.sub
786
787 * other bug fixes
788
789Changes in release 0.4e
790
791 * improve libcrypto and database autoconf tests
792
793 * do not care about salting of server principals when serving v4 requests
794
795 * some improvements to gssapi library
796
797 * test for existing compile_et/libcom_err
798
799 * portability fixes
800
801 * bug fixes
802
803Changes in release 0.4d
804
805 * fix some problems when using libcrypto from openssl
806
807 * handle /dev/ptmx `unix98' ptys on Linux
808
809 * add some forgotten man pages
810
811 * rsh: clean-up and add man page
812
813 * fix -A and -a in builtin-ls in tpd
814
815 * fix building problem on Irix
816
817 * make `ktutil get' more efficient
818
819 * bug fixes
820
821Changes in release 0.4c
822
823 * fix buffer overrun in telnetd
824
825 * repair some of the v4 fallback code in kinit
826
827 * add more shared library dependencies
828
829 * simplify and fix hprop handling of v4 databases
830
831 * fix some building problems (osf's sia and osfc2 login)
832
833 * bug fixes
834
835Changes in release 0.4b
836
837 * update the shared library version numbers correctly
838
839Changes in release 0.4a
840
841 * corrected key used for checksum in mk_safe, unfortunately this
842   makes it backwards incompatible
843
844 * update to autoconf 2.50, libtool 1.4
845
846 * re-write dns/config lookups (krb5_krbhst API)
847
848 * make order of using subkeys consistent
849
850 * add man page links
851
852 * add more man pages
853
854 * remove rfc2052 support, now only rfc2782 is supported
855
856 * always build with kaserver protocol support in the KDC (assuming
857   KRB4 is enabled) and support for reading kaserver databases in
858   hprop
859
860Changes in release 0.3f
861
862 * change default keytab to ANY:FILE:/etc/krb5.keytab,krb4:/etc/srvtab,
863   the new keytab type that tries both of these in order (SRVTAB is
864   also an alias for krb4:)
865
866 * improve error reporting and error handling (error messages should
867   be more detailed and more useful)
868
869 * improve building with openssl
870
871 * add kadmin -K, rcp -F
872
873 * fix two incorrect weak DES keys
874
875 * fix building of kaserver compat in KDC
876
877 * the API is closer to what MIT krb5 is using
878
879 * more compatible with windows 2000
880
881 * removed some memory leaks
882
883 * bug fixes
884
885Changes in release 0.3e
886
887 * rcp program included
888
889 * fix buffer overrun in ftpd
890
891 * handle omitted sequence numbers as zeroes to handle MIT krb5 that
892   cannot generate zero sequence numbers
893
894 * handle v4 /.k files better
895
896 * configure/portability fixes
897
898 * fixes in parsing of options to kadmin (sub-)commands
899
900 * handle errors in kadmin load better
901
902 * bug fixes
903
904Changes in release 0.3d
905
906 * add krb5-config
907
908 * fix a bug in 3des gss-api mechanism, making it compatible with the
909   specification and the MIT implementation
910
911 * make telnetd only allow a specific list of environment variables to
912   stop it from setting `sensitive' variables
913
914 * try to use an existing libdes
915
916 * lib/krb5, kdc: use correct usage type for ap-req messages.  This
917   should improve compatability with MIT krb5 when using 3DES
918   encryption types
919
920 * kdc: fix memory allocation problem
921
922 * update config.guess and config.sub
923
924 * lib/roken: more stuff implemented
925
926 * bug fixes and portability enhancements
927
928Changes in release 0.3c
929
930 * lib/krb5: memory caches now support the resolve operation
931
932 * appl/login: set PATH to some sane default
933
934 * kadmind: handle several realms
935
936 * bug fixes (including memory leaks)
937
938Changes in release 0.3b
939
940 * kdc: prefer default-salted keys on v5 requests
941
942 * kdc: lowercase hostnames in v4 mode
943
944 * hprop: handle more types of MIT salts
945
946 * lib/krb5: fix memory leak
947
948 * bug fixes
949
950Changes in release 0.3a:
951
952 * implement arcfour-hmac-md5 to interoperate with W2K
953
954 * modularise the handling of the master key, and allow for other
955   encryption types. This makes it easier to import a database from
956   some other source without having to re-encrypt all keys.
957
958 * allow for better control over which encryption types are created
959
960 * make kinit fallback to v4 if given a v4 KDC
961
962 * make klist work better with v4 and v5, and add some more MIT
963   compatibility options
964
965 * make the kdc listen on the krb524 (4444) port for compatibility
966   with MIT krb5 clients
967
968 * implement more DCE/DFS support, enabled with --enable-dce, see
969   lib/kdfs and appl/dceutils
970
971 * make the sequence numbers work correctly
972
973 * bug fixes
974
975Changes in release 0.2t:
976
977 * bug fixes
978
979Changes in release 0.2s:
980
981 * add OpenLDAP support in hdb
982
983 * login will get v4 tickets when it receives forwarded tickets
984
985 * xnlock supports both v5 and v4
986
987 * repair source routing for telnet
988
989 * fix building problems with krb4 (krb_mk_req)
990
991 * bug fixes
992
993Changes in release 0.2r:
994
995 * fix realloc memory corruption bug in kdc
996
997 * `add --key' and `cpw --key' in kadmin
998
999 * klist supports listing v4 tickets
1000
1001 * update config.guess and config.sub
1002
1003 * make v4 -> v5 principal name conversion more robust
1004
1005 * support for anonymous tickets
1006
1007 * new man-pages
1008
1009 * telnetd: do not negotiate KERBEROS5 authentication if there's no keytab.
1010
1011 * use and set expiration and not password expiration when dumping
1012   to/from ka server databases / krb4 databases
1013
1014 * make the code happier with 64-bit time_t
1015
1016 * follow RFC2782 and by default do not look for non-underscore SRV names
1017
1018Changes in release 0.2q:
1019
1020 * bug fix in tcp-handling in kdc
1021
1022 * bug fix in expand_hostname
1023
1024Changes in release 0.2p:
1025
1026 * bug fix in `kadmin load/merge'
1027
1028 * bug fix in krb5_parse_address
1029
1030Changes in release 0.2o:
1031
1032 * gss_{import,export}_sec_context added to libgssapi
1033
1034 * new option --addresses to kdc (for listening on an explicit set of
1035   addresses)
1036
1037 * bug fixes in the krb4 and kaserver emulation part of the kdc
1038
1039 * other bug fixes
1040
1041Changes in release 0.2n:
1042
1043 * more robust parsing of dump files in kadmin
1044 * changed default timestamp format for log messages to extended ISO
1045   8601 format (Y-M-DTH:M:S)
1046 * changed md4/md5/sha1 APIes to be de-facto `standard'
1047 * always make hostname into lower-case before creating principal
1048 * small bits of more MIT-compatability
1049 * bug fixes
1050
1051Changes in release 0.2m:
1052
1053 * handle glibc's getaddrinfo() that returns several ai_canonname
1054
1055 * new endian test
1056
1057 * man pages fixes
1058
1059Changes in release 0.2l:
1060
1061 * bug fixes
1062
1063Changes in release 0.2k:
1064
1065 * better IPv6 test
1066
1067 * make struct sockaddr_storage in roken work better on alphas
1068
1069 * some missing [hn]to[hn]s fixed.
1070
1071 * allow users to change their own passwords with kadmin (with initial
1072   tickets)
1073
1074 * fix stupid bug in parsing KDC specification
1075
1076 * add `ktutil change' and `ktutil purge'
1077
1078Changes in release 0.2j:
1079
1080 * builds on Irix
1081
1082 * ftpd works in passive mode
1083
1084 * should build on cygwin
1085
1086 * work around broken IPv6-code on OpenBSD 2.6, also add configure
1087   option --disable-ipv6
1088
1089Changes in release 0.2i:
1090
1091 * use getaddrinfo in the missing places.
1092
1093 * fix SRV lookup for admin server
1094
1095 * use get{addr,name}info everywhere.  and implement it in terms of
1096   getipnodeby{name,addr} (which uses gethostbyname{,2} and
1097   gethostbyaddr)
1098
1099Changes in release 0.2h:
1100
1101 * fix typo in kx (now compiles)
1102
1103Changes in release 0.2g:
1104
1105 * lots of bug fixes:
1106   * push works
1107   * repair appl/test programs
1108   * sockaddr_storage works on solaris (alignment issues)
1109   * works better with non-roken getaddrinfo
1110   * rsh works
1111   * some non standard C constructs removed
1112
1113Changes in release 0.2f:
1114
1115 * support SRV records for kpasswd
1116 * look for both _kerberos and krb5-realm when doing host -> realm mapping
1117
1118Changes in release 0.2e:
1119
1120 * changed copyright notices to remove `advertising'-clause.
1121 * get{addr,name}info added to roken and used in the other code
1122   (this makes things work much better with hosts with both v4 and v6
1123    addresses, among other things)
1124 * do pre-auth for both password and key-based get_in_tkt
1125 * support for having several databases
1126 * new command `del_enctype' in kadmin
1127 * strptime (and new strftime) add to roken
1128 * more paranoia about finding libdb
1129 * bug fixes
1130
1131Changes in release 0.2d:
1132
1133 * new configuration option [libdefaults]default_etypes_des
1134 * internal ls in ftpd builds without KRB4
1135 * kx/rsh/push/pop_debug tries v5 and v4 consistenly
1136 * build bug fixes
1137 * other bug fixes
1138
1139Changes in release 0.2c:
1140
1141 * bug fixes (see ChangeLog's for details)
1142
1143Changes in release 0.2b:
1144
1145 * bug fixes
1146 * actually bump shared library versions
1147
1148Changes in release 0.2a:
1149
1150 * a new program verify_krb5_conf for checking your /etc/krb5.conf
1151 * add 3DES keys when changing password
1152 * support null keys in database
1153 * support multiple local realms
1154 * implement a keytab backend for AFS KeyFile's
1155 * implement a keytab backend for v4 srvtabs
1156 * implement `ktutil copy'
1157 * support password quality control in v4 kadmind
1158 * improvements in v4 compat kadmind
1159 * handle the case of having the correct cred in the ccache but with
1160   the wrong encryption type better
1161 * v6-ify the remaining programs.
1162 * internal ls in ftpd
1163 * rename strcpy_truncate/strcat_truncate to strlcpy/strlcat
1164 * add `ank --random-password' and `cpw --random-password' in kadmin
1165 * some programs and documentation for trying to talk to a W2K KDC
1166 * bug fixes
1167
1168Changes in release 0.1m:
1169
1170 * support for getting default from krb5.conf for kinit/kf/rsh/telnet.
1171   From Miroslav Ruda <ruda@ics.muni.cz>
1172 * v6-ify hprop and hpropd
1173 * support numeric addresses in krb5_mk_req
1174 * shadow support in login and su. From Miroslav Ruda <ruda@ics.muni.cz>
1175 * make rsh/rshd IPv6-aware
1176 * make the gssapi sample applications better at reporting errors
1177 * lots of bug fixes
1178 * handle systems with v6-aware libc and non-v6 kernels (like Linux
1179   with glibc 2.1) better
1180 * hide failure of ERPT in ftp
1181 * lots of bug fixes
1182
1183Changes in release 0.1l:
1184
1185 * make ftp and ftpd IPv6-aware
1186 * add inet_pton to roken
1187 * more IPv6-awareness
1188 * make mini_inetd v6 aware
1189
1190Changes in release 0.1k:
1191
1192 * bump shared libraries versions
1193 * add roken version of inet_ntop
1194 * merge more changes to rshd
1195
1196Changes in release 0.1j:
1197
1198 * restore back to the `old' 3DES code.  This was supposed to be done
1199   in 0.1h and 0.1i but I did a CVS screw-up.
1200 * make telnetd handle v6 connections
1201
1202Changes in release 0.1i:
1203
1204 * start using `struct sockaddr_storage' which simplifies the code
1205   (with a fallback definition if it's not defined)
1206 * bug fixes (including in hprop and kf)
1207 * don't use mawk which seems to mishandle roken.awk
1208 * get_addrs should be able to handle v6 addresses on Linux (with the
1209   required patch to the Linux kernel -- ask within)
1210 * rshd builds with shadow passwords
1211
1212Changes in release 0.1h:
1213
1214 * kf: new program for forwarding credentials
1215 * portability fixes
1216 * make forwarding credentials work with MIT code
1217 * better conversion of ka database
1218 * add etc/services.append
1219 * correct `modified by' from kpasswdd
1220 * lots of bug fixes
1221
1222Changes in release 0.1g:
1223
1224 * kgetcred: new program for explicitly obtaining tickets
1225 * configure fixes
1226 * krb5-aware kx
1227 * bug fixes
1228
1229Changes in release 0.1f;
1230
1231 * experimental support for v4 kadmin protokoll in kadmind
1232 * bug fixes
1233
1234Changes in release 0.1e:
1235
1236 * try to handle old DCE and MIT kdcs
1237 * support for older versions of credential cache files and keytabs
1238 * postdated tickets work
1239 * support for password quality checks in kpasswdd
1240 * new flag --enable-kaserver for kdc
1241 * renew fixes
1242 * prototype su program
1243 * updated (some) manpages
1244 * support for KDC resource records
1245 * should build with --without-krb4
1246 * bug fixes
1247
1248Changes in release 0.1d:
1249
1250 * Support building with DB2 (uses 1.85-compat API)
1251 * Support krb5-realm.DOMAIN in DNS
1252 * new `ktutil srvcreate'
1253 * v4/kafs support in klist/kdestroy
1254 * bug fixes
1255
1256Changes in release 0.1c:
1257
1258 * fix ASN.1 encoding of signed integers
1259 * somewhat working `ktutil get'
1260 * some documentation updates
1261 * update to Autoconf 2.13 and Automake 1.4
1262 * the usual bug fixes
1263
1264Changes in release 0.1b:
1265
1266 * some old -> new crypto conversion utils
1267 * bug fixes
1268
1269Changes in release 0.1a:
1270
1271 * new crypto code
1272 * more bug fixes
1273 * make sure we ask for DES keys in gssapi
1274 * support signed ints in ASN1
1275 * IPv6-bug fixes
1276
1277Changes in release 0.0u:
1278
1279 * lots of bug fixes
1280
1281Changes in release 0.0t:
1282
1283 * more robust parsing of krb5.conf
1284 * include net{read,write} in lib/roken
1285 * bug fixes
1286
1287Changes in release 0.0s:
1288
1289 * kludges for parsing options to rsh
1290 * more robust parsing of krb5.conf
1291 * removed some arbitrary limits
1292 * bug fixes
1293
1294Changes in release 0.0r:
1295
1296 * default options for some programs
1297 * bug fixes
1298
1299Changes in release 0.0q:
1300
1301 * support for building shared libraries with libtool
1302 * bug fixes
1303
1304Changes in release 0.0p:
1305
1306 * keytab moved to /etc/krb5.keytab
1307 * avoid false detection of IPv6 on Linux
1308 * Lots of more functionality in the gssapi-library
1309 * hprop can now read ka-server databases
1310 * bug fixes
1311
1312Changes in release 0.0o:
1313
1314 * FTP with GSSAPI support.
1315 * Bug fixes.
1316
1317Changes in release 0.0n:
1318
1319 * Incremental database propagation.
1320 * Somewhat improved kadmin ui; the stuff in admin is now removed.
1321 * Some support for using enctypes instead of keytypes.
1322 * Lots of other improvement and bug fixes, see ChangeLog for details.
1323