2000-11-27  Niels Mller  <nisse@cuckoo.localdomain>

	* Released lsh-1.1.3.

	* src/client.c (client_argp_parser): Handle remote_forward
	properly, and install a channel_open_forwarded_tcpip handler if
	needed (recovered from an earlier lsh.c). Some other cleanup.

	* src/abstract_crypto.h: Some cleanup.
	* src/abstract_io.h: Likewise.
	* src/channel.c: Likewise.
	* src/channel.h: Likewise.
	* src/channel_commands.h: Likewise.
	* src/connection.h: Likewise.
	* src/connection_commands.c: Likewise.
	* src/dh_exchange.c: Likewise.
	* src/exception.h: Likewise.
	* src/gateway.c: Likewise.
	* src/gateway_channel.c: Likewise.
	* src/gateway_commands.c: Likewise.
	* src/handshake.c: Likewise.
	* src/handshake.h: Likewise.
	* src/io.h: Likewise.
	* src/io_commands.c: Likewise.
	* src/io_commands.h: Likewise.
	* src/keyexchange.h: Likewise.
	* src/lsh.c: Likewise.
	* src/lsh_proxy.c: Likewise.
	* src/lshg.c: Likewise.
	* src/publickey_crypto.h: Likewise.
	* src/randomness.c: Likewise.
	* src/randomness.h: Likewise.
	* src/read_packet.c: Likewise.
	* src/rsa.c: Likewise.
	* src/server_pty.h: Likewise.
	* src/server_session.c: Likewise.
	* src/sexp.h: Likewise.
	* src/sexp_parser.c: Likewise.
	* src/sexp_streamed_parser.c: Likewise.
	* src/sexp_test.c: Likewise.
	* src/spki_commands.c: Likewise.
	* src/spki_commands.h: Likewise.
	* src/ssh1_fallback.c: Likewise.
	* src/tcpforward.c: Likewise.
	* src/unix_random.c: Likewise.
	* src/zlib.c: Likewise.

2000-11-26  Niels Mller  <nisse@cuckoo.localdomain>

	* src/parse.c (parse_rest, parse_rest_copy): Renamed parse_rest to
	parse_rest_copy. New function parse_rest.

	* src/gateway_channel.c (do_gateway_channel_request): Use
	format_channel_request_i(). 
	(gateway_channel_open_continuation): New attribute fallback.
	(do_gateway_channel_open_continuation): Set the target channel's
	request_fallback pointer.
	(do_channel_open_forward): Set the origin channel's
	request_fallback pointer.

	* src/channel.h (ssh_channel): Added request_fallback attribute.
	(channel_request_info): New struct.
	(channel_request): Use a channel_request_info argument.

	* src/channel.c (parse_channel_request): New function.
	(DEFINE_PACKET_HANDLER): Use parse_channel_request. Invoke request
	fallback if appropriate.
	(init_channel): Initialize request_fallback = NULL.
	(format_channel_open_s): Use a struct lsh_string for the type
	argument. 
	(format_channel_request_i): New function.

	* src/spki_commands.c (spki_read_userkeys): Try to decrypt the key.
	(make_spki_read_userkeys): New argument tty. If supplied, try to
	decrypt password protected keys.

	* src/proxy_agentforward.c (do_proxy_open_auth_agent): Updated to
	use struct channel_open_info.
	* src/proxy_x11forward.c (do_proxy_open_x11): Likewise.
	* src/proxy_tcpforward.c (do_proxy_open_direct_tcpip): Likewise.
	* src/proxy_session.c (do_proxy_open_session): Likewise.
	* src/server_session.c (do_open_session): Likewise.
	* src/tcpforward.c: Likewise.

	* src/parse.c (parse_rest): New function.

	* src/lshg.c: Use new client.c option parsing.

	* src/lsh_proxy.c: Adapted to stricter alist typing.
	* src/lshd.c: Likewise.
	* src/reaper.c: Likewise.
	* src/server_publickey.c: Likewise.
	* src/spki.c: Likewise.

	* src/lsh.c: Moved some of the option parsing to client.c.

	* src/gateway_commands.c (gateway_make_connection): Install an
	open_fallback. 

	* src/gateway_channel.c (gateway_channel_open_command): Use a
	string instead of an atom to represent the chennel type. 
	(do_gateway_channel_open): Use format_channel_opn_s(). 
	(make_gateway_channel_open_command): Take an struct
	channel_open_info * as argument.
	(do_channel_open_forward): New function.
	(gateway_channel_open_forward): Channel open handler that forwards
	any channel open request, of any type. 

	* src/client_session.c (client_session_channel): Renamed the
	class client_session.

	* src/client.h (CLIENT_ARGP_ACTION_GROUP): New constant.
	(CLIENT_ARGP_MODIFIER_GROUP): New constant.
	(client_options): New class.

	* src/client.c: Moved most of the option parsing from lsh.c to
	this file.

	* src/channel.c (make_channel_table): Initialize open_fallback =
	NULL; 
	(global_request_handler): Prepared for using a fallback handler.
	(channel_request_handler): Likewise.
	(channel_open_continuation): Renamed attributes to
	send_window_size and send_max_packet.
	(parse_channel_open): New function.
	(DEFINE_PACKET_HANDLER): Use parse_channel_open. Invoke
	open_fallback if there's no more specific handler for the channel
	type. 
	(format_channel_open_s): New function.
	(format_channel_open_a): New function (currently #if:ed out).

	* src/channel.h (struct channel_open_info): New struct to
	represent the common information in SSH_MSH_CHANNEL_OPEN.
	(channel_table): New attribute open_fallback.
	(channel_open): Use a channel_open_info for the arguments.

	* src/alist.h (alist): Use struct lsh_object *, not void *, to
	pass values.

	* src/alist.c (alist_select): New function.

	* src/algorithms.c (make_algorithms_options): New function.

	* doc/TODO: Some updates.

	* configure.in: Bumped version to 1.1.3.

2000-11-20  Niels Mller  <nisse@cuckoo.localdomain>

	* src/algorithms.h, src/client.h, src/client_keyexchange.c,
	src/client_userauth.c, src/connection.c, src/format.h,
	src/interact.c, src/interact.h, src/io.c, src/io.h,
	src/lsh-writekey.c, src/lsh.c, src/lshd.c, src/reaper.c,
	src/reaper.h, src/server_session.c, src/spki.c,
	src/spki_commands.c, src/srp-gen.c, src/tty.c, src/tty.h: Removed
	old #if:ed out code.

	* ChangeLog: Rotated ChangeLog, creating ChangeLog.2. 

