ChangeLog 190 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
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.

13
14
15
16
17
18
19
20
21
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
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
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.

73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
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
104
105
1999-06-30  Per Cederqvist  <ceder@lysator.liu.se>

106
107
	* README: Talk a little about the config file.

Per Cederqvist's avatar
Per Cederqvist committed
108
109
110
	Broken typo fix fixed.
	* NEWS: Changed "the near feature" to "a future release".

111
112
113
114
115
116
117
118
119
120
121
122
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.

123
1999-06-27  Per Cederqvist  <ceder@lysator.liu.se>
Per Cederqvist's avatar
Per Cederqvist committed
124
125
126

	* Release 2.0.0.

127
128
129
130
131
132
	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.

133
	Port the test suite to OSF 3.0.
Per Cederqvist's avatar
Per Cederqvist committed
134
135
	* src/server/testsuite/config/unix.exp (stty_init): Quote the ^
	character. Some shells interpret it as a pipe.
136
137
138
	* README: Mention that Python is needed by the test suite.

	Specify more of the behavior of get-unread-confs.
139
140
141
	* doc/Protocol-A.texi (get-unread-confs): Specify the order of the
	returned conference numbers.

142
143
1999-06-26  Per Cederqvist  <ceder@lysator.liu.se>

144
145
146
147
148
149
150
151
152
153
154
155
156
	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
157
158
159
160
	Port the test suite to HP/UX.
	* src/server/testsuite/config/unix.exp (stty_init): Add "-isig
	erase ^- kill ^- werase ^-".

161
162
163
164
165
166
167
	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
168
169
1999-06-26  David Byers  <davby@ida.liu.se>

170
171
172
	* src/include/kom-types.h (Membership_type): Changed all fields
	from Bool to unsigned int.

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

177
178
1999-06-26  Per Cederqvist  <ceder@lysator.liu.se>

179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
	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
195
196
197
198
199
200
	* 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.
201

David Byers's avatar
David Byers committed
202
203
204
205
206
207
208
209
210
211
212
213
214
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.

215
216
1999-06-25  Per Cederqvist  <ceder@lysator.liu.se>

217
218
219
220
221
222
223
224
225
226
227
228
229
230
	"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
231
232
233
234
	Release administrativa.
	* scripts/lyskomd-copyrights: Don't attempt to update copyright
	notices in TeX temporary files.

235
236
237
238
239
240
241
242
243
244
	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
245
246
	(get-unread-confs): Clarify that passive memberships are never
	returned.
247
248
249
250
251

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

252
253
254
255
256
257
258
259
260
261
262
	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>
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

	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):

288
289
290
291
292
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.

293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
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.
	
311
312
313
314
315
1999-06-23  David Byers  <davby@ida.liu.se>

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

316
317
1999-06-21  Per Cederqvist  <ceder@lysator.liu.se>

Per Cederqvist's avatar
Per Cederqvist committed
318
319
320
321
	Fix the test suite.
	* src/server/testsuite/lyskomd.0/11.exp: Updated to match the log
	messages currently sent by lockdb.c.

322
323
324
325
	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
326
327
	* src/server/testsuite/lyskomd.0/07.exp: Don't expect async-logout
	when sessions are disconnected.
328
329
330
	* doc/Protocol-A.texi (async-logout): This message is not
	necessarily sent when a session disconnects and nobody is logged
	in.
331

332
333
334
335
336
337
338
339
340
341
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.
342

343
344
345
346
347
348
349
	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>
350
351
352
353
354
355
356
357
358
359
360

	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.

361
362
363
364
365
366
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.

367
368
369
370
371
372
373
374
375
376
377
378
379
380
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
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
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
	
402
403
1999-06-05  Per Cederqvist  <ceder@lysator.liu.se>

Per Cederqvist's avatar
Per Cederqvist committed
404
405
406
407
408
409
410
411
412
413
414
415
416
	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.

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

484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
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
530
531
532
533
534
535
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
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
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.

	* src/server/manipulate.h (CHK_CONNECTION): New macro. Call this
 	at the head of every RPC function.

	* src/server/admin.c (shutdown_kom): Signal internal error if we
	don't have an active connection.

Per Cederqvist's avatar
Per Cederqvist committed
625
626
627
628
629
630
631
1999-05-30  Per Cederqvist  <ceder@lysator.liu.se>

	Improve the test suite.
	* src/server/testsuite/lyskomd.0/09.exp: Added async messages sent
	by the garb when it deletes text 2, 4 and 6.  This is untested and
	may break.

632
633
1999-05-30  Per Cederqvist  <ceder@gratia>

634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
	Don't send async-sub-recipient messages when texts are deleted.
	* src/server/text.c (perform_subtraction): New static function,
	extracted from do_sub_recpt.  Only send async-sub-recipient if
	the new argument want_async is true.
	(do_sub_recpt): Code simplified by creation of
	perform_subtraction().  New argument: want_async (see above).
	(do_delete_text): Tell do_sub_recpt that we don't want any
	async-sub-recipient messages.
	(sub_recipient): Tell do_sub_recpt to send async-sub-recipient
	messages.
	* src/server/testsuite/lyskomd.0/09.exp: async-sub-recipient
 	messages are no longer erroneously sent.  Comment out the code
	that causes a core dump.
	* src/server/testsuite/lyskomd.0/send-async-cov.exp: Likewise.
	* src/server/testsuite/lyskomd.0/06.exp: async-sub-recipient
 	messages are no longer erroneously sent.

651
652
653
654
	Added a test case that corresponds to the bug found 1999-05-24.
	* src/server/testsuite/lyskomd.0/09.exp: This test now causes
	lyskomd to dump core while garbing texts.

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
	Async-sub-recipient was not always sent when it should be, and it
	contained bogus data.
	* src/server/testsuite/lyskomd.0/10.exp: Check async-sub-recipient.
	* src/server/text.c (do_sub_recpt): Send async-sub-recipient
	immediately before removing the recipient, so that we know where
	to send it.  As a side effect the type is now read from the proper
	misc-info group.
	(send_async_deleted_text): Use #if 0 instead of comments to
	comment out code.
	* src/server/testsuite/lyskomd.0/send-async-cov.exp: Handle
	async-sub-recipient messages that are (probably erroneously) sent.
	* src/server/testsuite/lyskomd.0/06.exp: Handle
	async-sub-recipient messages that are (probably erroneously) sent.

	New debug call: start-garb.  New debug async: garb-ended.
	* src/server/testsuite/lyskomd.0/09.exp: New tests.
	* src/server/text-garb.c (last_checked): Moved to file-level
	scope, so that start_garb can access it.
	(last_start): Likewise.
	(garb_text): Send async-garb-ended when the garb ends, but only if
	DEBUG_CALLS is defined.
	(start_garb): New function, only  present when DEBUG_CALLS is
	defined.
	* src/server/session.c (accept_async): Handle ay_garb_ended if
	DEBUG_CALLS is defined.
	* src/server/send-async.c (async_garb_ended): New
	function, only present when DEBUG_CALLS is defined.
	* src/server/send-async.h: Likewise.
	* src/server/prot-a-send-async.c (prot_a_async_garb_ended): New
	function, only present when DEBUG_CALLS is defined.
	* src/server/prot-a-send-async.h: Likewise.
	* src/server/fncdef.txt: New debug call: start_garb.
	* src/server/async.h (Async): New debug async: ay_garb_ended.
	* src/include/services.h (start_garb): New debug call.

	Cut-n-paste error in Protocol-A.texi fixed.
	* doc/Protocol-A.texi (async-sub-recipient): The explanation
	talked about "the new recipient".

694
695
1999-05-24  Per Cederqvist  <ceder@lysator.liu.se>

Per Cederqvist's avatar
Per Cederqvist committed
696
697
698
699
	Removed a newline in the log.
	* src/server/simple-cache.c (init_cache): Removed an extra newline
	in the log output.

700
	Don't lose data when converting the database.
701
702
703
704
	* src/server/ram-output.c (foutput_membership): Call
	foutput_membership_0 for output format 1.
	(foutput_membership_list): Call foutput_membership_list_0 for
	output format 1.
Per Cederqvist's avatar
Per Cederqvist committed
705
706
	* src/server/ram-output.c (foutput_text_list): Don't get stuck in
	an eternal loop.
Per Cederqvist's avatar
Per Cederqvist committed
707
708
	* src/server/dbck-cache.c (cache_sync_all): Output format 2 is
	known.
709
710
711
712
713
714
715
	* src/server/ram-parse.c (fparse_text_list): Set
	first_appendable_key when reading a Local_to_global from an
	old-style empty text-list.
	* src/server/local-to-global.c (l2g_set_first_appendable_key): New
	function.
	* src/server/local-to-global.h: Likewise.

716
717
718
719
720
1999-05-24  David Byers  <davby@ida.liu.se>

	* src/server/ram-parse.c (fparse_member_list): Initialize member
	structure before parsing it.

721
	* src/server/memory.c (init_member): New function.
722

723
724
1999-05-24  Per Cederqvist  <ceder@lysator.liu.se>

725
726
727
	Update the distributed config file.
	* run-support/config: Removed the "Mux port" line.

728
729
730
	Update the help message of dbck.
	* src/server/dbck.c (give_help): File format 2 is supported.

731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
	Port to Solaris.
	* src/server/lockdb.c: Include <netdb.h>.

	Fix the anti-timetravel change.
	* src/server/dbck-cache.c (sync_output_header): Output the
	supplied state instead of hardcoding it to DIRTY.  Added a missing
	const.

	Added copyright header to the following files.
	* src/server/testsuite/config/leaks.exp: 
	* src/server/testsuite/config/prot-a.exp: 
	* src/server/testsuite/l2g.0/00.exp: 
	* src/server/testsuite/l2g.0/01.exp: 
	* src/server/testsuite/l2g.0/02.exp: 
	* src/server/testsuite/l2g.0/03.exp: 
	* src/server/testsuite/l2g.0/04.exp: 
	* src/server/testsuite/l2g.0/05.exp: 
	* src/server/testsuite/l2g.0/06.exp: 
	* src/server/testsuite/l2g.0/07.exp: 
	* src/server/testsuite/l2g.0/08.exp: 
	* src/server/testsuite/l2g.0/09.exp: 
	* src/server/testsuite/l2g.0/10.exp: 
	* src/server/testsuite/l2g.0/11.exp: 
	* src/server/testsuite/leaks.0/leaks00.exp: 
	* src/server/testsuite/leaks.0/leaks01.exp: 
	* src/server/testsuite/leaks.0/leaks02.exp: 
	* src/server/testsuite/leaks.0/leaks03.exp: 
	* src/server/testsuite/leaks.0/leaks04.exp: 
	* src/server/testsuite/leaks.0/leaks05.exp: 
	* src/server/testsuite/leaks.0/leaks06.exp: 
	* src/server/testsuite/leaks.0/leaks07.exp: 
	* src/server/testsuite/leaks.0/leaks08.exp: 
	* src/server/testsuite/leaks.0/leaks09.exp: 
	* src/server/testsuite/leaks.0/leaks10.exp: 
	* src/server/testsuite/leaks.0/leaks99.exp: 
	* src/server/testsuite/lyskomd.0/00.exp: 
	* src/server/testsuite/lyskomd.0/01.exp: 
	* src/server/testsuite/lyskomd.0/02.exp: 
	* src/server/testsuite/lyskomd.0/03.exp: 
	* src/server/testsuite/lyskomd.0/04.exp: 
	* src/server/testsuite/lyskomd.0/05.exp: 
	* src/server/testsuite/lyskomd.0/06.exp: 
	* src/server/testsuite/lyskomd.0/07.exp: 
	* src/server/testsuite/lyskomd.0/08.exp: 
	* src/server/testsuite/lyskomd.0/admin-cov.exp: 
	* src/server/testsuite/lyskomd.0/aux-items-cov.exp: 
	* src/server/testsuite/lyskomd.0/aux-items.conf: 
	* src/server/testsuite/lyskomd.0/aux-items.cov: 
	* src/server/testsuite/lyskomd.0/broken-aux-items.conf: 
	* src/server/testsuite/lyskomd.0/cache-node-cov.exp: 
	* src/server/testsuite/lyskomd.0/conf-file-cov.exp: 
	* src/server/testsuite/lyskomd.0/conference-cov.exp: 
	* src/server/testsuite/lyskomd.0/connections-cov.exp: 
	* src/server/testsuite/lyskomd.0/disk-end-of-atomic-cov.exp: 
	* src/server/testsuite/lyskomd.0/membership-cov.exp: 
	* src/server/testsuite/lyskomd.0/null.exp: 
	* src/server/testsuite/lyskomd.0/person-cov.exp: 
	* src/server/testsuite/lyskomd.0/prot-a-parse-cov.exp: 
	* src/server/testsuite/lyskomd.0/prot-a-send-async-cov.exp: 
	* src/server/testsuite/lyskomd.0/send-async-cov.exp: 
	* src/server/testsuite/lyskomd.0/session-cov.exp: 
	* src/server/testsuite/lyskomd.0/text-cov.exp: 
	* src/server/testsuite/tcpconnect.py: 
	* src/server/testsuite/test-l2g.c: 

	Release administrativa.
Per Cederqvist's avatar
Per Cederqvist committed
797
798
799
800
801
802
	* NEWS: Set the release date to 1999-05-31.
	* configure.in: Set version number to 2.0.0.
	* versions (SERVER-VERSION): 2.0.0.
	(SERVER-COMPAT-VERSION): 20000.

	Cleanup.
803
	* doc/prot-A-english.txt: File removed.
Per Cederqvist's avatar
Per Cederqvist committed
804
805
806
	* src/server/To-do: File removed.
	* src/server/Makefile.am (EXTRA_DIST): Removed To-do.

Per Cederqvist's avatar
Per Cederqvist committed
807
808
809
810
811
	Update copyright notices.
	* <all files>: update the year in the copyright notice.
	* scripts/update-copyright: Handle yearspans.
	* scripts/lyskomd-copyrights: Updated the list of files to ignore.

812
	Documentation fixes.
Per Cederqvist's avatar
Per Cederqvist committed
813
814
	* doc/Protocol-A.texi (get-collate-table): Document what short
	collate tables means.
815
816
817
818
819
820
821
822
823
824
825
826
	* doc/lyskomd.texi (Administration): komrunning now takes the
	arguments "start" and "stop".
	* HACKING: Mention the versions of bison and flex.
	* README: Updated for the release.

	Work around automake bugs.
	* src/server/testsuite/Makefile.am (noinst_DATA): Removed the
	"nodist_" prefix, which was apparently broken.
	* doc/Makefile.am (dist_noinst_DATA): Removed to work around an
	automake bug.  For now, the check for tabs is not performed
	automatically.

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

	Documentation fixes.
	* doc/Protocol-A.texi (Top): Updated for release.
	(What do I have unread): @code{@xref{}} and @code{@ref{}} don't
	work, so don't use the construct.
	
	--with-traced-allocations broke the test suite.
	* src/server/testsuite/config/unix.exp (l2g_start): Handle
	TRACED_ALLOCATIONS.
	* src/server/testsuite/test-l2g.c (main): Handle
	TRACED_ALLOCATIONS.
	* src/server/ram-smalloc.c: Comment updated.

	Update the protocol revision.
	* src/server/fncdef.txt: Whitespace fix.
	* doc/Protocol-A.texi: Removed all up, next and prev pointers
	once again.
	(Document Revision History): Specify
	tomorrow as release date.
	(Protocol Version History): Update the entry for protocol version
	10.  The status of 59=create-anonymous-text-old was changed to
	Obsolete in protocol version 10, not version 9.
	(Protocol Requests): Mark experimental calls with an "e".
	(add-member-old): Typo fixed.
	(unmark-text): This was introduced in protocol version 6, not 4.
	(set-expire): Change status to Experimental.
	(set-keep-commented): Change status to Experimental.
	(set-pers-flags): Fix markup error.

David Byers's avatar
David Byers committed
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
1999-05-22  David Byers  <davby@ida.liu.se>

	Timestamp the saved database and refuse to start if the server
	travels backwards through time:
	* doc/lyskomd.texi (Version 2): Documented new header format. 

	* db-crypt/db/lyskomd-data: Added timestamp

	* src/server/dbck-cache.c (cache_sync_all): Handle output format 2.
	(sync_output_header): New function.
	(cache_sync_all): Use sync_output_header to output file header. 

	* src/server/simple-cache.c (pre_sync): Use sync_output_header.
	(sync_output_header): New function outputs file header and
	timestamp.
	(save_one_text): Use it.
	(init_cache): Check the timestamp on the database before loading.

	* src/server/connections.c (toploop): Log a warning if time starts 
	moving backwards.

	Documentation fixes:
	* doc/Protocol-A.texi (get-membership): Fixed FIXME.

	* doc/lyskomd.texi: Fixed misplaced @code and @i markup.

	* doc/Protocol-A.texi: Fixed misplaced @code and @samp markup.


Per Cederqvist's avatar
Per Cederqvist committed
886
887
888
889
890
891
892
1999-05-23  Per Cederqvist  <ceder@lysator.liu.se>

	Port to automake 1.4a.
	* src/server/testsuite/Makefile.am (check_PROGRAMS): Don't bother
	building test-l2g until "make check".
	(nodist_noinst_DATA): Dont' distribute site.exp and .gdbinit.

893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
1999-05-23  Per Cederqvist  <ceder@gratia>

	Disallow tabs in lyskomd.texi.
	* doc/Makefile.am (dist_noinst_DATA): New target, containing
	Protocol-A.notab and lyskomd.notab.
	(MOSTLYCLEANFILES): Added Protocol-A.notab and lyskomd.notab.
	(protocol-a.info): Remove the tab-checking code.
	(SUFFIXES): Added .texi .notab.
	(.texi.notab): New rule, that checks that no tabs exist in Texinfo
	files.

	Get rid of the file local-to-global.doc.  Various fixes to
	lyskomd.texi.
	* doc/Makefile.am (EXTRA_DIST): Remove local-to-global.doc.
	* doc/local-to-global.doc: File removed; contents moved into
	lyskomd.texi.
	* doc/lyskomd.texi: Removed all up, next and prev pointers
	once again.  Untabify.  Remove trailing whitespace from lines.
	(Overview): Added a missing "General" to the name of the license.
	Don't talk about my private future plans.
	(Installation): Refer to README.
	(DBCK Bugs): don't say that dbck doesn't lock the database; it does.
	(Function Templates for prot-a-send-async.c): Improve the markup.
	(Configuration Options): Mention --with-traced-allocations.
	(local-to-global): New node.  Not yet translated.

919
920
921
922
923
924
925
926
927
928
1999-05-22  Per Cederqvist  <ceder@lysator.liu.se>

	Translated and updated the release instructions.
	* HACKING: New file.  This contains an updated translation of
	SERVER-RELEASE and information about the versions of various tools
	that was used to create the release.
	* SERVER-RELEASE: Removed.
	* Makefile.am (EXTRA_DIST): Added HACKING.  Removed
	SERVER-RELEASE.

929
930
1999-05-21  Per Cederqvist  <ceder@lysator.liu.se>

Per Cederqvist's avatar
Per Cederqvist committed
931
932
933
934
935
936
937
938
	"make dist" fixes.
	* src/server/Makefile.am (lyskomd_SOURCES): Added server-time.h
	* src/server/testsuite/Makefile.am (EXTRA_DIST): Changed
	leaks.0/no-aux-items.exp  and leaks.0/lots-aux-items.exp to
	leaks.0/no-aux-items.conf and leaks.0/lots-aux-items.conf.
	* doc/Makefile.am (EXTRA_DIST): Removed ADMINISTRATION and
	misc_items.

939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
	Get rid of the very obsolete SERVER and CLIENT macros.
	* src/server/testsuite/Makefile.am (INCLUDES): Removed -DSERVER.
	* src/server/Makefile.am (INCLUDES): Removed -DSERVER.
	* src/libraries/libcommon/parser.c: Don't use SERVER.
	* src/libraries/libcommon/Makefile.am (INCLUDES): Removed -DSERVER.
	* src/include/services.h: Don't use SERVER or CLIENT.  Fix some
	indentation.
	(KOM_): Macro removed.  All users updated.
	* src/include/kom-types.h: Don't use SERVER or CLIENT.  Fix some
	indentation.
	* configure.in: Don't define SERVER.
	* acconfig.h (PROTOTYPES): Removed.
	(SERVER): Removed.
	(VERSION): Removed.

954
955
956
957
958
959
	Remove all gcov files in "make mostlyclean".
	* src/server/testsuite/Makefile.am (MOSTLYCLEANFILES): Added "*.da",
	"*.bb", "*.gcov" and "*.bbg".
	* src/libraries/libmisc/Makefile.am: Likewise.
	* src/libraries/libcommon/Makefile.am: Likewise.

David Byers's avatar
David Byers committed
960
961
962
963
964
965
966
967
1999-05-21  David Byers  <davby@ida.liu.se>

	* doc/lyskomd.texi (Adding New Input Types): Document the fact
	that you have to free data in prot_a_destruct as well.

	* src/server/prot-a.c (prot_a_destruct): Free num_lists in the
	client structure.
	
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
1999-05-21  Per Cederqvist  <ceder@paragon.signum.se>

	Don't lock the database when dbck is running in read-only mode.
	* src/server/dbck.c (iflag): Now static.
	(rflag): Now static.
	(gflag): Now static.
	(sflag): Now static.
	(force_output): Now static.
	(unset_change_name_is_error): Now static.
	(dump_text_numbers): Now static.
	(main): Only lock the database when dbck might want to change it.
	Added a missing break statement.  Mark the database as modified if
	any of --pres-pres-conf, --conf-pres-conf, --motd-conf,
	--motd-of-kom or --kom-news-conf is used.

David Byers's avatar
David Byers committed
983
984
1999-05-21  David Byers  <davby@ida.liu.se>

985
986
	* src/server/testsuite/Makefile.am (EXTRA_DIST): Added null.exp 

David Byers's avatar
David Byers committed
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
	* doc/lyskomd.texi: Merged lyskomdb.texi into this document. 

	* src/server/server-config.c: Unassign the lockfile name.

	* doc/Makefile.am (info_TEXINFOS): Removed deleted files.
	(EXTRA_DIST): Removed deleted files from EXTRA_DIST.

	* src/server/conf-file.c (unassign_string): New function.

	* src/server/conf-file.h (parameter): Added a free function.

	* src/server/simple-cache.c (free_all_cache): Free the
	small_conf_arr.

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