ChangeLog 81.2 KB
Newer Older
Niels Möller's avatar
Niels Möller committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2001-09-27  Niels Mller  <nisse@cuckoo.hack.org>

	* src/resource.c (make_resource_list): Renamed functions, was
	empty_resource_list. Updated all callers.
	(dont_free_live_resource): #if:ed out check of gc_final_p.

	* src/io_commands.c: Deleted old function do_io_read_file.

	* src/io.c: Deleted old backend code.
	(io_run): Check for OOP_ERROR. #if:ed out for now, as it is not
	defined in liboop-0.7. 

	* src/client.c (accept_service_handler): Deleted exception_handler
	attribute.
	(do_accept_service): Use the connection's exception handler for
	raising protocol error.
	(make_accept_service_handler): Deleted exception_handler argument. 

	* src/channel.c (send_channel_request_responses): Deleted
	connection argument. 
	(make_channel_request_response): Likewise.
	(channel_request_exception_handler): Deleted connection attribute. 
	(make_channel_request_exception_handler): Deleted connection
	argument. 

Niels Möller's avatar
Niels Möller committed
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
2001-09-26  Niels Mller  <nisse@ehand.com>

	* src/server_session.c (shell_request_handler,
	exec_request_handler): Defined as static objects using
	DEFINE_CHANNEL_REQUEST. Updated users.

	* src/io_commands.c (connect_simple_comand,
	connect_connection_command): New static commands, replacing
	make_simple_connect and make_connect_connection. Updated users.

	* src/client_x11.c (channel_open_x11): Define as a static object
	using DEFINE_CHANNEL_OPEN. Updated users.

	* src/channel.h (DEFINE_CHANNEL_OPEN): New macro.
	(DEFINE_CHANNEL_REQUEST): New macro.

	* src/zlib.c (zlib_deflate): Bugfix: Call deflateEnd, not
	inflateEnd, when deleting a deflate object. FIX copied from 1.2
	branch. 

	* src/sftp/xmalloc.c: Include string.h.

Niels Möller's avatar
Niels Möller committed
48
49
2001-09-25  Niels Mller  <nisse@ehand.com>

Niels Möller's avatar
Niels Möller committed
50
51
52
53
54
55
56
57
58
59
	* src/gc.c (gc_register): Set gc_scheduled flag before creating
	the gc callout.

	* src/io.c (lsh_oop_time_callback): New function.
	(lsh_oop_register_callout): New function.
	(lsh_oop_cancel_callout): New function.
	(do_kill_callout): New function.
	(io_callout): Deleted delay argument, as delays are not currently
	implemented. 

Niels Möller's avatar
Niels Möller committed
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
	* src/lsh-writekey.c (lsh_writekey_options2private_file): Dup
	string before passing it to make_io_write_file_info.
	(lsh_writekey_options2public_file): Updated call to
	make_io_write_file_info. 

	* src/sexp.c (do_format_sexp_vector): Fixed string leak in
	pretty-printing code.

	* src/io_commands.c (make_io_write_file_info): Changed type of the
	NAME argument. Now a struct lsh_string *.

	* src/io.c (io_final): Call gc_final. That makes sure that all
	callbacks are cancelled. Updated callers to not use gc_final, only
	io_final. 

	* src/gc.c (gc_final): Always define gc_fianl, and kill the
	resources in the root set. Deallocation and checks for leaks is
	still done only when DEBUG_ALLOC is defined.

Niels Möller's avatar
Niels Möller committed
79
80
81
82
83
84
85
86
87
88
89
2001-09-24  Niels Mller  <nisse@cuckoo.hack.org>

	* src/xalloc.c (lsh_object_check): Better message on type error.
	(lsh_object_check_subtype): Likewise.

	* src/lsh-writekey.c (make_writekey): Chenged order of options and
	stdin arguments. Delay call of read_sexp.

	* src/command.c (gaba_apply): Assert that a value has been
	returned.

Niels Möller's avatar
Niels Möller committed
90
91
2001-09-24  Niels Mller  <nisse@ehand.com>

Niels Möller's avatar
Niels Möller committed
92
93
94
95
96
97
98
99
100
	* src/scm/gaba.scm (process-expr): Handle empty parameter list.

	* src/io.c: Deleted class io_backend. Register signal handlers and
	files with gc_global() instead. Deleted all references to
	io_backend in the rest of the source files. Doesn't quite work yet.

	* src/gc.c (gc_global): New function.
	(root_set): New global variable.

Niels Möller's avatar
Niels Möller committed
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
	* Liboop code (without gc) seems to work now. Tagging as
	MILESTONE_LIBOOP_20010924. 

	* src/write_buffer.c (write_buffer_close): Call close_fd if buffer
	is empty. 

	* src/unix_interact.c (window_subscriber): Added attribute
	interact, which points to the corresponding unix_interact.
	(do_kill_window_subscriber): New function, which updates the
	number of subscribers and removes the SIGWINCH handler if there
	are no subscribers left.
	(unix_interact): Added attributes backend, winch_handler and
	nsubscribers. 
	(unix_window_change_subscribe): Keep track of number of
	subscribers, and install the signal handler if it is needed.
	(make_unix_interact): Don't install any signal handler yet.

	* src/lshd.c (main): Changed the behaviour of the --no-syslog
	option. Now --daemon --no-syslog puts the process into the
	background without the rest of the daemonic setup. These option
	names should be changed to something more correct, but it is used
	only be the testsuite.

	* src/io.c (lsh_oop_signal_callback): Better trace message.
	(lsh_oop_signal_callback): Return OOP_CONTINUE.
	(lsh_oop_fd_read_callback): Return OOP_CONTINUE.
	(lsh_oop_register_read_fd): Check want_read, so we don't try to
	register the callback twice.
	(lsh_oop_fd_write_callback): Fixed assertion.
	(lsh_oop_fd_write_callback): Return OOP_CONTINUE.
	(lsh_oop_register_write_fd): Check want_write, so we don't try to
	register the callback twice.
	(io_run): Print a trace message if/when oop_sys_run returns.
	(do_connect_callback): Improved trace messages.
	(io_connect): Initialize fd->write before calling
	lsh_oop_register_write_fd. 
	(io_listen): Initialize fd->read before calling
	lsh_oop_register_read_fd. 
	(close_fd): Call lsh_oop_cancel_read_fd and
	lsh_oop_cancel_write_fd before clearing the alive flag.

Niels Möller's avatar
Niels Möller committed
142
143
144
145
146
147
2001-09-23  Niels Mller  <nisse@cuckoo.hack.org>

	* src/io.c: Added trace messages to liboop-related functions.

	* src/write_buffer.c: Include io.h.

Niels Möller's avatar
Niels Möller committed
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
2001-09-21  Niels Mller  <nisse@ehand.com>

	* configure.in: Check for liboop.

	* src/io.c (make_io_backend): Call new function io_init().
	(lsh_oop_register_read_fd): Updated the want_read flag. Changed
	most functions to call this function instead of updating the flag
	directly. 
	(lsh_oop_cancel_read_fd): Likewise.
	(lsh_oop_register_write_fd): Analogous changes for the want_write flag.
	(lsh_oop_cancel_write_fd): Likewise.
	(do_exc_finish_read_handler): Use lsh_oop_register_read_fd and
	lsh_oop_cancel_read_fd.  

	* src/write_buffer.c (make_write_buffer): Added fd argument.
	(do_write): Call lsh_oop_register_write_fd when buffer gets
	non-empty. 

	* src/reaper.c (make_reaper): Adapted to new io_signal_handler
	behaviour. 
	* src/unix_interact.c (make_unix_interact): Likewise.

	* src/channel_forward.c (do_channel_forward_send_adjust): Use
	lsh_oop_register_read_fd. 
	* src/client_session.c (do_send_adjust): Likewise.
	(do_client_io): Likewise.
	* src/server_session.c (do_send_adjust): Likewise.

Niels Möller's avatar
Niels Möller committed
176
177
178
179
180
2001-09-19  Niels Mller  <nisse@ehand.com>

	* src/server_keyexchange.c (do_init_server_dh): Fixed bug in the
	PEER_SSH_DSS_KLUDGE workaround. FIX copied from 1.2 branch.

Niels Möller's avatar
Niels Möller committed
181
182
183
184
185
186
187
188
2001-09-18  Niels Mller  <nisse@ehand.com>

	* src/io.c (lsh_oop_cancel_signal): New function.
	(do_write_callback): Call FD_PREPARE.
	(close_fd): Call lsh_oop_cancel_fd.
	(close_fd_nicely): Likewise.
	(close_fd_read): Likewise.

Niels Möller's avatar
Niels Möller committed
189
190
191
192
193
194
195
196
197
2001-09-18  Niels Mller  <nisse@cuckoo.hack.org>

	* src/io.c (lsh_oop_glue): New class.
	(make_lsh_oop_glue): New function.
	(lsh_oop_signal_callback): New function.
	(lsh_oop_register_signal): New function.
	(lsh_oop_fd_callback): New function.
	(lsh_oop_register_fd): New function.

Niels Möller's avatar
Niels Möller committed
198
199
200
201
2001-09-17  Niels Mller  <nisse@ehand.com>

	* src/io.c: Started experimental conversion to use liboop.

Niels Möller's avatar
Niels Möller committed
202
203
2001-09-16  Niels Mller  <nisse@cuckoo.hack.org>

Niels Möller's avatar
Niels Möller committed
204
205
	* doc/lsh.texinfo: Moved table of contents first.

Niels Möller's avatar
Niels Möller committed
206
207
208
	* src/dsa.c (do_dsa_sign): Display any unexpected algorithm atom
	before crashing.

Niels Möller's avatar
Niels Möller committed
209
210
211
212
213
214
215
216
217
218
2001-09-13  Niels Mller  <nisse@ehand.com>

	* src/io.c (address_info2sockaddr): Fixed debug invocation. FIX
	copied from 1.2 branch.

2001-09-12  Niels Mller  <nisse@ehand.com>

	* src/werror.c (werror_vformat): Don't crash if %a gets a zero
	argument. FIXED in 1.2 branch.

Niels Möller's avatar
Niels Möller committed
219
220
221
222
223
2001-09-09  Niels Mller  <nisse@cuckoo.hack.org>

	* src/des.c (make_des_instance): Use the des_fix_parity function
	in nettle.

Niels Möller's avatar
Niels Möller committed
224
225
226
227
228
229
230
231
232
233
234
235
2001-09-05  Niels Mller  <nisse@ehand.com>

	* src/crypto.h: Deleted last traces of idea support.
	* src/atoms.in: Likewise.
	* src/algorithms.c: Likewise.
	* src/Makefile.am.in: Likewise.

	* src/testsuite/lsh-6-test: New test, exercising the various -c
	options. 

	* configure.in: Bumped version to 1.3.5.

Niels Möller's avatar
Niels Möller committed
236
237
238
239
2001-09-04  Niels Mller  <nisse@cuckoo.hack.org>

	* Released lsh-1.3.4.

Niels Möller's avatar
Niels Möller committed
240
241
242
243
244
245
246
247
248
249
2001-09-04  Niels Mller  <nisse@ehand.com>

	* doc/lsh.texinfo: Updated for 1.3.4. In particular, added doc on
	X forwarding, -x, -B, and --log-file options, and encrypted
	private keys. Deleted the paragraph about the obsolete --userauth
	option. 

	* src/client.c (client_command_session): Ask for a pty also for
	(supposedly non-interactive) exec sessions.

Niels Möller's avatar
Niels Möller committed
250
251
252
253
254
255
256
257
258
259
260
261
262
2001-09-03  Niels Mller  <nisse@cuckoo.hack.org>

	* src/xauth.c (xauth_process): New function, using XauReadAuth.
	(xauth_lookup): Use xauth_process instead of XauGetAuthByAddr.

	* src/client_x11.c (make_client_x11_display): Initialize the fake
	cookie properly.

	* src/xauth.h: New file with the xauth_lookup prototype.

	* src/xauth.c (xauth_lookup): Deleted address_length argument. Bug
	fixes. 

Niels Möller's avatar
Niels Möller committed
263
264
2001-09-03  Niels Mller  <nisse@ehand.com>

Niels Möller's avatar
Niels Möller committed
265
266
267
268
269
270
271
272
273
274
275
276
277
	* src/xauth.c: Rewrote to use libXau.

	* src/client_x11.c (client_x11_auth_info): Deleted class; merged
	with client_x11_display.
	(parse_display): Take a client_x11_display as argument. Do xauth lookup.
	(get_client_x11_auth_info): Deleted function.

	* src/client.c (DEFINE_CALLBACK): Declare self argument as UNUSED.

	* src/Makefile.am.in (liblsh_a_SOURCES): Added xauth.c.

	* configure.in: Check for X, libXau and XauGetAuthByAddr.

Niels Möller's avatar
Niels Möller committed
278
279
280
281
282
283
284
285
286
	* src/client_x11.c (client_x11_channel): New fields auth_length
	and name_length, for recording the decoded lengths in the setup
	message.  
	(X11_SETUP_MAX_LENGTH): Defined as 48, which is the size of a message
	with a 16 octet cookie.
	Updated description of the X11 connection setup message.
	(LE_READ_UINT16, LE_WRITE_UINT16): New macros. 
	(do_client_channel_x11_receive): Bug fixes, seems to work now.

Niels Möller's avatar
Niels Möller committed
287
288
289
	* src/suspend.h: Declare suspend_callback as extern. Noticed by
	Jean-Pierre. 

Niels Möller's avatar
Niels Möller committed
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
2001-09-03  Niels Mller  <nisse@cuckoo.hack.org>

	* src/client_x11.c: Added comment about observed X11 packets (that
	seem contrary to the documentation in RFC 1013.
	(do_client_channel_x11_receive): Print received cookie, for
	debugging purposes.
	(make_forward_x11): Print generated fake cookie, for debugging
	purposes. 
	(parse_display): Fixed ssh_format invocation creating the local
	socket name.
	(do_channel_open_x11): Fixed invocation of verbose().
	(do_format_request_x11_forward): Get the connection from the
	channel, now that the connection pointer is available there.
	(do_format_request_x11_forward): Hex encode the cookie. That's
	ugly, but needed for compatibility.

	* src/client_pty.c: Dropped lsh:-prefix on messages, it's added
	automatically in werror.c.

	* src/client.c (client_maybe_x11): Write a message if DISPLAY not
	set or it's value doesn't make sense.

Niels Möller's avatar
Niels Möller committed
312
313
2001-09-02  Niels Mller  <nisse@cuckoo.hack.org>

Niels Möller's avatar
Niels Möller committed
314
315
316
317
318
	* src/client.c (make_client_session): Added escape sequences q, v
	and d, for controlling the verbosity flags.
	(client_argp_parser): Look at used_x11 after setting up the shell
	session. 

Niels Möller's avatar
Niels Möller committed
319
320
321
322
323
324
325
326
327
328
329
330
331
	* src/lshg.c (make_options): Pass NULL random to
	init_client_options. 

	* src/client_x11.c (make_client_x11_display): Free the fake cookie
	if we fail.
	(make_forward_x11): Make up a random cookie.

	* src/client.c (init_client_options): New argument RANDOM.
	(client_maybe_x11): Pass on RANDOM to make_forward_x11.

	* src/client.h (client_options): Moved RANDOM attribute here, from
	lsh_options. 

Niels Möller's avatar
Niels Möller committed
332
333
2001-09-01  Niels Mller  <nisse@cuckoo.hack.org>

Niels Möller's avatar
Niels Möller committed
334
335
336
337
338
339
340
341
342
	* src/client.c: Moved -x option to lsh.c.

	* src/channel.c (register_channel): Deleted connection argument.

	* src/channel.h (ssh_channel): Replaced the write pointer with a
	pointer to the connection.
	(channel_request): Deleted connection argument.
	* src/channel.h (CHANNEL_REQUEST): Likewise.

Niels Möller's avatar
Niels Möller committed
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
	* src/resource.c (init_resource): Renamed from resource_init, for
	consistency. Updated all callers.

	* src/lsh.h (struct client_x11_display): Forward declare.

	* src/client_x11.h: Deleted, prototypes moved to client.h.

	* src/client.h (client_options): New attributes with_x11 and
	used_x11.

	* src/client.c (client_maybe_pty): New function.
	(client_maybe_x11): New function.
	(client_shell_session): Use client_maybe_pty and client_maybe_x11.
	(client_command_session): Use client_maybe_x11.
	(client_argp_parser): --x11-forward should be a modifier option,
	not an action.

	* src/channel.h (channel_table): Added attribute x11_display.

	* src/Makefile.am.in (liblsh_a_SOURCES): Added client_x11.c.

Niels Möller's avatar
Niels Möller committed
364
365
366
367
2001-08-31  Niels Mller  <nisse@ehand.com>

	* src/client.c (client_argp_parser): Implemented -X flag.

Niels Möller's avatar
Niels Möller committed
368
369
370
371
372
373
374
375
376
377
2001-08-30  Niels Mller  <nisse@cuckoo.hack.org>

	* src/xauth.c: New file.

	* src/client_x11.c: Work in progress.
	(client_x11_auth_info): New class.

	* src/channel_forward.c (init_channel_forward): New function,
	extracted from make_channel_forward.

Niels Möller's avatar
Niels Möller committed
378
379
380
381
2001-08-30  Niels Mller  <nisse@ehand.com>

	* configure.in: Bumped version to 1.3.4.

Niels Möller's avatar
Niels Möller committed
382
383
384
385
2001-08-29  Niels Mller  <nisse@cuckoo.hack.org>

	* Released lsh-1.3.3.

Niels Möller's avatar
Niels Möller committed
386
387
2001-08-29  Niels Mller  <nisse@ehand.com>

Niels Möller's avatar
Niels Möller committed
388
389
	* src/sftp/testsuite: Fixed scripts to work outside of $srcdir.

Niels Möller's avatar
Niels Möller committed
390
391
392
393
394
395
396
397
398
399
400
	* src/sftp/buffer.c, src/sftp/client.c: Include string.h.

	* src/algorithms.c (all_symmetric_algorithms): Use aes256-cbc as
	an alias for rijndael. 
	(lookup_crypto): Recognize aes256-cbc, aes-cbc and aes.

2001-08-23  Niels Mller  <nisse@ehand.com>

	* src/connection.c (do_exc_connection_handler): Display exception
	message. Suggested by Jonas Bofjll. XXX: Fix in 1.2 branch.

Niels Möller's avatar
Niels Möller committed
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
2001-08-28  Niels Mller  <nisse@cuckoo.hack.org>

	* src/sftp/testsuite/run-tests: Use srcdir when starting scripts.

	* src/Makefile.am.in (liblsh_a_SOURCES): Added channel_forward.c.

	* src/channel_forward.h: Renamed the tcpip_channel to
	channel_forward, and moved it to a separate file. It's not really
	tcpip-forwarding specific, and can be reused for x11-forwarding.

	* src/lsh_types.h (READ_UINT16): Fixed shift count. XXX: Fix in
	1.2 branch.

	* src/parse.c (parse_uint16): New function.
	(parse_string16): New function.

Niels Möller's avatar
Niels Möller committed
417
418
2001-08-27  Niels Mller  <nisse@cuckoo.hack.org>

Niels Möller's avatar
Niels Möller committed
419
420
421
422
423
424
	* src/sftp/testsuite/Makefile.am (EXTRA_DIST): Use EXTRA_DIST, not
	DISTFILES. cd to $srcdir when running the tests.

	* src/sftp/Makefile.am (EXTRA_DIST): Include header files in the
	dist. 

Niels Möller's avatar
Niels Möller committed
425
426
	* buffer.c, buffer.h, client.c, client.h: Added copyright notices. 

Niels Möller's avatar
Niels Möller committed
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
	* src/sftp/testsuite/Makefile.am: New file.

	* src/sftp/sftp-server.c (struct sftp_file): New struct with fd
	and position.
	(enum struct sftp_handle_type): Renamed constants to
	HANDLE_TYPE_FILE and HANDLE_TYPE_DIRECTORY.
	(handle_t): Deleted typedef.
	(HANDLE_FILE): New macro replacing HANDLE_FD.
	(sftp_read): New function. Keep track of position, and use
	seek/pread only when appropriate.
	(sftp_write): Likewise.

	* src/sftp/configure.in (AC_OUTPUT): Generate testsuite/Makefile. 

	* src/sftp/client.c: Minor fixes; deleted unused variables, static
	declared functions. 

	* src/sftp/Makefile.am (SUBDIRS): Added testsuite.

	* src/Makefile.am.in (SUBDIRS): Added sftp.

	* misc/bootstrap.sh: Bootstrap the src/sftp subdirectory.

	* configure.in: Configure the src/sftp subdirectory. 

Niels Möller's avatar
Niels Möller committed
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
2001-08-26  Niels Mller  <nisse@cuckoo.hack.org>

	* src/testsuite/export-1-test: Don't use $srcdir for finding
	lsh-export-key. 

	* src/zlib.c (do_zlib): Don't print any message if Z_BUF_ERROR
	happens with avail_in = 0.

	* src/lshd.c (main_options): New experimental option --subsystems.
	(parse_subsystem_list): New function.
	(main_argp_parser): Handle --subsystems.
	(main): Install a subsystems handler, if appropriate.

	* src/server_session.c (shell_request): Deleted unused reaper
	attribute. 
	(lookup_subsystem): New function.
	(do_spawn_subsystem): New function.
	(make_subsystem_handler): New function.

Niels Möller's avatar
Niels Möller committed
471
472
2001-08-21  Niels Mller  <nisse@ehand.com>

Niels Möller's avatar
Niels Möller committed
473
474
475
	* src/client_userauth.c (make_client_publickey_auth): Initialize
	TYPE attribute properly.

Niels Möller's avatar
Niels Möller committed
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
	* src/server_userauth.c (server_userauth_none): New authentication
	method. 

	* src/lshd.c (main_argp_parser): Install a handler for the "none"
	authentication method. 
	(main): Always require user authentication (used to allow clients
	to start the ssh-connection service directly, under the same
	restrictions as for "none" authentication).

	* src/lsh.c (main_options): Deleted options --userauth and
	--no-userauth. 
	(lsh_login_command): Try the "none" authentication method.

	* src/handshake.c (handshake_command): Use CAST_SUBTYPE.

	* src/connection_commands.c (connection_if_srp): Deleted command.

	* src/command.c (do_command_4): Use CAST_SUBTYPE, in case
	command_4 is inherited.
	(do_command_3): Use CAST_SUBTYPE, in case command_3 is inherited.
	(do_command_2): Use CAST_SUBTYPE, command_2 is inherited by
	sexp_print_command. 

	* src/client_userauth.c (format_userauth_none): New function.
	(make_client_none_auth): New function.

Niels Möller's avatar
Niels Möller committed
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
2001-08-12  Niels Mller  <nisse@cuckoo.hack.org>

	* src/client.c (do_exit): New callback function.
	(make_client_session): Bind the sequence <escape> . to exit. 
	(client_options): New action option -B, --background.
	(background_process): New command.
	(client_argp_parser): Implement -B.

	* src/lshg.c (main_argp_parser): Check that make_gateway_address
	doesn't return NULL. XXX: Fix in 1.2 branch.
	(options2info): Use self->gateway. XXX: Fix in 1.2 branch.

2001-07-30  Niels Mller  <nisse@cuckoo.hack.org>

	* src/testsuite/export-1-test: Fixed invocation of compare_output. 

Niels Möller's avatar
Niels Möller committed
518
519
2001-07-06  Niels Mller  <nisse@cuckoo.hack.org>

Niels Möller's avatar
Niels Möller committed
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
	* src/io_commands.c (io_write_file_command): Bugfix.

	* src/command.h (command_simple): Deleted class.
	(STATIC_COMMAND_SIMPLE): Deleted macro.
	(DEFINE_COMMAND_SIMPLE): Deleted macro.
	(catch_command): Inherit command, not command_simple.

	* src/command.c (do_call_simple_command): Deleted.
	(catch_collect_body): Inherit command, not command_simple.

	* src/sexp_commands.h (sexp_print_command): Inherit command_2.

	* src/lsh_proxy.c (proxy_destination): Use DEFINE_COMMAND2.

	* src/lsh-writekey.c: Don't use DEFINE_COMMAND_SIMPLE.
	* src/lsh.c: Likewise.
	* src/lshd.c: Likewise.
	* src/lshg.c: Likewise.
	* src/proxy.c: Likewise.
	* src/spki_commands.c: Likewise.

	* src/keyexchange.c (kexinit_filter): Redefined using
	DEFINE_COMMAND2. 

	* src/io_commands.c (io_write_file_command): Use DEFINE_COMMAND.
	(connect_local_command): Likewise.
	(io_log_peer_command): Likewise.
	
	* src/gateway_commands.c (gateway_setup_command): Use
	DEFINE_COMMAND.  
	(gateway_accept): Use DEFINE_COMMAND2. 

	* src/lsh-writekey.c: Don't use command_simple.

Niels Möller's avatar
Niels Möller committed
554
555
556
557
558
559
560
561
	* src/connection_commands.c (connection_remember): Redefined using
	DEFINE_COMMAND2.

	* src/channel.c (connection_service_command): Use DEFINE_COMMAND,
	not DEFINE_COMMAND_SIMPLE.
	* src/client.c (client_options2remote): Likewise.
	(client_options2actions) Likewise.

Niels Möller's avatar
Niels Möller committed
562
563
564
565
566
2001-07-05  Niels Mller  <nisse@cuckoo.hack.org>

	* src/testsuite/Makefile.am (TS_SH): Added export-1-test.

	* src/lsh-export-key.c (ssh2_print_command): Inherit command_2.
Niels Möller's avatar
Niels Möller committed
567
	Don't use command_simple.
Niels Möller's avatar
Niels Möller committed
568

Niels Möller's avatar
Niels Möller committed
569
570
2001-07-04  Niels Mller  <nisse@cuckoo.hack.org>

Niels Möller's avatar
Niels Möller committed
571
572
573
574
575
576
577
	* src/command.c (collect_state_1): Deleted class.
	(collect_state_1): Deleted class.
	(collect_state_2): Deleted class.
	(collect_state_3): Deleted class.
	(make_collect_state_1): Deleted function.
	(make_collect_state_2): Deleted function.

Niels Möller's avatar
Niels Möller committed
578
579
580
	* src/command.h (command_2): Made invoke a method, not a function
	pointer. Updated users.
	(COMMAND_2_INVOKE): New macro.
Niels Möller's avatar
Niels Möller committed
581
582
583
584
585
586
587
	(collect_info_3): Deleted class.
	(collect_info_2): Deleted class.
	(collect_info_1): Deleted class.
	(STATIC_COLLECT_1): Deleted macro.
	(STATIC_COLLECT_2): Deleted macro.
	(STATIC_COLLECT_2_FINAL): Deleted macro.
	(STATIC_COLLECT_3_FINAL): Deleted macro.
Niels Möller's avatar
Niels Möller committed
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627

	* src/channel_commands.h (install_info): Inherit command_2,
	instead of collect_info_2.

	* src/testsuite/functions.sh (spawn_lshd): Pass --no-syslog to
	lshd, not --log-file.

	* src/tcpforward_commands.c (open_forwarded_tcpip): Redefined
	using DEFINE_COMMAND2.
	(open_direct_tcpip): Likewise.
	(remote_listen_command): Likewise.
	(make_request_tcpip_forward_command): Deleted function. Moved code
	to remote_listen_command.
	(make_direct_tcpip_handler): Redefined using DEFINE_COMMAND.
	(make_tcpip_forward_handler): Likewise.
	
	* src/sexp_commands.c (sexp_print_raw_hash): Redefined using
	DEFINE_COMMAND3. 

	* src/proxy.c (chain_connections): Redefined using DEFINE_COMMAND3.

	* src/command.c (do_trace_continuation): Use trace(... %t ...).

	* src/werror.c (logfile_flag): Deleted global variable.
	(werror_vformat): Added %t, for printing the object type.

	* src/lshd.c: New option --no-syslog.

	* src/io_commands.c (listen_with_callback): Redefined using
	DEFINE_COMMAND3.

	* src/handshake.c (handshake_command): Redefined using
	DEFINE_COMMAND4. 

	* src/connection_commands.c (connection_if_srp): Redefined using
	DEFINE_COMMAND3. 
	(make_connection_if_srp): Use make_command_3_invoke_2.

	* src/combinators.c (command_Cp): Bugfix, changed argument order.

Niels Möller's avatar
Niels Möller committed
628
629
2001-07-03  Niels Mller  <nisse@ehand.com>

Niels Möller's avatar
Niels Möller committed
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
	* src/testsuite/runtests (srcdir): By default, use `pwd`, not ".". 

	* src/testsuite/functions.sh: Don't set srcdir here.
	(spawn_lshd): Send messages to lshd.log.

	* src/werror.c (logfile_flag): New global variable.
	(syslog_flag): Deleted.
	(werror_argp_parser): Set logfile_flag of a log file option is
	encountered. 

	* src/lshd.c (main): Don't use syslog if the user provided an
	explicit log-file option.

	* src/combinators.c (command_C): Redefined using DEFINE_COMMAND3.
	(command_Cp): Redefined using DEFINE_COMMAND4, but disabled the
	new version as it doesn't quite work.
	
	* src/testsuite/macros.m4: Include string.h.

Niels Möller's avatar
Niels Möller committed
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
	* src/combinators.c (command_Sp): Redefined using
	DEFINE_COMMAND4.
	(command_B): Redefined using DEFINE_COMMAND3.
	(command_Bp): Redefined using
	DEFINE_COMMAND4.

	* src/command.c (command_4_invoke_3): New class.
	(make_command_4_invoke_3): New function.
	(command_4_invoke_2): New class.
	(make_command_4_invoke_2): New function.
	(command_4_invoke): New class.
	(make_command_4_invoke): New function.

	* src/command.h (command_4): New class.
	(DEFINE_COMMAND4): New macro.

	* src/gateway_commands.c: Include string.h.

	* configure.in: Bumped version to 1.3.3.

Niels Möller's avatar
Niels Möller committed
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
2001-07-02  Niels Mller  <nisse@cuckoo.hack.org>

	* src/combinators.c (command_I): Redefined using DEFINE_COMMAND.
	Updated users as the type was changed in the process.
	(command_K): Redefined using DEFINE_COMMAND2.
	(command_S): Redefined using DEFINE_COMMAND3.

	* src/command.c: New class.
	(make_command_2_invoke): New function.
	(command_3_invoke_2): New class.
	(make_command_3_invoke_2): New function.
	(command_3_invoke): New class.
	(make_command_3_invoke): New function.
	(progn_command): Use DEFINE_COMMAND isntead of
	DEFINE_COMMAND_SIMPLE. 

	* src/command.h: Started replacing command_simple and the
	collect_info_n classes with simpler schemes.
	(command_2): New class.
	(DEFINE_COMMAND2): New macro.
	(command_3): New class.
	(DEFINE_COMMAND3): New macro.

	* src/connection_commands.c (connection_require_userauth): Changed
	invocation of DEFINE_COMMAND.
	* src/gateway_commands.c (gateway_init): Likewise.

	* src/command.h (DEFINE_COMMAND): Changed macro to not take the
	function arguments as arguments.

	* src/command.c (gaba_apply): Rewrote to not use
	COMMAND_SIMPLE_CALL. 
	(do_command_unimplemented): Deleted function.

Niels Möller's avatar
Niels Möller committed
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
2001-06-27  Niels Mller  <nisse@cuckoo.hack.org>

	* acinclude.m4: Added template for socklen_t definition.

	* acconfig.h: Deleted definitions, use AH_TEMPLATE in configure.in
	instead. Can this file be removed completely now?

	* configure.in: Added AH_TEMPLATE calls. Deleted test for
	offsetof. 

	* src/client_escape.c (newlinep): New function.
	Treat NL and CR equivalently.
	(scan_escape): Simplified. Also doesn't use memchr anymore. 

	* src/io.c (io_listen_local): Use plain offsetof.
	(io_connect_local): Likewise.

	* src/lsh_types.h (OFFSET_OF): Deleted definition, simply trust
	stddef.h. 

	* src/server_userauth.c (do_exc_userauth_handler): Let the
	connection's exception handler deal with EXC_PROTOCOL (fixed
	somewhat differently in the 1.2.x branch).

2001-06-26  Niels Mller  <nisse@cuckoo.hack.org>

	* configure.in: Deleted IDEA support.

	* src/process_atoms (atom2define): Changed invocation of tr to be
	compatible with the Solaris 8 tr.

Niels Möller's avatar
Niels Möller committed
734
735
736
737
738
739
740
741
742
2001-06-26  Niels Mller  <nisse@ehand.com>

	* src/client_escape.c (NEWLINE): New macro.
	(do_escape_handler): Reset state to GOT_NONE appropriately.

	* src/client.c (client_argp_parser): Added empty statement after
	label. 
	(make_client_session): Bind ^Z to suspend.

Niels Möller's avatar
Niels Möller committed
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
2001-06-24  Niels Mller  <nisse@cuckoo.hack.org>

	* src/xalloc.h (CHECK_TYPE) [DEBUG_ALLOC]: Added parentheses.
	* src/xalloc.h (CHECK_SUBTYPE) [DEBUG_ALLOC]: Likewise.

	* src/werror.c (werror_vformat): Implemented the 'p' (paranoia)
	modifier for %c.

	* src/client_escape.c (escape_dispatch): Use %pc with werror.

	* src/client.c (make_client_session): Check if stdin is a tty,
	when deciding on the default for escape char handling. 

2001-06-20  Niels Mller  <nisse@cuckoo.hack.org>

	* src/client_escape.c (do_escape_handler): Fixed the EOF case.

Niels Möller's avatar
Niels Möller committed
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
2001-06-19  Niels Mller  <nisse@cuckoo.hack.org>

	* src/client_session.c (client_read_stdin): New function, for
	installing the escape-char handler on stdin.
	(do_client_io): Use client_read_stdin.
	(make_client_session_channel): Added argument escape.

	* src/client_escape.c: Moved suspend-related code to suspend.c. 

	* src/client.c (client_escape_info): New function.
	(client_options): New option ---escape-char or 'e'.
	(make_client_session): Seet up escape char info.
	(client_argp_parser): Handle escape-char option. Call
	suspend_install_handler. 

	* src/Makefile.am.in (liblsh_a_SOURCES): Added suspend.c.

	* src/unix_interact.c: Moved suspend-related code to suspend.c. 

	* src/suspend.c, src/suspend.h: New files.

	* configure.in: Bumped version to 1.3.2.

Niels Möller's avatar
Niels Möller committed
783
784
2001-06-17  Niels Mller  <nisse@cuckoo.hack.org>

Niels Möller's avatar
Niels Möller committed
785
786
	* src/rsync/rsync.h: Include <inttypes.h>, not <stdint.h>.

Niels Möller's avatar
Niels Möller committed
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
	* src/channel.c (alloc_channel): Initialize new channel-entries to
	NULL. 

	* src/cast.c: Adapted to nettle.

	* Makefile.am.in (DOTDISTS): Deleted references to the symmetric
	subdirectory.
	(MAKEFILESAM): Likewise.
	* configure.in (AC_CONFIG_FILES): Likewise.

	* doc/HACKING (ROAD MAP): Updated to mention nettle.

	* doc/lsh.texinfo: Added @dircategory and @direntry.

	* src/twofish.c: Adapted to nettle.

Niels Möller's avatar
Niels Möller committed
803
804
2001-06-15  Niels Mller  <nisse@ehand.com>

Niels Möller's avatar
Niels Möller committed
805
806
807
	* src/blowfish.c: nettle updates.
	* src/serpent.c: Likewise.

Niels Möller's avatar
Niels Möller committed
808
809
810
811
	* configure.in: Configure in the src/nettle sub directory.

	* misc/bootstrap.sh: Invoke the nettle .bootstrap script.

Niels Möller's avatar
Niels Möller committed
812
813
814
815
816
817
818
819
820
2001-06-13  Niels Mller  <nisse@ehand.com>

	* misc/bootstrap.sh: Bootstrap the nettle subdirectory. 

	* src/rsync/: Updated to libnettle conventions.

	* configure.in (CPPFLAGS): Add -LSH and -I$srcdir/src, needed by
	src/rsync/.

Niels Möller's avatar
Niels Möller committed
821
822
823
824
825
826
827
2001-06-12  Niels Mller  <nisse@cuckoo.hack.org>

	* src/dsa.c, src/dsa_keygen.c, src/md5.c, src/rijndael.c,
	src/sha.c: Adapted to the nettle API.

	* configure.in: Use src/nettle instead of src/symmetric.
	* src/Makefile.am.in: Likewise.
Niels Möller's avatar
Niels Möller committed
828
	* src/testsuite/Makefile.am: Likewise.
Niels Möller's avatar
Niels Möller committed
829

Niels Möller's avatar
Niels Möller committed
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
2001-06-09  Niels Mller  <nisse@cuckoo.hack.org>

	* src/io.c (do_consuming_read): In the EOF case, call
	close_fd_read after A_WRITE.

2001-06-07  Niels Mller  <nisse@cuckoo.hack.org>

	* src/io.c (do_kill_io_backend): Let close_fd do it's work.

2001-06-06  Niels Mller  <nisse@cuckoo.hack.org>

	* src/io.c (close_fd): Really close the fd, and invoke any close
	callback. 
	(io_iter): Simplified handling of closed files. Simply unlink
	them, close_fd has to do the rest of the work.

Niels Möller's avatar
Niels Möller committed
846
847
848
849
850
851
852
853
854
855
856
857
858
859
2001-05-29  Niels Mller  <nisse@cuckoo.hack.org>

	* acinclude.m4: AC_CHECK_MEMBER: Deleted definition (a similar
	macro is included in autoconf-2.50).
	AC_CHECK_VAR: Deleted.
	(AC_CHECK_KRB_LIB): Don't use changequote.

	* configure.in: Set SRP_PROGRAM.
	Require autoconf-2.50.
	Use the new AC_CHECK_MEMBERS macro.

	* src/unix_user.c: Update for autoconf-2.50, changed HAVE_UT_NAME
	to HAVE_STRUCT_UTMP_NAME, and similarly for other defines.

Niels Möller's avatar
Niels Möller committed
860
861
862
863
864
2001-05-23  Niels Mller  <nisse@cuckoo.hack.org>

	* configure.in: Some cleanup, and update for autoconf-2.50. Some
	more work needed. 

Niels Möller's avatar
Niels Möller committed
865
866
867
868
869
870
871
872
873
874
875
876
877
878
2001-05-17  Niels Mller  <nisse@ehand.com>

	* configure.in: Set SRP_PROGRAM.

	* src/Makefile.am.in (EXTRA_PROGRAMS): Added srp-gen.
	(bin_PROGRAMS): Use SRP_PROGRAM, don't compile srp-gen if
	SRP-support is disabled.

	* src/testsuite/write-key-2-test: Fixed test; check for output
	files in the testhome directory.

	* src/unix_user.c: Fixed dummy definition of struct utmp (spotted
	by Tomi Ollila).

Niels Möller's avatar
Niels Möller committed
879
880
881
882
883
884
2001-05-16  Niels Mller  <nisse@cuckoo.hack.org>

	* configure.in: Bumped version to 1.3.1.

	* Released 1.3.0.

Niels Möller's avatar
Niels Möller committed
885
886
2001-05-15  Niels Mller  <nisse@ehand.com>

Niels Möller's avatar
Niels Möller committed
887
888
	* src/scm/gaba.scm: Some more cleanup.

Niels Möller's avatar
Niels Möller committed
889
890
	* src/lshd.c (do_exc_lshd_handler): Handle EXC_RESOLVE. FIXED in
	1.2 branch (2001-09-13).
Niels Möller's avatar
Niels Möller committed
891
892

	* src/testsuite/functions.sh (spawn_lshd): Use 127.0.0.1 instead
Niels Möller's avatar
Niels Möller committed
893
	of localhost. FIXED in 1.2 branch (2001-09-13).
Niels Möller's avatar
Niels Möller committed
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912

	* src/scm/gaba.scm (append-deep): Deleted.
	(type->category): Deleted.
	(type->declaration): Deleted.
	(type->mark): Deleted.
	(type->free): Deleted.
	(fix-method): Deleted.
	(do-instance-struct): Deleted.
	(do-struct): Deleted.
	(do-mark-function): Deleted.
	(do-free-function): Deleted.
	(do-struct-mark-function): Deleted.
	(do-struct-free-function): Deleted.
	(do-class): Deleted.

2001-05-15  Niels Mller  <nisse@ehand.com>

	* src/scm/gaba.scm: Rewrote the functions for generating C code.

Niels Möller's avatar
Niels Möller committed
913
914
915
916
917
918
919
920
2001-05-15  Niels Mller  <nisse@cuckoo.hack.org>

	* configure.in: Updated version number to 1.3.0.

2001-05-14  Niels Mller  <nisse@cuckoo.hack.org>

	* src/gc.c (gc) [!DEBUG_ALLOC]: Don't use number_of_strings.  

Niels Möller's avatar
Niels Möller committed
921
922
923
924
925
926
2001-05-11  Niels Mller  <nisse@cuckoo.hack.org>

	* src/testsuite/functions.sh (PIDFILE): New variable, with
	absolute path to the pid-file. FIXED in 1.2 branch.
	(spawn_lshd): $PIDFILE. FIXED in 1.2 branch.

Niels Möller's avatar
Niels Möller committed
927
928
929
2001-05-03  Niels Mller  <nisse@ehand.com>

	* src/lshd.c (main): Start the background randomness poll *after*
Niels Möller's avatar
Niels Möller committed
930
	forking into the background. FIXED in 1.2 branch.
Niels Möller's avatar
Niels Möller committed
931
932
933

	* src/testsuite/functions.sh (spawn_lshd): Use --daemon flag. 

Niels Möller's avatar
Niels Möller committed
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
2001-05-02  Niels Mller  <nisse@cuckoo.hack.org>

	* sexp_streamed_parser.c: Deleted file.

	* src/unix_user.c (format_env_pair): Return const char *.
	(format_env_pair_c): Likewise.
	(do_exec_shell): Use const char ** for argv and envp.

	* src/xalloc.c (lsh_free): Cast to void * before calling free, as
	free doesn't accept const void *.
	(lsh_string_free): Changed argument type to const struct
	lsh_string *.
	(lsh_space_free): Bug-fix.
	(lsh_space_alloc): Use lsh_malloc, not xalloc directly.
	(lsh_space_free): Changed argument type to const void *.

	* src/userauth.h (lsh_user): Use const char ** for argv. 

2001-05-01  Niels Mller  <nisse@cuckoo.hack.org>

	* src/unix_interact.c (unix_read_password): Use const prompt
	string. 
	(unix_yes_or_no): Likewise.

	* src/srp_exchange.c (make_srp_entry): Use const struct lsh_string
	for the salt.

	* src/spki_commands.c (do_spki_decrypt): Use const struct lsh_string.

	* src/spki.c (subject_match_hash): Use const struct lsh_string.
	(do_spki_tag_prefix_match): Likewise.
	(spki_subject_by_hash): Likewise.
	(do_spki_lookup): Likewise.

	* src/sexp_parser.c (skip_space): New function, skipping
	whitespace and comments.
	(sexp_parse_transport): Allow whitespace and comments.

	* src/sexp_commands.c: Don't use the streamed sexp parser.
	(sexp_parser): New class.
	(do_sexp_parse_once): New function.
	(do_sexp_parse_many): New function. 
	(do_read_sexp_continue): Deleted function.
	(make_read_sexp_continuation): Deleted function.
	(read_sexp_exception_handler): Deleted class.
	(do_read_sexp_exception_handler): Deleted function.
	(make_read_sexp_exception_handler): Deleted function.
	(make_sexp_parser): New function.
	(make_read_sexp_command): New argument MAX_SIZE.

	* src/sexp.c: Constification, use const struct lsh_string for all
	sexp-related strings. 

2001-04-26  Niels Mller  <nisse@cuckoo.hack.org>

	* src/scm/gaba.scm: Added const type modifier.

	* src/sexp-conv.c (MAX_SEXP_SIZE): New constant, used with
	make_read_sexp_command. 

	* src/server_session.c (do_spawn_exec): Use const char * for argv
	entries. 

	* src/server_keyexchange.c (MAX_SRP_SIZE): New constant, used with
	make_read_sexp_command. 

	* src/lsh-writekey.c (MAX_SEXP_SIZE): New constant. Used with
	STATIC_READ_SEXP. 

	* src/lsh-export-key.c (MAX_KEY_SIZE): New constant. Use with
	make_read_sexp_command. 

	* src/io.c (do_buffered_read): Call close_fd_read on error. This
	way, the user doensn't have to use an exception handler just for
	closing the file.

	* src/interact.h (interact): Use const for prompt arguments.

	* src/format.c (lsh_get_cstring): Use const for input and output.

	* src/pkcs5.c (pkcs5_derive_key): Declare password and salt input
	as const.

	* src/abstract_crypto.c (crypt_string): Declare the input string
	const. Nevertheless, reuse it for output in case FREE is true.
	(crypt_string_pad): Declare input string const.
	(crypt_string_unpad): Likewise.

	* src/Makefile.am.in (liblsh_a_SOURCES): Deleted
	sexp_streamed_parser.c. 

Niels Möller's avatar
Niels Möller committed
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
2001-04-25  Niels Mller  <nisse@ehand.com>

	* src/keyexchange.c (do_handle_newkeys): Added verbose message
	when receiving NEWKEYS.
	(do_handle_kexinit): Added verbose message when receiving KEXINIT
	message. 

	* src/parse.c (parse_next_atom): Tolerate empty atoms, for
	compatibility with "SSH-1.99-2.0.13 (non-commercial)". XXX Fix in
	1.2 branch? 

Niels Möller's avatar
Niels Möller committed
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
2001-04-17  Niels Mller  <nisse@cuckoo.hack.org>

	* src/testsuite/Makefile.am (TS_MORE_SH): Added tests
	lshg-cat-test, lshg-cat-2-test and ssh1-fallback-test.

	* src/testsuite/functions.sh: Renamed SERVERFLAGS to LSHD_FLAGS,
	CLIENTFLAGS to LSH_FLAGS, and added LSHG_FLAGS.

	* src/testsuite/lshg-cat-2-test: New test.

	* src/testsuite/lshg-cat-test: Sleep some, waiting for lsh to
	connect.

	* src/sftp/.bootstrap: Don't run ./configure.

	* src/werror.c (werror_argp_parser): Initialize program_name at
	ARGP_KEY_INIT time.

	* src/resource.c (dont_free_live_resource): Be more quiet during
	gc_final.

	* src/lshg.c (do_exc_lshg_handler): Fixed werror format string.
	Fixed in 1.2 branch.

	* src/lsh.c (do_lsh_lookup): If the user decides to trust the key,
	add it to the spki_context.

	* src/lcp: Replaced the bashism "==" with "=".

	* src/gc.c (gc_final_p): New variable, non-zero during gc_final().

	* src/client_session.c (make_client_session_channel): Register
	stdio files as resources.

2001-04-12  Niels Mller  <nisse@cuckoo.hack.org>

	* src/lshd.c (main_argp_parser): Bugfix: Use the supplied
	interface! Fixed in 1.2 branch.

	* src/testsuite/ssh1-fallback-test: New test.

	* src/testsuite/lshg-cat-test: New test.

	* src/testsuite/fake-sshd1: New file.

	* src/testsuite/functions.sh (spawn_lshd): Pass arguments to lshd.
	Fixed in 1.2 branch.
	(exec_lshg): New function.

	* src/ssh1_fallback.c (fall_back_to_ssh1): Reset the fd to
	blocking mode. Fixed in 1.2 branch.

	* src/io.c (io_set_blocking): New function. Added in 1.2 branch.
	(do_exc_finish_read_handler): Close fd immediately on
	EXC_FINISH_IO. Fixed in 1.2 branch.

Niels Möller's avatar
Niels Möller committed
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
2001-04-11  Niels Mller  <nisse@cuckoo.hack.org>

	* src/userauth.h (lsh_process): New class.
	(lsh_user): The fork_method now returns the child as an
	lsh_process.

	* src/unix_user.c (process_resource): Inherit lsh_process.
	(do_signal_process): New function.

	* src/unix_interact.c (install_suspend_handler): New function.
	(stop_handler): New signal handler for TSTP, that sets and resets
	the tty modes.

	* src/tty.c (tty_getwinsize): Take a struct terminal_dimensions *
	as argument. 
	(tty_setwinsize): Likewise.

	* src/server_session.c (server_session): Changed type of process
	attribute to lsh_process. Updated uses.
	(do_alloc_pty): Check request syntax in all cases, even if there's
	no pty. 
	(do_window_change_request): New function.

	* src/interact.h (struct terminal_dimensions): Moved definition...
	* src/tty.h (struct terminal_dimensions): ...to here.

	* src/client_pty.c: Include tty.h.

	* src/client.h (escape_info): New class.

	* src/Makefile.am.in (liblsh_a_SOURCES): Added client_escape.c.

	* src/client_escape.c: New file.

Niels Möller's avatar
Niels Möller committed
1126
1127
1128
1129
2001-04-10  Niels Mller  <nisse@ehand.com>

	* src/client.c (make_client_session): Use set_error_nonblocking.

Niels Möller's avatar
Niels Möller committed
1130
1131
1132
2001-04-09  Niels Mller  <nisse@ehand.com>

	* src/werror.c (set_error_nonblocking): New function.
Niels Möller's avatar
Niels Möller committed
1133
	(set_error_stream): Deleted WITH_POLL argument.
Niels Möller's avatar
Niels Möller committed
1134
1135
1136
	(werror_options): Aded option --log-file.
	(werror_argp_parser): Process --log-file option.

Niels Möller's avatar
Niels Möller committed
1137
1138
	* ANNOUNCE: Changed "COPYRIGHT" to "LICENSE", by rms' request. 
	Fixed in 1.2 branch.
Niels Möller's avatar
Niels Möller committed
1139

Niels Möller's avatar
Niels Möller committed
1140
1141
2001-04-08  Niels Mller  <nisse@cuckoo.hack.org>

Niels Möller's avatar
Niels Möller committed
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
	* src/lsh.c (main_argp_parser): Deleted old -L handling (moved to
	client.c).  

	* src/sexp_commands.c (do_print_raw_hash_simple): Deleted unused
	function. 

	* src/sexp.c (sexp_sn): Deleted unused function.

	* src/io.c (make_listen_callback_no_peer): Deleted unused function.

	* src/gc.c (gc): Display number of strings.

	* src/client_session.c (do_client_session_eof): Deleted old code
	that closed stdin here.

	* src/client.c (do_exit_status): Deleted old code sending
	CHANNEL_EOF here.
	(do_exit_signal): Likewise. 
	(do_exit_signal): Signals in the exit-signal message are no longer
	encoded as integers. XXX Fix in 1.2 branch?

	* src/channel.c (do_exc_finish_channel_handler): Deleted old
	(#if:ed out) code for raising EXC_FINISH_READ.
	(channel_close_handler): Deleted old code calling the channel's
	EOF handler here.

Niels Möller's avatar
Niels Möller committed
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
	* src/lsh.c (main): Call io_final.

	* src/io.h (lsh_fd): Added label attribute. 

	* src/io.c (kill_fd): Deleted.
	(io_backend): Inherit resource. 
	(do_kill_io_backend): New function.
	(make_io_backend): Call resource_init.
	(io_final): New function.
	(init_file): New argument LABEL.
	(make_lsh_fd): New rgument LABEL. Updated callers.
	(close_fd): Display label.
	(io_iter): Display label.

	* src/lsh-writekey.c (make_writekey): Deleted unneeded global
	definitions. 

	* src/resource.c (dont_free_live_resource): Changed again, to
	issue a fatal error.

	* src/sexp_parser.h: Deleted unused file.

Niels Möller's avatar
Niels Möller committed
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
	* src/testsuite/Makefile.am (TS_PROGS): Added string-test.

	* src/testsuite/macros.m4 (TS_CHECK): New macro.

	* src/testsuite/string-test.m4: New tests for string related
	functions, currently only lsh_get_cstring.

	* src/format.c (ssh_cformat): Deleted. Replaced all uses with
	ssh_format. 
	(make_cstring_l): Deleted.
	(make_cstring): Deleted.
	(lsh_get_cstring): New function.

	* src/werror.c (write_syslog): Don't use make_cstring_l.

	* src/unix_user.c (do_verify_password): Use lsh_get_cstring.
	(do_read_file): Likewise.
	(do_read_file): Likewise.
	(format_env_pair): Likewise.
	(do_exec_shell): Likewise.
	(make_unix_user): Likewise. 
	(do_lookup_user): Likewise.

	* src/unix_interact.c (unix_read_password): Use lsh_get_cstring.

	* src/server_session.c (do_spawn_exec): Use lsh_get_cstring.

	* src/lsh.h (NUL_TERMINATED): Deleted.

	* src/format.h (format_cstring, make_string): Renamed function.
	And made it a macro. Updated callers.

	* src/adns.c (do_resolve): Use lsh_get_cstring. Don't use
	NUL_TERMINATED. 
	* src/io.c (address_info2sockaddr): Likewise.
	(make_local_info): Likewise.
	(io_listen_local): Likewise.
	(io_connect_local): Likewise.

Niels Möller's avatar
Niels Möller committed
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
2001-04-05  Niels Mller  <nisse@ehand.com>

	* src/testsuite/functions.sh (run_lsh): Quote the command better.

	* src/xalloc.c (lsh_string_alloc): Fixes, now compiles both with
	and without DEBUG_ALLOC.

	* src/werror.c (werror_argp_parser): Added missing break.
	(werror): Handle the case where both verbose_flag and quiet_flag
	are set.

	* src/io.c (do_consuming_read): Free the string properly on EOF or
	error. XXX Fix in 1.2 branch? 

	* src/client_userauth.c (make_client_userauth): Convert username
	to utf8 once, here. Updated callers. Previously, the converted
	strings leaked.

	* src/client_session.c (do_client_session_eof): Use
Niels Möller's avatar
Niels Möller committed
1248
	close_fd_nicely. Otherwise we lose data. FIXED in 1.2 branch.
Niels Möller's avatar
Niels Möller committed
1249
1250
1251
1252

	* src/Makefile.am.in (atoms_gperf.c): Massage gperf output to
	reduce the number of compilation warnings.

Niels Möller's avatar
Niels Möller committed
1253
1254
2001-04-05  Niels Mller  <nisse@cuckoo.hack.org>

Niels Möller's avatar
Niels Möller committed
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
	* src/gc.c (gc_final): Check for leaked strings, and write any
	clues. 

	* src/lsh.h (struct lsh_string_header): Added more debug info.

	* src/xalloc.c (all_strings): New variable, for debugging.
	(sanity_check_string_list): New function.
	(lsh_string_alloc_clue): New function, remembering allocated
	strings. 
	(lsh_string_free): Unregister string.

Niels Möller's avatar
Niels Möller committed
1266
1267
1268
1269
	* src/werror.c (werror_vformat): Pass arguments to werror_write in
	the correct order.
	(werror_vformat): Likewise.

Niels Möller's avatar
Niels Möller committed
1270
1271
2001-04-04  Niels Mller  <nisse@cuckoo.hack.org>

Niels Möller's avatar
Niels Möller committed
1272
1273
1274
	* src/testsuite/Makefile.am (CFLAGS): Reintroduced -O0, to make
	compilation faster.

Niels Möller's avatar
Niels Möller committed
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
	* src/client.c, src/client_keyexchange.c, src/client_userauth.c,
	src/debug.c, src/disconnect.c, src/proxy.c,
	src/proxy_x11forward.c, src/server.c, src/server_keyexchange.c,
	src/server_userauth.c: Packet handlers should no longer free
	packets.

	* src/xalloc.c (number_of_strings): Define only if DEBUG_ALLOC. 
	(lsh_string_alloc): NUL-terminate strings, for simplicity.
	(lsh_string_free): Check that string is still NUL-terminated.

	* src/werror.c (program_name): New variable.
	(werror_argp_parser): Initialize program_name.
	(werror_vformat): Prefix messages with program_name.
	(werror_vformat): Simplified code in 'z' case.

	* src/proxy_userauth.c (do_forward_success): dup packet before
	forwarding it.
	Packet handlers should no longer free packets.

	* src/channel.c (RETURN, END): Deleted macros.
	Packet handlers should no longer free packets.

	* src/keyexchange.c (do_handle_kexinit): dup packet when storing
	it in the connection struct.
	(do_handle_newkeys): Packet handlers should no longer free packets.

	* src/write_buffer.c (make_write_buffer): Renamed
	write_buffer_alloc to make_write_buffer. Updated callers.

	* src/gc.c (gc_final): Check number_of_objects and
	number_of_strings. 

	* src/connection.c (connection_handle_packet): Always free the
	packet here. Packet handlers no longer needs to do that.
	(connection_handle_packet): Accept SSH_MSG_IGNORE and
	SSH_MSG_DEBUG in the KEX_STATE_NEWKEYS state.

	* configure.in: Bumped version to 1.3.

Niels Möller's avatar
Niels Möller committed
1314
1315
1316
1317
1318
	* lsh-1.2 released.

	* distribution-key.gpg: Updated key, more signatures and later
	expiration date. 

Niels Möller's avatar
Niels Möller committed
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
	* src/sftp/Makefile.am (sftp_test_client_SOURCES): Added werror.c
	and client.c 

	* src/sftp/sftp-test-client.c (struct client_ctx): Moved to
	client.h 
	(werror_program_name): Defined here.

	* src/sftp/client.c, src/sftp/client.h, src/sftp/werror.c,
	src/sftp/werror.h:  New files.

2001-04-03  Niels Mller  <nisse@cuckoo.hack.org>

	* src/sftp/testsuite/put-1-test: Check that the new file exists.
	Use $TESTHOME for referring to the local file.

	* src/sftp/sftp-test-client.c (do_put): Fixes and simplifications. 

Niels Möller's avatar
Niels Möller committed
1336
1337
1338
1339
1340
1341
2001-04-03  Niels Mller  <nisse@ehand.com>

	* src/sftp/sftp-test-client.c (do_open): New function.
	(do_close): New function.
	(do_get): Use do_open and do_close.

Niels Möller's avatar
Niels Möller committed
1342
1343
1344
1345
1346
1347
1348
1349
1350
2001-04-02  Niels Mller  <nisse@cuckoo.hack.org>

	* configure.in: Bumped version to 1.2.

	* src/Makefile.am.in (EXTRA_DIST): Added lcp.

	* src/Makefile.am.in (noinst_SCRIPTS): Added the experimental lcp
	script.

Niels Möller's avatar
Niels Möller committed
1351
1352
1353
1354
1355
1356
1357
2001-04-02  Niels Mller  <nisse@ehand.com>

	* src/sftp/sftp-server.c (sftp_process_read): Fixed size passed to
	pread. 
	(debug): Added a prototype saying that it takes printf-style
	arguments. 

Niels Möller's avatar
Niels Möller committed
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
2001-04-02  Niels Mller  <nisse@lysator.liu.se>

	* src/sftp/sftp-server.c (sftp_process_realpath): Fixed invocation
	of pathconf().
	Include stdarg.h.

	* src/sftp/testsuite: Adapted shell scripts to /bin/sh. Removed
	uses of the "function" keyword, and use a full path when sourcing
	common.sh.

	* src/sftp/testsuite/run-tests: Use /bin/bash, as we use
	bash-specific parameter expansion.

Niels Möller's avatar
Niels Möller committed
1371
1372
2001-04-01  Niels Mller  <nisse@cuckoo.hack.org>

Niels Möller's avatar
Niels Möller committed
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
	* src/sftp/Makefile.am (sftp_server_SOURCES,
	sftp_test_client_SOURCES): Added xmalloc.c.

	* src/sftp/xmalloc.c: New file. Defines xmalloc, xrealloc and
	xstrdup. 

	* src/sftp/sftp-test-client.c (do_put): Use xmalloc.

	* src/sftp/sftp-server.c (sftp_get_user): New function.
	(sftp_get_group): Likewise.
	(struct sftp_ctx): Added user_cache and group_cache.
	(sftp_init): Initialize user_cache and group_cache.
	(sftp_put_longname): Take a sftp_ctx * as argument. Use
	sftp_get_user and sftp_get_group.

	* src/sftp/buffer.c: Use xmalloc and xrealloc.

	* src/sftp/idcache.c: Rewrite.

Niels Möller's avatar
Niels Möller committed
1392
1393
1394
1395
1396
1397
1398
1399
1400
	* src/sftp/Makefile.am (sftp_server_SOURCES): Added idcache.c.

	* src/sftp/sftp-server.c: Use the functions from idcache.c.

	* src/sftp/idcache.c: #include idcache.h. #if:ed out prototypes
	and functions that aren't needed. Use malloc instead of xmalloc.

	* src/sftp/idcache.h: New file.

Niels Möller's avatar
Niels Möller committed
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
	* src/sftp/testsuite/setup-env: Clean up first.

	* src/sftp/testsuite/get-1-test: New testcase.
	* src/sftp/testsuite/ls-1-test: Likewise.
	* src/sftp/testsuite/ls-2-test: Likewise
	
	* src/sftp/testsuite/common.sh (PROGRAMDIR): New variable, holding
	an absolute path to the directory where the programs are.

	* src/sftp/sftp-test-client.c (sftp_client_get_id): New function. 
	(do_ls): Fixes and some simplification.
	(do_get): Simplified. The old more featureful implementation left
	#if:ed out.

	* src/sftp/sftp-server.c (debug): New function.
	(sftp_get_name): New function.
	(struct sftp_dir): New struct.
	(sftp_lstat_in_dir): New function.
	(sftp_process_readdir): Handle directories that are not our
	current working directory.  
	(parse_options): New function, currently only handling -d.

	* src/sftp/buffer.c (sftp_check_input): Don't modify i->left here.
	(sftp_get_data): ...but do it here instead.
	(sftp_free_string): Reintroduced this function.
	(sftp_get_string): This function now requires the user to
	deallocate the string.
	(sftp_get_string_auto): Simpler function, that deallocates strings
	automatically. 
	(sftp_read_packet): Return failure (0), rather than crashing, if
	there is data leftover from the previous packet.
	(sftp_put_final_length): Calculate the length correctly.
	(sftp_put_reset): Fixed assertion.
	(sftp_put_attrib): Likewise.

	* src/sftp/Makefile.am (noinst_PROGRAMS): Added dump-hex.

	* src/sftp/sftp.h: Converted from #define:s to enums.

	* src/sftp/dump-hex.c: New program that copies data from stdin to
	stdout, and writes a hex dump to stderr in the process.

	* src/sftp/debug-server: New script to dump communication between
	sftp-server and sftp-test-client.

	* src/sftp/configure.in: Added to cvs.

2001-03-31  Niels Mller  <nisse@cuckoo.hack.org>

	* src/sftp/acconfig.h: Added HAVE_GCC_ATTRIBUTE.

	* src/sftp/.bootstrap: New file.

Niels Möller's avatar
Niels Möller committed
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
2001-03-30  Niels Mller  <nisse@ehand.com>

	* src/sftp/sftp-test-client.c (do_ls): Print the long name.

	* src/sftp/sftp-server.c (sftp_get_name): New function.
	(HANDLE_TYPE, HANDLE_DIR, HANDLE_FD): New macros.
	Fixed handles. Simplified, deleting all sftp_free_string calls.
	Use pread and pwrite, where available.

	* src/sftp/buffer.c (struct sftp_input): Added array of strings,
	so that callers don't have to free them explicitly.
	(sftp_put_reset): New funtion.
	(sftp_get_uint64): Use off_t, conditionalized on its size.
	(sftp_put_uint64): Likewise.

	* src/sftp/Makefile.am: Use AUTOMAKE_OPTIONS = foreign, added
	sftp-test-client. 

Niels Möller's avatar
Niels Möller committed
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
2001-03-28  Niels Mller  <nisse@ehand.com>

	* src/lcp (split spec): New function for splitting arguments. 
	Checked in first working version.

2001-03-27  Niels Mller  <nisse@ehand.com>

	* doc/srp-spec.nroff: Bumped version number, updated dates, and
	added a section Further questions.

Niels Möller's avatar
Niels Möller committed
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
2001-03-26  Niels Mller  <nisse@cuckoo.localdomain>

	* Released lsh-1.1.9.

	* misc/Makefile.am.in (EXTRA_DIST): Added more files to the dist:
	libgcc2.c-patch, bootstrap.sh and make-dist.

	* configure.in: By default, disable debug-alloc and debug-trace.

	* src/testsuite/keygen-2-test: Use a smaller key size, 777 bits,
	for speed.

	* src/testsuite/keygen-1-test: Use NIST security level 2 (640
	bits), for speed.

	* src/argp/configure.in: Bumped argp version to standalone-1.1. 

Niels Möller's avatar
Niels Möller committed
1499
1500
1501
1502
2001-03-26  Niels Mller  <nisse@ehand.com>

	* src/argp/configure.in (CPPFLAGS): Added -D_GNU_SOURCE.

Niels Möller's avatar
Niels Möller committed
1503
1504
2001-03-25  Niels Mller  <nisse@cuckoo.localdomain>

Niels Möller's avatar
Niels Möller committed
1505
1506
1507
	* src/testsuite/functions.sh (spawn_lshd): Use kill -9 to stop
	lshd; otherwise lshd catching SIGTERM leads to timing problems.

Niels Möller's avatar
Niels Möller committed
1508
1509
1510
1511
1512
1513
	* Released lsh-1.1.9.

	* misc/libgcc2.c-patch: gcc patch.

	* src/crypto.c: Deleted obsolete file.

Niels Möller's avatar
Niels Möller committed
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
	* src/testsuite/Makefile.am (CFLAGS): -O0 is not needed anymore,
	since most of the rijndael tests were deleted.

	* src/proxy_userauth.c (do_proxy_userauth_continuation): Don't use
	FORCE_APPLY. 

	* src/command.h (delayed_apply): Deleted class.

	* configure.in: Bumped version to 1.1.9.

	* src/testsuite/rijndael-test.m4: Deleted most tests, left 4 for
	each key size.

	* src/werror.c (fatal): If compiling with gcov, use exit(255)
	instead of abort.

	* src/spki_commands.c (parse_private_key): Use fatal instead of
	abort. 

	* src/sexp.c (sexp_sn): #if:ed out.

	* src/resource.c (dont_free_live_resource): Call werror, not
	fatal. Currently, this is normal iff it happens during
	gc_final.

	* src/proxy_userauth.c (do_handle_userauth): Don't use
	make_delay_continuation. 

	* src/lshg.c (main): Call gc_final.

	* src/lshd.c (main): Call gc_final. When compiling with gcov,
	catch the TERM signal and call exit() sometime later.

	* src/lsh.c: Call gc_final().

	* src/lsh-keygen.c: Use fatal(), not abort().

	* src/io_commands.c (remember_continuation): Deleted class.
	(do_remember_continuation): Deleted function.
	(make_remember_continuation): Deleted function.
	(do_listen): Deleted arguments resources and lookup. Updated
	callers. 
	(do_simple_listen): Deleted function.
	(make_simple_listen): Deleted function.

	* src/gc.c (gc_final): New function.

	* src/command.c (make_delayed_apply): Deleted function.
	(delay_continuation): Deleted class.
	(do_delay_continuation): Deleted function.
	(make_delay_continuation): Deleted function.

	* src/channel.c (connection_service): Deleted class.

	* doc/lsh.texinfo (Invoking lsh): Added a note saying that
	ordering is important. 

	* doc/TODO (TESTING): Added info on missing tests.

	* configure.in: Define WITH_GCOV when compiling for gcov. 

	* acconfig.h (WITH_GCOV): New symbol.

2001-03-24  Niels Mller  <nisse@cuckoo.localdomain>

	* src/lsh_proxy.c (main): Use listen_callback instead of
	simple_listen. 

Niels Möller's avatar
Niels Möller committed
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
2001-03-22  Niels Mller  <nisse@ehand.com>

	* src/alist.c (alist_add): #if:ed out unused function.

2001-03-21  Niels Mller  <nisse@ehand.com>

	* src/client_password.c: Deleted.
	
	* src/lshd.c (install_terminate_handler): Catch SIGTERM and
	arrange for exit(0) to be called on termination.

Niels Möller's avatar
Niels Möller committed
1593
1594
2001-03-20  Niels Mller  <nisse@ehand.com>

Niels Möller's avatar
Niels Möller committed
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
	* src/lshg.c: Include client.h (used to include client.c. Argh!).

	* src/lsh.h: Forward-declare struct interact.

	* src/lsh.c: Don't include client_pty.h.

	* src/client_session.c: Include client.h, not client_session.h. 

	* src/client_pty.c: Include client.h, not client_pty.h.

	* src/client.h (make_pty_request): Moved declaration here. 

	* src/client.c: Don't include client_pty.h.

	* src/client_session.h, src/client_pty.h: Deleted.

Niels Möller's avatar
Niels Möller committed
1611
1612
1613
	* src/Makefile.am.in (class-map): Let the shell find the awk
	program. 

Niels Möller's avatar
Niels Möller committed
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
2001-03-19  Niels Mller  <nisse@cuckoo.localdomain>

	* src/scm/gaba.scm (class-annotate): New function.

	* src/make-class-map: Beautified output.

	* src/lsh-keygen.c (main): Don't use blocking_write.

	* src/blocking_write.h, src/blocking_write.c: Deleted.

	* src/Makefile.am.in (liblsh_a_SOURCES): Removed blocking_write.c.  

Niels Möller's avatar
Niels Möller committed
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
2001-03-16  Niels Mller  <nisse@ehand.com>

	* ANNOUNCE: Updated, preparing for lsh-1.2.

	* src/server_session.c (format_exit_signal): Represent a signal
	as a string, not an integer.
	* src/translate_signal.c: Likewise.

	* src/client.c (do_exit_signal): Don't use the signal name from
	the packet, only the message.

	* src/atoms.in: Added standard signals.

	* src/resource.c (do_remember_resource): Bugfix: Use
	KILL_RESOURCE, not KILL.

2001-03-15  Niels Mller  <nisse@ehand.com>

	* doc/srp-spec.nroff: Fixed definition of m2, pointed out by Tom
	Holroyd. 

Niels Möller's avatar
Niels Möller committed
1647
1648
1649
1650
1651
1652
1653
1654
2001-03-14  Niels Mller  <nisse@cuckoo.localdomain>

	* src/Makefile.am.in (class-map): Added rule for generating
	class-map. 

	* src/make-class-map: New awk script for describing the class
	hierarchy. Almost working.

Niels Möller's avatar
Niels Möller committed
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
2001-03-14  Niels Mller  <nisse@ehand.com>

	* src/tcpforward.h (remote_port): Deleted c attribute.

	* src/string_buffer.c (string_buffer_length): Deleted.

	* src/spki_commands.h (make_spki_parse_key): Deleted. 

	* src/spki_commands.c (spki_read_acls_command): Deleted.  

	* src/sexp.h (sexp_iterator): Deleted set method. 
	(SEXP_SET): Deleted.

	* src/sexp.c (do_nil_get): New function.
	(do_nil_assoc): New function.
	(do_nil_left): New function.
	(do_nil_next): New function.
	(make_iter_nil): New function.
	(do_format_nil): New function.
	(sexp_nil): New definition, that isn't a cons.
	(do_vector_set): Deleted.
	(sexp_iter_cons): deleted.
	(do_cons_get): Deleted.
	(do_cons_set): Deleted.
	(do_cons_assoc): Deleted.
	(do_cons_left): Deleted.
	(do_cons_next): Deleted.
	(make_iter_cons): Deleted.
	(do_format_sexp_tail): Deleted.
	(do_format_sexp_cons): Deleted.
	(sexp_c): Deleted.

	* src/server_session.h (make_server_connection_service): Deleted. 

	* src/proxy_userauth.c (do_userauth_proxy): Don't use
	make_once_continuation. 

	* src/lsh.c (do_lsh_default_handler): Don't use EXC_SERVICE.

	* src/keyexchange.h (make_install_new_keys: Deleted. 

	* src/io_commands.c (collect_connect_port): Deleted.
	(connect_with_port): Deleted.

	* src/handshake.c: Adapted to change in collect_info_3. 

	* src/gateway.c (gateway): Disabled unused class. 

	* src/exception.c (dummy_exception): Deleted. 

	* src/digits.c (simple_decode_base64): Deleted.

	* src/command.h (collect_info_4): Deleted.

	* src/combinators.c: Adapted to change in collect_info_3. 

	* src/command.c (do_collect_4): Deleted.
	(make_collect_state_3): Deleted.
	(make_once_continuation): Deleted.
	(make_catch_report_collect_body): Deleted.
	(collect_state_2): Deleted attribute next.

	* src/client.c (make_client_options): Deleted, as it wasn't used.

	* src/channel_commands.h (channel_command): Deleted, it wasn't
	used.  

	* src/channel.h: Deleted old code (CONNECTION_START and
	format_channel_open_a).

	* src/alist.h: Deleted ALIST_KEYS.

2001-03-13  Niels Mller  <nisse@ehand.com>

	* src/dsa_keygen.h, src/packet_ignore.c, src/packet_ignore.h,
	src/password.c, src/password.h, src/proxy_channel.h,
	src/session.c, src/session.h:Removed obsolete files.

Niels Möller's avatar
Niels Möller committed
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
2001-03-12  Niels Mller  <nisse@cuckoo.localdomain>

	* configure.in: Bumped version to 1.1.8.

	* src/client_session.c (do_client_session_eof): Close stdout and
	stderr, not stdin.

	* src/client.c (do_exit_status): Don't call channel_eof. This way,
	the behavior is more similar to other ssh clients.

	* src/channel.c (channel_request_handler): Display more info about
	unexpected packets.
	(channel_close_handler): Don't display the "unexpected channel
	close" message if CHANNEL_NO_WAIT_FOR_EOF is set.
	Don't invoke the CHANNEL_EOF callback.
	(channel_eof): Use the new CHANNEL_NO_WAIT_FOR_EOF flag.
	(init_channel): Set CHANNEL_CLOSE_AT_EOF by default.
	(channel_read_close_callback): Improved comment.

	* src/channel.h (CHANNEL_NO_WAIT_FOR_EOF): New flag.

	* src/tcpforward.c (do_tcpip_eof): Use the SHUT_WR constant, which
	is defined in io.h if needed.

	* src/server_session.c (spawn_process): Clear
	CHANNEL_CLOSE_AT_EOF.
	(do_exit_shell): Set CHANNEL_CLOSE_AT_EOF and
	CHANNEL_NO_WAIT_FOR_EOF. 

	* src/gateway_channel.c (make_gateway_channel): Clear
	CHANNEL_CLOSE_AT_EOF. 

	* src/io.h (SHUTDOWN_UNIX): Moved shutdown workaround from io.c,
	and added a _UNIX-suffix on the macros to indicate that they are
	for AF_UNIX sockets only. 

	* src/scm/gaba.scm (string-upcase): Moved definition to
	guile-compat.scm. scsh already provides string-upcase, and the
	definition here trigs a bug in string->list in scsh-0.5.2. 

Niels Möller's avatar
Niels Möller committed
1773
1774
1775
1776
2001-03-12  Niels Mller  <nisse@ehand.com>

	* src/io.c (io_iter): Handle POLLERR.

Niels Möller's avatar
Niels Möller committed
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
2001-03-07  Niels Mller  <nisse@cuckoo.localdomain>

	* doc/TODO: scsh-0.5.2 is truly free software! Removed paragraph
	describing the scsh situation.

	* README: Say that scsh-0.5.2 is needed.

	* src/scm/guile-compat.scm (char-set=): New function,
	for compatibility with scsh-0.5.2.
	(char-set:empty): New variable, likewise.

	* src/scm/make-char-classes.scm (char-set-assoc): A real function
	now, as I'm not sure that the usual assoc handles char-sets.
	(char-set-empty?): Use char-set:empty (new in scsh-0.5.2).
	(char-set=?): Removed function, scsh-0.5.2 provides a similar
	function named char-set=.
	
Niels Möller's avatar
Niels Möller committed
1794
1795
1796
1797
1798
1799
2001-02-28  Niels Mller  <nisse@cuckoo.localdomain>

	* src/client.c (init_client_options): Initialize stderr_fork = 1.
	(client_options): New option --no-cvs-workaround.
	(client_argp_parser): Handle --no-cvs-workaround.

Niels Möller's avatar
Niels Möller committed
1800
1801
1802
1803
1804
2001-02-25  Niels Mller  <nisse@cuckoo.localdomain>

	* Refer to a function foo as "foo", not "foo()", in messages and
	comments. (GNU coding standard).

Niels Möller's avatar
Niels Möller committed
1805
1806
2001-02-22  Niels Mller  <nisse@cuckoo.localdomain>

Niels Möller's avatar
Niels Möller committed
1807
1808
	* src/randomness.c (do_arcfour_random): Spelling fix.

Niels Möller's avatar
Niels Möller committed
1809
1810
	* Released lsh-1.1.7.

Niels Möller's avatar
Niels Möller committed
1811
1812
1813
1814
1815
1816
1817
1818
2001-02-22  Niels Mller  <nisse@ehand.com>

	* src/io.c (close_fd_read): New function.
	(do_buffered_read): Call close_fd_read on EOF. This stops reading
	from the file, and also marks it for closing unless it has a write
	callback.
	(do_consuming_read): Likewise.

Niels Möller's avatar
Niels Möller committed
1819
1820
1821
1822
1823
2001-02-21  Niels Mller  <nisse@ehand.com>

	* src/io.c (do_consuming_read): Added an assert do check that
	want_read is true. Check fd->hanged_up first.

Niels Möller's avatar
Niels Möller committed
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
2001-02-21  Niels Mller  <nisse@cuckoo.localdomain>

	* src/srp_exchange.c (srp_format_proofs): First argument to
	MAKE_MAC must not have side effects.

	* src/lsh-keygen.c (main): First argument to A_WRITE must not have
	side effects.

	* src/gateway_channel.c (do_gateway_channel_request): First
	argument to COMMAND_CALL must not have side effects.
	(do_channel_open_forward): Likewise.
	* src/lsh.c (do_options2identities): Likewise.

	* src/connection_commands.c (do_connection_if_srp): Don't use a
	complex expression as the first argument to COMMAND_CALL.

	* src/command.h (COMMAND_CALL): Generate a compile error if the
	first argument is not an lvalue.

2001-02-20  Niels Mller  <nisse@cuckoo.localdomain>

	* doc/HACKING: Added section CAVEAT.

Niels Möller's avatar
Niels Möller committed
1847
1848
1849
1850
1851
1852
1853
1854
2001-02-20  Niels Mller  <nisse@ehand.com>

	* src/io.c, src/io.h, src/reaper.c, src/unix_interact.c: Added
	volatile modifier to all uses of sig_atomic_t. 

	* src/client_userauth.c (do_userauth_success): Use verbose, not
	werror, for success message.

Niels Möller's avatar
Niels Möller committed
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
2001-02-19  Niels Mller  <nisse@cuckoo.localdomain>

	* src/testsuite/Makefile.am (TS_MORE_PROGS): Added
	lshg-tcpip-local-test.

2001-02-18  Niels Mller  <nisse@cuckoo.localdomain>

	* src/testsuite/tcpip-local-test: Don't pass -r to tcpconnect.
	grep the output from tcpconnect.
	* src/testsuite/tcpip-remote-test: Likewise.

	* src/testsuite/lshg-tcpip-local-test: New test case.

	* src/testsuite/functions.sh (spawn_lshg): New function.

	* src/argp/argp-parse.c (argp_default_parser): Let OPT_HANG print
	the process id to stderr.

	* src/resource.c (do_remember_resource): If the resource list is
	dead, immediately kill any resources added to it.

	* src/lsh.c (main_argp_parser): Check if the action list is empty
	at ARGP_KEY_END.
	* src/lshg.c (main_argp_parser): Likewise.

	* src/io.c (do_consuming_read): Don't close the fd on EOF.
	(do_buffered_read): Likewise.
	(sockaddr2info): Silently return NULL for AF_UNIX addresses. 

	* src/client.c (client_argp_parser): Don't check that the length
	of the action list is non-zero at ARGP_KEY_END. lsh.c may add a
	gatewaying action later.

	* configure.in: Bumped version to 1.1.7.

Niels Möller's avatar
Niels Möller committed
1890
1891
1892
1893
2001-02-13  Niels Mller  <nisse@cuckoo.localdomain>

	* src/sftp/sftp-test-client.c: Added more code from Pontus Skld. 

Niels Möller's avatar
Niels Möller committed
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
2001-02-13  Niels Mller  <nisse@ehand.com>

	* src/channel.c (do_exc_finish_channel_handler): Check
	channel_count to determine if there are channels left. The code
	used to just check next_channel, which was broken.
	(alloc_channel): Update channel_count.
	(dealloc_channel): Likewise.
	(do_exc_finish_channel_handler): The handler for
	EXC_FINISH_PENDING shouldn't raise EXC_FINISH_READ.

	* src/channel.h (channel_table): New attribute channel_count.

	* src/bignum.c (bignum_random): Added a comment about biased
	numbers.

Niels Möller's avatar
Niels Möller committed
1909
1910
2001-02-11  Niels Mller  <nisse@cuckoo.localdomain>

Niels Möller's avatar
Niels Möller committed
1911
1912
1913
	* src/sftp/sftp-server.c: Updated copyright notice to mention
	Markus Friedl.

Niels Möller's avatar
Niels Möller committed
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
	* src/sftp/filemode.c, src/sftp/filemode.h, src/sftp/idcache.c:
	New files, copied from GNU Fileutils-4.0. 

	* src/sftp/sftp-test-client.c: Added dummy functions do_ls,
	do_get, do_put and do_stat, and call them from main.

	* src/sftp/sftp-server.c: Merged code from Pontus Skld.
	(sftp_put_longname_mode): New function.
	(sftp_put_longname): New function.
	(sftp_put_filename): New function.
	(getuser): New dummy function.
	(getgroup): New dummy function.

	* src/sftp/buffer.c: Let most output-related functions call exit()
	directly on failure.
	(sftp_put_reserve_length): New function, replacing sftp_put_reserve.
	(sftp_put_length): New function.
	(sftp_put_final_length): New function.
	(sftp_put_printf): New function.
	(sftp_put_strftime): New function.
	(sftp_clear_attrib): Moved here from sftp-server.c.
	(sftp_skip_extension): Likewise.
	(sftp_get_attrib): Likewise.
	(sftp_put_attrib): Likewise.

2001-02-11  Pavel Roskin  <proski@gnu.org>

	* acinclude.m4: Always quote first argument to AC_DEFUN
	to allow redefining existing macros.
	* configure.in: Quote the second argument to AC_SEARCH_LIBGMP.

2001-02-08  Niels Mller  <nisse@cuckoo.localdomain>

	* src/keyexchange.c (do_kexinit_filter): Don't crash if there are
	no appropriate hostkeys. 

Niels Möller's avatar
Niels Möller committed
1950
1951
1952
1953
1954
2001-02-08  Niels Mller  <nisse@ehand.com>

	* src/dsa.c (generic_dsa_sign): Commented out debug statement that
	leaks information about the secret key. 

Niels Möller's avatar
Niels Möller committed
1955
1956
1957
1958
1959
2001-02-07  Niels Mller  <nisse@cuckoo.localdomain>

	* src/algorithms.c (filter_algorithms): Document that the
	functions may return NULL, and never returns an empty list.

Niels Möller's avatar
Niels Möller committed
1960
1961
1962
1963
1964
1965
1966
2001-02-04  Niels Mller  <nisse@lysator.liu.se>

	* Released lsh-1.1.6.

	* src/ssh-conv (SSH_CONV): Got rid of the bash:isms "if !" and
	"&>".

Niels Möller's avatar
Niels Möller committed
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2001-02-04  Niels Mller  <nisse@cuckoo.localdomain>

	* doc/lsh.texinfo (Action options): Edited the description of the
	-g, not calling it "gateway mode", as the word "gateway" is
	associated with the '-G' option.
	(Invoking lshd): Documented --kerberos-passwords,
	--password-helper and --login-shell.
	Changed UPDATED-FOR to 1.1.6.

	* configure.in: Bumped version to 1.1.6.

	* src/testsuite/Makefile.am (TS_SH, TS_MORE_SH): Added a few more
	tests. 

	* src/testsuite/functions.sh: New variable HOSTKEY for configuring
	which hostkey to use.

	* src/unix_user.c (unix_user_db): New attribute login_shell.
	(do_lookup_user): Let self->login_shell, if non-NULL, override the
	login shell in the passwd database.
	(make_unix_user_db): New argument login_shell.

	* src/rsa_keygen.c (rsa_generate_key): Changed "e not invertible"
	message from werror() to debug().

	* src/lshd.c (main_options): New option --login-shell.

	* src/lsh-keygen.c (main): When generating an rsa key, display a
	better message before trying again.

	* src/client_keyexchange.c (do_handle_dh_reply): If the server's
	signature doesn't verify, display a warning message before
	disconnecting.

	* src/rsa.c (parse_ssh_rsa_public): Call rsa_check_size, to make
	sure that the ->size attribute is initialized.

	* src/testsuite/key-2.private: Created an RSA testkey.

	* src/testsuite/write-key-1-test, src/testsuite/write-key-2-test:
	Renamed keygen-test and keygen-2-test. 

	* src/testsuite/conv-2-test: New test for reading an openssh rsa
	key.

	* src/testsuite/conv-1-test: Renamed conv-test.

Niels Möller's avatar
Niels Möller committed
2014
2015
2001-01-31  Niels Mller  <nisse@ehand.com>

Niels Möller's avatar
Niels Möller committed
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
	* src/server_publickey.c (do_authenticate): Include algorithm atom
	in "Unknown publickey algorithm"-message.

	* src/process_atoms (table): Fixed first reverse entry, {
	"UNKNOWN", 7}.

	* src/lsh-authorize: Redirect output from the type command to
	/dev/null. 

	* src/server_password.c (do_authenticate): Don't free the username
	twice.

	* src/server_authorization.c (do_key_lookup): Support ssh-rsa
	keys.

	* src/lshd.c (main_argp_parser): Support RSA keys for publickey
	userauth.

Niels Möller's avatar
Niels Möller committed
2034
2035
2036
	* src/io.c (io_iter): Changed POLLHUP handling some more. Now
	POLLHUP && !POLLIN is treated as EOF.

Niels Möller's avatar
Niels Möller committed
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2001-01-31  Niels Mller  <nisse@cuckoo.localdomain>

	* src/testsuite/lsh-cat-test: Use compare_output.

	* src/testsuite/lsh-1-test: Use test_success. 
	* src/testsuite/lsh-2-test: Likewise. 
	* src/testsuite/lsh-3-test: Likewise. 
	* src/testsuite/lsh-4-test: Likewise. 
	* src/testsuite/tcpip-local-test: Likewise. 
	* src/testsuite/tcpip-remote-test: Likewise. 

	* src/testsuite/keygen-2-test: Use functions.sh and test_success. 
	* src/testsuite/keygen-test: Likewise.

	* src/testsuite/functions.sh (at_exit): Fixed the at_exit
	mechanism. The previous code always exited successfully.
	(test_result): New variable for keeping the desired exit status. 
	(test_fail): New function.
	(test_success): Likewise.
	(compare_output): Likewise.

	* src/testsuite/Makefile.am (TS_SH): Added conv-test.

	* src/testsuite/conv-test: New test program.

	* src/unix_random.c (background_poll): Changed werror() to debug().
	(start_background_poll): Changed werror() to verbose().

	* src/tcpforward.c (do_tcpip_eof): Removed channel close logic,
	now in channel.c, channel_of_handler.

	* src/ssh-conv: Don't look for lsh-decode-key in the current
	directory. Added command line options --help, --usage,
	--decode-with. 

	* src/server_session.c (do_eof): Removed channel close logic, now
	in channel.c, channel_of_handler.
	(do_exit_shell): Added a verbose() message.

	* src/lsh-decode-key.c: Include rsa.h. Added program name prefix
	to the diagnostic messages.

	* src/io.c (do_buffered_read, do_consuming_read): Don't call
	read() if fd->hanged_up is set.
	(init_file): Initialize hanged_up.

2001-01-30  Niels Mller  <nisse@cuckoo.localdomain>

	* src/io.c (io_iter): Improved handling of POLLHUP. Set the
	fd->hanged_up flag before calling FD_READ().

	* src/io.h (lsh_fd): New attribute hanged_up.

	* src/client.c (do_exit_status): Added a verbose() message.

	* src/channel.c (channel_read_close_callback): Call channel_eof, not
	channel_close. 
	(channel_eof_handler): Moved the channel close decision here.

Niels Möller's avatar
Niels Möller committed
2096
2097
2098
2099
2100
2101
2001-01-29  Niels Mller  <nisse@cuckoo.localdomain>

	* src/ssh-conv: Support ssh-rsa keys.

	* src/lsh-decode-key.c (do_decode_key): Support ssh-rsa keys.

Niels Möller's avatar
Niels Möller committed
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2001-01-24  Niels Mller  <nisse@cuckoo.localdomain>

	* src/spki_commands.c (parse_private_key): Generate keypairs with
	algorithms ATOM_SSH_RSA, ATOM_SPKI_SIGN_RSA and ATOM_SPKI_SIGN_DSS.

	* src/rsa.c (do_rsa_verify): Replaced ATOM_RSA_PKCS1_SHA1 with
	ATOM_SSH_RSA, and replaced ATOM_SPKI with ATOM_SPKI_SIGN_RSA and
	ATOM_SPKI_SIGN_DSS.
	(do_rsa_sign): Likewise.
	(parse_ssh_rsa_public): New function.
	(make_ssh_rsa_verifier): New function.

	* src/pkcs5-test.c: Include both unistd.h and stdlib.h, do get a
	declaration of getopt().

	* src/lsh.c (do_lsh_lookup): Handle ATOM_SSH_RSA.
	(do_lsh_lookup): Replace ATOM_SPKI with ATOM_SPKI_SIGN_RSA and
	ATOM_SPKI_SIGN_DSS.

	* src/dsa.c (do_dsa_verify): Check that there's no trailing
	garbage.
	(do_dsa_verify): Replace ATOM_SPKI with ATOM_SPKI_SIGN_RSA and
	ATOM_SPKI_SIGN_DSS.
	(do_dsa_sign): Likewise.

	* src/atoms.in: Updated algorithm names to match
	draft-ietf-secsh-transport-09.txt. 

	* src/algorithms.c (algorithms_argp_parser): Replace ATOM_SPKI
	with ATOM_SPKI_SIGN_RSA and ATOM_SPKI_SIGN_DSS.
	(lookup_hostkey_algorithm): Likewise.

	* src/Makefile.am.in: Removed $(srcdir) prefixes from targets.
	* src/testsuite/Makefile.am (%.c): Likewise.

	* configure.in (PREFIX): Replace NONE with $ac_default_prefix.
	(SBINDIR): MAke a #define from sbindin. Currently broken. 

	* acconfig.h: Added SBINDIR.

Niels Möller's avatar
Niels Möller committed
2142
2143
2144
2145
2146
2001-01-23  Niels Mller  <nisse@ehand.com>

	* src/tcpforward.c (do_tcpip_eof): Call shutdown(socket, SHUT_WR),
	to signal to the local peer that there's no more data.

Niels Möller's avatar
Niels Möller committed
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2001-01-18  Niels Mller  <nisse@cuckoo.localdomain>

	* src/lshd.c (KERBEROS_HELPER): Added /sbin/ between PREFIX and the
	program name. Note that PREFIX seems to get a bogus value "NONE"
	if the default prefix is used.

	* src/sftp: New directory. Not compiled or used by default.

2001-01-17  Niels Mller  <nisse@cuckoo.localdomain>

	* src/lsh_types.h: Improved formatting.

	* src/channel.c (alloc_channel): Use UINT32, not int, for
	new_size. 

Niels Möller's avatar
Niels Möller committed
2162
2163
2001-01-15  Niels Mller  <nisse@ehand.com>

Niels Möller's avatar
Niels Möller committed
2164
2165
2166
2167
2168
2169
2170
2171
	* misc/bootstrap.sh: Fixed comment.

	* src/argp/argp.h: #define PRINTF_STYLE, and use it instead of
	using __attribute__ directly.

	* src/lsh-keygen.c (main_argp_parser): Don't use optarg (reported
	by jps).

Niels Möller's avatar
Niels Möller committed
2172
2173
2174
	* Added Markus Friedl's sftp-server.c to contrib, for some random
	hacking. 

Niels Möller's avatar
Niels Möller committed
2175
2176
2177
2178
2001-01-10  Niels Mller  <nisse@lysator.liu.se>

	* src/pkcs5-test.c: Include stdlib.h instead of getopt.h. 

Niels Möller's avatar
Niels Möller committed
2179
2180
2181
2182
2183
2184
2001-01-10  Niels Mller  <nisse@cuckoo.localdomain>

	* Released lsh-1.1.5.

	* configure.in: Bumped version to 1.1.5.

Niels Möller's avatar
Niels Möller committed
2185
2186
2001-01-09  Niels Mller  <nisse@cuckoo.localdomain>

Niels Möller's avatar
Niels Möller committed
2187
2188
	* src/rsync/send.c: Deleted old code.

Niels Möller's avatar
Niels Möller committed
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
	* src/rsync/send.c (rsync_send_init): Rewrote. Allocates a
	slightly larger buffer.
	(rsync_send_eof): New function.
	(rsync_send_copy_in): Deleted th dst argument. Update sum_md5 and
	size.
	(rsync_send_read): New function.
	(rsync_send_search): New function.
	(rsync_send_flush): New function.
	(rsync_send_write): New function.
	(rsync_send): Rewrote and simplified. Now uses fewer states,
	simpler eof handling, and calls several smaller functions.

	* src/rsync/rsync.h (RSYNC_SUM_SIZE): Rename RSYNC_SUM_LENGTH.
	(rsync_result_t): New enum for return types.
	(struct rsync_receive_state): Renamed attribute full_sum to
	sum_md5. 
	(struct rsync_receive_state): Made the state attribute an enum.
	Moved the constants from receive.c, and renamed them to use a
	RSYNC_RECIEVE_-prefix. 
	(struct rsync_send_state): Changed state and buffering.

	* src/rsync/generate.c, src/rsync/receive.c, src/rsync/send.c,
	src/rsync/rsync.h: Changed return types from int to enum
	rsync_result_t.

	* src/rsync/checksum.c (rsync_search): Renamed argument FOUND to
	DONE, and set it properly for both successful and unsuccessful
	searches.

	* src/rsync/receive.c (rsync_receive_mode): Use an enum instead of
	defines.
	(rsync_update): Hash data on output.
	(rsync_receive) STATE_LITERAL: Update avail_in and next_in after calling rsync_update.

2001-01-07  Niels Mller  <nisse@cuckoo.localdomain>

	* src/argp/argp.h: Added _argp_short_program_name and
	__argp_short_program_name. 

	* src/argp/argp-parse.c (parser_init): Use
	argp_short_program_name. 
	(parser_parse_next): Removed old permutation handling code. 

2001-01-06  Niels Mller  <nisse@cuckoo.localdomain>

	* src/argp/argp-namefrob.h: Added _argp_short_program_name.

2001-01-02  Niels Mller  <nisse@cuckoo.localdomain>

	* src/argp/argp-help.c (hol_entry_help): Avoid using a
	non-constant struct initializer.
	(UNUSED): Define as a macro expanding to __attribute__ ..., if
	compiling with gcc.

	* src/argp/argp-fmtstream.h (PRINTF_STYLE): Define this macro,
	to expand to __attribute__ ... if compiling with gcc.

	* src/argp/argp-fmtstream.c (__argp_fmtstream_write,
	__argp_fmtstream_puts, __argp_fmtstream_putc): Duplicate the
	inline definitions in argp-fmtstream.h, for compilers that don't
	do inlining.

	* src/unix_random.c (random_sources): Fixed bug in initialization
	of the HAS_ALTERNATIVE fields. Noted by jps.

2000-12-28  Niels Mller  <nisse@cuckoo.localdomain>

	* src/lsh.c: Don't include unistd.h.
	(main_argp_parser): Fixed bogus references to optarg (reported by
	jps). 

	* src/argp/argp-help.c (fill_in_uparams): Use unsigned char * for
	VAR and ARG. Fixed calls of isalnum, isspace and friends, reported
	by Kalle Olavi Niemitalo.
	(canon_doc_option): Fixed calls of isalnum, isspace and friends,
	reported by Kalle Olavi Niemitalo.
	(hol_entry_cmp): Fixed calls of tolower, reported by Kalle Olavi
	Niemitalo.

Niels Möller's avatar
Niels Möller committed
2268
2269
2270
2271
2000-12-23  Niels Mller  <nisse@cuckoo.localdomain>

	* Released lsh-1.1.4.

Niels Möller's avatar
Niels Möller committed
2272
2273
2274
2275
2276
2277
2000-12-23  Niels Mller  <nisse@lysator.liu.se>

	* src/argp/acinclude.m4: New file. 
	* src/argp/acinclude.m4: Reverted the definition of AC_CHECK_VAR
	to take includes as argument, and renamed it to ARGP_CHECK_VAR.

Niels Möller's avatar
Niels Möller committed
2278
2279
2280
2281
2282
2283
2284
2285
2000-12-23  Niels Mller  <nisse@cuckoo.localdomain>

	* src/Makefile.am.in (EXTRA_DIST): Removed references to the
	getopt files getopt.c, getopt.h and getopt1.c.

	* configure.in: Removed getopt-related tests (previously just
	commented out).

Niels Möller's avatar
Niels Möller committed
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2000-12-23  Niels Mller  <nisse@lysator.liu.se>

	* src/getopt.c, src/getopt1.c, src/getopt.h: Removed.

2000-12-22  Niels Mller  <nisse@lysator.liu.se>

	* src/testsuite/Makefile.am (LDADD): Link with libargp.
	($(srcdir)/%.c): Fix $(srcdir)-handling.

	* src/Makefile.am.in (bootstrap): New target, replaces the
	post-configure work previously done by misc/bootstrap.sh

	* Makefile.am.in (bootstrap): New target.

Niels Möller's avatar
Niels Möller committed
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2000-12-11  Niels Mller  <nisse@cuckoo.localdomain>

	* Removed getopt.c, getopt.h and getopt1.c from the src/argp
	directory. 

	* src/lsh.c (do_options2identities): Pass two alists to
	make_spki_read_userkeys (reported by jps).

	* src/spki_commands.c (make_spki_read_userkeys): Use separate
	alists for symmetric algorithms and signature algorithms (reported
	by jps).

	* src/abstract_crypto.c (crypt_string_unpad): Adjust length
	properly (reported by jps).

	* src/argp/argp-parse.c (match_option, ARGP_COMPLETE): #if:ed out
	completion code for long options.

Niels Möller's avatar
Niels Möller committed
2318
2319
2320
2321
2322
2323
2324
2000-12-09  Niels Mller  <nisse@cuckoo.localdomain>

	* src/Makefile.am.in (LDADD, lshg_LDADD): Use @LIBARGP@

	* misc/bootstrap.sh: Use set -e. Bootstrap in the src/argp
	subdirectory. 

2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2000-11-30  Niels Mller  <nisse@cuckoo.localdomain>

	* src/argp/argp-parse.c (match_option): Better abbreviations.
	Replaced try_getopt with args_only, changed calling convention for
	parser_parse_arg. 

	* src/argp/configure.in: Don't check for getopt.

	* src/argp/argp.h: Don't include getopt.h.

	* src/argp/argp-parse.c (calc_sizes): Updated comment.

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

	* src/argp/configure.in: Use AC_REPLACE_FUNCS for mempcpy, strndup
	and strchrnul.
	(AC_CHECK_VAR): Changed second argument to take the type of the
	variable. 

	* src/argp/argp-parse.c (struct parser): New fields
	posixly_correct and ordering.
	(parser_init): Choose ordering.
	(enum arg_type): New value ARG_LONG_ONLY.
	(parser_parse_next): Added error messages similar to getopt's. 

	* src/argp/argp-help.c (STRNDUP): New macro to refer to strndup
	or __strndup, as appropriate.
	(STRERROR): Define this macro as a wrapper for strerror or
	sys_errlist. 
	(__argp_basename): New function.

	* src/argp/argp-namefrob.h (__argp_basename): Added
	__argp_basename. 

	* src/argp/Makefile.am (libargp_a_LIBADD): Include LIBOBJS in
	libargp.a. 

	* src/argp/argp.h: Added prototype for _argp_basename and
	__argp_basename. 

	* src/argp/strndup.c, src/argp/strchrnul.c src/argp/mempcpy.c:
	Moved replacement functions to separate files.

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

	* src/argp/argp-parse.c: Deleted getopt-related code.
	(struct parser): New field nextchar. Deleted fields try_getotp and long_opts.
	(find_short_option): New function.
	(match_option): New function.
	(find_long_option): New function.
	(struct parser_convert_state): Deleted field long_end.
	(convert_options): Don't build getopt_long-style option array. 
	(parser_convert): Deleted FLAGS arument.
	(struct parser_sizes): Deleted field long_len.
	(parser_init): Set short_opts to NULL, unless ARGP_LONG_ONLY is
	used. 
	(classify_arg): New function.
	(parser_parse_next): Don't use getopt_long().

Niels Möller's avatar
Niels Möller committed
2384
2385
2386
2387
2388
2389
2390
2391
2392
2000-11-27  Niels Mller  <nisse@cuckoo.localdomain>

	* configure.in: Use AC_LIB_ARGP.

	* acinclude.m4 (AC_LIB_ARGP): New test.

	* src/argp/argp-help.c (argp_doc): Use the name strndup, not
	__strndup. That probably breaks glibc builds.

Niels Möller's avatar
Niels Möller committed
2393
2394
2000-11-27  Niels Mller  <nisse@lysator.liu.se>

Niels Möller's avatar
Niels Möller committed
2395
2396
	* src/argp/argp-test.c (asprintf): Bug fix.

Niels Möller's avatar
Niels Möller committed
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
	* src/argp/argp.h: Dummy definition of __THROW.

	* src/argp/argp-test.c: Fixed asprintf implementation.

	* src/argp/argp-parse.c (__argp_usage, __option_is_short,
	__option_is_end): Define these function, in case the user isn't
	inlining them.

	* src/argp/argp-help.c: #define __mempcpy if needed. Use unsigned
	arguments to the ctype macros. Handle systems where
	program_invocation_name and program_invocation_short_name doesn't
	exist.
	* src/argp/argp-help.c (short_program_name): New function.

	* src/argp/Makefile.am: Use @LIBOBJS@ when building test program. 

	* src/argp/configure.in: Check for getopt_long. Substitute
	LIBOBJS. Add -I$srcdir to CPPFLAGS.

	* src/argp: Added getopt.h, getopt.c and getopt1.c, which are
	needed for separate compilation of argp.

Niels Möller's avatar
Niels Möller committed
2419
2420
2000-11-27  Niels Mller  <nisse@cuckoo.localdomain>

Niels Möller's avatar
Niels Möller committed
2421
2422
	* Updated argp from glibc-2.2.

Niels Möller's avatar
Niels Möller committed
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
	* 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.

Niels Möller's avatar
Niels Möller committed
2468
2469
2000-11-26  Niels Mller  <nisse@cuckoo.localdomain>

Niels Möller's avatar
Niels Möller committed
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
	* 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.

Niels Möller's avatar
Niels Möller committed
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
	* 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.

Niels Möller's avatar
Niels Möller committed
2568
2569
2000-11-20  Niels Mller  <nisse@cuckoo.localdomain>

Niels Möller's avatar
Niels Möller committed
2570
2571
2572
2573
2574
2575
2576
2577
	* 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.

Niels Möller's avatar
Niels Möller committed
2578
	* ChangeLog: Rotated ChangeLog, creating ChangeLog.2. 
Niels Möller's avatar
Niels Möller committed
2579