Update gnulib files.
[shishi.git] / NEWS
blob7a9acb4c33e28b60261e0dab818a913cbf8a8200
1 Shishi NEWS -- History of user-visible changes.                 -*- outline -*-
2 Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Simon Josefsson
3 See the end for copying conditions.
5 * Version 0.0.33 (unreleased)
7 ** libpam_shishi: Don't echo password when reading it from console.
8 Reported by Jack Bates <ms419@freezone.co.uk>.
10 ** libpam_shishi: Save read password in PAM library for other modules.
11 Reported by Jack Bates <ms419@freezone.co.uk>.
13 ** Update translations.
15 * Version 0.0.32 (released 2007-06-29)
17 ** Shishi is now licensed under the GPL version 3 or later.
19 ** Remove extra/inetutils.diff since the patch has been merged into InetUtils.
21 ** Update gnulib files.
23 * Version 0.0.31 (released 2007-06-11)
25 ** Shishi is now developed using Git instead of CVS.
26 A public git mirror is available from
27 <http://repo.or.cz/w/shishi.git>.
29 ** Verify the KDC's certificate against a CA certificate in the client.
30 The CA is by default stored in ~/.shishi/client.ca in PEM format.
31 Suggested by Alberto Fondi <alberto.fondi@lnf.infn.it>.
33 ** Update gnulib files.
35 * Version 0.0.30 (released 2006-11-01)
37 ** Update STARTTLS extension to match latest drafts.
38 Shishi now implements draft-josefsson-krb-tcp-expansion-02.txt and
39 draft-josefsson-kerberos5-starttls-02.txt.
41 ** Fix failure when reading large integers from ASN.1 structure.
42 This can manifest itself by giving error messages such as 'Replay
43 protection value (nonce) differ between request and reply.'.  Added a
44 new self test "nonce" to detect errors in these routines.  Reported by
45 Alberto Fondi.
47 * Version 0.0.29 (released 2006-11-01)
49 ** Add man page for ccache2shishi.
51 * Version 0.0.28 (released 2006-11-01)
53 ** New command line tool "ccache2shishi".
54 The tool will read tickets from /tmp/krb5cc_UID (by default) and will
55 write them to ~/.shishi/tickets.
57 ** A description of the ccache file format were added in doc/ccache.txt.
59 ** A self-contained standalone parser of the ccache format added.
60 See lib/ccache.h and lib/ccache.c.  The intention is that they should
61 be usable outside of Shishi, and it doesn't use any Shishi specific
62 header files or functions.  It also avoids heap memory handling.
64 ** New APIs to read MIT ccache files.
65 shishi_tkts_add_ccache_mem
66 shishi_tkts_add_ccache_file
67 shishi_tkts_from_ccache_mem
68 shishi_tkts_from_ccache_file
70 ** New APIs to support ccache reading.
71 shishi_enckdcreppart_authtime_set
72 shishi_enckdcreppart_starttime_set
73 shishi_enckdcreppart_renew_till_set
74 shishi_tkts_default_ccache_guess
75 shishi_tkts_default_ccache
76 shishi_tkts_default_ccache_set
78 ** Fix build errors for missing arcfour_stream when using --with-libgcrypt.
79 Reported by abhijit mitra <abhijit_kly@yahoo.co.in>.
81 * Version 0.0.27 (released 2006-09-15)
83 ** New command line tool "keytab2shishi".
84 The tool will read host keys from /etc/krb5.keytab (by default) and
85 will write them to $(prefix)/etc/shishi.keys.
87 ** New APIs to read MIT keytab files.
88 Thanks to Michael B Allen who reverse-engineered the format and
89 published a freely licensed description, available from
90 <http://www.ioplex.com/utilities/keytab.txt>.  The APIs are
91 shishi_keys_add_keytab_mem, shishi_keys_add_keytab_file,
92 shishi_keys_from_keytab_mem, and shishi_keys_from_keytab_file.
94 ** New APIs to manage set of keys.
95 shishi_keys
96 shishi_keys_done
97 shishi_keys_size
98 shishi_keys_nth
99 shishi_keys_remove
100 shishi_keys_add
101 shishi_keys_print
102 shishi_keys_to_file
104 ** Libtasn1 updated to 0.3.6.
105 This fixes a bug that caused self-test failures in Shishi on 64-bit
106 platforms.
108 ** Remove path from syslog messages for shishid.
110 ** Update of gnulib files.
112 ** Some minor code cleanups.
114 * Version 0.0.26 (released 2006-05-15)
116 ** Requests for service tickets (TGS) are now sent without a sub-session key.
117 This solves interop problems with Windows 2003 and Heimdal, thanks to
118 Elrond for debugging.
120 ** Fix buggy MD4 implementation on 64-bit platforms.
122 ** The Shishi PAM module in extra/pam-shishi/ is now built by default.
123 The installation path has also been changed to $prefix/lib/security,
124 but you can change it with `configure --with-pam-dir=/somewhere/else'
125 or `make install PAMDIR=/somewhere/else'.
127 ** Fix mem leaks.
129 ** Self-tests are now run under valgrind, if it is installed.
131 ** Updated Polish translation, thanks to Jakub Bogusz.
133 * Version 0.0.25 (released 2006-04-27)
135 ** Fix bug in code to get service tickets.
136 The problem was in the libtasn1 DER encoder which include ASN.1 tags
137 for SEQUENCE members when calling asn1_der_coding() on a SEQUENCE
138 element, thanks to Elrond for debugging.
140 ** Improved handling of key versions.
141 Shishi should not send kvno for a session keys in TGS requests any
142 more.  Internally, the UINT32_MAX kvno is now used to denote a
143 "kvno"-less (i.e., non-permenant) key, earlier 0 was used which
144 collided with the perfectly valid real kvno of 0.
146 ** Improved translation of messages in shishi.
148 ** Doc fixes.
150 * Version 0.0.24 (released 2006-04-22)
152 ** Fix bug in shishid which caused it to listen on standard input and crash.
154 ** Pre-authentication support.
155 Only the PA-ENC-TIMESTAMP, ETYPE-INFO and ETYPE-INFO2 mechanisms are
156 supported.  Tested againt MIT, Heimdal, and Windows 2003 KDCs.
158 ** Clarified the copyright on lib/kerberos5.asn1.
160 ** Updated gnulib compatibility files.
162 ** Fix some memory leaks and crashes.
164 * Version 0.0.23 (released 2006-03-25)
166 ** Debian packages are available from http://josefsson.org/shishi/debian/
167 Thanks to Russ Allbery, Yvan Bassuel and Elrond for help on the Debian
168 packaging.
170 ** Added shishi_derive_default_salt and shishi_key_from_name APIs.
171 Used to create a key from principal and password.  Suggested by Elrond
172 <elrond@samba-tng.org>.
174 ** Replace internal crypto code with modules from gnulib.
176 ** Added shared library versioning script, suggested by Steve Langasek.
178 ** Improved libidn detection code.
180 ** The manual doesn't have any invariant sections.
182 ** Updated gnulib compatibility files.
184 ** Updated libtasn1.
186 ** Minor bugfixes and improvements.
188 * Version 0.0.22 (released 2005-08-10)
190 ** Fix build error when STARTTLS support is enabled.
192 ** The help-shishi@gnu.org mailing list is now mentioned in documentation.
194 ** Should now build with objdir != srcdir on systems that lack stdbool.h.
196 ** The license template in files were updated with the new FSF address.
198 ** The internal libtasn1 copy was updated to version 0.2.14.
200 ** Gnulib files updated, and uses within the library updated.
202 * Version 0.0.21 (released 2004-12-17)
204 ** Libtasn1 updated to 0.2.13.
206 ** Gnulib files updated, and uses within the library updated.
208 ** Fix srcdir != objdir building, reported by Mike Castle.
210 * Version 0.0.20 (released 2004-11-21)
212 ** Fix formatting of man pages, based on warnings from Doclifter.
214 ** Updated gnulib compatibility files.
216 * Version 0.0.19 (released 2004-11-12)
218 ** Documentation improvements.
219 For example, you can now browse the Shishi API manual using DevHelp.
221 ** Updated gnulib compatibility files.
223 * Version 0.0.18 (released 2004-10-15)
225 ** When generating an AP-REP, the generated EncAPRepPart is now remembered.
227 ** Fix some memory leaks.
229 ** Revamp of autogenerated documentation.
231 ** Documentation improvements.
233 ** Included libtasn1 updated to 0.2.11.
235 ** ASN.1 API cleanup:
236 shishi_new_a2d: RENAMED to shishi_asn1_to_der.
237 shishi_a2d_new_field: RENAMED to shishi_asn1_to_der_field.
238 shishi_a2d, shishi_a2d_field: REMOVED.
239 shishi_asn1_read: RENAMED to shishi_asn1_read_inline.
240 shishi_asn1_read2: RENAMED to shishi_asn1_read.
241 shishi_asn1_read2_optional: RENAMED to shishi_asn1_read_optional.
242 shishi_asn1_read_optional: MODIFIED, now allocate output.
244 ** Various other API fixes.
245 Functions that take fixed size buffers have been replaced by functions
246 that allocate dynamically sized buffer of the correct length.
248 * Version 0.0.17 (released 2004-08-08)
250 ** Revamp of gnulib compatibility files.
252 ** Fix warnings.
254 * Version 0.0.16 (released 2004-08-01)
256 ** New environment variables to override defaults in Shishi library.
257 SHISHI_USER specifies default client username, SHISHI_HOME specifies
258 user Shishi home directory (for configuration file, ticket cache,
259 etc), SHISHI_TICKETS the ticket cache file, SHISHI_CONFIG for the
260 system configuration file, SHISHI_KEYS for system wide host keys.
262 ** Experimental KDC now handle non-default ticket life time.
264 ** Nettle is now preferred over Libgcrypt, even if Libgcrypt is available.
265 Use configure parameter --with-libgcrypt to override.  Nettle is the
266 minimalistic crypto library included with Shishi.
268 ** The pkg-config script no longer use the linker parameter -R.
270 ** Libtasn1 updated to 0.2.10.
272 ** Many gnulib compatibility files were updated.
274 ** Cross compile builds should work.
275 It should work for any sane cross compile target, but the only tested
276 platform is uClibc/uClinux on Motorola Coldfire.
278 * Version 0.0.15 (released 2004-04-18)
280 ** Sequence numbers in Authenticator and EncAPRepPart are now randomized.
282 ** Low-level fixes of AES Cipher Text Stealing mode.
283 Also added more AES/CTS self tests.
285 ** Configuration tokens spelled correctly ("verbose-noice" -> "verbose-noise").
287 ** Polish translation added, by Jakub Bogusz.
289 ** Various bugfixes and cleanups.
291 * Version 0.0.14 (released 2004-01-22)
293 ** High-level AP interface now support setting raw checksum field values.
294 This is needed for certain applications that, like GSS-API, put
295 non-standard data in the checksum field of the Authenticator in a
296 AP-REQ.
298 ** Various minor bugfixes.
300 * Version 0.0.13 (released 2004-01-15)
302 ** Fixed salt calculation in shisa.
303 The earlier salt computed was incorrect, so existing keys in your
304 Shisa database, that were derived from passwords, are incorrect, and
305 should be changed.
307 ** Fixed shisa key file parser to handle keys with leading whitespace.
308 The parser used fscanf, which skip whitespace.  If your cryptographic
309 key (not passwords), in binary format, had leading whitespace, it
310 would fail to read the correct key.
312 ** Fix shishid crash on startup when sockets can't be opened.
314 ** Various minor bugfixes.
316 * Version 0.0.12 (released 2004-01-02)
318 ** The user database library Shisa has been improved.
319 Shisa now support multiple keys for users, and you can now selectively
320 add and remove keys via the command line interface.
322 ** The Shishi client and Shishid KDC now support TLS resumption.
323 This improve TLS handshake speed, in particular for the normal AS plus
324 TGS combination.  Currently the TLS resume database is only stored in
325 memory, so if either the client or server process is restarted, the
326 TLS resume information is lost.  This add --resume-limit to Shishid,
327 which can be used to specify the size of the TLS resume database (or
328 to disable it).
330 ** The KDC has been cleaned up and the error handling is more robust.
332 ** The Shisa programming API is documented in the manual.
334 * Version 0.0.11 (released 2003-12-21)
336 ** The Shishi library now support X.509 authenticated KDC connections via TLS.
337 The client currently do not check server authentication, however this
338 is no worse than existing UDP/TCP connections.  If client certificates
339 are available, the X.509 client certificate is simply sent (via TLS
340 handshake) to the KDC for possible pre-authentication purposes.
342 ** The KDC now support X.509 authentication.
343 If server certificates are available, X.509 authenticated TLS may be
344 negotiated.  The KDC currently only use the client certificate details
345 for logging purposes.  However, it do verify client certificate
346 against CA certificates, if those are available.
348 ** The KDC has been cleaned up and the error handling is more robust.
350 * Version 0.0.10 (released 2003-12-16)
352 ** The TLS support in Shishid now works.
354 ** All command line interfaces now uses getopt instead of argp.
356 * Version 0.0.9 (released 2003-12-12)
358 ** An information storage system added, called Shisa.
359 Shisa is used by KDCs (e.g., Shishid) to find information about
360 principals.  Shisa can be extended to support various backends, such
361 as LDAP and SQL databases, but currently only a file system based
362 database is supported.  Shisa consists of two parts, a library
363 (libshisa, see db/) and a command line tool (shisa, see src/).  Shisa
364 is designed to be concurrent write safe, i.e., multiple writers to the
365 same database is permitted.  This is very much work in progress.
367 ** A new tool 'shisa' added to add/remove/list/modify the Shisa database.
369 ** The Administration and Reference Manual has been (re)written.
370 There is now a step-by-step walk-through on creating the database for
371 a new realm, adding a few principals, starting the server and testing
372 it by getting tickets.
374 ** Shishid (the KDC server) now read keys via the Shisa database.
375 The old hostkeys-alike file based "database" is no longer supported.
377 ** A sample Shisa database and host keys are created during installation.
378 The default realm name (typically your hostname) is used, which might
379 not be what you prefer, but should get you started.
381 ** Improve behaviour with poorly synchronized clocks.
382 Earlier newly acquired tickets were discarded if they were not yet
383 valid when you acquire them.  Now tickets are only discarded when
384 their end time is in the past.
386 ** Support for DES and 3DES without integrity checking re-added.
387 Those encryption algorithms are needed by GSS Wrap/Unwrap, but was
388 accidently removed from Shishi during an earlier cleanup.
390 ** When Libgcrypt is used, ARCFOUR now handle streamed operations.
391 This is needed for, e.g., rsh in the Shishi patched version of GNU
392 InetUtils.
394 ** Paths to configurations files and host keys changed.
395 The configuration files and host keys are now stored (by default, but
396 see next entry) in $prefix/etc/shishi/, instead of, as it was before,
397 in $prefix/etc (for configuration and host keys) and
398 $prefix/share/shishi (for user configuration file template).
400 ** Paths to configurations, host keys and the database root now configurable.
401 The configure parameters --with-conf-dir, --with-skel-dir,
402 --with-key-dir, and --with-db-dir can be used to specify the location
403 of shishi.conf and shisa.conf (system configuration files),
404 shishi.skel (user configuration file template), shishi.keys (host
405 specific keys) and the Shisa database root, respectively.
407 ** IANA allocated Telnet Encrypt command 12 for the AES-CCM mode.
409 ** Autoconf 2.59, Automake 1.8, and Libtool from CVS is used.
411 ** Some more self tests were added.
413 * Version 0.0.8 (released 2003-10-16)
415 ** Passwords are processed with SASLprep instead of KRBprep.
417 ** Authorization improvements.
419 ** Documentation additions.
420 Protocol descriptions for STARTTLS, AES-CCM encrypted telnet, and
421 Shishi rsh/rlogin.
423 ** Support for upgrading TCP connections to KDC to TLS supported (STARTTLS).
424 STARTTLS support will be compiled in automatically, if you have GNUTLS
425 installed, but can be disabled unconditionally by configuring with
426 --disable-tls.  Use the 'realm-kdc' configuration token to specify
427 which KDCs the client should use it against, e.g.,
428 'realm-kdc=MYREALM.ORG,kdc.myrealm.org/tls'.
430 * Version 0.0.7 (released 2003-09-21)
432 ** Encryption types can now be referred to using shorter aliases.
433 E.g., you can write "aes" instead of "aes256-cts-hmac-sha1-96".
435 ** ARCFOUR encryption support according to draft-brezak-win2k-krb-rc4-hmac-04.
437 ** DES-CBC-CRC now works.
439 * Version 0.0.6 (released 2003-09-14)
441 ** Proxiable, proxy, forwardable and forwarded tickets supported.
442 See the User Manual for discussion and examples.
444 ** Man pages for all public functions are included.
446 ** Installed versions of Libgcrypt and libtasn1 used where possible.
447 Shishi need Libgcrypt 1.1.44 or later, and libtasn1 0.2.5 or later.
448 If a usable version is not found, the internal Nettle (crypto/) and/or
449 libminitasn1 (asn1/) libraries are used instead.
451 ** It is possible to enable and disable part of the system at compile time.
452 See --disable-des, --disable-3des, --disable-aes, --disable-md,
453 --disable-null, and --enable-arcfour.
455 ** The internal crypto interface now fully modularized.
456 If you wish to add support for a new low-level cryptographic library,
457 to, e.g., utilize specialized hardware, it is now easy to do so.  Two
458 wrappers for Nettle (lib/nettle.c) and Libgcrypt (lib/libgcrypt.c) are
459 included.
461 ** Logging destination for warnings and informational messages can be changed.
462 By default, message are sent to stderr for clients, and syslog for
463 servers.  See the new API functions shishi_outputtype and
464 shishi_set_outputtype for more information.
466 * Version 0.0.5 (released 2003-09-07)
468 ** Server host name to realm mapping via DNS supported.
470 ** SAFE functions improved.
471 Example code of a client using integrity protected application data
472 exchanges is in examples/client-safe.c and examples/server.c.
474 ** PRIV functions added.
475 Example code of a client using privacy protected application data
476 exchanges is in examples/client-priv.c.
478 ** Documentation improvements.
479 E.g., a reference manual was added, that document the configuration
480 file, and the shishi and shishid parameters.
482 ** Various API changes.
484 * Version 0.0.4 (released 2003-08-31)
486 ** The rsh/rlogin client 'rsh-redone' ported to Shishi, by Nicolas Pouvesle.
487 The client is located in extra/rsh-redone/.  It supports
488 authentication and encryption.  It interoperate with other
489 implementations.
491 ** Authenticator subkeys are supported, and is used by default in AP/TGS.
492 Some KDCs does not understand subkeys in TGS requests, and use the
493 session key instead.  Shishi detect and work around this problem but
494 prints a warning.
496 ** Simplistic key distribution center (KDC) is working.
497 See the Administration Manual for a walk through on how to get it up
498 and running.
500 ** Various API changes.
502 * Version 0.0.3 (released 2003-08-22)
504 ** Documentation fixes.
506 ** Cleanups.
508 * Version 0.0.2 (released 2003-08-17)
510 ** Command line handling of the 'shishi' application rewritten.
511 See the (updated) user manual and --help output for the new story.
513 ** It is possible to acquire renewable tickets.
515 ** Example client and server included.
516 Application data protection is not supported, but authentication is
517 demonstrated.  The files are in src/client.c and src/server.c.
519 ** New configuration verbs: 'ticket-life' and 'renew-life'.
521 ** AES ciphers didn't work when nettle was used.
523 ** Cleanups, bug fixes and improved portability.
525 * Version 0.0.1 (released 2003-08-10)
527 ** InetUtils copy removed.
528 The patches (also found in extra/inetutils.diff) are forwarded upstream.
530 ** Libidn copy removed.
531 Libidn is optional, but recommended.  It is used automatically if
532 present on your system.
534 ** Gettext not included.
535 Due to some conflicts between libtool and gettext, if you want i18n on
536 platforms that does not already have a useful gettext implementation,
537 you can install GNU gettext before building this package.  If you
538 don't care about i18n, this package should work fine (except for i18n,
539 of course).
541 ** Low-level crypto uses nettle if libgcrypt is not installed.
542 Libgcrypt is not shipped with Shishi any more, instead a more
543 streamlined crypto implementation based on nettle is included.
544 Specify --with-libgcrypt to use libgcrypt.
546 ** Libtasn1 updated and replaced by "minitasn1" from gnutls.
547 Specify --with-system-libtasn1 to link with the installed libtasn1, if
548 you have it.
550 ** KDC addresses are now found via DNS SRV RRs as a last resort.
551 This is only enabled if libresolv and resolv.h is found on your
552 system.
554 ** Argp and other compatibility files replaced by gl/ directory.
556 ** Cleanups, bug fixes and various improvements.
558 * Version 0.0.0 (released 2003-06-02)
560 ** Initial release
562 ----------------------------------------------------------------------
563 Copying and distribution of this file, with or without modification,
564 are permitted in any medium without royalty provided the copyright
565 notice and this notice are preserved.