ChangeLog 232 KB
Newer Older
Per Cederqvist's avatar
Per Cederqvist committed
1
2
3
4
5
6
7
8
9
10
2001-05-03  Per Cederqvist  <ceder@lysator.liu.se>

	More minor Protocol-A fixes.
	* doc/Protocol-A.texi (Future changes): The mark-as-unread call is
	missing.
	(Error Responses): New name for former "Error Codes".  Moved to
	inside the "Client-Server Dialog" chapter.
	(Special Errors): Moved inside the "Client-Server Dialog" chapter.
	(Error Codes): New name for former "Normal Errors".

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
2001-05-01  Per Cederqvist  <ceder@moria>

	Some minor Protocol-A.texi fixes.
	* doc/Protocol-A.texi (mark-as-read): Typo fixed: "as" -> "at".
	(create-text): Added missing @misc markup.
	(Name Expansion): Removed the "Case Conversion" heading, as the
	collate table is only relevant for "KOM Conventions" name
	expansion.  Update the information with a link to the
	get-collate-table request.
	(The Misc-Info List): Mention that bcc-recpt are converted to
	cc-recpt only when visible.
	(Client-Server Dialog): Spelling error fixed.  Mention that
	not-implemented works only if the client follows the strict rules
	regarding whitespace in protocol requests.
	(set-conf-type): Name the "four-bit conference type".
	(get-conf-stat-old): This returns a Conference-Old, not a
	Conference.
	(Future changes): Complain about super conferences, the securty
	system, and last-text-read/read-texts.
	
	Move some stuff to appendices in Protocol-A.texi, and move some
	other stuff around.
	* doc/Protocol-A.texi (Concepts): New name for former
	"Introduction".
	(The User Area (x-kom/user-area)): Added a reference to "The User
	Area".
	* doc/Protocol-A.texi (Preface): New name for former "Overview".
	(Notation): Section moved from "Overview" to "Fundamentals".
	(Client-Server Dialog): Section moved from "Introduction" to
	"Fundamentals".
	(Fundamentals): New name for former chapter "Data Types".
	(LysKOM Data Types): Moved from "Data Types" to a separate
	chapter.  All subsections moved up one level.
	(Name Expansion): All subsections moved up one level -- the level
	was wrong.
	(Aux-Item Types, Predefined Aux-Item Types): Moved the list of
	predefined aux-items to the new chapter Aux-Item Types.
	* doc/checkargs.py (lexer): Ignore @appendix.
	* doc/Protocol-A.texi (Document Edition History): Moved to a
	separate appendix.
	(Protocol Version History): Moved to a separate appendix.
	(Name Expansion): Moved to a separate chapter.
	(Writing Clients): Now an appendix, not a chapter.
	(Importing and Exporting E-Mail): Likewise.
	(Articles, LysKOM Data Types): Don't say that the misc-info list
	will be removed in the future.  Move such speculation to a new
	appendix.
	(Future changes): New appendix.
	(Articles): Clarify the discussion about local and global text
	numbers.
	(Persons and Sessions): Make this a @section instead of a
	@subsection to Conferences.

64
65
66
67
68
69
70
71
72
73
74
2001-05-01  Per Cederqvist  <ceder@moria>

	Make all types in requests and asynchronous messages clickable in
	HTML.  Prepend @i{Example:} to *all* request examples.  Added a
	missing example.  Avoid @iftex constructs in the document body.
	* doc/Makefile.am (check-doc): Ignore @anchor and @lt.
	* doc/checkargs.py (lexer): Ignore @need, @reqexample and @anchor.
	(lexer.__parse_userdefined_types): Handle @anchor.
	(lexer.__parse_type): Requre @lt markup.
	(lexer.__get_lt_token): New method.
	(lexer.__get_token): Handle the new tokens '{' and '}'.
75
76
77
78
	(lexer.__parse_userdefined_types): Expect @lt{} markup
	(lexer.__parse_userdefined_struct): Likewise.
	(lexer.__parse_userdefined_selection): Likewise.
	(lexer.__parse_userdefined_enumeration_of): Likewise.
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
	* doc/Protocol-A.texi (@reqexample): New macro.  Use it in front
	of every example of request usage.  Previously, many but not all
	examples were introduced by a @i{Example:} line.  That line is now
	included in the @reqexample macro, together with a "@need 2000"
	statement.
	(IAM, Pell, Kent, presconf): New values, to handle TeX/Info
	incompatibilities regarding Latin-1 characters without having to
	clutter the document with @iftex constructs.  Removed all related
	@iftex constructs in the body of the document.   @ae{} can be used
	in both Info and TeX mode; do so.
	(set-super-conf): Missing example added.
	(Simple Data Types): Add @anchor targets for all types.
	(LysKOM Data Types): Likewise.
	(@lt): New macro.  Use it in all requests and asynchronous
	messages to mark up the types.
94
95
	(LysKOM Data Types): Added @lt markup around all types on the
	right hand side.
96

97
98
2001-04-30  Per Cederqvist  <ceder@moria>

99
100
101
102
103
104
105
106
	Added macros @asynclink and @asyncdlink.
	* doc/checkargs.py (lexer): Ignore asynclink.
	(lexer.toplevel_asyncdlink): New method.
	* doc/Protocol-A.texi (@asynclink, @asyncdlink): New macros.  Use
	them instead of @link where appropriate.
	(Asynchronous Messages): Use @reqlink instead of @req.
	* doc/Makefile.am (check-doc): Handle @asynclink and @asyncdlink.

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
	Check documentation of asynchronous messages.
	* doc/Makefile.am (check-doc): Create requests-numbered.tmp.
	Create asyncs-numbered.tmp.  Omit DEBUG_CALLS-only asynchronous
	messages from "async.h".
	* doc/Protocol-A.texi: Create the "am" index for asynchronous
	messages.  Add @amindex and @aarg markup for all asynchronous
	messages, and remove the trailing semicolon in the argument list.
	Merge all indices into one.
	(add-member): Malformed sentence fixed.
	(async-i-am-off, async-i-am-on-obsolete): Mark as obsolete, and
	tell why they are no longer used.
	(async-broadcast): Mark as obsolete.
	(Type Index, Request Index): Removed.
	(Index): Added.
	* doc/checkargs.py (lexer.__init__): Initialize __amindex,
	__defined_asyncs and __implemented_asyncs.
	(lexer): Ignore @defcodeindex and @syncodeindex.
	(lexer.toplevel_node): Check for undocumentet arguments to
	asynchronous messages.
	(lexer.toplevel_findex): Check for @amindex entries in @findex
	nodes.
	(lexer.toplevel_amindex): New method.
	(lexer.__parse_async): New method.
	(lexer.toplevel_aarg): Implemented.
	(lexer.toplevel_bye): Check for unterminated @amindex nodes and
	undocumented asynchronous messages.
	* doc/checkargs.py (lexer.__init__): Read requests-numbered.tmp.
	(lexer.toplevel_findex): Check that the same request name isn't
	used twice.
	(lexer.toplevel_bye): Check that all implemented requests are
	documented.
	(lexer.__parse_request): Check that the proper request number is
	used, and that the request is really implemented.

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
	Check type definitions, that all types are used, and some related
	stuff.  Renamed ENUMREATION_OF to ENUMERATION-OF.
	* doc/Protocol-A.texi (Simple Data Types): Renamed ENUMERATION_OF
	to ENUMERATION-OF.  Nothing else uses "_".  The only user updated.
	(LysKOM Data Types): Missing semicolon added.
	* doc/checkargs.py (defined_types): New variable.
	(number_suffixed): New function.
	(prot_a_type): New class, with several derived classes.
	(reader.error): Allow the line number to be a string, such as
	'*builtin*'.
	(lexer.__init__): Added 'ENUMERATION-OF' to the set of builtin
	aggregates.  Add builtin types to defined_types.
	(lexer): Ignore @dots{}.
	(lexer.toplevel_bye): Check that all defined types are used.
	(lexer.toplevel_tindex): Pass a list of the @tindex entries to
	__parse_userdefined_types, so that that function can check that
	they are all defined.
	(lexer.__parse_userdefined_types): Implemented.  Several helper
	functions introduced.
	(lexer.__parse_type): Simplified.  Do some error checking and
	bookkeeping.  Return a tuple, so that it is easier for the caller
	to see if an array was used.  All callers updated.
	(lexer.__bad_arg): Accept "reservedX" and "flgX" for numerical
	values of X.
	(lexer.__get_token): Handle the new tokens "::=", "|" and "=".
	Ignore comments (introduced with "!").

2001-04-29  Per Cederqvist  <ceder@moria>

	Minor fixes to the protocol specification.
	* doc/Protocol-A.texi: Use @dots{} instead of "...".
	(Simple Data Types): Use "::=" instead of ":" in two places.
	Added missing @example...@end example markup.  Fixed the SELECTION
	example -- the tail is not optional.

	@reqdlink now works when using TeX.
	* doc/Protocol-A.texi: Added a proper definition of @reqdlink for
	TeX, written by David Byers.  Use "@tex" instead of "@begin tex".
	* doc/checkargs.py (lexer): Ignore @tex.

181
182
2001-04-28  Per Cederqvist  <ceder@moria>

183
184
185
186
187
188
189
190
191
192
193
194
	Check case of user-defined types.
	* doc/checkargs.py (lexer.__init__): Set __builtin_types,
	__builtin_aggregates, __builtin_typelike, __tindex_seen and
	__types_used.
	(lexer.__seen_type): New method.
	(lexer.toplevel_tindex): Implement.
	(lexer.__parse_userdefined_types): New method, not yet
	implemented.
	(lexer.__bad_type): Check that the casing rules for user-defined
	types are adhered to.
	* doc/Protocol-A.texi (set-pers-flags): Fixed typo.

195
196
197
198
199
200
201
202
203
204
	Check @linkhere usage.  Stricter parens checking.
	* doc/checkargs.py (reader.check_paren_null): New name for former
	check_paren_eof.  All callers updated.  Clear __parenstack, so
	that errors are reported only once.
	(lexer.__init__): Initialize __linkhere.
	(lexer.toplevel_node): Check that no @linkhere or closing
	parenthesis are pending.
	(lexer.toplevel_reqdlink, lexer.__assert_no_linkhere) 
	(lexer.toplevel_linkhere): New methods.

205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
	Renamed modify_server_info to modify_system_info, to match
	Protocol-A.texi.
	* src/include/services.h (modify_system_info): New name for former
	modify_server_info().
	* src/server/admin.c: Likewise.
	* src/server/fncdef.txt: Likewise.

	Mark up all requests and fix all references in Protocol-A.texi.
	Check for balanced parenthesis.
	* doc/checkargs.py (reader.parens, reader.rev_parens): New
	constants.
	(reader.__init__): Initialise __parenstack, __errfound and
	__quoted.
	(reader.error, reader.errfound): New methods.
	(reader.ungetc, reader.getc_eofok): Handle quoting and parens
	nesting.
	(reader.check_paren_eof): Report unbalanced parens at EOF.
	(lexer.__init__): Moved __errfound to the reader class.
	(lexer.run): Check for unbalanced parens at EOF.
	(lexer.toplevel_reqlink): Ignore.
	(lexer.toplevel_reqdlink, lexer.toplevel_linkhere): Ignore, for
	now.  We should check nesting et c of these.
	(lexer.toplevel_unmacro): Ignore.
	(lexer.error): Moved the implementation to the reader class.  This
	is only a wrapper.
	* doc/Makefile.am (check-doc): Add @reqlink and @reqdlink to
	requests-@.tmp.
	* doc/constructs.expected: Added "@linkhere{}".
	* doc/Protocol-A.texi: Use @reqlink and @reqdlink where
	appropriate.  Fix lots of malformed @ref, @xref and @pxref
	usages.  Also:
	(@reqlink, @reqdlink, @linkhere): New markup macros.
	(Document Edition History): Added missing @async markup.
	(About Aux-Items): Added missing @field markup.
	(Simple Data Types): Removed an unbalanced close parenthesis.
	(LysKOM Data Types): Added missing @field markup. Removed an
	unbalanced close parenthesis.
	(lookup-name): Added a missing close parenthesis.
	(get-info-old): Added a missing close parenthesis.  This returns
	Info-Old, not Info.
	(create-anonymous-text-old): Added missing @field markup.
	(login): Added missing close parenthesis.
	(local-to-global): Don't use fancy mathemtical notations for
	half-closed intervals.  Added missing @type markup.

2001-04-23  Per Cederqvist  <ceder@moria>

	Don't omit stuff when formatting Protocol-A.texi as HTML.
	* doc/Protocol-A.texi: Use @ifnottex instead of @ifinfo almost
	everywhere that @ifinfo was used.
	(re-z-lookup): Added missing spaces in the
	example.
	(lookup-z-name): Likewise.
	(get-members): Likewise.
	(Protocol Requests): Removed text about "upright text" in
	the replies in the examples, since no such text exists.

2001-04-19  Per Cederqvist  <ceder@moria>

	Fix a couple of Protocol-A.texi errors.
	* doc/Protocol-A.texi (Protocol Requests): Mention that extra
	newlines sometimes are used in the examples.
	(create-person): Language fix.

269
270
2001-04-18  Per Cederqvist  <ceder@moria>

271
272
273
274
275
276
277
278
279
280
	Fix a few more Protocol-A.texi errors.
	* doc/Protocol-A.texi (get-membership-old): Use a "want-read-texts
	: BOOL" argument instead of "mask : BITSTRING(want-read-texts)".
	The result is the same, but using BOOL makes the prototype easier
	to read.  Document the argument more verbosely.
	(get-membership): Do likewise.
	(login): Do likewise for the "invisible" argument.
	(create-anonymous-text-old): Added @misc{} markup.
	* doc/constructs.expected: Updated.

281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
	Fix lots of minor errors in Protocol-A.texi.  Document that the
	invitation membership flag is automatically set in some
	circumstances.
	* doc/checkargs.py (lexer.__bad_arg): Added a missing
	__unget_token to get a better error message.
	* doc/Protocol-A.texi: Fix all @rarg{} arguments that used
	the wrong argument name.  Edit all request prototypes so that the
	consistently use semicolon as an argument delimiter, not an
	argument terminator.  Add missing @rarg{} markup.
	(Protocol Version History): Remove a
	trailing space.
	(get-membership-old): Use @field{read-texts} instead of
	@rarg{read-texts}.
	(get-created-texts): Added missing '->' token.
	(create-anonymous-text): Added @misc{} markup.
	(create-person): Use @priv{create-pers} instead of
	@rarg{create-pers}.
	(modify-system-info): Docuent items-to-delete and items-to-add.
	(add-member): Document type, including the fact that the
	invitation field is sometimes set automatically.

302
303
304
305
306
307
308
	Check that @rarg{} is used correctly.
	* doc/Makefile.am (check-doc): Depend on info. so that
	checkargs.py is only run on a file that makeinfo can process.
	Run checkargs.py on Protocol-A.texi.
	* doc/checkargs.py: New file.
	* doc/lyskomd.texi: Break overly long lines.

309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
2001-04-16  Per Cederqvist  <ceder@moria>

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

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

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

358
359
360
361
362
363
364
2001-04-13  Per Cederqvist  <ceder@lysator.liu.se>

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

365
366
367
368
369
370
371
372
373
2001-04-10  Per Cederqvist  <ceder@cendio.se>

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

Per Cederqvist's avatar
Per Cederqvist committed
374
375
376
377
378
379
2000-11-08  Per Cederqvist  <ceder@lysator.liu.se>

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

380
381
2000-09-06  Per Cederqvist  <ceder@lysator.liu.se>

Per Cederqvist's avatar
Per Cederqvist committed
382
383
	* Release 2.0.4.

384
385
386
387
	Remove Y2k bug.
	* src/server/prot-a-output.c (prot_a_output_time): Remove stupid
	Y2k joke.q

388
389
390
391
	Added missing files to the distribution.
	* src/server/testsuite/lyskomd.0/Makefile.am (EXTRA_DIST): Added
	gen-15.py.

392
393
394
395
396
397
398
399
	Test and document SIGWINCH (re-read aux-item.conf).
	* src/server/testsuite/lyskomd.0/18.exp: New file, testing SIGWINCH.
	* src/server/testsuite/lyskomd.0/04.exp: Add $srcdir to the
	front of the aux-item file name when calling lyskomd_start.
	* src/server/testsuite/lyskomd.0/aux-items-cov.exp: Likewise.
	* src/server/testsuite/leaks.0/leaks10.exp: Add $srcdir to the
	front of the aux-item file name when calling startup_leaks.
	* src/server/testsuite/leaks.0/leaks99.exp: Likewise.
400
401
	* src/server/testsuite/config/leaks.exp (startup_leaks): Added
	$srcdir to aux-item file.
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
	* src/server/testsuite/config/unix.exp (lyskomd_start): Don't add
	$srcdir to the name of the aux-item file.
	(lyskomd_fail_start): Likewise.
	* doc/lyskomd.texi (Parameters): aux-items.conf is reread when a
	SIGWINCH is received.
	(Signals): Likewise.

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

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

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
2000-09-05  Per Cederqvist  <ceder@moria>

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

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

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

448
449
450
451
452
453
454
455
456
457
2000-09-04  Per Cederqvist  <ceder@moria>

	Implement the aux-items recommended-conf and allowed-content-type.
	* src/server/testsuite/lyskomd.0/01.exp: Expect aux-item 29 and 30
	to exist.
	* src/server/testsuite/lyskomd.0/03.exp: Expect aux-item 29 and 30
	to exist.  Give Kelly Talisman two allowed-content-type
	aux-items.  Renumber.
	* run-support/aux-items.conf: faq-text may be set on the server.
	Added recommended-conf and allowed-content-type.
458
	* src/server/testsuite/lyskomd.0/17.exp: New test.
459
460
461
462
463
464
465
466
467
468
	* doc/Protocol-A.texi (Predefined Aux-Item Types): Added lots of
	things that aux-items can be set on:
	    cross-reference += letterbox
	    redirect += letterbox
	    x-face += letterbox, server
	    alternate-name += letterbox
	    mx-allow-filter += letterbox
	    mx-reject-forward += letterbox
	    allowed-content-type += letterbox, server
	Updated the description of the allowed-content-type aux item.
469
470
471
472
473
474
475
476
477
478
479
480
481
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
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555

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

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

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

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

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

556
557
558
559
560
561
562
563
564
565
2000-08-28  Per Cederqvist  <ceder@moria>

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

566
567
568
569
570
571
2000-08-12  Per Cederqvist  <ceder@moria>

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

572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
2000-08-09  Per Cederqvist  <ceder@moria>

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

588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
2000-08-05  Per Cederqvist  <ceder@moria>

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

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

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

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

608
609
610
611
612
613
614
615
616
617
2000-05-09  David Byers  <davby@ida.liu.se>

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

618
619
620
621
622
623
624
625
626
2000-04-28  Per Cederqvist  <ceder@lysator.liu.se>

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

627
628
629
630
631
632
633
2000-03-13  Per Cederqvist  <ceder@biffen.cendio.se>

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

634
635
636
637
638
639
1999-11-20  Per Cederqvist  <ceder@lysator.liu.se>

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

640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
1999-10-28  David Byers  <davby@ida.liu.se>

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

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

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

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

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

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

662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
1999-10-20  Kent Engström  <kent@lysator.liu.se>

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

Kent Engström's avatar
Kent Engström committed
678
679
680
681
682
683
1999-10-12  Kent Engström  <kent@lysator.liu.se>

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

684
685
686
687
688
689
690
691
692
693
694
695
696
1999-10-09  David Byers  <davby@ida.liu.se>

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

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

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

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

Per Cederqvist's avatar
Per Cederqvist committed
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
1999-09-19  Per Cederqvist  <ceder@lysator.liu.se>

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

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

713
714
1999-09-18  Per Cederqvist  <ceder@lysator.liu.se>

Per Cederqvist's avatar
Per Cederqvist committed
715
716
717
718
719
	Prepare for dbck improvement.
	* src/server/local-to-global.c (l2g_expensive_set): New function,
	not yet completely implemented.
	* src/server/local-to-global.h (l2g_expensive_set): New function.

720
721
722
723
724
725
	Always install the distributed aux-items.conf.
	* run-support/Makefile.am (sysconf_DATA): Added aux-items.conf.
	(EXTRA_DIST): Removed aux-items.conf.
	(install-data-local): Don't install aux-items.conf here.
	* README: Warn that aux-items.conf is always installed.

726
727
728
729
730
731
732
1999-08-18  Per Cederqvist  <ceder@cendio.se>

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

733
734
735
736
737
1999-07-25  Kent Engström  <kent@lysator.liu.se>

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

740
741
742
743
744
745
746
	Experience from writing a mail importer.
	* doc/Protocol-A.texi: made definition of address aux-items
	clearer (after a discussion in LysLysKOM), rewrote a lot of
	the text on mail import.

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

	* Release 2.0.3.

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

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

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

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

776
777
	Implemented splitkomdb.  This is highly experimental and not yet
	documented.
Per Cederqvist's avatar
Per Cederqvist committed
778
779
780
781
782
783
784
785
	* src/server/splitkomdb.c: New file.
	* src/server/Makefile.am (bin_PROGRAMS): Added splitkomdb.
	(splitkomdb_SOURCES): New variable.
	* src/server/param.h (struct kom_par): Added backup_dir.
	* src/server/server-config.c (parameters): Added "Backup export
	directory".
	(read_configuration): Handle param.backup_dir.

786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
1999-07-23  Per Cederqvist  <ceder@lysator.liu.se>

	* Release 2.0.2.

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

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

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

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

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

1999-07-14  Kent Engström  <kent@lysator.liu.se>
Kent Engström's avatar
Kent Engström committed
809
810
811
812
813
814
815
816

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

Kent Engström's avatar
Kent Engström committed
817
818
819
1999-07-13  Kent Engström  <kent@lysator.liu.se>

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

824
1999-07-12  Per Cederqvist  <ceder@lysator.liu.se>
825

826
	* Release 2.0.1.
827
828
829
830
831
832
833
834
835
836
837
838
839
840
	
	* doc/Protocol-A.texi (Document Revision History): Release date
	set to 1999-07-12.

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

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

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

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

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

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

Per Cederqvist's avatar
Per Cederqvist committed
866
867
868
869
870
	Fixed a harmless Y2k bug.
	* src/server/log.c (kom_logv): Log the year 2000 as "00", not
	"100".
	(kom_log): (non-HAVE_VPRINTF version) Likewise.

871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
	Release preparations.
	* NEWS: Added an entry for the 2.0.1 release.
	* versions (SERVER-VERSION): 2.0.1.
	(SERVER-COMPAT-VERSION): 20001.
	* configure.in: Set version number to 2.0.1.
	* README: Recommend running dbck when upgrading from 2.0.0.

	Regexps are always case sensitive.
	* doc/Protocol-A.texi: This is revision 10.1 of the specification.
	(Overview): Protocol versions never have a suffix.
	(Document Revision History): Wrote entry for 10.1.
	(Name Expansion): Regexps are case sensitive.
	(re-lookup-person): Tempus changed.
	(re-lookup-conf): Tempus changed.
	(re-z-lookup): Regexps are case sensitive.
	* src/server/param.h (struct kom_par): Removed the
	regex_use_collate_table field.
	* src/server/regex-match.c (lookup_regexp): Never use a translate
	table.
	* src/server/server-config.c (parameters): Removed "Regexps use
	collate table".
	* doc/lyskomd.texi (Parameters): Removed "Regexps use collate
	table".
894
895
896
	* src/server/testsuite/lyskomd.0/03.exp: Don't use "Regexps use
	collate table".
	* src/server/testsuite/lyskomd.0/regexp-match-cov.exp: LIkewise.
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917

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

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

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

918
1999-07-08  Per Cederqvist  <ceder@lysator.liu.se>
919
920
921
922

	Allow the author of a text to change the recipient type.
	* src/server/text.c (add_recipient): Allow the text author to
	change the recipient type.
923
924
925
	* src/server/testsuite/lyskomd.0/14.exp: New file.
	* src/server/testsuite/Makefile.am (EXTRA_DIST): Added
	lyskomd.0/14.exp.
926

Kent Engström's avatar
Kent Engström committed
927
928
929
930
931
932
933
934
1999-07-07  Kent Engström  <kent@artemis.hack.org>

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

935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
1999-07-06  Per Cederqvist  <ceder@gratia>

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

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

958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1999-07-05  Per Cederqvist  <ceder@gratia>

	Speed up access_perm, is_supervisor and is_strictly_supervisor by
	adding a supervisor field to Small_conf, and using it instead of a
	call to GET_C_STAT.  Remove the Conference argument to the above
	three functions and update all callers.  A few stray calls to
	GET_C_STAT were eliminated in the process.
	* src/include/kom-types.h (Small_conf): Added a supervisor field.
	* src/server/cache.h (cached_get_conf_supervisor): New function.
	* src/server/simple-cache.c (cached_get_conf_supervisor): New
	function.
	(mark_conference_as_changed): Copy the supervisor to the entry in
	small_conf_arr.
	(init_small_conf): Set supervisor.
	(setup_small_conf): Set supervisor.
	* src/server/manipulate.h (access_perm): Removed the victim_c
	argument.
	(is_supervisor): Removed the conf_c argument.
	(is_strictly_supervisor): Removed the conf_c argument.
	* src/server/membership.c (access_perm_helper): New name for
 	former plain_ol_access_perm.  Get rid of call to GET_C_STAT by
 	calling cached_get_conf_type instead.  Removed the victim_c
 	argument from all calls to is_supervisor.
	(plain_ol_fast_access_perm): Removed.
	(access_perm): Removed the victim_c argument.
	(copy_public_confs): Removed the victim_c argument from all calls
 	to is_supervisor.  Removed the victim_c argument from all calls to
 	access_perm.
	(sub_member): Likewise.
	(do_get_members): Likewise.
	(get_unread_confs): Likewise.
	(add_member_common): Likewise, and get rid of a call to GET_C_STAT.
	(do_get_membership): Likewise, and get rid of a call to GET_C_STAT.
	(set_membership_type): Likewise, and get rid of a call to GET_P_STAT.
	* src/server/conference.c (do_create_conf): Call
 	mark_conf_as_changed before checking that ACTPERS is allowed to
 	create aux-items in the conference he is creating.
	(is_supervisor): Removed the conf_c argument.
	(is_strictly_supervisor): Removed the conf_c argument.  Use
 	cached_conf_exists and cached_get_conf_supervisor and eliminate
 	one expensive call to GET_C_STAT.
	(change_name): Removed the victim_c argument from all calls to
 	access_perm.
For faster browsing, not all history is shown. View entire blame