ChangeLog 112 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
1999-04-18  Per Cederqvist  <ceder@gratia>

	Removed the last hardcoded configuration from updateLysKOM.
	* src/server/updateLysKOM.c (savecore): Use param.core_dir and
	param.savecore_path instead of hardcoding the values.
	* src/server/server-config.c (parameters): New parameter:
	"savecore path".
	(read_configuration): Handle param.savecore_path.
	* src/server/param.h (struct kom_par): New parameter:
	savecore_path.

12
13
1999-04-17  Per Cederqvist  <ceder@lysator.liu.se>

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
	updateLysKOM now reads the configuration file.
	* src/server/updateLysKOM.c (usage): New function.
	(checkstatus): Use parameters "Normal shutdown time", "Mail after
	downtime" and "Mail until downtime" instead of
	using hard-coded values.  Use "mail" instead of "Mail" to send the
	mail.
	(main): Read the configuration file.  Use parameters "Pid file",
	"Status file" and "lyskomd path" instead of hard-coded values.
	* src/server/server-config.c (param): Moved here from various
	files.
	(parameters): Added "Normal shutdown time", "Mail after downtime",
	"Mail until downtime" and "lyskomd path".
	(read_configuration): Handle param.lyskomd_path.
	* src/server/ramkomd.c: (param): Moved to server-config.c.
	* src/server/dbck.c (param): Moved to server-config.c.
	* src/server/Makefile.am (READ_CONFIG): New variable.
	(komrunning_SOURCES): Use READ_CONFIG to simplify code.
	(updateLysKOM_SOURCES): Added READ_CONFIG.
	* src/server/param.h (struct kom_par): New parameters:
	lyskomd_path, normal_shutdown_time, downtime_mail_start and
	downtime_mail_end.
	* src/server/server-config.c (parameters): Moved a few entries
	around, so that they fit under the various headings.

	Fixes to komrunning.c.
	* src/server/komrunning.c (param): Moved to server-config.c.
	(create_status): Write the name of the user as the first line of
	the status file.  With luck, that is a valid email address.

43
44
45
46
47
48
49
50
51
	Handle many simultaneous clients.
	* src/server/connections.c (login_request): Don't handle the "% No
	connections left" situation.
	(toploop): Handle ISC_EVENT_LOGIN_UNRELOCATED by returning a "% No
	connections left" message and closing the session, the way
	login_request used to do.
	* src/server/ramkomd.c (initialize): Warn if getrlimit and sysconf
	don't agree on the number of possible open files.

52
53
54
55
56
57
58
1999-04-17  Per Cederqvist  <ceder@gratia>

	Work towards handling more than 250 simultaneous clients.
	* src/server/ramkomd.c (server_init): Use isc configuration 1006
	and isc session configuration 1002.  Fill in fd_relocate with
	PROTECTED_FDS.

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
88
1999-04-17  Per Cederqvist  <ceder@lysator.liu.se>

	Re-implement komrunning in C.
	* src/server/standalone.c (register_jubel): Dummy implementation.
	* src/server/dbck.c (register_jubel): Moved to standalone.c.
	* src/server/dbck-cache.c (kom_info): Moved to standalone.c.
	* src/server/komrunning.c: New file; a reimplementation of
	komrunning.sh in C.
	* src/server/Makefile.am (bin_PROGRAMS): Added komrunning.
	(komrunning_SOURCES): New variable, which among other files
	includes komrunning.c.
	(updateLysKOM_SOURCES): Added pidfile.c.
	(dbck_SOURCES): Added standalone.c.
	* run-support/komrunning.sh: Removed.
	* run-support/Makefile.am (komrunning): Target removed.
	(bin_SCRIPTS): Removed komrunning.
	(EXTRA_DIST): Removed komrunning.sh.
	(MOSTLYCLEANFILES): Removed komrunning.

	Introduce the "Status file" parameter.
	* src/server/server-config.c (parameters): Added "Status file".
	(read_configuration): Handle param.status_file.
	* src/server/param.h (struct kom_par): Added status_file.
	* doc/lyskomd.texi (Parameters): Documented "Status file".

	Move pid file reading to pidfile.c.
	* src/server/updateLysKOM.c (main): Use pidfile to simplify code.
	* src/server/pidfile.h (read_pid_file): New function.
	* src/server/pidfile.c (read_pid_file): New function.

Per Cederqvist's avatar
Per Cederqvist committed
89
90
1999-04-15  Per Cederqvist  <ceder@lysator.liu.se>

Per Cederqvist's avatar
Per Cederqvist committed
91
92
93
94
95
96
97
	Document 103=local-to-global.
	* doc/Protocol-A.texi (accept-async): Added the error code
	long-array.
	(add-member): Added a comment.
	(local-to-global): Documented.
	(The User Area): Register WWW-kom.

Per Cederqvist's avatar
Per Cederqvist committed
98
99
100
	Test suite improvement.
	* src/server/testsuite/lyskomd.0/03.exp: Test calls 103 and 104.

101
102
103
104
105
1999-04-06  Per Cederqvist  <ceder@gratia>

	Yesterdays changes were incomplete.
	* src/server/ramkomd.c: Include local-to-global.h.

106
107
108
109
110
1999-04-05  Per Cederqvist  <ceder@panic.signum.se>

	Explain the Text-Mapping data type.
	* doc/Protocol-A.texi (LysKOM Data Types): Explain Text-Mapping.

111
112
1999-04-05  Per Cederqvist  <ceder@gratia>

113
114
115
116
117
118
119
120
	Change the external file format of a Local_to_global.
	* src/server/testsuite/l2g.0/09.exp: Adjusted to new external
	format of Local_to_global.
	* db-crypt/db/lyskomd-data: Adapted to new format of
	Local_to_global objects.
	* src/server/local-to-global.c (l2g_read): New file format.
	(put_ulong): New static function.
	(l2g_write): New file format.
Per Cederqvist's avatar
Per Cederqvist committed
121
122
	* src/server/testsuite/l2g.0/11.exp: Added lots of test cases for
	l2g_write.
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
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192

	Added statistics to Local_to_global.
	* src/server/ramkomd.c (dump_exit_statistics): Call dump_l2g_stats.
	* src/server/local-to-global.h: Comments added and improved.
	(dump_l2g_stats): New function.
	* src/server/local-to-global.c (nr_constructs): New static
	variable, used to gather statistics.  Changed all functions to set
	it where appropriate.
	(nr_l2gs): Likewise.
	(nr_l2gs_peak): Likewise.
	(nr_destructs): Likewise.
	(nr_clears): Likewise.
	(nr_copies): Likewise.
	(nr_joins): Likewise.
	(nr_joined_blocks): Likewise.
	(nr_blocks): Likewise.
	(nr_blocks_peak): Likewise.
	(nr_blocks_sparse): Likewise.
	(nr_blocks_sparse_peak): Likewise.
	(sparse_skip_cost): Likewise.
	(nr_sparse_compactions): Likewise.
	(nr_sparsifications): Likewise.
	(l2g_destruct): Actually fill the destructed object with garbage
	data, unless NDEBUG is defined.
	(dump_l2g_stats): New function.

	Make a lot of functions in ram-output.c static.  Increase const
	awareness.
	* src/server/ram-output.c (foutput_person_0): Added const
	qualifier to the person argument.
	(foutput_person_2): Likewise.
	(foutput_person): Likewise.
	(foutput_conference_2): Added const qualifier to the conf_c
	argument.
	(foutput_aux_flags): Now static.
	(foutput_aux_item): Now static.
	(foutput_aux_item_list): Now static.  Added const qualifier to the
	aux argument.
	(foutput_membership_type): Now static.
	(foutput_string): Now static.
	(foutput_priv_bits): Now static.
	(foutput_personal_flags): Now static.
	(foutput_text_list): Now static.
	(foutput_mark_list): Added const qualifier to the mark_list
	argument.
	(foutput_mark): Now static.
	(foutput_membership_list): Now static.
	(foutput_time): Now static.
	(foutput_member_list): Now static.
	(foutput_member): Now static.
	(foutput_conf_type): Now static.
	(foutput_misc_info): Now static.
	(foutput_ulong): Now static.
	* src/server/ram-output.h: Track changes in ram-output.c.
	* src/include/kom-types.h (Text_mapping): The l2g pointer is
	const.

	Some minor improvements to memory handling.
	* src/server/memory.c (free_conference): Call l2g_destruct.
	(free_person): Likewise.
	* src/server/conference.c (do_delete_conf): Don't call l2g_clear,
	since cache_delete_conf will do so.

	Remove useless compiler warnings.
	* configure.in: Don't use -Wtraditional and -Wnested-externs.

	Test suite improvement.
	* src/server/testsuite/config/unix.exp (lyskomd_death): Collect
	etc/memory-usage in usage.all.

193
194
195
196
197
198
199
	Test suite fix.
	* src/server/testsuite/config/unix.exp (lyskomd_start): The
	detection of a server compiled with --with-debug-calls was
	broken.

	Test Local_to_global even more.
	* src/server/testsuite/l2g.0/11.exp: Increase coverage even
200
	further.  Test l2g_clear.
201
202
203
	* src/server/local-to-global.h: Comments improved.
	* src/server/local-to-global.c: Comments improved.

204
205
206
207
208
209
210
211
212
213
214
215
216
217
1999-04-05  Per Cederqvist  <ceder@panic.signum.se>

	Added range-begin and range-end to Text-Mapping.
	* doc/Protocol-A.texi (LysKOM Data Types): Added range-begin and
	range-end to Text-Mapping.
	* src/server/prot-a-output.c (prot_a_output_text_mapping): Emit
	range-begin and range-end.
	* src/server/person.c (map_created_texts): Set result->first to
	the first text number that the user requested.  Don't move it
	forward if the text has been deleted.
	* src/server/text.c (local_to_global): Likewise.
	* src/server/testsuite/lyskomd.0/00.exp: Expect range-begin and
	range-end in Text-Mappings.

Per Cederqvist's avatar
Per Cederqvist committed
218
219
1999-04-04  Per Cederqvist  <ceder@panic.signum.se>

220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
	Merge everything from prot-A.txt into Protocol-A.texi and remove
	prot-A.txt.
	* doc/prot-A.txt: Removed.  Everything in it should now be present
	in Protocol-A.texi.
	* doc/Makefile.am (EXTRA_DIST): Removed prot-A.txt.
	* doc/Protocol-A.texi: Removed all up, next and prev pointers.
	Makeinfo can figure them out automatically.  Fixed proper nesting
	of nodes, and use @Top, so that this work.  Merge everything in
	prot-A.txt into this document:
	(Document Revision History): This is going to be revision 10.0
	which documents protocol version 10.  9.0 was distributed with
	lyskomd 1.9.0.  8.0 was distributed with lyskomd 1.8.0.
	(Protocol Version History): New name for former "Protocol Revision
	History".  Updated the information about version 9.
	(Protocol Design Principles): Node removed.  The "Client-Server
	Dialog" node contains the same information.
	(Client-Server Dialog): Specify the LysKOM port in the example.
	(Simple Data Types): Moved the text about data element separator
	and call terminator to "Client-Server Dialog".
	(user-active): Talk more about when clients should send this.
	(who-is-on-dynamic): Improved the explanation.
	(get-static-session-info): State that the returned information is
	immutable.

Per Cederqvist's avatar
Per Cederqvist committed
244
245
246
	Distribute sigflags.h.
	* src/server/Makefile.am (lyskomd_SOURCES): Added sigflags.h.

247
248
1999-04-03  Per Cederqvist  <ceder@lysator.liu.se>

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
	Renam do_sync_db to do_statistics.  Use sig_atomic_t instead of
	Bool for variables set from signal handlers.
	* src/server/sigflags.h: New file, containing sig_atomic_t flags.
	* src/server/ramkomd.c: Include "sigflags.h".
	(sighandler_hup): Use 1 instead of TRUE as
	value of go_and_die.
	(sighandler_usr1): Use 1 instead of TRUE as value of
	do_statistics.  Use do_statistics instead of do_sync_db.
	* src/server/connections.h (go_and_die): Declaration moved to
	sigflags.h.
	(do_sync_db): Renamed to do_statistics and moved to sigflags.h.
	* src/server/connections.c (go_and_die): Now sig_atomic_t instead
	of Bool.
	(do_statistics): New name for former do_sync_db.  New type:
	sig_atomic_t instead of Bool.  All users of do_sync_db updated.
	(toploop): Don't call cache_sync when do_statistics is set.
	* src/server/admin.c (shutdown_kom): Set go_and_die to 1, not TRUE.

	Cosmetic code cleanup.
	* src/server/prot-a-parse-arg-c.awk: Insert a blank line between
	the system includes and the local includes.

	Remove the empty function cache_sync.  Rename cache_sync in dbck
	to cache_sync_all.
	* src/server/simple-cache.c (cache_sync): Removed.
	* src/server/logII.c (log): Call cache_sync_all instead
	of cache_sync.
	* src/server/dbck.c (garb_text_file): Call cache_sync_all instead
	of cache_sync.
	(main): Likewise.
	* src/server/dbck-cache.c (cache_sync_all): New name for former
	cache_sync.
	* src/server/cache.h (cache_sync): Function removed.

	Distribution cleanup.
	* src/server/Makefile.am (EXTRA_DIST): Don't distribute logII.c.
	* configure.in: Create src/libraries/regex/doc/Makefile and
	src/libraries/regex/test/Makefile.

	Documentation fixes.
	* doc/lyskomdb.texi (Version 0): next-free-num and next-text-num
	are one greater than the number of existing records.
	(Version 1): The same error probably exists here.  Added comment
	about it.
	* doc/lyskomd.texi (Server Configuration File): Markup fixes.
	(Parameter Types): Markup fixes.
	(Parameters): Markup fixes.
	(Aux-Item Definition File): Markup fixes.
	(Administration): Update the discussion about updateLysKOM, dbck
	and komrunning.  Markup fixes.

	Make all man pages obsolete.  Generate the version number in
	lyskomd.texi automatically.  Make sure that lyskomd.texi and
	dbck.texi includes everyting that was documented in the man pages.
303
304
305
306
	* mkmi: Remove scripts/mdate-sh, which should be generated by
	automake.
	* doc/man/dbck.8: All documentation removed.  Refer to
	dbck.info.
307
308
309
	* doc/man/lyskom.5: Documentation removed.  Refer to lyskomdb.info.
	* doc/man/updateLysKOM.8: All documentation removed.  Refer to
	lyskomd.info.
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
	* doc/dbck.texi (Invoking dbck): Mention that dbck with no
	argument will examine the database without modifying it.
	(General Options): Document -h (aka --help).
	(Format Conversion Options): Minor layout fix.
	(Notes): Typos fixed.
	(Files): Markup fixes.
	* doc/Makefile.am: Break long lines.
	* doc/man/lyskomd.8: All documentation removed.  Refer to
	lyskomd.info.
	* doc/lyskomd.texi: Include version.texi and use @value{VERSION}
	instead of hard-coding the value.
	(Overview): Add Peter Eriksson to the list of signficant
	contributors.  ISC was a piece of very important "enabling
	technology".
	(Parameter Types): Mention that all files are absolute if the
	begin with '/'.
	(Parameters): Use @var{} instead of @i{}.  Markup fixes and other
	minor typo fixes.  The "Log statistics" path is used when the
	server receives a SIGUSR1 signal -- not a SIGHUP!
	(Aux-Item Definition File): The file name was wrong.  Don't use
	@i{}.  Document the "server" keyword.  Mention that permanent
	aux-items will be deleted when the object they belong to are
	deleted.
	(Signals): Removed a note about SIGUSR2 not working on Suns.  It
	should work fine there as well.
	(Files): Don't use @i{}.
	(Bugs): There is no detectable memory leak worth noting.

338
339
340
341
342
343
344
345
346
347
348
349
1999-04-03  Per Cederqvist  <ceder@gratia>

	The test cases shouldn't fail just because --with-debug-calls
	wasn't enabled.
	* src/server/ramkomd.c (main): Emit a warning message when
	--with-debug-calls is enabled.
	* src/server/testsuite/config/unix.exp (lyskomd_start): Look for
	the warning message about --with-debug-calls, and set debug_calls
	to a true value if it is found.
	* src/server/testsuite/lyskomd.0/admin-cov.exp: Don't attempt to
	use debug calls unless debug_calls is true.

350
351
1999-04-02  Per Cederqvist  <ceder@panic.signum.se>

Per Cederqvist's avatar
Per Cederqvist committed
352
353
354
355
	Fix "make clean".
	* src/server/testsuite/Makefile.am (mostlyclean-local): Remove db
	and etc.

356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
	Use automake defaults for the Lex and Yacc files, so that the
	distribution works.
	* src/server/Makefile.am (YFLAGS): Set it to "-d" so that we get
	the .h header file.
	(EXTRA_DIST): Removed aux-item-def.l and aux-item-def.y.
	(MAINTAINERCLEANFILES): Removed aux-item-def.tab.h.
	(lyskomd_SOURCES): Added aux-item-def-parse.y,
	aux-item-def-parse.h and aux-item-def-scan.l.
	(DISKOBJS): Removed aux-item-def.tab.c and aux-item-def.lex.c.
	(aux-item-def.tab.c): Target removed.  Rely on automake.
	(aux-item-def.lex.c): Target removed.  Rely on automake.
	* src/server/aux-item-def-parse.y: Rename hack added.  Don't
	redefine yyin and yylineno, since the Lex file no longer uses
	"%option prefix".  Remove blank lines at end of file.
	* src/server/aux-item-def-scan.l: Rename hack added.  Include
	aux-item-def-parse.h instead of aux-item-def.tab.h.  Don't
	redefine yylval and yyerror, and don't use "%option prefix" -- this
	change makes it impossible to have multiple Lex scanners, but on
	the other hand, it makes it possible to use automake.
	* src/server/aux-item-def.l: Renamed aux-item-def-scan.l.
	* src/server/aux-item-def.y: Renamed aux-item-def-parse.y.

378
379
380
381
382
383
384
385
386
	Added some missing files to the distribution.
	* doc/Makefile.am (EXTRA_DIST): Added IDEAS.
	* src/include/Makefile.am (noinst_HEADERS): Added kom-config.h.
	* src/server/Makefile.am (EXTRA_DIST): Added prot-a-is-legal-fnc.awk.
	* src/server/testsuite/Makefile.am (EXTRA_DIST): Added
	renumber.el, l2g.0/*.exp, lyskomd.0/*.exp,
	lyskomd.0/summarize.sh,	lyskomd.0/aux-items.conf,
	lyskomd.0/aux-items.cov and lyskomd.0/aux-items.leaks.

387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
1999-04-02  Per Cederqvist  <ceder@gratia>

	Make it possible to run "make check" even when not building in
	srcdir.
	* src/server/testsuite/config/unix.exp: (lyskomd_start): Run the
 	test suite in the build directory.  Look for files relative to
 	$srcdir or top_srcdir so that they are found properly.
	(aux_item_default_conf_file): Use $top_srcdir to get a full path.
	* src/server/testsuite/config/leaks.exp: Look for exp files in
	$srcdir.
	* src/server/testsuite/lyskomd.0/04.exp: Likewise.
	* src/server/testsuite/lyskomd.0/05.exp: Likewise.
	* src/server/testsuite/lyskomd.0/06.exp: Likewise.
	* src/server/testsuite/lyskomd.0/admin-cov.exp: Likewise.
	* src/server/testsuite/lyskomd.0/aux-items-cov.exp: Likewise.
	* src/server/testsuite/lyskomd.0/leaks00.exp: Likewise.
	* src/server/testsuite/lyskomd.0/leaks01.exp: Likewise.
	* src/server/testsuite/lyskomd.0/leaks02.exp: Likewise.
	* src/server/testsuite/lyskomd.0/leaks03.exp: Likewise.
	* src/server/testsuite/lyskomd.0/leaks04.exp: Likewise.
	* src/server/testsuite/lyskomd.0/leaks05.exp: Likewise.
	* src/server/testsuite/lyskomd.0/leaks06.exp: Likewise.
	* src/server/testsuite/lyskomd.0/leaks07.exp: Likewise.
	* src/server/testsuite/lyskomd.0/leaks08.exp: Likewise.
	* src/server/testsuite/lyskomd.0/leaks99.exp: Likewise.

	Fix broken tests.
	* src/server/testsuite/lyskomd.0/01.exp: The test could fail due
	to bad timing.  Fixed.

	Makefile fixes.
	* src/server/testsuite/config/Makefile.am (EXTRA_DIST): Added
	leaks.exp.
	(MOSTLYCLEANFILES): Added lyskomd-config.

422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
1999-03-31  Per Cederqvist  <ceder@gratia>

	Fix bugs in "make dist".
	* doc/Makefile.am (EXTRA_DIST): Removed Makefile.src.

	Dead code removal.
	* src/server/local-to-global.c (find_block_index_key): Blocks can
	never be completely empty.  Code simplified accordingly.
	(l2g_append): Likewise.
	(l2gi_next): Likewise.
	* src/server/ram-parse.c (fparse_info_2): Unreachable code removed.

	Increase coverage of local-to-global.c.
	* src/server/testsuite/l2g.0/11.exp: New file.

Per Cederqvist's avatar
Per Cederqvist committed
437
438
439
440
441
1999-03-28  Per Cederqvist  <ceder@link>

	* TODO: Updated according to priorization made by me and David
	Byers.

442
443
444
445
1999-02-06  Per Cederqvist  <ceder@gratia>

	* configure.in: Fixed a syntax error introduced yesterday.

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
1999-02-05  Per Cederqvist  <ceder@gratia>

	Don't produce meaningless warnings.
	* configure.in: Remove -Wshadow and -Wcast-qual since they give
	too many false warnings and are of limited use.

	Get rid of some warnings.
	* src/include/kom-types.h (Version_info_internal): const
	qualifiers added.
	* src/server/Makefile.am (version-info.c): Added const qualifier
	to kom_version_info.
	* src/server/version-info.h (kom_version_info): Added const
	qualifier.

	Don't use the wrong member of a union.
	* src/server/prot-a.c (prot_a_reply): Emit
	res->membership_list_old, not res->membership_list, when the
	return type is rt_membership_list_old.

	Remove the L2g_iterator_as_text_list typedef.
	* src/server/text.c (get_map): Use L2g_iterator
 	instead of L2g_iterator_as_text_list.
	* src/server/prot-a-output.h, src/server/prot-a-output.c
 	(prot_a_output_l2g_iterator_as_text_list): Use L2g_iterator
 	instead of L2g_iterator_as_text_list.
	* src/server/person.c (get_created_texts): Use L2g_iterator
	instead of L2g_iterator_as_text_list.
	* src/server/connections.h (Result_holder): The
	l2g_iterator_as_text_list member is now of type L2g_iterator
	instead of the typedef L2g_iterator_as_text_list.
	* src/include/services.h (get_created_texts): Use L2g_iterator
	instead of L2g_iterator_as_text_list.
	(get_map): Likewise.
	* src/include/kom-types.h (L2g_iterator_as_text_list): Typedef
	removed.

482
483
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
1999-01-18  David Byers  <davby@ida.liu.se>

	* src/server/testsuite/tcpconnect.py (fdset): Accep

	* src/server/testsuite/config/unix.exp (suspend_client): New
	function. Suspends reading from lyskomd.
	(resume_client): New function. Resumes reading.

	* src/server/testsuite/.cvsignore:  Added .da, .bb, .bbg and .da
	files.

	* src/libraries/libansi/.cvsignore: Added .da, .bb, .bbg and .da
	files.

	* src/libraries/libmisc/.cvsignore: Added .da, .bb, .bbg and .da
	files.

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

	* src/server/conference.c: Don't allow change to forbid_secret if
	there are secret members.

	* src/server/testsuite/tcpconnect.py (fdset): Added command
 	#suspend socket to stop the relay from reading from the socket, to
 	simulate a communications failure of sorts. Added #resume socket
 	to reopen communications.

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

	* src/server/debug.c: New file.
	(get_memory_info): Moved here from admin.c.

	* src/server/Makefile.am (ATOMS): Added debug.c

	* src/server/person.c (create_person_generic): Don't autologin
	unless do_auto_login is true
	(create_person_old): Set do_auto_login to true in call to
	create_person_generic.
	(create_person): Set do_auto_login to false in call to
	create_person_generic. 

	* src/server/connections.c (logout_client): Send async logout if
	the session is not logged in.

526
527
1999-01-15  David Byers  <davby@ida.liu.se>

528
529
530
531
532
533
534
535
536
	* src/server/send-async.c (async_new_name): Send new-name only to
	clients with the appropriate privileges.

	* src/server/membership.c (fast_access_perm): Only check priv bits 
	if the viewer is ACTPERS or ACT_P
	(access_perm): Ditto.

	* src/server/manipulate.h (ENA_C): New macro.

537
538
539
540
541
542
543
544
545
546
547
548
549
550
	* configure.in: New argument --with-optimization

	* src/server/conference.c (legal_name): Set err_stat when
	returning KOM_LONG_STR.

	* src/server/text.c (do_create_text): Set err_stat when returning
	KOM_LONG_STR.

	* src/server/aux-item-def.y: Never add disabled items to the
	definition list. 

	* src/server/admin.c (send_message): Set err_stat to
	param.broadcast_len.

551
552
1999-01-14  David Byers  <davby@ida.liu.se>

553
554
555
556
557
558
559
560
561
562
563
	* src/server/connections.h: Added Memory_info to Res_type and
	Result_holder to be compiled if DEBUG_CALLS is defined.

	* src/server/admin.c (debug_info): New function to get memory
	usage stats.

	* src/server/prot-a.c (prot_a_reply): Output memory_info

	* configure.in: Check for mallinfo if we do debug calls.
	Substitute EFENCE=1 if we use efence.

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

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
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
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
738
739
740
741
742
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.

743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
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
762
763
764
765
766
767
768
769
770
771
772
773
774
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.

775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
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
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
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
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
896
897
898
899
900
1998-12-22  Per Cederqvist  <ceder@gratia>

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

901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
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
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
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.

935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
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.

951
952
953
954
955
956
957
958
959
960
961
962
963
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.

964
965
966
967
968
969
970
971
972
973
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.

974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
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