ChangeLog 218 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
2001-04-16  Per Cederqvist  <ceder@moria>

	Fix comments.
	* src/server/async.h: Don't refer to removed files.
	* src/include/kom-types.h: Likewise.

	* HACKING: There are version numbers in Protocol-A.texi as well.

	Prepare Protocol-A.texi for web publication.  Add and check
	domain-specific markup.
	* doc/Makefile.am (.texi.notab): Check that no lines are more than
	79 characters long.
	(update-www): New target.  This is work in progress and does not
	yet work.
	(Protocol-A.pdf): New target.
	(check): Depend on check-doc.
	(check-doc): New target.  This is work in progress, but it already
	performs several useful sanity checks on Protocol-A.texi.
	* doc/.cvsignore: Ignore *.tmp, Protocol-A.pdf, protocol-a.html,
	and stamp-vti1.
	* doc/constructs.expected: New file, that enumerates the expected
	@-constructs in Protocol-A.texi.
	* doc/Protocol-A.texi (PROTOEDITION, PROTOVER, VERSION): New
	constants.  Use them throughout the document instead of 10.3, 10
	and 1.0.4.  Bump PROTOEDITION to 10.4.  Added an explicit
	permission to process the texi file with TeX.  Ensure that all
	permission notices are equal.  Print all version information on
	the title page.  Moved the contents to the front of the document,
	and avoid printing them in the html document.  Add HTML links to
	Lysator and LysKOM before the first node.
	(Top): Enclose this node in @ifnottext instead of @ifinfo.  Refer
	to the web site.
	(Overview): Include all version numbers and the canonical URL for
	the protocol specification here as well, but only @iftex.
	(Document Edition History): New name for former node "Document
	Revision History".  Use the term "edition" throughout the
	document.  Added a not for edition 10.4.
	(Predefined Aux-Item Types, create-anonymous-text-old)
	(create-anonymous-text, modify-system-info): Get rid of overfull
	hbox messages from TeX.
	(Type Index, Request Index): Use @unnumbered instead of @chapter.
	(all call nodes): Replaced "@unnumberedsubsec Error codes" with
	"@subheading Error codes" so that they are not included in the
	table of contents, and so that the PDF menus work better.
	(Overview, Document Edition History): TeX lint.
	(@req, @aux, @async, @type, @priv, @conftype, @misc, @rarg, @aarg)
	(@errorcode, @field): New Texinfo macros.  Use them where
	appropriate.

50
51
52
53
54
55
56
2001-04-13  Per Cederqvist  <ceder@lysator.liu.se>

	Register the undocumented "rkom" user-area block.
	* doc/Protocol-A.texi (set-client-version): The client names are
	"registered", not "reserved".
	(The User Area): Registered the "rkom" block.

57
58
59
60
61
62
63
64
65
2001-04-10  Per Cederqvist  <ceder@cendio.se>

	Protocol A: Document the hello string.  Improve the recommended
	algorithm for determining what a client has unread.
	* doc/Protocol-A.texi (Client-Server Dialog): Document the format
	of the hello string.  Fix the example.
	(What do I have unread): Recommend that clients use get-uconf-stat
	instead of get-conf-stat.

Per Cederqvist's avatar
Per Cederqvist committed
66
67
68
69
70
71
2000-11-08  Per Cederqvist  <ceder@lysator.liu.se>

	Typo fixed.
	* README: Fixed typo ("IP address" -> "hostname").  Reported by
	Andreas Ehliar.

72
73
2000-09-06  Per Cederqvist  <ceder@lysator.liu.se>

Per Cederqvist's avatar
Per Cederqvist committed
74
75
	* Release 2.0.4.

76
77
78
79
	Remove Y2k bug.
	* src/server/prot-a-output.c (prot_a_output_time): Remove stupid
	Y2k joke.q

80
81
82
83
	Added missing files to the distribution.
	* src/server/testsuite/lyskomd.0/Makefile.am (EXTRA_DIST): Added
	gen-15.py.

84
85
86
87
88
89
90
91
	Test and document SIGWINCH (re-read aux-item.conf).
	* src/server/testsuite/lyskomd.0/18.exp: New file, testing SIGWINCH.
	* src/server/testsuite/lyskomd.0/04.exp: Add $srcdir to the
	front of the aux-item file name when calling lyskomd_start.
	* src/server/testsuite/lyskomd.0/aux-items-cov.exp: Likewise.
	* src/server/testsuite/leaks.0/leaks10.exp: Add $srcdir to the
	front of the aux-item file name when calling startup_leaks.
	* src/server/testsuite/leaks.0/leaks99.exp: Likewise.
92
93
	* src/server/testsuite/config/leaks.exp (startup_leaks): Added
	$srcdir to aux-item file.
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
	* src/server/testsuite/config/unix.exp (lyskomd_start): Don't add
	$srcdir to the name of the aux-item file.
	(lyskomd_fail_start): Likewise.
	* doc/lyskomd.texi (Parameters): aux-items.conf is reread when a
	SIGWINCH is received.
	(Signals): Likewise.

	Document the new visibility rules for bcc-recpt.
	* doc/Protocol-A.texi (The Misc-Info List): Fix the description of
	the visibility of bcc-recpt.

	Clarify the documentation for mark-as-read.
	* doc/Protocol-A.texi (mark-as-read): State that it isn't
	necessary for clients to call mark-as-read on deleted texts.

109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
2000-09-05  Per Cederqvist  <ceder@moria>

	Set version numbers.
	* versions (SERVER-VERSION): 2.0.4.
	(SERVER-COMPAT-VERSION): 20004.
	* configure.in: Set version number to 2.0.4.
	* README: Updated for the 2.0.4 release.
	* doc/Protocol-A.texi: This is revision 10.3.
	(Document Revision History): Documented changes for 10.3.

	Various cleanup.
	* doc/lyskomd.texi (Overview): Remove mal-placed plug about the
	cool free software company Cendio Systems.
	* src/server/testsuite/lyskomd.0/gen-15.py (DEBUG): Set to 0.

	Don't leak secret information when telling about the current
	working conference.
	* src/server/testsuite/lyskomd.0/16.exp (assert_0): No longer
	excpect these tests to fail.
	* src/server/session.c (who_is_on): Don't send info about
	secret conferences.
	(who_is_on_ident): Likewise.
	(who_is_on_dynamic): Likewise.
	(get_session_info): Likewise.
	(get_session_info_ident): Likewise.
	(who_is_on_old): Likewise.
	* src/server/send-async.c (async_i_am_on): Don't send info about
	secret conferences.
	* src/server/membership.c (filter_conf_no): New function.
	* src/server/manipulate.h (filter_conf_no): New function.

140
141
142
143
144
145
146
147
148
149
2000-09-04  Per Cederqvist  <ceder@moria>

	Implement the aux-items recommended-conf and allowed-content-type.
	* src/server/testsuite/lyskomd.0/01.exp: Expect aux-item 29 and 30
	to exist.
	* src/server/testsuite/lyskomd.0/03.exp: Expect aux-item 29 and 30
	to exist.  Give Kelly Talisman two allowed-content-type
	aux-items.  Renumber.
	* run-support/aux-items.conf: faq-text may be set on the server.
	Added recommended-conf and allowed-content-type.
150
	* src/server/testsuite/lyskomd.0/17.exp: New test.
151
152
153
154
155
156
157
158
159
160
	* doc/Protocol-A.texi (Predefined Aux-Item Types): Added lots of
	things that aux-items can be set on:
	    cross-reference += letterbox
	    redirect += letterbox
	    x-face += letterbox, server
	    alternate-name += letterbox
	    mx-allow-filter += letterbox
	    mx-reject-forward += letterbox
	    allowed-content-type += letterbox, server
	Updated the description of the allowed-content-type aux item.
161
162
163
164
165
166
167
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
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
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247

	Typo fixed.
	* doc/Protocol-A.texi (Protocol Requests): Typo in menu fixed.

	Fix the visibility of bcc-recipients, so that the same rules are
	used everywhere.  Tighten the rules so that secret info cannot
	leak through get-text-stat.
	* src/server/testsuite/lyskomd.0/gen-15.py (text_stat): New
	class.  Rewrite the rest of this file to use it.  Give authors
	special privileges regarding bcc-recpts.
	* src/server/testsuite/lyskomd.0/10.exp: Removed an obsolete
	comment, since this test no longe fails.
	* src/server/testsuite/config/unix.exp (lyskomd_start): The tests
	now require more than 2000 texts.  Give them 20000.
	* src/server/text.c (send_async_sub_recipient): Use
	filter_secret_info() so that the exact same visibility is used by
	async-sub-recipient and get-text-stat.
	(filter_secret_info): Don't allow the author of a text to see
	bcc-recpt which are secret to him.  Simplify the code slightly.
	(send_async_add_recipient): Use filter_secret_info() so that the
	exact same visibility is used by async-add-recipient and
	get-text-stat.

2000-09-02  Per Cederqvist  <ceder@moria>

	Re-indent text.c.  Add a few const qualifiers.
	* src/server/text.c: Code re-indented.
	(count_recipients): const qualifiers added
	to some arguments.  Code simplified.
	(count_footn): Likewise.
	(count_comment): Likewise.
	(text_read_access): Code clarified.
	(delete_text): Likewise.
	(find_recipient): qualifiers added to some arguments.  
	(is_comment_to): Likewise.
	(is_footnote_to): Likewise.
	(submit_to): Likewise.
	(is_member_in_recpt): Likewise.
	(send_async_sub_recipient): Likewise.
	(sender): Likewise.
	(is_sender): Likewise.
	(is_comm_sender): Likewise.
	(check_footn): Likewise.
	(check_comm): Likewise.
	(locate_mark): Likewise.
	(skip_recp): Likewise.
	(recp_sent_by): Likewise.
	(filter_secret_info): Likewise.
	(send_async_deleted_text): Likewise.
	(check_double_subm): Likewise.
	(check_double_comm): Likewise.
	(send_async_new_text_old): Likewise.
	(send_async_new_text): Likewise.
	(send_async_add_recipient): Likewise.
	* src/server/membership.c (access_perm_helper): const qualifiers added
	to some arguments.
	(access_perm): Likewise.
	(locate_membership): Likewise.
	* src/server/dbck.c (locate_membership): const qualifiers added
	to some arguments.
	* src/server/conference.c (is_supervisor): const qualifiers added
	to some arguments.
	(is_strictly_supervisor): Likewise.
	* src/server/manipulate.h: (access_perm): const qualifiers added
	to some arguments.
	(is_supervisor): Likewise.
	(is_strictly_supervisor): Likewise.
	(locate_membership): Likewise.
	* src/server/aux-items.c: Lots of const qualifiers added.
	* src/server/aux-items.h (Aux_item_validation_data): const
	qualifiers added to the item and def members.
	(aux_inherit_items): const qualifiers added to some arguments.
	(aux_item_add_perm): Likewise.
	(prepare_aux_item): Likewise.
	(find_aux_item_definition): Likewise.
	(aux_item_find_trigger): Likewise.
	(aux_item_find_validator): Likewise.
	(find_aux_item): Likewise.
	(filter_aux_item_list): Likewise.
	(delete_aux_item_list): Likewise.
	(undelete_aux_item_list): Likewise.
	(check_delete_aux_item_list): Likewise.

	Test suite cleanup.
	* src/server/testsuite/lyskomd.0/16.exp (assert_0): New proc.  Use
	it to simplify the code.

248
249
250
251
252
253
254
255
256
257
2000-08-28  Per Cederqvist  <ceder@moria>

	Secret conference numbers can apparently leak from the
	get-session-info and who-is-on family of functions.  Test cases
	added.
	* src/server/testsuite/lyskomd.0/16.exp: Added test cases for 
	async-i-am-on, who-is-on-old, who-is-on, get-session-info,
	who-is-on-ident, get-session-info-ident and who-is-on-dynamic.
	They all leak info about secret conferences.

258
259
260
261
262
263
2000-08-12  Per Cederqvist  <ceder@moria>

	More work on test cases for async messages 14-17.
	* src/server/testsuite/lyskomd.0/gen-15.py: Test simple
	create+add+delete.

264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
2000-08-09  Per Cederqvist  <ceder@moria>

	Start writing test cases for async messages 14-17.
	* src/server/testsuite/lyskomd.0/gen-15.py: New file.  This is
	very far from complete.
	* src/server/testsuite/Makefile.am (SUBDIRS): Added lyskomd.0.
	(EXTRA_DIST): Moved all files in lyskomd.0 to that makefile.
	(check-lyskomd): Depend on check-recursive.
	* configure.in: Remove -Wpointer-arith since it gives a lot of
	false warnings when using glibc-2.1.3 and gcc-2.95.2.  Create
	src/server/testsuite/lyskomd.0/Makefile.
	* src/server/testsuite/lyskomd.0/Makefile.am: New file, mostly
	extracted from ../Makefile.am.
	(15.exp): New target.
	(check_DATA): New target.  Added 15.exp.

280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
2000-08-05  Per Cederqvist  <ceder@moria>

	The dummy_aux_item introduced 2000-05-09 was not properly
	initialized.
	* src/server/prot-a.c (prot_a_init): Initialize
	dummy_aux_item.data and aux_item.data.
	* src/server/internal-connections.c (init_connection): Initialize
	dummy_aux_item.data.
	(kill_client): Check dummy_aux_item.data and aux_item.data.

2000-08-04  Per Cederqvist  <ceder@moria>

	Minor documentation improvement.
	* doc/lyskomd.texi (Parameters): Clarified the warning about
	"Never save".

	Documented the allowed-content-type aux item.
	* doc/Protocol-A.texi (Predefined Aux-Item Types): Added a draft
	description of the allowed-content-type aux item.

300
301
302
303
304
305
306
307
308
309
2000-05-09  David Byers  <davby@ida.liu.se>

	The server could crash when parsing over-long aux-item lists.
	* src/server/connections.h: Added dummy_aux_item field.
	* src/server/prot-a-parse.c (prot_a_parse_string): 
	(prot_a_parse_aux_item_list): Use dummy_aux_item in client
	structure instead of an auto variable.
	* src/server/connections.c (free_parsed): Clear
	client->dummy_aux_item.

310
311
312
313
314
315
316
317
318
2000-04-28  Per Cederqvist  <ceder@lysator.liu.se>

	The data base was saved even when "Never save: true" was used.
	* src/server/simple-cache.c (cache_sync_all): Return early if
	param.never_save is set, so that the database won't be saved even
	at normal server shutdown.
	* doc/lyskomd.texi (Parameters): Updated the documentation for
	"Never save".

319
320
321
322
323
324
325
2000-03-13  Per Cederqvist  <ceder@biffen.cendio.se>

	Large garb-nice values could be truncated.
	* src/server/text-garb.c (garb_text): Avoid overflow when
	converting the garb-nice value from days to seconds.  (Suspected
	by Anders Åke Carlsson.)

326
327
328
329
330
331
1999-11-20  Per Cederqvist  <ceder@lysator.liu.se>

	Fixed a cut-n-paste error in the protocol spec.
	* doc/Protocol-A.texi (LysKOM Data Types): bcc-recpt is of course
	a Conf-No, not a Text-No.  (Reported by Anders Franzén.)

332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
1999-10-28  David Byers  <davby@ida.liu.se>

	* src/server/text.c (send_async_sub_recipient): Don't send
	sub-recipient messages for bcc recipients to users who are not
	members of the bcc recipient.

	* src/server/testsuite/lyskomd.0/06.exp (shutdown_06): Added test
	cases to test async messages when adding and removing BCC
	recipients. 

1999-10-27  David Byers  <davby@ida.liu.se>

	* src/server/ramkomd.c (dump_exit_statistics): Free
	read_config_file
	(main): Save name of configuration file in read_config_file.
	Handle WINCH signal (re-read config file.)

	* src/server/param.h: Added reread_param.
	Added read_config_file

	* src/server/server-config.c: Added reread_param.

354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
1999-10-20  Kent Engström  <kent@lysator.liu.se>

	Documentation updates w.r.t. e-mail import.
	* doc/Protocol-A.texi (Predefined Aux-Item Types): Introduced some
	hints for client authors and clarified the description of some
	aux-items based on experiences from writing "komimportmail";
	changed definition of mx-in-reply-to to specify that is should
	really be the Message-ID used for threading, regardless of which
	header line that supplied it. Marked mx-allow-filter and
	mx-reject-forward obsolete.
	(komimportmail Aux-Item Types): new node describing
	the aux-items introduced by this importer.
	(Importing and Exporting E-Mail): rewrote most of the chapter,
	using experience from "komimportmail". Removed text about
	export, as it was rather naive.

Kent Engström's avatar
Kent Engström committed
370
371
372
373
374
375
1999-10-12  Kent Engström  <kent@lysator.liu.se>

	Documentation fix.
	* doc/lyskomd.texi (Parameters): Moved cross-reference
	to stop newer makeinfo versions from complaining.

376
377
378
379
380
381
382
383
384
385
386
387
388
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
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
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.

405
406
1999-09-18  Per Cederqvist  <ceder@lysator.liu.se>

Per Cederqvist's avatar
Per Cederqvist committed
407
408
409
410
411
	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.

412
413
414
415
416
417
	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.

418
419
420
421
422
423
424
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.

425
426
427
428
429
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.
430
	* src/server/testsuite/leaks.0/lots-aux-items.conf: Ditto.
431

432
433
434
435
436
437
438
	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
439
	obsolete as of version 10 of Protocol A.
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
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
466
467
1999-07-24  Per Cederqvist  <ceder@lysator.liu.se>

468
469
	Implemented splitkomdb.  This is highly experimental and not yet
	documented.
Per Cederqvist's avatar
Per Cederqvist committed
470
471
472
473
474
475
476
477
	* 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.

478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
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
501
502
503
504
505
506
507
508

	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
509
510
511
1999-07-13  Kent Engström  <kent@lysator.liu.se>

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

516
1999-07-12  Per Cederqvist  <ceder@lysator.liu.se>
517

518
	* Release 2.0.1.
519
520
521
522
523
524
525
526
527
528
529
530
531
532
	
	* 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>
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557

	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
558
559
560
561
562
	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.

563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
	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".
586
587
588
	* src/server/testsuite/lyskomd.0/03.exp: Don't use "Regexps use
	collate table".
	* src/server/testsuite/lyskomd.0/regexp-match-cov.exp: LIkewise.
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609

	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.

610
1999-07-08  Per Cederqvist  <ceder@lysator.liu.se>
611
612
613
614

	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.
615
616
617
	* src/server/testsuite/lyskomd.0/14.exp: New file.
	* src/server/testsuite/Makefile.am (EXTRA_DIST): Added
	lyskomd.0/14.exp.
618

Kent Engström's avatar
Kent Engström committed
619
620
621
622
623
624
625
626
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.

627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
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.

650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
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.

752
753
754
755
756
757
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.

758
759
760
761
762
763
764
765
766
767
768
769
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.

770
771
772
773
774
775
776
777
778
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
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
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
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.

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
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
861
862
1999-06-30  Per Cederqvist  <ceder@lysator.liu.se>

863
864
	* README: Talk a little about the config file.

Per Cederqvist's avatar
Per Cederqvist committed
865
866
867
	Broken typo fix fixed.
	* NEWS: Changed "the near feature" to "a future release".

868
869
870
871
872
873
874
875
876
877
878
879
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.

880
1999-06-27  Per Cederqvist  <ceder@lysator.liu.se>
Per Cederqvist's avatar
Per Cederqvist committed
881
882
883

	* Release 2.0.0.

884
885
886
887
888
889
	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.

890
	Port the test suite to OSF 3.0.
Per Cederqvist's avatar
Per Cederqvist committed
891
892
	* src/server/testsuite/config/unix.exp (stty_init): Quote the ^
	character. Some shells interpret it as a pipe.
893
894
895
	* README: Mention that Python is needed by the test suite.

	Specify more of the behavior of get-unread-confs.
896
897
898
	* doc/Protocol-A.texi (get-unread-confs): Specify the order of the
	returned conference numbers.

899
900
1999-06-26  Per Cederqvist  <ceder@lysator.liu.se>

901
902
903
904
905
906
907
908
909
910
911
912
913
	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
914
915
916
917
	Port the test suite to HP/UX.
	* src/server/testsuite/config/unix.exp (stty_init): Add "-isig
	erase ^- kill ^- werase ^-".

918
919
920
921
922
923
924
	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
925
926
1999-06-26  David Byers  <davby@ida.liu.se>

927
928
929
	* src/include/kom-types.h (Membership_type): Changed all fields
	from Bool to unsigned int.

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

934
935
1999-06-26  Per Cederqvist  <ceder@lysator.liu.se>

936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
	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
952
953
954
955
956
957
	* 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.
958

David Byers's avatar
David Byers committed
959
960
961
962
963
964
965
966
967
968
969
970
971
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.

972
973
1999-06-25  Per Cederqvist  <ceder@lysator.liu.se>

974
975
976
977
978
979
980
981
982
983
984
985
986
987
	"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
988
989
990
991
	Release administrativa.
	* scripts/lyskomd-copyrights: Don't attempt to update copyright
	notices in TeX temporary files.

992
993
994
995
996
997
998
999
1000
	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.
For faster browsing, not all history is shown. View entire blame