use DES_set_key_unchecked().
[heimdal.git] / NEWS
blob3a0563fa374b540889084e683569b636fbc06fbd
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
16 * Improvement
17   [HEIMDAL-67] - Fix locking and store credential in atomic writes
18                  in the FILE credential cache
19   [HEIMDAL-106] - make compile on cygwin again
20   [HEIMDAL-107] - Replace old random key generation in des module
21                   and use it with RAND_ function instead
22   [HEIMDAL-115] - Better documentation and compatibility in hcrypto in regards to OpenSSL
24 * New Feature
25   [HEIMDAL-3] - pkinit alg agility PRF test vectors
26   [HEIMDAL-14] - Add libwind to Heimdal
27   [HEIMDAL-16] - Use libwind in hx509
28   [HEIMDAL-55] - Add flag to krb5 to not add GSS-API INT|CONF to
29                  the negotiation
30   [HEIMDAL-74] - Add support to report extended error message back
31                  in AS-REQ to support windows clients
32   [HEIMDAL-116] - test pty based application (using rkpty)
34 * Task
35   [HEIMDAL-63] - Dont try key usage KRB5_KU_AP_REQ_AUTH for TGS-REQ.
36                  This drop compatibility with pre 0.3d KDCs.
37   [HEIMDAL-64] - kcm: first implementation of kcm-move-cache
38   [HEIMDAL-65] - Failed to compile with --disable-pk-init
39   [HEIMDAL-80] - verify that [VU#162289]: gcc silently discards some
40                  wraparound checks doesn't apply to Heimdal
42 Changes in release 1.1
44  * Read-only PKCS11 provider built-in to hx509.
46  * Documentation for hx509, hcrypto and ntlm libraries improved.
48  * Better compatibilty with Windows 2008 Server pre-releases and Vista.
50  * Mac OS X 10.5 support for native credential cache.
52  * Provide pkg-config file for Heimdal (heimdal-gssapi.pc).
54  * Bug fixes.
56 Changes in release 1.0.2
58 * Ubuntu packages.
60 * Bug fixes.
62 Changes in release 1.0.1
64  * Serveral bug fixes to iprop.
66  * Make work on platforms without dlopen.
68  * Add RFC3526 modp group14 as default.
70  * Handle [kdc] database = { } entries without realm = stanzas.
72  * Make krb5_get_renewed_creds work.
74  * Make kaserver preauth work again.
76  * Bug fixes.
78 Changes in release 1.0
80  * Add gss_pseudo_random() for mechglue and krb5.
82  * Make session key for the krbtgt be selected by the best encryption
83    type of the client.
85  * Better interoperability with other PK-INIT implementations.
87  * Inital support for Mac OS X Keychain for hx509.
89  * Alias support for inital ticket requests.
91  * Add symbol versioning to selected libraries on platforms that uses
92    GNU link editor: gssapi, hcrypto, heimntlm, hx509, krb5, and libkdc.
94  * New version of imath included in hcrypto.
96  * Fix memory leaks.
98  * Bugs fixes.
100 Changes in release 0.8.1
102  * Make ASN.1 library less paranoid to with regard to NUL in string to
103    make it inter-operate with MIT Kerberos again.
105  * Make GSS-API library work again when using gss_acquire_cred
107  * Add symbol versioning to libgssapi when using GNU ld.
109  * Fix memory leaks 
111  * Bugs fixes
113 Changes in release 0.8
115  * PK-INIT support.
117  * HDB extensions support, used by PK-INIT.
119  * New ASN.1 compiler.
121  * GSS-API mechglue from FreeBSD.
123  * Updated SPNEGO to support RFC4178.
125  * Support for Cryptosystem Negotiation Extension (RFC 4537).
127  * A new X.509 library (hx509) and related crypto functions.
129  * A new ntlm library (heimntlm) and related crypto functions.
131  * Updated the built-in crypto library with bignum support using
132    imath, support for RSA and DH and renamed it to libhcrypto.
134  * Subsystem in the KDC, digest, that will perform the digest
135    operation in the KDC, currently supports: CHAP, MS-CHAP-V2, SASL
136    DIGEST-MD5 NTLMv1 and NTLMv2.
138  * KDC will return the "response too big" error to force TCP retries
139    for large (default 1400 bytes) UDP replies.  This is common for
140    PK-INIT requests.
142  * Libkafs defaults to use 2b tokens.
144  * Default to use the API cache on Mac OS X.
146  * krb5_kuserok() also checks ~/.k5login.d directory for acl files,
147    see manpage for krb5_kuserok for description.
149  * Many, many, other updates to code and info manual and manual pages.
151  * Bug fixes
153 Changes in release 0.7.2
155 * Fix security problem in rshd that enable an attacker to overwrite
156   and change ownership of any file that root could write.
158 * Fix a DOS in telnetd. The attacker could force the server to crash
159   in a NULL de-reference before the user logged in, resulting in inetd
160   turning telnetd off because it forked too fast.
162 * Make gss_acquire_cred(GSS_C_ACCEPT) check that the requested name
163   exists in the keytab before returning success. This allows servers
164   to check if its even possible to use GSSAPI.
166 * Fix receiving end of token delegation for GSS-API. It still wrongly
167   uses subkey for sending for compatibility reasons, this will change
168   in 0.8.
170 * telnetd, login and rshd are now more verbose in logging failed and
171   successful logins.
173 * Bug fixes
175 Changes in release 0.7.1
177 * Bug fixes
179 Changes in release 0.7
181  * Support for KCM, a process based credential cache
183  * Support CCAPI credential cache
185  * SPNEGO support
187  * AES (and the gssapi conterpart, CFX) support
189  * Adding new and improve old documentation
191  * Bug fixes
193 Changes in release 0.6.6
195 * Fix security problem in rshd that enable an attacker to overwrite
196   and change ownership of any file that root could write.
198 * Fix a DOS in telnetd. The attacker could force the server to crash
199   in a NULL de-reference before the user logged in, resulting in inetd
200   turning telnetd off because it forked too fast.
202 Changes in release 0.6.5
204  * fix vulnerabilities in telnetd
206  * unbreak Kerberos 4 and kaserver
208 Changes in release 0.6.4
210  * fix vulnerabilities in telnet
212  * rshd: encryption without a separate error socket should now work
214  * telnet now uses appdefaults for the encrypt and forward/forwardable
215    settings
217  * bug fixes
219 Changes in release 0.6.3
221  * fix vulnerabilities in ftpd
223  * support for linux AFS /proc "syscalls"
225  * support for RFC3244 (Windows 2000 Kerberos Change/Set Password) in
226    kpasswdd
228  * fix possible KDC denial of service
230  * bug fixes
232 Changes in release 0.6.2
234  * Fix possible buffer overrun in v4 kadmin (which now defaults to off)
236 Changes in release 0.6.1
238  * Fixed ARCFOUR suppport
240  * Cross realm vulnerability
242  * kdc: fix denial of service attack
244  * kdc: stop clients from renewing tickets into the future
246  * bug fixes
247         
248 Changes in release 0.6
250 * The DES3 GSS-API mechanism has been changed to inter-operate with
251   other GSSAPI implementations. See man page for gssapi(3) how to turn
252   on generation of correct MIC messages. Next major release of heimdal 
253   will generate correct MIC by default.
255 * More complete GSS-API support
257 * Better AFS support: kdc (524) supports 2b; 524 in kdc and AFS
258   support in applications no longer requires Kerberos 4 libs
260 * Kerberos 4 support in kdc defaults to turned off (includes ka and 524)
262 * other bug fixes
264 Changes in release 0.5.2
266  * kdc: add option for disabling v4 cross-realm (defaults to off)
268  * bug fixes
270 Changes in release 0.5.1
272  * kadmind: fix remote exploit
274  * kadmind: add option to disable kerberos 4
276  * kdc: make sure kaserver token life is positive
278  * telnet: use the session key if there is no subkey
280  * fix EPSV parsing in ftp
282  * other bug fixes
284 Changes in release 0.5
286  * add --detach option to kdc
288  * allow setting forward and forwardable option in telnet from
289    .telnetrc, with override from command line
291  * accept addresses with or without ports in krb5_rd_cred
293  * make it work with modern openssl
295  * use our own string2key function even with openssl (that handles weak
296    keys incorrectly)
298  * more system-specific requirements in login
300  * do not use getlogin() to determine root in su
302  * telnet: abort if telnetd does not support encryption
304  * update autoconf to 2.53
306  * update config.guess, config.sub
308  * other bug fixes
310 Changes in release 0.4e
312  * improve libcrypto and database autoconf tests
314  * do not care about salting of server principals when serving v4 requests
316  * some improvements to gssapi library
318  * test for existing compile_et/libcom_err
320  * portability fixes
322  * bug fixes
324 Changes in release 0.4d
326  * fix some problems when using libcrypto from openssl
328  * handle /dev/ptmx `unix98' ptys on Linux
330  * add some forgotten man pages
332  * rsh: clean-up and add man page
334  * fix -A and -a in builtin-ls in tpd
336  * fix building problem on Irix
338  * make `ktutil get' more efficient
340  * bug fixes
342 Changes in release 0.4c
344  * fix buffer overrun in telnetd
346  * repair some of the v4 fallback code in kinit
348  * add more shared library dependencies
350  * simplify and fix hprop handling of v4 databases
352  * fix some building problems (osf's sia and osfc2 login)
354  * bug fixes
356 Changes in release 0.4b
358  * update the shared library version numbers correctly
360 Changes in release 0.4a
362  * corrected key used for checksum in mk_safe, unfortunately this
363    makes it backwards incompatible
365  * update to autoconf 2.50, libtool 1.4
367  * re-write dns/config lookups (krb5_krbhst API)
369  * make order of using subkeys consistent
371  * add man page links
373  * add more man pages
375  * remove rfc2052 support, now only rfc2782 is supported
377  * always build with kaserver protocol support in the KDC (assuming
378    KRB4 is enabled) and support for reading kaserver databases in
379    hprop
381 Changes in release 0.3f
383  * change default keytab to ANY:FILE:/etc/krb5.keytab,krb4:/etc/srvtab,
384    the new keytab type that tries both of these in order (SRVTAB is
385    also an alias for krb4:)
387  * improve error reporting and error handling (error messages should
388    be more detailed and more useful)
390  * improve building with openssl
392  * add kadmin -K, rcp -F 
394  * fix two incorrect weak DES keys
396  * fix building of kaserver compat in KDC
398  * the API is closer to what MIT krb5 is using
400  * more compatible with windows 2000
402  * removed some memory leaks
404  * bug fixes
406 Changes in release 0.3e
408  * rcp program included
410  * fix buffer overrun in ftpd
412  * handle omitted sequence numbers as zeroes to handle MIT krb5 that
413    cannot generate zero sequence numbers
415  * handle v4 /.k files better
417  * configure/portability fixes
419  * fixes in parsing of options to kadmin (sub-)commands
421  * handle errors in kadmin load better
423  * bug fixes
425 Changes in release 0.3d
427  * add krb5-config
429  * fix a bug in 3des gss-api mechanism, making it compatible with the
430    specification and the MIT implementation
432  * make telnetd only allow a specific list of environment variables to
433    stop it from setting `sensitive' variables
435  * try to use an existing libdes
437  * lib/krb5, kdc: use correct usage type for ap-req messages.  This
438    should improve compatability with MIT krb5 when using 3DES
439    encryption types
441  * kdc: fix memory allocation problem
443  * update config.guess and config.sub
445  * lib/roken: more stuff implemented
447  * bug fixes and portability enhancements
449 Changes in release 0.3c
451  * lib/krb5: memory caches now support the resolve operation
453  * appl/login: set PATH to some sane default
455  * kadmind: handle several realms
457  * bug fixes (including memory leaks)
459 Changes in release 0.3b
461  * kdc: prefer default-salted keys on v5 requests
463  * kdc: lowercase hostnames in v4 mode
465  * hprop: handle more types of MIT salts
467  * lib/krb5: fix memory leak
469  * bug fixes
471 Changes in release 0.3a:
473  * implement arcfour-hmac-md5 to interoperate with W2K
475  * modularise the handling of the master key, and allow for other
476    encryption types. This makes it easier to import a database from
477    some other source without having to re-encrypt all keys.
479  * allow for better control over which encryption types are created
481  * make kinit fallback to v4 if given a v4 KDC
483  * make klist work better with v4 and v5, and add some more MIT
484    compatibility options
486  * make the kdc listen on the krb524 (4444) port for compatibility
487    with MIT krb5 clients
489  * implement more DCE/DFS support, enabled with --enable-dce, see
490    lib/kdfs and appl/dceutils
492  * make the sequence numbers work correctly
494  * bug fixes
496 Changes in release 0.2t:
498  * bug fixes
500 Changes in release 0.2s:
502  * add OpenLDAP support in hdb
504  * login will get v4 tickets when it receives forwarded tickets
506  * xnlock supports both v5 and v4
508  * repair source routing for telnet
510  * fix building problems with krb4 (krb_mk_req)
512  * bug fixes
514 Changes in release 0.2r:
516  * fix realloc memory corruption bug in kdc
518  * `add --key' and `cpw --key' in kadmin
520  * klist supports listing v4 tickets
522  * update config.guess and config.sub
524  * make v4 -> v5 principal name conversion more robust
526  * support for anonymous tickets
528  * new man-pages
530  * telnetd: do not negotiate KERBEROS5 authentication if there's no keytab.
532  * use and set expiration and not password expiration when dumping
533    to/from ka server databases / krb4 databases
535  * make the code happier with 64-bit time_t
537  * follow RFC2782 and by default do not look for non-underscore SRV names
539 Changes in release 0.2q:
541  * bug fix in tcp-handling in kdc
543  * bug fix in expand_hostname
545 Changes in release 0.2p:
547  * bug fix in `kadmin load/merge'
549  * bug fix in krb5_parse_address
551 Changes in release 0.2o:
553  * gss_{import,export}_sec_context added to libgssapi
555  * new option --addresses to kdc (for listening on an explicit set of
556    addresses)
558  * bug fixes in the krb4 and kaserver emulation part of the kdc
560  * other bug fixes
562 Changes in release 0.2n:
564  * more robust parsing of dump files in kadmin
565  * changed default timestamp format for log messages to extended ISO
566    8601 format (Y-M-DTH:M:S)
567  * changed md4/md5/sha1 APIes to be de-facto `standard'
568  * always make hostname into lower-case before creating principal
569  * small bits of more MIT-compatability
570  * bug fixes
572 Changes in release 0.2m:
574  * handle glibc's getaddrinfo() that returns several ai_canonname
576  * new endian test
578  * man pages fixes
580 Changes in release 0.2l:
582  * bug fixes
584 Changes in release 0.2k:
586  * better IPv6 test
588  * make struct sockaddr_storage in roken work better on alphas
590  * some missing [hn]to[hn]s fixed.
592  * allow users to change their own passwords with kadmin (with initial
593    tickets)
595  * fix stupid bug in parsing KDC specification
597  * add `ktutil change' and `ktutil purge'
599 Changes in release 0.2j:
601  * builds on Irix
603  * ftpd works in passive mode
605  * should build on cygwin
607  * work around broken IPv6-code on OpenBSD 2.6, also add configure
608    option --disable-ipv6
610 Changes in release 0.2i:
612  * use getaddrinfo in the missing places.
614  * fix SRV lookup for admin server
616  * use get{addr,name}info everywhere.  and implement it in terms of
617    getipnodeby{name,addr} (which uses gethostbyname{,2} and
618    gethostbyaddr)
620 Changes in release 0.2h:
622  * fix typo in kx (now compiles)
624 Changes in release 0.2g:
626  * lots of bug fixes:
627    * push works
628    * repair appl/test programs
629    * sockaddr_storage works on solaris (alignment issues)
630    * works better with non-roken getaddrinfo
631    * rsh works
632    * some non standard C constructs removed
634 Changes in release 0.2f:
636  * support SRV records for kpasswd
637  * look for both _kerberos and krb5-realm when doing host -> realm mapping
639 Changes in release 0.2e:
641  * changed copyright notices to remove `advertising'-clause.
642  * get{addr,name}info added to roken and used in the other code
643    (this makes things work much better with hosts with both v4 and v6
644     addresses, among other things)
645  * do pre-auth for both password and key-based get_in_tkt
646  * support for having several databases
647  * new command `del_enctype' in kadmin
648  * strptime (and new strftime) add to roken
649  * more paranoia about finding libdb
650  * bug fixes
652 Changes in release 0.2d:
654  * new configuration option [libdefaults]default_etypes_des
655  * internal ls in ftpd builds without KRB4
656  * kx/rsh/push/pop_debug tries v5 and v4 consistenly
657  * build bug fixes
658  * other bug fixes
660 Changes in release 0.2c:
662  * bug fixes (see ChangeLog's for details)
664 Changes in release 0.2b:
666  * bug fixes
667  * actually bump shared library versions
669 Changes in release 0.2a:
671  * a new program verify_krb5_conf for checking your /etc/krb5.conf
672  * add 3DES keys when changing password
673  * support null keys in database
674  * support multiple local realms
675  * implement a keytab backend for AFS KeyFile's
676  * implement a keytab backend for v4 srvtabs
677  * implement `ktutil copy'
678  * support password quality control in v4 kadmind
679  * improvements in v4 compat kadmind
680  * handle the case of having the correct cred in the ccache but with
681    the wrong encryption type better
682  * v6-ify the remaining programs.
683  * internal ls in ftpd
684  * rename strcpy_truncate/strcat_truncate to strlcpy/strlcat
685  * add `ank --random-password' and `cpw --random-password' in kadmin
686  * some programs and documentation for trying to talk to a W2K KDC
687  * bug fixes
689 Changes in release 0.1m:
691  * support for getting default from krb5.conf for kinit/kf/rsh/telnet.
692    From Miroslav Ruda <ruda@ics.muni.cz>
693  * v6-ify hprop and hpropd
694  * support numeric addresses in krb5_mk_req
695  * shadow support in login and su. From Miroslav Ruda <ruda@ics.muni.cz>
696  * make rsh/rshd IPv6-aware
697  * make the gssapi sample applications better at reporting errors
698  * lots of bug fixes
699  * handle systems with v6-aware libc and non-v6 kernels (like Linux
700    with glibc 2.1) better
701  * hide failure of ERPT in ftp
702  * lots of bug fixes
704 Changes in release 0.1l:
706  * make ftp and ftpd IPv6-aware
707  * add inet_pton to roken
708  * more IPv6-awareness
709  * make mini_inetd v6 aware
711 Changes in release 0.1k:
713  * bump shared libraries versions
714  * add roken version of inet_ntop
715  * merge more changes to rshd
717 Changes in release 0.1j:
719  * restore back to the `old' 3DES code.  This was supposed to be done
720    in 0.1h and 0.1i but I did a CVS screw-up.
721  * make telnetd handle v6 connections
723 Changes in release 0.1i:
725  * start using `struct sockaddr_storage' which simplifies the code
726    (with a fallback definition if it's not defined)
727  * bug fixes (including in hprop and kf)
728  * don't use mawk which seems to mishandle roken.awk
729  * get_addrs should be able to handle v6 addresses on Linux (with the
730    required patch to the Linux kernel -- ask within)
731  * rshd builds with shadow passwords
733 Changes in release 0.1h:
735  * kf: new program for forwarding credentials
736  * portability fixes
737  * make forwarding credentials work with MIT code
738  * better conversion of ka database
739  * add etc/services.append
740  * correct `modified by' from kpasswdd
741  * lots of bug fixes
743 Changes in release 0.1g:
745  * kgetcred: new program for explicitly obtaining tickets
746  * configure fixes
747  * krb5-aware kx
748  * bug fixes
750 Changes in release 0.1f;
752  * experimental support for v4 kadmin protokoll in kadmind
753  * bug fixes
755 Changes in release 0.1e:
757  * try to handle old DCE and MIT kdcs
758  * support for older versions of credential cache files and keytabs
759  * postdated tickets work
760  * support for password quality checks in kpasswdd
761  * new flag --enable-kaserver for kdc
762  * renew fixes
763  * prototype su program
764  * updated (some) manpages
765  * support for KDC resource records
766  * should build with --without-krb4
767  * bug fixes
769 Changes in release 0.1d:
771  * Support building with DB2 (uses 1.85-compat API)
772  * Support krb5-realm.DOMAIN in DNS
773  * new `ktutil srvcreate'
774  * v4/kafs support in klist/kdestroy
775  * bug fixes
777 Changes in release 0.1c:
779  * fix ASN.1 encoding of signed integers
780  * somewhat working `ktutil get'
781  * some documentation updates
782  * update to Autoconf 2.13 and Automake 1.4
783  * the usual bug fixes
785 Changes in release 0.1b:
787  * some old -> new crypto conversion utils
788  * bug fixes
790 Changes in release 0.1a:
792  * new crypto code
793  * more bug fixes
794  * make sure we ask for DES keys in gssapi
795  * support signed ints in ASN1
796  * IPv6-bug fixes
798 Changes in release 0.0u:
800  * lots of bug fixes
802 Changes in release 0.0t:
804  * more robust parsing of krb5.conf
805  * include net{read,write} in lib/roken
806  * bug fixes
808 Changes in release 0.0s:
810  * kludges for parsing options to rsh
811  * more robust parsing of krb5.conf
812  * removed some arbitrary limits
813  * bug fixes
815 Changes in release 0.0r:
817  * default options for some programs
818  * bug fixes
820 Changes in release 0.0q:
822  * support for building shared libraries with libtool
823  * bug fixes
825 Changes in release 0.0p:
827  * keytab moved to /etc/krb5.keytab
828  * avoid false detection of IPv6 on Linux
829  * Lots of more functionality in the gssapi-library
830  * hprop can now read ka-server databases
831  * bug fixes
833 Changes in release 0.0o:
835  * FTP with GSSAPI support.
836  * Bug fixes.
838 Changes in release 0.0n:
840  * Incremental database propagation.
841  * Somewhat improved kadmin ui; the stuff in admin is now removed.
842  * Some support for using enctypes instead of keytypes.
843  * Lots of other improvement and bug fixes, see ChangeLog for details.