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