x
[heimdal.git] / NEWS
blob2a56e5d7cea6fcc2c38693723f059845a0fc92af
1 Release Notes - Heimdal - Version Heimdal 1.2
3 * Bug
4   [HEIMDAL-10] - Follow-up on bug report for SEGFAULT in gss_display_name/gss_export_name when using SPNEGO
5   [HEIMDAL-15] - Re: [Heimdal-bugs] potential bug in Heimdal 1.1
6   [HEIMDAL-17] - Remove support for depricated [libdefaults]capath
7   [HEIMDAL-52] - hdb overwrite aliases for db databases
8   [HEIMDAL-54] - Two issues which affect credentials delegation
9   [HEIMDAL-58] - sockbuf.c calls setsockopt with bad args
10   [HEIMDAL-62] - Fix printing of sig_atomic_t
11   [HEIMDAL-87] - heimdal 1.1 not building under cygwin in hcrypto
12   [HEIMDAL-105] - rcp: sync rcp with upstream bsd rcp codebase
14 * Improvement
15   [HEIMDAL-67] - Fix locking and store credential in atomic writes in the FILE credential cache
16   [HEIMDAL-106] - make compile on cygwin again
18 * New Feature
19   [HEIMDAL-3] - pkinit alg agility PRF test vectors
20   [HEIMDAL-14] - Add libwind to Heimdal
21   [HEIMDAL-16] - Use libwind in hx509
22   [HEIMDAL-55] - Add flag to krb5 to not add GSS-API INT|CONF to the negotiation
23   [HEIMDAL-74] - Add support to report extended error message back in AS-REQ to support windows clients
25 * Task
26   [HEIMDAL-63] - Dont try key usage KRB5_KU_AP_REQ_AUTH for TGS-REQ. This drop compatibility with pre 0.3d KDCs.
27   [HEIMDAL-64] - kcm: first implementation of kcm-move-cache
28   [HEIMDAL-65] - Failed to compile with --disable-pk-init
29   [HEIMDAL-80] - verify that [VU#162289]: gcc silently discards some wraparound checks doesn't apply to Heimdal
31 Changes in release 1.1
33  * Read-only PKCS11 provider built-in to hx509.
35  * Documentation for hx509, hcrypto and ntlm libraries improved.
37  * Better compatibilty with Windows 2008 Server pre-releases and Vista.
39  * Mac OS X 10.5 support for native credential cache.
41  * Provide pkg-config file for Heimdal (heimdal-gssapi.pc).
43  * Bug fixes.
45 Changes in release 1.0.2
47 * Ubuntu packages.
49 * Bug fixes.
51 Changes in release 1.0.1
53  * Serveral bug fixes to iprop.
55  * Make work on platforms without dlopen.
57  * Add RFC3526 modp group14 as default.
59  * Handle [kdc] database = { } entries without realm = stanzas.
61  * Make krb5_get_renewed_creds work.
63  * Make kaserver preauth work again.
65  * Bug fixes.
67 Changes in release 1.0
69  * Add gss_pseudo_random() for mechglue and krb5.
71  * Make session key for the krbtgt be selected by the best encryption
72    type of the client.
74  * Better interoperability with other PK-INIT implementations.
76  * Inital support for Mac OS X Keychain for hx509.
78  * Alias support for inital ticket requests.
80  * Add symbol versioning to selected libraries on platforms that uses
81    GNU link editor: gssapi, hcrypto, heimntlm, hx509, krb5, and libkdc.
83  * New version of imath included in hcrypto.
85  * Fix memory leaks.
87  * Bugs fixes.
89 Changes in release 0.8.1
91  * Make ASN.1 library less paranoid to with regard to NUL in string to
92    make it inter-operate with MIT Kerberos again.
94  * Make GSS-API library work again when using gss_acquire_cred
96  * Add symbol versioning to libgssapi when using GNU ld.
98  * Fix memory leaks 
100  * Bugs fixes
102 Changes in release 0.8
104  * PK-INIT support.
106  * HDB extensions support, used by PK-INIT.
108  * New ASN.1 compiler.
110  * GSS-API mechglue from FreeBSD.
112  * Updated SPNEGO to support RFC4178.
114  * Support for Cryptosystem Negotiation Extension (RFC 4537).
116  * A new X.509 library (hx509) and related crypto functions.
118  * A new ntlm library (heimntlm) and related crypto functions.
120  * Updated the built-in crypto library with bignum support using
121    imath, support for RSA and DH and renamed it to libhcrypto.
123  * Subsystem in the KDC, digest, that will perform the digest
124    operation in the KDC, currently supports: CHAP, MS-CHAP-V2, SASL
125    DIGEST-MD5 NTLMv1 and NTLMv2.
127  * KDC will return the "response too big" error to force TCP retries
128    for large (default 1400 bytes) UDP replies.  This is common for
129    PK-INIT requests.
131  * Libkafs defaults to use 2b tokens.
133  * Default to use the API cache on Mac OS X.
135  * krb5_kuserok() also checks ~/.k5login.d directory for acl files,
136    see manpage for krb5_kuserok for description.
138  * Many, many, other updates to code and info manual and manual pages.
140  * Bug fixes
142 Changes in release 0.7.2
144 * Fix security problem in rshd that enable an attacker to overwrite
145   and change ownership of any file that root could write.
147 * Fix a DOS in telnetd. The attacker could force the server to crash
148   in a NULL de-reference before the user logged in, resulting in inetd
149   turning telnetd off because it forked too fast.
151 * Make gss_acquire_cred(GSS_C_ACCEPT) check that the requested name
152   exists in the keytab before returning success. This allows servers
153   to check if its even possible to use GSSAPI.
155 * Fix receiving end of token delegation for GSS-API. It still wrongly
156   uses subkey for sending for compatibility reasons, this will change
157   in 0.8.
159 * telnetd, login and rshd are now more verbose in logging failed and
160   successful logins.
162 * Bug fixes
164 Changes in release 0.7.1
166 * Bug fixes
168 Changes in release 0.7
170  * Support for KCM, a process based credential cache
172  * Support CCAPI credential cache
174  * SPNEGO support
176  * AES (and the gssapi conterpart, CFX) support
178  * Adding new and improve old documentation
180  * Bug fixes
182 Changes in release 0.6.6
184 * Fix security problem in rshd that enable an attacker to overwrite
185   and change ownership of any file that root could write.
187 * Fix a DOS in telnetd. The attacker could force the server to crash
188   in a NULL de-reference before the user logged in, resulting in inetd
189   turning telnetd off because it forked too fast.
191 Changes in release 0.6.5
193  * fix vulnerabilities in telnetd
195  * unbreak Kerberos 4 and kaserver
197 Changes in release 0.6.4
199  * fix vulnerabilities in telnet
201  * rshd: encryption without a separate error socket should now work
203  * telnet now uses appdefaults for the encrypt and forward/forwardable
204    settings
206  * bug fixes
208 Changes in release 0.6.3
210  * fix vulnerabilities in ftpd
212  * support for linux AFS /proc "syscalls"
214  * support for RFC3244 (Windows 2000 Kerberos Change/Set Password) in
215    kpasswdd
217  * fix possible KDC denial of service
219  * bug fixes
221 Changes in release 0.6.2
223  * Fix possible buffer overrun in v4 kadmin (which now defaults to off)
225 Changes in release 0.6.1
227  * Fixed ARCFOUR suppport
229  * Cross realm vulnerability
231  * kdc: fix denial of service attack
233  * kdc: stop clients from renewing tickets into the future
235  * bug fixes
236         
237 Changes in release 0.6
239 * The DES3 GSS-API mechanism has been changed to inter-operate with
240   other GSSAPI implementations. See man page for gssapi(3) how to turn
241   on generation of correct MIC messages. Next major release of heimdal 
242   will generate correct MIC by default.
244 * More complete GSS-API support
246 * Better AFS support: kdc (524) supports 2b; 524 in kdc and AFS
247   support in applications no longer requires Kerberos 4 libs
249 * Kerberos 4 support in kdc defaults to turned off (includes ka and 524)
251 * other bug fixes
253 Changes in release 0.5.2
255  * kdc: add option for disabling v4 cross-realm (defaults to off)
257  * bug fixes
259 Changes in release 0.5.1
261  * kadmind: fix remote exploit
263  * kadmind: add option to disable kerberos 4
265  * kdc: make sure kaserver token life is positive
267  * telnet: use the session key if there is no subkey
269  * fix EPSV parsing in ftp
271  * other bug fixes
273 Changes in release 0.5
275  * add --detach option to kdc
277  * allow setting forward and forwardable option in telnet from
278    .telnetrc, with override from command line
280  * accept addresses with or without ports in krb5_rd_cred
282  * make it work with modern openssl
284  * use our own string2key function even with openssl (that handles weak
285    keys incorrectly)
287  * more system-specific requirements in login
289  * do not use getlogin() to determine root in su
291  * telnet: abort if telnetd does not support encryption
293  * update autoconf to 2.53
295  * update config.guess, config.sub
297  * other bug fixes
299 Changes in release 0.4e
301  * improve libcrypto and database autoconf tests
303  * do not care about salting of server principals when serving v4 requests
305  * some improvements to gssapi library
307  * test for existing compile_et/libcom_err
309  * portability fixes
311  * bug fixes
313 Changes in release 0.4d
315  * fix some problems when using libcrypto from openssl
317  * handle /dev/ptmx `unix98' ptys on Linux
319  * add some forgotten man pages
321  * rsh: clean-up and add man page
323  * fix -A and -a in builtin-ls in tpd
325  * fix building problem on Irix
327  * make `ktutil get' more efficient
329  * bug fixes
331 Changes in release 0.4c
333  * fix buffer overrun in telnetd
335  * repair some of the v4 fallback code in kinit
337  * add more shared library dependencies
339  * simplify and fix hprop handling of v4 databases
341  * fix some building problems (osf's sia and osfc2 login)
343  * bug fixes
345 Changes in release 0.4b
347  * update the shared library version numbers correctly
349 Changes in release 0.4a
351  * corrected key used for checksum in mk_safe, unfortunately this
352    makes it backwards incompatible
354  * update to autoconf 2.50, libtool 1.4
356  * re-write dns/config lookups (krb5_krbhst API)
358  * make order of using subkeys consistent
360  * add man page links
362  * add more man pages
364  * remove rfc2052 support, now only rfc2782 is supported
366  * always build with kaserver protocol support in the KDC (assuming
367    KRB4 is enabled) and support for reading kaserver databases in
368    hprop
370 Changes in release 0.3f
372  * change default keytab to ANY:FILE:/etc/krb5.keytab,krb4:/etc/srvtab,
373    the new keytab type that tries both of these in order (SRVTAB is
374    also an alias for krb4:)
376  * improve error reporting and error handling (error messages should
377    be more detailed and more useful)
379  * improve building with openssl
381  * add kadmin -K, rcp -F 
383  * fix two incorrect weak DES keys
385  * fix building of kaserver compat in KDC
387  * the API is closer to what MIT krb5 is using
389  * more compatible with windows 2000
391  * removed some memory leaks
393  * bug fixes
395 Changes in release 0.3e
397  * rcp program included
399  * fix buffer overrun in ftpd
401  * handle omitted sequence numbers as zeroes to handle MIT krb5 that
402    cannot generate zero sequence numbers
404  * handle v4 /.k files better
406  * configure/portability fixes
408  * fixes in parsing of options to kadmin (sub-)commands
410  * handle errors in kadmin load better
412  * bug fixes
414 Changes in release 0.3d
416  * add krb5-config
418  * fix a bug in 3des gss-api mechanism, making it compatible with the
419    specification and the MIT implementation
421  * make telnetd only allow a specific list of environment variables to
422    stop it from setting `sensitive' variables
424  * try to use an existing libdes
426  * lib/krb5, kdc: use correct usage type for ap-req messages.  This
427    should improve compatability with MIT krb5 when using 3DES
428    encryption types
430  * kdc: fix memory allocation problem
432  * update config.guess and config.sub
434  * lib/roken: more stuff implemented
436  * bug fixes and portability enhancements
438 Changes in release 0.3c
440  * lib/krb5: memory caches now support the resolve operation
442  * appl/login: set PATH to some sane default
444  * kadmind: handle several realms
446  * bug fixes (including memory leaks)
448 Changes in release 0.3b
450  * kdc: prefer default-salted keys on v5 requests
452  * kdc: lowercase hostnames in v4 mode
454  * hprop: handle more types of MIT salts
456  * lib/krb5: fix memory leak
458  * bug fixes
460 Changes in release 0.3a:
462  * implement arcfour-hmac-md5 to interoperate with W2K
464  * modularise the handling of the master key, and allow for other
465    encryption types. This makes it easier to import a database from
466    some other source without having to re-encrypt all keys.
468  * allow for better control over which encryption types are created
470  * make kinit fallback to v4 if given a v4 KDC
472  * make klist work better with v4 and v5, and add some more MIT
473    compatibility options
475  * make the kdc listen on the krb524 (4444) port for compatibility
476    with MIT krb5 clients
478  * implement more DCE/DFS support, enabled with --enable-dce, see
479    lib/kdfs and appl/dceutils
481  * make the sequence numbers work correctly
483  * bug fixes
485 Changes in release 0.2t:
487  * bug fixes
489 Changes in release 0.2s:
491  * add OpenLDAP support in hdb
493  * login will get v4 tickets when it receives forwarded tickets
495  * xnlock supports both v5 and v4
497  * repair source routing for telnet
499  * fix building problems with krb4 (krb_mk_req)
501  * bug fixes
503 Changes in release 0.2r:
505  * fix realloc memory corruption bug in kdc
507  * `add --key' and `cpw --key' in kadmin
509  * klist supports listing v4 tickets
511  * update config.guess and config.sub
513  * make v4 -> v5 principal name conversion more robust
515  * support for anonymous tickets
517  * new man-pages
519  * telnetd: do not negotiate KERBEROS5 authentication if there's no keytab.
521  * use and set expiration and not password expiration when dumping
522    to/from ka server databases / krb4 databases
524  * make the code happier with 64-bit time_t
526  * follow RFC2782 and by default do not look for non-underscore SRV names
528 Changes in release 0.2q:
530  * bug fix in tcp-handling in kdc
532  * bug fix in expand_hostname
534 Changes in release 0.2p:
536  * bug fix in `kadmin load/merge'
538  * bug fix in krb5_parse_address
540 Changes in release 0.2o:
542  * gss_{import,export}_sec_context added to libgssapi
544  * new option --addresses to kdc (for listening on an explicit set of
545    addresses)
547  * bug fixes in the krb4 and kaserver emulation part of the kdc
549  * other bug fixes
551 Changes in release 0.2n:
553  * more robust parsing of dump files in kadmin
554  * changed default timestamp format for log messages to extended ISO
555    8601 format (Y-M-DTH:M:S)
556  * changed md4/md5/sha1 APIes to be de-facto `standard'
557  * always make hostname into lower-case before creating principal
558  * small bits of more MIT-compatability
559  * bug fixes
561 Changes in release 0.2m:
563  * handle glibc's getaddrinfo() that returns several ai_canonname
565  * new endian test
567  * man pages fixes
569 Changes in release 0.2l:
571  * bug fixes
573 Changes in release 0.2k:
575  * better IPv6 test
577  * make struct sockaddr_storage in roken work better on alphas
579  * some missing [hn]to[hn]s fixed.
581  * allow users to change their own passwords with kadmin (with initial
582    tickets)
584  * fix stupid bug in parsing KDC specification
586  * add `ktutil change' and `ktutil purge'
588 Changes in release 0.2j:
590  * builds on Irix
592  * ftpd works in passive mode
594  * should build on cygwin
596  * work around broken IPv6-code on OpenBSD 2.6, also add configure
597    option --disable-ipv6
599 Changes in release 0.2i:
601  * use getaddrinfo in the missing places.
603  * fix SRV lookup for admin server
605  * use get{addr,name}info everywhere.  and implement it in terms of
606    getipnodeby{name,addr} (which uses gethostbyname{,2} and
607    gethostbyaddr)
609 Changes in release 0.2h:
611  * fix typo in kx (now compiles)
613 Changes in release 0.2g:
615  * lots of bug fixes:
616    * push works
617    * repair appl/test programs
618    * sockaddr_storage works on solaris (alignment issues)
619    * works better with non-roken getaddrinfo
620    * rsh works
621    * some non standard C constructs removed
623 Changes in release 0.2f:
625  * support SRV records for kpasswd
626  * look for both _kerberos and krb5-realm when doing host -> realm mapping
628 Changes in release 0.2e:
630  * changed copyright notices to remove `advertising'-clause.
631  * get{addr,name}info added to roken and used in the other code
632    (this makes things work much better with hosts with both v4 and v6
633     addresses, among other things)
634  * do pre-auth for both password and key-based get_in_tkt
635  * support for having several databases
636  * new command `del_enctype' in kadmin
637  * strptime (and new strftime) add to roken
638  * more paranoia about finding libdb
639  * bug fixes
641 Changes in release 0.2d:
643  * new configuration option [libdefaults]default_etypes_des
644  * internal ls in ftpd builds without KRB4
645  * kx/rsh/push/pop_debug tries v5 and v4 consistenly
646  * build bug fixes
647  * other bug fixes
649 Changes in release 0.2c:
651  * bug fixes (see ChangeLog's for details)
653 Changes in release 0.2b:
655  * bug fixes
656  * actually bump shared library versions
658 Changes in release 0.2a:
660  * a new program verify_krb5_conf for checking your /etc/krb5.conf
661  * add 3DES keys when changing password
662  * support null keys in database
663  * support multiple local realms
664  * implement a keytab backend for AFS KeyFile's
665  * implement a keytab backend for v4 srvtabs
666  * implement `ktutil copy'
667  * support password quality control in v4 kadmind
668  * improvements in v4 compat kadmind
669  * handle the case of having the correct cred in the ccache but with
670    the wrong encryption type better
671  * v6-ify the remaining programs.
672  * internal ls in ftpd
673  * rename strcpy_truncate/strcat_truncate to strlcpy/strlcat
674  * add `ank --random-password' and `cpw --random-password' in kadmin
675  * some programs and documentation for trying to talk to a W2K KDC
676  * bug fixes
678 Changes in release 0.1m:
680  * support for getting default from krb5.conf for kinit/kf/rsh/telnet.
681    From Miroslav Ruda <ruda@ics.muni.cz>
682  * v6-ify hprop and hpropd
683  * support numeric addresses in krb5_mk_req
684  * shadow support in login and su. From Miroslav Ruda <ruda@ics.muni.cz>
685  * make rsh/rshd IPv6-aware
686  * make the gssapi sample applications better at reporting errors
687  * lots of bug fixes
688  * handle systems with v6-aware libc and non-v6 kernels (like Linux
689    with glibc 2.1) better
690  * hide failure of ERPT in ftp
691  * lots of bug fixes
693 Changes in release 0.1l:
695  * make ftp and ftpd IPv6-aware
696  * add inet_pton to roken
697  * more IPv6-awareness
698  * make mini_inetd v6 aware
700 Changes in release 0.1k:
702  * bump shared libraries versions
703  * add roken version of inet_ntop
704  * merge more changes to rshd
706 Changes in release 0.1j:
708  * restore back to the `old' 3DES code.  This was supposed to be done
709    in 0.1h and 0.1i but I did a CVS screw-up.
710  * make telnetd handle v6 connections
712 Changes in release 0.1i:
714  * start using `struct sockaddr_storage' which simplifies the code
715    (with a fallback definition if it's not defined)
716  * bug fixes (including in hprop and kf)
717  * don't use mawk which seems to mishandle roken.awk
718  * get_addrs should be able to handle v6 addresses on Linux (with the
719    required patch to the Linux kernel -- ask within)
720  * rshd builds with shadow passwords
722 Changes in release 0.1h:
724  * kf: new program for forwarding credentials
725  * portability fixes
726  * make forwarding credentials work with MIT code
727  * better conversion of ka database
728  * add etc/services.append
729  * correct `modified by' from kpasswdd
730  * lots of bug fixes
732 Changes in release 0.1g:
734  * kgetcred: new program for explicitly obtaining tickets
735  * configure fixes
736  * krb5-aware kx
737  * bug fixes
739 Changes in release 0.1f;
741  * experimental support for v4 kadmin protokoll in kadmind
742  * bug fixes
744 Changes in release 0.1e:
746  * try to handle old DCE and MIT kdcs
747  * support for older versions of credential cache files and keytabs
748  * postdated tickets work
749  * support for password quality checks in kpasswdd
750  * new flag --enable-kaserver for kdc
751  * renew fixes
752  * prototype su program
753  * updated (some) manpages
754  * support for KDC resource records
755  * should build with --without-krb4
756  * bug fixes
758 Changes in release 0.1d:
760  * Support building with DB2 (uses 1.85-compat API)
761  * Support krb5-realm.DOMAIN in DNS
762  * new `ktutil srvcreate'
763  * v4/kafs support in klist/kdestroy
764  * bug fixes
766 Changes in release 0.1c:
768  * fix ASN.1 encoding of signed integers
769  * somewhat working `ktutil get'
770  * some documentation updates
771  * update to Autoconf 2.13 and Automake 1.4
772  * the usual bug fixes
774 Changes in release 0.1b:
776  * some old -> new crypto conversion utils
777  * bug fixes
779 Changes in release 0.1a:
781  * new crypto code
782  * more bug fixes
783  * make sure we ask for DES keys in gssapi
784  * support signed ints in ASN1
785  * IPv6-bug fixes
787 Changes in release 0.0u:
789  * lots of bug fixes
791 Changes in release 0.0t:
793  * more robust parsing of krb5.conf
794  * include net{read,write} in lib/roken
795  * bug fixes
797 Changes in release 0.0s:
799  * kludges for parsing options to rsh
800  * more robust parsing of krb5.conf
801  * removed some arbitrary limits
802  * bug fixes
804 Changes in release 0.0r:
806  * default options for some programs
807  * bug fixes
809 Changes in release 0.0q:
811  * support for building shared libraries with libtool
812  * bug fixes
814 Changes in release 0.0p:
816  * keytab moved to /etc/krb5.keytab
817  * avoid false detection of IPv6 on Linux
818  * Lots of more functionality in the gssapi-library
819  * hprop can now read ka-server databases
820  * bug fixes
822 Changes in release 0.0o:
824  * FTP with GSSAPI support.
825  * Bug fixes.
827 Changes in release 0.0n:
829  * Incremental database propagation.
830  * Somewhat improved kadmin ui; the stuff in admin is now removed.
831  * Some support for using enctypes instead of keytypes.
832  * Lots of other improvement and bug fixes, see ChangeLog for details.