From 7ce69b436c7f83e54b72921152bccb2ddd57f021 Mon Sep 17 00:00:00 2001
From: Per Cederqvist <ceder@lysator.liu.se>
Date: Wed, 20 Aug 2003 08:31:50 +0000
Subject: [PATCH] Keep track of the connection that is creating an aux-item, so
 that ENA_C() and text_read_access() can be used.  Get rid of broken concept
 "owner", and introduced "subordinate" instead.  (Bug 334).  Some other
 aux-item-related code cleanup.  Added code to diagnose Success vs. Bool
 mixups.  Make etags find our documentation.  Include an Emacs indentation
 style for our code.  Added more hacking documentation. Document that send
 async-deleted-text, async-new-text, async-new-text-old, async-new-recipient
 and async-sub-recipient are sent to recipients of text linked to the relevant
 text.

---
 ChangeLog | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 123 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 5eed2146d..c2bb8b821 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,126 @@
+2003-08-20  Per Cederqvist  <ceder@ceder.dyndns.org>
+
+	Keep track of the connection that is creating an aux-item, so that
+	ENA_C() and text_read_access() can be used.  Get rid of broken
+	concept "owner", and introduced "subordinate" instead.  (Bug 334).
+	Some other aux-item-related code cleanup.
+	* src/server/aux-items.h (Aux_item_validation_data): Removed
+	item_creator, object_creator and owner_check.  Added
+	creating_conn and subordinate.  Placed add_to_list,
+	start_looking_at and object_type inside #if 0..#endif, since they
+	are not currently used.
+	(aux_inherit_items):Removed arguments target_creator, creating
+	and object_type.  Added argument subordinate.  Changed type of
+	arguments object_no and object, since we know that they are a
+	Text_no and Text_stat, respectively.
+	(check_delete_aux_item_list): Renamed the "owner" argument
+	"subordinate".
+	(text_stat_check_add_aux_item): Removed the item_creator and
+	creating arguments.  Added the creating_conn argument.
+	(conf_stat_check_add_aux_item_list): Ditto.
+	(system_check_add_aux_item_list): Ditto.
+	(conf_stat_check_add_aux_item): Declaration for undefined and
+	unused function removed.
+	(conf_stat_add_aux_item): Ditto.
+	* src/server/aux-items.c (aux_item_validate): Return Success, not
+	Bool.  All callers updated.
+	(aux_item_add_perm): Removed the arguments item_creator,
+	object_creator and owner_check.  Added the arguments creating_conn
+	and subordinate.  All callers updated.  Simplified the code.  Use
+	is_supervisor() instead of is_strictly_supervisor() where
+	appropriate.  Use the supplied connection instead of checking that
+	ACTPERS is the item_creator.  Adjusted for the new contents of
+	Aux_item_validation_data.
+	(aux_inherit_items): Removed arguments target_creator, creating
+	and object_type.  Added argument subordinate.  Changed type of
+	arguments object_no and object, since we know that they are a
+	Text_no and Text_stat, respectively.
+	(filter_aux_item_list): Assert that the viewer_conn argument is
+	non-NULL.
+	(check_delete_aux_item_list): Renamed the "owner" argument
+	"subordinate".
+	(text_stat_check_add_aux_item_list): Removed the item_creator and
+	creating arguments.  Added the creating_conn argument, and assert
+	it is non-NULL.
+	(conf_stat_check_add_aux_item_list): Replaced the "creator"
+	argument with "creating_conn".  Argument assertions added.
+	(system_check_add_aux_item_list): Ditto.
+	(aux_item_validate_existing_text): Changed return type from Bool
+	to Success.  Use person_text_read_access() only when necessary,
+	and add a comment explaining why it might happen.
+	* src/server/text.c (create_text_add_aux): Adjusted to new API of
+	aux_inherit_items().
+	(do_create_text): Adjusted to new API of
+	text_stat_check_add_aux_item_list().
+	(modify_text_info): Ditto.
+	* src/server/person.c (create_person_generic): Adjusted to new API
+	of conf_stat_check_add_aux_item_list().
+	* src/server/manipulate.h (text_read_access): Docstring updated.
+	(person_text_read_access): Docstring added.
+	* src/server/conference.c (do_create_conf): New argument:
+	creating_connection.  All callers updated.
+	(modify_conf_info): Adjusted to new API of
+	check_delete_aux_item_list() and
+	conf_stat_check_add_aux_item_list().
+	* src/server/admin.c (modify_system_info): Adjusted to new API of
+	system_check_add_aux_item_list().
+	* src/server/testsuite/lyskomd.0/24.exp: Use good_bad_expect
+	instead of a "if {0}" construct.  Don't expect it to fail.  Fixed
+	a broken test outcome.
+
+	Added code to diagnose Success vs. Bool mixups.
+	* HACKING (Release generation): Use TYPE_CHECK_COMPILATION for
+	increased quality assurance.
+	* src/include/misc-types.h (TYPE_CHECK_COMPILATION): New
+	compilation switch.
+	(SUCCESS_AS_PTR): Ditto.
+	(Bool): Provide a pointer-based non-working implementation, that
+	can be used for compile-time checks, but not for running code.
+	(Success): Provide a pointer-based implementation.  Switch to
+	using it, at least for now; this might give us good warnings from
+	the compilers.
+	* src/server/misc-types.c: New file.  Implementation of the types
+	in misc-type.h.
+	* src/server/Makefile.am (libcheck_a_SOURCES): Added
+	misc-types.c.
+	(lyskomd_SOURCES): Ditto.
+	(komrunning_SOURCES): Ditto.
+	(updateLysKOM_SOURCES): Ditto.
+	(dbck_SOURCES): Ditto.
+	(splitkomdb_SOURCES): Ditto.
+	* src/server/testsuite/Makefile.am (test_l2g_LDADD): libcheck.a
+	must be linked twice.
+	(get_time_often_LDADD): Ditto.
+
+	Make etags find our documentation.
+	* Makefile.am (AM_ETAGSFLAGS): Use --declarations, so that the
+	tags command finds the documentation.
+
+	Include an Emacs indentation style for our code.
+	* doc/kom-style.el ("KOM"): New C style for c-add-style.  This
+	sets up proper indentation for Emacs.
+	* doc/Makefile.am (EXTRA_DIST): Added kom-style.el.
+
+	Added more hacking documentation.
+	* doc/lyskomd.texi (The Database): Mention that untranslated
+	Swedish text exists.
+	(local-to-global): Ditto.
+	(Modifying Stored Types): Mention that dbck needs to be updated.
+	(Coding conventions): New section.
+
+	Document that send async-deleted-text, async-new-text,
+	async-new-text-old, async-new-recipient and async-sub-recipient
+	are sent to recipients of text linked to the relevant text.
+	The functionality was added 2003-01-13.  (Bug 59).
+	* doc/Protocol-A.texi (Aux-Item Inheritance): Added a missing
+	parenthesis.
+	(async-new-text-old): Document that recipients of linked texts
+	also gets this message.
+	(async-deleted-text): Ditto.
+	(async-new-text): Ditto.
+	(async-new-recipient): Ditto.
+	(async-sub-recipient): Ditto.
+
 2003-08-19  Per Cederqvist  <ceder@ceder.dyndns.org>
 
 	Test permissons for setting the canonical-name aux-item.
-- 
GitLab