ChangeLog 204 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
1999-10-09  David Byers  <davby@ida.liu.se>

	* doc/Protocol-A.texi (Client-Specific Aux-Item Types): Added
	komimportmail to reserved range.

	* run-support/aux-items.conf: Fixed date validation regexp.

1999-08-13  David Byers  <davby@ida.liu.se>

	* doc/Protocol-A.texi (Predefined Aux-Item Types): Changed "of" to 
	"or" in documentation of content-type. The old wording was
	incorrect and conveyed the wrong idea.

Per Cederqvist's avatar
Per Cederqvist committed
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
1999-09-19  Per Cederqvist  <ceder@lysator.liu.se>

	Prepare for dbck improvement.
	* src/server/local-to-global.c (add_block_before): New static function.
	(find_block): Return a pointer to the last block instead of a NULL
	pointer if a too large local text number is supplied.
	(l2g_expensive_set): Now fully implemented.
	* src/server/testsuite/l2g.0/12.exp: New file, that tests
	l2g_expensive_set.
	* src/server/testsuite/test-l2g.c (main): Handle l2g_expensive_set.

	Code cleanup.
	* src/server/dbck.c (check_misc_any_recipient): New static function.
	(check_misc_infos): Use it, to avoid repeating the same code
	inline three times.

30
31
1999-09-18  Per Cederqvist  <ceder@lysator.liu.se>

Per Cederqvist's avatar
Per Cederqvist committed
32
33
34
35
36
	Prepare for dbck improvement.
	* src/server/local-to-global.c (l2g_expensive_set): New function,
	not yet completely implemented.
	* src/server/local-to-global.h (l2g_expensive_set): New function.

37
38
39
40
41
42
	Always install the distributed aux-items.conf.
	* run-support/Makefile.am (sysconf_DATA): Added aux-items.conf.
	(EXTRA_DIST): Removed aux-items.conf.
	(install-data-local): Don't install aux-items.conf here.
	* README: Warn that aux-items.conf is always installed.

43
44
45
46
47
48
49
1999-08-18  Per Cederqvist  <ceder@cendio.se>

	Added aux-item "recommended-conf".
	* doc/Protocol-A.texi (Predefined Aux-Item Types): The last space
	and descriptive text in a cross-reference are optional.  Added
	recommended-conf.

50
51
52
53
54
1999-07-25  Kent Engström  <kent@lysator.liu.se>

	Fixed inconsistent format for aux-item mx-date.
	* run-support/aux-items.conf: change the validation of
	aux-item mx-date to the format specified in Protocol-A.texi.
55
	* src/server/testsuite/leaks.0/lots-aux-items.conf: Ditto.
56

57
58
59
60
61
62
63
	Experience from writing a mail importer.
	* doc/Protocol-A.texi: made definition of address aux-items
	clearer (after a discussion in LysLysKOM), rewrote a lot of
	the text on mail import.

	Miscellaneous documentation fixes.
	* doc/Protocol-A.texi (get-map): this request is indeed
64
	obsolete as of version 10 of Protocol A.
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
1999-07-25  Per Cederqvist  <ceder@lysator.liu.se>

	* Release 2.0.3.

	* NEWS: Document version 2.0.3.
	* configure.in: Set version number to 2.0.3.
	* versions (SERVER-VERSION): 2.0.3.
	(SERVER-COMPAT-VERSION): 20003.

	Looking up the empty name still caused a core dump.
	* src/server/simple-cache.c (cached_lookup_name): Leaving
	uninitialized data in the result is almost as bad as following the
	NULL pointer.  The result may contain fewer than no_of_match_info
	entries -- and now the code attempts to handle it properly.
	* src/server/testsuite/lyskomd.0/03.exp: Test for name lookup of
	the empty string when a conference has been deleted.
	* src/server/testsuite/config/unix.exp (lyskomd_start): Arrange to
	always test for eof from lyskomd in expect_after, and fail if it
	is detected.

	Added missing newlines in restart_kom format strings.
	* src/server/conference.c (lookup_z_name): Added a missing newline
	in a restart_kom format string.
	(do_create_conf): Likewise.

Per Cederqvist's avatar
Per Cederqvist committed
91
92
1999-07-24  Per Cederqvist  <ceder@lysator.liu.se>

93
94
	Implemented splitkomdb.  This is highly experimental and not yet
	documented.
Per Cederqvist's avatar
Per Cederqvist committed
95
96
97
98
99
100
101
102
	* src/server/splitkomdb.c: New file.
	* src/server/Makefile.am (bin_PROGRAMS): Added splitkomdb.
	(splitkomdb_SOURCES): New variable.
	* src/server/param.h (struct kom_par): Added backup_dir.
	* src/server/server-config.c (parameters): Added "Backup export
	directory".
	(read_configuration): Handle param.backup_dir.

103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
1999-07-23  Per Cederqvist  <ceder@lysator.liu.se>

	* Release 2.0.2.

	* NEWS: Document version 2.0.2.
	* configure.in: Set version number to 2.0.2.
	* versions (SERVER-VERSION): 2.0.2.
	(SERVER-COMPAT-VERSION): 20002.

	* doc/Protocol-A.texi: This is revision 10.2.
	(Document Revision History): This is revision 10.2.

	Looking up the empty name caused a core dump.
	* src/server/simple-cache.c (cached_lookup_name): Don't follow the
	NULL pointer.
	* src/server/conference.c (match_table): Don't declare it here.

1999-07-20  Per Cederqvist  <ceder@lysator.liu.se>

	* doc/Protocol-A.texi (Predefined Aux-Item Types): Typo fixed --
	there is nothing called mx-o.

1999-07-14  Kent Engström  <kent@lysator.liu.se>
Kent Engström's avatar
Kent Engström committed
126
127
128
129
130
131
132
133

	Documentation fixes.
	* doc/Protocol-A.texi (Protocol Requests): set-info sets server
	information.
	(set-last-read): last-read is a Local-Text-No.
	(set-info): Info-Old is returned by get-info-old.
	(async-logout): Not called async-async-logout.

Kent Engström's avatar
Kent Engström committed
134
135
136
1999-07-13  Kent Engström  <kent@lysator.liu.se>

	Documentation fixes.
Kent Engström's avatar
Kent Engström committed
137
	* doc/Protocol-A.texi: Corrected spelling errors, etc.
Kent Engström's avatar
Kent Engström committed
138
139
140
	(Conference Type): reserved1 is now called forbid-secret.
	(lookup-z-name): use correct call in examples.

141
1999-07-12  Per Cederqvist  <ceder@lysator.liu.se>
142

143
	* Release 2.0.1.
144
145
146
147
148
149
150
151
152
153
154
155
156
157
	
	* doc/Protocol-A.texi (Document Revision History): Release date
	set to 1999-07-12.

	The performance fix of 1999-07-06 introduced an extra newline in
	the files.  Fix.
	* src/server/simple-cache.c (copy_file): Don't emit duplicate
	newlines.

	Remove false warnings.
	* src/server/membership.c (access_perm): Fixed the logic error
	that caused several false warnings to be logged.

1999-07-11  Per Cederqvist  <ceder@lysator.liu.se>
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182

	Fix the documentation of add-recipient, async-new-recipient and
	async-sub-recipient.
	* doc/Protocol-A.texi (Simple Data Types): ENUMERATIONs can be
	inherited from SELECTIONS.
	(LysKOM Data Types): Define Info-Type.
	(add-recipient): The recpt-type argument is an Info-Type, not a
	complete Misc-Info.
	(async-new-recipient): The type argument is an Info-Type, not a
	complete Misc-Info.
	(async-sub-recipient): Likewise.
	(Document Revision History): Mention Info-Type.

	Don't overwrite installations that have lyskomd-backup but no
	lyskomd-data.
	* db-crypt/db/Makefile.am (install-data-local): Don't install the
	database if lyskomd-backup exists.  Don't install it if any of the
	databases exist.

	Fixed a database error that caused damage to conferences.
	* src/server/simple-cache.c (save_one_conf): Fixed a serious bug
	introduced 1997-10-23 when the (as yet unused) FASTSAVE code was
	written.  Changes made to conferences could in some cases be
	forgotten.

Per Cederqvist's avatar
Per Cederqvist committed
183
184
185
186
187
	Fixed a harmless Y2k bug.
	* src/server/log.c (kom_logv): Log the year 2000 as "00", not
	"100".
	(kom_log): (non-HAVE_VPRINTF version) Likewise.

188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
	Release preparations.
	* NEWS: Added an entry for the 2.0.1 release.
	* versions (SERVER-VERSION): 2.0.1.
	(SERVER-COMPAT-VERSION): 20001.
	* configure.in: Set version number to 2.0.1.
	* README: Recommend running dbck when upgrading from 2.0.0.

	Regexps are always case sensitive.
	* doc/Protocol-A.texi: This is revision 10.1 of the specification.
	(Overview): Protocol versions never have a suffix.
	(Document Revision History): Wrote entry for 10.1.
	(Name Expansion): Regexps are case sensitive.
	(re-lookup-person): Tempus changed.
	(re-lookup-conf): Tempus changed.
	(re-z-lookup): Regexps are case sensitive.
	* src/server/param.h (struct kom_par): Removed the
	regex_use_collate_table field.
	* src/server/regex-match.c (lookup_regexp): Never use a translate
	table.
	* src/server/server-config.c (parameters): Removed "Regexps use
	collate table".
	* doc/lyskomd.texi (Parameters): Removed "Regexps use collate
	table".
211
212
213
	* src/server/testsuite/lyskomd.0/03.exp: Don't use "Regexps use
	collate table".
	* src/server/testsuite/lyskomd.0/regexp-match-cov.exp: LIkewise.
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234

	Fixed a minor bug that currently had no effects.
	* src/server/person.c (create_person_generic): Added a missing
	call to mark_conference_as_changed.

	Fixed a buffer overrun.
	* src/server/aux-items.c (aux_item_trigger_mirror_faq): Fixed a
	buffer overflow.
	* src/server/testsuite/lyskomd.0/14.exp: Added a few FAQ aux-item
	tests.

	Code cleanup.
	* src/server/aux-item-def-parse.y (aux_item_def_check_trigger):
	Added static qualifier.
	(aux_item_def_check_validate): Likewise.
	* src/include/kom-types.h (Object_type): Removed the almost unused
	type PERS_OBJECT_TYPE.
	* src/server/aux-items.c (find_linked_aux_item_list): Don't test
	for the non-used PERS_OBJECT_TYPE object type.
	(mark_linked_object_as_changed): Likewise.

235
1999-07-08  Per Cederqvist  <ceder@lysator.liu.se>
236
237
238
239

	Allow the author of a text to change the recipient type.
	* src/server/text.c (add_recipient): Allow the text author to
	change the recipient type.
240
241
242
	* src/server/testsuite/lyskomd.0/14.exp: New file.
	* src/server/testsuite/Makefile.am (EXTRA_DIST): Added
	lyskomd.0/14.exp.
243

Kent Engström's avatar
Kent Engström committed
244
245
246
247
248
249
250
251
1999-07-07  Kent Engström  <kent@artemis.hack.org>

	Documentation fixes.	
	* doc/Protocol-A.texi: corrected some spelling errors;
	changed cross-references so that new versions of makeinfo
	will stop complaining; added forbid-secret to the list of
	conference flags above the table.

252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
1999-07-06  Per Cederqvist  <ceder@gratia>

	Remove a few performance problems.
	* src/server/membership.c (access_perm_helper): New argument:
 	wanted_access.  All callers updated.  Avoid calling is_supervisor
 	or is_member if not needed.
	(get_unread_confs): Minor performance improvement: there is no
 	need to call access_perm if pers_no is the logged-in person.
	* src/server/simple-cache.c (copy_file): Use a static buffer
	instead of allocating and releasing a buffer each time this
	function is called.

	Remove dead code.
	* src/server/manipulate.h (IMPL): Unused macro removed.
	* src/server/dbck-cache.c (IMPL): Unused macro removed.
	* src/server/ram-parse.c (fparse_conference_2): Remove dead code
 	that depends on the long-obsolete DISKERR symbol.
	(fparse_conference_0): Likewise.
	(fparse_person_0): Likewise.
	(fparse_person_2): Likewise.
	(fparse_text_stat_2): Likewise.
	(fparse_text_stat_0): Likewise.

275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
1999-07-05  Per Cederqvist  <ceder@gratia>

	Speed up access_perm, is_supervisor and is_strictly_supervisor by
	adding a supervisor field to Small_conf, and using it instead of a
	call to GET_C_STAT.  Remove the Conference argument to the above
	three functions and update all callers.  A few stray calls to
	GET_C_STAT were eliminated in the process.
	* src/include/kom-types.h (Small_conf): Added a supervisor field.
	* src/server/cache.h (cached_get_conf_supervisor): New function.
	* src/server/simple-cache.c (cached_get_conf_supervisor): New
	function.
	(mark_conference_as_changed): Copy the supervisor to the entry in
	small_conf_arr.
	(init_small_conf): Set supervisor.
	(setup_small_conf): Set supervisor.
	* src/server/manipulate.h (access_perm): Removed the victim_c
	argument.
	(is_supervisor): Removed the conf_c argument.
	(is_strictly_supervisor): Removed the conf_c argument.
	* src/server/membership.c (access_perm_helper): New name for
 	former plain_ol_access_perm.  Get rid of call to GET_C_STAT by
 	calling cached_get_conf_type instead.  Removed the victim_c
 	argument from all calls to is_supervisor.
	(plain_ol_fast_access_perm): Removed.
	(access_perm): Removed the victim_c argument.
	(copy_public_confs): Removed the victim_c argument from all calls
 	to is_supervisor.  Removed the victim_c argument from all calls to
 	access_perm.
	(sub_member): Likewise.
	(do_get_members): Likewise.
	(get_unread_confs): Likewise.
	(add_member_common): Likewise, and get rid of a call to GET_C_STAT.
	(do_get_membership): Likewise, and get rid of a call to GET_C_STAT.
	(set_membership_type): Likewise, and get rid of a call to GET_P_STAT.
	* src/server/conference.c (do_create_conf): Call
 	mark_conf_as_changed before checking that ACTPERS is allowed to
 	create aux-items in the conference he is creating.
	(is_supervisor): Removed the conf_c argument.
	(is_strictly_supervisor): Removed the conf_c argument.  Use
 	cached_conf_exists and cached_get_conf_supervisor and eliminate
 	one expensive call to GET_C_STAT.
	(change_name): Removed the victim_c argument from all calls to
 	access_perm.
	(delete_conf): Likewise.
	(lookup_name): Likewise.
	(lookup_z_name): Likewise.
	(do_lookup): Likewise.
	(get_conf_stat_old): Likewise.
	(get_uconf_stat): Likewise.
	(get_conf_stat_older): Likewise.
	(set_presentation): Likewise.
	(set_etc_motd): Likewise.
	(set_conf_type): Likewise.
	(set_garb_nice): Likewise.
	(set_expire): Likewise.
	(set_keep_commented): Likewise.
	(modify_conf_info): Likewise.
	(set_supervisor): Removed the conf_c argument from all calls to
 	is_strictly_supervisor and is_supervisor.
	(set_permitted_submitters): Likewise.
	(set_super_conf): Likewise.
	* src/server/admin.c (send_message): Removed the victim_c
 	argument from all calls to access_perm.
	* src/server/person.c (get_person_stat): Removed the victim_c
 	argument from all calls to access_perm.  Eliminate one call to
 	GET_C_STAT.
	(get_person_stat_old): Likewise.
	(get_created_texts): Removed the victim_c argument from all calls
 	to access_perm.
	(map_created_texts): Likewise.
	(do_query_read_texts): Likewise.
	(set_user_area): Likewise.
	(set_pers_flags): Likewise.
	(set_passwd): Removed the victim_c argument from all calls to
 	is_supervisor.
	* src/server/regex-match.c (lookup_regexp): Removed the victim_c
 	argument from all calls to access_perm.
	* src/server/send-async.c (async_new_name): Removed the victim_c
 	argument from all calls to access_perm.
	* src/server/text.c (submit_to): Removed the victim_c argument
 	from all calls to access_perm and is_supervisor.
	(send_async_sub_recipient): Likewise.
	(recp_sent_by): Likewise.
	(filter_secret_info): Likewise.
	(person_text_read_access): Likewise.
	(delete_text): Likewise.
	(send_async_add_recipient): Likewise.
	(add_recipient): Likewise.
	(sub_recipient): Likewise.
	(sub_comment): Likewise.
	(sub_footnote): Likewise.
	(get_map): Likewise.
	(local_to_global): Likewise.
	* src/server/aux-items.c (aux_item_add_perm): Removed the conf_c
 	argument from all calls to is_strictly_supervisor and is_supervisor.
	(filter_aux_item_list): Likewise.
	(check_delete_aux_item_list): Likewise.
	* src/server/session.c (login_old): Removed the conf_c argument
	from all calls to is_supervisor.
	(login): Likewise.
	(disconnect): Likewise.

377
378
379
380
381
382
1999-07-03  David Byers  <davby@ida.liu.se>

	* src/server/handle-malloc-dump.el (trace-run-programs): Fixed
	timing problems that caused lyskomd to run before gdb was prepared 
	for it.

383
384
385
386
387
388
389
390
391
392
393
394
1999-07-04  Per Cederqvist  <ceder@gratia>

	Prepare for improving access_perm().
	* src/server/membership.c (plain_ol_fast_access_perm): Assert that
	viewer_conn is never NULL.
	(access_perm): Log a warning if called with an unexpected
	wanted_access argument.

	New convenience check targets.
	* src/server/Makefile.am (check-lyskomd): New target.
	(check-leaks): New target.

395
396
397
398
399
400
401
402
403
1999-07-02  David Byers  <davby@ida.liu.se>

	Automatic operation of memory trace analysis:
	* src/server/ram-smalloc.c: Mention automatic analysis. Update the 
	description on how to do it manually (MEMTRACE=file, ATTACH=yes)

	* src/server/handle-malloc-dump.el: Added automatic operation in
	batch mode. Just run -batch and watch the magic happen.

David Byers's avatar
Server:    
David Byers committed
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
446
447
448
449
450
451
452
453
454
1999-07-02  David Byers  <davby@ida.liu.se>

	Some test cases for name lookup:
	* src/server/testsuite/Makefile.am (EXTRA_DIST): Added 12 and
	13.exp.

	* src/server/testsuite/lyskomd.0/13.exp: New file. Some name
	lookup tests.

	* src/server/testsuite/lyskomd.0/11.exp: Do the right thing when
	traced allocations are on.

1999-07-01  David Byers  <davby@ida.liu.se>

	* src/server/dbck.c (main): Stole code from test-l2g.c for when
	traced allocations are on.

	Eliminate the need to call build_matching_info all the time:
	* src/server/simple-cache.c (rebuild_matching_info_entry): New
	function to rebuild a single entry in the matching info table.
	(find_matching_info_index): New function.
	(cached_change_name): Use rebuild_matching_info_entry insead of
	build_matching_info.

	* src/libraries/libcommon/parser.c (parse): Loop until we see a
	zero conf-no instead of an empty name. Just skip empty names.

	* src/server/cache.h (cached_no_of_existing_conferences): Removed
	extern declaration of build_matching_info.

	Eliminate conf_table:
	* src/libraries/libcommon/parser.c: Include kom-types.h so we can
	include parser.h.
	
	* src/server/conference.c: Removed extern declaration of
	conf_table. Added extern declaration of match_table.
	(unique_name): Use match_table, not conf_table.

	* src/server/simple-cache.c: (conf_table): Removed.
	(build_matching_info): Removed conf_table.
	(cached_lookup_name): Use match_table instead of conf_table.
	(free_all_cache): Removed conf_table.

	* src/libraries/libcommon/parser.h (Matching_info): Added conf_no
	field.

1999-06-29  David Byers  <davby@ida.liu.se>

	* doc/Protocol-A.texi (sub-comment): Changed sub-comment from
	obsolete to recommended.

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
1999-07-01  Per Cederqvist  <ceder@lysator.liu.se>

	Added the ``wanted_access'' argument to access_perm(), removed
	fast_access_perm(), and updated all callers.
	* src/server/manipulate.h (access_perm): New parameter:
	wanted_access.  Never return anything higher than it.  All callers
	updated.
	(fast_access_perm): Removed.  All callers changed to use
	access_perm instead.
	* src/server/membership.c: Pass the new argument wanted_access to
	access_perm().  Use access_perm() instead of fast_access_perm().
	(access_perm): Proof-of-concept implementation using
	plain_ol_access_perm and plain_ol_fast_access_perm.  This needs
	lots of clever speedups.
	* src/server/admin.c: Pass the new argument wanted_access to
	access_perm().  Use access_perm() instead of fast_access_perm().
	* src/server/conference.c: Likewise.
	* src/server/person.c: Likewise.
	* src/server/regex-match.c: Likewise.
	* src/server/send-async.c: Likewise.
	* src/server/text.c: Likewise.

	Turn of async messages during shutdown.
	* src/server/ramkomd.c (main): Turn of async messages during
	shutdown.
	* src/server/testsuite/lyskomd.0/00.exp: Dont expect any async
	messages during server shutdown.
	* src/server/testsuite/lyskomd.0/02.exp: Likewise.
	* src/server/testsuite/lyskomd.0/03.exp: Likewise.
	* src/server/testsuite/lyskomd.0/08.exp: Likewise.

Per Cederqvist's avatar
Per Cederqvist committed
486
487
1999-06-30  Per Cederqvist  <ceder@lysator.liu.se>

488
489
	* README: Talk a little about the config file.

Per Cederqvist's avatar
Per Cederqvist committed
490
491
492
	Broken typo fix fixed.
	* NEWS: Changed "the near feature" to "a future release".

493
494
495
496
497
498
499
500
501
502
503
504
1999-06-28  Per Cederqvist  <ceder@lysator.liu.se>

	Fixed a bug that causes created_texts to contain some deleted
	texts.
	* src/server/text.c (do_delete_text): Don't forget to call
	mark_person_as_changed -- the authors' list of created texts must
	be updated.
	* src/server/testsuite/lyskomd.0/12.exp: Detect the above bug.
	* src/server/testsuite/config/unix.exp (dbck_run): New proc.
	(lyskomd_death): Call dbck_run to check the database after each
	shutdown.

505
1999-06-27  Per Cederqvist  <ceder@lysator.liu.se>
Per Cederqvist's avatar
Per Cederqvist committed
506
507
508

	* Release 2.0.0.

509
510
511
512
513
514
	Port to places such as AIX 4.2 where char is an unsigned type.
	* src/server/dbck.c (main): Use an int to store the return value
	from getopt_long.
	* src/server/dbck-cache.c (init_cache): Use an int to store the
	return value from getc.

515
	Port the test suite to OSF 3.0.
Per Cederqvist's avatar
Per Cederqvist committed
516
517
	* src/server/testsuite/config/unix.exp (stty_init): Quote the ^
	character. Some shells interpret it as a pipe.
518
519
520
	* README: Mention that Python is needed by the test suite.

	Specify more of the behavior of get-unread-confs.
521
522
523
	* doc/Protocol-A.texi (get-unread-confs): Specify the order of the
	returned conference numbers.

524
525
1999-06-26  Per Cederqvist  <ceder@lysator.liu.se>

526
527
528
529
530
531
532
533
534
535
536
537
538
	Port the makefiles and test suite to FreeBSD.
	* src/server/testsuite/Makefile.am (RM): Set it.
	* src/server/Makefile.am (RM): Set it.
	* doc/Makefile.am (RM): Set it.
	* src/server/testsuite/config/unix.exp (unanchored_expect): Don't
	leave an unparsed space behind when an unexpected output appears
	before a prompt.
	* src/server/testsuite/lyskomd.0/01.exp: Don't be confused about
	the newline emitted in the collate table.
	* src/server/testsuite/lyskomd.0/03.exp: Likewise.
	* src/server/testsuite/config/unix.exp (stty_init): Remove
	"-ocrnl" which isn't portable to FreeBSD.

Per Cederqvist's avatar
Per Cederqvist committed
539
540
541
542
	Port the test suite to HP/UX.
	* src/server/testsuite/config/unix.exp (stty_init): Add "-isig
	erase ^- kill ^- werase ^-".

543
544
545
546
547
548
549
	Port the test suite to non-gcc compilers.
	* src/server/testsuite/test-l2g.c (MAXMAPS): Use #define instead
	of "const int" so that the symbol can portably be used as an array
	size.
	(LINSIZE): Likewise.
	(ARGS): Likewise.

Per Cederqvist's avatar
Per Cederqvist committed
550
551
1999-06-26  David Byers  <davby@ida.liu.se>

552
553
554
	* src/include/kom-types.h (Membership_type): Changed all fields
	from Bool to unsigned int.

Per Cederqvist's avatar
Per Cederqvist committed
555
556
557
558
	* src/server/aux-items.c: Removed support for precompiled aux
	items.  It was not currently used, and caused compilation errors
	under HP/UX.

559
560
1999-06-26  Per Cederqvist  <ceder@lysator.liu.se>

561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
	Fix coding error.
	* src/server/aux-items.c (aux_item_add_perm): Don't use
	find_aux_item_definition to set def if def is already set.

	Remove lint found by HP/UX c89.
	* src/server/ram-parse.c (fparse_aux_item_link): Missing
	semicolon added.
	* src/server/ram-output.c (foutput_aux_item_link): Missing
	semicolon added.
	(foutput_mark_list): Declare the function static in all
	declarations, not only some.
	* src/server/aux-items.h (aux_item_validators): This is static,
	so remove it form the header file.
	(aux_item_triggers): Likewise.
	* src/server/aux-items.c (mark_linked_object_as_changed): Missing
	semicolon added.
Per Cederqvist's avatar
Per Cederqvist committed
577
578
579
580
581
582
	* src/server/session.c (create_oldstyle_username): Remove needless
	casts.
	(login_old): Likewise.
	(login): Likewise.
	* HACKING: We use bison 1.27.  1.25 had problems with alloca under
	HP/UX.
583

David Byers's avatar
David Byers committed
584
585
586
587
588
589
590
591
592
593
594
595
596
1999-06-26  David Byers  <davby@ida.liu.se>

	Send new-membership only for new memberships.
	* doc/Protocol-A.texi (async-new-membership): Remove
	documentation that says this message is sent when a membership is
	reprioritized.

	* src/server/testsuite/lyskomd.0/06.exp (shutdown_06): Don't
	expect new-membership when membership is changed.

	* src/server/membership.c (add_member_common): Only send
	new-membership for new memberships, not changed memberships.

597
598
1999-06-25  Per Cederqvist  <ceder@lysator.liu.se>

599
600
601
602
603
604
605
606
607
608
609
610
611
612
	"make check" failed if the source tree was read-only.
	* src/server/testsuite/config/unix.exp (lyskomd_start): Use chmod
	to make sure that the database is writable even if it is copied
	from a read-only tree.

	"make -j install" could fail.
	* run-support/Makefile.am (install-data-local): Depend on installdirs.
	* db-crypt/db/Makefile.am (install-data-local): Depend on installdirs.

	Port to SunOS 4.1.1.
	* src/server/aux-item-def-scan.l: Include <sys/types.h>.
	* configure.in: Check for sig_atomic_t.
	* acconfig.h: Added sig_atomic_t.

Per Cederqvist's avatar
Per Cederqvist committed
613
614
615
616
	Release administrativa.
	* scripts/lyskomd-copyrights: Don't attempt to update copyright
	notices in TeX temporary files.

617
618
619
620
621
622
623
624
625
626
	Documentation fixes.
	* TODO: No showstoppers left.
	* NEWS: Several minor modifications.
	* README: Spelling errors fixed.
	* doc/Protocol-A.texi (mark-text-old): Spelling error fixed.
	(get-text-stat-old): Talk about bcc-recpt.
	(Protocol Requests): Warn that obsolete calls perform
	compatibility magic.  Include the number of the protocol request
	in the printed heading of the corresponding section.
	(set-pers-flags): Fix sectioning error.
Per Cederqvist's avatar
Per Cederqvist committed
627
628
	(get-unread-confs): Clarify that passive memberships are never
	returned.
629
630
631
632
633

	Performance fix.
	* src/server/internal-connections.c: Turn off defensive checks in
	this file.  They cost too much CPU.

634
635
636
637
638
639
640
641
642
643
644
	Release administrativa.
	* doc/Protocol-A.texi (Document Revision History): Update the
	release date for revision 10.0.
	* NEWS: Sort the news.

	The test suite failed when compiled outside the source directory.
	* src/server/testsuite/leaks.0/leaks10.exp: startup_leaks wants a
	relative path to the aux-items.conf file.
	* src/server/testsuite/leaks.0/leaks99.exp: Likewise.

1999-06-24  Per Cederqvist  <ceder@lysator.liu.se>
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669

	Fix messages created by dbck.
	* src/server/dbck.c (garb_text_file): Don't log the message
	"Ready."; the caller also logs it.

	Add trailing newline in format string to kom_log in the following
	functions:
	* src/server/regex-match.c (lookup_regexp):
	* src/server/ramkomd.c (sighandler_usr2):
	* src/server/prot-a-parse.c (prot_a_parse_num_list):
	(prot_a_parse_string):
	(prot_a_parse_aux_item_list):
	(prot_a_parse_misc_info_list):
	* src/server/person.c (do_unmark_text):
	(create_person_generic):
	* src/server/membership.c (mark_as_read):
	(set_membership_type):
	* src/server/dbck.c (main):
	* src/server/dbck-cache.c (cached_flush_text):
	* src/server/connections.c (call_function):
	(toploop):
	* src/server/conference.c (do_create_conf):
	* src/server/aux-items.c (find_linked_aux_item_list):
	(aux_item_validate):

670
671
672
673
674
1999-06-24  David Byers  <davby@ida.liu.se>

	* src/server/aux-items.c (aux_item_validate): Do not print the
	regexp that failed to compile since it is gone by this time.

675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
1999-06-23  Per Cederqvist  <ceder@lysator.liu.se>

	The default language is now selectable at configure time.
	* README: Mention --with-language=sv.
	* configure.in: Handle --with-language=sv.
	* db-crypt/db/Makefile.am (LANGUAGE_SUFFIX): New variable.
	(EXTRA_DIST): Added lyskomd-data-en.
	(install-data-local): Install lyskomd-data-en or lyskomd-data,
	depending on LANGUAGE_SUFFIX.
	* db-crypt/db/lyskomd-data-en: New file.

	Remove the unused file tmp-limits.h.
	* src/server/Makefile.am (lyskomd_SOURCES): Removed tmp-limits.h.
	* src/server/tmp-limits.h: Unused file removed.

	* NEWS: More items added.  This should now be fairly complete, but
	it may need restructuring.
	
693
694
695
696
697
1999-06-23  David Byers  <davby@ida.liu.se>

	* src/server/dbck.c (init_person_scratch): Initialize person
	scratchpad entries to NULL.

698
699
1999-06-21  Per Cederqvist  <ceder@lysator.liu.se>

Per Cederqvist's avatar
Per Cederqvist committed
700
701
702
703
	Fix the test suite.
	* src/server/testsuite/lyskomd.0/11.exp: Updated to match the log
	messages currently sent by lockdb.c.

704
705
706
707
	Don't send too many async-logout messages.
	* src/server/connections.c (logout_client): Back out the change
	made 1999-01-16; no longer send async-logout if the session is not
	logged in.
Per Cederqvist's avatar
Per Cederqvist committed
708
709
	* src/server/testsuite/lyskomd.0/07.exp: Don't expect async-logout
	when sessions are disconnected.
710
711
712
	* doc/Protocol-A.texi (async-logout): This message is not
	necessarily sent when a session disconnects and nobody is logged
	in.
713

714
715
716
717
718
719
720
721
722
723
1999-06-20  Per Cederqvist  <ceder@lysator.liu.se>

	Release fixes.
	* HACKING: Added a missing call to ./configure.
	* NEWS: Updated the release date.

	Improve log messages regarding database locking.
	* src/server/lockdb.c (lock_db): Clarify log messages.
	* src/server/ramkomd.c (initialize): Write an "exiting" message
	when the lock cannot be obtained.
724

725
726
727
728
729
730
731
	Fix parameters "Jubel" and "Ident-authentication".
	* src/server/server-config.c (parameters): Removed duplicate
	"Ident-authentication".
	* src/server/standalone.c (register_jubel): Don't call abort --
	this gets called from dbck if the config file contains a Jubel.

1999-06-19  Per Cederqvist  <ceder@lysator.liu.se>
732
733
734
735
736
737
738
739
740
741
742

	Save 5 items (configurable) per call.
	* src/server/param.h (struct kom_par): Added saved_items_per_call.
	* src/server/disk-end-of-atomic.c (end_of_atomic): Handle
	param.saved_items_per_call.
	* doc/lyskomd.texi (Parameters): Documented "Saved items per call".
	* src/server/server-config.c (parameters): Added "Saved items per
	call".
	(read_configuration): Check that param.saved_items_per_call is at
	least 1.

743
744
745
746
747
748
1999-06-14  Per Cederqvist  <ceder@cendio.se>

	Track name change of 556450-2507.
	* doc/lyskomd.texi (Overview): Signum Support has a new name:
	Cendio Systems.

749
750
751
752
753
754
755
756
757
758
759
760
761
762
1999-06-13  Per Cederqvist  <ceder@lysator.liu.se>

	Allow at most 128 aux_items of at most 16384 bytes each to be
	added at a single time.
	* src/server/server-config.c (parameters): Added "Max aux_item
	length".  Changed default of "Max aux_items added per call" to
	128.
	* src/server/prot-a-parse.c (prot_a_parse_aux_item): Use
	param.aux_len instead fo param.text_len as the limit for the
	aux-item size.
	* src/server/param.h (struct kom_par): Added aux_len.
	* doc/lyskomd.texi (Parameters): Document "Max aux_items added per
	call".  Lowered the default from "Max aux_items added per call".

David Byers's avatar
Server:    
David Byers committed
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
1999-06-13  David Byers  <davby@ida.liu.se>

	* src/server/testsuite/lyskomd.0/03.exp: Fix test cases for change 
	in aux_item_link_items below.

	* src/server/testsuite/lyskomd.0/aux-items-cov.exp: Fix test cases 
	for change in aux_item_link_items below.

	* src/server/aux-items.c (aux_item_link_items): Creator of linked
	aux item is now the creator of the source item. This gives the
	creator of the source item power over the linked item.

1999-06-11  David Byers  <davby@ida.liu.se>

	* src/server/aux-items.c: Cleared up comment for
	undelete_aux_item_list.

1999-06-05  David Byers  <davby@ida.liu.se>

	* src/server/text-garb.c: Always include setjmp.h
	
784
785
1999-06-05  Per Cederqvist  <ceder@lysator.liu.se>

Per Cederqvist's avatar
Per Cederqvist committed
786
787
788
789
790
791
792
793
794
795
796
797
798
	Test lock files.
	* src/server/testsuite/lyskomd.0/11.exp: New file.
	* src/server/testsuite/Makefile.am (EXTRA_DIST): Added
	lyskomd.0/11.exp.
	* src/server/Makefile.am (all-recursive check-recursive): Depend
	on dbck.
	* src/server/lockdb.c (lock_db): Log a message when a stale lock
	is removed.
	* src/server/dbck.c (main): Don't die until a character
	has been read if -d is used.
	* src/server/ramkomd.c (initialize): Don't die until a character
	has been read if -d is used.

799
800
801
802
803
804
805
806
807
	text-garb.c failed to compile unless --with-debug-calls was used.
	* src/server/text-garb.c: Always include <setjmp.h>, since it is
	needed by connections.h.

	strdup() is no longer used, so a replacement function is not
	needed.
	* configure.in: Commented out AC_REPLACE_FUNCS(strdup).
	* src/libraries/libansi/Makefile.am (EXTRA_DIST): Added strdup.c.

David Byers's avatar
Server    
David Byers committed
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
1999-06-05  David Byers  <davby@ida.liu.se>

	* regexp-match-cov.exp: New test case.

	* src/server/regex-match.c (lookup_regexp): Don't use strdup to
	copy the collate table.

	* src/server/text.c (modify_text_info): Check for read access on
	text. 

	* src/server/conference.c (modify_conf_info): Check for secret
	confs.

1999-05-31  David Byers  <davby@ida.liu.se>

	* src/server/text.c (add_comment): Moved access checks to avoid
	leaking information. 
	(add_footnote): Same here.

	* src/server/membership.c (set_membership_type): Move permission
	checks to avoid leaking information.

	* doc/lyskomd.texi (Adding a New Protocol Request): Added notes on 
	CHK_CONNECTION, CHK_LOGIN and how to avoid leaking secret
	information.

	* src/server/text.c (add_recipient): Moved GET_X_STAT and
	permission checks around to avoid leaking secret information.

	* src/server/text-garb.c (start_garb): Same here.

	* src/server/debug.c (get_memory_info): Call CHK_CONNECTION.
	(backdate_text): Same here.

	* src/server/aux-items.c (query_predefined_aux_items): Call
	CHK_CONNECTION.

	* src/server/admin.c (get_info_old): Call CHK_CONNECTION.
	(get_version_info): Same here.
	(set_info): Same here.
	(set_motd_of_lyskom): Same here.
	(sync_kom): Same here.

	* src/server/session.c (get_time): Call CHK_CONNECTION.
	(who_is_on_old): Same here.

	* src/server/text.c (local_to_global): Moved CHK_CONNECTION to
	very start of function.
	(get_last_text): Call CHK_CONNECTION.

	* src/server/person.c (set_priv_bits): Call CHK_CONNECTION.

	* src/server/session.c (get_client_version): Call CHK_CONNECTION.
	(get_client_name): Same here.
	(get_session_info): Same here.
	(get_session_info_ident): Same here.
	(get_static_session_info): Same here.

866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
1999-06-04  Per Cederqvist  <ceder@lysator.liu.se>

	Clean up file inclusion.  Avoid including files from .h files.
	Avoid underscores in dubious places.
	* src/server/admin.c: Don't include <stdarg.h>.
	* src/server/conf-file.c: Likewise.
	* src/server/conference.c: Likewise.
	* src/server/connections.c: Likewise.
	* src/server/dbck-cache.c: Likewise.
	* src/server/internal-connections.c: Likewise.
	* src/server/membership.c: Likewise.
	* src/server/memory.c: Likewise.
	* src/server/person.c: Likewise.
	* src/server/prot-a-parse.c: Likewise.
	* src/server/ram-output.c: Likewise.
	* src/server/ram-parse.c: Likewise.
	* src/server/ramkomd.c: Likewise.
	* src/server/regex-match.c: Likewise.
	* src/server/rfc931.c: Likewise.
	* src/server/send-async.c: Likewise.
	* src/server/server-config.c: Likewise.
	* src/server/session.c: Likewise.
	* src/server/simple-cache.c: Likewise.
	* src/server/text-garb.c: Likewise.
	* src/server/text.c: Likewise.
	* src/server/testsuite/test-l2g.c: Include "kom-types.h".
	* src/server/local-to-global.h: Don't include "kom-types.h".
	* src/server/log.h: Don't include <stdarg.h>.  Don't declare
	kom_logv.  Don't use leading underscores or double underscores in
	symbols we define.
	* src/server/log.c (kom_logv): Now static.
	* src/include/compiler.h: Don't use leading underscores or double
	underscores in symbols we define.
	* src/include/kom-errno.h: Likewise.
	* src/include/kom-types.h: Likewise.
	* src/include/misc-types.h: Likewise.
	* src/include/services.h: Likewise.

	Distribute new test suite files.
	* src/server/testsuite/Makefile.am (EXTRA_DIST): Added
	lyskomd.0/09.exp and lyskomd.0/10.exp.

	Some systems lack strdup.
	* configure.in: Added AC_REPLACE_FUNCS(strdup).
	* src/libraries/libansi/strdup.c (strdup): Replacement implementation.

Per Cederqvist's avatar
Per Cederqvist committed
912
913
914
915
916
917
1999-05-31  Per Cederqvist  <ceder@gratia>

	Fixed typo in the test suite.
	* src/server/testsuite/lyskomd.0/09.exp: Don't mix the timestamps
	for texts 5 and 6.

David Byers's avatar
Server    
David Byers committed
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
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
1999-05-31  David Byers  <davby@ida.liu.se>

	* src/server/server-config.c: Removed duplicate regexps use
	collate table.

	* src/server/manipulate.h (CHK_LOGIN): Check for NULL
	active_connection.
	(ENA): Survive a NULL active_connection.
	(HAVE_PRIV): Take a Person argument.

1999-05-30  David Byers  <davby@ida.liu.se>

	* src/server/text-garb.c (garb_text): Reset deleted_texts after
	sending the debug message.

1999-05-30  David Byers  <davby@ida.liu.se>

	* src/server/testsuite/lyskomd.0/09.exp (1015): Data sent to
	client 2 contained secret recipient. Fixed.

	* src/server/testsuite/lyskomd.0/05.exp: Fixed added_by field in
	Membership and Member

	* src/server/testsuite/lyskomd.0/03.exp: (1349,1350, 1351, 2001,
	2006): Fixed added_by field in Membership and Member
	

	* src/server/testsuite/lyskomd.0/01.exp: (1116): Fixed added_by
	field in Membership

	* src/server/regex-match.c (lookup_regexp): Copy the collate table 
	before putting it into the pattern buffer.

	* src/server/testsuite/lyskomd.0/00.exp (1038): Person 6 added
	himself to his letterbox.

	* src/server/membership.c (do_add_member): Take added_by as an
	argument.
	(add_member_common): Call do_add_member with explicit added_by.

	* src/server/person.c (create_person_generic): The person adding
	the mailbox membership is the same as the creator of the person.

	Fixed problems related to permission checking
	* src/server/membership.c (fast_access_perm): Take a connection
	argument instead of a person and pers_stat combo.
	(access_perm): Same here.
	(copy_public_confs): Same here.

	* src/server/text.c (ok_to_create_next_text): Same here.

	* src/server/regex-match.c (lookup_regexp): Test for
	param.regex_use_collate_table was inverted.
	(lookup_regexp): Added connection argument.

	* src/server/text.c (filter_secret_info): Take a connection
	argument instead of viewer and viewer_p
	(send_async_deleted_text): Call filter_secret_info with connection 
	argument.
	(get_text_stat_old): Same here.
	(get_text_stat): Same here.
	(send_async_new_text_old): Same here.
	(send_async_new_text): Same here.
	(person_text_read_access): Check that active_connection is set
	before attempting to use it.
	(text_read_access): Take a connection as an argument.

	* src/server/conference.c (get_conf_stat): Call
 	filter_aux_item_list with active_connection instead of ACTPERS and
 	ACT_P.

	* src/server/admin.c (get_info): Call filter_aux_item_list with
	active_connection instead of ACTPERS and ACT_P.

	* src/server/session.c (leave_conf): New parameter for connection
	to remove dependency on active_connection.

	* src/server/internal-connections.c (get_conn_by_number):
 	Defensive check on active_connection. Restart server if
 	active_connection is unset and no session number is specified
 	since callers of this function expect to get something sensible
 	out of it.

For faster browsing, not all history is shown. View entire blame