ChangeLog 235 KB
Newer Older
1
2
3
4
5
6
7
8
9
2001-05-08  Per Cederqvist  <ceder@moria>

	Removed a few nodes that contained no information.
	* doc/Protocol-A.texi (Conference Lists (x-kom/conflist)): Empty
	node removed.
	(Only read the most recent N texts): Likewise.
	(Review the last N by FOO to BAR): Likewise.
	(Remote control): Likewise.

10
11
2001-05-05  Per Cederqvist  <ceder@moria>

12
13
14
15
16
17
	Update checkargs.py for todays edits of Protocol-A.texi.
	* doc/checkargs.py (lexer.run): It is not OK to reach EOF.
	(lexer.ignore): Ignore @display.
	(lexer.toplevel_bye): Exit when reaching "bye".
	(lexer.__parse_userdefined_types): Ignore @need commands.

18
19
20
21
22
23
24
	Separate sentences with two spaces, not one, as per the Texinfo
	documentation.
	* doc/Protocol-A.texi: Sentences in Texinfo should end with double
	spaces.  Set sentence-end and sentence-end-double-space in the
	local variables section, and update the entire document with lots
	of scattered whitespace changes.

25
26
27
28
29
30
31
32
33
34
35
	Split and move text in Protocol-A.texi to make the generated Info
	file more useful.
	* doc/Protocol-A.texi (LysKOM Data Types): Split into several
	subnodes.  Updated all cross references to point to the relevant
	subnode.
	(Protocol Notation): New node.  Move text here to avoid too much
	text before menus in Info and HTML output.  Describe the syntax of
	call headings.
	(About Asynchronous Messages): New node.  Move text here to avoid
	too much text before menus in Info and HTML output.

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
	Remove redundancy in the description of error messages.  Fix the
	wording of the error messages that may be sent during connection
	establishment.  Mention that the client can issue several calls at
	once, and that replies are sent in order.
	* doc/Protocol-A.texi (Connecting to the Server): New node,
	containing the first part of the "Client-Server Dialog" node.
	Added a footnote about "Protocol A" and "Protocol B".  Added some
	missing markup.  Don't talk about what happens when a protocol
	other than Protocol A is used.  The error message for an
	unsupported protocol is "%%LysKOM unsupported protocol.", not
	"%%Unsupported protocol".  The error message used when no
	connections are available was lacking the trailing dot.
	(Client-Server Dialog): Much text moved to "Connecting to the
	Server".  Mention that the client can issue several calls without
	waiting for the replies, but that it must read replies when they
	arrive.  Mention that the replies are sent back in the proper
	order, but that clients are wise not to rely on that.  Renamed
	error-no in the error-reply to error-code, to make the document
	more coherent.  Changed the type of error-code to INT32, and
	removed the types Error-No and error-no.  Added the "insane token
	length" and "insane array size" error messages to protocol-error.
	(Error Responses): Node removed.  The old contents were moved into
	"Client-Server Dialog" or discarded because it was redundant.
	(Protocol Error Messages): New name for former "Special Errors".
	Removed "%%No connections left.", since that message is only sent
	during connection establishment.
	(Error Codes): Refer to error-status, not error-code.
	(Future changes): Talk about why giving the server freedom to
	reorder the replies may be beneficial, and how it can be done
	without breaking any clients.

Per Cederqvist's avatar
Per Cederqvist committed
67
68
69
70
71
2001-05-04  Per Cederqvist  <ceder@moria>

	Minor Protocol-A edits.
	* doc/Protocol-A.texi (Error Codes): Introductory text added.

Per Cederqvist's avatar
Per Cederqvist committed
72
73
74
75
76
77
78
79
80
81
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".

82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
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.

135
136
137
138
139
140
141
142
143
144
145
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 '}'.
146
147
148
149
	(lexer.__parse_userdefined_types): Expect @lt{} markup
	(lexer.__parse_userdefined_struct): Likewise.
	(lexer.__parse_userdefined_selection): Likewise.
	(lexer.__parse_userdefined_enumeration_of): Likewise.
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
	* 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.
165
166
	(LysKOM Data Types): Added @lt markup around all types on the
	right hand side.
167

168
169
2001-04-30  Per Cederqvist  <ceder@moria>

170
171
172
173
174
175
176
177
	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.

178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
	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.

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
	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.

252
253
2001-04-28  Per Cederqvist  <ceder@moria>

254
255
256
257
258
259
260
261
262
263
264
265
	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.

266
267
268
269
270
271
272
273
274
275
	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.

276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
	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.

340
341
2001-04-18  Per Cederqvist  <ceder@moria>

342
343
344
345
346
347
348
349
350
351
	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.

352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
	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.

373
374
375
376
377
378
379
	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.

380
381
382
383
384
385
386
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
422
423
424
425
426
427
428
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.

429
430
431
432
433
434
435
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.

436
437
438
439
440
441
442
443
444
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
445
446
447
448
449
450
2000-11-08  Per Cederqvist  <ceder@lysator.liu.se>

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

451
452
2000-09-06  Per Cederqvist  <ceder@lysator.liu.se>

Per Cederqvist's avatar
Per Cederqvist committed
453
454
	* Release 2.0.4.

455
456
457
458
	Remove Y2k bug.
	* src/server/prot-a-output.c (prot_a_output_time): Remove stupid
	Y2k joke.q

459
460
461
462
	Added missing files to the distribution.
	* src/server/testsuite/lyskomd.0/Makefile.am (EXTRA_DIST): Added
	gen-15.py.

463
464
465
466
467
468
469
470
	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.
471
472
	* src/server/testsuite/config/leaks.exp (startup_leaks): Added
	$srcdir to aux-item file.
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
	* 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.

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
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.

519
520
521
522
523
524
525
526
527
528
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.
529
	* src/server/testsuite/lyskomd.0/17.exp: New test.
530
531
532
533
534
535
536
537
538
539
	* 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.
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
625
626

	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.

627
628
629
630
631
632
633
634
635
636
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.

637
638
639
640
641
642
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.

643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
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.

659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
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.

679
680
681
682
683
684
685
686
687
688
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.

689
690
691
692
693
694
695
696
697
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".

698
699
700
701
702
703
704
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.)

705
706
707
708
709
710
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.)

711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
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.

733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
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
749
750
751
752
753
754
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.

755
756
757
758
759
760
761
762
763
764
765
766
767
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
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
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.

784
785
1999-09-18  Per Cederqvist  <ceder@lysator.liu.se>

Per Cederqvist's avatar
Per Cederqvist committed
786
787
788
789
790
	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.

791
792
793
794
795
796
	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.

797
798
799
800
801
802
803
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.

804
805
806
807
808
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.
809
	* src/server/testsuite/leaks.0/lots-aux-items.conf: Ditto.
810

811
812
813
814
815
816
817
	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
818
	obsolete as of version 10 of Protocol A.
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
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
845
846
1999-07-24  Per Cederqvist  <ceder@lysator.liu.se>

847
848
	Implemented splitkomdb.  This is highly experimental and not yet
	documented.
Per Cederqvist's avatar
Per Cederqvist committed
849
850
851
852
853
854
855
856
	* 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.

857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
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
880
881
882
883
884
885
886
887

	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
888
889
890
1999-07-13  Kent Engström  <kent@lysator.liu.se>

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

895
1999-07-12  Per Cederqvist  <ceder@lysator.liu.se>
896

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

	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
937
938
939
940
941
	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.

942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
	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".
965
966
967
	* src/server/testsuite/lyskomd.0/03.exp: Don't use "Regexps use
	collate table".
	* src/server/testsuite/lyskomd.0/regexp-match-cov.exp: LIkewise.
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988

	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.

989
1999-07-08  Per Cederqvist  <ceder@lysator.liu.se>
990
991
992
993

	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.
994
995
996
	* src/server/testsuite/lyskomd.0/14.exp: New file.
	* src/server/testsuite/Makefile.am (EXTRA_DIST): Added
	lyskomd.0/14.exp.
997

Kent Engström's avatar
Kent Engström committed
998
999
1000
1999-07-07  Kent Engström  <kent@artemis.hack.org>

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