ChangeLog 182 KB
Newer Older
1 2
1999-06-25  Per Cederqvist  <ceder@lysator.liu.se>

Per Cederqvist's avatar
Per Cederqvist committed
3 4 5 6 7 8
	* Release 2.0.0.
	
	Release administrativa.
	* scripts/lyskomd-copyrights: Don't attempt to update copyright
	notices in TeX temporary files.

9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
	Documentation fixes.
	* TODO: No showstoppers left.
	* NEWS: Several minor modifications.
	* README: Spelling errors fixed.
	* doc/Protocol-A.texi (mark-text-old): Spelling error fixed.
	(get-text-stat-old): Talk about bcc-recpt.
	(Protocol Requests): Warn that obsolete calls perform
	compatibility magic.  Include the number of the protocol request
	in the printed heading of the corresponding section.
	(set-pers-flags): Fix sectioning error.

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

24 25 26 27 28 29 30 31 32 33 34
	Release administrativa.
	* doc/Protocol-A.texi (Document Revision History): Update the
	release date for revision 10.0.
	* NEWS: Sort the news.

	The test suite failed when compiled outside the source directory.
	* src/server/testsuite/leaks.0/leaks10.exp: startup_leaks wants a
	relative path to the aux-items.conf file.
	* src/server/testsuite/leaks.0/leaks99.exp: Likewise.

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

	Fix messages created by dbck.
	* src/server/dbck.c (garb_text_file): Don't log the message
	"Ready."; the caller also logs it.

	Add trailing newline in format string to kom_log in the following
	functions:
	* src/server/regex-match.c (lookup_regexp):
	* src/server/ramkomd.c (sighandler_usr2):
	* src/server/prot-a-parse.c (prot_a_parse_num_list):
	(prot_a_parse_string):
	(prot_a_parse_aux_item_list):
	(prot_a_parse_misc_info_list):
	* src/server/person.c (do_unmark_text):
	(create_person_generic):
	* src/server/membership.c (mark_as_read):
	(set_membership_type):
	* src/server/dbck.c (main):
	* src/server/dbck-cache.c (cached_flush_text):
	* src/server/connections.c (call_function):
	(toploop):
	* src/server/conference.c (do_create_conf):
	* src/server/aux-items.c (find_linked_aux_item_list):
	(aux_item_validate):

60 61 62 63 64
1999-06-24  David Byers  <davby@ida.liu.se>

	* src/server/aux-items.c (aux_item_validate): Do not print the
	regexp that failed to compile since it is gone by this time.

65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
1999-06-23  Per Cederqvist  <ceder@lysator.liu.se>

	The default language is now selectable at configure time.
	* README: Mention --with-language=sv.
	* configure.in: Handle --with-language=sv.
	* db-crypt/db/Makefile.am (LANGUAGE_SUFFIX): New variable.
	(EXTRA_DIST): Added lyskomd-data-en.
	(install-data-local): Install lyskomd-data-en or lyskomd-data,
	depending on LANGUAGE_SUFFIX.
	* db-crypt/db/lyskomd-data-en: New file.

	Remove the unused file tmp-limits.h.
	* src/server/Makefile.am (lyskomd_SOURCES): Removed tmp-limits.h.
	* src/server/tmp-limits.h: Unused file removed.

	* NEWS: More items added.  This should now be fairly complete, but
	it may need restructuring.
	
83 84 85 86 87
1999-06-23  David Byers  <davby@ida.liu.se>

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

88 89
1999-06-21  Per Cederqvist  <ceder@lysator.liu.se>

Per Cederqvist's avatar
Per Cederqvist committed
90 91 92 93
	Fix the test suite.
	* src/server/testsuite/lyskomd.0/11.exp: Updated to match the log
	messages currently sent by lockdb.c.

94 95 96 97
	Don't send too many async-logout messages.
	* src/server/connections.c (logout_client): Back out the change
	made 1999-01-16; no longer send async-logout if the session is not
	logged in.
Per Cederqvist's avatar
Per Cederqvist committed
98 99
	* src/server/testsuite/lyskomd.0/07.exp: Don't expect async-logout
	when sessions are disconnected.
100 101 102
	* doc/Protocol-A.texi (async-logout): This message is not
	necessarily sent when a session disconnects and nobody is logged
	in.
103

104 105 106 107 108 109 110 111 112 113
1999-06-20  Per Cederqvist  <ceder@lysator.liu.se>

	Release fixes.
	* HACKING: Added a missing call to ./configure.
	* NEWS: Updated the release date.

	Improve log messages regarding database locking.
	* src/server/lockdb.c (lock_db): Clarify log messages.
	* src/server/ramkomd.c (initialize): Write an "exiting" message
	when the lock cannot be obtained.
114

115 116 117 118 119 120 121
	Fix parameters "Jubel" and "Ident-authentication".
	* src/server/server-config.c (parameters): Removed duplicate
	"Ident-authentication".
	* src/server/standalone.c (register_jubel): Don't call abort --
	this gets called from dbck if the config file contains a Jubel.

1999-06-19  Per Cederqvist  <ceder@lysator.liu.se>
122 123 124 125 126 127 128 129 130 131 132

	Save 5 items (configurable) per call.
	* src/server/param.h (struct kom_par): Added saved_items_per_call.
	* src/server/disk-end-of-atomic.c (end_of_atomic): Handle
	param.saved_items_per_call.
	* doc/lyskomd.texi (Parameters): Documented "Saved items per call".
	* src/server/server-config.c (parameters): Added "Saved items per
	call".
	(read_configuration): Check that param.saved_items_per_call is at
	least 1.

133 134 135 136 137 138
1999-06-14  Per Cederqvist  <ceder@cendio.se>

	Track name change of 556450-2507.
	* doc/lyskomd.texi (Overview): Signum Support has a new name:
	Cendio Systems.

139 140 141 142 143 144 145 146 147 148 149 150 151 152
1999-06-13  Per Cederqvist  <ceder@lysator.liu.se>

	Allow at most 128 aux_items of at most 16384 bytes each to be
	added at a single time.
	* src/server/server-config.c (parameters): Added "Max aux_item
	length".  Changed default of "Max aux_items added per call" to
	128.
	* src/server/prot-a-parse.c (prot_a_parse_aux_item): Use
	param.aux_len instead fo param.text_len as the limit for the
	aux-item size.
	* src/server/param.h (struct kom_par): Added aux_len.
	* doc/lyskomd.texi (Parameters): Document "Max aux_items added per
	call".  Lowered the default from "Max aux_items added per call".

David Byers's avatar
Server:  
David Byers committed
153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173
1999-06-13  David Byers  <davby@ida.liu.se>

	* src/server/testsuite/lyskomd.0/03.exp: Fix test cases for change 
	in aux_item_link_items below.

	* src/server/testsuite/lyskomd.0/aux-items-cov.exp: Fix test cases 
	for change in aux_item_link_items below.

	* src/server/aux-items.c (aux_item_link_items): Creator of linked
	aux item is now the creator of the source item. This gives the
	creator of the source item power over the linked item.

1999-06-11  David Byers  <davby@ida.liu.se>

	* src/server/aux-items.c: Cleared up comment for
	undelete_aux_item_list.

1999-06-05  David Byers  <davby@ida.liu.se>

	* src/server/text-garb.c: Always include setjmp.h
	
174 175
1999-06-05  Per Cederqvist  <ceder@lysator.liu.se>

Per Cederqvist's avatar
Per Cederqvist committed
176 177 178 179 180 181 182 183 184 185 186 187 188
	Test lock files.
	* src/server/testsuite/lyskomd.0/11.exp: New file.
	* src/server/testsuite/Makefile.am (EXTRA_DIST): Added
	lyskomd.0/11.exp.
	* src/server/Makefile.am (all-recursive check-recursive): Depend
	on dbck.
	* src/server/lockdb.c (lock_db): Log a message when a stale lock
	is removed.
	* src/server/dbck.c (main): Don't die until a character
	has been read if -d is used.
	* src/server/ramkomd.c (initialize): Don't die until a character
	has been read if -d is used.

189 190 191 192 193 194 195 196 197
	text-garb.c failed to compile unless --with-debug-calls was used.
	* src/server/text-garb.c: Always include <setjmp.h>, since it is
	needed by connections.h.

	strdup() is no longer used, so a replacement function is not
	needed.
	* configure.in: Commented out AC_REPLACE_FUNCS(strdup).
	* src/libraries/libansi/Makefile.am (EXTRA_DIST): Added strdup.c.

David Byers's avatar
Server  
David Byers committed
198 199 200 201 202 203 204 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
1999-06-05  David Byers  <davby@ida.liu.se>

	* regexp-match-cov.exp: New test case.

	* src/server/regex-match.c (lookup_regexp): Don't use strdup to
	copy the collate table.

	* src/server/text.c (modify_text_info): Check for read access on
	text. 

	* src/server/conference.c (modify_conf_info): Check for secret
	confs.

1999-05-31  David Byers  <davby@ida.liu.se>

	* src/server/text.c (add_comment): Moved access checks to avoid
	leaking information. 
	(add_footnote): Same here.

	* src/server/membership.c (set_membership_type): Move permission
	checks to avoid leaking information.

	* doc/lyskomd.texi (Adding a New Protocol Request): Added notes on 
	CHK_CONNECTION, CHK_LOGIN and how to avoid leaking secret
	information.

	* src/server/text.c (add_recipient): Moved GET_X_STAT and
	permission checks around to avoid leaking secret information.

	* src/server/text-garb.c (start_garb): Same here.

	* src/server/debug.c (get_memory_info): Call CHK_CONNECTION.
	(backdate_text): Same here.

	* src/server/aux-items.c (query_predefined_aux_items): Call
	CHK_CONNECTION.

	* src/server/admin.c (get_info_old): Call CHK_CONNECTION.
	(get_version_info): Same here.
	(set_info): Same here.
	(set_motd_of_lyskom): Same here.
	(sync_kom): Same here.

	* src/server/session.c (get_time): Call CHK_CONNECTION.
	(who_is_on_old): Same here.

	* src/server/text.c (local_to_global): Moved CHK_CONNECTION to
	very start of function.
	(get_last_text): Call CHK_CONNECTION.

	* src/server/person.c (set_priv_bits): Call CHK_CONNECTION.

	* src/server/session.c (get_client_version): Call CHK_CONNECTION.
	(get_client_name): Same here.
	(get_session_info): Same here.
	(get_session_info_ident): Same here.
	(get_static_session_info): Same here.

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

	Clean up file inclusion.  Avoid including files from .h files.
	Avoid underscores in dubious places.
	* src/server/admin.c: Don't include <stdarg.h>.
	* src/server/conf-file.c: Likewise.
	* src/server/conference.c: Likewise.
	* src/server/connections.c: Likewise.
	* src/server/dbck-cache.c: Likewise.
	* src/server/internal-connections.c: Likewise.
	* src/server/membership.c: Likewise.
	* src/server/memory.c: Likewise.
	* src/server/person.c: Likewise.
	* src/server/prot-a-parse.c: Likewise.
	* src/server/ram-output.c: Likewise.
	* src/server/ram-parse.c: Likewise.
	* src/server/ramkomd.c: Likewise.
	* src/server/regex-match.c: Likewise.
	* src/server/rfc931.c: Likewise.
	* src/server/send-async.c: Likewise.
	* src/server/server-config.c: Likewise.
	* src/server/session.c: Likewise.
	* src/server/simple-cache.c: Likewise.
	* src/server/text-garb.c: Likewise.
	* src/server/text.c: Likewise.
	* src/server/testsuite/test-l2g.c: Include "kom-types.h".
	* src/server/local-to-global.h: Don't include "kom-types.h".
	* src/server/log.h: Don't include <stdarg.h>.  Don't declare
	kom_logv.  Don't use leading underscores or double underscores in
	symbols we define.
	* src/server/log.c (kom_logv): Now static.
	* src/include/compiler.h: Don't use leading underscores or double
	underscores in symbols we define.
	* src/include/kom-errno.h: Likewise.
	* src/include/kom-types.h: Likewise.
	* src/include/misc-types.h: Likewise.
	* src/include/services.h: Likewise.

	Distribute new test suite files.
	* src/server/testsuite/Makefile.am (EXTRA_DIST): Added
	lyskomd.0/09.exp and lyskomd.0/10.exp.

	Some systems lack strdup.
	* configure.in: Added AC_REPLACE_FUNCS(strdup).
	* src/libraries/libansi/strdup.c (strdup): Replacement implementation.

Per Cederqvist's avatar
Per Cederqvist committed
302 303 304 305 306 307
1999-05-31  Per Cederqvist  <ceder@gratia>

	Fixed typo in the test suite.
	* src/server/testsuite/lyskomd.0/09.exp: Don't mix the timestamps
	for texts 5 and 6.

David Byers's avatar
Server  
David Byers committed
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 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396
1999-05-31  David Byers  <davby@ida.liu.se>

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

	* src/server/manipulate.h (CHK_LOGIN): Check for NULL
	active_connection.
	(ENA): Survive a NULL active_connection.
	(HAVE_PRIV): Take a Person argument.

1999-05-30  David Byers  <davby@ida.liu.se>

	* src/server/text-garb.c (garb_text): Reset deleted_texts after
	sending the debug message.

1999-05-30  David Byers  <davby@ida.liu.se>

	* src/server/testsuite/lyskomd.0/09.exp (1015): Data sent to
	client 2 contained secret recipient. Fixed.

	* src/server/testsuite/lyskomd.0/05.exp: Fixed added_by field in
	Membership and Member

	* src/server/testsuite/lyskomd.0/03.exp: (1349,1350, 1351, 2001,
	2006): Fixed added_by field in Membership and Member
	

	* src/server/testsuite/lyskomd.0/01.exp: (1116): Fixed added_by
	field in Membership

	* src/server/regex-match.c (lookup_regexp): Copy the collate table 
	before putting it into the pattern buffer.

	* src/server/testsuite/lyskomd.0/00.exp (1038): Person 6 added
	himself to his letterbox.

	* src/server/membership.c (do_add_member): Take added_by as an
	argument.
	(add_member_common): Call do_add_member with explicit added_by.

	* src/server/person.c (create_person_generic): The person adding
	the mailbox membership is the same as the creator of the person.

	Fixed problems related to permission checking
	* src/server/membership.c (fast_access_perm): Take a connection
	argument instead of a person and pers_stat combo.
	(access_perm): Same here.
	(copy_public_confs): Same here.

	* src/server/text.c (ok_to_create_next_text): Same here.

	* src/server/regex-match.c (lookup_regexp): Test for
	param.regex_use_collate_table was inverted.
	(lookup_regexp): Added connection argument.

	* src/server/text.c (filter_secret_info): Take a connection
	argument instead of viewer and viewer_p
	(send_async_deleted_text): Call filter_secret_info with connection 
	argument.
	(get_text_stat_old): Same here.
	(get_text_stat): Same here.
	(send_async_new_text_old): Same here.
	(send_async_new_text): Same here.
	(person_text_read_access): Check that active_connection is set
	before attempting to use it.
	(text_read_access): Take a connection as an argument.

	* src/server/conference.c (get_conf_stat): Call
 	filter_aux_item_list with active_connection instead of ACTPERS and
 	ACT_P.

	* src/server/admin.c (get_info): Call filter_aux_item_list with
	active_connection instead of ACTPERS and ACT_P.

	* src/server/session.c (leave_conf): New parameter for connection
	to remove dependency on active_connection.

	* src/server/internal-connections.c (get_conn_by_number):
 	Defensive check on active_connection. Restart server if
 	active_connection is unset and no session number is specified
 	since callers of this function expect to get something sensible
 	out of it.

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

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

Per Cederqvist's avatar
Per Cederqvist committed
397 398 399 400 401 402 403
1999-05-30  Per Cederqvist  <ceder@lysator.liu.se>

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

404 405
1999-05-30  Per Cederqvist  <ceder@gratia>

406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422
	Don't send async-sub-recipient messages when texts are deleted.
	* src/server/text.c (perform_subtraction): New static function,
	extracted from do_sub_recpt.  Only send async-sub-recipient if
	the new argument want_async is true.
	(do_sub_recpt): Code simplified by creation of
	perform_subtraction().  New argument: want_async (see above).
	(do_delete_text): Tell do_sub_recpt that we don't want any
	async-sub-recipient messages.
	(sub_recipient): Tell do_sub_recpt to send async-sub-recipient
	messages.
	* src/server/testsuite/lyskomd.0/09.exp: async-sub-recipient
 	messages are no longer erroneously sent.  Comment out the code
	that causes a core dump.
	* src/server/testsuite/lyskomd.0/send-async-cov.exp: Likewise.
	* src/server/testsuite/lyskomd.0/06.exp: async-sub-recipient
 	messages are no longer erroneously sent.

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

427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465
	Async-sub-recipient was not always sent when it should be, and it
	contained bogus data.
	* src/server/testsuite/lyskomd.0/10.exp: Check async-sub-recipient.
	* src/server/text.c (do_sub_recpt): Send async-sub-recipient
	immediately before removing the recipient, so that we know where
	to send it.  As a side effect the type is now read from the proper
	misc-info group.
	(send_async_deleted_text): Use #if 0 instead of comments to
	comment out code.
	* src/server/testsuite/lyskomd.0/send-async-cov.exp: Handle
	async-sub-recipient messages that are (probably erroneously) sent.
	* src/server/testsuite/lyskomd.0/06.exp: Handle
	async-sub-recipient messages that are (probably erroneously) sent.

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

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

466 467
1999-05-24  Per Cederqvist  <ceder@lysator.liu.se>

Per Cederqvist's avatar
Per Cederqvist committed
468 469 470 471
	Removed a newline in the log.
	* src/server/simple-cache.c (init_cache): Removed an extra newline
	in the log output.

472
	Don't lose data when converting the database.
473 474 475 476
	* src/server/ram-output.c (foutput_membership): Call
	foutput_membership_0 for output format 1.
	(foutput_membership_list): Call foutput_membership_list_0 for
	output format 1.
Per Cederqvist's avatar
Per Cederqvist committed
477 478
	* src/server/ram-output.c (foutput_text_list): Don't get stuck in
	an eternal loop.
Per Cederqvist's avatar
Per Cederqvist committed
479 480
	* src/server/dbck-cache.c (cache_sync_all): Output format 2 is
	known.
481 482 483 484 485 486 487
	* src/server/ram-parse.c (fparse_text_list): Set
	first_appendable_key when reading a Local_to_global from an
	old-style empty text-list.
	* src/server/local-to-global.c (l2g_set_first_appendable_key): New
	function.
	* src/server/local-to-global.h: Likewise.

488 489 490 491 492
1999-05-24  David Byers  <davby@ida.liu.se>

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

493
	* src/server/memory.c (init_member): New function.
494

495 496
1999-05-24  Per Cederqvist  <ceder@lysator.liu.se>

497 498 499
	Update the distributed config file.
	* run-support/config: Removed the "Mux port" line.

500 501 502
	Update the help message of dbck.
	* src/server/dbck.c (give_help): File format 2 is supported.

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 556 557 558 559 560 561 562 563 564 565 566 567 568
	Port to Solaris.
	* src/server/lockdb.c: Include <netdb.h>.

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

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

	Release administrativa.
Per Cederqvist's avatar
Per Cederqvist committed
569 570 571 572 573 574
	* NEWS: Set the release date to 1999-05-31.
	* configure.in: Set version number to 2.0.0.
	* versions (SERVER-VERSION): 2.0.0.
	(SERVER-COMPAT-VERSION): 20000.

	Cleanup.
575
	* doc/prot-A-english.txt: File removed.
Per Cederqvist's avatar
Per Cederqvist committed
576 577 578
	* src/server/To-do: File removed.
	* src/server/Makefile.am (EXTRA_DIST): Removed To-do.

Per Cederqvist's avatar
Per Cederqvist committed
579 580 581 582 583
	Update copyright notices.
	* <all files>: update the year in the copyright notice.
	* scripts/update-copyright: Handle yearspans.
	* scripts/lyskomd-copyrights: Updated the list of files to ignore.

584
	Documentation fixes.
Per Cederqvist's avatar
Per Cederqvist committed
585 586
	* doc/Protocol-A.texi (get-collate-table): Document what short
	collate tables means.
587 588 589 590 591 592 593 594 595 596 597 598
	* doc/lyskomd.texi (Administration): komrunning now takes the
	arguments "start" and "stop".
	* HACKING: Mention the versions of bison and flex.
	* README: Updated for the release.

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

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

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

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

David Byers's avatar
David Byers committed
629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657
1999-05-22  David Byers  <davby@ida.liu.se>

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

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

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

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

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

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

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

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


Per Cederqvist's avatar
Per Cederqvist committed
658 659 660 661 662 663 664
1999-05-23  Per Cederqvist  <ceder@lysator.liu.se>

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

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

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

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

691 692 693 694 695 696 697 698 699 700
1999-05-22  Per Cederqvist  <ceder@lysator.liu.se>

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

701 702
1999-05-21  Per Cederqvist  <ceder@lysator.liu.se>

Per Cederqvist's avatar
Per Cederqvist committed
703 704 705 706 707 708 709 710
	"make dist" fixes.
	* src/server/Makefile.am (lyskomd_SOURCES): Added server-time.h
	* src/server/testsuite/Makefile.am (EXTRA_DIST): Changed
	leaks.0/no-aux-items.exp  and leaks.0/lots-aux-items.exp to
	leaks.0/no-aux-items.conf and leaks.0/lots-aux-items.conf.
	* doc/Makefile.am (EXTRA_DIST): Removed ADMINISTRATION and
	misc_items.

711 712 713 714 715 716 717 718 719 720 721 722 723 724 725
	Get rid of the very obsolete SERVER and CLIENT macros.
	* src/server/testsuite/Makefile.am (INCLUDES): Removed -DSERVER.
	* src/server/Makefile.am (INCLUDES): Removed -DSERVER.
	* src/libraries/libcommon/parser.c: Don't use SERVER.
	* src/libraries/libcommon/Makefile.am (INCLUDES): Removed -DSERVER.
	* src/include/services.h: Don't use SERVER or CLIENT.  Fix some
	indentation.
	(KOM_): Macro removed.  All users updated.
	* src/include/kom-types.h: Don't use SERVER or CLIENT.  Fix some
	indentation.
	* configure.in: Don't define SERVER.
	* acconfig.h (PROTOTYPES): Removed.
	(SERVER): Removed.
	(VERSION): Removed.

726 727 728 729 730 731
	Remove all gcov files in "make mostlyclean".
	* src/server/testsuite/Makefile.am (MOSTLYCLEANFILES): Added "*.da",
	"*.bb", "*.gcov" and "*.bbg".
	* src/libraries/libmisc/Makefile.am: Likewise.
	* src/libraries/libcommon/Makefile.am: Likewise.

David Byers's avatar
David Byers committed
732 733 734 735 736 737 738 739
1999-05-21  David Byers  <davby@ida.liu.se>

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

	* src/server/prot-a.c (prot_a_destruct): Free num_lists in the
	client structure.
	
740 741 742 743 744 745 746 747 748 749 750 751 752 753 754
1999-05-21  Per Cederqvist  <ceder@paragon.signum.se>

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

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

757 758
	* src/server/testsuite/Makefile.am (EXTRA_DIST): Added null.exp 

David Byers's avatar
David Byers committed
759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 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
	* doc/lyskomd.texi: Merged lyskomdb.texi into this document. 

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

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

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

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

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

	* src/server/ramkomd.c (dump_exit_statistics): Moved remaining
	frees from main to here.

1999-05-20  David Byers  <davby@ida.liu.se>

	* src/server/testsuite/config/unix.exp: You can now supply
	MEMTRACE, ATTACH and EFENCE algorithms on the runtest command
	line.

	* src/server/testsuite/Makefile.am (EXTRA_DIST): Added new leak
	tests to EXTRA_DIST.

	Eliminated memory leaks in aux-item definition parser
	* src/server/aux-items.c (free_aux_item_definitions): Free each
	individual aux item definition. Another memory leak down the
	drain.

	* src/server/aux-item-def-parse.y: Free the string of an ID
	parameter when we see one. Another memory leak bites the dust.

	* src/server/aux-items.c (aux_item_definition_cache_regexp): Plug
	a really minor (constant size) memory leak.

	* src/server/aux-item-def-parse.y: Use string_free to free stuff
	allocated with s_crea_c_str.

	* src/server/aux-items.c (aux_item_trigger_link_item): Use
	string_free to free string allocated with s_crea_c_str.
	(free_aux_item_definitions): Same here.

1999-05-19  David Byers  <davby@ida.liu.se>

	* src/server/prot-a-parse.c (prot_a_parse_aux_item_list): Clear
	the dummy aux item after parsing it. Memory leak plugged.

	* src/server/memory.c (clear_aux_item): New function.
	(free_aux_item_list): Use it.

	* src/server/prot-a-parse.c (prot_a_parse_num_list): Handle
	truncation so protocol errors during truncation will not break the 
	server.
	(prot_a_hunt_nl): Same here.
	(prot_a_parse_aux_item_list): Same here.

	* src/server/prot-a.c (prot_a_init): Initialize
	array_parse_parsed_length

	* src/server/internal-connections.c (init_connection): Initialize
	array_parse_parsed_length

	* src/server/connections.c (free_parsed): Initialize
	array_parse_parsed_length.

	* src/server/connections.h (Connection): Added
	array_parse_parsed_length

	* src/server/fncdef.txt: Truncate strings in set_client_version to 
	client_data_len.

	* src/server/ramkomd.c (main): Free aux-item definitions on exit.

	* src/server/aux-items.c (free_aux_item_definitions): New function
 	to free all data associated with aux-item defs.

	* src/server/ramkomd.c (main): Free aux-item definition.

1999-05-18  David Byers  <davby@ida.liu.se>

	* src/server/prot-a-parse.c (prot_a_parse_aux_item_flags): Handle
	variable-length bitfields.

	* src/server/memory.c (init_aux_item_flags): New function.

	* src/server/prot-a-parse.c (prot_a_parse_priv_bits): Handle
 	variable-length bitfields.
	(prot_a_parse_membership_type): Same here.
	(prot_a_parse_conf_type): Same here.

	* src/server/memory.c (init_membership_type): New function.

	* doc/Protocol-A.texi (set-client-version): Added list of known
	clients.

	* ChangeLog.1: Inserted doc/LOGG

	* doc/LOGG: Added to ChangeLog.1

	* src/server/conference.c (set_supervisor): Use
	is_strictly_supervisor instead of is_supervisor.

863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881
1999-05-21  Per Cederqvist  <ceder@gratia>

	Lock the database file with an explicit lock file.
	* src/server/dbck.c (main): Lock and unlock the database.
	* src/server/ramkomd.c (init_data_base): Log the name of the lock
	file.
	(initialize): Lock the database before opening it.
	(main): Unlock the database.
	* src/server/server-config.c (parameters): Added "Lock file".
	(read_configuration): Handle param.lockfile_name.
	* src/server/param.h (struct kom_par): Added lockfile_name.
	* src/server/Makefile.am (lyskomd_SOURCES): Added lockdb.h and
	lockdb.c.
	(DBCK): Likewise.
	* src/server/lockdb.c, src/server/lockdb.h: New files.
 	(lock_db): New function.
	(unlock_db): New function.
	* doc/lyskomd.texi (Parameters): Document "Lock file:".

882 883 884 885 886 887 888 889 890 891
1999-05-20  Per Cederqvist  <ceder@signum.se>

	Clean up the framework for hunting memory leaks.
	* src/server/ram-smalloc.c: Document --with-traced-allocations.
	* src/server/realloc.gdb: File removed.
	* src/server/malloc.gdb: File removed.
	* src/server/free.gdb: File removed.
	* src/server/Makefile.am (EXTRA_DIST): Removed free.gdb,
	malloc.gdb and realloc.gdb.

892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927
1999-05-20  Per Cederqvist  <ceder@gratia>

	dbck failed to handle bcc_recpts.
	* src/libraries/libcommon/misc-parser.c (parse_next_misc): Handle
	bcc_recpt.  Fix usage of the COMPILE_CHECKS macro.

	Fix usage of the COMPILE_CHECKS macro.
	* src/server/text.c (find_recipient): Fix usage of the
 	COMPILE_CHECKS macro.
	(is_member_in_recpt): Likewise.
	(do_delete_misc): Likewise.
	(do_sub_recpt): Likewise.
	(sender): Likewise.
	(is_sender): Likewise.
	(is_comm_sender): Likewise.
	(skip_recp): Likewise.
	(recp_sent_by): Likewise.
	(filter_secret_info): Likewise.
	(do_delete_text): Likewise.
	(check_double_subm): Likewise.
	(check_double_comm): Likewise.
	(create_text_add_miscs): Likewise.
	* src/server/text-garb.c (garb_text): Fix usage of the
 	COMPILE_CHECKS macro.
	* src/server/ram-output.c (foutput_misc_info): Fix usage of the
 	COMPILE_CHECKS macro.
	* src/server/prot-a-output.c (prot_a_output_misc_info): Fix usage
 	of the COMPILE_CHECKS macro.
	* src/server/dbck.c (delete_misc): Fix usage of the
	COMPILE_CHECKS macro.
	(is_recipient): Likewise.

	Code cleanup.
	* src/include/kom-types.h: Removed code within #ifdef PROT_a.  It
	was never used, and is obsoleted by aux-items.

Per Cederqvist's avatar
Per Cederqvist committed
928 929 930 931
1999-05-19  Per Cederqvist  <ceder@signum.se>

	* NEWS: We document in Texinfo, not info.

932 933 934 935 936 937 938 939 940 941 942 943
1999-05-18  Per Cederqvist  <ceder@gratia>

	Avoid ".*" in regexps in the test suite, since they can easily
	match too much.
	* src/server/testsuite/lyskomd.0/06.exp: Use "$hollerith" instead
 	of a hard-coded regexp, to avoid parsing past newlines.
	* src/server/testsuite/lyskomd.0/person-cov.exp: Likewise.
	* src/server/testsuite/lyskomd.0/send-async-cov.exp: Likewise.
	* src/server/testsuite/lyskomd.0/04.exp: Use "$any" instead of "."
	to match any character, to avoid parsing past newlines.
	* src/server/testsuite/lyskomd.0/membership-cov.exp: Likewise.

Per Cederqvist's avatar
Per Cederqvist committed
944 945 946 947 948 949 950
1999-05-18  Per Cederqvist  <ceder@lysator.liu.se>

	Increase coverage.
	* src/server/testsuite/Makefile.am (EXTRA_DIST): Added
	lyskomd.0/08.exp.
	* src/server/testsuite/lyskomd.0/08.exp: New file.

David Byers's avatar
David Byers committed
951 952 953 954 955 956 957 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
1999-05-18  David Byers  <davby@ida.liu.se>

	* doc/lyskomd.texi: Merged dbck.texi and hacking.texi into
	lyskomd.texi.

	* src/server/testsuite/lyskomd.0/03.exp: Updated
	query-predefined-aux-items result.

	* src/server/testsuite/lyskomd.0/01.exp: Updated
	query-predefined-aux-items result.

	* src/server/aux-items.c (undelete_aux_item_list): Fixed
	conference/text mixup
	(delete_aux_item_list): Same here.
	(undelete_aux_item_list): Save kom_errno and err_stat across call.

	* src/server/aux-item-def-parse.y: Deal with disabled definitions
	in a more sensible manner.

	* src/server/aux-items.c (aux_item_add_perm): Check the disabled
	field of the aux-item definition.

	* src/server/aux-items.h: Added disabled field.

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

	* src/server/aux-items.c (aux_item_list_add_items): New utility
	function.
	(system_add_aux_item_list): Use aux_item_list_add_items.
	(text_stat_add_aux_item_list): Use aux_item_list_add_items.
	(conf_stat_add_aux_item_list): Use aux_item_list_add_items.

983 984
1999-05-16  Per Cederqvist  <ceder@lysator.liu.se>

985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037
	Use a global variable to store the current time, so that it is
	never changes during an atomic call, and so that we don't call
	time() more than once per call.
	* src/server/server-time.h: New file.
	* src/server/ramkomd.c (main): Initialize current_time.
	* src/server/connections.c (milli_timevaldiff): Removed.
	(dump_statistics): Use current_time instead of calling time().
	(toploop): Call time once per select loop instead of calling
	gettimeofday twice.  Simplify the computation of the timeout.
	* src/server/conference.c (do_create_conf): Use current_time
	instead of time().
	* src/server/text.c (add_text_in_conf): Use current_time instead
	of calling time().
	(do_create_text): Likewise.
	(add_recipient): Likewise.
	(add_footnote): Likewise.
	(add_comment): Likewise.
	(create_text_add_miscs): Removed the now argument.  All callers
	updated.  User current_time instead of now.
	* src/server/text-garb.c (garb_text): Use current_time instead of
	calling time().
	* src/server/simple-cache.c (sync_part): Use current_time instead
	of calling time().
	(init_cache): Likewise.
	* src/server/session.c (leave_conf): Use current_time instead of
	calling time().
	(login_old): Likewise.
	(login): Likewise.
	(logout): Likewise.
	(who_is_on_dynamic): Likewise.
	(get_session_info): Likewise.
	(get_session_info_ident): Likewise.
	(get_time): Likewise.
	(user_active): Likewise.
	* src/server/send-async.c (async_rejected_connection): Use
	current_time instead of calling time().
	* src/server/person.c (create_person_generic): Use
	current_time instead of calling time().
	* src/server/membership.c (do_add_rec_time): Use
	current_time instead of calling time().
	(do_add_member): Likewise.
	* src/server/internal-connections.c (init_connection): Use
	current_time instead of calling time().
	(new_client): Likewise.
	* src/server/aux-items.h: (prepare_aux_item_list): Removed the
	"now" argument.
	(prepare_aux_item): Likewise.
	* src/server/aux-items.c (prepare_aux_item_list): Removed the
	"now" argument.  Use current_time instead.  Call callers updated.
	(prepare_aux_item): Likewise.
	* src/server/admin.c (modify_server_info): Don't pass the current
	time to prepare_aux_item_list.

1038 1039 1040 1041 1042 1043 1044 1045 1046
	Document updateLysKOM and komrunning.  Make them accept -v/-V.
	* doc/lyskomd.texi: Removed all up, next and prev pointers.
	(Invoking updateLysKOM): New node.
	(Invoking komrunning): New node.
	* src/server/updateLysKOM.c (main): Use PACKAGE and VERSION (from
	config.h) when reporting the version number.
	* src/server/komrunning.c (usage): Accept -v and -V.
	(main): Likewise.
	
1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070
	The test suite now fails without having to wait for a timeout if a
	wrong result with the proper ref-no is returned.
	* src/server/testsuite/config/unix.exp (MEMTRACE): Default to
	/dev/null.
	(simple_expect): Recognize attempts to match protcol-A replies,
	and fail without a timeout if the correct reference number is
	returned with bogus data.

	Fix "make dist".
	* src/server/testsuite/Makefile.am (EXTRA_DIST): Added
	lyskomd.0/07.exp, lyskomd.0/broken-aux-items.conf,
	lyskomd.0/cache-node-cov.exp, lyskomd.0/conf-file-cov.exp,
	lyskomd.0/conference-cov.exp, lyskomd.0/connections-cov.exp,
	lyskomd.0/disk-end-of-atomic-cov.exp,
	lyskomd.0/internal-connections-cov.exp,
	lyskomd.0/isc-parse-cov.exp, lyskomd.0/log-cov.exp,
	lyskomd.0/membership-cov.exp, lyskomd.0/memory-cov.exp,
	lyskomd.0/person-cov.exp, lyskomd.0/prot-a-parse-cov.exp,
	lyskomd.0/prot-a-send-async-cov.exp, lyskomd.0/send-async-cov.exp,
	lyskomd.0/session-cov.exp and lyskomd.0/text-cov.exp.
	* src/server/Makefile.am (komrunning_SOURCES): Added pidfile.h.
	(updateLysKOM_SOURCES): Added pidfile.h.
	(lyskomd_SOURCES): Added trace-alloc.h.

1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088
	Fix the framework for hunting memory leaks.
	* configure.in: Handle --with-traced-allocations.
	* acconfig.h (TRACED_ALLOCATIONS): New define.
	* src/server/trace-alloc.h: New file.
	* src/server/testsuite/config/unix.exp (lyskomd_start): Handle
	TRACED_ALLOCATIONS.
	(lyskomd_fail_start): Likewise.
	* src/server/ramkomd.c (main): Call trace_alloc_file very early
	during startup if compiled with TRACED_ALLOCATIONS.
	* src/server/ram-smalloc.c: Test TRACED_ALLOCATIONS instead of
	DEBUG_MALLOC.
	(trace_alloc_file): New function, that sets up malloc_fp.
	(trace_smalloc): Write to malloc_fp.
	(trace_free): Likewise.
	(srealloc): Likewise.
	* src/server/ram-smalloc.c: Don't test USE_GNU_MALLOC; that symbol
	was removed 1998-08-09.

David Byers's avatar
David Byers committed
1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106
1999-05-16  David Byers  <davby@ida.liu.se>

	* src/server/aux-items.c (prepare_aux_item): Don't clear the link
	field of the aux item.
	(aux_inherit_items): Clear the link in the copied item before
	calling add triggers.
	(aux_item_link_items): New function.
	(aux_item_trigger_mirror_faq): Use aux_item_link_items.
	(aux_item_trigger_link_item): Use aux_item_link_items.
	(aux_item_call_add_triggers): Fix the trigger data after calling
	each trigger since one of them might move the aux item list in 
	memory.

1999-05-15  David Byers  <davby@ida.liu.se>

	* src/server/aux-items.c (aux_item_trigger_link_item): New
	function for debugging linking aux items.

Per Cederqvist's avatar
Per Cederqvist committed
1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119
1999-05-14  Per Cederqvist  <ceder@lysator.liu.se>

	Fixes to the test suite.
	* src/server/testsuite/lyskomd.0/connections-cov.exp: A client
	dies immediately when it receives %% No connections left, so the
	test case should not expect it to live longer.  Renumber the
	ref-nos.  The nologin file exists in the build directory, not in
	srcdir.
	* src/server/testsuite/leaks.0/leaks02.exp: Don't forget the flags
	argument to create-person.
	* src/server/testsuite/lyskomd.0/conference-cov.exp: Don't attempt
	to use debug calls unless debug_calls is true.
	* src/server/testsuite/lyskomd.0/person-cov.exp: Likewise.
Per Cederqvist's avatar
Per Cederqvist committed
1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137
	* src/server/testsuite/lyskomd.0/person-cov.exp: Look for
	config/prot-a.exp in srcdir.  Don't fail if the clock ticks.
	* src/server/testsuite/lyskomd.0/conference-cov.exp: Look for
	config/prot-a.exp in srcdir.
	* src/server/testsuite/lyskomd.0/connections-cov.exp: Likewise.
	* src/server/testsuite/lyskomd.0/membership-cov.exp: Likewise.
	* src/server/testsuite/lyskomd.0/prot-a-parse-cov.exp: Likewise.
	* src/server/testsuite/lyskomd.0/prot-a-send-async-cov.exp: Likewise.
	* src/server/testsuite/lyskomd.0/send-async-cov.exp: Likewise.
	* src/server/testsuite/lyskomd.0/session-cov.exp: Likewise.
	* src/server/testsuite/lyskomd.0/text-cov.exp: Likewise.
	* src/server/testsuite/config/unix.exp (timeout): Don't alter the
	default value.  Not every computer is fast computer.
	(lyskomd_start): The aux-item config file is found relative to
	$srcdir, not [pwd].  The config/lyskomd-config file is found
	relative to the current working directory.
	(lyskomd_fail_start): Likewise.  Find the database files relative
	to top_srcdir.
Per Cederqvist's avatar
Per Cederqvist committed
1138

David Byers's avatar
David Byers committed
1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200
1999-05-14  David Byers  <davby@ida.liu.se>

	* src/server/text.c (do_create_text): Return long-array if there
	are too many misc items.
	(modify_text_info): Set err_stat to max length when returning
	KOM_LONG_ARRAY.

	* src/include/kom-types.h (Info_datum): Added unknown_type to
	union.

	* src/server/text.c (find_recipient): Add unknown_info to the
	switch. Stop the server if COMPILE_CHECKS is undefined.
	(is_member_in_recpt): Same here.
	(do_delete_misc): Same here.
	(do_sub_recpt): Same here.
	(sender): Same here.
	(is_sender): Same here.
	(is_comm_sender): Same here.
	(skip_recp): Same here.
	(recp_sent_by): Same here.
	(filter_secret_info): Same here.
	(do_delete_text): Same here. 
	(check_double_subm): Same here.
	(check_double_comm): Same here.
	(create_text_check_misc): Return an illegal-info-typye if we see
	an unknown info. Set err_stat to the index of the bad item when
	returning a KOM_ILL_MISC.
	(create_text_add_miscs): Same here.

	* src/server/prot-a.c (prot_a_destruct): Free the misc_info_list
	field of the connection.

	* src/server/membership.c (add_rec_time): Handle unknown_info and
	other unknown misc info types by shutting down the server.

	* src/server/call-switch.awk: Add support for misc_info_list in
	fncdef.txt.

	* src/server/text.c (create_text_old): Changed parameter list to
	use Misc_info_list instead of an integer and a Misc_info pointer.
	(create_text): Same here.
	(create_anonymous_text): Same here.
	(create_anonymous_text_old): Same here.

	* src/server/fncdef.txt: Changed all "num c_misc_info_p" to
	misc_info_list. 

	* src/server/prot-a-parse-arg-c.awk: The aux_item type works again.
	Allow misc_info_list as a type name.

	* src/server/prot-a-parse.c (prot_a_parse_misc_info_list): New
	function. 

	* src/server/prot-a.c (prot_a_init): Initialize the misc_info_list 
	field.

	* src/server/internal-connections.c (kill_client): Use
	misc_info_list field of Connection.

	* src/server/connections.c (free_parsed): Clear the misc_info_list 
	field.

1201
	* src/include/kom-types.h (Misc_info_list): New type.
David Byers's avatar
David Byers committed
1202 1203 1204 1205 1206 1207

	* src/server/internal-connections.c (init_connection): Initialize
	hunt_parse_pos, array_hunt_depth and array_hunt_num. Initialize
	misc_info_list. 

	* src/server/prot-a-parse.c (prot_a_hunt_array_end): New function
1208
	hunts for the end of an array.
David Byers's avatar
David Byers committed
1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220

	* src/server/prot-a.c (prot_a_init): Initialize hunt_parse_pos and 
	array_hunt_num.


	* src/include/kom-types.h (Info_type): Added unknown info type. 

	* src/server/prot-a-parse.c (prot_a_parse_misc_info): Parse all
	misc-info types that the server knows about. Unknown types
	generate a protocol error.

	* src/server/testsuite/lyskomd.0/prot-a-parse-cov.exp (1021):
1221
	Expect long-array and not protocol-error.
David Byers's avatar
David Byers committed
1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248

	* src/server/prot-a-parse.c (prot_a_parse_aux_item_list): Discard
	the part of the list that is longer than the max rather than send
	a protocol error.

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

	* src/server/testsuite/lyskomd.0/prot-a-parse-cov.exp
	(protocol_error): Removed expected failure.

	* src/server/admin.c (modify_server_info): Return KOM_LONG_ARRAY
 	when we see a long array.

	* src/server/conference.c (modify_conf_info): Return
 	KOM_LONG_ARRAY when we see a long array.

	* src/server/text.c (modify_text_info): Return KOM_LONG_ARRAY when 
	we see a long array.

	* src/server/prot-a-parse.c (prot_a_parse_num_list): Truncate a
	parsed array to one more than the maximum length and skip all
	other elements.

	* src/server/aux-items.c (undelete_aux_item_list): Log if the link 
	type is undefined and do not attempt to undelete.
	(delete_aux_item_list): Likewise.

1249 1250 1251 1252
1999-05-13  Per Cederqvist  <ceder@gratia>

	Distribute the leaks tests, and run them during "make check".
	* src/server/testsuite/Makefile.am (EXTRA_DIST): Track the rename
1253
	of lyskomd.0/leaks*.exp -> leaks.0/leaks*.exp.
1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273
	(check): Depend on check-leaks.
	(check-leaks): New target.

	Code cleanup/minor bugs fixed.
	* src/server/testsuite/tcpconnect.py: socket.recv can raise
	socket.error!  Handle it as end-of-file.
	* src/server/simple-cache.c (cached_conf_exists): Removed the
	unused variable node.
	* src/server/aux-items.c (find_linked_aux_item_list): Don't use an
	uninitialized variable.
	(delete_aux_item_list): Fail if the default branch is reached.
	(undelete_aux_item_list): Fail if the default branch is reached.
	(aux_item_trigger_mirror_faq): Test data->object for NULLness
	intstead of the uninitialized variable conf_stat.
	* doc/hacking.texi (Linking Pairs of Aux Items): Texinfo problem
	fixed.
	* doc/Protocol-A.texi (set-info): Untabify.
	(accept-async): Untabify.
	(query-async): Untabify.

David Byers's avatar
David Byers committed
1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290
1999-05-12  David Byers  <davby@ida.liu.se>

	Stuff I forgot to add below

	* Renamed log to kom_log since log is a function in math.h.
	
	* src/include/services.h (set_pers_flags): New prototype. 
	(create_person): Added flags parameter.
	
	* run-support/config: Set defaults for max texts and max
	conferences.

	* run-support/aux-items.conf (faq-text): Removed all triggers. Set
 	add-trigger to link-faq, added validator.
	(faq-for-conf): New item definition.

	* doc/lyskomd.texi (Parameters): Added Max conferences, Max texts, 
1291
	Max client data length, Nologin file. Updated some other parameter
David Byers's avatar
David Byers committed
1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504
	descriptions.
	(Aux-Item Definition File): Added system-only. Rewrote validate to 
	allow function identifiers. Added list of validator functions and
	triggers.
	(Files): Document /etc/nologin.

	* doc/hacking.texi: Correct minor typos. Change some @code into
	@file.
	(Linking Pairs of Aux Items): New section.

	* doc/Protocol-A.texi: Correct minor typos
	(Predefined Aux-Item Types): Rephrase some
	of the text. Remove statement that faq-text item marks a text.
	Document faq-for-conf. Specify formate for mx-message-id. 
	(Simple Data Types): Removed documentation for INTEGER.
	(set-etc-motd): Change too-many-marks to mark-limit
	(mark-text-old): Change too-many-marks to mark-limit
	(set-conf-type): Correct documentation for secret-public error.
	Correct spelling in invalid-membership-type documentation.
	(add-recipient): Add documentation for access-denied error
	(add-comment): Define error-status in index-out-of-range.
	(sub-comment): Change no-comment to not-comment.
	(send-message): Complete documentation of message-not-sent error.
	(create-text): Add index-out-of-range as possible error.
	(create-conf): Complete doc of permission-denied error.
	(create-person): Added personal-flags parameter.
	(create-person): Document person-exists error.
	(set-pers-flags): New call.
	(Error Codes): Clarify message-not-sent and index-out-of-range.

	* configure.in: Added flag --with-insure++. Define AVOID_ABORTS
	when compiling with support for gcov.
	
	* src/server/testsuite/tcpconnect.py: Added #hose socket to hose
 	the socket with lots of zeroes.

	* src/server/testsuite/config/prot-a.exp: New functions
	kom_set_permitted_submitters, kom_set_super_conf, kom_login_old,
	kom_mark_text, kom_sub_recipient, kom_set_conf_type,
	kom_change_conference, kom_set_priv_bits.
	(kom_create_person): Send the pers_flags field.

	* src/server/testsuite/config/unix.exp: Print a dot for every test 
	case in verbose mode.
	(lyskomd_start): New parameters extra_config for additional config 
	file contents and base_config for basic config file contents
	(defaults will not be used.) Don't print defaults for max
	conferences or max texts if they are in extra_config. It is
	possible to start lyskomd with arbitrary arguments.
	(lyskomd_fail_start): Function to use when lyskomd is supposed to
	not start properly (like lyskomd_start, but server failue is
	expected.)
	(client_start_fail): New function like client_start, but failure
	is expected.
	(kill_client): Unset expect_active and expect_always instead of
	setting to the empty string.
	(hose_client): New function

	* src/server/testsuite/lyskomd.0/00.exp: Send pers-flags in calls
	to create-person.

	* src/server/testsuite/lyskomd.0/01.exp: Update expected results
	in query-predefined-aux-items. Send pers-flags in call to
	create-person. Add test for set-pers-flags. Add test for
	nonexistent call 107.

	* src/server/testsuite/lyskomd.0/02.exp: Send pers-flags in call
	to create-person.

	* src/server/testsuite/lyskomd.0/03.exp: Expect aux-item 28 in
	query-predefined-aux-items. Send pers-flags in call to
	create-person. Expect the faq-for-conf aux-item in test 1327.
	Expect failure attempting to set nonexistent text as faq (test
	1342.) Remove the now failed faq item in subsequent tests. Add
	test for set-pers-flags.

	* src/server/testsuite/lyskomd.0/04.exp: Send pers-flags in calls
	to kom_create_person.

	* src/server/testsuite/lyskomd.0/05.exp: Send pers-flags in calls
	to kom_create_person. Be more flexible when expecting time
	corresponding to time_t zero. Set garb and sync interval to
	something really high to avoid spurious async messages while
	running the tests.

	* src/server/testsuite/lyskomd.0/06.exp: Send pers-flags in calls
	to kom_create_person.

	* src/server/testsuite/lyskomd.0/admin-cov.exp: More setup to
	support new tests. Test that we can't send messages to secret
	confs. Test that messages are filtered for passive members.

	* src/server/testsuite/lyskomd.0/aux-items-cov.exp: Send
	pers-flags in calls to kom_create_person. Attempt to create
	aux-items with broken validation regexp. Test the system-only
	attribute. Test a broken aux-item config file.

	* src/server/testsuite/lyskomd.0/aux-items.cov: Add an item
	definition with system-only property.
	
	* src/server/prot-a-parse.h: Added prototype for
 	prot_a_parse_pers_flags
	
	* src/server/prot-a-parse.c (prot_a_parse_pers_flags): New
	function to parse pers flags.
	
	* src/server/prot-a-output.c (prot_a_output_text_mapping):
 	Initialize the fields of iter to avoid warnings from tools that
 	detect access to uninitialize memory.
	
	* src/server/local-to-global.c: Use kom_log instead of log.
	
	* src/server/kom-memory.c: Added prototypes for init_aux_item and
	init_aux_item_link. 
	
	* src/server/aux-items.c (system_check_add_aux_item_list): Call
	aux_item_add_perm with INFO_OBJECT_TYPE for the object_type
	parameter.

	* src/server/admin.c: Use kom_log instead of log everywhere. 
	(send_message): Do not permit sending group messages to secret
	conferences. Set errno to KOM_MESSAGE_NOT_SENT if there are no
	appropriate recipients.

	* src/server/aux-item-def-parse.y: Parse validation functions in
	addition to validation regexps. Use kom_log instead of log. Parse
	the system-only property.
	(aux_item_def_check_validate): New function.

	* src/server/aux-items.c: Add the aux-item being involved item
 	itself to aux-item trigger data.
	(aux_item_validate_existing_text): New validation function.
 	(aux_item_trigger_mirror_faq): New add trigger function
 	(aux_item_trigger_unmark_text): Modified to work for aux-items on
 	texts and conferences, not just conferences. Do not unmark an
 	unmarked text.
	(aux_item_trigger_mark_text): Do not add more marks than
 	permitted.
	(find_aux_item_index): New function to find the index of an item
	with a particular number in an aux item list.
	(commit_aux_item_list): Renamed to commit_aux_item_list_internal.
	(commit_aux_item_list_internal): Delete linked aux items.
	(commit_aux_item_list): Wrapper for commit_aux_item_list_internal.
	(delete_aux_item_list): Manage deletion of linked items.
	(undelete_aux_item_list): Manage undeletion of linked items.
	(mark_linked_object_as_changed): New function to mark the object
	containing a linked aux item as changed.
	(find_linked_aux_item): New function to find the aux item that is
	linked to a given aux item.
	(find_linked_aux_item_list): New function to find the aux item
	list containing the aux item that is linked to a given aux item.
	(aux_item_validate): New function for validating aux items. Deals
	with regexps and validation functions.
	(aux_item_add_perm): Handle the system-only property of aux item
	definitions.
	

1999-05-09  David Byers  <davby@ida.liu.se>

	* src/server/aux-items.c (prepare_aux_item): Clear the linked_item
 	field properly.

	* src/server/memory.c (init_aux_item_link): New function.
	(init_aux_item): Use init_aux_item_link
	(init_aux_item): New function added earlier.

	* src/server/prot-a-parse.c (prot_a_parse_aux_item): Clear the
	parsed aux_item to get good defaults for fields that are not read
	in the parser.

	* src/server/admin.c (modify_server_info): Pass INFO_OBJECT_TYPE
	to delete_aux_item_list and undelete_aux_item_list.

	* src/server/aux-items.h: Changed all declarations of object_type
	from short to Object_type.

	* src/server/aux-items.c: Changed all declarations of object_type
	from short to Object_type.

	* src/server/ram-parse.c (fparse_aux_item_link): New function.
	(fparse_aux_item): Parse the link as well.

	* src/include/kom-types.h (Object_type): New type (moved defs from
 	aux-items.h) 
	(Aux_item_link): New type
	(Aux_item): Added linked_item field.

	* src/server/ram-output.c (foutput_aux_item): Output linked_item
	field.
	(foutput_aux_item_link): New function to output a link to another
	aux item.

	* src/server/aux-items.c: Added handling of item field in aux item 
	trigger calls.

	* src/server/aux-items.h (Aux_item_trigger_data_s): Added item
	field.

	* src/server/aux-items.c (system_check_add_aux_item_list): Set
	owner_check to TRUE in call to aux_item_add_perm so system-only
	restriction works on system-info aux-item list.

	* src/server/testsuite/lyskomd.0/admin-cov.exp: Added tests for
	sending messages to secret confs and to conf with passive member
	logged in.

	* doc/Protocol-A.texi (send-message): Document that
	message-not-sent is returned when there are no recipients for a
	group message.

	* src/server/com-h.awk: Set illegal_fnc to -1 (was cnt) since cnt
	might be a legal function.

1505 1506 1507 1508
1999-05-02  Per Cederqvist  <ceder@gratia>

	"make check" in the top directory failed in some environments.
	* src/server/testsuite/Makefile.am (check-lyskomd): Close file
1509
	descriptors 3-9 to avoid interference between file descriptors
1510 1511
	inherithed from make, sshd et c with lyskomd.0/07.exp.

Per Cederqvist's avatar
Per Cederqvist committed
1512 1513 1514 1515 1516 1517 1518
1999-05-01  Per Cederqvist  <ceder@lysator.liu.se>

	Use libisc-1.00.
	* src/libraries/libisc-new: Replace the old contents with that of
	isc-1.00.  Se src/libraries/libisc-new/ChangeLog for information
	about any modifications that are made to the library.

1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649
1999-04-28  Per Cederqvist  <ceder@lysator.liu.se>

	Remove support for the mux protocol.  Don't use isc_printf.
	* src/server/testsuite/lyskomd.0/07.exp: Decrease the all file
	descriptors by one, now that the server no longer listens for a
	mux.  Test that protocol B is unsupported.
	* src/server/testsuite/config/unix.exp (muxport): Removed.
	(lyskomd_start): Don't set "Mux port" in the config file.
	* src/server/server-config.c (parameters): Removed parameter "Mux
	port".
	* doc/lyskomd.texi (Parameters): Removed "Mux port".
	* src/server/ramkomd.c (listen_mux): Removed.
	(server_init): Remved the "mux_port" argument.  Don't listen for
	muxes.
	(initialize): Don't pass the "mux_port" argument to server_init.
	* src/server/prot-a.c (prot_a_reply): Use isc_putc, isc_putul,
	isc_flush and prot_a_output_ul instead of mux_printf, mux_flush
	and mux_putc.
	(prot_a_parse_packet): Likewise.
	* src/server/prot-a-send-async.c (async_header): Use isc_putc,
	isc_putul, prot_a_output_ul and isc_flush instead of mux_printf,
	mux_putc and mux_flush.
	(async_trailer): Likewise.
	(prot_a_async_new_text_old): Likewise.
	(prot_a_async_new_text): Likewise.
	(prot_a_async_logout): Likewise.
	(prot_a_async_new_name): Likewise.
	(prot_a_async_forced_leave_conf): Likewise.
	(prot_a_async_login): Likewise.
	(prot_a_async_send_message): Likewise.
	(prot_a_async_deleted_text): Likewise.
	(prot_a_async_new_recipient): Likewise.
	(prot_a_async_sub_recipient): Likewise.
	(prot_a_async_new_membership): Likewise.
	* src/server/prot-a-output.h (prot_a_output_ul): New function.
	* src/server/prot-a-parse.c (prot_a_get_token): Use isc_puts and
	isc_flush instead of mux_printf and mux_flush.
	(prot_a_parse_num_list): Likewise.
	(prot_a_parse_string): Likewise.
	* src/server/prot-a-output.c (prot_a_output_ul): New function.
	(prot_a_output_person): Use prot_a_output_ul, isc_puts, isc_putc
	and isc_write instead of mux_printf, mux_putc and mux_write.
	(prot_a_output_membership_type): Likewise.
	(prot_a_output_membership): Likewise.
	(prot_a_output_membership_old): Likewise.
	(prot_a_output_membership_list_old): Likewise.
	(prot_a_output_membership_list): Likewise.
	(prot_a_output_conf_list): Likewise.
	(prot_a_output_conf_no_list): Likewise.
	(prot_a_output_conference): Likewise.
	(prot_a_output_conference_old): Likewise.
	(prot_a_output_uconference): Likewise.
	(prot_a_output_mark_list): Likewise.
	(prot_a_output_aux_item_flags): Likewise.
	(prot_a_output_aux_item): Likewise.
	(prot_a_output_text_stat_old): Likewise.
	(prot_a_output_aux_item_list): Likewise.
	(prot_a_output_who_info_ident): Likewise.
	(prot_a_output_who_info): Likewise.
	(prot_a_output_who_info_list): Likewise.
	(prot_a_output_who_info_ident_list): Likewise.
	(prot_a_output_who_info_list_old): Likewise.
	(prot_a_output_session_info): Likewise.
	(prot_a_output_session_info_ident): Likewise.
	(prot_a_output_info_old): Likewise.
	(prot_a_output_string): Likewise.
	(prot_a_output_priv_bits): Likewise.
	(prot_a_output_personal_flags): Likewise.
	(prot_a_output_conf_type): Likewise.
	(prot_a_output_extended_conf_type): Likewise.
	(prot_a_output_member_list): Likewise.
	(prot_a_output_member_list_old): Likewise.
	(prot_a_output_member): Likewise.
	(prot_a_output_member_old): Likewise.
	(prot_a_output_mark): Likewise.
	(prot_a_output_misc_info): Likewise.
	(prot_a_output_time): Likewise.
	(prot_a_output_session_no): Likewise.
	(prot_a_output_text_no): Likewise.
	(prot_a_output_conf_z_info): Likewise.
	(prot_a_output_conf_z_info_list): Likewise.
	(prot_a_output_version_info): Likewise.
	(prot_a_output_num_list): Likewise.
	(prot_a_output_dynamic_session_info): Likewise.
	(prot_a_output_dynamic_session_info_list): Likewise.
	(prot_a_output_l2g_iterator_as_text_list): Likewise.
	(prot_a_output_text_mapping): Likewise.
	(prot_a_output_memory_info): Likewise.
	* src/server/param.h (struct kom_par): Removed ip_mux_port,
	num_ip_mux_port and num_ip_client_port.
	* src/server/isc-interface.h (ISC_UDGTYPE): Use "struct
	connection" instead of "struct mux".
	(ISC_PRINTF_SUPPORT): Don't define it.
	* src/server/internal-connections.c (init_connection): Use
	isc_session instead of mux.
	(kill_client): Likewise.
	* src/server/connections.h (Connection): Replaced mux with isc_session.
	* src/server/connections.c (logout_client): Use ISC instead of the
	removed mux layer.
	(parse_packet): Likewise.
	(parse_unparsed): Likewise.
	(login_request): Likewise.  Don't handle muxes.
	(logout_request): Likewise.
	(message_request): Likewise.
	(mux_handle_packet): Removed.
	(mux_logout): Removed.
	(mux_parse_unparsed): Removed.
	(mux_parse_message): Removed.
	(milli_timevaldiff): New name for former timevaldiff.  Return the
	difference in milliseconds instead of microseconds.
	(toploop): Use milli_timevaldiff instead of timevaldiff.  This is
	a thousand times better at avoiding overflow.  Use isc_puts
	instead of isc_printf.
	* src/server/mux.h: File removed.
	* src/server/mux.c: File removed.
	* src/server/mux-parse.h: File removed.
	* src/server/mux-parse.c: File removed.
	* src/server/Makefile.am (lyskomd_SOURCES): Removed mux-parse.h
	and mux.h.
	(MUX): Removed.  Removed mux.c and mux-parse.c.
	(GENOBJS): Removed $(MUX).
	* doc/mux.proto: File removed.
	* doc/Makefile.am (EXTRA_DIST): Remove mux.proto.
	* configure.in: Remove enable_isc_printf -- we no longer need
	isc_printf.

	Fix a warning message in the testsuite.
	* src/server/testsuite/lyskomd.0/admin-cov.exp: Fixed the
	"unsupported" message: The configure option is named
	--with-debug-calls, not --enable-debug-calls.

1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661
1999-04-25  Per Cederqvist  <ceder@gratia>

	Increase the block size of the l2g structure from 10 to 250.
	* src/server/local-to-global.h (l2g_set_block_size): New function.
	* src/server/local-to-global.c (L2G_BLOCKSIZE): Now a static int
	instead of a define.
	(l2g_set_block_size): New function, that can be called once to
	set the block size
 	(l2g_init): Set the block size to 250 unless it has already been
	set.
	* src/server/testsuite/test-l2g.c (main): Set the block size to 10.

David Byers's avatar
David Byers committed
1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682
1999-04-23  David Byers  <davby@ida.liu.se>

	* src/server/standalone.c (kom_info): Initialize the
	aux_item_list too.

	* src/server/ramkomd.c (initialize): Use kom_log instead of log.

	* src/server/local-to-global.c (l2g_read): Use kom_log instead of
	log.

	* src/server/text.c (text_read_access): Call
	person_text_read_access to do the work.
	(person_text_read_access): New function generalizes
	text_read_access.

	* src/server/manipulate.h: Prototype for person_text_read_access.

1999-04-21  David Byers  <davby@ida.liu.se>

	* src/server/aux-items.c (aux_item_find_validator): New function.

1683 1684 1685 1686 1687 1688 1689 1690
1999-04-20  Per Cederqvist  <ceder@gratia>

	Two file descriptors were leaked during startup.
	* src/server/aux-item-def-parse.y (parse_aux_item_definitions):
	Close the config file once it is read.
	* src/server/conf-file.c (read_config): Close the config file once
	it is read.

Per Cederqvist's avatar
Per Cederqvist committed
1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701
1999-04-19  Per Cederqvist  <ceder@gratia>

	New parameter: "Client host".
	* doc/lyskomd.texi (Parameters): Documented "Client host".
	* src/server/server-config.c (parameters): New parameter: "Client
	host".
	* src/server/ramkomd.c (server_init): New argument: host.  Bind
	the specified IP number.
	(initialize): Pass param.ip_client_host to server_init.
	* src/server/param.h (struct kom_par): Added ip_client_host.

1702 1703 1704 1705 1706 1707
1999-04-19  Per Cederqvist  <ceder@lysator.liu.se>

	Test the "% No connections left." message.
	* src/server/testsuite/lyskomd.0/07.exp: Test what happens when
	too many clients try to connect at the same time.

Per Cederqvist's avatar
Per Cederqvist committed
1708 1709 1710 1711 1712 1713 1714
1999-04-18  Per Cederqvist  <ceder@lysator.liu.se>

	More documentation.
	* doc/lyskomd.texi (Parameters): Documented "lyskomd path",
	"savecore path", "Normal shutdown time", "Mail after downtime" and
	"Mail until downtime".
	* doc/Protocol-A.texi (Protocol Version History): Call
Per Cederqvist's avatar
Per Cederqvist committed
1715
	102=set-membership-type was omitted, and later calls were
Per Cederqvist's avatar
Per Cederqvist committed
1716 1717 1718
	misnumbered.
	(map-created-texts): Documented.

1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729
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.

1730 1731
1999-04-17  Per Cederqvist  <ceder@lysator.liu.se>

1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760
	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.

1761 1762 1763 1764 1765 1766 1767 1768 1769
	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.

1770 1771 1772 1773 1774 1775 1776
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.

1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806
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
1807 1808
1999-04-15  Per Cederqvist  <ceder@lysator.liu.se>

Per Cederqvist's avatar
Per Cederqvist committed
1809 1810 1811 1812 1813 1814 1815
	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
1816 1817 1818
	Test suite improvement.
	* src/server/testsuite/lyskomd.0/03.exp: Test calls 103 and 104.

1819 1820 1821 1822 1823
1999-04-06  Per Cederqvist  <ceder@gratia>

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

1824 1825 1826 1827 1828
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.

1829 1830
1999-04-05  Per Cederqvist  <ceder@gratia>

1831 1832 1833 1834 1835 1836 1837 1838
	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
1839 1840
	* src/server/testsuite/l2g.0/11.exp: Added lots of test cases for
	l2g_write.
1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910

	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.

1911 1912 1913 1914 1915 1916 1917
	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
1918
	further.  Test l2g_clear.
1919 1920 1921
	* src/server/local-to-global.h: Comments improved.
	* src/server/local-to-global.c: Comments improved.

1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935
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
1936 1937
1999-04-04  Per Cederqvist  <ceder@panic.signum.se>

1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961
	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
1962 1963 1964
	Distribute sigflags.h.
	* src/server/Makefile.am (lyskomd_SOURCES): Added sigflags.h.

1965 1966
1999-04-03  Per Cederqvist  <ceder@lysator.liu.se>

1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020
	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.
2021 2022 2023 2024
	* mkmi: Remove scripts/mdate-sh, which should be generated by
	automake.
	* doc/man/dbck.8: All documentation removed.  Refer to
	dbck.info.
2025 2026 2027
	* doc/man/lyskom.5: Documentation removed.  Refer to lyskomdb.info.
	* doc/man/updateLysKOM.8: All documentation removed.  Refer to
	lyskomd.info.
2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055
	* 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.

2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067
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.

2068 2069
1999-04-02  Per Cederqvist  <ceder@panic.signum.se>

Per Cederqvist's avatar
Per Cederqvist committed
2070 2071 2072 2073
	Fix "make clean".
	* src/server/testsuite/Makefile.am (mostlyclean-local): Remove db
	and etc.

2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095
	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.

2096 2097 2098 2099 2100 2101 2102 2103 2104
	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.

2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139
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.

2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154
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
2155 2156 2157 2158 2159
1999-03-28  Per Cederqvist  <ceder@link>

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

David Byers's avatar
David Byers committed
2160 2161 2162 2163 2164 2165 2166 2167 2168 2169
1999-03-28  David Byers  <davby@ida.liu.se>

	* src/server/simple-cache.c (cached_conf_exists): Test existance
	in small_conf_arr. Don't go to disk.
	(cached_delete_conf): Free the associated small_conf_stat and set
	small_conf_arr[x] to NULL.

	* run-support/aux-items.conf: Restrict creation of mx-author to
	creation time.

2170 2171 2172 2173
1999-02-06  Per Cederqvist  <ceder@gratia>

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

2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209
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.

David Byers's avatar
David Byers committed
2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288
1999-02-02  David Byers  <davby@ida.liu.se>

	* src/server/aux-items.h (Aux_item_validation_data): New type.
	(Aux_item_validation_function): New type.
	(Aux_item_validator): New type.

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

	* src/server/prot-a-parse.c (prot_a_parse_aux_item_list): Check
	array size for -1. Check allocation of result.

	* src/server/person.c (mark_text): Return no-such-text if the user 
	is not allowed to read the text (just like get-text-stat)
	(set_user_area): Return UNDEF_PERS, not UNDEF_CONF.

	* src/include/kom-errno.h (enum kom_errno): Define
	KOM_PERS_EXISTS.

	* src/server/person.c (create_person_generic): Return
	KOM_PERS_EXISTS instead of KOM_CONF_EXISTS

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

	* src/server/conference.c (do_create_conf): Don't just DIE if we
	fail to create a conference. Log a message and return an error.

	* src/server/person.c (create_person_generic): Don't just DIE if
	we fail to create a conference. Log a message and return an error.

	* src/server/ram-output.c (foutput_conference_2): Output a space
	before the l2g mapping.
	(foutput_person_2): Same thing here.

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

	* src/server/person.c (create_person_old): Add parameter in call
	to create_person.
	(create_person): Added flags parameter.
	(create_person_generic): Set the personal flags from the
	parameter.
	(set_pers_flags): New function to set the personal flags of a
	person.

	* src/server/fncdef.txt: Added set_pers_flags and added pers_flags 
	argument to create_person.

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

	* doc/hacking.texi (Parsing Bit Fields): New section.

	* src/server/prot-a-parse.c (prot_a_parse_priv_bits): New
	function. New model for parsing bit fields that's really tolerant
	about the token length. Anything from one bit and up is cool.

	* src/server/prot-a-parse.h: Added prot_a_parse_priv_bits.

	* src/server/connections.h: Added pers_flags to Connection.

	* src/server/internal-connections.c (init_connection): Initializer 
	pers_flags field.

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

	* src/server/call-switch.awk: Added pers_flags.

	* src/server/person.c (set_user_area): Return KOM_UNDEF_CONF if
	the person is secret.

	* src/server/conference.c (get_conf_stat_old): Check access with
	<= none and not == none.
	(get_conf_stat_older): Same here.

	* src/server/person.c (get_person_stat): Check access with <= none 
	and not == none
	(get_person_stat_old): Same here.
	(get_created_texts): Same here.
	(map_created_texts): Same here.

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

David Byers's avatar
David Byers committed
2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348