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