Thu Dec 17 16:27:22 1998    <nisse@puck>

	* server.c (make_process_resource): New function.
	(server_die): Kill resources associated with the connection.
	(do_close): New callback function till kill the process if the
	channel is closed unexpectedly.

	server.c (do_exit_shell): Don't close the process's stdin, or the
 	channel, until the client asks for it.

	* server.c (make_server_close_handler): Take connection as
	argument.

Wed Dec 16 01:33:25 1998    <nisse@puck>

	* resource.h, resource.c: New files.
	
	* channel.h (CHANNEL_CLOSE_AT_EOF): This flag now means that
	the channel should be closed when EOF have been both sent and
	received. 
	* channel.c (channel_eof): New meaning of CHANNEL_CLOSE_AT_EOF
	flag. 

	* client.c (do_exit_status): Send eof, if we haven't done that
	already. 

	* channel.c (do_channel_eof): Don't initiate close automatically
	when eof has been both sent and received.

	* list.c (make_int_listv): New function
	(make_object_listv): New function

	* keyexchange.c (do_install): Unified key installation.

	* client_keyexchange.c (do_handle_dh_reply): Better handling of
	weak keys (i.e. INSTALL_KEYS() returning NULL).
	* server_keyexchange.c (do_handle_dh_init): -"-

Tue Dec 15 00:01:33 1998    <nisse@puck>

	* xalloc.c (lsh_list_alloc): Avoid unsigned under flow when length
	is zero.

Mon Dec 14 21:58:27 1998    <nisse@puck>

	* parse.c (parse_atom_list): New limit argument; longer lists will
	return NULL.

Sat Dec 12 11:11:23 1998    <ray@zensunni>

	* configure.in: Clarified comment. Added several warnings.

	* keyexchange.c (select_algorithm): Had a terminiation condition
 	"i < LIST_LENGTH(client_list) >= 0" in a for loop, which is
 	probably nonsensical. Removed >= 0 part.

	* lsh_types.h: Introduced UNUSED annotation. Enable GNU libc
	extensions. Note: lsh_types.h must be included before any system header
	for this to work properly.

	* Makefile.am.in: Make gperf produce ANSI C output, and postprocess it
	to fully initialise wordlist.

	* lshd.c, lsh.c: Added a short usage string.

	* include/crypto_types.h: Improved error messages.

	* process_atoms: removed `.sh' from generator name in output.

	* include/idea.h, lib/idea.c: Added note about IDEA being patent
	encumbered.

	* channel.c, keyexchange.c, lib/md5.c, lib/sha.c, pad.c, parse.c,
	randomness.c, write_buffer.c: #include <string.h> for memcpy().

	* bignum.c: #include <stdlib.h> for alloca().

	* server_password.c: #include <crypt.h>

	* io.c, reaper.c: Removed obsolete use of sa_restorer field of struct
	sigaction. (This broke compilation on Linux/Alpha with glibc 2.0.high).
	Initialised struct sigaction in a more portable fashion.

	* bignum.c, charset.c, client_userauth.c, format.c, format.h, io.c,
	list.c: Signedness/type fixes.
	
	* channel.c, client.c, client.h, debug.c, debug.h, disconnect.c,
	disconnect.h, format.c, format.h, keyexchange.c, keyexchange.h,
	process_atoms, server.c, server.h, werror.c, werror.h: Constness
	improvements.

	* client_userauth.c, format.c: Added internal prototypes.
	
	* crypto.c: Added UNUSED annotations.

	* lib/util.c, lib/util.h, include/types.h: New. Bridge from GPG style
	to lsh style, for blowfish.

	* include/blowfish.h, lib/blowfish.c: Added blowfish code from GPG.

	* crypto.c, crypto.c.x, crypto.h, lib/Makefile.am.in, lshd.c, lsh.c:
	Added blowfish support.

	* lib/Makefile.am.in: added dependency of desUtil.o on the generated
	DES header files.

	* TODO: Additions.

	* Various spelling fixes.

Tue Dec  8 10:29:50 1998    <nisse@puck>

	* server_password.c (lookup_user): Integrated support for shadow
 	passwords, by Keresztfalvi Gabor Agoston <kg230@hszk.bme.hu>.

	* server.c (do_exit_shell): Close channel, if we have already sent
	EOF. 

	* xalloc.c (lsh_object_clone): New function.

	* server_keyexchange.c (do_init_dh): Copy the server key (as
	strings can't be shared).

	* crypto.c (do_sha_copy, ): Use the CLONE macro instead of memcpy to
	copy instances.
	(do_hmac_copy): -"-

Fri Dec  4 02:30:28 1998    <nisse@puck>

	* (practically every file): Adapted to new gc and object system.

	* xalloc.c (lsh_object_check_subtype): Allow NULL pointers. They
	are occasionally permissible (for instance, the NULL crypto
	algorithm), and when they aren't the error will be detected early
	anyway. 
	(lsh_object_check): -"-

	* keyexchange.c (do_handle_kexinit): Use an object_list for
 	passing around the selected algorithms. The void ** that was used
 	earlier was unfriendly to the gc.

Sun Nov 22 00:57:16 1998    <nisse@puck>

	* lsh.c (main): Bug fix (pass *address* of crypto_rc4_algorithm).
 	Thanks to Keresztfalvi Gabor Agoston <kg230@hszk.bme.hu>.

	* lshd.c (main): -"-

	* lsh_types.h: Moved definitions of UINT* to
	include/crypto_types.h.

	* io.c: Use Sean Reifschneider's poll-by-select emulation if
	poll() is unavailable.

