ChangeLog 14.4 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
Sun Jan 10 21:56:37 1999    <nisse@puck>

	* lshd.c (usage): Improved message.
	(read_host_key): New function.
	(main): Read host key from a file.

	* sexp.c (sexp_n, sexp_un): Renamed and fixed this functiom
	(doesn't use ssh_format anymore).
	(sexp_sn): Implemented.
	(sexp_assz): New function.
	(sexp_get_un): New function.

	* io.c (blocking_read): New function.

Niels Möller's avatar
Niels Möller committed
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Fri Jan  8 09:44:12 1999    <nisse@puck>

	* sexp_streamed_parser.c (base64_decode): Fixed test for leftover
	bits. 

	* configure.in (CPPFLAGS): Add -I$srcdir (needed for lsh_types.h
 	to be found, when compiling in subdirectories, with VPATH).

	* sexp.c (sexp_contents): New function.
	(sexp_display): New function.
	(do_vector_get): Use CAST_SUBTYPE.
	(sexp_eqz): New function.
	(sexp_check_type): New function.

	* read_scan.c (do_read_scan): Check if the current scanner is NULL
 	_after_ scanning each character.

	* bignum.h: Fix tests for gmp2/gmp.h (patches from Kalle Olavi
 	Niemitalo <tosi@ees2.oulu.fi>).

Niels Möller's avatar
Niels Möller committed
35
36
37
38
39
Thu Jan  7 16:25:50 1999    <nisse@puck>

	* sexp_streamed_parser.c: Added base 64 decoder.

	* sexp.c (encode_base64): Bug fix (don't use several ++ in an
Niels Möller's avatar
Niels Möller committed
40
 	expression without sequence points).
Niels Möller's avatar
Niels Möller committed
41

Niels Möller's avatar
Niels Möller committed
42
43
	* read_scan.h (TOKEN_NONE): New constant (used by the base64
 	decoder).
Niels Möller's avatar
Niels Möller committed
44

Niels Möller's avatar
Niels Möller committed
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Tue Jan  5 05:54:34 1999    <nisse@puck>

	* keyexchange.c (kex_make_key): Fixed key expansion.

	* des.c (make_des_instance): Fix _odd_ parity.

	* cbc.c (do_cbc_encrypt): Bug fix.
	(do_cbc_decrypt): Handle the case src == dst correctly.

	* cascade.c (do_make_cascade): Make sure keys are applied in the
	right (i.e. reversed) order when decrypting.

	* Makefile.am.in (depend): Disabled the rule to explicitly build
 	dependency files.

60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
Sun Jan  3 16:54:29 1999    <ray@zensunni>

	* digit_table.c: Fixed declaration of main.

	* Makefile.am.in: remove .x files as part of maintainer-clean.

	* Makefile.am.in, lib/Makefile.am.in, include/Makefile.am.in: added
	support for ctags.

	* configure.in: Remove superfluous spacing in compiler warnings.

	* version.h, client.c (client_initiate), server.c (server_initiate):
	Split PROTOCOL_VERSION in CLIENT_PROTOCOL_VERSION and
	SERVER_PROTOCOL_VERSION, so the client won't report version 1.99 .

	* configure.in: Look for SSH1 daemon as plain `sshd' too. Test that it
	is usable.

Sat Jan  2 18:25:16 1999    <ray@zensunni>

	* TODO: Added logging; Noted we can't currently use Rivest's sexp code.

	* resource.h, lsh_types.h: fixed typo.

	* Makefile.am.in, lib/Makefile.am.in: Added pattern rule for
	dependencies; added phony target `depend' to force dependencies to be
	remade; remove dependency files (.P) as part of maintainer-clean.

Fri Jan  1 18:08:03 1999    <ray@zensunni>

	* acconfig.h, configure.in, server.c, version.h: Added skeleton for
	SSH1 fallback support.

	* TASKLIST: Added SSH1 fallback support.

	* configure.in: Rewrote the comment about _GNU_SOURCE .

	* AUTHORS, HACKING, NOTES, README, TODO: spelling, grammar fixes.

	* TASKLIST: We have zlib support now.

Niels Möller's avatar
Niels Möller committed
101
102
103
104
105
106
107
108
109
110
111
112
Mon Jan  4 11:25:43 1999    <nisse@puck>

	* werror.c: Avoid using stdio functions.

	* keyexchange.c (make_test_kexinit): Commented out this function.

	* io.c (write_raw): New function.
	(write_raw_with_poll): -"-

	* alist.c (alist_addv): New function.
	(alist_add): -"-

Niels Möller's avatar
Niels Möller committed
113
114
Fri Jan  1 04:20:10 1999    <nisse@puck>

Niels Möller's avatar
Niels Möller committed
115
116
117
	* make_char_classes (make-char-classes): Use #ifdef to separate
	the table from the #defines.

Niels Möller's avatar
Niels Möller committed
118
119
	* lsh_types.h (LSH_PARSED_OBJECT): New status code.

Niels Möller's avatar
Niels Möller committed
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
	* io.c: Include lsh headers *before* system headers.
	Use jpoll.h, not poll.h.

	* io.c: (get_inaddr): Use inet_aton. How portable is that?

	* poll.h, poll.c, pollemu.h, pollemu.c: Use the names jpoll (that
 	is the names used originally by Sean Reifschneider
 	<jafo@tummy.com>).

Thu Dec 31 15:29:59 1998    <ray@penguin.wi.leidenuniv.nl>

	* PORTS: new file.

	* io.c: #include "config.h" so the #ifdef HAVE_POLL works.

	* poll.h, pollemu.h: Renamed poll.h to pollemu.h; thus it will not be
	found instead of a system poll.h whith -I. or -I$(srcdir) .
	* pollemu.c, pollemu.h: Renamed too.
	* io.c, pollemu.c: Changed #include accordingly.
	* configure.in: Changed accordingly.

	* configure.in: check for `gethostbyname' instead of `hostbyname'.

	* io.c: define INADDR_NONE if the system doesn't provide it (e.g.
	Solaris).

	* io.c: #include <netinet/in.h> for struct in_addr.

Wed Dec 30 17:38:03 1998    <ray@penguin.wi.leidenuniv.nl>

        * io.c (get_inaddr): use symbolic constant to check inet_addr
        result; fixes name resolving on Linux/Alpha.

Niels Möller's avatar
Niels Möller committed
153
154
155
156
157
158
159
160
161
162
163
164
165
Thu Dec 31 00:06:43 1998    <nisse@puck>

	* server.c (do_open_session): Mark arguments as UNUSED.

	* read_packet.c (do_read_packet): Signedness fixes.

	* publickey_crypto.c (make_dss_verifier): Mark closure algorithm
	as UNUSED.

	* packet_ignore.c (do_ignore): Mark arguments as UNUSED.

	* make_class (do-struct-free-function, do-struct-mark-function):
	Avoid warnings about unused parameters when the generated
Niels Möller's avatar
Niels Möller committed
166
	functions are empty functions.
Niels Möller's avatar
Niels Möller committed
167
168
169
170
171
172
173
174
175
176
177
178
179
180

	* keyexchange.c (kex_make_key): Signedness fix.

	* io.c (get_inaddr): Use the protocol argument.

	* disconnect.c (do_disconnect): Mark arguments as UNUSED.

	* des.c (make_des_instance): Mark arguments as UNUSED.

	* debug.c (do_rec_debug): Mark arguments as UNUSED.

	* connection.c (do_fail): Marked connection argument UNUSED.

	* configure.in (CPPFLAGS): Add more warning flags. But *not*
Niels Möller's avatar
Niels Möller committed
181
	-Wcast-align.
Niels Möller's avatar
Niels Möller committed
182
183
184
185
186

	* client_userauth.c (do_userauth_banner): Marked connection
	argument UNUSED.

	* client_password.c (read_password): Marked max_length argument
Niels Möller's avatar
Niels Möller committed
187
	UNUSED.
Niels Möller's avatar
Niels Möller committed
188
189
190
191
192
193
194
195
196
197
198
199
200

	* client.c (client_close_die): Marked closure argument UNUSED.

	* channel.c (do_window_adjust): Marked connection argument UNUSED.
	(do_channel_data): -"-
	(do_channel_extended_data): -"-
	(do_channel_eof): -"-
	(do_channel_close): -"-
	(do_channel_open_confirm): -"-
	(do_channel_open_failure): -"-
	(do_channel_success): -"-
	(do_channel_failure): -"-

Niels Möller's avatar
Niels Möller committed
201
	* arcfour.c (make_arcfour_instance): Mark mode argument UNUSED.
Niels Möller's avatar
Niels Möller committed
202
203
204
205
206
207
208
209
210

	* io.c (get_inaddr): use symbolic constant to check inet_addr
 	result; fixes name resolving on Linux/Alpha.

Wed Dec 30 11:57:28 1998    <ray@zensunni>

	* atoms.in: added algorithms names used by SSH 2.0.11 (commented
 	out).

Niels Möller's avatar
Niels Möller committed
211
	* configure.in: Enable a few more warnings.
Niels Möller's avatar
Niels Möller committed
212
213
214

	* lib/desTest.c (method, encode, decode): ANSIfied function
	declarations.
Niels Möller's avatar
Niels Möller committed
215

Niels Möller's avatar
Niels Möller committed
216
217
218
219
220
221
222
223
224
225
226
227
228
229
	* include/des.h, desCode.h, desKerb.c, desQuick.c, desTest.c,
 	desUtil.c, desdata.c, desinfo.h: The DES code's copyright notice
 	is distributed in descore.README rather than plain README.

	* abstract_crypto.c (gcd): Avoid unsigned underflow.

	* sexp.c, sexp.h (sexp_nullp, sexp_c, sexp_a, sexp_z, sexp_n,
 	sexp_sn, sexp_format, encode_base64): Added const.

	* TODO: removed obsolete entries; made a separate section for
 	freeness issues, and noted scsh's non-freeness.

	* TASKLIST, TODO: Fixed typos.

Niels Möller's avatar
Niels Möller committed
230
231
Wed Dec 30 01:14:28 1998    <nisse@puck>

Niels Möller's avatar
Niels Möller committed
232
233
	* lsh_types.h (LSH_SYNTAX): New error code.

Niels Möller's avatar
Niels Möller committed
234
235
236
237
238
239
240
	* lib/desTest.c (now): Disable use of rusage.

	* sexp.c: Started on parser. Not at all working yet.
	* sexp.h (sexp_iterator): Added iterator abstraction.

	* lsh_types.h (MAX): Bug fix (by ceder).

241
242
243
Mon Dec 28 14:14:57 1998    <nisse@puck>

	* keyexchange.c (kex_make_key): Expand keys, when the required key
Niels Möller's avatar
Niels Möller committed
244
	length is longer than tha hash output. (Bazsi).
245

Niels Möller's avatar
Niels Möller committed
246
247
Sun Dec 27 06:37:40 1998    <nisse@puck>

Niels Möller's avatar
Niels Möller committed
248
249
	* compress.c (packet_compressor): Removed the mode variable.

Niels Möller's avatar
Niels Möller committed
250
251
252
253
254
255
256
257
258
259
260
261
262
263
	* server.c (do_line): Compression support.

	* make_class: New type special-struct.

	* lsh.c (main): Zlib support.
	* lshd.c (main): Zlib support.

	* keyexchange.c (kex_make_deflate): New function.
	(kex_make_inflate): New function.
	(do_handle_newkeys): Compression support.
	(make_newkeys_handler): -"-
	(do_install): -"-

	* compress.h, compress.c, abstract_compress.c,
Niels Möller's avatar
Niels Möller committed
264
	abstract_compress.h, zlib.h, zlib.c: New files (by Bazsi).
Niels Möller's avatar
Niels Möller committed
265
266
267
268
269
270
271
	
	* connection.c (connection_init_io): Compression support.
	* client.c (do_line): Compression support.

	* client.c (do_exit_signal): Send CHANNEL_EOF.

	* configure.in: Fixed the configure test for shutdown. Check for
Niels Möller's avatar
Niels Möller committed
272
	zlib.
Niels Möller's avatar
Niels Möller committed
273

Niels Möller's avatar
Niels Möller committed
274
275
276
Sat Dec 26 02:37:18 1998    <nisse@puck>

	* keyexchange.c (do_install): Bugfix: Look at closure->is_server
Niels Möller's avatar
Niels Möller committed
277
	when generating MAC-keys (noted by Bazsi).
Niels Möller's avatar
Niels Möller committed
278
279
280
281

	* lsh_keygen.c (main): Added getopt support. New options for
	algorithm and output style.

Niels Möller's avatar
Niels Möller committed
282
283
284
285
286
287
Wed Dec 23 23:06:45 1998    <nisse@puck>

	* format.c (ssh_vformat_length): Added 'd' modifier, for
	sexp-style length prefixes.
	(ssh_vformat_write): -"-

Niels Möller's avatar
Niels Möller committed
288
289
Sun Dec 20 20:11:02 1998    <nisse@puck>

Niels Möller's avatar
Niels Möller committed
290
291
292
	* arcfour.c, blowfish.c, cascade.c, cbc.c, des.c, hmac.c, md5.c,
	sha.c: New files, extracted from crypto.c and abstract_crypto.c.
	
Niels Möller's avatar
Niels Möller committed
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
	* server.c (do_line): Accept client version 1.99, if
	DATAFELLOWS_SSH2_GREETING_WORKAROUND is defined.

	* randomness.c (make_poor_random): Allow NULL init string. Use pid
	for seeding.
	(make_device_random): New function.
	(make_reasonably_random): New function.

	* bignum.c (bignum_write): New function.
	(bignum_random_size): New function.
	(bignum_small_factor): New function.
	(bignum_next_prime): New function.

	* Makefile.am.in (noinst_LIBRARIES): Collect most object files
	into liblsh.a.

Niels Möller's avatar
Niels Möller committed
309
310
311
312
313
314
315
316
317
318
319
320
321
322
Fri Dec 18 01:53:22 1998    <nisse@puck>

	* server.c (do_eof): Consider closing (if CHANNEL_SENT_EOF and
	CHANNEL_CLOSE_AT_EOF are both set).

	* keyexchange.c (make_test_kexinit): Added hmac-md5 to the list of
	acepted mac algorithms.

	* io.h (CLOSE_EOF): Changed the meaning of this constant. Now used
	also for EOF on writing.
	* io.c (prepare_write): Use the close_reason CLOSE_EOF when a
 	closed write_buffer has been flushed successfully.

	* io.c (write_callback): Report EPIPE and other write failures
Niels Möller's avatar
Niels Möller committed
323
	differently.
Niels Möller's avatar
Niels Möller committed
324
325
326
327
328
329
330
331
332
333
334
335
	

	* crypto.c: Added md5 support by Balazs Scheidler.

	* client.c (do_exit_status): Bugfix: Changed && to &.

	* channel.c (channel_close_callback): Don't close channel when a
	connected file is closed when we expect it.

	* resource.c (do_free_resources): *Never* call lsh_object_free,
	except from the gc_sweep function!

Niels Möller's avatar
Niels Möller committed
336
337
338
339
340
341
342
343
344
345
346
347
348
Thu Dec 17 16:27:22 1998    <nisse@puck>

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

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

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

Niels Möller's avatar
Niels Möller committed
349
350
Wed Dec 16 01:33:25 1998    <nisse@puck>

Niels Möller's avatar
Niels Möller committed
351
352
353
354
	* resource.h, resource.c: New files.
	
	* channel.h (CHANNEL_CLOSE_AT_EOF): This flag now means that
	the channel should be closed when EOF have been both sent and
Niels Möller's avatar
Niels Möller committed
355
	received.
Niels Möller's avatar
Niels Möller committed
356
	* channel.c (channel_eof): New meaning of CHANNEL_CLOSE_AT_EOF
Niels Möller's avatar
Niels Möller committed
357
	flag.
Niels Möller's avatar
Niels Möller committed
358

Niels Möller's avatar
Niels Möller committed
359
	* client.c (do_exit_status): Send eof, if we haven't done that
Niels Möller's avatar
Niels Möller committed
360
	already.
Niels Möller's avatar
Niels Möller committed
361
362

	* channel.c (do_channel_eof): Don't initiate close automatically
Niels Möller's avatar
Niels Möller committed
363
	when eof has been both sent and received.
Niels Möller's avatar
Niels Möller committed
364

Niels Möller's avatar
Niels Möller committed
365
366
367
368
369
370
371
372
373
	* list.c (make_int_listv): New function
	(make_object_listv): New function

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

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

Niels Möller's avatar
Niels Möller committed
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
Tue Dec 15 00:01:33 1998    <nisse@puck>

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

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

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

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

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

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

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

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

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

	* include/crypto_types.h: Improved error messages.

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

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

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

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

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

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

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

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

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

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

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

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

	* TODO: Additions.

	* Various spelling fixes.

Niels Möller's avatar
Niels Möller committed
446
447
Tue Dec  8 10:29:50 1998    <nisse@puck>

Niels Möller's avatar
Niels Möller committed
448
	* server_password.c (lookup_user): Integrated support for shadow
Niels Möller's avatar
Niels Möller committed
449
 	passwords, by Keresztg <kg230@hszk.bme.hu>.
Niels Möller's avatar
Niels Möller committed
450
451

	* server.c (do_exit_shell): Close channel, if we have already sent
Niels Möller's avatar
Niels Möller committed
452
	EOF.
Niels Möller's avatar
Niels Möller committed
453

Niels Möller's avatar
Niels Möller committed
454
455
456
457
458
	* xalloc.c (lsh_object_clone): New function.

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

Niels Möller's avatar
Niels Möller committed
459
460
461
462
	* crypto.c (do_sha_copy, ): Use the CLONE macro instead of memcpy to
	copy instances.
	(do_hmac_copy): -"-

463
464
465
466
467
468
469
Fri Dec  4 02:30:28 1998    <nisse@puck>

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

	* xalloc.c (lsh_object_check_subtype): Allow NULL pointers. They
	are occasionally permissible (for instance, the NULL crypto
	algorithm), and when they aren't the error will be detected early
Niels Möller's avatar
Niels Möller committed
470
	anyway.
471
472
473
474
475
476
	(lsh_object_check): -"-

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

Niels Möller's avatar
Niels Möller committed
477
478
479
Sun Nov 22 00:57:16 1998    <nisse@puck>

	* lsh.c (main): Bug fix (pass *address* of crypto_rc4_algorithm).
Niels Möller's avatar
Niels Möller committed
480
 	Thanks to Keresztg <kg230@hszk.bme.hu>.
Niels Möller's avatar
Niels Möller committed
481
482
483
484
485
486
487
488
489

	* lshd.c (main): -"-

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

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