ChangeLog 64.6 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
2001-08-12  Niels Möller  <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 Möller  <nisse@cuckoo.hack.org>

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

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

Niels Möller's avatar
Niels Möller committed
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
	* 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
53
54
55
56
57
58
59
60
	* 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
61
62
63
64
65
66
67
2001-07-05  Niels Möller  <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.
	Donät use command_simple.

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

Niels Möller's avatar
Niels Möller committed
70
71
72
73
74
75
76
	* 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
77
78
79
	* 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
80
81
82
83
84
85
86
	(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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
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

	* 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
127
128
2001-07-03  Niels Möller  <nisse@ehand.com>

Niels Möller's avatar
Niels Möller committed
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
	* 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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
	* 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
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
2001-07-02  Niels Möller  <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
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
2001-06-27  Niels Möller  <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 Möller  <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
233
234
235
236
237
238
239
240
241
2001-06-26  Niels Möller  <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
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
2001-06-24  Niels Möller  <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 Möller  <nisse@cuckoo.hack.org>

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

Niels Möller's avatar
Niels Möller committed
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
2001-06-19  Niels Möller  <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
282
283
2001-06-17  Niels Möller  <nisse@cuckoo.hack.org>

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

Niels Möller's avatar
Niels Möller committed
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
	* 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
302
303
2001-06-15  Niels Möller  <nisse@ehand.com>

Niels Möller's avatar
Niels Möller committed
304
305
306
	* src/blowfish.c: nettle updates.
	* src/serpent.c: Likewise.

Niels Möller's avatar
Niels Möller committed
307
308
309
310
	* 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
311
312
313
314
315
316
317
318
319
2001-06-13  Niels Möller  <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
320
321
322
323
324
325
326
2001-06-12  Niels Möller  <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
327
	* src/testsuite/Makefile.am: Likewise.
Niels Möller's avatar
Niels Möller committed
328

Niels Möller's avatar
Niels Möller committed
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
2001-06-09  Niels Möller  <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 Möller  <nisse@cuckoo.hack.org>

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

2001-06-06  Niels Möller  <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
345
346
347
348
349
350
351
352
353
354
355
356
357
358
2001-05-29  Niels Möller  <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
359
360
361
362
363
2001-05-23  Niels Möller  <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
364
365
366
367
368
369
370
371
372
373
374
375
376
377
2001-05-17  Niels Möller  <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
378
379
380
381
382
383
2001-05-16  Niels Möller  <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
384
385
2001-05-15  Niels Möller  <nisse@ehand.com>

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

Niels Möller's avatar
Niels Möller committed
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
	* src/lshd.c (do_exc_lshd_handler): Handle EXC_RESOLVE.

	* src/testsuite/functions.sh (spawn_lshd): Use 127.0.0.1 instead
	of localhost.

	* 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 Möller  <nisse@ehand.com>

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

Niels Möller's avatar
Niels Möller committed
411
412
413
414
415
416
417
418
2001-05-15  Niels Möller  <nisse@cuckoo.hack.org>

	* configure.in: Updated version number to 1.3.0.

2001-05-14  Niels Möller  <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
419
420
421
422
423
424
2001-05-11  Niels Möller  <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
425
426
427
2001-05-03  Niels Möller  <nisse@ehand.com>

	* src/lshd.c (main): Start the background randomness poll *after*
Niels Möller's avatar
Niels Möller committed
428
	forking into the background. FIXED in 1.2 branch.
Niels Möller's avatar
Niels Möller committed
429
430
431

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

Niels Möller's avatar
Niels Möller committed
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
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
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
2001-05-02  Niels Möller  <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 Möller  <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 Möller  <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
523
524
525
526
527
528
529
530
531
532
533
2001-04-25  Niels Möller  <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
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
2001-04-17  Niels Möller  <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 Möller  <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
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
2001-04-11  Niels Möller  <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
624
625
626
627
2001-04-10  Niels Möller  <nisse@ehand.com>

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

Niels Möller's avatar
Niels Möller committed
628
629
630
2001-04-09  Niels Möller  <nisse@ehand.com>

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

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

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

Niels Möller's avatar
Niels Möller committed
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
	* 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
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
	* 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
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
	* 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
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
2001-04-05  Niels Möller  <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
746
	close_fd_nicely. Otherwise we lose data. FIXED in 1.2 branch.
Niels Möller's avatar
Niels Möller committed
747
748
749
750

	* 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
751
752
2001-04-05  Niels Möller  <nisse@cuckoo.hack.org>

Niels Möller's avatar
Niels Möller committed
753
754
755
756
757
758
759
760
761
762
763
	* 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
764
765
766
767
	* 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
768
769
2001-04-04  Niels Möller  <nisse@cuckoo.hack.org>

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

Niels Möller's avatar
Niels Möller committed
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
	* 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
812
813
814
815
816
	* lsh-1.2 released.

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

Niels Möller's avatar
Niels Möller committed
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
	* 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 Möller  <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
834
835
836
837
838
839
2001-04-03  Niels Möller  <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
840
841
842
843
844
845
846
847
848
2001-04-02  Niels Möller  <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
849
850
851
852
853
854
855
2001-04-02  Niels Möller  <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
856
857
858
859
860
861
862
863
864
865
866
867
868
2001-04-02  Niels Möller  <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
869
870
2001-04-01  Niels Möller  <nisse@cuckoo.hack.org>

Niels Möller's avatar
Niels Möller committed
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
	* 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
890
891
892
893
894
895
896
897
898
	* 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
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
	* 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 Möller  <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
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
2001-03-30  Niels Möller  <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
970
971
972
973
974
975
976
977
978
979
2001-03-28  Niels Möller  <nisse@ehand.com>

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

2001-03-27  Niels Möller  <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
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
2001-03-26  Niels Möller  <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
997
998
999
1000
2001-03-26  Niels Möller  <nisse@ehand.com>

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