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