x
[heimdal.git] / NEWS
blob5da941cefb30199dd6625d20875566b9b113efea
1 Release Notes - Heimdal - Version Heimdal 1.2
3 * Bug
5   [HEIMDAL-10] - Follow-up on bug report for SEGFAULT in
6                  gss_display_name/gss_export_name when using SPNEGO
7   [HEIMDAL-15] - Re: [Heimdal-bugs] potential bug in Heimdal 1.1
8   [HEIMDAL-17] - Remove support for depricated [libdefaults]capath
9   [HEIMDAL-52] - hdb overwrite aliases for db databases
10   [HEIMDAL-54] - Two issues which affect credentials delegation
11   [HEIMDAL-58] - sockbuf.c calls setsockopt with bad args
12   [HEIMDAL-62] - Fix printing of sig_atomic_t
13   [HEIMDAL-87] - heimdal 1.1 not building under cygwin in hcrypto
14   [HEIMDAL-105] - rcp: sync rcp with upstream bsd rcp codebase
15   [HEIMDAL-117] - Use libtool to detect symbol versioning (Debian Bug#453241)
17 * Improvement
18   [HEIMDAL-67] - Fix locking and store credential in atomic writes
19                  in the FILE credential cache
20   [HEIMDAL-106] - make compile on cygwin again
21   [HEIMDAL-107] - Replace old random key generation in des module
22                   and use it with RAND_ function instead
23   [HEIMDAL-115] - Better documentation and compatibility in hcrypto
24                   in regards to OpenSSL
26 * New Feature
27   [HEIMDAL-3] - pkinit alg agility PRF test vectors
28   [HEIMDAL-14] - Add libwind to Heimdal
29   [HEIMDAL-16] - Use libwind in hx509
30   [HEIMDAL-55] - Add flag to krb5 to not add GSS-API INT|CONF to
31                  the negotiation
32   [HEIMDAL-74] - Add support to report extended error message back
33                  in AS-REQ to support windows clients
34   [HEIMDAL-116] - test pty based application (using rkpty)
35   [HEIMDAL-120] - Use new OpenLDAP API (older deprecated)
37 * Task
38   [HEIMDAL-63] - Dont try key usage KRB5_KU_AP_REQ_AUTH for TGS-REQ.
39                  This drop compatibility with pre 0.3d KDCs.
40   [HEIMDAL-64] - kcm: first implementation of kcm-move-cache
41   [HEIMDAL-65] - Failed to compile with --disable-pk-init
42   [HEIMDAL-80] - verify that [VU#162289]: gcc silently discards some
43                  wraparound checks doesn't apply to Heimdal
45 Changes in release 1.1
47  * Read-only PKCS11 provider built-in to hx509.
49  * Documentation for hx509, hcrypto and ntlm libraries improved.
51  * Better compatibilty with Windows 2008 Server pre-releases and Vista.
53  * Mac OS X 10.5 support for native credential cache.
55  * Provide pkg-config file for Heimdal (heimdal-gssapi.pc).
57  * Bug fixes.
59 Changes in release 1.0.2
61 * Ubuntu packages.
63 * Bug fixes.
65 Changes in release 1.0.1
67  * Serveral bug fixes to iprop.
69  * Make work on platforms without dlopen.
71  * Add RFC3526 modp group14 as default.
73  * Handle [kdc] database = { } entries without realm = stanzas.
75  * Make krb5_get_renewed_creds work.
77  * Make kaserver preauth work again.
79  * Bug fixes.
81 Changes in release 1.0
83  * Add gss_pseudo_random() for mechglue and krb5.
85  * Make session key for the krbtgt be selected by the best encryption
86    type of the client.
88  * Better interoperability with other PK-INIT implementations.
90  * Inital support for Mac OS X Keychain for hx509.
92  * Alias support for inital ticket requests.
94  * Add symbol versioning to selected libraries on platforms that uses
95    GNU link editor: gssapi, hcrypto, heimntlm, hx509, krb5, and libkdc.
97  * New version of imath included in hcrypto.
99  * Fix memory leaks.
101  * Bugs fixes.
103 Changes in release 0.8.1
105  * Make ASN.1 library less paranoid to with regard to NUL in string to
106    make it inter-operate with MIT Kerberos again.
108  * Make GSS-API library work again when using gss_acquire_cred
110  * Add symbol versioning to libgssapi when using GNU ld.
112  * Fix memory leaks 
114  * Bugs fixes
116 Changes in release 0.8
118  * PK-INIT support.
120  * HDB extensions support, used by PK-INIT.
122  * New ASN.1 compiler.
124  * GSS-API mechglue from FreeBSD.
126  * Updated SPNEGO to support RFC4178.
128  * Support for Cryptosystem Negotiation Extension (RFC 4537).
130  * A new X.509 library (hx509) and related crypto functions.
132  * A new ntlm library (heimntlm) and related crypto functions.
134  * Updated the built-in crypto library with bignum support using
135    imath, support for RSA and DH and renamed it to libhcrypto.
137  * Subsystem in the KDC, digest, that will perform the digest
138    operation in the KDC, currently supports: CHAP, MS-CHAP-V2, SASL
139    DIGEST-MD5 NTLMv1 and NTLMv2.
141  * KDC will return the "response too big" error to force TCP retries
142    for large (default 1400 bytes) UDP replies.  This is common for
143    PK-INIT requests.
145  * Libkafs defaults to use 2b tokens.
147  * Default to use the API cache on Mac OS X.
149  * krb5_kuserok() also checks ~/.k5login.d directory for acl files,
150    see manpage for krb5_kuserok for description.
152  * Many, many, other updates to code and info manual and manual pages.
154  * Bug fixes
156 Changes in release 0.7.2
158 * Fix security problem in rshd that enable an attacker to overwrite
159   and change ownership of any file that root could write.
161 * Fix a DOS in telnetd. The attacker could force the server to crash
162   in a NULL de-reference before the user logged in, resulting in inetd
163   turning telnetd off because it forked too fast.
165 * Make gss_acquire_cred(GSS_C_ACCEPT) check that the requested name
166   exists in the keytab before returning success. This allows servers
167   to check if its even possible to use GSSAPI.
169 * Fix receiving end of token delegation for GSS-API. It still wrongly
170   uses subkey for sending for compatibility reasons, this will change
171   in 0.8.
173 * telnetd, login and rshd are now more verbose in logging failed and
174   successful logins.
176 * Bug fixes
178 Changes in release 0.7.1
180 * Bug fixes
182 Changes in release 0.7
184  * Support for KCM, a process based credential cache
186  * Support CCAPI credential cache
188  * SPNEGO support
190  * AES (and the gssapi conterpart, CFX) support
192  * Adding new and improve old documentation
194  * Bug fixes
196 Changes in release 0.6.6
198 * Fix security problem in rshd that enable an attacker to overwrite
199   and change ownership of any file that root could write.
201 * Fix a DOS in telnetd. The attacker could force the server to crash
202   in a NULL de-reference before the user logged in, resulting in inetd
203   turning telnetd off because it forked too fast.
205 Changes in release 0.6.5
207  * fix vulnerabilities in telnetd
209  * unbreak Kerberos 4 and kaserver
211 Changes in release 0.6.4
213  * fix vulnerabilities in telnet
215  * rshd: encryption without a separate error socket should now work
217  * telnet now uses appdefaults for the encrypt and forward/forwardable
218    settings
220  * bug fixes
222 Changes in release 0.6.3
224  * fix vulnerabilities in ftpd
226  * support for linux AFS /proc "syscalls"
228  * support for RFC3244 (Windows 2000 Kerberos Change/Set Password) in
229    kpasswdd
231  * fix possible KDC denial of service
233  * bug fixes
235 Changes in release 0.6.2
237  * Fix possible buffer overrun in v4 kadmin (which now defaults to off)
239 Changes in release 0.6.1
241  * Fixed ARCFOUR suppport
243  * Cross realm vulnerability
245  * kdc: fix denial of service attack
247  * kdc: stop clients from renewing tickets into the future
249  * bug fixes
250         
251 Changes in release 0.6
253 * The DES3 GSS-API mechanism has been changed to inter-operate with
254   other GSSAPI implementations. See man page for gssapi(3) how to turn
255   on generation of correct MIC messages. Next major release of heimdal 
256   will generate correct MIC by default.
258 * More complete GSS-API support
260 * Better AFS support: kdc (524) supports 2b; 524 in kdc and AFS
261   support in applications no longer requires Kerberos 4 libs
263 * Kerberos 4 support in kdc defaults to turned off (includes ka and 524)
265 * other bug fixes
267 Changes in release 0.5.2
269  * kdc: add option for disabling v4 cross-realm (defaults to off)
271  * bug fixes
273 Changes in release 0.5.1
275  * kadmind: fix remote exploit
277  * kadmind: add option to disable kerberos 4
279  * kdc: make sure kaserver token life is positive
281  * telnet: use the session key if there is no subkey
283  * fix EPSV parsing in ftp
285  * other bug fixes
287 Changes in release 0.5
289  * add --detach option to kdc
291  * allow setting forward and forwardable option in telnet from
292    .telnetrc, with override from command line
294  * accept addresses with or without ports in krb5_rd_cred
296  * make it work with modern openssl
298  * use our own string2key function even with openssl (that handles weak
299    keys incorrectly)
301  * more system-specific requirements in login
303  * do not use getlogin() to determine root in su
305  * telnet: abort if telnetd does not support encryption
307  * update autoconf to 2.53
309  * update config.guess, config.sub
311  * other bug fixes
313 Changes in release 0.4e
315  * improve libcrypto and database autoconf tests
317  * do not care about salting of server principals when serving v4 requests
319  * some improvements to gssapi library
321  * test for existing compile_et/libcom_err
323  * portability fixes
325  * bug fixes
327 Changes in release 0.4d
329  * fix some problems when using libcrypto from openssl
331  * handle /dev/ptmx `unix98' ptys on Linux
333  * add some forgotten man pages
335  * rsh: clean-up and add man page
337  * fix -A and -a in builtin-ls in tpd
339  * fix building problem on Irix
341  * make `ktutil get' more efficient
343  * bug fixes
345 Changes in release 0.4c
347  * fix buffer overrun in telnetd
349  * repair some of the v4 fallback code in kinit
351  * add more shared library dependencies
353  * simplify and fix hprop handling of v4 databases
355  * fix some building problems (osf's sia and osfc2 login)
357  * bug fixes
359 Changes in release 0.4b
361  * update the shared library version numbers correctly
363 Changes in release 0.4a
365  * corrected key used for checksum in mk_safe, unfortunately this
366    makes it backwards incompatible
368  * update to autoconf 2.50, libtool 1.4
370  * re-write dns/config lookups (krb5_krbhst API)
372  * make order of using subkeys consistent
374  * add man page links
376  * add more man pages
378  * remove rfc2052 support, now only rfc2782 is supported
380  * always build with kaserver protocol support in the KDC (assuming
381    KRB4 is enabled) and support for reading kaserver databases in
382    hprop
384 Changes in release 0.3f
386  * change default keytab to ANY:FILE:/etc/krb5.keytab,krb4:/etc/srvtab,
387    the new keytab type that tries both of these in order (SRVTAB is
388    also an alias for krb4:)
390  * improve error reporting and error handling (error messages should
391    be more detailed and more useful)
393  * improve building with openssl
395  * add kadmin -K, rcp -F 
397  * fix two incorrect weak DES keys
399  * fix building of kaserver compat in KDC
401  * the API is closer to what MIT krb5 is using
403  * more compatible with windows 2000
405  * removed some memory leaks
407  * bug fixes
409 Changes in release 0.3e
411  * rcp program included
413  * fix buffer overrun in ftpd
415  * handle omitted sequence numbers as zeroes to handle MIT krb5 that
416    cannot generate zero sequence numbers
418  * handle v4 /.k files better
420  * configure/portability fixes
422  * fixes in parsing of options to kadmin (sub-)commands
424  * handle errors in kadmin load better
426  * bug fixes
428 Changes in release 0.3d
430  * add krb5-config
432  * fix a bug in 3des gss-api mechanism, making it compatible with the
433    specification and the MIT implementation
435  * make telnetd only allow a specific list of environment variables to
436    stop it from setting `sensitive' variables
438  * try to use an existing libdes
440  * lib/krb5, kdc: use correct usage type for ap-req messages.  This
441    should improve compatability with MIT krb5 when using 3DES
442    encryption types
444  * kdc: fix memory allocation problem
446  * update config.guess and config.sub
448  * lib/roken: more stuff implemented
450  * bug fixes and portability enhancements
452 Changes in release 0.3c
454  * lib/krb5: memory caches now support the resolve operation
456  * appl/login: set PATH to some sane default
458  * kadmind: handle several realms
460  * bug fixes (including memory leaks)
462 Changes in release 0.3b
464  * kdc: prefer default-salted keys on v5 requests
466  * kdc: lowercase hostnames in v4 mode
468  * hprop: handle more types of MIT salts
470  * lib/krb5: fix memory leak
472  * bug fixes
474 Changes in release 0.3a:
476  * implement arcfour-hmac-md5 to interoperate with W2K
478  * modularise the handling of the master key, and allow for other
479    encryption types. This makes it easier to import a database from
480    some other source without having to re-encrypt all keys.
482  * allow for better control over which encryption types are created
484  * make kinit fallback to v4 if given a v4 KDC
486  * make klist work better with v4 and v5, and add some more MIT
487    compatibility options
489  * make the kdc listen on the krb524 (4444) port for compatibility
490    with MIT krb5 clients
492  * implement more DCE/DFS support, enabled with --enable-dce, see
493    lib/kdfs and appl/dceutils
495  * make the sequence numbers work correctly
497  * bug fixes
499 Changes in release 0.2t:
501  * bug fixes
503 Changes in release 0.2s:
505  * add OpenLDAP support in hdb
507  * login will get v4 tickets when it receives forwarded tickets
509  * xnlock supports both v5 and v4
511  * repair source routing for telnet
513  * fix building problems with krb4 (krb_mk_req)
515  * bug fixes
517 Changes in release 0.2r:
519  * fix realloc memory corruption bug in kdc
521  * `add --key' and `cpw --key' in kadmin
523  * klist supports listing v4 tickets
525  * update config.guess and config.sub
527  * make v4 -> v5 principal name conversion more robust
529  * support for anonymous tickets
531  * new man-pages
533  * telnetd: do not negotiate KERBEROS5 authentication if there's no keytab.
535  * use and set expiration and not password expiration when dumping
536    to/from ka server databases / krb4 databases
538  * make the code happier with 64-bit time_t
540  * follow RFC2782 and by default do not look for non-underscore SRV names
542 Changes in release 0.2q:
544  * bug fix in tcp-handling in kdc
546  * bug fix in expand_hostname
548 Changes in release 0.2p:
550  * bug fix in `kadmin load/merge'
552  * bug fix in krb5_parse_address
554 Changes in release 0.2o:
556  * gss_{import,export}_sec_context added to libgssapi
558  * new option --addresses to kdc (for listening on an explicit set of
559    addresses)
561  * bug fixes in the krb4 and kaserver emulation part of the kdc
563  * other bug fixes
565 Changes in release 0.2n:
567  * more robust parsing of dump files in kadmin
568  * changed default timestamp format for log messages to extended ISO
569    8601 format (Y-M-DTH:M:S)
570  * changed md4/md5/sha1 APIes to be de-facto `standard'
571  * always make hostname into lower-case before creating principal
572  * small bits of more MIT-compatability
573  * bug fixes
575 Changes in release 0.2m:
577  * handle glibc's getaddrinfo() that returns several ai_canonname
579  * new endian test
581  * man pages fixes
583 Changes in release 0.2l:
585  * bug fixes
587 Changes in release 0.2k:
589  * better IPv6 test
591  * make struct sockaddr_storage in roken work better on alphas
593  * some missing [hn]to[hn]s fixed.
595  * allow users to change their own passwords with kadmin (with initial
596    tickets)
598  * fix stupid bug in parsing KDC specification
600  * add `ktutil change' and `ktutil purge'
602 Changes in release 0.2j:
604  * builds on Irix
606  * ftpd works in passive mode
608  * should build on cygwin
610  * work around broken IPv6-code on OpenBSD 2.6, also add configure
611    option --disable-ipv6
613 Changes in release 0.2i:
615  * use getaddrinfo in the missing places.
617  * fix SRV lookup for admin server
619  * use get{addr,name}info everywhere.  and implement it in terms of
620    getipnodeby{name,addr} (which uses gethostbyname{,2} and
621    gethostbyaddr)
623 Changes in release 0.2h:
625  * fix typo in kx (now compiles)
627 Changes in release 0.2g:
629  * lots of bug fixes:
630    * push works
631    * repair appl/test programs
632    * sockaddr_storage works on solaris (alignment issues)
633    * works better with non-roken getaddrinfo
634    * rsh works
635    * some non standard C constructs removed
637 Changes in release 0.2f:
639  * support SRV records for kpasswd
640  * look for both _kerberos and krb5-realm when doing host -> realm mapping
642 Changes in release 0.2e:
644  * changed copyright notices to remove `advertising'-clause.
645  * get{addr,name}info added to roken and used in the other code
646    (this makes things work much better with hosts with both v4 and v6
647     addresses, among other things)
648  * do pre-auth for both password and key-based get_in_tkt
649  * support for having several databases
650  * new command `del_enctype' in kadmin
651  * strptime (and new strftime) add to roken
652  * more paranoia about finding libdb
653  * bug fixes
655 Changes in release 0.2d:
657  * new configuration option [libdefaults]default_etypes_des
658  * internal ls in ftpd builds without KRB4
659  * kx/rsh/push/pop_debug tries v5 and v4 consistenly
660  * build bug fixes
661  * other bug fixes
663 Changes in release 0.2c:
665  * bug fixes (see ChangeLog's for details)
667 Changes in release 0.2b:
669  * bug fixes
670  * actually bump shared library versions
672 Changes in release 0.2a:
674  * a new program verify_krb5_conf for checking your /etc/krb5.conf
675  * add 3DES keys when changing password
676  * support null keys in database
677  * support multiple local realms
678  * implement a keytab backend for AFS KeyFile's
679  * implement a keytab backend for v4 srvtabs
680  * implement `ktutil copy'
681  * support password quality control in v4 kadmind
682  * improvements in v4 compat kadmind
683  * handle the case of having the correct cred in the ccache but with
684    the wrong encryption type better
685  * v6-ify the remaining programs.
686  * internal ls in ftpd
687  * rename strcpy_truncate/strcat_truncate to strlcpy/strlcat
688  * add `ank --random-password' and `cpw --random-password' in kadmin
689  * some programs and documentation for trying to talk to a W2K KDC
690  * bug fixes
692 Changes in release 0.1m:
694  * support for getting default from krb5.conf for kinit/kf/rsh/telnet.
695    From Miroslav Ruda <ruda@ics.muni.cz>
696  * v6-ify hprop and hpropd
697  * support numeric addresses in krb5_mk_req
698  * shadow support in login and su. From Miroslav Ruda <ruda@ics.muni.cz>
699  * make rsh/rshd IPv6-aware
700  * make the gssapi sample applications better at reporting errors
701  * lots of bug fixes
702  * handle systems with v6-aware libc and non-v6 kernels (like Linux
703    with glibc 2.1) better
704  * hide failure of ERPT in ftp
705  * lots of bug fixes
707 Changes in release 0.1l:
709  * make ftp and ftpd IPv6-aware
710  * add inet_pton to roken
711  * more IPv6-awareness
712  * make mini_inetd v6 aware
714 Changes in release 0.1k:
716  * bump shared libraries versions
717  * add roken version of inet_ntop
718  * merge more changes to rshd
720 Changes in release 0.1j:
722  * restore back to the `old' 3DES code.  This was supposed to be done
723    in 0.1h and 0.1i but I did a CVS screw-up.
724  * make telnetd handle v6 connections
726 Changes in release 0.1i:
728  * start using `struct sockaddr_storage' which simplifies the code
729    (with a fallback definition if it's not defined)
730  * bug fixes (including in hprop and kf)
731  * don't use mawk which seems to mishandle roken.awk
732  * get_addrs should be able to handle v6 addresses on Linux (with the
733    required patch to the Linux kernel -- ask within)
734  * rshd builds with shadow passwords
736 Changes in release 0.1h:
738  * kf: new program for forwarding credentials
739  * portability fixes
740  * make forwarding credentials work with MIT code
741  * better conversion of ka database
742  * add etc/services.append
743  * correct `modified by' from kpasswdd
744  * lots of bug fixes
746 Changes in release 0.1g:
748  * kgetcred: new program for explicitly obtaining tickets
749  * configure fixes
750  * krb5-aware kx
751  * bug fixes
753 Changes in release 0.1f;
755  * experimental support for v4 kadmin protokoll in kadmind
756  * bug fixes
758 Changes in release 0.1e:
760  * try to handle old DCE and MIT kdcs
761  * support for older versions of credential cache files and keytabs
762  * postdated tickets work
763  * support for password quality checks in kpasswdd
764  * new flag --enable-kaserver for kdc
765  * renew fixes
766  * prototype su program
767  * updated (some) manpages
768  * support for KDC resource records
769  * should build with --without-krb4
770  * bug fixes
772 Changes in release 0.1d:
774  * Support building with DB2 (uses 1.85-compat API)
775  * Support krb5-realm.DOMAIN in DNS
776  * new `ktutil srvcreate'
777  * v4/kafs support in klist/kdestroy
778  * bug fixes
780 Changes in release 0.1c:
782  * fix ASN.1 encoding of signed integers
783  * somewhat working `ktutil get'
784  * some documentation updates
785  * update to Autoconf 2.13 and Automake 1.4
786  * the usual bug fixes
788 Changes in release 0.1b:
790  * some old -> new crypto conversion utils
791  * bug fixes
793 Changes in release 0.1a:
795  * new crypto code
796  * more bug fixes
797  * make sure we ask for DES keys in gssapi
798  * support signed ints in ASN1
799  * IPv6-bug fixes
801 Changes in release 0.0u:
803  * lots of bug fixes
805 Changes in release 0.0t:
807  * more robust parsing of krb5.conf
808  * include net{read,write} in lib/roken
809  * bug fixes
811 Changes in release 0.0s:
813  * kludges for parsing options to rsh
814  * more robust parsing of krb5.conf
815  * removed some arbitrary limits
816  * bug fixes
818 Changes in release 0.0r:
820  * default options for some programs
821  * bug fixes
823 Changes in release 0.0q:
825  * support for building shared libraries with libtool
826  * bug fixes
828 Changes in release 0.0p:
830  * keytab moved to /etc/krb5.keytab
831  * avoid false detection of IPv6 on Linux
832  * Lots of more functionality in the gssapi-library
833  * hprop can now read ka-server databases
834  * bug fixes
836 Changes in release 0.0o:
838  * FTP with GSSAPI support.
839  * Bug fixes.
841 Changes in release 0.0n:
843  * Incremental database propagation.
844  * Somewhat improved kadmin ui; the stuff in admin is now removed.
845  * Some support for using enctypes instead of keytypes.
846  * Lots of other improvement and bug fixes, see ChangeLog for details.