ChangeLog 90.5 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
50
51
52
53
54
55
56
57
58
59
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
1999-01-14  David Byers  <davby@ida.liu.se>

	* src/server/session.c (who_is_on): Changed for loops to while
	loops to deal with new semantics of session 0 and to make the code 
	clearer. (who_is_on_ident): Ditto. (who_is_on_dynamic): Ditto.
	(who_is_on_old): Ditto.

	* src/server/internal-connections.c (get_conn_by_number): Always
 	interpred session 0 as the current session. 
	(traverse_connections): Explicit check for session_no == 0 since
 	change in get_conn_by_number.

	* src/server/session.c (disconnect): disconnect(0) disconnects the 
	current session

	Did some work on mail import and export (that jsk should have
	taken care of. Grrrr....)
	* doc/Protocol-A.texi (Predefined Aux-Item Types): Rewrote
	documentation for mail import and export aux-items. Wrote a
	chapter on mail import and export.

	* run-support/aux-items.conf: Added aux-items for mail import and
	export. 

	* doc/Protocol-A.texi: Removed all @codes surrounding
	cross-references since texinfo chokes on them.

	* doc/hacking.texi (Notes for fncdef.txt): Added notes on
	fncdef.txt.

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

	Handle #ifdef/#endif and empty lines in fncdef.txt
	* src/server/fncdef.txt: Added debug_info. This call does NOTHING
	at the moment. It is just a proof of concept. It will do stuff
	later.

	* src/server/prot-a-parse-arg-h.awk: Handle #ifdef and #endif and
	empty lines.

	* src/server/fnc-def-init.awk: Ditto.

	* src/server/prot-a-is-legal-fnc.awk: Ditto.

	* src/server/call-switch.awk: Ditto.

	* src/server/prot-a-parse-arg-c.awk: Ditto.

	* src/server/com-h.awk: Ditto.

	* acconfig.h: Added DEBUG_CALLS

	* configure.in: Added option --with-efence to link with efence.
	Added option --with-debug-calls to define DEBUG_CALLS when
	compiling.

	Arranged things so we have to put a call number into the
	fncdef.txt file. This makes call numbers more explicit. It is also 
	possible to have non-contiguous call numbers.
	* src/server/prot-a.c (prot_a_parse_packet): Use function_index
	field of connection to access parsers etc.

	* src/server/connections.c: Added num_fnc_defs

	* src/server/prot-a-parse-arg-h.awk: Updated for new format.

	* src/server/connections.c (dump_statistics): Changed the format
	of the statistics file to output function number before the call
	number.

	* src/server/connections.h: New field function_index
	Added function field to Fnc_descriptor.

	* src/server/call-switch.awk: Updated for new format in fncdef.txt 

	* src/server/com-h.awk: Updated for new format in fncdef.txt

	* src/server/prot-a-parse-arg-c.awk: Updated for new format in
	fncdef.txt.

	* src/server/prot-a.c (prot_a_is_legal_fnc): Removed hard-coded
	switch and replaced it with include of prot-a-is-legal-fnc.incl

	* src/server/prot-a-is-legal-fnc.awk: New function.

	* src/server/Makefile.am: Add rules for prot-a-is-legal-fnc.incl

88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
1999-01-12  David Byers  <davby@ida.liu.se>

	* src/server/testsuite/lyskomd.0/03.exp: Updated membership tests.
	
	* src/server/testsuite/lyskomd.0/05.exp: Updated membership tests.

	* src/server/membership.c (do_get_membership): Set the position
	field in the returned structure.
	(locate_membership_and_position): Removed.
	(locate_membership): Set the position field in the membership.

	* src/server/memory.c (init_membership): Init position field.

	* src/include/kom-types.h: Removed Extended_Membership. Added
	position field to Membership.

	* src/server/connections.h: Removed Extended_Membership.

	* src/server/prot-a.c (prot_a_reply): Removed
	rt_extended_membership.

	* src/server/prot-a-output.c (prot_a_output_membership): Output
	membership position.

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

	* db-crypt/db/lyskomd-data: Updated database with keep_commented
	field.

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

	* src/server/person.c (create_person_generic): Initialize
	keep_commented.

	* src/server/memory.c (copy_conference): Copy keep_commented.
	(init_conference): Initialize keep_commented.

	* src/server/dbck.c (delete_misc): Moved initialization of ready
	to avoid spurious compiler warning.

	* src/server/text.c (do_delete_misc): Moved initialization of
	ready to avoid spurious compiler warning.

	* src/server/simple-cache.c: Changed sync_next to unsigned to get
	rid of compiler warnings.
	(save_one_conf): Output sync_next as unsigned.
	(save_one_text): Ditto.
	(init_cache): Move initialization of done, read_text_no and
	read_conf_no to avoit spurious compiler warning.
	(init_cache): Initialize c for same reason.

	* src/server/cache-node.c: Added initializer for s.snapshot in
	EMPTY_CACHE_NODE.

	* src/server/cache-node.h: Removed saved_sirty [sic] flag from
	cache_node. It wasn't used anywhere.

	* src/include/rcs.h (USE): Use __typeof__ to avoid compiler
	warnings. This macro only does something when __GCC__ is two or
	more, in which case __typeof__ exists, so it should be safe.

	* src/server/server-config.c: Added default_keep_commented to
	parameters.

	* src/server/param.h: Added default_keep_commented to kom_par.

	* src/server/conference.c (do_create_conf): Initialize
	keep_commented

	* doc/lyskomd.texi (Parameters): Documented Default keep commented 
	nice.

	* src/include/services.h: Declare set_keep_commented.

	* src/server/conference.c (set_keep_commented): New function.

	* src/server/fncdef.txt: Added set_keep_commented.

	* src/server/prot-a-output.c (prot_a_output_conference): Output
	keep_commented after nice.

	* src/server/ram-parse.c (fparse_conference_2): Parse
	keep_commented.

	* src/include/kom-types.h: New field keep_commented.

	* src/server/ram-output.c (foutput_conference_2): Output
	keep_commented. 

Per Cederqvist's avatar
Per Cederqvist committed
177
178
179
180
181
1999-01-01  Per Cederqvist  <ceder@gratia>

	Use NO_TIME instead of 0.
	* src/server/memory.c (init_membership): Use NO_TIME instead of 0.

182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
1998-12-31  Per Cederqvist  <ceder@lysator.liu.se>

	Avoid pty buffer size overflow in the test suite.
	* src/server/testsuite/lyskomd.0/03.exp: Split long lines so that
	at most approximately 250 bytes are sent via a pty.  Many
	operating systems have a limit of approximately 256 bytes per
	line.

	Fix test suite typo.
	* src/server/testsuite/config/leaks.exp (check_usage): Fixed a
 	typo: it is an error if the number of strings is use change, not
 	if they stay the same.

	Ignore some generated files.
	* src/server/testsuite/.cvsignore: Ignore lyskomd.*.base,
	lyskomd.*.usage and usage-base.tmp.
	* .cvsignore: Ignore config.h, config.h.in, stamp-h and
	stamp-h.in.

David Byers's avatar
David Byers committed
201
202
203
204
205
206
207
208
209
210
211
212
213
1998-12-30  David Byers  <davby@ida.liu.se>

	* src/server/aux-items.h: Removed ADD_AUX_ITEM macro.

	* src/server/aux-items.c (aux_inherit_items): Fixed memory leak.

	* src/server/ramkomd.c (free_kom_info): New function.
	(main): Call it so that memory usage reported at end of session is 
	not dependent on the length of the aux-item list attached to
	kom_info since that messes up testing for memory leaks.

	* doc/lyskomd.texi: Added this file. Finished writing it too.

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
1998-12-29  David Byers  <davby@ida.liu.se>

	* src/server/testsuite/config/unix.exp (lyskomd_start): Added
	optional third argument for stuff to put at the end of the config
	file.

	* src/server/prot-a-send-async.c (prot_a_async_new_membership):
	Send the correct header.

	* src/server/membership.c (add_member_common): Added calls to
	send_async_new_membership.
	(send_async_new_membership): Send message to the right recipients.

1998-12-28  David Byers  <davby@ida.liu.se>

	* src/server/membership.c (add_member_old): Don't set invitation
	bit here. It is dealt with in add_member_common.
	(do_change_priority): Don't change priority to zero if we are
	being called from old functions. Just fake the passive bit.
	(locate_membership_and_position): Return the correct position of
	the membership.

1998-12-27  David Byers  <davby@ida.liu.se>

	* doc/Protocol-A.texi (Error Codes): Added
	invalid-membership-type.

David Byers's avatar
David Byers committed
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
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
1998-12-26  David Byers  <davby@ida.liu.se>

	* doc/man/lyskomd.8 (value): Documented regexps use collate
	table.

	* src/server/param.h: Added regex_use_collate_table.

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

	* src/server/regex-match.c (lookup_regexp): Set translation table
	for regex according to regex_use_collate_table option.

	* src/server/manipulate.h: New function declaration.

	* src/server/membership.c (locate_membership_and_position): New
	function. 
	(locate_membership): Use it.

	* src/server/person.c 	(do_query_read_texts): New function.
	(query_read_texts_old): Use it. (query_read_texts): Use it.

	* src/server/prot-a-output.h(prot_a_output_extended_membership):
	New function declaration.

	* src/server/prot-a-output.c (prot_a_output_extended_membership):
	New function.

	* src/server/prot-a.c (prot_a_reply): Added
	rt_extended_membership.

	* src/include/kom-types.h: New type Extended_Membership.

	* src/server/connections.h: Added extended_membership to
	Result_holder. Added rt_extended_membership to Res_type

	* src/include/services.h: Declare query_read_texts to take an
	Extended_Membership

	* doc/Protocol-A.texi (query-read-texts): Documented that this
	function returns the position as well as the membership.

1998-12-25  David Byers  <davby@ida.liu.se>

	* README: Updated clients information.

	* src/server/membership.c (set_membership_type): Removed F-word
	from comment. Inserted F-abbreviation instead :-)

	* src/server/conference.c (get_uconf_stat): Removed FIXME after
	fixing fast_access_perm.

	* src/server/membership.c (fast_access_perm): Set kom_errno if we
	can't find the conference conf_no.

	* src/server/membership.c (do_get_members): Don't filter secret
	memberships if we have privilege bits set.

	* doc/Protocol-A.texi (Error Codes): Fixed error in documentation
	of secret-public

1998-12-24  David Byers  <davby@ida.liu.se>

	* src/server/aux-items.c (system_add_aux_item_list): Call add
	triggers
	(check_delete_aux_item_list): Return KOM_AUX_PERM if an item to
	delete is mission. This is in accordance with the documentation.

	* src/server/aux-items.h (INFO_OBJECT_TYPE): New constant.

1998-12-23  David Byers  <davby@ida.liu.se>

	* src/server/testsuite/lyskomd.0/03.exp: Updated test 1010 for
	item 27.
	Updated test 1017 for asyncs 16, 17 and 18
	Updated test 1020 for asyncs 16, 17 and 18
	Updated test 1022 for asyncs 16, 17 and 18
	Updated test 1024 for asyncs 16, 17 and 18
	In test 1032 updated async messages to show the bcc recpt. This is 
	because of the change to make bcc recpts visible to the creator
	and to all when target is an open conference.	
	Added sleep 2 before test 1310. Otherwise test 1311 may fail since 
	one of the clients has not been idle for long enough (lyskomd is
	OK.)
	Updated test 1333 to not show deleted items
	Similar in 1334, 1335 and 1339.

	* src/server/testsuite/lyskomd.0/01.exp: Updated
	query-predefined-aux-items test for item 27

1998-12-22  David Byers  <davby@ida.liu.se>

	* src/server/conf-file.c (MAXLINE): Increased line length limit to 
	1000 characters

Per Cederqvist's avatar
Per Cederqvist committed
335
336
337
338
339
1998-12-22  Per Cederqvist  <ceder@gratia>

	One more test.
	* src/server/testsuite/lyskomd.0/03.exp: Test call 99.

340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
1998-12-20  Per Cederqvist  <ceder@gratia>

	More tests.
	* src/server/testsuite/lyskomd.0/03.exp: Test call 95-98.

	Speed up regexp matching a little.
	* src/server/regex-match.c (lookup_regexp): Attempt to allocate a
	fastmap.

	The invitation bit should not be set when a user himself joins a
	conference.
	* src/server/membership.c (add_member_old): Never set the
	invitation bit when a user adds himself to a conference.

	Avoid too long lines in the documentation.
	* doc/Protocol-A.texi (modify-system-info): Remove whitespace to
	avoid too long lines in the generated info file.

David Byers's avatar
David Byers committed
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
1998-12-17  David Byers  <davby@ida.liu.se>

	* src/server/testsuite/config/Makefile.am (lyskomd-config): Use
	aux-items.conf in this directory instead of in run-support.

	* src/server/text.c (modify_text_info): Call commit_aux_item_list.

	* src/server/conference.c (modify_conf_info): Call
	commit_auc_item_list.

	* src/server/admin.c (modify_server_info): Call
	commit_aux_item_list.

	* src/server/aux-items.c (commit_aux_item_list): New function to
	really delete aux_items.

374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
1998-11-14  Per Cederqvist  <ceder@gratia>

	Fixed another uninitialized memory problem: the allow_anon,
	reserved1, reserved2 and reserved3 bits of the Conf_type was not
	always properly initialized.
	* src/server/person.c (create_person_generic): Initialize
 	allow_anon, reserved1, reserved2, and reserved3.
	* src/server/memory.c (init_conf_type): Initialize allow_anon,
	reserved1, reserved2, and reserved3.
	* src/server/prot-a-parse.c (prot_a_parse_conf_type): Let
	allow_anon default to 1, not 0.  We really should have a way to
	let it default to unset, so that a set-conf-type that only
	specifies four bits doesn't alter the remaining bits.
	* src/server/testsuite/lyskomd.0/03.exp: Set allow_anon, and
	expect it to be set.  Test call 92-94.

390
391
392
393
394
395
396
397
398
399
400
401
402
1998-11-09  Per Cederqvist  <ceder@gratia>

	Fixed an uninitialized memory problem.
	* src/server/memory.c (init_conference): Initialize highest_aux
	and expire to 0.
	* src/server/conference.c (do_create_conf): Initialize expire to 0.

	Avoid symbols with global linkage.
	* src/server/aux-items.c (aux_item_triggers): Now static.
	
	One more test case.
	* src/server/testsuite/lyskomd.0/03.exp: Test call 91.

403
404
405
406
407
408
409
410
411
412
1998-11-09  Per Cederqvist  <ceder@gratia>

	More test cases.
	* src/server/testsuite/lyskomd.0/03.exp: Test calls 86-90.

	Minor fixes to the documentation.
	* doc/Protocol-A.texi (create-text): This call can never generate
	the error ``anonymous-rejected''.
	(create-anonymous-text): Avoid too long lines.

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
1998-10-22  Per Cederqvist  <ceder@gratia>

	More test cases.
	* src/server/testsuite/config/unix.exp (extracting_expect): New proc.
	* src/server/testsuite/lyskomd.0/03.exp: Test call 46-85.
	* src/server/testsuite/renumber.el
	(renumber-lyskom-send-simple-expect): Handle extracting_expect.

	Only allow one call to set-client-version.
	* src/include/kom-errno.h (KOM_CLIENT_IS_CRAZY): Old favourite
	resurrected.
	* src/server/session.c (set_client_version): Fail if the client
	version already was set.

	Allow set-info with motd_of_lyskom set to 0.
	* src/server/admin.c (set_info): Allow motd_of_lyskom to be 0.

	Fixed the error-status of find-previous-text-no.
	* src/server/text.c (greater): Added const qualifier.
	(find_previous_text_no): Fixed the returned error status.
	* src/server/testsuite/lyskomd.0/01.exp: Adjusted to the error
	status that is now returned by the bug-fixed find_previous_text_no.

	Documentation fixes and updates.
	* doc/Protocol-A.texi (send-message): Document that recipient 0
	means that the message is sent to all sessions.
	(get-last-text): Say that this relies on all texts being written
	in chronological order.
	(set-client-version): This call can only be used once per
	session.  It will return client-is-crazy if used twice.
	(get-client-version): This was called "get-client-name".
	(mark-text): Bogus example fixed.
	(unmark-text): Bogus example fixed.
	(lookup-z-name): The want-pers and want-confs arguments were
	swapped in the function header.
	(set-info): Document that lyskomd 1.9.0 erroneously returned
	text-zero if MOTD was 0.

451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
1998-10-17  Per Cederqvist  <ceder@gratia>

	More tests.
	* src/server/testsuite/lyskomd.0/03.exp: Test call 30-45.

	Fixed a memory corruption problem.
	* src/server/memory.c (copy_conference): Fixed a memory corruption
	problem that was introduced when Local_to_global was introduced.
	(copy_person): Likewise.
	(copy_text_stat): Added a const qualifier.  Rewritten to decrease
	the probability that the same kind of bug is introduced here, that
	is, assign each field separately instead of assigning the entire
	struct at once.
	(copy_aux_item_list): Now static.  Rewritten as above.
	(coy_aux_item): Added const qualifier.  Rewritten as above.
	* src/server/kom-memory.h (copy-person): Added const qualifier.
	(copy_text_stat): Likewise.
	(copy_aux_item): Likewise.
	(copy_aux_item_list): Removed (now static).

	Minor fixes to the documentation.
	* doc/Protocol-A.texi (Predefined Aux-Item Types): Fixed a Texinfo
	syntax error.
	(sync-kom): Fixed bugs in the example.

1998-10-16  Per Cederqvist  <ceder@gratia>

	More tests.
	* src/server/testsuite/lyskomd.0/03.exp: Test call 27-29, 40.

481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
1998-10-14  Per Cederqvist  <ceder@gratia>

	More test cases.
	* src/server/testsuite/lyskomd.0/03.exp: Test calls 8-27, 50, 78.
	* src/server/testsuite/lyskomd.0/summarize.sh: New file.

	Fixed bug in mark_as_read.
	* src/server/membership.c (adjust_read): Fixed a fence-post error
	that was introduced when Local_to_global was introduced.

	Clarify the documentation.  Change the specification of
	async-leave-conf.
	* doc/Protocol-A.texi (delete-conf): State the mailboxes can be
 	removed.
	(get-conf-stat-older): Document the mask argument.
	(mark-text-old): Document that mark-type 0 is used to remove the
 	mark.
	(async-leave-conf): This message is always sent to a person when
 	that person ceases to be a member of a conference, whatever the
 	reason is.  The protocol specification used to say that it was
	only sent when a person was forced to leave a conference.  The
	current wording makes more sense, and it was also the implemented
	behavior, so update the specification rather than the program.

David Byers's avatar
David Byers committed
505
506
507
508
509
1998-10-12  David Byers  <davby@anton9.ida.liu.se>

	* src/libraries/libcommon/Makefile.am (INCLUDES): Added -DSERVER
	as in src/server

Jonas S Karlsson's avatar
Jonas S Karlsson committed
510
511
512
513
514
515
1998-10-11  Jonas S Karlsson  <jsk@lysator.liu.se>

	Aux-info defined for import/export of emails.
	These are preliminary. but will be improved.
	* doc/Protocol-A.texi: email aux-infos x-XXX
	
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
1998-10-11  Per Cederqvist  <ceder@lysator.liu.se>

	Keep an extra copy of the database, just in case.  Do some sanity
	checking when copying file contents.
	* src/server/simple-cache.c (pre_sync): Store the previous backup
	file.
	(copy_file): Abort if we cannot seek or read the file we copy
	from.  Abort if the value we read didn't end in a newline, start
	with "T ", "C " or "P ", if the identity number in the data isn't
	what we expected, or if it isn't followed by a space.  This
	change attempts to detect file damage as early as possible.
	* src/server/server-config.c (parameters): Added "Backup file 2".
	(read_configuration): Handle backupfile_name_2.
	* src/server/ramkomd.c (init_data_base): Print backupfile_name_2.
	* src/server/param.h (struct kom_par): Added backupfile_name_2.
	* src/server/dbck-cache.c (cache_sync): Store the previous backup
	file.
	* doc/man/lyskomd.8: Added "Backup file 2".

	Allow compaction of the text file even if there are errors in the
	data base.
	* src/server/dbck.c (main): Allow -g even if errors occured, but
	only if the user confirms.

Per Cederqvist's avatar
Per Cederqvist committed
540
541
542
543
544
1998-10-11  Per Cederqvist  <ceder@gratia>

	More test cases.
	* src/server/testsuite/lyskomd.0/03.exp: Test call 4-7.

545
546
547
548
549
550
1998-10-09  Per Cederqvist  <ceder@signum.se>

	Commit some Emacs support code for test script writers.
	* src/server/testsuite/renumber.el: New file.
	(renumber-lyskom-send-simple-expect): New function.

Per Cederqvist's avatar
Per Cederqvist committed
551
552
553
554
555
556
557
1998-10-08  Per Cederqvist  <ceder@gratia>

	More test cases.
	* src/server/testsuite/lyskomd.0/03.exp: Test call 0, 1, 2 and 3.
	* doc/Protocol-A.texi (login-old): The error-status indicates the
 	person number when invalid-password is returned.

David Byers's avatar
David Byers committed
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
1998-10-08  David Byers  <davby@ida.liu.se>

	* src/server/prot-a-output.c (prot_a_output_membership): Output
	break_type.

	* src/server/ram-output.c (foutput_membership_2): Output
	break_type.

	* src/server/ram-parse.c (fparse_membership_2): Parse break_type.

1998-10-07  David Byers  <davby@ida.liu.se>

	* src/server/text.c (recp_sent_by): New function.
	(filter_secret_info): Let the sender of a bcc see a bcc and
	let bccs to open conferences be visible to all.

1998-10-06  David Byers  <davby@ida.liu.se>

	* src/server/send-async.c (async_new_membership): New function.
	(async_sub_recipient): Ditto.
	(async_new_recipient): Ditto.

	* src/server/prot-a-send-async.c (prot_a_async_new_membership):
	New function.
	(prot_a_async_sub_recipient): Ditto.
	(prot_a_async_new_recipient): Ditto.

	* src/server/text.c (send_async_add_recipient): New function.
	(add_recipient): Send async-new-recipient
	(send_async_sub_recipient): New function.
	(do_sub_recpt): Send async-sub-recipient.

	* src/server/membership.c (send_async_new_membership): New function.
	(add_member_common): Send async-new-membership

593
1998-10-06  Per Cederqvist  <ceder@gratia>
594
595
596
597
598
599
600
	
	Document bcc-recpt.  A created person is a member of his mailbox.
	* doc/Protocol-A.texi (The Misc-Info List): Document blank carbon
	copies.
	(create-person-old): Document that the new person will be a member
	of his letterbox.
	(create-person): Likewise.
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631

	Clarify the documentation about accept_async and make the
	implementation conform to the documentation.
	* src/server/session.c (accept_async): Don't accept 1, 2, 3, 4 or
	10 (which are in the interval [0..ay_dummy_last) but not used).
	Complain about the first rejected async number, not the last.
	* doc/Protocol-A.texi (query-async): Added a reference to the
	currently preselected asynchronous messages, since the example is
	valid for lyskomd 1.9 but not lyskomd 2.0.
	(Asynchronous Messages): Encourage clients to use accept-async
	instead of trusting the defaults.  State that the obsolete calls
	may be non-existing.

	More test cases.
	* src/server/testsuite/lyskomd.0/03.exp: New file.
	* src/server/testsuite/lyskomd.0/01.exp: Use read_versions instead
	of duplicating code.
	* src/server/testsuite/config/unix.exp (read_versions): New
	function, extracted from ../lyskomd.0/01.exp.

	Makefile improvements.
	* src/server/testsuite/Makefile.am (MOSTLYCLEANFILES): Added *.sum
	and *.log.
	(check-l2g): New name for former target l2g_check.
	(check-lyskomd): New name for former target lyskomd_check.

	Remove some unused code.
	* src/libraries/libcommon/kom-errno.c (kom_perror): Was
	unused. Removed.
	* src/include/config.h (kom_errout): Was unused. Removed.

David Byers's avatar
David Byers committed
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
1998-10-04  David Byers  <davby@ida.liu.se>

	* configure.in: Output to include/config.h

	* src/server/aux-items.c (delete_aux_item_list): Call undelete
	triggers.

	* src/server/dbck.c: Moved BUGDECL to top level.

	* src/server/internal-connections.c (init_connection): Cast in
	comparisons to get rid of compiler warnings.

	* src/server/text-garb.c: Moved BUGDECL to top level.

	* src/server/person.c: Moved BUGDECL to top level.

	* src/server/conference.c: Moved BUGDECL to top level.

	* src/server/membership.c (do_change_priority): Only fake the
	passive flag when fake_passive is true.

	* src/server/connections.c (dump_statistics): Remove compiler
	warnings by casting in comparisons.

	* src/include/kom-types.h: Declared fields of
	Version_info_internal const to get rid of compiler warnings (plus, 
	it makes sense.)

	* src/server/simple-cache.c (cached_get_text): Remove compiler
	warnings by casting in comparisons.

	* src/include/server/smalloc.h (SMALLOC_MAGIC_FREE): Declare
	constants as unsigned to avoid compiler warnings.

	* src/server/ram-parse.c (fparse_string): Remove compiler warnings 
	by casting in comparisons.

	* src/server/local-to-global.c (find_block): Removed const
	declarations to get rid of compiler warnings (it was cast away
	anyway.)

	* src/libraries/libcommon/kom-errno.c: Include kom-config

	* src/server/admin.c: Conditionally include config.h

	* src/server/dbck.c (check_membership): Check duplicated info
	between member and membership records. Redeclared mship param
	as non-const.

Per Cederqvist's avatar
Per Cederqvist committed
681
682
683
684
1998-10-04  Per Cederqvist  <ceder@lysator.liu.se>

	* TODO: New file.

685
686
687
688
689
690
691
692
693
694
1998-08-31  Per Cederqvist  <ceder@gratia>

	Added more tests and documentation.
	* doc/Protocol-A.texi (get-text): Uses the text-zero error code.
	(get-text-stat-old): Likewise.
	(get-text-stat): Likewise.
	* src/server/testsuite/lyskomd.0/02.exp: Added tests for
	get-text-stat and get-text-stat-old.  Check that a text wiht one
	public and one secret recipient is properly filtered.

695
696
1998-08-30  Per Cederqvist  <ceder@lysator.liu.se>

697
698
699
700
	query-predefined-aux-items was broken.
	* src/server/aux-items.c (query_predefined_aux_items): Added a
	missing statement so that the next link really is followed.

701
702
	Added more tests and documentation.
	* src/server/testsuite/lyskomd.0/01.exp: Added tests for requests
703
	89-104.
704
705
706
	* doc/Protocol-A.texi (get-conf-stat): Removed a note that said
	that only the old bits of the Any-Conf-Type are returned by this
	call.
707
708
709
710
711
	(Protocol Requests): 47 is obsoleted by 104.
	(get-created-texts): 47 is obsoleted by 104.
	(set-membership-type): Document the login-first error code.
	(local-to-global): Likewise.
	(map-created-texts): New node.  More documentation is needed here.
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
1998-08-29  Per Cederqvist  <ceder@lysator.liu.se>

	Introduce Aux-Item-Input in the protocol spec.  (It is a subset of
	Aux-Item.)  Don't include aux_no in it.
	* src/server/testsuite/lyskomd.0/00.exp: Don't send the aux_no
	field in Aux-Item-Input data.
	* src/server/prot-a-parse.c (prot_a_parse_aux_item): Don't expect
	the aux_no field.  Leave that field as garbage.
	* doc/Protocol-A.texi (LysKOM Data Types): Added Aux-Item-Input.
	Removed the '<10>' indicator in the Text-Stat declaration.
	(create-text): Use type Aux-Item-Input for input parameters.
	(create-anonymous-text): Likewise.
	(create-conf): Likewise.
	(create-person): Likewise.
	(modify-text-info): Likewise.
	(modify-conf-info): Likewise.
	(modify-system-info): Likewise.

	Clean up Protocol-A.texi.
	* doc/Makefile.am (protocol-a.info): Don't allow tabs in the
	document.
	* doc/Protocol-A.texi: Write all types as "Foo-Bar", never
	"Foo-bar".  Don't use tabs.
	(Notation): Be explicit about how types are written.

	Misc documentation fixes.
	* doc/Protocol-A.texi (who-is-on-ident): Corrected the return type
	to ARRAY Who-Info-Ident.
	(modify-system-info): Changed the type of the times-to-delete
	argument from the undefined type Number-List to ARRAY Aux-No.
	(set-info): This accepts an Info-Old, not an Info.

745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
1998-08-29  Per Cederqvist  <ceder@gratia>

	Fixed a memory problem in get_collate_table.
	* src/server/admin.c (get_collate_table): The result contains
	garbage on entry, so don't call s_clear() on it.

	Added more tests and documentation.
	* src/server/testsuite/lyskomd.0/01.exp: Read $top_srcdir/versions
	instead of ../version.incl, so the script gets all the versions.
	Added tests for requests 63-88.
	* src/server/testsuite/Makefile.am (site.exp): Depends on
	Makefile.  Set top_srcdir, but not srcdir.  (srcdir can still be
	used in the test scripts, since runtest sets it when the --srcdir
	option is used.)
	* doc/Protocol-A.texi (LysKOM Data Types): The invisible bit is
	always set for sessions where no-one is logged on.
	(who-is-on-dynamic): Likewise.
	(set-info): The version number was missing from the example.
	(create-conf): Indentation fixes.

1998-08-28  David Kgedal  <davidk@lysator.liu.se>
766
767
768
769
770

	* doc/Protocol-A.texi: Cleaned up the call definitions.  Removed
 	all type synonyms for ARRAY types.  Conference had an extra 'type'
	field.

771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
1998-08-28  Per Cederqvist  <ceder@gratia>

	Added more tests and documentation.
	* src/server/testsuite/lyskomd.0/01.exp: Added tests for requests
	51-62.
	* doc/Protocol-A.texi (LysKOM Data Types): The order of the
	elements in Who-Innfo-Old was wrong.  The same bug existed at
	least as far back as in the prot-A.txt file that was distributed
	with the 1.7.0 server.  I find it better to change the
	documentation than the code.
	(create-person-old): Document the auto-login feature.
	(who-is-on): Clarify which sessions that are returned.
	(get-unread-confs): Clarify that this request may return extra
	conferences.  This request may not be made before you log in.

786
787
788
789
790
791
792
793
794
795
796
797
798
1998-08-27  Per Cederqvist  <ceder@gratia>

	Added more tests and documentation.
	* src/server/testsuite/lyskomd.0/01.exp: Added tests for requests
	42-50.
	* doc/Protocol-A.texi (LysKOM Data Types): Removed Member-Old and
	Member-List-Old.
	(shutdown-kom): exit-val is an argument to the request, not the
	result from the request.
	(get-members-old): Simplified the return value to "ARRAY Pers-No"
	instead of "Member-List-Old".  Explicitly state that the returned
	list is truncated if there are too few members of the conference.

799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
1998-08-25  Per Cederqvist  <ceder@lysator.liu.se>

	The request 36=get-info was broken.
	* src/server/fncdef.txt (get_info_old): Returns an info_old, not
	an info.

	Added more tests and documentation.
	* src/server/testsuite/lyskomd.0/01.exp: Added tests for requests
	32-41.
	* doc/Protocol-A.texi (LysKOM Data Types): Document the
	aux-item-list part of the Info structure.
	(who-is-on-old): Document that the returned list contains only
	sessions that are logged in visibly.

1998-08-25  Per Cederqvist  <ceder@gratia>
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832

	Documentation fixes: async-login was wrong.
	* doc/Protocol-A.texi (LysKOM Data Types): Added Any-Conf-Type to
	the type index.
	(get-text): Never fails with login-first.  The no-such-text error
	is used when the user isn't logged in.
	(get-text-stat-old): Likewise.
	(get-text-stat): Likewise.
	(async-login): This async message includes a session number.

	More test cases added.
	* src/server/testsuite/config/unix.exp (any_num): New constant.
	(lyskomd_start): Increase the timeout around the start of lyskomd,
	since it can take quite a while on slow computers.
	* src/server/testsuite/lyskomd.0/01.exp: Added tests of more requests.
	* src/server/testsuite/lyskomd.0/02.exp: New file.
	* src/server/testsuite/Makefile.am (lyskomd_check): Added a
	missing quote character.

833
834
835
836
837
838
839
840
1998-08-23  Per Cederqvist  <ceder@lysator.liu.se>

	Fixed the documentation of 12=lookup-name.
	* doc/Protocol-A.texi (LysKOM Data Types): Documented
	Conf-List-Archaic.
	(lookup-name): This request returns a Conf-List-Archaic, not a
	Conf-No-List.  Added an example.

841
842
1998-08-22  Per Cederqvist  <ceder@lysator.liu.se>

843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
	Document more of the used error codes.
	* doc/Protocol-A.texi (get-person-stat-old): Added error code
	`login-first'.
	(login): Added error code `conference-zero'.
	(Error Codes): Renamed `illegal-password' to `invalid-password',
	which is the name the rest of the document uses.

	More test cases.
	* src/server/testsuite/lyskomd.0/01.exp: New test suite.
	* src/server/testsuite/config/unix.exp (lyskomd_start): Create a
	fresh database before starting lyskomd.
	* src/server/testsuite/Makefile.am (lyskomd_check): Don't create
	the database before running the lyskomd tests.

	Fixed bugs from the Local_to_global introduction.
	* src/server/membership.c (adjust_read): Fixed a fencepost error
	that was introduced 1998-07-26.
	* src/server/ram-output.c (foutput_text_list): Handle empty text
	lists properly.
	* src/server/prot-a-output.c (prot_a_output_person): Handle empty
	Local_to_global structures properly.
	(prot_a_output_conference): Likewise.
	(prot_a_output_conference_old): Likewise.
	* src/server/ram-output.c (foutput_text_list): Handle empty text
	lists that once was non-empty properly.

	Added indices to the protocol specification.
	* doc/Protocol-A.texi: Added a Request Index and a Type Index.

872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
	Eliminated a race condition in the test case.
	* src/server/testsuite/config/unix.exp (lyskomd_death):
	Synchronize with the lyskomd process so that it dies at a proper
	time.
	* src/server/ramkomd.c (main): Don't terminate until a
	confirmation is read on stdin when running under DejaGnu.

	Implemented map_created_texts.
	* src/include/services.h (map_created_texts): New function.
	* src/server/person.c (map_created_texts): New function.
	* src/server/fncdef.txt: Added map_created_texts.
	* src/server/prot-a.c (prot_a_is_legal_fnc): Added
	call_fnc_map_created_texts.
	* src/server/testsuite/lyskomd.0/00.exp: Added test cases for
	map_created_texts.

888
889
890
891
892
893
1998-08-16  Per Cederqvist  <ceder@lysator.liu.se>

	Documented all undocumented Aux-Items.
	* doc/Protocol-A.texi (Predefined Aux-Item Types): Documented
	aux-items 13, 14 and 15.

894
895
896
897
898
899
900
901
902
903
904
905
906
1998-08-14  Per Cederqvist  <ceder@signum.se>

	The cache tried to free person, text and conference 0 during
	server shutdown.
	* src/server/simple-cache.c (free_all_cache): Don't attempt to
	access Pers_no, Conf_no or Text_no 0.
	(get_conf_node): Fail if the argument is less than 1.
	(get_pers_node): Likewise.
	(get_text_node): Likewise.
	(traverse_person): Unused function; don't compile it.

	* run-support/aux-items.conf (creating-software): New aux-info.

907
908
909
910
911
912
913
1998-08-10  Per Cederqvist  <ceder@gratia>

	Ported the test suite to DejaGnu 1.2.
	* src/server/testsuite/config/unix.exp (lyskomd_start): Added
	missing global declarations.
	(l2g_start): Likewise.

Per Cederqvist's avatar
Per Cederqvist committed
914
915
916
917
918
919
1998-08-10  Per Cederqvist  <ceder@signum.se>

	Typo in a Makefile.am fixed.
	* src/server/testsuite/config/Makefile.am (lyskomd-config): Added
	a missing quote.

920
921
1998-08-09  Per Cederqvist  <ceder@lysator.liu.se>

922
923
924
925
	Fixed bugs in get_created_texts.
	* src/server/person.c (get_created_texts): Fixed a fencepost error
	and two other errors, all introduced 1998-07-26.

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
	Test suite improvements.
	* src/server/testsuite/lyskomd.0/00.exp: Added more tests.  Added
	tests for get-created-texts.
	* src/server/testsuite/l2g.0/10.exp: New file.
	* src/server/testsuite/config/unix.exp (l2g_stop): Send a quit
	command to test-l2g, so that we can be sure that the test case
	doesn't miss some unexpected final output from the test program.
	(unanchored_expect): Fixed an error message.
	* src/server/testsuite/test-l2g.c (main): Added 'q' (quit)
	command.

	Fixed more bugs in get_map.
	* src/server/text.c (get_map): Set result.first_local_no correctly
	if the map in the conference is completely empty.
	* src/server/prot-a-output.c
	(prot_a_output_l2g_iterator_as_text_list): Don't forget to emit
	trailing zeroes in the text-list.

	Document some previously undocumented behavior of get-map and
	get-created-texts.
	* doc/Protocol-A.texi (get-map): Document what happens when
	attempting to retrieve texts before the start of the map.
	(get-created-texts): Likewise.

	The L2g_iterator sometimes iterated past the end of a bounded search.
	* src/server/local-to-global.c (l2gi_searchsome): Set search_ended
	correctly when the end is set so that the iterator will loop over
	nothing, even though later texts exists.

955
956
957
958
959
	Let automake generate the INSTALL file.
	* README: Include the contents of the INSTALL file.  This file
	needs a major overhaul.
	* mkmi: Remove INSTALL and expect automake to recreate it.

960
961
962
963
964
965
966
967
968
969
970
971
972
	Removed GNU malloc.  The integration was poor, to say the least,
	and it was not generally an improvement to use GNU malloc.
	* src/server/testsuite/Makefile.am: Removed references to gnumalloc.
	* src/server/Makefile.am: Removed reference to gnumalloc.
	* src/libraries/Makefile.am (SUBDIRS): Removed @GNUMALLOC@.
	* INSTALL: Don't mention GNU malloc.
	* configure.in: --with-gnu-malloc: flag removed.  Don't substitute
	GNUMALLOC.  Don't define USE_GNU_MALLOC or USING_GNU_MALLOC.
	Don't use the following that was only used because of GNU malloc:
	SUNOS_LOCALTIME_BUG, getpagesize, memmove, AC_USG.  Don't attempt
	to create src/libraries/gnumalloc/Makefile.
	* src/libraries/gnumalloc: All files in this directory removed.

973
974
975
976
	Added sanity check to local_to_global.
	* src/server/text.c (local_to_global): Check that the no_of_texts
	argument isn't larger than 255.

977
978
1998-08-08  Per Cederqvist  <ceder@lysator.liu.se>

979
980
981
982
	Fixed a protocol error with async_deleted_text.
	* src/server/prot-a-send-async.c (prot_a_async_deleted_text):
	Fixed the size in the header.  This emits 18 elements, not 16.

Per Cederqvist's avatar
Per Cederqvist committed
983
984
985
986
987
	Minor documentation fixes.
	* doc/aux-info.doc: Document dont-garb.
	* doc/Protocol-A.texi: Spell checking performed.  Some other minor
	typos fixed.  State that the aux-item read-confirm should only be
	added after the user has acknowledged that he has read the text.
988
989
990
991
	(accept-async): Moved some text that belonged here from the
	query-async node.  The error-status indicates the first offending
	number, not the index of the first offending number, when
	unknown-async is returnd.
Per Cederqvist's avatar
Per Cederqvist committed
992
	
993
994
995
996
997
998
	Fixed bugs in get_map and local_to_global.
	* src/server/text.c (get_map): Fixed a couple of fence errors.
	(local_to_global): Using first_local_no==0 is an error.  Fixed a
	fence error.
	* src/server/prot-a-output.c (prot_a_output_text_mapping): Emit
	"0" or "1", not "48" or "49", as the later-texts-exists flag.
999
	Fixed a bug that could cause much too much data to be written.
1000