dbus ChangeLog,1.1257,1.1258

Ralf Habacker rhabacker at kemper.freedesktop.org
Tue Mar 13 10:14:39 PDT 2007


Update of /cvs/dbus/dbus
In directory kemper:/tmp/cvs-serv5963

Modified Files:
	ChangeLog 
Log Message:
* dbus/dbus-sysdeps-win.c: fixed broken DBusPipe on win32. 
* dbus/dbus-sysdeps-win.c, dbus/dbus-sysdeps-unix.c: moved platform independent DBusPipe function to dbus-sysdeps.c.

Index: ChangeLog
===================================================================
RCS file: /cvs/dbus/dbus/ChangeLog,v
retrieving revision 1.1257
retrieving revision 1.1258
diff -u -d -r1.1257 -r1.1258
--- ChangeLog	13 Mar 2007 16:56:32 -0000	1.1257
+++ ChangeLog	13 Mar 2007 17:14:35 -0000	1.1258
@@ -1,15524 +1,15533 @@
-2007-03-13  Ralf.Habacker  <ralf.habacker at freenet.de>
-
-	* dbus/dbus-sysdeps-win.c: added zero byte sending 
-	and receiving after connection start up
-
-2007-03-11  Havoc Pennington  <hp at redhat.com>
-
-	* tools/dbus-launch.c (do_close_stderr): fix C89 problem and
-	formatting problem
-
-	* Mostly fix the DBusPipe mess.
-	- put line break after function return types
-	- put space before parens
-	- do not pass structs around by value
-	- don't use dbus_strerror after calling supposedly cross-platform
-	api
-	- don't name pipe variables "fd"
-	- abstract special fd numbers like -1 and 1
-
-2007-03-12  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* dbus/dbus-sysdeps-win.h, dbus/dbus-sysdeps-win.c, 
-	dbus/dbus-sysdeps-util-win.c: renamed functions 
-	_dbus_xxx_file() to _dbus_file_xxx() to reflect 
-	struct name DBusFile. 
-
-2007-03-12  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* dbus/dbus-sysdeps-util-unix.c (_dbus_become_daemon):
-	fix _dbus_pid_fd check. 
-
-2007-03-10  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* tools/dbus-print-message.c (print_message):
-	added printing of the reply serial to method returns and 
-	errors, so you can actually figure out the message/reply 
-	pairs - patch by olli.salli at collabora.co.uk.
-
-2007-03-10  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* dbus-win.patch: removed committed patches. 
-
-2007-03-10  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* bus/bus.c, bus/bus.h, bus/main.c, bus/test.c,
-	dbus/dbus-sysdeps-unix.c, dbus/dbus-sysdeps-util-unix.c,
-	dbus/dbus-sysdeps-util-win.c, dbus/dbus-sysdeps-win.c,
-	dbus/dbus-sysdeps.h: renamed _dbus_xxx_pipe to _dbus_pipe_xxx,
-	completed _dbus_pipe support. 
-
-2007-03-10  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* dbus/dbus-sysdeps.h (_dbus_listen_tcp_socket):
-	changed type or port to pointer, because the port is given back.
-
-	* dbus/dbus-server-socket.c (_dbus_server_new_for_tcp_socket):
-	implemented returning tcp port. Skipping port parameter
-	and non integer port values in config <listen> statement
-	needs more effort.
-
-	* dbus/dbus-sysdeps-unix.c, dbus/dbus-sysdeps-win.c
-	(_dbus_listen_tcp_socket): return the real used tcp port.
-
-	* bus/dbus-daemon.1.in: added <listen> tcp examples
-
-2007-03-09  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* cmake/config.h.cmake: win32 msvc bug fix
-
-2007-03-09  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* cmake/config.h.cmake: fixed DBUS_WINxx defines,
-	using _WINCE does not work.
-
-2007-03-08  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* dbus-win.patch: removed _dbus_write_pipe() patch, it is now 
-	committed.
-
-2007-03-08  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* bus/bus.c, dbus/dbus-sysdeps-unix.c, dbus/dbus-sysdeps.h:
-	rename pipe related write() function calls to _dbus_write_pipe().
-
-2007-03-08  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* dbus-win.patch: added bus/config-loader-libexpat.c patch, 
-	uses DBUS_WIN for alls win32 related #ifdefs, 
-	some minor cleanups
-
-2007-03-08  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* dbus-win.patch: updated patch for bus/dispatch.c.
-
-2007-03-08  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* dbus-win.patch: dbus-connection.c (dbus_connection_get_unix_user,
-	dbus_connection_get_unix_process_id): Let return them valid user id's, 
-	otherwise bus-test fails. How to replace on win32 ?.
-	
-	* dbus/dbus-sysdeps-win.c (fill_win_user_info_homedir):
-	fix memory leak.
-
-2007-03-08  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* dbus/dbus-sysdeps-win.c (_dbus_win_set_error_from_win_error):
-	use dbus friendly error name.
-	(fill_win_user_info_homedir): print user name in error case too.
-
-2007-03-08  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* cmake/ConfigureChecks.cmake: fixed socketpair check
-
-2007-03-08  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* bus/dispatch.c: disabled segfault test on win32 for now
-
-2007-03-08  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* configure.in, cmake/ConfigureChecks.cmake: added check 
-	for setrlimit. 
-	* test/test-segfault.c: only include setrlimit stuff only 
-	when available.  
-
-2007-03-07  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* test/test-segfault.c: unix compile fix.
-	* dbus-win.patch: removed obsolate patches.
-
-2007-03-07  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* bus/activation.c: removed obsolate include header.
-	* test/test-segfault.c: win32 compile fix, rlimit 
-	isn't available on win32.
-	* dbus-win.patch: removed some more patches, they
-	are applied or obsolate 
-
-2007-03-06  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* bus-win.patch: fixes unix listen problems, dbus-test 
-	now runs.
-
-2007-03-06  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* cmake/dbus/CMakeLists.txt,cmake/bus/CMakeLists.txt,
-	cmake/CMakeLists.txt: win32 compile fix
-
-2007-03-04  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* dbus-win.patch, README.win: added available win32 
-	patches from windbus project (http://sf.net/projects/windbus)
-
-2007-03-04  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* bus/activation.c: (bus_activation_activate_service):
-	fixed call to _dbus_spawn_async_with_babysitter().
-
-2007-03-04  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* dbus/dbus-spawn.c,dbus/dbus-spawn.h (_dbus_spawn_async_with_babysitter):
-	added environment pointer as function parameter, used on win32.
-
-	* test/spawn-test.c: fixed call to above mentioned function.
-
-2007-03-04  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* configure.in,test/test-sleep-forever.c,test/test-names.c: 
-	added configure check for unistd.h.
-
-2007-03-04  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* test/Makefile.am: fixed test data copy problem in 
-	out of source build, when sources came from svn or cvs. 
-
-2007-03-03  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* dbus/*-win.*,bus/*-win.*: added win32 platform related
-	files. These files are only added to the cmake build system.  
-	The missing dbus-win.patch file will be added later. 
-
-2007-03-03  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* cmake: new directory, contains cmake build support.
-	See http://www.cmake.org for more informations.
-	Currently only unix will be buildable because some 
-	win32 required files are still missing. 
-
-2007-03-03  Thiago Macieira  <thiago at kde.org>
-
-	* dbus/dbus-sysdeps-unix.c: capture the dbus-launch stderr
-        output and add it to the DBusError message we return.
-
-	* tools/dbus-launch.1:
-	* tools/dbus-launch.c: Add option --close-stderr to, well,
-	close stderr before starting dbus-daemon.
-
-2007-01-31  Havoc Pennington  <hp at redhat.com>
-
-	* bus/dbus-daemon.1.in: write a section in the man page on running
-	a test daemon for debugging purposes
-
-2007-01-26  Havoc Pennington  <hp at redhat.com>
-
-	* bus/session.conf.in: override all the default limits with much
-	higher limits on the session bus, there is no reason the session
-	bus should have low limits
-
-	* bus/config-parser.c (bus_config_parser_new): increase default
-	limits so they are less likely to be hit; in particular the max
-	replies per connection was way too low
-
-2006-01-25  Simon McVittie  <simon.mcvittie at collabora.co.uk>
-
-	* doc/dbus-tutorial.xml: Replace Python section of tutorial with
-	a pointer to the tutorial maintained as part of dbus-python
-
-2006-12-31  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* dbus/dbus-sysdeps-unix.c: unix compile fix, moved 
-	atomic_exchange_and_add() from dbus/dbus-sysdeps.c 
-	to here, it's used by _dbus_atomic_inc() and _dbus_atomic_dec().
-
-2006-12-31  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* tools/dbus-monitor.c: gettimeofday() is not available 
-	on windows so we have to provide our own. It's taken from 
-	lgpl'd kdewin32 package. - Patches from Christian Ehrlicher
-
-2006-12-31  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* dbus/dbus-sysdeps-unix.c: moved _dbus_atomic_inc/dec() 
-	from dbus/dbus-sysdeps.c, windows version of _dbus_atomic_inc/dec() 
-	is in dbus-sysdeps-win.c (not in this patch).
-
-	* dbus/dbus-sysdeps.h: DBusAtomic::value is long on windows to fit 
-	with InterlockedInc/Decrement. 
-	- Patches from Christian Ehrlicher
-	
-2006-12-31  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* tools/dbus-send.c, tools/dbus-monitor.c: win32 compile fix.
-
-2006-12-31  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* dbus/dbus-marshal-recursive.c (type DBusTypeReaderClass):
-	fix mispaced const statement. - Patch from Peter Kümmel
-
-2006-12-19  Ray Strode  <rstrode at redhat.com>
-
-	* bus/bus.c (process_config_every_time):
-	don't overwrite existing bus context activation object
-	until after we've checked that the new activation is
-	valid.
-
-	* bus/main.c 
-	(signal_handler), (handle_reload_watch):
-	don't call exit() on failure, instead make do and keep
-	going.
-	(close_reload_pipe): new function to turn off
-	hangup-causes-config-reload behavior if an unexpected
-	error occurs
-
-2006-12-13  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* dbus/dbus-sysdeps-win-thread.c (_dbus_condvar_wait_win32):
-	correctness fix. - Patch from Christian Ehrlicher
-
-2006-12-13  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* dbus/dbus-internals.h: msvc also knows about __FUNCTION__, 
-	we should also use it. - Patch from Christian Ehrlicher
-
-2006-12-13  Ralf Habacker  <ralf.habacker at freenet.de>
-  
-	* dbus-sysdeps-util.c: added win32 related tests
-
-2006-12-12  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* dbus/dbus-string.c (_dbus_string_pop_line),
-	bus/desktop-file.c (parse_section_start,
-	parse_comment_or_blank,parse_key_value,): uses
-	_dbus_string_find_eol() to support platform independent eol style.
-
-2006-12-12  Ralf Habacker  <ralf.habacker at freenet.de>
-
-	* dbus/dbus-string.[ch] (_dbus_string_find_eol): new function. 
-	* dbus/dbus-string-util.c (_dbus_string_test): added testcases for 
-	      _dbus_string_find_eol().
-	Approved by: Havoc Pennington.
-
-2006-12-12  Tim Dijkstra <tim at famdijkstra.org>
-
-	* configure.in: Added switch to disable user_database caching.
-
-	* dbus/dbus-userdb-util.c, dbus/dbus-userdb.c: Add ifdefs to
-	be able disable user_dabase caching.
-
-2006-12-12  Tim Dijkstra <tim at famdijkstra.org>
-
-	* bus/bus.c, bus/bus.h: Remove DBusUserDatabase from the BusContext 
-	struct. It is unnecessary we have a global one already. Also remove 
-	bus_context_get_user_database function, it is no longer needed.
-	Flush the global database on reload.
-
-	* dbus/dbus-userdb-util.c: Replace _dbus_user_database_get_groups 
-	with _dbus_groups_from_uid. It no longer needs a DBusUserDatabase.
-
-	* dbus/dbus-userdb.c, dbus/dbus-userdb.h: 
-	Add _dbus_user_database_flush_system. 
-	Make more functions DBUS_USERDB_INCLUDES_PRIVATE. 
-	Small unrelated change in _dbus_is_a_number: change 
-	_dbus_string_parse_int to _dbus_string_parse_uint. 
-
-	* bus/connection.c: Change call to _dbus_user_database_get_groups to 
-	_dbus_groups_from_uid.
-
-	* bus/policy.c, bus/policy.h: Change call to 
-	_dbus_user_database_get_groups to _dbus_groups_from_uid. Remove 
-	DBusUserDatabase from bus_policy_allow_user prototype, it no longer 
-	needs it.
-
-2006-12-12  John (J5) Palmieri  <johnp at redhat.com>
-
-	* bus/signal.c: Fix match_rule_equal errata
-	(CVE-2006-6107 - Patch from Kimmo Hämäläinen 
-	<kimmo.hamalainen at nokia.com>)
-
-2006-11-19  Thiago Macieira  <thiago at kde.org>
-
-	* dbus/dbus-sysdeps-pthread.c (_dbus_pthread_mutex_lock,
-        _dbus_pthread_condvar_wait,
-        _dbus_pthread_condvar_wait_timeout): set pmutex->holder to
-        pthread_self() after coming back from a conditional variable
-        wait as well as in one codepath where it was forgotten.
-	Approved by: Havoc Pennington.
-
-2006-11-17  Havoc Pennington  <hp at redhat.com>
-
-	* update-dbus-docs.sh: allow setting fd.org username via env
-	variable. Make it run autogen with --enable-xml-docs=yes
-	--enable-doxygen-docs=yes so configure will fail if the required
-	tools are missing.
-
-2006-11-17  Havoc Pennington  <hp at redhat.com>
-
-	* doc/dbus-faq.xml: minor FAQ tweaks
-
-2006-11-14  Havoc Pennington  <hp at redhat.com>
-	
-	* dbus/dbus-misc.c, dbus/dbus-misc.h: Move
-	dbus_get_local_machine_id() to its own file, no substantive
-	changes. There are a couple other things we might want to add that
-	are "misc" so moving out of dbus-connection.[hc] which is big
-	enough already.
-	
-2006-11-14  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-internals.c (_dbus_generate_uuid): The spec said the
-	UUID had the timestamp last, but the implementation had it first;
-	move it to last since I think it's a tiny bit nicer (easier to
-	compare at a glance, faster to sort, less code), and will not
-	cause any practical compatibility problems. Also, always convert
-	the timestamp to big endian.
-
-	* doc/dbus-specification.xml: Clean up the docs on the UUID.
-
-	* tools/dbus-uuidgen.1: more prominently say it is not suitable
-	as a replacement for regular uuidgen/RFC4122.
-
-2006-11-14  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-threads.h: fix DBUS_THREAD_FUNCTIONS_ALL_MASK to have
-	the correct value so we don't assert when initalizing recursive threads
-
-	* test/name-test/test-thread-init.c: call dbus_threads_init_default
-	instead of _dbus_threads_init_debug since it is more of a real world
-	test
-
-2006-11-09  John (J5) Palmieri  <johnp at redhat.com>
-
-	* Released 1.0.0
-
-2006-11-09  John (J5) Palmieri  <johnp at redhat.com>
-
-	* AUTHORS: added Peter and Tor of windows porting fame
-
-2006-11-08  Havoc Pennington  <hp at redhat.com>
-
-	* doc/dbus-specification.xml: add a note about protocol stability
-
-	* doc/TODO: Remove "important for 1.0" section, replace with
-	"important for 1.2" section
-	
-2006-11-08  John (J5) Palmieri  <johnp at redhat.com>
-
-	* README: remove some of the out of date flags
-
-	* doc/TODO: Remove todo items which are done
-
-2006-11-08  John (J5) Palmieri  <johnp at redhat.com>
-
-	* tools/dbus-monitor.c: Handle sigint so we flush stdout
-	(Patch from Olli Salli <olli dot salli at collabora dot co dot uk>)
-
-2006-11-08  John (J5) Palmieri  <johnp at redhat.com>
-
-	* tools/dbus-monitor.1: update the manpage for dbus-monitor
-	(Patch from Olli Salli <olli dot salli at collabora dot co dot uk>)
-
-2006-11-08  John (J5) Palmieri  <johnp at redhat.com>
-
-	* AUTHORS: Update with all people listed in the ChangeLog
-
-2006-11-08  John (J5) Palmieri  <johnp at redhat.com>
-
-	* tools/dbus-monitor.c: add profiling tools to dbus-monitor
-	(Patch from Olli Salli <olli dot salli at collabora dot co dot uk>)
-
-2006-11-07  Havoc Pennington  <hp at redhat.com>
-
-	* HACKING: Update release instructions to include stuff about
-	stable releases, branching, etc. May not be totally correct,
-	please fix if needed, but keep instructions up-to-date so we do
-	each stable release consistently in the future.
-
-2006-11-07  Havoc Pennington  <hp at redhat.com>
-
-	* doc/dbus-specification.xml, doc/dbus-faq.xml, README: various
-	documentation updates. Bump faq/spec versions (not to 1.0; I don't
-	think the spec will be "finished"/1.0 when we ship the 1.0 library).
-
-2006-11-06  John (J5) Palmieri  <johnp at redhat.com>
-
-	* bus/bus.c: Missed patch - pass in the context to the directory watch
-
-2006-11-02  John (J5) Palmieri  <johnp at redhat.com>
-
-	* Released D-Bus 1.0 RC 3(0.95)
-
-2006-11-02  John (J5) Palmieri  <johnp at redhat.com>
-
-	* bus/activation.c (bus_activation_new): don't fail if we can not read
-	the directory as it may not exist
-
-2006-11-02  John (J5) Palmieri  <johnp at redhat.com>
-
-	* bus/config-parser.c (service_dirs_find_dir): use 
-	_dbus_list_get_next_link so we don't get stuck in an infinite loop
-	(start_busconfig_child): move processing of standard_session_servicedirs
-	tags here because they have no content
-	(bus_config_parser_content): check we don't have content in 
-	standard_session_servicedirs tag
-
-2006-11-02  John (J5) Palmieri  <johnp at redhat.com>
-
-	* tools/Makefile.am: Make sure the /var/lib/dbus directory is created
-	Packagers need to own this directory
-
-2006-11-02  John (J5) Palmieri  <johnp at redhat.com>
-
-	* tools/run-with-tmp-session-bus.sh: fixed script to replace the 
-	<standard_session_servicedirs> tag with a <sevicedir> tag that
-	points to the test service directory
-
-2006-11-02  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.in: Add a check for DIR *dirp->dd_fd
-
-	* dbus/dbus-sysdeps-util-unix: if HAVE_DDFD is defined use 
-	DIR *dirp->dd_fd else use DIR *dirp->__dd_fd.  This takes care
-	of both Solaris and Irix
-
-2006-11-01  Havoc Pennington  <hp at redhat.com>
-
-	* bus/dbus-daemon.1.in: document standard_session_servicedirs
-
-2006-11-01  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.in: expose DBUS_DATADIR
-	
-	* bus/config-parser.c: add the standard_session_servicedirs element
-	to the parser
-	(bus_config_parser_content): process the standard_session_servicedirs
-	element by getting the standard directories from sysdeps and merging
-	them into the service directory list
-	(test_default_session_servicedirs): make sure we get what we expect
-
-	* bus/session.conf.in: replace the servicedir tag with the 
-	standard_session_servicedirs tag
-
-	* dbus/dbus-list.h: remove the typedef of DBusList and place it in
-	dbus-sysdeps.h to avoid circular header dependencies
-
-	* dbus/dbus-sysdeps.h: add the typedef of DBusList
-
-	* dbus/dbus-sysdeps-unix.c (split_paths_and_append): utility function
-	which takes a string of directories delimited by colons, parses them 
-	out, appends a suffix and puts them in a list ignoring empty elements
-	(_dbus_get_standard_session_servicedirs): returns the standard 
-	directories for a session bus to look for service activation files
-	on Unix which includes the XDG_DATA_HOME, XDG_DATA_DIRS and 
-	DBUS_DATADIR directories
-
-	* test/data/valid-config-files/many-rules.conf: add the 
-	standard_session_servicedirs tag to the valid config file tests
-
-2006-10-30  Havoc Pennington  <hp at redhat.com>
-
-	* tools/dbus-launch.1, doc/TODO: capture intent to change the
-	command line options of dbus-launch a bit post 1.0
-
-2006-10-27  Havoc Pennington  <hp at redhat.com>
-	
-	* dbus/dbus-connection.c (dbus_connection_open_private): document
-	how to choose shared vs. private connections
-
-2006-10-27  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-test.c: enclose more of the file in the
-	DBUS_BUILD_TESTS check.
-
-	* dbus/dbus-sysdeps-pthread.c (PTHREAD_CHECK): fix for
-	DBUS_DISABLE_ASSERT case.
-
-	* dbus/dbus-connection.c (dbus_connection_get_unix_user): document
-	that it only works on the server side
-
-	* dbus/dbus-bus.c: add a global lock covering the BusData we
-	attach to each connection
-	(internal_bus_get): lock our access to the BusData
-	(dbus_bus_register): lock the entire registration process
-	with _DBUS_LOCK(bus_datas). If we get the lock and 
-	registration is already complete, silently return (vs. previous
-	behavior of aborting).
-	(dbus_bus_set_unique_name): lock the BusData
-	(dbus_bus_get_unique_name): lock the BusData
-
-2006-10-27  John (J5) Palmieri  <johnp at redhat.com>
-
-	* bus/config-parser.c (service_dirs_find_dir, 
-	service_dirs_append_unique_or_free, 
-	service_dirs_append_link_unique_or_free): New static methods
-	for only appending unique service directory names into
-	the service directory list
-	(merge_included, bus_config_parser_content): Only add unique
-	service directory names into the list
-
-2006-10-27  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-sysdeps-pthread.c: make the "count" and "holder"
-	variables volatile, suggested by Thiago. Document struct fields.
-	(PTHREAD_CHECK): remove pthread error checking if assertions are
-	disabled, should reduce the no-assertions case to the bare
-	minimum code.
-
-2006-10-26  Havoc Pennington  <hp at redhat.com>
-	
-	* dbus/dbus-sysdeps-pthread.c (_dbus_pthread_mutex_lock): change
-	to be recursive
-	(_dbus_pthread_mutex_unlock): make it recursive
-	(_dbus_pthread_condvar_wait): save/restore the recursion count
-	(_dbus_pthread_condvar_wait_timeout): save/restore the recursion count
-
-2006-10-26  Havoc Pennington  <hp at redhat.com>
-
-	* doc/dbus-specification.xml: clarify the UUID text slightly
-
-	* dbus/dbus-sysdeps-pthread.c: check for and mostly abort on
-	pthread errors. Add DBusMutexPThread and DBusCondVarPThread 
-	in preparation for being able to extend them for e.g. recursive
-	mutexes.
-
-2006-10-26  Havoc Pennington  <hp at redhat.com>
-
-        * dbus/dbus-threads.[hc]: Documentation improvements. Clarify how 
-	condition variables relate to recursive mutexes.
-	
-        * dbus/dbus-sysdeps-pthread.c, dbus/dbus-sysdeps-win-thread.c, 
-	dbus/dbus-threads.c: Split the platforms-specific thread 
-	implementations into their own files.
-	
-	* dbus/dbus-sysdeps-pthread.c
-	(_dbus_pthread_condvar_wait_timeout): invert the return value, it
-	was backward. Not that anything uses it.
-
-2006-10-26  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus-sysdeps-unix.c (_dbus_set_local_creds): Clean up the
-	LOCAL_CREDS vs CMSGCRED stuff a bit.  Prefer CMSGCRED.  This
-	needs to be cleaned up more.
-
-	* doc/TODO: Add a todo that *BSD hackers should look at cleaning
-	up the CREDS issue.
-
-2006-10-26  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.in, dbus-1.pc.in: Check to see if thread methods 
-	are in glibc or libpthread and add -lpthread to the link stage 
-	if it is the latter
-
-2006-10-26  Thiago Macieira  <thiago at kde.org>
-
-	* dbus/dbus-connection.c (_dbus_connection_open_internal): Fix
-        bug 8780: the connection lock is only required while recording
-        the shared connection, so protect only that code
-        section. Don't require connection_lookup_shared to return a
-        locked connection.
-
-2006-10-26  Thiago Macieira  <thiago at kde.org>
-
-	* tools/dbus-launch-x11.c (get_session_file, init_x_atoms):
-        check if get_machine_uuid() returns NULL before proceeding any
-        further: we can't init the X atoms or create a session file
-        name if there is no machine ID.
-	This solves a crash reported by some users if
-        --exit-with-session was used without --autolaunch=<machine-id>
-
-2006-10-26  John (J5) Palmieri  <johnp at redhat.com>
-
-	* tools/dbus-launch.c (main): run the dbus-daemon in the builddir
-	if tests are enabled and the DBUS_USE_TEST_BINARY env variable is set
-
-	* tools/run-with-tmp-session-bus.sh: set DBUS_USE_TEST_BINARY
-	before we run dbus-launch
-
-	* configure.in: define TEST_BUS_BINARY to be the full path to 
-	dbus-daemon in the build root 
-
-2006-10-25  Sjoerd Simons  <sjoerd at luon.net>
-
-	* dbus/Makefile.am:
-	* tools/Makefile.am:
-	* toos/dbus-uuidgen.1:
-		Move the machine-id file to /var/lib/dbus 
-
-2006-10-24  David Zeuthen  <davidz at redhat.com>
-
-	* dbus/dbus-threads.c (init_uninitialized_locks): Fix typo so it's
-	_dbus_assert (thread_init_generation != _dbus_current_generation)
-	not _dbus_assert (thread_init_generation == _dbus_current_generation)
-
-2006-10-24  Thiago Macieira  <thiago at kde.org>
-
-	* dbus/dbus-sysdeps.h:
-	* dbus/dbus-sysdeps-unix.c: Add function
-	_dbus_make_file_world_readable that chmods a file to 0644.
-
-	* dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address):
-        Avoid writing to the static "argv" array, thereby avoiding a
-        COW on the child process.
-
-	* dbus/dbus-internals.c (_dbus_create_uuid_file_exclusively):
-        call _dbus_make_file_world_readable on the created file.
-
-2006-10-23  David Zeuthen  <davidz at redhat.com>
-
-	* dbus/dbus-memory.c: Use atomic variable to protect
-	n_blocks_outstanding otherwise OOM will be reported using SMP on
-	some arches
-	
-	* bus/dispatch.c: Add missing end of line characters
-
-	* bus/desktop-file.c (parse_section_start, parse_key_value) 
-	(bus_desktop_file_load): Propertly handle OOM
-
-	* dbus/dbus-threads.c (init_uninitialized_locks): Check that
-	thread_init_generation equals _dbus_current_generation, not 0
-
-2006-10-22  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-connection-internal.h: move prototype of
-	_dbus_bus_notify_shared_connection_disconnected_unlocked() here so
-	it isn't in a public header and doesn't end up in the DBusBus
-	group in Doxygen
-
-2006-10-21  Havoc Pennington  <hp at redhat.com>
-
-	* Makefile.am (EXTRA_DIST): dist cleanup-man-pages.sh so it's in
-	the tarball if packagers want to run it
-
-	* cleanup-man-pages.sh: Add a script which munges all the internal
-	API man pages out of the Doxygen output. This reduces the size of
-	the installed man pages from 7 to 2 megs, and avoids
-	namespace-polluting pages. Right now (like Doxygen) this script
-	isn't in the build, it's something packagers can do manually.
-
-2006-10-21  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-connection.h: don't include the watch/timeout
-	functions in connection section
-
-2006-10-21  Havoc Pennington  <hp at redhat.com>
-
-	* Documentation! Whee! Doxygen now 100% silent. If you make it
-	angry again, you will be punished.
-	
-2006-10-21  Havoc Pennington  <hp at redhat.com>
-
-	* More documentation - all public API now documented according to
-	Doxygen
-
-2006-10-21  Havoc Pennington  <hp at redhat.com>
-
-	* Document a bunch of undocumented stuff
-	
-2006-10-21  Havoc Pennington  <hp at redhat.com>
-
-	* Clean up Doxygen group markers for public API so Doxygen finds
-	everything (not comprehensively fixed for private API).
-	Means all remaining Doxygen warnings are just about missing docs
-	and thus pretty simple to resolve.
-	
-2006-10-21  Havoc Pennington  <hp at redhat.com>
-	
-	* dbus/dbus-macros.h: add DBUS_GNUC_DEPRECATED macro
-
-	* dbus/dbus-message.h: mark dbus_message_iter_get_array_len() 
-	as DBUS_GNUC_DEPRECATED
-
-2006-10-21  Havoc Pennington  <hp at redhat.com>
-
-        * Move all private API into the private Doxygen group sections of
-	the files, so they don't show up in the public API docs
-	
-2006-10-21  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-message.h: put #ifndef DBUS_DISABLE_DEPRECATED around 
-	dbus_message_iter_get_array_len().
-
-	* throughout: documentation improvements.
-
-2006-10-20  Havoc Pennington  <hp at redhat.com>
-
-	* doc/TODO: remove the int64 thing from 1.0 since it doesn't
-	matter, and the message-loader-breaker thing since nobody is going
-	to do it.  Add an item to 1.0 about supporting recursive locks
-	in dbus_threads_init_default() though, since it should be easy.
-
-	* dbus/dbus-connection.c (_dbus_connection_read_write_dispatch):
-	Fix this in the !dispatch case to avoid busy-looping after
-	disconnection
-
-        * More misc docs improvements
-
-2006-10-19  Havoc Pennington  <hp at redhat.com>
-
-	* more Doxygen-related fixes (lots of moving things from the
-	public to internal section in dbus-connection.c)
-
-2006-10-19  Havoc Pennington  <hp at redhat.com>
-
-	* Fix a pile of Doxygen warnings and missing docs
-
-2006-10-19  John (J5) Palmieri  <johnp at redhat.com>
-
-	* bus/dir-watch-default.c, bus/dir-watch-dnotify.c, 
-	bus/dir-watch-kqueue.c (bus_watch_directory): Pass in a BusContext 
-	instead of a void *.  kqueue uses this to get the context's loop
-	while the other modules ignore the parameter.  This allows us to
-	avoid platform conditionals
-
-	* bus/bus.c (process_config_postinit): Pass in the context to the 
-	watch
-
-2006-10-19  John (J5) Palmieri  <johnp at redhat.com>
-
-	* bus/messagebus.in, bus/rc.messagebus.in: run dbus-uuidgen --ensure
-	when starting the system bus
-
-2006-10-18  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.in: More fixups for cross compile (Patch from 
-	Marco Pracucci <development at pracucci dot com>)
-
-2006-10-17  Havoc Pennington  <hp at redhat.com>
-
-	* tools/dbus-send.c (main): don't close shared connection, fix
-	from Timo Hoenig
-
-2006-10-17  Havoc Pennington  <hp at redhat.com>
-
-	* configure.in (CPPFLAGS): don't do -DDBUS_API_SUBJECT_TO_CHANGE here
-
-	* dbus/dbus.h: drop the DBUS_API_SUBJECT_TO_CHANGE requirement,
-	since realistically it doesn't look like we'll be changing it
-	anymore.
-
-2006-10-17  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-internals.c (_dbus_warn_check_failed): new function to
-	be used for return_if_fail type warnings; prefixes the pid, and
-	fatal by default.
-
-2006-10-14  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.in: Released 1.0 RC 2(0.94)
-	Add check for -fPIC and enable it if available
-
-2006-10-14  John (J5) Palmieri  <johnp at redhat.com>
-
-	* doc/TODO: Remove the check TODO item
-
-2006-10-13  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus-transport-socket.c (exchange_credentials):
-	Print out more detailed errors if reading or sending
-	credentials fail (Patch from Julio M. Merino Vidal 
-	<jmmv at NetBSD dot org>)
-
-2006-10-13  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.in: when checking for posix getpwnam_r assume true
-	for cross compiles
-
-2006-10-13  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.in: Check for gethostbyname first before we check for it
-	in libnsl.  On gnu systems it is implemeneted 
-
-2006-10-13  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-connection.c
-	(dbus_connection_send_with_reply_and_block): fix to handle closed
-	connections, from Tambet Ingo bug #8631
-
-2006-10-11  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.in: use AC_TRY_COMPILE for dirfd instead of AC_TRY_RUN
-
-2006-10-11  John (J5) Palmieri  <johnp at redhat.com>
-
-	* test/name-test/Makefile.am: don't link against both libdbus and
-	libdbus-convenience
-
-2006-10-11  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.in: check for dirfd even if it is a macro
-	(Patch from Timothy Redaelli <drizzt at gufi dot org>)
-
-2006-10-08  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.in: define _POSIX_PTHREAD_SEMANTICS on solaris
-	avoid using dirfd on systems that don't have dirfd 
-	(Patch by Brian Cameron <brian dot cameron at sun dot com>) 
-
-2006-10-02  John (J5) Palmieir  <johnp at redhat.com>
-
-	* dbus/dbus-sysdeps.c (_dbus_abort): Remove from 
-	#ifndef DBUS_DISABLE_ASSERTS macro to fix distcheck
-
-	* dbus/dbus-sysdeps-unix.c (_dbus_print_backtrace): Remove from
-	#if !defined (DBUS_DISABLE_ASSERT) || defined(DBUS_BUILD_TESTS)
-	macro because _dbus_abort calls it
-
-	* tools/Makefile.am: Add dbus-launch.h to the source list so distcheck
-	works
-
-2006-10-02  John (J5) Palmieir  <johnp at redhat.com>
-
-	* dbus/dbus-sysdeps-util-unix.c (dirent_buf_size): Add check for
-	MAXNAMELEN for Mac OSX.  (Patch from Jonas B <sanoix at gmail dot com>)
-
-2006-10-02  Thiago Macieira  <thiago at kde.org>
-
-	* tools/dbus-launch.c (main): make it complain and abort
-	execution in case an unknown option is given. Also, process
-	the '--' argument as the end of arguments.
-
-2006-10-01  Havoc Pennington  <hp at redhat.com>
-
-	* tools/dbus-launch.c (print_variables): if no syntax is given,
-	don't print something that's sort-of-half-sh-syntax, just print
-	a plain key-value pairs thing.
-
-	* tools/dbus-launch-x11.c: use machine ID rather than hostname for
-	the local machine representation (but still have the hostname in
-	the display). Remove the hostname from the display if it is
-	localhost. Change session files to be named
-	~/.dbus/session-bus/machine-display. Change X atoms to be
-	underscore-prefixed so nobody whines about ICCCM compliance.
-	Otherwise name them the same as the env variables.
-	Change session file format to include key-value pairs and an
-	explanatory comment. Keys are the same as the env variables.
-	(set_address_in_x11): X property format can't depend on
-	sizeof(pid_t) on a particular machine, fix to always be 32 bits
-
-	* tools/dbus-launch.c: make --autolaunch take a machine id
-	argument. If --autolaunch is used with a program to run, complain
-	for now (but add a FIXME). Also, don't look for existing bus if 
-	there's a program to run (but add a FIXME).
-
-	* dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address): pass
-	machine uuid to dbus-launch (avoids linking dbus-launch to libdbus
-	just to get this, and avoids duplicating uuid-reading code).
-
-	* tools/dbus-launch.1: clarify various things
-	
-2006-10-01  Havoc Pennington  <hp at redhat.com>
-
-	* test/test-service.c (path_message_func): remove broken extra
-	unref that was hidden by the bugs in dbus-connection.c/dbus-bus.c
-
-	* test/test-shell-service.c (path_message_func): same fix
-	
-	* dbus/dbus-connection.c
-	(_dbus_connection_get_dispatch_status_unlocked): break up the
-	function a little for clarity and fix the notification of
-	dbus-bus.c to not require dispatch to be complete
-
-	* dbus/dbus-connection.c (dbus_connection_unref): improve the
-	warning when you try to finalize an open connection.
-	
-2006-10-01  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-bus.c
-	(internal_bus_get): only weak ref the connection; this means 
-	_dbus_bus_notify_shared_connection_disconnected_unlocked can be
-	called safely in any context
-	(_dbus_bus_notify_shared_connection_disconnected_unlocked): don't
-	unref
-
-	* dbus/dbus-connection.c
-	(_dbus_connection_get_dispatch_status_unlocked): move
-	_dbus_bus_notify_shared_connection_disconnected_unlocked here
-	when queuing Disconnected instead of when the Disconnected message
-	arrives, so dbus_bus_get() won't return closed connections.
-	
-2006-10-01  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-connection.c (_dbus_connection_close_if_only_one_ref): 
-	Add a hack to make DBusNewConnectionFunction work right.
-
-	* dbus/dbus-server-socket.c (handle_new_client_fd_and_unlock): use
-	the hack here. Also, fix the todo about refcount leak.
-	
-	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
-	and use the hack here
-	
-        * dbus/dbus-connection.c: Kill the "shared" flag vs. the
-	"shareable" flag; this was completely broken, since it meant 
-	dbus_connection_open() returned a connection of unknown
-	shared-ness. Now, we always hold a ref on anything opened 
-	as shareable.
-
-	Move the call to notify dbus-bus.c into
-	connection_forget_shared_unlocked, so libdbus consistently forgets
-	all its knowledge of a connection at once. This exposed numerous
-	places where things were totally broken if we dropped a ref inside
-	get_dispatch_status_unlocked where
-	connection_forget_shared_unlocked was previously, so move
-	connection_forget_shared_unlocked into
-	_dbus_connection_update_dispatch_status_and_unlock. Also move the
-	exit_on_disconnect here.
-
-	(shared_connections_shutdown): this assumed weak refs to the
-	shared connections; since we have strong refs now, the assertion 
-	was failing and stuff was left in the hash. Fix it to close
-	still-open shared connections.
-	
-	* bus/dispatch.c: fixup to use dbus_connection_open_private on the 
-	debug pipe connections
-	
-	* dbus/dbus-connection.c (dbus_connection_dispatch): only notify
-	dbus-bus.c if the closed connection is in fact shared
-	(_dbus_connection_close_possibly_shared): rename from 
-	_dbus_connection_close_internal
-	(dbus_connection_close, dbus_connection_open,
-	dbus_connection_open_private): Improve docs to explain the deal
-	with when you should close or unref or both
-
-	* dbus/dbus-bus.c
-	(_dbus_bus_notify_shared_connection_disconnected_unlocked): rename
-	from _dbus_bus_check_connection_and_unref_unlocked and modify to
-	loop over all connections
-
-	* test/test-utils.c (test_connection_shutdown): don't try to close
-	shared connections.
-
-	* test/name-test/test-threads-init.c (main): fix warnings in here
-
-	* dbus/dbus-sysdeps.c (_dbus_abort): support DBUS_BLOCK_ON_ABORT
-	env variable to cause blocking waiting for gdb; drop
-	DBUS_PRINT_BACKTRACE and just call _dbus_print_backtrace() 
-	unconditionally.
-
-	* configure.in: add -export-dynamic to libtool flags if assertions enabled
-	so _dbus_print_backtrace works.
-
-	* dbus/dbus-sysdeps-unix.c (_dbus_print_backtrace): use fprintf
-	instead of _dbus_verbose to print the backtrace, and diagnose lack 
-	of -rdynamic/-export-dynamic
-	
-2006-09-30  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-bus.c (dbus_bus_get_private, dbus_bus_get) 
-	(internal_bus_get): fix screwy code formatting. whoever committed
-	that was not paying attention!
-
-2006-09-30  Havoc Pennington  <hp at redhat.com>
-
-	* configure.in (LT_CURRENT, LT_AGE): increment current and age to
-	reflect addition of interfaces.
-
-	* doc/dbus-specification.xml: describe a new
-	org.freedesktop.DBus.Peer.GetMachineId method
-
-	* dbus/dbus-string.c (_dbus_string_skip_white_reverse): new function
-	(_dbus_string_skip_white, _dbus_string_skip_blank): use new
-	DBUS_IS_ASCII_BLANK, DBUS_IS_ASCII_WHITE macros and fix assertion
-	at end of skip_white
-	(_dbus_string_chop_white): new function
-
-	* bus/connection.c (bus_connections_setup_connection): call
-	dbus_connection_set_route_peer_messages.
-
-	* dbus/dbus-connection.c
-	(_dbus_connection_peer_filter_unlocked_no_update): modify to
-	support a GetMachineId method.
-
-	Also, support a new flag to let the bus pass peer methods through
-	to apps on the bus, which can be set with
-	dbus_connection_set_route_peer_messages.
-
-	Finally, handle and return an error for anything unknown on the
-	Peer interface, which will allow us to extend the Peer interface
-	in the future without fear that we're now intercepting something
-	apps were wanting to see.
-	
-	* tools/dbus-uuidgen.c: a thin wrapper around the functions in 
-	dbus/dbus-uuidgen.c
-
-	* dbus/dbus-uuidgen.c: implement the bulk of the dbus-uuidgen
-	binary here, since most of the code is already in libdbus
-
-	* dbus/dbus-sysdeps.c (_dbus_read_local_machine_uuid): read the
-	uuid from the system config file
-
-	* dbus/dbus-internals.c (_dbus_generate_uuid, _dbus_uuid_encode) 
-	(_dbus_read_uuid_file_without_creating) 
-	(_dbus_create_uuid_file_exclusively, _dbus_read_uuid_file): new
-	uuid-related functions, partly factored out from dbus-server.c
-
-	* dbus/dbus-sysdeps.c (_dbus_error_from_errno): convert EEXIST to
-	DBUS_ERROR_FILE_EXISTS instead of EEXIST
-
-	* dbus/dbus-protocol.h (DBUS_ERROR_FILE_EXISTS): add file exists error
-
-	* tools/dbus-cleanup-sockets.1: explain what the point of this
-	thing is a bit more
-
-	* autogen.sh (run_configure): add --config-cache to default
-	configure args
-
-	* dbus/dbus-internals.h (_DBUS_ASSERT_ERROR_IS_SET): disable the
-	error set/clear assertions when DBUS_DISABLE_CHECKS is defined
-
-	* tools/dbus-launch.c (main): if xdisplay hasn't been opened,
-	don't try to save address, fixes crash in make check
-	
-2006-09-30  Thiago Macieira  <thiago at kde.org>
-
-	* configure.in: add DBUS_BINDIR as a #define to C source code.
-
-	* tools/dbus-launch.c
-	* tools/dbus-launch.h
-	* tools/dbus-launch-x11.c:
-	* tools/dbus-launch.1: Add the --autolaunch option to
-	dbus-launch, which makes it scan for an existing session
-	started with --autolaunch. With that option, it also creates
-	an X11 window and saves the bus address and PID to it.
-
-	* dbus/dbus-sysdeps.h:
-	* dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address): Add
-	a function that runs "dbus-launch --autolaunch" to retrieve
-	the running D-Bus session address (or start one if none was running)
-
-	* dbus/dbus-transport.c: Add the handler for the "autolaunch:"
-        address protocol, which tries to get the running session from
-        dbus-launch.
-
-	* dbus/dbus-bus.c:
-	* dbus/dbus-internals.h: Make "autolaunch:" be the default
-	D-Bus session bus address.
-
-	* dbus/dbus-connection.c: Fix horrible typo in error message.
-
-2006-09-18  John (J5) Palmieri  <johnp at redhat.com>
-
-	* tools/Makefile.am: use @EXPANDED_DATADIR@ instead of @DATADIRNAME@  
-
-2006-09-17  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
-	fix so that if unix_user_function is set on windows, we still
-	do the default check that the auth identity matches the bus identity
-
-2006-09-16  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-transport.c (_dbus_transport_open): modify to delegate
-	to _dbus_transport_open_platform_specific,
-	_dbus_transport_open_socket,
-	and _dbus_transport_open_debug_pipe
-
-	* dbus/dbus-transport-protected.h: add _dbus_transport_open_platform_specific
-
-2006-09-16  Havoc Pennington  <hp at redhat.com>
-
-        Attempt auditing public API to remove all cases where a Unix
-	function returns weird emulated goo to Windows. This probably 
-	breaks the bus daemon on Windows, to fix it again we may 
-	need to stop processing unix-specific config options on Windows,
-	and may need to add Windows-specific public API or config options.
-	
-	* configure.in (LT_CURRENT, LT_AGE): increment current and age,
-	to reflect added interfaces; should not break soname.
-	
-	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated): do
-	not invoke unix user function on Windows. Kind of a hacky fix, but 
-	we don't want a "unix uid" leaking out on Windows.
-
-	* dbus/dbus-connection.c (dbus_connection_get_socket): add new API
-	to get the socket fd on Windows or UNIX
-	(dbus_connection_get_unix_fd): make this always fail on Windows
-
-2006-09-16  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-server.c (dbus_server_listen): change how this works
-	to be able to delegate to a set of handlers that can succeed,
-	fail, or choose not to handle. Allows us to have 
-	dbus_server_listen_platform_specific.
-
-	* dbus/dbus-server-socket.c (_dbus_server_new_for_tcp_socket):
-	factor out the tcp socket stuff to be used on windows, leaving
-	unix domain socket only in dbus-socket-unix.c
-
-	* dbus/dbus-transport-socket.c
-	(_dbus_transport_new_for_tcp_socket): factor out the tcp socket
-	stuff to be used on windows, leaving unix domain socket only 
-	in dbus-transport-unix.c
-
-	* dbus/dbus-connection.c (dbus_connection_get_unix_user): insert
-	temporary hack to be sure this fails on windows
-	(dbus_connection_get_unix_process_id): ditto
-
-2006-09-16  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-sysdeps-unix.c (_dbus_open_tcp_socket) 
-	(_dbus_open_unix_socket, _dbus_open_socket): change API for 
-	_dbus_open_socket so the domain/type/protocol from system headers
-	are not required. This is kind of pointless though unless we move
-	part of _dbus_connect_tcp_socket into sysdeps.c instead of
-	sysdeps-unix.c, which would mean adding a wrapper around
-	bind/listen/etc.
-	Also, add DBusError to the socket-opening functions so they 
-	don't require use of errno.
-
-2006-09-16  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-sysdeps-unix.h: small change to Peter's patch to make
-	dbus-sysdeps-unix-util.c build, add unix-specific sysdeps header.
-
-	* dbus/dbus-sysdeps.h, dbus-sysdeps-unix.c: patch from Peter 
-	Kümmel bug #8249 to make the sysdeps.h read/write/open/close
-	functions specifically for sockets only, and move generic 
-	read/write/open/close into unix-specific code.
-
-2006-09-14  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-transport-unix.c (unix_do_iteration): fix a valgrind
-	complaint about accessing revents when poll returns 0, from Julian Seward.
-
-2006-09-14  John (J5) Palmieri  <johnp at redhat.com>
-
-	* Released 1.0 RC 1 (0.93) 
-
-2006-09-14  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-sysdeps-util-unix.c (_dbus_write_pid_file):
-	use _dbus_close instead of close
-
-2006-09-14  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-sysdeps.c: Add support for LOCAL_CREDS socket
-	credentials.  Fixes "external" authentication under e.g. NetBSD
-	which does not support any other socket credentials mechanism.
-	(Patch from Julio M. Merino Vidal  <jmmv at NetBSD dot org>)
-
-2006-09-14  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-threads.c: Allow recursive mutex's to be passed into
-	dbus_threads_init and be used by the dbus mutex functions to
-	avoid deadlocks.
-
-	* doc/TODO: Remove recursive mutex dbus_connection_dispatch TODO item
-
-2006-09-13  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-sysdeps-util-unix.c (_dbus_directory_get_next_file):
-	use threadsafe readdir_r instead of readdir
-
-2006-09-13  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus-threads.c (dbus_threads_init_default): New method for
-	initializing the internal thread implementation (Patch from
-	Alexander Larsson <alexl at redhat dot com>)
-
-2006-09-11  John (J5) Palmieri  <johnp at redhat.com>
-
-	* remove a bunch of todo items from the 1.0 list
-
-2006-09-11  John (J5) Palmieri  <johnp at redhat.com>
-
-	* bus/activation.c, bus/desktop-file.c: Distinguish between OOM and
-	key not found
-
-2006-09-11  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-internal.c: Add dbus_is_verbose so we can have more
-	complex debugging code
-
-	* dbus/dbus-marshal-basic.c (_dbus_marshal_read_fixed_multi): Move
-	between the test suite ifdefs
-	(_dbus_verbose_bytes): return if verbosity is not enabled 
-
-2006-09-11  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-marshal-recursive-util.c, dbus/dbus-marshal-recursive.c:
-	remove DBusMark
-
-2006-09-10  Havoc Pennington  <hp at redhat.com>
-
-       patch mostly by Peter Kümmel, bug #8211
-	
-	* dbus/dbus-sysdeps-unix.c: new file, which splits out
-	unix-specific stuff in dbus-sysdeps.c
-
-	* dbus/dbus-sysdeps.c: don't include any UNIX-only headers, 
-	and move unix-specific stuff to dbus-sysdeps-unix.c
-
-	* configure.in: check HAVE_ERRNO_H
-	
-2006-09-08  John (J5) Palmieri  <johnp at redhat.com>
-
-	* bus/test-main.c (main): Initialize threading during tests
-
-	* dbus/dbus-connection.c (_dbus_connection_new_for_transport):
-	Unlock connection on error
-	(generate_local_error_message): static method for generating
-	an error message when we don't have a message to reply to
-	(_dbus_connection_block_pending_call): Send a disconnect error
-	instead of just a timeout (NULL) when the bus gets disconnected
-	while blocking for a reply.
-	
-2006-09-08  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-connection.c (dbus_connection_dispatch): Properly remove
-	filters (Patch from Kimmo Hämäläinen 
-	<kimmo dot hamalainen at nokia dot com>)
-
-2006-09-07  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-connection-internal.h: Add prototype for 
-	_dbus_connection_test_get_locks to remove warning
-
-2006-09-07  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): Make sure we
-	close child_err_report_pipe[WRITE_END] on exec (Patch from 
-	Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>)
-
-2006-09-07  John (J5) Palmieri  <johnp at redhat.com>
-
-	* Clean up close calls to use _dbus_close (Patch from 
-	Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>)
-
-2006-09-06  John (J5) Palmieri  <johnp at redhat.com>
-
-	* doc/TODO:
-	- Remove pending call locking todo item
-	- dbus_connection_open now holds hard ref.  Remove todo item
-	- do proper locking on _dbus_bus_check_connection_and_unref
-	  and handle DBUS_BUS_STARTER. Remove todo item
-	- Warn on closing of a shared connection.  Remove todo item
-
-	* bus/bus.c, bus/connection.c, bus/dispatch.c, dbus/dbus-bus.c,
-	dbus/dbus-connection.c: Use the dbus_connection_close_internal
-	so we don't get the warning when closing shared connections
-
-	* test/test-service.c, test/test-shell-service.c: Applications
-	don't close shared connections themselves so we unref instead of
-	close
-
-	* test/test-utils.c (test_connection_shutdown): Close the connection
-
-	* dbus/dbus-bus.c (_dbus_bus_check_connection_and_unref): Changed to
-	_dbus_bus_check_connection_and_unref_unlocked since we only call this
-	method on a locked connection.  
-	Make sure we call _dbus_connection_unref_unlocked instead of 
-	dbus_connection_unref also.
-	Handle DBUS_BUS_STARTER correctly
-
-	* dbus/dbus-connection.c (connection_record_shared_unlocked):
-	Mark as shared and hard ref the connection
-	(connection_forget_shared_unlocked): Remove the hard ref from the 
-	connection
-	(_dbus_connection_close_internal_and_unlock):  New internal function
-	which takes a locked connection and unlocks it after closing it
-	(_dbus_connection_close_internal): New internal function which acts
-	like the origonal dbus_connection_close method by grabbing a connection
-	lock and calling _dbus_connection_close_internal_and_unlock
-	(dbus_connection_close): Public close method, warns when the app
-	trys to close a shared connection
-
-2006-09-06  John (J5) Palmieri  <johnp at redhat.com>
-
-	* bus/driver.c:
-	(bus_driver_generate_introspect_string): New method for populating
-	a DBusString with the introspect data
-	(bus_driver_handle_introspect): Move introspect generation code to 
-	bus_driver_generate_introspect_string
-
-	* bus/main.c:
-	(introspect): New function which prints out the intropect data and
-	exits
-	(main): Add a --introspect switch
-
-2006-09-06  John (J5) Palmieri  <johnp at redhat.com>
-
-	* doc/TODO: Removed dtd publishing item.  
-	It seems the dtd has already been added at
-	http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd
-
-2006-09-05  John (J5) Palmieri  <johnp at redhat.com>
-
-	* doc/TODO, various source files: Audited todo's and FIXME's and
-	prepended the ones we should be looking at with 1.0.  Those
-	prepended with 1.0? need clerification or might not be needed
-	for 1.0
-
-2006-09-05  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-pending-call.c: Add some checks so we don't crash on
-	NULL in the public API (Patch from Kimmo Hämäläinen 
-	<kimmo dot hamalainen at nokia dot com>)
-
-2006-09-05  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.in: Fix for OS-X compile time endian issues (patch from
-	Benjamin Reed <ranger at befunk dot com>)
-
-2006-09-05  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.in: Check for no-common compiler flag (OS-X fix from
-	Benjamin Reed <ranger at befunk dot com>)
-
-2006-09-01  John (J5) Palmieri  <johnp at redhat.com>
-
-	* tools/dbus-launch.c: Add a sigterm handler (patch from Frederic Crozat
-	<fcrozat at mandriva dot com>)
-
-2006-08-29  Havoc Pennington  <hp at redhat.com>
-
-	* test/test-service.c (path_message_func): fix lack of return value
-
-	* dbus/dbus-sysdeps.c (_dbus_printf_string_upper_bound): fix
-	formatting, remove #ifdef, and fix docs. #ifdef doesn't make
-	any more sense than on anything else in this file.
-	(_dbus_get_tmpdir): add const to return value, and keep the
-	results of the various getenv around in a static variable.
-
-2006-08-29  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-sysdeps-util.c, dbus/dbus-sysdeps-util-unix.c: change
-	from Ralf Habacker to move UNIX-specific sysdeps into a separate file.
-
-2006-08-25  John (J5) Palmieri  <johnp at redhat.com>
-
-	* test/Makefile.am: change find to use syntax that works with non
-	gnu versions of find
-
-2006-08-25  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-transport.c: fix invalid deref when checking if
-	a vtable method exists (Patch from Christian Ehrlicher 
-	<ch dot ehrlicher at gmx dot de>)
-
-2006-08-25  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.in, dbus/Makefile.am, test/name-test/run-test.sh, 
-	test/name-test/Makefile.am: Fixed some issues with getting get dbus 
-	to build with builddir != srcdir (Taken from a patch by Bernard Leak
-	<bernard at brenda-arkle dot demon dot co dot uk>)
-
-2006-08-25  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.in: Fix DBUS_DAEMONDIR to use EXPANDED_BINDIR for the
-	default case
-
-2006-08-25  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.ac, bus/Makefile.am: Generalize kqueue support so that
-	it works on any system providing this interface, not only FreeBSD.
-	For example, NetBSD. (Patch by Julio M. Merino Vidal  <jmmv at NetBSD dot org>)
-
-2006-08-20  Havoc Pennington  <hp at redhat.com>
-
-	* doc/dbus-faq.xml, doc/dbus-tutorial.xml: some improvements to
-	the docs
-
-2006-08-18  John (J5) Palmieri  <johnp at redhat.com>
-
-	* Released 0.92 
-
-2006-08-18  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-threads.c (dbus_threads_init): change the documentation
-	to reflect the init late change
-
-	* bus/bus.c (bus_context_new): Check user before we fork so we can
-	print out an error message a user will be able to see
-
-2006-08-18  John (J5) Palmieri  <johnp at redhat.com>
-
-	Patch provided by Ralf Habacker (ralf dot habacker at freenet dot de) 
-
-	* dbus/dbus-sysdeps.c, dbus/dbus-threads.c, dbus/dbus-internals.h:
-	Add two more global locks for use on windows platforms.  These are
-	unused on non-windows platforms but are not ifdefed out to avoid
-	potential bugs (i.e. the few bytes lost does not warrent the extra
-	maintanence and complexity that having seperate sets of locks would
-	cause)
-
-2006-08-18  John (J5) Palmieri  <johnp at redhat.com>
-
-	* bus/services.c (bus_registry_acquire_service): Return an error
-	when an application tries to register the org.freedesktop.DBus Bus Name
-
-	* bus/services.c (bus_registry_release_service): Return an error
-	when an application tries to release the org.freedesktop.DBus Bus Name
-
-2006-08-17  Alp Toker  <alp at atoker.com>
-
-	* doc/dbus-specification.xml: Fix some minor typos.
-
-2006-08-17  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.in: use $with_init_scripts instead of $operating_system
-	to determine where to store the pid since the init scripts manipulate 
-	the pid file (patch from Marcelo Ricardo Leitner 
-	<marcelo dot leitner at terra dot com dot br>.  
-
-2006-08-16  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-threads.c: Add static DBusList *uninitialized_mutex_list and
-	static DBusList *uninitialized_condvar_list to support new late 
-	initialization threading model.  In this model threads can be initialized
-	even after the D-Bus API has been used but still needs to be initialized 
-	before the second thread has been started.  Mutexes and condvar addresses
-	are stored in the two static lists and are replaced with actuall locks
-	when threads are initalized.
-	(_dbus_mutex_new_at_location): New method for creating a mutex and placing
-	the location into the static list
-	(_dbus_mutex_free_at_location): New method for removing a mutex location 
-	from the static list and freeing the mutex
-	(_dbus_condvar_new_at_location): New method for creating a conditional 
-	variable and placing the location into the static list
-	(_dbus_condvar_free_at_location): New method for removing a conditional
-	variable location from the static list and freeing the conditional variable 
-	(init_uninitialized_locks): Atomic method which goes through the static 
-	lists of mutex and condvar location and updates them with actuall locks
-	(init_global_locks): changed to init_locks
-	
-	* dbus/dbus-connection.c:
-	(_dbus_connection_test_get_locks): New method for tests to check connections
-	(_dbus_connection_new_for_transport): Use the new at_location mutex and
-	condvar API
-	(dbus_connection_allocate_data_slot): Pass in the global lock address
-	to _dbus_data_slot_allocator_alloc
-
-	* dbus/dbus-dataslot.c:
-	(_dbus_data_slot_allocator_alloc): Use the address of the mutex
-	instead of the mutex itself
-
-	* dbus/dbus-message.c:
-	(dbus_message_allocate_data_slot): Pass in the global lock address
-	to _dbus_data_slot_allocator_alloc
-
-	* dbus/dbus-pending-call.c:
-	(dbus_pending_call_allocate_data_slot): Pass in the global lock address
-	to _dbus_data_slot_allocator_alloc
-
-	* dbus/dbus-server.c:
-	(_dbus_server_init_base): Use the new at_location mutex API
-	(dbus_server_allocate_data_slot): Pass in the global lock address
-	to _dbus_data_slot_allocator_alloc
-
-	* test/name-test/test-threads-init.c: New test case for late thread
-	initialization
-
-2006-08-14  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-dataslot.c (_dbus_data_slot_allocator_alloc):
-	Change _dbus_abort to _dbus_assert_not_reached because _dbus_abort
-	causes compile problems when asserts are turned off
-	Keeping _dbus_warn for printing out the message so even if
-	asserts are turned off the user gets the messages that something is 
-	wrong 
-
-2006-08-14  John (J5) Palmieri  <johnp at redhat.com>
-
-	Patches by Kjartan Maraas <kmaraas at gnome dot org>
-
-	* bus/services.c (bus_service_list_queued_owners):
-	Add a pointer cast to fix compiler warning
-
-	* dbus/dbus-dataslot.c (_dbus_data_slot_list_get):
-	return a NULL instead of FALSE since the return type
-	is not expecting a boolean
-
-	* dbus/dbus-marshal-basic.c (_dbus_marshal_test):
-	Remove unused variable
-
-	* dbus/dbus-marshal-recursive-util.c (node_new):
-	return a NULL instead of FALSE since the return type
-	is not expecting a boolean
-
-	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
-	Send a NULL into _dbus_transport_new_for_fd instead of a FALSE
-	because we are expecting a pointer not a boolean
-
-	* dbus/dbus-sysdeps-util.c (_dbus_get_tmpdir): 
-	add void as the parameter so some compilers
-	don't complain
-
-	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket,
-	  _dbus_transport_new_for_tcp_socket):
-	Send a NULL into _dbus_transport_new_for_fd instead of a FALSE
-	because we are expecting a pointer not a boolean
-
-	* test/shell-test.c (test_command_line):
-	cast the second argument to _dbus_list_append to avoid compiler
-	warnings
-
-	* test/test-names.c (main): remove unused variable
-
-	* test/test-service.c (check_hello_from_self_reply):
-	Initialize echo_message and echo_reply to NULL
-	
-	* test/test-shell-service.c (handle_echo):
-	Remove unused variable and cast the third parameter passed to
-	dbus_connection_get_object_path_data to avoid compiler warrnings
-
-	* test/name-test/test-names.c (clear_message_queue):
-	Remove unused function
-
-	* test/name-test/test-pending-call-dispatch.c:
-	Fix format string in printf
-
-
-2006-08-14  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-bus.c:
-	* test/name-test/test-names.c:
-	Remove test method dbus_bus_connection_get_unique_name because 
-	we already have public method dbus_bus_get_unique_name that 
-	does the exact same thing
-
-2006-08-10  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-signature.c:
-	fix typos in Julio's previous patch which cause make check to fail
-
-2006-08-10  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-address.c (_dbus_address_test): Revert leaking strcmp.  
-	In any case it was wrong since this is a test checking to see if
-	address parsing is correct.  There was no need to get the true
-	tmp directory.  
-
-2006-08-10  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-macros.h: Revert the addition of stddef.h
-	as we should not be adding it to library headers 
-
-2006-08-10  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-signature.c:
-	Fix the unit tests so that they work if assertions are not enabled.
-	(patch from Julio M. Merino Vidal  <jmmv at NetBSD dot org>)
-
-2006-08-10  John (J5) Palmieri  <johnp at redhat.com>
-
-	* tools/run-with-tmp-session-bus.sh:
-	* test/name-test/run-test.sh:
-	Remove bashisms (patch from Julio M. Merino Vidal
-	<jmmv at NetBSD dot org>)
-
-2006-08-10  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.in: add a version (>= 2.6.0) check for libxml2
-
-2006-08-10  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.in: make sure the compiler supports -Wfloat-equal
-	
-	* bus/dir-watch-dnotify.c: move functional code after 
-	variable declerations (C99 fix)  (patches from Jens Granseuer
-	<jensgr at gmx dot net>
-
-2006-08-10  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-macros.h:
-	add #include <stddef.h> so that Sun compilers don't complain about
-	the defining NULL
-
-2006-08-10  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-sysdeps.c:
-	* dbus/dbus-address.c:
-	* bus/activation.c:
-	* test/shell-test.c:
-	don't hardcode tmp directory (patch from Dave Meikle 
-	<dmk at davemeikle dot co dot uk>)
-
-2006-08-09  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-dataslot.c (_dbus_data_slot_allocator_alloc):
-	Change an assert to a detailed warning and abort.  
-	When allocator->lock != mutex it indicates that the user has failed
-	to initalize threads before using the D-Bus library.  This warning
-	helps the user identify the issue and fix their app.
-
-2006-08-08  John (J5) Palmieri  <johnp at redhat.com>
-
-	These are all patches from Kjartan Maraas <kmaraas at gnome dot org>
-	with cleanups of bugs found from Coverity reports:
-
-	* dbus/dbus-sysdeps-util.c (_dbus_write_pid_file):
-	close the file on error to avoid a leak
-
-	* bus/expirelist.c (bus_expire_list_test):
-	Check for NULL on dbus_new0
-
-	* bus/activation.c (update_directory):
-	remove dead code
-
-	* bus/config-parser.c (merge_service_context_hash, start_selinux_child):
-	Fix some leaks
-
-	* bus/bus.c (process_config_every_time):
-	Fixed a leak
-
-	* bus/desktop-file.c (parse_key_value):
-	Fixed leak
-
-	* bus/selinux.c (bus_selinux_id_table_insert):
-	Fixed leak
-
-2006-08-08  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-object-tree.c (_dbus_object_subtree_new):
-	remove dead code
-
-2006-08-08  John (J5) Palmieri  <johnp at redhat.com>
-
-	* tools/run-with-tmp-session-bus.sh: use #!/bin/sh instead of
-	#!/bin/bash
-
-2006-08-08  John (J5) Palmieri  <johnp at redhat.com>
-
-	* Doxyfile.in: fix the INPUT line so we can generate docs 
-	when sourcedir != builddir (patch from Cygwin Ports maintainer
-	<yselkowitz at users dot sourceforge dot net>
-
-2006-08-08  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-sysdeps.h:
-	* dbus/dbus-sysdeps.c: 
-	* dbus/dbus-string.c: 
-	s/_dbus_printf_length/_dbus_printf_string_upper_bound to comform with
-	GLib's function which does the same thing
-
-	* configure.in:
-	* bus/Makefile.am:
-	* bus/dir-watch-default.c:
-	* bus/dir-watch-dnotify.c:
-	* bus/dir-watch-kqueue.c:
-	Add kqueue directory watching for freebsd and split the directory
-	watching code into seperate files per method/arch
-	(patches from Timothy Redaelli <drizzt at gufi dotorg>)
-
-2006-08-08  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.in:
-	* tools/Makefile.am:
-	* tools/dbus-launch.c:
-	* bus/Makefile.am:
-	allow --with-dbus-daemondir switch to be used to make the
-	daemon install to a seperate bindir like /usr/libexec
-	(patch from Brian Cameron <brian dot cameron at sun dot com)
-
-2006-08-08  John (J5) Palmieri  <johnp at redhat.com>
-
-	* bus/Makefile.am (install-data-hook): removed the slash after 
-	$(DESTDIR) so we don't get the double slash which does not work
-	in windows (patch from Andras Porjesz 
-	<andras dot porjesz at siemens dot com>)
-
-2006-08-08  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-sysdeps.h:
-	* dbus/dbus-sysdeps.c: 
-	  add _dbus_printf_length (patch from Peter Kümmel 
-	  <syntheticpp at gmx dot net>)
-
-2006-08-08  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-internals.c: unistd.h is not used 
-	(_dbus_verbose_real): only enable verbose printing 
-	if DBUS_VERBOSE environment var is set to '1'
-	(patch from Peter Kümmel <syntheticpp at gmx dot net>)
-
-2006-08-08  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.in: add a GCC flag check for -Wdeclaration-after-statement
-	so we still compile on older gcc (patch from Frederic Peters 
-	<fpeters at 0d dot be>
-
-2006-08-04  Havoc Pennington  <hp at redhat.com>
-
-	* configure.in: add -Wdeclaration-after-statement
-
-	* dbus/dbus-connection.c: change all the pending call stuff to
-	reflect the fact that pending call operations use the connection
-	lock
-
-	* dbus/dbus-pending-call.c: add locking here
-
-	* dbus/dbus-errors.c (struct DBusRealError): don't make the name
-	field const consistent with how message field is done
-
-2006-08-03  John (J5) Palmieri  <johnp at redhat.com>
-
-	* s/D-BUS/D-Bus/g
-
-2006-08-03  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-object-tree.c: Patch by Benjamin Otte 
-	<in7y118 at public.uni-hamburg dot de> - fix invalid
-	read/write reported by valgrind
-
-2006-07-24  John (J5) Palmieri  <johnp at redhat.com>
-
-	* Released 0.91
-
-2006-07-22  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-connection.c:
-	(_dbus_connection_attach_pending_call_unlocked):
-	(connection_timeout_and_complete_all_pending_calls_unlocked):
-	Make sure we set timeout_added on pending calls to FALSE when
-	we remove the timeout from the connection
-
-2006-07-21  John (J5) Palmieri  <johnp at redhat.com>
-
-	* Removed some extra bindings stuff lingering around (thanks timo)
-	* dbus-pendingcall.c (_dbus_pending_call_new): 
-	s/dbus_connection_ref/_dbus_connection_ref_unlocked fixes assertion
-	when we tried to take a lock on an already locked connection
-
-2006-07-17  John (J5) Palmieri  <johnp at redhat.com>
-
-	* Released 0.90
-
-2006-07-17  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-marshal-basic.c (_dbus_type_to_string): support 64-bit
-	ints, reported by Owen Taylor
-
-2006-07-17  John (J5) Palmieri  <johnp at redhat.com>
-
-	* doc/TODO:
-	* dbus/dbus-bus.c:
-	* dbus-errors.c:
-	* dbus/dbus-marshal-validate.c:
-	  Removed TODO items which were fixed or are no longer relevent
-
-2006-07-17  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus-qt4-1.pc.in, dbus-sharp.pc.in:
-	Remove stray files from the stripped bindings
-
-2006-07-16  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-pending-call.c (_dbus_pending_call_set_timeout_error):
-	Improve the error message on reply timeout
-
-2006-07-14  John (J5) Palmieri  <johnp at redhat.com>
-
-	* Remove all bindings
-
-2006-07-13  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus-connection.c (dbus_connection_send_with_reply): return TRUE
-	and set pending_reply out arg to NULL is connection is disconnected
-	(connection_timeout_and_complete_all_pending_calls_unlocked): New
-	static method for cleaning up pending calls on disconnect
-	(_dbus_connection_get_dispatch_status_unlocked): If we have pending 
-	calls queued timeouts on disconnect 
-
-	 * dbus/dbus-pending-call.c (_dbus_pending_call_set_connection):
-	Remove 
-
-2006-07-13  Carlos Garcia Campos  <carlosgc at gnome.org>
-
-	* bus/activation.[ch] (bus_activation_list_services): new function to 
-	get the list of services that can be activated
-
-	* bus/dispatch.c: test coverage for the new bus method
-	ListActivatableNames
-
-	* bus/driver.c: new bus method ListActivatableNames to get the list of
-	services that can be activated
-
-	* doc/dbus-specification.xml: ListActivatableNames method documentation
-
-2006-07-12  John (J5) Palmieri  <johnp at redhat.com>
-	* dbus/Makefile.am: add dbus-pending-call-internal.h to the list of
-	source files
-
-2006-07-12  John (J5) Palmieri  <johnp at redhat.com>
-	* dbus/dbus-message-factory.c:
-	Fix index into an array (patch by Peter Kümmel <syntheticpp at gmx.net>)
-
-2006-07-12  John (J5) Palmieri  <johnp at redhat.com>
-	* dbus/dbus-connection-internal.h:
-	* dbus/dbus-connection.c:
-	* file dbus/dbus-pending-call.c:
-	* dbus/dbus-pending-call.h:
-	Make DBusPendingCall an opaque type even to D-Bus internals
-
-2006-07-07  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-connection.h: remove connection_disconnect and replace with
-	connection_close
-
-	* dbus/dbus-connection.c: include dbus-bus.h
-	(_dbus_connection_read_write_dispatch): make static
-
-2006-07-07  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-connection.c (dbus_connection_close): removed deprecated
-	function
-	(dbus_connection_dispatch): On disconnect unref any shared connections
-
-	* dbus/dbus-bus.c (_dbus_bus_check_connection_and_unref): new function
-	for cleaning up shared connections on disconnect
-	(internal_bus_get): get a hard refrence to shared connections when
-	they are created
-	
-	* doc/TODO: Remove items which are no longer relevent or have been fixed
-	Split 1.0 todo items with a 0.90 freeze todo list
- 
-2006-06-14  Ross Burton  <ross at openedhand.com>
-
-	* glib/dbus-gobject.c:
-	Free a leaking GArray (surely not!) in dbus_g_method_return.
-
-2006-06-14  Ross Burton  <ross at openedhand.com>
-
-	* tools/Makefile.am:
-	* tools/dbus-monitor.c:
-	Don't use the GLib bindings in dbus-monitor (patch from Ralf
-	Habacker).
-	
-2006-06-14  Ross Burton  <ross at openedhand.com>
-
-	* tools/dbus-print-message.c:
-	Also print the object path when outputting signals or method calls.
-
-2006-06-13  Thiago Macieira <thiago.macieira at trolltech.com>
-
-	* qt/src/Makefile.am: install the qdbus.h header.
-	This allows people to actually use the installed code.
-
-2006-06-12  Ross Burton  <ross at openedhand.com>
-
-	* glib/dbus-gproxy.c:
-	Don't leak a GArray when firing signals (thank Rob Taylor for review).
-
-2006-06-12  Thiago Macieira <thiago.macieira at trolltech.com>
-
-	* Released 0.62
-
-2006-06-12  Thiago Macieira <thiago.macieira at trolltech.com>
-
-	* dbus/dbus-arch-deps.h.in: Remove spurious semi-colons that
-        break pedantic builds. Closes bug 6043 (patch approved by
-        Havoc back in February).
-
-2006-06-12  Thiago Macieira <thiago.macieira at trolltech.com>
-
-	* qt/src/qdbusintegrator.cpp: Fix bug in parsing async methods
-        that took a QDBusMessage parameter.
-	* qt/src/qdbusbus.h: Add a default flag for RequestName.
-	* qt/tools/dbus.cpp: Don't use automatic call because we might
-        be calling an async method: request a reply.
-
-2006-06-11  Thiago Macieira <thiago.macieira at trolltech.com>
-
-	* test/qt/*: Update the testcases, including testing the new
-        functionality of sending null QByteArray and QString over the
-        bus. Add new headertest test and restore the old
-        qdbusxmlparser test.
-
-2006-06-11  Thiago Macieira <thiago.macieira at trolltech.com>
-
-	* qt/tools/dbuscpp2xml.cpp: Compile on Windows.
-	* qt/tools/dbusidl2cpp.cpp: Add missing newline.
-
-	* qt/examples/Makefile.am:
-	* qt/examples/chat.h: Use UI-generated files with the ui_*.h
-	form.
-
-	* qt/src/qdbusmarshall.cpp: Allow sending of QString() and
-	QByteArray() (nulls) over the bus.
-	* qt/src/qdbusabstractinterface.cpp: Use the correct variable,
-	the one that has the signature suffix stripped.
-	* qt/src/qdbusreply.h: Make some methods const.
-
-2006-06-09  Thiago Macieira <thiago.macieira at trolltech.com>
-
-	Patch from Timo Hoenig <thoenig at suse.de>.
-
-	* qt/dbus/Makefile.am: New file.  Fix "make dist", add all headers
-	required during build to EXTRA_DIST.
-	* qt/src/Makefile.am: Fix "make dist", add 'qdbus.h' to EXTRA_DIST.
-	* qt/Makefile.am: Fix "make dist", add 'dbus' to DIST_SUBDIRS.
-	* configure.in: Fix "make dist", take care that the Makefile for
-	qt/dbus is being generated.
-
-2006-06-07  John (J5) Palmieri  <johnp at redhat.com>
-
-	* bus/bus.c: Fix eavesdropping on method calls
-
-2006-06-07  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.in:
-	* dbus/dbus-userdb-util.c:
-	Add Solaris console owner patch from Artem Kachitchkine
-
-2006-06-07  Thiago Macieira <thiago.macieira at trolltech.com>
-
-	* qt/Makfile.am:
-	* qt/src/Makefile.am: Fix the EXTRA_DIST after the
-	reorganisation. Thanks to Timo Hoenig for pointing this out.
-
-2006-06-06  Robert McQueen  <robot101 at debian.org>
-
-	* glib/dbus-gtype-specialized.c: Fix obvious leak of GArray in every
-	  call to dbus_g_type_get_struct.
-
-2006-06-06  Robert McQueen  <robot101 at debian.org>
-
-	* glib/dbus-gvalue-utils.c: Fix the failing test where static string
-	  pointers were put into a GPtrArray-based specialised collection, and
-	  then freed along with the array. GValues which you add into
-	  collections or maps which have the NOCOPY flag set are assumed to not
-	  belong to the caller, so rather than the existing pointer-stealing
-	  semantics, they are copied instead. Given that the main consumers of
-	  this abstraction are the bindings themselves, I don't think this is
-	  too bad, but others should watch their choice of take vs set_static.
-
-2006-06-06  Robert McQueen  <robot101 at debian.org>
-
-	* glib/dbus-gvalue-utils.c: Spotted a warning about the return value
-	  of g_slist_prepend not being used. Fixed copying of slist-based
-	  specialised collections, then wrote a test case and found that it was
-	  all broken. Went on to fix iterating and appending too. Good thing
-	  nobody uses this code yet.
-
-2006-06-06  Robert McQueen  <robot101 at debian.org>
-
-	* glib/dbus-gvalue-utils.c: Remove duplicated code by having all of
-	  the iterators use gvalue_take_ptrarray_value (the GValues themselves
-	  are discarded without unsetting, so it makes no difference whether
-	  we take or set_static). Remove cases for G_TYPE_POINTER because
-	  there really is nothing useful we can do with them in our
-	  specialised types - we *need* boxed copy/free functions at the very
-	  least.
-
-2006-06-05  Thiago Macieira <thiago.macieira at trolltech.com>
-
-	* qt/dbus: Add directory. I had forgotten to add this
-	yesterday after the move...
-
-	* qt/examples/Makefile.am:
-	* qt/examples/dbus.cpp: Moved to qt/tools/dbus.cpp.
-
-	* qt/tools/Makefile.am:
-	* qt/tools/dbus.cpp: Moved from qt/examples/dbus.cpp.
-	Added feature to get and set properties.
-	Added validation of service, object path and interface names.
-
-	* qt/tools/dbusidl2cpp.cpp: Two new features:
-	1) Allow specifying both the header and the source file names,
-	by separating them with a colon.
-	2) Don't write an interface output if the -p switch wasn't
-	given, but the -a was.
-
-	* qt/src/*: Fix usage of Iterators and ConstIterators.
-	Fix shadowing of variables by other variables (-Wshadow).
-	Fix keyword-cleanliness in headers.
-	Fix ASCII-cast (QLatin1String, QLatin1Char).
-	Fix validation of member names.
-	Add extra checking of introspection data during XML parsing.
-	Various bug fixes.
-
-2006-06-04  Thiago Macieira <thiago.macieira at trolltech.com>
-
-	* dbus/Makefile.am:
-	* dbus/qdbus.h: Remove unnecessary file. This is mirrored into
-        qt/dbus/qdbus.h now.
-
-2006-06-04  Thiago Macieira <thiago.macieira at trolltech.com>
-
-	* configure.in: Make --disable-qt actually do
-          something. Patch inspired by Zack Rusin.
-
-2006-06-04  Thiago Macieira <thiago.macieira at trolltech.com>
-
-	* qt/: Update to Subversion r548032.
-	This includes a big reorganisation of the files inside the
-	subdir.
-
-2006-05-30  Sjoerd Simons  <sjoerd at luon.net>
-
-	* dbus/dbus-sysdeps.c: Make tcp socket connection error somewhat more
-	clear:  
-	"Failed to connect to socket <host>:<port> <error>" instead of
-	"Failed to connect to socket <host>: <error>:<port>"
-
-	* dbus/dbus-transport-unix.c: Fix crash when no host option is given
-	for a tcp transport. 
-
-2006-05-29  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* qt/*: Update the QtDBus bindings up to revision 546310 in
-        Subversion.
-	This adds the dbuscpp2xml tool, that parses a C++ header and
-        outputs a D-BUS Introspection XML.
-
-2006-05-21  Havoc Pennington  <hp at redhat.com>
-
-	* glib/dbus-gproxy.c: Put in a pile of assertions that the proxy name
-	is not NULL when it shouldn't be. Also a couple of possible fixes
-	for #4637 though I don't understand why the bug happens, to be
-	honest... also the object constructor has an assert name != NULL
-	and the name is only currently NULL for peer-to-peer proxies that 
-	I don't think anyone uses? So it should be asserting.
-	Anyway, for now at least see if we get an earlier assertion failure.
-
-	* glib/dbus-gvalue-utils.c: Put in a couple of assertions for
-	apparently broken code to be sure the tests fail and someone 
-	will fix them...
-
-2006-05-07  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* qt/qdbusmarshall.cpp: Fix a problem of demarshalling lists
-        and arrays when they had a single element: has_next returns
-        false, even before you read the element. So, instead, check
-        the array length.
-
-2006-05-06  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* qt/qdbusmessage.cpp:
-	* qt/qdbustypehelper_p.h:
-	* qt/qdbusintegrator.cpp: gcc 3.4 doesn't like Q_FOREACH when
-	the list is a const-reference
-
-2006-05-03  John (J5) Palmieri  <johnp at redhat.com>
-
-	* Adding old doc patch that never got applied
-	
-	* dbus/bus.c (dbus_bus_add_match): Add documentation
-
-	* doc/dbus-specification.xml: Add documentation for the match rules
-	  and the AddMatch and RemoveMatch methods
-
-2006-05-02  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* qt/dbusidl2cpp.cpp: There's no callAsync. Use the correct
-        call (r535506)
-
-	* qt/dbusidl2cpp.cpp:
-	* qt/qdbusabstractadaptor.cpp:
-	* qt/qdbusabstractadaptor.h: Make QDBusAdaptorConnector be a
-        sibling of the QDBusAbstractAdaptor objects instead of the
-        parent. (r535848)
-
-	* qt/dbusidl2cpp.cpp:
-	* qt/qdbusabstractinterface.cpp:
-	* qt/qdbusabstractinterface.h:
-	* qt/qdbusabstractinterface_p.h:
-	* qt/qdbusinterface.cpp: Make properties in interfaces
-        actually work. The code that was generated would not compile,
-        due to moc calls to functions that did not exist. They now
-        shall. (r536571)
-
-2006-04-30  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* Makefile.am:
-	* configure.in:
-	* dbus-qt4-1.pc.in: Add a pkg-config file for libdbus-qt4-1.
-	Thanks to Brad Hards for providing the patch
-
-2006-04-29  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* qt/dbusidl2cpp.cpp: There's no callAsync. Use the correct
-        call. (r535506)
-
-2006-04-29  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* qt/examples/dbus.cpp: Enhance error messages and use
-        QDBusInterfacePtr.
-
-2006-04-29  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* qt/qdbusinterface.h: Rename QDBusRef to QDBusInterfacePtr
-        and disable the copy operators. (r533772, r534746)
-
-	* qt/qdbuserror.h: Remove the automatic cast to bool. (r533929)
-
-	* qt/qdbusabstractinterface.cpp:
-	* qt/qdbusabstractinterface.h: Change the default call mode to
-        not use the event loop. Add convenience call() methods that
-        take a CallMode parameter. (r534042)
-
-	* qt/qdbusconnection.h: Change the default call mode to not
-        use the event loop. (r534042)
-
-	* qt/qdbusinterface.cpp:
-	* qt/qdbusinterface.h: Add a method to tell us if the
-	interface is valid (since we don't return a null pointer
-	anymore) (r534099)
-
-	* qt/qdbusinterface_p.h: Don't crash if metaObject is 0
-        (r534101)
-
-	* qt/qdbusinternalfilters.cpp: Decouple the introspection
-        function in two so taht we get the chance to introspect
-        without having a QDBusMessage (r534102)
-
-	* qt/qdbusbus.h:
-	* qt/qdbusconnection.cpp:
-	* qt/qdbusconnection_p.h:
-	* qt/qdbusintegrator.cpp: Keep a list of our own names to
-        avoid a round-trip to the server when attempting to introspect
-        one of our own objects. Also make sure the filter functions
-        match the empty interface as well. (r534108)
-	Don't keep the connection names. Instead, trust the unique
-        connection name (r534111)
-	Remove event loop usage (r534112)
-
-2006-04-29  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* qt/qdbusintegrator.cpp: Fix assertion failure spotted by
-	Brad Hards.
-
-2006-04-28  Robert McQueen  <robot101 at debian.org>
-
-	* glib/dbus-gproxy.c: Fix properties so that they can be given in
-	any order, making it easier for people who inherit from this
-	object.
-
-2006-04-28  Robert McQueen  <robot101 at debian.org>
-
-	* glib/dbus-gvalue-utils.c: Patch from Jakub Stachowski to fix leaking
-	of memory from within pointer arrays and lists. Fixes bug #6300.
-
-2006-04-28  Robert McQueen  <robot101 at debian.org>
-
-	* glib/dbus-gvalue.c: Patch from Jakub Stachowski to fix a leak in
-	generating struct signatures. Fixes bug #6083.
-
-2006-04-28  Robert McQueen  <robot101 at debian.org>
-
-	* qt/Makefile.am: Tweak CLEANFILES from qdbusconnection.moc
-	to qdbusconnection_p.moc.
-
-2006-04-24 John (J5) Palmieri <johnp at redhat.com>
-
-	* README, INSTALL: Doc fixes
-	Patch from Brad Hards <bradh at frogmouth.net>
-
-2006-04-23  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* qt/examples/dbus.cpp: Use the new merged-interface mode for
-	the dynamic meta object. No need to guess which interface to
-	call.
-
-2006-04-23  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* qt/qdbusconnection_p.h:
-	* qt/qdbusmetaobject.cpp:
-	* qt/qdbusmetaobject_p.h:
-	* qt/qdbusintegrator.cpp: Use the new merged-interface mode
-	for the dynamic meta object. No need to guess which
-	interface to call.
-	* qt/qdbusabstractinterface_p.h:
-	* qt/qdbusconnection.cpp:
-	* qt/qdbusintegrator.cpp:
-	* qt/qdbusinterface.cpp:
-	* qt/qdbusinterface.h: Make findInterface always return a non-null pointer.
-	Add a QDBusRef that looks and behaves like DCOPRef.
-
-2006-04-23  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* dbus/dbus-connection.c: Interfaces are optional in method
-        calls, so don't give up if the interface parameter is NULL.
-	Patch reviewed by Havoc Pennington.
-
-2006-04-23  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* qt/qdbusreply.h: Add default constructor and operator=
-          (r532625)
-	* qt/qdbustypehelper_p.h: Use a clean namespace: no foreach()
-          in public headers (r532952)
-	* qt/qdbusabstractinterface.cpp:
-	* qt/qdbusabstractinterface_p.h: Add the AutoDetect mode and
-          make it the default (r532951)
-
-2006-04-19  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-connection.c: Fix asserts
-	Patch from Tim Moloney <t.moloney at verizon.net>
-
-2006-04-19  John (J5) Palmieri  <johnp at redhat.com>
-
-	* mono/Connection.cs, mono/Message.cs: Check Target type
-	Patch from Aaron Bockover (abockover at novell.com)
-
-2006-04-13  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* INSTALL: fine-tune the requirements for the Qt4 binding.
-
-2006-04-16  Daniel P. Berrange  <dan at berrange.com>
-
-	* tools/dbus-print-message.c: Added support for printing of all 
-	  remaining data types. Fixed logic for indentation of compound
-	  data types.
-	
-2006-04-15  Daniel P. Berrange  <dan at berrange.com>
-
-	* INSTALL: fill out content of file providing DBus specific
-	  build installations, followed by generic Auto* INSTALL file
-	  content
-	
-2006-04-13  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* qt/qdbusintegrator.cpp: Work around g++ 3.3 bug.
-	  Patch by Stefan Eilers. (r529537)
-
-2006-04-13  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* qt/qdbusinternalfilters.cpp: Don't show the parent's
-  	  contents (r528208)
-
-2006-04-10  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* qt/Makefile.am: fix the dependency for
-          qdbusconnection_p.moc. It's included in qdbusintegrator.cpp,
-	  not in qdbusconnection.cpp.
-	  Thanks to Jakub Stachowski <stachowski at hypair.net> for
-          spotting this.
-
-2006-04-10  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* qt/examples/listnames.cpp:
-	* qt/examples/Makefile.am: Three ways to list the names on the
-	  bus.
-
-2006-04-10  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* test/qt/tst_hal.cpp: Remove the waiting, since it's not
-          needed anymore. Requires Qt 4.1.3 to work properly. (r528148)
-
-2006-04-10  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	Merge from Subversion:
-	* qt/qt-dbus.qdocconf: Update Trolltech's webpage link to
-	  something that exists (r526315)
-	* qt/qdbusinternalfilters.cpp: Correctly detect non-scriptable
-	  slots/signals (r526316)
-	* qt/qdbusinternalfilters.cpp: Fix the setProperty call and
-	  also return an unknown-method error if the parameters don't
-	  match for org.freedesktop.DBus.Properties. (r526842)
-	* qt/examples/dbus.cpp: Allow passing of QVariants (r526843)
-	* qt/qdbusintegrator.cpp: Restore the proper order of
-	  delivery: don't make method returns be delivered on priority
-	  (r528150)
-
-2006-03-28  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* configure.in qt/Makefile.am: add qt/examples
-	* qt/examples: Add QtDBus example programs:
-	  - hello: Hello, World
-	  - ping: Simple method-calling program
-	  - pong: Simple object-exporting program (not using adaptors)
-	  - complexping: Interactive method-calling program 
-		(also gets and sets properties).
-	  - complexpong: Sample program exporting methods, signals and
-		properties, using adaptors.
-	  - dbus: Simple implementation of a generic method-calling
-		program, similar to 'dbus-send', but with semantics
-		similar to 'dcop'.
-	  - chat: Simplistic chat program, implemented using signals
-		and the system bus. Looks like IRC.
-
-2006-03-28  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* configure.in: Detect QtGui (necessary for one of the
-          example programs). Note: this increases the minimum required
-          version of Qt to 4.1.3.
-
-2006-03-28  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* test/qt/*: Sync with KDE Subversion revision 523647.
-        Update the testcases to the new API. Remove testcases for
-        classes that are no longer public or have been removed.
-
-2006-03-28  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* qt/*: 
-	* dbus/qdbus.h: Sync with KDE Subversion revision
-	523647. Hopefully, this will be the last of the
-	source-incompatible changes. Documentation has been improved;
-	support for QList<basic-types> has been added; QDBusObject is
-	gone; QDBus(Abstract)Interface is now a QObject with
-	auto-generated meta-object; QDBusIntrospection is marked
-	private, since QMetaObject can be used now; lots of bugfixes.
-
-2006-03-16  John (J5) Palmieri  <johnp at redhat.com>
-
-	Patch from Milosz Derezynski <internalerror at gmail.com>
-	
-	* configure.in:
-	Output the service directory in the configure summary
-
-	* dbus-1.pc.in:
-	Add session_bus_services_dir
-
-2006-03-10  Ross Burton  <ross at openedhand.com>
-
-	* tools/dbus-print-message.c:
-	Add support for object paths and signatures.
-
-2006-03-06  Sjoerd Simons <sjoerd at luon.net>
-
-	* bus/bus.c: (bus_context_reload_config): Flush the user database cache on
-	config reload.
-	* bus/dbus-daemon.1.in: Also note that SIGHUP flushes the user/group
-	information caches
-	* dbus/dbus-hash.c: (_dbus_hash_table_remove_all): 
-	* dbus/dbus-hash.h: Add function to remove all entries from a hash table
-	* dbus/dbus-userdb.c: (_dbus_user_database_flush):
-	* dbus/dbus-userdb.h: Add function to flush all user/group information
-	caches.
-
-2006-03-06  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* qt/dbusidl2cpp.cpp:
-	* qt/Makefile.am: add the dbusidl2cpp tool, the replacement
-	for dcopidl2cpp, found in the KDE installations (or the more
-	modern kalyptus): generate Qt4 C++ code for the input XML
-	introspection. Currently no IDL parsing.
-
-2006-03-06  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* test/qt/*: Update the self-tests.
-
-2006-03-06  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* qt/*: 
-	* dbus/qdbus.h: Sync with KDE Subversion revision 516237. This
-	represents the first feature-complete version of the Qt4
-	bindings since I took ove maintainership.
-
-2006-03-06  Thiago Macieira  <thiago.macieira at trolltech.com>
-
-	* qt/Doxyfile: Adding a Doxyfile for the Qt4 bindings
-        dir. This is C++, so we can't use the DBus ones.
-
-2006-03-02  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/dbus_bindings.pyx: Remove refrence to sys/cdefs.h
-	(Patch from Artem Kachitchkine <Artem.Kachitchkin at Sun.COM>)
-
-2006-03-02  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-connection.c: 
-	(_dbus_connection_block_pending_call):
-	Check to see if our data has already been read off the connection
-	by another blocking pending call before we block in poll.
-	(check_for_reply_and_update_dispatch_unlocked):
-	Code taken from _dbus_connection_block_pending_call - checks for
-	an already read reply and updates the dispatch if there is one.
-
-	* test/name-test/test-pending-call-dispatch.c:
-	New test for making sure we don't get stuck polling a 
-	dbus connection which has no data on the socket when
-	blocking out of order on two or more pending calls.
-
-2006-02-28  Thiago Macieira <thiago.macieira at trolltech.com>
-
-	* qt/Makefile.am: Patch by Sjoerd Simons. More .moc issues:
-        make/automake don't detect that we're talking about the same
-        .lo file if I specify the full path to the source files.
-
-2006-02-26  Havoc Pennington  <hp at redhat.com>
-
-	* bus/dbus-daemon.1.in: improve the language in a couple spots I noticed
-
-	* dbus/dbus-bus.c (internal_bus_get): in the error message if the
-	session bus variable is unset, suggest "man dbus-launch" and "man
-	dbus-daemon" to figure out how to fix the problem
-
-2006-02-25  Havoc Pennington  <hp at redhat.com>
-
-	* glib/dbus-glib-tool.c (usage): fix up the usage message, someone
-	should make this thing use the new glib options parser
-
-2006-02-25  Thiago Macieira <thiago.macieira at trolltech.com>
-
-	* qt/Makefile.am: Patch by Sjoerd Simons. Fix the path to the
-        .lo files taking moc sources.
-
-2006-02-25  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus.h, dbus/Makefile.am: add dbus-signature.h to dbus.h
-	and install it as a public header
-
-2006-02-24  John (J5) Palmieri  <johnp at redhat.com>
-
-	* Released 0.61
-
-2006-02-24  John (J5) Palmieri  <johnp at redhat.com>
-	
-	* proxies.py: Fix the callchain
-
-2006-02-24  John (J5) Palmieri <johnp at redhat.com>
-	
-	* patch from Sjoerd Simons <sjoerd at debian.org>:	
-
-	* dbus/dbus-sysdeps-util.c (_dbus_group_info_free): Moved to 
-	dbus/dbus-sysdeps.c
-
-	* dbus/dbus-userdb.c (_dbus_group_info_free_allocated): Don't
-	call _dbus_group_info_free_allocated which causes infinite loop,
-	correctly call _dbus_group_info_free
-
-2006-02-20  Thiago Macieira <thiago.macieira at trolltech.com>
-
-	* qt/qdbusinterface_p.h:
-	* qt/qdbusinterface.cpp: Use the standard
-	org.freedesktop.DBus.Method.NoReply annotation for the "async"
-	calls instead of creating one for us.
-
-	* qt/qdbusconnection_p.h:
-	* qt/qdbusintegrator.cpp: Remove debugging code.
-
-	* qt/qdbusintegrator.cpp:
-	* qt/qdbusmessage.cpp:
-	* qt/qdbusmessage_p.h:
-	* qt/qdbusmessage.h: Change the behaviour of automatic
-	reply-sending: now a reply is always sent, unless the caller
-	didn't request one or if the user slot has already sent one.
-
-2006-02-16  Robert McQueen  <robot101 at debian.org>
-
-	* configure.in: Patch from Debian packages by Sjoerd Simons
-	<sjoerd at debian.org> to add --with-qt-moc and --with-qt3-moc
-	arguments so it's possible to build both bindings in the
-	same tree.
-
-	* qt/Makefile.am: Fix truncated value so that make dist works.
-
-2006-02-16  Robert McQueen  <robot101 at debian.org>
-
-	* acinclude.m4, configure.in: Patch from Brad Hards
-	<bradh at frogmouth.net> to avoid warnings from autoconf 1.9 by
-	improving quoting, re-ordering a few checks, and a few other
-	aesthetic tidy-ups.
-
-2006-02-16  Robert McQueen  <robot101 at debian.org>
-
-	* dbus/dbus-message.c (dbus_message_iter_get_fixed_array):
-	Patch from Rob Taylor <rob.taylor at collabora.co.uk> to correct a bogus
-	assertion that the next element to read from the iter is fixed in
-	size. This is not the case when you are at the end of the iter,
-	because the next element type is INVALID.
-
-	* dbus/dbus-string.c (_dbus_string_init_const_len): Correct a
-	a bogus assert which means that you may not initialise a 0-length
-	string unless you provide a non-NULL pointer. This prevented
-	you from marshalling messages containing zero-length arrays in
-	some cases.
-
-	* glib/dbus-gvalue.c (demarshal_collection_array): Another patch
-	from Rob to correct bogus asserts when trying to demarshal an
-	array and get_fixed_array got you 0 elements. Append nothing to
-	the GArray in this case.
-
-	* test/glib/test-dbus-glib.c: Add a test case for round-tripping
-	an empty array via the glib bindings. Without all of the above
-	patches, this new test fails.
-
-2006-02-16  Robert McQueen  <robot101 at debian.org>
-
-	* glib/dbus-gmain.c: Make the previous commit compile.
-
-	* python/_dbus.py, python/matchrules.py: Patch from Ole Andre
-	Ravnaas <ole.andre.ravnaas at collabora.co.uk> to allow you to
-	specify sender_keyword="foo", path_keyword="bar" when adding
-	a signal listener, so that you can bind to signals generically
-	but still do something useful in your callback.
-
-	* python/dbus_bindings.pyx: Demarshal the byte type as unsigned
-	chars so that they're not cast to chars and made negative. Thanks
-	to Jakub Stachowski for reporting this and testing the fix.
-
-2006-02-15  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-glib.h:
-	* glib/dbus-gmain.h:
-	(dbus_g_connection_open): new method for openning
-	a connection to an arbitrary address in the glib bindings
-
-	* ChangeLog: checkin last entry which doesn't seem to be commited
-
-2006-02-13  John (J5) Palmieri  <johnp at redhat.com>
-
-	* tools/dbus-launch.c: Fixed sh syntax output
-
-2006-02-13  Robert McQueen  <robot101 at debian.org>
-
-	* glib/dbus-binding-tool-glib.c, glib/dbus-gmain.c,
-	glib/dbus-gsignature.c, glib/dbus-gtype-specialized.c,
-	glib/dbus-gtype-specialized.h, glib/dbus-gvalue-utils.c,
-	glib/dbus-gvalue-utils.h, glib/dbus-gvalue.c:
-	Patch from Rob Taylor <rob.taylor at collabora.co.uk> to add a big
-	missing piece of the glib bindings jigsaw puzzle. This modifies
-	the existing specialised types to have N type parameters (rather
-	than the current 1 or 2 for arrays and dictionaries respectively).
-	You can then use this to get a glib type to represent any arbitrary
-	D-Bus struct type using dbus_g_type_get_struct. The only
-	implementation of these types is with GValueArrays as before,
-	but it's now possible to store these in arrays, emit them in
-	signals, etc.
-
-2006-02-10  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-signature.c (dbus_signature_iter_recurse): Correctly
-	deal with nested arrays (Bug #5823) Patch by Thiago Macieira 
-	<thiago.macieira at trolltech.com>
-
-2006-02-10  John (J5) Palmieri  <johnp at redhat.com>
-
-	* mono/doc/Makefile.am: Fix parallel make problem with mono-doc
-	(Bug #4213) Patch from Doug Goldstein <cardoe at gentoo.org>
-
-2006-02-10  John (J5) Palmieri  <johnp at redhat.com>
-
-	* bus/connection.c (bus_connections_expect_reply): Make
-	pending reply limit not common to all connections (Bug #5416)
-	Patch from Kimmo Hämäläinen <kimmo.hamalainen at nokia.com>
-
-2006-02-10  John (J5) Palmieri  <johnp at redhat.com>
-
-	* tools/dbus-launch.c: Fixed csh syntax output (Bug #5720)
-
-2006-02-10  John (J5) Palmieri  <johnp at redhat.com>
-
-	* gcj/Makefile.am: point to correct jar command (Bug #4529)
-	patch from Doug Goldstein <cardoe at gentoo.org>
-
-2006-02-09  Joe Shaw  <joeshaw at novell.com>
-
-	* mono/Arguments.cs: Fix a magic number in the mono bindings
-	that doesn't work on 64 bit arches.  Patch from Peter Johanson.
-
-2006-01-27  Robert McQueen  <robot101 at debian.org>
-
-	* glib/dbus-binding-tool-glib.[ch]: Patch based on Ricardo Kekki's
-	patch to use an annotation org.freedesktop.DBus.GLib.ClientCSymbol
-	when generating the client-side methods, instead of overloading
-	CSymbol which broke everything horribly. My apologies.
-
-2006-01-27  Robert McQueen  <robot101 at debian.org>
-
-	* glib/dbus-gtype-specialized.[ch], glib/dbus-gvalue-utils.c: Patch
-	by me and Rob Taylor to add a simple_free function to D-Bus map
-	and collection types, which allows those types which can be freed
-	with a GDestroyNotify (such as GHashTables and GArrays, but not
-	GPtrArrays) to be stored as the values in hashtables.
-
-	* test/glib/test-dbus-glib.c, test/glib/test-service-glib.{c,xml}:
-	Patch by Rob Taylor to add nested dicts to the glib tests to check
-	the above code works, and appears not to leak when called repeatedly.
-
-2006-01-27  Robert McQueen  <robot101 at debian.org>
-
-	* glib/dbus-gvalue.c (demarshal_valuearray): Patch from Rob Taylor
-	to free a D-Bus allocated string with dbus_free () instead of
-	g_free ().
-
-2006-01-27  Iain Holmes  <iain at openedhand.com>
-
-	* glib/dbus-gproxy.c (dbus_g_proxy_dispose): Protect the dispose
-	method from being called multiple times.
-
-2006-01-19  Robert McQueen  <robot101 at debian.org>
-
-	* glib/dbus-binding-tool-glib.c: Patch from Rob Taylor
-	<rob.taylor at collabora.co.uk> to add support for generating bindings
-	to arrays that are represented as GPtrArrays rather than GArrays (ie
-	size-variable things, such as strings, objects, structs, etc).
-
-2006-01-05  Robert McQueen  <robot101 at debian.org>
-
-	* dbus/dbus-glib.h, glib/dbus-gproxy.c: Patch from Ricardo Kekki
-	<ricardo.kekki at movial.fi> to make it possible to inherit from
-	DBusGProxy, by splitting the DBusGProxy struct into a public part and
-	a private part, and moving the setting of the DBusGProxyManager into a
-	connection property, allowing proper GObject construction.
-
-2006-01-05  Robert McQueen  <robot101 at debian.org>
-
-	* glib/dbus-binding-tool-glib.c: Patch from Ricardo Kekki
-	<ricardo.kekki at movial.fi> to make dbus-binding-tool heed C symbol name
-	annotations when generating glib client bindings.
-
-2005-12-19 John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-shared.h: Call it shared constants instead of shared macros
-
-	* dbus/dbus-protocol.h: add DOxygen markup to quiet warnings
-
-2005-12-19 John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-shared.h: add DOxygen markup to quiet warnings
-
-2005-12-19 John (J5) Palmieri  <johnp at redhat.com> 
-
-	* dbus/dbus-macros.h: correct DOxygen end of section (s/}@/@})
-
-2005-12-19  Ross Burton  <ross at openedhand.com>
-
-	* doc/dbus-tutorial.xml:
-	Document the Glib client-side bindings, and list all possible annotations.
-
-2005-12-19  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/bus.c (dbus_bus_release_name): Add documentation
-
-2005-12-06  Robert McQueen  <robot101 at debian.org>
-
-	* python/service.py: s/sucessful/successful/ so we're allocating to
-	and reading from the same variable. Oops.
-
-2005-11-30  John (J5) Palmieri  <johnp at redhat.com>
-
-	* Released 0.60
-
-2005-11-30  John (J5) Palmieri  <johnp at redhat.com>
-
-	* test/qt/Makefile.am: build from srcdir
-
-	* qt/qtconnection.cpp (requestName): Changed PROHIBIT_REPLACE to ALLOW_REPLACE
-	Note - this code is wrong and needs to be fixed by the Qt binding
-	developers.  The flags should be treated as bitfields and not enums.
-
-	* qt/qtconnection.h: Change ProhibitReplace to AllowReplace
-
-2005-11-30  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-list.c (_dbus_list_insert_after_link, _dbus_list_insert_after, 
-	  link_after): remove #ifdef DBUS_BUILD_TESTS since we use these methods 
-	  in production code
-
-2005-11-30  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-connection.c (dbus_connection_read_write): Add new
-	method for getting messages off the bus in the absence of a
-	mainloop.  This method is much like 
-	dbus_connection_read_write_dispatch except it does not dispatch
-	the messages to a registered filter function.  Instead it
-	allows a developer to process messages by directly popping
-	them off the bus.
-
-2005-11-30  John (J5) Palmieri  <johnp at redhat.com>
-
-	* bus/desktop-file.c (parse_key_value): Ignore locales allowing 
-	the parser to continue instead of returning error
-	(bus_desktop_file_load): Do not free parser data when
-	parse_section_start or parse_key_value fails because it was 
-	already freed by parser_free (patch from Carlos Garcia Campos  
-	<carlosgc at gnome.org>)
-
-2005-11-30  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-auth.c, dbus/dbus-connection.c, dbus/dbus-keyring.c,
-	dbus/dbus-server-debug-pipe.c, glib/dbus-binding-tool-glib.c
-	glib/dbus-glib-tool.c, glib/dbus-gparser.c, glib/dbus-gproxy.c
-	test/test-segfault.c, test/test-utils.c,
-	test/glib/test-dbus-glib.c, tools/dbus-cleanup-sockets.c
-	tools/dbus-launch.c, tools/dbus-tree-view.c, tools/dbus-viewer.c:
-	Various cleanup of dead code and compiler warnings (patch from
-	Kjartan Maraas <kmaraas at gnome.org>) 
-
-2005-11-30  John (J5) Palmieri  <johnp at redhat.com>
-
-	* glib/dbus-gmain.c (connection_setup_add_watch): plugged a leak
-	(patch from Carlos Garnacho Parro <carlosg at gnome.org>
-
-2005-11-27  Robert McQueen  <robot101 at debian.org>
-
-	* python/dbus_bindings.pyx: Repair my previous commit which reverted
-	part of the preceding one. Oops. Merge patch by Johan Hedberg
-	<johan.hedberg at nokia.com> to fix marshalling of 16-bit integer values
-	on big-endian platforms.
-
-	* test/python/test-client.py: Add some 16-bit integers to the test
-	values.
-
-2005-11-27  Carlos Garcia Campos  <carlosgc at gnome.org>
-
-	* glib/dbus-gobject.c: Append a GValue instead of a basic type in
-	method return message for property getters
-
-2005-11-27  Robert McQueen  <robot101 at debian.org>
-
-	* python/dbus_bindings.pyx: Fix a bug where doing a strict append
-	with type v of an instance of dbus.Variant(foo, type='x') caused
-	it to be boxed twice before sending over the bus.
-
-	* python/dbus_bindings.pyx, python/service.py,
-	test/python/test-client.py: Update the constants for the new
-	request_name flags, and update comments/test cases now that queueing
-	is the default action.
-
-2005-11-22  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.in:
-	- Change version to 0.60 for impending release
-	- upped the sonames because of ABI and API breakage
-
-2005-11-22  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.in: Add test/name-test/Makefile to the generated
-	Makefile list
-
-	* dbus/dbus-shared.h (#define DBUS_NAME_FLAG_ALLOW_REPLACEMENT):
-	New flag which replaces DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT
-	(#define DBUS_NAME_FLAG_DO_NOT_QUEUE): New flag for specifying
-	not to queue an ower if it can't be the primary owner
-
-	* bus/bus.h: Add new internal BusOwner struct
-
-	* bus/driver.c (bus_driver_handle_hello): Send flags (0 for default)
-	to bus_registry_ensure and don't set the prohibit_replacement flag
-	since they are now set per BusOwner and not per name.
-	(bus_driver_handle_list_queued_owners): bus method (ListQueuedOwners) 
-	that returns the list of connections in a name's connection queue
-	
-	* bus/services.c (struct BusService): remove prohibit_replacement field
-	(struct BusOwner): new struct for keeping track of queued connections
-	and their associated flags for the queue
-	(struct BusRegistry): add a BusOwner memory pool
-	(bus_registry_new): initialize the BusOwner memory pool
-	(bus_registry_unref): free the BusOwner memory pool
-	(_bus_service_find_owner_link): new internal method for
-	searching the queue for a specific connection
-	(bus_owner_set_flags): new method for adding setting the flags on a
-	bus owner
-	(bus_owner_new): new method that creates a BusOwner object from the
-	pool and sets its flags
-	(bus_owner_ref, bus_owner_unref): ref counting for BusOwner objects
-	(bus_registry_ensure): Add the flags parameter
-	(bus_registry_acquire_service): Switch from using raw connections to
-	using the BusOwner struct
-	Add new state machine for dealing with the new set of flags
-	(bus_registry_set_service_context_table, struct OwnershipCancelData, 
-	cancel_ownership, free_ownership_cancel_data, 
-	add_cancel_ownership_to_transaction, struct OwnershipRestoreData, 
-	restore_ownership, free_ownership_restore_data, 
-	add_restore_ownership_to_transaction): Switch to using BusOwner 
-	instead of raw connections
-	(bus_service_add_owner): Add flags parameter
-	Switch to using BusOwner instead of raw connections
-	Add state machine for dealing with the new set of flags
-	(bus_service_swap_owner): Swaps the first and second owners in the
-	queue.  Used to make sure proper signals are sent when a service looses 
-	or gains primary ownership.  We never insert an owner at the top of the
-	queue.  Instead we insert it in the second position and then swap.
-	(bus_service_remove_owner): Remove the owner from the queue sending
-	out the NameLost and NameOwnerChanged signals if the we were the 
-	primary owner
-	(bus_service_get_primary_owners_connection): New method that extracts
-	the connection from the primary owner
-	(bus_service_get_primary_owner): Returns the BusOwner instead of the 
-	connection
-	(bus_service_get_allow_replacement): Changed from the old 
-	bus_service_get_prohibit_replacement method.  Checks the flags of the 
-	primary owner and returns if it can be replaced or not
-	(bus_service_set_prohibit_replacement): removed
-	(bus_service_has_owner): returns TRUE if and owner with
-	the specified connection exists in the queue
-	
-	* dbus/dbus-bus.c (dbus_bus_connection_get_unique_name): New helper
-	method that only compiles if tests are enabled.  Allows us to get the 
-	unique name of a connection so we can check it against the queue when
-	doing regression tests
-
-	* bus/activation.c (bus_activation_send_pending_auto_activate),
-	bus/dispatch.c (bus_dispatch),  
-	bus/driver.c (bus_driver_handle_get_service_owner, 
-	bus_driver_handle_get_connection_unix_user, 
-	bus_driver_handle_get_connection_unix_process_id,
-	bus_driver_handle_get_connection_selinux_security_context),
-	bus/signals.c (connection_is_primary_owner): 
-	use bus_service_get_primary_owners_connection instead of
-	bus_service_get_primary_owner
-
-	* dbus/dbus-sysdeps.c (_dbus_connect_unix_socket, 
-	_dbus_listen_unix_socket): Calculate the length of the socket
-	path and use that instead of using a fixed length which was
-	causing socket names to contain many trailing Nul bytes.
-
-	* dbus/dbus-glib-lowlevel.h, glib/dbus-gobject.c
-	(dbus_g_method_get_sender): New method for extracting the sender 
-	from a DBusGMethodInvocation
-	(dbus_g_method_return_get_reply): changed name to 
-	dbus_g_method_get_reply
-	(dbus_g_method_return_send_reply): changed name to
-	dbus_g_method_send reply
-
-	* doc/dbus-specification.xml: New docs that describe how the new
-	queueing system works and talks about the changes to the how
-	we specify socket names
-
-	* glib/examples/example-service.c, 
-	glib/examples/example-signal-emitter.c,
-	glib/examples/statemachine/statemachine-server.c:
-	Changed the RequestName flags to the new system
-
-	* test/name-test/ (test-names.c, run-test.sh, Makefile.am): New
-	regression test suite for testing various states of the new
-	queueing system
-	
-2005-11-15  Robert McQueen  <robot101 at debian.org>
-
-	* dbus/dbus-glib-lowlevel.h, glib/dbus-gobject.c: Patch from Rob
-	Taylor to add two methods, dbus_g_method_return_get_reply and
-	dbus_g_method_return_send_reply, to allow you to get the reply
-	message from a DBusGMethodInvocation, append arbitrary stuff to it,
-	and send it. The GLib bindings can't marshal a return value of
-	something like a(s) if the array is empty - ultimately they should be
-	made to heed the signature of the out arguments as the Python bindings
-	now can, but this is a workable interim solution which might have
-	other applications.
-
-2005-11-15  Robert McQueen  <robot101 at debian.org>
-
-	* bus/driver.c, bus/services.c, bus/services.h: Add a ReleaseName
-	method to org.freedesktop.DBus to release a bus name or give up
-	waiting in the queue for it.
-
-	* dbus/dbus-bus.c, dbus/dbus-bus.h, dbus/dbus-shared.h: Add a
-	dbus_bus_release_name method to send the ReleaseName method calls.
-	Add constants for the return values to dbus/dbus-shared.h.
-
-	* doc/dbus-specification.xml: Document the new ReleaseName method
-	in the specification.
-
-	* python/dbus_bindings.pyx: Add a low-level python binding for the
-	release name method.
-
-	* python/exceptions.py, python/service.py: Make freeing BusName
-	objects release the name. Add a NameExistsException, and fix a
-	bug with creating UnknownMethodException.
-
-	* test/python/test-client.py: Add tests for freeing BusName
-	objects causing names to be released.
-
-2005-11-14  Robert McQueen  <robot101 at debian.org>
-
-	* python/service.py: Include the traceback in the error reply when we
-	send an exception over the bus. _BEST_ _PATCH_ _EVER_
-
-2005-11-14  David Zeuthen  <davidz at redhat.com>
-
-	Patch from Timo Hoenig <thoenig at suse.de>.
-
-	* bus/bus.c: I've recently investigated why the automatic reload
-	of configuration files does not work as expected.
-
-	Currently, reloading configuration files does only work when
-	running dbus-daemon with --nodaemon.  If we are running as daemon
-	we're hitting a dnotify bug once we fork the process.
-
-	We're initializing the dnotify fds before calling fork().  Once
-	the child process forked it does still have the fds (and they
-	still show up in /proc/`pidof dbus-daemon`/fd/) but we're not
-	getting SIGIO as changes are made to the configuration files.
-
-	The attached patch moves the initialization of the dnotify fds to
-	process_config_postinit().  This is safe for all current code
-	paths and solves the dnotify disfunction.  If we're running
-	dbus-daemon as daemon the fds for dnotify are now being
-	initialized after fork() for the child process.
-
-	* configure.in: The current configure.in check for dnotify probes
-	'x$target_os' for being 'xlinux-gnu'.  I've changed the check to
-	match for 'xlinux', too. Additionally I have adapted the configure
-	option's style to match with the others.
-
-2005-11-14  Robert McQueen  <robot101 at debian.org>
-
-	* python/decorators.py, python/service.py: Add a new argument to the
-	dbus.service.method decorator called sender_keyword, which if set,
-	specifies the name of an argument which will be provided the bus
-	name of the method caller.
-
-	* test/python/test-client.py, test/python/test-service.py: Add a
-	method and test to check the sender_keyword functionality.
-
-2005-11-07  John (J5) Palmieri  <johnp at redhat.com>
-
-	* bus/driver.c (bus_driver_handle_reload_config): Make sure we send an 
-	empty reply so blocking calls don't block forever (Patch from Sjoerd 
-	Simons <sjoerd at luon.net>)
-
-	* AUTHORS: Add Robert McQueen for his work on the Python
-	Bindings and other parts of D-Bus
-
-2005-11-07  Robert McQueen  <robot101 at debian.org>
-
-	* python/decorators.py: Change emit_signal function to use the
-	signature annotation of the signal when marhsalling the arguments from
-	the service. Fix a bug where the code checking signature length
-	against argument length referenced the wrong variable.
-
-	* python/introspect_parser.py: Avoid adding the type signature of
-	signal arguments to any methods which occur after them in the
-	introspection data (!) by making the parser a little more careful
-	about its current state.
-
-	* python/service.py: Remove debug prints from last commit (again :D).
-
-	* test/python/test-client.py, test/python/test-service.py: Add test
-	signals with signature decorators to test the strict marshalling code
-	gives errors at the right time. Could do with checking the signals
-	actually get emitted too, given that the test does nothing with
-	signals at the moment...
-
-2005-11-07  Robert McQueen  <robot101 at debian.org>
-
-	* python/_dbus.py: Add WeakReferenceDictionary cache of dbus.Bus
-	instances to stop madness of creating new instances representing
-	the same bus connection all the time, rendering any tracking of
-	match rules and bus names quite meaningless. Caught a bug where
-	the private argument to SessionBus() and friends was being passed
-	in as use_default_mainloop by mistake. Still some problems with
-	multiple dbus_binding.Connection instances representing the same
-	low-level connection (eg when you use both SessionBus() and
-	StarterBus() in same process), but it's a lot better now than it
-	was.
-
-	* python/dbus_bindings.pyx: Add constants with the return values
-	for bus_request_name().
-
-	* python/service.py: Store bus name instances in a per-dbus.Bus cache
-	and retrieve the same instances for the same name, so deletion can be
-	done with refcounting. Also now throws some kind of error if you
-	don't actually get the name you requested, unlike previously...
-
-	* test/python/test-client.py: Add tests for instance caching of buses
-	and bus name objects.
-
-2005-11-04  Robert McQueen  <robot101 at debian.org>
-
-	* python/dbus_bindings.pyx, test/python/test-client.py: Fix
-	marshalling of boolean values. Add some booleans to the values in
-	the test client.
-
-	* python/decorators.py, python/service.py: Add an 'async_callbacks'
-	argument to the dbus.service.method decorator, which allows you to
-	name arguments to take two callback functions for replying with
-	return values or an exception.
-
-	* test/python/test-client.py, test/python/test-service.py: Add test
-	case using asynchronous method reply functions, both return values and
-	errors, and from within both the function itself and from a mainloop
-	callback.
-
-	* python/decorators.py, python/service.py: Perform checking that the
-	number of method/signal arguments matches the number of types in the
-	signature at class loading time, not when you first introspect the
-	class.
-
-	* python/service.py: Remove debug print left by the last commit.
-
-2005-11-03  Robert McQueen  <robot101 at debian.org>
-
-	* python/service.py: Heavy refactoring of method invocation, with
-	hopefully no effect on functionality. Nuked _dispatch_dbus_method_call
-	in favour of a new _message_cb that uses seperate functions for
-	looking up the method to call, marshalling the return values, and
-	sending exceptions as errors, and is easier to follow as a
-	consequence.  Fixes some corner cases about returning things that
-	don't match your declared out_signature, allows exceptions to define
-	_dbus_error_name and have it be sent over the bus as the error name,
-	and paves the way for cool stuff like heeding the message no reply
-	flag, asynchronous method implementations, informing the method of the
-	sender, and including backtraces in the error messages.
-
-	* test/python/test-client.py: Catch and print exceptions thrown in the
-	async callback tests, rather than passing them to the low-level
-	bindings to be ignored in a noisy and frustrating manner.
-
-2005-11-03  Robert McQueen  <robot101 at debian.org>
-
-	* python/_dbus.py, python/proxies.py, python/service.py: Add __repr__
-	functions to dbus.Bus, dbus.service.BusName and dbus.service.Object,
-	tweak others to be consistent.
-
-	* test/python/test-client.py: Tweak output of testInheritance.
-
-2005-10-29  Robert McQueen  <robot101 at debian.org>
-
-	* python/service.py: Major changes to allow multiple inheritance
-	from classes that define D-Bus interfaces:
-	
-	 1. Create a new Interface class which is the parent class of
-	    Object, and make the ObjectType metaclass into InterfaceType.
-	
-	 2. Patch written with Rob Taylor to replace use of method_vtable
-	    with code that walks the class's __MRO__ (method resolution order)
-	    to behave like Python does when invoking methods and allow
-	    overriding as you'd expect. Code is quite tricky because
-	    we have to find two methods, the one to invoke which has the
-	    right name and isn't decorated with the /wrong/ interface,
-	    and the one to pick up the signatures from which is decorated
-	    with the right interface.
-	
-	    The same caveats apply as to normal multiple inheritance -
-	    this has undefined behaviour if you try and inherit from two
-	    classes that define a method with the same name but are
-	    decorated with different interfaces. You should decorate
-	    your overriding method with the interface you want.
-	
-	 3. Replace grungy introspection XML generation code in the metaclass
-	    with dictionaries that cope correctly with multiple inheritance
-	    and the overriding of methods. This also uses the signature
-	    decorations to provide correct introspection data, including
-	    the debut appearance of the types of your return values. :D
-
-	* test/python/test-client.py, test/python/test-service.py: Add a test
-	case to try invoking an method that overrides one inherited from a
-	D-Bus interface class.
-
-2005-10-29  Robert McQueen  <robot101 at debian.org>
-
-	* python/dbus_bindings.pyx: Tweak 'raise AssertionError' to assert().
-	Add checking for the end of struct character when marshalling a
-	struct in MessageIter.append_strict.
-
-	* python/examples/example-service.py,
-	python/examples/gconf-proxy-service.py,
-	python/examples/gconf-proxy-service2.py: Update to use gobject
-	mainloop directly rather than appearing to depend on gtk.
-
-	* python/test/test-client.py, python/test/test-server.py: Remove
-	obsolete and broken test scripts for old bindings. We have up to date
-	and working tests in test/python/.
-
-2005-10-29  Robert McQueen  <robot101 at debian.org>
-
-	* python/decorators.py: Add optional arguments to the method and
-	signal decorators to allow you to specify the signature of arguments
-	and return values. Preserve the doc strings of signal functions in the
-	decorated version, for pydoc and friends.
-
-	* python/dbus_bindings.pyx, python/proxies.py: Replace the
-	parse_signature_block function with an iterable dbus.Signature()
-	type. Fix a bug in MessageIter.append_strict where you could append
-	anything by claiming it was a string.
-
-	* python/service.py: Use the out_signature decoration on methods to
-	marshal return values, meaning you no longer require dbus.Array()
-	or dbus.Dictionary() to indicate the type when returning empty
-	arrays or dictionaries. Fix a bug where exceptions which are defined
-	in __main__ are not turned into error replies.
-
-	* test/python/test-client.py, test/python/test-service.py: Add test
-	for correct marshalling of return values according to out_signature.
-	Fix a bug in the async call test where the error_handler is missing a
-	self argument.
-
-2005-10-29  Robert McQueen  <robot101 at debian.org>
-
-	* glib/Makefile.am, glib/examples/Makefile.am,
-	glib/examples/statemachine/Makefile.am: Merge patch from Ubuntu by
-	Daniel Stone to replace explicit calls to libtool with $(LIBTOOL).
-
-	* test/python/.cvsignore: Add run-with-tmp-session-bus.conf.
-
-	* tools/dbus-monitor.1, tools/dbus-monitor.c: Merge dbus-monitor patch
-	from Ubuntu by Daniel Silverstone to allow specifying match rules on
-	the command line.
-
-2005-10-27  Ross Burton  <ross at openedhand.com>
-
-	* dbus/dbus-marshal-header.c:
-	Remove dead code.
-
-	* glib/dbus-gobject.c:
-	Stop compiler warning.
-
-2005-10-25  Ross Burton  <ross at openedhand.com>
-
-	* dbus/dbus-auth.c:
-	* dbus/dbus-server-unix.c:
-	* dbus/dbus-transport-unix.c:
-	* glib/dbus-gmain.c:
-	* glib/dbus-gobject.c:
-	Add some const keywords.
-
-2005-10-25  Ross Burton  <ross at openedhand.com>
-
-	* doc/dbus-specification.xml:
-	Document the NoReply annotation.
-
-	* glib/dbus-binding-tool-glib.h:
-	* glib/dbus-binding-tool-glib.c:
-	Respect the NoReply annotation.
-
-2005-10-24  Robert McQueen <robot101 at debian.org>
-
-	* python/dbus_bindings.pyx (String, MessageIter): make D-Bus strings
-	derive from unicode instead of str, and encode/decode UTF-8 when
-	marshalling/unmarshalling bus messages
-
-	* python/introspect_parser.py: encode introspection data as UTF-8
-	before passing the buffer into libxml2
-
-	* test/python/test-client.py: add unicode test strings
-
-	* test/data/valid-service-files/.cvsignore, test/python/.cvsignore:
-	ignore generated python test files
-
-2005-10-17  John (J5) Palmieri  <johnp at redhat.com>
-
-	* glib/dbus-gvalue-utils.c (hash_free_from_gtype): handle gdouble
-	and G_TYPE_VALUE_ARRAY (DBUS_TYPE_STRUCT)
-	(gvalue_from_hash_value, hash_value_from_gvalue): handle gdouble
-
-	* glib/dbus-gvalue.c (dbus_gvalue_to_signature): add missing
-	DBUS_STRUCT_BEGIN_CHAR and DBUS_STRUCT_END_CHAR charaters
-	when constructing struct signatures
-
-	* python/_dbus.py (Bus): handle private connections using the
-	private keyword in the constructor. defaults to private=False
-	(Bus::close): new method to close a connection to the bus
-
-	* python/dbus_bindings.pyx (Connection::close): renamed method
-	was previously called disconnect
-	(bus_get): now supports getting a private connection
-
-	* python/proxies.py (ProxyMethod::__call__): check if ignore_reply
-	keyword is set to True.  if it is, execute the method without waiting
-	for a reply
-	(ProxyObject::_introspect_execute_queue): new method for executing
-	all the pending methods that were waiting for the introspect to
-	finish.  this is called when introspect either succeeds or fails
-	(ProxyObject::_introspect_error_handler): call queued methods
-
-2005-10-14  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/dbus_bindings.pyx (MessageIter::append_strict): check for
-	STRUCT_BEGIN not TYPE_STRUCT in indicate we are marshalling a struct
-
-	* python/service.py (Object::_message_cb): handle exceptions correctly
-	by sending them over the wire to the calling app.  This makes sure
-	the client returns immediately instead of waiting the 15 seconds to
-	timeout.
-
-	* test/python/test-client.py (TestDBusBindings::testBenchmarkIntrospect): 
-	Add a test to benchmark how long it takes to introspect a service and 
-	call a method which returns a large element (pretty fast)
-
-	* test/python/test-service.py (TestObject::GetComplexArray): new test 
-	method which pushes a lot of data
-
-2005-10-13  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/service.py(ObjectType::_reflect_on_signal, _reflect_on_method): 	
-	reclaim memory outside of the loop and use del istead of just setting
-	the key to None
-
-2005-10-13  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/service.py (ObjectType::_reflect_on_signal): Always close
-	signal tag even when there are no arguments
-
-2005-10-13  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.in: Set mono, mono-docs and Qt3 to default
-	to no instead of auto when building.  These bindings do not
-	have full time maintainers and will not be supported for the
-	1.0 release.
-
-2005-10-12  John (J5) Palmieri  <johnp at redhat.com>
-
-	patches from Michael Krivoruchko <misha at sun.com>: 
-	
-	* dbus/dbus-connection.c (_dbus_connection_queue_received_message_link,
-	_dbus_connection_message_sent, 
-	_dbus_connection_send_preallocated_unlocked_no_update, 
-	_dbus_connection_pop_message_link_unlocked): handle the case when path 
-	is NULL when calling _dbus_verbose
-
-	* configure.in: check for functions getpeerucred and getpeereid
-
-	* dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): provides 
-	support of auth EXTERNAL on Solaris 10+ (getpeerucred), FreeBSD 4.6+, 
-	OpenBSD 3.0+ and FreeBSD 5.0+ as well as MacOSX 10.2+ (getpeereid). 
-	Patch was only tested on Solaris 10 x86 so it might be issues
-	with other platforms (i.e. BSDs and MacOSX)
-	
-
-2005-10-05  John (J5) Palmieri  <johnp at redhat.com>
-
-	* glib/dbus-gvalue.c (marshal_variant): call _dbus_gvalue_marshal 
-	instead of marshal basic so we can handle recursive types in a variant
-
-	* test/glib/test-dbus-glib.c: Add test for marshaling recurive types
-	in variants
-
-	* test/glib/test-service-glib.c, test-service-glib.xml
-	(my_object_echo_variant [EchoVariant], 
-	my_object_process_variant_of_array_of_ints123
-	[ProcessVariantOfArrayOfInts123]): 
-	Add two test methods
-
-	* python/introspect_parser.py: New module for parsing introspect
-	data.
-
-	* python/dbus_bindings.pyx:
-	(various places): when throwing errors fix to use errormsg instead 
-	of message local variable because Pyrex can get confused with other 
-	message variables (initial patch by Robert McQueen 
-	<robert.mcqueen at collabora.co.uk>)
-	(MessageIter::parse_signature_block): new method for getting the next
-	block in a signiture.
-	(MessageIter::append_strict): new method for appending values strictly
-	using the passed in signature instead of guessing at the type
-	(MessageItter:: append_dict, append_struct, append_array): use 
-	signatures to marshal children if the signature is available
-	
-	* python/exceptions.py (IntrospectionParserException): new exception
-
-	* python/proxies.py (ProxyMethod::__call__): Marshal args with 
-	introspected signatures if available, else we fall back to the
-	old way of doing things.
-	(ProxyObject::_introspect_reply_handler ): parse introspection data
-	
-	* python/service.py (ObjectType::_reflect_on_method): Properly
-	terminate <method> if there are no args in the reflection data
-
-	* test/python/test-client.py: add tests for talking with the GLib
-	test server.  This gives us better coverage for introspection since
-	python to python will always generate arguments as variants.  It also
-	allows us to test the robustness of the GLib bindings and interlanguage
-	communications.
-
-	
-2005-10-03  John (J5) Palmieri  <johnp at redhat.com>
-
-	* bus/driver.c (bus_driver_handle_introspect): Add signals
-	to the introspect data. (patch from Daniel P. Berrange 
-	<dan at berrange.com>)
-
-	* bus/dispatch.c (check_existent_ping): Add testcase for Ping
-	
-	* dbus/dbus-connection.c (_dbus_connection_peer_filter,
-	_dbus_connection_run_builtin_filters): Changed these to
-	be unlock_no_update functions and call 
-	_dbus_connection_send_unlocked_no_update instead of
-	dbus_connection_send to avoid locking errors.
-	
-	* doc/TODO: Removed the make Ping test TODO
-	
-2005-09-26  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/Python.pyx: Fixed memory leaks when throwing errors.
-	We now copy the message from a DBusError and then free 
-	the error object befor throwing the error
-
-	* glib/dbus-glib-tool.c: removed extra comma at the end of the
-	DBusBindingOutputMode enum which was causing a warning.
-	#include <time.h> so using time_t is explicitly defined
-
-2005-09-26  John (J5) Palmieri  <johnp at redhat.com>
-
-	* Integrate patches from Lennart Poettering <mzsqb at 0pointer.de>:
-	- dbus/dbus-bus.c
-	(internal_bus_get): new method that take over the heavy lifting
-	of dbus_bus_get and adds the ability to get a private connection
-	to the bus
-	(dbus_bus_get): wrapper to internal_bus_get that provides the same
-	interface as in previous versions
-	(dbus_bus_get_private): new method that is a wrapper to 
-	internal_bus_get to get a private connection to the bus
-
-	- dbus/dbus-bus.h
-	(dbus_bus_get_private): add as a public libdbus interface
-
-	- dbus-1.pc.in: output system_bus_default_address and 
-	sysconfdir variables so apps can use them when compiling
-
-2005-09-23  Harald Fernengel  <harry at kdevelop.org>
-	* dbus/qt: New Qt bindings
-
-2005-09-12  Waldo Bastian  <bastian at kde.org>
-
-	* dbus/dbus-marshal-validate.c,
-	doc/dbus-specification.xml, test/Makefile.am,
-	test/test-names.c: allow hyphens in bus names.
-
-2005-09-11  Mark McLoughlin  <mark at skynet.ie>
-
-	* test/data/auth/fallback.auth-script: we don't
-	retry the EXTERNAL method when we know its going
-	to fail anymore.
-
-2005-09-11  Mark McLoughlin  <mark at skynet.ie>
-
-	* dbus/dbus-connection-internal.h: rename
-	(add|remove|toggle)_(watch|timeout) to unlocked()
-	
-	* dbus/dbus-connection.c: ditto.
-	
-	* dbus/dbus-timeout.c, dbus/dbus-transport-unix.c:
-	Update some callers for the renaming.
-
-2005-09-10  Mark McLoughlin  <mark at skynet.ie>
-
-	* dbus/dbus-auth.c: (record_mechanisms): don't
-	retry the first auth mechanism because we know
-	we're just going to get rejected again.
-	
-	* dbus/dbus-keyring.c: (_dbus_keyring_reload):
-	Fix thinko ... and what a nasty little bugger to
-	track down you were ...
-
-	* dbus/dbus-connection.c:
-	(_dbus_connection_add_watch),
-	(_dbus_connection_remove_watch): add note about
-	these needing the connection to be locked.
-	(_dbus_connection_get_dispatch_status_unlocked):
-	set status to DATA_REMAINS when we queue the
-	disconnected message.
-	
-	* bus/dispatch.c:
-	(bus_dispatch): fix warning.
-	(check_existent_service_no_auto_start):
-	Expect ChildSignaled error too.
-	(check_existent_hello_from_self): fix another
-	couple of warnings.
-	
-2005-09-08  Joe Shaw  <joeshaw at novell.com>
-
-	Patches from James Willcox <snorp at snorp.net>
-
-	* mono/Makefile.am: Add Int16.cs and UInt16.cs
-
-	* mono/DBusType/Array.cs: Handle multidimensional arrays, and
-	support array "out" parameters.
-
-	* mono/DBusType/Int16.cs, mono/DBusType/UInt16.cs: New files,
-	for 16-bit int support.
-
-2005-09-06  John (J5) Palmieri  <johnp at redhat.com>
-
-	* Released 0.50
-
-	* Patch from Steve Grubb:
-	- bus/activation.c (bus_activation_service_reload_test): clean up
-	some indentation
-	- dbus/dbus-keyring.c (_dbus_keyring_reload): fix conditional 
-	- dbus/dbus-message-factory.c (generate_special): fix a couple of
-	buffer overflows in the test suite.  This is non critical because
-	it can not be exploited and this code is only run when doing a 
-	make check.
-
-	* Patch from Yaakov Selkowitz: Build fixes for Cygwin
-	- configure.in: Don't check and link against kdecore, only qt headers
-	- dbus/Makefile.am: Add -no-undefined to libdbus_1_la_LDFLAGS
-	- gcj/org/freedesktop/dbus/Makefile.am:
-	add libdbus_gcj_1_la_LDFLAGS = -no-undefined
-	- glib/Makefile.am: Add -no-undefined to libdbus_glib_1_la_LDFLAGS
-	and $(DBUS_GLIB_LIBS) to dbus_binding_tool_LDADD
-	- qt/Makefile.am: Add -no-undefined to libdbus_qt_1_la_LDFLAGS
-	- tools/Makefile.am: Add platform extentions to binaries 
-	(i.e. .exe on windows)
-
-	* configure.in: 
-	- Make it so if no suitable version of python is found we only 
-	disable building python instead of exiting the configure script
-	- Require version 2.4 of glib for glib bindings
-	- Up version to 0.50
-
-	* python/__init__.py: Sync version with libdbus to (0,50,0)
-	
-2005-09-05  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* dbus/dbus-object-tree.c (find_subtree_recurse):
-	a couple of optimizations (bug #710):
-	- do a binary search in the tree
-	- insert a new child at the right place directly, no need for
-	  qsort anymore
-	- do the "double alloc" thing when allocating children
-
-2005-08-31  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/Makefile.am: Break on pyrexc errors instead of ignoring them
-
-	* python/dbus_bindings.pyx: Memory management foo
-	(global): remove hacky _user_data_references global list
-	(GIL_safe_cunregister_function_handler): userdata now stuffed into
-	tuples. Unref user_data
-	(GIL_safe_cmessage_function_handler): userdata now stuffed into tuples
-	(Connection::__del__): Remove and replace with __dealloc__ method
-	(Connection::add_filter): Stuff user_data into a tuple.  Use Py_INCREF
-	to keep tuple from being deallocated instead of the global var hack
-	(Connection::register_object_path): Stuff user_data into a tuple.
-	Use Py_INCREF to keep tuple from being deallocated instead of the 
-	global var hack
-	(Connection::register_fallback): Stuff user_data into a tuple.
-	Use Py_INCREF to keep tuple from being deallocated instead of the 
-	global var hack
-	(GIL_safe_pending_call_notification): Don't unref the message
-	because it gets unreffed when going out of scope.  Py_XDECREF
-	the user_data
-	(PendingCall::__del__): Remove and replace with __dealloc__ method
-	(PendingCall::set_notify): ref the pending call because we will
-	need it to stick around for when the notify callback gets called
-	(Message::__del__): Remove and replace with __dealloc__ method
-
-	* python/dbus_glib_bindings.pyx (init_gthreads): Changed to 
-	gthreads_init to match up with the dbus call
-
-	* python/glib.py (init_threads): Changed to threads_init to match
-	up with gobject.threads_init().  init_threads is kept for backwards
-	compat but will most likely be deprecated in the future
-
-	* test/python/test-client.py: 
-	- revamp to use Python's unittest functionality
-	- add async call tests
-	- setup threads in glib and dbus so we make sure locks are working
-	
-2005-08-30  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/dbus_bindings.pyx 
-	(_pending_call_notification, cunregister_function_handler, 
-	cmessage_function_handler): All callback functions have been rearranged 
-	to workaround a bug in Pyrex when working with the GIL which is Python's 
-	global lock when dealing with threads.  They have been split into
-	a wrapper function (which assumes the name of the old function) and
-	a _GIL_safe_<function name> function which contains the functionality
-	of the old function.  This ensures that Pyrex does not write code
-	the lock is released.
-	
-
-2005-08-30  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/dbus_bindings.pyx (_pending_call_notification): Obtain the
-	GIL global lock when calling back into Python
-
-2005-08-29  John (J5) Palmieri  <johnp at redhat.com>
-
-	* Release 0.36.2
-
-	* Add Havoc's patch that never got applied to HEAD (Bug #2436):
-
-	* bus/policy.c (bus_policy_allow_user): change default "user is
-	allowed" to be "user has same uid as the bus itself"; any
-	allow/deny rules will override.
-
-	* bus/session.conf.in: don't allow all users, since now by default
-	the user that ran the bus can connect.
-
-2005-08-26  Colin Walters  <walters at verbum.org>
-
-	* tools/dbus-print-message.c (print_message): Flush stdout
-	after printing a message, so that redirecting to a file, then
-	hitting Ctrl-C works.
-
-2005-08-25  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/dbus_bindings.pyx: Tracked down a major memleak and fixed it
-	(EmptyMessage): new class that subclasses Message.  This is a workaround
-	to a Pyrex bug that fails to call __del__ when the Message object goes out
-	of scope.  For some reason subclassing Message fixes this bug
-	(Bus::send_with_reply_and_block): use EmptyMessage instead of Message
-	- s/Message(_create=0)/EmptyMessage everywhere else
-	
-	* test/python/test-{server|client}.py: add the python/.libs directory
-	to the lookup path so dbus_bindings and dbus_glib_bindings don't
-	get picked up from the system
-
-2005-08-25  Colin Walters  <walters at verbum.org>
-
-	* glib/dbus-gproxy.c (dbus_g_proxy_call): Doc update, thanks
-	to Ryan Lortie for the suggestion.
-
-2005-08-24  John (J5) Palmieri  <johnp at redhat.com>
-
-	* test/python: Add python regression test
-
-	* configure.in: Add test/python/Makefile
-
-	* test/Makefile.am: Add the python directory to SUBDIRS
-
-2005-08-24  John (J5) Palmieri  <johnp at redhat.com>
-
-	* Release 0.36.1
-
-	* python/_dbus.py: 
-	(Interface::connect_to_signal): propigate keywords for match on args
-	(Bus::add_signal_receiver): Fix typo s/dbus_inteface/dbus_interface
-
-	* python/proxies.py (ProxyObject::connect_to_signal):
-	propigate keywords for match on args
-
-	* Makefile.am: point everything to pyexecdir since python borks
-	on multilib
-
-2005-08-23  John (J5) Palmieri  <johnp at redhat.com>
-
-	* Release 0.36
-
-2005-08-23  Colin Walters  <walters at verbum.org>
-
-	* test/glib/Makefile.am: Don't multiply-define EXTRA_DIST.
-
-2005-08-23  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/dbus_glib_bindings.pyx: reorder imports and c definitions
-	to fix some wranings. We now use dbus_bindings.DBusConnection instead
-	of defining DBusConnection ourselves.
-
-2005-08-18  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/dbus.pth: New path file to fix up problems when installing
-	c libraries to lib64 and python files to lib.
-
-	* python/Makefile.am: install dbus.pth in the correct spot
-
-2005-08-17  John (J5) Palmieri  <johnp at redhat.com>
-	* ChangeLog: clean up my last entry a bit
-
-	* doc/introspect.xsl: New stylesheet for converting introspection data
-	into browser renderable xhtml. Contributed by Lennart Poettering.
-
-	* doc/introspect.dtd: Fixups in the introspect format from Lennart
-	Poettering.
-
-	* doc/dbus-tutorial.xml: 
-	- Add Colin Walter to the Authors section for authoring the GLib
-	section
-	- Add descriptions of the new signature and type functionality
-	in the Python complex type mapping section
-	- Add a sidenote on the new args matching functionality in 
-	the Python bindings
-	- Fixed up some of the examples to use the gobject.MainLoop
-	instead of gtk.main
-	
-	* python/_dbus.py:
-	(Bus::_create_args_dict): New. Converts a hash of arg matches
-	to a more useable format
-	(Bus::add_signal_receiver): add a **keywords parameter for catching
-	arg match parameters
-	(Bus::remove_signal_receiver): add a **keywords parameter for catching
-	arg match parameters
-	
-	* python/matchrules.py:
-	(MatchTree::exec_matches): Check for arg matches
-	(SignalMatchRule::add_args_match): New method
-	(SignalMatchRule::execute): Added args_list parameter as an optimization
-	so we don't have to marshal the args more than once
-	(SignalMatchRule::match_args_from_list): New method that checks to see
-	if the rule's arg matches match an argument list.  Only arguments
-	set in the rule are checked.
-	(SignalMatchRule::match_args_from_rule): New method that checks to see
-	if the rule's arg matches match another rule's.  All args have to match
-	in order for this method to return true.  If either rule has more args
-	then it is not a match.
-	(SignalMatchRule::is_match): Add args match
-	(SignalMatchRule::repr): Add args to the final output if they exist
-
-2005-08-17  Ross Burton  <ross at burtonini.com>
-
-	* glib/dbus-gproxy.c:
-	(dbus_g_proxy_call_no_reply): unref the message once sent.
-	(dbus_g_proxy_call): protect against NULL proxy.
-
-2005-08-16  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/__init__.py: Version updated (0, 43, 0)
-	
-	* python/dbus_bindings.pyx: 
-	- Fixed type objects to have self passed into __init__
-	- Added the Variant type
-	- Add the ability to specify types or signatures for Array, Variant 
-	and Dictionary
-	(Connection::send_with_reply_handlers): return a PendingCall object
-	(_pending_call_notification): handle the case when an error is returned 
-	without an error message in the body
-	(MessageIter::get_boolean): return True or False instead of an integer
-	(MessageIter::python_value_to_dbus_sig): add direct checking of types 
-	and add checks for objects with embeded signatures or types (Array, 
-	Variant and Dictionary)
-	(MessageIter::append_byte): handle case when the value is a dbus.Byte
-	(MessageIter::append_dict): handle embeded types or signatures
-	(MessageIter::append_array): handle embeded types or signatures
-	(MessageIter::append_variant): new method
-	
-	* python/proxies.py:
-	(DeferedMethod): New. Dummy executable object used when queuing calls 
-	blocking on introspection data
-	(ProxyMethod::__call__): add the timeout keyword for specifying longer 
-	or shorter timeouts for method calls
-	(ProxyObject): Add first pass at an introspection state machine
-	(ProxyObject::__init__): Add introspect keyword for turing off an on 
-	introspection. 
-	(ProxyObject::_Introspect): Internal Introspect call that bypasses 
-	the usual mechanisms for sending messages.  This is to avoid a deadlock
-	where the Intospect call would be queued waiting for the Introspect 
-	call to finish ;-)
-	(ProxyObject::_introspect_reply_handler): New.  This method is called 
-	when introspection returns with no error
-	(ProxyObject::_introspect_error_handler): New.  This method is called 
-	when introspection encounters an error
-	(ProxyObject::__getattr__): Code to handle different introspection 
-	states.  Queue async calls or block blocking calls if we are 
-	introspecting.  Pass through as normal if we are not or are done with 
-	introspecting.
-	
-	* python/service.py: Import signal and method from decorators.py
-
-	* python/types.py: Add Variant type
-
-2005-08-16  Colin Walters  <walters at verbum.org>
-
-	* glib/dbus-gobject.c (dbus_set_g_error): Don't lose if the
-	DBusError message is NULL.
-
-2005-08-09  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-errors.c: apply patch from Timo Teras to make a
-	malloc'd copy of the name parameter
-
-2005-08-09  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-message.c (dbus_message_set_reply_serial): print
-	warning if the reply serial is set to 0
-
-2005-08-04  Colin Walters  <walters at verbum.org>
-
-	* glib/dbus-gvalue-utils.h (_dbus_g_type_specialized_builtins_init)
-	(dbus_g_type_is_fixed, dbus_g_type_fixed_get_size)
-	(dbus_gvalue_set_from_pointer, dbus_g_hash_table_value_foreach)
-	(dbus_g_hash_table_insert_values, dbus_g_hash_table_insert_steal_values)
-	(dbus_gtype_is_valid_hash_key, dbus_gtype_is_valid_hash_value)
-	(dbus_g_hash_func_from_gtype, dbus_g_hash_free_from_gtype)
-	(dbus_g_hash_equal_from_gtype, dbus_gvalue_stor, dbus_gvalue_take):
-	* glib/dbus-gvalue.h (dbus_g_value_types_init)
-	(dbus_gvalue_demarshal, dbus_gvalue_demarshal_variant)
-	(dbus_gvalue_demarshal_message, dbus_gvalue_marshal):
-	
-	Prefix name with _ to ensure they're not exported.  All callers
-	updated.
-
-	* glib/dbus-gvalue.c (typecode_to_gtype)
-	(dbus_typecode_maps_to_basic, basic_typecode_to_gtype)
-	(signature_iter_to_g_type_dict)
-	(signature_iter_to_g_type_array)
-	(dbus_gtype_from_signature_iter, dbus_gtype_from_signature)
-	(dbus_gtypes_from_arg_signature):
-	Move to dbus-gsignature.c.
-
-	* glib/dbus-binding-tool-glib.c (dbus_binding_tool_output_glib_server): Call
-	dbus_g_type_specialized_builtins_init instead of dbus_g_value_types_init.
-	(dbus_binding_tool_output_glib_client): Ditto.
-
-	* glib/Makefile.am (DBUS_GLIB_INTERNALS): Add dbus-gsignature.c
-	and dbus-gsignature.h
-
-	* test/glib/test-service-glib.c (my_object_rec_arrays): Delete
-	unused variable.
-
-2005-08-03  Colin Walters  <walters at verbum.org>
-
-	* glib/dbus-gobject.c: Add tests on hardcoded object info; this should
-	catch any incompatible changes accidentally made.
-
-2005-08-03  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): fix
-	typo, from Julien Puydt
-
-	* bus/connection.c (bus_connection_disconnected): we were always
-	doing a wait_for_memory due to a buggy loop, found by Timo Hoenig
-
-2005-08-01  Colin Walters  <walters at verbum.org>
-
-	Patch from Joe Markus Clarke:	
-	
-	* glib/dbus-gidl.c (property_info_unref, arg_info_unref): Fix
-	use-after-free.
-
-2005-08-01  Colin Walters  <walters at verbum.org>
-	
-	Patch from Joe Markus Clarke:	
-	
-	* tools/dbus-send.c (main): 
-	
-	Don't use C99 style initializers (bug #3933).
-	
-2005-08-01  Colin Walters  <walters at verbum.org>
-
-	Patch from Joe Markus Clarke:	
-
-	* glib/dbus-gvalue.c (dbus_g_value_types_init): 
-	* glib/dbus-gvalue-utils.c (dbus_g_type_specialized_builtins_init) 
-	* glib/dbus-gobject.c (write_interface):
-
-	Don't use C99 style initializers (bug #3933).
-
-2005-07-31  Havoc Pennington  <hp at redhat.com>
-
-	* tools/dbus-viewer.c (load_child_nodes): fix invocation of
-	dbus_g_proxy_call, fix from Piotr Zielinski bug #3920
-
-2005-07-30  Havoc Pennington  <hp at redhat.com>
-
-	* fix a bunch of Doxygen warnings and mistakes
-
-2005-07-30  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-sysdeps.c (_dbus_string_parse_uint): remove #ifdef
-	DBUS_BUILD_TESTS since it's now used in production code
-
-2005-07-29  Havoc Pennington  <hp at redhat.com>
-
-	* test/glib/test-profile.c (write_junk): initialize the junk
-	buffer so valgrind doesn't have a breakdown
-
-2005-07-29  Havoc Pennington  <hp at redhat.com>
-
-	* bus/signals.c (bus_signals_test): add match_rule_equal() tests
-	(match_rule_matches): remove unused arg
-	(test_matching): add tests for match_rule_matches()
-
-	* bus/signals.c (bus_match_rule_parse_arg_match): add ability to
-	do arg0='foo' arg5='bar' in the match rules
-	(match_rule_matches): don't match if the arg0='foo' doesn't match.
-
-	* dbus/dbus-protocol.h (DBUS_MAXIMUM_MATCH_RULE_ARG_NUMBER): add this
-
-2005-07-29  Ross Burton  <ross at openedhand.com>
-
-	* dbus/dbus-connection.c:
-	Don't create a DBusCondVar which is never used.
-
-2005-07-27  Ross Burton  <ross at openedhand.com>
-
-	* dbus/dbus-message.c:
-	Reduce the size of the maximum cached message to 10K.
-
-2005-07-25  Ross Burton  <ross at openedhand.com>
-
-	* glib/dbus-gproxy.c:
-	Remove matches when all proxies are unregistered.
-
-2005-07-24  Colin Walters  <walters at verbum.org>
-
-	* glib/dbus-gvalue.c (signature_iter_to_g_type_array): Don't require
-	typedata; recursive arrays won't have it.
-
-	* test/glib/test-dbus-glib.c:
-	* test/glib/test-service-glib.c:
-	* test/glib/test-service-glib.xml: Add recursive arrays tests.
-	
-2005-07-20  John (J5) Palmieir  <johnp at redhat.com>
-
-	* python/_dbus.py, _util.py, decorators.py, extract.py, matchrules.py.
-	proxies.py, service.py: Cleanup of code after running it through the
-	pyflakes code checker mostly dealing with undefined names.  
-	(Bug #3828, Patch from Anthony Baxter <anthony at interlink.com.au>)
-
-2005-07-17  John (J5) Palmieri  <johnp at redhat.com>
-
-	* NEWS: Update to 0.35.2
-
-2005-07-17  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/_dbus.py: Remove import of the dbus.services
-	module as it no longer exists (patch from Dimitur Kirov)
-
-	* python/service.py (Object::__init__): Fixed typo
-	s/name/bus_name (patch from Dimitur Kirov)
-
-	* python/examples/example-signal-emitter.py: import dbus.glib
-	to get the main loop and use glib mainloop instead of gtk so
-	X doesn't have to be running.
-
-	* python/examples/example-signal-recipient.py: import dbus.glib
-	to get the main loop and use glib mainloop instead of gtk so
-	X doesn't have to be running. Import the decorators module
-	directly.
-
-	* test/glib/Makefile.am:  Added DIST_EXTRA files that distcheck
-	didn't pick up on but are needed to build
-
-	* configure.in: upped version to 0.35.2
-
-	* bus/driver.c, bus/selinux.c, bus/selinux.h, dbus/dbus-protocol.h:
-	added Colin Walters' SELinux API rename patch from head 
-	s/unix sercurity context/selinux security context/
-
-2005-07-16  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/Makefile.am: dbus_binding.pxd.in should be included 
-	in EXTRA_DIST not dbus_binding.pxd
-	fix up $(srcdir) hopefully for the last time
-
-	* NEWS: Update to 0.35.1
-
-2005-07-16  Colin Walters  <walters at verbum.org>
-
-	* bus/driver.c (bus_driver_handle_get_connection_selinux_security_context): Renamed
-	from bus_driver_handle_get_connection_unix_security_context.  Update for
-	error usage.
-	(message_handlers): Update for renames.
-
-	* bus/selinux.c (bus_selinux_allows_send): Handle OOM on
-	_dbus_string_init failure correctly.
-	(bus_selinux_append_context): Convert SID to context.  Append it
-	as a byte array.
-	(bus_selinux_shutdown): Handle the case where bus_selinux_full_init
-	hasn't been called.
-
-	* bus/selinux.h: Update prototype.
-
-	* dbus/dbus-protocol.h (DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN): Renamed
-	from DBUS_ERROR_UNIX_SECURITY_CONTEXT_UNKNOWN.
-
-2005-07-15  Colin Walters  <walters at verbum.org>
-
-	* doc/TODO: Add note about convenience wrappers.
-
-2005-07-15  John (J5) Palmieri  <johnp at redhat.com>
-
-	* NEWS: Update to 0.35
-
-2005-07-15  John (J5) Palmieri  <johnp at redhat.com>
-
-	* glib/Makefile.am: Add make-dbus-glib-error-switch.sh to EXTRA_DIST
-	so distcheck doesn't fail
-
-	* glib/examples/Makefile.am: Add example-service.xml and 
-	example-signal-emitter.xml to EXTRA_DIST so distcheck doesn't fail
-
-	* glib/examples/statemachine/Makefile.am: Add statemachine.xml and
-	statemachine-server.xml to EXTRA_DIST so distcheck doesn't fail
-
-	* python/Makefile.am: Preprend $(srcdir)/ to source files so the
-	compiler looks in the right places during distcheck
-
-2005-07-15  John (J5) Palmieri  <johnp at redhat.com>
-
-	* glib/example/Makefile.am: Fix a typo which cause make distcheck
-	to fail
-
-2005-07-15  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/examples/example-service.py,
-	python/examples/example-signal-emitter.py: Fixed up examples
-	for API changes
-
-2005-07-15  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/__init__.py: Upped to version (0,42,0) because of
-	the API change
-
-2005-07-15  John (J5) Palmieri  <johnp at redhat.com>
-
-	* ChangeLog: fix date in last entry
-
-	* configure.in, bus/system.conf.in: add the ability to configure 
-	the system bus user at compiletime with the --with-dbus-user flag
-	(patch from Kristof Vansant)
-
-2005-07-15  John (J5) Palmieri  <johnp at redhat.com>
-
-	* bus/dispatch.c, test/test-service.c: Add testcase
-	for sending messages to oneself (TODO item).
-
-	* python/service.py (class Object): Swap ordering of bus_name 
-	and object_path parameters to better support inheritance.
-
-	* doc/dbus-tutorial.xml: change Python docs to reflect change
-	in parameter ordering and fix the inheritance section.
-
-	* doc/TODO: remove sending message to oneself TODO item
-
-2005-07-15  Ross Burton  <ross at openedhand.com>
-
-	* glib/dbus-gproxy.c:
-	Fix a leak when calling methods via the proxy.
-
-2005-07-15  Colin Walters  <walters at verbum.org>
-
-	* bus/selinux.c (bus_selinux_append_context): Wrap in
-	HAVE_SELINUX.
-
-2005-07-14  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/_dbus.py (Bus::remove_signal_receiver):
-	don't add a callback to the match if none has been passed in
-	
-	* python/matchrules.py (SignalMatchTree::remove): if the rule
-	being matched does not have a callback treat it as a wildcard
-	fix matching logic
-
-	* doc/dbus-tutorial.xml: Add Python tutorial
-
-2005-07-14  Colin Walters  <walters at verbum.org>
-
-	* bus/driver.c
-	(bus_driver_handle_get_connection_unix_security_context): New function.
-	(message_handlers): Add.
-
-	* bus/selinux.c (bus_selinux_append_context): New function; appends
-	security context to message.
-
-	* bus/selinux.h: Prototype.
-
-	* dbus/dbus-protocol.h (DBUS_ERROR_UNIX_SECURITY_CONTEXT_UNKNOWN): New.
-
-2005-07-14  John (J5) Palmieri  <johnp at redhat.com>
-
-	* bus/activation.c: clean up all tabs to be 8 spaces 
-	(bus_activation_activate_service): make sure we clean up
-	if activation fails
-
-	* bus/dispatch.c: clean up all tabs to be 8 spaces 
-	(check_shell_fail_service_auto_start): New function
-	tests to make sure we get fail properly when trying to auto start a service
-	with a faulty command line
-	(check_shell_service_success_auto_start): New function tests to make sure
-	auto started services get the arguments on the command line
-
-	* test/test-shell-service.c: Added service for testing auto-starting with 
-	command line arguments
-
-	* test/data/valid-service-files/debug-shell-echo-fail.service.in, 
-	test/data/valid-service-files/debug-shell-echo-success.service.in:
-	Added service files for testing auto-starting with command line arguments
-
-	* */.cvsignore: added a bunch of generated files to various .cvsignore files
-
-2005-07-14  Rodrigo Moya  <rodrigo at novell.com>
-
-	* dbus/dbus-shell.[ch]: copy/pasted code from GLib.
-	
-	* dbus/Makefile.am: added new files to build.
-
-	* bus/activation.c (bus_activation_activate_service): support
-	activation commands with parameters.
-
-	* test/shell-test.c: added test program for the shell parsing
-	code.
-
-2005-07-13  David Zeuthen  <davidz at redhat.com>
-
-	* tools/dbus-send.c (append_arg, type_from_name): Also support 16 and
-	64 bit signed and unsigned parameters
-
-2005-07-13  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/.cvsignore: remove dbus_bindings.pyx, add dbus_bindings.pxd
-
-	* python/service.py (class Name): renamed BusName to make it clearer
-	what the object is for (a name on the bus)
-
-	* python/examples/example-service.py,
-	python/examples/example-signal-emitter.py: change the Name object to
-	BusName
-
-2005-07-12  Colin Walters  <walters at verbum.org>
-
-	Patch from Jim Gettys <Jim.Gettys at hp.com>.
-
-	* tools/dbus-launch.c: Include sys/select.h.
-
-2005-07-12  John (J5) Palmieri  <johnp at redhat.com>
-	* python/dbus_bindings.pyx.in: removed
-
-	* python/dbus_bindings.pyx: Added.
-	- Fixed some memleaks (patch from 
-	Sean Meiners <sean.meiners at linspireinc.com>)
-	- Broke out the #include "dbus_h_wrapper.h" and put it in its
-	own pxd file (Pyrex definition)
-	- Broke out glib dependancies into its own pyx module
-	
-	* python/dbus_bindings.pdx: Added.
-	- Defines C class Connection for exporting to other modules
-
-	* python/dbus_glib_bindings.pyx: Added.
-	- New module to handle lowlevel dbus-glib mainloop integration
-
-	* python/glib.py: Added.
-	- Registers the glib mainloop when you import this module
-
-	* python/services.py: Removed (renamed to service.py)
-	
-	* python/service.py: Added.
-	- (class Server): renamed Name
-
-	* python/__init__.py: Bump ro version (0,41,0)
-	-don't import the decorators or service module
-	by default.  These now reside in the dbus.service namespace
-
-	* python/_dbus.py (Bus::__init__): Add code run the main loop 
-	setup function on creation 
-
-	* python/examples/example-service.py,
-	python/examples/example-signal-emitter.py: update examples
-
-	* python/examples/gconf-proxy-service.py,
-	python/examples/gconf-proxy-service2.py: TODO fix these up
-
-	* doc/TODO: Addition
-	- Added a Python Bindings 1.0 section
-	- added "Add match on args or match on details to match rules"
-
-
-2005-07-12  Colin Walters  <walters at verbum.org>
-
-	* glib/examples/statemachine/Makefile.am (statemachine-server-glue.h) 
-	(statemachine-glue.h): 
-	* glib/examples/Makefile.am (example-service-glue.h) 
-	(example-signal-emitter-glue.h): 
-	* glib/Makefile.am (dbus-glib-error-switch.h): 
-	Add libtool --mode=execute so we use the built library instead
-	of any installed one.
-
-2005-07-11  Colin Walters  <walters at verbum.org>
-
-	* glib/dbus-gvalue.c (struct _DBusGValue): Delete.
-	(dbus_g_value_types_init): Remove assertion.
-	(dbus_g_value_get_g_type, dbus_g_value_open)
-	(dbus_g_value_iterator_get_values, dbus_g_value_get_signature)
-	(dbus_g_value_copy, dbus_g_value_free): Delete unimplemented
-	functions related to DBusGValue.  Now we marshal/demarshal
-	structures as GValueArray.
-	(dbus_gtype_from_signature_iter): Return G_TYPE_VALUE_ARRAY for
-	structures.
-	(signature_iter_to_g_type_array): Don't call
-	signature_iter_to_g_type_struct.
-	(signature_iter_to_g_type_struct): Delete.
-	(dbus_gvalue_to_signature): Delete.
-	(dbus_gvalue_to_signature): New function with same name as other
-	one; we can convert structures to signatures.
-	(demarshal_valuearray): New function.
-	(get_type_demarshaller): Use it.
-	(demarshal_recurse): Delete.
-	(marshal_proxy): New function.
-	(marshal_map): Warn if we can't determine signature from type.
-	(marshal_collection_ptrarray): Ditto.
-	(marshal_collection_array): Ditto.
-	(get_type_marshaller): Use marshal_valuearray.
-	(marshal_recurse): Delete.
-	(_dbus_gvalue_test): Add some tests.
-
-	* dbus/dbus-glib.h (struct _DBusGValueIterator): 
-	(dbus_g_value_get_g_type, DBUS_TYPE_G_VALUE)
-	(dbus_g_value_open, dbus_g_value_iterator_get_value)
-	(dbus_g_value_iterator_get_values, dbus_g_value_iterator_recurse)
-	(dbus_g_value_free): Remove prototypes.
-
-	* glib/dbus-binding-tool-glib.c (dbus_g_type_get_lookup_function): Handle
-	G_TYPE_VALUE_ARRAY.
-
-	* glib/examples/example-service.c:
-	* glib/examples/example-client.c: Implement GetTuple.
-
-	* test/glib/test-dbus-glib.c:
-	* test/glib/test-service-glib.c:
-	* test/glib/test-service-glib.xml: Add structure tests.
-
-2005-07-10  Colin Walters  <walters at verbum.org>
-
-	* doc/TODO: Knock off some GLib items with this patch.
-
-	* glib/dbus-gvalue-utils.c (_dbus_gtype_can_signal_error) 
-	(_dbus_gvalue_signals_error): New functions.
-
-	* glib/dbus-gvalue-utils.h: Prototype them.
-
-	* glib/dbus-gobject.c (arg_iterate): Update to handle return vals
-	and change to not output const/retval flags for input args.  All
-	callers updated.
-	(invoke_object_method): Refactor to handle return values.  Add
-	some more comments in various places.  Remove debug g_print.
-
-	* glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_RETURNVAL): New.
-
-	* glib/dbus-binding-tool-glib.c (dbus_g_type_get_marshal_name):
-	Handle G_TYPE_NONE.
-	(compute_gsignature): New function; refactored from code from
-	compute_marshaller and compute_marshaller_name.  Enhance to
-	handle return values and async ops more cleanly.  Update for
-	async ops returning NONE instead of BOOLEAN.
-	(compute_marshaller, compute_marshaller_name): Call compute_gsignature
-	and output appropriate string.
-	(generate_glue): Handle return value annotation.  Also don't dump
-	constness flag for input arguments.
-
-	* glib/Makefile.am (DBUS_GLIB_INTERNALS): New variable; contains
-	files shared between installed library and utilities.
-	(libdbus_glib_1_la_SOURCES): Move some stuf into DBUS_GLIB_INTERNALS.
-	(libdbus_gtool_la_SOURCES): Suck in DBUS_GLIB_INTERNALS so the
-	binding tool can access gtype utility functions.
-
-	* test/glib/test-service-glib.c: 
-	* test/glib/test-service-glib.xml: 
-	* test/glib/test-dbus-glib.c: Add some tests for return values.
-
-2005-07-09  Colin Walters  <walters at verbum.org>
-
-	* glib/dbus-gparser.c (parse_annotation): Add annotations to
-	argument if available, not method.
-
-	* glib/dbus-gobject.c (arg_iterate): More verbose warnings.
-	(invoke_object_method): First, remove some redundant
-	GValues (object_value, error_value) in favor of working on
-	array directly.  Second, rework constness to be less buggy.
-	Now we iterate directly over the argument metadata instead
-	of parallel iterating over output signature and metadata.
-
-	* glib/dbus-glib-tool.h: Add INVALID_ANNOTATION error.
-
-	* glib/dbus-binding-tool-glib.c (generate_glue): Barf on const
-	annotation on input args.
-	
-2005-07-09  Colin Walters  <walters at verbum.org>
-
-	* glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_CONST):
-	Define.
-
-	* glib/dbus-binding-tool-glib.c (generate_glue): Handle Const
-	annotation.
-
-	* glib/dbus-gobject.c (arg_iterate): Update to parse constval too.
-	(method_dir_signature_from_object_info): Handle arg_iterate change.
-	(write_interface): Ditto.
-	(lookup_object_info): Don't barf if format_version is > 0.
-	(invoke_object_method): Handle arg constness.
-
-	* glib/dbus-gidl.c (struct ArgInfo): Add annotations.
-	(arg_info_new): Create.
-	(arg_info_unref): Destroy.
-	(arg_info_get_annotations, arg_info_get_annotation) 
-	(arg_info_add_annotation): New functions.
-
-	* glib/dbus-gidl.h: Prototype them.
-
-	* glib/dbus-gparser.c (parse_annotation): Allow annotations in
-	args, disallow them in properties.
-	(parse_annotation): Handle arg annotations.
-
-	* test/glib/test-service-glib.xml: 
-	* test/glib/test-service-glib.c: Update to make some methods
-	const.
-
-2005-07-08  Colin Walters  <walters at verbum.org>
-
-	* test/glib/test-service-glib.xml: 
-	* test/glib/test-service-glib.c:
-	* test/glib/test-dbus-glib.c: Test a{sv}.
-
-	* glib/examples/statemachine/statemachine.c:
-	* glib/examples/statemachine/statemachine-server.c:
-	* glib/examples/statemachine/statemachine-client.c: Fix some bugs,
-	add progress bar, etc.
-
-	* glib/dbus-gvalue.c (register_array, register_dict): Delete; not
-	needed anymore due to generic array/map marshalling.
-	(dbus_g_value_types_init): Don't register basic arrays or the
-	string/string hash.
-	(dbus_gtype_from_signature_iter): Don't try to recurse into
-	variants.
-	(dbus_gtype_to_signature): Check collection/map before type
-	metadata.
-	(demarshal_garray_basic): Renamed to demarshal_collection_array.
-	(demarshal_ghashtable): Renamed to demarshal_map; fix to use new
-	generic map creation/append functions instead of hash table
-	specifically.
-	(get_type_demarshaller): Handle maps.
-	(demarshal_collection): Dispatch on collection type to either
-	demarshal_collection_ptrarray or demarshal_collection_array.
-	(get_type_marshaller): Handle maps.
-	(marshal_collection): Dispatch collection type to either
-	marshal_collection_ptrarray or marshal_collection_array.
-	(_dbus_gvalue_test): New test.
-
-	* glib/dbus-gvalue-utils.c (unset_and_free_g_value): New function.
-	(hash_free_from_gtype): Use it to free GValues.
-	(hashtable_append): New function.
-	(ptrarray_append): Fix prototype.
-	(slist_append): Ditto.
-	(_dbus_gvalue_utils_test): Extend tests.
-
-	* glib/dbus-gtype-specialized.c
-	(dbus_g_type_specialized_init_append): Renamed from
-	dbus_g_type_specialized_collection_init_append.  Remove const from
-	value, since we steal it.
-	(dbus_g_type_specialized_map_append): New function.
-
-	* glib/dbus-gtype-specialized.h: Update prototypes.
-	Add DBusGTypeSpecializedMapAppendFunc.
-
-	* glib/dbus-gtest.c (dbus_glib_internal_do_not_use_run_tests): Run
-	_dbus_gvalue_test.
-	
-	* glib/dbus-gtest.h: Prototype it.
-
-2005-07-08  Ross Burton  <ross at openedhand.com>
-
-	* dbus/dbus-glib.h:
-	Add DBysGAsyncData for the async bindings.
-
-	* glib/dbus-binding-tool-glib.c:
-	Re-enable the async bindings.
-
-	* test/glib/test-dbus-glib.c:
-	Add a test for the generated async bindings.
-
-2005-07-08  Colin Walters  <walters at verbum.org>
-
-	* doc/TODO: Update GLib todo bits, also add a post-1.0 TODO for a
-	connection concept.
-	
-2005-07-08  Colin Walters  <walters at verbum.org>
-	
-	* tools/Makefile.am: Kill of print-introspect in favor of using
-	dbus-send --print-reply=literal.
-
-	* test/glib/test-service-glib.xml: 
-	* test/glib/test-service-glib.c (my_object_get_objs): New test
-	for "ao".
-
-	* test/glib/test-dbus-glib.c (echo_received_cb): Free echo data.
-	(main): Test GetObjs.
-
-	* glib/examples/statemachine/Makefile.am:
-	* glib/examples/statemachine/sm-marshal.list:
-	* glib/examples/statemachine/statemachine-client.c:
-	* glib/examples/statemachine/statemachine-server.c:
-	* glib/examples/statemachine/statemachine-server.xml:
-	* glib/examples/statemachine/statemachine.c:
-	* glib/examples/statemachine/statemachine.h:
-	* glib/examples/statemachine/statemachine.xml:
-
-	New example.
-
-	* glib/examples/example-service.c (main): Move invocation
-	of dbus_g_object_type_install_info earlier, to emphasize it
-	should only be done once.
-
-	* glib/examples/example-signal-emitter.c (main): Ditto.
-
-	* glib/examples/Makefile.am (SUBDIRS): Include statemachine.
-
-	* glib/dbus-gvalue.h (dbus_gtype_to_signature)
-	(dbus_gvalue_marshal): Update prototypes.
-
-	* glib/dbus-gvalue.c: Update all marshalling functions to take
-	const GValue instead of GValue.
-	(signature_iter_to_g_type_array): Return a GPtrArray for nonfixed
-	types.
-	(dbus_gvalue_to_signature): Update for dbus_gtype_to_signature
-	change.
-	(dbus_gtype_to_signature): Handle generic collecitons and maps.
-	Return a newly-allocated string.
-	(demarshal_proxy, demarshal_object_path, demarshal_object)
-	(demarshal_strv, demarshal_ghashtable): Set error, don't assert if
-	we get the wrong types from message.
-	(get_type_demarshaller): New function, extracted from
-	dbus_gvalue_demarshal.
-	(demarshal_collection): New function, demarshals generic
-	collection.
-	(dbus_gvalue_demarshal): Just invoke result of
-	get_type_demarshaller.  Throw error if we don't have one.
-	(marshal_garray_basic): Abort on OOM.
-	(get_type_marshaller): New function, extracted from
-	dbus_gvalue_marshal.
-	(collection_marshal_iterator, marshal_collection): New functions;
-	implements generic marshalling for an iteratable specialized
-	collection.
-	(dbus_gvalue_marshal): Just invoke result of get_type_marshaller.
-
-	* glib/dbus-gvalue-utils.c (gvalue_from_ptrarray_value): Handle
-	G_TYPE_STRING.
-	(ptrarray_value_from_gvalue): Ditto.
-	(ptrarray_append, ptrarray_free): New functions.
-	(slist_constructor, slist_iterator, slist_copy_elt, slist_copy) 
-	(slist_append, slist_end_append, slist_free): New functions.
-	(dbus_g_type_specialized_builtins_init): Add append fuctions
-	for GPtrArray and GSList.  Register GSList.
-	(test_specialized_hash, _dbus_gvalue_utils_test): New functions.
-
-	* glib/dbus-gtype-specialized.h (DBusGTypeSpecializedAppendContext):
-	New.
-	(dbus_g_type_specialized_collection_init_append)
-	(dbus_g_type_specialized_collection_append)
-	(dbus_g_type_specialized_collection_end_append): Prototype.
-	(DBusGTypeSpecializedCollectionVtable): Add append_func and
-	end_append_func.
-
-	* glib/dbus-gtype-specialized.c (dbus_g_type_specialized_collection_init_append) 
-	(dbus_g_type_specialized_collection_append) 
-	(dbus_g_type_specialized_collection_end_append): New functions.
-	(dbus_g_type_map_value_iterate): Take const GValue.
-	(dbus_g_type_collection_value_iterate): Ditto.
-
-	* glib/dbus-gtest.c (dbus_glib_internal_do_not_use_run_tests): Run
-	_dbus_gvalue_utils_test.
-	
-	* glib/dbus-gtest.h: Prototype it.
-
-	* glib/dbus-gproxy.c (dbus_g_proxy_manager_filter): Avoid
-	using uninitialized owner_list.
-	(dbus_g_proxy_begin_call_internal): Move return_if_fail to
-	public API.
-	(dbus_g_proxy_end_call_internal): Update to use error set
-	from dbus_gvalue_demarshal instead of setting it here.
-	(dbus_g_proxy_begin_call): Move return_if_fail here.
-
-	* glib/dbus-gobject.c (write_interface): Update for
-	dbus_gtype_to_signature returning new string.
-
-	* configure.in: Add glib/examples/statemachine.
-
-2005-07-08  Joe Shaw  <joeshaw at novell.com>
-
-	* configure.in: Add a configure option, --with-console-auth-dir
-	
-	* dbus/dbus-sysdeps-util.c (_dbus_user_at_console): Use the
-	new setting.  Patch from Kay Sievers.
-
-2005-07-06  Colin Walters  <walters at verbum.org>
-
-	* dbus/dbus-glib.h (DBusGPendingCall, DBusGPendingCallNotify)
-	(DBUS_TYPE_G_PENDING_CALL, dbus_g_pending_call_get_g_type)
-	(dbus_g_pending_call_ref, dbus_g_pending_call_unref): Delete.
-	(dbus_g_pending_call_set_notify, dbus_g_pending_call_cancel):
-	Delete in favor of dbus_g_proxy_begin_call and
-	dbus_g_proxy_cancel_call.
-	(DBusGProxyCall, DBusGProxyCallNotify): New.
-	(dbus_g_proxy_begin_call): Change prototype to take callback, user
-	data, and destroy function.  This replaces
-	dbus_g_pending_call_set_notify.
-	(dbus_g_proxy_cancel_call): Prototype.
-	(DBusGAsyncData): Delete, shouldn't be needed anymore.
-
-	* glib/dbus-gproxy.c (struct _DBusGProxy): Add call_id_counter and
-	pending_calls map.
-	(struct _DBusGProxyManager): Add bus_proxy member, which is an
-	internal proxy for calls to the bus. Remove
-	pending_nameowner_calls, now the internal proxy keeps track.
-	(dbus_g_proxy_manager_unref): Unref bus proxy, remove reference to
-	pending_nameowner_calls.
-	(got_name_owner_cb): Update prototype, and use
-	dbus_g_proxy_end_call.
-	(got_name_owner_cb): Remove reference to pending_nameowner_calls.
-	(dbus_g_proxy_manager_register): Delete directly libdbus code in
-	favor of using internal proxy.
-	(dbus_g_proxy_manager_unregister): Update to use
-	dbus_g_proxy_cancel_call for any pending GetNameOwner call.
-	(dbus_g_proxy_init): Initialize pending calls map.
-	(dbus_g_proxy_constructor): New.
-	(dbus_g_proxy_class_init): Add get/set property functions,
-	constructor, and add NAME, PATH, and INTERFACE properties.
-	(cancel_pending_call): New function.
-	(dbus_g_proxy_dispose): Iterate over any outstanding calls and
-	cancel them.
-	(dbus_g_proxy_set_property, dbus_g_proxy_get_property): New.
-	(GPendingNotifyClosure): New structure.
-	(d_pending_call_notify, d_pending_call_free): Moved here from
-	dbus-glib.c.
-	(DBUS_G_VALUE_ARRAY_COLLECT_ALL): Moved around to satisfy function
-	ordering.
-	(manager_begin_bus_call): New internal function for talking to
-	internal bus proxy.
-	(dbus_g_proxy_new): Construct object using GObjet properties.
-	(dbus_g_proxy_begin_call_internal): Update to take user data, etc.
-	Create closure of same, and insert call into map of pending calls.
-	(dbus_g_proxy_end_call_internal): Take call id instead of pending
-	call.  Look up pending call in current set.  Remove it when we've
-	completed.
-	(dbus_g_pending_call_end, dbus_g_proxy_end_call_internal): Delete.
-	(dbus_g_proxy_begin_call): Change API to take callback, user data,
-	and destroy function directly.
-	(dbus_g_proxy_end_call): Update to take DBusGProxyCall.
-	(dbus_g_proxy_call): Invoke with NULL callback.
-	(dbus_g_proxy_cancel_call): New function, replaces
-	dbus_g_pending_call_cancel.
-
-	* glib/dbus-gparser.c (validate_signature): Fix call to
-	dbus_set_g_error.
-
-	* glib/dbus-gobject.c (dbus_g_object_type_dbus_metadata_quark):
-	New quark for attaching metadata to GType.
-	(info_hash): Delete.
-	(lookup_object_info): Look up using quark.
-	(dbus_g_object_type_install_info): Check that a type is classed,
-	not that it's an object.  Also just install type data using quark
-	instead of using global hash.
-
-	* glib/dbus-glib.c (dbus_g_pending_call_ref) 
-	(dbus_g_pending_call_unref, dbus_pending_call_get_g_type)
-	(GPendingNotifyClosure): Delete.
-	(d_pending_call_notify, d_pending_call_free): Move to dbus-gproxy.c.
-	(dbus_g_pending_call_set_notify, dbus_g_pending_call_cancel): Delete.
-
-	* glib/dbus-binding-tool-glib.c (generate_client_glue): Disable async
-	client method generation until we can fix it...
-	
-	* tools/dbus-viewer.c (load_child_nodes): Use dbus_g_proxy_call.
-	(load_from_service_thread_func): Ditto.
-
-	* tools/dbus-names-model.c (struct NamesModel): Hold
-	DBusGProxyCall.
-	(have_names_notify): Update prototype, use
-	dbus_g_proxy_cancel_call.
-	(names_model_reload): Update for new dbus_g_proxy_begin_call API.
-
-	* tools/dbus-monitor.c (filter_func): Update for print_message
-	API change.
-
-	* test/glib/test-dbus-glib.c: Add more tests for async
-	invocations.  Update many begin_call/end_call pairs to just use
-	dbus_g_proxy_call.
-
-	* tools/dbus-send.c (main): Add --print-reply=literal mode.  This
-	allows us to dump print-introspect.c.
-
-	* tools/dbus-print-message.h (print_message): Add literal argument
-	to print_message which is intended to allow printing arguments without
-	metadata like "string=".
-
-	* tools/dbus-print-message.c (print_iter): Add literal argument.
-	(print_message): Allow printing string messages literally.
-
-2005-07-05  Colin Walters  <walters at verbum.org>
-
-	* glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller):
-	Remove value refcount leak, original patch from Jorn Baayen
-	<jorn at openedhand.com>.  Also remove useless extra value in favor
-	of prepending to value array directly.
-
-2005-07-02  Colin Walters  <walters at verbum.org>
-
-	* glib/dbus-gmain.c (_dbus_gmain_test): Fix test.
-
-2005-07-01  Colin Walters  <walters at verbum.org>
-
-	Patch from Jonathan Matthew <jonathan at kaolin.hn.org>
-	
-	* glib/dbus-gvalue.c (basic_typecode_to_gtype): Fix return type.
-	(dbus_g_value_types_init): Marshal G_TYPE_CHAR as DBUS_TYPE_BYTE,
-	G_TYPE_LONG as DBUS_TYPE_INT32, G_TYPE_ULONG as DBUS_TYPE_UINT32,
-	and G_TYPE_FLOAT as DBUS_TYPE_DOUBLE.
-
-2005-06-30  Colin Walters  <walters at verbum.org>
-
-	* test/glib/test-dbus-glib.c:
-	* test/glib/test-service-glib.c:
-	* test/glib/test-service-glib.xml: Update tests for new error
-	setting bits, also add async tests (patch from Ross Burton).
-
-	* test/glib/Makefile.am (test_service_glib_LDADD): Add
-	DBUS_GLIB_THREADS_LIBS.
-
-	* glib/dbus-gproxy.c (get_name_owner)
-	(dbus_g_pending_call_end_valist): Ditto.
-
-	* glib/dbus-gobject.c (error_metadata): New mapping from GError
-	domain (GQuark) to DBusGErrorInfo.  
-	(gerror_domaincode_to_dbus_error_name): Attempt to look up error
-	quark in error_metadata.  Take message interface as default
-	error message interface.
-	(gerror_to_dbus_error_message): Pass message interface.
-	(dbus_set_g_error): Resurrected.
-	(dbus_g_error_info_free): New function.
-	(dbus_g_object_type_install_info): Use g_type_class_ref instead
-	of _peek to actually create the object class if it hasn't been
-	created yet.
-	(dbus_g_error_domain_register): New function.
-
-	* glib/dbus-gmain.c (dbus_g_bus_get): Switch to dbus_set_g_error.
-
-	* glib/dbus-gparser.c (validate_signature): Ditto.
-
-	* dbus/dbus-glib.h (dbus_g_error_set): Delete.
-	(dbus_g_error_domain_register): Prototype.
-
-	* glib/dbus-glib.c (dbus_g_error_set): Delete.
-	Update tests.
-
-2005-06-29  Colin Walters  <walters at verbum.org>
-
-	* dbus/dbus-glib.h: Delete DBUS_TYPE_G_PROXY_ARRAY.  Add
-	DBUS_TYPE_G_OBJECT_PATH.
-
-	* glib/dbus-gvalue.c (dbus_g_value_types_init): Remove marshallers
-	for G_TYPE_OBJECT and DBUS_TYPE_G_PROXY_ARRAY (the latter should
-	be handled more generically).  Add DBUS_TYPE_G_OBJECT_PATH.
-	(dbus_g_object_path_get_g_type): New function.
-	(dbus_gtype_from_signature_iter): Map DBUS_TYPE_OBJECT_PATH
-	to DBUS_TYPE_G_OBJECT_PATH by default.
-	(demarshal_proxy): Remove unused name variable.
-	(demarshal_object_path, marshal_object_path): New functions.
-	(demarshal_proxy_array, marshal_proxy_array): Delete.
-	
-	* glib/dbus-binding-tool-glib.c (dbus_g_type_get_c_name): Map
-	DBUS_TYPE_G_OBJECT_PATH to char *.
-	(dbus_g_type_get_lookup_function): Map builtin
-	DBUS_TYPE_G_OBJECT_PATH.
-
-	* test/glib/test-dbus-glib.c
-	* test/glib/test-service-glib.c (my_object_objpath): 
-	Adapt tests to new object path marshalling.
-
-2005-06-29  John (J5) Palmieri  <johnp at redhat.com>
-
-	* configure.in: force check for Python >= 2.4
-
-2005-06-29  Colin Walters  <walters at verbum.org>
-	
-	Patch from Ross Burton <ross at openedhand.com>
-	
-	* glib/dbus-gobject.c (invoke_object_method): Unset object
-	value in all cases, not only in async case.
-
-2005-06-29  Colin Walters  <walters at verbum.org>
-
-	* glib/dbus-gproxy.c (struct _DBusGProxy): Add new member
-	name_call for keeping track of any outgoing GetNameOwner call.
-	Also add for_owner and associated.
-	(struct _DBusGProxyManager): Add owner_names, which is hash table
-	that maps a base name to a list of names it owns (that we're
-	interested in).  Add pending_nameowner_calls which is a list of
-	all outstanding GetNameOwner; avoids us having to iterate over
-	every proxy.  Add unassociated_proxies which keeps track of name
-	proxies with no associated name owner.
-	(dbus_g_proxy_manager_unref): Destroy owner_names.
-	(struct DBusGProxyNameOwnerInfo): New struct for keeping track of
-	name refcounts.
-	(find_name_in_info, name_owner_foreach)
-	(dbus_g_proxy_manager_lookup_name_owner, insert_nameinfo)
-	(dbus_g_proxy_manager_monitor_name_owner)
-	(dbus_g_proxy_manager_unmonitor_name_owner)
-	(unassociate_proxies, dbus_g_proxy_manager_replace_name_owner):
-	New functions; they manipulate the owner_names mapping.
-	(got_name_owner_cb): New function.
-	(get_name_owner): New function, extracted from
-	dbus_g_proxy_new_for_name_owner.
-	(dbus_g_proxy_manager_register): For now we need to keep track of
-	all NameOwnerChanged.  Also if the proxy is for a name, if we
-	don't already know the name owner, queue a new GetNameOwner
-	request and add it to our list of unassociated proxies.  Otherwise
-	inc the refcount.
-	(dbus_g_proxy_manager_unregister): If this proxy is for a name,
-	cancel any pending GetNameOwner call, etc.
-	(dbus_g_proxy_manager_filter): Handle NameOwnerChanged.  Also use
-	the owner_names mapping to look up the current names for the
-	signal source, and dispatch to any proxies for that name.
-	(dbus_g_proxy_new): Initialize new members.
-	(dbus_g_proxy_new_for_name): Delete unused proxy variable.
-	(dbus_g_proxy_new_for_name_owner): Use get_name_owner.
-	(dbus_g_pending_call_end_valist): New function, extracted from
-	dbus_g_proxy_end_call_internal.  Useful when we don't have a proxy
-	but want to use the GLib infrastructure.  Also note how many
-	arguments in reply were over.
-	(dbus_g_pending_call_end): New function, just call
-	dbus_g_pending_call_end_valist.
-	(dbus_g_proxy_end_call_internal): Just call
-	dbus_g_pending_call_end_valist.
-
-	* glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): Fix lookup
-	of builtin marshaller for STRING_STRING_STRING.
-
-	* test/glib/test-dbus-glib.c: 
-	* test/glib/test-service-glib.c:
-	* test/glib/test-service-glib.xml:
-	Extend tests to cover name proxies, destruction of owner proxies,
-	etc.
-	
-	* glib/examples/example-signal-recipient.c
-	(dbus_g_proxy_new_for_name_owner): Create a name proxy.
-	
-	* tools/dbus-send.c (main): Print D-BUS error name in addition
-	to message.
-
-2005-06-28  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/dbus_bindings.pyx.in (cunregister_function_handler,
-	cmessage_function_handler): Patch from 
-	Anthony Baxter <anthony at interlink.com.au> fixes threading problems
-	by using the Py_GILState_Ensure/Release to synchronize with the
-	python runtime.
-	
-2005-06-28  Ray Strode  <rstrode at redhat.com>
-
-	*  dbus/dbus-spawn.c (_dbus_babysitter_unref): kill
-	babysitter helper process on last unref, bug #2813.
-
-2005-06-27  Colin Walters  <walters at verbum.org>
-
-	* test/glib/test-dbus-glib.c: 
-	* test/glib/test-service-glib.c:
-	* test/glib/test-service-glib.xml:
-	Test hash table signal emitting.
-
-	* glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): Convert
-	types to their fundamental basis types, since this is what
-	marshallers operate on.  Also add an entry for VOID__BOXED.
-	(dbus_g_object_register_marshaller_array): Convert to fundamental.
-
-2005-06-26  Havoc Pennington  <hp at redhat.com>
-
-	* doc/dbus-tutorial.xml: fix names of interface/service/path, fix
-	from Don Park
-
-2005-06-26  Colin Walters  <walters at verbum.org>
-
-	* glib/dbus-glib.c (dbus_set_g_error): Delete.
-	(dbus_g_error_set): New public function from its ashes; used by
-	both service-side method implementation and GLib bindings
-	internals.
-	(dbus_g_error_has_name, dbus_g_error_get_name): New function.
-	(_dbus_glib_test): Add some tests.
-
-	* test/glib/test-dbus-glib.c (main): Test dbus_g_error_has_name.
-
-	* test/glib/test-service-glib.c (my_object_throw_error): Use
-	dbus_g_error_set.
-
-	* glib/dbus-gobject.c (gerror_to_dbus_error_message): Handle
-	errors thrown by dbus_g_error_set.
-
-	* glib/dbus-gmain.c (dbus_g_bus_get): Change to dbus_g_error_set.
-
-	* glib/dbus-gparser.c (validate_signature): Ditto.
-
-	* glib/dbus-gproxy.c (dbus_g_proxy_new_for_name_owner) 
-	(dbus_g_proxy_end_call_internal): Ditto.
-
-	* glib/Makefile.am: Generate dbus-glib-error-switch.h, which
-	converts DBUS_ERROR_x to DBUS_GERROR_x.
-	(libdbus_glib_1_la_SOURCES, BUILT_SOURCES, CLEANFILES): Add it.
-
-	* doc/TODO: Remove error TODO.
-
-	* doc/dbus-tutorial.xml: Update with documentation about error
-	handling.
-
-	* dbus/make-dbus-glib-error-enum.sh: Tighten up regexp to make
-	sure we only change DBUS_ERROR to DBUS_GERROR, not all ERROR to
-	GERROR.  Also add DBUS_GERROR_REMOTE_EXCEPTION.
-
-2005-06-22  Colin Walters  <walters at verbum.org>
-	
-	Patch from Ross Burton <ross at openedhand.com>
-
-	* glib/dbus-gobject.c (dbus_g_method_return): Free out_sig.
-
-2005-06-20  Colin Walters  <walters at verbum.org>
-
-	* configure.in: Add glib/examples.
-
-	* glib/Makefile.am: Add examples/
-
-	* glib/examples/.cvsignore
-	* glib/examples/Makefile.am
-	* glib/examples/example-client.c
-	* glib/examples/example-service.c
-	* glib/examples/example-service.xml
-	* glib/examples/example-signal-emitter.c
-	* glib/examples/example-signal-emitter.xml
-	* glib/examples/example-signal-recipient.c:
-	New files; GLib binding examples, ported from
-	python/examples.
-
-2005-06-20  Colin Walters  <walters at verbum.org>
-
-	* dbus/dbus-glib.h: 
-	* glib/dbus-gproxy.c: Rename dbus_g_proxy_invoke to
-	dbus_g_proxy_call.
-
-	* glib/dbus-binding-tool-glib.c: 
-	* doc/dbus-tutorial.xml: 
-	* test/glib/test-dbus-glib.c: Update for rename.
-	
-2005-06-20  Colin Walters  <walters at verbum.org>
-
-	Patch suggested by Ross Burton <ross at openedhand.com>
-
-	* glib/dbus-gobject.c (export_signals): Free signal name.
-	(g_value_init): Use G_VALUE_NOCOPY_CONTENTS to plug
-	memory leak.  Add a bit of documentation.
-	(dbus_g_method_return_error): Free context, and note we do
-	so.
-
-2005-06-18  Murray Cumming  <murrayc at murrayc.com>
-
-	* dbus/dbus-glib.h:
-	* glib/dbus-gobject.c:
-	* glib/dbus-gproxy.c:
-	* glib/dbus-gvalue.c: Predeclare structs as 
-	typedef struct _Something Something instead of 
-  	typedef struct Something Something, so we can 
-	redeclare the prototypes. Other GNOME libraries 
-	do this already.
-
-2005-06-17  Colin Walters  <walters at verbum.org>
-
-	* tools/dbus-names-model.c (have_names_notify): Fix call
-	to dbus_g_proxy_end_call.
-	
-2005-06-17  Colin Walters  <walters at verbum.org>
-
-	* glib/dbus-gproxy.c (dbus_g_proxy_emit_remote_signal): Don't
-	spew warnings if we get malformed remote signals.
-
-	* glib/dbus-gobject.c (propsig_iterate): New function.
-	(lookup_object_info): New function, extracted from
-	lookup_object_and_method.
-	(introspect_properties, introspect_signals): Delete; these
-	are merged into write_interface.
-	(write_interface): Write out signals and properties here;
-	dump the org.gtk.object stuff and use the interface given
-	in the introspection data blob.  Also fix up property XML.
-	(lookup_values): New function.
-	(introspect_interfaces): Gather a mapping from interface to a
-	list of its methods, signals, and properties, then write out
-	each interface.
-	(lookup_object_and_method): Use lookup_object_info.
-	(struct DBusGSignalClosure): Add interface.
-	(dbus_g_signal_closure_new): Add interface. Don't dup signame;
-	we can just use the constant data.
-	(dbus_g_signal_closure_finalize): Don't free signal name.
-	(signal_emitter_marshaller): Use interface from signal closure.
-	(export_signals): Only export signals mentioned in introspection
-	blob.
-	(dbus_g_connection_register_g_object): Warn if we have no
-	introspection data for an object.
-	(funcsig_equal): Remove unused variable.
-	(dbus_g_object_register_marshaller): Take varargs instead of
-	list.
-	(dbus_g_object_register_marshaller_array): New function,
-	extracted from old dbus_g_object_register_marshaller.
-
-	* glib/dbus-binding-tool-glib.c (struct DBusBindingToolCData): Add
-	signals and property data.
-	(write_quoted_string): New function, extracted from generate_glue.
-	(generate_glue): Write signals and properties to introspection
-	blob.
-
-	* dbus/dbus-glib.h (struct DBusGObjectInfo): Include
-	exported_signals and exported_properties.
-	(dbus_g_object_register_marshaller): Update prototype.
-	(dbus_g_object_register_marshaller_array): Prototype.
-	
-	* test/glib/test-dbus-glib.c: Extend testing to cover new signals.
-
-	* test/glib/test-service-glib.c: Add new test signals and method
-	to emit them.
-
-	* test/glib/test-service-glib.xml: Add some test signals.
-
-	* test/glib/Makefile.am (BUILT_SOURCES): Add my-object-marshal.c
-	and my-object-marshal.h
-	(test_service_glib_SOURCES, test_dbus_glib_SOURCES): Add
-	my-object-marshal.c.
-	(my-object-marshal.c, my-object-marshal.h): Implement.
-
-	* test/glib/.cvsignore: Update.
-
-	* doc/TODO: Remove two GLib TODO items fixed by this
-	patch.
-
-2005-06-16  Colin Walters  <walters at verbum.org>
-
-	* doc/TODO: Update for GLib bindings.
-	
-2005-06-16  Colin Walters  <walters at verbum.org>
-
-	* glib/dbus-binding-tool-glib.c:
-	* glib/dbus-gobject.c:
-	* glib/dbus-gproxy.c:  Add Nokia copyright; Patch
-	from Ross Burton, for his GLib bindings work.
-
-2005-06-16  Colin Walters  <walters at verbum.org>
-
-	* glib/dbus-gobject.c (funcsig_hash, funcsig_equal): Use n_params
-	to iterate instead of walking to G_TYPE_INVALID.
-
-	Patch based on a patch from Ryan Gammon.
-
-2005-06-16  Colin Walters  <walters at verbum.org>
-
-	* bus/bus.c (bus_context_new): Set parser to NULL
-	after we unref it (Patch from Chris Boscolo, #2174).
-	
-2005-06-16  Colin Walters  <walters at verbum.org>
-
-	* python/dbus_bindings.pyx.in: Import size_t,
-	__int64_t, __uint64_t, and __signed.
-
-	* dbus/dbus-sysdeps.c <HAVE_CMSGCRED> (write_credentials_byte):
-	Define cmsg struct, output it.
-	(_dbus_read_credentials_unix_socket):
-	Use cmsg struct.
-	
-	Patch from Joe Markus Clarke for FreeBSD support.
-	
-2005-06-16  Colin Walters  <walters at verbum.org>
-
-	* tools/dbus-send.c (append_array): Use strtok.
-	(append_dict): New function.
-	(type_from_name): New function, extracted from main.
-	(main): Handle sending dicts.
-
-	* tools/dbus-print-message.c (print_iter): Print dict
-	entries.
-	
-2005-06-16  Colin Walters  <walters at verbum.org>
-
-	* glib/dbus-gvalue.c (marshal_basic): Marshal NULL string
-	values as the empty string (#2948).
-	
-2005-06-16  Colin Walters  <walters at verbum.org>
-
-	* dbus/Makefile.am:
-	* mono/doc/Makefile.am:
-	* test/glib/Makefile.am:
-
-	Fix srcdir != builddir issues (Patch from Chris Wilson, #3477)
-
-2005-06-16  Colin Walters  <walters at verbum.org>
-
-	* dbus/dbus-marshal-header.c (_dbus_header_load): Set
-	header byte order from expected byte order (Patch from Chris Wilson, #3475).
-
-	* dbus/dbus-marshal-byteswap.c (byteswap_body_helper): 
-	Increment pointer after swapping fixed array.  Add assertion
-	for array length.
-		
-2005-06-15  Colin Walters  <walters at verbum.org>
-
-	* dbus/dbus-sysdeps.c <HAVE_CMSGCRED> (_dbus_read_credentials_unix_socket):
-	Fix call to dbus_set_error.  (Patch from Michael Banck, #3461)
-	
-2005-06-15  John (J5) Palmieri  <johnp at redhat.com>
-
-	* NEWS: Update to 0.34
-
-2005-06-15  David Zeuthen  <davidz at redhat.com>
-
-	* configure.in (LT_CURRENT): Revert back to 1 as the library
-	hasn't changed and we've certainly not committed to protocol
-	stability yet.  All this does is to break ABI. See commit note
-	from hp at redhat.com 2005-05-05 for details.
-	
-2005-06-15  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-connection.c (_dbus_connection_peer_filter): New method 
-	(_dbus_connection_run_builtin_filters): New method
-	(dbus_connection_dispatch): Run the builtin filters which in turn
-	runs the peer filter which handles Ping messages.
-
-	* doc/TODO: 
-	 - Ping isn't handled: This patch fixes it
-	 
-	 - Add a test case for the Ping message: added TODO item
-
-2005-06-15  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-message.c:
-	(dbus_message_has_path): New method
-	(dbus_message_has_interface): New method
-	(dbus_message_has_member): New method
-
-	* dbus/dbus/dbus-sysdeps.c (_dbus_check_dir_is_private_to_user):
-	New method
-
-	* dbus/dbus-keyring.c (_dbus_keyring_reload): Check to see that 
-	the keyring directory is private to the user
-
-	* doc/TODO:
-	 - The convenience functions in dbus-bus.h should perhaps have
-	 the signatures that they would have if they were autogenerated
-	 stubs. e.g. the acquire service function. We should also evaluate
-	 which of these functions to include, in light of the fact that
-	 GLib/Qt native stubs will probably also exist.: Punted
-
-	 - add dbus_message_has_path(), maybe has_member/interface:
-	 fixed in this patch
-
-	 - in dbus-keyring.c, enforce that the keyring dir is not
-	 world readable/writable: Fixed in this patch
-
-2005-06-15  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-marshal-validate.h: Added a new validation
-	error code DBUS_VALIDITY_UNKNOWN_OOM_ERROR = -4 for 
-	out of memory errors when validating signitures
-
-	* dbus/dbus-marshal-header.c: use DBUS_VALIDITY_UNKNOWN_OOM_ERROR
-	in places where we previously used DBUS_VALID and a FALSE return 
-	value to indicate OOM
-	
-	* dbus/dbus-marshal-validate.c (_dbus_validate_signature_with_reason):
-	Use a stack to track the number of elements inside containers.  The 
-	stack values are then used to validate that dict entries have only two
-	elements within them.
-	(validate_body_helper): check the reason for failure when validating
-	varients
-	
-	* dbus/dbus-message.c (load_message): use 
-	DBUS_VALIDITY_UNKNOWN_OOM_ERROR in places where we previously used 
-	DBUS_VALID and a FALSE return value to indicate OOM
-
-	* doc/TODO: remove "- validate dict entry number of fields" as this
-	patch fixes it
-
-2005-06-14  David Zeuthen  <davidz at redhat.com>
-
-	* bus/bus.c (process_config_every_time): Drop existing conf-dir
-	watches (if applicable) and add new watches
-
-	* bus/main.c (signal_handler): Handle SIGIO if using D_NOTIFY
-	(main): Setup SIGIO signal handler if using D_NOTIFY
-
-	* bus/config-parser.h: Add prototype bus_config_parser_get_conf_dirs
-
-	* bus/config-parser.c (struct BusConfigParser): Add conf_dirs list
-	(merge_included): Also merge conf_dirs list
-	(bus_config_parser_unref): Clear conf_dirs list
-	(include_dir): Add directory to conf_dirs list
-	(bus_config_parser_get_conf_dirs): New function
-
-	* bus/dir-watch.[ch]: New files
-
-	* bus/Makefile.am (BUS_SOURCES): Add dir-watch.[ch]
-
-	* configure.in: Add checks for D_NOTIFY on Linux
-
-2005-06-14  Colin Walters  <walters at verbum.org>
-
-	* glib/dbus-binding-tool-glib.c:
-	* glib/dbus-gobject.c:
-	* glib/dbus-gvalue.c: Fix indentation and brace style.
-	
-2005-06-14  Ross Burton <ross at openedhand.com>.
-
-	* glib/dbus-glib.h: Make DBusGMethodInvocation
-	a private structure.  Rearrange prototypes a bit.
-	
-	* glib/dbus-gproxy.c (dbus_g_proxy_invoke): Add
-	documentation for first_arg_type.
-	
-	* glib/dbus-gobject.c: Move DBusGMethodInvocation
-	here, add documentation.  Move dbus_g_method_return
-	and dbus_g_method_return_error into public API
-	section.
-
-2005-06-14  Colin Walters  <walters at verbum.org>
-
-	* glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller):
-	Add missing return statements, noticed by Ross Burton.
-	
-2005-06-13  Ross Burton <ross at openedhand.com>.
-
-	* glib/dbus-gobject.c: Handle errors on message
-	demarshalling by sending error message back.
-	* glib/dbus-gvalue.c: Initialize return variables.
-
-2005-06-13  Colin Walters  <walters at verbum.org>
-
-	* glib/Makefile.am: Fix thinko in last patch.
-
-2005-06-13  Colin Walters  <walters at verbum.org>
-
-	* glib/Makefile.am: Move dbus-gtype-specialized.c
-	and dbus-gtype-specialized.h into a _HEADERS variable,
-	install them.
-
-2005-06-12  Colin Walters  <walters at verbum.org>
-
-	Async signals and various bugfixes and testing by
-	Ross Burton <ross at openedhand.com>.
-
-	* glib/dbus-gvalue.h: (struct DBusBasicGValue): Delete.
-	(dbus_gvalue_genmarshal_name_from_type)
-	(dbus_gvalue_ctype_from_type): Moved to dbus-binding-tool-glib.c.
-	(dbus_gtype_to_dbus_type): Renamed to dbus_gtype_from_signature.
-	(dbus_g_value_types_init, dbus_gtype_from_signature)
-	(dbus_gtype_from_signature_iter, dbus_gtype_to_signature)
-	(dbus_gtypes_from_arg_signature): New function prototypes.
-	(dbus_gvalue_demarshal): Take context and error arguments.
-	(dbus_gvalue_demarshal_variant): New function.
-	(dbus_gvalue_demarshal_message): New function.
-	(dbus_gvalue_store): Delete.
-
-	* glib/dbus-gvalue.c:
-
-	File has been almost entirely rewritten; now we special-case
-	more types such as DBUS_TYPE_SIGNATURE, handle arrays and
-	hash tables correctly, etc.  Full support for recursive values
-	is not yet complete.
-
-	* glib/dbus-gproxy.c (dbus_g_proxy_class_init): Change last
-	argument of signal to G_TYPE_POINTER since we now pass a
-	structure.
-	(lookup_g_marshaller): Delete in favor of
-	_dbus_gobject_lookup_marshaller.
-	(marshal_dbus_message_to_g_marshaller): Use
-	_dbus_gobject_lookup_marshaller and dbus_gvalue_demarshal_message
-	to handle remote signal callbacks.
-	(dbus_g_proxy_new_from_proxy): New function; creates a new
-	DBusGProxy by copying an existing one.
-	(dbus_g_proxy_get_interface, dbus_g_proxy_set_interface)
-	(dbus_g_proxy_get_path): New functions.
-	(dbus_g_proxy_marshal_args_to_message): New function;
-	factored out of existing code.
-	(DBUS_G_VALUE_ARRAY_COLLECT_ALL): Collect all arguments
-	from a varargs array.
-	(dbus_g_proxy_begin_call_internal): New function.
-	(dbus_g_proxy_end_call_internal): New function.
-	(dbus_g_proxy_begin_call): Take GTypes instead of DBus types
-	as arguments; simply invoke dbus_g_proxy_begin_call_internal
-	after collecting args into value array.
-	(dbus_g_proxy_end_call): Take GTypes instead of DBus types;
-	invoke dbus_g_proxy_end_call_internal.
-	(dbus_g_proxy_invoke): Simply invoke begin_call_interanl and
-	end_call_internal.
-	(dbus_g_proxy_call_no_reply): Take GTypes instead of DBus
-	types.
-	(array_free_all): New function.
-	(dbus_g_proxy_add_signal): Take GTypes.
-
-	* glib/dbus-gobject.h:
-	(_dbus_glib_marshal_dbus_message_to_gvalue_array): Delete.
-	(_dbus_gobject_get_path, _dbus_gobject_lookup_marshaller):
-	Prototype.
-
-	* glib/dbus-gobject.c: Add a global marshal_table hash which
-	stores mappings from type signatures to marshallers.  Change lots
-	of invocations of dbus_gtype_to_dbus_type to
-	dbus_gtype_to_signature.
-	(_dbus_glib_marshal_dbus_message_to_gvalue_array): Delete.
-	(introspect_signals): Fix test for query.return_type.
-	(set_object_property): Update invocation of dbus_gvalue_demarshal.
-	(invoke_object_method): Many changes.  Handle asynchronous
-	invocations.  Convert arguments with
-	dbus_gvalue_demarshal_message.  Handle errors.  Use
-	DBusSignatureIter instead of strlen on args. Handle all arguments
-	generically.  Special-case variants.
-	(dbus_g_method_return, dbus_g_method_return_error): New function.
-	(DBusGSignalClosure): New structure, closes over signal
-	information.
-	(dbus_g_signal_closure_new): New function.
-	(dbus_g_signal_closure_finalize): New function.
-	(signal_emitter_marshaller): New function; is special marshaller
-	which emits signals on bus.
-	(export_signals): New function; introspects object signals and
-	connects to them.
-	(dbus_g_object_type_install_info): Take GType instead of
-	GObjectClass.
-	(dbus_g_connection_register_g_object): Invoke export_signals.
-	(dbus_g_connection_lookup_g_object): New function.
-	(DBusGFuncSignature) New structure; used for mapping type
-	signatures to marshallers.
-	(funcsig_hash): New function; hashes DBusGFuncSignature.
-	(funcsig_equal): New function; compares DBusGFuncSignature.
-	(_dbus_gobject_lookup_marshaller): New function.
-	(dbus_g_object_register_marshaller): New function; used to
-	register a marshaller at runtime for a particular signature.
-
-	* glib/dbus-gmain.c (_dbus_gmain_test): Add various tests.
-
-	* glib/dbus-binding-tool-glib.h: Add DBUS_GLIB_ANNOTATION_ASYNC
-	which notes a server method implementation should be
-	asynchronous.
-
-	* glib/dbus-binding-tool-glib.c
-	(dbus_binding_tool_output_glib_server): Call
-	dbus_g_value_types_init.
-	(write_formal_parameters): Use dbus_gtype_from_signature.  Handle
-	variants specially.
-	(dbus_g_type_get_lookup_function): Turn GType into an invocation
-	of a lookup function.
-	(write_args_for_direction): Use dbus_g_type_get_lookup_function.
-	(write_untyped_out_args): New method; write output arguments.
-	(write_formal_declarations_for_direction): Function for
-	writing prototypes.
-	(write_formal_parameters_for_direction): Function for
-	writing implementations.
-	(write_typed_args_for_direction): Function for writing
-	arguments prefixed with GTypes.
-	(write_async_method_client): Write out async version
-	of method.
-
-	* glib/dbus-binding-tool-glib.c: Include dbus-gvalue-utils.h.
-	(dbus_g_type_get_marshal_name): Move mapping from GType
-	to marshal name into here.
-	(dbus_g_type_get_c_name): Move into here.
-	(compute_marshaller): Convert signature to type with
-	dbus_gtype_from_signature, use dbus_g_type_get_marshal_name.
-	(compute_marshaller_name): Ditto.
-	(compute_marshaller): Handle async signal annotations.
-	(gather_marshallers): Return if we don't have a known
-	prefix.
-	(generate_glue): Collect introspection blob here, and
-	write all of the blob at the end.  This allows an object
-	with multiple interfaces to work.
-	Mark async methods in introspection blob.
-
-	* glib/Makefile.am (libdbus_glib_1_la_SOURCES): Add
-	dbus-gtype-specialized.c, dbus-gtype-specialized.h,
-	dbus-gvalue-utils.h, dbus-gvalue-utils.c.
-
-	* dbus/dbus-glib.h: Don't include dbus-protocol.h; this
-	avoids people accidentally using DBUS_TYPE_* which should
-	not be necessary anymore.
-	Do include dbus-gtype-specialized.h, which are utilities
-	for GLib container types.
-	Add various #defines for types such as
-	DBUS_TYPE_G_BOOLEAN_ARRAY.
-	(DBusGValueIterator, DBusGValue): Define, not fully used
-	yet.
-	(dbus_g_value_get_g_type): Type for recursive value.
-	(dbus_g_value_open, dbus_g_value_iterator_get_value)
-	(dbus_g_value_iterator_get_values, dbus_g_value_iterator_recurse)
-	(dbus_g_value_free): Prototypes.
-	(dbus_g_object_register_marshaller, dbus_g_proxy_new_from_proxy): Prototype.
-	(dbus_g_proxy_set_interface): Prototype.
-	(dbus_g_proxy_begin_call, dbus_g_proxy_end_call)
-	(dbus_g_proxy_call_no_reply): Take GLib types instead of DBus
-	types.
-	(dbus_g_proxy_get_path, dbus_g_proxy_get_interface):
-	Accessors.
-	(DBusGAsyncData, DBusGMethodInvocation): Structures for
-	doing async invocations.
-	(dbus_g_method_return, dbus_g_method_return_error):
-	Prototypes.
-	* doc/dbus-tutorial.xml: Update GLib section.
-	
-	* tools/dbus-viewer.c (load_child_nodes): Update
-	for new invocation type of dbus_g_proxy_end_call.
-	(load_from_service_thread_func): Ditto.
-
-	* tools/print-introspect.c (main): Ditto.
-
-	* tools/dbus-names-model.c (have_names_notify)
-	(names_model_reload, names_model_set_connection)
-	Use GTypes.
-
-	* python/Makefile.am (INCLUDES): Define DBUS_COMPILATION,
-	needed since Python bindings use GLib bindings.
-
-	* test/glib/Makefile.am (INCLUDES): Define DBUS_COMPILATION.
-	Add --prefix argument.
-
-	* tools/Makefile.am: Define DBUS_COMPILATION.  Remove
-	unneeded --ignore-unsupported arg.
-	
-	* test/glib/test-service-glib.c: 
-	* test/glib/test-service-glib.xml:
-	* test/glib/test-dbus-glib.c: Add many more tests.
-
-2005-06-06  David Zeuthen  <davidz at redhat.com>
-
-	* doc/TODO: Add item about need to remove deprecated functions.
-
-	* dbus/dbus-connection.h: Add prototype for dbus_connection_disconnect
-
-	* dbus/dbus-connection.c (dbus_connection_disconnect): New function
-	to repair the ABI which was broken with the last commit.
-
-2005-06-02  John (J5) Palmieri <johnp at redhat.com>
-
-	*  dbus/dbus-connection.c, dbus/dbus-connection.h 
-	(dbus_connection_disconnect): renamed to dbus_connection_close 
-	for API symmetry with dbus_connection_open
-	(_dbus_connection_open_internal): 
-	s/dbus_connection_disconnect/dbus_connection_close
-
-	* dbus/dbus-bus.c (dbus_bus_get):
-	s/dbus_connection_disconnect/dbus_connection_close
-
-	* bus/connection.c (bus_connections_unref, 
-	bus_connections_setup_connection, bus_connections_expire_incomplete):
-	s/dbus_connection_disconnect/dbus_connection_close
-
-	* bus/dispatch.c (bus_dispatch, kill_client_connection, 
-	kill_client_connection_unchecked, check_hello_connection):
-	s/dbus_connection_disconnect/dbus_connection_close
-
-	* bus/bus.c (new_connection_callback):
-	s/dbus_connection_disconnect/dbus_connection_close
-
-	* tools/dbus-send.c (main):
-	s/dbus_connection_disconnect/dbus_connection_close
-
-	* test/glib/test-profile.c (no_bus_thread_func, with_bus_thread_func):
-	s/dbus_connection_disconnect/dbus_connection_close
-	
-	* test/test-service.c (path_message_func, filter_func):
-	s/dbus_connection_disconnect/dbus_connection_close
-	
-	* doc/TODO: remove connection_open/connection_disconnect lacks symmetry 	item that was just fixed
-	
-2005-05-25  Colin Walters  <walters at verbum.org>
-
-	* dbus/dbus-protocol.h: Move various bus service #defines such
-	  as DBUS_SERVICE_DBUS and DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT to
-	  dbus/dbus-shared.h.
-	* dbus/dbus-shared.h: Various defines moved here.
-	* dbus/dbus-marshal-header.c: Include dbus-shared.h.
-
-2005-05-25  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/__init__.py: Python bindings deserve a minor version
-	update.  Upped to (0, 40, 2)
-
-2005-05-24  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/decorators.py: add explicitly_pass_message decorator
-	for passing in the dbus message as keyword for edge case signal
-	handling
-
-	* python/matchrules.py (SignalMatchRule.__repr__): fix output
-	to conform with what dbus expects for match rules
-	(SignalMatchRule.execute): add the dbus message as a keyword
-	if the signal handler has requested it
-
-	* python/examples/example/signal-recipient.py: added some more
-	examples on how to hook up to signals
-
-2005-05-23  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/decorators.py: import dbus_bindings
-
-	* python/matchrules.py (SignalMatchRule, SignalMatchTree, 
-	SignalMatchNode): new classes that implement wildcard signal
-	callback matching using a tree lookup. Heavily modified from a
-	patch sent by Celso Pinto (fd.o bug #3241)
-
-	* _dbus.py (add_signal_receiver, remove_signal_receiver, _signal_func):
-	use new match classes to handle signals.
-
-2005-05-19  John (J5) Palmieri  <johnp at redhat.com>
-	
-	* python/dbus_bindings.pyx.in: s/TYPE_PATH/TYPE_OBJECT_PATH
-
-2005-05-18  Havoc Pennington  <hp at redhat.com>
-
-	* configure.in: use GLIB_GNU_GETTEXT to get INTLLIBS and require
-	gettext. Not really worth requiring yet perhaps, but any
-	production quality 1.0 would require it so we should go ahead and
-	get things set up. We do have a couple token calls to
-	bindtextdomain in the code already.
-
-2005-05-16  John (J5) Palmieri  <johnp at redhat.com>
-
-	* glib/dbus-gmain.c (io_handler_dispatch): fix deadlock
-	when using recursive g_main_loops
-
-	* python/_dbus.py (class Bus): add the ProxyObjectClass
-	alias for ProxyObject to make it easier for the Twisted 
-	networking framework to integrate dbus.
-
-	* python/proxies.py (class ProxyObject): add the ProxyMethodClass
-	alias for ProxyMethod to make it easier for the Twisted 
-	networking framework to integrate dbus. 
-
-2005-05-11  Ross Burton  <ross at openedhand.com>
-
-	* glib/dbus-glib-tool.c: Add --prefix argument.
-	* glib/dbus-binding-tool-glib.h: Add prefix argument.
-	* glib/dbus-binding-tool-glib.c (compute_marshaller_name):
-	Add prefix argument.
-	(generate_glue): Pass prefix argument down.
-	(dbus_binding_tool_output_glib_server): Pass prefix to
-	glib-genmarshal.
-	
-2005-05-11  Colin Walters  <walters at verbum.org>
-
-	* tools/dbus-send.c (append_array): New function.
-	(append_arg): Broken out from main.
-	(main): Add cheesy hack to send arrays and variants.
-	(usage): Update.
-	* tools/dbus-print-message.c (print_iter): Broken out
-	from main.
-
-2005-05-11  Colin Walters  <walters at verbum.org>
-
-	* dbus/dbus-signature.c (dbus_signature_iter_get_signature):
-	New function, returns signature string for signature iter.
-	* dbus/dbus-signature.h: Prototype it.
-	* dbus/dbus-message.c (dbus_message_iter_get_signature):
-	New function, returns signature string for message iter.
-	(dbus_message_iter_get_array_len): New function, returns
-	length of array.
-	(dbus_message_iter_get_fixed_array): Fix assertion; this
-	function should be used when the iter is pointing to the
-	contents of an array
-	* dbus/dbus-message.h: Prototypes.
-	* dbus/dbus-marshal-recursive.c (_dbus_type_reader_get_array_length):
-	New function; returns length of an array.
-	* dbus/dbus-marshal-recursive.h: Prototype it.
-	
-2005-05-11  Colin Walters  <walters at verbum.org>
-
-	* dbus/dbus-sysdeps-util.c <!HAVE_POSIX_GETPWNAM_R>: Fix
-	compilation error.
-	
-2005-05-08  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-sysdeps-util.c (_dbus_become_daemon): write the
-	daemon's pid, not the parent's pid, to the file descriptor.
-	Reported by Taj Morton.
-
-2005-05-05  Havoc Pennington  <hp at redhat.com>
-
-	* configure.in (LT_*): add notes on how the libtool versioning
-	works to save thinking. Increment soname to indicate protocol
-	breakage (though really the library interface hasn't changed I
-	guess)
-
-	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
-	verify the GUID received from server matches what we were
-	expecting, if we had an expectation
-
-	* dbus/dbus-auth.c (send_ok): send GUID along with the OK command
-	(_dbus_auth_get_guid_from_server): new function
-	(send_begin): parse the OK args
-
-	* doc/dbus-specification.xml: add GUID to the auth protocol
-
-2005-05-05  John (J5) Palmieri  <johnp at redhat.com>
-
-	* Fix my name in previous changelog ;)
-
-	* python/proxies.py (ProxyObject.__getattr__): add further patch
-	from Anthony Baxter to throw an AttributeError when python 
-	__special__ functions are called instead of marshling them over 
-	the bus (Bug#1685 comment 3).
-
-2005-05-04  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/Makefile.am: changed to use pyexecdir for the binding
-	shared libraries (Bug#2494)
-
-	* python/exceptions.py: bring exceptions over from the bindings
-	so they can be used in applications (Bug#2036)
-	Make all exceptions derive from DBusException
-
-	* python/_dbus.py, python/proxies.py: implement __repr__ in a couple
-	of classes so that print obj doesn't throw an exception (Bug #1685)
-
-2005-05-03  Ross Burton  <ross at openedhand.com>
-
-	* glib/dbus-gobject.c (dbus_g_connection_register_g_object):
-	Return if we get an error during registration.  Set up a
-	weak reference on object to unregister if object is destroyed.
-	(unregister_gobject): New function.
-	
-2005-05-01  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/dbus_bindings.pyx.in: 
-	- added new type classes for hinting to the marashaler what type 
-	to send over the wire
-	- added int16 and uint16 marshalers
-	- Fixed a bug in the type constants that caused int32 to go out
-	as uint16 over the wire
-	* python/dbus.py: split up into different files and renamed _dbus.py
-	* python/__init__.py, python/_util.py, python/decorators.py, 
-	python/exceptions.py, python/proxies.py, python/services.py,
-	python/types.py: new files split off from dbus.py
-	* python/Makefile.am: Add new files, remove dbus.py and 
-	install all python files to <python module dir>/dbus
-	* python/examples/*: Added #!/usr/bin/env python to the top of
-	every example.  Patch provided by Tatavarty Kalyan
-
-2005-04-25  John (J5) Palmieri  <johnp at redhat.com>
-
-	* NEWS: Update to 0.33
-
-2005-04-25  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/dbus_bindings.pyx.in (send_with_reply_handlers): New send
-	method for doing async calls
-	(_pending_call_notification): New C function for handling pendning call
-	callbacks
-	(set_notify): New method for setting pending call notification
-	
-	* python/dbus.py: new version tuple "version" is set at (0, 40, 0)
-	Async capabilities added to remote method calls
-	(Sender): class removed
-	(RemoteService): class removed
-	(ObjectTree): class removed for now
-	(RemoteObject): Renamed to ProxyObject
-	(RemoteMethod): Renamed to ProxyMethod
-	(method): Decorator added for decorating python methods as dbus methods
-	(signal): Decorator added for decorating python methods as signal emitters
-	(ObjectType): Metaclass added for generating introspection data and the
-	method callback vtable
-	(Interface): Wrapper class added to wrap objects in a dbus interface
-	(Object): Uses ObjectType as its metaclass and exports Introspect
-	of the org.freedesktop.DBus.Introspectable interface
-	(ValidationException, UnknownMethodException): new exceptions
-
-	* python/examples/*: Modified to fit with the new bindings
-
-2005-04-23  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-message.c (dbus_message_append_args): fix doc comment,
-	reported by Tony Houghton
-
-	* test/test-service.c (main): test
-	dbus_connection_get_object_path_data()
-
-	* dbus/dbus-object-tree.c (find_handler): be sure we always init
-	the exact_match
-	(_dbus_object_tree_get_user_data_unlocked): new function used by
-	dbus_connection_get_object_path_data()
-	(do_register): add assertion test for get_user_data_unlocked
-	(object_tree_test_iteration): more tests
-
-	* dbus/dbus-connection.c (dbus_connection_get_object_path_data):
-	new function from Dan Reed to let you get the user data from 
-	dbus_connection_register_object_path()
-
-2005-04-23  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-marshal-recursive-util.c: Fixed buffer overflow
-	in numerous places that did not account for the NULL terminator
-	(signature_from_seed): changed the manual string copy loop to 
-	just use strcpy instead
-	make check should now pass
-
-2005-04-19  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-marshal-header.c (_dbus_header_create): Fix assert
-	so that it allows messages that are not signals to pass in 
-	NULL as the interface.
-
-2005-04-18  David Zeuthen  <davidz at redhat.com>
-
-	* glib/dbus-gmain.c (io_handler_destroy_source): 
-	(timeout_handler_destroy_source, connection_setup_free): 
-	Also unref the source to avoid memory leaks.
-
-2005-04-13  David Zeuthen  <davidz at redhat.com>
-
-	* bus/config-parser.c (bus_config_parser_new): Bump this to a
-	more reasonable, yet still totally arbitrary, value :-). 
-
-2005-04-13  David Zeuthen  <davidz at redhat.com>
-
-	* doc/TODO: Added an "important for 1.0" item about selinux
-	allow/deny messages
-
-2005-04-13  David Zeuthen  <davidz at redhat.com>
-
-	* bus/selinux.c: Add c-file-style to top of file
-	(log_audit_callback): Don't free the data here anymore
-	(bus_selinux_check): Don't take spid and tpid since appending
-	that to auxdata may OOM.
-	(bus_selinux_allows_acquire_service): Handle OOM and signal back
-	to the caller if we are OOM by taking an error object.
-	(bus_selinux_allows_send): -do-
-
-	* bus/selinux.h: Fix prototypes for bus_selinux_allows_acquire_service
-	and bus_selinux_allows_send
-
-	* bus/bus.c (bus_context_check_security_policy): Pass error and
-	pass on OOM thrown by bus_selinux_allows_send()
-
-	* bus/services.c (bus_registry_acquire_service): Pass error and
-	pass on OOM thrown by bus_selinux_allows_acquire_service()
-
-2005-04-13  Havoc Pennington  <hp at redhat.com>
-
-	* glib/dbus-gmain.c (message_queue_dispatch): only dispatch one
-	message at a time to avoid monopolizing the main loop, bug 
-	#2953 from Benjamin Otte
-
-2005-04-09  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-string.c (copy): change a memcpy to memmove due to
-	possible overlap, fix from Daniel Reed
-	(fixup_alignment): fix signedness warnings
-	(_dbus_string_append_unichar): ditto
-
-2005-04-09  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-message-util.c (_dbus_message_test): fix signedness warning
-
-	* glib/dbus-glib-tool.c (main): fix warning
-
-	* glib/dbus-binding-tool-glib.c (generate_glue): fix warning
-
-	* dbus/dbus-connection.c (dbus_connection_read_write_dispatch):
-	add a new function that can be used in simple applications that
-	don't have a main loop and are willing to block
-
-2005-04-05  David Zeuthen  <davidz at redhat.com>
-
-	Fix https://bugs.freedesktop.org/show_bug.cgi?id=2889
-
-	* glib/dbus-gmain.c:
-	(io_handler_destroy_source): Remove from list of IO handlers
-	of the ConnectionSetup object
-	(timeout_handler_destroy_source): -do- for timeout handlers
-	(io_handler_source_finalized): Don't remove from list since
-	we now do that in io_handler_destroy_source(). Renamed from
-	io_handler_source_destroyed
-	(timeout_handler_source_destroyed): -do- for timeout handlers
-	(connection_setup_free): It is now safe to iterate over all
-	IO and timeout handlers as the _destroy_source removes them
-	from the list synchronously
-
-2005-03-30  Havoc Pennington  <hp at redhat.com>
-
-	* configure.in: change check to gtk 2.4
-
-	* tools/dbus-viewer.c (name_combo_changed_callback): remove
-	gtk_combo_box_get_active_text() usage to decrement GTK requirement
-	to 2.4
-
-2005-03-29  John (J5) Palmieri  <johnp at redhat.com>
-
-	* News: Update 0.32
-
-	* HACKING: Fixed realease instructions.  configure.in should be updated to
-	  the next release by the person who made the last release.
-
-2005-03-29  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/lvalue_cast_post_process.py - removed.  Patch has been
-	  submitted to Pyrex maintainers that fixes gcc4.0 errors
-
-	* python/Makefile.am: removed refrences to lvalue_cast_post_process.py
-
-2005-03-24  Daniel Reed  <n at ml.org>
-
-	* tools/Makefile.am: Make print-introspect and
-	dbus-bus-introspect.xml building conditional on HAVE_GLIB.
-
-2005-03-22  John (J5) Palmieri  <johnp at redhat.com>
-
-	* tools/Makefile.am: Patch by Colin Walters that fixes distcheck
-
-	* dbus/dbus-userdb.c, dbus/dbus-userdb-util.c: Add patch we have 
-	  had in Red Hat packages for a while but for some reason never 
-	  got merged upstream
-	  (_dbus_is_a_number): New checks if a string
-	  can be converted to a number and does the conversion if it can
-	  (_dbus_user_database_lookup): Add check to see if the given username
-	  is a udi.  This allows udi's to be used instead of usernames in the
-	  config file.
-	  (_dbus_user_database_lookup_group): Add check to see if the given groupname
-	  is a gdi.  This allows gdi's to be used instead of groupnames in the
-	  config file.
-
-2005-03-21  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/lvalue_cast_post_process.py - added post processor to fix Pyrex
-	  code so that it compiles with gcc4.0
-
-	* python/Makefile.am: Added lvalue_cast_post_process.py to EXTRA_DIST
-	  run dbus_bindings.c through lvalue_cast_post_process.py and copy the
-	  results back to dbus_binding.c
-
-2005-03-20  Colin Walters  <walters at verbum.org>
-
-	Patch suggested by Inguva Rajasekhar <ringuva at novell.com>.
-
-	* configure.in: Require GTK+ 2.6.
-	
-2005-03-20  Colin Walters  <walters at verbum.org>
-
-	* Makefile.am (SUBDIRS, DIST_SUBDIRS): Build tools before test.
-
-2005-03-17  Tom Parker  <palfrey at tevp.net>
-
-	* dbus/dbus-userdb.c (_dbus_user_database_lookup): Don't
-	print DBUS_UID_UNSET; instead print passed username.  Also
-	be sure to actually use gid looked up in cache.
-	
-	* dbus/dbus-userdb-util.c (_dbus_user_database_lookup_group): Ditto
-	for DBUS_GID_UNSET and groupname.
-
-2005-03-17  Colin Walters  <walters at verbum.org>
-
-	* bus/print-introspect.c: Move to tools/.
-	* bus/run-with-tmp-session-bus.sh: Ditto.
-	
-	* glib/Makefile.am (dbus-glib-bindings.h): Move
-	generation to tools/Makefile.am.
-
-	* test/glib/run-test.sh: Update to handle move
-	of run-with-tmp-session-bus.sh.
-
-	* test/glib/test-service-glib.c: Update to handle
-	move of dbus-glib-bindings.h.
-
-	* tools/print-introspect.c: Moved here
-	from bus/, and ported to GLib bindings.
-
-	* tools/run-with-tmp-session-bus.sh: Moved here
-	from bus/.
-
-	* tools/Makefile.am: Generate dbus-glib-bindings.h
-	and dbus-bus-introspect.xml here.
-
-	* tools/.cvsignore, glib/.cvsignore, bus/.cvsignore:
-	Update.
-
-2005-03-17  Colin Walters  <walters at verbum.org>
-
-	* bus/driver.c (write_args_for_direction): Use
-	_dbus_string_get_const_data to retrieve string;
-	_dbus_string_get_const_data_len doesn't actually return
-	a NULL-terminated substring.
-
-	* test/glib/test-service-glib.c: Include dbus-glib-bindings.h.
-	(main): Change to use org_freedesktop_DBus_request_name
-	instead of using g_proxy_begin_call/end_call.
-
-2005-03-15  Joe Shaw  <joeshaw at novell.com>
-
-	* mono/ProxyBuilder.cs (BuildFinalizer): Fix some invalid IL when
-	generating the finalizer.  Fixes from Ben Maurer.
-
-2005-03-12  Joe Shaw  <joeshaw at novell.com>
-
-	* mono/BusDriver.cs: Update method names: ListServices
-	becomes ListNames; GetOwner becomes GetNameOwner.
-
-	* mono/ProxyBuilder.cs (BuildFinalizer): Need to load arg 0
-	onto the eval stack when removing the delegate.
-
-2005-03-12  Joe Shaw  <joeshaw at novell.com>
-
-	* mono/dbus-sharp.dll.config.in: Don't hardcode 0 for
-	LT_CURRENT.  Set it to the autoconf variable.
-                                                                                
-	* mono/ProxyBuilder.cs: Add a finalizer to the generated proxy
-	classes that disconnects the signal handler delegate from the
-	service object.  Fixes a big leak of proxy objects on the
-	client side of things.  Patch from Ben Maurer
-	<bmaurer at ximian.com>
-
-2005-03-12  Colin Walters  <walters at verbum.org>
-
-	* bus/driver.c (write_args_for_direction): New function,
-	parses a type signature into arguments and outputs to
-	XML.
-	(bus_driver_handle_introspect): Use it instead of
-	hardcoding XML for certain signatures.
-	
-	* bus/Makefile.am (dbus-bus-introspect.xml): Add
-	dependency on dbus-daemon.
-
-	* glib/dbus-glib-tool.c (main): Parse ignore_unsupported
-	argument, pass it to dbus_binding_tool_output_glib_client.
-
-	* glib/dbus-binding-tool-glib.c
-	(generate_client_glue): Protect against multiple inclusion.
-	(dbus_binding_tool_output_glib_client): Add
-	G_BEGIN_DECLS/G_END_DECLS.
-
-	* glib/dbus-binding-tool-glib.c (compute_client_method_name):
-	Change to just take iface prefix directly.
-	(write_formal_parameters): Clarify error message.
-	(check_supported_parameters): New function; checks to see type
-	signatures of method parameters are supported.
-	(generate_client_glue): Handle ignore_unsupported flag.
-	(dbus_binding_tool_output_glib_client): Handle ignore_unsupported
-	parameter.
-
-	* glib/Makefile.am (dbus-glib-bindings.h): Pass
-	--ignore-unsupported by default until glib bindings
-	support arrays.
-
-2005-03-11  Colin Walters  <walters at verbum.org>
-
-	* glib/Makefile.am: Generate dbus-glib-bindings.h and
-	install it.
-
-	* bus/print-introspect.c: New file; prints introspection
-	data for a given name and object path.
-
-	* bus/run-with-tmp-session-bus.sh: New file, refactored
-	from test/glib/run-test.sh.  Creates a temporary session
-	bus and runs another program.
-
-	* test/glib/run-test.sh: Refactor to invoke
-	run-with-tmp-session-bus.sh.
-
-	* bus/driver.c (bus_driver_handle_introspect): Fix to print new
-	introspection format.  Also change to use DBUS_TYPE_x_AS_STRING
-	macros instead of hardcoding.
-
-	* glib/.cvsignore, bus/.cvsignore, test/glib/.cvsignore: Update.
-
-2005-03-11  Joe Shaw  <joeshaw at novell.com>
-
-	* dbus/dbus-connection.c (dbus_connection_send_with_reply): Remove
-	this unref; it doesn't match up evenly in some codepaths.
-	(_dbus_connection_block_pending_call): Unref at every exitpoint;
-	this evenly matches with the ref near the top of this function.
-
-2005-03-09  Joe Shaw  <joeshaw at novell.com>
-
-	* dbus/dbus-object-tree.c
-	(_dbus_object_tree_unregister_and_unlock): If checks are enabled
-	and we try to unregister a path that's not registered, still go
-	through the process of unlocking and don't just return.
-
-2005-03-09  Colin Walters  <walters at verbum.org>
-
-	* glib/dbus-gproxy.c (dbus_g_proxy_invoke): New method; calls
-	to this are generated for client-side wrappers.  Invokes a
-	D-BUS method and returns reply values.  
-
-	* glib/dbus-binding-tool-glib.c (write_args_sig_for_direction): New
-	function; writes signature string for argument direction.
-	(write_args_for_direction): Change to pass input values directly
-	instead of via address, and fix indentation.
-	(generate_client_glue): Change to invoke dbus_g_proxy_invoke.  Also
-	make generated wrappers inlineable.
-
-	* dbus/dbus-message.c (dbus_message_iter_get_fixed_array): Add
-	note about using dbus_type_is_fixed.
-
-	* dbus/dbus-marshal-basic.c (_dbus_type_is_fixed): Moved to
-	dbus/dbus-signature.c as dbus_type_is_fixed.
-
-	All callers updated.
-
-	* dbus/dbus-signature.c (dbus_type_is_fixed): Moved here
-	from dbus/dbus-marshal-basic.c:_dbus_type_is_fixed.
-
-	* dbus/dbus-signature.h: Prototype.
-
-	* glib/dbus-binding-tool-glib.c (compute_marshaller_name): Fix
-	error printf code.
-
-	* test/glib/test-dbus-glib.c (main): Be sure to clear error as
-	appropriate instead of just freeing it.
-	(main): Free returned strings using g_free.
-
-	* test/glib/Makefile.am (test-service-glib-glue.h)
-	(test-service-glib-bindings.h): Add dependency on dbus-binding-tool.
-
-	* glib/dbus-gvalue.c (MAP_BASIC): Refactored from MAP_BASIC_INIT;
-	simply maps a simple D-BUS type to GType.
-	(dbus_dbus_type_to_gtype): Function which maps D-BUS type to
-	GType.
-	(dbus_gvalue_init): Just invoke dbus_dbus_type_to_gtype and
-	initialize the value with it.
-	(dbus_gvalue_binding_type_from_type): Unused, delete.
-	(dbus_gvalue_demarshal): Switch to hardcoding demarshalling for
-	various types instead of unmarshalling to value data directly.
-	Remove can_convert boolean.
-	(dbus_gvalue_marshal): Remove duplicate initialization; switch to
-	returning directly instead of using can_convert boolean.
-	(dbus_gvalue_store): New function; not related to D-BUS per-se.
-	Stores a GValue in a pointer to a value of its corresponding C
-	type.
-
-	* glib/dbus-gvalue.h: Remove dbus_gvalue_binding_type_from_type,
-	add dbus_gvalue_store.
-
-2005-03-08  Joe Shaw  <joeshaw at novell.com>
-
-	Fix a bunch of lifecycle and memory management problems
-	in the mono bindings.
-
-	* mono/Arguments.cs (Arguments): Implement IDisposable
-
-	* mono/Bus.cs (Bus): Don't allow public instantiation.  This is
-	strictly a static class.
-
-	* mono/Connection.cs: Move the DBusObjectPathVTable and associated
-	delegates into this file.
-	(Connection): Implement IDisposable.
-	(Dispose): Disconnect the connection and set the raw connection
-	pointer to IntPtr.Zero.
-	(~Connection): Call Dispose().
-	(RegisterObjectPath): Added.  Manages the registration of object
-	paths so we can cleanly disconnect them at dispose/finalize time.
-	(UnregisterObjectPath): Ditto.
-	(set_RawConnection): Unregister all of the object paths when
-	changing the underlying DBusConnection.  Add them back onto the
-	new connection, if any.
-
-	* mono/Handler.cs: Don't implement IDisposable; it doesn't use any
-	more unmanaged resources anymore, so it's not necessary.  Move all
-	the DBusObjectPathVTable stuff out of here.
-	(Handler): Save references to our delegates so that they don't get
-	finalized.  Call Connection.RegisterObjectPath() instead of
-	dbus_connection_register_object_path() directly.
-	(Message_Called): Dispose the message after we're finished with
-	it.
-
-	* mono/Message.cs (Message): Implement IDisposable.
-	(Dispose): Dispose the Arguments, and set the RawMessage to
-	IntPtr.Zero.
-	(SendWithReplyAndBlock): We own the ref to the reply that comes
-	back from dbus_connection_send_with_reply_and_block() so add a
-	comment about that and unref it after we've constructed a managed
-	MethodReturn class around it.  Fixes a big, big leak.
-
-	* mono/ProxyBuilder.cs: Reflect into Message to get the Dispose
-	method.
-	(BuildSignalHandler): After we've sent the Signal message, dispose
-	of it.
-	(BuildMethod): Dispose of the method call and reply messages after
-	we've sent the message and extracted the data we want from the
-	reply.
-
-	* mono/Service.cs (UnregisterObject): Don't call handler.Dispose()
-	anymore.
-	(Service_FilterCalled): Dispose of the message after we're
-	finished with it.
-
-2005-03-08  Joe Shaw  <joeshaw at novell.com>
-
-        * dbus/dbus-connection.c (dbus_connection_send_with_reply):
-        After we attach our pending call to the connection, unref
-        it.  Fixes a leak.
- 
-        * mono/Connection.cs (set_RawConnection): Disconnect our
-        filter and match callbacks from the old connection and
-        reconnect them to the new connection, if any.
-
-	* mono/DBusType/Array.cs: "Code" is a static member, so
-	don't use "this" to refer to it.  Fix for stricter checking
-	in Mono 1.1.4.
- 
-        * mono/DBusType/ObjectPath.cs (Append): Don't leak the
-	object path that we pass into unmanaged code.
- 
-        * mono/DBusType/String.cs (Append): Don't leak the string
-	that we pass into unmanged code.
-
-2005-03-07  John (J5) Palmieri  <johnp at redhat.com>
-	* NEWS: Update for 0.31
-
-	* configure.in: Release 0.31
-	add LT_CURRENT, LT_REVISION, LT_AGE for easy soname bumping
-
-	* qt/Makefile.am: fixed build
-
-	* dbus/Makefile.am: soname bump for libdbus
-
-	* glib/Makefile.am: soname bump for libdbus-glib
-
-2005-03-05  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-sysdeps.c:
-	(pseudorandom_generate_random_bytes_buffer): fix to have no return
-	value
-	(_dbus_generate_random_bytes_buffer): fix return value
-
-	* dbus/dbus-sysdeps-util.c: s/GETPWNAME/GETPWNAM/ so configure
-	checks actually work, from Tom Parker <fdo at tevp.net>
-
-2005-03-01  Colin Walters  <walters at verbum.org>
-
-	* test/glib/test-dbus-glib.c (lose, lose_gerror): Utility
-	functions copied from dbus-glib-tool.c.
-	(main): Convert lots of error code to use them.
-	Also add some testing for introspection bits.
-
-2005-03-01  Colin Walters  <walters at verbum.org>
-	
-	* doc/TODO: Remove introspection signature TODO.
-
-2005-02-27  Colin Walters  <walters at verbum.org>
-
-	* glib/dbus-gidl.c (property_info_get_type, arg_info_get_type):
-	Change return value to const char * instead of int so we can do
-	full signatures.
-	(struct PropertyInfo, struct ArgInfo): Store char *.
-	(property_info_new, arg_info_new): Update parameters, strdup.
-	(property_info_unref, arg_info_unref): Free.
-
-	* glib/dbus-gidl.h: Update prototypes.
-
-	* glib/dbus-gparser.c (basic_type_from_string): Delete.
-	(validate_signature): New function, just validates signature and
-	sets GError.
-	(parse_property, parse_arg): Invoke validate_signature.  Store
-	signature instead of just type code.
-
-	* glib/dbus-gvalue.c (base_type_from_signature): New utility
-	function to return a primary type for a signature, dropping
-	information about types in container types.
-	(dbus_gvalue_genmarshal_name_from_type)
-	(dbus_gvalue_binding_type_from_type)
-	(dbus_gvalue_ctype_from_type): Update to take full signature
-	 instead of type code.
-	(dbus_gtype_to_dbus_type): Moved here from glib/dbus-gobject.c.
-
-	* glib/dbus-gvalue.h: Update prototypes for above.
-
-	* glib/dbus-gobject.c (gtype_to_dbus_type): Moved to
-	glib/dbus-gvalue.c as dbus_gtype_to_dbus_type.
-	(introspect_properties, introspect_signals, write_interface):
-	Update to handle signatures, and remove usage of
-	_dbus_gutils_type_to_string.
-	(handle_introspect): Print out type codes instead of e.g. "string"
-	in hardcoded introspection XML; also use x_AS_STRING constants
-	instead of hardcoding in string.
-
-	* glib/dbus-glib-tool.c (pretty_print): Handle signature change
-	to string.  Remove usage of _dbus_gutils_type_to_string.
-
-	* glib/dbus-gutils.c (_dbus_gutils_type_to_string): Delete.
-
-	* glib/dbus-gutils.h (_dbus_gutils_type_to_string): Update for
-	deletion.
-	
-	* glib/dbus-binding-tool-glib.c (compute_marshaller)
-	(compute_marshaller_name, generate_glue): Handle signature change
-	to string.
-	(write_formal_parameters, write_args_for_direction): Ditto, and
-	remove FIXME.
-
-	* tools/dbus-tree-view.c (type_to_string): Delete.
-	(info_set_func_text): Update to print full signatures.
-
-	* test/glib/test-service-glib.xml: Change types to new
-	introspection format.
-
-2005-02-26  Havoc Pennington  <hp at redhat.com>
-
-	* doc/TODO: remove the "guid" item
-
-	* test/glib/test-profile.c (no_bus_thread_func): use open_private
-	(with_bus_thread_func): use open_private
-
-	* dbus/dbus-connection.c (dbus_connection_open_private): new
-	function that works like the old dbus_connection_open()
-	(dbus_connection_open): now returns an existing connection if
-	possible
-
-	* dbus/dbus-server-unix.c (handle_new_client_fd_and_unlock): pass
-	through the GUID to the transport
-
-	* dbus/dbus-server.c (_dbus_server_init_base): keep around the
-	GUID in hex-encoded form.
-
-	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
-	pass GUID argument in to the transport
-
-	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): add
-	guid argument
-
-	* dbus/dbus-transport.c (_dbus_transport_init_base): add guid argument
-
-	* dbus/dbus-auth.c (_dbus_auth_server_new): add guid argument
-
-2005-02-25  Havoc Pennington  <hp at redhat.com>
-
-	* doc/dbus-specification.xml: document the GUID thing
-
-	* dbus/dbus-server.c (_dbus_server_init_base): initialize a
-	globally unique ID for the server, and put a "guid=hexencoded"
-	field in the address
-
-	* dbus/dbus-bus.c: fix missing #include of dbus-threads-internal.h
-
-	* dbus/dbus-message.c: ditto
-
-	* dbus/dbus-dataslot.c: ditto
-
-	* dbus/dbus-list.c: ditto
-
-	* dbus/dbus-internals.h: wait, just include
-	dbus-threads-internal.h here
-	
-	* dbus/dbus-string.c (_dbus_string_copy_to_buffer): move back for
-	use in main library
-
-	* dbus/dbus-sysdeps.c (_dbus_generate_random_bytes_buffer): new function
-
-2005-02-24  Colin Walters  <walters at verbum.org>
-
-	* test/glib/Makefile.am (EXTRA_DIST): Add test-service-glib.xml
-
-2005-02-24  John (J5) Palmieir  <johnp at redhat.com>
-
-	* glib/Makefile.am: added dbus-gobject.h to sources list
-	so distcheck doesn't fail
-	
-2005-02-24  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-server.c, dbus/dbus-server-unix.c: change semantics so
-	you must disconnect before unref, since locking and other things
-	are screwed up otherwise. Fix assorted other locking stuff.
-
-	* dbus/dbus-signature.c (dbus_signature_iter_get_element_type):
-	fix compilation
-
-	* dbus/dbus-threads-internal.h: move the mutex/condvar wrappers
-	into a private header and don't export from the library
-
-	* throughout - call _dbus_thread_stuff vs. dbus_thread_stuff
-
-2005-02-24  Colin Walters  <walters at verbum.org>
-	
-	* dbus/dbus-signature.c: New file; implements various functions
-	related to type signatures.  Includes an interator for parsing,
-	validation functions.
-	(dbus_type_is_basic): Moved here from
-	dbus-marshal-basic.c:_dbus_type_is_basic.
-	(dbus_type_is_container): Moved here from
-	dbus-marshal-basic.c:_dbus_type_is_container.
-
-	All callers of _dbus_type_is_container and _dbus_type_is_basic
-	updated, and include dbus-signature.h.
-
-	* dbus/dbus-signature.h: New file; prototypes for the above.
-
-	* dbus/Makefile.am (DBUS_LIB_SOURCES): Add dbus-signature.c,
-	dbus-signature.h.
-
-	* dbus/dbus-marshal-basic.c (map_type_char_to_type): New utility
-	function factored out of _dbus_first_type_in_signature.
-	(_dbus_first_type_in_signature_c_str): New function; returns first
-	type code for a type signature character.
-
-	* dbus/dbus-marshal-basic.h: Prototype _dbus_first_type_in_signature_c_str,
-	handle function moves.
-
-	* dbus/dbus-marshal-recursive.h: Export _dbus_type_signature_next.
-
-	* dbus/dbus-marshal-recursive.c (_dbus_type_signature_next): New
-	function; skips to next complete type in type signature.
-	Implemented using previous skip_one_complete_type.  Now
-	skip_one_complete_type just delegates to
-	_dbus_type_signature_next.
-
-	* dbus/dbus-marshal-basic.c (_dbus_type_is_basic): Moved
-	to dbus-signature.c
-	(_dbus_type_is_container): Ditto.
-
-	* doc/dbus-specification.xml: Update introspection sample to
-	use real type signatures.
-
-	* dbus/dbus-test.h: Prototype signature test.
-
-	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Run
-	signature tests.
-
-	* dbus/dbus-protocol.h (DBUS_ERROR_INVALID_SIGNATURE): New error.
-
-2005-02-23  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/dbus_bindings.pyx.in (PendingCall::get_reply):
-	s/dbus_pending_call_get_reply/dbus_pending_call_steal_reply
-
-2005-02-21  Colin Walters  <walters at verbum.org>
-
-	* dbus/dbus-test-main.c (main): Take optional specific test
-	argument.
-
-	* dbus/dbus-test.c (run_test): New function, runs a test function
-	with no data directory.
-	(run_data_test): Like above, but takes data directory.
-	(dbus_internal_do_not_use_run_tests): Take
-	specific test argument.  Replace lots of cut n' paste code
-	with run_test and run_data_test.
-
-	* dbus/dbus-test.h: Update prototype for
-	dbus_internal_do_not_use_run_tests.
-
-2005-02-20  Havoc Pennington  <hp at redhat.com>
-
-        Fix bugs reported by Daniel P. Berrange
-	
-	* dbus/dbus-server.c (_dbus_server_unref_unlocked): new function
-	(protected_change_watch): new function
-	(_dbus_server_toggle_watch, _dbus_server_remove_watch)
-	(_dbus_server_add_watch): change to work like the
-	dbus-connection.c equivalents; like those, probably kind of
-	busted, but should at least mostly work for now
-	(dbus_server_disconnect): drop the lock if we were already
-	disconnected, patch from Daniel P. Berrange
-
-	* dbus/dbus-server.c (_dbus_server_toggle_timeout) 
-	(_dbus_server_remove_timeout, _dbus_server_add_timeout): all the
-	same stuff
-
-	* doc/TODO: todo about unscrewing this mess
-
-2005-02-19  Colin Walters  <walters at verbum.org>
-
-	* glib/dbus-binding-tool-glib.c
-	(dbus_binding_tool_output_glib_server): Fix iochannel refcounting.
-
-	* glib/dbus-glib-tool.c: Include dbus-glib-tool.h, as well
-	as errno.h and sys/stat.h.
-	(lose): New function, prints error with
-	newline and exits.
-	(lose_gerror): Similar, but takes GError for message.
-	(main): Add --output argument to specify output file to write to,
-	instead of always printing to stdout.  In this mode, determine
-	timestamps on source files to see whether any are newer than the
-	target file.  If not, exit.  Also convert a number of error
-	messages to use lose (since it's shorter), and switch to using
-	g_io_channel_shutdown.
-
-2005-02-19  Havoc Pennington  <hp at redhat.com>
-
-	* glib/dbus-gobject.c
-	(_dbus_glib_marshal_dbus_message_to_gvalue_array): add docs
-
-	* glib/dbus-glib.c: fix doxygen warnings
-
-	* glib/dbus-gparser.c (parse_annotation): error if an annotation
-	is found on an <arg>
-
-2005-02-17  Colin Walters  <walters at verbum.org>
-
-	* glib/dbus-gobject.h: Don't export
-	_dbus_glib_marshal_dbus_message_to_gvalue_array.
-	
-	* glib/dbus-gobject.c (_dbus_glib_marshal_dbus_message_to_gvalue_array): Do rename.
-	(invoke_object_method): Handle it.
-
-	* glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller):
-	Handle rename.
-	
-2005-02-17  Colin Walters  <walters at verbum.org>
-
-	* bus/.cvsignore, doc/.cvsignore
-	* test/data/valid-service-files/.cvsignore, test/glib/.cvsignore:
-	Update.
-
-2005-02-17  Colin Walters  <walters at verbum.org>
-	
-	* dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_DBUS):
-	Rename to DBUS_SERVICE_DBUS.
-	(DBUS_PATH_ORG_FREEDESKTOP_DBUS): Rename to DBUS_PATH_DBUS.
-	(DBUS_PATH_ORG_FREEDESKTOP_LOCAL): Rename to DBUS_PATH_LOCAL.
-	Change the value from "org.freedesktop.Local"
-	to "org.freedesktop.DBus.Local".
-	(DBUS_INTERFACE_ORG_FREEDESKTOP_DBUS): Rename to DBUS_INTERFACE_DBUS.
-	(DBUS_INTERFACE_ORG_FREEDESKTOP_INTROSPECTABLE): Rename to
-	DBUS_INTERFACE_INTROSPECTABLE.
-	Change the value from "org.freedesktop.Introspectable"
-	to "org.freedesktop.DBus.Introspectable".
-	(DBUS_INTERFACE_ORG_FREEDESKTOP_PROPERTIES): Rename to
-	DBUS_INTERFACE_PROPERTIES.
-	Change the value from "org.freedesktop.Properties"
-	to "org.freedesktop.DBus.Properties".
-	(DBUS_INTERFACE_ORG_FREEDESKTOP_PEER): Rename to
-	DBUS_INTERFACE_PEER.
-	Change the value from "org.freedesktop.Peer"
-	to "org.freedesktop.DBus.Peer".
-	(DBUS_INTERFACE_ORG_FREEDESKTOP_LOCAL): 
-	DBUS_INTERFACE_LOCAL.
-	Change the value from "org.freedesktop.Local"
-	to "org.freedesktop.DBus.Local".
-
-	All other users of those constants have been changed.
-
-	* bus/driver.c (bus_driver_handle_introspect): Use constants.
-
-	* glib/dbus-gobject.c (handle_introspect): Use constants.
-
-	* doc/dbus-faq.xml, doc/dbus-specification.xml: Update for rename.
-
-2005-02-17  Colin Walters  <walters at verbum.org>
-
-	* glib/dbus-gparser.c (struct Parser): Add in_annotation boolean.
-	(parse_node, parse_interface, parse_method, parse_signal)
-	(parse_property, parse_annotation): Lose if we're currently in an
-	annotation.
-	(parse_annotation): New function.
-	(parser_start_element, parser_end_element): Handle annotation.
-	(parse_method, parse_interface): Remove support for c_name attribute,
-	switch to annotations.
-
-	* glib/dbus-gidl.h (interface_info_get_binding_names)
-	(method_info_get_binding_names)
-	(interface_info_get_binding_name, method_info_get_binding_name)
-	(interface_info_set_binding_name, method_info_set_binding_name):
-	Remove.
-	(interface_info_get_annotations, method_info_get_annotations)
-	(interface_info_get_annotation, method_info_get_annotation)
-	(interface_info_add_annotation, method_info_add_annotation):
-	Prototype.
-
-	* glib/dbus-gidl.c (struct InterfaceInfo): Substitute "annotations"
-	for "bindings".
-	(struct MethodInfo): Ditto.
-	Straightfoward conversion of binding methods into annotation methods
-	as prototyped.
-
-	* glib/dbus-glib-tool.c (pretty_print): Print annotations.
-
-	* glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_C_SYMBOL): Define.
-
-	* glib/dbus-binding-tool-glib.c (gather_marshallers, generate_glue):
-	Use new annotation API.
-
-	* doc/introspect.dtd: Fix a number of DTD syntax errors.  Add
-	annotation element.
-	
-	* doc/dbus-specification.xml: Discuss introspection annotations,
-	include list of well-known annotations.
-
-	* test/glib/test-service-glib.xml: Make validate against new DTD.
-
-2005-02-17  Colin Walters  <walters at verbum.org>
-
-	This patch is based on initial work from
-	Paul Kuliniewicz <kuliniew at purdue.edu>.
-
-	* glib/dbus-gvalue.c (dbus_gvalue_init): New function; move
-	initialization of GValue from dbus type to here.
-	(dbus_gvalue_genmarshal_name_from_type): New function; generates a string
-	for the "glib-genmarshal" program from a DBus type.
-	(dbus_gvalue_binding_type_from_type): New function; turns a DBus type
-	into the C name for it we use in the glib bindings.
-	(dbus_gvalue_ctype_from_type): New function; maps a DBus type into a
-	glib C type (not GValue).
-	(dbus_gvalue_demarshal): invoke dbus_gvalue_init.
-
-	* glib/dbus-gutils.c (_dbus_gutils_wincaps_to_uscore): Moved here
-	from dbus-gobject.c.
-
-	* glib/dbus-gutils.h: Prototype it.
-
-	* glib/dbus-gproxy.c: Include new dbus-gobject.h.
-	(marshal_dbus_message_to_g_marshaller): Use new shared function
-	dbus_glib_marshal_dbus_message_to_gvalue_array.
-
-	* glib/dbus-gparser.c (parse_interface, parse_method): Handle c_name attribute.
-	Will be changed once we have annotations.
-
-	* glib/dbus-gobject.c: Change info_hash_mutex from GStaticMutex to
-	GStaticRWLock.  Callers updated.
-	(wincaps_to_uscore): Move to dbus-gutils.c.  Callers updated.
-	(string_table_next): New function for iterating over zero-terminated
-	string value array.
-	(string_table_lookup): New function; retrieves specific entry in
-	array.
-	(get_method_data): New function; look up method data in object data chunk.
-	(object_error_domain_prefix_from_object_info)
-	(object_error_code_from_object_info): New functions, but not implemented yet.
-	(method_interface_from_object_info): New function; retrieve interface name.
-	(method_name_from_object_info): New function; retrieve method name.
-	(method_arg_info_from_object_info): New function; retrieve argument data.
-	(arg_iterate): New function; iterates over serialized argument data.
-	(method_dir_signature_from_object_info): New function; returns a
-	GString holding type signature for arguments for just one
-	direction (input or output).
-	(method_input_signature_from_object_info)
-	(method_output_signature_from_object_info): New functions.
-	(dbus_glib_marshal_dbus_message_to_gvalue_array): New shared function;
-	converts dbus message arguments into a GValue array.  Used for both
-	signal handling and method invocation.
-	(struct DBusGlibWriteIterfaceData): New utility structure.
-	(write_interface): New function; generate introspection XML for
-	an interface.
-	(introspect_interfaces): New function; gathers all interface->methods,
-	generates introspection XML for them.
-	(handle_introspect): Invoke introspect_interfaces.
-	(get_object_property): Be sure to zero-initalize stack-allocated GValue.
-	(lookup_object_and_method): New function; examines an incoming message
-	and attempts to match it up (via interface, method name, and argument
-	signature) with a known object and method.
-	(gerror_domaincode_to_dbus_error_name): New function; converts a
-	GError domain and code into a DBus error name.  Needs GError data
-	added to object introspection to work well.
-	(gerror_to_dbus_error_message): Creates a DBusMessage error return from
-	GError.
-	(invoke_object_method): New function to invoke an object method
-	looked up via lookup_object_and_method.  Parses the incoming
-	message, turns it into a GValue array, then invokes the marshaller
-	specified in the DBusGMethodInfo.  Creates a new message with
-	either return values or error message as appropriate.
-	(gobject_message_function): Invoke lookup_object_and_method and
-	invoke_object_method.
-
-	* glib/dbus-glib-tool.c: Include dbus-binding-tool-glib.h.
-	(enum DBusBindingOutputMode): New enum for binding output modes.
-	(pretty_print): Print binding names.
-	(dbus_binding_tool_error_quark): GError bits.
-	(version): Fix typo.
-	(main): Create GIOChannel for output.  Parse new --mode argument,
-	possible values are "pretty-print", "glib-server", "glib-client".
-	Use mode to invoke appropriate function.
-	
-	* glib/dbus-gobject.h: Prototype dbus_glib_marshal_dbus_message_to_gvalue_array.
-
-	* glib/dbus-glib-tool.h: New header, just includes GError bits
-	for now.
-
-	* glib/dbus-gidl.c (struct InterfaceInfo): Add bindings hashtable;
-	maps binding style to name.
-	(struct MethodInfo): Ditto.
-	(get_hash_keys, get_hash_key): Utility function, returns keys for
-	a GHashTable.
-	(interface_info_new, method_info_new): Initialize bindings.
-	(interface_info_unref, method_info_unref): Destroy bindings.
-	(method_info_get_binding_names, method_info_get_binding_name)
-	(interface_info_get_binding_names, interface_info_get_binding_name):
-	Functions for retrieving binding names.
-	(method_info_set_binding_name, interface_info_set_binding_name):
-	Functions for setting binding names.
-
-	* glib/dbus-binding-tool-glib.h: New file, has prototypes
-	for glib binding generation.
-
-	* glib/dbus-binding-tool-glib.c: New file, implements server-side
-	and client-side glib glue generation.
-
-	* glib/Makefile.am (dbus_binding_tool_SOURCES): Add
-	dbus-binding-tool-glib.c, dbus-binding-tool-glib.h,
-	dbus-glib-tool.h.
-
-	* dbus/dbus-glib.h (struct DBusGMethodMarshaller): Remove in favor
-	of using GClosureMarshal directly.
-	(struct DBusGObjectInfo): Add n_infos member.
-
-	* test/glib/test-service-glib.xml: New file; contains introspection data
-	for MyTestObject used in test-service-glib.c.
-
-	* test/glib/test-service-glib.c (enum MyObjectError): New GError enum.
-	(my_object_do_nothing, my_object_increment, my_object_throw_error)
-	(my_object_uppercase, my_object_many_args): New test methods.
-	(main): Use dbus_g_object_class_install_info to include generated object
-	info.
-
-	* test/glib/Makefile.am: Generate server-side glue for test-service-glib.c,
-	as well as client-side bindings.
-
-	* test/glib/test-dbus-glib.c: Include test-service-glib-bindings.h.
-	(main): Activate TestSuiteGLibService; test invoke a bunch of its methods
-	using both the dbus_gproxy stuff directly as well as the generated bindings.
-
-2005-02-15  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-connection.c (dbus_connection_dispatch): always
-	complete a pending call, don't run filters first.
-
-	* glib/dbus-gproxy.c (dbus_g_proxy_end_call): change to use
-	dbus_pending_call_steal_reply
-
-	* dbus/dbus-pending-call.c (dbus_pending_call_block): just call
-	_dbus_connection_block_pending_call
-	(dbus_pending_call_get_reply): change to steal_reply and return a
-	ref
-
-	* dbus/dbus-connection.c
-	(dbus_connection_send_with_reply_and_block): port to work in terms
-	of DBusPendingCall
-	(_dbus_connection_block_pending_call): replace block_for_reply
-	with this
-
-2005-02-14  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-userdb-util.c (_dbus_user_database_lookup_group):
-	properly handle looking up group information by name; fix 
-	from j at bootlab.org
-
-2005-02-13  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-connection.c (dbus_connection_return_message) 
-	(dbus_connection_borrow_message): hold dispatch lock while message
-	is outstanding
-	(_dbus_connection_block_for_reply): hold dispatch lock while we
-	block for the reply, so nobody steals our reply
-	(dbus_connection_pop_message): hold the dispatch lock while we
-	pluck the message
-
-2005-02-13  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-connection.c (_dbus_connection_acquire_dispatch)
-	(_dbus_connection_release_dispatch)
-	(_dbus_connection_acquire_io_path)
-	(_dbus_connection_release_io_path): make the mutex and condvar
-	control access to the "acquired" flag. Drop the connection lock
-	while waiting on the condvar. Hopefully these are baby steps in
-	roughly the right direction.
-
-2005-02-13  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-connection.c: use separate mutexes for the condition
-	variables; this is some kind of baseline for sanity, but the
-	condition variables still aren't used correctly afaict
-
-2005-02-13  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-object-tree.c (handle_default_introspect_and_unlock):
-	fix a double-unlock
-
-	* dbus/dbus-connection.c
-	(_dbus_connection_detach_pending_call_unlocked): add this
-
-        Initial semi-correct pass through to fix thread locking; there are
-	still some issues with the condition variable paths I'm pretty
-	sure
-	
-	* dbus/dbus-server.c: add a mutex on DBusServer and appropriate
-	lock/unlock calls
-
-	* dbus/dbus-connection.c (_dbus_connection_do_iteration_unlocked):
-	rename to add _unlocked
-	(struct DBusConnection): move "dispatch_acquired" and
-	"io_path_acquired" to use only one bit each.
-	(CONNECTION_LOCK, CONNECTION_UNLOCK): add checks with !DBUS_DISABLE_CHECKS
-	(dbus_connection_set_watch_functions): hacky fix to reentrancy
-	(_dbus_connection_add_watch, _dbus_connection_remove_watch) 
-	(_dbus_connection_toggle_watch, _dbus_connection_add_timeout) 
-	(_dbus_connection_remove_timeout) 
-	(_dbus_connection_toggle_timeout): drop lock when calling out to
-	user functions; done in a hacky/bad way.
-	(_dbus_connection_send_and_unlock): add a missing unlock
-	(_dbus_connection_block_for_reply): add a missing unlock
-
-	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
-	drop lock in a hacky probably unsafe way to call out to user
-	function
-
-2005-02-12  Havoc Pennington  <hp at redhat.com>
-
-	* tools/dbus-tree-view.c (info_set_func_text): display more
-	details on args
-
-	* bus/driver.c (bus_driver_handle_list_services): list the bus
-	driver
-
-	* glib/dbus-gparser.c (parse_arg): generate an arg name if none is supplied
-
-	* glib/dbus-gidl.c (signal_info_get_n_args): new function
-	(method_info_get_n_args): new function
-
-2005-02-12  Havoc Pennington  <hp at redhat.com>
-
-	* bus/driver.c (bus_driver_handle_introspect): add introspection
-	for bus driver
-
-2005-02-12  Havoc Pennington  <hp at redhat.com>
-
-	* bus/driver.c: put the signature of each bus driver method in the
-	table of handlers and check it on incoming calls; this isn't
-	really useful, but going to add introspect support in a minute.
-
-2005-02-11  Joe Shaw  <joeshaw at novell.com>
-
-	* mono/Connection.cs: The unpredictability of finalizers in mono
-	prevents us from deterministically disconnecting the filters from
-	the Service class's finalizer, so move tracking of filters and
-	matches here.  Add API for that.
-
-	* mono/Service.cs: Remove the code, add code which calls the
-	methods now on the Connection class.
-
-2005-02-11  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/dbus.py (class Sender): added to support dbus signals better
-	(Bus::add_signal_receiver): added expand_args parameter which defaults
-	to True.  When expand args is True the signal handler will pass the 
-	message arguments as parameters to the signal handler.  If False
-	revert to previous behavior where the signal handler must get the
-	argument list from the message.  This is to help port applications
-	like HAL that have a tendancy to send variable length argument lists.
-	self._match_rule_to_receivers is now a dict of dicts.
-	(Bus::remove_signal_receiver): pop handler off the dict intead of 
-	removing it from a list
-	(Bus::_signal_func): change signal handlers so that interface,
-	signal_name, service, path and message are packed into a Sender
-	object and that is passed to the handler.  If expand_args is True
-	extract the args list from the message and append it to the parameter
-	list
-	
-	* python/dbus_bindings.pyx.in (class Signature): added to support 
-	signiature types
-	(MessageIter::__init__): changed iteration limit to match D-BUS
-	(MessageIter::get*): added INT16, UINT16, SIGNATURE, DICT_ENTRY, 
-	STRUCT and VARIENT type support
-	(MessageIter::python_value_to_dbus_sig): made recursive to support
-	recursive types
-	(MessageIter::append*): added Signature, dict, tuple 
-	support
-
-	* python/examples/example-client.py: added examples of getting tuples
-	and dicts
-
-	* python/examples/example-service.py: added examples of sending tuples
-	and dicts
-
-	* python/examples/example-signal-recipient.py: Fixed to handle new
-	signal callback format
-
-2005-02-10  Havoc Pennington  <hp at redhat.com>
-
-	* test/glib/test-dbus-glib.c (main): fix so this test doesn't fail
-	(call dbus_g_proxy_add_signal)
-
-	* dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
-	escape the hostname
-	(_dbus_server_new_for_domain_socket): escape the path
-
-	* dbus/dbus-address.c (dbus_address_escape_value): new
-	(dbus_address_unescape_value): new
-	(dbus_parse_address): unescape values
-
-	* dbus/dbus-string.c (_dbus_string_append_byte_as_hex): new function
-
-	* doc/dbus-specification.xml: explain how to escape values in
-	addresses
-
-2005-02-10  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-message-factory.c (generate_special): modify test to
-	avoid using a non-basic dict key
-
-	* dbus/dbus-marshal-validate-util.c: add test for the below
-
-	* doc/dbus-specification.xml: require that dict keys are a basic
-	type
-
-	* dbus/dbus-marshal-validate.c
-	(_dbus_validate_signature_with_reason): require that dict key is a
-	basic type
-
-2005-02-10  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-object-tree.c (handle_default_introspect_and_unlock):
-	change to be _and_unlock instead of _unlocked
-
-	* dbus/dbus-connection.c
-	(_dbus_connection_send_preallocated_unlocked_no_update): rename to
-	have no_update so we can find this bug quickly in future
-
-2005-02-10  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-message-util.c (verify_test_message): tests for string
-	array
-
-	* dbus/dbus-message.c (dbus_message_append_args_valist): add
-	support for arrays of string/signature/path
-
-2005-02-10  Joe Shaw  <joeshaw at novell.com>
-
-	* dbus/dbus-connection.c
-	(_dbus_connection_queue_received_message_link,
-	_dbus_connection_message_sent): Add the path to
-	the verbose output.
-	(_dbus_connection_send_preallocated_and_unlock): Added.  Calls
-	_dbus_connection_send_preallocated_unlocked(), updated the
-	dispatch status, and unlocks.  Fixes a bug where certain
-	situations (like a broken pipe) could cause a Disconnect message
-	to not be sent, tricking the bus into thinking a service was still
-	there when the process had quit.
-	(_dbus_connection_send_preallocated): Call
-	_dbus_connection_send_preallocated_and_unlock().
-	(_dbus_connection_send_and_unlock): Added.  Calls
-	_dbus_connection_send_preallocated_and_unlock().
-	(dbus_connection_send): Call _dbus_connection_send_and_unlock().
-	(dbus_connection_send_with_reply): Update the dispatch status and
-	unlock.
-
-	* mono/Service.cs (~Service): Added.  Removes the filter so that
-	we don't get unmanaged code calling back into a GCed delegate.
-	(RemoveFilter); Added.
-
-2005-02-09  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-message.c (dbus_message_iter_open_container):
-	- Removed check for iterator type being an array because
-	get_arg_type does not work with writer iterators
-	- Pass NULL to _dbus_type_writer_recurse if signiture is NULL
-
-2005-02-07  Havoc Pennington  <hp at redhat.com>
-
-	* doc/dbus-specification.xml: some more language cleanups; add
-	stuff about how to deal with invalid protocol and extension
-	points; add _ to allowed chars in auth commands; add EXTENSION_
-	auth command prefix
-
-2005-02-06  Havoc Pennington  <hp at redhat.com>
-
-	* s/expected/required/ in a couple places for clarity
-
-2005-02-07  Colin Walters  <walters at verbum.org>
-
-	* bus/selinux.c (bus_selinux_allows_send): Handle NULL for
-	sender or proposed_recipient.
-
-2005-02-06  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-message-factory.c (generate_special): more tests
-
-	* dbus/dbus-marshal-validate.c (validate_body_helper): detect
-	array length that exceeds the maximum
-
-2005-02-05  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-message-factory.c (generate_special): more test cases,
-	increasing coverage
-
-	* dbus/dbus-marshal-validate.c (validate_body_helper): return the
-	reason why a signature was invalid
-
-	* dbus/dbus-marshal-header.c (load_and_validate_field): fix to
-	skip the length of the string before we look at it in validation
-
-	* dbus/dbus-string-util.c (_dbus_string_test): add tests for
-	equal_substring
-
-	* dbus/dbus-message.c (_dbus_message_loader_new): default
-	max_message_length to DBUS_MAXIMUM_MESSAGE_LENGTH
-
-2005-02-05  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-marshal-validate.c (validate_body_helper): fix crash
-	if the signature of a variant was empty
-	(_dbus_validate_signature_with_reason): catch "(a)" (array inside
-	struct with no element type)
-
-	* dbus/dbus-message-factory.c (generate_uint32_changed): add more
-	mangled messages to break things
-
-2005-02-04  Havoc Pennington  <hp at redhat.com>
-
-	* glib/dbus-gproxy.c (dbus_g_proxy_disconnect_signal): use
-	g_quark_try_string() so it actually can return 0
-	(dbus_g_proxy_connect_signal): ditto
-
-2005-02-04  Havoc Pennington  <hp at redhat.com>
-
-	* glib/dbus-gproxy.c (dbus_g_proxy_emit_remote_signal): fix a
-	bogus warning
-	(tristring_from_message): assert cleanly on null path/interface
-	(should not be possible though I decided later)
-	(dbus_g_proxy_dispose): move proxy manager unregistration here
-	(DBUS_G_PROXY_DESTROYED): add this macro, and use it in a bunch of
-	g_return_if_fail() checks
-
-2005-02-04  Havoc Pennington  <hp at redhat.com>
-
-	* doc/Makefile.am (EXTRA_DIST): add DTDs to makefile
-
-	* doc/introspect.dtd: add introspect.dtd from David A. Wheeler
-	(with some minor changes)
-
-	* doc/dbus-specification.xml: add deprecated attribute to
-	introspection format
-
-2005-01-31  Havoc Pennington  <hp at redhat.com>
-
-	* glib/dbus-gproxy.c: rewrite how signals work again, this time I
-	think it's sort of right
-
-2005-01-30  Havoc Pennington  <hp at redhat.com>
-
-	* tools/dbus-viewer.c: kind of half-ass hook up the option menu.
-
-2005-01-30  Havoc Pennington  <hp at redhat.com>
-
-	* tools/dbus-names-model.c: dynamically watch NameOwnerChanged
-
-	* autogen.sh: change to autotools 1.9
-
-	* glib/dbus-gproxy.c: completely change how signals work
-	(dbus_g_proxy_add_signal): new function to specify signature of a
-	signal
-	(dbus_g_proxy_emit_received): marshal the dbus message to GValues,
-	and g_warning if the incoming message has the wrong signature.
-
-2005-01-30  Havoc Pennington  <hp at redhat.com>
-
-	* tools/dbus-names-model.c (have_names_notify): fix this
-
-	* dbus/dbus-message.c (_dbus_message_iter_get_args_valist): clean
-	up the string array handling a bit 
-
-2005-01-30  Havoc Pennington  <hp at redhat.com>
-
-	* glib/dbus-glib.c (dbus_g_pending_call_set_notify): new function
-	(dbus_g_pending_call_cancel): new function
-
-	* dbus/dbus-glib.h: move GType decls for connection/message here;
-	* dbus/dbus-glib.c: move all the g_type and ref/unref stuff in
-	here, just kind of rationalizing how we handle all that
-
-	* tools/dbus-names-model.c: new file for a tree model listing the
-	services on a bus
-
-	* tools/dbus-tree-view.c (model_new): use proper typing on the
-	model rows
-
-2005-01-30  Havoc Pennington  <hp at redhat.com>
-
-	* glib/dbus-gmain.c: add a custom GSource back that just checks
-	whether the message queue has anything in it; otherwise, there are 
-	cases where we won't see messages in the queue since there was no 
-	IO visible to the glib main loop
-
-	* dbus/dbus-connection-internal.h (_DBUS_DEFAULT_TIMEOUT_VALUE):
-	increase default message timeout to 25 seconds
-
-2005-01-30  Havoc Pennington  <hp at redhat.com>
-
-	* test/glib/test-profile.c (no_bus_stop_server): remove the
-	warning about the g_warning that I just fixed
-
-	* glib/dbus-gmain.c: rewrite the main loop stuff to avoid the
-	custom source, seems to be a lot easier to understand and work
-	better.
-
-2005-01-30  Havoc Pennington  <hp at redhat.com>
-
-        I think this main loop thing is conceptually broken, but here are 
-	some band aids. I'll maybe rewrite it in a minute.
-	
-	* glib/dbus-gmain.c (add_timeout): timeout stuff doesn't use the
-	custom GSource, so don't pass it in; confusing
-	(gsource_server_finalize, gsource_connection_finalize): add
-	finalize handlers that remove all the watches.	
-
-2005-01-30  Havoc Pennington  <hp at redhat.com>
-
-	* glib/dbus-gobject.c (introspect_properties): fix the XML
-	generated
-
-	* dbus/dbus-message.c (dbus_message_unref): add an in_cache flag
-	which effectively detects the use of freed messages
-
-	* glib/dbus-gobject.c (handle_introspect): modify and return the
-	reply message instead of the incoming message
-
-	* dbus/dbus-object-tree.c (handle_default_introspect_unlocked):
-	gee, maybe it should SEND THE XML instead of just making a string
-	and freeing it again ;-)
-
-	* tools/dbus-print-message.c (print_message): improve printing of
-	messages
-
-	* configure.in: add debug-glib.service to the output
-
-2005-01-30  Havoc Pennington  <hp at redhat.com>
-
-        dbus-viewer introspected and displayed the bus driver
-	
-	* dbus/dbus-object-tree.c 
-	(object_tree_test_iteration): add tests for a handler registered on "/"
-
-	* dbus/dbus-object-tree.c
-	(_dbus_decompose_path): fix to handle path "/" properly
-	(run_decompose_tests): add tests for path decomposition
-	
-	* glib/dbus-gutils.c (_dbus_gutils_split_path): fix to handle "/"
-	properly
-
-	* glib/dbus-gobject.c (handle_introspect): fix quotes
-
-	* test/glib/run-test.sh: support launching the bus, then running
-	dbus-viewer
-
-	* test/glib/test-service-glib.c (main): put in a trivial gobject
-	subclass and register it on the connection
-
-	* bus/driver.c (bus_driver_handle_introspect): implement
-	introspection of the bus driver service
-
-	* dbus/dbus-protocol.h: add #defines for the XML namespace,
-	identifiers, doctype decl
-
-	* bus/driver.c (bus_driver_handle_get_service_owner): handle
-	attempts to get owner of DBUS_SERVICE_ORG_FREEDESKTOP_DBUS by 
-	returning the service unchanged.
-	(bus_driver_handle_message): remove old check for reply_serial in
-	method calls, now the message type deals with that
-	(bus_driver_handle_message): handle NULL interface
-
-	* glib/dbus-gproxy.c (dbus_g_proxy_get_bus_name): new function
-
-	* glib/dbus-gloader-expat.c (description_load_from_string): allow
-	-1 for len
-
-	* tools/dbus-viewer.c: add support for introspecting a service on
-	a bus
-
-	* glib/dbus-gproxy.c (dbus_g_pending_call_ref): add
-	(dbus_g_pending_call_unref): add
-
-2005-01-29  Havoc Pennington  <hp at redhat.com>
-
-	* tools/dbus-tree-view.c: add support for displaying properties.
-	(run dbus-viewer with an introspect xml file as arg, then resize
-	the window so the tree elements show up, not sure what that is)
-
-	* glib/dbus-gobject.c (handle_introspect): return
-	org.freedesktop.Properties and org.freedesktop.Introspectable
-	interfaces when we are introspected.
-
-	* doc/dbus-specification.xml: allow empty interface name when 
-	Get/Set a property
-
-2005-01-29  Havoc Pennington  <hp at redhat.com>
-
-	* glib/Makefile.am: rename dbus-glib-tool to dbus-binding-tool;
-	though it uses glib, it could be extended for any binding in
-	principle
-
-	* glib/dbus-gobject.c (gobject_message_function): change to the
-	new way properties work
-
-	* dbus/dbus-protocol.h: add the new interfaces
-
-	* doc/dbus-specification.xml: document the introspection format,
-	Introspectable interface, and add an org.freedesktop.Properties
-	interface.
-
-	* glib/dbus-gparser.c: add support for a <property> element
-
-	* glib/dbus-gidl.c: add PropertyInfo
-
-	* glib/dbus-gobject.c (handle_introspect): put the outermost
-	<node> outside the signal and property descriptions.
-	(introspect_properties): export properties as <property> rather
-	than as method calls
-
-2005-01-28  Havoc Pennington  <hp at redhat.com>
-
-	* doc/TODO, doc/dbus-specification.xml: spec and TODO tweaks
-	related to authentication protocol
-
-2005-01-28  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/dbus_bindings.pyx.in: Updated to handle new D-BUS type system
-		- BUS_ACTIVATION -> BUS_STARTER
-		- DBUS_BUS_ACTIVATION -> DBUS_BUS_STARTER
-		- class MessageIter (__init__): Added recursion checking 
-		so we throw a nice error instead of just disconnecting from the
-		bus.
-		(get): Added arg_type parameter for recursion.
-		Removed the nil type
-		Added signiture type placeholder (not implemented)
-		Added struct type placeholder (not implemented)
-		Added varient type placeholder (not implemented)
-		Commented out dict type for now	    
-		(get_element_type): renamed from get_array_type
-		(get_*): changed to use the dbus_message_iter_get_basic API
-		(get_*_array): removed in favor of recursive get_array method
-		(get_array): new recursive method which calls get to marshal
-	        the elements of the array
-		(value_to_dbus_sig): New method returns the corrasponding
-		dbus signiture to a python value
-		(append): Comment out dict handling for now
-		Handle lists with the new recursive API
-		Comment out None handling for now
-		(append_nil): removed
-		(append_*): changed to use dbus_message_iter_append_basic API
-		(append_*_array): removed in favor of recursive append_array 
-		method
-		(__str__): Make it easier to print out recursive iterators
-		for debugging
-		- class Message (__str__): moved type inspection to the
-		MessageIter class' __str__ method
-		(get_iter): Added an append parameter wich defaults to False
-		If True use the new API's to create an append iterator
-
-	* python/dbus.py: Update to use new bindings API
-		- TYPE_ACTIVATION -> TYPE_STARTER
-		- class Bus (_get_match_rule): GetServiceOwner -> GetNameOwner
-		- class ActivationBus -> class StarterBus
-		- class RemoteObject (__call__): get an append iterator
-		- (_dispatch_dbus_method_call): get an append iterator
-		- class Object (emit_signal): get an append iterator
-
-	* python/examples/: Fixed up the examples to work with the new API
-		
-2005-01-28  Joe Shaw  <joeshaw at novell.com>
-
-	* configure.in: Bump version up to 0.30.
-
-	* HACKING: Add a release item to bump the version number up after 
-	a release.
-
-2005-01-28  Havoc Pennington  <hp at redhat.com>
-
-	* doc/dbus-specification.xml: update to describe 16-bit types and
-	dict entries
-
-	* dbus/dbus-marshal-basic.c (_dbus_unpack_uint16): fix broken
-	assertion
-
-	* dbus/dbus-protocol.h (DBUS_TYPE_DICT_ENTRY): add DICT_ENTRY as a
-	type
-
-	* dbus/dbus-marshal-recursive.c: implement
-
-2005-01-27  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-arch-deps.h.in: add 16/32-bit types
-
-	* configure.in: find the right type for 16 and 32 bit ints as well
-	as 64
-
-	* dbus/dbus-protocol.h (DBUS_TYPE_INT16, DBUS_TYPE_UINT16): add
-	the 16-bit types so people don't have to stuff them in 32-bit or
-	byte arrays.
-
-2005-01-27  Havoc Pennington  <hp at redhat.com>
-
-        * dbus/dbus-message.c: byteswap the message if you init an
-	iterator to read/write from it
-	
-	* dbus/dbus-marshal-byteswap.c: new file implementing 
-	_dbus_marshal_byteswap()
-
-	* dbus/dbus-marshal-basic.c: add _dbus_swap_array()
-
-2005-01-26  Havoc Pennington  <hp at redhat.com>
-	
-	* dbus/dbus-marshal-validate-util.c: break this out (and fix
-	build, apparently - nobody noticed?)
-	
-2005-01-26  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-marshal-recursive.h: remove todo comment
-
-2005-01-25  Joe Shaw  <joeshaw at novell.com>
-
-	* Land the mono binding changes to conform to the new APIs.
-
-	* mono/Makefile.am: Remove Custom.cs, DBusType/Custom.cs,
-	DBusType/Dict.cs, and DBusType/Nil.cs from the build.
-
-	* mono/Arguments.cs (GetCodeAsString): Added.  Returns the dbus
-	type code as a string.
-	(InitAppending): Rename dbus_message_append_iter_init() to
-	dbus_message_iter_init_append().
-
-	* mono/BusDriver.cs: Rename ServiceEventHandler to
-	NameOwnerChangedHandler.  Rename GetServiceOwner to GetOwner.
-	Rename ServiceOwnerChanged to NameOwnerChanged.
-
-	* mono/Connection.cs: Rename BaseService to UniqueName, and the
-	underlying C call.
-
-	* mono/Custom.cs: Removed.  The CUSTOM type has been removed.
-
-	* mono/Service.cs: Rename Exists to HasOwner, internally rename
-	dbus_bus_acquire_service() to dbus_bus_request_name().
-
-	* mono/DBusType/Array.cs (ctor): Use Type.GetElementType() instead
-	of Type.UnderlyingSystemType to get the correct element type for
-	the array.
-	(ctor): Update code for new APIs: use dbus_message_iter_recurse(),
-	dbus_message_get_{element|arg}_type() instead of
-	dbus_message_iter_init_array_iterator().
-	(Append): Replace dbus_message_iter_append_array() with
-	dbus_message_iter_open_container() and
-	dbus_message_iter_close_container().
-
-	* mono/DBusType/Custom.cs, mono/DBusType/Nil.cs: Removed.  These
-	types have been removed.
-	
-	* mono/DBusType/*.cs: Replace calls of
-	dbus_message_iter_get_[type]() to dbus_message_iter_get_basic(),
-	but specify the type in the DllImport extern declaration.  Ditto
-	for dbus_message_iter_append_[type]() ->
-	dbus_message_iter_append_basic().
-
-	* mono/example/BusListener.cs: Update for ServiceEventHandler ->
-	NameOwnerChangedHandler.
-
-2005-01-25  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/dbus_bindings.pyx.in: Rename of methods and bindings
-		- get_base_service -> get_unique_name
-		- bus_get_base_service -> bus_get_unique_name
-		- dbus_bus_get_base_service -> dbus_bus_get_unique_name
-		- ACTIVATION_REPLY_ACTIVATED -> DBUS_START_REPLY_SUCCESS 
-		- ACTIVATION_REPLY_ALREADY_ACTIVE -> DBUS_START_REPLY_ALREADY_RUNNING
-		- bus_activate_service -> bus_start_service_by_name
-		- dbus_bus_activate_service -> dbus_bus_start_service_by_name
-		- bus_acquire_service -> bus_request_name
-		- dbus_bus_acquire_service -> dbus_bus_request_name
-		- bus_service_exists -> bus_name_has_owner
-		- dbus_bus_service_exists -> dbus_bus_name_has_owner
-
-	* python/dbus.py: Rename of methods
-		- activate_service -> start_service_by_name
-		- bus_acquire_service -> bus_request_name
-		- ACTIVATION_REPLY_ACTIVATED -> START_REPLY_SUCCESS 
-		- ACTIVATION_REPLY_ALREADY_ACTIVE -> START_REPLY_ALREADY_RUNNING
-
-	
-2005-01-24  Joe Shaw  <joeshaw at novell.com>
-
-	* dbus/dbus-connection.c (dbus_connection_dispatch): Print out the
-	signature for the method that can't be found.
-
-	* dbus/dbus-message.c (dbus_message_iter_init): To check to see if
-	the message has any arguments, we need to call
-	_dbus_type_reader_get_current_type(), not
-	_dbus_type_reader_has_next().
-
-2005-01-24  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-message-factory.c: more testing of message validation
-
-	* dbus/dbus-protocol.h (DBUS_MINIMUM_HEADER_SIZE): move to this
-	header
-
-2005-01-23  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-message-factory.c, dbus/dbus-message-util.c: 
-	get this all working, not many tests in the framework yet though
-
-2005-01-22  Havoc Pennington  <hp at redhat.com>
-
-	* doc/dbus-faq.xml, doc/dbus-tutorial: add a FAQ and update
-	tutorial, based on work from David Wheeler.
-
-2005-01-21  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-bus.c: add more return_if_fail checks
-
-	* dbus/dbus-message.c (load_message): have the "no validation"
-	mode (have to edit the code to toggle the mode for now though)
-
-	* dbus/dbus-marshal-header.c (_dbus_header_load): have a mode that
-	skips all validation; I want to use this at least for benchmark
-	baseline, I'm not sure if it should be a publicly-available switch.
-
-2005-01-21  Havoc Pennington  <hp at redhat.com>
-
-	* glib/dbus-gmain.c: don't put the GLib bindings in the same
-	toplevel doxygen group as the low-level API stuff
-
-	* dbus/dbus.h: note that libdbus is the low-level API
-
-2005-01-20  Havoc Pennington  <hp at redhat.com>
-
-	* update-dbus-docs.sh: script to update docs on the web site, only
-	works for me though. neener.
-
-2005-01-20  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-sysdeps.c (_dbus_poll): amazingly, trying to compile
-	code can reveal bugs in it
-
-2005-01-20  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-sysdeps.c (_dbus_poll): fix several bugs in the
-	select() version, patches from Tor Lillqvist
-
-2005-01-20  Havoc Pennington  <hp at redhat.com>
-
-	* doc/dbus-tutorial.xml: replace > with &gt;
-
-	* bus/services.c (bus_registry_acquire_service): validate the name
-	and return a better error if it's no good.
-
-	* doc/dbus-specification.xml: note NO_AUTO_START change
-
-	* dbus/dbus-protocol.h (DBUS_HEADER_FLAG_NO_AUTO_START): change
-	from AUTO_START, we're toggling the default
-
-	* bus/dispatch.c: adapt the tests to change of auto-start default
-
-2005-01-18  Havoc Pennington  <hp at redhat.com>
-
-	* rename dbus-daemon-1 to dbus-daemon throughout
-
-2005-01-18  Havoc Pennington  <hp at redhat.com>
-
-        * Throughout, grand renaming to strip out the use of "service",
-	just say "name" instead (or "bus name" when ambiguous).  Did not
-	change the internal code of the message bus itself, only the
-	programmer-facing API and messages.
-	
-	* doc/dbus-specification.xml: further update the message bus section
-	
-	* bus/config-parser.c (all_are_equiv): fix bug using freed string
-	in error case
-
-2005-01-17  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-types.h: remove 16-bit types since we don't use them
-	ever
-
-	* dbus/dbus-marshal-validate.c (_dbus_validate_path): disallow any
-	"invalid name character" not only non-ASCII
-
-	* doc/dbus-specification.xml: further update spec, message bus 
-	parts are still out-of-date but the marshaling etc. stuff is now
-	accurate-ish
-
-2005-01-17  Havoc Pennington  <hp at redhat.com>
-
-	* doc/dbus-specification.xml: partially update spec
-
-2005-01-17  Havoc Pennington  <hp at redhat.com>
-
-        * Throughout, align variant bodies according to the contained
-	type, rather than always to 8. Should save a fair bit of space in
-	message headers.
-	
-	* dbus/dbus-marshal-validate.c (_dbus_validate_body_with_reason):
-	fix handling of case where p == end
-
-	* doc/TODO: remove the dbus_bool_t item and variant alignment items
-
-2005-01-17  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-types.h: hardcode dbus_bool_t to 32 bits
-
-	* Throughout: modify DBUS_TYPE_BOOLEAN to be a 32-bit type instead
-	of an 8-bit type. Now dbus_bool_t is the type to use whenever you 
-	are marshaling/unmarshaling a boolean.
-
-2005-01-16  Havoc Pennington  <hp at redhat.com>
-
-        This is about it on what can be disabled/deleted from libdbus
-	easily, back below 150K anyhow. Deeper cuts are more work than 
-	just turning the code off as I've done here.
-	
-	* dbus/dbus-marshal-basic.c (_dbus_pack_int32): we don't need the
-	signed int convenience funcs
-
-	* dbus/dbus-internals.c (_dbus_verbose_real): omit when not in
-	verbose mode
-
-	* dbus/dbus-string-util.c, dbus/dbus-string.c: more breaking
-	things out of libdbus
-
-	* dbus/dbus-sysdeps.c, dbus/dbus-sysdeps-util.c: same
-	
-	* dbus/dbus-hash.c: purge the TWO_STRINGS crap (well, make it
-	tests-enabled-only, though it should probably be deleted)
-
-	* dbus/dbus-message-util.c: same stuff
-
-	* dbus/dbus-auth-util.c: same stuff
-
-2005-01-16  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-userdb-util.c: split out part of dbus-userdb.c
-
-	* dbus/dbus-sysdeps.c (_dbus_uid_from_string): move here to pave
-	way for stripping down dbus-userdb.c stuff included in libdbus.
-	Rename _dbus_parse_uid for consistency.
-
-2005-01-16  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-internals.c (_dbus_real_assert): print the function
-	name the assertion failed in
-
-	* dbus/dbus-internals.h (_dbus_return_if_fail) 
-	(_dbus_return_val_if_fail): assert that the name of the function
-	containing the check doesn't start with '_', since we only want to 
-	use checks on public functions
-	
-	* dbus/dbus-connection.c (_dbus_connection_ref_unlocked): change
-	checks to assertions
-
-	* dbus/dbus-marshal-header.c (_dbus_header_set_field_basic):
-	change checks to asserts for private function
-
-	* dbus/dbus-message.c (_dbus_message_set_serial): checks
-	to asserts for private function
-
-	* dbus/dbus-marshal-recursive.c (skip_one_complete_type): remove
-	broken assertion that was breaking make check
-	(_dbus_type_reader_array_is_empty): remove this rather than fix
-	it, was only used in assertions
-
-2005-01-16  Havoc Pennington  <hp at redhat.com>
-
-	* test/unused-code-gc.py: hacky script to find code that's used
-	only by the bus (not libdbus) or used only by tests or not used at
-	all. It has some false alarms, but looks like we can clean up a
-	lot of size from libdbus.
-
-	* dbus/dbus-sysdeps.c, dbus/dbus-sysdeps-utils.c,
-	dbus/Makefile.am: initially move 10K of binary size out of libdbus
-	
-2005-01-16  Havoc Pennington  <hp at redhat.com>
-
-        * Add and fix docs according to Doxygen warnings throughout
-	source.
-	
-	* dbus/dbus-marshal-recursive.c
-	(_dbus_type_reader_array_is_empty): change this to just call
-	array_reader_get_array_len() and make it static
-
-	* dbus/dbus-message.c (dbus_message_iter_get_element_type): rename
-	from get_array_type
-	(dbus_message_iter_init_append): rename from append_iter_init
-
-	* dbus/dbus-marshal-recursive.c
-	(_dbus_type_reader_get_element_type): rename from
-	_dbus_type_reader_get_array_type
-
-2005-01-15  Havoc Pennington  <hp at redhat.com>
-
-	* test/glib/test-profile.c (with_bus_server_filter): fix crash
-
-	* dbus/dbus-marshal-basic.c (_dbus_unpack_uint32): inline as macro
-	when DBUS_DISABLE_ASSERT
-	(_dbus_marshal_set_basic): be sure we align for the string length
-
-	* dbus/dbus-marshal-recursive.c (skip_one_complete_type): make
-	this look faster
-
-	* dbus/dbus-string.c (_dbus_string_get_const_data_len): add an
-	inline macro version
-	(_dbus_string_set_byte): provide inline macro version
-
-2005-01-15  Havoc Pennington  <hp at redhat.com>
-
-	* Land the new message args API and type system.
-
-	This patch is huge, but the public API change is not 
-	really large. The set of D-BUS types has changed somewhat, 
-	and the arg "getters" are more geared toward language bindings;
-	they don't make a copy, etc.
-
-	There are also some known issues. See these emails for details
-	on this huge patch:
-	http://lists.freedesktop.org/archives/dbus/2004-December/001836.html
-        http://lists.freedesktop.org/archives/dbus/2005-January/001922.html
-	
-	* dbus/dbus-marshal-*: all the new stuff
-
-	* dbus/dbus-message.c: basically rewritten
-
-	* dbus/dbus-memory.c (check_guards): with "guards" enabled, init
-	freed blocks to be all non-nul bytes so using freed memory is less
-	likely to work right
-
-	* dbus/dbus-internals.c (_dbus_test_oom_handling): add
-	DBUS_FAIL_MALLOC=N environment variable, so you can do
-	DBUS_FAIL_MALLOC=0 to skip the out-of-memory checking, or
-	DBUS_FAIL_MALLOC=10 to make it really, really, really slow and
-	thorough.
-
-	* qt/message.cpp: port to the new message args API
-	(operator<<): use str.utf8() rather than str.unicode()
-	(pretty sure this is right from the Qt docs?)
-
-	* glib/dbus-gvalue.c: port to the new message args API
-
-	* bus/dispatch.c, bus/driver.c: port to the new message args API
-
-	* dbus/dbus-string.c (_dbus_string_init_const_len): initialize the
-	"locked" flag to TRUE and align_offset to 0; I guess we never
-	looked at these anyhow, but seems cleaner.
-
-	* dbus/dbus-string.h (_DBUS_STRING_ALLOCATION_PADDING):
-	move allocation padding macro to this header; use it to implement
-	(_DBUS_STRING_STATIC): ability to declare a static string.
-
-	* dbus/dbus-message.c (_dbus_message_has_type_interface_member):
-	change to return TRUE if the interface is not set.
-
-	* dbus/dbus-string.[hc]: move the D-BUS specific validation stuff
-	to dbus-marshal-validate.[hc]
-
-	* dbus/dbus-marshal-basic.c (_dbus_type_to_string): move here from
-	dbus-internals.c
-
-	* dbus/Makefile.am: cut over from dbus-marshal.[hc]
-	to dbus-marshal-*.[hc]
-
-	* dbus/dbus-object-tree.c (_dbus_decompose_path): move this
-	function here from dbus-marshal.c
-
-2005-01-12  Joe Shaw  <joeshaw at novell.com>
-
-	* NEWS: Update for 0.23.
-
-	* configure.in: Release 0.23.
-
-2005-01-12  Joe Shaw  <joeshaw at novell.com>
-
-	* mono/Makefile.am, mono/example/Makefile.am: Always build the 
-	dbus DLL with --debug.  Clean up after the .mdb files this leaves
-	behind.
-
-	* mono/doc/Makefile.am: Need to uninstall the docs on "make
-	uninstall"
-
-	* mono/Arguments.cs (GetDBusTypeConstructor): If the type
-	is an enum, get the enum's underlying type.  Another mono
-	1.1.3 fix.
-
-2005-01-11  Joe Shaw  <joeshaw at novell.com>
-
-	Patch from Sjoerd Simons <sjoerd at luon.net>
-
-	* mono/Makefile.am, mono/example/Makefile.am: Don't redefine
-	DESTDIR.  It breaks stuff.
-
-2005-01-11  Joe Shaw  <joeshaw at novell.com>
-
-	Patch from Tambet Ingo <tambet at ximian.com>
-
-	* mono/DBusType/Array.cs (Get): Get the underlying element type by
-	calling type.GetElementType().  The code previously depended on
-	broken Mono behavior, which was fixed in Mono 1.1.3.
-
-	* mono/DBusType/Dict.cs (constructor): Fix the parameters for
-	Activator.CreateInstance() so that the class's constructor is
-	called with the right parameters.
-
-2005-01-11  Joe Shaw  <joeshaw at novell.com>
-
-	Patch from Timo Teräs <ext-timo.teras at nokia.com>
-
-	* dbus/dbus-connection.c
-	(_dbus_connection_queue_received_message_link): Call
-	_dbus_connection_remove_timeout() instead of the _locked()
-	variant, since it's always called from
-	_dbus_connection_handle_watch(), which handles the locking.
-	Removed the _locked() variant since it's no longer used.
-
-2005-01-03  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-internals.h: I'm an idiot, _dbus_assert certainly can
-	return
-	
-2004-12-26  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-internals.h: add _DBUS_GNUC_NORETURN to _dbus_assert
-
-2005-01-03  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-sysdeps.c (_dbus_sysdeps_test): fix using == on
-	floating point
-
-	* dbus/dbus-string.c (_dbus_string_insert_alignment): new function
-
-2005-01-02  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-internals.h (_DBUS_ALIGN_OFFSET): new macro
-
-2005-01-01  Havoc Pennington  <hp at redhat.com>
-
-	* configure.in: add -Wfloat-equal
-
-2005-01-01  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-sysdeps.h: add _DBUS_DOUBLES_BITWISE_EQUAL macro, 
-	for a variety of reasons '==' doesn't do this.
-
-2004-12-31  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-string.c (_dbus_string_equal_substrings): new function
-	I keep wishing I had
-
-2004-12-30  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/dbus.py: s/ACTIVATION_REPLY_ACTIVE/ACTIVATION_REPLY_ACTIVATED
-
-2004-12-30  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/dbus_bindings.pyx.in: Change DBUS_ACTIVATION_REPLY_ACTIVATED
-	and DBUS_ACTIVATION_REPLY_ALREADY_ACTIVE to match the values in
-	dbus-protocol.h.  Because they are defines and not enums they are not
-	autogenerated.
-
-2004-12-26  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/dbus_bindings.pyx.in (bus_activate_service): Bind
-	dbus_bus_activate_service
-
-	* python/dbus.py (Bus.activate_service): activate a service on the
-	bus.
-
-2004-12-24  Havoc Pennington  <hp at redhat.com>
-
-	* test/decode-gcov.c: change to use .gcno and .gcda files, but the
-	file format has also changed and I haven't adapted to that yet
-	
-	* Makefile.am: load .gcno files from latest gcc
-
-2004-12-23  John (J5) Palmieri  <johnp at redhat.com>
-	* Patch from Rob Taylor <robtaylor at fastmail.fm>
-
-	* python/dbus_bindings.pyx.in (bus_get_unix_user): New
-	lowlevel binding
-
-	* python/dbus.py (get_unix_user): Added binding to 
-	call dbus_bindings.bus_get_unix_user
-
-	* python/extract.py: Modified the proto_pat regex to
-	handle unsigned long
-
-2004-12-21  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* dbus/make-dbus-glib-error-enum.sh: omit the function keyword for
-	better POSIX compliance.
-
-2004-12-19  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-string.c (_dbus_string_insert_4_aligned) 
-	(_dbus_string_insert_8_aligned): new functions
-
-	* dbus/dbus-string.c (_dbus_string_alloc_space): new function
-
-2004-12-18  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-string.c (_dbus_string_validate_ascii): use ISASCII
-	macro
-
-	* dbus/dbus-message.c: fix a comment, and add a still-unused
-	not-implemented function
-
-	* dbus/dbus-marshal.h: fix comment
-
-	* dbus/dbus-internals.h (_DBUS_ISASCII): new macro
-
-2004-12-17  Joe Shaw  <joeshaw at novell.com>
-
-	* mono/DBusType/Byte.cs, mono/DBusType/Int32.cs,
-	mono/DBusType/Int64.cs, mono/DBusType/UInt32.cs,
-	mono/DBusType/UInt64.cs: Use Enum.GetUnderlyingType() instead of
-	Type.UnderlyingSystemType to get the actual system type
-	underneath.  This code previously depended on the broken Mono
-	behavior, which was fixed in 1.1.3.
-
-2004-11-27  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-string.h (_dbus_string_get_byte): inline when asserts
-	are disabled
-	(_dbus_string_get_const_data): inline when asserts are disabled
-
-	* dbus/dbus-message.c: record the _dbus_current_generation of
-	creation so we can complain if dbus_shutdown() is used improperly.
-	Do this only if checks are enabled.
-
-	* dbus/dbus-connection.c: ditto
-	
-2004-11-26  Havoc Pennington  <hp at redhat.com>
-
-	* test/glib/test-profile.c: add with_bus mode to profile echoes
-	that go through the bus.
-
-	* test/glib/run-test.sh: add ability to run test-profile
-
-	* bus/dbus-daemon-1.1.in: fix to say that SIGHUP causes partial
-	config file reload.
-
-2004-11-26  Havoc Pennington  <hp at redhat.com>
-
-	* test/glib/test-profile.c: clean up how the fake_malloc_overhead
-	thing was implemented
-
-2004-11-26  Havoc Pennington  <hp at redhat.com>
-
-	* test/glib/test-profile.c: tweak a bit, add support for some
-	made-up minimal malloc overhead with plain sockets, since in 
-	real life some sort of buffers are unavoidable thus we could 
-	count them in the theoretical best case
-
-2004-11-26  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-message.c (dbus_message_cache_or_finalize): fix bug
-	where I was trying to cache one too many messages
-
-2004-11-26  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-message.c: reimplement message cache as an array which 
-	makes the cache about twice as fast and saves maybe 1.5% overall
-
-2004-11-26  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-threads.c (init_global_locks): forgot to put the
-	message cache lock here
-
-2004-11-26  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-message.c (struct DBusMessage): put the locked bit and
-	the "char byte_order" next to each other to save 4 bytes
-	(dbus_message_new_empty_header): reduce preallocation, since the
-	message cache should achieve a similar effect
-	(dbus_message_cache_or_finalize, dbus_message_get_cached): add a
-	message cache that keeps a few DBusMessage around in a pool,
-	another 8% speedup or so.
-
-	* dbus/dbus-dataslot.c (_dbus_data_slot_list_clear): new function
-
-2004-11-25  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-transport-unix.c (unix_do_iteration): if we're going
-	to write, without reading or blocking, try it before the poll()
-	and skip the poll() if nothing remains to write. This is about a
-	3% speedup in the echo client/server
-
-2004-11-25  Havoc Pennington  <hp at redhat.com>
-
-        The primary change here is to always write() once before adding
-	the write watch, which gives us about a 10% performance increase.
-	
-	* dbus/dbus-transport-unix.c: a number of modifications to cope
-	with removing messages_pending
-	(check_write_watch): properly handle
-	DBUS_AUTH_STATE_WAITING_FOR_MEMORY; adapt to removal of
-	messages_pending stuff
-	(check_read_watch): properly handle WAITING_FOR_MEMORY and
-	AUTHENTICATED cases
-	(unix_handle_watch): after writing, see if the write watch can be
-	removed
-	(unix_do_iteration): assert that write_watch/read_watch are
-	non-NULL rather than testing that they aren't, since they 
-	aren't allowed to be NULL. check_write_watch() at the end so 
-	we add the watch if we did not finish writing (e.g. got EAGAIN)
-
-	* dbus/dbus-transport-protected.h: remove messages_pending call,
-	since it resulted in too much inefficient watch adding/removing; 
-	instead we now require that the transport user does an iteration 
-	after queueing outgoing messages, and after trying the first
-	write() we add a write watch if we got EAGAIN or exceeded our 
-	max bytes to write per iteration setting
-
-	* dbus/dbus-string.c (_dbus_string_validate_signature): add this
-	function
-
-	* dbus/dbus-server-unix.c (unix_finalize): the socket name was
-	freed and then accessed, valgrind flagged this bug, fix it
-
-	* dbus/dbus-message.c: fix several bugs where HEADER_FIELD_LAST was taken
-	as the last valid field plus 1, where really it is equal to the
-	last valid field. Corrects some message corruption issues.
-
-	* dbus/dbus-mainloop.c: verbosity changes
-
-	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): handle OOM
-	instead of aborting in one of the test codepaths
-
-	* dbus/dbus-internals.c (_dbus_verbose_real): fix a bug that
-	caused not printing the pid ever again if a verbose was missing
-	the newline at the end
-	(_dbus_header_field_to_string): add HEADER_FIELD_SIGNATURE
-
-	* dbus/dbus-connection.c: verbosity changes; 
-	(dbus_connection_has_messages_to_send): new function
-	(_dbus_connection_message_sent): no longer call transport->messages_pending
-	(_dbus_connection_send_preallocated_unlocked): do one iteration to
-	try to write() immediately, so we can avoid the write watch. This
-	is the core purpose of this patchset
-	(_dbus_connection_get_dispatch_status_unlocked): if disconnected,
-	dump the outgoing message queue, so nobody will get confused
-	trying to send them or thinking stuff is pending to be sent
-
-	* bus/test.c: verbosity changes
-
-	* bus/driver.c: verbosity/assertion changes
-
-	* bus/dispatch.c: a bunch of little tweaks to get it working again
-	because this patchset changes when/where you need to block.
-
-2004-11-23  Havoc Pennington  <hp at redhat.com>
-
-	* test/glib/test-profile.c: modify to accept a plain_sockets
-	argument in which case it will bench plain sockets instead of
-	libdbus, for comparison purposes.
-
-2004-11-22  Havoc Pennington  <hp at redhat.com>
-
-	* test/glib/test-profile.c (N_CLIENT_THREADS): run multiple
-	threads for more time, so sysprof can get a grip on it.
-
-	* dbus/dbus-string.c (_dbus_string_validate_utf8): remove
-	pointless variable
-
-2004-11-13  Havoc Pennington  <hp at redhat.com>
-
-	* test/glib/test-profile.c: fix this thing up a bit
-
-	* dbus/dbus-message.c (dbus_message_new_empty_header): increase
-	preallocation sizes by a fair bit; not sure if this will be an
-	overall performance win or not, but it does reduce reallocs.
-
-	* dbus/dbus-string.c (set_length, reallocate_for_length): ignore
-	the test hack that forced constant realloc if asserts are
-	disabled, so we can profile sanely. Sprinkle in some
-	_DBUS_UNLIKELY() which are probably pointless, but before I
-	noticed the real performance problem I put them in.
-	(_dbus_string_validate_utf8): micro-optimize this thing a little
-	bit, though callgrind says it didn't help; then special-case
-	ascii, which did help a lot; then be sure we detect nul bytes as
-	invalid, which is a bugfix.
-	(align_length_then_lengthen): add some more _DBUS_UNLIKELY
-	superstition; use memset to nul the padding instead of a manual
-	loop.
-	(_dbus_string_get_length): inline this as a
-	macro; it showed up in the profile because it's used for loop
-	tests and so forth
-
-2004-11-10  Colin Walters  <walters at verbum.org>
-
-	* dbus/dbus-spawn.c (check_babysit_events): Handle EINTR,
-	for extra paranoia.
-
-2004-11-09  Colin Walters  <walters at verbum.org>
-
-	* dbus/dbus-string.c (_dbus_string_get_length): New
-	function, writes DBusString to C buffer.
-
-	* dbus/dbus-string.h: Prototype it.
-
-	* dbus/dbus-message.c (dbus_message_type_to_string): New
-	function, converts message type into C string.
-
-	* dbus/dbus-message.h: Prototype it.
-
-	* bus/selinux.c (bus_selinux_check): Take source pid,
-	target pid, and audit data.  Pass audit data to
-	avc_has_perm.
-	(log_audit_callback): New function, appends extra
-	audit information.
-	(bus_selinux_allows_acquire_service): Also take
-	service name, add it to audit data.
-	(bus_selinux_allows_send): Also take message
-	type, interface, method member, error name,
-	and destination, and add them to audit data.
-	(log_cb): Initialize func_audit.
-	
-	* bus/selinux.h (bus_selinux_allows_acquire_service)
-	(bus_selinux_allows_send): Update prototypes 
-
-	* bus/services.c (bus_registry_acquire_service): Pass
-	service name to bus_selinux_allows_acquire_service.
-
-	* bus/bus.c (bus_context_check_security_policy): Pass
-	additional audit data.  Move assignment of dest
-	to its own line.
-
-2004-11-07  Colin Walters  <walters at verbum.org>
-
-	* dbus/dbus-transport-unix.c (do_authentication): Always
-	initialize auth_completed.
-	
-2004-11-07  Colin Walters  <walters at verbum.org>
-
-	* bus/bus.c (load_config): Break into three
-	separate functions: process_config_first_time_only,
-	process_config_every_time, and process_config_postinit.
-	(process_config_every_time): Move call of
-	bus_registry_set_service_context_table into
-	process_config_postinit.
-	(process_config_postinit): New function, does
-	any processing that needs to happen late
-	in initialization (and also on reload).
-	(bus_context_new): Instead of calling load_config,
-	open config parser here and call process_config_first_time_only
-	and process_config_every_time directly.  Later, after
-	we have forked but before changing UID,
-	invoke bus_selinux_full_init, and then call
-	process_config_postinit.
-	(bus_context_reload_config): As in bus_context_new,
-	load parse file inside here, and call process_config_every_time
-	and process_config_postinit.
-
-	* bus/services.h, bus/services.c
-	(bus_registry_set_service_context_table): Rename
-	from bus_registry_set_sid_table.  Take string hash from config
-	parser, and convert them here into SIDs.
-
-	* bus/config-parser.c (struct BusConfigParser): Have
-	config parser only store a mapping of service->context
-	string.
-	(merge_service_context_hash): New function.
-	(merge_included): Merge context string hashes instead
-	of using bus_selinux_id_table_union.
-	(bus_config_parser_new): Don't use bus_selinux_id_table_new;
-	simply create a new string hash.
-	(bus_config_parser_unref): Unref it.
-	(start_selinux_child): Simply insert strings into hash,
-	don't call bus_selinux_id_table_copy_over.
-
-	* bus/selinux.h, bus/selinux.c (bus_selinux_id_table_union)
-	(bus_selinux_id_table_copy_over): Delete.
-
-2004-11-03  Colin Walters  <walters at verbum.org>
-
-	* bus/selinux.c (bus_selinux_pre_init): Kill some unused
-	variables.
-	
-2004-11-03  Colin Walters  <walters at verbum.org>
-
-	* bus/test-main.c (test_pre_hook): Fix test logic,
-	thanks Joerg Barfurth <Joerg.Barfurth at Sun.COM>.
-
-2004-11-02  Colin Walters  <walters at redhat.com>
-
-	* bus/selinux.c (bus_selinux_init): Split into two functions,
-	bus_selinux_pre_init and bus_selinux_post_init.
-	(bus_selinux_pre_init): Just determine whether SELinux is
-	enabled.
-	(bus_selinux_post_init): Do everything else.
-
-	* bus/main.c (main): Call bus_selinux_pre_init before parsing
-	config file, and bus_selinux_post_init after.  This ensures that
-	we don't lose the policyreload notification thread that
-	bus_selinux_init created before forking previously.
-	
-	* bus/test-main.c (test_pre_hook): Update for split.
-
-2004-10-31  Owen Fraser-Green  <owen at discobabe.net>
-
-	Patch from Johan Fischer <linux at fischaz.com>
-	
-	* mono/doc/Makefile.am (install-data-local): Added directory
-	install for DESTDIR
-
-2004-10-29  Colin Walters  <walters at redhat.com>
-
-	* dbus/dbus-sysdeps.h (_dbus_become_daemon): Also take
-	parameter for fd to write pid to.	
-
-	* dbus/dbus-sysdeps.c (_dbus_become_daemon): Implement it.
-	
-	* bus/bus.c (bus_context_new): Pass print_pid_fd
-	to _dbus_become_daemon (bug #1720)
-
-2004-10-29  Colin Walters  <walters at redhat.com>
-
-	Patch from Ed Catmur <ed at catmur.co.uk>
-
-	* mono/doc/Makefile.am (install-data-local): Handle
-	DESTDIR.
-
-2004-10-29  Colin Walters  <walters at redhat.com>
-
-	* bus/.cvsignore, qt/.cvsignore: Update.
-
-2004-10-29  Colin Walters  <walters at redhat.com>
-
-	Patch from Kristof Vansant <de_lupus at pandora.be>
-
-	* configure.in: Detect Slackware.
-	* bus/Makefile.am (SCRIPT_IN_FILES): Add rc.messagebus.in.
-	* bus/rc.messagebus.in: New file.
-
-2004-10-29  Colin Walters  <walters at redhat.com>
-
-	* tools/dbus-monitor.c (filter_func): Return
-	DBUS_HANDLER_RESULT_HANDLED in filter function
-	for now.  See:
-	http://freedesktop.org/pipermail/dbus/2004-August/001433.html
-
-2004-10-29  Colin Walters  <walters at redhat.com>
-
-	Patch from Matthew Rickard <mjricka at epoch.ncsc.mil>
-
-	* bus/services.c (bus_registry_acquire_service): 
-	Correctly retrieve service name from DBusString
-	for printing.
-
-2004-10-29  Colin Walters  <walters at redhat.com>
-
-	* dbus/dbus-glib.h: Update documentation to not
-	refer to internal APIs.
-
-2004-10-27  Joe Shaw  <joeshaw at novell.com>
-
-	* mono/Arguments.cs (GetDBusTypeConstructor):
-	type.UnderlyingSystemType will return "System.Byte" if you do it
-	on "byte[]", which is not what we want.  So check the type.IsArray
-	property and use System.Array instead.
-
-2004-10-25  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-sysdeps.c (fill_user_info): On errors do not free
-	the DBusUserInfo structure since this is passed into the function.
-	This would cause a double free when the function that allocated
-	the structure would try to free it when an error occured.
-
-	* (bus/session.conf.in, bus/Makefile.am, dbus/configure.in):
-	use /usr/share/dbus-1/services instead of /usr/lib/dbus-1.0/services
-	for service activation to avoid 32bit/64bit parallel install issues
-
-2004-10-21  Colin Walters  <walters at verbum.org>
-
-	* AUTHORS: Fix my email address, the @gnu.org one
-	has been bouncing for some time.  Also add J5.
-	
-2004-10-21  Colin Walters  <walters at verbum.org>
-
-	* dbus/dbus-transport-unix.c (do_authentication): Return
-	authentication status to callers.
-	(unix_handle_watch): If we completed authentication this round,
-	don't do another read.  Instead wait until the next iteration,
-	after we've read any pending data in the auth buffer.
-	(unix_do_iteration): Ditto.
-	(unix_handle_watch): Updated for new do_authentication prototype.
-
-2004-10-18  Colin Walters  <walters at verbum.org>
-
-	* bus/selinux.c (bus_selinux_enabled): Handle
-	--disable-selinux case.
-	
-2004-10-18  Colin Walters  <walters at verbum.org>
-
-	* bus/selinux.h: Add bus_selinux_enabled.
-	
-	* bus/selinux.c (bus_selinux_enabled): Implement it.
-	
-	* bus/config-parser.c (struct include): Add
-	if_selinux_enabled member.
-	(start_busconfig_child): Parse if_selinux_enabled
-	attribute for include.
-	(bus_config_parser_content): Handle it.
-
-	* bus/session.conf.in, bus/system.conf.in: Add
-	inclusion of context mapping to default config files;
-	conditional on SELinux being enabled.
-	
-	* doc/busconfig.dtd: Add to if_selinux_enabled to default DTD.
-	
-	* test/data/invalid-config-files/badselinux-1.conf, 
-	test/data/invalid-config-files/badselinux-2.conf:
-	Test files for bad syntax.
-	
-2004-10-17  Colin Walters  <walters at verbum.org>
-
-	* dbus/dbus-memory.c (_dbus_initialize_malloc_debug, check_guards)
-	(dbus_malloc, dbus_malloc0, dbus_realloc): Fix up printf
-	format specifier mismatches.
-
-2004-10-07  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* dbus/dbus-sysdeps.c (_dbus_file_get_contents): fix an incorrect
-	format string.
-
-	* glib/dbus-dbus-gmain.c (dbus_g_bus_get): do not mangle NULL
-	pointer (bug #1540, Leonardo Boiko).
-
-2004-09-28  Jon Trowbridge  <trow at ximian.com>
-
-	* mono/BusDriver.cs: Changed BusDriver struct to remove
-	the ServiceCreated and ServiceDeleted events and replace them
-	with the new ServiceOwnerChanged event.
-
-	* mono/example/BusListener.cs: Added a new example program,
-	which listens for and reports any ServiceOwnerChanged events
-	on the bus driver.
-
-	* mono/example/Makefile.am (DESTDIR): Build changes for the
-	new BusListener.cs example.
-
-2004-09-27  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* bus/signals.c (bus_match_rule_parse): validate the components of
-	match rules (bug #1439).
-
-	* dbus/dbus-bus.c (dbus_bus_add_match): add a missing OOM test.
-
-2004-09-24  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* doc/dbus-specification.xml: document ServiceOwnerChanged
-	signal.
-	
-	* bus/driver.c, bus/driver.h, bus/services.c: Use
-	ServiceOwnerChanged signal instead of ServiceCreated and
-	ServiceDeleted.
-	
-	* bus/dispatch.c: update testcase for the new signal.
-
-2004-09-20  Jon Trowbridge  <trow at ximian.com>
-
-	Patch from Nat Friedman <nat at novell.com>
-
-	* mono/Makefile.am: A number of small build fixes to allow "make
-	distcheck" to succeed.
-
-	* mono/example/Makefile.am: "make distcheck" fixes.
-
-	* mono/AssemblyInfo.cs.in: When signing the assembly, look for the
-	key in @srcdir at .
-
-	* test/Makefile.am: "make distcheck" fixes.
-
-2004-09-17  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* dbus/dbus-sysdeps.c (_dbus_user_at_console): fix memleak in OOM.
-
-	* doc/busconfig.dtd: update the DTD for the at_console attribute.
-
-	* bus/driver.c (bus_driver_handle_hello): correctly handle Hello
-	messages after the first one (bug #1389).
-	
-	* bus/dispatch.c (check_double_hello_message): add a test case for
-	the double hello message bug.
-	(check_existent_service_activation): fix check of spawning error.
-	
-2004-09-16  David Zeuthen  <david at fubar.dk>
-
-	* python/dbus_bindings.pyx.in: Add support for int64 and uint64
-
-2004-09-12  David Zeuthen  <david at fubar.dk>
-
-	Patch from Kay Sievers <kay.sievers at vrfy.org>
-
-	* bus/bus.c (bus_context_new):
-	* bus/bus.h:
-	* bus/main.c (usage)
-	(main):
-	Add commandline option --nofork to override configuration file
-	setting.
-
-2004-09-09  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* dbus/dbus-*.h: remove the ; after DBUS_(BEGIN|END)_DECLS. Some C
-	compilers don't like it (bug #974).
-
-2004-09-04  Harald Fernengel  <harry at kdevelop.org>
-
-	* qt/connection.*: Applied patch by Jérôme Lodewyck
-	<lodewyck at clipper.ens.fr> to integrate an existing
-	connection into the Qt eventloop
-
-2004-08-30  Jon Trowbridge  <trow at ximian.com>
-
-	* mono/BusDriver.cs: Added.  This is a class for interacting with
-	the org.freedesktop.DBus service.
-
-	* mono/Message.cs: Added a mechanism to expose the message that is
-	currently being dispatched via the static Message.Current
-	property.  Added Message.Sender and Message.Destination
-	properties.
-
-	* mono/Handler.cs: Expose the dispatched message via
-	Message.Current when handling method calls.
-
-	* mono/Service.cs: Expose the dispatched message via
-	Message.Current when handling signal emissions.
-	
-	* mono/Connection.cs: Bind dbus_bus_get_base_service via the
-	Connection.BaseService property.
-
-2004-08-28  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-userdb.c (_dbus_is_console_user): remove unused variable
-
-        More fixes from Steve Grubb
-	
-	* dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix fd leak
-	(_dbus_listen_tcp_socket): fix fd leak
-
-	* dbus/dbus-spawn.c (read_pid, read_ints): move the "again:" for
-	EINTR to a bit lower in the code
-
-2004-08-26  Jon Trowbridge  <trow at ximian.com>
-
-	* bus/driver.c (bus_driver_handle_service_exists): Respond with
-	TRUE if we are inquiring about the existence of the built-in
-	org.freedesktop.DBus service.
-
-2004-08-25  John Palmieri  <johnp at redhat.com>
-	* bus/config-parser.c:
-	(struct PolicyType): Add POLICY_CONSOLE
-	(struct Element.d.policy): s/gid_or_uid/gid_uid_or_at_console
-	(start_busconfig_child): Sets up console element when
-	<policy at_console=""> is encountered in a policy file
-	(append_rule_from_element): Convert console elements to console
-	rules.
-
-	* bus/policy.c: 
-	(bus_policy_create_client_policy): Add console rules to the client
-	policy based on if the client is at the console
-	(bus_policy_append_console_rule): New function for adding a
-	console rule to a policy
-	(bus_policy_merge): Handle console rule merging
-
-	* dbus/dbus-sysdeps.h: Added the DBUS_CONSOLE_DIR constant
-	where we check for console user files
-	
-	* dbus/dbus-sysdeps.c:
-	(_dbus_file_exists): New function which checks if the given
-	file exists
-	(_dbus_user_at_console): New function which does the system
-	specific process of checking if the user is at the console
-
-	* dbus/dbus-userdb.c:
-	(_dbus_is_console_user): New function converts a UID to user name
-	and then calls the system specific _dbus_user_at_console to 
-	see if the user is at the console and therefor a console user
-
-2004-08-25  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* bus/config-parser.c (set_limit):
-	* bus/dbus-daemon-1.1.in:
-	* test/data/valid-config-files/many-rules.conf: set the
-	max_match_rules_per_connection limt from the config file. 
-
-	* doc/busconfig.dtd: update the DTD.
-
-	* bus/driver.c: remove some unused variables.
-
-2004-08-24  Mikael Hallendal  <micke at imendio.com>
-
-	* dbus/dbus-glib-lowlevel.h: Removed dbus_bus_get_with_g_main since 
-	it's been replaced by dbus_g_bus_get
-
-2004-08-23  Colin Walters  <walters at redhat.com>
-
-	Updated SELinux support from Matthew Rickard <mjricka at epoch.ncsc.mil>
-
-	* bus/selinux.h: Prototype bus_selinux_get_policy_root.
-
-	* bus/selinux.c: Create a thread for policy reload notification.
-	(bus_selinux_get_policy_root): Implement.
-
-	* bus/config-parser.c (start_busconfig_child)
-	(bus_config_parser_content): Support SELinux-root relative
-	inclusion.
-
-	* configure.in <HAVE_SELINUX>: Add -lpthread.
-	
-	* bus/test-main.c (test_pre_hook, test_post_hook): New.
-	(test_post_hook): Move memory checking into here.
-	(test_pre_hook, test_post_hook): Move SELinux checks in
-	here, but conditional on a DBUS_TEST_SELINUX environment
-	variable.  Unfortunately we can't run the SELinux checks
-	as a normal user, since they won't have any permissions
-	for /selinux.  So this will have to be tested manually
-	for now, until we have virtualization for most of
-	libselinux.
-	
-2004-08-23  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-sysdeps.c (_dbus_change_identity): add setgroups() to
-	drop supplementary groups, suggested by Steve Grubb
-
-2004-08-20  Colin Walters  <walters at redhat.com>
-
-	* bus/config-parser.c (start_busconfig_child): Remove some unused
-	variables.
-	
-	* bus/selinux.c (bus_selinux_id_table_insert): Avoid compiler
-	warning.
-
-2004-08-17  Joe Shaw  <joeshaw at novell.com>
-
-	* configure.in: If --enable-mono is passed in, if we can't find
-	mono error out.
-
-	* mono/Makefile.am: Use /gacutil to install assemblies into the
-	GAC and not /root.
-
-2004-08-12  Havoc Pennington  <hp at redhat.com>
-
-	* NEWS: update for 0.22
-
-	* configure.in: release 0.22
-
-2004-08-11  Colin Walters  <walters at redhat.com>
-
-	* tools/dbus-send.c (main, usage): Add --reply-timeout
-	argument.
-
-2004-08-10  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* bus/bus.c (process_config_first_time_only): get rid of an unused
-	DBusError that was causing a memoy leak (bug #989).
-
-	* dbus/dbus-keyring.c, dbus/dbus-message.c:
-	fix compilation on Solaris/Forte C (bug #974)
-
-	* bus/main.c (main): plug two minuscule memleaks.
-
-2004-08-10  Havoc Pennington  <hp at redhat.com>
-
-	* doc/dbus-tutorial.xml: add some more info on GLib bindings
-
-2004-08-09  Havoc Pennington  <hp at redhat.com>
-
-	* COPYING: switch to Academic Free License version 2.1 instead of
-	2.0, to resolve complaints about patent termination clause.
-
-2004-07-31  John (J5) Palmieri  <johnp at redhat.com>
-
-	* README: added documentation for the --enable-python 
-	configure switch.
-
-2004-07-31  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* bus/config-parser.c (bus_config_parser_new): fix an invalid
-	_unref in the SELinux support.
-
-	* doc/busconfig.dtd: update DTD for SELinux support.
-
-	* bus/config-loader-libxml.c: fix error handler and parser
-	initialisation/cleanup. OOM test now works with libxml2 HEAD.
-
-	* configure.in: remove the warning about libxml2.
-
-	* dbus/dbus-bus.c: silence doxygen warning.
-
-2004-07-31  Colin Walters  <walters at redhat.com>
-
-	* configure.in: Move #error in SELinux check to its own line.
-
-2004-07-31  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* dbus/dbus-internals.h (_DBUS_SET_OOM):
-	* bus/utils.h (BUS_SET_OOM): use dbus_error_set_const instead of
-	dbus_error_set.
-
-	* bus/dispatch.c (check_send_exit_to_service): fix the test case,
-	broken by the change in the _SET_OOM macros.
-
-2004-07-31  Colin Walters  <walters at redhat.com>
-
-	* bus/selinux.c <HAVE_SELINUX>: Include utils.h to get
-	BUS_SET_OOM.
-
-2004-07-31  Colin Walters  <walters at redhat.com>
-
-	* configure.in: Use AC_TRY_COMPILE instead of AC_EGREP_HEADER
-	to correctly detect DBUS__ACQUIRE_SVC.  Also add an
-	AC_MSG_CHECKING.
-
-2004-07-24  Havoc Pennington  <hp at redhat.com>
-
-	SELinux support from Matthew Rickard <mjricka at epoch.ncsc.mil>
-
-	* bus/selinux.c, bus/selinux.h: new file encapsulating selinux
-	functionality
-
-	* configure.in: add --enable-selinux
-	
-	* bus/policy.c (bus_policy_merge): add FIXME to a comment
-
-	* bus/main.c (main): initialize and shut down selinux
-
-	* bus/connection.c: store SELinux ID on each connection, to avoid 
-	repeated getting of the string context and converting it into 
-	an ID
-
-	* bus/bus.c (bus_context_get_policy): new accessor, though it
-	isn't used
-	(bus_context_check_security_policy): check whether the security
-	context of sender connection can send to the security context of
-	recipient connection
-
-	* bus/config-parser.c: add parsing for <selinux> and <associate>
-	
-	* dbus/dbus-transport.c (_dbus_transport_get_unix_fd): to
-	implement dbus_connection_get_unix_fd()
-
-	* dbus/dbus-connection.c (dbus_connection_get_unix_fd): new
-	function, used by the selinux stuff
-	
-2004-07-29  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* bus/config-loader-libxml.c: complete the implementation of
-	libxml backend for config file loader. Doesn't work with full OOM
-	test yet. 
-	
-	* configure.in: change error when selecting libxml into a warning.
-	
-	* test/data/invalid-config-files: add two non-well-formed XML
-	files. 
-	
-	* glib/Makefile.am: libdbus_gtool always uses expat, not libxml.
-	
-	* dbus/dbus-transport-unix.c (unix_handle_watch): do not
-	disconnect in case of DBUS_WATCH_HANGUP, several do_reading() may
-	be necessary to read all the buffer. (bug #894)
-
-	* bus/activation.c (bus_activation_activate_service): fix a
-	potential assertion failure (bug #896). Small optimization in the
-	case of auto-activation messages.
-
-	* dbus/dbus-message.c (verify_test_message, _dbus_message_test):
-	add test case for byte-through-vararg bug (#901). patch by Kimmo
-	Hämäläinen. 
-
-2004-07-28  Anders Carlsson  <andersca at gnome.org>
-
-	* python/dbus.py:
-	* python/dbus_bindings.pyx.in:
-	Add dbus.init_gthreads (), allow emit_signal to pass
-	arguments to the signal.
-	
-2004-07-24  Havoc Pennington  <hp at redhat.com>
-
-	* AUTHORS: add some people, not really comprehensively, let me
-	know if I missed you
-
-2004-07-24  Havoc Pennington  <hp at redhat.com>
-
-	* Makefile.am (DIST_SUBDIRS): add DIST_SUBDIRS, problem solved by
-	Owen
-
-	* test/Makefile.am (DIST_SUBDIRS): here also
-
-2004-07-22  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* dbus/dbus-sysdeps.c (fill_user_info): fix inexistent label name,
-	breaking build on Solaris, reported by Farhad Saberi on the ML.
-
-	* dbus/dbus-message.c (dbus_message_append_args_valist): fix the
-	va_arg invocation to account for integer promotion in the case of
-	DBUS_TYPE_BYTE (unsigned char is promoted to int). (bug #901)
-
-	* bus/services.c (bus_service_remove_owner): fix bug #902, use
-	_dbus_list_get_first_link, not _dbus_list_get_first.
-
-	* dbus/dbus-bus.c (dbus_bus_service_exists): plug a memory leak.
-
-	* dbus/dbus-object-tree.c (free_subtree_recurse): always null
-	handler functions so that the asserts in _dbus_object_subtree_unref
-	do not fail.
-
-	* dbus/dbus-transport-unix.c (do_reading):
-	_dbus_transport_queue_messages return value is of type
-	dbus_bool_t, not DBusDispatchStatus.
-	
-2004-07-19  David Zeuthen  <david at fubar.dk>
-
-	* dbus/dbus-protocol.h: Add DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN
-
-	* bus/dispatch.c:
-	(check_get_connection_unix_user): Debug says GetProperty; but the
-	method is called GetConnectionUnixUser
-	(check_get_connection_unix_process_id): New function
-	(bus_dispatch_test): Actually call check_get_connection_unix_user();
-	also call check_get_connection_unix_process_id()
-	
-	* bus/driver.c:
-	(bus_driver_handle_get_connection_unix_process_id): New function,
-	handles GetConnectionUnixProcessID on the org.freedesktop.DBus
-	interface
-	
-	* dbus/dbus-auth.c:
-	(handle_server_data_external_mech): Set pid from the credentials
-	obtained from the socket
-	
-	* dbus/dbus-connection.c:
-	(dbus_connection_get_unix_process_id): New function
-	
-	* dbus/dbus-connection.h: 
-	Add prototype for dbus_connection_get_unix_process_id
-	
-	* dbus/dbus-transport.c:
-	(_dbus_transport_get_unix_process_id): New function
-	
-	* dbus/dbus-transport.h:
-	Add prototype for _dbus_transport_get_unix_process_id
-	
-2004-07-19  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* dbus/dbus-message.c: Message counter fix, patch by Christian
-	Hammond <chipx86 at gnupdate.org>
-
-2004-07-18  Seth Nickell  <seth at gnome.org>
-
-	* python/dbus.py:
-	* python/dbus_bindings.pyx.in:
-	* python/tests/test-client.py:
-
-	Add dbus.ByteArray and dbus_bindings.ByteArray
-	types so that byte streams can be passed back.
-
-	Give jdahlin the heaps of credit that are so
-	rightfully his.
-	
-2004-07-12  Seth Nickell  <seth at gnome.org>
-
-	* python/dbus.py:
-
-	Add message argument to the default object_method_handler
-	function.
-	
-	* python/dbus_bindings.pyx.in:
-
-	Automatically return NIL when passed an empty list
-	(we can't pass back a list since lists are typed
-	and we don't have any idea what type the the client
-	intended the list to be... :-( )
-	
-2004-07-10  Seth Nickell  <seth at gnome.org>
-
-	* python/examples/Makefile.am:
-
-	Fix distcheck breakage caused by new examples.
-
-2004-07-10  Seth Nickell  <seth at gnome.org>
-
-	* python/dbus.py:
-
-	Add "message" argument to service-side dbus.Object
-	methods. This will break existing services written
-	using the python bindings, but will allow extraction
-	of all the message information (e.g. who its from).
-
-	Add improved "object oriented" signal handling/emission.
-	
-	* python/examples/example-service.py:
-
-	Nix this example.
-	
-	* python/examples/example-signal-emitter.py:
-	* python/examples/example-signal-recipient.py:
-
-	Two new examples that show how to emit and receive
-	signals using the new APIs.
-	
-	* python/examples/example-signals.py:
-	* python/examples/gconf-proxy-service.py:
-	* python/examples/gconf-proxy-service2.py:
-
-	Add "message" argument to service methods.
-
-2004-06-28  Kay Sievers <kay.sievers at vrfy.org>
-
-	* bus/driver.c (bus_driver_handle_get_connection_unix_user)
-	* dbus/bus.c (dbus_bus_get_unix_user)
-	* doc/dbus-specification.xml: implement GetConnectionUnixUser
-	method of org.freedesktop.DBus interface.
-
-	* bus/dispatch.c: test case
-
-2004-06-23  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/Makefile.am: switched include directory from glib/ to dbus/
-	since dbus-glib.h moved
- 
-2004-06-22  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* configure.in: prevent building the gcj stuff and libxml loader
-	since they are broken.
-
-2004-06-20  Havoc Pennington  <hp at redhat.com>
-
-        * dbus/dbus-glib-error-enum.h: autogenerate the GError enum 
-	codes from the dbus error names
-	
-        * glib/dbus-glib.h: move to subdir dbus/ since it's included 
-	as dbus/dbus-glib.h and that breakage is now visible due to 
-	including dbus/dbus-glib.h in dbus-glib-lowlevel.h
-	
-	* glib/dbus-glib.h: s/gproxy/g_proxy/
-
-	* dbus/dbus-shared.h: new header to hold stuff shared with
-	binding APIs
-	
-	* dbus/dbus-protocol.h (DBUS_ERROR_*): move errors here rather
-	than dbus-errors.h
-
-	* glib/dbus-glib.h (dbus_set_g_error): move to
-	dbus-glib-lowlevel.h
-
-	* glib/dbus-glib.h: remove dbus/dbus.h from here; change a bunch
-	of stuff to enable this
-
-	* dbus/dbus-glib-lowlevel.h: put dbus/dbus.h here
-
-	* a bunch of other changes with the same basic "separate glib 
-	bindings from dbus.h" theme
-	
-2004-06-10  Owen Fraser-Green  <owen at discobabe.net>
-
-	* dbus-sharp.pc.in: Removed glib-sharp inclusion in Libs.
-
-	* python/examples/Makefile.am: Fixed typo in EXTRA_DIST.
-
-2004-06-09  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* bus/driver.c, dbus/dbus-bus.c: use BOOLEAN instead of UINT32 for
-	the reply value of the ServiceExists message.
-
-2004-06-07  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/dbus_bindings.pyx.in: No longer need to parse path
-	elements and pass them as arrays of strings.  The C API now
-	accepts plain path strings.
-	(_build_parsed_path): removed 
-
-2004-06-07  Havoc Pennington  <hp at redhat.com>
-
-	* doc/TODO: remove auto-activation item since it's done; sort
-	items by importance/milestone
-
-2004-06-07  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-message-builder.c (_dbus_message_data_load): append
-	random signature when using REQUIRED_FIELDS (this hack won't work
-	in the long term)
-
-	* dbus/dbus-message.c: change the signature to be a header field,
-	instead of message->signature special-case string. Incremental
-	step forward. Then we can fix up code to send the signature in the
-	message, then fix up code to validate said signature, then fix up
-	code to not put the typecodes inline, etc.
-	(load_one_message): don't make up the signature after the fact
-	(decode_header_data): require signature field for the known
-	message types
-
-	* dbus/dbus-marshal.c (_dbus_marshal_string_len): new
-
-	* dbus/dbus-protocol.h: add DBUS_HEADER_FIELD_SIGNATURE
-
-2004-06-07  Owen Fraser-Green  <owen at discobabe.net>
-
-	* mono/DBusType/ObjectPath.cs: Renamed PathName argument to Path
-
-	* mono/Handler.cs: Updated to follow new path argument for
-	(un-)registering objects.
-
-	* mono/example/Makefile.am:
-	* mono/Makefile.am:
-	* configure.in: Bumped required version for mono and use new -pkg
-	syntax for deps
-
-2004-06-05  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* dbus/dbus-connection.h, dbus/dbus-connection.c: have object path
-	registration functions take the path argument as char* instead of
-	char**.
-
-	* dbus/dbus-marshal.h, dbus/dbus-marshal.c (_dbus_decompose_path):
-	split off the path decompostion part of
-	_dbus_demarshal_object_path. Some misc. fixes to silence compiler
-	warnings. 
-
-	* glib/dbus-gobject.c, test/test-service.c: update accordingly.
-	
-2004-06-02  Kristian Høgsberg  <krh at redhat.com>
- 
-	* dbus/dbus-auth.c: Rewrite auth protocol handling to use a state
-	machine approach.  A state is implemented as a function that
-	handles incoming events as specified for that state.
-	
-	* doc/dbus-specification.xml: Update auth protocol state machine
-	specification to match implementation.  Remove some leftover
-	base64 examples.
-
-2004-06-02  Kristian Høgsberg  <krh at redhat.com>
-
-	* glib/dbus-gproxy.c, glib/dbus-gmain.c, dbus/dbus-string.c,
-	dbus/dbus-object-tree.c, dbus/dbus-message.c: add comments to
-	quiet doxygen.
-
-	* Doxyfile.in: remove deprecated options.
-
-	* dbus/dbus-message-handler.c, dbus/dbus-message-handler.h,
-	glib/test-thread.h, glib/test-thread-client.c,
-	glib/test-thread-server.c, glib/test-profile.c,
-	glib/test-dbus-glib.c: remove these unused files.
-
-2004-06-01  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* dbus/dbus-object-tree.c
-	(_dbus_object_tree_dispatch_and_unlock): fix dispatch for
-	non-fallback handlers (bug #684).
-	(_dbus_object_subtree_new): initialize invoke_as_fallback field.
-	(find_subtree_recurse): report wether the returned subtree is an
-	exact match or a "fallback" match higher up in the tree.
-	(object_tree_test_iteration): update test case.
-
-2004-06-01  Seth Nickell  <seth at gnome.org>
-
-	* python/dbus_bindings.pyx.in:
-	* python/tests/test-client.py:
-
-	Round off basic type support. Add dicts (yay!), and 
-	remaining array types.
-
-	Make MessageIter more general so it works for dicts too.
-
-	Mark all loop variables as C integers.
-	
-2004-05-31  Havoc Pennington  <hp at redhat.com>
-
-	* glib/dbus-gidl.c (method_info_add_arg): keep args sorted with
-	"in" before "out"
-
-	* glib/dbus-gobject.c (dbus_type_to_string): move to dbus-gutils.c
-
-	* glib/dbus-glib-tool.c (main): set up to have a --self-test
-	option that runs the tests, and start filling in some code
-	including for starters just dumping the interfaces to stdout
-
-	* glib/Makefile.am (INCLUDES): define DBUS_LOCALEDIR
-
-	* test/data/valid-introspection-files/lots-of-types.xml: test of
-	an example introspection file
-
-	* glib/dbus-gparser.c (parser_check_doctype): doctype should be
-	"node" (I think...)
-
-2004-05-31  Seth Nickell  <seth at gnome.org>
-
-	* python/dbus_bindings.pyx.in:
-	* python/tests/test-client.py:
-
-	Test Suite: 1
-	Python Bindings: 0
-
-	Fix string array memory trashing bug... oops...
-
-2004-05-30  Seth Nickell  <seth at gnome.org>
-
-	* python/dbus.py:
-
-	Add a nicer-but-less-flexible alternate API for handling 
-	calls to virtual objects in dbus.ObjectTree.
-
-	Screw up the argument order to the dbus.Object constructor
-	for consistency with dbus.ObjectTree (and to make dbus_methods
-	optional for future extension)
-	
-	* python/examples/Makefile.am:
-	* python/examples/gconf-proxy-service.py:
-	* python/examples/gconf-proxy-service2.py:
-
-	Alternate implementation of gconf-proxy-service using the
-	nicer dbus.ObjectTree API.
-	
-	* python/examples/example-service.py:
-	* python/tests/test-server.py
-
-	Reverse the argument order to deal with dbus.Object constructor
-	changes.
-	
-2004-05-30  Seth Nickell  <seth at gnome.org>
-
-	* python/examples/example-client.py:
-	* python/examples/example-service.py:
-
-	Take it back. Lists seem to work but they're broken
-	in the test suite. Make the base examples use
-	lists (works fine).
-
-2004-05-30  Seth Nickell  <seth at gnome.org>
-
-	* python/dbus_bindings.pyx.in:
-	* python/tests/test-client.py:
-
-	Add some more tests and fix errors that crop up.
-	Unfortunately, currently it seems like marshalling
-	and unmarshalling of lists is completely broken :-(
-
-2004-05-30  Seth Nickell  <seth at gnome.org>
-
-	* python/dbus_bindings.pyx.in:
-
-	Add support for ObjectPath type.
-
-	* python/dbus.py:
-
-	Refactor message handling code to a common function.
-	
-	* python/tests/test-client.py:
-	* python/tests/test-server.py:
-
-	Add tests that check to make sure values of all types
-	can be echoed from a service w/o mangling.
-	
-2004-05-29  Seth Nickell  <seth at gnome.org>
-
-	* python/dbus.py:
-
-	Add ObjectTree class which allows implementation
-	of trees of "virtual" objects. Basically the python
-	wrapper for "register_fallback".
-	
-	* python/examples/Makefile.am
-	* python/examples/gconf-proxy-client.py:
-	* python/examples/gconf-proxy-service.py:
-
-	Implement a simple GConf proxy service that supports
-	get/set on string and int GConf keys using the ObjectTree.
-	
-2004-05-29  Seth Nickell  <seth at gnome.org>
-
-	* python/dbus.py:
-	* python/examples/example-client.py:
-	* python/examples/example-service.py:
-	* python/examples/list-system-services.py:
-
-	Add SessionBus, SystemBus and ActivationBus classes
-	so you don't need to know the special little BUS_TYPE
-	flag.
-	
-2004-05-29  Havoc Pennington  <hp at redhat.com>
-
-	* bus/config-parser.c (process_test_valid_subdir): temporarily
-	stop testing config parser OOM handling, since expat has issues
-	http://freedesktop.org/pipermail/dbus/2004-May/001153.html
-
-	* bus/dbus-daemon-1.1.in: change requested_reply to
-	send_requested_reply/receive_requested_reply so we can send the
-	replies, not just receive them.
-
-	* bus/config-parser.c: parse the new
-	send_requested_reply/receive_requested_reply
-
-	* bus/policy.c (bus_client_policy_check_can_send): add
-	requested_reply argument and use it
-
-	* bus/bus.c (bus_context_check_security_policy): pass through
-	requested_reply status to message send check
-
-	* bus/system.conf.in: adapt to requested_reply change
-	
-2004-05-28  Havoc Pennington  <hp at redhat.com>
-
-	* test/glib/test-service-glib.c (main): remove unused variable
-
-	* glib/dbus-gidl.c (base_info_ref): fix a silly compiler warning
-
-	* dbus/dbus-auth.h (enum): remove AUTHENTICATED_WITH_UNUSED_BYTES
-	from the enum, no longer in use.
-
-	* dbus/dbus-sysdeps.h: include config.h so DBUS_VA_COPY actually
-	works right.
-
-	* dbus/dbus-message.c: add various _dbus_return_val_if_fail for
-	whether error_name passed in is a valid error name.
-
-2004-05-28  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-message.c (dbus_message_get_args): Added support for
-	OBJECT_PATH and OBJECT_PATH_ARRAY
-
-2004-05-28  Seth Nickell  <seth at gnome.org>
-
-	* python/examples/Makefile.am:
-
-	Forget to add Makefile.am. Do not pass go.
-
-2004-05-28  Michael Meeks  <michael at ximian.com>
-
-	* glib/dbus-gvalue.c (dbus_gvalue_marshal, dbus_gvalue_demarshal): 
-	fix no int64 case.
-
-	* dbus/dbus-string.c (_dbus_string_parse_basic_type): impl.
-
-	* dbus/dbus-message.c (_dbus_message_iter_get_basic_type),
-	(_dbus_message_iter_get_basic_type_array): impl.
-	drastically simplify ~all relevant _get methods to use these.
-	(_dbus_message_iter_append_basic_array),
-	(dbus_message_iter_append_basic): impl
-	drastically simplify ~all relevant _append methods to use these.
-
-	* dbus/dbus-message-builder.c (parse_basic_type) 
-	(parse_basic_array, lookup_basic_type): impl.
-	(_dbus_message_data_load): prune scads of duplicate /
-	cut & paste coding.
-
-	* dbus/dbus-marshal.c (_dbus_demarshal_basic_type_array) 
-	(_dbus_demarshal_basic_type): implement,
-	(demarshal_and_validate_len/arg): beef up debug.
-	(_dbus_marshal_basic_type, _dbus_marshal_basic_type_array): impl.
-
-2004-05-27  Seth Nickell  <seth at gnome.org>
-
-	* configure.in:
-	* python/Makefile.am:
-
-	Include the example python apps in the tarball.
-	
-	* python/examples/list-system-services.py
-
-	Add a python new example that fetches the list of services
-	from the system bus.
-	
-2004-05-27  Seth Nickell  <seth at gnome.org>
-
-	* python/dbus.py:
-	* python/dbus_bindings.pyx.in:
-
-	Fix failure to notify that a signal was not handled,
-	resulted in hung functions.
-	
-2004-05-25  Colin Walters  <walters at redhat.com>
-
-	* tools/dbus-monitor.c (main): Monitor all types of messages.
-
-2004-05-23  Owen Fraser-Green  <owen at discobabe.net>
-
-	* mono/Handler.cs, mono/Service.cs: Added UnregisterObject method
-	which unregisters the object path and disposes the handler.
-
-2004-05-23  Kristian Høgsberg  <krh at redhat.com>
- 
-        Patch from Timo Teräs <ext-timo.teras at nokia.com> (#614):
-         
-	* dbus/dbus-message.c (dbus_message_iter_get_args_valist): Swap
-        operands to && so we call dbus_message_iter_next () for the last
-        argument also.
-
-2004-05-21  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* dbus/dbus-object-tree.c
-	(_dbus_object_tree_list_registered_unlock, lookup_subtree): return
-	children even if the requested path isn't registered.
-	(object_tree_test_iteration): test object_tree_list_registered.
-
-	* configure.in: undefine HAVE_ABSTRACT_SOCKETS instead of defining
-	it to 0.
-	
-2004-05-20  Kristian Høgsberg  <krh at redhat.com>
-
-	* doc/TODO: Remove resolved items.
-
-	* bus/expirelist.h (struct BusExpireList): remove unused n_items
-	field.
-	
-	* bus/connection.c (bus_connections_expect_reply): Enforce the
-	per-connection limit on pending replies.
-	
-	Patch from Jon Trowbridge <trow at ximian.com>:
- 
- 	* bus/main.c (setup_reload_pipe): Added.  Creates a pipe and sets
- 	up a watch that triggers a config reload when one end of the pipe
- 	becomes readable.
- 	(signal_handler): Instead of doing the config reload in our SIGHUP
- 	handler, just write to the reload pipe and let the associated
- 	watch handle the reload when control returns to the main loop.
- 
- 	* bus/driver.c (bus_driver_handle_reload_config): Added.
- 	Implements a ReloadConfig method for requesting a configuration
- 	file reload via the bus driver.
- 
-2004-05-19  Owen Fraser-Green  <owen at discobabe.net>
-
-	* HACKING: Updated release instructions concerning the wiki page.
-
-2004-05-18  Kristian Høgsberg  <krh at redhat.com>
-
- 	* dbus/dbus-auth.c (client_try_next_mechanism): Remove logic to
-	filter against auth->allowed_mechs; we only add allowed mechs in
-	record_mechanisms().
- 
- 	* dbus/dbus-auth-script.c (_dbus_auth_script_run): Add an
-	ALLOWED_MECHS to auth-script format so we can set the list of
-	allowed mechanisms.
- 
- 	* data/auth/client-out-of-mechanisms.auth-script: New test to
-	check client disconnects when it is out of mechanisms to try.
- 
- 	* dbus/dbus-auth.c (process_command): Remove check for lines
-	longer that 1 MB; we only buffer up maximum 16 kB.
- 
- 	* dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
-	dbus/dbus-auth-script.c, dbus/dbus-auth.c, dbus/dbus-auth.h:
-	Remove auth state AUTHENTICATED_WITH_UNUSED_BYTES, instead always
-	assume there might be unused bytes.
- 
- 	* dbus/dbus-auth.c (_dbus_auth_do_work): Remove check for
-	client-out-of-mechs, it is handled in process_reject(). Move check
-	for max failures to send_rejected(), as it's a server-only thing.
-
-	* dbus/dbus-auth.c: Factor out protocol reply code into functions
-	send_auth(), send_data(), send_rejected(), send_error(),
-	send_ok(), send_begin() and send_cancel().
-
-2004-05-17  Kristian Høgsberg  <krh at redhat.com>
-
-	Remove base64 encoding, replace with hex encoding. Original patch
-	from trow at ximian.com, added error handling.
-
-	* dbus/dbus-string.c (_dbus_string_base64_encode)
-	(_dbus_string_base64_decode): Remove.
-	(_dbus_string_hex_decode): Add end_return argument so we can
-	distinguish between OOM and invalid hex encoding.
-	(_dbus_string_test): Remove base64 tests and add test case for
-	invalid hex.
-
-	* dbus/dbus-keyring.c, dbus/dbus-auth-script.c, dbus/dbus-auth.c:
-	Replace base64 with hex.
-
-	* test/data/auth/invalid-hex-encoding.auth-script: New test case
-	for invalid hex encoded data in auth protocol.
-
-2004-05-17  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* dbus/dbus-connection.c (check_for_reply_unlocked): plug a memory
-	leak.
-
-2004-05-15  Owen Fraser-Green  <owen at discobabe.net>
-
-	* mono/dbus-sharp.dll.config.in: Added for GAC
-	* mono/dbus-sharp.snk: Added for GAC
-	* mono/Assembly.cs.in: Added for GAC
-	* mono/Makefile.am: Changes for GAC installation	
-	* configure.in: Added refs for dbus-sharp.dll.config.in and
-	Assembly.cs.in. More fixes for mono testing
-	* mono/example/Makefile.am: Changed var to CSC
-	* Makefile.am: Changed flag name to DBUS_USE_CSC
-
-2004-05-15  Owen Fraser-Green  <owen at discobabe.net>
-
-	* mono/Makefile.am: Added SUBDIRS for docs. Changed SUBDIRS order
-	* mono/doc/*: Added documentation framework
-	* configure.in: Added monodoc check
-	* README: Added description of mono configure flags
-
-2004-05-11  John (J5) Palmieri  <johnp at redhat.com>:
-
-	* doc/dbus-specification.xml: Added a "Required" column to the 
-	header fields table and changed the "zero or more" verbage in
-	the above paragraph to read "The header must contain the required 
-	named header fields and zero or more of the optional named header 
-	fields".
-	* test/data/invalid-messages/*.message: Added the required PATH 
-	named header field to the tests so that they don't fail on 
-	'Missing path field'
-
-2004-05-07  John (J5) Palmieri  <johnp at redhat.com>
-
-	* python/dbus-bindings.pyx.in: Stopped the bindings from trashing
-	the stack by implicitly defining variable and parameter types and
-	removing the hack of defining C pointers as python objects and later
-	casting them.
-
-2004-05-02  Owen Fraser-Green  <owen at discobabe.net>
-
-	* mono/Makefile.am: Removed test-dbus-sharp.exe from all target
-
-2004-05-01  Owen Fraser-Green  <owen at discobabe.net>
-
-	* mono/DBusType/Dict.cs: Handle empty dicts
-	* mono/DBusType/Array.cs: Handle empty arrays
-	* mono/Arguments.cs: Handle empty arguments
-
-2004-04-30  Owen Fraser-Green  <owen at discobabe.net>
-
-	* dbus-sharp.pc.in: Modified to include include Libs and Requires
-	field
-
-2004-04-25  Kristian Høgsberg  <krh at redhat.com>
-
-	* test/data/valid-messages/standard-*.message: Update message
-	test scripts to new header field names.
-
-2004-04-22  John (J5) Palmieri  <johnp at redhat.com>
-
-	* test/break-loader.c (randomly_do_n_things): tracked down buffer
-	overflow to times_we_did_each_thing array which would chop off the
-	first character of the failure_dir string. Increased the size of
-	the array to 7 to reflect the number of random mutation functions
-	we have.
-
-2004-04-21  Kristian Høgsberg  <krh at redhat.com>
-
-	* dbus/dbus-server-unix.c (unix_finalize): Don't unref
-	unix_server->watch here, it is unreffed in disconnect.
-	(_dbus_server_new_for_tcp_socket): convert NULL host to
-	"localhost" here so we don't append NULL to address.
-	
-	* dbus/dbus-server.c (_dbus_server_test): Add test case for
-	various addresses, including tcp with no explicit host.
-
-2004-04-21  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* dbus/dbus-message.c (decode_header_data, decode_string_field):
-	fix incorrect setting of .name_offset in the HeaderField (it was
-	off by two bytes, positioned right after the name and typecode)
-
-	* bus/bus.c (bus_context_new, bus_context_unref): test before
-	calling dbus_server_free_data_slot and _dbus_user_database_unref
-	in case of an error.
-
-	* tools/Makefile.am: add $(DBUS_GLIB_TOOL_LIBS), xml libs needed
-	by libdbus-gtool.
-
-2004-04-19  Kristian Høgsberg  <krh at redhat.com>
-
-	* dbus/dbus-transport-unix.c (unix_do_iteration): Rewrite to use
-	_dbus_poll() instead of select().
-
-2004-04-15  Jon Trowbridge  <trow at ximian.com>
-
-	* bus/main.c (signal_handler): Reload the configuration files
-	on SIGHUP.
-	(main): Set up our SIGHUP handler.
-
-	* bus/bus.c (struct BusContext): Store the config file, user and
-	fork flag in the BusContext.
-	(process_config_first_time_only): Added.  Contains the code
-	(previously in bus_context_new) for setting up the BusContext from
-	the BusConfigParser that should only be run the first time the
-	config files are read.
-	(process_config_every_time): Added.  Contains the code (previously
-	in bus_context_new) for setting up the BusContext from the
-	BusConfigParser that should be run every time the config files are
-	read.
-	(load_config): Added.  Builds a BusConfigParser from the config
-	files and passes the resulting structure off to
-	process_config_first_time_only (assuming this is the first time)
-	and process_config_every_time.
-	(bus_context_new): All of the config-related code has been moved
-	to process_config_first_time_only and process_config_every_time.
-	Now this function just does the non-config-related initializations
-	and calls load_config.
-	(bus_context_reload_config): Added.
-
-2004-04-15  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* bus/driver.c (bus_driver_handle_get_service_owner):
-	implement a GetServiceOwner method.
-	* doc/dbus-specification.xml: document it.
-	* dbus/dbus-errors.h: add a 'ServiceHasNoOwner' error.
-	
-	* glib/dbus-gproxy.c (dbus_gproxy_new_for_service_owner):
-	implement, using the bus GetServiceOwner method.
-
-	* test/glib/test-dbus-glib.c:
-	use dbus_gproxy_new_for_service_owner so that we can receive the
-	signal. 
-
-2004-04-15  John (J5) Palmieri  <johnp at redhat.com>
-
-	* dbus/dbus-internals.c, dbus/dbus-message-builder.c,
-	dbus/dbus-message.c, dbus/dbus-protocol.h
-	(DBUS_HEADER_FIELD_SERVICE): renamed DBUS_HEADER_FIELD_DESTINATION
-
-	* dbus/dbus-internals.c, dbus/dbus-message-builder.c,
-	dbus/dbus-message.c, dbus/dbus-protocol.h
-	(DBUS_HEADER_FIELD_SENDER_SERVICE): renamed DBUS_HEADER_FIELD_SENDER
-
-	* dbus/dbus-internals.c (_dbus_header_field_to_string):
-	DBUS_HEADER_FIELD_DESTINATION resolves to "destination"
-	DBUS_HEADER_FIELD_SENDER resolves to "sender"
-
-	* doc/dbus-specification.xml (Header Fields Table):
-	s/SERVICE/DESTINATION
-	s/SENDER_SERVICE/SENDER
-
-
-2004-04-14  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* test/glib/test-dbus-glib.c (timed_exit): fail the test after
-	a few seconds.
-
-2004-04-13  Michael Meeks  <michael at ximian.com>
-
-	* glib/dbus-gobject.c (handle_introspect): split out
-	(introspect_properties): this.
-	(handle_introspect): implement this.
-
-	* test/glib/Makefile.am: use the absolute path so the bus
-	daemon's chdir ("/") doesn't kill us dead.
-
-	* configure.in: subst ABSOLUTE_TOP_BUILDDIR
-
-2004-04-12  Jon Trowbridge  <trow at ximian.com>
-
-	* bus/config-parser.c (struct BusConfigParser): Added
-	included_files field.
-	(seen_include): Added.  Checks whether or not a file has already
-	been included by any parent BusConfigParser.
-	(bus_config_parser_new): Copy the parent's included_files.
-	(include_file): Track which files have been included, and fail on
-	circular inclusions.
-	(process_test_valid_subdir): Changed printf to report if we are
-	testing valid or invalid conf files.
-	(all_are_equiv): Changed printf to be a bit clearer about
-	what we are actually doing.
-	(bus_config_parser_test): Test invalid configuration files.
-
-2004-04-09  Jon Trowbridge  <trow at ximian.com>
-
-	* bus/config-parser.c (bus_config_parser_new): Added a 'parent'
-	argument.  If non-null, the newly-constructed BusConfigParser will
-	be initialized with the parent's BusLimits instead of the default
-	values.
-	(include_file): When including a config file, pass in
-	the current parser as the parent and then copy the BusLimits
-	from the included BusConfigParser pack to the current parser.
-	(process_test_valid_subdir): Renamed from process_test_subdir.
-	(process_test_equiv_subdir): Added.  Walks through a directory,
-	descending into each subdirectory and loading the config files
-	it finds there.  If any subdirectory contains two config files
-	that don't produce identical BusConfigParser structs, fail.
-	For now, the BusConfigParser's BusPolicies are not compared.
-	(bus_config_parser_test): Call both process_test_valid_subdir and
-	process_test_equiv_subdir.
-
-	* bus/config-loader-libxml.c (bus_config_load): Take a parent
-	argument and pass it along to the call to bus_config_parser_new.
-	Also made a few small changes to allow this code to compile.
-
-	* bus/config-loader-expat.c (bus_config_load): Take a parent
-	argument and pass it along to the call to bus_config_parser_new.
-
-	* bus/bus.c (bus_context_new): Load the config file
-	with a NULL parent argument.
-
-2004-03-29  Michael Meeks  <michael at ximian.com>
-
-	* glib/dbus-gobject.c (introspect_properties): split
-	out, fix mangled 'while' flow control.
-	(introspect_signals): implement.
-	(handle_introspect): update.
-
-2004-03-29  Michael Meeks  <michael at ximian.com>
-
-	* glib/dbus-gobject.c (set_object_property): split out / 
-	re-work, use the property type, and not the message type(!)
-	(get_object_property): ditto.
-
-        * glib/dbus-gvalue.c (dbus_gvalue_demarshal),
-	(dbus_gvalue_marshal): make this code re-usable, needed
-	for signals too, also on both proxy and server side.
-	Re-write for more efficiency / readability.
-
-2004-03-29  Michael Meeks  <michael at ximian.com>
-
-	* dbus/dbus-message.c
-	(dbus_message_new_error_printf): impl.
-
-	* dbus/dbus-connection.c
-	(dbus_connection_unregister_object_path): fix warning.
-
-	* configure.in: fix no-mono-installed situation.
-
-2004-03-27  Havoc Pennington  <hp at redhat.com>
-
-	Patch from Timo Teräs:
-	
-	* tools/dbus-send.c (main): if --print-reply, assume type is
-	method call; support boolean type args
-	
-	* dbus/dbus-connection.c (dbus_connection_send_with_reply): fix a
-	bunch of memleak and logic bugs
-	
-2004-03-23  Owen Fraser-Green  <owen at discobabe.net>
-
-        * mono/Arguments.cs:
-	* mono/Introspector.cs:
-	* mono/Handler.cs:
-	* mono/InterfaceProxy.cs:
-	* mono/Message.cs
-	* mono/ProxyBuilder.cs:
-	* mono/Service.cs:
-	Added InterfaceProxy class to avoid building proxies for every
-	object.
-
-	* dbus-message.h:
-	* dbus-message.c (dbus_message_append_args_valist)
-	(dbus_message_iter_get_object_path)
-	(dbus_message_iter_get_object_path_array)
-	(dbus_message_iter_append_object_path)
-	(dbus_message_iter_append_object_path_array):
-	Added object_path iter functions to handle OBJECT_PATH arguments
-	
-2004-03-23  Owen Fraser-Green  <owen at discobabe.net>
-
-	First checkin of mono bindings.
-	* configure.in:
-	* Makefile.am:
-	Build stuff for the bindings
-	* dbus-sharp.pc.in: Added for pkgconfig
-	
-2004-03-21  Havoc Pennington  <hp at redhat.com>
-
-	* test/test-service.c (main): remove debug spew
-
-2004-03-21  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): accept empty
-	arrays
-
-	* dbus/dbus-message.h, bus/dbus-message.c (dbus_message_iter_init)
-	(dbus_message_iter_init_array_iterator)
-	(dbus_message_iter_init_dict_iterator): return a dbus_bool_t to
-	indicate whether the iterator is empty
-
-	* dbus/dbus-pending-call.c, dbus/dbus-server.c: silence compiler
-	warnings
-
-2004-03-19  Havoc Pennington  <hp at redhat.com>
-
-	* NEWS: 0.21 updates
-
-	* configure.in: 0.21
-
-	* doc/Makefile.am: add all XMLTO usage to DBUS_XML_DOCS_ENABLED
-	
-	* python/Makefile.am: change to avoid dist of dbus_bindings.c so
-	you don't need pyrex to make dist
-
-	* qt/Makefile.am (libdbus_qt_1_la_SOURCES): add integrator.h to
-	sources; run moc
-	
-2004-03-18  Richard Hult  <richard at imendio.com>
-
-	* dbus/dbus-message.c (dbus_message_get_auto_activation) 
-	(dbus_message_set_auto_activation): Add doxygen docs.
-
-2004-03-16  Richard Hult  <richard at imendio.com>
-
-	* bus/activation.c: (bus_activation_service_created),
-	(bus_activation_send_pending_auto_activation_messages),
-	(bus_activation_activate_service):
-	* bus/activation.h:
-	* bus/dispatch.c: (bus_dispatch),
-	(check_nonexistent_service_auto_activation),
-	(check_service_auto_activated),
-	(check_segfault_service_auto_activation),
-	(check_existent_service_auto_activation), (bus_dispatch_test):
-	* bus/driver.c: (bus_driver_handle_activate_service):
-	* bus/services.c: (bus_registry_acquire_service):
-	* dbus/dbus-message.c: (dbus_message_set_auto_activation),
-	(dbus_message_get_auto_activation):
-	* dbus/dbus-message.h:
-	* dbus/dbus-protocol.h: Implement auto-activation.
-	
-	* doc/dbus-specification.xml: Add auto-activation to the spec.
-
-2004-03-12  Olivier Andrieu  <oliv__a at users.sourceforge.net>
-
-	* dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos):
-	fix a bug with CUSTOM types.
-
-	* dbus/dbus-message.c (message_iter_test, _dbus_message_test): add
-	a unit test for this bug (used to fail).
-
-2004-03-12  Mikael Hallendal  <micke at imendio.com>
-
-	* bus/activation.c:
-	(babysitter_watch_callback): notify all pending activations waiting for
-	  the same exec that the activation failed.
-	(bus_activation_activate_service): shortcut the activation if we 
-	  already waiting for the same executable to start up.
-
-2004-03-12  Mikael Hallendal  <micke at imendio.com>
-
-	* bus/activation.c: 
-	- Added service file reloading. 
-	  Each service files directory is kept in an hash table in 
-	  BusActivation and each BusActivationEntry knows what .service-file it
-	  was read from. So when you try to activate a service the bus will 
-	  check if it's been updated, removed or if new .service-files has 
-	  been installed.
-	- Test code at the bottom for the service file reloading.
-	* bus/test-main.c: (main):
-	* bus/test.h:
-	- added service reloading test.
-	* dbus/dbus-sysdeps.c: 
-	* dbus/dbus-sysdeps.h: (_dbus_delete_directory): Added.
-
-2004-03-08  Michael Meeks  <michael at ximian.com>
-
-	* dbus/dbus-connection.c (_dbus_connection_block_for_reply): 
-	bail immediately if disconnected, to avoid busy loop.
-
-	* dbus/dbus-message.c (dbus_message_iter_get_args_valist):
-	cleanup cut/paste/inefficiency.
-
-2004-03-01  David Zeuthen  <david at fubar.dk>
-
-	* dbus/dbus-string.c (_dbus_string_append_printf_valist): Fix a
-	bug where args were used twice. This bug resulted in a segfault
-	on a Debian/PPC system when starting the messagebus daemon. Include
-	dbus-sysdeps.h for DBUS_VA_COPY
-
-	* dbus/dbus-sysdeps.h: Define DBUS_VA_COPY if neccessary. From GLib
-
-	* configure.in: Check for va_copy; define DBUS_VA_COPY to the
-	appropriate va_copy implementation. From GLib
- 	
-2004-02-24  Joe Shaw  <joe at ximian.com>
-
-	* bus/services.c (bus_registry_acquire_service): We need to pass
-	in the service name to dbus_set_error() to prevent a crash.
-
-2003-12-26  Anders Carlsson  <andersca at gnome.org>
-
-	* AUTHORS: Reveal my True identity.
-
-2003-12-17  Mikael Hallendal  <micke at imendio.com>
-
-	* dbus/dbus-message.c: (dbus_message_append_args_valist): 
-	- Added case for DBUS_TYPE_BYTE, patch from Johan Hedberg.
-
-2003-12-13  Mikael Hallendal  <micke at imendio.com>
-
-	* doc/TODO: Added not about better error check of configuration files.
-
-2003-12-02  Richard Hult  <richard at imendio.com>
-
-	* Update AFL version to 2.0 throughout the source files to reflect
-	the update that was done a while ago.
-
-2003-12-02  Richard Hult  <richard at imendio.com>
-
-	* dbus/dbus-message.c (dbus_message_iter_append_dict): Set
-	wrote_dict_key to FALSE on the iter that the dict is appended to,
-	just like when appending other types. Fixes a bug where a dict
-	couldn't be put inside a dict.
-	(dbus_message_iter_append_dict_key): Fix typo in warning message.
-	(message_iter_test, _dbus_message_test): Add test case for dict
-	inside dict.
-
-2003-12-01  David Zeuthen  <david at fubar.dk>
-
-	* python/dbus.py: Add the actual message when calling the reciever
-	of a signal such that parameters can be inspected. Add the method
-	remove_signal_receiver
-	
-2003-11-26  Mikael Hallendal  <micke at imendio.com>
-
-	* bus/*.[ch]:
-	* dbus/*.[ch]:
-	* glib/*.[ch]: Made ref functions return the pointer
-
-2003-11-25  Zack Rusin  <zack at kde.org>
-
-	* qt/integrator.h, qt/integrator.cpp: Adding handling of DBusServer,
-
-	* qt/server.h, qt/server.cpp, qt/Makefile.am: Adding DBusServer 
-	wrappers,
-
-	* qt/connection.h, qt/connection.cpp: Adjusting to changes in 
-	the Integrator and to better fit with the server,
-
-2003-11-24  Zack Rusin  <zack at kde.org>
-
-	* qt/connection.h, qt/connection.cpp: removing initDbus method since
-	the integrator handles it now
-
-	* qt/integrator.h, qt/integrator.cpp: reworking handling of timeouts,
-	since QTimer wasn't really meant to be used the way DBusTimeout is
-
-2003-11-24  Zack Rusin  <zack at kde.org>
-
-	* qt/integrator.h, qt/integrator.cpp, Makefile.am: Adding 
-	Integrator class which integrates D-BUS with the Qt event loop,
-
-	* qt/connection.h, qt/connection.cpp: Move all the code which
-	was dealing with D-BUS integration to the Integrator class,
-	and start using Integrator,
-
-2003-11-23  Zack Rusin  <zack at kde.org>
-
-	* qt/connection.h, qt/connection.cpp: Adding the DBusConnection 
-	wrapper
-
-	* qt/message.h, qt/message.cpp: updating to the current D-BUS api,
-	switching namespaces to DBusQt, reworking the class,
-
-	* Makefile.cvs: switching dependencies so that it matches KDE 
-	schematics,
-	
-	* qt/Makefile.am: adding connection.{h,cpp} and message.{h,cpp} to 
-	the library
-
-2003-11-19  Havoc Pennington  <hp at redhat.com>
-
-	* NEWS: update
-
-        * configure.in: bump version to 0.20
-
-	* configure.in (have_qt): add yet another place to look for qt
-	(someone hand trolltech a .pc file...)
-
-2003-11-01  Havoc Pennington  <hp at redhat.com>
-
-	* doc/dbus-specification.xml: add state machine docs on the auth
-	protocol; just a first draft, I'm sure it's wrong.	
-
-2003-10-28  David Zeuthen  <david at fubar.dk>
-
-	* python/dbus_bindings.pyx.in: add get_dict to handle dictionaries
-	return types. Fixup TYPE_* to reflect changes in dbus/dbus-protocol.h
-	
-2003-10-28  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-message.c (get_next_field): delete unused function
-
-2003-10-28  Havoc Pennington  <hp at redhat.com>
-
-	* bus/expirelist.c (do_expiration_with_current_time): detect
-	failure of the expire_func due to OOM
-
-	* bus/connection.c (bus_pending_reply_expired): return FALSE on OOM
-
-	* bus/dispatch.c (check_send_exit_to_service): fix to handle the
-	NoReply error that's now created by the bus when the service exits
-
-2003-10-28  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-message.c (_dbus_message_test): enable and fix the
-	tests for set_path, set_interface, set_member, etc.
-
-	* dbus/dbus-string.c (_dbus_string_insert_bytes): allow 0 bytes
-
-	* dbus/dbus-message.c (set_string_field): always just delete and
-	re-append the field; accept NULL for deletion
-	(re_align_fields_recurse): reimplement
-	
-2003-10-26  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-connection.c: fix docs to properly describe the
-	disconnected message
-	(_dbus_connection_notify_disconnected): remove this function; 
-	we can't synchronously add the disconnected message, we have to 
-	do it after we've queued any remaining real messages
-	(_dbus_connection_get_dispatch_status_unlocked): queue the
-	disconnect message only if the transport has finished queueing all
-	its real messages and is disconnected.
-	(dbus_connection_disconnect): update the dispatch status here
-
-2003-10-22  Havoc Pennington  <hp at redhat.com>
-
-	* bus/bus.c (bus_context_check_security_policy): fix up assertion
-
-	* bus/connection.c (bus_transaction_send_from_driver): set the
-	destination to the connection's base service
-
-2003-10-20  Havoc Pennington  <hp at redhat.com>
-
-        hmm, make check is currently not passing.
-	
-	* doc/dbus-specification.xml: add requirement that custom type
-	names follow the same rules as interface names.
-
-	* dbus/dbus-protocol.h: change some of the byte codes, to avoid
-	duplication and allow 'c' to be 'custom'; dict is now 'm' for
-	'map'
-
-	* doc/dbus-specification.xml: update type codes to match
-	dbus-protocol.h, using the ASCII byte values. Rename type NAMED to
-	CUSTOM. Add type OBJECT_PATH to the spec.
-
-2003-10-17  Havoc Pennington  <hp at redhat.com>
-
-	* bus/driver.c (create_unique_client_name): use "." as separator
-	in base service names instead of '-'
-
-	* dbus/dbus-string.c (_dbus_string_get_byte): allow getting nul
-	byte at the end of the string
-
-	* dbus/dbus-internals.h (_DBUS_LIKELY, _DBUS_UNLIKELY): add
-	optimization macros since string validation seems to be a slow
-	point.
-	
-	* doc/dbus-specification.xml: restrict valid
-	service/interface/member/error names. Add test suite code for the
-	name validation.
-
-	* dbus/dbus-string.c: limit service/interface/member/error names 
-	to [0-9][A-Z][a-z]_
-
-	* dbus/dbus-connection.c (dbus_connection_dispatch): add missing
-	format arg to verbose spew
-
-	* glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): if not out of
-	memory, return instead of g_error
-
-	* test/test-service.c (path_message_func): support emitting a
-	signal on request
-
-	* dbus/dbus-bus.c (init_connections_unlocked): only fill in
-	activation bus type if DBUS_BUS_ACTIVATION was set; default to
-	assuming the activation bus was the session bus so that services
-	started manually will still register.
-	(init_connections_unlocked): fix so that in OOM situation we get
-	the same semantics when retrying the function
-	
-	* test/test-service.c (main): change to use path registration, to
-	test those codepaths; register with DBUS_BUS_ACTIVATION rather
-	than DBUS_BUS_SESSION
-
-2003-10-16  Havoc Pennington  <hp at redhat.com>
-
-	* glib/dbus-gtest-main.c: bracket with #ifdef DBUS_BUILD_TESTS
-
-	* Makefile.am (GCOV_DIRS): remove "test", we don't care about test
-	coverage of the tests
-	(coverage-report.txt): don't move the .da and .bbg files around
-
-2003-10-16  Havoc Pennington  <hp at redhat.com>
-
-	* bus/bus.c (struct BusContext): remove struct field I didn't mean
-	to put there
-
-2003-10-16  Havoc Pennington  <hp at redhat.com>
-
-	* bus/connection.c (bus_pending_reply_expired): either cancel or
-	execute, not both
-	(bus_connections_check_reply): use unlink, not remove_link, as we
-	don't want to free the link; fixes double free mess
-
-	* dbus/dbus-pending-call.c (dbus_pending_call_block): fix in case
-	where no reply was received
-
-	* dbus/dbus-connection.c (_dbus_pending_call_complete_and_unlock):
-	fix a refcount leak
-
-	* bus/signals.c (match_rule_matches): add special cases for the
-	bus driver, so you can match on sender/destination for it.
-
-	* dbus/dbus-sysdeps.c (_dbus_abort): print backtrace if
-	DBUS_PRINT_BACKTRACE is set
-
-	* dbus/dbus-internals.c: add pid to assertion failure messages
-
-	* dbus/dbus-connection.c: add message type code to the debug spew
-
-	* glib/dbus-gproxy.c (gproxy_get_match_rule): match rules want
-	sender=foo not service=foo
-
-	* dbus/dbus-bus.c (dbus_bus_get): if the activation bus is the
-	session bus but DBUS_SESSION_BUS_ADDRESS isn't set, use 
-	DBUS_ACTIVATION_ADDRESS instead
-
-	* bus/activation.c: set DBUS_SESSION_BUS_ADDRESS,
-	DBUS_SYSTEM_BUS_ADDRESS if appropriate
-
-	* bus/bus.c (bus_context_new): handle OOM copying bus type into
-	context struct
-
-	* dbus/dbus-message.c (dbus_message_iter_get_object_path): new function
-	(dbus_message_iter_get_object_path_array): new function (half
-	finished, disabled for the moment)
-	
-	* glib/dbus-gproxy.c (dbus_gproxy_end_call): properly handle
-	DBUS_MESSAGE_TYPE_ERROR
-
-	* tools/dbus-launch.c (babysit): support DBUS_DEBUG_OUTPUT to
-	avoid redirecting stderr to /dev/null
-	(babysit): close stdin if not doing the "exit_with_session" thing
-
-	* dbus/dbus-sysdeps.c (_dbus_become_daemon): delete some leftover
-	debug code; change DBUS_DEBUG_OUTPUT to only enable stderr, not
-	stdout/stdin, so things don't get confused
-	
-	* bus/system.conf.in: fix to allow replies, I modified .conf
-	instead of .conf.in again.
-
-2003-10-14  David Zeuthen  <david at fubar.dk>
-
-	* python/dbus_bindings.pyx.in (MessageIter.get): fixed typo in
-	argtype to arg_type when raising unknown arg type exception.
-	Changed type list to reflect the changes in dbus-protocol.h so 
-	the bindings actually work.
-
-2003-10-14  Havoc Pennington  <hp at redhat.com>
-
-	* test/decode-gcov.c: support gcc 3.3 also, though gcc 3.3 seems
-	to have a bug keeping it from outputting the .da files sometimes
-	(string_get_string): don't append garbage nul bytes to the string.
-
-2003-10-15  Seth Nickell  <seth at gnome.org>
-
-	* python/Makefile.am:
-
-	Include dbus_h_wrapper.h in the dist tarball.
-
-2003-10-14  Havoc Pennington  <hp at redhat.com>
-
-	* bus/bus.c (bus_context_check_security_policy): revamp this to
-	work more sanely with new policy-based requested reply setup
-
-	* bus/connection.c (bus_transaction_send_from_driver): set bus
-	driver messages as no reply
-
-	* bus/policy.c (bus_client_policy_check_can_receive): handle a
-	requested_reply attribute on allow/deny rules
-
-	* bus/system.conf: add <allow requested_reply="true"/>
-
-	* bus/driver.c (bus_driver_handle_message): fix check for replies
-	sent to the bus driver, which was backward. How did this ever work
-	at all though? I think I'm missing something.
-
-	* dbus/dbus-message.c (decode_header_data): require error and
-	method return messages to have a reply serial field to be valid
-	(_dbus_message_loader_queue_messages): break up this function;
-	validate that reply serial and plain serial are nonzero; 
-	clean up the OOM/error handling.
-	(get_uint_field): don't return -1 from this
-	(dbus_message_create_header): fix signed/unsigned bug
-
-	* bus/connection.c (bus_connections_expect_reply): save serial of
-	the incoming message, not reply serial
-
-2003-10-14  Havoc Pennington  <hp at redhat.com>
-
-	* bus/connection.c: implement pending reply tracking using
-	BusExpireList
-
-	* bus/bus.c (bus_context_check_security_policy): verify that a
-	reply is pending in order to allow a reply to be sent. Deny 
-	messages of unknown type.
-
-	* bus/dbus-daemon-1.1.in: update to mention new resource limits
-
-	* bus/bus.c (bus_context_get_max_replies_per_connection): new
-	(bus_context_get_reply_timeout): new
-
-2003-10-13  Seth Nickell  <seth at gnome.org>
-
-	* python/Makefile.am:
-
-	Pass "make distcheck": remove a couple files from DIST_FILES
-	that weren't included in the final version.
-
-2003-10-12  Havoc Pennington  <hp at pobox.com>
-
-        Added test code that 1) starts an actual bus daemon and 2) uses
-	DBusGProxy; fixed bugs that were revealed by the test. Lots 
-	more testing possible, but this is the basic framework.
-	
-	* glib/dbus-gproxy.c (dbus_gproxy_manager_unregister): remove
-	empty proxy lists from the proxy list hash
-
-	* dbus/dbus-message.c (dbus_message_iter_get_args_valist): add a
-	couple of return_if_fail checks
-
-	* dbus/dbus-pending-call.c (_dbus_pending_call_new): use dbus_new0
-	to allocate, so everything is cleared to NULL as it should be.
-
-	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main): pass
-	source as data to dbus_connection_set_timeout_functions() as the 
-	timeout functions expected
-
-	* test/glib/run-test.sh: add a little script to start up a message
-	bus and run tests using it
-
-	* tools/dbus-launch.1: updates
-
-	* tools/dbus-launch.c (main): add --config-file option
-
-	* tools/dbus-launch.c (main): remove confusing else if (runprog)
-	that could never be reached.
-
-	* dbus/dbus-message.c (dbus_message_new_method_return) 
-	(dbus_message_new_error, dbus_message_new_signal): set the
-	no-reply-expected flag on all these. Redundant, but may
-	as well be consistent.
-
-2003-10-11  Havoc Pennington  <hp at pobox.com>
-
-	* test/decode-gcov.c (function_solve_graph): make broken block
-	graph a nonfatal error since it seems to be broken. Need to debug
-	this.
-
-	* dbus/dbus-marshal.c (_dbus_type_is_valid): new function since we
-	can't just check type > INVALID < LAST anymore
-
-	* dbus/dbus-message.c (dbus_message_get_signature): new function
-	(dbus_message_has_signature): new function
-	(struct DBusMessage): add signature field (right now it isn't sent
-	over the wire, just generated on the fly)
-	(dbus_message_copy): copy the signature, and init strings to
-	proper length to avoid some reallocs
-	(dbus_message_iter_init_array_iterator): return void, since it
-	can't fail
-	(dbus_message_iter_init_dict_iterator): return void since it can't fail
-	(_dbus_message_loader_queue_messages): add silly temporary hack to
-	fill in message->signature on load
-
-	* dbus/dbus-protocol.h: change DBUS_TYPE_* values to be ASCII
-	characters, so they are relatively human-readable.
-
-2003-10-11  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-message.c (_dbus_message_test): add more test
-	coverage, but #if 0 for now since they uncover a bug 
-	not fixed yet; I think in re_align_field_recurse()
-	(re_align_field_recurse): add FIXME about broken assertion
-
-	* dbus/dbus-sysdeps.c (_dbus_sysdeps_test): add more test coverage
-
-	* bus/connection.c: share a couple code bits with expirelist.c
-
-	* bus/expirelist.h, bus/expirelist.c: implement a generic
-	expire-items-after-N-seconds facility, was going to share between
-	expiring connections and replies, decided not to use for expiring
-	connections for now.
-
-	* COPYING: include AFL 2.0 (still need to change all the file headers)
-
-2003-10-09  Havoc Pennington  <hp at redhat.com>
-
-	* configure.in: define DBUS_HAVE_GCC33_GCOV if we have
-	gcc 3.3. Not that we do anything about it yet.
-
-	* bus/signals.c (bus_match_rule_parse): impose max length on the
-	match rule text
-
-	* dbus/dbus-protocol.h: add DBUS_MAXIMUM_MATCH_RULE_LENGTH
-
-2003-10-09  Havoc Pennington  <hp at redhat.com>
-
-        Make matching rules theoretically work (add parser).
-	
-	* bus/bus.c (bus_context_check_security_policy): fix up to handle
-	the case where destination is explicitly specified as bus driver
-	and someone else is eavesdropping.
-	
-	* bus/policy.c (bus_client_policy_check_can_receive): fix up
-	definition of eavesdropping and assertion
-
-	* tools/dbus-send.c (main): use dbus_message_type_from_string
-
-	* bus/signals.c (bus_match_rule_parse): implement
-
-	* dbus/dbus-message.c (dbus_message_type_from_string): new
-
-	* dbus/dbus-errors.h (DBUS_ERROR_MATCH_RULE_INVALID): add
-
-2003-10-02  Havoc Pennington  <hp at pobox.com>
-
-	* glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): rename from
-	dbus_gproxy_oneway_call
-
-	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main) 
-	(dbus_server_setup_with_g_main): fix to allow calling them more
-	than once on the same args
-	(dbus_bus_get_with_g_main): new function
-
-2003-10-02  Havoc Pennington  <hp at redhat.com>
-
-	* doc/dbus-tutorial.xml: write some stuff
-
-2003-09-29  Havoc Pennington  <hp at pobox.com>
-
-	* configure.in: split checks for Doxygen from XML docs, check for
-	xmlto
-
-	* doc/Makefile.am: XML-ify all the docs, and add a blank
-	dbus-tutorial.xml
-
-2003-09-29  Havoc Pennington  <hp at pobox.com>
-
-	* Merge dbus-object-names branch. To see the entire patch 
-	do cvs diff -r DBUS_OBJECT_NAMES_BRANCHPOINT -r dbus-object-names,
-	it's huuuuge though.
-	To revert, I tagged DBUS_BEFORE_OBJECT_NAMES_MERGE.
-	
-2003-09-28  Havoc Pennington  <hp at pobox.com>
-
-	* HACKING: update to reflect new server
-
-2003-09-26  Seth Nickell  <seth at gnome.org>
-
-	* python/dbus.py:
-	* python/examples/example-signals.py:
-
-	Start implementing some notions of signals. The API
-	is really terrible, but they sort of work (with the
-	exception of being able to filter by service, and to
-	transmit signals *as* a particular service). Need to
-	figure out how to make messages come from the service
-	we registered :-(
-	
-	* python/dbus_bindings.pyx.in:
-
-	Removed duplicate message_handler callbacks.
-	
-2003-09-25  Havoc Pennington  <hp at redhat.com>
-
-	* bus/session.conf.in: fix my mess
-
-2003-09-25  Havoc Pennington  <hp at pobox.com>
-
-	* bus/session.conf.in: fix security policy, reported by Seth Nickell
-
-2003-09-25  Seth Nickell  <seth at gnome.org>
-
-	* python/examples/example-service.py:
-
-	Johan notices complete wrong code in example-service, but
-	completely wrong in a way that works exactly the same (!).
-	Johan is confused, how could this possibly work? Example
-	code fails to serve purpose of making things clear.
-	Seth fixes.
-
-2003-09-25  Mark McLoughlin  <mark at skynet.ie>
-
-	* doc/dbus-specification.sgml: don't require header fields
-	to be 4-byte aligned and specify that fields should be
-	distinguished from padding by the fact that zero is not
-	a valid field name.
-	
-	* doc/TODO: remove re-alignment item and add item to doc
-	the OBJECT_PATH type.
-	
-	* dbus/dbus-message.c:
-	(HeaderField): rename the original member to value_offset
-	and introduce a name_offset member to keep track of where
-	the field actually begins.
-	(adjust_field_offsets): remove.
-	(append_int_field), (append_uint_field),
-	(append_string_field): don't align the start of the header
-	field to a 4-byte boundary.
-	(get_next_field): impl finding the next marhsalled field
-	after a given field.
-	(re_align_field_recurse): impl re-aligning a number of
-	already marshalled fields.
-	(delete_field): impl deleting a field of any type and
-	re-aligning any following fields.
-	(delete_int_or_uint_field), (delete_string_field): remove.
-	(set_int_field), (set_uint_field): no need to re-check
-	that we have the correct type for the field.
-	(set_string_field): ditto and impl re-aligning any
-	following fields.
-	(decode_header_data): update to take into account that
-	the fields aren't 4-byte aligned any more and the new
-	way to distinguish padding from header fields. Also,
-	don't exit when there is too much header padding.
-	(process_test_subdir): print the directory.
-	(_dbus_message_test): add test to make sure a following
-	field is re-aligned correctly after field deletion.
-	
-	* dbus/dbus-string.[ch]:
-	(_dbus_string_insert_bytes): rename from insert_byte and
-	allow the insert of multiple bytes.
-	(_dbus_string_test): test inserting multiple bytes.
-
-	* dbus/dbus-marshal.c: (_dbus_marshal_set_string): add
-	warning note to docs about having to re-align any
-	marshalled values following the string.
-	
-	* dbus/dbus-message-builder.c:
-	(append_string_field), (_dbus_message_data_load):
-	don't align the header field.
-	
-	* dbus/dbus-auth.c: (process_test_subdir): print the
-	directory.
-	
-	* test/break-loader.c: (randomly_add_one_byte): upd. for
-	insert_byte change.
-	
-	* test/data/invalid-messages/bad-header-field-alignment.message:
-	new test case.
-	
-	* test/data/valid-messages/unknown-header-field.message: shove
-	a dict in the unknown field.
-
-2003-09-25  Seth Nickell  <seth at gnome.org>
-
-	* python/dbus.py:
-	* python/dbus_bindings.pyx.in:
-
-	Handle return values.
-	
-	* python/examples/example-client.py:
-	* python/examples/example-service.py:
-
-	Pass back return values from the service to the client.
-	
-2003-09-24  Seth Nickell  <seth at gnome.org>
-
-	* python/dbus.py:
-
-	Connect Object methods (when you are sharing an object) up... pass
-	in a list of methods to be shared. Sharing all the methods just
-	worked out too weird. You can now create nice Services over the
-	DBus in Python. :-)
-	
-	* python/dbus_bindings.pyx.in:
-
-	Keep references to user_data tuples passed into C functions so 
-	Python doesn't garbage collect on us.
-
-	Implement MethodReturn and Error subclasses of Message for creating
-	DBusMessage's of those types.
-	
-	* python/examples/example-client.py:
-	* python/examples/example-service.py:
-
-	Simple example code showing both how create DBus services and objects,
-	and how to use them.
-
-2003-09-23  Havoc Pennington  <hp at pobox.com>
-
-	* glib/dbus-gproxy.c (dbus_gproxy_manager_filter): implement
-
-2003-09-23  Havoc Pennington  <hp at redhat.com>
-
-	* glib/dbus-gproxy.c (dbus_gproxy_connect_signal): implement
-	(dbus_gproxy_disconnect_signal): implement
-	(dbus_gproxy_manager_remove_signal_match): implement
-	(dbus_gproxy_manager_add_signal_match): implement
-	(dbus_gproxy_oneway_call): implement
-
-2003-09-23  Havoc Pennington  <hp at pobox.com>
-
-	* glib/dbus-gproxy.c (struct DBusGProxy): convert to a GObject
-	subclass. This means dropping the transparent thread safety of the
-	proxy; you now need a separate proxy per-thread, or your own
-	locking on the proxy. Probably right anyway.
-	(dbus_gproxy_ref, dbus_gproxy_unref): nuke, just use g_object_ref
-
-2003-09-22  Havoc Pennington  <hp at redhat.com>
-
-	* glib/dbus-gproxy.c (dbus_gproxy_manager_get): implement
-
-2003-09-21  Seth Nickell  <seth at gnome.org>
-
-        First checkin of the Python bindings.
-	
-	* python/.cvsignore:
-	* python/Makefile.am:
-	* python/dbus_bindings.pyx.in:
-	* python/dbus_h_wrapper.h:
-
-	Pieces for Pyrex to operate on, building a dbus_bindings.so
-	python module for low-level access to the DBus APIs.
-	
-	* python/dbus.py:
-
-	High-level Python module for accessing DBus objects.
-
-	* configure.in:
-	* Makefile.am:
-
-	Build stuff for the python bindings.
-
-	* acinclude.m4:
-
-	Extra macro needed for finding the Python C header files.
-
-2003-09-21  Havoc Pennington  <hp at pobox.com>
-
-	* glib/dbus-gproxy.c (dbus_gproxy_manager_new): start
-	implementing the proxy manager, didn't get very far.
-
-	* dbus/dbus-bus.c (dbus_bus_add_match): new
-	(dbus_bus_remove_match): new
-
-	* glib/dbus-gproxy.c (dbus_gproxy_new_for_service): add a
-	path_name argument; adjust the other not-yet-implemented 
-	gproxy constructors to be what I think they should be.
-
-2003-09-21  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-bus.c (dbus_bus_get): set exit_on_disconnect to TRUE
-	by default for message bus connections.
-
-	* dbus/dbus-connection.c (dbus_connection_dispatch): exit if
-	exit_on_disconnect flag is set and we process the disconnected
-	signal.
-	(dbus_connection_set_exit_on_disconnect): new function
-
-2003-09-21  Havoc Pennington  <hp at pobox.com>
-
-	Get matching rules mostly working in the bus; only actually
-	parsing the rule text remains. However, the client side of
-	"signal connections" hasn't been started, this patch is only the
-	bus side.
-	
-	* dbus/dispatch.c: fix for the matching rules changes
-	
-	* bus/driver.c (bus_driver_handle_remove_match)
-	(bus_driver_handle_add_match): send an ack reply from these
-	method calls
-
-	* glib/dbus-gproxy.c (dbus_gproxy_begin_call): fix order of
-	arguments, reported by Seth Nickell
-
-	* bus/config-parser.c (append_rule_from_element): support
-	eavesdrop=true|false attribute on policies so match rules 
-	can be prevented from snooping on the system bus.
-
-	* bus/dbus-daemon-1.1.in: consistently use terminology "sender"
-	and "destination" in attribute names; fix some docs bugs; 
-	add eavesdrop=true|false attribute
-
-	* bus/driver.c (bus_driver_handle_add_match)
-	(bus_driver_handle_remove_match): handle AddMatch, RemoveMatch
-	messages
-
-	* dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_BROADCAST): get
-	rid of broadcast service concept, signals are just always broadcast
-
-	* bus/signals.c, bus/dispatch.c, bus/connection.c, bus/bus.c:
-	mostly implement matching rules stuff (currently only exposed as signal
-	connections)
-
-2003-09-21  Mark McLoughlin  <mark at skynet.ie>
-
-	* doc/dbus-specification.sgml: Change the header field name
-	to be an enum and update the rest of the spec to reference
-	the fields using the conventinal name.
-
-	* dbus/dbus-protocol.h: update to reflect the spec.
-
-	* doc/TODO: add item to remove the 4 byte alignment requirement.
-	
-	* dbus/dbus-message.c: Remove the code to generalise the
-	header/body length and serial number header fields as named
-	header fields so we can reference field names using the 
-	protocol values.
-	(append_int_field), (append_uint_field), (append_string_field):
-	Append the field name as a byte rather than four chars.
-	(delete_int_or_uint_field), (delete_string_field): reflect the
-	fact that the field name and typecode now occupy 4 bytes instead
-	of 8.
-	(decode_string_field), (decode_header_data): update to reflect
-	protocol changes and move the field specific encoding from
-	decode_string_field() back into decode_header_data().
-	
-	* dbus/dbus-internals.[ch]: (_dbus_header_field_to_string):
-	Add utility to aid debugging.
-	
-	* dbus/dbus-message-builder.c:
-	(append_string_field), (_dbus_message_data_load): Update to
-	reflect protocol changes; Change the FIELD_NAME directive
-	to HEADER_FIELD and allow it to take the field's conventional
-	name rather than the actual value.
-	
-	* test/data/*/*.message: Update to use HEADER_FIELD instead
-	of FIELD_NAME; Always align the header on an 8 byte boundary
-	*before* updating the header length.
-
-2003-09-15  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-pending-call.c: add the get/set object data
-	boilerplate as for DBusConnection, etc. Use generic object data
-	for the notify callback.
-
-	* glib/dbus-gparser.c (parse_node): parse child nodes
-
-	* tools/dbus-viewer.c: more hacking on the dbus-viewer
-	
-	* glib/dbus-gutils.c (_dbus_gutils_split_path): add a file to
-	contain functions shared between the convenience lib and the
-	installed lib
-
-	* glib/Makefile.am (libdbus_glib_1_la_LDFLAGS): add
-	-export-symbols-regex to the GLib library
-
-	* dbus/dbus-object-tree.c (_dbus_object_tree_dispatch_and_unlock):
-	fix the locking in here, and add a default handler for
-	Introspect() that just returns sub-nodes.
-
-2003-09-14  Havoc Pennington  <hp at pobox.com>
-
-	* glib/dbus-gthread.c (dbus_g_thread_init): rename to make g_foo
-	rather than gfoo consistent
-
-	* glib/dbus-gproxy.h: delete for now, move contents to
-	dbus-glib.h, because the include files don't work right since we
-	aren't in the dbus/ subdir.
-	
-	* glib/dbus-gproxy.c (dbus_gproxy_send): finish implementing
-	(dbus_gproxy_end_call): finish
-	(dbus_gproxy_begin_call): finish
-
-	* glib/dbus-gmain.c (dbus_set_g_error): new
-
-	* glib/dbus-gobject.c (handle_introspect): include information
-	about child nodes in the introspection
-
-	* dbus/dbus-connection.c (dbus_connection_list_registered): new
-	function to help in implementation of introspection
-
-	* dbus/dbus-object-tree.c
-	(_dbus_object_tree_list_registered_and_unlock): new function
-
-2003-09-12  Havoc Pennington  <hp at pobox.com>
-
-	* glib/dbus-gidl.h: add common base class for all the foo_info
-	types
-
-        * tools/dbus-viewer.c: add GTK-based introspection UI thingy
-	similar to kdcop
-
-	* test/Makefile.am: try test srcdir -ef . in addition to test
-	srcdir = ., one of them should work (yeah lame)
-	
-        * glib/Makefile.am: build the "idl" parser stuff as a convenience
-	library
-	
-	* glib/dbus-gparser.h: make description_load routines return
-	NodeInfo* not Parser*
-
-	* Makefile.am (SUBDIRS): build test dir after all library dirs
-
-	* configure.in: add GTK+ detection
-
-2003-09-07  Havoc Pennington  <hp at pobox.com>
-
-	* Make Doxygen contented.
-
-2003-09-07  Havoc Pennington  <hp at pobox.com>
-
-	* doc/dbus-specification.sgml: more updates
-
-2003-09-06  Havoc Pennington  <hp at pobox.com>
-
-	* doc/dbus-specification.sgml: partial updates
-
-	* bus/dbus-daemon-1.1.in: fix the config file docs for the
-	zillionth time; hopefully I edited the right file this time.
-
-	* bus/config-parser.c (append_rule_from_element): support
-	send_type, send_path, receive_type, receive_path
-
-	* bus/policy.c: add message type and path to the list of things
-	that can be "firewalled"
-
-2003-09-06  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-connection.c (dbus_connection_register_fallback): add this
-	(dbus_connection_register_object_path): make this not handle
-	messages to paths below the given path
-
-2003-09-03  Havoc Pennington  <hp at pobox.com>
-
-	* test/glib/Makefile.am: add this with random glib-linked test
-	programs
-
-	* glib/Makefile.am: remove the random test programs from here,
-	leave only the unit tests
-
-	* glib/dbus-gobject.c (_dbus_gobject_test): add test for 
-	uscore/javacaps conversion, and fix	
-	(get_object_property, set_object_property): change to .NET
-	convention for mapping props to methods, set_FooBar/get_FooBar, 
-	since one language has such a convention we may as well copy it. 
-	Plus real methods in either getFooBar or get_foo_bar style won't 
-	collide with this convention.
-
-2003-09-01  Havoc Pennington  <hp at pobox.com>
-
-	* glib/dbus-gparser.c: implement
-
-	* glib/dbus-gobject.c: start implementing skeletons support
-
-	* configure.in: when disabling checks/assert, also define
-	G_DISABLE_ASSERT and G_DISABLE_CHECKS
-
-2003-09-01  Havoc Pennington  <hp at pobox.com>
-
-	* glib/Makefile.am: rearrange a bunch of files and get "make
-	check" framework set up
-
-2003-08-31  Havoc Pennington  <hp at pobox.com>
-
-	* fix build with --disable-tests
-
-2003-08-30  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-connection.c: purge DBusMessageHandler
-
-	* dbus/dbus-message-handler.c: remove DBusMessageHandler, just 
-	use callbacks everywhere
-
-2003-08-30  Havoc Pennington  <hp at pobox.com>
-
-	* test/data/valid-config-files/system.d/test.conf: change to 
-	root for the user so warnings don't get printed
-
-	* dbus/dbus-message.c: add dbus_message_get_path,
-	dbus_message_set_path
-	
-	* dbus/dbus-object-tree.c (do_test_dispatch): add test of
-	dispatching to a path
-
-	* dbus/dbus-string.c (_dbus_string_validate_path): add
-
-	* dbus/dbus-marshal.c (_dbus_demarshal_object_path): implement
-	(_dbus_marshal_object_path): implement
-
-	* dbus/dbus-protocol.h (DBUS_HEADER_FIELD_PATH): new header field 
-	to contain the path to the target object
-	(DBUS_HEADER_FIELD_SENDER_SERVICE): rename
-	DBUS_HEADER_FIELD_SENDER to explicitly say it's the sender service
-
-2003-08-30  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-object-tree.c: write tests and fix the discovered bugs
-
-2003-08-29  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-object-tree.c: modify to allow overlapping paths to be
-	registered
-	(struct DBusObjectSubtree): shrink this
-	a lot, since we may have a lot of them
-	(_dbus_object_tree_free_all_unlocked): implement
-	(_dbus_object_tree_dispatch_and_unlock): implement
-
-2003-08-29  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-internals.h: fix _DBUS_N_GLOBAL_LOCKS
-
-2003-08-28  Havoc Pennington  <hp at pobox.com>
-
-	purge DBusObjectID
-	
-	* dbus/dbus-connection.c: port to no ObjectID, create a
-	DBusObjectTree, rename ObjectTree to ObjectPath in public API
-
-	* dbus/dbus-connection.h (struct DBusObjectTreeVTable): delete 
-	everything except UnregisterFunction and MessageFunction
-	
-	* dbus/dbus-marshal.c: port away from DBusObjectID, 
-	add DBUS_TYPE_OBJECT_PATH
-	
-	* dbus/dbus-object-registry.[hc], dbus/dbus-object.[hc], 
-	dbus/dbus-objectid.[hc]: remove these, we are moving to 
-	path-based object IDs
-
-2003-08-25  Havoc Pennington  <hp at pobox.com>
-
-        Just noticed that dbus_message_test is hosed, I wonder when I
-	broke that. I thought make check was passing earlier...
-	
-	* dbus/dbus-object-tree.c: add new "object tree" to match DCOP 
-	container tree, will replace most of dbus-object-registry
-
-	* dbus/dbus-string.c (_dbus_string_append_printf_valist): fix C99
-	screwup
-
-2003-08-19  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-message.c (decode_string_field): support FIELD_SENDER
-	(dbus_message_is_error): fix this function
-
-	* bus/dbus-daemon-1.1: clarify logic on when <deny>/<allow> rules
-	match
-
-	* bus/policy.c (bus_client_policy_check_can_receive): fix code to
-	reflect clarified man page
-	(bus_client_policy_check_can_send): ditto
-	
-	* bus/session.conf.in: fixup
-
-	* bus/system.conf.in: fixup
-
-2003-08-18  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-hash.c (_dbus_hash_table_insert_two_strings): fix
-
-	* dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
-	dumb bug created earlier (wrong order of args to
-	decode_header_data())
-	
-	* tools/dbus-send.c: port
-
-	* tools/dbus-print-message.c (print_message): port
-
-        * test/data/*messages: port all messages over
-	
-        * dbus/dbus-message-builder.c: support including 
-	message type
-	
-        * bus/driver.c: port over
-	
-	* bus/dispatch.c: port over to new stuff
-
-	* dbus/dbus-connection.c (_dbus_connection_new_for_transport):
-	rename disconnect signal to "Disconnected"
-
-2003-08-17  Havoc Pennington  <hp at pobox.com>
-
-	This doesn't compile yet, but syncing up so I can hack on it from
-	work. What are branches for if not broken code? ;-)
-	
-	* dbus/dbus-protocol.h: remove DBUS_HEADER_FIELD_NAME, add
-	DBUS_HEADER_FIELD_INTERFACE, DBUS_HEADER_FIELD_MEMBER,
-	DBUS_HEADER_FIELD_ERROR_NAME
-	
-	* dbus/dbus-hash.c: Introduce DBUS_HASH_TWO_STRINGS as hack to use
-	for the interface+member pairs
-	(string_hash): change to use g_str_hash algorithm
-	(find_direct_function, find_string_function): refactor these to
-	share most code.
-	
-	* dbus/dbus-message.c: port all of this over to support 
-	interface/member fields instead of name field
-
-	* dbus/dbus-object-registry.c: port over
-	
-	* dbus/dbus-string.c (_dbus_string_validate_interface): rename
-	from _dbus_string_validate_name
-
-	* bus/dbus-daemon-1.1: change file format for the 
-	<deny>/<allow> stuff to match new message naming scheme
-
-	* bus/policy.c: port over
-
-	* bus/config-parser.c: parse new format
-	
-2003-08-16  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-object-registry.c (add_and_remove_objects): remove
-	broken assertion
-
-	* glib/dbus-gproxy.c: some hacking
-
-2003-08-15  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-pending-call.c (dbus_pending_call_block): implement
-
-	* dbus/dbus-connection.c
-	(dbus_connection_send_with_reply_and_block): factor out internals;
-	change to convert any error replies to DBusError instead of 
-	returning them as a message
-
-2003-08-15  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-connection.c, 
-	dbus/dbus-pending-call.c: Finish the pending call stuff
-
-2003-08-14  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-pending-call.c: start on new object that will replace
-	DBusMessageHandler and ReplyHandlerData for tracking outstanding
-	replies
-
-	* dbus/dbus-gproxy.c: start on proxy object used to communicate
-	with remote interfaces
-
-	* dbus/dbus-gidl.c: do the boring boilerplate in here
-	
-2003-08-12  Havoc Pennington  <hp at pobox.com>
-
-	* bus/dispatch.c (bus_dispatch): make this return proper 
-	DBusHandlerResult to avoid DBUS_ERROR_UNKNOWN_METHOD
-
-	* dbus/dbus-errors.c (dbus_set_error): use
-	_dbus_string_append_printf_valist
-
-	* dbus/dbus-string.c (_dbus_string_append_printf_valist)
-	(_dbus_string_append_printf): new
-
-	* dbus/dbus-errors.h (DBUS_ERROR_UNKNOWN_MESSAGE): change to
-	UNKNOWN_METHOD
-
-	* dbus/dbus-connection.c (dbus_connection_dispatch): handle
-	DBUS_HANDLER_RESULT_NEED_MEMORY; send default error reply if a
-	message is unhandled.
-
-2003-08-11  Havoc Pennington  <hp at pobox.com>
-
-	* bus/test.c (client_disconnect_handler): change to return
-	HANDLED (would have been REMOVE_MESSAGE)
-
-	* dbus/dbus-object.h (enum DBusHandlerResult): rename to
-	HANDLED/NOT_YET_HANDLED instead of
-	REMOVE_MESSAGE/ALLOW_MORE_HANDLERS to make it clearer how it 
-	should be used.
-
-2003-08-10  Havoc Pennington  <hp at pobox.com>
-
-	* tools/dbus-send.c (main): add --type argument, for now
-	supporting only method_call and signal types.
-
-	* tools/dbus-print-message.c: print message type
-
-	* dbus/dbus-connection.c (_dbus_connection_new_for_transport):
-	init connection->objects
-
-	* doc/dbus-specification.sgml: fix sgml
-
-	* bus/*.c: port over to object-instance API changes
-
-	* test/test-service.c: ditto
-	
-	* dbus/dbus-message.c (dbus_message_create_header): allow #NULL
-	name, we will have to fix up the rest of the code to also handle
-	this
-	(dbus_message_new): generic message-creation call
-	(set_string_field): allow appending name field
-
-2003-08-06  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-object-registry.c: implement signal connection 
-	and dispatch
-
-	* dbus/dbus-connection.c (_dbus_connection_unref_unlocked): new
-
-	* dbus/dbus-internals.c (_dbus_memdup): new function
-
-2003-08-02  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-message.c (dbus_message_get_no_reply)
-	(dbus_message_set_no_reply): add these and remove
-	set_is_error/get_is_error
-
-	* dbus/dbus-protocol.h, doc/dbus-specification.sgml: 
-	remove the ERROR flag, since there's now an ERROR type
-
-2003-08-01  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-object-registry.c (_dbus_object_registry_handle_and_unlock):
-	implement
-
-	* dbus/dbus-message.c (dbus_message_get_type): new function
-
-	* doc/dbus-specification.sgml: add "type" byte to messages
-
-2003-08-01  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-protocol.h (DBUS_MESSAGE_TYPE_*): introduce
-	a message type enum to distinguish kinds of message
-	(DBUS_HEADER_FLAG_NO_REPLY_EXPECTED): flag for a message 
-	that need not be replied to
-
-2003-08-01  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-marshal.c: adapt to DBusObjectID changes
-	(unpack_8_octets): fix no-64-bit-int bug
-
-	* dbus/dbus-object-registry.c (validate_id): validate the 
-	connection ID bits, not just the instance ID.
-
-	* dbus/dbus-connection.c (_dbus_connection_init_id): initialize
-	the connection-global 33 bits of the object ID
-
-	* dbus/dbus-object-registry.c (info_from_entry): fill in 
-	object ID in the new way
-
-	* dbus/dbus-objectid.h: rather than high/low bits, specifically 
-	define server/client/instance bits.
-
-2003-07-30  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-connection.c (dbus_connection_register_object): fix
-	build
-
-2003-07-13  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-object.h (struct DBusObjectVTable): add padding
-	fields to DBusObjectVTable and DBusObjectInfo
-
-2003-07-12  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-object-registry.c: implement unit test,
-	fix bugs discovered in process
-
-	* dbus/dbus-connection.c: remove handler_table and
-	register_handler(), add DBusObjectRegistry usage
-
-	* dbus/dbus-objectid.c (dbus_object_id_is_null)
-	(dbus_object_id_set_null): new functions
-
-2003-07-08  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-object.c: implement some of this
-
-	* dbus/dbus-object-registry.c
-	(_dbus_object_registry_add_and_unlock): fill in the object_id out
-	param
-	(_dbus_object_registry_new): handle OOM
-
-2003-07-08  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-object.h: sketch out an API for registering objects
-	with a connection, that allows us to use as little as 24 bytes
-	per object and lets application code represent an object in 
-	any conceivable way.
-
-	* dbus/dbus-object-registry.c: implement the hard bits of the
-	DBusConnection aspect of object API. Not yet wired up.
-	
-2003-07-06  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-marshal.c (_dbus_marshal_set_object_id): new function
-	(_dbus_marshal_object_id): new
-	(_dbus_demarshal_object_id): new
-	(_dbus_marshal_get_arg_end_pos): support object ID type, and
-	consolidate identical switch cases. Don't conditionalize handling
-	of DBUS_TYPE_UINT64, need to handle the type always.
-	(_dbus_marshal_validate_arg): consolidate identical cases, and
-	handle DBUS_TYPE_OBJECT_ID
-
-	* dbus/dbus-objectid.c: new file with DBusObjectID data type.
-
-	* dbus/dbus-protocol.h: add DBUS_TYPE_OBJECT_ID
-
-2003-09-28  Havoc Pennington  <hp at pobox.com>
-
-	* real 0.13 release
-
-2003-09-28  Havoc Pennington  <hp at pobox.com>
-
-	* doc/Makefile.am (dbus-specification.html): testing a funky hack
-	to work with Debian db2html
-
-2003-09-28  Havoc Pennington  <hp at pobox.com>
-
-	* configure.in: 0.13
-
-	* doc/Makefile.am (dbus-test-plan.html): accept nonexistence of
-	stylesheet-images for benefit of Debian
-	
-	Change back to using filesystem-linked sockets for the system
-	bus, so only root can create the default system bus address.
-	
-	* bus/system.conf.in: change to use
-	DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
-
-	* dbus/Makefile.am (INCLUDES): remove DBUS_SYSTEM_BUS_PATH define
-	from here.
-
-	* configure.in: define DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
-	here, and AC_DEFINE DBUS_SYSTEM_PATH
-
-2003-08-09  Anders Carlsson  <andersca at codefactory.se>
-
-	* doc/TODO:
-	* doc/busconfig.dtd:
-	Add busconfig DTD.
-	
-2003-08-09  Anders Carlsson  <andersca at codefactory.se>
-
-	* doc/dbus-specification.sgml:
-	Add activation reply values.
-	
-2003-08-05  Havoc Pennington  <hp at redhat.com>
-
-	* configure.in: 0.12
-
-2003-08-05  Anders Carlsson  <andersca at codefactory.se>
-
-	* glib/dbus-gmain.c: (watch_fd_new), (watch_fd_ref),
-	(watch_fd_unref), (dbus_gsource_check), (dbus_gsource_dispatch),
-	(add_watch), (remove_watch), (create_source):
-	Refcount fds, fixes some reentrancy issues.
-	
-2003-07-30  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-bus.c (init_connections_unlocked): fix default system
-	bus address to be abstract if we have abstract sockets
-
-	* NEWS: update
-
-2003-07-28  Havoc Pennington  <hp at redhat.com>
-
-	* bus/messagebus.in: fix to avoid processname/servicename 
-	confusion, from Michael Kearey
-	https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=100965
-	
-2003-07-23  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-message.c (dbus_message_iter_get_named): 
-	fix from Andy Hanton to remove broken "+1"
-
-2003-07-16  Havoc Pennington  <hp at pobox.com>
-
-	* tools/dbus-launch.c (babysit): close stdout/stderr in the
-	babysitter process, as suggested by Thomas Leonard, so 
-	an "eval `dbus-launch --exit-with-session`" will actually 
-	return
-
-2003-07-16  Havoc Pennington  <hp at pobox.com>
-
-	* configure.in: print out EXPANDED_* variables in the summary at
-	the end; clean up the code that computes EXPANDED_ variables and
-	get the ones using exec_prefix right. Should make things work
-	when you build without --prefix
-
-2003-06-29  Havoc Pennington  <hp at pobox.com>
-
-	* mono/Test.cs (class Test): fire up a main loop and run it
-
-	* mono/DBus.cs (DBus): don't g_thread_init since it can only be
-	done once, the app has to do it
-
-2003-06-26  Havoc Pennington  <hp at pobox.com>
-
-	* mono/Connection.cs: set up connection with the glib main loop
-
-2003-07-01  Havoc Pennington  <hp at redhat.com>
-
-	* doc/dbus-specification.sgml: clarify the format of a type code,
-	change suggested by Jim Blandy
-
-2003-06-29  Miloslav Trmac  <mitr at volny.cz>
-
-	* doc/Makefile.am:
-	* tools/Makefile.am: Don't assume srcdir == builddir.
-
-	* dbus/dbus-memory.c (dbus_realloc): Don't check guards after shrinking
-	the allocated block.
-	(_dbus_memory_test): New function.
-	* dbus/dbus-test.h: Add _dbus_memory_test ().
-	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Call it.
-
-	* dbus/dbus-message.c (decode_header_data): Use %.4s instead
-	of %c%c%c%c.
-	(dbus_message_new): Remove obsolete @todo.
-
-	* dbus/dbus-marshal.c (_dbus_marshal_set_int64)
-	(_dbus_marshal_set_uint64): Fix comment.
-
-	* dbus/dbus-message.c (append_int_field, append_uint_field): Don't
-	hardcode FIELD_REPLY_SERIAL.
-
-	* dbus/dbus-mainloop.c (_dbus_loop_remove_watch)
-	(_dbus_loop_remove_timeout): Cast function pointers to (void *) for %p
-
-	* configure.in: Add -D_POSIX_C_SOURCE=199309L -DBSD_SOURCE to CFLAGS
-	and disable DBUS_USE_ATOMIC_INT_486 when --enable-ansi is used
-
-2003-06-24  Havoc Pennington  <hp at pobox.com>
-
-	* mono/*.cs: Use IntPtr.Zero instead of ((IntPtr) 0)
-
-2003-06-23  Anders Carlsson  <andersca at codefactory.se>
-
-	* configure.in:
-	* gcj/.cvsignore:
-	* gcj/Hello.java:
-	* gcj/Makefile.am:
-	* gcj/TestMessage.java: (TestMessage), (TestMessage.main):
-	* gcj/org/.cvsignore:
-	* gcj/org/Makefile.am:
-	* gcj/org/freedesktop/.cvsignore:
-	* gcj/org/freedesktop/Makefile.am:
-	* gcj/org/freedesktop/dbus/.cvsignore:
-	* gcj/org/freedesktop/dbus/Makefile.am:
-	* gcj/org/freedesktop/dbus/Message.java: (Message),
-	(Message.Message):
-	* gcj/org/freedesktop/dbus/natMessage.cc:
-	Fix the build system.
-
-2003-06-22  Havoc Pennington  <hp at pobox.com>
-
-	* mono/Connection.cs: add more bindings
-
-	* dbus/dbus-threads.c (dbus_threads_init): allow calling this
-	more than once.
-
-2003-06-22  Havoc Pennington  <hp at pobox.com>
-
-	* mono/Connection.cs, mono/DBus.cs, mono/Error.cs:
-	Start wrapping more stuff.
-
-2003-06-22  Havoc Pennington  <hp at pobox.com>
-
-	* mono/Message.cs: implement Message.Wrap() that ensures we only
-	have a single C# wrapper per DBusMessage, assuming it works which
-	it probably doesn't.
-
-	* dbus/dbus-message.c (dbus_message_allocate_data_slot): new
-	(dbus_message_free_data_slot): new
-	(dbus_message_set_data): new
-	(dbus_message_get_data): new
-
-2003-06-22  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-dataslot.c (_dbus_data_slot_allocator_unref)
-	(_dbus_data_slot_allocator_alloc): rework these to keep a
-	reference count on each slot and automatically manage a global
-	slot ID variable passed in by address
-
-	* bus/bus.c: convert to new dataslot API
-
-	* dbus/dbus-bus.c: convert to new dataslot API
-
-	* dbus/dbus-connection.c: convert to new dataslot API
-
-	* dbus/dbus-server.c: convert to new dataslot API
-
-	* glib/dbus-gmain.c: ditto
-
-	* bus/test.c: ditto
-
-	* bus/connection.c: ditto
-
-2003-06-22  Anders Carlsson  <andersca at codefactory.se>
-
-	* configure.in: Add AM_PROG_GCJ and move AM_PROG_LIBTOOL
-	after the gcj checks so that the correct configuration tags
-	will be added to libtool.
-
-	* dbus-glib-1.pc.in: No need to specify any includes since
-	dbus-1.pc.in has those.
-
-2003-06-22  Havoc Pennington  <hp at pobox.com>
-
-	* mono/*, gcj/*, configure.in, Makefile.am:
-	Check in makefiles and subdirs for mono and gcj bindings.
-	Neither binding actually exists, just trying to get through
-	all the build and other boring bits.
-
-2003-06-21  Philip Blundell  <philb at gnu.org>
-
-	* tools/dbus-monitor.1: Updated.
-
-	* tools/dbus-send.1: Likewise.
-
-2003-06-20  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-transport-unix.c (unix_handle_watch): Check
-	for hangup and error after checking read so we won't discard
-	pending data if both hangup and read are set.
-
-2003-06-19  Philip Blundell  <philb at gnu.org>
-
-	* tools/dbus-print-message.c (print_message): Handle BOOLEAN.
-
-	* tools/dbus-send.c: Accept both --system and --session.
-
-	* tools/dbus-monitor.c: Same here.
-
-2003-06-19  Anders Carlsson  <andersca at codefactory.se>
-
-	* glib/dbus-glib.h: Fix so that dbus-glib.h can be used
-	from C++ (Patch by Miloslav Trmac).
-
-2003-06-15  Joe Shaw  <joe at assbarn.com>
-
-	* configure.in: Check for socklen_t.
-
-	* dbus/dbus-sysdeps.c: Define socklen_t if it's not defined.
-
-	* test/test-segfault.c: Add #include <sys/time.h>
-
-	* tools/Makefile.am: Add DBUS_X_CFLAGS to the INCLUDES since
-	dbus-launch needs it.
-
-2003-06-09  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): don't use
-	SUN_LEN, it breaks abstract socket usage
-
-	* dbus/dbus-internals.c (_dbus_verbose_real): only print PID at
-	starts of lines.
-
-2003-06-04  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-server.c (dbus_server_listen): allow abstract sockets
-	using unix:abstract=/foo, and when listening in a tmpdir
-	i.e. unix:tmpdir=/tmp, always use abstract sockets if we can.
-
-	* dbus/dbus-transport.c (_dbus_transport_open): support
-	unix:abstract=/foo
-
-	* dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
-	support abstract sockets
-
-	* dbus/dbus-transport-unix.c
-	(_dbus_transport_new_for_domain_socket): support abstract sockets
-
-	* dbus/dbus-sysdeps.c (_dbus_connect_unix_socket): add "abstract"
-	toggle as an argument, implement abstract namespace support
-	(_dbus_listen_unix_socket): ditto
-
-	* configure.in: add --enable-abstract-sockets and implement
-	a configure check for autodetection of the right value.
-
-2003-06-01  Havoc Pennington  <hp at pobox.com>
-
-	* tools/dbus-cleanup-sockets.c: add utility to clean up sockets
-	in /tmp (though on Linux this will end up being useless,
-	when we add abstract namespace support)
-
-	* configure.in: define DBUS_SESSION_SOCKET_DIR in addition to
-	subst'ing it
-
-2003-05-28  Colin Walters  <walters at verbum.org>
-
-	* tools/dbus-monitor.c (main): Fix silly typo (s/--session/--system/).
-
-2003-05-18  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-message.c (dbus_message_new): Remove @todo.
-
-2003-05-17  Colin Walters  <walters at gnu.org>
-
-	* tools/dbus-send.c: Don't exit with an error code if --help was
-	passed.  Default to using the session bus instead of the system
-	one.
-
-	* tools/dbus-launch.c: Ditto.
-
-	* tools/dbus-monitor.c: Ditto.
-
-	* tools/dbus-send.1: Update with new arguments.
-
-	* tools/dbus-launch.c: Emit code to export variables.  New
-	arguments -s and -c to specify shell syntax, and a bit of code to
-	autodetect syntax.  Also, allow specifying a program to run.
-
-	* tools/dbus-launch.1: Update with new arguments.
-
-	* tools/dbus-send.1: Ditto.
-
-	* tools/dbus-monitor.1: Ditto.
-
-2003-05-17  Havoc Pennington  <hp at pobox.com>
-
-	* bus/config-parser.c (merge_included): merge in policies from
-	child configuration file.
-
-	* bus/policy.c (bus_policy_merge): function to merge two policies
-	together
-
-2003-05-16  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-connection.c: disable verbose lock spew
-
-	* tools/dbus-send.c: add --print-reply command line option
-
-	* tools/dbus-print-message.h (print_message): new util function
-	shared by dbus-send and dbus-monitor
-
-	* tools/dbus-monitor.c (handler_func): exit on disconnect
-
-	* dbus/dbus-transport-unix.c (do_reading): if the transport is
-	disconnected, don't try to use the read_watch
-
-	* dbus/dbus-watch.c (dbus_watch_get_enabled): assert watch != NULL
-	so we can find this bug more easily
-
-2003-05-16  Havoc Pennington  <hp at redhat.com>
-
-	* bus/policy.c (free_rule_list_func): avoid a crash when passed
-	NULL as DBusHashTable is annoyingly likely to do.
-
-2003-05-16  Colin Walters  <walters at verbum.org>
-
-	* tools/dbus-monitor.c: Add --session argument and usage()
-	function.
-
-	* tools/dbus-monitor.1: Update with new --session arg.
-
-	* bus/Makefile.am (install-data-hook): Create
-	$(libdir)/dbus-1.0/services so that the session bus is happy.
-
-2003-05-15  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-sysdeps.c (_dbus_atomic_dec, _dbus_atomic_inc): work
-	on non-x86. ifdef's are evil.
-
-2003-05-15  Havoc Pennington  <hp at redhat.com>
-
-	* configure.in: 0.11
-
-	* NEWS: update
-
-	* bus/Makefile.am (initddir): apparently we are supposed to put
-	init scripts in /etc/rc.d/init.d not /etc/init.d
-
-	* bus/Makefile.am: remove the "you must --enable-tests to make
-	check" as it broke distcheck
-
-	* bus/Makefile.am (install-data-hook): create /etc/dbus-1/system.d
-
-2003-05-13  James Willcox  <jwillcox at gnome.org>
-
-	* configure.in:
-	* bus/activation.c: (bus_activation_service_created),
-	(bus_activation_activate_service):
-	* bus/driver.c: (bus_driver_send_service_deleted),
-	(bus_driver_send_service_created), (bus_driver_send_service_lost),
-	(bus_driver_send_service_acquired),
-	(bus_driver_send_welcome_message),
-	(bus_driver_handle_list_services):
-	* bus/session.conf.in:
-	* dbus/dbus-bus.c: (dbus_bus_acquire_service),
-	(dbus_bus_service_exists), (dbus_bus_activate_service):
-	* dbus/dbus-bus.h:
-
-	Add some convenience API which lets you activate a service, and did a
-	bunch of s/0/DBUS_TYPE_INVALID/ in calls to dbus_message_append_args()
-	and dbus_message_get_args()
-
-2003-05-11  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix to avoid
-	calling _dbus_marshal_validate_arg() for every byte in a byte
-	array, etc.
-
-	* dbus/dbus-message-handler.c: use atomic reference counting to
-	reduce number of locks slightly; the global lock in here sucks
-
-	* dbus/dbus-connection.c
-	(_dbus_connection_update_dispatch_status_and_unlock): variant of
-	update_dispatch_status that can be called with lock held; then use
-	in a couple places to reduce locking/unlocking
-	(dbus_connection_send): hold the lock over the whole function
-	instead of acquiring it twice.
-
-	* dbus/dbus-timeout.c (_dbus_timeout_new): handle OOM
-
-	* bus/connection.c (bus_connections_setup_connection): fix access
-	to already-freed memory.
-
-	* dbus/dbus-connection.c: keep a little cache of linked list
-	nodes, to avoid using the global linked list alloc lock in the
-	normal send-message case. Instead we just use the connection lock
-	that we already have to take.
-
-	* dbus/dbus-list.c (_dbus_list_find_last): new function
-
-	* dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec):
-	change to use a struct for the atomic type; fix docs,
-	they return value before increment, not after increment.
-
-	* dbus/dbus-string.c (_dbus_string_append_4_aligned)
-	(_dbus_string_append_8_aligned): new functions to try to
-	microoptimize this operation.
-	(reallocate_for_length): break this out of set_length(), to
-	improve profile info, and also so we can consider inlining the
-	set_length() part.
-
-	* dbus/dbus-message.c (dbus_message_new_empty_header): init data
-	strings with some preallocation, cuts down on our calls to realloc
-	a fair bit. Though if we can get the "move entire string to empty
-	string" optimization below to kick in here, it would be better.
-
-	* dbus/dbus-string.c (_dbus_string_move): just call
-	_dbus_string_move_len
-	(_dbus_string_move_len): add a special case for moving
-	an entire string into an empty string; we can just
-	swap the string data instead of doing any reallocs.
-	(_dbus_string_init_preallocated): new function
-
-2003-05-11  Havoc Pennington  <hp at pobox.com>
-
-	Write a "test-profile" that does echo client-server with threads;
-	profile reveals lock contention, memcpy/realloc of buffers, and
-	UTF-8 validation as hot spots. 20% of lock contention eliminated
-	with dbus_atomic_inc/dec implementation on x86.  Much remaining
-	contention is global mempool locks for GList and DBusList.
-
-	* dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec): add
-	x86 implementation
-
-	* dbus/dbus-connection.c (struct DBusConnection): use
-	dbus_atomic_t for the reference count
-
-	* dbus/dbus-message.c (struct DBusMessage): declare
-	dbus_atomic_t values as volatile
-
-	* configure.in: code to detect ability to use atomic integer
-	operations in assembly, from GLib patch
-
-	* dbus/dbus-internals.c (_dbus_verbose_real): call getpid every
-	time, tired of it being wrong in threads and forked processes
-
-	* glib/test-profile.c: a little program to bounce messages back
-	and forth between threads and eat CPU
-
-	* dbus/dbus-connection.c: add debug spew macros for debugging
-	thread locks; include config.h at top; fix deadlock in
-	dbus_connection_flush()
-
-2003-05-08  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-spawn.c: s/_exit/exit/ because it was keeping gcov
-	data from getting written, and there wasn't a good reason to
-	use _exit really.
-
-	* test/decode-gcov.c (mark_inside_dbus_build_tests): don't count
-	dbus_verbose lines in test coverage
-	(main): add list of functions sorted by # of untested blocks
-	to the coverage report
-
-	* dbus/dbus-mempool.c: put some test-only code in DBUS_BUILD_TESTS
-
-	* dbus/dbus-marshal.c (_dbus_marshal_test): extend test coverage
-
-	* dbus/dbus-message-handler.c (_dbus_message_handler_test):
-	extend test coverage
-
-	* test/data/auth/cancel.auth-script: test canceling an
-	authentication
-
-	* dbus/Makefile.am: remove dbus-server-debug.[hc] for now, as they
-	aren't used. in CVS history if we end up needing them.
-
-2003-05-04  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-message-handler.c (_dbus_message_handler_test): add
-	unit test
-
-	* dbus/dbus-marshal.c (_dbus_demarshal_string_array): fix this
-	function, which assumed length was in # of strings, not bytes
-
-	* dbus/dbus-message.c (_dbus_message_test): add tests for some
-	missing coverage
-
-	* dbus/dbus-connection.c
-	(_dbus_connection_queue_received_message): disable function for
-	now, we are only using it in test mode
-
-	* dbus/dbus-message.c (_dbus_message_loader_queue_messages):
-	remove a mistaken FIXME
-
-2003-05-04  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-connection.c (dbus_connection_preallocate_send):
-	unlock mutex on successful return, patch from Anders Gustafsson
-
-2003-05-04  Havoc Pennington  <hp at pobox.com>
-
-	* dbus-glib-1.pc.in (Requires): fix dependencies, from
-	Anders Gustafsson
-
-2003-05-04  Havoc Pennington  <hp at pobox.com>
-
-	* tools/dbus-launch.c: implement
-
-	* bus/main.c (main), bus/bus.c (bus_context_new):
-	implement --print-pid and --fork
-
-2003-05-03  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-address.c (dbus_parse_address): fix bug when a key in
-	the address had no value, and add to test suite. Fix and
-	regression test from Miloslav Trmac
-
-2003-05-03  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-watch.c (dbus_watch_handle): warn and return if a
-	watch is invalid when handled
-
-	* tools/Makefile.am, tools/dbus-launch.c, tools/dbus-launch.1: add
-	dbus-launch utility to launch the bus from a shell script.  Didn't
-	actually implement dbus-launch yet, it's just a placeholder still.
-
-2003-05-03  Havoc Pennington  <hp at pobox.com>
-
-	* bus/Makefile.am, bus/dbus-daemon-1.1.in: man page for the
-	daemon; also documents daemon config file, so replaces
-	doc/config-file.txt. Corrected some stuff from config-file.txt in
-	the process of moving it.
-
-2003-05-03  Havoc Pennington  <hp at pobox.com>
-
-	* tools/Makefile.am, tools/dbus-send.1, tools/dbus-monitor.1:
-	add some man pages
-
-2003-05-03  Colin Walters  <walters at verbum.org>
-
-	* dbus/dbus-sysdeps.c (fill_user_info): Test against
-	DBUS_UID_UNSET to determine whether to do a uid lookup or not.
-
-	* Makefile.am: Update to use new .pc versioning scheme.
-
-2003-05-02  Havoc Pennington  <hp at redhat.com>
-
-	* bus/system.conf.in: allow send/receive to/from message bus
-	service
-
-2003-04-30  Havoc Pennington  <hp at redhat.com>
-
-	* configure.in: print a note when building with unit tests and
-	without assertions
-
-2003-04-30  Havoc Pennington  <hp at redhat.com>
-
-	* Makefile.am: add a check-local that complains if you didn't
-	configure with --enable-tests
-
-2003-04-29  Havoc Pennington  <hp at redhat.com>
-
-	* glib/dbus-gmain.c: docs cleanups
-
-	* dbus/dbus-types.h: add docs on int64 types
-
-	* dbus/dbus-memory.c: fix docs to avoid putting private API in
-	public API docs section
-
-2003-04-29  Havoc Pennington  <hp at redhat.com>
-
-	* dbus-1.pc.in, dbus-glib-1.pc.in: rename these from
-	dbus-1.0.pc.in, dbus-glib-1.0.pc.in. As these change with the
-	parallel install API version, not with the D-BUS package version.
-
-	* HACKING: move some of README over here
-
-	* README: updates, and document API/ABI policy
-
-	* configure.in: reindentation
-
-2003-04-29  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus.h: add "you have to define DBUS_API_SUBJECT_TO_CHANGE
-	to use this library" to be sure people have the right
-	expectations.
-
-2003-04-28  Havoc Pennington  <hp at redhat.com>
-
-	* configure.in: add --enable-docs which by default is auto yes if
-	doxygen and db2html found, no otherwise; but can be forced on/off
-
-	* doc/Makefile.am: conditionalize whether to build docs on
-	--enable-docs
-
-2003-04-28  Havoc Pennington  <hp at redhat.com>
-
-	* configure.in: 0.10
-
-	* NEWS: update
-
-	* bus/system.conf.in: add <includedir>system.d</includedir>
-
-	* dbus/dbus-userdb.c (_dbus_user_database_lookup): fix bug when
-	username was provided but not uid
-
-	* bus/config-parser.c (struct BusConfigParser): keep track of
-	whether the parser is toplevel or was included; change some
-	of the error handling if it's included.
-
-2003-04-27  Havoc Pennington  <hp at pobox.com>
-
-	Unbreak my code...
-
-	* dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
-	report correct status if we finish processing authentication
-	inside this function.
-
-	* bus/activation.c (try_send_activation_failure): use
-	bus_transaction_send_error_reply
-
-	* bus/connection.c (bus_connection_get_groups): return an error
-	explaining the problem
-
-	* bus/bus.c (bus_context_check_security_policy): implement
-	restriction here that inactive connections can only send the
-	hello message. Also, allow bus driver to send anything to
-	any recipient.
-
-	* bus/connection.c (bus_connection_complete): create the
-	BusClientPolicy here instead of on-demand.
-	(bus_connection_get_policy): don't return an error
-
-	* dbus/dbus-message.c (dbus_message_new_error_reply): allow NULL
-	sender field in message being replied to
-
-	* bus/bus.c (bus_context_check_security_policy): fix silly typo
-	causing it to return FALSE always
-
-	* bus/policy.c (bus_client_policy_check_can_send): fix bug where
-	we checked sender rather than destination
-
-2003-04-25  Havoc Pennington  <hp at redhat.com>
-
-        test suite is slightly hosed at the moment, will fix soon
-
-	* bus/connection.c (bus_connections_expire_incomplete): fix to
-	properly disable the timeout when required
-	(bus_connection_set_name): check whether we can remove incomplete
-	connections timeout after we complete each connection.
-
-	* dbus/dbus-mainloop.c (check_timeout): fix this up a bit,
-	probably still broken.
-
-	* bus/services.c (bus_registry_acquire_service): implement max
-	number of services owned, and honor allow/deny rules on which
-	services a connection can own.
-
-	* bus/connection.c (bus_connection_get_policy): report errors here
-
-	* bus/activation.c: implement limit on number of pending
-	activations
-
-2003-04-25  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-transport.c (_dbus_transport_get_unix_user): fix bug
-	where we used >= 0 instead of != DBUS_UID_UNSET.
-
-2003-04-25  Havoc Pennington  <hp at redhat.com>
-
-	* glib/dbus-gmain.c (remove_watch): fix for a crash when watches
-	were toggled without add/remove, fix from Anders Gustafsson
-
-2003-04-24  Havoc Pennington  <hp at redhat.com>
-
-	* test/data/valid-config-files/basic.conf: add <limit> tags to
-	this test
-
-	* bus/config-parser.h, bus/config-parser.c, bus/bus.c: Implement
-	<limit> tag in configuration file.
-
-2003-04-24  Havoc Pennington  <hp at redhat.com>
-
-	* bus/dispatch.c: somehow missed some name_is
-
-	* dbus/dbus-timeout.c (_dbus_timeout_set_enabled)
-	(_dbus_timeout_set_interval): new
-
-	* bus/connection.c (bus_connections_setup_connection): record time
-	when each connection is first set up, and expire them after the
-	auth timeout passes.
-
-2003-04-24  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-message.c (dbus_message_name_is): rename
-	(dbus_message_service_is): rename
-	(dbus_message_sender_is): rename
-	(dbus_message_get_service): rename
-
-2003-04-24  Havoc Pennington  <hp at redhat.com>
-
-	* configure.in: add --enable-checks
-
-	* dbus/dbus-message.c (dbus_message_new): reverse name/service arguments
-
-	* dbus/dbus-connection.c (dbus_connection_preallocate_send): fix
-	to use thread locks.
-	(_dbus_connection_handler_destroyed_locked): move some private
-	functions into proper docs group
-
-	* dbus/dbus-internals.h: add _dbus_return_if_fail,
-	_dbus_return_val_if_fail
-
-	Throughout: use dbus_return_if_fail
-
-2003-04-23  James Willcox  <jwillcox at gnome.org>
-
-	* glib/dbus-glib.h:
-	* glib/dbus-gmain.c: (add_timeout), (wakeup_main), (create_source),
-	(dbus_connection_setup_with_g_main),
-	(dbus_server_setup_with_g_main):
-	* glib/test-dbus-glib.c: (main):
-	* glib/test-thread-client.c: (main):
-	* glib/test-thread-server.c: (new_connection_callback), (main):
-	* tools/dbus-monitor.c: (main):
-
-	Added a GMainContext argument to dbus_connection_setup_with_g_main()
-	and dbus_server_setup_with_g_main().
-
-2003-04-20  Havoc Pennington  <hp at pobox.com>
-
-	* doc/dbus-specification.sgml: document the restrictions on
-	message and service names
-
-2003-04-22  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-message.c, dbus/dbus-marshal.c: add 64-bit integer
-	support, and do some code cleanups to share more code and
-	speed up array marshal/demarshal.
-
-	* dbus-1.0.pc.in (Cflags): put libdir include file in cflags
-
-	* configure.in: generate dbus-arch-deps.h
-
-	* dbus/dbus-protocol.h (DBUS_TYPE_INT64, DBUS_TYPE_UINT64): add
-	64-bit typecodes
-
-2003-04-22  Havoc Pennington  <hp at redhat.com>
-
-	* test/data/valid-messages/opposite-endian.message: fix test
-	to use proper type for rply field
-
-        * test/data/invalid-messages: add tests for below validation
-
-	* dbus/dbus-message.c (decode_header_data): validate field types,
-	and validate that named fields are valid names
-	(decode_name_field): consider messages in the
-	org.freedesktop.Local. namespace to be invalid.
-
-	* dbus/dbus-string.c (_dbus_string_validate_name): new
-
-2003-04-19  Havoc Pennington  <hp at pobox.com>
-
-	* bus/driver.c (bus_driver_handle_hello): check limits and
-	return an error if they are exceeded.
-
-	* bus/connection.c: maintain separate lists of active and inactive
-	connections, and a count of each. Maintain count of completed
-	connections per user. Implement code to check connection limits.
-
-	* dbus/dbus-list.c (_dbus_list_unlink): export
-
-	* bus/bus.c (bus_context_check_security_policy): enforce a maximum
-	number of bytes in the message queue for a connection
-
-2003-04-18  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-auth.c (record_mechanisms): memleak fixes
-
-	* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): fix some
-	memleaks
-
-	* dbus/dbus-keyring.c (add_new_key): fix a memleak, and
-	on realloc be sure to update the pointer in the keyring
-
-	* dbus/dbus-string.c (_dbus_string_zero): compensate for align
-	offset to avoid writing to unallocated memory
-
-	* dbus/dbus-auth.c (process_rejected): return FALSE if we fail to
-	try the next mechanism, so we properly handle OOM
-
-	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): fix double-free
-	on OOM.
-	(_dbus_keyring_new): fix OOM bug
-	(_dbus_keyring_new_homedir): always set error; impose a maximum
-	number of keys we'll load from the file, mostly to speed up the
-	test suite and make its OOM checks more useful, but also for
-	general sanity.
-
-	* dbus/dbus-auth.c (process_error_server): reject authentication
-	if we get an error from the client
-	(process_cancel): on cancel, send REJECTED, per the spec
-	(process_error_client): send CANCEL if we get an error from the
-	server.
-
-2003-04-18  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-mainloop.c (_dbus_loop_iterate): fix UMR in verbose
-	debug spew
-
-	* dbus/dbus-auth.c (handle_client_data_cookie_sha1_mech): fix OOM
-	handling problem
-
-	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): only whine
-	about DBUS_TEST_HOMEDIR once
-
-	* bus/Makefile.am (TESTS_ENVIRONMENT): put DBUS_TEST_HOMEDIR in
-	the environment
-
-	* bus/dispatch.c (bus_dispatch_sha1_test): actually load sha1
-	config file so we test the right thing
-
-	Throughout: assorted docs improvements
-
-2003-04-18  Havoc Pennington  <hp at pobox.com>
-
-	* glib/dbus-gmain.c: adapt to watch changes
-
-	* bus/bus.c, bus/activation.c, etc.: adjust to watch changes
-
-	* dbus/dbus-server.h: remove dbus_server_handle_watch
-
-	* dbus/dbus-connection.h: remove dbus_connection_handle_watch
-
-	* dbus/dbus-watch.c (dbus_watch_handle): change DBusWatch to work
-	like DBusTimeout, so we don't need dbus_connection_handle_watch
-	etc.
-
-2003-04-17  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-userdb.c, dbus/dbus-sysdeps.c: redo all the passwd
-	database usage so it all goes via the DBusUserDatabase cache.
-
-2003-04-17  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-mainloop.c (_dbus_loop_iterate): fix logic so that if
-	there was an OOM watch we skipped, we always return TRUE so we
-	iterate again to have a look at it again. Fixes test suite hang.
-	Code rearrangement also lets us lose some memset and only iterate
-	over callbacks once.
-
-	* bus/driver.c (bus_driver_handle_message): sense of test for
-	reply was backward
-
-2003-04-16  Havoc Pennington  <hp at pobox.com>
-
-	* doc/dbus-specification.sgml: make spec say serials are unsigned
-
-	* dbus/dbus-message.h: change message serials to unsigned
-
-	* dbus/dbus-connection.c: adapt to message serials being unsigned
-
-2003-04-15  Havoc Pennington  <hp at pobox.com>
-
-	* bus/bus.c: create and keep around a shared DBusUserDatabase
-	object.
-
-	* bus/connection.c (bus_connection_get_groups): don't cache
-	groups for user in the connection object, since user database
-	object now does that.
-
-2003-04-16  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-message.c (_dbus_message_add_size_counter): keep a
-	list of size counters
-	(_dbus_message_loader_putback_message_link): put back a popped link
-
-	* dbus/dbus-connection.c
-	(dbus_connection_set_max_live_messages_size): rename
-	max_received_size
-	(dbus_connection_get_outgoing_size): get size of outgoing
-	queue
-	(_dbus_connection_set_connection_counter): remove this cruft
-
-2003-04-14  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-userdb.c: user database abstraction, mostly to get
-	caching, but at some point we might want to be able to use a
-	different database.
-
-	* bus/dispatch.c (bus_dispatch_sha1_test): add a test that uses
-	SHA1 conf file to test the sha1 auth mechanism, since the regular
-	test always uses EXTERNAL when available.
-
-	* configure.in,
-	test/data/valid-config-files/debug-allow-all-sha1.conf.in:
-	add conf file that requires use of sha1 auth
-
-2003-04-13  Havoc Pennington  <hp at pobox.com>
-
-        * tools/dbus-send.c, tools/dbus-monitor.c: two utility programs
-	from Philip Blundell to send messages and monitor them.
-
-2003-04-13  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-mainloop.c: fix some reentrancy issues by refcounting
-	callbacks
-
-	* test/data/valid-config-files/debug-allow-all.conf.in: allow all
-	users
-
-	* dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
-	fix to only recover unused bytes if we're already authenticated
-	(_dbus_transport_get_is_authenticated): fix to still mark us
-	authenticated if there are unused bytes.
-
-	* bus/dispatch.c: implement security policy checking
-
-	* bus/connection.c (bus_transaction_send_from_driver): new
-
-	* bus/bus.c (bus_context_check_security_policy): new
-
-	* bus/dispatch.c (send_service_nonexistent_error): delete this,
-	now we just set the DBusError and it gets converted to an error
-	reply.
-
-	* bus/connection.c (allow_user_function): enable code using actual
-	data from the config file
-
-	* bus/policy.c (list_allows_user): handle wildcard rules for
-	user/group connection perms
-
-2003-04-13  Havoc Pennington  <hp at pobox.com>
-
-	* bus/config-parser.c: Load up the BusPolicy and BusPolicyRules
-
-	* dbus/dbus-sysdeps.c (_dbus_get_user_id): new function
-
-	* bus/policy.c (bus_policy_append_mandatory_rule)
-	(bus_policy_append_default_rule, bus_policy_append_user_rule)
-	(bus_policy_append_group_rule): new functions
-
-2003-04-12  Havoc Pennington  <hp at pobox.com>
-
-	* bus/config-parser.c (bus_config_parser_new): fix a memleak
-
-	* dbus/dbus-sysdeps.c: change DBusCredentials to use longs for
-	the pid/gid/uid, just for paranoia.
-
-	* test/break-loader.c (randomly_do_n_things): find a byte
-	containing a type code, and randomly change it to a different
-	type code.
-
-2003-04-12  Havoc Pennington  <hp at pobox.com>
-
-	* bus/policy.h: change BusPolicy to be the thing from the config
-	file, and rename old BusPolicy to BusClientPolicy
-
-	* bus/bus.c, bus/connection.c, bus/config-parser.c: change to
-	match change in how policy works
-
-	* dbus/dbus-internals.h: mark assert_not_reached as
-	__attribute((noreturn))__
-
-2003-04-11  Havoc Pennington  <hp at redhat.com>
-
-	* doc/dbus-specification.sgml: fix a spot with the wrong name for
-	the broadcast service. Use boolean return for ServiceExists.
-
-2003-04-11  Havoc Pennington  <hp at redhat.com>
-
-	* configure.in: add another directory to look for qt in.
-
-2003-04-11  Havoc Pennington  <hp at redhat.com>
-
-	* AUTHORS: add Colin Walters
-
-2003-04-11  Havoc Pennington  <hp at redhat.com>
-
-	* NEWS: update
-
-	* configure.in: 0.9
-
-2003-04-11  Havoc Pennington  <hp at redhat.com>
-
-	* bus/messagebus.in: remove pid file when stopping the
-	message bus, since the bus won't have privileges to remove it
-	itself.
-
-2003-04-11  Havoc Pennington  <hp at redhat.com>
-
-	* bus/bus.c (bus_context_new): move credentials change after
-	creating pidfile
-
-2003-04-11  Havoc Pennington  <hp at pobox.com>
-
-	* test/decode-gcov.c: add "below average functions" to the
-	coverage report, and change how some of the code works.
-
-	* bus/test-main.c: bracket some stuff in DBUS_BUILD_TESTS so it's
-	not in the coverage stats.
-
-	* test/test-service.c (main): use _dbus_verbose not fprintf in a
-	couple places so running the test suite doesn't result in megaspam.
-
-2003-04-11  Havoc Pennington  <hp at pobox.com>
-
-	* bus/dispatch.c (check_existent_service_activation): accept a no
-	memory error in a place we didn't before
-
-	* bus/test.c (bus_test_run_everything): remove hacky "do it twice
-	in case the first one failed," since the test suite is less
-	broken now.
-
-2003-04-10  Havoc Pennington  <hp at pobox.com>
-
-	* bus/dispatch.c (check_segfault_service_activation): add test
-	for launching an executable that just crashes.
-
-	* test/test-segfault.c (main): try setting coredumpsize to 0 so we
-	don't leave a million cores. We'll see how portable this is.
-
-2003-04-10  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): move all
-	the possible parent failures before we fork, so that we don't
-	fail to create a babysitter after creating the child.
-
-	* bus/activation.c (bus_activation_activate_service): kill child
-	if we don't successfully complete the activation.
-
-2003-04-10  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-connection.c (dbus_connection_flush): don't spin on
-	the connection if it's disconnected
-
-	* bus/activation.c (bus_activation_service_created): use new
-	transaction features to roll back removal of pending activation if
-	we don't successfully create the service after all. Don't remove
-	pending activation if the function fails.
-
-	* dbus/dbus-list.c (_dbus_list_insert_before_link)
-	(_dbus_list_insert_after_link): new code to facilitate
-	services.c fixes
-
-	* dbus/dbus-hash.c (_dbus_hash_table_insert_string_preallocated):
-	new functionality, so we can preallocate the ability to insert
-	into a hash table.
-
-	* bus/connection.c (bus_transaction_add_cancel_hook): new function
-	allowing us to put custom hooks in a transaction to be used for
-	cancelling said transaction
-
-	* doc/dbus-specification.sgml: add some discussion of secondary
-	service owners, and disallow zero-length service names
-
-	* bus/services.c (bus_registry_acquire_service): new function,
-	splits out part of bus_driver_handle_acquire_service() and fixes
-	a bug where we didn't remove the service doing the acquiring
-	from the secondary queue if we failed to remove the current owner
-	from the front of the queue.
-
-2003-04-10  Alexander Larsson  <alexl at redhat.com>
-
-	* doc/dbus-specification.sgml:
-	s/org.freedesktop.Broadcast/org.freedesktop.DBus.Broadcast/
-
-2003-04-10  Alexander Larsson  <alexl at redhat.com>
-
-	* bus/.cvsignore:
-	* glib/.cvsignore:
-	* test/.cvsignore:
-	Added files to cvsignore
-
-	* dbus/dbus-message.h:
-	* dbus/dbus-message.c: (dbus_message_iter_get_named):
-	Make get_named() take two out argument and return a boolean.
-	(dbus_message_iter_get_args_valist):
-	Update usage of get_named().
-	(dbus_message_iter_append_byte):
-	Fix typo
-	(dbus_message_iter_append_named)
-	Fix typo
-	(message_iter_test), (check_message_handling_type), (_dbus_message_test):
-	More tests.
-
-2003-04-10  Alexander Larsson  <alexl at redhat.com>
-
-	* dbus/dbus-marshal.[ch]:
-	Add array_type_pos argument to _dbus_marshal_validate_arg.
-	Let you pass a NULL end_pos to _dbus_marshal_validate_type.
-
-	* dbus/dbus-message.[ch]:
-	Multi-dimensional arrays have full type specification in the
-	outermost array. Iter code re-arranged to handle this.
-	Added some more iter tests.
-
-	* doc/dbus-specification.sgml:
-	Add me to authors.
-	Remove old FIXME.
-	Update new array encoding description.
-	Correct DBUS_SERVICE_FLAGS_REPLACE_EXISTING description.
-
-	* test/data/invalid-messages/array-with-mixed-types.message:
-	* test/data/valid-messages/array-of-array-of-uint32.message:
-	Change to the new array format.
-
-	* test/data/invalid-messages/too-short-dict.message:
-	Fix bug in test.
-
-	* test/data/valid-messages/recursive-types.message:
-	Fix up and extend test.
-
-2003-04-10  Havoc Pennington  <hp at pobox.com>
-
-	* bus/dispatch.c: lots of fixes
-
-	* dbus/dbus-mainloop.c (_dbus_loop_dispatch): export
-	(_dbus_loop_iterate): remove old "quit if no callbacks" code,
-	that was crack, broke the test service.
-
-	* dbus/dbus-transport.c (_dbus_transport_open): fix error
-	handling to avoid piling up errors if we get a failure on the
-	first address.
-
-	* dbus/dbus-internals.c (_dbus_real_assert_not_reached): include
-	pid in assertion failures.
-
-	* dbus/dbus-mainloop.c (_dbus_loop_iterate): use static arrays up
-	to some fixed size of file descriptor array. Don't return TRUE
-	anytime a timeout exists, that led to lots of busy loop silliness
-	in the tests.
-
-2003-04-09  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-mainloop.c (check_timeout): fix timeouts, I thought
-	I'd checked this in earlier but hadn't.
-
-2003-04-09  Havoc Pennington  <hp at redhat.com>
-
-	* bus/dispatch.c (bus_dispatch_test): get a bit further through
-	the activation test (man this is getting old!)
-
-2003-04-09  Havoc Pennington  <hp at redhat.com>
-
-	* test/test-utils.c: use dispatch status function to fix this up
-
-	* bus/connection.c (connection_watch_callback): don't dispatch
-	from here
-	(connection_timeout_callback): don't dispatch from here
-	(bus_connections_setup_connection): set the dispatch status function
-	(bus_connection_disconnected): unset it
-
-	* dbus/dbus-mainloop.c (_dbus_loop_queue_dispatch): new function
-	used to add a connection to be dispatched
-	(_dbus_loop_iterate): do the dispatching at the end of each
-	iteration
-
-	* dbus/dbus-connection.c
-	(dbus_connection_set_dispatch_status_function): new function
-	allowing us to fix up main loop usage
-	(_dbus_connection_last_unref): free all the various function
-	user data
-	(dbus_connection_dispatch): call the DispatchStatusFunction
-	whenever this function returns
-	(dbus_connection_handle_watch): call DispatchStatusFunction
-	(dbus_connection_send_with_reply_and_block): call DispatchStatusFunction
-	(reply_handler_timeout): call DispatchStatusFunction
-	(dbus_connection_flush): call DispatchStatusFunction
-
-2003-04-09  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-bus.c (dbus_bus_register): fix up error handling and
-	a memory leak
-
-	* bus/dispatch.c (check_service_activated): fix bug in test
-
-	* dbus/dbus-mainloop.c (check_timeout): fix this up
-
-	* dbus/dbus-internals.c (_dbus_verbose_real): include PID in
-	verbose output so we can sort out output from different processes,
-	e.g. in the activation case.
-
-2003-04-08  Colin Walters  <walters at gnu.org>
-
- 	* bus/bus.c (struct BusContext) [pidfile]: New member, to store
- 	the pid file.
- 	(bus_context_new): Set it.
- 	(bus_context_unref): Use it to delete the pid file.
-
-2003-04-08  Havoc Pennington  <hp at redhat.com>
-
-	* test/data/invalid-messages/array-with-mixed-types.message:
-	regression test that fails for the moment
-
-	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): reorder
-	tests for convenience
-
-	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): don't allow
-	array of nil, it broke things.
-
-	* test/data/invalid-messages/array-of-nil.message: regression test
-
-	* test/data/valid-messages/array-of-array-of-uint32.message:
-	happened to write this so added it to suite
-
-2003-04-08  Havoc Pennington  <hp at redhat.com>
-
-	* bus/driver.c (bus_driver_handle_acquire_service): init
-	retval/reply before checking name
-
-	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add a
-	recursion depth argument
-
-	* dbus/dbus-message.h (struct DBusMessageIter): put some padding
-	in the public struct for future extension
-
-	* dbus/dbus-message-builder.c (_dbus_message_data_load): fix
-	typo
-
-	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix a verbose
-	message
-
-	* doc/dbus-specification.sgml: fix typo
-
-2003-04-08  Alexander Larsson  <alexl at redhat.com>
-
-	Implemented recursive types, named types and new-style iters
-
-	* bus/driver.c:
-	* glib/test-thread-client.c: (thread_func):
-	* glib/test-thread-server.c: (handle_test_message):
-	* test/test-service.c: (handle_echo):
-	Update to new api
-
-	* dbus/Makefile.am:
-	* dbus/dbus-dict.c:
-	* dbus/dbus-dict.h:
-	* dbus/dbus.h
-	Remove DBusDict
-
-	* dbus/dbus-internals.c: (_dbus_type_to_string):
-	Update for new types.
-
-	* dbus/dbus-marshal.[ch]:
-	Implement recursive types and the new marshalling format.
-	Remove hardcoded dict marshalling.
-	Marshal named types.
-
-	* dbus/dbus-message-builder.c:
-	Add BYTE_ARRAY.
-	Remove references to old types
-
-	* dbus/dbus-message.[ch]:
-	New non-refcounted iter API that supports recursive iters.
-	Use iters for appending, including support for recursive
-	iters.
-	Add byte and named type support.
-	Update everything to new marshalling formats.
-	Add tests for new API.
-
-	* dbus/dbus-protocol.h:
-	Remove old array types.
-	Add types: BYTE, ARRAY, DICT, NAMED
-
-	* dbus/dbus-string.c:
-	* dbus/dbus-sysdeps.c:
-	Make parse_double locale safe.
-
-	* dbus/dbus-test-main.c:
-	Call setlocale.
-
-	* dbus/dbus-test.c:
-	Kill dict test
-
-	* doc/dbus-specification.sgml:
-	Update spec
-
-	* test/data/incomplete-messages/missing-body.message:
-	* test/data/invalid-messages/bad-boolean.message:
-	* test/data/invalid-messages/bad-boolean-array.message:
-	* test/data/invalid-messages/boolean-array-length-too-long.message-raw:
-	* test/data/invalid-messages/boolean-has-no-value.message-raw:
-	* test/data/invalid-messages/too-short-dict.message:
-	* test/data/valid-messages/dict-simple.message:
-	* test/data/valid-messages/dict.message:
-	* test/data/valid-messages/emptiness.message:
-	* test/data/valid-messages/lots-of-arguments.message:
-	* test/data/valid-messages/no-padding.message:
-	* test/data/valid-messages/recursive-types.message:
-	Add missing NAME fields
-	Fix up dicts & arrays
-
-	* test/data/invalid-messages/dict-with-nil-value.message:
-	Removed, this is not invalid anymore.
-
-	* test/data/valid-messages/recursive-types.message:
-	Add new test for deeply recursive types.
-
-2003-04-07  Havoc Pennington  <hp at pobox.com>
-
-	* bus/driver.c (bus_driver_handle_acquire_service): return an
-	error if you try to acquire a service that starts with ':'
-
-2003-04-07  Havoc Pennington  <hp at redhat.com>
-
-	* doc/dbus-specification.sgml: require that base service names
-	start with ':' and that the base service is created/deleted
-	as first and last things a connection does on the bus
-
-	* bus/dispatch.c (check_existent_service_activation): lots more
-	work on the activation test; it doesn't fully pass yet...
-
-	* test/test-service.c (main): fix so we don't memleak the
-	connection to the message bus
-	(filter_func): accept a message asking us to exit
-
-2003-04-06  Havoc Pennington  <hp at pobox.com>
-
-	* qt/Makefile.am (dbusinclude_HEADERS): install dbus-qt.h,
-	from Colin Walters
-
-	* configure.in: fixes to Qt detection from Colin Walters
-
-	* doc/Makefile.am: Only remove generated docbook dirs if they
-	exist, from Colin Walters
-
-	* dbus/dbus-bus.c: change how we set well-known connections to
-	NULL, so that it works if a single connection is stored in
-	two well-known array slots.
-
-	* test/Makefile.am: remove a lot of stuff that isn't immediately
-	useful, it's in CVS history if we want it.
-
-	* test/test-service.c: use dbus-mainloop instead of that
-	watch.[hc] crack
-
-2003-04-06  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/Makefile.am: split lists of sources into stuff that goes in
-	the library, util functions that go in the lib and are also used
-	elsewhere, and util functions that are used in tests/daemon but
-	don't go in the lib.
-
-	* dbus/dbus-mainloop.h, dbus/dbus-mainloop.c: move bus/loop.[hc]
-	here so it can be used in test binaries also
-
-2003-04-06  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-sysdeps.c (_dbus_become_daemon): write the pidfile
-	here in the parent process, so we can return an error if it
-	fails. Also, move some of the code into the child so the parent
-	is less hosed if we fail midway through.
-
-	* bus/bus.c (bus_context_new): move pidfile detection further up
-	in the function, before we start overwriting sockets and such.
-
-	* bus/messagebus.in: adjust this a bit, not sure if it will work.
-
-	* configure.in: add --with-system-pid-file and --with-system-socket
-
-2003-04-06  Colin Walters  <walters at verbum.org>
-
-	* configure.in (DBUS_SYSTEM_PID_FILE): New variable.
-
-	* bus/system.conf.in: Declare a pidfile.
-
-	* bus/bus.c (bus_context_new): Test for an existing pid file, and
-	create one (if appropriate).
-
-	* bus/config-parser.c (enum ElementType) [ELEMENT_PIDFILE]: New.
-	(struct BusConfigParser) [pidfile]: New.
-	(element_type_to_name, merge_included, start_busconfig_child)
-	(bus_config_parser_end_element, bus_config_parser_content): Handle it.
-	(bus_config_parser_unref): Free it.
-	(bus_config_parser_get_pidfile): New function.
-
-	* bus/config-parser.h (_dbus_write_pid_file): Prototype.
-
-	* dbus/dbus-errors.h (DBUS_ERROR_PIDFILE_EXISTS): New error.
-
-	* dbus/dbus-sysdeps.c (_dbus_write_pid_file): New function.
-
-	* dbus/dbus-sysdeps.h: Prototype it.
-
-2003-04-06  Havoc Pennington  <hp at pobox.com>
-
-	* bus/bus.c (bus_context_new): print the address in here, rather
-	than in main(), because we need to do it before forking the daemon
-
-	* bus/dispatch.c (send_service_nonexistent_error): set the sender
-	on the service nonexistent error
-
-	* bus/driver.c (bus_driver_handle_acquire_service): set the
-	sender on the AcquireService reply
-
-	* test/data/valid-config-files/debug-allow-all.conf.in: Make test
-	server also listen on a UNIX socket so services can connect to it.
-
-2003-04-06  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-threads.c: Redo how the fake debug mutexes are done
-	so it detects deadlocks and also we actually init threads when
-	debugging.
-
-2003-04-06  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
-	save the domain socket name, and unlink it when we disconnect the
-	server. Means that at least when we exit normally, we won't leave
-	a bunch of junk in /tmp
-
-	* dbus/dbus-transport-unix.c
-	(_dbus_transport_new_for_domain_socket): code cleanup (nicer
-	memory management). (I was making a real change here but then
-	didn't)
-
-2003-04-06  Havoc Pennington  <hp at pobox.com>
-
-	* bus/bus.c (bus_context_new): fix wrong handling of
-	server_data_slot_unref() in the error case.
-
-	* dbus/dbus-internals.h (_dbus_assert): change so it passes
-	"(condition) != 0" to _dbus_real_assert so that
-	"_dbus_assert (pointer)" doesn't cause a warning
-
-	* bus/main.c (main): accept --print-address option to print out
-	the message bus address
-
-	* dbus/dbus-sysdeps.c (_dbus_generate_random_ascii): export this
-
-	* dbus/dbus-transport.c (_dbus_transport_open): special error for
-	"tmpdir" option to unix: address on client side
-
-	* dbus/dbus-server.c (dbus_server_listen): handle "tmpdir" option
-	to unix: address
-
-	* configure.in (TEST_SOCKET_DIR): locate a temporary directory
-	we can use to create sockets in the test suite.
-
-	* bus/main.c (signal_handler): on SIGTERM, exit the daemon
-	cleanly. To be used for testing.
-
-	* dbus/dbus-spawn.c (babysit): use _dbus_set_signal_handler()
-
-	* dbus/dbus-sysdeps.c (_dbus_set_signal_handler): new
-
-	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
-	handle trying to call this when there's no servers active
-
-2003-04-05  Havoc Pennington  <hp at pobox.com>
-
-	* NEWS: update
-
-	* configure.in: 0.8
-
-2003-04-05  Havoc Pennington  <hp at pobox.com>
-
-	* bus/bus.c (setup_server): fix this so dbus-daemon-1 doesn't
-	crash on startup. Need to get "try starting the daemon"
-	in the test suite I guess. ;-)
-
-	* dbus/dbus-server.h, dbus/dbus-server.c: remove the stuff that
-	tracked the number of open connections; it's better done in
-	application-specific code as you want it to span all servers etc.
-
-2003-04-05  Havoc Pennington  <hp at pobox.com>
-
-	* bus/Makefile.am (install-data-hook): add missing DESTDIR,
-	patch from Colin Walters
-
-2003-04-05  Havoc Pennington  <hp at pobox.com>
-
-	* doc/config-file.txt (Elements): fix docs of <auth> to reflect
-	reality; in fact multiple mechanisms are allowed.
-
-	* dbus/dbus-internals.c (_dbus_real_assert)
-	(_dbus_real_assert_not_reached): move guts of _dbus_assert() and
-	_dbus_assert_not_reached() into functions, so that they don't show
-	up in basic block counts for test coverage, and don't use up as
-	much disk space. Does mean slower execution speed though, so
-	assumes --disable-asserts is the normal production case.
-
-2003-04-05  Havoc Pennington  <hp at pobox.com>
-
-	* test/Makefile.am (dist-hook): also dist *.in files
-
-	* NEWS: update
-
-	* configure.in: 0.7
-
-2003-04-05  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-string.c: docs warning
-
-	* dbus/dbus-spawn.c: missing docs
-
-	* dbus/dbus-memory.c (struct ShutdownClosure): missing docs
-
-2003-04-05  Havoc Pennington  <hp at pobox.com>
-
-	* bus/loop.c (bus_loop_iterate): fix the timeout code, using
-	magic from GLib
-
-	* dbus/dbus-spawn.c (_dbus_babysitter_unref): set sitter_pid
-	to -1 once we've reaped the babysitter
-	(_dbus_babysitter_handle_watch): do as much work as we can, not
-	just one go of it
-
-	* bus/activation.c: add code using DBusBabysitter so that we
-	handle it when a service fails to start up properly.
-	(bus_activation_service_created): don't remove the activation
-	entries as we go, just let them get removed when we free the pending
-	activation. Unref reply messages after sending them.
-
-2003-04-05  Havoc Pennington  <hp at pobox.com>
-
-	* test/decode-gcov.c (main): print per-directory stats in the report
-
-	* Makefile.am (coverage-report.txt): don't include test/* in gcov stats
-
-2003-04-05  Havoc Pennington  <hp at pobox.com>
-
-	* Makefile.am (coverage-report.txt): add target "coverage-report.txt"
-
-	* test/decode-gcov.c: hack up a little program to suck data
-	out of gcov files. Yes this is sort of silly.
-
-	* configure.in: define something in config.h and do an
-	AM_CONDITIONAL when gcov is enabled
-
-2003-04-04  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-spawn.c, dbus/dbus-spawn.h: Change dbus_spawn to
-	return a "babysitter" object that is used to monitor the status of
-	the spawned process and reap it when required.
-
-	* test/test-segfault.c, test/test-exit.c,
-	test/test-sleep-forever.c: binaries that do various lame things,
-	used in the test suite.
-
-	* dbus/dbus-sysdeps.c: kill _dbus_errno_to_string()
-
-2003-04-03  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-spawn.c: Move dbus-spawn into a separate file
-	in preparation for modifying it, dbus-sysdeps is getting
-	a bit unmanageable.
-
-2003-04-03  Havoc Pennington  <hp at redhat.com>
-
-	* bus/loop.h, bus/loop.c: make the mainloop an object so we can
-	have multiple ones
-
-	* bus/*.[hc]: adapt to mainloop change
-
-2003-04-03  Havoc Pennington  <hp at redhat.com>
-
-	* bus/activation.c (load_directory): fix up memleaks
-	(bus_activation_entry_free): free the entry
-
-	* dbus/dbus-bus.c (dbus_bus_acquire_service): return an error if
-	we get one from the message bus; fix memleaks.
-
-	* dbus/dbus-message.c (dbus_set_error_from_message): new function
-
-2003-04-03  Havoc Pennington  <hp at pobox.com>
-
-	* bus/config-parser.c (bus_config_parser_unref): free
-	list of mechanisms, bug discovered by test suite enhancements
-	(putting system.conf and session.conf into suite)
-
-	* test/Makefile.am, test/test-service.c: add placeholder for a
-	test service that we'll activate as part of test suite. Doesn't
-	do anything yet.
-
-	* dbus/dbus-sysdeps.c (_dbus_setenv): support unsetenv by
-	setting NULL value, and use system malloc not dbus_malloc()
-	when we have unavoidable memleakage.
-
-	* dbus/dbus-bus.c (dbus_bus_get): fix bug where bus type of 0
-	didn't work, and support DBUS_BUS_ACTIVATION.
-
-	* bus/activation.c (child_setup): pass our well-known bus type to
-	the child
-
-	* bus/config-parser.c: support <type> to specify well-known type
-
-	* doc/dbus-specification.sgml: document the env variables to
-	locate well-known buses and find service activator
-
-2003-04-02  Havoc Pennington  <hp at redhat.com>
-
-	* test/Makefile.am (all-local): add a rule to copy tests to
-	builddir, so we can have generated tests. Use this to remove the
-	silly hack for testing system.conf and session.conf. Will use this
-	shortly to generate .service files pointing to test binaries.
-
-2003-04-02  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-string.c (set_length): fix a bug - we allocated max of
-	current alloc and needed new length, not max of the doubled
-	allocation and needed new length. Also, when building tests,
-	don't do the double-allocation stuff, just realloc every time.
-
-2003-04-02  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-sysdeps.c (_dbus_file_get_contents): include filenames
-	in error messages
-	(_dbus_string_get_dirname): new
-	(_dbus_sysdeps_test): new
-	(_dbus_directory_open): include dirnames in error messages
-
-	* bus/config-parser.c: interpret <include> and <includedir> and
-	<servicedir> relative to config file location if the given
-	filename is not absolute.
-
-	* dbus/dbus-string.c (_dbus_string_find_byte_backward): new
-
-2003-04-02  Havoc Pennington  <hp at redhat.com>
-
-	* bus/connection.c (bus_transaction_send_error_reply): set sender
-	service for the error, and unref the reply on success
-
-	* bus/activation.c: convert to use BusTransaction so OOM can be
-	handled correctly
-	(bus_activation_service_created): set sender of the message
-
-2003-04-01  Havoc Pennington  <hp at redhat.com>
-
-	* bus/config-parser.c, bus/bus.c: implement <servicedir> and
-	<includedir> (at least mostly)
-
-	* dbus/dbus-sysdeps.c (_dbus_change_identity): set the group ID
-	first, then the user ID
-
-2003-04-01  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-server.c (dbus_server_set_auth_mechanisms): new
-	function
-
-	* dbus/dbus-auth.c (_dbus_auth_set_mechanisms): new
-
-	* dbus/dbus-internals.c (_dbus_dup_string_array): new function
-
-	* dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): chmod the
-	socket 0777, and unlink any existing socket.
-
-	* bus/bus.c (bus_context_new): change our UID/GID and fork if
-	the configuration file so specifies; set up auth mechanism
-	restrictions
-
-	* bus/config-parser.c (bus_config_parser_content): add support
-	for <fork> option and fill in code for <auth>
-
-	* bus/system.conf.in: add <fork/> to default configuration,
-	and limit auth mechanisms to EXTERNAL
-
-	* doc/config-file.txt (Elements): add <fork>
-
-	* dbus/dbus-sysdeps.c (_dbus_become_daemon): new function
-	(_dbus_change_identity): new function
-
-2003-03-31  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-sysdeps.c (_dbus_connect_unix_socket)
-	(_dbus_listen_unix_socket): fix off-by-one error in null
-	termination spotted by Nalin
-
-2003-03-31  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): allow setting
-	DBUS_TEST_HOMEDIR when tests are enabled, so we can test without
-	having a real home directory available.
-
-2003-03-31  Havoc Pennington  <hp at redhat.com>
-
-	* bus/Makefile.am (install-data-hook): create /var/run/dbus
-
-	* bus/messagebus.in: add init script for Red Hat /etc/init.d
-
-	* configure.in: add support for specifying a style of init script
-	to install
-
-2003-03-31  Havoc Pennington  <hp at redhat.com>
-
-        Fix some annoying DBusString API and fix all affected code.
-
-	* dbus/dbus-string.c (_dbus_string_init): get rid of annoying
-	max_length argument
-	(_dbus_string_get_data): change to return string instead of using
-	an out param
-	(_dbus_string_get_const_data): ditto
-	(_dbus_string_get_data_len): ditto
-	(_dbus_string_get_const_data_len): ditto
-
-2003-03-31  Havoc Pennington  <hp at redhat.com>
-
-	* bus/main.c (main): fix up the command line arguments to be nicer
-
-2003-03-31  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/Makefile.am (INCLUDES): use EXPANDED_LOCALSTATEDIR to
-	define DBUS_SYSTEM_BUS_PATH as we want to compile in the same
-	final location that lands in the config file
-
-	* bus/config-loader-expat.c (bus_config_load): fix type of
-	XML_Parser variable
-
-	* doc/TODO: remove TODO item for dbus_bus_get()
-
-	* dbus/dbus-bus.c (bus_data_free): add missing lock/unlock
-
-2003-03-31  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket)
-	(_dbus_transport_new_for_tcp_socket): these didn't need the "server"
-	argument since they are always client side
-
-	* dbus/dbus-server.c (dbus_server_get_address): new function
-
-	* bus/main.c (main): take the configuration file as an argument.
-
-	* test/data/valid-config-files/debug-allow-all.conf: new file to
-	use with dispatch.c tests for example
-
-	* bus/test-main.c (main): require test data dir
-
-	* bus/bus.c (bus_context_new): change this to take a
-	configuration file name as argument
-
-	* doc/config-file.txt (Elements): add <servicedir>
-
-	* bus/system.conf, bus/session.conf: new files
-
-	* dbus/dbus-bus.c (dbus_bus_get): look for system bus on
-	well-known socket if none set
-
-	* configure.in: create system.conf and session.conf
-
-2003-03-30  Havoc Pennington  <hp at pobox.com>
-
-	* bus/config-parser.c: hacking
-
-	* dbus/dbus-memory.c: don't use DBusList for the list of stuff
-	to shut down, since it could cause weirdness with the DBusList
-	lock
-
-	* dbus/dbus-list.c (_dbus_list_test): add tests for the
-	link-oriented stack routines
-	(alloc_link): free the mempool if the first alloc from it fails
-
-	* dbus/dbus-mempool.c (struct DBusMemBlock): fix alignment issue
-
-	* dbus/dbus-string.c (UNICODE_VALID): sync new version of this
-	from GLib
-	(_dbus_string_skip_white): new
-
-	* doc/config-file.txt (Elements): add <includedir>
-
-2003-03-28  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-string.c (_dbus_string_copy_data_len)
-	(_dbus_string_copy_data): new functions
-
-2003-03-28  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-bus.c: (bus_data_free), (dbus_bus_get):
-	* dbus/dbus-bus.h:
-	Add dbus_bus_get.
-
-	* dbus/dbus-memory.c:
-	Fix a doc comment.
-
-2003-03-28  Havoc Pennington  <hp at pobox.com>
-
-	* bus/test.c (bus_test_flush_bus): remove the sleep from here,
-	I think it may have just been superstition. Not sure.
-
-	* dbus/dbus-string.c (_dbus_string_base64_decode): catch some OOM
-	failures that were not being handled.
-
-	* dbus/dbus-auth.c (process_auth): fix a memleak in OOM handling
-
-	* dbus/dbus-memory.c: add ability to set number of mallocs in a
-	row that will fail on out-of-memory.
-
-	* dbus/dbus-internals.c (_dbus_test_oom_handling): convenience
-	function for testing out-of-memory handling.
-
-	* bus/config-loader-expat.c (memsuite): don't wrap the dbus
-	allocation functions, they do map exactly to the expat ones.
-
-2003-03-27  Havoc Pennington  <hp at redhat.com>
-
-	* bus/config-loader-libxml.c (bus_config_load): add another error
-	check
-
-2003-03-26  Anders Carlsson  <andersca at codefactory.se>
-
-	* doc/TODO:
-	Add note about automatic service activation.
-
-	* doc/dbus-specification.sgml:
-	Rename the specification and clarify a few things.
-
-2003-03-26  Anders Carlsson  <andersca at codefactory.se>
-
-	* Doxyfile.in:
-	* dbus/dbus-address.c:
-	* dbus/dbus-dict.c:
-	* dbus/dbus-marshal.c:
-	* dbus/dbus-server-debug-pipe.c:
-	* dbus/dbus-transport-unix.c:
-	Fix documentation warnings.
-
-2003-03-26  Havoc Pennington  <hp at pobox.com>
-
-	* bus/test-main.c, dbus/dbus-test.c (main): check memleaks
-	after every test so it's quick and easy to see which leaked, and
-	so we test multiple dbus_shutdown() calls
-
-	* configure.in: change configure.in XML stuff to also support
-	expat
-
-	* config-loader-libxml.c: some hacking
-
-	* config-loader-expat.c: some hacking
-
-	* config-parser.c: some hacking, plus tests
-
-2003-03-25  Havoc Pennington  <hp at redhat.com>
-
-        * throughout - add more _DBUS_ASSERT_ERROR_IS_CLEAR
-
-	* configure.in: add --with-xml option to specify XML library,
-	right now only libxml is supported.
-
-	* bus/config-loader-libxml.c, config-parser.c: sync some minor
-	nonworking code between home and work, still just stubs
-
-2003-03-24  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-sysdeps.c (_dbus_set_fd_nonblocking): move to this
-	file
-
-	* dbus/dbus-errors.c (dbus_set_error, dbus_set_error_const): allow
-	NULL argument for "message" if the error is a well-known one,
-	fill in a generic message in this case.
-
-	* dbus/dbus-errors.h (DBusResultCode): Kill DBusResultCode in
-	favor of DBusError
-
-	* bus/test.c (bus_test_flush_bus): add
-
-	* bus/policy.c (bus_policy_test): test code stub
-
-2003-03-24  Havoc Pennington  <hp at pobox.com>
-
-	* bus/connection.c (bus_connections_setup_connection): set up
-	the "can this user connect" function, but it always returns
-	TRUE until we have a config file parser so we can have a config
-	file that allows connections.
-
-2003-03-23  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-threads.c (dbus_mutex_new, dbus_condvar_new): with
-	DBUS_BUILD_TESTS, actually alloc/free a block of memory for
-	the mutex, so we can check for proper memory management
-	and OOM handling.
-
-	* dbus/dbus-dataslot.c: remove the mutex from
-	DBusDataSlotAllocator and lock it manually when using it,
-	to simplify fitting it into the global slots framework.
-
-	* dbus/dbus-threads.c (init_static_locks): rework how we're
-	handling global locks so they are easily shut down.
-
-	* bus/policy.c (bus_policy_append_rule): fix
-
-	* bus/test-main.c (main): check for memleaks
-
-	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): make
-	test suite check for memleaks
-
-	* dbus/dbus-memory.c: add support in test mode for tracking
-	number of outstanding blocks
-
-2003-03-23  Havoc Pennington  <hp at pobox.com>
-
-	* bus/policy.c, bus/bus.c, bus/connection.c: implement allow/deny
-	policies code
-
-	* dbus/dbus-hash.h: add ULONG hash keys
-
-	* dbus/dbus-sysdeps.c (_dbus_get_groups): new
-	(_dbus_get_group_id): new function
-
-2003-03-20  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-connection.c (dbus_connection_set_unix_user_function):
-	new function
-	(dbus_connection_get_unix_user): new function
-
-2003-03-20  Havoc Pennington  <hp at pobox.com>
-
-	* bus/connection.c (bus_connection_send_oom_error): assert that
-	message has a sender
-	(connection_execute_transaction): ditto
-	(bus_connection_preallocate_oom_error): fix to set the sender, and
-	set recipient to the destination service, not the bus driver
-
-	* bus/policy.c: hacking
-
-	* dbus/dbus-message.c (dbus_message_service_is): new function
-	(dbus_message_sender_is): new
-
-2003-03-19  Havoc Pennington  <hp at redhat.com>
-
-	* bus/policy.c: start sketching code for policy restrictions on
-	what connections can do.
-
-2003-03-18  Havoc Pennington  <hp at redhat.com>
-
-	* doc/TODO: some notes on high-level todo items. Little nitpick
-	stuff is all in @todo, so no need to add it here.
-
-	* doc/config-file.txt: some notes on how config file might look
-
-2003-03-18  Anders Carlsson  <andersca at codefactory.se>
-
-	* configure.in: 0.6
-
-	* NEWS: Update.
-
-2003-03-17  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-internals.h: add gcc attributes so that
-	our printf-style functions warn on bad arguments to
-	format
-
-	* dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix printf
-	format bug
-
-	* dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
-	printf format bug
-
-2003-03-17  Havoc Pennington  <hp at redhat.com>
-
-	* bus/test-main.c (main): make it print something as it runs
-	so make check doesn't look stuck
-
-	* doc/negotiation.txt, doc/dbus-sasl-profile.txt: remove
-	from CVS, now obsolete
-
-2003-03-17  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/dispatch.c: (bus_dispatch):
-	Refetch the service name since it may have been reallocated
-	when dbus_message_set_sender was called.
-
-	* dbus/dbus-sysdeps.c: (_dbus_accept):
-	Add address and address length variables and use them to stop
-	valgrind from complaining.
-
-2003-03-17  Havoc Pennington  <hp at pobox.com>
-
-	All tests pass, no memleaks, no valgrind complaints.
-
-	* bus/test.c: refcount handler_slot
-
-	* bus/connection.c (bus_connections_new): refcount
-	connection_data_slot
-
-	* dbus/dbus-auth-script.c (_dbus_auth_script_run): delete unused
-	bytes so that auth scripts pass.
-
-	* bus/dispatch.c: init message_handler_slot so it gets allocated
-	properly
-
-	* bus/dispatch.c (message_handler_slot_ref): fix memleak
-
-	* dbus/dbus-server-debug-pipe.c (_dbus_server_debug_pipe_new):
-	dealloc server_pipe_hash when no longer used for benefit of
-	leak checking
-
-	* dbus/dbus-auth.c (process_command): memleak fix
-
-	* bus/dispatch.c (check_hello_message): memleak fix
-
-2003-03-16  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-bus.c (ensure_bus_data): fix double-unref of the data slot
-
-2003-03-17  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/activation.c (bus_activation_activate_service): Append
-	the pending activation entry to the list of pending activations.
-
-2003-03-16  Havoc Pennington  <hp at pobox.com>
-
-	* bus/dispatch.c (bus_dispatch_test): remove double-unrefs of
-	connections
-
-	* dbus/dbus-address.c (create_entry): fix OOM handling when
-	failing to alloc entry->method
-
-2003-03-16  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-watch.c (_dbus_watch_new): handle failure to malloc
-	the watch
-
-	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
-	add some missing dbus_set_result
-
-	* bus/dispatch.c (bus_dispatch_add_connection): handle failure to
-	alloc the DBusMessageHandler
-
-	* dbus/dbus-transport.c (_dbus_transport_disconnect): don't ref
-	the transport here, since we call this from the finalizer; it
-	resulted in a double-finalize.
-
-	* dbus/dbus-transport.c (_dbus_transport_disconnect): fix a bug
-	where we tried to use transport->connection that was NULL,
-	happened when transport was disconnected early on due to OOM
-
-	* bus/*.c: adapt to handle OOM for watches/timeouts
-
-	* dbus/dbus-transport-unix.c: port to handle OOM during
-	watch handling
-
-	* dbus/dbus-auth.c (_dbus_auth_get_unused_bytes): return a
-	reference to unused bytes instead of a copy
-
-	* dbus/dbus-server.c (dbus_server_handle_watch): return FALSE for
-	out of memory
-
-	* dbus/dbus-connection.c (dbus_connection_handle_watch): return
-	FALSE on OOM
-
-	* dbus/dbus-timeout.c (dbus_timeout_handle): return FALSE for out
-	of memory
-
-2003-03-16  Anders Carlsson  <andersca at codefactory.se>
-
-	* doc/dbus-specification.sgml:
-	Document reply message for ActivateService.
-
-2003-03-16  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/activation.c: (bus_pending_activation_entry_free),
-	(bus_pending_activation_free), (bus_activation_new),
-	(bus_activation_unref), (bus_activation_service_created),
-	(bus_activation_activate_service):
-	* bus/activation.h:
-	* bus/bus.c: (bus_context_new):
-	* bus/desktop-file.c: (new_section):
-	* bus/driver.c: (bus_driver_send_service_deleted),
-	(bus_driver_handle_activate_service):
-	* bus/services.c: (bus_registry_new), (bus_registry_ensure):
-	* bus/services.h:
-	* dbus/dbus-connection.c:
-	(dbus_connection_send_with_reply_and_block):
-	* dbus/dbus-message.c: (dbus_message_append_args_valist):
-	* dbus/dbus-protocol.h:
-	Make activation work better. Now pending activations will be queued
-	and the daemon won't try to activate services that are already registered.
-
-2003-03-16  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-bus.c (ensure_bus_data): handle failure to set
-	connection data
-
-	* dbus/dbus-memory.c (_dbus_initialize_malloc_debug): support
-	DBUS_MALLOC_BACKTRACES to print trace when failing an alloc
-
-2003-03-16  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-string.c (_dbus_string_validate_utf8): oops, unbreak
-	this. always run the test suite before commit...
-
-	* bus/*: adapt to DBusConnection API changes
-
-	* glib/dbus-gmain.c: adapt to DBusConnection API changes,
-	requires renaming stuff to avoid dbus_connection_dispatch name
-	conflict.
-
-	* dbus/dbus-transport.c (_dbus_transport_queue_messages): new
-	function
-
-	* dbus/dbus-message.c (_dbus_message_loader_queue_messages):
-	separate from _dbus_message_loader_return_buffer()
-
-	* dbus/dbus-connection.c (dbus_connection_get_n_messages): remove
-	this, because it's now always broken to use; the number of
-	messages in queue vs. the number still buffered by the message
-	loader is undefined/meaningless. Should use
-	dbus_connection_get_dispatch_state().
-	(dbus_connection_dispatch): rename from
-	dbus_connection_dispatch_message
-
-2003-03-16  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-string.c (_dbus_string_validate_utf8): copy in a real
-	implementation
-
-2003-03-16  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-connection.c:
-	(dbus_connection_send_with_reply_and_block):
-	Decrease connection->n_incoming when removing an entry
-	from the list.
-	* dbus/dbus-dict.c: (dbus_dict_entry_free),
-	(dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
-	(dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
-	(dbus_dict_set_byte_array), (dbus_dict_set_string_array),
-	(dbus_dict_get_boolean_array), (dbus_dict_get_double_array),
-	(dbus_dict_get_byte_array):
-	Handle NULL arrays and strings. Also add support for byte arrays.
-
-	* dbus/dbus-marshal.c: (_dbus_marshal_byte_array),
-	(_dbus_marshal_dict), (_dbus_demarshal_byte_array),
-	(_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
-	(_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
-	(_dbus_demarshal_dict), (demarshal_and_validate_len),
-	(_dbus_marshal_validate_arg), (_dbus_marshal_test):
-	* dbus/dbus-marshal.h:
-	Add support for marshalling and demarshalling empty arrays and strings.
-
-	* dbus/dbus-message.c: (dbus_message_append_args_valist),
-	(dbus_message_append_string_array),
-	(dbus_message_iter_get_boolean),
-	(dbus_message_iter_get_boolean_array),
-	(dbus_message_iter_get_int32_array),
-	(dbus_message_iter_get_uint32_array),
-	(dbus_message_iter_get_double_array),
-	(dbus_message_iter_get_byte_array),
-	(dbus_message_iter_get_string_array), (dbus_message_iter_get_dict),
-	(check_message_handling):
-	Add support for getting empty arrays and dicts.
-
-	* dbus/dbus-string.c: (_dbus_string_validate_utf8):
-	Don't do any validation at all for now, that's better than just checking
-	for ASCII.
-
-	* test/data/valid-messages/emptiness.message:
-	New test message with lots of empty arrays.
-
-2003-03-16  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-connection.c
-	(_dbus_connection_queue_received_message_link): new function that
-	can't fail due to OOM
-
-	* dbus/dbus-message.c (_dbus_message_loader_pop_message_link):
-	new function pops a message together with a list link
-	containing it.
-
-	* dbus/dbus-transport-unix.c (queue_messages): use new link-based
-	message queuing functions to avoid needing to alloc memory
-
-2003-03-16  Havoc Pennington  <hp at pobox.com>
-
-	Oops - test code was only testing failure of around 30 of the
-	mallocs in the test path, but it turns out there are 500+
-	mallocs. I believe this was due to misguided linking setup such
-	that there was one copy of dbus_malloc etc. in the daemon and one
-	in the shared lib, and only daemon mallocs were tested. In any
-	case, the test case now tests all 500+ mallocs, and doesn't pass
-	yet, though there are lots of fixes in this patch.
-
-	* dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
-	this so that it doesn't need to allocate memory, since it
-	has no way of indicating failure due to OOM (and would be
-	annoying if it did).
-
-	* dbus/dbus-list.c (_dbus_list_pop_first_link): new function
-
-	* bus/Makefile.am: rearrange to create two self-contained
-	libraries, to avoid having libraries with overlapping symbols.
-	that was resulting in weirdness, e.g. I'm pretty sure there
-	were two copies of global static variables.
-
-	* dbus/dbus-internals.c: move the malloc debug stuff to
-	dbus-memory.c
-
-	* dbus/dbus-list.c (free_link): free list mempool if it becomes
-	empty.
-
-	* dbus/dbus-memory.c (_dbus_disable_mem_pools): new function
-
-	* dbus/dbus-address.c (dbus_parse_address): free list nodes
-	on failure.
-
-	* bus/dispatch.c (bus_dispatch_add_connection): free
-	message_handler_slot when no longer using it, so
-	memory leak checkers are happy for the test suite.
-
-	* dbus/dbus-server-debug-pipe.c (debug_finalize): free server name
-
-	* bus/bus.c (new_connection_callback): disconnect in here if
-	bus_connections_setup_connection fails.
-
-	* bus/connection.c (bus_connections_unref): fix to free the
-	connections
-	(bus_connections_setup_connection): if this fails, don't
-	disconnect the connection, just be sure there are no side
-	effects.
-
-	* dbus/dbus-string.c (undo_alignment): unbreak this
-
-	* dbus/dbus-auth.c (_dbus_auth_unref): free some stuff we were
-	leaking
-	(_dbus_auth_new): fix the order in which we free strings
-	on OOM failure
-
-	* bus/connection.c (bus_connection_disconnected): fix to
-	not send ServiceDeleted multiple times in case of memory
-	allocation failure
-
-	* dbus/dbus-bus.c (dbus_bus_get_base_service): new function to
-	get the base service name
-	(dbus_bus_register_client): don't return base service name,
-	instead store it on the DBusConnection and have an accessor
-	function for it.
-	(dbus_bus_register_client): rename dbus_bus_register()
-
-	* bus/dispatch.c (check_hello_message): verify that other
-	connections on the bus also got the correct results, not
-	just the one sending hello
-
-2003-03-15  Havoc Pennington  <hp at pobox.com>
-
-	Make it pass the Hello handling test including all OOM codepaths.
-	Now to do other messages...
-
-	* bus/services.c (bus_service_remove_owner): fix crash when
-	removing owner from an empty list of owners
-	(bus_registry_ensure): don't leave service in the list of
-	a connection's owned services if we fail to put the service
-	in the hash table.
-
-	* bus/connection.c (bus_connection_preallocate_oom_error): set
-	error flag on the OOM error.
-
-	* dbus/dbus-connection.c (_dbus_connection_new_for_transport):
-	handle _dbus_transport_set_connection failure
-
-	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): modify
-	to create watches up front and simply enable/disable them as
-	needed.
-	(unix_connection_set): this can now fail on OOM
-
-	* dbus/dbus-timeout.c, dbus/dbus-watch.c: add concept
-	of enabling/disabling a watch or timeout.
-
-	* bus/loop.c (bus_loop_iterate): don't touch disabled
-	watches/timeouts
-
-	* glib/dbus-gmain.c: adapt to enable/disable watches and timeouts
-
-2003-03-15  Havoc Pennington  <hp at pobox.com>
-
-	* bus/dispatch.c (bus_dispatch_test): OK, now finally actually
-	write useful test code, after all that futzing around ;-)
-
-	Test does not yet pass because we can't handle OOM in
-	_dbus_transport_messages_pending (basically,
-	dbus_connection_preallocate_send() does not prealloc the write
-	watch). To fix this, I think we need to add new stuff to
-	set_watch_functions, namely a SetEnabled function so we can alloc
-	the watch earlier, then enable it later.
-
-	* dbus/Makefile.am (libdbus_convenience_la_SOURCES): move
-	dbus-memory.c to the convenience lib
-
-	* bus/test.c: rename some static functions to keep them clearly
-	distinct from stuff in connection.c. Handle client disconnection.
-
-2003-03-14  Havoc Pennington  <hp at pobox.com>
-
-	* bus/dispatch.c (bus_dispatch_test): do test using debug-pipe
-	transport, tests more of the real codepath. Set up clients
-	with bus_setup_debug_client.
-
-	* bus/test.c (bus_setup_debug_client): function to set up debug
-	"clients" on the main loop
-
-	* dbus/dbus-transport.c (_dbus_transport_open): add debug-pipe
-	support
-
-	* dbus/dbus-server.c (dbus_server_listen): add debug-pipe
-	server type
-
-	* dbus/dbus-server-debug.c: support a debug server based on pipes
-
-	* dbus/dbus-sysdeps.c (_dbus_full_duplex_pipe): new function
-	(_dbus_close): new function
-
-	* configure.in: check for socketpair
-
-2003-03-14  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-memory.c: add a "detect buffer overwrites on free"
-	cheesy hack
-
-	* dbus/dbus-transport-debug.c: rework this a good bit to be
-	less complicated. hopefully still works.
-
-	* dbus/dbus-server-debug.c (handle_new_client): remove timeout
-	manually
-
-	* glib/dbus-gmain.c (timeout_handler): don't remove timeout
-	after running it
-
-	* dbus/dbus-message.c (dbus_message_copy): rename from
-	dbus_message_new_from_message, fix it up to copy
-	all the message fields, add test case
-
-	* bus/dispatch.c (bus_dispatch_test): add some more test code,
-	not quite passing yet
-
-2003-03-14  Havoc Pennington  <hp at pobox.com>
-
-	* bus/loop.c (bus_loop_iterate): add this so we can "run loop
-	until no work remains" in test code. (the large diff here
-	is just code movement, no actual changes)
-
-	* dbus/dbus-server-debug.c (DEFAULT_INTERVAL): change interval to
-	1, no point waiting around for test code.
-	(_dbus_server_debug_accept_transport): unref the timeout
-	after adding it (right?)
-
-	* dbus/dbus-transport-debug.c (DEFAULT_INTERVAL): ditto
-
-2003-03-13  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-timeout.c (_dbus_timeout_list_set_functions): handle
-	out of memory
-
-	* dbus/dbus-watch.c (_dbus_watch_list_set_functions): handle out
-	of memory
-
-	* dbus/dbus-connection.h: Make AddWatchFunction and
-	AddTimeoutFunction return a bool so they can fail on out-of-memory
-
-	* bus/bus.c (bus_context_new): set up timeout handlers
-
-	* bus/connection.c (bus_connections_setup_connection): set up
-	timeout handlers
-
-	* glib/dbus-gmain.c: adapt to the fact that set_functions stuff
-	can fail
-
-	* bus/bus.c (bus_context_new): adapt to changes
-
-	* bus/connection.c: adapt to changes
-
-	* test/watch.c: adapt to DBusWatch changes
-
-	* bus/dispatch.c (bus_dispatch_test): started adding this but
-	didn't finish
-
-2003-03-14  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/dispatch.c (send_service_nonexistent_error): Fix typo.
-
-2003-03-13  Havoc Pennington  <hp at pobox.com>
-
-	* bus/test.c, bus/test.h, bus/Makefile.am, bus/test-main.c:
-	set up a test framework as for the library
-
-2003-03-12  Havoc Pennington  <hp at pobox.com>
-
-	Throughout: purge global variables, introduce BusActivation,
-	BusConnections, BusRegistry, etc. objects instead.
-
-	* bus/bus.h, bus/bus.c: introduce BusContext as a global
-	message bus object
-
-	* test/Makefile.am (TEST_BINARIES): disable bus-test for now,
-	going to redo this a bit differently I think
-
-2003-03-12  Havoc Pennington  <hp at redhat.com>
-
-        Mega-patch that gets the message bus daemon initially handling
-	out-of-memory. Work still needed. Also lots of random
-	moving stuff to DBusError instead of ResultCode.
-
-	* dbus/dbus-list.c (_dbus_list_length_is_one): new function
-
-	* dbus/dbus-connection.c
-	(dbus_connection_send_with_reply_and_block): use DBusError
-
-	* dbus/dbus-bus.c: adapt to API changes, make it use DBusError not
-	DBusResultCode
-
-	* dbus/dbus-connection.c (dbus_connection_send): drop the result
-	code here, as the only failure possible is OOM.
-
-	* bus/connection.c (bus_connection_disconnect):
-	rename bus_connection_disconnected as it's a notification only
-
-	* bus/driver.c (bus_driver_handle_acquire_service): don't free
-	"name" on get_args failure, should be done by get_args;
-	don't disconnect client for bad args, just return an error.
-	(bus_driver_handle_service_exists): ditto
-
-	* bus/services.c (bus_services_list): NULL-terminate returned array
-
-	* bus/driver.c (bus_driver_send_service_lost)
-	(bus_driver_send_service_acquired): send messages from driver to a
-	specific client to the client's unique name, not to the broadcast
-	service.
-
-	* dbus/dbus-message.c (decode_header_data): reject messages that
-	contain no name field
-	(_dbus_message_get_client_serial): rename to
-	dbus_message_get_serial and make public
-	(_dbus_message_set_serial): rename from set_client_serial
-	(_dbus_message_set_reply_serial): make public
-	(_dbus_message_get_reply_serial): make public
-
-	* bus/connection.c (bus_connection_foreach): allow stopping
-	iteration by returning FALSE from foreach function.
-
-	* dbus/dbus-connection.c (dbus_connection_send_preallocated)
-	(dbus_connection_free_preallocated_send)
-	(dbus_connection_preallocate_send): new API for sending a message
-	without possibility of malloc failure.
-	(dbus_connection_send_message): rename to just
-	dbus_connection_send (and same for whole function family)
-
-	* dbus/dbus-errors.c (dbus_error_free): make this reinit the error
-
-	* dbus/dbus-sysdeps.c (_dbus_exit): new function
-
-	* bus/activation.c: handle/return errors
-
-	* dbus/dbus-errors.h: add more DBUS_ERROR #define
-
-	* dbus/dbus-sysdeps.c (_dbus_directory_open) (_dbus_file_get_contents)
-	(_dbus_directory_get_next_file): use DBusError instead of DBusResultCode
-	(_dbus_result_from_errno): move to this file
-
-2003-03-10  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-marshal.c:
-	(_dbus_marshal_set_string):
-	Take a length argument so we can marshal the correct string
-	length.
-
-	(_dbus_marshal_dict), (_dbus_demarshal_dict),
-	(_dbus_marshal_get_arg_end_pos), (_dbus_marshal_validate_arg),
-	(_dbus_marshal_test):
-	* dbus/dbus-marshal.h:
-	Add support for marshalling and demarshalling dicts.
-
-	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
-	Add support for TYPE DICT.
-
-	* dbus/dbus-message.c: (set_string_field):
-	Adjust header padding.
-
-	(dbus_message_append_args_valist), (dbus_message_append_dict),
-	(dbus_message_get_args_valist), (dbus_message_iter_get_arg_type),
-	(dbus_message_iter_get_dict), (_dbus_message_loader_return_buffer),
-	(check_message_handling), (check_have_valid_message):
-	* dbus/dbus-message.h:
-	Add functions for setting and getting dicts.
-
-	* dbus/dbus-protocol.h:
-	Add DBUS_TYPE_DICT.
-
-	* dbus/dbus.h:
-	Add dbus-dict.h
-
-	* doc/dbus-specification.sgml:
-	Add information about how dicts are marshalled.
-
-	* test/data/invalid-messages/dict-with-nil-value.message:
-	* test/data/invalid-messages/too-short-dict.message:
-	* test/data/valid-messages/dict-simple.message:
-	* test/data/valid-messages/dict.message:
-	Add sample messages containing dicts.
-
-2003-03-08  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-dict.h: Add DBUS_END_DECLS.
-
-2003-03-07  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/Makefile.am:
-	* dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
-	(dbus_dict_get_keys), (insert_entry), (dbus_dict_set_boolean),
-	(dbus_dict_set_int32), (dbus_dict_set_uint32),
-	(dbus_dict_set_double), (dbus_dict_set_string),
-	(dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
-	(dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
-	(dbus_dict_set_string_array), (_dbus_dict_test):
-	* dbus/dbus-dict.h:
-	Fix according to comments from Havoc.
-
-2003-03-06  Michael Meeks  <michael at server.home>
-
-	* configure.in: if we don't have kde-config, disable have_qt.
-
-2003-03-07  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/Makefile.am:
-	Add dbus-dict.[ch]
-
-	* dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
-	(dbus_dict_ref), (dbus_dict_unref), (dbus_dict_contains),
-	(dbus_dict_remove), (dbus_dict_get_value_type),
-	(dbus_dict_get_keys), (dbus_dict_put_boolean),
-	(dbus_dict_put_int32), (dbus_dict_put_uint32),
-	(dbus_dict_put_double), (dbus_dict_put_string),
-	(dbus_dict_put_boolean_array), (dbus_dict_put_int32_array),
-	(dbus_dict_put_uint32_array), (dbus_dict_put_double_array),
-	(dbus_dict_put_string_array), (dbus_dict_get_boolean),
-	(dbus_dict_get_int32), (dbus_dict_get_uint32),
-	(dbus_dict_get_double), (dbus_dict_get_string),
-	(dbus_dict_get_boolean_array), (dbus_dict_get_int32_array),
-	(dbus_dict_get_uint32_array), (dbus_dict_get_double_array),
-	(dbus_dict_get_string_array), (_dbus_dict_test):
-	* dbus/dbus-dict.h:
-	Add DBusDict implementation
-
-	* dbus/dbus-test.c: (dbus_internal_do_not_use_run_tests):
-	* dbus/dbus-test.h:
-	Add _dbus_dict_test
-
-2003-03-04  Havoc Pennington  <hp at pobox.com>
-
-	* test/data/auth/*: adapt to changes
-
-	* dbus/dbus-auth-script.c (_dbus_auth_script_run): add
-	USERID_BASE64 and change USERNAME_BASE64 to put in username not
-	userid
-
-	* dbus/dbus-keyring.c (_dbus_keyring_validate_context): prevent
-	more stuff from being in a context name, to make the protocol
-	simpler to deal with
-
-	* dbus/dbus-errors.c (dbus_error_has_name): new function
-	(dbus_error_is_set): new function
-
-	* dbus/dbus-auth.c: replace DBUS_STUPID_TEST_MECH auth
-	with DBUS_COOKIE_SHA1, implement DBUS_COOKIE_SHA1
-
-	* dbus/dbus-connection.c (dbus_connection_flush): also read
-	messages during a flush operation
-
-	* dbus/Makefile.am: remove dbus-md5 since it isn't currently used.
-
-2003-03-05  Anders Carlsson  <andersca at codefactory.se>
-
-	* configure.in: Check for gethostbyname on Solaris.
-
-	* dbus/dbus-transport.c: (_dbus_transport_open):
-	Remove duplicate "tcp" entry.
-
-	* doc/dbus-specification.sgml:
-	Clarify some things.
-
-2003-03-05  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-auth.c: (send_rejected), (process_test_subdir):
-	* dbus/dbus-keyring.c: (_dbus_keyring_new_homedir),
-	(_dbus_keyring_test):
-	* dbus/dbus-md5.c: (_dbus_md5_compute):
-	* dbus/dbus-sha.c: (_dbus_sha_compute):
-	Plug memory leaks.
-
-2003-03-05  Anders Carlsson  <andersca at codefactory.se>
-
-	* README: Add some things.
-
-2003-03-04  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-message.c (dbus_message_append_args_valist): Add a break;
-	after case DBUS_TYPE_BOOELAN.
-
-2003-03-02  Havoc Pennington  <hp at pobox.com>
-
-	* test/break-loader.c (randomly_set_extreme_ints): add test that
-	sets really huge and small integers
-
-	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add check
-	that length of boolean array fits in the string, and that
-	string has room for boolean value in single-bool case.
-
-	* dbus/dbus-message-builder.c (_dbus_message_data_load): add
-	optional value to "ALIGN" command which is what to fill the
-	alignment with.
-
-	* test/data/valid-messages/no-padding.message: add regression
-	test for the message padding problem
-
-2003-03-02  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-message.c (decode_header_data): fix to always init
-	message_padding, from Benjamin Dauvergne
-
-2003-03-02  Havoc Pennington  <hp at pobox.com>
-
-	* configure.in: 0.5
-
-	* NEWS: Update.
-
-2003-03-01  Joe Shaw  <joe at assbarn.com>
-
-	* configure.in: Check for "struct cmsgcred" and try to access its
-	members for BSD-like unices.
-
-	* dbus/dbus-sysdeps.c (read_credentials_byte): Fold this back into
-	_dbus_read_credentials_unix_socket().
-	(_dbus_read_credentials_unix_socket): Use recvmsg() instead of
-	read() for reading the credential byte off the unix socket.  Use
-	struct cmsgcred on systems that support it.
-
-2003-02-27  Alexander Larsson  <alexl at redhat.com>
-
-	* glib/Makefile.am:
-	* configure.in:
-	Make gthreads-2.0 dependency optional. Don't build thread test if
-	its not found.
-
-2003-02-27  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-connection.c
-	(dbus_connection_send_message_with_reply_and_block): fix doh!
-	doh! doh! bug that resulted in never removing a reply from the
-	queue, no wonder we called get_reply_serial so much ;-)
-
-	* dbus/dbus-message.c (struct DBusMessage): cache reply serial
-	and client serial instead of demarshaling them every time
-
-2003-02-27  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-marshal.c (_dbus_demarshal_int32): rewrite to be much
-	more inlined, using dbus-string-private.h, speeds things up
-	substantially
-
-	* dbus/dbus-string.c (_dbus_string_free): apply align offset
-	when freeing the string
-	(_dbus_string_steal_data): fix for align offset
-	(undo_alignment): new function
-
-2003-02-26  Havoc Pennington  <hp at redhat.com>
-
-        All kinds of audit fixes from Owen, plus initial attempt to
-	handle unaligned memory returned from malloc.
-
-	* dbus/dbus-string.c (_dbus_string_init): clamp max length to
-	leave room for align_offset and nul byte
-	(fixup_alignment): function to track an align_offset and
-	ensure real->str is aligned
-	(DBUS_GENERIC_STRING_PREAMBLE): len must be less than allocated,
-	to allow a nul byte plus align offset
-	(_dbus_string_lock): fix overflow issue
-	(_dbus_string_init_const_len): add assertions on sanity of len,
-	assign allocated to be ALLOCATION_PADDING larger than len
-	(set_length): fixup the overflow handling
-	(_dbus_string_get_data_len): fix overflow in assertion
-	(open_gap): detect overflow in size of gap to be opened
-	(_dbus_string_lengthen): add overflow check
-	(_dbus_string_align_length): fix overflow with _DBUS_ALIGN_VALUE
-	(_dbus_string_append): add overflow check
-	(_dbus_string_append_unichar): overflow
-	(_dbus_string_delete): fix overflow in assertion
-	(_dbus_string_copy_len): overflow in assertion
-	(_dbus_string_replace_len): overflows in assertions
-	(_dbus_string_find): change to implement in terms of
-	_dbus_string_find_to
-	(_dbus_string_find_to): assorted fixage
-	(_dbus_string_equal_c_str): assert c_str != NULL,
-	fix logic so the function works
-	(_dbus_string_ends_with_c_str): fix overflow thingy
-	(_dbus_string_base64_encode): overflow fix
-	(_dbus_string_validate_ascii): overflow
-	(_dbus_string_validate_nul): overflow
-
-2003-02-26  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-marshal.c (_dbus_marshal_test): fix to work with DISABLE_ASSERTS
-
-2003-02-26  Alexander Larsson  <alexl at redhat.com>
-
-	* configure.in:
-	Set DBUS_GLIB_THREADS_LIBS for apps using gthread-2.0
-
-	* dbus/dbus-connection.c:
-	* dbus/dbus-connection.h:
-	Fix _dbus_connection_acquire_io_path and _dbus_connection_acquire_dispatch.
-	Add dbus_connection_set_wakeup_main_function and use it when queueing
-	incoming and outgoing messages.
-
-
-	* dbus/dbus-dataslot.c:
-	Threadsafe usage of DBusDataSlotAllocator
-
-	* dbus/dbus-message.c: (dbus_message_get_args_iter):
-	dbus_new can fail.
-
-	* dbus/dbus-server-unix.c:
-	Add todo comment
-
-	* glib/dbus-gmain.c:
-	Implement the new wakeup functions for glib.
-
-	* glib/Makefile.am:
-	* glib/test-thread-client.c:
-	* glib/test-thread-server.c:
-	* glib/test-thread.h:
-	Initial cut at some thread test code. Not really done yet.
-
-2003-02-26  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-connection.c
-	(dbus_connection_send_message_with_reply_and_block): fix crash
-	where we ref'd the outgoing message instead of the returned reply
-
-	* dbus/dbus-transport-unix.c (do_authentication): check read watch
-	at the end of this function, so if we didn't need to read for
-	authentication, we reinstall it for receiving messages
-
-	* dbus/dbus-message.c (dbus_message_new_reply): allow replies to
-	a NULL sender for peer-to-peer case
-
-	* dbus/dbus-transport-unix.c (check_read_watch): handle
-	!authenticated case correctly
-
-	* glib/dbus-gmain.c: add support for DBusServer
-
-	* dbus/dbus-server.c: add data slot support
-
-	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main): check
-	return values and handle errors
-
-	* dbus/dbus-dataslot.c: factor out the data slot stuff from
-	DBusConnection
-
-	* Doxyfile.in (INPUT): add glib subdir
-
-	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main): rename
-	setup_with_g_main instead of hookup_with_g_main; write docs
-
-2003-02-24  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-marshal.c: (_dbus_marshal_validate_arg):
-	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
-	* dbus/dbus-message.c: (dbus_message_append_boolean),
-	(dbus_message_append_boolean_array),
-	(dbus_message_get_args_valist), (_dbus_message_test):
-	* dbus/dbus-message.h:
-	* doc/dbus-specification.sgml:
-	Various fixes as pointed out by Havoc.
-
-	* test/data/invalid-messages/bad-boolean-array.message:
-	* test/data/invalid-messages/bad-boolean.message:
-	Add invalid boolean value test cases.
-
-2003-02-24  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-internals.c: (_dbus_type_to_string):
-	* dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
-	(_dbus_marshal_validate_arg):
-	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
-	* dbus/dbus-message.c: (dbus_message_append_args_valist),
-	(dbus_message_append_boolean), (dbus_message_append_boolean_array),
-	(dbus_message_get_args_valist), (dbus_message_iter_get_boolean),
-	(dbus_message_iter_get_int32), (dbus_message_iter_get_uint32),
-	(dbus_message_iter_get_double),
-	(dbus_message_iter_get_boolean_array), (message_iter_test):
-	* dbus/dbus-message.h:
-	* dbus/dbus-protocol.h:
-	* doc/dbus-specification.sgml:
-	* test/data/valid-messages/lots-of-arguments.message:
-	Add support for boolean and boolean array types.
-
-2003-02-23  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-keyring.c: finish most of this implementation and
-	simple unit test
-
-	* dbus/dbus-errors.c (dbus_set_error_const, dbus_set_error): make
-	these barf if the error isn't cleared to NULL
-
-	* dbus/dbus-sysdeps.c (_dbus_delete_file): set error on failure
-	(_dbus_create_directory): new function
-
-	* dbus/dbus-errors.c (dbus_set_error): fix warning
-
-	* dbus/dbus-string.c (_dbus_string_hex_encode): new function
-	(_dbus_string_hex_decode): new function
-	(test_hex_roundtrip): test code
-
-	* dbus/dbus-sha.c (_dbus_sha_compute): use dbus_string_hex_encode
-
-	* dbus/dbus-md5.c (_dbus_md5_compute): use dbus_string_hex_encode
-
-	* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): make this use
-	the save-to-temp/rename trick to atomically write the new file
-	(_dbus_string_parse_uint): new function
-
-2003-02-22  Havoc Pennington  <hp at pobox.com>
-
-	* test/Makefile.am (dist-hook): fix dist for test/data/sha-1
-
-2003-02-22  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-message.c (dbus_message_iter_get_string_array):
-	(dbus_message_iter_get_byte_array): Fix up doxygen warnings
-
-	* dbus/dbus-sha.c: add implementation of SHA-1 algorithm
-
-	* dbus/test/data/sha-1: add US government test suite for SHA-1
-
-2003-02-21  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
-	Make string arrays NULL-terminated.
-
-	* dbus/dbus-memory.c: (dbus_free_string_array):
-	* dbus/dbus-memory.h:
-	New function for freeing NULL-terminated string arrays.
-
-	* dbus/dbus-message-builder.c: (append_quoted_string),
-	(_dbus_message_data_load):
-	Add support for array types.
-
-	* dbus/dbus-message.c: (check_message_handling):
-	Add more types as test cases.
-
-	* dbus/dbus-sysdeps.c: (_dbus_string_parse_int),
-	(_dbus_string_parse_double):
-	Add the start offset to the end offset.
-
-	* test/data/valid-messages/lots-of-arguments.message:
-	New test message with lots of arguments.
-
-2003-02-21  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-message.c: (dbus_message_append_nil),
-	(dbus_message_append_int32), (dbus_message_append_uint32),
-	(dbus_message_append_double), (dbus_message_append_string),
-	(dbus_message_append_int32_array),
-	(dbus_message_append_uint32_array),
-	(dbus_message_append_double_array),
-	(dbus_message_append_byte_array),
-	(dbus_message_append_string_array):
-	Fix all out-of-memory handling in these functions.
-
-2003-02-21  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-message.c: (dbus_message_append_nil):
-	Fix a silly.
-
-2003-02-21  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-message.c: (dbus_message_append_args_valist),
-	(dbus_message_append_nil), (dbus_message_append_int32_array),
-	(dbus_message_append_uint32_array),
-	(dbus_message_append_double_array),
-	(dbus_message_append_byte_array),
-	(dbus_message_append_string_array), (dbus_message_get_args_valist),
-	(dbus_message_iter_get_int32_array),
-	(dbus_message_iter_get_uint32_array),
-	(dbus_message_iter_get_double_array),
-	(dbus_message_iter_get_byte_array),
-	(dbus_message_iter_get_string_array):
-
-	* dbus/dbus-message.h:
-	Add functions for appending and getting arrays.
-
-2003-02-21  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-mempool.c (_dbus_mem_pool_new): Make the
-	element size at least 8 bytes, fixes mempool tests on
-	64-bit machines.
-
-2003-02-20  Alexander Larsson  <alexl at redhat.com>
-
-	* dbus/dbus-transport-unix.c (unix_do_iteration):
-	Unlock the connection mutex during a blocking select call.
-	Add todo about how we need a way to wake up the select.
-
-	* dbus/dbus-connection-internal.h:
-	* dbus/dbus-connection.c:
-	Add _dbus_connection_lock and _dbus_connection_unlock.
-
-2003-02-19  Havoc Pennington  <hp at pobox.com>
-
-	* Doxyfile.in (PREDEFINED): put DOXYGEN_SHOULD_SKIP_THIS in
-	Doxyfile.in, not Doxyfile
-
-	* dbus/dbus-keyring.c: do some hacking on this
-
-	* dbus/dbus-sysdeps.c (_dbus_delete_file): new
-
-	* dbus/dbus-errors.c (dbus_set_error_const): do not call
-	dbus_error_init
-	(dbus_set_error): remove dbus_error_init, check for message ==
-	NULL *before* we sprintf into it, and add @todo about including
-	system headers in this file
-
-	* dbus/dbus-sysdeps.c (_dbus_create_file_exclusively): new
-
-	* dbus/dbus-errors.h (DBUS_ERROR_FAILED): add
-
-	* dbus/dbus-sysdeps.c (get_user_info): break this function out to
-	get various bits of user information based on either username
-	or user ID
-	(_dbus_homedir_from_username): new function
-
-2003-02-19  Anders Carlsson  <andersca at codefactory.se>
-
-	* configure.in:
-	Add check for nonposix getpwnam_r
-
-	* dbus/dbus-mempool.c: (_dbus_mem_pool_new):
-	Align the pool element size to a sizeof (void *) boundary.
-
-	* dbus/dbus-sysdeps.c: (_dbus_setenv), (_dbus_connect_unix_socket),
-	(_dbus_listen_unix_socket), (_dbus_credentials_from_username):
-	General Solaris fixes.
-
-	* test/data/valid-messages/simplest-manual.message:
-	Explicitly state that we want little-endian packing.
-
-2003-02-19  Mikael Hallendal  <micke at codefactory.se>
-
-	* dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
-
-	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_tcp_socket):
-	Added to create a transport connecting using a tcp/ip socket.
-
-	* dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): Added to connect
-	to a tcp socket at given host and port.
-	(_dbus_listen_tcp_socket): added to listen on tcp socket for given
-	hostname and port.
-
-	* dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
-
-	* dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
-	Added to create a server listening on a TCP/IP socket.
-
-2003-02-19  Havoc Pennington  <hp at pobox.com>
-
-	Throughout: mop up all the Doxygen warnings and undocumented
-	stuff.
-
-	* dbus/dbus-sysdeps.c (do_exec): do not use execvp, we don't want
-	to search any paths.
-
-	* dbus/dbus-threads.c: move global mutex initializers to
-	dbus-internals.h, multiple prototypes was confusing doxygen
-	besides being kind of ugly
-
-	* Doxyfile (PREDEFINED): have Doxygen define
-	DOXYGEN_SHOULD_SKIP_THIS so we can exclude things from
-	docs with #ifndef DOXYGEN_SHOULD_SKIP_THIS
-	(do not abuse the feature! it's for stuff like the autogenerated
-	macros in dbus-md5.c, not just for things you don't feel like
-	documenting...)
-
-2003-02-18  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-string.c (_dbus_string_zero): new function
-
-	* dbus/dbus-md5.c: include MD5 implementation by L. Peter Deutsch,
-	wrap it in some dbus-friendly API
-
-	* dbus/dbus-types.h: add 16-bit types
-
-2003-02-18  Joe Shaw  <joe at assbarn.com>
-
-	* dbus/dbus-auth.c (handle_server_data_stupid_test_mech): Just get
-	credentials from our currently running process.
-	(get_word): Fix a buglet where we were copying the entire length
-	instead of relative to our position.
-
-	* dbus/dbus-hash.c (_dbus_hash_test): Don't try to allocate the
-	keys on the stack... it's 640k of data.
-
-	* dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): Always
-	read the credentials byte off the socket, even if we don't have
-	SO_PEERCRED.
-	(_dbus_poll): Implement poll() using select() for systems which
-	don't have it.
-
-	* glib/test-dbus-glib.c (main): Print out an error if no
-	parameters are given.
-
-	* test/data/auth/fallback.auth-script: Added.  Tests that a client
-	can fallback to a secondary auth mechanism if the first fails.
-
-2003-02-18  Havoc Pennington  <hp at pobox.com>
-
-	* AUTHORS: add Alex
-
-2003-02-17  Havoc Pennington  <hp at pobox.com>
-
-	* doc/dbus-specification.sgml: lots of cosmetic
-	cleanups/rearrangement, add assorted FIXME, change DBUS_ADDRESS
-	env variable to DBUS_BUS_ADDRESS, s/client/application/,
-	s/server/bus/ (except in authentication section). Add a section
-	"Message Bus Message Routing"
-
-2003-02-17  Anders Carlsson  <andersca at codefactory.se.>
-
-	Release 0.4
-
-	* NEWS: Update
-
-2003-02-17  Anders Carlsson  <andersca at codefactory.se>
-
-	* doc/dbus-specification.sgml:
-	Specification updates.
-
-2003-02-17  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/activation.c: (bus_activation_init), (child_setup),
-	(bus_activation_activate_service):
-	* bus/activation.h:
-	* bus/main.c: (main):
-	Set DBUS_ADDRESS environment variable.
-
-	* dbus/dbus-errors.c: (dbus_set_error):
-	Don't use va_copy since that's a C99 feature.
-
-	* dbus/dbus-sysdeps.c: (_dbus_setenv), (do_exec),
-	(_dbus_spawn_async):
-	* dbus/dbus-sysdeps.h:
-	Add child_setup_func to _dbus_spawn_async.
-
-	* doc/dbus-specification.sgml:
-	Update specification.
-
-	* test/spawn-test.c: (setup_func), (main):
-	Fix test.
-
-2003-02-17  Alexander Larsson  <alexl at redhat.com>
-
-	* dbus/dbus-connection.c (_dbus_connection_handler_destroyed_locked):
-	Added todo.
-
-2003-02-17  Anders Carlsson  <andersca at codefactory.se>
-
-	* doc/.cvsignore:
-	* doc/Makefile.am:
-	* doc/dbus-test-plan.sgml:
-	Add test plan document.
-
-	* test/Makefile.am:
-	Fix distcheck.
-
-2003-02-17  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-message.c: (decode_header_data),
-	(_dbus_message_loader_return_buffer):
-	Set the header padding amount when loading a message.
-
-2003-02-16  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/dispatch.c: (send_one_message):
-	Only send broadcast messages to registered connections.
-
-	* dbus/dbus-message.c: (dbus_message_name_is):
-	* dbus/dbus-message.h:
-	New convenience function.
-
-	* dbus/dbus-transport-debug.c: (do_reading):
-	Only dispatch one message per run.
-
-	* test/Makefile.am:
-	* test/bus-test.c: (new_connection_callback), (die),
-	(test_hello_client1_handler), (test_hello_client2_handler),
-	(test_hello_replies), (main):
-
-	* test/bus-test-loop.[ch]:
-	Add these.
-
-2003-02-16  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
-	backward conditional
-
-2003-02-16  Alexander Larsson  <alexl at redhat.com>
-
-	* dbus/dbus-connection.c:
-	Implement sent_message_with_reply. (with_reply_and block is still
-	busted).
-	Made dispatch_message not lose message if OOM.
-
-	* dbus/dbus-errors.h:
-	Add NoReply error (for reply timeouts).
-
-2003-02-16  Alexander Larsson  <alexl at redhat.com>
-
-	* dbus/dbus-hash.c (_dbus_hash_table_unref):
-	Actually free keys and values when destroying hashtable.
-
-2003-02-16  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-auth.c: (client_try_next_mechanism):
-	Plug a leak.
-
-	* dbus/dbus-threads.c: (dbus_condvar_wait_timeout):
-	Return TRUE if there's no thread implementation around.
-
-	* glib/dbus-gmain.c: (free_source),
-	(dbus_connection_hookup_with_g_main):
-	Make sure to remove the GSource when the connection is finalized.
-
-2003-02-16  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/dispatch.c: (bus_dispatch_message_handler):
-	* dbus/dbus-errors.h:
-	Return an error if someone tries to send a message to a service
-	that doesn't exist.
-
-2003-02-16  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/activation.c: (load_directory), (bus_activation_init),
-	(bus_activation_activate_service):
-	* bus/activation.h:
-	* bus/driver.c:
-	(bus_driver_handle_activate_service), (bus_driver_handle_message):
-	More work on the activation handling.
-
-	* dbus/dbus-errors.h:
-	Add some error messages
-
-	* dbus/dbus-message.c: (dbus_message_new_error_reply):
-	* dbus/dbus-message.h:
-	New function that creates an error message.
-
-	* dbus/dbus-protocol.h:
-	Add ACTIVATE_SERVER message.
-
-	* dbus/dbus-server-unix.c: (unix_handle_watch),
-	(_dbus_server_new_for_domain_socket):
-	Call _dbus_fd_set_close_on_exec.
-
-	* dbus/dbus-sysdeps.c: (make_pipe), (do_exec),
-	(_dbus_spawn_async), (_dbus_disable_sigpipe),
-	(_dbus_fd_set_close_on_exec):
-	* dbus/dbus-sysdeps.h:
-	Add _dbus_fd_set_close_on exec function. Also add function that checks
-	that all open fds are set to close-on-exec and warns otherwise.
-
-	* dbus/dbus-transport-unix.c:
-	(_dbus_transport_new_for_domain_socket):
-	Call _dbus_fd_set_close_on_exec.
-
-2003-02-16  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-connection.c (dbus_connection_set_change_sigpipe):
-	allow people to avoid setting SIGPIPE to SIG_IGN
-	(_dbus_connection_new_for_transport): disable SIGPIPE unless
-	we've been asked not to
-
-2003-02-15  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-list.c: (_dbus_list_append_link),
-	(_dbus_list_prepend_link):
-	* dbus/dbus-memory.c: (dbus_malloc), (dbus_malloc0),
-	(dbus_realloc):
-	Warning fixes.
-
-2003-02-15  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/Makefile.am:
-	* bus/activation.c: (bus_activation_entry_free),
-	(add_desktop_file_entry), (load_directory), (bus_activation_init):
-	* bus/activation.h:
-	* bus/main.c: (main):
-	Add simple activation support, doesn't work yet though.
-
-2003-02-15   Zack Rusin  <zack at kde.org>
-
-	* qt/dbus-qthread.cpp:  small casting fix
-
-2003-02-15  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-errors.c: (dbus_set_error):
-	* dbus/dbus-errors.h:
-	Add a few errors and make dbus_set_error void.
-
-	* dbus/dbus-sysdeps.c:
-	(_dbus_errno_to_string), (close_and_invalidate), (make_pipe),
-	(write_err_and_exit), (read_ints), (do_exec), (_dbus_spawn_async):
-	* dbus/dbus-sysdeps.h:
-	Add _dbus_spawn_async.
-
-	* test/spawn-test.c: (main):
-	Test for _dbus_spawn_async.
-
-2003-02-15  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-internals.h:
-	Fix build without tests.
-
-	* dbus/dbus-list.c: (alloc_link):
-	Fix a segfault when a malloc fails.
-
-	* dbus/dbus-memory.c: (initialize_malloc_debug), (dbus_malloc),
-	(dbus_malloc0), (dbus_realloc):
-	Add support for malloc debugging.
-
-2003-02-15  Alexander Larsson  <alexl at redhat.com>
-
-	* dbus/dbus-threads.c:
-	* dbus/dbus-threads.h:
-	Add condvars. Remove static mutext from API.
-	Implement static mutexes by initializing them from threads_init.
-
-	* glib/dbus-gthread.c:
-	* qt/dbus-qthread.cpp:
-	Update with the thread api changes.
-
-
-	* dbus/dbus-list.c:
-	* dbus/dbus-list.h:
-	Turn StaticMutex into normal mutex + init function.
-	Export new functions _dbus_list_alloc_link, _dbus_list_free_link,
-	_dbus_list_append_link, _dbus_list_prepend_link
-
-
-	* dbus/dbus-sysdeps.c:
-	* dbus/dbus-sysdeps.h:
-	New type dbus_atomic_t, and new functions _dbus_atomic_inc,
-	_dbus_atomic_dec. Only slow fallback implementation at the moment.
-
-	* dbus/dbus-protocol.h:
-	Add DBUS_MESSAGE_LOCAL_DISCONNECT define
-
-	* dbus/dbus-message.c:
-	Make ref/unref atomic.
-	Fix some docs.
-
-	* dbus/dbus-connection-internal.h:
-	* dbus/dbus-connection.c:
-	* dbus/dbus-connection.h:
-	Make threadsafe.
-	Change _peek to _borrow,_return & _steal_borrowed.
-	Change disconnect callback to event.
-	Make dbus_connection_dispatch_messages reentrant.
-
-	* dbus/dbus-transport.c:
-	Don't ref the connection on calls to the transport
-	implementation.
-
-	* dbus/dbus-message-handler.c:
-	Make threadsafe.
-
-	* glib/dbus-gmain.c:
-	Don't use peek_message anymore
-
-	* test/Makefile.am:
-	* test/debug-thread.c:
-	* test/debug-thread.h:
-	Simple thread implementation that asserts() on deadlocks in
-	single-threaded code.
-
-	* test/bus-test.c:
-	(main) Call debug_threads_init.
-
-	* test/watch.c:
-	Use disconnect message instead of disconnect callback.
-
-	* bus/connection.c:
-	* bus/connection.h:
-	Don't call dbus_connection_set_disconnect_function. Instead export
-	bus_connection_disconnect.
-
-	* bus/dispatch.c:
-	Call bus_connection_disconnect when we get a disconnected message.
-
-2003-02-15  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-message.c (dbus_message_new): fool around with the
-	docs
-
-2003-02-14  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-mempool.c: fail if the debug functions so indicate
-
-	* dbus/dbus-memory.c: fail if the debug functions indicate we
-	should
-
-	* dbus/dbus-internals.c (_dbus_set_fail_alloc_counter)
-	(_dbus_decrement_fail_alloc_counter): debug functions to
-	simulate memory allocation failures
-
-2003-02-14  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-errors.h (struct DBusError): add a word of padding
-	to DBusError
-
-2003-02-13  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/driver.c: (bus_driver_handle_hello):
-	* bus/driver.h:
-	* bus/services.c: (bus_service_lookup):
-	Reorder message sending so we get a more sane order.
-
-	* test/bus-test.c: (message_handler):
-	Fix tyop.
-
-2003-02-13  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/driver.c: (bus_driver_send_service_deleted),
-	(bus_driver_send_service_created), (bus_driver_send_service_lost),
-	(bus_driver_send_service_acquired), (bus_driver_handle_hello),
-	(bus_driver_send_welcome_message),
-	(bus_driver_handle_list_services),
-	(bus_driver_handle_acquire_service),
-	(bus_driver_handle_service_exists):
-	* dbus/dbus-bus.c: (dbus_bus_register_client),
-	(dbus_bus_acquire_service), (dbus_bus_service_exists):
-	* dbus/dbus-errors.c: (dbus_result_to_string):
-	* dbus/dbus-errors.h:
-	* dbus/dbus-message.c: (dbus_message_append_args),
-	(dbus_message_append_args_valist), (dbus_message_get_args),
-	(dbus_message_get_args_valist), (dbus_message_get_args_iter),
-	(dbus_message_iter_get_arg_type), (dbus_message_iter_get_string),
-	(dbus_message_iter_get_byte_array),
-	(dbus_message_iter_get_string_array), (message_iter_test),
-	(check_message_handling), (_dbus_message_test):
-	* dbus/dbus-message.h:
-	* test/bus-test.c: (main):
-	Change fields to arguments in messages, so that they won't be
-	confused with header fields.
-
-	* glib/test-dbus-glib.c: (main):
-	Remove append_fields from hello message.
-
-2003-02-13  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-errors.c:
-	* dbus/dbus-message.c:
-	* dbus/dbus-string.c:
-	Documentation fixes.
-
-2003-02-13  Anders Carlsson  <andersca at codefactory.se>
-
-	* glib/dbus-gmain.c: (timeout_handler), (add_timeout),
-	(remove_timeout):
-	Implement support for timeouts in dbus-glib.
-
-2003-02-13  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
-	* dbus/dbus-message.c: (process_test_subdir):
-	* test/break-loader.c: (find_breaks_based_on):
-	Plug some memory leaks.
-
-2003-02-13  Richard Hult  <rhult at codefactory.se>
-
-	* bus/main.c: Fix build.
-
-	* dbus/dbus-errors.h:
-	* dbus/dbus-errors.c: Fix copyright for Anders.
-
-2003-02-13  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/Makefile.am:
-	Add utils.[ch]
-
-	* bus/connection.c: (bus_connection_foreach):
-	Fix a warning.
-
-	* bus/desktop-file.c: (grow_lines_in_section), (grow_sections),
-	(unescape_string), (new_section), (parse_section_start),
-	(parse_key_value), (report_error), (bus_desktop_file_load),
-	(bus_desktop_file_get_string):
-	* bus/desktop-file.h:
-	Use DBusError for error reporting.
-
-	* bus/dispatch.c: (send_one_message),
-	(bus_dispatch_message_handler):
-	* bus/driver.c: (bus_driver_send_service_deleted),
-	(bus_driver_send_service_created), (bus_driver_send_service_lost),
-	(bus_driver_send_service_acquired), (bus_driver_handle_hello),
-	(bus_driver_send_welcome_message),
-	(bus_driver_handle_list_services),
-	(bus_driver_handle_acquire_service),
-	(bus_driver_handle_service_exists):
-	* bus/loop.c: (bus_loop_run):
-	* bus/main.c:
-	Use BUS_HANDLE_OOM instead of _DBUS_HANDLE_OOM.
-
-	* bus/utils.c: (bus_wait_for_memory):
-	* bus/utils.h:
-	New files with general utility functions.
-
-	* dbus/dbus-internals.h:
-	Remove _DBUS_HANDLE_OOM.
-
-2003-02-13  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-errors.c: (dbus_result_to_string), (dbus_error_init),
-	(dbus_error_free), (dbus_set_error_const), (dbus_set_error):
-	* dbus/dbus-errors.h:
-	Add DBusError structure.
-
-2003-02-13  Anders Carlsson  <andersca at codefactory.se>
-
-	* test/data/valid-messages/standard-acquire-service.message:
-	* test/data/valid-messages/standard-hello.message:
-	* test/data/valid-messages/standard-list-services.message:
-	* test/data/valid-messages/standard-service-exists.message:
-	Add some standard messages.
-
-2003-02-13  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/driver.c: (bus_driver_send_welcome_message),
-	(bus_driver_handle_list_services),
-	(bus_driver_handle_acquire_service),
-	(bus_driver_handle_service_exists), (bus_driver_handle_message):
-	Update for API changes in libdbus.
-
-	* dbus/dbus-message.c: (dbus_message_new_reply):
-	* dbus/dbus-message.h:
-	Remove the name argument. The spec states that replies shouldn't
-	have a name.
-
-2003-02-13  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/desktop-file.c: (parse_section_start), (parse_key_value),
-	(report_error), (bus_desktop_file_load), (lookup_section),
-	(lookup_line), (bus_desktop_file_get_raw),
-	(bus_desktop_file_get_string):
-	* bus/desktop-file.h:
-	Some fixes, and new functions for getting a key value from a section.
-
-2003-02-13  Havoc Pennington  <hp at pobox.com>
-
-	* test/data/auth/fail-after-n-attempts.auth-script: new test
-
-	* dbus/dbus-auth.c (send_rejected): shutdown_mech() when we
-	reject the client.
-
-2003-02-13  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-auth.c (handle_server_data_external_mech): args to
-	dbus_credentials_match were backward
-
-	* dbus/dbus-auth-script.c (_dbus_auth_script_run): support
-	NO_CREDENTIALS and ROOT_CREDENTIALS
-
-	* dbus/dbus-auth.c (_dbus_auth_do_work): move get_state() routine
-	into here. Never process more commands after we've reached an
-	end state; store further data as unused bytes.
-
-	* test/data/auth/*: add more auth tests
-
-	* dbus/dbus-auth-script.c (_dbus_auth_script_run): support EXPECT
-	command to match exact string and EXPECT_UNUSED to match unused
-	bytes
-
-	* test/Makefile.am (dist-hook): fix to dist all the test stuff
-
-2003-02-12  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-string.c (_dbus_string_pop_line): fix to also strip
-	\r off of popped lines
-
-	* dbus/dbus-auth.c (_dbus_auth_test): write code to run auth
-	scripts
-
-	* dbus/dbus-auth-script.c (_dbus_auth_script_run): when doing a
-	SEND, append \r\n
-
-2003-02-12  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/Makefile.am: remove break-loader from the build, since it
-	moved.
-
-	* configure.in: add --enable-gcov to turn on coverage profiling
-	flags and disable optimization
-
-2003-02-10  Havoc Pennington  <hp at pobox.com>
-
-        * dbus/dbus-auth-script.c, dbus/dbus-auth-script.h: sync
-	initial cut at test framework for DBusAuth from laptop.
-	Doesn't quite work yet but it compiles and I need to get
-	it off the 266mhz laptop. ;-)
-
-	* dbus/dbus-server-debug.c (_dbus_server_debug_accept_transport):
-	fix a memleak in error case
-
-2003-02-12  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/Makefile.am:
-	* bus/desktop-file.c:
-	* bus/desktop-file.h:
-	Add a desktop file parser.
-
-2003-02-11  Zack Rusin  <zack at kde.org>
-
-	* qt/message.[h|cpp]: sample implementation
-	of the KDE wrapper for DBusMessage
-
-2003-02-09  Zack Rusin  <zack at kde.org>
-
-	* test/bus-test.c: make_it_compile
-	* doc/dbus-specification.sgml: minimal semantic fix
-
-2003-02-06  Anders Carlsson  <andersca at codefactory.se>
-
-	Release 0.3
-
-	* NEWS: Update
-
-2003-02-06  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/Makefile.am:
-	* dbus/dbus-break-loader.c:
-	* test/Makefile.am:
-	* test/break-loader.c:
-	Move dbus-break-loader to test/ and rename it to break-loader.
-
-2003-02-02  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-keyring.c, dbus/dbus-keyring.h: template files
-	for code to manage cookies in your home directory
-
-	* dbus/dbus-sysdeps.c (_dbus_generate_random_bytes): new function
-
-	* dbus/dbus-auth.c (get_state): impose a maximum number of tries
-	to authenticate, then disconnect the client.
-
-2003-02-03  Alexander Larsson  <alexl at redhat.com>
-
-	* dbus/dbus-message.c (dbus_message_append_fields):
-	Correct docs.
-
-2003-02-02  Anders Carlsson  <andersca at codefactory.se>
-
-	* doc/dbus-specification.sgml:
-	Update address format section.
-
-2003-02-02  Anders Carlsson  <andersca at codefactory.se>
-
-	* test/Makefile.am:
-	* test/bus-test.c: (get_time), (add_timeout), (remove_timeout),
-	(message_handler), (new_connection_callback), (loop_quit),
-	(loop_run), (main):
-	Add bus test.
-
-2003-02-02  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/driver.c: (bus_driver_handle_service_exists):
-	Simplify the code a bit.
-
-	* dbus/dbus-bus.c: (dbus_bus_service_exists):
-	Fix a silly.
-
-2003-02-02  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/Makefile.am:
-	Add libdbus-daemon.la and link to it.
-
-2003-02-01  James Willcox  <jwillcox at gnome.org>
-
-	* bus/driver.c: (bus_driver_handle_own_service):
-	Actually include the service reply code in the message.
-
-2003-02-02  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/driver.c: (bus_driver_handle_service_exists):
-	Don't unref the incoming message.
-
-2003-02-02  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus.h: Add dbus-address.h and dbus-bus.h
-
-2003-02-02  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-server.c: (dbus_server_listen):
-	* dbus/dbus-transport.c: (_dbus_transport_open):
-	ifdef out the calls to the debug transport and server.
-
-2003-02-02  Alexander Larsson  <alexl at redhat.com>
-
-	* dbus/dbus-watch.c (dbus_watch_get_flags):
-	Add note in the docs that ERROR or HANGUP won't be returned
-	and are assumed always on.
-
-	* glib/dbus-gmain.c (add_watch):
-	Always add IO_ERR | IO_HUP
-
-	* dbus/dbus-message.h:
-	Add semicolon after dbus_message_iter_get_string_array().
-	Makes qt code build again
-
-2003-02-01  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/driver.c: (create_unique_client_name),
-	(bus_driver_handle_hello):
-	Don't take a name, just use a numeric id to identify
-	each client.
-
-	* dbus/Makefile.am:
-	* dbus/dbus-bus.c: (dbus_bus_register_client),
-	(dbus_bus_acquire_service), (dbus_bus_service_exists):
-	* dbus/dbus-bus.h:
-	Add new convenience functions for communicating with the bus.
-
-	* dbus/dbus-message.h:
-
-	* dbus/dbus-protocol.h:
-	Fix a typo.
-
-2003-02-01  Alexander Larsson  <alexl at redhat.com>
-
-	* dbus/dbus-message.c (dbus_message_append_fields):
-	Add some more doc comments.
-
-2003-02-01  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-break-loader.c (randomly_modify_length): change
-	a 4-byte value in the message as if it were a length
-
-	* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): don't set
-	execute bit on saved files
-
-2003-02-01  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-break-loader.c (main): new program to find messages
-	that break the loader.
-
-	* dbus/dbus-sysdeps.c (_dbus_string_append_uint): new function
-	* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): new function
-
-	* dbus/dbus-string.c (_dbus_string_set_byte): new
-
-2003-01-31  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-message.c: refactor the test code to be more general,
-	in preparation for writing a "randomly permute test cases to
-	try to break the loader" program.
-
-2003-01-31  Havoc Pennington  <hp at pobox.com>
-
-	* doc/dbus-specification.sgml: work on the specification
-
-	* dbus/dbus-message.c (_dbus_message_loader_return_buffer): check
-	the protocol version of the message.
-
-	* dbus/dbus-protocol.h: drop special _REPLY names, the spec
-	no longer specifies that.
-	(DBUS_SERVICE_REPLY_SERVICE_EXISTS): fix flags (1/2/4/8 not
-	1/2/3/4)
-
-	* dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos): add missing
-	"break" for DBUS_TYPE_NIL, remove @todo
-
-2003-01-31  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-message.c (dbus_message_set_is_error_reply): rename
-	just set_is_error/get_is_error as this is a commonly-used
-	function, and write docs.
-
-2003-01-31  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-address.c: (dbus_address_entry_free):
-	Free key and value lists.
-
-	* dbus/dbus-internals.c: (_dbus_type_to_string):
-	Add the types we didn't have.
-
-	* dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
-	(_dbus_marshal_validate_arg):
-	Add NIL types.
-
-	* dbus/dbus-message.c: (dbus_message_set_sender):
-	Remove todo about being able to set sender to NULL.
-
-	(dbus_message_set_is_error_reply),
-	(dbus_message_get_is_error_reply):
-	* dbus/dbus-message.h:
-	New functions.
-
-	* dbus/dbus-protocol.h:
-	Add error reply flag.
-
-	* test/data/valid-messages/opposite-endian.message:
-	Add NIL type to test.
-
-2003-01-31  Havoc Pennington  <hp at pobox.com>
-
-	* doc/dbus-specification.sgml: fully specify the header.  Add
-	flags and major protocol version, and change header/body len to
-	unsigned.
-
-	* dbus/dbus-message-builder.c (append_saved_length): append length
-	as uint32
-
-	* dbus/dbus-message.c (dbus_message_create_header): change header
-	length and body length to unsigned. Add the new fields from the
-	spec
-	(_dbus_message_loader_return_buffer): unsigned header/body len
-
-2003-01-30  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-auth.c: rework to use only REJECTED, no
-	MECHANISMS
-
-	* doc/dbus-sasl-profile.txt: drop MECHANISMS and just
-	use REJECTED, suggested by Mark McLoughlin
-
-2003-01-30  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-server.c (dbus_server_listen): @todo about how we need
-	a better way to report errors here. e.g.  "unix address lacks
-	path" or something. also "no such file" when the path doesn't
-	exist, etc.
-
-	* dbus/dbus-address.c (dbus_address_entries_free): add @todo about
-	leaking list nodes
-	(dbus_parse_address): add @todo about documenting address format,
-	and allowing , and ; to be escaped
-
-2003-01-30  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/Makefile.am:
-	Add dbus-address.[ch]
-
-	* dbus/dbus-address.c: (dbus_address_entry_free),
-	(dbus_address_entries_free), (create_entry),
-	(dbus_address_entry_get_method), (dbus_address_entry_get_value),
-	(dbus_parse_address), (_dbus_address_test):
-	* dbus/dbus-address.h:
-	New files for dealing with address parsing.
-
-	* dbus/dbus-connection.c:
-	Document timeout functions.
-
-	* dbus/dbus-message.c:
-	Document dbus_message_new_from_message.
-
-	* dbus/dbus-server-debug.c:
-	Document.
-
-	* dbus/dbus-server.c: (dbus_server_listen):
-	Parse address and use correct server implementation.
-
-	* dbus/dbus-string.c: (_dbus_string_find_to), (_dbus_string_test):
-	* dbus/dbus-string.h:
-	New function with test.
-
-	* dbus/dbus-test.c: (dbus_internal_symbol_do_not_use_run_tests):
-	* dbus/dbus-test.h:
-	Add address tests.
-
-	* dbus/dbus-transport-debug.c:
-	Document.
-
-	* dbus/dbus-transport.c: (_dbus_transport_open):
-	Parse address and use correct transport implementation.
-
-2003-01-30  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-message.c: use message->byte_order instead of
-	DBUS_COMPILER_BYTE_ORDER throughout.
-	(dbus_message_create_header): pad header to align the
-	start of the body of the message to 8-byte boundary
-
-	* dbus/dbus-marshal.h: make all the demarshalers take const
-	DBusString arguments.
-
-	* dbus/dbus-message.c (_dbus_message_loader_return_buffer):
-	validate message args here, so we don't have to do slow validation
-	later, and so we catch bad messages as they are incoming. Also add
-	better checks on header_len and body_len. Also fill in
-	message->byte_order
-
-	* dbus/dbus-string.c (_dbus_string_validate_utf8): new (not
-	implemented properly)
-	(_dbus_string_validate_nul): new function to check all-nul
-
-	* dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): rename
-	get_arg_end_pos and remove all validation
-	(_dbus_marshal_validate_arg): actually do validation here.
-
-2003-01-29  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-message.c (check_message_handling): fix assertion
-	failure on set_client_serial
-
-2003-01-28  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-server-debug.c: Add doc section comments
-
-	* dbus/dbus-transport-debug.c: add doc section comments
-
-2003-01-28  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-string.c (_dbus_string_base64_decode): append bytes in
-	the reverse order from how I had it
-	(_dbus_string_base64_encode): reverse encoding order. I was
-	basically byteswapping everything during encoding.
-
-2003-01-28  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-connection-internal.h:
-	* dbus/dbus-connection.c: (_dbus_connection_add_timeout),
-	(_dbus_connection_remove_timeout):
-	Add functions for adding and removing timeouts.
-
-	* dbus/dbus-message.c: (dbus_message_new_from_message):
-	Add new function that takes a message and creates an exact
-	copy of it, but with the refcount set to 1.
-	(check_message_handling):
-	Fix build error.
-
-	* dbus/dbus-server-protected.h:
-	* dbus/dbus-server.c: (_dbus_server_init_base),
-	(_dbus_server_finalize_base), (_dbus_server_add_timeout),
-	(dbus_server_set_timeout_functions):
-	(_dbus_server_remove_timeout):
-	New functions so that a server can add and remove timeouts.
-
-	(dbus_server_listen):
-	Add commented out call to dbus_server_debug_new.
-
-	* dbus/dbus-timeout.c: (_dbus_timeout_new):
-	Actually set the handler, doh.
-
-	* dbus/dbus-transport.c: (_dbus_transport_open):
-	Add commented out call to dbus_transport_debug_client_new.
-
-	* dbus/Makefile.am:
-	Add dbus-transport-debug.[ch] and dbus-server-debug.[ch]
-
-2003-01-28  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-message.c (check_message_handling): function to check
-	on the loaded message, iterates over it etc.
-
-2003-01-28  Havoc Pennington  <hp at pobox.com>
-
-	* test/Makefile.am (dist-hook): fix make distdir
-
-	* dbus/Makefile.am (TESTS_ENVIRONMENT): fix make check
-
-2003-01-27  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-mempool.c (time_for_size): replace printf with
-	_dbus_verbose
-
-	* dbus/dbus-message-builder.c (_dbus_message_data_load): allow
-	empty lines; fix the SAVE_LENGTH stuff to be
-	START_LENGTH/END_LENGTH so it actually works; couple other
-	bugfixes
-
-	* test/Makefile.am (dist-hook): add dist-hook for .message files
-
-	* dbus/dbus-string.c (DBUS_STRING_COPY_PREAMBLE): source of a copy
-	can be constant or locked.
-	(_dbus_string_free): allow freeing a const string as
-	documented/intended
-
-	* dbus/dbus-sysdeps.c (_dbus_concat_dir_and_file): utility
-
-	* dbus/dbus-test-main.c (main): take an argument which is the
-	directory containing test data
-
-	* dbus/dbus-message.c (_dbus_message_test): pass a test_data_dir
-	argument to this and load all the messages in test/data/
-	checking that they can be loaded or not loaded as appropriate.
-
-2003-01-27  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/dispatch.c: (bus_dispatch_message_handler):
-	Dispatch messages sent to services.
-
-	* bus/driver.c: (bus_driver_send_service_deleted),
-	(bus_driver_send_service_created), (bus_driver_send_service_lost),
-	(bus_driver_send_service_acquired):
-	Add helper functions for sending service related messages.
-
-	(bus_driver_send_welcome_message):
-	Send HELLO_REPLY instead of WELCOME.
-
-	(bus_driver_handle_list_services):
-	Send LIST_SERVICES_REPLY instead of SERVICES.
-
-	(bus_driver_handle_own_service),
-	(bus_driver_handle_service_exists):
-	New message handlers.
-
-	(bus_driver_handle_message):
-	Invoke new message handlers.
-
-	(bus_driver_remove_connection):
-	Don't remove any services here since that's done automatically
-	by bus_service_remove_owner now.
-
-	* bus/driver.h:
-	New function signatures.
-
-	* bus/services.c: (bus_service_add_owner):
-	Send ServiceAcquired message if we're the only primary owner.
-
-	(bus_service_remove_owner):
-	Send ServiceAcquired/ServiceLost messages.
-
-	(bus_service_set_prohibit_replacement),
-	(bus_service_get_prohibit_replacement):
-	Functions for setting prohibit replacement.
-
-	(bus_service_has_owner):
-	New function that checks if a connection is in the owner queue of
-	a certain service.
-
-	* bus/services.h:
-	Add new function signatures.
-
-	* dbus/dbus-list.c: (_dbus_list_test):
-	Add tests for _dbus_list_remove_last and traversing the list backwards.
-
-	* dbus/dbus-list.h:
-	Fix a typo in _dbus_list_get_prev_link, if we're at the first element we can't
-	go any further, so return NULL then.
-
-	* dbus/dbus-protocol.h:
-	Add new messages, service flags and service replies.
-
-2003-01-26  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-message-builder.c: implement, completely untested.
-
-	* test/data/*: add data to be used in testing.
-	".message" files are our simple loadable text format.
-	".message-raw" will be binary dumps of messages.
-
-	* dbus/dbus-string.c (_dbus_string_starts_with_c_str): new
-
-2003-01-26  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-sysdeps.c (_dbus_file_get_contents): new function
-
-	* dbus/dbus-errors.c (dbus_result_to_string): add
-	file errors
-
-	* dbus/dbus-message-builder.c: new file, will contain code to load
-	up messages from files. Not implemented yet.
-
-2003-01-26  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-message.c (dbus_message_set_sender): support deleting
-	the sender by setting to NULL
-
-2003-01-26  Havoc Pennington  <hp at pobox.com>
-
-        The unit tests pass, but otherwise untested.  If it breaks, the
-	tests should have been better. ;-)
-
-	* bus/driver.c (bus_driver_handle_hello): return if we disconnect
-	the connection.
-
-	* dbus/dbus-message.c: redo everything so we maintain
-	message->header as the only copy of the various fields.
-	This avoids the possibility of out-of-memory in some cases,
-	for example dbus_message_lock() can't run out of memory anymore,
-	and avoids extra copying. Figured I may as well go ahead and do
-	this since it was busted for dbus_message_lock to not return
-	failure on OOM, and dbus_message_write_header was totally
-	unchecked for OOM. Also fixed some random other bugs.
-
-	* dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): verify
-	that strings are nul-terminated. Also, end_pos can be equal
-	to string length just not greater than, I think.
-	(_dbus_marshal_set_int32): new function
-	(_dbus_marshal_set_uint32): new function
-	(_dbus_marshal_set_string): new function
-
-	* dbus/dbus-connection.c (_dbus_connection_new_for_transport): fix
-	a warning, init timeout_list to NULL
-	(dbus_connection_send_message): don't use uninitialized variable
-	"serial"
-
-	* dbus/dbus-string.c (_dbus_string_replace_len): new function
-
-2003-01-26  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/driver.c: (bus_driver_handle_hello),
-	(bus_driver_send_welcome_message):
-	Plug leaks
-
-2003-01-26  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-auth.c: (process_auth), (_dbus_auth_unref):
-	* dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
-	(dbus_connection_unref):
-	* dbus/dbus-marshal.c: (_dbus_marshal_test):
-	* dbus/dbus-message.c: (dbus_message_unref),
-	Plug memory leaks.
-
-	(dbus_message_get_fields):
-	Remove debugging printout.
-
-	(_dbus_message_loader_return_buffer):
-	Don't store the header string.
-
-	(_dbus_message_test):
-	Plug leaks.
-
-2003-01-26  Richard Hult  <rhult at codefactory.se>
-
-	* glib/dbus-gmain.c (dbus_connection_dispatch): Traverse a copy of
-	the file descriptor list, since it can change under us.
-
-2003-01-25  Anders Carlsson  <andersca at codefactory.se>
-
-	* glib/dbus-gmain.c: (dbus_connection_prepare),
-	(dbus_connection_check), (dbus_connection_dispatch), (add_watch),
-	(remove_watch), (dbus_connection_hookup_with_g_main):
-	Rewrite the glib handling to use its own GSource instead of a
-	GIOChannel so we can catch messages put in the queue while waiting
-	for a reply.
-
-2003-01-25  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/Makefile.am:
-	* bus/connection.c: (connection_disconnect_handler),
-	(connection_watch_callback), (bus_connection_setup):
-	* bus/dispatch.c: (send_one_message),
-	(bus_dispatch_broadcast_message), (bus_dispatch_message_handler),
-	(bus_dispatch_add_connection), (bus_dispatch_remove_connection):
-	* bus/dispatch.h:
-	* bus/driver.c: (bus_driver_send_service_deleted),
-	(bus_driver_send_service_created), (bus_driver_handle_hello),
-	(bus_driver_send_welcome_message),
-	(bus_driver_handle_list_services), (bus_driver_remove_connection),
-	(bus_driver_handle_message):
-	* bus/driver.h:
-	Refactor code, put the message dispatching in its own file. Use
-	_DBUS_HANDLE_OOM. Also send ServiceDeleted messages when a client
-	is disconnected.
-
-2003-01-25  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-internals.h:
-	Add _DBUS_HANDLE_OOM macro, it doesn't do anything currently.
-
-	* dbus/dbus-message.c: (dbus_message_get_sender):
-	* dbus/dbus-message.h:
-	Implement dbus_message_get_sender.
-
-	* dbus/dbus-protocol.h:
-	Add message and service defines.
-
-2003-01-25  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-connection.c: (dbus_connection_send_message):
-	* dbus/dbus-message-internal.h:
-	* dbus/dbus-message.c: (_dbus_message_get_client_serial),
-	(dbus_message_write_header):
-	Remove _dbus_messag_unlock and don't set the client serial on a
-	message if one already exists.
-
-2003-01-24  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-list.c (alloc_link): put a thread lock on the global
-	list_pool
-
-	* bus/driver.c (bus_driver_handle_list_services): fix a leak
-	on OOM
-
-2003-01-25  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-list.c: (alloc_link), (free_link):
-	Use a memory pool for the links.
-
-2003-01-25  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/connection.c: (bus_connection_foreach):
-	* bus/connection.h:
-	Add new bus_connection_foreach function.
-
-	* bus/driver.c: (send_one_message), (bus_driver_broadcast_message):
-	Add function that broadcasts a message to all clients.
-
-	(bus_driver_send_service_created), (bus_driver_handle_hello),
-	(bus_driver_send_welcome_message),
-	(bus_driver_handle_list_services), (bus_driver_message_handler):
-	Implement functions that take care of listing services, and notifying
-	clients when new services are created.
-
-	* bus/services.c: (bus_services_list):
-	* bus/services.h:
-	Add new function that returns an array of strings with the currently
-	registered services.
-
-	* glib/dbus-glib.h:
-	* glib/dbus-gmain.c:
-	Update copyright year.
-
-2003-01-25  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-connection.c: (dbus_connection_send_message):
-	Unlock the message in case it was sent earlier.
-
-	(dbus_connection_send_message_with_reply_and_block):
-	Remove the reply message from the list.
-
-	* dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
-	Set array_len and new_pos correctly.
-
-	(_dbus_marshal_test):
-	Remove debug output.
-
-	* dbus/dbus-message-internal.h:
-	* dbus/dbus-message.c: (_dbus_message_get_reply_serial):
-	New function that returns the reply serial.
-
-	(_dbus_message_unlock):
-	New function that unlocks a message and resets its header.
-
-	(dbus_message_append_string_array),
-	(dbus_message_get_fields_valist),
-	(dbus_message_iter_get_field_type),
-	(dbus_message_iter_get_string_array),
-	(dbus_message_get_fields),
-	(dbus_message_append_fields_valist):
-	Handle string arrays.
-
-	(dbus_message_set_sender):
-	Make this function public since the bus daemon needs it.
-
-	(decode_header_data):
-	Set the reply serial to -1 initially.
-
-	* dbus/dbus-message.h:
-	Add dbus_message_set_sender.
-
-2003-01-24  Havoc Pennington  <hp at pobox.com>
-
-	* doc/dbus-specification.sgml: add some stuff
-
-2003-01-22  Havoc Pennington  <hp at pobox.com>
-
-	* doc/dbus-specification.sgml: Start to document the protocol.
-
-2003-01-22  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-connection.c
-	(dbus_connection_send_message_with_reply_and_block): add some @todo
-
-	* bus/driver.c (bus_driver_add_connection): add a FIXME about memleak
-
-2003-01-21  Havoc Pennington  <hp at pobox.com>
-
-        (patch untested because can't compile)
-
-	* bus/driver.c (create_unique_client_name): make this function
-	never recycle client names. Also, caller should initialize
-	the DBusString.
-
-	* dbus/dbus-sysdeps.c (_dbus_get_current_time): new function
-
-2003-01-21  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-marshal.c: (_dbus_marshal_double),
-	(_dbus_marshal_int32), (_dbus_marshal_uint32),
-	(_dbus_marshal_int32_array), (_dbus_marshal_uint32_array),
-	(_dbus_marshal_double_array), (_dbus_marshal_string_array),
-	(_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
-	(_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
-	(_dbus_marshal_get_field_end_pos), (_dbus_marshal_test):
-	* dbus/dbus-marshal.h:
-	* dbus/dbus-protocol.h:
-	Add support for marshalling and demarshalling integer, double
-	and string arrays.
-
-2003-01-21  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/Makefile.am:
-	Add driver.[ch]
-
-	* bus/connection.c: (connection_disconnect_handler):
-	Remove the connection from the bus driver's list.
-
-	(connection_watch_callback): Dispatch messages.
-
-	(free_connection_data): Free connection name.
-
-	(bus_connection_setup): Add connection to the bus driver's list.
-	(bus_connection_remove_owned_service):
-	(bus_connection_set_name), (bus_connection_get_name):
-	Add functions for setting and getting the connection's name.
-
-	* bus/connection.h:
-	Add function headers.
-
-	* bus/driver.c: (create_unique_client_name),
-	(bus_driver_handle_hello_message),
-	(bus_driver_send_welcome_message), (bus_driver_message_handler),
-	(bus_driver_add_connection), (bus_driver_remove_connection):
-	* bus/driver.h:
-	* bus/main.c:
-	* bus/services.c: (bus_service_free):
-	* bus/services.h:
-	New file that handles communication and registreation with the bus
-	itself.
-
-2003-01-21  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-connection.c: (dbus_connection_send_message):
-	Add a new client_serial parameter.
-
-	(dbus_connection_send_message_with_reply):
-	Remove a @todo since we've implemented the blocking function.
-
-	(dbus_connection_send_message_with_reply_and_block):
-	New function that sends a message and waits for a reply and
-	then returns the reply.
-
-	* dbus/dbus-connection.h:
-	Add new functions.
-
-	* dbus/dbus-errors.c: (dbus_result_to_string):
-	* dbus/dbus-errors.h:
-	Add new DBUS_RESULT.
-
-	* dbus/dbus-message-internal.h:
-	* dbus/dbus-message.c: (_dbus_message_get_reply_serial),
-	(_dbus_message_set_sender), (dbus_message_write_header),
-	(dbus_message_new_reply), (decode_header_data),
-	(_dbus_message_loader_return_buffer), (_dbus_message_test):
-	* dbus/dbus-message.h:
-	Add new functions that set the reply serial and sender.
-	Also marshal and demarshal them correctly and add test.
-
-	* dbus/dbus-protocol.h:
-	Add new DBUS_MESSAGE_TYPE_SENDER.
-
-	* glib/dbus-glib.h:
-	* glib/dbus-gmain.c: (watch_callback), (free_callback_data),
-	(add_watch), (remove_watch), (add_timeout), (remove_timeout),
-	(dbus_connection_hookup_with_g_main):
-	* glib/test-dbus-glib.c: (main):
-	Rewrite to use GIOChannel and remove the GSource crack.
-
-	* test/echo-client.c: (main):
-	* test/watch.c: (check_messages):
-	Update for changed APIs
-
-2003-01-19  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/Makefile.am: Add dbus-timeout.[cħ]
-
-	* dbus/dbus-connection.c: (_dbus_connection_new_for_transport):
-	Create a DBusTimeoutList.
-	(dbus_connection_set_timeout_functions): Add new function to
-	set timeout callbacks
-
-	* dbus/dbus-connection.h: Add public DBusTimeout API.
-
-	* dbus/dbus-message.c: (dbus_message_get_service):
-	* dbus/dbus-message.h:	New function.
-
-	* dbus/dbus-server.c: Fix small doc typo.
-
-	* dbus/dbus-timeout.[ch]: New files for mainloop timeouts.
-
-2003-01-19  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-string.c (_dbus_string_move_len): Don't delete all
-	of the string, just as long as specified.
-
-2003-01-19  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-connection.c (dbus_connection_get_is_authenticated):
-	new function
-
-	* dbus/dbus-server.c (dbus_server_set_max_connections)
-	(dbus_server_get_max_connections, dbus_server_get_n_connections):
-	keep track of current number of connections, and add API for
-	setting a max (but haven't implemented enforcing the max yet)
-
-2003-01-18  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-transport-unix.c (unix_do_iteration): only do the
-	reading/writing if read_watch != NULL or write_watch != NULL.
-
-	* dbus/dbus-message.c (_dbus_message_loader_return_buffer): fix
-	the message loader code to actually load message->header and
-	message->body into the newly-created message.
-
-	* dbus/dbus-transport-unix.c (check_write_watch): fix a mem leak
-	in OOM case
-
-	* dbus/dbus-connection.c (dbus_connection_set_max_message_size)
-	(dbus_connection_get_max_message_size)
-	(dbus_connection_set_max_live_messages_size)
-	(dbus_connection_get_max_live_messages_size): implement some
-	resource limitation functions
-
-	* dbus/dbus-resources.c: new file implementing some of the
-	resource limits stuff
-
-	* dbus/dbus-message.c (dbus_message_iter_get_byte_array): add
-	missing docs, add @todo to handle OOM etc.
-
-	* dbus/dbus-marshal.c (_dbus_demarshal_byte_array): add missing
-	docs
-
-2003-01-18  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-connection.c (dbus_connection_unref): disconnect the
-	connection if it hasn't been already.
-
-	* dbus/dbus-connection.h: kill off the idea of an ErrorFunction,
-	replace with DisconnectFunction.
-
-2003-01-18  Havoc Pennington  <hp at pobox.com>
-
-        Building --disable-verbose-mode --disable-asserts --disable-tests
-	cuts the library from 112K to 45K or so
-
-	* configure.in: check for varargs macro support,
-	add --enable-verbose-mode, --enable-asserts.
-
-	* dbus/dbus-internals.h (_dbus_assert): support
-	DBUS_DISABLE_ASSERT
-	(_dbus_verbose): support DBUS_ENABLE_VERBOSE_MODE
-
-2003-01-18  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-test.c: include config.h so that tests actually run
-
-	* dbus/dbus-string.c: add assertions that stuff is 8-byte aligned,
-	so the failure mode when that assumption fails will be plenty
-	obvious.
-
-2003-01-18  Havoc Pennington  <hp at pobox.com>
-
-	* configure.in: default --enable-tests to $USE_MAINTAINER_MODE
-
-	* dbus/Makefile.am: fix it up so dubs-test-main.c is included in
-	the distribution
-
-	* test/Makefile.am: don't use special variable "TESTS" for echo-*
-	since we don't want to use those in make check
-
-2003-01-15  Havoc Pennington  <hp at redhat.com>
-
-        Release 0.2
-
-	* NEWS: update
-
-2003-01-15  Havoc Pennington  <hp at redhat.com>
-
-	* test/Makefile.am: fix so that test source code ends up in the
-	distribution on make distcheck
-
-2003-01-15  Havoc Pennington  <hp at redhat.com>
-
-        Release 0.1.
-
-	* NEWS: update
-
-2003-01-15  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-test.c (dbus_internal_symbol_do_not_use_run_tests):
-	fix build when --disable-tests
-
-	* Makefile.am (EXTRA_DIST): put HACKING in here
-
-	* HACKING: document procedure for making a tarball release.
-
-2003-01-14  Anders Carlsson  <andersca at codefactory.se>
-
-	* bus/connection.c: (connection_error_handler),
-	(bus_connection_setup):
-	* bus/main.c: (main):
-	Make sure that the DBusConnectionData struct is NULLed
-	out to prevent a segfault.
-
-	* dbus/dbus-errors.c: (dbus_result_to_string):
-	* dbus/dbus-errors.h:
-	* dbus/dbus-message.c: (dbus_message_get_fields),
-	(dbus_message_get_fields_valist), (_dbus_message_test):
-	* dbus/dbus-message.h:
-	Make dbus_message_get_fields return a result code so we can
-	track invalid fields as well as oom.
-
-2003-01-11  Havoc Pennington  <hp at pobox.com>
-
-	* configure.in: change --enable-test/--enable-ansi action-if-given
-	to enable_foo=$enableval instead of enable_foo=yes
-
-2003-01-08  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-string.c (_dbus_string_align_length): new function
-
-	* dbus/dbus-test-main.c: move main() for test app here
-	* dbus/dbus-test.c
-	(dbus_internal_symbol_do_not_use_run_tests): we have to export a
-	symbol to run tests, because dbus-test isn't in the main
-	library
-
-        Code review nitpicks.
-
-	* dbus/dbus-message.c (dbus_message_write_header): add newlines
-	for people with narrow emacs ;-). Assert client_serial was filled
-	in. Assert message->name != NULL.
-	(dbus_message_append_fields): have "first_field_type" arg separate
-	from va list, needed for C++ binding that also uses varargs IIRC
-	and helps with type safety
-	(dbus_message_new): add @todo about using DBusString to store
-	service/name internally
-	(dbus_message_new): don't leak ->service and ->name on OOM later
-	in the function
-	(dbus_message_unref): free the service name
-	(dbus_message_get_fields): same change to varargs
-	i.e. first_field_type
-	(_dbus_message_loader_return_buffer): assert that the message data
-	is aligned (if not it's a bug in our code). Put in verbose griping
-	about why we set corrupted = TRUE.
-	(decode_header_data): add FIXME that char* is evil.  Was going to
-	add FIXME about evil locale-specific string.h strncmp, but just
-	switched to wacky string-as-uint32 optimization. Move check for
-	"no room for field name" above get_const_data_len() to avoid
-	assertion failure in get_const_data_len if we have trailing 2
-	bytes or the like. Check for service and name fields being
-	provided twice. Don't leak service/name on error. Require field
-	names to be aligned to 4 bytes.
-
-	* dbus/dbus-marshal.c: move byte swap stuff to header
-	(_dbus_pack_int32): uscore-prefix
-	(_dbus_unpack_int32): uscore-prefix
-	(_dbus_unpack_uint32): export
-	(_dbus_demarshal_string): add @todo complaining about use of
-	memcpy()
-	(_dbus_marshal_get_field_end_pos): add @todo about bad error
-	handling allowing corrupt data to go unchecked
-
-2003-01-08  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-transport-unix.c (unix_do_iteration): add read/write
-	to the select() as needed for authentication. (should be using
-	_dbus_poll() not select, but for another day)
-
-	* dbus/dbus.h: include dbus/dbus-protocol.h
-
-2003-01-08  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/Makefile.am (dbusinclude_HEADERS): Install
-	dbus-connection.h
-
-2003-01-08  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-internals.c: (_dbus_type_to_string):
-	New function that returns a string describing a type.
-
-	* dbus/dbus-marshal.c: (_dbus_demarshal_byte_array):
-	* dbus/dbus-marshal.h:
-	* dbus/dbus-message.c: (dbus_message_get_fields_valist),
-	(dbus_message_iter_get_field_type), (dbus_message_iter_get_double),
-	(dbus_message_iter_get_byte_array):
-	* dbus/dbus-message.h:
-	Add new convenience functions for appending and getting message fields.
-	Also add demarshalling routines for byte arrays.
-
-2003-01-07  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-connection-internal.h:
-	* dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
-	(_dbus_connection_get_next_client_serial),
-	(dbus_connection_send_message):
-	* dbus/dbus-internals.h:
-	* dbus/dbus-marshal.c: (unpack_uint32), (dbus_unpack_int32),
-	(dbus_pack_int32), (_dbus_marshal_double), (_dbus_marshal_int32),
-	(_dbus_marshal_uint32), (_dbus_demarshal_double),
-	(_dbus_demarshal_int32), (_dbus_demarshal_uint32),
-	(_dbus_demarshal_string), (_dbus_marshal_get_field_end_pos),
-	(_dbus_verbose_bytes), (_dbus_marshal_test):
-	* dbus/dbus-marshal.h:
-	* dbus/dbus-message-internal.h:
-	* dbus/dbus-message.c: (_dbus_message_set_client_serial),
-	(dbus_message_write_header), (_dbus_message_lock),
-	(dbus_message_new), (dbus_message_ref), (dbus_message_unref),
-	(dbus_message_get_name), (dbus_message_append_int32),
-	(dbus_message_append_uint32), (dbus_message_append_double),
-	(dbus_message_append_string), (dbus_message_append_byte_array),
-	(dbus_message_get_fields_iter), (dbus_message_iter_ref),
-	(dbus_message_iter_unref), (dbus_message_iter_has_next),
-	(dbus_message_iter_next), (dbus_message_iter_get_field_type),
-	(dbus_message_iter_get_string), (dbus_message_iter_get_int32),
-	(dbus_message_iter_get_uint32), (dbus_message_iter_get_double),
-	(decode_header_data), (_dbus_message_loader_return_buffer),
-	(message_iter_test), (_dbus_message_test):
-	* dbus/dbus-message.h:
-	* dbus/dbus-protocol.h:
-	* dbus/dbus-test.c: (main):
-	* dbus/dbus-test.h:
-	* glib/test-dbus-glib.c: (message_handler), (main):
-	* test/echo-client.c: (main):
-	* test/watch.c: (check_messages):
-	Make messages sendable and receivable for real.
-
-2003-01-07  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-marshal.c: (_dbus_marshal_double),
-	(_dbus_marshal_string), (_dbus_marshal_byte_array):
-	* dbus/dbus-message.c: (dbus_message_append_int32),
-	(dbus_message_append_uint32), (dbus_message_append_double),
-	(dbus_message_append_string), (dbus_message_append_byte_array):
-	Handle OOM restoration.
-
-2003-01-07  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-marshal.c: (_dbus_marshal_string),
-	(_dbus_demarshal_string), (_dbus_marshal_test):
-	* dbus/dbus-marshal.h:
-	* dbus/dbus-message.c: (dbus_message_get_name),
-	Document these functions.
-
-	(dbus_message_append_int32), (dbus_message_append_uint32),
-	(dbus_message_append_double), (dbus_message_append_string),
-	(dbus_message_append_byte_array):
-	* dbus/dbus-message.h:
-	Add functions for adding message fields of different types.
-
-	* dbus/dbus-protocol.h:
-	Add the different types.
-
-2003-01-05  Havoc Pennington  <hp at pobox.com>
-
-	* bus/connection.c: implement routines for handling connections,
-	first thing is keeping a list of owned services on each connection
-	and setting up watches etc.
-
-	* bus/services.c: implement a mapping from service names to lists
-	of connections
-
-	* dbus/dbus-hash.c: add DBUS_HASH_POINTER
-
-	* dbus/dbus-threads.c (dbus_static_mutex_lock): add functions
-	to use static mutexes for global data
-
-	* dbus/dbus-connection.c (dbus_connection_set_data): add new
-	collection of functions to set/get application-specific data
-	on the DBusConnection.
-
-2003-01-04  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-sysdeps.c (_dbus_sleep_milliseconds): new function
-	(_dbus_poll): new function
-
-	* dbus/dbus-internals.h (_DBUS_STRUCT_OFFSET): new macro
-	copied from GLib
-
-	* bus/loop.c: initial code for the daemon main loop
-
-2003-01-04  Havoc Pennington  <hp at pobox.com>
-
-	* test/watch.c (error_handler): make it safe if the error handler
-	is called multiple times (if we s/error handler/disconnect
-	handler/ we should just guarantee it's called only once)
-
-	* dbus/dbus-transport.c (_dbus_transport_disconnect): call the
-	error handler on disconnect (it's quite possible we should
-	just change the error handler to a "disconnect handler," I'm
-	not sure we have any other meaningful errors)
-
-	* configure.in: check for getpwnam_r
-
-	* dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
-	dbus/dbus-auth.c: add credentials support, add EXTERNAL auth
-	mechanism as in SASL spec, using socket credentials
-
-	* dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): new function
-	(_dbus_send_credentials_unix_socket): new function
-
-	* dbus/dbus-sysdeps.c (_dbus_accept_unix_socket): rename just
-	dbus_accept()
-	(_dbus_write): only check errno if <0 returned
-	(_dbus_write_two): ditto
-
-2003-01-02  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-marshal.c: (_dbus_marshal_utf8_string),
-	(_dbus_marshal_byte_array), (_dbus_demarshal_utf8_string),
-	(_dbus_marshal_test):
-	* dbus/dbus-marshal.h:
-	Add _dbus_marshal_byte_array and rename _dbus_marshal_string
-	to _dbus_marshal_utf8_string. Also fix some tests.
-
-2002-12-28  Harri Porten  <porten at kde.org>
-
-	* configure.in: added check for C++ compiler and a very cheesy
-	check for the Qt integration
-
-	* Makefile.am (SUBDIRS): compile qt subdir if support is enabled
-
-	* qt/Makefile.am: added
-
-	* qt/.cvsignore: added
-
-	* qt/dbus-qthread.cc, qt/dbus-qthread.cpp: renamed former to
-	latter, added #ifdef QT_THREAD_SUPPORT guard.
-
-	* dbus/Makefile.am: added missing headers for make dist
-
-2002-12-28  Kristian Rietveld  <kris at gtk.org>
-
-	* dbus/Makefile.am: fixup export-symbols-regex.
-
-2002-12-27  Anders Carlsson  <andersca at codefactory.se>
-
-	* acinclude.m4: Add this file and put the
-	PKG_CHECK_MODULE macro in it.
-
-2002-12-27  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-marshal.c: (_dbus_marshal_string),
-	(_dbus_demarshal_double), (_dbus_demarshal_int32),
-	(_dbus_demarshal_uint32), (_dbus_demarshal_string),
-	(_dbus_marshal_test):
-	Make the demarshalling routines align the pos argument.
-	Add string marshalling tests and fix the obvious bugs
-	discovered.
-
-2002-12-26  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-auth.c: fixes fixes fixes
-
-	* dbus/dbus-transport-unix.c: wire up support for
-	encoding/decoding data on the wire
-
-	* dbus/dbus-auth.c (_dbus_auth_encode_data)
-	(_dbus_auth_decode_data): append to target string
-	instead of nuking it.
-
-2002-12-26  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-marshal.h (DBUS_COMPILER_BYTE_ORDER): #ifdef
-	WORDS_BIGENDIAN then compiler byte order is DBUS_BIG_ENDIAN,
-	doh
-
-	* dbus/dbus-marshal.c: Add macros to do int swapping in-place and
-	avoid swap_bytes() overhead (ignoring possible assembly stuff for
-	now). Main point is because I wanted unpack_uint32 to implement
-	_dbus_verbose_bytes
-	(_dbus_verbose_bytes): new function
-
-	* dbus/dbus-string.c (_dbus_string_validate_ascii): new function
-
-	* dbus/dbus-message.c (_dbus_message_loader_get_is_corrupted): add
-	mechanism to handle a corrupt message stream
-	(_dbus_message_loader_new): fix preallocation to only prealloc,
-	not prelengthen
-
-	* dbus/dbus-string.c (_dbus_string_skip_blank): fix this function
-	(_dbus_string_test): enhance tests for copy/move and fix the
-	functions
-
-	* dbus/dbus-transport-unix.c: Hold references in more places to
-	avoid reentrancy problems
-
-	* dbus/dbus-transport.c: ditto
-
-	* dbus/dbus-connection.c (dbus_connection_dispatch_message): don't
-	leak reference count in no-message case
-
-	* test/watch.c (do_mainloop): handle adding/removing watches
-	during iteration over the watches. Also, ref the connection/server
-	stored on a watch, so we don't try to mangle a destroyed one.
-
-	* dbus/dbus-transport-unix.c (do_authentication): perform
-	authentication
-
-	* dbus/dbus-auth.c (get_state): add a state
-	AUTHENTICATED_WITH_UNUSED_BYTES and return it if required
-	(_dbus_auth_get_unused_bytes): append the unused bytes
-	to the passed in string, rather than prepend
-
-	* dbus/dbus-transport.c (_dbus_transport_init_base): create
-	the auth conversation DBusAuth
-
-	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd)
-	(_dbus_transport_new_for_domain_socket): when creating a
-	transport, pass in whether it's a client-side or server-side
-	transport so we know which DBusAuth to create
-
-2002-12-03  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-transport-unix.c (unix_finalize): finalize base
-	_after_ finalizing the derived members
-	(unix_connection_set): unref watch if we fail to add it
-
-	* dbus/dbus-connection.c (dbus_connection_unref): delete the
-	transport first, so that the connection owned by the
-	transport will be valid as the transport finalizes.
-
-	* dbus/dbus-transport-unix.c (unix_finalize): free the write_watch
-	if necessary, and remove watches from the connection.
-
-	* dbus/dbus-watch.c (_dbus_watch_list_free): improve a comment
-
-2002-12-26  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/dbus-marshal.c: (_dbus_marshal_string),
-	(_dbus_demarshal_double), (_dbus_demarshal_int32),
-	(_dbus_demarshal_uint32), (_dbus_demarshal_string),
-	(_dbus_marshal_test):
-	* dbus/dbus-marshal.h:
-	Add string marshal functions and have the demarshal functions
-	return the new position.
-
-2002-12-25  Havoc Pennington  <hp at pobox.com>
-
-	* doc/dbus-sasl-profile.txt: docs on the authentication protocol,
-	it is a simple protocol that just maps directly to SASL.
-
-	* dbus/dbus-auth.h, dbus/dbus-auth.c: authentication protocol
-	initial implementation, not actually used yet.
-
-	* dbus/dbus-string.c (_dbus_string_find): new function
-	(_dbus_string_equal): new function
-	(_dbus_string_base64_encode): new function
-	(_dbus_string_base64_decode): new function
-
-2002-12-25  Anders Carlsson  <andersca at codefactory.se>
-
-	* dbus/Makefile.am:
-	* dbus/dbus-marshal.c: (swap_bytes), (_dbus_marshal_double),
-	(_dbus_marshal_int32), (_dbus_marshal_uint32),
-	(_dbus_demarshal_double), (_dbus_demarshal_int32),
-	(_dbus_demarshal_uint32), (_dbus_marshal_test):
-	* dbus/dbus-marshal.h:
-	* dbus/dbus-protocol.h:
-	* dbus/dbus-test.c: (main):
-	* dbus/dbus-test.h:
-	Add un-optimized marshalling/demarshalling routines.
-
-2002-12-25  Harri Porten  <porten at kde.org>
-
-	* qt/dbus-qt.h: adjusted ctor and getter to KDE/Qt conventions
-
-2002-12-24  Zack Rusin  <zack at kde.org>
-
-	* qt/dbus-qthread.cc: adding - integrates QMutex into Dbus
-	* qt/dbus-qt.h: skeleton with two sample implemenatation of the
-	main loop stuff
-
-2002-12-24  Havoc Pennington  <hp at pobox.com>
-
-	* glib/dbus-gthread.c: fix include
-
-	* glib/dbus-glib.h: rename DBusMessageHandler for now.
-	I think glib API needs to change, though, as you don't
-	want to use DBusMessageFunction, you want to use the
-	DBusMessageHandler object. Probably
-	dbus_connection_open_with_g_main_loop()
-	and dbus_connection_setup_g_main_loop() or something like that
-	(but think of better names...) that just create a connection
-	that has watch/timeout functions etc. already set up.
-
-	* dbus/dbus-connection.c
-	(dbus_connection_send_message_with_reply): new function just to
-	show how the message handler helps us deal with replies.
-
-	* dbus/dbus-list.c (_dbus_list_remove_last): new function
-
-	* dbus/dbus-string.c (_dbus_string_test): free a string that
-	wasn't
-
-	* dbus/dbus-hash.c: use memory pools for the hash entries
-	(rebuild_table): be more paranoid about overflow, and
-	shrink table when we can
-	(_dbus_hash_test): reduce number of sprintfs and write
-	valid C89. Add tests for case where we grow and then
-	shrink the hash table.
-
-	* dbus/dbus-mempool.h, dbus/dbus-mempool.c: memory pools
-
-	* dbus/dbus-connection.c (dbus_connection_register_handler)
-	(dbus_connection_unregister_handler): new functions
-
-	* dbus/dbus-message.c (dbus_message_get_name): new
-
-	* dbus/dbus-list.c: fix docs typo
-
-	* dbus/dbus-message-handler.h, dbus/dbus-message-handler.c:
-	an object representing a handler for messages.
-
-2002-12-16  Anders Carlsson  <andersca at codefactory.se>
-
-	* glib/dbus-glib.h:
-	* glib/dbus-gthread.c: (dbus_gthread_init):
-	Don't use the gdbus prefix for public functions.
-
-2002-12-16  Anders Carlsson  <andersca at codefactory.se>
-
-	* Makefile.am:
-	* configure.in:
-	Add GLib checks and fixup .pc files
-
-	* glib/Makefile.am:
-	* glib/dbus-glib.h:
-	* glib/dbus-gmain.c: (gdbus_connection_prepare),
-	(gdbus_connection_check), (gdbus_connection_dispatch),
-	(gdbus_add_connection_watch), (gdbus_remove_connection_watch),
-	(dbus_connection_gsource_new):
-	* glib/dbus-gthread.c: (dbus_gmutex_new), (dbus_gmutex_free),
-	(dbus_gmutex_lock), (dbus_gmutex_unlock), (dbus_gthread_init):
-	* glib/test-dbus-glib.c: (message_handler), (main):
-	Add GLib support.
-
-2002-12-15  Harri Porten  <porten at kde.org>
-
-	* autogen.sh: check for libtoolize before attempting to use it
-
-	* dbus/dbus-transport-unix.c: include <sys/time.h> for timeval
-	struct.
-
-	* .cvsignore: ignore more stamp files
-
-	* dbus/dbus-watch.c (_dbus_watch_list_new): fixed doc error
-
-	* test/Makefile.am: added -I$(top_srcdir) to be able to compile
-	without make install.
-
-2002-12-15  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-threads.c: add thread stubs that a higher library
-	layer can fill in. e.g. the GLib wrapper might fill them in with
-	GThread stuff. We still need to use this thread API to
-	thread-safe-ize the library.
-
-2002-12-12  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-transport-unix.c, dbus/dbus-server-unix.c: use the
-	below new interfaces and include fewer system headers.
-
-	* dbus/dbus-sysdeps.c (_dbus_read): new function
-	(_dbus_write): new function
-	(_dbus_write_two): new function
-	(_dbus_connect_unix_socket): new function
-	(_dbus_listen_unix_socket): new function
-
-	* dbus/dbus-message-internal.h: change interfaces to use
-	DBusString
-
-2002-12-11  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-types.h: add dbus_unichar
-
-	* dbus/dbus-internals.c (_dbus_verbose): use _dbus_getenv
-
-	* dbus/dbus-connection.c (dbus_connection_send_message): return
-	TRUE on success
-
-	* dbus/dbus-transport.c: include dbus-watch.h
-
-	* dbus/dbus-connection.c: include dbus-message-internal.h
-
-	* HACKING: add file with coding guidelines stuff.
-
-	* dbus/dbus-string.h, dbus/dbus-string.c: Encapsulate all string
-	handling here, for security purposes (as in vsftpd). Not actually
-	using this class yet.
-
-	* dbus/dbus-sysdeps.h, dbus/dbus-sysdeps.c: Encapsulate all
-	system/libc usage here, as in vsftpd, for ease of auditing (and
-	should also simplify portability). Haven't actually moved all the
-	system/libc usage into here yet.
-
-2002-11-25  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-internals.c (_dbus_verbose): fix to not
-	always print the first verbose message.
-
-2002-11-24  Havoc Pennington  <hp at pobox.com>
-
-        * test/echo-client.c, test/echo-server.c: cheesy test
-	clients.
-
-	* configure.in (AC_CHECK_FUNCS): check for writev
-
-	* dbus/dbus-message.c (_dbus_message_get_network_data): new
-	function
-
-	* dbus/dbus-list.c (_dbus_list_foreach): new function
-
-	* dbus/dbus-internals.c (_dbus_verbose): new function
-
-	* dbus/dbus-server.c, dbus/dbus-server.h: public object
-	representing a server that listens for connections.
-
-	* dbus/.cvsignore: create
-
-	* dbus/dbus-errors.h, dbus/dbus-errors.c:
-	public API for reporting errors
-
-	* dbus/dbus-connection.h, dbus/dbus-connection.c:
-	public object representing a connection that
-	sends/receives messages. (Same object used for
-	both client and server.)
-
-	* dbus/dbus-transport.h, dbus/dbus-transport.c:
-	Basic abstraction for different kinds of stream
-	that we might read/write messages from.
-
-2002-11-23  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-internals.h (_DBUS_INT_MAX): add _DBUS_INT_MIN
-	_DBUS_INT_MAX
-
-	* dbus/dbus-test.c (main): add list test, and include
-	dbus-test.h as intended
-
-	* dbus/dbus-hash.c (_dbus_hash_table_remove_string)
-	(_dbus_hash_table_remove_int): return value indicates
-	whether the entry existed to remove
-
-	* dbus/dbus-list.c: add linked list utility class,
-	with docs and tests
-
-	* dbus/dbus-hash.c: add TODO item about shrinking the hash bucket
-	array sometimes.
-
-2002-11-23  Havoc Pennington  <hp at pobox.com>
-
-	* Doxyfile.in (INCLUDE_FILE_PATTERNS): expand DBUS_BEGIN_DECLS/
-	DBUS_END_DECLS to nothing, that should fix this once and for all
-
-	* Doxyfile.in (JAVADOC_AUTOBRIEF): set to YES
-
-	* dbus/dbus-message.c, dbus/dbus-hash.c:
-	add some missing @brief
-
-2002-11-23  Havoc Pennington  <hp at pobox.com>
-
-	* dbus/dbus-message.h: put semicolons after DEBUG_BEGIN_DECLS
-	to avoid confusing Doxygen
-
-	* dbus/dbus-hash.c: @} not }@
-
-	* dbus/dbus-message.c (struct DBusMessage): split out
-	internals docs
-
-2002-11-23  Havoc Pennington  <hp at pobox.com>
-
-	* configure.in: pile on more warning flags if using gcc
-
-	* Doxyfile.in (EXTRACT_STATIC): set to NO, so we don't have
-	to document static functions
-
-	* configure.in: add summary to end of configure so it
-	looks nice and attractive
-
-	* dbus/dbus-hash.c: finish implementation and write unit
-	tests and docs
-
-	* configure.in: add --enable-tests to enable unit tests
-
-	* dbus/dbus-test.c: test program to run unit tests
-	for all files in dbus/*, initially runs a test for
-	dbus-hash.c
-
-	* dbus/dbus-internals.h: file to hold some internal utility stuff
-
-2002-11-22  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-hash.c: copy in Tcl hash table, not yet
-	"ported" away from Tcl
-
-	* dbus/dbus-types.h: header for types such as dbus_bool_t
-
-2002-11-22  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus.h: fixups for doc warnings
-
-	* Doxyfile.in (FILE_PATTERNS): we need to scan .h to pick up
-	macros
-	(QUIET): make it quiet so we can see warnings
-
-	* dbus/dbus-memory.c: teach D-BUS to allocate and free memory
-
-2002-11-22  Havoc Pennington  <hp at redhat.com>
-
-	* Makefile.am: include "Doxyfile" target in all-local
-
-	* configure.in: generate the Doxyfile
-
-	* Doxyfile.in: move Doxyfile here, so we can use
-	configure to generate a Doxyfile with the right
-	version number etc.
-
-2002-11-22  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/dbus-message.c: move inline docs into .c file
-
-	* Doxyfile (OUTPUT_DIRECTORY): move output to doc/api
-	so all docs are under doc/
-	(MAN_EXTENSION): generate man pages. Use extension
-	".3dbus" which matches ".3qt" on my system,
-	I guess this is OK, I don't know really.
-	(FILE_PATTERNS): look for .c files not .h, makes sense
-	for plain C I think
-
-2002-11-22  Havoc Pennington  <hp at pobox.com>
-
-	* Makefile.am (SUBDIRS): rename subdir "server" to "bus"
-	because any app can be a server, and any app can be a client,
-	the bus is a special kind of server.
-
-Thu Nov 21 23:35:31 2002  Zack Rusin  <zack at kde.org>
-
-	* Doxyfile : adding. Still needs Makefile rules to be generated
-	automatically (just run "doxygen" in the toplevel dir for now to
-	generate docs)
-
-	* dbus/dbus-message.h : Adding sample docs (javadoc since
-	resembles gtk-doc a little more)
-
-	* dbus/dbus.h : Adding sample docs
-
-2002-11-21  Havoc Pennington  <hp at redhat.com>
-
-	* dbus/Makefile.am (INCLUDES): define DBUS_COMPILATION
-	so we can allow ourselves to include files directly,
-	instead of having to use dbus.h
-
-	* dbus/dbus.h: fill in
-
-	* dbus/dbus-message.h: sketch out a sample header file.
-	Include griping if you include it directly instead of
-	via dbus.h
-
-	* dbus/dbus-macros.h: new file with macros for extern "C",
-	TRUE/FALSE, NULL, etc.
-
-	* doc/file-boilerplate.c: put include guards in here
-
-2002-11-21  Havoc Pennington  <hp at redhat.com>
-
-	* doc/file-boilerplate.c: include both AFL and GPL boilerplate.
-
-	* COPYING: include the GPL as well, and license code
-	under both AFL and GPL.
-
-2002-11-21  Havoc Pennington  <hp at redhat.com>
-
-	* acconfig.h: get rid of this
-
-	* autogen.sh (run_configure): add --no-configure option
-
-	* configure.in: remove AC_ARG_PROGRAM to make
-	autoconf complain less. add AC_PREREQ.
-	add AC_DEFINE third arg.
-
-2002-11-21  Anders Carlsson  <andersca at codefactory.se>
-
-	* doc/Makefile.am:
-	Fix references so we can distcheck.
-
-2002-11-21  Havoc Pennington  <hp at redhat.com>
-
-	* Initial module creation
-
+2007-03-13  Ralf.Habacker  <ralf.habacker at freenet.de>
+
+	* dbus/dbus-sysdeps-win.c: fixed broken DBusPipe on
+	win32. 
+
+	* dbus/dbus-sysdeps-win.c, dbus/dbus-sysdeps-unix.c: 
+	moved platform independent DBusPipe function to 
+	dbus-sysdeps.c. 
+
+2007-03-13  Ralf.Habacker  <ralf.habacker at freenet.de>
+
+	* dbus/dbus-sysdeps-win.c: added zero byte sending 
+	and receiving after connection start up
+
+2007-03-11  Havoc Pennington  <hp at redhat.com>
+
+	* tools/dbus-launch.c (do_close_stderr): fix C89 problem and
+	formatting problem
+
+	* Mostly fix the DBusPipe mess.
+	- put line break after function return types
+	- put space before parens
+	- do not pass structs around by value
+	- don't use dbus_strerror after calling supposedly cross-platform
+	api
+	- don't name pipe variables "fd"
+	- abstract special fd numbers like -1 and 1
+
+2007-03-12  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* dbus/dbus-sysdeps-win.h, dbus/dbus-sysdeps-win.c, 
+	dbus/dbus-sysdeps-util-win.c: renamed functions 
+	_dbus_xxx_file() to _dbus_file_xxx() to reflect 
+	struct name DBusFile. 
+
+2007-03-12  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* dbus/dbus-sysdeps-util-unix.c (_dbus_become_daemon):
+	fix _dbus_pid_fd check. 
+
+2007-03-10  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* tools/dbus-print-message.c (print_message):
+	added printing of the reply serial to method returns and 
+	errors, so you can actually figure out the message/reply 
+	pairs - patch by olli.salli at collabora.co.uk.
+
+2007-03-10  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* dbus-win.patch: removed committed patches. 
+
+2007-03-10  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* bus/bus.c, bus/bus.h, bus/main.c, bus/test.c,
+	dbus/dbus-sysdeps-unix.c, dbus/dbus-sysdeps-util-unix.c,
+	dbus/dbus-sysdeps-util-win.c, dbus/dbus-sysdeps-win.c,
+	dbus/dbus-sysdeps.h: renamed _dbus_xxx_pipe to _dbus_pipe_xxx,
+	completed _dbus_pipe support. 
+
+2007-03-10  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* dbus/dbus-sysdeps.h (_dbus_listen_tcp_socket):
+	changed type or port to pointer, because the port is given back.
+
+	* dbus/dbus-server-socket.c (_dbus_server_new_for_tcp_socket):
+	implemented returning tcp port. Skipping port parameter
+	and non integer port values in config <listen> statement
+	needs more effort.
+
+	* dbus/dbus-sysdeps-unix.c, dbus/dbus-sysdeps-win.c
+	(_dbus_listen_tcp_socket): return the real used tcp port.
+
+	* bus/dbus-daemon.1.in: added <listen> tcp examples
+
+2007-03-09  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* cmake/config.h.cmake: win32 msvc bug fix
+
+2007-03-09  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* cmake/config.h.cmake: fixed DBUS_WINxx defines,
+	using _WINCE does not work.
+
+2007-03-08  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* dbus-win.patch: removed _dbus_write_pipe() patch, it is now 
+	committed.
+
+2007-03-08  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* bus/bus.c, dbus/dbus-sysdeps-unix.c, dbus/dbus-sysdeps.h:
+	rename pipe related write() function calls to _dbus_write_pipe().
+
+2007-03-08  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* dbus-win.patch: added bus/config-loader-libexpat.c patch, 
+	uses DBUS_WIN for alls win32 related #ifdefs, 
+	some minor cleanups
+
+2007-03-08  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* dbus-win.patch: updated patch for bus/dispatch.c.
+
+2007-03-08  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* dbus-win.patch: dbus-connection.c (dbus_connection_get_unix_user,
+	dbus_connection_get_unix_process_id): Let return them valid user id's, 
+	otherwise bus-test fails. How to replace on win32 ?.
+	
+	* dbus/dbus-sysdeps-win.c (fill_win_user_info_homedir):
+	fix memory leak.
+
+2007-03-08  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* dbus/dbus-sysdeps-win.c (_dbus_win_set_error_from_win_error):
+	use dbus friendly error name.
+	(fill_win_user_info_homedir): print user name in error case too.
+
+2007-03-08  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* cmake/ConfigureChecks.cmake: fixed socketpair check
+
+2007-03-08  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* bus/dispatch.c: disabled segfault test on win32 for now
+
+2007-03-08  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* configure.in, cmake/ConfigureChecks.cmake: added check 
+	for setrlimit. 
+	* test/test-segfault.c: only include setrlimit stuff only 
+	when available.  
+
+2007-03-07  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* test/test-segfault.c: unix compile fix.
+	* dbus-win.patch: removed obsolate patches.
+
+2007-03-07  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* bus/activation.c: removed obsolate include header.
+	* test/test-segfault.c: win32 compile fix, rlimit 
+	isn't available on win32.
+	* dbus-win.patch: removed some more patches, they
+	are applied or obsolate 
+
+2007-03-06  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* bus-win.patch: fixes unix listen problems, dbus-test 
+	now runs.
+
+2007-03-06  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* cmake/dbus/CMakeLists.txt,cmake/bus/CMakeLists.txt,
+	cmake/CMakeLists.txt: win32 compile fix
+
+2007-03-04  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* dbus-win.patch, README.win: added available win32 
+	patches from windbus project (http://sf.net/projects/windbus)
+
+2007-03-04  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* bus/activation.c: (bus_activation_activate_service):
+	fixed call to _dbus_spawn_async_with_babysitter().
+
+2007-03-04  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* dbus/dbus-spawn.c,dbus/dbus-spawn.h (_dbus_spawn_async_with_babysitter):
+	added environment pointer as function parameter, used on win32.
+
+	* test/spawn-test.c: fixed call to above mentioned function.
+
+2007-03-04  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* configure.in,test/test-sleep-forever.c,test/test-names.c: 
+	added configure check for unistd.h.
+
+2007-03-04  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* test/Makefile.am: fixed test data copy problem in 
+	out of source build, when sources came from svn or cvs. 
+
+2007-03-03  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* dbus/*-win.*,bus/*-win.*: added win32 platform related
+	files. These files are only added to the cmake build system.  
+	The missing dbus-win.patch file will be added later. 
+
+2007-03-03  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* cmake: new directory, contains cmake build support.
+	See http://www.cmake.org for more informations.
+	Currently only unix will be buildable because some 
+	win32 required files are still missing. 
+
+2007-03-03  Thiago Macieira  <thiago at kde.org>
+
+	* dbus/dbus-sysdeps-unix.c: capture the dbus-launch stderr
+        output and add it to the DBusError message we return.
+
+	* tools/dbus-launch.1:
+	* tools/dbus-launch.c: Add option --close-stderr to, well,
+	close stderr before starting dbus-daemon.
+
+2007-01-31  Havoc Pennington  <hp at redhat.com>
+
+	* bus/dbus-daemon.1.in: write a section in the man page on running
+	a test daemon for debugging purposes
+
+2007-01-26  Havoc Pennington  <hp at redhat.com>
+
+	* bus/session.conf.in: override all the default limits with much
+	higher limits on the session bus, there is no reason the session
+	bus should have low limits
+
+	* bus/config-parser.c (bus_config_parser_new): increase default
+	limits so they are less likely to be hit; in particular the max
+	replies per connection was way too low
+
+2006-01-25  Simon McVittie  <simon.mcvittie at collabora.co.uk>
+
+	* doc/dbus-tutorial.xml: Replace Python section of tutorial with
+	a pointer to the tutorial maintained as part of dbus-python
+
+2006-12-31  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* dbus/dbus-sysdeps-unix.c: unix compile fix, moved 
+	atomic_exchange_and_add() from dbus/dbus-sysdeps.c 
+	to here, it's used by _dbus_atomic_inc() and _dbus_atomic_dec().
+
+2006-12-31  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* tools/dbus-monitor.c: gettimeofday() is not available 
+	on windows so we have to provide our own. It's taken from 
+	lgpl'd kdewin32 package. - Patches from Christian Ehrlicher
+
+2006-12-31  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* dbus/dbus-sysdeps-unix.c: moved _dbus_atomic_inc/dec() 
+	from dbus/dbus-sysdeps.c, windows version of _dbus_atomic_inc/dec() 
+	is in dbus-sysdeps-win.c (not in this patch).
+
+	* dbus/dbus-sysdeps.h: DBusAtomic::value is long on windows to fit 
+	with InterlockedInc/Decrement. 
+	- Patches from Christian Ehrlicher
+	
+2006-12-31  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* tools/dbus-send.c, tools/dbus-monitor.c: win32 compile fix.
+
+2006-12-31  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* dbus/dbus-marshal-recursive.c (type DBusTypeReaderClass):
+	fix mispaced const statement. - Patch from Peter Kümmel
+
+2006-12-19  Ray Strode  <rstrode at redhat.com>
+
+	* bus/bus.c (process_config_every_time):
+	don't overwrite existing bus context activation object
+	until after we've checked that the new activation is
+	valid.
+
+	* bus/main.c 
+	(signal_handler), (handle_reload_watch):
+	don't call exit() on failure, instead make do and keep
+	going.
+	(close_reload_pipe): new function to turn off
+	hangup-causes-config-reload behavior if an unexpected
+	error occurs
+
+2006-12-13  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* dbus/dbus-sysdeps-win-thread.c (_dbus_condvar_wait_win32):
+	correctness fix. - Patch from Christian Ehrlicher
+
+2006-12-13  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* dbus/dbus-internals.h: msvc also knows about __FUNCTION__, 
+	we should also use it. - Patch from Christian Ehrlicher
+
+2006-12-13  Ralf Habacker  <ralf.habacker at freenet.de>
+  
+	* dbus-sysdeps-util.c: added win32 related tests
+
+2006-12-12  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* dbus/dbus-string.c (_dbus_string_pop_line),
+	bus/desktop-file.c (parse_section_start,
+	parse_comment_or_blank,parse_key_value,): uses
+	_dbus_string_find_eol() to support platform independent eol style.
+
+2006-12-12  Ralf Habacker  <ralf.habacker at freenet.de>
+
+	* dbus/dbus-string.[ch] (_dbus_string_find_eol): new function. 
+	* dbus/dbus-string-util.c (_dbus_string_test): added testcases for 
+	      _dbus_string_find_eol().
+	Approved by: Havoc Pennington.
+
+2006-12-12  Tim Dijkstra <tim at famdijkstra.org>
+
+	* configure.in: Added switch to disable user_database caching.
+
+	* dbus/dbus-userdb-util.c, dbus/dbus-userdb.c: Add ifdefs to
+	be able disable user_dabase caching.
+
+2006-12-12  Tim Dijkstra <tim at famdijkstra.org>
+
+	* bus/bus.c, bus/bus.h: Remove DBusUserDatabase from the BusContext 
+	struct. It is unnecessary we have a global one already. Also remove 
+	bus_context_get_user_database function, it is no longer needed.
+	Flush the global database on reload.
+
+	* dbus/dbus-userdb-util.c: Replace _dbus_user_database_get_groups 
+	with _dbus_groups_from_uid. It no longer needs a DBusUserDatabase.
+
+	* dbus/dbus-userdb.c, dbus/dbus-userdb.h: 
+	Add _dbus_user_database_flush_system. 
+	Make more functions DBUS_USERDB_INCLUDES_PRIVATE. 
+	Small unrelated change in _dbus_is_a_number: change 
+	_dbus_string_parse_int to _dbus_string_parse_uint. 
+
+	* bus/connection.c: Change call to _dbus_user_database_get_groups to 
+	_dbus_groups_from_uid.
+
+	* bus/policy.c, bus/policy.h: Change call to 
+	_dbus_user_database_get_groups to _dbus_groups_from_uid. Remove 
+	DBusUserDatabase from bus_policy_allow_user prototype, it no longer 
+	needs it.
+
+2006-12-12  John (J5) Palmieri  <johnp at redhat.com>
+
+	* bus/signal.c: Fix match_rule_equal errata
+	(CVE-2006-6107 - Patch from Kimmo Hämäläinen 
+	<kimmo.hamalainen at nokia.com>)
+
+2006-11-19  Thiago Macieira  <thiago at kde.org>
+
+	* dbus/dbus-sysdeps-pthread.c (_dbus_pthread_mutex_lock,
+        _dbus_pthread_condvar_wait,
+        _dbus_pthread_condvar_wait_timeout): set pmutex->holder to
+        pthread_self() after coming back from a conditional variable
+        wait as well as in one codepath where it was forgotten.
+	Approved by: Havoc Pennington.
+
+2006-11-17  Havoc Pennington  <hp at redhat.com>
+
+	* update-dbus-docs.sh: allow setting fd.org username via env
+	variable. Make it run autogen with --enable-xml-docs=yes
+	--enable-doxygen-docs=yes so configure will fail if the required
+	tools are missing.
+
+2006-11-17  Havoc Pennington  <hp at redhat.com>
+
+	* doc/dbus-faq.xml: minor FAQ tweaks
+
+2006-11-14  Havoc Pennington  <hp at redhat.com>
+	
+	* dbus/dbus-misc.c, dbus/dbus-misc.h: Move
+	dbus_get_local_machine_id() to its own file, no substantive
+	changes. There are a couple other things we might want to add that
+	are "misc" so moving out of dbus-connection.[hc] which is big
+	enough already.
+	
+2006-11-14  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-internals.c (_dbus_generate_uuid): The spec said the
+	UUID had the timestamp last, but the implementation had it first;
+	move it to last since I think it's a tiny bit nicer (easier to
+	compare at a glance, faster to sort, less code), and will not
+	cause any practical compatibility problems. Also, always convert
+	the timestamp to big endian.
+
+	* doc/dbus-specification.xml: Clean up the docs on the UUID.
+
+	* tools/dbus-uuidgen.1: more prominently say it is not suitable
+	as a replacement for regular uuidgen/RFC4122.
+
+2006-11-14  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-threads.h: fix DBUS_THREAD_FUNCTIONS_ALL_MASK to have
+	the correct value so we don't assert when initalizing recursive threads
+
+	* test/name-test/test-thread-init.c: call dbus_threads_init_default
+	instead of _dbus_threads_init_debug since it is more of a real world
+	test
+
+2006-11-09  John (J5) Palmieri  <johnp at redhat.com>
+
+	* Released 1.0.0
+
+2006-11-09  John (J5) Palmieri  <johnp at redhat.com>
+
+	* AUTHORS: added Peter and Tor of windows porting fame
+
+2006-11-08  Havoc Pennington  <hp at redhat.com>
+
+	* doc/dbus-specification.xml: add a note about protocol stability
+
+	* doc/TODO: Remove "important for 1.0" section, replace with
+	"important for 1.2" section
+	
+2006-11-08  John (J5) Palmieri  <johnp at redhat.com>
+
+	* README: remove some of the out of date flags
+
+	* doc/TODO: Remove todo items which are done
+
+2006-11-08  John (J5) Palmieri  <johnp at redhat.com>
+
+	* tools/dbus-monitor.c: Handle sigint so we flush stdout
+	(Patch from Olli Salli <olli dot salli at collabora dot co dot uk>)
+
+2006-11-08  John (J5) Palmieri  <johnp at redhat.com>
+
+	* tools/dbus-monitor.1: update the manpage for dbus-monitor
+	(Patch from Olli Salli <olli dot salli at collabora dot co dot uk>)
+
+2006-11-08  John (J5) Palmieri  <johnp at redhat.com>
+
+	* AUTHORS: Update with all people listed in the ChangeLog
+
+2006-11-08  John (J5) Palmieri  <johnp at redhat.com>
+
+	* tools/dbus-monitor.c: add profiling tools to dbus-monitor
+	(Patch from Olli Salli <olli dot salli at collabora dot co dot uk>)
+
+2006-11-07  Havoc Pennington  <hp at redhat.com>
+
+	* HACKING: Update release instructions to include stuff about
+	stable releases, branching, etc. May not be totally correct,
+	please fix if needed, but keep instructions up-to-date so we do
+	each stable release consistently in the future.
+
+2006-11-07  Havoc Pennington  <hp at redhat.com>
+
+	* doc/dbus-specification.xml, doc/dbus-faq.xml, README: various
+	documentation updates. Bump faq/spec versions (not to 1.0; I don't
+	think the spec will be "finished"/1.0 when we ship the 1.0 library).
+
+2006-11-06  John (J5) Palmieri  <johnp at redhat.com>
+
+	* bus/bus.c: Missed patch - pass in the context to the directory watch
+
+2006-11-02  John (J5) Palmieri  <johnp at redhat.com>
+
+	* Released D-Bus 1.0 RC 3(0.95)
+
+2006-11-02  John (J5) Palmieri  <johnp at redhat.com>
+
+	* bus/activation.c (bus_activation_new): don't fail if we can not read
+	the directory as it may not exist
+
+2006-11-02  John (J5) Palmieri  <johnp at redhat.com>
+
+	* bus/config-parser.c (service_dirs_find_dir): use 
+	_dbus_list_get_next_link so we don't get stuck in an infinite loop
+	(start_busconfig_child): move processing of standard_session_servicedirs
+	tags here because they have no content
+	(bus_config_parser_content): check we don't have content in 
+	standard_session_servicedirs tag
+
+2006-11-02  John (J5) Palmieri  <johnp at redhat.com>
+
+	* tools/Makefile.am: Make sure the /var/lib/dbus directory is created
+	Packagers need to own this directory
+
+2006-11-02  John (J5) Palmieri  <johnp at redhat.com>
+
+	* tools/run-with-tmp-session-bus.sh: fixed script to replace the 
+	<standard_session_servicedirs> tag with a <sevicedir> tag that
+	points to the test service directory
+
+2006-11-02  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in: Add a check for DIR *dirp->dd_fd
+
+	* dbus/dbus-sysdeps-util-unix: if HAVE_DDFD is defined use 
+	DIR *dirp->dd_fd else use DIR *dirp->__dd_fd.  This takes care
+	of both Solaris and Irix
+
+2006-11-01  Havoc Pennington  <hp at redhat.com>
+
+	* bus/dbus-daemon.1.in: document standard_session_servicedirs
+
+2006-11-01  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in: expose DBUS_DATADIR
+	
+	* bus/config-parser.c: add the standard_session_servicedirs element
+	to the parser
+	(bus_config_parser_content): process the standard_session_servicedirs
+	element by getting the standard directories from sysdeps and merging
+	them into the service directory list
+	(test_default_session_servicedirs): make sure we get what we expect
+
+	* bus/session.conf.in: replace the servicedir tag with the 
+	standard_session_servicedirs tag
+
+	* dbus/dbus-list.h: remove the typedef of DBusList and place it in
+	dbus-sysdeps.h to avoid circular header dependencies
+
+	* dbus/dbus-sysdeps.h: add the typedef of DBusList
+
+	* dbus/dbus-sysdeps-unix.c (split_paths_and_append): utility function
+	which takes a string of directories delimited by colons, parses them 
+	out, appends a suffix and puts them in a list ignoring empty elements
+	(_dbus_get_standard_session_servicedirs): returns the standard 
+	directories for a session bus to look for service activation files
+	on Unix which includes the XDG_DATA_HOME, XDG_DATA_DIRS and 
+	DBUS_DATADIR directories
+
+	* test/data/valid-config-files/many-rules.conf: add the 
+	standard_session_servicedirs tag to the valid config file tests
+
+2006-10-30  Havoc Pennington  <hp at redhat.com>
+
+	* tools/dbus-launch.1, doc/TODO: capture intent to change the
+	command line options of dbus-launch a bit post 1.0
+
+2006-10-27  Havoc Pennington  <hp at redhat.com>
+	
+	* dbus/dbus-connection.c (dbus_connection_open_private): document
+	how to choose shared vs. private connections
+
+2006-10-27  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-test.c: enclose more of the file in the
+	DBUS_BUILD_TESTS check.
+
+	* dbus/dbus-sysdeps-pthread.c (PTHREAD_CHECK): fix for
+	DBUS_DISABLE_ASSERT case.
+
+	* dbus/dbus-connection.c (dbus_connection_get_unix_user): document
+	that it only works on the server side
+
+	* dbus/dbus-bus.c: add a global lock covering the BusData we
+	attach to each connection
+	(internal_bus_get): lock our access to the BusData
+	(dbus_bus_register): lock the entire registration process
+	with _DBUS_LOCK(bus_datas). If we get the lock and 
+	registration is already complete, silently return (vs. previous
+	behavior of aborting).
+	(dbus_bus_set_unique_name): lock the BusData
+	(dbus_bus_get_unique_name): lock the BusData
+
+2006-10-27  John (J5) Palmieri  <johnp at redhat.com>
+
+	* bus/config-parser.c (service_dirs_find_dir, 
+	service_dirs_append_unique_or_free, 
+	service_dirs_append_link_unique_or_free): New static methods
+	for only appending unique service directory names into
+	the service directory list
+	(merge_included, bus_config_parser_content): Only add unique
+	service directory names into the list
+
+2006-10-27  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-sysdeps-pthread.c: make the "count" and "holder"
+	variables volatile, suggested by Thiago. Document struct fields.
+	(PTHREAD_CHECK): remove pthread error checking if assertions are
+	disabled, should reduce the no-assertions case to the bare
+	minimum code.
+
+2006-10-26  Havoc Pennington  <hp at redhat.com>
+	
+	* dbus/dbus-sysdeps-pthread.c (_dbus_pthread_mutex_lock): change
+	to be recursive
+	(_dbus_pthread_mutex_unlock): make it recursive
+	(_dbus_pthread_condvar_wait): save/restore the recursion count
+	(_dbus_pthread_condvar_wait_timeout): save/restore the recursion count
+
+2006-10-26  Havoc Pennington  <hp at redhat.com>
+
+	* doc/dbus-specification.xml: clarify the UUID text slightly
+
+	* dbus/dbus-sysdeps-pthread.c: check for and mostly abort on
+	pthread errors. Add DBusMutexPThread and DBusCondVarPThread 
+	in preparation for being able to extend them for e.g. recursive
+	mutexes.
+
+2006-10-26  Havoc Pennington  <hp at redhat.com>
+
+        * dbus/dbus-threads.[hc]: Documentation improvements. Clarify how 
+	condition variables relate to recursive mutexes.
+	
+        * dbus/dbus-sysdeps-pthread.c, dbus/dbus-sysdeps-win-thread.c, 
+	dbus/dbus-threads.c: Split the platforms-specific thread 
+	implementations into their own files.
+	
+	* dbus/dbus-sysdeps-pthread.c
+	(_dbus_pthread_condvar_wait_timeout): invert the return value, it
+	was backward. Not that anything uses it.
+
+2006-10-26  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus-sysdeps-unix.c (_dbus_set_local_creds): Clean up the
+	LOCAL_CREDS vs CMSGCRED stuff a bit.  Prefer CMSGCRED.  This
+	needs to be cleaned up more.
+
+	* doc/TODO: Add a todo that *BSD hackers should look at cleaning
+	up the CREDS issue.
+
+2006-10-26  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in, dbus-1.pc.in: Check to see if thread methods 
+	are in glibc or libpthread and add -lpthread to the link stage 
+	if it is the latter
+
+2006-10-26  Thiago Macieira  <thiago at kde.org>
+
+	* dbus/dbus-connection.c (_dbus_connection_open_internal): Fix
+        bug 8780: the connection lock is only required while recording
+        the shared connection, so protect only that code
+        section. Don't require connection_lookup_shared to return a
+        locked connection.
+
+2006-10-26  Thiago Macieira  <thiago at kde.org>
+
+	* tools/dbus-launch-x11.c (get_session_file, init_x_atoms):
+        check if get_machine_uuid() returns NULL before proceeding any
+        further: we can't init the X atoms or create a session file
+        name if there is no machine ID.
+	This solves a crash reported by some users if
+        --exit-with-session was used without --autolaunch=<machine-id>
+
+2006-10-26  John (J5) Palmieri  <johnp at redhat.com>
+
+	* tools/dbus-launch.c (main): run the dbus-daemon in the builddir
+	if tests are enabled and the DBUS_USE_TEST_BINARY env variable is set
+
+	* tools/run-with-tmp-session-bus.sh: set DBUS_USE_TEST_BINARY
+	before we run dbus-launch
+
+	* configure.in: define TEST_BUS_BINARY to be the full path to 
+	dbus-daemon in the build root 
+
+2006-10-25  Sjoerd Simons  <sjoerd at luon.net>
+
+	* dbus/Makefile.am:
+	* tools/Makefile.am:
+	* toos/dbus-uuidgen.1:
+		Move the machine-id file to /var/lib/dbus 
+
+2006-10-24  David Zeuthen  <davidz at redhat.com>
+
+	* dbus/dbus-threads.c (init_uninitialized_locks): Fix typo so it's
+	_dbus_assert (thread_init_generation != _dbus_current_generation)
+	not _dbus_assert (thread_init_generation == _dbus_current_generation)
+
+2006-10-24  Thiago Macieira  <thiago at kde.org>
+
+	* dbus/dbus-sysdeps.h:
+	* dbus/dbus-sysdeps-unix.c: Add function
+	_dbus_make_file_world_readable that chmods a file to 0644.
+
+	* dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address):
+        Avoid writing to the static "argv" array, thereby avoiding a
+        COW on the child process.
+
+	* dbus/dbus-internals.c (_dbus_create_uuid_file_exclusively):
+        call _dbus_make_file_world_readable on the created file.
+
+2006-10-23  David Zeuthen  <davidz at redhat.com>
+
+	* dbus/dbus-memory.c: Use atomic variable to protect
+	n_blocks_outstanding otherwise OOM will be reported using SMP on
+	some arches
+	
+	* bus/dispatch.c: Add missing end of line characters
+
+	* bus/desktop-file.c (parse_section_start, parse_key_value) 
+	(bus_desktop_file_load): Propertly handle OOM
+
+	* dbus/dbus-threads.c (init_uninitialized_locks): Check that
+	thread_init_generation equals _dbus_current_generation, not 0
+
+2006-10-22  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-connection-internal.h: move prototype of
+	_dbus_bus_notify_shared_connection_disconnected_unlocked() here so
+	it isn't in a public header and doesn't end up in the DBusBus
+	group in Doxygen
+
+2006-10-21  Havoc Pennington  <hp at redhat.com>
+
+	* Makefile.am (EXTRA_DIST): dist cleanup-man-pages.sh so it's in
+	the tarball if packagers want to run it
+
+	* cleanup-man-pages.sh: Add a script which munges all the internal
+	API man pages out of the Doxygen output. This reduces the size of
+	the installed man pages from 7 to 2 megs, and avoids
+	namespace-polluting pages. Right now (like Doxygen) this script
+	isn't in the build, it's something packagers can do manually.
+
+2006-10-21  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-connection.h: don't include the watch/timeout
+	functions in connection section
+
+2006-10-21  Havoc Pennington  <hp at redhat.com>
+
+	* Documentation! Whee! Doxygen now 100% silent. If you make it
+	angry again, you will be punished.
+	
+2006-10-21  Havoc Pennington  <hp at redhat.com>
+
+	* More documentation - all public API now documented according to
+	Doxygen
+
+2006-10-21  Havoc Pennington  <hp at redhat.com>
+
+	* Document a bunch of undocumented stuff
+	
+2006-10-21  Havoc Pennington  <hp at redhat.com>
+
+	* Clean up Doxygen group markers for public API so Doxygen finds
+	everything (not comprehensively fixed for private API).
+	Means all remaining Doxygen warnings are just about missing docs
+	and thus pretty simple to resolve.
+	
+2006-10-21  Havoc Pennington  <hp at redhat.com>
+	
+	* dbus/dbus-macros.h: add DBUS_GNUC_DEPRECATED macro
+
+	* dbus/dbus-message.h: mark dbus_message_iter_get_array_len() 
+	as DBUS_GNUC_DEPRECATED
+
+2006-10-21  Havoc Pennington  <hp at redhat.com>
+
+        * Move all private API into the private Doxygen group sections of
+	the files, so they don't show up in the public API docs
+	
+2006-10-21  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-message.h: put #ifndef DBUS_DISABLE_DEPRECATED around 
+	dbus_message_iter_get_array_len().
+
+	* throughout: documentation improvements.
+
+2006-10-20  Havoc Pennington  <hp at redhat.com>
+
+	* doc/TODO: remove the int64 thing from 1.0 since it doesn't
+	matter, and the message-loader-breaker thing since nobody is going
+	to do it.  Add an item to 1.0 about supporting recursive locks
+	in dbus_threads_init_default() though, since it should be easy.
+
+	* dbus/dbus-connection.c (_dbus_connection_read_write_dispatch):
+	Fix this in the !dispatch case to avoid busy-looping after
+	disconnection
+
+        * More misc docs improvements
+
+2006-10-19  Havoc Pennington  <hp at redhat.com>
+
+	* more Doxygen-related fixes (lots of moving things from the
+	public to internal section in dbus-connection.c)
+
+2006-10-19  Havoc Pennington  <hp at redhat.com>
+
+	* Fix a pile of Doxygen warnings and missing docs
+
+2006-10-19  John (J5) Palmieri  <johnp at redhat.com>
+
+	* bus/dir-watch-default.c, bus/dir-watch-dnotify.c, 
+	bus/dir-watch-kqueue.c (bus_watch_directory): Pass in a BusContext 
+	instead of a void *.  kqueue uses this to get the context's loop
+	while the other modules ignore the parameter.  This allows us to
+	avoid platform conditionals
+
+	* bus/bus.c (process_config_postinit): Pass in the context to the 
+	watch
+
+2006-10-19  John (J5) Palmieri  <johnp at redhat.com>
+
+	* bus/messagebus.in, bus/rc.messagebus.in: run dbus-uuidgen --ensure
+	when starting the system bus
+
+2006-10-18  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in: More fixups for cross compile (Patch from 
+	Marco Pracucci <development at pracucci dot com>)
+
+2006-10-17  Havoc Pennington  <hp at redhat.com>
+
+	* tools/dbus-send.c (main): don't close shared connection, fix
+	from Timo Hoenig
+
+2006-10-17  Havoc Pennington  <hp at redhat.com>
+
+	* configure.in (CPPFLAGS): don't do -DDBUS_API_SUBJECT_TO_CHANGE here
+
+	* dbus/dbus.h: drop the DBUS_API_SUBJECT_TO_CHANGE requirement,
+	since realistically it doesn't look like we'll be changing it
+	anymore.
+
+2006-10-17  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-internals.c (_dbus_warn_check_failed): new function to
+	be used for return_if_fail type warnings; prefixes the pid, and
+	fatal by default.
+
+2006-10-14  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in: Released 1.0 RC 2(0.94)
+	Add check for -fPIC and enable it if available
+
+2006-10-14  John (J5) Palmieri  <johnp at redhat.com>
+
+	* doc/TODO: Remove the check TODO item
+
+2006-10-13  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus-transport-socket.c (exchange_credentials):
+	Print out more detailed errors if reading or sending
+	credentials fail (Patch from Julio M. Merino Vidal 
+	<jmmv at NetBSD dot org>)
+
+2006-10-13  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in: when checking for posix getpwnam_r assume true
+	for cross compiles
+
+2006-10-13  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in: Check for gethostbyname first before we check for it
+	in libnsl.  On gnu systems it is implemeneted 
+
+2006-10-13  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-connection.c
+	(dbus_connection_send_with_reply_and_block): fix to handle closed
+	connections, from Tambet Ingo bug #8631
+
+2006-10-11  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in: use AC_TRY_COMPILE for dirfd instead of AC_TRY_RUN
+
+2006-10-11  John (J5) Palmieri  <johnp at redhat.com>
+
+	* test/name-test/Makefile.am: don't link against both libdbus and
+	libdbus-convenience
+
+2006-10-11  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in: check for dirfd even if it is a macro
+	(Patch from Timothy Redaelli <drizzt at gufi dot org>)
+
+2006-10-08  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in: define _POSIX_PTHREAD_SEMANTICS on solaris
+	avoid using dirfd on systems that don't have dirfd 
+	(Patch by Brian Cameron <brian dot cameron at sun dot com>) 
+
+2006-10-02  John (J5) Palmieir  <johnp at redhat.com>
+
+	* dbus/dbus-sysdeps.c (_dbus_abort): Remove from 
+	#ifndef DBUS_DISABLE_ASSERTS macro to fix distcheck
+
+	* dbus/dbus-sysdeps-unix.c (_dbus_print_backtrace): Remove from
+	#if !defined (DBUS_DISABLE_ASSERT) || defined(DBUS_BUILD_TESTS)
+	macro because _dbus_abort calls it
+
+	* tools/Makefile.am: Add dbus-launch.h to the source list so distcheck
+	works
+
+2006-10-02  John (J5) Palmieir  <johnp at redhat.com>
+
+	* dbus/dbus-sysdeps-util-unix.c (dirent_buf_size): Add check for
+	MAXNAMELEN for Mac OSX.  (Patch from Jonas B <sanoix at gmail dot com>)
+
+2006-10-02  Thiago Macieira  <thiago at kde.org>
+
+	* tools/dbus-launch.c (main): make it complain and abort
+	execution in case an unknown option is given. Also, process
+	the '--' argument as the end of arguments.
+
+2006-10-01  Havoc Pennington  <hp at redhat.com>
+
+	* tools/dbus-launch.c (print_variables): if no syntax is given,
+	don't print something that's sort-of-half-sh-syntax, just print
+	a plain key-value pairs thing.
+
+	* tools/dbus-launch-x11.c: use machine ID rather than hostname for
+	the local machine representation (but still have the hostname in
+	the display). Remove the hostname from the display if it is
+	localhost. Change session files to be named
+	~/.dbus/session-bus/machine-display. Change X atoms to be
+	underscore-prefixed so nobody whines about ICCCM compliance.
+	Otherwise name them the same as the env variables.
+	Change session file format to include key-value pairs and an
+	explanatory comment. Keys are the same as the env variables.
+	(set_address_in_x11): X property format can't depend on
+	sizeof(pid_t) on a particular machine, fix to always be 32 bits
+
+	* tools/dbus-launch.c: make --autolaunch take a machine id
+	argument. If --autolaunch is used with a program to run, complain
+	for now (but add a FIXME). Also, don't look for existing bus if 
+	there's a program to run (but add a FIXME).
+
+	* dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address): pass
+	machine uuid to dbus-launch (avoids linking dbus-launch to libdbus
+	just to get this, and avoids duplicating uuid-reading code).
+
+	* tools/dbus-launch.1: clarify various things
+	
+2006-10-01  Havoc Pennington  <hp at redhat.com>
+
+	* test/test-service.c (path_message_func): remove broken extra
+	unref that was hidden by the bugs in dbus-connection.c/dbus-bus.c
+
+	* test/test-shell-service.c (path_message_func): same fix
+	
+	* dbus/dbus-connection.c
+	(_dbus_connection_get_dispatch_status_unlocked): break up the
+	function a little for clarity and fix the notification of
+	dbus-bus.c to not require dispatch to be complete
+
+	* dbus/dbus-connection.c (dbus_connection_unref): improve the
+	warning when you try to finalize an open connection.
+	
+2006-10-01  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-bus.c
+	(internal_bus_get): only weak ref the connection; this means 
+	_dbus_bus_notify_shared_connection_disconnected_unlocked can be
+	called safely in any context
+	(_dbus_bus_notify_shared_connection_disconnected_unlocked): don't
+	unref
+
+	* dbus/dbus-connection.c
+	(_dbus_connection_get_dispatch_status_unlocked): move
+	_dbus_bus_notify_shared_connection_disconnected_unlocked here
+	when queuing Disconnected instead of when the Disconnected message
+	arrives, so dbus_bus_get() won't return closed connections.
+	
+2006-10-01  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-connection.c (_dbus_connection_close_if_only_one_ref): 
+	Add a hack to make DBusNewConnectionFunction work right.
+
+	* dbus/dbus-server-socket.c (handle_new_client_fd_and_unlock): use
+	the hack here. Also, fix the todo about refcount leak.
+	
+	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
+	and use the hack here
+	
+        * dbus/dbus-connection.c: Kill the "shared" flag vs. the
+	"shareable" flag; this was completely broken, since it meant 
+	dbus_connection_open() returned a connection of unknown
+	shared-ness. Now, we always hold a ref on anything opened 
+	as shareable.
+
+	Move the call to notify dbus-bus.c into
+	connection_forget_shared_unlocked, so libdbus consistently forgets
+	all its knowledge of a connection at once. This exposed numerous
+	places where things were totally broken if we dropped a ref inside
+	get_dispatch_status_unlocked where
+	connection_forget_shared_unlocked was previously, so move
+	connection_forget_shared_unlocked into
+	_dbus_connection_update_dispatch_status_and_unlock. Also move the
+	exit_on_disconnect here.
+
+	(shared_connections_shutdown): this assumed weak refs to the
+	shared connections; since we have strong refs now, the assertion 
+	was failing and stuff was left in the hash. Fix it to close
+	still-open shared connections.
+	
+	* bus/dispatch.c: fixup to use dbus_connection_open_private on the 
+	debug pipe connections
+	
+	* dbus/dbus-connection.c (dbus_connection_dispatch): only notify
+	dbus-bus.c if the closed connection is in fact shared
+	(_dbus_connection_close_possibly_shared): rename from 
+	_dbus_connection_close_internal
+	(dbus_connection_close, dbus_connection_open,
+	dbus_connection_open_private): Improve docs to explain the deal
+	with when you should close or unref or both
+
+	* dbus/dbus-bus.c
+	(_dbus_bus_notify_shared_connection_disconnected_unlocked): rename
+	from _dbus_bus_check_connection_and_unref_unlocked and modify to
+	loop over all connections
+
+	* test/test-utils.c (test_connection_shutdown): don't try to close
+	shared connections.
+
+	* test/name-test/test-threads-init.c (main): fix warnings in here
+
+	* dbus/dbus-sysdeps.c (_dbus_abort): support DBUS_BLOCK_ON_ABORT
+	env variable to cause blocking waiting for gdb; drop
+	DBUS_PRINT_BACKTRACE and just call _dbus_print_backtrace() 
+	unconditionally.
+
+	* configure.in: add -export-dynamic to libtool flags if assertions enabled
+	so _dbus_print_backtrace works.
+
+	* dbus/dbus-sysdeps-unix.c (_dbus_print_backtrace): use fprintf
+	instead of _dbus_verbose to print the backtrace, and diagnose lack 
+	of -rdynamic/-export-dynamic
+	
+2006-09-30  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-bus.c (dbus_bus_get_private, dbus_bus_get) 
+	(internal_bus_get): fix screwy code formatting. whoever committed
+	that was not paying attention!
+
+2006-09-30  Havoc Pennington  <hp at redhat.com>
+
+	* configure.in (LT_CURRENT, LT_AGE): increment current and age to
+	reflect addition of interfaces.
+
+	* doc/dbus-specification.xml: describe a new
+	org.freedesktop.DBus.Peer.GetMachineId method
+
+	* dbus/dbus-string.c (_dbus_string_skip_white_reverse): new function
+	(_dbus_string_skip_white, _dbus_string_skip_blank): use new
+	DBUS_IS_ASCII_BLANK, DBUS_IS_ASCII_WHITE macros and fix assertion
+	at end of skip_white
+	(_dbus_string_chop_white): new function
+
+	* bus/connection.c (bus_connections_setup_connection): call
+	dbus_connection_set_route_peer_messages.
+
+	* dbus/dbus-connection.c
+	(_dbus_connection_peer_filter_unlocked_no_update): modify to
+	support a GetMachineId method.
+
+	Also, support a new flag to let the bus pass peer methods through
+	to apps on the bus, which can be set with
+	dbus_connection_set_route_peer_messages.
+
+	Finally, handle and return an error for anything unknown on the
+	Peer interface, which will allow us to extend the Peer interface
+	in the future without fear that we're now intercepting something
+	apps were wanting to see.
+	
+	* tools/dbus-uuidgen.c: a thin wrapper around the functions in 
+	dbus/dbus-uuidgen.c
+
+	* dbus/dbus-uuidgen.c: implement the bulk of the dbus-uuidgen
+	binary here, since most of the code is already in libdbus
+
+	* dbus/dbus-sysdeps.c (_dbus_read_local_machine_uuid): read the
+	uuid from the system config file
+
+	* dbus/dbus-internals.c (_dbus_generate_uuid, _dbus_uuid_encode) 
+	(_dbus_read_uuid_file_without_creating) 
+	(_dbus_create_uuid_file_exclusively, _dbus_read_uuid_file): new
+	uuid-related functions, partly factored out from dbus-server.c
+
+	* dbus/dbus-sysdeps.c (_dbus_error_from_errno): convert EEXIST to
+	DBUS_ERROR_FILE_EXISTS instead of EEXIST
+
+	* dbus/dbus-protocol.h (DBUS_ERROR_FILE_EXISTS): add file exists error
+
+	* tools/dbus-cleanup-sockets.1: explain what the point of this
+	thing is a bit more
+
+	* autogen.sh (run_configure): add --config-cache to default
+	configure args
+
+	* dbus/dbus-internals.h (_DBUS_ASSERT_ERROR_IS_SET): disable the
+	error set/clear assertions when DBUS_DISABLE_CHECKS is defined
+
+	* tools/dbus-launch.c (main): if xdisplay hasn't been opened,
+	don't try to save address, fixes crash in make check
+	
+2006-09-30  Thiago Macieira  <thiago at kde.org>
+
+	* configure.in: add DBUS_BINDIR as a #define to C source code.
+
+	* tools/dbus-launch.c
+	* tools/dbus-launch.h
+	* tools/dbus-launch-x11.c:
+	* tools/dbus-launch.1: Add the --autolaunch option to
+	dbus-launch, which makes it scan for an existing session
+	started with --autolaunch. With that option, it also creates
+	an X11 window and saves the bus address and PID to it.
+
+	* dbus/dbus-sysdeps.h:
+	* dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address): Add
+	a function that runs "dbus-launch --autolaunch" to retrieve
+	the running D-Bus session address (or start one if none was running)
+
+	* dbus/dbus-transport.c: Add the handler for the "autolaunch:"
+        address protocol, which tries to get the running session from
+        dbus-launch.
+
+	* dbus/dbus-bus.c:
+	* dbus/dbus-internals.h: Make "autolaunch:" be the default
+	D-Bus session bus address.
+
+	* dbus/dbus-connection.c: Fix horrible typo in error message.
+
+2006-09-18  John (J5) Palmieri  <johnp at redhat.com>
+
+	* tools/Makefile.am: use @EXPANDED_DATADIR@ instead of @DATADIRNAME@  
+
+2006-09-17  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
+	fix so that if unix_user_function is set on windows, we still
+	do the default check that the auth identity matches the bus identity
+
+2006-09-16  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-transport.c (_dbus_transport_open): modify to delegate
+	to _dbus_transport_open_platform_specific,
+	_dbus_transport_open_socket,
+	and _dbus_transport_open_debug_pipe
+
+	* dbus/dbus-transport-protected.h: add _dbus_transport_open_platform_specific
+
+2006-09-16  Havoc Pennington  <hp at redhat.com>
+
+        Attempt auditing public API to remove all cases where a Unix
+	function returns weird emulated goo to Windows. This probably 
+	breaks the bus daemon on Windows, to fix it again we may 
+	need to stop processing unix-specific config options on Windows,
+	and may need to add Windows-specific public API or config options.
+	
+	* configure.in (LT_CURRENT, LT_AGE): increment current and age,
+	to reflect added interfaces; should not break soname.
+	
+	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated): do
+	not invoke unix user function on Windows. Kind of a hacky fix, but 
+	we don't want a "unix uid" leaking out on Windows.
+
+	* dbus/dbus-connection.c (dbus_connection_get_socket): add new API
+	to get the socket fd on Windows or UNIX
+	(dbus_connection_get_unix_fd): make this always fail on Windows
+
+2006-09-16  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-server.c (dbus_server_listen): change how this works
+	to be able to delegate to a set of handlers that can succeed,
+	fail, or choose not to handle. Allows us to have 
+	dbus_server_listen_platform_specific.
+
+	* dbus/dbus-server-socket.c (_dbus_server_new_for_tcp_socket):
+	factor out the tcp socket stuff to be used on windows, leaving
+	unix domain socket only in dbus-socket-unix.c
+
+	* dbus/dbus-transport-socket.c
+	(_dbus_transport_new_for_tcp_socket): factor out the tcp socket
+	stuff to be used on windows, leaving unix domain socket only 
+	in dbus-transport-unix.c
+
+	* dbus/dbus-connection.c (dbus_connection_get_unix_user): insert
+	temporary hack to be sure this fails on windows
+	(dbus_connection_get_unix_process_id): ditto
+
+2006-09-16  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-sysdeps-unix.c (_dbus_open_tcp_socket) 
+	(_dbus_open_unix_socket, _dbus_open_socket): change API for 
+	_dbus_open_socket so the domain/type/protocol from system headers
+	are not required. This is kind of pointless though unless we move
+	part of _dbus_connect_tcp_socket into sysdeps.c instead of
+	sysdeps-unix.c, which would mean adding a wrapper around
+	bind/listen/etc.
+	Also, add DBusError to the socket-opening functions so they 
+	don't require use of errno.
+
+2006-09-16  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-sysdeps-unix.h: small change to Peter's patch to make
+	dbus-sysdeps-unix-util.c build, add unix-specific sysdeps header.
+
+	* dbus/dbus-sysdeps.h, dbus-sysdeps-unix.c: patch from Peter 
+	Kümmel bug #8249 to make the sysdeps.h read/write/open/close
+	functions specifically for sockets only, and move generic 
+	read/write/open/close into unix-specific code.
+
+2006-09-14  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-transport-unix.c (unix_do_iteration): fix a valgrind
+	complaint about accessing revents when poll returns 0, from Julian Seward.
+
+2006-09-14  John (J5) Palmieri  <johnp at redhat.com>
+
+	* Released 1.0 RC 1 (0.93) 
+
+2006-09-14  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-sysdeps-util-unix.c (_dbus_write_pid_file):
+	use _dbus_close instead of close
+
+2006-09-14  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-sysdeps.c: Add support for LOCAL_CREDS socket
+	credentials.  Fixes "external" authentication under e.g. NetBSD
+	which does not support any other socket credentials mechanism.
+	(Patch from Julio M. Merino Vidal  <jmmv at NetBSD dot org>)
+
+2006-09-14  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-threads.c: Allow recursive mutex's to be passed into
+	dbus_threads_init and be used by the dbus mutex functions to
+	avoid deadlocks.
+
+	* doc/TODO: Remove recursive mutex dbus_connection_dispatch TODO item
+
+2006-09-13  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-sysdeps-util-unix.c (_dbus_directory_get_next_file):
+	use threadsafe readdir_r instead of readdir
+
+2006-09-13  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus-threads.c (dbus_threads_init_default): New method for
+	initializing the internal thread implementation (Patch from
+	Alexander Larsson <alexl at redhat dot com>)
+
+2006-09-11  John (J5) Palmieri  <johnp at redhat.com>
+
+	* remove a bunch of todo items from the 1.0 list
+
+2006-09-11  John (J5) Palmieri  <johnp at redhat.com>
+
+	* bus/activation.c, bus/desktop-file.c: Distinguish between OOM and
+	key not found
+
+2006-09-11  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-internal.c: Add dbus_is_verbose so we can have more
+	complex debugging code
+
+	* dbus/dbus-marshal-basic.c (_dbus_marshal_read_fixed_multi): Move
+	between the test suite ifdefs
+	(_dbus_verbose_bytes): return if verbosity is not enabled 
+
+2006-09-11  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-marshal-recursive-util.c, dbus/dbus-marshal-recursive.c:
+	remove DBusMark
+
+2006-09-10  Havoc Pennington  <hp at redhat.com>
+
+       patch mostly by Peter Kümmel, bug #8211
+	
+	* dbus/dbus-sysdeps-unix.c: new file, which splits out
+	unix-specific stuff in dbus-sysdeps.c
+
+	* dbus/dbus-sysdeps.c: don't include any UNIX-only headers, 
+	and move unix-specific stuff to dbus-sysdeps-unix.c
+
+	* configure.in: check HAVE_ERRNO_H
+	
+2006-09-08  John (J5) Palmieri  <johnp at redhat.com>
+
+	* bus/test-main.c (main): Initialize threading during tests
+
+	* dbus/dbus-connection.c (_dbus_connection_new_for_transport):
+	Unlock connection on error
+	(generate_local_error_message): static method for generating
+	an error message when we don't have a message to reply to
+	(_dbus_connection_block_pending_call): Send a disconnect error
+	instead of just a timeout (NULL) when the bus gets disconnected
+	while blocking for a reply.
+	
+2006-09-08  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-connection.c (dbus_connection_dispatch): Properly remove
+	filters (Patch from Kimmo Hämäläinen 
+	<kimmo dot hamalainen at nokia dot com>)
+
+2006-09-07  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-connection-internal.h: Add prototype for 
+	_dbus_connection_test_get_locks to remove warning
+
+2006-09-07  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): Make sure we
+	close child_err_report_pipe[WRITE_END] on exec (Patch from 
+	Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>)
+
+2006-09-07  John (J5) Palmieri  <johnp at redhat.com>
+
+	* Clean up close calls to use _dbus_close (Patch from 
+	Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>)
+
+2006-09-06  John (J5) Palmieri  <johnp at redhat.com>
+
+	* doc/TODO:
+	- Remove pending call locking todo item
+	- dbus_connection_open now holds hard ref.  Remove todo item
+	- do proper locking on _dbus_bus_check_connection_and_unref
+	  and handle DBUS_BUS_STARTER. Remove todo item
+	- Warn on closing of a shared connection.  Remove todo item
+
+	* bus/bus.c, bus/connection.c, bus/dispatch.c, dbus/dbus-bus.c,
+	dbus/dbus-connection.c: Use the dbus_connection_close_internal
+	so we don't get the warning when closing shared connections
+
+	* test/test-service.c, test/test-shell-service.c: Applications
+	don't close shared connections themselves so we unref instead of
+	close
+
+	* test/test-utils.c (test_connection_shutdown): Close the connection
+
+	* dbus/dbus-bus.c (_dbus_bus_check_connection_and_unref): Changed to
+	_dbus_bus_check_connection_and_unref_unlocked since we only call this
+	method on a locked connection.  
+	Make sure we call _dbus_connection_unref_unlocked instead of 
+	dbus_connection_unref also.
+	Handle DBUS_BUS_STARTER correctly
+
+	* dbus/dbus-connection.c (connection_record_shared_unlocked):
+	Mark as shared and hard ref the connection
+	(connection_forget_shared_unlocked): Remove the hard ref from the 
+	connection
+	(_dbus_connection_close_internal_and_unlock):  New internal function
+	which takes a locked connection and unlocks it after closing it
+	(_dbus_connection_close_internal): New internal function which acts
+	like the origonal dbus_connection_close method by grabbing a connection
+	lock and calling _dbus_connection_close_internal_and_unlock
+	(dbus_connection_close): Public close method, warns when the app
+	trys to close a shared connection
+
+2006-09-06  John (J5) Palmieri  <johnp at redhat.com>
+
+	* bus/driver.c:
+	(bus_driver_generate_introspect_string): New method for populating
+	a DBusString with the introspect data
+	(bus_driver_handle_introspect): Move introspect generation code to 
+	bus_driver_generate_introspect_string
+
+	* bus/main.c:
+	(introspect): New function which prints out the intropect data and
+	exits
+	(main): Add a --introspect switch
+
+2006-09-06  John (J5) Palmieri  <johnp at redhat.com>
+
+	* doc/TODO: Removed dtd publishing item.  
+	It seems the dtd has already been added at
+	http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd
+
+2006-09-05  John (J5) Palmieri  <johnp at redhat.com>
+
+	* doc/TODO, various source files: Audited todo's and FIXME's and
+	prepended the ones we should be looking at with 1.0.  Those
+	prepended with 1.0? need clerification or might not be needed
+	for 1.0
+
+2006-09-05  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-pending-call.c: Add some checks so we don't crash on
+	NULL in the public API (Patch from Kimmo Hämäläinen 
+	<kimmo dot hamalainen at nokia dot com>)
+
+2006-09-05  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in: Fix for OS-X compile time endian issues (patch from
+	Benjamin Reed <ranger at befunk dot com>)
+
+2006-09-05  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in: Check for no-common compiler flag (OS-X fix from
+	Benjamin Reed <ranger at befunk dot com>)
+
+2006-09-01  John (J5) Palmieri  <johnp at redhat.com>
+
+	* tools/dbus-launch.c: Add a sigterm handler (patch from Frederic Crozat
+	<fcrozat at mandriva dot com>)
+
+2006-08-29  Havoc Pennington  <hp at redhat.com>
+
+	* test/test-service.c (path_message_func): fix lack of return value
+
+	* dbus/dbus-sysdeps.c (_dbus_printf_string_upper_bound): fix
+	formatting, remove #ifdef, and fix docs. #ifdef doesn't make
+	any more sense than on anything else in this file.
+	(_dbus_get_tmpdir): add const to return value, and keep the
+	results of the various getenv around in a static variable.
+
+2006-08-29  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-sysdeps-util.c, dbus/dbus-sysdeps-util-unix.c: change
+	from Ralf Habacker to move UNIX-specific sysdeps into a separate file.
+
+2006-08-25  John (J5) Palmieri  <johnp at redhat.com>
+
+	* test/Makefile.am: change find to use syntax that works with non
+	gnu versions of find
+
+2006-08-25  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-transport.c: fix invalid deref when checking if
+	a vtable method exists (Patch from Christian Ehrlicher 
+	<ch dot ehrlicher at gmx dot de>)
+
+2006-08-25  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in, dbus/Makefile.am, test/name-test/run-test.sh, 
+	test/name-test/Makefile.am: Fixed some issues with getting get dbus 
+	to build with builddir != srcdir (Taken from a patch by Bernard Leak
+	<bernard at brenda-arkle dot demon dot co dot uk>)
+
+2006-08-25  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in: Fix DBUS_DAEMONDIR to use EXPANDED_BINDIR for the
+	default case
+
+2006-08-25  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.ac, bus/Makefile.am: Generalize kqueue support so that
+	it works on any system providing this interface, not only FreeBSD.
+	For example, NetBSD. (Patch by Julio M. Merino Vidal  <jmmv at NetBSD dot org>)
+
+2006-08-20  Havoc Pennington  <hp at redhat.com>
+
+	* doc/dbus-faq.xml, doc/dbus-tutorial.xml: some improvements to
+	the docs
+
+2006-08-18  John (J5) Palmieri  <johnp at redhat.com>
+
+	* Released 0.92 
+
+2006-08-18  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-threads.c (dbus_threads_init): change the documentation
+	to reflect the init late change
+
+	* bus/bus.c (bus_context_new): Check user before we fork so we can
+	print out an error message a user will be able to see
+
+2006-08-18  John (J5) Palmieri  <johnp at redhat.com>
+
+	Patch provided by Ralf Habacker (ralf dot habacker at freenet dot de) 
+
+	* dbus/dbus-sysdeps.c, dbus/dbus-threads.c, dbus/dbus-internals.h:
+	Add two more global locks for use on windows platforms.  These are
+	unused on non-windows platforms but are not ifdefed out to avoid
+	potential bugs (i.e. the few bytes lost does not warrent the extra
+	maintanence and complexity that having seperate sets of locks would
+	cause)
+
+2006-08-18  John (J5) Palmieri  <johnp at redhat.com>
+
+	* bus/services.c (bus_registry_acquire_service): Return an error
+	when an application tries to register the org.freedesktop.DBus Bus Name
+
+	* bus/services.c (bus_registry_release_service): Return an error
+	when an application tries to release the org.freedesktop.DBus Bus Name
+
+2006-08-17  Alp Toker  <alp at atoker.com>
+
+	* doc/dbus-specification.xml: Fix some minor typos.
+
+2006-08-17  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in: use $with_init_scripts instead of $operating_system
+	to determine where to store the pid since the init scripts manipulate 
+	the pid file (patch from Marcelo Ricardo Leitner 
+	<marcelo dot leitner at terra dot com dot br>.  
+
+2006-08-16  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-threads.c: Add static DBusList *uninitialized_mutex_list and
+	static DBusList *uninitialized_condvar_list to support new late 
+	initialization threading model.  In this model threads can be initialized
+	even after the D-Bus API has been used but still needs to be initialized 
+	before the second thread has been started.  Mutexes and condvar addresses
+	are stored in the two static lists and are replaced with actuall locks
+	when threads are initalized.
+	(_dbus_mutex_new_at_location): New method for creating a mutex and placing
+	the location into the static list
+	(_dbus_mutex_free_at_location): New method for removing a mutex location 
+	from the static list and freeing the mutex
+	(_dbus_condvar_new_at_location): New method for creating a conditional 
+	variable and placing the location into the static list
+	(_dbus_condvar_free_at_location): New method for removing a conditional
+	variable location from the static list and freeing the conditional variable 
+	(init_uninitialized_locks): Atomic method which goes through the static 
+	lists of mutex and condvar location and updates them with actuall locks
+	(init_global_locks): changed to init_locks
+	
+	* dbus/dbus-connection.c:
+	(_dbus_connection_test_get_locks): New method for tests to check connections
+	(_dbus_connection_new_for_transport): Use the new at_location mutex and
+	condvar API
+	(dbus_connection_allocate_data_slot): Pass in the global lock address
+	to _dbus_data_slot_allocator_alloc
+
+	* dbus/dbus-dataslot.c:
+	(_dbus_data_slot_allocator_alloc): Use the address of the mutex
+	instead of the mutex itself
+
+	* dbus/dbus-message.c:
+	(dbus_message_allocate_data_slot): Pass in the global lock address
+	to _dbus_data_slot_allocator_alloc
+
+	* dbus/dbus-pending-call.c:
+	(dbus_pending_call_allocate_data_slot): Pass in the global lock address
+	to _dbus_data_slot_allocator_alloc
+
+	* dbus/dbus-server.c:
+	(_dbus_server_init_base): Use the new at_location mutex API
+	(dbus_server_allocate_data_slot): Pass in the global lock address
+	to _dbus_data_slot_allocator_alloc
+
+	* test/name-test/test-threads-init.c: New test case for late thread
+	initialization
+
+2006-08-14  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-dataslot.c (_dbus_data_slot_allocator_alloc):
+	Change _dbus_abort to _dbus_assert_not_reached because _dbus_abort
+	causes compile problems when asserts are turned off
+	Keeping _dbus_warn for printing out the message so even if
+	asserts are turned off the user gets the messages that something is 
+	wrong 
+
+2006-08-14  John (J5) Palmieri  <johnp at redhat.com>
+
+	Patches by Kjartan Maraas <kmaraas at gnome dot org>
+
+	* bus/services.c (bus_service_list_queued_owners):
+	Add a pointer cast to fix compiler warning
+
+	* dbus/dbus-dataslot.c (_dbus_data_slot_list_get):
+	return a NULL instead of FALSE since the return type
+	is not expecting a boolean
+
+	* dbus/dbus-marshal-basic.c (_dbus_marshal_test):
+	Remove unused variable
+
+	* dbus/dbus-marshal-recursive-util.c (node_new):
+	return a NULL instead of FALSE since the return type
+	is not expecting a boolean
+
+	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
+	Send a NULL into _dbus_transport_new_for_fd instead of a FALSE
+	because we are expecting a pointer not a boolean
+
+	* dbus/dbus-sysdeps-util.c (_dbus_get_tmpdir): 
+	add void as the parameter so some compilers
+	don't complain
+
+	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket,
+	  _dbus_transport_new_for_tcp_socket):
+	Send a NULL into _dbus_transport_new_for_fd instead of a FALSE
+	because we are expecting a pointer not a boolean
+
+	* test/shell-test.c (test_command_line):
+	cast the second argument to _dbus_list_append to avoid compiler
+	warnings
+
+	* test/test-names.c (main): remove unused variable
+
+	* test/test-service.c (check_hello_from_self_reply):
+	Initialize echo_message and echo_reply to NULL
+	
+	* test/test-shell-service.c (handle_echo):
+	Remove unused variable and cast the third parameter passed to
+	dbus_connection_get_object_path_data to avoid compiler warrnings
+
+	* test/name-test/test-names.c (clear_message_queue):
+	Remove unused function
+
+	* test/name-test/test-pending-call-dispatch.c:
+	Fix format string in printf
+
+
+2006-08-14  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-bus.c:
+	* test/name-test/test-names.c:
+	Remove test method dbus_bus_connection_get_unique_name because 
+	we already have public method dbus_bus_get_unique_name that 
+	does the exact same thing
+
+2006-08-10  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-signature.c:
+	fix typos in Julio's previous patch which cause make check to fail
+
+2006-08-10  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-address.c (_dbus_address_test): Revert leaking strcmp.  
+	In any case it was wrong since this is a test checking to see if
+	address parsing is correct.  There was no need to get the true
+	tmp directory.  
+
+2006-08-10  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-macros.h: Revert the addition of stddef.h
+	as we should not be adding it to library headers 
+
+2006-08-10  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-signature.c:
+	Fix the unit tests so that they work if assertions are not enabled.
+	(patch from Julio M. Merino Vidal  <jmmv at NetBSD dot org>)
+
+2006-08-10  John (J5) Palmieri  <johnp at redhat.com>
+
+	* tools/run-with-tmp-session-bus.sh:
+	* test/name-test/run-test.sh:
+	Remove bashisms (patch from Julio M. Merino Vidal
+	<jmmv at NetBSD dot org>)
+
+2006-08-10  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in: add a version (>= 2.6.0) check for libxml2
+
+2006-08-10  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in: make sure the compiler supports -Wfloat-equal
+	
+	* bus/dir-watch-dnotify.c: move functional code after 
+	variable declerations (C99 fix)  (patches from Jens Granseuer
+	<jensgr at gmx dot net>
+
+2006-08-10  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-macros.h:
+	add #include <stddef.h> so that Sun compilers don't complain about
+	the defining NULL
+
+2006-08-10  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-sysdeps.c:
+	* dbus/dbus-address.c:
+	* bus/activation.c:
+	* test/shell-test.c:
+	don't hardcode tmp directory (patch from Dave Meikle 
+	<dmk at davemeikle dot co dot uk>)
+
+2006-08-09  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-dataslot.c (_dbus_data_slot_allocator_alloc):
+	Change an assert to a detailed warning and abort.  
+	When allocator->lock != mutex it indicates that the user has failed
+	to initalize threads before using the D-Bus library.  This warning
+	helps the user identify the issue and fix their app.
+
+2006-08-08  John (J5) Palmieri  <johnp at redhat.com>
+
+	These are all patches from Kjartan Maraas <kmaraas at gnome dot org>
+	with cleanups of bugs found from Coverity reports:
+
+	* dbus/dbus-sysdeps-util.c (_dbus_write_pid_file):
+	close the file on error to avoid a leak
+
+	* bus/expirelist.c (bus_expire_list_test):
+	Check for NULL on dbus_new0
+
+	* bus/activation.c (update_directory):
+	remove dead code
+
+	* bus/config-parser.c (merge_service_context_hash, start_selinux_child):
+	Fix some leaks
+
+	* bus/bus.c (process_config_every_time):
+	Fixed a leak
+
+	* bus/desktop-file.c (parse_key_value):
+	Fixed leak
+
+	* bus/selinux.c (bus_selinux_id_table_insert):
+	Fixed leak
+
+2006-08-08  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-object-tree.c (_dbus_object_subtree_new):
+	remove dead code
+
+2006-08-08  John (J5) Palmieri  <johnp at redhat.com>
+
+	* tools/run-with-tmp-session-bus.sh: use #!/bin/sh instead of
+	#!/bin/bash
+
+2006-08-08  John (J5) Palmieri  <johnp at redhat.com>
+
+	* Doxyfile.in: fix the INPUT line so we can generate docs 
+	when sourcedir != builddir (patch from Cygwin Ports maintainer
+	<yselkowitz at users dot sourceforge dot net>
+
+2006-08-08  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-sysdeps.h:
+	* dbus/dbus-sysdeps.c: 
+	* dbus/dbus-string.c: 
+	s/_dbus_printf_length/_dbus_printf_string_upper_bound to comform with
+	GLib's function which does the same thing
+
+	* configure.in:
+	* bus/Makefile.am:
+	* bus/dir-watch-default.c:
+	* bus/dir-watch-dnotify.c:
+	* bus/dir-watch-kqueue.c:
+	Add kqueue directory watching for freebsd and split the directory
+	watching code into seperate files per method/arch
+	(patches from Timothy Redaelli <drizzt at gufi dotorg>)
+
+2006-08-08  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in:
+	* tools/Makefile.am:
+	* tools/dbus-launch.c:
+	* bus/Makefile.am:
+	allow --with-dbus-daemondir switch to be used to make the
+	daemon install to a seperate bindir like /usr/libexec
+	(patch from Brian Cameron <brian dot cameron at sun dot com)
+
+2006-08-08  John (J5) Palmieri  <johnp at redhat.com>
+
+	* bus/Makefile.am (install-data-hook): removed the slash after 
+	$(DESTDIR) so we don't get the double slash which does not work
+	in windows (patch from Andras Porjesz 
+	<andras dot porjesz at siemens dot com>)
+
+2006-08-08  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-sysdeps.h:
+	* dbus/dbus-sysdeps.c: 
+	  add _dbus_printf_length (patch from Peter Kümmel 
+	  <syntheticpp at gmx dot net>)
+
+2006-08-08  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-internals.c: unistd.h is not used 
+	(_dbus_verbose_real): only enable verbose printing 
+	if DBUS_VERBOSE environment var is set to '1'
+	(patch from Peter Kümmel <syntheticpp at gmx dot net>)
+
+2006-08-08  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in: add a GCC flag check for -Wdeclaration-after-statement
+	so we still compile on older gcc (patch from Frederic Peters 
+	<fpeters at 0d dot be>
+
+2006-08-04  Havoc Pennington  <hp at redhat.com>
+
+	* configure.in: add -Wdeclaration-after-statement
+
+	* dbus/dbus-connection.c: change all the pending call stuff to
+	reflect the fact that pending call operations use the connection
+	lock
+
+	* dbus/dbus-pending-call.c: add locking here
+
+	* dbus/dbus-errors.c (struct DBusRealError): don't make the name
+	field const consistent with how message field is done
+
+2006-08-03  John (J5) Palmieri  <johnp at redhat.com>
+
+	* s/D-BUS/D-Bus/g
+
+2006-08-03  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-object-tree.c: Patch by Benjamin Otte 
+	<in7y118 at public.uni-hamburg dot de> - fix invalid
+	read/write reported by valgrind
+
+2006-07-24  John (J5) Palmieri  <johnp at redhat.com>
+
+	* Released 0.91
+
+2006-07-22  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-connection.c:
+	(_dbus_connection_attach_pending_call_unlocked):
+	(connection_timeout_and_complete_all_pending_calls_unlocked):
+	Make sure we set timeout_added on pending calls to FALSE when
+	we remove the timeout from the connection
+
+2006-07-21  John (J5) Palmieri  <johnp at redhat.com>
+
+	* Removed some extra bindings stuff lingering around (thanks timo)
+	* dbus-pendingcall.c (_dbus_pending_call_new): 
+	s/dbus_connection_ref/_dbus_connection_ref_unlocked fixes assertion
+	when we tried to take a lock on an already locked connection
+
+2006-07-17  John (J5) Palmieri  <johnp at redhat.com>
+
+	* Released 0.90
+
+2006-07-17  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-marshal-basic.c (_dbus_type_to_string): support 64-bit
+	ints, reported by Owen Taylor
+
+2006-07-17  John (J5) Palmieri  <johnp at redhat.com>
+
+	* doc/TODO:
+	* dbus/dbus-bus.c:
+	* dbus-errors.c:
+	* dbus/dbus-marshal-validate.c:
+	  Removed TODO items which were fixed or are no longer relevent
+
+2006-07-17  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus-qt4-1.pc.in, dbus-sharp.pc.in:
+	Remove stray files from the stripped bindings
+
+2006-07-16  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-pending-call.c (_dbus_pending_call_set_timeout_error):
+	Improve the error message on reply timeout
+
+2006-07-14  John (J5) Palmieri  <johnp at redhat.com>
+
+	* Remove all bindings
+
+2006-07-13  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus-connection.c (dbus_connection_send_with_reply): return TRUE
+	and set pending_reply out arg to NULL is connection is disconnected
+	(connection_timeout_and_complete_all_pending_calls_unlocked): New
+	static method for cleaning up pending calls on disconnect
+	(_dbus_connection_get_dispatch_status_unlocked): If we have pending 
+	calls queued timeouts on disconnect 
+
+	 * dbus/dbus-pending-call.c (_dbus_pending_call_set_connection):
+	Remove 
+
+2006-07-13  Carlos Garcia Campos  <carlosgc at gnome.org>
+
+	* bus/activation.[ch] (bus_activation_list_services): new function to 
+	get the list of services that can be activated
+
+	* bus/dispatch.c: test coverage for the new bus method
+	ListActivatableNames
+
+	* bus/driver.c: new bus method ListActivatableNames to get the list of
+	services that can be activated
+
+	* doc/dbus-specification.xml: ListActivatableNames method documentation
+
+2006-07-12  John (J5) Palmieri  <johnp at redhat.com>
+	* dbus/Makefile.am: add dbus-pending-call-internal.h to the list of
+	source files
+
+2006-07-12  John (J5) Palmieri  <johnp at redhat.com>
+	* dbus/dbus-message-factory.c:
+	Fix index into an array (patch by Peter Kümmel <syntheticpp at gmx.net>)
+
+2006-07-12  John (J5) Palmieri  <johnp at redhat.com>
+	* dbus/dbus-connection-internal.h:
+	* dbus/dbus-connection.c:
+	* file dbus/dbus-pending-call.c:
+	* dbus/dbus-pending-call.h:
+	Make DBusPendingCall an opaque type even to D-Bus internals
+
+2006-07-07  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-connection.h: remove connection_disconnect and replace with
+	connection_close
+
+	* dbus/dbus-connection.c: include dbus-bus.h
+	(_dbus_connection_read_write_dispatch): make static
+
+2006-07-07  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-connection.c (dbus_connection_close): removed deprecated
+	function
+	(dbus_connection_dispatch): On disconnect unref any shared connections
+
+	* dbus/dbus-bus.c (_dbus_bus_check_connection_and_unref): new function
+	for cleaning up shared connections on disconnect
+	(internal_bus_get): get a hard refrence to shared connections when
+	they are created
+	
+	* doc/TODO: Remove items which are no longer relevent or have been fixed
+	Split 1.0 todo items with a 0.90 freeze todo list
+ 
+2006-06-14  Ross Burton  <ross at openedhand.com>
+
+	* glib/dbus-gobject.c:
+	Free a leaking GArray (surely not!) in dbus_g_method_return.
+
+2006-06-14  Ross Burton  <ross at openedhand.com>
+
+	* tools/Makefile.am:
+	* tools/dbus-monitor.c:
+	Don't use the GLib bindings in dbus-monitor (patch from Ralf
+	Habacker).
+	
+2006-06-14  Ross Burton  <ross at openedhand.com>
+
+	* tools/dbus-print-message.c:
+	Also print the object path when outputting signals or method calls.
+
+2006-06-13  Thiago Macieira <thiago.macieira at trolltech.com>
+
+	* qt/src/Makefile.am: install the qdbus.h header.
+	This allows people to actually use the installed code.
+
+2006-06-12  Ross Burton  <ross at openedhand.com>
+
+	* glib/dbus-gproxy.c:
+	Don't leak a GArray when firing signals (thank Rob Taylor for review).
+
+2006-06-12  Thiago Macieira <thiago.macieira at trolltech.com>
+
+	* Released 0.62
+
+2006-06-12  Thiago Macieira <thiago.macieira at trolltech.com>
+
+	* dbus/dbus-arch-deps.h.in: Remove spurious semi-colons that
+        break pedantic builds. Closes bug 6043 (patch approved by
+        Havoc back in February).
+
+2006-06-12  Thiago Macieira <thiago.macieira at trolltech.com>
+
+	* qt/src/qdbusintegrator.cpp: Fix bug in parsing async methods
+        that took a QDBusMessage parameter.
+	* qt/src/qdbusbus.h: Add a default flag for RequestName.
+	* qt/tools/dbus.cpp: Don't use automatic call because we might
+        be calling an async method: request a reply.
+
+2006-06-11  Thiago Macieira <thiago.macieira at trolltech.com>
+
+	* test/qt/*: Update the testcases, including testing the new
+        functionality of sending null QByteArray and QString over the
+        bus. Add new headertest test and restore the old
+        qdbusxmlparser test.
+
+2006-06-11  Thiago Macieira <thiago.macieira at trolltech.com>
+
+	* qt/tools/dbuscpp2xml.cpp: Compile on Windows.
+	* qt/tools/dbusidl2cpp.cpp: Add missing newline.
+
+	* qt/examples/Makefile.am:
+	* qt/examples/chat.h: Use UI-generated files with the ui_*.h
+	form.
+
+	* qt/src/qdbusmarshall.cpp: Allow sending of QString() and
+	QByteArray() (nulls) over the bus.
+	* qt/src/qdbusabstractinterface.cpp: Use the correct variable,
+	the one that has the signature suffix stripped.
+	* qt/src/qdbusreply.h: Make some methods const.
+
+2006-06-09  Thiago Macieira <thiago.macieira at trolltech.com>
+
+	Patch from Timo Hoenig <thoenig at suse.de>.
+
+	* qt/dbus/Makefile.am: New file.  Fix "make dist", add all headers
+	required during build to EXTRA_DIST.
+	* qt/src/Makefile.am: Fix "make dist", add 'qdbus.h' to EXTRA_DIST.
+	* qt/Makefile.am: Fix "make dist", add 'dbus' to DIST_SUBDIRS.
+	* configure.in: Fix "make dist", take care that the Makefile for
+	qt/dbus is being generated.
+
+2006-06-07  John (J5) Palmieri  <johnp at redhat.com>
+
+	* bus/bus.c: Fix eavesdropping on method calls
+
+2006-06-07  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in:
+	* dbus/dbus-userdb-util.c:
+	Add Solaris console owner patch from Artem Kachitchkine
+
+2006-06-07  Thiago Macieira <thiago.macieira at trolltech.com>
+
+	* qt/Makfile.am:
+	* qt/src/Makefile.am: Fix the EXTRA_DIST after the
+	reorganisation. Thanks to Timo Hoenig for pointing this out.
+
+2006-06-06  Robert McQueen  <robot101 at debian.org>
+
+	* glib/dbus-gtype-specialized.c: Fix obvious leak of GArray in every
+	  call to dbus_g_type_get_struct.
+
+2006-06-06  Robert McQueen  <robot101 at debian.org>
+
+	* glib/dbus-gvalue-utils.c: Fix the failing test where static string
+	  pointers were put into a GPtrArray-based specialised collection, and
+	  then freed along with the array. GValues which you add into
+	  collections or maps which have the NOCOPY flag set are assumed to not
+	  belong to the caller, so rather than the existing pointer-stealing
+	  semantics, they are copied instead. Given that the main consumers of
+	  this abstraction are the bindings themselves, I don't think this is
+	  too bad, but others should watch their choice of take vs set_static.
+
+2006-06-06  Robert McQueen  <robot101 at debian.org>
+
+	* glib/dbus-gvalue-utils.c: Spotted a warning about the return value
+	  of g_slist_prepend not being used. Fixed copying of slist-based
+	  specialised collections, then wrote a test case and found that it was
+	  all broken. Went on to fix iterating and appending too. Good thing
+	  nobody uses this code yet.
+
+2006-06-06  Robert McQueen  <robot101 at debian.org>
+
+	* glib/dbus-gvalue-utils.c: Remove duplicated code by having all of
+	  the iterators use gvalue_take_ptrarray_value (the GValues themselves
+	  are discarded without unsetting, so it makes no difference whether
+	  we take or set_static). Remove cases for G_TYPE_POINTER because
+	  there really is nothing useful we can do with them in our
+	  specialised types - we *need* boxed copy/free functions at the very
+	  least.
+
+2006-06-05  Thiago Macieira <thiago.macieira at trolltech.com>
+
+	* qt/dbus: Add directory. I had forgotten to add this
+	yesterday after the move...
+
+	* qt/examples/Makefile.am:
+	* qt/examples/dbus.cpp: Moved to qt/tools/dbus.cpp.
+
+	* qt/tools/Makefile.am:
+	* qt/tools/dbus.cpp: Moved from qt/examples/dbus.cpp.
+	Added feature to get and set properties.
+	Added validation of service, object path and interface names.
+
+	* qt/tools/dbusidl2cpp.cpp: Two new features:
+	1) Allow specifying both the header and the source file names,
+	by separating them with a colon.
+	2) Don't write an interface output if the -p switch wasn't
+	given, but the -a was.
+
+	* qt/src/*: Fix usage of Iterators and ConstIterators.
+	Fix shadowing of variables by other variables (-Wshadow).
+	Fix keyword-cleanliness in headers.
+	Fix ASCII-cast (QLatin1String, QLatin1Char).
+	Fix validation of member names.
+	Add extra checking of introspection data during XML parsing.
+	Various bug fixes.
+
+2006-06-04  Thiago Macieira <thiago.macieira at trolltech.com>
+
+	* dbus/Makefile.am:
+	* dbus/qdbus.h: Remove unnecessary file. This is mirrored into
+        qt/dbus/qdbus.h now.
+
+2006-06-04  Thiago Macieira <thiago.macieira at trolltech.com>
+
+	* configure.in: Make --disable-qt actually do
+          something. Patch inspired by Zack Rusin.
+
+2006-06-04  Thiago Macieira <thiago.macieira at trolltech.com>
+
+	* qt/: Update to Subversion r548032.
+	This includes a big reorganisation of the files inside the
+	subdir.
+
+2006-05-30  Sjoerd Simons  <sjoerd at luon.net>
+
+	* dbus/dbus-sysdeps.c: Make tcp socket connection error somewhat more
+	clear:  
+	"Failed to connect to socket <host>:<port> <error>" instead of
+	"Failed to connect to socket <host>: <error>:<port>"
+
+	* dbus/dbus-transport-unix.c: Fix crash when no host option is given
+	for a tcp transport. 
+
+2006-05-29  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* qt/*: Update the QtDBus bindings up to revision 546310 in
+        Subversion.
+	This adds the dbuscpp2xml tool, that parses a C++ header and
+        outputs a D-BUS Introspection XML.
+
+2006-05-21  Havoc Pennington  <hp at redhat.com>
+
+	* glib/dbus-gproxy.c: Put in a pile of assertions that the proxy name
+	is not NULL when it shouldn't be. Also a couple of possible fixes
+	for #4637 though I don't understand why the bug happens, to be
+	honest... also the object constructor has an assert name != NULL
+	and the name is only currently NULL for peer-to-peer proxies that 
+	I don't think anyone uses? So it should be asserting.
+	Anyway, for now at least see if we get an earlier assertion failure.
+
+	* glib/dbus-gvalue-utils.c: Put in a couple of assertions for
+	apparently broken code to be sure the tests fail and someone 
+	will fix them...
+
+2006-05-07  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* qt/qdbusmarshall.cpp: Fix a problem of demarshalling lists
+        and arrays when they had a single element: has_next returns
+        false, even before you read the element. So, instead, check
+        the array length.
+
+2006-05-06  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* qt/qdbusmessage.cpp:
+	* qt/qdbustypehelper_p.h:
+	* qt/qdbusintegrator.cpp: gcc 3.4 doesn't like Q_FOREACH when
+	the list is a const-reference
+
+2006-05-03  John (J5) Palmieri  <johnp at redhat.com>
+
+	* Adding old doc patch that never got applied
+	
+	* dbus/bus.c (dbus_bus_add_match): Add documentation
+
+	* doc/dbus-specification.xml: Add documentation for the match rules
+	  and the AddMatch and RemoveMatch methods
+
+2006-05-02  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* qt/dbusidl2cpp.cpp: There's no callAsync. Use the correct
+        call (r535506)
+
+	* qt/dbusidl2cpp.cpp:
+	* qt/qdbusabstractadaptor.cpp:
+	* qt/qdbusabstractadaptor.h: Make QDBusAdaptorConnector be a
+        sibling of the QDBusAbstractAdaptor objects instead of the
+        parent. (r535848)
+
+	* qt/dbusidl2cpp.cpp:
+	* qt/qdbusabstractinterface.cpp:
+	* qt/qdbusabstractinterface.h:
+	* qt/qdbusabstractinterface_p.h:
+	* qt/qdbusinterface.cpp: Make properties in interfaces
+        actually work. The code that was generated would not compile,
+        due to moc calls to functions that did not exist. They now
+        shall. (r536571)
+
+2006-04-30  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* Makefile.am:
+	* configure.in:
+	* dbus-qt4-1.pc.in: Add a pkg-config file for libdbus-qt4-1.
+	Thanks to Brad Hards for providing the patch
+
+2006-04-29  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* qt/dbusidl2cpp.cpp: There's no callAsync. Use the correct
+        call. (r535506)
+
+2006-04-29  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* qt/examples/dbus.cpp: Enhance error messages and use
+        QDBusInterfacePtr.
+
+2006-04-29  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* qt/qdbusinterface.h: Rename QDBusRef to QDBusInterfacePtr
+        and disable the copy operators. (r533772, r534746)
+
+	* qt/qdbuserror.h: Remove the automatic cast to bool. (r533929)
+
+	* qt/qdbusabstractinterface.cpp:
+	* qt/qdbusabstractinterface.h: Change the default call mode to
+        not use the event loop. Add convenience call() methods that
+        take a CallMode parameter. (r534042)
+
+	* qt/qdbusconnection.h: Change the default call mode to not
+        use the event loop. (r534042)
+
+	* qt/qdbusinterface.cpp:
+	* qt/qdbusinterface.h: Add a method to tell us if the
+	interface is valid (since we don't return a null pointer
+	anymore) (r534099)
+
+	* qt/qdbusinterface_p.h: Don't crash if metaObject is 0
+        (r534101)
+
+	* qt/qdbusinternalfilters.cpp: Decouple the introspection
+        function in two so taht we get the chance to introspect
+        without having a QDBusMessage (r534102)
+
+	* qt/qdbusbus.h:
+	* qt/qdbusconnection.cpp:
+	* qt/qdbusconnection_p.h:
+	* qt/qdbusintegrator.cpp: Keep a list of our own names to
+        avoid a round-trip to the server when attempting to introspect
+        one of our own objects. Also make sure the filter functions
+        match the empty interface as well. (r534108)
+	Don't keep the connection names. Instead, trust the unique
+        connection name (r534111)
+	Remove event loop usage (r534112)
+
+2006-04-29  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* qt/qdbusintegrator.cpp: Fix assertion failure spotted by
+	Brad Hards.
+
+2006-04-28  Robert McQueen  <robot101 at debian.org>
+
+	* glib/dbus-gproxy.c: Fix properties so that they can be given in
+	any order, making it easier for people who inherit from this
+	object.
+
+2006-04-28  Robert McQueen  <robot101 at debian.org>
+
+	* glib/dbus-gvalue-utils.c: Patch from Jakub Stachowski to fix leaking
+	of memory from within pointer arrays and lists. Fixes bug #6300.
+
+2006-04-28  Robert McQueen  <robot101 at debian.org>
+
+	* glib/dbus-gvalue.c: Patch from Jakub Stachowski to fix a leak in
+	generating struct signatures. Fixes bug #6083.
+
+2006-04-28  Robert McQueen  <robot101 at debian.org>
+
+	* qt/Makefile.am: Tweak CLEANFILES from qdbusconnection.moc
+	to qdbusconnection_p.moc.
+
+2006-04-24 John (J5) Palmieri <johnp at redhat.com>
+
+	* README, INSTALL: Doc fixes
+	Patch from Brad Hards <bradh at frogmouth.net>
+
+2006-04-23  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* qt/examples/dbus.cpp: Use the new merged-interface mode for
+	the dynamic meta object. No need to guess which interface to
+	call.
+
+2006-04-23  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* qt/qdbusconnection_p.h:
+	* qt/qdbusmetaobject.cpp:
+	* qt/qdbusmetaobject_p.h:
+	* qt/qdbusintegrator.cpp: Use the new merged-interface mode
+	for the dynamic meta object. No need to guess which
+	interface to call.
+	* qt/qdbusabstractinterface_p.h:
+	* qt/qdbusconnection.cpp:
+	* qt/qdbusintegrator.cpp:
+	* qt/qdbusinterface.cpp:
+	* qt/qdbusinterface.h: Make findInterface always return a non-null pointer.
+	Add a QDBusRef that looks and behaves like DCOPRef.
+
+2006-04-23  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* dbus/dbus-connection.c: Interfaces are optional in method
+        calls, so don't give up if the interface parameter is NULL.
+	Patch reviewed by Havoc Pennington.
+
+2006-04-23  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* qt/qdbusreply.h: Add default constructor and operator=
+          (r532625)
+	* qt/qdbustypehelper_p.h: Use a clean namespace: no foreach()
+          in public headers (r532952)
+	* qt/qdbusabstractinterface.cpp:
+	* qt/qdbusabstractinterface_p.h: Add the AutoDetect mode and
+          make it the default (r532951)
+
+2006-04-19  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-connection.c: Fix asserts
+	Patch from Tim Moloney <t.moloney at verizon.net>
+
+2006-04-19  John (J5) Palmieri  <johnp at redhat.com>
+
+	* mono/Connection.cs, mono/Message.cs: Check Target type
+	Patch from Aaron Bockover (abockover at novell.com)
+
+2006-04-13  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* INSTALL: fine-tune the requirements for the Qt4 binding.
+
+2006-04-16  Daniel P. Berrange  <dan at berrange.com>
+
+	* tools/dbus-print-message.c: Added support for printing of all 
+	  remaining data types. Fixed logic for indentation of compound
+	  data types.
+	
+2006-04-15  Daniel P. Berrange  <dan at berrange.com>
+
+	* INSTALL: fill out content of file providing DBus specific
+	  build installations, followed by generic Auto* INSTALL file
+	  content
+	
+2006-04-13  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* qt/qdbusintegrator.cpp: Work around g++ 3.3 bug.
+	  Patch by Stefan Eilers. (r529537)
+
+2006-04-13  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* qt/qdbusinternalfilters.cpp: Don't show the parent's
+  	  contents (r528208)
+
+2006-04-10  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* qt/Makefile.am: fix the dependency for
+          qdbusconnection_p.moc. It's included in qdbusintegrator.cpp,
+	  not in qdbusconnection.cpp.
+	  Thanks to Jakub Stachowski <stachowski at hypair.net> for
+          spotting this.
+
+2006-04-10  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* qt/examples/listnames.cpp:
+	* qt/examples/Makefile.am: Three ways to list the names on the
+	  bus.
+
+2006-04-10  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* test/qt/tst_hal.cpp: Remove the waiting, since it's not
+          needed anymore. Requires Qt 4.1.3 to work properly. (r528148)
+
+2006-04-10  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	Merge from Subversion:
+	* qt/qt-dbus.qdocconf: Update Trolltech's webpage link to
+	  something that exists (r526315)
+	* qt/qdbusinternalfilters.cpp: Correctly detect non-scriptable
+	  slots/signals (r526316)
+	* qt/qdbusinternalfilters.cpp: Fix the setProperty call and
+	  also return an unknown-method error if the parameters don't
+	  match for org.freedesktop.DBus.Properties. (r526842)
+	* qt/examples/dbus.cpp: Allow passing of QVariants (r526843)
+	* qt/qdbusintegrator.cpp: Restore the proper order of
+	  delivery: don't make method returns be delivered on priority
+	  (r528150)
+
+2006-03-28  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* configure.in qt/Makefile.am: add qt/examples
+	* qt/examples: Add QtDBus example programs:
+	  - hello: Hello, World
+	  - ping: Simple method-calling program
+	  - pong: Simple object-exporting program (not using adaptors)
+	  - complexping: Interactive method-calling program 
+		(also gets and sets properties).
+	  - complexpong: Sample program exporting methods, signals and
+		properties, using adaptors.
+	  - dbus: Simple implementation of a generic method-calling
+		program, similar to 'dbus-send', but with semantics
+		similar to 'dcop'.
+	  - chat: Simplistic chat program, implemented using signals
+		and the system bus. Looks like IRC.
+
+2006-03-28  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* configure.in: Detect QtGui (necessary for one of the
+          example programs). Note: this increases the minimum required
+          version of Qt to 4.1.3.
+
+2006-03-28  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* test/qt/*: Sync with KDE Subversion revision 523647.
+        Update the testcases to the new API. Remove testcases for
+        classes that are no longer public or have been removed.
+
+2006-03-28  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* qt/*: 
+	* dbus/qdbus.h: Sync with KDE Subversion revision
+	523647. Hopefully, this will be the last of the
+	source-incompatible changes. Documentation has been improved;
+	support for QList<basic-types> has been added; QDBusObject is
+	gone; QDBus(Abstract)Interface is now a QObject with
+	auto-generated meta-object; QDBusIntrospection is marked
+	private, since QMetaObject can be used now; lots of bugfixes.
+
+2006-03-16  John (J5) Palmieri  <johnp at redhat.com>
+
+	Patch from Milosz Derezynski <internalerror at gmail.com>
+	
+	* configure.in:
+	Output the service directory in the configure summary
+
+	* dbus-1.pc.in:
+	Add session_bus_services_dir
+
+2006-03-10  Ross Burton  <ross at openedhand.com>
+
+	* tools/dbus-print-message.c:
+	Add support for object paths and signatures.
+
+2006-03-06  Sjoerd Simons <sjoerd at luon.net>
+
+	* bus/bus.c: (bus_context_reload_config): Flush the user database cache on
+	config reload.
+	* bus/dbus-daemon.1.in: Also note that SIGHUP flushes the user/group
+	information caches
+	* dbus/dbus-hash.c: (_dbus_hash_table_remove_all): 
+	* dbus/dbus-hash.h: Add function to remove all entries from a hash table
+	* dbus/dbus-userdb.c: (_dbus_user_database_flush):
+	* dbus/dbus-userdb.h: Add function to flush all user/group information
+	caches.
+
+2006-03-06  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* qt/dbusidl2cpp.cpp:
+	* qt/Makefile.am: add the dbusidl2cpp tool, the replacement
+	for dcopidl2cpp, found in the KDE installations (or the more
+	modern kalyptus): generate Qt4 C++ code for the input XML
+	introspection. Currently no IDL parsing.
+
+2006-03-06  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* test/qt/*: Update the self-tests.
+
+2006-03-06  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* qt/*: 
+	* dbus/qdbus.h: Sync with KDE Subversion revision 516237. This
+	represents the first feature-complete version of the Qt4
+	bindings since I took ove maintainership.
+
+2006-03-06  Thiago Macieira  <thiago.macieira at trolltech.com>
+
+	* qt/Doxyfile: Adding a Doxyfile for the Qt4 bindings
+        dir. This is C++, so we can't use the DBus ones.
+
+2006-03-02  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/dbus_bindings.pyx: Remove refrence to sys/cdefs.h
+	(Patch from Artem Kachitchkine <Artem.Kachitchkin at Sun.COM>)
+
+2006-03-02  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-connection.c: 
+	(_dbus_connection_block_pending_call):
+	Check to see if our data has already been read off the connection
+	by another blocking pending call before we block in poll.
+	(check_for_reply_and_update_dispatch_unlocked):
+	Code taken from _dbus_connection_block_pending_call - checks for
+	an already read reply and updates the dispatch if there is one.
+
+	* test/name-test/test-pending-call-dispatch.c:
+	New test for making sure we don't get stuck polling a 
+	dbus connection which has no data on the socket when
+	blocking out of order on two or more pending calls.
+
+2006-02-28  Thiago Macieira <thiago.macieira at trolltech.com>
+
+	* qt/Makefile.am: Patch by Sjoerd Simons. More .moc issues:
+        make/automake don't detect that we're talking about the same
+        .lo file if I specify the full path to the source files.
+
+2006-02-26  Havoc Pennington  <hp at redhat.com>
+
+	* bus/dbus-daemon.1.in: improve the language in a couple spots I noticed
+
+	* dbus/dbus-bus.c (internal_bus_get): in the error message if the
+	session bus variable is unset, suggest "man dbus-launch" and "man
+	dbus-daemon" to figure out how to fix the problem
+
+2006-02-25  Havoc Pennington  <hp at redhat.com>
+
+	* glib/dbus-glib-tool.c (usage): fix up the usage message, someone
+	should make this thing use the new glib options parser
+
+2006-02-25  Thiago Macieira <thiago.macieira at trolltech.com>
+
+	* qt/Makefile.am: Patch by Sjoerd Simons. Fix the path to the
+        .lo files taking moc sources.
+
+2006-02-25  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus.h, dbus/Makefile.am: add dbus-signature.h to dbus.h
+	and install it as a public header
+
+2006-02-24  John (J5) Palmieri  <johnp at redhat.com>
+
+	* Released 0.61
+
+2006-02-24  John (J5) Palmieri  <johnp at redhat.com>
+	
+	* proxies.py: Fix the callchain
+
+2006-02-24  John (J5) Palmieri <johnp at redhat.com>
+	
+	* patch from Sjoerd Simons <sjoerd at debian.org>:	
+
+	* dbus/dbus-sysdeps-util.c (_dbus_group_info_free): Moved to 
+	dbus/dbus-sysdeps.c
+
+	* dbus/dbus-userdb.c (_dbus_group_info_free_allocated): Don't
+	call _dbus_group_info_free_allocated which causes infinite loop,
+	correctly call _dbus_group_info_free
+
+2006-02-20  Thiago Macieira <thiago.macieira at trolltech.com>
+
+	* qt/qdbusinterface_p.h:
+	* qt/qdbusinterface.cpp: Use the standard
+	org.freedesktop.DBus.Method.NoReply annotation for the "async"
+	calls instead of creating one for us.
+
+	* qt/qdbusconnection_p.h:
+	* qt/qdbusintegrator.cpp: Remove debugging code.
+
+	* qt/qdbusintegrator.cpp:
+	* qt/qdbusmessage.cpp:
+	* qt/qdbusmessage_p.h:
+	* qt/qdbusmessage.h: Change the behaviour of automatic
+	reply-sending: now a reply is always sent, unless the caller
+	didn't request one or if the user slot has already sent one.
+
+2006-02-16  Robert McQueen  <robot101 at debian.org>
+
+	* configure.in: Patch from Debian packages by Sjoerd Simons
+	<sjoerd at debian.org> to add --with-qt-moc and --with-qt3-moc
+	arguments so it's possible to build both bindings in the
+	same tree.
+
+	* qt/Makefile.am: Fix truncated value so that make dist works.
+
+2006-02-16  Robert McQueen  <robot101 at debian.org>
+
+	* acinclude.m4, configure.in: Patch from Brad Hards
+	<bradh at frogmouth.net> to avoid warnings from autoconf 1.9 by
+	improving quoting, re-ordering a few checks, and a few other
+	aesthetic tidy-ups.
+
+2006-02-16  Robert McQueen  <robot101 at debian.org>
+
+	* dbus/dbus-message.c (dbus_message_iter_get_fixed_array):
+	Patch from Rob Taylor <rob.taylor at collabora.co.uk> to correct a bogus
+	assertion that the next element to read from the iter is fixed in
+	size. This is not the case when you are at the end of the iter,
+	because the next element type is INVALID.
+
+	* dbus/dbus-string.c (_dbus_string_init_const_len): Correct a
+	a bogus assert which means that you may not initialise a 0-length
+	string unless you provide a non-NULL pointer. This prevented
+	you from marshalling messages containing zero-length arrays in
+	some cases.
+
+	* glib/dbus-gvalue.c (demarshal_collection_array): Another patch
+	from Rob to correct bogus asserts when trying to demarshal an
+	array and get_fixed_array got you 0 elements. Append nothing to
+	the GArray in this case.
+
+	* test/glib/test-dbus-glib.c: Add a test case for round-tripping
+	an empty array via the glib bindings. Without all of the above
+	patches, this new test fails.
+
+2006-02-16  Robert McQueen  <robot101 at debian.org>
+
+	* glib/dbus-gmain.c: Make the previous commit compile.
+
+	* python/_dbus.py, python/matchrules.py: Patch from Ole Andre
+	Ravnaas <ole.andre.ravnaas at collabora.co.uk> to allow you to
+	specify sender_keyword="foo", path_keyword="bar" when adding
+	a signal listener, so that you can bind to signals generically
+	but still do something useful in your callback.
+
+	* python/dbus_bindings.pyx: Demarshal the byte type as unsigned
+	chars so that they're not cast to chars and made negative. Thanks
+	to Jakub Stachowski for reporting this and testing the fix.
+
+2006-02-15  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-glib.h:
+	* glib/dbus-gmain.h:
+	(dbus_g_connection_open): new method for openning
+	a connection to an arbitrary address in the glib bindings
+
+	* ChangeLog: checkin last entry which doesn't seem to be commited
+
+2006-02-13  John (J5) Palmieri  <johnp at redhat.com>
+
+	* tools/dbus-launch.c: Fixed sh syntax output
+
+2006-02-13  Robert McQueen  <robot101 at debian.org>
+
+	* glib/dbus-binding-tool-glib.c, glib/dbus-gmain.c,
+	glib/dbus-gsignature.c, glib/dbus-gtype-specialized.c,
+	glib/dbus-gtype-specialized.h, glib/dbus-gvalue-utils.c,
+	glib/dbus-gvalue-utils.h, glib/dbus-gvalue.c:
+	Patch from Rob Taylor <rob.taylor at collabora.co.uk> to add a big
+	missing piece of the glib bindings jigsaw puzzle. This modifies
+	the existing specialised types to have N type parameters (rather
+	than the current 1 or 2 for arrays and dictionaries respectively).
+	You can then use this to get a glib type to represent any arbitrary
+	D-Bus struct type using dbus_g_type_get_struct. The only
+	implementation of these types is with GValueArrays as before,
+	but it's now possible to store these in arrays, emit them in
+	signals, etc.
+
+2006-02-10  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-signature.c (dbus_signature_iter_recurse): Correctly
+	deal with nested arrays (Bug #5823) Patch by Thiago Macieira 
+	<thiago.macieira at trolltech.com>
+
+2006-02-10  John (J5) Palmieri  <johnp at redhat.com>
+
+	* mono/doc/Makefile.am: Fix parallel make problem with mono-doc
+	(Bug #4213) Patch from Doug Goldstein <cardoe at gentoo.org>
+
+2006-02-10  John (J5) Palmieri  <johnp at redhat.com>
+
+	* bus/connection.c (bus_connections_expect_reply): Make
+	pending reply limit not common to all connections (Bug #5416)
+	Patch from Kimmo Hämäläinen <kimmo.hamalainen at nokia.com>
+
+2006-02-10  John (J5) Palmieri  <johnp at redhat.com>
+
+	* tools/dbus-launch.c: Fixed csh syntax output (Bug #5720)
+
+2006-02-10  John (J5) Palmieri  <johnp at redhat.com>
+
+	* gcj/Makefile.am: point to correct jar command (Bug #4529)
+	patch from Doug Goldstein <cardoe at gentoo.org>
+
+2006-02-09  Joe Shaw  <joeshaw at novell.com>
+
+	* mono/Arguments.cs: Fix a magic number in the mono bindings
+	that doesn't work on 64 bit arches.  Patch from Peter Johanson.
+
+2006-01-27  Robert McQueen  <robot101 at debian.org>
+
+	* glib/dbus-binding-tool-glib.[ch]: Patch based on Ricardo Kekki's
+	patch to use an annotation org.freedesktop.DBus.GLib.ClientCSymbol
+	when generating the client-side methods, instead of overloading
+	CSymbol which broke everything horribly. My apologies.
+
+2006-01-27  Robert McQueen  <robot101 at debian.org>
+
+	* glib/dbus-gtype-specialized.[ch], glib/dbus-gvalue-utils.c: Patch
+	by me and Rob Taylor to add a simple_free function to D-Bus map
+	and collection types, which allows those types which can be freed
+	with a GDestroyNotify (such as GHashTables and GArrays, but not
+	GPtrArrays) to be stored as the values in hashtables.
+
+	* test/glib/test-dbus-glib.c, test/glib/test-service-glib.{c,xml}:
+	Patch by Rob Taylor to add nested dicts to the glib tests to check
+	the above code works, and appears not to leak when called repeatedly.
+
+2006-01-27  Robert McQueen  <robot101 at debian.org>
+
+	* glib/dbus-gvalue.c (demarshal_valuearray): Patch from Rob Taylor
+	to free a D-Bus allocated string with dbus_free () instead of
+	g_free ().
+
+2006-01-27  Iain Holmes  <iain at openedhand.com>
+
+	* glib/dbus-gproxy.c (dbus_g_proxy_dispose): Protect the dispose
+	method from being called multiple times.
+
+2006-01-19  Robert McQueen  <robot101 at debian.org>
+
+	* glib/dbus-binding-tool-glib.c: Patch from Rob Taylor
+	<rob.taylor at collabora.co.uk> to add support for generating bindings
+	to arrays that are represented as GPtrArrays rather than GArrays (ie
+	size-variable things, such as strings, objects, structs, etc).
+
+2006-01-05  Robert McQueen  <robot101 at debian.org>
+
+	* dbus/dbus-glib.h, glib/dbus-gproxy.c: Patch from Ricardo Kekki
+	<ricardo.kekki at movial.fi> to make it possible to inherit from
+	DBusGProxy, by splitting the DBusGProxy struct into a public part and
+	a private part, and moving the setting of the DBusGProxyManager into a
+	connection property, allowing proper GObject construction.
+
+2006-01-05  Robert McQueen  <robot101 at debian.org>
+
+	* glib/dbus-binding-tool-glib.c: Patch from Ricardo Kekki
+	<ricardo.kekki at movial.fi> to make dbus-binding-tool heed C symbol name
+	annotations when generating glib client bindings.
+
+2005-12-19 John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-shared.h: Call it shared constants instead of shared macros
+
+	* dbus/dbus-protocol.h: add DOxygen markup to quiet warnings
+
+2005-12-19 John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-shared.h: add DOxygen markup to quiet warnings
+
+2005-12-19 John (J5) Palmieri  <johnp at redhat.com> 
+
+	* dbus/dbus-macros.h: correct DOxygen end of section (s/}@/@})
+
+2005-12-19  Ross Burton  <ross at openedhand.com>
+
+	* doc/dbus-tutorial.xml:
+	Document the Glib client-side bindings, and list all possible annotations.
+
+2005-12-19  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/bus.c (dbus_bus_release_name): Add documentation
+
+2005-12-06  Robert McQueen  <robot101 at debian.org>
+
+	* python/service.py: s/sucessful/successful/ so we're allocating to
+	and reading from the same variable. Oops.
+
+2005-11-30  John (J5) Palmieri  <johnp at redhat.com>
+
+	* Released 0.60
+
+2005-11-30  John (J5) Palmieri  <johnp at redhat.com>
+
+	* test/qt/Makefile.am: build from srcdir
+
+	* qt/qtconnection.cpp (requestName): Changed PROHIBIT_REPLACE to ALLOW_REPLACE
+	Note - this code is wrong and needs to be fixed by the Qt binding
+	developers.  The flags should be treated as bitfields and not enums.
+
+	* qt/qtconnection.h: Change ProhibitReplace to AllowReplace
+
+2005-11-30  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-list.c (_dbus_list_insert_after_link, _dbus_list_insert_after, 
+	  link_after): remove #ifdef DBUS_BUILD_TESTS since we use these methods 
+	  in production code
+
+2005-11-30  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-connection.c (dbus_connection_read_write): Add new
+	method for getting messages off the bus in the absence of a
+	mainloop.  This method is much like 
+	dbus_connection_read_write_dispatch except it does not dispatch
+	the messages to a registered filter function.  Instead it
+	allows a developer to process messages by directly popping
+	them off the bus.
+
+2005-11-30  John (J5) Palmieri  <johnp at redhat.com>
+
+	* bus/desktop-file.c (parse_key_value): Ignore locales allowing 
+	the parser to continue instead of returning error
+	(bus_desktop_file_load): Do not free parser data when
+	parse_section_start or parse_key_value fails because it was 
+	already freed by parser_free (patch from Carlos Garcia Campos  
+	<carlosgc at gnome.org>)
+
+2005-11-30  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-auth.c, dbus/dbus-connection.c, dbus/dbus-keyring.c,
+	dbus/dbus-server-debug-pipe.c, glib/dbus-binding-tool-glib.c
+	glib/dbus-glib-tool.c, glib/dbus-gparser.c, glib/dbus-gproxy.c
+	test/test-segfault.c, test/test-utils.c,
+	test/glib/test-dbus-glib.c, tools/dbus-cleanup-sockets.c
+	tools/dbus-launch.c, tools/dbus-tree-view.c, tools/dbus-viewer.c:
+	Various cleanup of dead code and compiler warnings (patch from
+	Kjartan Maraas <kmaraas at gnome.org>) 
+
+2005-11-30  John (J5) Palmieri  <johnp at redhat.com>
+
+	* glib/dbus-gmain.c (connection_setup_add_watch): plugged a leak
+	(patch from Carlos Garnacho Parro <carlosg at gnome.org>
+
+2005-11-27  Robert McQueen  <robot101 at debian.org>
+
+	* python/dbus_bindings.pyx: Repair my previous commit which reverted
+	part of the preceding one. Oops. Merge patch by Johan Hedberg
+	<johan.hedberg at nokia.com> to fix marshalling of 16-bit integer values
+	on big-endian platforms.
+
+	* test/python/test-client.py: Add some 16-bit integers to the test
+	values.
+
+2005-11-27  Carlos Garcia Campos  <carlosgc at gnome.org>
+
+	* glib/dbus-gobject.c: Append a GValue instead of a basic type in
+	method return message for property getters
+
+2005-11-27  Robert McQueen  <robot101 at debian.org>
+
+	* python/dbus_bindings.pyx: Fix a bug where doing a strict append
+	with type v of an instance of dbus.Variant(foo, type='x') caused
+	it to be boxed twice before sending over the bus.
+
+	* python/dbus_bindings.pyx, python/service.py,
+	test/python/test-client.py: Update the constants for the new
+	request_name flags, and update comments/test cases now that queueing
+	is the default action.
+
+2005-11-22  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in:
+	- Change version to 0.60 for impending release
+	- upped the sonames because of ABI and API breakage
+
+2005-11-22  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in: Add test/name-test/Makefile to the generated
+	Makefile list
+
+	* dbus/dbus-shared.h (#define DBUS_NAME_FLAG_ALLOW_REPLACEMENT):
+	New flag which replaces DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT
+	(#define DBUS_NAME_FLAG_DO_NOT_QUEUE): New flag for specifying
+	not to queue an ower if it can't be the primary owner
+
+	* bus/bus.h: Add new internal BusOwner struct
+
+	* bus/driver.c (bus_driver_handle_hello): Send flags (0 for default)
+	to bus_registry_ensure and don't set the prohibit_replacement flag
+	since they are now set per BusOwner and not per name.
+	(bus_driver_handle_list_queued_owners): bus method (ListQueuedOwners) 
+	that returns the list of connections in a name's connection queue
+	
+	* bus/services.c (struct BusService): remove prohibit_replacement field
+	(struct BusOwner): new struct for keeping track of queued connections
+	and their associated flags for the queue
+	(struct BusRegistry): add a BusOwner memory pool
+	(bus_registry_new): initialize the BusOwner memory pool
+	(bus_registry_unref): free the BusOwner memory pool
+	(_bus_service_find_owner_link): new internal method for
+	searching the queue for a specific connection
+	(bus_owner_set_flags): new method for adding setting the flags on a
+	bus owner
+	(bus_owner_new): new method that creates a BusOwner object from the
+	pool and sets its flags
+	(bus_owner_ref, bus_owner_unref): ref counting for BusOwner objects
+	(bus_registry_ensure): Add the flags parameter
+	(bus_registry_acquire_service): Switch from using raw connections to
+	using the BusOwner struct
+	Add new state machine for dealing with the new set of flags
+	(bus_registry_set_service_context_table, struct OwnershipCancelData, 
+	cancel_ownership, free_ownership_cancel_data, 
+	add_cancel_ownership_to_transaction, struct OwnershipRestoreData, 
+	restore_ownership, free_ownership_restore_data, 
+	add_restore_ownership_to_transaction): Switch to using BusOwner 
+	instead of raw connections
+	(bus_service_add_owner): Add flags parameter
+	Switch to using BusOwner instead of raw connections
+	Add state machine for dealing with the new set of flags
+	(bus_service_swap_owner): Swaps the first and second owners in the
+	queue.  Used to make sure proper signals are sent when a service looses 
+	or gains primary ownership.  We never insert an owner at the top of the
+	queue.  Instead we insert it in the second position and then swap.
+	(bus_service_remove_owner): Remove the owner from the queue sending
+	out the NameLost and NameOwnerChanged signals if the we were the 
+	primary owner
+	(bus_service_get_primary_owners_connection): New method that extracts
+	the connection from the primary owner
+	(bus_service_get_primary_owner): Returns the BusOwner instead of the 
+	connection
+	(bus_service_get_allow_replacement): Changed from the old 
+	bus_service_get_prohibit_replacement method.  Checks the flags of the 
+	primary owner and returns if it can be replaced or not
+	(bus_service_set_prohibit_replacement): removed
+	(bus_service_has_owner): returns TRUE if and owner with
+	the specified connection exists in the queue
+	
+	* dbus/dbus-bus.c (dbus_bus_connection_get_unique_name): New helper
+	method that only compiles if tests are enabled.  Allows us to get the 
+	unique name of a connection so we can check it against the queue when
+	doing regression tests
+
+	* bus/activation.c (bus_activation_send_pending_auto_activate),
+	bus/dispatch.c (bus_dispatch),  
+	bus/driver.c (bus_driver_handle_get_service_owner, 
+	bus_driver_handle_get_connection_unix_user, 
+	bus_driver_handle_get_connection_unix_process_id,
+	bus_driver_handle_get_connection_selinux_security_context),
+	bus/signals.c (connection_is_primary_owner): 
+	use bus_service_get_primary_owners_connection instead of
+	bus_service_get_primary_owner
+
+	* dbus/dbus-sysdeps.c (_dbus_connect_unix_socket, 
+	_dbus_listen_unix_socket): Calculate the length of the socket
+	path and use that instead of using a fixed length which was
+	causing socket names to contain many trailing Nul bytes.
+
+	* dbus/dbus-glib-lowlevel.h, glib/dbus-gobject.c
+	(dbus_g_method_get_sender): New method for extracting the sender 
+	from a DBusGMethodInvocation
+	(dbus_g_method_return_get_reply): changed name to 
+	dbus_g_method_get_reply
+	(dbus_g_method_return_send_reply): changed name to
+	dbus_g_method_send reply
+
+	* doc/dbus-specification.xml: New docs that describe how the new
+	queueing system works and talks about the changes to the how
+	we specify socket names
+
+	* glib/examples/example-service.c, 
+	glib/examples/example-signal-emitter.c,
+	glib/examples/statemachine/statemachine-server.c:
+	Changed the RequestName flags to the new system
+
+	* test/name-test/ (test-names.c, run-test.sh, Makefile.am): New
+	regression test suite for testing various states of the new
+	queueing system
+	
+2005-11-15  Robert McQueen  <robot101 at debian.org>
+
+	* dbus/dbus-glib-lowlevel.h, glib/dbus-gobject.c: Patch from Rob
+	Taylor to add two methods, dbus_g_method_return_get_reply and
+	dbus_g_method_return_send_reply, to allow you to get the reply
+	message from a DBusGMethodInvocation, append arbitrary stuff to it,
+	and send it. The GLib bindings can't marshal a return value of
+	something like a(s) if the array is empty - ultimately they should be
+	made to heed the signature of the out arguments as the Python bindings
+	now can, but this is a workable interim solution which might have
+	other applications.
+
+2005-11-15  Robert McQueen  <robot101 at debian.org>
+
+	* bus/driver.c, bus/services.c, bus/services.h: Add a ReleaseName
+	method to org.freedesktop.DBus to release a bus name or give up
+	waiting in the queue for it.
+
+	* dbus/dbus-bus.c, dbus/dbus-bus.h, dbus/dbus-shared.h: Add a
+	dbus_bus_release_name method to send the ReleaseName method calls.
+	Add constants for the return values to dbus/dbus-shared.h.
+
+	* doc/dbus-specification.xml: Document the new ReleaseName method
+	in the specification.
+
+	* python/dbus_bindings.pyx: Add a low-level python binding for the
+	release name method.
+
+	* python/exceptions.py, python/service.py: Make freeing BusName
+	objects release the name. Add a NameExistsException, and fix a
+	bug with creating UnknownMethodException.
+
+	* test/python/test-client.py: Add tests for freeing BusName
+	objects causing names to be released.
+
+2005-11-14  Robert McQueen  <robot101 at debian.org>
+
+	* python/service.py: Include the traceback in the error reply when we
+	send an exception over the bus. _BEST_ _PATCH_ _EVER_
+
+2005-11-14  David Zeuthen  <davidz at redhat.com>
+
+	Patch from Timo Hoenig <thoenig at suse.de>.
+
+	* bus/bus.c: I've recently investigated why the automatic reload
+	of configuration files does not work as expected.
+
+	Currently, reloading configuration files does only work when
+	running dbus-daemon with --nodaemon.  If we are running as daemon
+	we're hitting a dnotify bug once we fork the process.
+
+	We're initializing the dnotify fds before calling fork().  Once
+	the child process forked it does still have the fds (and they
+	still show up in /proc/`pidof dbus-daemon`/fd/) but we're not
+	getting SIGIO as changes are made to the configuration files.
+
+	The attached patch moves the initialization of the dnotify fds to
+	process_config_postinit().  This is safe for all current code
+	paths and solves the dnotify disfunction.  If we're running
+	dbus-daemon as daemon the fds for dnotify are now being
+	initialized after fork() for the child process.
+
+	* configure.in: The current configure.in check for dnotify probes
+	'x$target_os' for being 'xlinux-gnu'.  I've changed the check to
+	match for 'xlinux', too. Additionally I have adapted the configure
+	option's style to match with the others.
+
+2005-11-14  Robert McQueen  <robot101 at debian.org>
+
+	* python/decorators.py, python/service.py: Add a new argument to the
+	dbus.service.method decorator called sender_keyword, which if set,
+	specifies the name of an argument which will be provided the bus
+	name of the method caller.
+
+	* test/python/test-client.py, test/python/test-service.py: Add a
+	method and test to check the sender_keyword functionality.
+
+2005-11-07  John (J5) Palmieri  <johnp at redhat.com>
+
+	* bus/driver.c (bus_driver_handle_reload_config): Make sure we send an 
+	empty reply so blocking calls don't block forever (Patch from Sjoerd 
+	Simons <sjoerd at luon.net>)
+
+	* AUTHORS: Add Robert McQueen for his work on the Python
+	Bindings and other parts of D-Bus
+
+2005-11-07  Robert McQueen  <robot101 at debian.org>
+
+	* python/decorators.py: Change emit_signal function to use the
+	signature annotation of the signal when marhsalling the arguments from
+	the service. Fix a bug where the code checking signature length
+	against argument length referenced the wrong variable.
+
+	* python/introspect_parser.py: Avoid adding the type signature of
+	signal arguments to any methods which occur after them in the
+	introspection data (!) by making the parser a little more careful
+	about its current state.
+
+	* python/service.py: Remove debug prints from last commit (again :D).
+
+	* test/python/test-client.py, test/python/test-service.py: Add test
+	signals with signature decorators to test the strict marshalling code
+	gives errors at the right time. Could do with checking the signals
+	actually get emitted too, given that the test does nothing with
+	signals at the moment...
+
+2005-11-07  Robert McQueen  <robot101 at debian.org>
+
+	* python/_dbus.py: Add WeakReferenceDictionary cache of dbus.Bus
+	instances to stop madness of creating new instances representing
+	the same bus connection all the time, rendering any tracking of
+	match rules and bus names quite meaningless. Caught a bug where
+	the private argument to SessionBus() and friends was being passed
+	in as use_default_mainloop by mistake. Still some problems with
+	multiple dbus_binding.Connection instances representing the same
+	low-level connection (eg when you use both SessionBus() and
+	StarterBus() in same process), but it's a lot better now than it
+	was.
+
+	* python/dbus_bindings.pyx: Add constants with the return values
+	for bus_request_name().
+
+	* python/service.py: Store bus name instances in a per-dbus.Bus cache
+	and retrieve the same instances for the same name, so deletion can be
+	done with refcounting. Also now throws some kind of error if you
+	don't actually get the name you requested, unlike previously...
+
+	* test/python/test-client.py: Add tests for instance caching of buses
+	and bus name objects.
+
+2005-11-04  Robert McQueen  <robot101 at debian.org>
+
+	* python/dbus_bindings.pyx, test/python/test-client.py: Fix
+	marshalling of boolean values. Add some booleans to the values in
+	the test client.
+
+	* python/decorators.py, python/service.py: Add an 'async_callbacks'
+	argument to the dbus.service.method decorator, which allows you to
+	name arguments to take two callback functions for replying with
+	return values or an exception.
+
+	* test/python/test-client.py, test/python/test-service.py: Add test
+	case using asynchronous method reply functions, both return values and
+	errors, and from within both the function itself and from a mainloop
+	callback.
+
+	* python/decorators.py, python/service.py: Perform checking that the
+	number of method/signal arguments matches the number of types in the
+	signature at class loading time, not when you first introspect the
+	class.
+
+	* python/service.py: Remove debug print left by the last commit.
+
+2005-11-03  Robert McQueen  <robot101 at debian.org>
+
+	* python/service.py: Heavy refactoring of method invocation, with
+	hopefully no effect on functionality. Nuked _dispatch_dbus_method_call
+	in favour of a new _message_cb that uses seperate functions for
+	looking up the method to call, marshalling the return values, and
+	sending exceptions as errors, and is easier to follow as a
+	consequence.  Fixes some corner cases about returning things that
+	don't match your declared out_signature, allows exceptions to define
+	_dbus_error_name and have it be sent over the bus as the error name,
+	and paves the way for cool stuff like heeding the message no reply
+	flag, asynchronous method implementations, informing the method of the
+	sender, and including backtraces in the error messages.
+
+	* test/python/test-client.py: Catch and print exceptions thrown in the
+	async callback tests, rather than passing them to the low-level
+	bindings to be ignored in a noisy and frustrating manner.
+
+2005-11-03  Robert McQueen  <robot101 at debian.org>
+
+	* python/_dbus.py, python/proxies.py, python/service.py: Add __repr__
+	functions to dbus.Bus, dbus.service.BusName and dbus.service.Object,
+	tweak others to be consistent.
+
+	* test/python/test-client.py: Tweak output of testInheritance.
+
+2005-10-29  Robert McQueen  <robot101 at debian.org>
+
+	* python/service.py: Major changes to allow multiple inheritance
+	from classes that define D-Bus interfaces:
+	
+	 1. Create a new Interface class which is the parent class of
+	    Object, and make the ObjectType metaclass into InterfaceType.
+	
+	 2. Patch written with Rob Taylor to replace use of method_vtable
+	    with code that walks the class's __MRO__ (method resolution order)
+	    to behave like Python does when invoking methods and allow
+	    overriding as you'd expect. Code is quite tricky because
+	    we have to find two methods, the one to invoke which has the
+	    right name and isn't decorated with the /wrong/ interface,
+	    and the one to pick up the signatures from which is decorated
+	    with the right interface.
+	
+	    The same caveats apply as to normal multiple inheritance -
+	    this has undefined behaviour if you try and inherit from two
+	    classes that define a method with the same name but are
+	    decorated with different interfaces. You should decorate
+	    your overriding method with the interface you want.
+	
+	 3. Replace grungy introspection XML generation code in the metaclass
+	    with dictionaries that cope correctly with multiple inheritance
+	    and the overriding of methods. This also uses the signature
+	    decorations to provide correct introspection data, including
+	    the debut appearance of the types of your return values. :D
+
+	* test/python/test-client.py, test/python/test-service.py: Add a test
+	case to try invoking an method that overrides one inherited from a
+	D-Bus interface class.
+
+2005-10-29  Robert McQueen  <robot101 at debian.org>
+
+	* python/dbus_bindings.pyx: Tweak 'raise AssertionError' to assert().
+	Add checking for the end of struct character when marshalling a
+	struct in MessageIter.append_strict.
+
+	* python/examples/example-service.py,
+	python/examples/gconf-proxy-service.py,
+	python/examples/gconf-proxy-service2.py: Update to use gobject
+	mainloop directly rather than appearing to depend on gtk.
+
+	* python/test/test-client.py, python/test/test-server.py: Remove
+	obsolete and broken test scripts for old bindings. We have up to date
+	and working tests in test/python/.
+
+2005-10-29  Robert McQueen  <robot101 at debian.org>
+
+	* python/decorators.py: Add optional arguments to the method and
+	signal decorators to allow you to specify the signature of arguments
+	and return values. Preserve the doc strings of signal functions in the
+	decorated version, for pydoc and friends.
+
+	* python/dbus_bindings.pyx, python/proxies.py: Replace the
+	parse_signature_block function with an iterable dbus.Signature()
+	type. Fix a bug in MessageIter.append_strict where you could append
+	anything by claiming it was a string.
+
+	* python/service.py: Use the out_signature decoration on methods to
+	marshal return values, meaning you no longer require dbus.Array()
+	or dbus.Dictionary() to indicate the type when returning empty
+	arrays or dictionaries. Fix a bug where exceptions which are defined
+	in __main__ are not turned into error replies.
+
+	* test/python/test-client.py, test/python/test-service.py: Add test
+	for correct marshalling of return values according to out_signature.
+	Fix a bug in the async call test where the error_handler is missing a
+	self argument.
+
+2005-10-29  Robert McQueen  <robot101 at debian.org>
+
+	* glib/Makefile.am, glib/examples/Makefile.am,
+	glib/examples/statemachine/Makefile.am: Merge patch from Ubuntu by
+	Daniel Stone to replace explicit calls to libtool with $(LIBTOOL).
+
+	* test/python/.cvsignore: Add run-with-tmp-session-bus.conf.
+
+	* tools/dbus-monitor.1, tools/dbus-monitor.c: Merge dbus-monitor patch
+	from Ubuntu by Daniel Silverstone to allow specifying match rules on
+	the command line.
+
+2005-10-27  Ross Burton  <ross at openedhand.com>
+
+	* dbus/dbus-marshal-header.c:
+	Remove dead code.
+
+	* glib/dbus-gobject.c:
+	Stop compiler warning.
+
+2005-10-25  Ross Burton  <ross at openedhand.com>
+
+	* dbus/dbus-auth.c:
+	* dbus/dbus-server-unix.c:
+	* dbus/dbus-transport-unix.c:
+	* glib/dbus-gmain.c:
+	* glib/dbus-gobject.c:
+	Add some const keywords.
+
+2005-10-25  Ross Burton  <ross at openedhand.com>
+
+	* doc/dbus-specification.xml:
+	Document the NoReply annotation.
+
+	* glib/dbus-binding-tool-glib.h:
+	* glib/dbus-binding-tool-glib.c:
+	Respect the NoReply annotation.
+
+2005-10-24  Robert McQueen <robot101 at debian.org>
+
+	* python/dbus_bindings.pyx (String, MessageIter): make D-Bus strings
+	derive from unicode instead of str, and encode/decode UTF-8 when
+	marshalling/unmarshalling bus messages
+
+	* python/introspect_parser.py: encode introspection data as UTF-8
+	before passing the buffer into libxml2
+
+	* test/python/test-client.py: add unicode test strings
+
+	* test/data/valid-service-files/.cvsignore, test/python/.cvsignore:
+	ignore generated python test files
+
+2005-10-17  John (J5) Palmieri  <johnp at redhat.com>
+
+	* glib/dbus-gvalue-utils.c (hash_free_from_gtype): handle gdouble
+	and G_TYPE_VALUE_ARRAY (DBUS_TYPE_STRUCT)
+	(gvalue_from_hash_value, hash_value_from_gvalue): handle gdouble
+
+	* glib/dbus-gvalue.c (dbus_gvalue_to_signature): add missing
+	DBUS_STRUCT_BEGIN_CHAR and DBUS_STRUCT_END_CHAR charaters
+	when constructing struct signatures
+
+	* python/_dbus.py (Bus): handle private connections using the
+	private keyword in the constructor. defaults to private=False
+	(Bus::close): new method to close a connection to the bus
+
+	* python/dbus_bindings.pyx (Connection::close): renamed method
+	was previously called disconnect
+	(bus_get): now supports getting a private connection
+
+	* python/proxies.py (ProxyMethod::__call__): check if ignore_reply
+	keyword is set to True.  if it is, execute the method without waiting
+	for a reply
+	(ProxyObject::_introspect_execute_queue): new method for executing
+	all the pending methods that were waiting for the introspect to
+	finish.  this is called when introspect either succeeds or fails
+	(ProxyObject::_introspect_error_handler): call queued methods
+
+2005-10-14  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/dbus_bindings.pyx (MessageIter::append_strict): check for
+	STRUCT_BEGIN not TYPE_STRUCT in indicate we are marshalling a struct
+
+	* python/service.py (Object::_message_cb): handle exceptions correctly
+	by sending them over the wire to the calling app.  This makes sure
+	the client returns immediately instead of waiting the 15 seconds to
+	timeout.
+
+	* test/python/test-client.py (TestDBusBindings::testBenchmarkIntrospect): 
+	Add a test to benchmark how long it takes to introspect a service and 
+	call a method which returns a large element (pretty fast)
+
+	* test/python/test-service.py (TestObject::GetComplexArray): new test 
+	method which pushes a lot of data
+
+2005-10-13  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/service.py(ObjectType::_reflect_on_signal, _reflect_on_method): 	
+	reclaim memory outside of the loop and use del istead of just setting
+	the key to None
+
+2005-10-13  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/service.py (ObjectType::_reflect_on_signal): Always close
+	signal tag even when there are no arguments
+
+2005-10-13  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in: Set mono, mono-docs and Qt3 to default
+	to no instead of auto when building.  These bindings do not
+	have full time maintainers and will not be supported for the
+	1.0 release.
+
+2005-10-12  John (J5) Palmieri  <johnp at redhat.com>
+
+	patches from Michael Krivoruchko <misha at sun.com>: 
+	
+	* dbus/dbus-connection.c (_dbus_connection_queue_received_message_link,
+	_dbus_connection_message_sent, 
+	_dbus_connection_send_preallocated_unlocked_no_update, 
+	_dbus_connection_pop_message_link_unlocked): handle the case when path 
+	is NULL when calling _dbus_verbose
+
+	* configure.in: check for functions getpeerucred and getpeereid
+
+	* dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): provides 
+	support of auth EXTERNAL on Solaris 10+ (getpeerucred), FreeBSD 4.6+, 
+	OpenBSD 3.0+ and FreeBSD 5.0+ as well as MacOSX 10.2+ (getpeereid). 
+	Patch was only tested on Solaris 10 x86 so it might be issues
+	with other platforms (i.e. BSDs and MacOSX)
+	
+
+2005-10-05  John (J5) Palmieri  <johnp at redhat.com>
+
+	* glib/dbus-gvalue.c (marshal_variant): call _dbus_gvalue_marshal 
+	instead of marshal basic so we can handle recursive types in a variant
+
+	* test/glib/test-dbus-glib.c: Add test for marshaling recurive types
+	in variants
+
+	* test/glib/test-service-glib.c, test-service-glib.xml
+	(my_object_echo_variant [EchoVariant], 
+	my_object_process_variant_of_array_of_ints123
+	[ProcessVariantOfArrayOfInts123]): 
+	Add two test methods
+
+	* python/introspect_parser.py: New module for parsing introspect
+	data.
+
+	* python/dbus_bindings.pyx:
+	(various places): when throwing errors fix to use errormsg instead 
+	of message local variable because Pyrex can get confused with other 
+	message variables (initial patch by Robert McQueen 
+	<robert.mcqueen at collabora.co.uk>)
+	(MessageIter::parse_signature_block): new method for getting the next
+	block in a signiture.
+	(MessageIter::append_strict): new method for appending values strictly
+	using the passed in signature instead of guessing at the type
+	(MessageItter:: append_dict, append_struct, append_array): use 
+	signatures to marshal children if the signature is available
+	
+	* python/exceptions.py (IntrospectionParserException): new exception
+
+	* python/proxies.py (ProxyMethod::__call__): Marshal args with 
+	introspected signatures if available, else we fall back to the
+	old way of doing things.
+	(ProxyObject::_introspect_reply_handler ): parse introspection data
+	
+	* python/service.py (ObjectType::_reflect_on_method): Properly
+	terminate <method> if there are no args in the reflection data
+
+	* test/python/test-client.py: add tests for talking with the GLib
+	test server.  This gives us better coverage for introspection since
+	python to python will always generate arguments as variants.  It also
+	allows us to test the robustness of the GLib bindings and interlanguage
+	communications.
+
+	
+2005-10-03  John (J5) Palmieri  <johnp at redhat.com>
+
+	* bus/driver.c (bus_driver_handle_introspect): Add signals
+	to the introspect data. (patch from Daniel P. Berrange 
+	<dan at berrange.com>)
+
+	* bus/dispatch.c (check_existent_ping): Add testcase for Ping
+	
+	* dbus/dbus-connection.c (_dbus_connection_peer_filter,
+	_dbus_connection_run_builtin_filters): Changed these to
+	be unlock_no_update functions and call 
+	_dbus_connection_send_unlocked_no_update instead of
+	dbus_connection_send to avoid locking errors.
+	
+	* doc/TODO: Removed the make Ping test TODO
+	
+2005-09-26  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/Python.pyx: Fixed memory leaks when throwing errors.
+	We now copy the message from a DBusError and then free 
+	the error object befor throwing the error
+
+	* glib/dbus-glib-tool.c: removed extra comma at the end of the
+	DBusBindingOutputMode enum which was causing a warning.
+	#include <time.h> so using time_t is explicitly defined
+
+2005-09-26  John (J5) Palmieri  <johnp at redhat.com>
+
+	* Integrate patches from Lennart Poettering <mzsqb at 0pointer.de>:
+	- dbus/dbus-bus.c
+	(internal_bus_get): new method that take over the heavy lifting
+	of dbus_bus_get and adds the ability to get a private connection
+	to the bus
+	(dbus_bus_get): wrapper to internal_bus_get that provides the same
+	interface as in previous versions
+	(dbus_bus_get_private): new method that is a wrapper to 
+	internal_bus_get to get a private connection to the bus
+
+	- dbus/dbus-bus.h
+	(dbus_bus_get_private): add as a public libdbus interface
+
+	- dbus-1.pc.in: output system_bus_default_address and 
+	sysconfdir variables so apps can use them when compiling
+
+2005-09-23  Harald Fernengel  <harry at kdevelop.org>
+	* dbus/qt: New Qt bindings
+
+2005-09-12  Waldo Bastian  <bastian at kde.org>
+
+	* dbus/dbus-marshal-validate.c,
+	doc/dbus-specification.xml, test/Makefile.am,
+	test/test-names.c: allow hyphens in bus names.
+
+2005-09-11  Mark McLoughlin  <mark at skynet.ie>
+
+	* test/data/auth/fallback.auth-script: we don't
+	retry the EXTERNAL method when we know its going
+	to fail anymore.
+
+2005-09-11  Mark McLoughlin  <mark at skynet.ie>
+
+	* dbus/dbus-connection-internal.h: rename
+	(add|remove|toggle)_(watch|timeout) to unlocked()
+	
+	* dbus/dbus-connection.c: ditto.
+	
+	* dbus/dbus-timeout.c, dbus/dbus-transport-unix.c:
+	Update some callers for the renaming.
+
+2005-09-10  Mark McLoughlin  <mark at skynet.ie>
+
+	* dbus/dbus-auth.c: (record_mechanisms): don't
+	retry the first auth mechanism because we know
+	we're just going to get rejected again.
+	
+	* dbus/dbus-keyring.c: (_dbus_keyring_reload):
+	Fix thinko ... and what a nasty little bugger to
+	track down you were ...
+
+	* dbus/dbus-connection.c:
+	(_dbus_connection_add_watch),
+	(_dbus_connection_remove_watch): add note about
+	these needing the connection to be locked.
+	(_dbus_connection_get_dispatch_status_unlocked):
+	set status to DATA_REMAINS when we queue the
+	disconnected message.
+	
+	* bus/dispatch.c:
+	(bus_dispatch): fix warning.
+	(check_existent_service_no_auto_start):
+	Expect ChildSignaled error too.
+	(check_existent_hello_from_self): fix another
+	couple of warnings.
+	
+2005-09-08  Joe Shaw  <joeshaw at novell.com>
+
+	Patches from James Willcox <snorp at snorp.net>
+
+	* mono/Makefile.am: Add Int16.cs and UInt16.cs
+
+	* mono/DBusType/Array.cs: Handle multidimensional arrays, and
+	support array "out" parameters.
+
+	* mono/DBusType/Int16.cs, mono/DBusType/UInt16.cs: New files,
+	for 16-bit int support.
+
+2005-09-06  John (J5) Palmieri  <johnp at redhat.com>
+
+	* Released 0.50
+
+	* Patch from Steve Grubb:
+	- bus/activation.c (bus_activation_service_reload_test): clean up
+	some indentation
+	- dbus/dbus-keyring.c (_dbus_keyring_reload): fix conditional 
+	- dbus/dbus-message-factory.c (generate_special): fix a couple of
+	buffer overflows in the test suite.  This is non critical because
+	it can not be exploited and this code is only run when doing a 
+	make check.
+
+	* Patch from Yaakov Selkowitz: Build fixes for Cygwin
+	- configure.in: Don't check and link against kdecore, only qt headers
+	- dbus/Makefile.am: Add -no-undefined to libdbus_1_la_LDFLAGS
+	- gcj/org/freedesktop/dbus/Makefile.am:
+	add libdbus_gcj_1_la_LDFLAGS = -no-undefined
+	- glib/Makefile.am: Add -no-undefined to libdbus_glib_1_la_LDFLAGS
+	and $(DBUS_GLIB_LIBS) to dbus_binding_tool_LDADD
+	- qt/Makefile.am: Add -no-undefined to libdbus_qt_1_la_LDFLAGS
+	- tools/Makefile.am: Add platform extentions to binaries 
+	(i.e. .exe on windows)
+
+	* configure.in: 
+	- Make it so if no suitable version of python is found we only 
+	disable building python instead of exiting the configure script
+	- Require version 2.4 of glib for glib bindings
+	- Up version to 0.50
+
+	* python/__init__.py: Sync version with libdbus to (0,50,0)
+	
+2005-09-05  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* dbus/dbus-object-tree.c (find_subtree_recurse):
+	a couple of optimizations (bug #710):
+	- do a binary search in the tree
+	- insert a new child at the right place directly, no need for
+	  qsort anymore
+	- do the "double alloc" thing when allocating children
+
+2005-08-31  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/Makefile.am: Break on pyrexc errors instead of ignoring them
+
+	* python/dbus_bindings.pyx: Memory management foo
+	(global): remove hacky _user_data_references global list
+	(GIL_safe_cunregister_function_handler): userdata now stuffed into
+	tuples. Unref user_data
+	(GIL_safe_cmessage_function_handler): userdata now stuffed into tuples
+	(Connection::__del__): Remove and replace with __dealloc__ method
+	(Connection::add_filter): Stuff user_data into a tuple.  Use Py_INCREF
+	to keep tuple from being deallocated instead of the global var hack
+	(Connection::register_object_path): Stuff user_data into a tuple.
+	Use Py_INCREF to keep tuple from being deallocated instead of the 
+	global var hack
+	(Connection::register_fallback): Stuff user_data into a tuple.
+	Use Py_INCREF to keep tuple from being deallocated instead of the 
+	global var hack
+	(GIL_safe_pending_call_notification): Don't unref the message
+	because it gets unreffed when going out of scope.  Py_XDECREF
+	the user_data
+	(PendingCall::__del__): Remove and replace with __dealloc__ method
+	(PendingCall::set_notify): ref the pending call because we will
+	need it to stick around for when the notify callback gets called
+	(Message::__del__): Remove and replace with __dealloc__ method
+
+	* python/dbus_glib_bindings.pyx (init_gthreads): Changed to 
+	gthreads_init to match up with the dbus call
+
+	* python/glib.py (init_threads): Changed to threads_init to match
+	up with gobject.threads_init().  init_threads is kept for backwards
+	compat but will most likely be deprecated in the future
+
+	* test/python/test-client.py: 
+	- revamp to use Python's unittest functionality
+	- add async call tests
+	- setup threads in glib and dbus so we make sure locks are working
+	
+2005-08-30  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/dbus_bindings.pyx 
+	(_pending_call_notification, cunregister_function_handler, 
+	cmessage_function_handler): All callback functions have been rearranged 
+	to workaround a bug in Pyrex when working with the GIL which is Python's 
+	global lock when dealing with threads.  They have been split into
+	a wrapper function (which assumes the name of the old function) and
+	a _GIL_safe_<function name> function which contains the functionality
+	of the old function.  This ensures that Pyrex does not write code
+	the lock is released.
+	
+
+2005-08-30  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/dbus_bindings.pyx (_pending_call_notification): Obtain the
+	GIL global lock when calling back into Python
+
+2005-08-29  John (J5) Palmieri  <johnp at redhat.com>
+
+	* Release 0.36.2
+
+	* Add Havoc's patch that never got applied to HEAD (Bug #2436):
+
+	* bus/policy.c (bus_policy_allow_user): change default "user is
+	allowed" to be "user has same uid as the bus itself"; any
+	allow/deny rules will override.
+
+	* bus/session.conf.in: don't allow all users, since now by default
+	the user that ran the bus can connect.
+
+2005-08-26  Colin Walters  <walters at verbum.org>
+
+	* tools/dbus-print-message.c (print_message): Flush stdout
+	after printing a message, so that redirecting to a file, then
+	hitting Ctrl-C works.
+
+2005-08-25  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/dbus_bindings.pyx: Tracked down a major memleak and fixed it
+	(EmptyMessage): new class that subclasses Message.  This is a workaround
+	to a Pyrex bug that fails to call __del__ when the Message object goes out
+	of scope.  For some reason subclassing Message fixes this bug
+	(Bus::send_with_reply_and_block): use EmptyMessage instead of Message
+	- s/Message(_create=0)/EmptyMessage everywhere else
+	
+	* test/python/test-{server|client}.py: add the python/.libs directory
+	to the lookup path so dbus_bindings and dbus_glib_bindings don't
+	get picked up from the system
+
+2005-08-25  Colin Walters  <walters at verbum.org>
+
+	* glib/dbus-gproxy.c (dbus_g_proxy_call): Doc update, thanks
+	to Ryan Lortie for the suggestion.
+
+2005-08-24  John (J5) Palmieri  <johnp at redhat.com>
+
+	* test/python: Add python regression test
+
+	* configure.in: Add test/python/Makefile
+
+	* test/Makefile.am: Add the python directory to SUBDIRS
+
+2005-08-24  John (J5) Palmieri  <johnp at redhat.com>
+
+	* Release 0.36.1
+
+	* python/_dbus.py: 
+	(Interface::connect_to_signal): propigate keywords for match on args
+	(Bus::add_signal_receiver): Fix typo s/dbus_inteface/dbus_interface
+
+	* python/proxies.py (ProxyObject::connect_to_signal):
+	propigate keywords for match on args
+
+	* Makefile.am: point everything to pyexecdir since python borks
+	on multilib
+
+2005-08-23  John (J5) Palmieri  <johnp at redhat.com>
+
+	* Release 0.36
+
+2005-08-23  Colin Walters  <walters at verbum.org>
+
+	* test/glib/Makefile.am: Don't multiply-define EXTRA_DIST.
+
+2005-08-23  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/dbus_glib_bindings.pyx: reorder imports and c definitions
+	to fix some wranings. We now use dbus_bindings.DBusConnection instead
+	of defining DBusConnection ourselves.
+
+2005-08-18  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/dbus.pth: New path file to fix up problems when installing
+	c libraries to lib64 and python files to lib.
+
+	* python/Makefile.am: install dbus.pth in the correct spot
+
+2005-08-17  John (J5) Palmieri  <johnp at redhat.com>
+	* ChangeLog: clean up my last entry a bit
+
+	* doc/introspect.xsl: New stylesheet for converting introspection data
+	into browser renderable xhtml. Contributed by Lennart Poettering.
+
+	* doc/introspect.dtd: Fixups in the introspect format from Lennart
+	Poettering.
+
+	* doc/dbus-tutorial.xml: 
+	- Add Colin Walter to the Authors section for authoring the GLib
+	section
+	- Add descriptions of the new signature and type functionality
+	in the Python complex type mapping section
+	- Add a sidenote on the new args matching functionality in 
+	the Python bindings
+	- Fixed up some of the examples to use the gobject.MainLoop
+	instead of gtk.main
+	
+	* python/_dbus.py:
+	(Bus::_create_args_dict): New. Converts a hash of arg matches
+	to a more useable format
+	(Bus::add_signal_receiver): add a **keywords parameter for catching
+	arg match parameters
+	(Bus::remove_signal_receiver): add a **keywords parameter for catching
+	arg match parameters
+	
+	* python/matchrules.py:
+	(MatchTree::exec_matches): Check for arg matches
+	(SignalMatchRule::add_args_match): New method
+	(SignalMatchRule::execute): Added args_list parameter as an optimization
+	so we don't have to marshal the args more than once
+	(SignalMatchRule::match_args_from_list): New method that checks to see
+	if the rule's arg matches match an argument list.  Only arguments
+	set in the rule are checked.
+	(SignalMatchRule::match_args_from_rule): New method that checks to see
+	if the rule's arg matches match another rule's.  All args have to match
+	in order for this method to return true.  If either rule has more args
+	then it is not a match.
+	(SignalMatchRule::is_match): Add args match
+	(SignalMatchRule::repr): Add args to the final output if they exist
+
+2005-08-17  Ross Burton  <ross at burtonini.com>
+
+	* glib/dbus-gproxy.c:
+	(dbus_g_proxy_call_no_reply): unref the message once sent.
+	(dbus_g_proxy_call): protect against NULL proxy.
+
+2005-08-16  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/__init__.py: Version updated (0, 43, 0)
+	
+	* python/dbus_bindings.pyx: 
+	- Fixed type objects to have self passed into __init__
+	- Added the Variant type
+	- Add the ability to specify types or signatures for Array, Variant 
+	and Dictionary
+	(Connection::send_with_reply_handlers): return a PendingCall object
+	(_pending_call_notification): handle the case when an error is returned 
+	without an error message in the body
+	(MessageIter::get_boolean): return True or False instead of an integer
+	(MessageIter::python_value_to_dbus_sig): add direct checking of types 
+	and add checks for objects with embeded signatures or types (Array, 
+	Variant and Dictionary)
+	(MessageIter::append_byte): handle case when the value is a dbus.Byte
+	(MessageIter::append_dict): handle embeded types or signatures
+	(MessageIter::append_array): handle embeded types or signatures
+	(MessageIter::append_variant): new method
+	
+	* python/proxies.py:
+	(DeferedMethod): New. Dummy executable object used when queuing calls 
+	blocking on introspection data
+	(ProxyMethod::__call__): add the timeout keyword for specifying longer 
+	or shorter timeouts for method calls
+	(ProxyObject): Add first pass at an introspection state machine
+	(ProxyObject::__init__): Add introspect keyword for turing off an on 
+	introspection. 
+	(ProxyObject::_Introspect): Internal Introspect call that bypasses 
+	the usual mechanisms for sending messages.  This is to avoid a deadlock
+	where the Intospect call would be queued waiting for the Introspect 
+	call to finish ;-)
+	(ProxyObject::_introspect_reply_handler): New.  This method is called 
+	when introspection returns with no error
+	(ProxyObject::_introspect_error_handler): New.  This method is called 
+	when introspection encounters an error
+	(ProxyObject::__getattr__): Code to handle different introspection 
+	states.  Queue async calls or block blocking calls if we are 
+	introspecting.  Pass through as normal if we are not or are done with 
+	introspecting.
+	
+	* python/service.py: Import signal and method from decorators.py
+
+	* python/types.py: Add Variant type
+
+2005-08-16  Colin Walters  <walters at verbum.org>
+
+	* glib/dbus-gobject.c (dbus_set_g_error): Don't lose if the
+	DBusError message is NULL.
+
+2005-08-09  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-errors.c: apply patch from Timo Teras to make a
+	malloc'd copy of the name parameter
+
+2005-08-09  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-message.c (dbus_message_set_reply_serial): print
+	warning if the reply serial is set to 0
+
+2005-08-04  Colin Walters  <walters at verbum.org>
+
+	* glib/dbus-gvalue-utils.h (_dbus_g_type_specialized_builtins_init)
+	(dbus_g_type_is_fixed, dbus_g_type_fixed_get_size)
+	(dbus_gvalue_set_from_pointer, dbus_g_hash_table_value_foreach)
+	(dbus_g_hash_table_insert_values, dbus_g_hash_table_insert_steal_values)
+	(dbus_gtype_is_valid_hash_key, dbus_gtype_is_valid_hash_value)
+	(dbus_g_hash_func_from_gtype, dbus_g_hash_free_from_gtype)
+	(dbus_g_hash_equal_from_gtype, dbus_gvalue_stor, dbus_gvalue_take):
+	* glib/dbus-gvalue.h (dbus_g_value_types_init)
+	(dbus_gvalue_demarshal, dbus_gvalue_demarshal_variant)
+	(dbus_gvalue_demarshal_message, dbus_gvalue_marshal):
+	
+	Prefix name with _ to ensure they're not exported.  All callers
+	updated.
+
+	* glib/dbus-gvalue.c (typecode_to_gtype)
+	(dbus_typecode_maps_to_basic, basic_typecode_to_gtype)
+	(signature_iter_to_g_type_dict)
+	(signature_iter_to_g_type_array)
+	(dbus_gtype_from_signature_iter, dbus_gtype_from_signature)
+	(dbus_gtypes_from_arg_signature):
+	Move to dbus-gsignature.c.
+
+	* glib/dbus-binding-tool-glib.c (dbus_binding_tool_output_glib_server): Call
+	dbus_g_type_specialized_builtins_init instead of dbus_g_value_types_init.
+	(dbus_binding_tool_output_glib_client): Ditto.
+
+	* glib/Makefile.am (DBUS_GLIB_INTERNALS): Add dbus-gsignature.c
+	and dbus-gsignature.h
+
+	* test/glib/test-service-glib.c (my_object_rec_arrays): Delete
+	unused variable.
+
+2005-08-03  Colin Walters  <walters at verbum.org>
+
+	* glib/dbus-gobject.c: Add tests on hardcoded object info; this should
+	catch any incompatible changes accidentally made.
+
+2005-08-03  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): fix
+	typo, from Julien Puydt
+
+	* bus/connection.c (bus_connection_disconnected): we were always
+	doing a wait_for_memory due to a buggy loop, found by Timo Hoenig
+
+2005-08-01  Colin Walters  <walters at verbum.org>
+
+	Patch from Joe Markus Clarke:	
+	
+	* glib/dbus-gidl.c (property_info_unref, arg_info_unref): Fix
+	use-after-free.
+
+2005-08-01  Colin Walters  <walters at verbum.org>
+	
+	Patch from Joe Markus Clarke:	
+	
+	* tools/dbus-send.c (main): 
+	
+	Don't use C99 style initializers (bug #3933).
+	
+2005-08-01  Colin Walters  <walters at verbum.org>
+
+	Patch from Joe Markus Clarke:	
+
+	* glib/dbus-gvalue.c (dbus_g_value_types_init): 
+	* glib/dbus-gvalue-utils.c (dbus_g_type_specialized_builtins_init) 
+	* glib/dbus-gobject.c (write_interface):
+
+	Don't use C99 style initializers (bug #3933).
+
+2005-07-31  Havoc Pennington  <hp at redhat.com>
+
+	* tools/dbus-viewer.c (load_child_nodes): fix invocation of
+	dbus_g_proxy_call, fix from Piotr Zielinski bug #3920
+
+2005-07-30  Havoc Pennington  <hp at redhat.com>
+
+	* fix a bunch of Doxygen warnings and mistakes
+
+2005-07-30  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-sysdeps.c (_dbus_string_parse_uint): remove #ifdef
+	DBUS_BUILD_TESTS since it's now used in production code
+
+2005-07-29  Havoc Pennington  <hp at redhat.com>
+
+	* test/glib/test-profile.c (write_junk): initialize the junk
+	buffer so valgrind doesn't have a breakdown
+
+2005-07-29  Havoc Pennington  <hp at redhat.com>
+
+	* bus/signals.c (bus_signals_test): add match_rule_equal() tests
+	(match_rule_matches): remove unused arg
+	(test_matching): add tests for match_rule_matches()
+
+	* bus/signals.c (bus_match_rule_parse_arg_match): add ability to
+	do arg0='foo' arg5='bar' in the match rules
+	(match_rule_matches): don't match if the arg0='foo' doesn't match.
+
+	* dbus/dbus-protocol.h (DBUS_MAXIMUM_MATCH_RULE_ARG_NUMBER): add this
+
+2005-07-29  Ross Burton  <ross at openedhand.com>
+
+	* dbus/dbus-connection.c:
+	Don't create a DBusCondVar which is never used.
+
+2005-07-27  Ross Burton  <ross at openedhand.com>
+
+	* dbus/dbus-message.c:
+	Reduce the size of the maximum cached message to 10K.
+
+2005-07-25  Ross Burton  <ross at openedhand.com>
+
+	* glib/dbus-gproxy.c:
+	Remove matches when all proxies are unregistered.
+
+2005-07-24  Colin Walters  <walters at verbum.org>
+
+	* glib/dbus-gvalue.c (signature_iter_to_g_type_array): Don't require
+	typedata; recursive arrays won't have it.
+
+	* test/glib/test-dbus-glib.c:
+	* test/glib/test-service-glib.c:
+	* test/glib/test-service-glib.xml: Add recursive arrays tests.
+	
+2005-07-20  John (J5) Palmieir  <johnp at redhat.com>
+
+	* python/_dbus.py, _util.py, decorators.py, extract.py, matchrules.py.
+	proxies.py, service.py: Cleanup of code after running it through the
+	pyflakes code checker mostly dealing with undefined names.  
+	(Bug #3828, Patch from Anthony Baxter <anthony at interlink.com.au>)
+
+2005-07-17  John (J5) Palmieri  <johnp at redhat.com>
+
+	* NEWS: Update to 0.35.2
+
+2005-07-17  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/_dbus.py: Remove import of the dbus.services
+	module as it no longer exists (patch from Dimitur Kirov)
+
+	* python/service.py (Object::__init__): Fixed typo
+	s/name/bus_name (patch from Dimitur Kirov)
+
+	* python/examples/example-signal-emitter.py: import dbus.glib
+	to get the main loop and use glib mainloop instead of gtk so
+	X doesn't have to be running.
+
+	* python/examples/example-signal-recipient.py: import dbus.glib
+	to get the main loop and use glib mainloop instead of gtk so
+	X doesn't have to be running. Import the decorators module
+	directly.
+
+	* test/glib/Makefile.am:  Added DIST_EXTRA files that distcheck
+	didn't pick up on but are needed to build
+
+	* configure.in: upped version to 0.35.2
+
+	* bus/driver.c, bus/selinux.c, bus/selinux.h, dbus/dbus-protocol.h:
+	added Colin Walters' SELinux API rename patch from head 
+	s/unix sercurity context/selinux security context/
+
+2005-07-16  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/Makefile.am: dbus_binding.pxd.in should be included 
+	in EXTRA_DIST not dbus_binding.pxd
+	fix up $(srcdir) hopefully for the last time
+
+	* NEWS: Update to 0.35.1
+
+2005-07-16  Colin Walters  <walters at verbum.org>
+
+	* bus/driver.c (bus_driver_handle_get_connection_selinux_security_context): Renamed
+	from bus_driver_handle_get_connection_unix_security_context.  Update for
+	error usage.
+	(message_handlers): Update for renames.
+
+	* bus/selinux.c (bus_selinux_allows_send): Handle OOM on
+	_dbus_string_init failure correctly.
+	(bus_selinux_append_context): Convert SID to context.  Append it
+	as a byte array.
+	(bus_selinux_shutdown): Handle the case where bus_selinux_full_init
+	hasn't been called.
+
+	* bus/selinux.h: Update prototype.
+
+	* dbus/dbus-protocol.h (DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN): Renamed
+	from DBUS_ERROR_UNIX_SECURITY_CONTEXT_UNKNOWN.
+
+2005-07-15  Colin Walters  <walters at verbum.org>
+
+	* doc/TODO: Add note about convenience wrappers.
+
+2005-07-15  John (J5) Palmieri  <johnp at redhat.com>
+
+	* NEWS: Update to 0.35
+
+2005-07-15  John (J5) Palmieri  <johnp at redhat.com>
+
+	* glib/Makefile.am: Add make-dbus-glib-error-switch.sh to EXTRA_DIST
+	so distcheck doesn't fail
+
+	* glib/examples/Makefile.am: Add example-service.xml and 
+	example-signal-emitter.xml to EXTRA_DIST so distcheck doesn't fail
+
+	* glib/examples/statemachine/Makefile.am: Add statemachine.xml and
+	statemachine-server.xml to EXTRA_DIST so distcheck doesn't fail
+
+	* python/Makefile.am: Preprend $(srcdir)/ to source files so the
+	compiler looks in the right places during distcheck
+
+2005-07-15  John (J5) Palmieri  <johnp at redhat.com>
+
+	* glib/example/Makefile.am: Fix a typo which cause make distcheck
+	to fail
+
+2005-07-15  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/examples/example-service.py,
+	python/examples/example-signal-emitter.py: Fixed up examples
+	for API changes
+
+2005-07-15  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/__init__.py: Upped to version (0,42,0) because of
+	the API change
+
+2005-07-15  John (J5) Palmieri  <johnp at redhat.com>
+
+	* ChangeLog: fix date in last entry
+
+	* configure.in, bus/system.conf.in: add the ability to configure 
+	the system bus user at compiletime with the --with-dbus-user flag
+	(patch from Kristof Vansant)
+
+2005-07-15  John (J5) Palmieri  <johnp at redhat.com>
+
+	* bus/dispatch.c, test/test-service.c: Add testcase
+	for sending messages to oneself (TODO item).
+
+	* python/service.py (class Object): Swap ordering of bus_name 
+	and object_path parameters to better support inheritance.
+
+	* doc/dbus-tutorial.xml: change Python docs to reflect change
+	in parameter ordering and fix the inheritance section.
+
+	* doc/TODO: remove sending message to oneself TODO item
+
+2005-07-15  Ross Burton  <ross at openedhand.com>
+
+	* glib/dbus-gproxy.c:
+	Fix a leak when calling methods via the proxy.
+
+2005-07-15  Colin Walters  <walters at verbum.org>
+
+	* bus/selinux.c (bus_selinux_append_context): Wrap in
+	HAVE_SELINUX.
+
+2005-07-14  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/_dbus.py (Bus::remove_signal_receiver):
+	don't add a callback to the match if none has been passed in
+	
+	* python/matchrules.py (SignalMatchTree::remove): if the rule
+	being matched does not have a callback treat it as a wildcard
+	fix matching logic
+
+	* doc/dbus-tutorial.xml: Add Python tutorial
+
+2005-07-14  Colin Walters  <walters at verbum.org>
+
+	* bus/driver.c
+	(bus_driver_handle_get_connection_unix_security_context): New function.
+	(message_handlers): Add.
+
+	* bus/selinux.c (bus_selinux_append_context): New function; appends
+	security context to message.
+
+	* bus/selinux.h: Prototype.
+
+	* dbus/dbus-protocol.h (DBUS_ERROR_UNIX_SECURITY_CONTEXT_UNKNOWN): New.
+
+2005-07-14  John (J5) Palmieri  <johnp at redhat.com>
+
+	* bus/activation.c: clean up all tabs to be 8 spaces 
+	(bus_activation_activate_service): make sure we clean up
+	if activation fails
+
+	* bus/dispatch.c: clean up all tabs to be 8 spaces 
+	(check_shell_fail_service_auto_start): New function
+	tests to make sure we get fail properly when trying to auto start a service
+	with a faulty command line
+	(check_shell_service_success_auto_start): New function tests to make sure
+	auto started services get the arguments on the command line
+
+	* test/test-shell-service.c: Added service for testing auto-starting with 
+	command line arguments
+
+	* test/data/valid-service-files/debug-shell-echo-fail.service.in, 
+	test/data/valid-service-files/debug-shell-echo-success.service.in:
+	Added service files for testing auto-starting with command line arguments
+
+	* */.cvsignore: added a bunch of generated files to various .cvsignore files
+
+2005-07-14  Rodrigo Moya  <rodrigo at novell.com>
+
+	* dbus/dbus-shell.[ch]: copy/pasted code from GLib.
+	
+	* dbus/Makefile.am: added new files to build.
+
+	* bus/activation.c (bus_activation_activate_service): support
+	activation commands with parameters.
+
+	* test/shell-test.c: added test program for the shell parsing
+	code.
+
+2005-07-13  David Zeuthen  <davidz at redhat.com>
+
+	* tools/dbus-send.c (append_arg, type_from_name): Also support 16 and
+	64 bit signed and unsigned parameters
+
+2005-07-13  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/.cvsignore: remove dbus_bindings.pyx, add dbus_bindings.pxd
+
+	* python/service.py (class Name): renamed BusName to make it clearer
+	what the object is for (a name on the bus)
+
+	* python/examples/example-service.py,
+	python/examples/example-signal-emitter.py: change the Name object to
+	BusName
+
+2005-07-12  Colin Walters  <walters at verbum.org>
+
+	Patch from Jim Gettys <Jim.Gettys at hp.com>.
+
+	* tools/dbus-launch.c: Include sys/select.h.
+
+2005-07-12  John (J5) Palmieri  <johnp at redhat.com>
+	* python/dbus_bindings.pyx.in: removed
+
+	* python/dbus_bindings.pyx: Added.
+	- Fixed some memleaks (patch from 
+	Sean Meiners <sean.meiners at linspireinc.com>)
+	- Broke out the #include "dbus_h_wrapper.h" and put it in its
+	own pxd file (Pyrex definition)
+	- Broke out glib dependancies into its own pyx module
+	
+	* python/dbus_bindings.pdx: Added.
+	- Defines C class Connection for exporting to other modules
+
+	* python/dbus_glib_bindings.pyx: Added.
+	- New module to handle lowlevel dbus-glib mainloop integration
+
+	* python/glib.py: Added.
+	- Registers the glib mainloop when you import this module
+
+	* python/services.py: Removed (renamed to service.py)
+	
+	* python/service.py: Added.
+	- (class Server): renamed Name
+
+	* python/__init__.py: Bump ro version (0,41,0)
+	-don't import the decorators or service module
+	by default.  These now reside in the dbus.service namespace
+
+	* python/_dbus.py (Bus::__init__): Add code run the main loop 
+	setup function on creation 
+
+	* python/examples/example-service.py,
+	python/examples/example-signal-emitter.py: update examples
+
+	* python/examples/gconf-proxy-service.py,
+	python/examples/gconf-proxy-service2.py: TODO fix these up
+
+	* doc/TODO: Addition
+	- Added a Python Bindings 1.0 section
+	- added "Add match on args or match on details to match rules"
+
+
+2005-07-12  Colin Walters  <walters at verbum.org>
+
+	* glib/examples/statemachine/Makefile.am (statemachine-server-glue.h) 
+	(statemachine-glue.h): 
+	* glib/examples/Makefile.am (example-service-glue.h) 
+	(example-signal-emitter-glue.h): 
+	* glib/Makefile.am (dbus-glib-error-switch.h): 
+	Add libtool --mode=execute so we use the built library instead
+	of any installed one.
+
+2005-07-11  Colin Walters  <walters at verbum.org>
+
+	* glib/dbus-gvalue.c (struct _DBusGValue): Delete.
+	(dbus_g_value_types_init): Remove assertion.
+	(dbus_g_value_get_g_type, dbus_g_value_open)
+	(dbus_g_value_iterator_get_values, dbus_g_value_get_signature)
+	(dbus_g_value_copy, dbus_g_value_free): Delete unimplemented
+	functions related to DBusGValue.  Now we marshal/demarshal
+	structures as GValueArray.
+	(dbus_gtype_from_signature_iter): Return G_TYPE_VALUE_ARRAY for
+	structures.
+	(signature_iter_to_g_type_array): Don't call
+	signature_iter_to_g_type_struct.
+	(signature_iter_to_g_type_struct): Delete.
+	(dbus_gvalue_to_signature): Delete.
+	(dbus_gvalue_to_signature): New function with same name as other
+	one; we can convert structures to signatures.
+	(demarshal_valuearray): New function.
+	(get_type_demarshaller): Use it.
+	(demarshal_recurse): Delete.
+	(marshal_proxy): New function.
+	(marshal_map): Warn if we can't determine signature from type.
+	(marshal_collection_ptrarray): Ditto.
+	(marshal_collection_array): Ditto.
+	(get_type_marshaller): Use marshal_valuearray.
+	(marshal_recurse): Delete.
+	(_dbus_gvalue_test): Add some tests.
+
+	* dbus/dbus-glib.h (struct _DBusGValueIterator): 
+	(dbus_g_value_get_g_type, DBUS_TYPE_G_VALUE)
+	(dbus_g_value_open, dbus_g_value_iterator_get_value)
+	(dbus_g_value_iterator_get_values, dbus_g_value_iterator_recurse)
+	(dbus_g_value_free): Remove prototypes.
+
+	* glib/dbus-binding-tool-glib.c (dbus_g_type_get_lookup_function): Handle
+	G_TYPE_VALUE_ARRAY.
+
+	* glib/examples/example-service.c:
+	* glib/examples/example-client.c: Implement GetTuple.
+
+	* test/glib/test-dbus-glib.c:
+	* test/glib/test-service-glib.c:
+	* test/glib/test-service-glib.xml: Add structure tests.
+
+2005-07-10  Colin Walters  <walters at verbum.org>
+
+	* doc/TODO: Knock off some GLib items with this patch.
+
+	* glib/dbus-gvalue-utils.c (_dbus_gtype_can_signal_error) 
+	(_dbus_gvalue_signals_error): New functions.
+
+	* glib/dbus-gvalue-utils.h: Prototype them.
+
+	* glib/dbus-gobject.c (arg_iterate): Update to handle return vals
+	and change to not output const/retval flags for input args.  All
+	callers updated.
+	(invoke_object_method): Refactor to handle return values.  Add
+	some more comments in various places.  Remove debug g_print.
+
+	* glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_RETURNVAL): New.
+
+	* glib/dbus-binding-tool-glib.c (dbus_g_type_get_marshal_name):
+	Handle G_TYPE_NONE.
+	(compute_gsignature): New function; refactored from code from
+	compute_marshaller and compute_marshaller_name.  Enhance to
+	handle return values and async ops more cleanly.  Update for
+	async ops returning NONE instead of BOOLEAN.
+	(compute_marshaller, compute_marshaller_name): Call compute_gsignature
+	and output appropriate string.
+	(generate_glue): Handle return value annotation.  Also don't dump
+	constness flag for input arguments.
+
+	* glib/Makefile.am (DBUS_GLIB_INTERNALS): New variable; contains
+	files shared between installed library and utilities.
+	(libdbus_glib_1_la_SOURCES): Move some stuf into DBUS_GLIB_INTERNALS.
+	(libdbus_gtool_la_SOURCES): Suck in DBUS_GLIB_INTERNALS so the
+	binding tool can access gtype utility functions.
+
+	* test/glib/test-service-glib.c: 
+	* test/glib/test-service-glib.xml: 
+	* test/glib/test-dbus-glib.c: Add some tests for return values.
+
+2005-07-09  Colin Walters  <walters at verbum.org>
+
+	* glib/dbus-gparser.c (parse_annotation): Add annotations to
+	argument if available, not method.
+
+	* glib/dbus-gobject.c (arg_iterate): More verbose warnings.
+	(invoke_object_method): First, remove some redundant
+	GValues (object_value, error_value) in favor of working on
+	array directly.  Second, rework constness to be less buggy.
+	Now we iterate directly over the argument metadata instead
+	of parallel iterating over output signature and metadata.
+
+	* glib/dbus-glib-tool.h: Add INVALID_ANNOTATION error.
+
+	* glib/dbus-binding-tool-glib.c (generate_glue): Barf on const
+	annotation on input args.
+	
+2005-07-09  Colin Walters  <walters at verbum.org>
+
+	* glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_CONST):
+	Define.
+
+	* glib/dbus-binding-tool-glib.c (generate_glue): Handle Const
+	annotation.
+
+	* glib/dbus-gobject.c (arg_iterate): Update to parse constval too.
+	(method_dir_signature_from_object_info): Handle arg_iterate change.
+	(write_interface): Ditto.
+	(lookup_object_info): Don't barf if format_version is > 0.
+	(invoke_object_method): Handle arg constness.
+
+	* glib/dbus-gidl.c (struct ArgInfo): Add annotations.
+	(arg_info_new): Create.
+	(arg_info_unref): Destroy.
+	(arg_info_get_annotations, arg_info_get_annotation) 
+	(arg_info_add_annotation): New functions.
+
+	* glib/dbus-gidl.h: Prototype them.
+
+	* glib/dbus-gparser.c (parse_annotation): Allow annotations in
+	args, disallow them in properties.
+	(parse_annotation): Handle arg annotations.
+
+	* test/glib/test-service-glib.xml: 
+	* test/glib/test-service-glib.c: Update to make some methods
+	const.
+
+2005-07-08  Colin Walters  <walters at verbum.org>
+
+	* test/glib/test-service-glib.xml: 
+	* test/glib/test-service-glib.c:
+	* test/glib/test-dbus-glib.c: Test a{sv}.
+
+	* glib/examples/statemachine/statemachine.c:
+	* glib/examples/statemachine/statemachine-server.c:
+	* glib/examples/statemachine/statemachine-client.c: Fix some bugs,
+	add progress bar, etc.
+
+	* glib/dbus-gvalue.c (register_array, register_dict): Delete; not
+	needed anymore due to generic array/map marshalling.
+	(dbus_g_value_types_init): Don't register basic arrays or the
+	string/string hash.
+	(dbus_gtype_from_signature_iter): Don't try to recurse into
+	variants.
+	(dbus_gtype_to_signature): Check collection/map before type
+	metadata.
+	(demarshal_garray_basic): Renamed to demarshal_collection_array.
+	(demarshal_ghashtable): Renamed to demarshal_map; fix to use new
+	generic map creation/append functions instead of hash table
+	specifically.
+	(get_type_demarshaller): Handle maps.
+	(demarshal_collection): Dispatch on collection type to either
+	demarshal_collection_ptrarray or demarshal_collection_array.
+	(get_type_marshaller): Handle maps.
+	(marshal_collection): Dispatch collection type to either
+	marshal_collection_ptrarray or marshal_collection_array.
+	(_dbus_gvalue_test): New test.
+
+	* glib/dbus-gvalue-utils.c (unset_and_free_g_value): New function.
+	(hash_free_from_gtype): Use it to free GValues.
+	(hashtable_append): New function.
+	(ptrarray_append): Fix prototype.
+	(slist_append): Ditto.
+	(_dbus_gvalue_utils_test): Extend tests.
+
+	* glib/dbus-gtype-specialized.c
+	(dbus_g_type_specialized_init_append): Renamed from
+	dbus_g_type_specialized_collection_init_append.  Remove const from
+	value, since we steal it.
+	(dbus_g_type_specialized_map_append): New function.
+
+	* glib/dbus-gtype-specialized.h: Update prototypes.
+	Add DBusGTypeSpecializedMapAppendFunc.
+
+	* glib/dbus-gtest.c (dbus_glib_internal_do_not_use_run_tests): Run
+	_dbus_gvalue_test.
+	
+	* glib/dbus-gtest.h: Prototype it.
+
+2005-07-08  Ross Burton  <ross at openedhand.com>
+
+	* dbus/dbus-glib.h:
+	Add DBysGAsyncData for the async bindings.
+
+	* glib/dbus-binding-tool-glib.c:
+	Re-enable the async bindings.
+
+	* test/glib/test-dbus-glib.c:
+	Add a test for the generated async bindings.
+
+2005-07-08  Colin Walters  <walters at verbum.org>
+
+	* doc/TODO: Update GLib todo bits, also add a post-1.0 TODO for a
+	connection concept.
+	
+2005-07-08  Colin Walters  <walters at verbum.org>
+	
+	* tools/Makefile.am: Kill of print-introspect in favor of using
+	dbus-send --print-reply=literal.
+
+	* test/glib/test-service-glib.xml: 
+	* test/glib/test-service-glib.c (my_object_get_objs): New test
+	for "ao".
+
+	* test/glib/test-dbus-glib.c (echo_received_cb): Free echo data.
+	(main): Test GetObjs.
+
+	* glib/examples/statemachine/Makefile.am:
+	* glib/examples/statemachine/sm-marshal.list:
+	* glib/examples/statemachine/statemachine-client.c:
+	* glib/examples/statemachine/statemachine-server.c:
+	* glib/examples/statemachine/statemachine-server.xml:
+	* glib/examples/statemachine/statemachine.c:
+	* glib/examples/statemachine/statemachine.h:
+	* glib/examples/statemachine/statemachine.xml:
+
+	New example.
+
+	* glib/examples/example-service.c (main): Move invocation
+	of dbus_g_object_type_install_info earlier, to emphasize it
+	should only be done once.
+
+	* glib/examples/example-signal-emitter.c (main): Ditto.
+
+	* glib/examples/Makefile.am (SUBDIRS): Include statemachine.
+
+	* glib/dbus-gvalue.h (dbus_gtype_to_signature)
+	(dbus_gvalue_marshal): Update prototypes.
+
+	* glib/dbus-gvalue.c: Update all marshalling functions to take
+	const GValue instead of GValue.
+	(signature_iter_to_g_type_array): Return a GPtrArray for nonfixed
+	types.
+	(dbus_gvalue_to_signature): Update for dbus_gtype_to_signature
+	change.
+	(dbus_gtype_to_signature): Handle generic collecitons and maps.
+	Return a newly-allocated string.
+	(demarshal_proxy, demarshal_object_path, demarshal_object)
+	(demarshal_strv, demarshal_ghashtable): Set error, don't assert if
+	we get the wrong types from message.
+	(get_type_demarshaller): New function, extracted from
+	dbus_gvalue_demarshal.
+	(demarshal_collection): New function, demarshals generic
+	collection.
+	(dbus_gvalue_demarshal): Just invoke result of
+	get_type_demarshaller.  Throw error if we don't have one.
+	(marshal_garray_basic): Abort on OOM.
+	(get_type_marshaller): New function, extracted from
+	dbus_gvalue_marshal.
+	(collection_marshal_iterator, marshal_collection): New functions;
+	implements generic marshalling for an iteratable specialized
+	collection.
+	(dbus_gvalue_marshal): Just invoke result of get_type_marshaller.
+
+	* glib/dbus-gvalue-utils.c (gvalue_from_ptrarray_value): Handle
+	G_TYPE_STRING.
+	(ptrarray_value_from_gvalue): Ditto.
+	(ptrarray_append, ptrarray_free): New functions.
+	(slist_constructor, slist_iterator, slist_copy_elt, slist_copy) 
+	(slist_append, slist_end_append, slist_free): New functions.
+	(dbus_g_type_specialized_builtins_init): Add append fuctions
+	for GPtrArray and GSList.  Register GSList.
+	(test_specialized_hash, _dbus_gvalue_utils_test): New functions.
+
+	* glib/dbus-gtype-specialized.h (DBusGTypeSpecializedAppendContext):
+	New.
+	(dbus_g_type_specialized_collection_init_append)
+	(dbus_g_type_specialized_collection_append)
+	(dbus_g_type_specialized_collection_end_append): Prototype.
+	(DBusGTypeSpecializedCollectionVtable): Add append_func and
+	end_append_func.
+
+	* glib/dbus-gtype-specialized.c (dbus_g_type_specialized_collection_init_append) 
+	(dbus_g_type_specialized_collection_append) 
+	(dbus_g_type_specialized_collection_end_append): New functions.
+	(dbus_g_type_map_value_iterate): Take const GValue.
+	(dbus_g_type_collection_value_iterate): Ditto.
+
+	* glib/dbus-gtest.c (dbus_glib_internal_do_not_use_run_tests): Run
+	_dbus_gvalue_utils_test.
+	
+	* glib/dbus-gtest.h: Prototype it.
+
+	* glib/dbus-gproxy.c (dbus_g_proxy_manager_filter): Avoid
+	using uninitialized owner_list.
+	(dbus_g_proxy_begin_call_internal): Move return_if_fail to
+	public API.
+	(dbus_g_proxy_end_call_internal): Update to use error set
+	from dbus_gvalue_demarshal instead of setting it here.
+	(dbus_g_proxy_begin_call): Move return_if_fail here.
+
+	* glib/dbus-gobject.c (write_interface): Update for
+	dbus_gtype_to_signature returning new string.
+
+	* configure.in: Add glib/examples/statemachine.
+
+2005-07-08  Joe Shaw  <joeshaw at novell.com>
+
+	* configure.in: Add a configure option, --with-console-auth-dir
+	
+	* dbus/dbus-sysdeps-util.c (_dbus_user_at_console): Use the
+	new setting.  Patch from Kay Sievers.
+
+2005-07-06  Colin Walters  <walters at verbum.org>
+
+	* dbus/dbus-glib.h (DBusGPendingCall, DBusGPendingCallNotify)
+	(DBUS_TYPE_G_PENDING_CALL, dbus_g_pending_call_get_g_type)
+	(dbus_g_pending_call_ref, dbus_g_pending_call_unref): Delete.
+	(dbus_g_pending_call_set_notify, dbus_g_pending_call_cancel):
+	Delete in favor of dbus_g_proxy_begin_call and
+	dbus_g_proxy_cancel_call.
+	(DBusGProxyCall, DBusGProxyCallNotify): New.
+	(dbus_g_proxy_begin_call): Change prototype to take callback, user
+	data, and destroy function.  This replaces
+	dbus_g_pending_call_set_notify.
+	(dbus_g_proxy_cancel_call): Prototype.
+	(DBusGAsyncData): Delete, shouldn't be needed anymore.
+
+	* glib/dbus-gproxy.c (struct _DBusGProxy): Add call_id_counter and
+	pending_calls map.
+	(struct _DBusGProxyManager): Add bus_proxy member, which is an
+	internal proxy for calls to the bus. Remove
+	pending_nameowner_calls, now the internal proxy keeps track.
+	(dbus_g_proxy_manager_unref): Unref bus proxy, remove reference to
+	pending_nameowner_calls.
+	(got_name_owner_cb): Update prototype, and use
+	dbus_g_proxy_end_call.
+	(got_name_owner_cb): Remove reference to pending_nameowner_calls.
+	(dbus_g_proxy_manager_register): Delete directly libdbus code in
+	favor of using internal proxy.
+	(dbus_g_proxy_manager_unregister): Update to use
+	dbus_g_proxy_cancel_call for any pending GetNameOwner call.
+	(dbus_g_proxy_init): Initialize pending calls map.
+	(dbus_g_proxy_constructor): New.
+	(dbus_g_proxy_class_init): Add get/set property functions,
+	constructor, and add NAME, PATH, and INTERFACE properties.
+	(cancel_pending_call): New function.
+	(dbus_g_proxy_dispose): Iterate over any outstanding calls and
+	cancel them.
+	(dbus_g_proxy_set_property, dbus_g_proxy_get_property): New.
+	(GPendingNotifyClosure): New structure.
+	(d_pending_call_notify, d_pending_call_free): Moved here from
+	dbus-glib.c.
+	(DBUS_G_VALUE_ARRAY_COLLECT_ALL): Moved around to satisfy function
+	ordering.
+	(manager_begin_bus_call): New internal function for talking to
+	internal bus proxy.
+	(dbus_g_proxy_new): Construct object using GObjet properties.
+	(dbus_g_proxy_begin_call_internal): Update to take user data, etc.
+	Create closure of same, and insert call into map of pending calls.
+	(dbus_g_proxy_end_call_internal): Take call id instead of pending
+	call.  Look up pending call in current set.  Remove it when we've
+	completed.
+	(dbus_g_pending_call_end, dbus_g_proxy_end_call_internal): Delete.
+	(dbus_g_proxy_begin_call): Change API to take callback, user data,
+	and destroy function directly.
+	(dbus_g_proxy_end_call): Update to take DBusGProxyCall.
+	(dbus_g_proxy_call): Invoke with NULL callback.
+	(dbus_g_proxy_cancel_call): New function, replaces
+	dbus_g_pending_call_cancel.
+
+	* glib/dbus-gparser.c (validate_signature): Fix call to
+	dbus_set_g_error.
+
+	* glib/dbus-gobject.c (dbus_g_object_type_dbus_metadata_quark):
+	New quark for attaching metadata to GType.
+	(info_hash): Delete.
+	(lookup_object_info): Look up using quark.
+	(dbus_g_object_type_install_info): Check that a type is classed,
+	not that it's an object.  Also just install type data using quark
+	instead of using global hash.
+
+	* glib/dbus-glib.c (dbus_g_pending_call_ref) 
+	(dbus_g_pending_call_unref, dbus_pending_call_get_g_type)
+	(GPendingNotifyClosure): Delete.
+	(d_pending_call_notify, d_pending_call_free): Move to dbus-gproxy.c.
+	(dbus_g_pending_call_set_notify, dbus_g_pending_call_cancel): Delete.
+
+	* glib/dbus-binding-tool-glib.c (generate_client_glue): Disable async
+	client method generation until we can fix it...
+	
+	* tools/dbus-viewer.c (load_child_nodes): Use dbus_g_proxy_call.
+	(load_from_service_thread_func): Ditto.
+
+	* tools/dbus-names-model.c (struct NamesModel): Hold
+	DBusGProxyCall.
+	(have_names_notify): Update prototype, use
+	dbus_g_proxy_cancel_call.
+	(names_model_reload): Update for new dbus_g_proxy_begin_call API.
+
+	* tools/dbus-monitor.c (filter_func): Update for print_message
+	API change.
+
+	* test/glib/test-dbus-glib.c: Add more tests for async
+	invocations.  Update many begin_call/end_call pairs to just use
+	dbus_g_proxy_call.
+
+	* tools/dbus-send.c (main): Add --print-reply=literal mode.  This
+	allows us to dump print-introspect.c.
+
+	* tools/dbus-print-message.h (print_message): Add literal argument
+	to print_message which is intended to allow printing arguments without
+	metadata like "string=".
+
+	* tools/dbus-print-message.c (print_iter): Add literal argument.
+	(print_message): Allow printing string messages literally.
+
+2005-07-05  Colin Walters  <walters at verbum.org>
+
+	* glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller):
+	Remove value refcount leak, original patch from Jorn Baayen
+	<jorn at openedhand.com>.  Also remove useless extra value in favor
+	of prepending to value array directly.
+
+2005-07-02  Colin Walters  <walters at verbum.org>
+
+	* glib/dbus-gmain.c (_dbus_gmain_test): Fix test.
+
+2005-07-01  Colin Walters  <walters at verbum.org>
+
+	Patch from Jonathan Matthew <jonathan at kaolin.hn.org>
+	
+	* glib/dbus-gvalue.c (basic_typecode_to_gtype): Fix return type.
+	(dbus_g_value_types_init): Marshal G_TYPE_CHAR as DBUS_TYPE_BYTE,
+	G_TYPE_LONG as DBUS_TYPE_INT32, G_TYPE_ULONG as DBUS_TYPE_UINT32,
+	and G_TYPE_FLOAT as DBUS_TYPE_DOUBLE.
+
+2005-06-30  Colin Walters  <walters at verbum.org>
+
+	* test/glib/test-dbus-glib.c:
+	* test/glib/test-service-glib.c:
+	* test/glib/test-service-glib.xml: Update tests for new error
+	setting bits, also add async tests (patch from Ross Burton).
+
+	* test/glib/Makefile.am (test_service_glib_LDADD): Add
+	DBUS_GLIB_THREADS_LIBS.
+
+	* glib/dbus-gproxy.c (get_name_owner)
+	(dbus_g_pending_call_end_valist): Ditto.
+
+	* glib/dbus-gobject.c (error_metadata): New mapping from GError
+	domain (GQuark) to DBusGErrorInfo.  
+	(gerror_domaincode_to_dbus_error_name): Attempt to look up error
+	quark in error_metadata.  Take message interface as default
+	error message interface.
+	(gerror_to_dbus_error_message): Pass message interface.
+	(dbus_set_g_error): Resurrected.
+	(dbus_g_error_info_free): New function.
+	(dbus_g_object_type_install_info): Use g_type_class_ref instead
+	of _peek to actually create the object class if it hasn't been
+	created yet.
+	(dbus_g_error_domain_register): New function.
+
+	* glib/dbus-gmain.c (dbus_g_bus_get): Switch to dbus_set_g_error.
+
+	* glib/dbus-gparser.c (validate_signature): Ditto.
+
+	* dbus/dbus-glib.h (dbus_g_error_set): Delete.
+	(dbus_g_error_domain_register): Prototype.
+
+	* glib/dbus-glib.c (dbus_g_error_set): Delete.
+	Update tests.
+
+2005-06-29  Colin Walters  <walters at verbum.org>
+
+	* dbus/dbus-glib.h: Delete DBUS_TYPE_G_PROXY_ARRAY.  Add
+	DBUS_TYPE_G_OBJECT_PATH.
+
+	* glib/dbus-gvalue.c (dbus_g_value_types_init): Remove marshallers
+	for G_TYPE_OBJECT and DBUS_TYPE_G_PROXY_ARRAY (the latter should
+	be handled more generically).  Add DBUS_TYPE_G_OBJECT_PATH.
+	(dbus_g_object_path_get_g_type): New function.
+	(dbus_gtype_from_signature_iter): Map DBUS_TYPE_OBJECT_PATH
+	to DBUS_TYPE_G_OBJECT_PATH by default.
+	(demarshal_proxy): Remove unused name variable.
+	(demarshal_object_path, marshal_object_path): New functions.
+	(demarshal_proxy_array, marshal_proxy_array): Delete.
+	
+	* glib/dbus-binding-tool-glib.c (dbus_g_type_get_c_name): Map
+	DBUS_TYPE_G_OBJECT_PATH to char *.
+	(dbus_g_type_get_lookup_function): Map builtin
+	DBUS_TYPE_G_OBJECT_PATH.
+
+	* test/glib/test-dbus-glib.c
+	* test/glib/test-service-glib.c (my_object_objpath): 
+	Adapt tests to new object path marshalling.
+
+2005-06-29  John (J5) Palmieri  <johnp at redhat.com>
+
+	* configure.in: force check for Python >= 2.4
+
+2005-06-29  Colin Walters  <walters at verbum.org>
+	
+	Patch from Ross Burton <ross at openedhand.com>
+	
+	* glib/dbus-gobject.c (invoke_object_method): Unset object
+	value in all cases, not only in async case.
+
+2005-06-29  Colin Walters  <walters at verbum.org>
+
+	* glib/dbus-gproxy.c (struct _DBusGProxy): Add new member
+	name_call for keeping track of any outgoing GetNameOwner call.
+	Also add for_owner and associated.
+	(struct _DBusGProxyManager): Add owner_names, which is hash table
+	that maps a base name to a list of names it owns (that we're
+	interested in).  Add pending_nameowner_calls which is a list of
+	all outstanding GetNameOwner; avoids us having to iterate over
+	every proxy.  Add unassociated_proxies which keeps track of name
+	proxies with no associated name owner.
+	(dbus_g_proxy_manager_unref): Destroy owner_names.
+	(struct DBusGProxyNameOwnerInfo): New struct for keeping track of
+	name refcounts.
+	(find_name_in_info, name_owner_foreach)
+	(dbus_g_proxy_manager_lookup_name_owner, insert_nameinfo)
+	(dbus_g_proxy_manager_monitor_name_owner)
+	(dbus_g_proxy_manager_unmonitor_name_owner)
+	(unassociate_proxies, dbus_g_proxy_manager_replace_name_owner):
+	New functions; they manipulate the owner_names mapping.
+	(got_name_owner_cb): New function.
+	(get_name_owner): New function, extracted from
+	dbus_g_proxy_new_for_name_owner.
+	(dbus_g_proxy_manager_register): For now we need to keep track of
+	all NameOwnerChanged.  Also if the proxy is for a name, if we
+	don't already know the name owner, queue a new GetNameOwner
+	request and add it to our list of unassociated proxies.  Otherwise
+	inc the refcount.
+	(dbus_g_proxy_manager_unregister): If this proxy is for a name,
+	cancel any pending GetNameOwner call, etc.
+	(dbus_g_proxy_manager_filter): Handle NameOwnerChanged.  Also use
+	the owner_names mapping to look up the current names for the
+	signal source, and dispatch to any proxies for that name.
+	(dbus_g_proxy_new): Initialize new members.
+	(dbus_g_proxy_new_for_name): Delete unused proxy variable.
+	(dbus_g_proxy_new_for_name_owner): Use get_name_owner.
+	(dbus_g_pending_call_end_valist): New function, extracted from
+	dbus_g_proxy_end_call_internal.  Useful when we don't have a proxy
+	but want to use the GLib infrastructure.  Also note how many
+	arguments in reply were over.
+	(dbus_g_pending_call_end): New function, just call
+	dbus_g_pending_call_end_valist.
+	(dbus_g_proxy_end_call_internal): Just call
+	dbus_g_pending_call_end_valist.
+
+	* glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): Fix lookup
+	of builtin marshaller for STRING_STRING_STRING.
+
+	* test/glib/test-dbus-glib.c: 
+	* test/glib/test-service-glib.c:
+	* test/glib/test-service-glib.xml:
+	Extend tests to cover name proxies, destruction of owner proxies,
+	etc.
+	
+	* glib/examples/example-signal-recipient.c
+	(dbus_g_proxy_new_for_name_owner): Create a name proxy.
+	
+	* tools/dbus-send.c (main): Print D-BUS error name in addition
+	to message.
+
+2005-06-28  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/dbus_bindings.pyx.in (cunregister_function_handler,
+	cmessage_function_handler): Patch from 
+	Anthony Baxter <anthony at interlink.com.au> fixes threading problems
+	by using the Py_GILState_Ensure/Release to synchronize with the
+	python runtime.
+	
+2005-06-28  Ray Strode  <rstrode at redhat.com>
+
+	*  dbus/dbus-spawn.c (_dbus_babysitter_unref): kill
+	babysitter helper process on last unref, bug #2813.
+
+2005-06-27  Colin Walters  <walters at verbum.org>
+
+	* test/glib/test-dbus-glib.c: 
+	* test/glib/test-service-glib.c:
+	* test/glib/test-service-glib.xml:
+	Test hash table signal emitting.
+
+	* glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): Convert
+	types to their fundamental basis types, since this is what
+	marshallers operate on.  Also add an entry for VOID__BOXED.
+	(dbus_g_object_register_marshaller_array): Convert to fundamental.
+
+2005-06-26  Havoc Pennington  <hp at redhat.com>
+
+	* doc/dbus-tutorial.xml: fix names of interface/service/path, fix
+	from Don Park
+
+2005-06-26  Colin Walters  <walters at verbum.org>
+
+	* glib/dbus-glib.c (dbus_set_g_error): Delete.
+	(dbus_g_error_set): New public function from its ashes; used by
+	both service-side method implementation and GLib bindings
+	internals.
+	(dbus_g_error_has_name, dbus_g_error_get_name): New function.
+	(_dbus_glib_test): Add some tests.
+
+	* test/glib/test-dbus-glib.c (main): Test dbus_g_error_has_name.
+
+	* test/glib/test-service-glib.c (my_object_throw_error): Use
+	dbus_g_error_set.
+
+	* glib/dbus-gobject.c (gerror_to_dbus_error_message): Handle
+	errors thrown by dbus_g_error_set.
+
+	* glib/dbus-gmain.c (dbus_g_bus_get): Change to dbus_g_error_set.
+
+	* glib/dbus-gparser.c (validate_signature): Ditto.
+
+	* glib/dbus-gproxy.c (dbus_g_proxy_new_for_name_owner) 
+	(dbus_g_proxy_end_call_internal): Ditto.
+
+	* glib/Makefile.am: Generate dbus-glib-error-switch.h, which
+	converts DBUS_ERROR_x to DBUS_GERROR_x.
+	(libdbus_glib_1_la_SOURCES, BUILT_SOURCES, CLEANFILES): Add it.
+
+	* doc/TODO: Remove error TODO.
+
+	* doc/dbus-tutorial.xml: Update with documentation about error
+	handling.
+
+	* dbus/make-dbus-glib-error-enum.sh: Tighten up regexp to make
+	sure we only change DBUS_ERROR to DBUS_GERROR, not all ERROR to
+	GERROR.  Also add DBUS_GERROR_REMOTE_EXCEPTION.
+
+2005-06-22  Colin Walters  <walters at verbum.org>
+	
+	Patch from Ross Burton <ross at openedhand.com>
+
+	* glib/dbus-gobject.c (dbus_g_method_return): Free out_sig.
+
+2005-06-20  Colin Walters  <walters at verbum.org>
+
+	* configure.in: Add glib/examples.
+
+	* glib/Makefile.am: Add examples/
+
+	* glib/examples/.cvsignore
+	* glib/examples/Makefile.am
+	* glib/examples/example-client.c
+	* glib/examples/example-service.c
+	* glib/examples/example-service.xml
+	* glib/examples/example-signal-emitter.c
+	* glib/examples/example-signal-emitter.xml
+	* glib/examples/example-signal-recipient.c:
+	New files; GLib binding examples, ported from
+	python/examples.
+
+2005-06-20  Colin Walters  <walters at verbum.org>
+
+	* dbus/dbus-glib.h: 
+	* glib/dbus-gproxy.c: Rename dbus_g_proxy_invoke to
+	dbus_g_proxy_call.
+
+	* glib/dbus-binding-tool-glib.c: 
+	* doc/dbus-tutorial.xml: 
+	* test/glib/test-dbus-glib.c: Update for rename.
+	
+2005-06-20  Colin Walters  <walters at verbum.org>
+
+	Patch suggested by Ross Burton <ross at openedhand.com>
+
+	* glib/dbus-gobject.c (export_signals): Free signal name.
+	(g_value_init): Use G_VALUE_NOCOPY_CONTENTS to plug
+	memory leak.  Add a bit of documentation.
+	(dbus_g_method_return_error): Free context, and note we do
+	so.
+
+2005-06-18  Murray Cumming  <murrayc at murrayc.com>
+
+	* dbus/dbus-glib.h:
+	* glib/dbus-gobject.c:
+	* glib/dbus-gproxy.c:
+	* glib/dbus-gvalue.c: Predeclare structs as 
+	typedef struct _Something Something instead of 
+  	typedef struct Something Something, so we can 
+	redeclare the prototypes. Other GNOME libraries 
+	do this already.
+
+2005-06-17  Colin Walters  <walters at verbum.org>
+
+	* tools/dbus-names-model.c (have_names_notify): Fix call
+	to dbus_g_proxy_end_call.
+	
+2005-06-17  Colin Walters  <walters at verbum.org>
+
+	* glib/dbus-gproxy.c (dbus_g_proxy_emit_remote_signal): Don't
+	spew warnings if we get malformed remote signals.
+
+	* glib/dbus-gobject.c (propsig_iterate): New function.
+	(lookup_object_info): New function, extracted from
+	lookup_object_and_method.
+	(introspect_properties, introspect_signals): Delete; these
+	are merged into write_interface.
+	(write_interface): Write out signals and properties here;
+	dump the org.gtk.object stuff and use the interface given
+	in the introspection data blob.  Also fix up property XML.
+	(lookup_values): New function.
+	(introspect_interfaces): Gather a mapping from interface to a
+	list of its methods, signals, and properties, then write out
+	each interface.
+	(lookup_object_and_method): Use lookup_object_info.
+	(struct DBusGSignalClosure): Add interface.
+	(dbus_g_signal_closure_new): Add interface. Don't dup signame;
+	we can just use the constant data.
+	(dbus_g_signal_closure_finalize): Don't free signal name.
+	(signal_emitter_marshaller): Use interface from signal closure.
+	(export_signals): Only export signals mentioned in introspection
+	blob.
+	(dbus_g_connection_register_g_object): Warn if we have no
+	introspection data for an object.
+	(funcsig_equal): Remove unused variable.
+	(dbus_g_object_register_marshaller): Take varargs instead of
+	list.
+	(dbus_g_object_register_marshaller_array): New function,
+	extracted from old dbus_g_object_register_marshaller.
+
+	* glib/dbus-binding-tool-glib.c (struct DBusBindingToolCData): Add
+	signals and property data.
+	(write_quoted_string): New function, extracted from generate_glue.
+	(generate_glue): Write signals and properties to introspection
+	blob.
+
+	* dbus/dbus-glib.h (struct DBusGObjectInfo): Include
+	exported_signals and exported_properties.
+	(dbus_g_object_register_marshaller): Update prototype.
+	(dbus_g_object_register_marshaller_array): Prototype.
+	
+	* test/glib/test-dbus-glib.c: Extend testing to cover new signals.
+
+	* test/glib/test-service-glib.c: Add new test signals and method
+	to emit them.
+
+	* test/glib/test-service-glib.xml: Add some test signals.
+
+	* test/glib/Makefile.am (BUILT_SOURCES): Add my-object-marshal.c
+	and my-object-marshal.h
+	(test_service_glib_SOURCES, test_dbus_glib_SOURCES): Add
+	my-object-marshal.c.
+	(my-object-marshal.c, my-object-marshal.h): Implement.
+
+	* test/glib/.cvsignore: Update.
+
+	* doc/TODO: Remove two GLib TODO items fixed by this
+	patch.
+
+2005-06-16  Colin Walters  <walters at verbum.org>
+
+	* doc/TODO: Update for GLib bindings.
+	
+2005-06-16  Colin Walters  <walters at verbum.org>
+
+	* glib/dbus-binding-tool-glib.c:
+	* glib/dbus-gobject.c:
+	* glib/dbus-gproxy.c:  Add Nokia copyright; Patch
+	from Ross Burton, for his GLib bindings work.
+
+2005-06-16  Colin Walters  <walters at verbum.org>
+
+	* glib/dbus-gobject.c (funcsig_hash, funcsig_equal): Use n_params
+	to iterate instead of walking to G_TYPE_INVALID.
+
+	Patch based on a patch from Ryan Gammon.
+
+2005-06-16  Colin Walters  <walters at verbum.org>
+
+	* bus/bus.c (bus_context_new): Set parser to NULL
+	after we unref it (Patch from Chris Boscolo, #2174).
+	
+2005-06-16  Colin Walters  <walters at verbum.org>
+
+	* python/dbus_bindings.pyx.in: Import size_t,
+	__int64_t, __uint64_t, and __signed.
+
+	* dbus/dbus-sysdeps.c <HAVE_CMSGCRED> (write_credentials_byte):
+	Define cmsg struct, output it.
+	(_dbus_read_credentials_unix_socket):
+	Use cmsg struct.
+	
+	Patch from Joe Markus Clarke for FreeBSD support.
+	
+2005-06-16  Colin Walters  <walters at verbum.org>
+
+	* tools/dbus-send.c (append_array): Use strtok.
+	(append_dict): New function.
+	(type_from_name): New function, extracted from main.
+	(main): Handle sending dicts.
+
+	* tools/dbus-print-message.c (print_iter): Print dict
+	entries.
+	
+2005-06-16  Colin Walters  <walters at verbum.org>
+
+	* glib/dbus-gvalue.c (marshal_basic): Marshal NULL string
+	values as the empty string (#2948).
+	
+2005-06-16  Colin Walters  <walters at verbum.org>
+
+	* dbus/Makefile.am:
+	* mono/doc/Makefile.am:
+	* test/glib/Makefile.am:
+
+	Fix srcdir != builddir issues (Patch from Chris Wilson, #3477)
+
+2005-06-16  Colin Walters  <walters at verbum.org>
+
+	* dbus/dbus-marshal-header.c (_dbus_header_load): Set
+	header byte order from expected byte order (Patch from Chris Wilson, #3475).
+
+	* dbus/dbus-marshal-byteswap.c (byteswap_body_helper): 
+	Increment pointer after swapping fixed array.  Add assertion
+	for array length.
+		
+2005-06-15  Colin Walters  <walters at verbum.org>
+
+	* dbus/dbus-sysdeps.c <HAVE_CMSGCRED> (_dbus_read_credentials_unix_socket):
+	Fix call to dbus_set_error.  (Patch from Michael Banck, #3461)
+	
+2005-06-15  John (J5) Palmieri  <johnp at redhat.com>
+
+	* NEWS: Update to 0.34
+
+2005-06-15  David Zeuthen  <davidz at redhat.com>
+
+	* configure.in (LT_CURRENT): Revert back to 1 as the library
+	hasn't changed and we've certainly not committed to protocol
+	stability yet.  All this does is to break ABI. See commit note
+	from hp at redhat.com 2005-05-05 for details.
+	
+2005-06-15  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-connection.c (_dbus_connection_peer_filter): New method 
+	(_dbus_connection_run_builtin_filters): New method
+	(dbus_connection_dispatch): Run the builtin filters which in turn
+	runs the peer filter which handles Ping messages.
+
+	* doc/TODO: 
+	 - Ping isn't handled: This patch fixes it
+	 
+	 - Add a test case for the Ping message: added TODO item
+
+2005-06-15  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-message.c:
+	(dbus_message_has_path): New method
+	(dbus_message_has_interface): New method
+	(dbus_message_has_member): New method
+
+	* dbus/dbus/dbus-sysdeps.c (_dbus_check_dir_is_private_to_user):
+	New method
+
+	* dbus/dbus-keyring.c (_dbus_keyring_reload): Check to see that 
+	the keyring directory is private to the user
+
+	* doc/TODO:
+	 - The convenience functions in dbus-bus.h should perhaps have
+	 the signatures that they would have if they were autogenerated
+	 stubs. e.g. the acquire service function. We should also evaluate
+	 which of these functions to include, in light of the fact that
+	 GLib/Qt native stubs will probably also exist.: Punted
+
+	 - add dbus_message_has_path(), maybe has_member/interface:
+	 fixed in this patch
+
+	 - in dbus-keyring.c, enforce that the keyring dir is not
+	 world readable/writable: Fixed in this patch
+
+2005-06-15  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-marshal-validate.h: Added a new validation
+	error code DBUS_VALIDITY_UNKNOWN_OOM_ERROR = -4 for 
+	out of memory errors when validating signitures
+
+	* dbus/dbus-marshal-header.c: use DBUS_VALIDITY_UNKNOWN_OOM_ERROR
+	in places where we previously used DBUS_VALID and a FALSE return 
+	value to indicate OOM
+	
+	* dbus/dbus-marshal-validate.c (_dbus_validate_signature_with_reason):
+	Use a stack to track the number of elements inside containers.  The 
+	stack values are then used to validate that dict entries have only two
+	elements within them.
+	(validate_body_helper): check the reason for failure when validating
+	varients
+	
+	* dbus/dbus-message.c (load_message): use 
+	DBUS_VALIDITY_UNKNOWN_OOM_ERROR in places where we previously used 
+	DBUS_VALID and a FALSE return value to indicate OOM
+
+	* doc/TODO: remove "- validate dict entry number of fields" as this
+	patch fixes it
+
+2005-06-14  David Zeuthen  <davidz at redhat.com>
+
+	* bus/bus.c (process_config_every_time): Drop existing conf-dir
+	watches (if applicable) and add new watches
+
+	* bus/main.c (signal_handler): Handle SIGIO if using D_NOTIFY
+	(main): Setup SIGIO signal handler if using D_NOTIFY
+
+	* bus/config-parser.h: Add prototype bus_config_parser_get_conf_dirs
+
+	* bus/config-parser.c (struct BusConfigParser): Add conf_dirs list
+	(merge_included): Also merge conf_dirs list
+	(bus_config_parser_unref): Clear conf_dirs list
+	(include_dir): Add directory to conf_dirs list
+	(bus_config_parser_get_conf_dirs): New function
+
+	* bus/dir-watch.[ch]: New files
+
+	* bus/Makefile.am (BUS_SOURCES): Add dir-watch.[ch]
+
+	* configure.in: Add checks for D_NOTIFY on Linux
+
+2005-06-14  Colin Walters  <walters at verbum.org>
+
+	* glib/dbus-binding-tool-glib.c:
+	* glib/dbus-gobject.c:
+	* glib/dbus-gvalue.c: Fix indentation and brace style.
+	
+2005-06-14  Ross Burton <ross at openedhand.com>.
+
+	* glib/dbus-glib.h: Make DBusGMethodInvocation
+	a private structure.  Rearrange prototypes a bit.
+	
+	* glib/dbus-gproxy.c (dbus_g_proxy_invoke): Add
+	documentation for first_arg_type.
+	
+	* glib/dbus-gobject.c: Move DBusGMethodInvocation
+	here, add documentation.  Move dbus_g_method_return
+	and dbus_g_method_return_error into public API
+	section.
+
+2005-06-14  Colin Walters  <walters at verbum.org>
+
+	* glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller):
+	Add missing return statements, noticed by Ross Burton.
+	
+2005-06-13  Ross Burton <ross at openedhand.com>.
+
+	* glib/dbus-gobject.c: Handle errors on message
+	demarshalling by sending error message back.
+	* glib/dbus-gvalue.c: Initialize return variables.
+
+2005-06-13  Colin Walters  <walters at verbum.org>
+
+	* glib/Makefile.am: Fix thinko in last patch.
+
+2005-06-13  Colin Walters  <walters at verbum.org>
+
+	* glib/Makefile.am: Move dbus-gtype-specialized.c
+	and dbus-gtype-specialized.h into a _HEADERS variable,
+	install them.
+
+2005-06-12  Colin Walters  <walters at verbum.org>
+
+	Async signals and various bugfixes and testing by
+	Ross Burton <ross at openedhand.com>.
+
+	* glib/dbus-gvalue.h: (struct DBusBasicGValue): Delete.
+	(dbus_gvalue_genmarshal_name_from_type)
+	(dbus_gvalue_ctype_from_type): Moved to dbus-binding-tool-glib.c.
+	(dbus_gtype_to_dbus_type): Renamed to dbus_gtype_from_signature.
+	(dbus_g_value_types_init, dbus_gtype_from_signature)
+	(dbus_gtype_from_signature_iter, dbus_gtype_to_signature)
+	(dbus_gtypes_from_arg_signature): New function prototypes.
+	(dbus_gvalue_demarshal): Take context and error arguments.
+	(dbus_gvalue_demarshal_variant): New function.
+	(dbus_gvalue_demarshal_message): New function.
+	(dbus_gvalue_store): Delete.
+
+	* glib/dbus-gvalue.c:
+
+	File has been almost entirely rewritten; now we special-case
+	more types such as DBUS_TYPE_SIGNATURE, handle arrays and
+	hash tables correctly, etc.  Full support for recursive values
+	is not yet complete.
+
+	* glib/dbus-gproxy.c (dbus_g_proxy_class_init): Change last
+	argument of signal to G_TYPE_POINTER since we now pass a
+	structure.
+	(lookup_g_marshaller): Delete in favor of
+	_dbus_gobject_lookup_marshaller.
+	(marshal_dbus_message_to_g_marshaller): Use
+	_dbus_gobject_lookup_marshaller and dbus_gvalue_demarshal_message
+	to handle remote signal callbacks.
+	(dbus_g_proxy_new_from_proxy): New function; creates a new
+	DBusGProxy by copying an existing one.
+	(dbus_g_proxy_get_interface, dbus_g_proxy_set_interface)
+	(dbus_g_proxy_get_path): New functions.
+	(dbus_g_proxy_marshal_args_to_message): New function;
+	factored out of existing code.
+	(DBUS_G_VALUE_ARRAY_COLLECT_ALL): Collect all arguments
+	from a varargs array.
+	(dbus_g_proxy_begin_call_internal): New function.
+	(dbus_g_proxy_end_call_internal): New function.
+	(dbus_g_proxy_begin_call): Take GTypes instead of DBus types
+	as arguments; simply invoke dbus_g_proxy_begin_call_internal
+	after collecting args into value array.
+	(dbus_g_proxy_end_call): Take GTypes instead of DBus types;
+	invoke dbus_g_proxy_end_call_internal.
+	(dbus_g_proxy_invoke): Simply invoke begin_call_interanl and
+	end_call_internal.
+	(dbus_g_proxy_call_no_reply): Take GTypes instead of DBus
+	types.
+	(array_free_all): New function.
+	(dbus_g_proxy_add_signal): Take GTypes.
+
+	* glib/dbus-gobject.h:
+	(_dbus_glib_marshal_dbus_message_to_gvalue_array): Delete.
+	(_dbus_gobject_get_path, _dbus_gobject_lookup_marshaller):
+	Prototype.
+
+	* glib/dbus-gobject.c: Add a global marshal_table hash which
+	stores mappings from type signatures to marshallers.  Change lots
+	of invocations of dbus_gtype_to_dbus_type to
+	dbus_gtype_to_signature.
+	(_dbus_glib_marshal_dbus_message_to_gvalue_array): Delete.
+	(introspect_signals): Fix test for query.return_type.
+	(set_object_property): Update invocation of dbus_gvalue_demarshal.
+	(invoke_object_method): Many changes.  Handle asynchronous
+	invocations.  Convert arguments with
+	dbus_gvalue_demarshal_message.  Handle errors.  Use
+	DBusSignatureIter instead of strlen on args. Handle all arguments
+	generically.  Special-case variants.
+	(dbus_g_method_return, dbus_g_method_return_error): New function.
+	(DBusGSignalClosure): New structure, closes over signal
+	information.
+	(dbus_g_signal_closure_new): New function.
+	(dbus_g_signal_closure_finalize): New function.
+	(signal_emitter_marshaller): New function; is special marshaller
+	which emits signals on bus.
+	(export_signals): New function; introspects object signals and
+	connects to them.
+	(dbus_g_object_type_install_info): Take GType instead of
+	GObjectClass.
+	(dbus_g_connection_register_g_object): Invoke export_signals.
+	(dbus_g_connection_lookup_g_object): New function.
+	(DBusGFuncSignature) New structure; used for mapping type
+	signatures to marshallers.
+	(funcsig_hash): New function; hashes DBusGFuncSignature.
+	(funcsig_equal): New function; compares DBusGFuncSignature.
+	(_dbus_gobject_lookup_marshaller): New function.
+	(dbus_g_object_register_marshaller): New function; used to
+	register a marshaller at runtime for a particular signature.
+
+	* glib/dbus-gmain.c (_dbus_gmain_test): Add various tests.
+
+	* glib/dbus-binding-tool-glib.h: Add DBUS_GLIB_ANNOTATION_ASYNC
+	which notes a server method implementation should be
+	asynchronous.
+
+	* glib/dbus-binding-tool-glib.c
+	(dbus_binding_tool_output_glib_server): Call
+	dbus_g_value_types_init.
+	(write_formal_parameters): Use dbus_gtype_from_signature.  Handle
+	variants specially.
+	(dbus_g_type_get_lookup_function): Turn GType into an invocation
+	of a lookup function.
+	(write_args_for_direction): Use dbus_g_type_get_lookup_function.
+	(write_untyped_out_args): New method; write output arguments.
+	(write_formal_declarations_for_direction): Function for
+	writing prototypes.
+	(write_formal_parameters_for_direction): Function for
+	writing implementations.
+	(write_typed_args_for_direction): Function for writing
+	arguments prefixed with GTypes.
+	(write_async_method_client): Write out async version
+	of method.
+
+	* glib/dbus-binding-tool-glib.c: Include dbus-gvalue-utils.h.
+	(dbus_g_type_get_marshal_name): Move mapping from GType
+	to marshal name into here.
+	(dbus_g_type_get_c_name): Move into here.
+	(compute_marshaller): Convert signature to type with
+	dbus_gtype_from_signature, use dbus_g_type_get_marshal_name.
+	(compute_marshaller_name): Ditto.
+	(compute_marshaller): Handle async signal annotations.
+	(gather_marshallers): Return if we don't have a known
+	prefix.
+	(generate_glue): Collect introspection blob here, and
+	write all of the blob at the end.  This allows an object
+	with multiple interfaces to work.
+	Mark async methods in introspection blob.
+
+	* glib/Makefile.am (libdbus_glib_1_la_SOURCES): Add
+	dbus-gtype-specialized.c, dbus-gtype-specialized.h,
+	dbus-gvalue-utils.h, dbus-gvalue-utils.c.
+
+	* dbus/dbus-glib.h: Don't include dbus-protocol.h; this
+	avoids people accidentally using DBUS_TYPE_* which should
+	not be necessary anymore.
+	Do include dbus-gtype-specialized.h, which are utilities
+	for GLib container types.
+	Add various #defines for types such as
+	DBUS_TYPE_G_BOOLEAN_ARRAY.
+	(DBusGValueIterator, DBusGValue): Define, not fully used
+	yet.
+	(dbus_g_value_get_g_type): Type for recursive value.
+	(dbus_g_value_open, dbus_g_value_iterator_get_value)
+	(dbus_g_value_iterator_get_values, dbus_g_value_iterator_recurse)
+	(dbus_g_value_free): Prototypes.
+	(dbus_g_object_register_marshaller, dbus_g_proxy_new_from_proxy): Prototype.
+	(dbus_g_proxy_set_interface): Prototype.
+	(dbus_g_proxy_begin_call, dbus_g_proxy_end_call)
+	(dbus_g_proxy_call_no_reply): Take GLib types instead of DBus
+	types.
+	(dbus_g_proxy_get_path, dbus_g_proxy_get_interface):
+	Accessors.
+	(DBusGAsyncData, DBusGMethodInvocation): Structures for
+	doing async invocations.
+	(dbus_g_method_return, dbus_g_method_return_error):
+	Prototypes.
+	* doc/dbus-tutorial.xml: Update GLib section.
+	
+	* tools/dbus-viewer.c (load_child_nodes): Update
+	for new invocation type of dbus_g_proxy_end_call.
+	(load_from_service_thread_func): Ditto.
+
+	* tools/print-introspect.c (main): Ditto.
+
+	* tools/dbus-names-model.c (have_names_notify)
+	(names_model_reload, names_model_set_connection)
+	Use GTypes.
+
+	* python/Makefile.am (INCLUDES): Define DBUS_COMPILATION,
+	needed since Python bindings use GLib bindings.
+
+	* test/glib/Makefile.am (INCLUDES): Define DBUS_COMPILATION.
+	Add --prefix argument.
+
+	* tools/Makefile.am: Define DBUS_COMPILATION.  Remove
+	unneeded --ignore-unsupported arg.
+	
+	* test/glib/test-service-glib.c: 
+	* test/glib/test-service-glib.xml:
+	* test/glib/test-dbus-glib.c: Add many more tests.
+
+2005-06-06  David Zeuthen  <davidz at redhat.com>
+
+	* doc/TODO: Add item about need to remove deprecated functions.
+
+	* dbus/dbus-connection.h: Add prototype for dbus_connection_disconnect
+
+	* dbus/dbus-connection.c (dbus_connection_disconnect): New function
+	to repair the ABI which was broken with the last commit.
+
+2005-06-02  John (J5) Palmieri <johnp at redhat.com>
+
+	*  dbus/dbus-connection.c, dbus/dbus-connection.h 
+	(dbus_connection_disconnect): renamed to dbus_connection_close 
+	for API symmetry with dbus_connection_open
+	(_dbus_connection_open_internal): 
+	s/dbus_connection_disconnect/dbus_connection_close
+
+	* dbus/dbus-bus.c (dbus_bus_get):
+	s/dbus_connection_disconnect/dbus_connection_close
+
+	* bus/connection.c (bus_connections_unref, 
+	bus_connections_setup_connection, bus_connections_expire_incomplete):
+	s/dbus_connection_disconnect/dbus_connection_close
+
+	* bus/dispatch.c (bus_dispatch, kill_client_connection, 
+	kill_client_connection_unchecked, check_hello_connection):
+	s/dbus_connection_disconnect/dbus_connection_close
+
+	* bus/bus.c (new_connection_callback):
+	s/dbus_connection_disconnect/dbus_connection_close
+
+	* tools/dbus-send.c (main):
+	s/dbus_connection_disconnect/dbus_connection_close
+
+	* test/glib/test-profile.c (no_bus_thread_func, with_bus_thread_func):
+	s/dbus_connection_disconnect/dbus_connection_close
+	
+	* test/test-service.c (path_message_func, filter_func):
+	s/dbus_connection_disconnect/dbus_connection_close
+	
+	* doc/TODO: remove connection_open/connection_disconnect lacks symmetry 	item that was just fixed
+	
+2005-05-25  Colin Walters  <walters at verbum.org>
+
+	* dbus/dbus-protocol.h: Move various bus service #defines such
+	  as DBUS_SERVICE_DBUS and DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT to
+	  dbus/dbus-shared.h.
+	* dbus/dbus-shared.h: Various defines moved here.
+	* dbus/dbus-marshal-header.c: Include dbus-shared.h.
+
+2005-05-25  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/__init__.py: Python bindings deserve a minor version
+	update.  Upped to (0, 40, 2)
+
+2005-05-24  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/decorators.py: add explicitly_pass_message decorator
+	for passing in the dbus message as keyword for edge case signal
+	handling
+
+	* python/matchrules.py (SignalMatchRule.__repr__): fix output
+	to conform with what dbus expects for match rules
+	(SignalMatchRule.execute): add the dbus message as a keyword
+	if the signal handler has requested it
+
+	* python/examples/example/signal-recipient.py: added some more
+	examples on how to hook up to signals
+
+2005-05-23  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/decorators.py: import dbus_bindings
+
+	* python/matchrules.py (SignalMatchRule, SignalMatchTree, 
+	SignalMatchNode): new classes that implement wildcard signal
+	callback matching using a tree lookup. Heavily modified from a
+	patch sent by Celso Pinto (fd.o bug #3241)
+
+	* _dbus.py (add_signal_receiver, remove_signal_receiver, _signal_func):
+	use new match classes to handle signals.
+
+2005-05-19  John (J5) Palmieri  <johnp at redhat.com>
+	
+	* python/dbus_bindings.pyx.in: s/TYPE_PATH/TYPE_OBJECT_PATH
+
+2005-05-18  Havoc Pennington  <hp at redhat.com>
+
+	* configure.in: use GLIB_GNU_GETTEXT to get INTLLIBS and require
+	gettext. Not really worth requiring yet perhaps, but any
+	production quality 1.0 would require it so we should go ahead and
+	get things set up. We do have a couple token calls to
+	bindtextdomain in the code already.
+
+2005-05-16  John (J5) Palmieri  <johnp at redhat.com>
+
+	* glib/dbus-gmain.c (io_handler_dispatch): fix deadlock
+	when using recursive g_main_loops
+
+	* python/_dbus.py (class Bus): add the ProxyObjectClass
+	alias for ProxyObject to make it easier for the Twisted 
+	networking framework to integrate dbus.
+
+	* python/proxies.py (class ProxyObject): add the ProxyMethodClass
+	alias for ProxyMethod to make it easier for the Twisted 
+	networking framework to integrate dbus. 
+
+2005-05-11  Ross Burton  <ross at openedhand.com>
+
+	* glib/dbus-glib-tool.c: Add --prefix argument.
+	* glib/dbus-binding-tool-glib.h: Add prefix argument.
+	* glib/dbus-binding-tool-glib.c (compute_marshaller_name):
+	Add prefix argument.
+	(generate_glue): Pass prefix argument down.
+	(dbus_binding_tool_output_glib_server): Pass prefix to
+	glib-genmarshal.
+	
+2005-05-11  Colin Walters  <walters at verbum.org>
+
+	* tools/dbus-send.c (append_array): New function.
+	(append_arg): Broken out from main.
+	(main): Add cheesy hack to send arrays and variants.
+	(usage): Update.
+	* tools/dbus-print-message.c (print_iter): Broken out
+	from main.
+
+2005-05-11  Colin Walters  <walters at verbum.org>
+
+	* dbus/dbus-signature.c (dbus_signature_iter_get_signature):
+	New function, returns signature string for signature iter.
+	* dbus/dbus-signature.h: Prototype it.
+	* dbus/dbus-message.c (dbus_message_iter_get_signature):
+	New function, returns signature string for message iter.
+	(dbus_message_iter_get_array_len): New function, returns
+	length of array.
+	(dbus_message_iter_get_fixed_array): Fix assertion; this
+	function should be used when the iter is pointing to the
+	contents of an array
+	* dbus/dbus-message.h: Prototypes.
+	* dbus/dbus-marshal-recursive.c (_dbus_type_reader_get_array_length):
+	New function; returns length of an array.
+	* dbus/dbus-marshal-recursive.h: Prototype it.
+	
+2005-05-11  Colin Walters  <walters at verbum.org>
+
+	* dbus/dbus-sysdeps-util.c <!HAVE_POSIX_GETPWNAM_R>: Fix
+	compilation error.
+	
+2005-05-08  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-sysdeps-util.c (_dbus_become_daemon): write the
+	daemon's pid, not the parent's pid, to the file descriptor.
+	Reported by Taj Morton.
+
+2005-05-05  Havoc Pennington  <hp at redhat.com>
+
+	* configure.in (LT_*): add notes on how the libtool versioning
+	works to save thinking. Increment soname to indicate protocol
+	breakage (though really the library interface hasn't changed I
+	guess)
+
+	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
+	verify the GUID received from server matches what we were
+	expecting, if we had an expectation
+
+	* dbus/dbus-auth.c (send_ok): send GUID along with the OK command
+	(_dbus_auth_get_guid_from_server): new function
+	(send_begin): parse the OK args
+
+	* doc/dbus-specification.xml: add GUID to the auth protocol
+
+2005-05-05  John (J5) Palmieri  <johnp at redhat.com>
+
+	* Fix my name in previous changelog ;)
+
+	* python/proxies.py (ProxyObject.__getattr__): add further patch
+	from Anthony Baxter to throw an AttributeError when python 
+	__special__ functions are called instead of marshling them over 
+	the bus (Bug#1685 comment 3).
+
+2005-05-04  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/Makefile.am: changed to use pyexecdir for the binding
+	shared libraries (Bug#2494)
+
+	* python/exceptions.py: bring exceptions over from the bindings
+	so they can be used in applications (Bug#2036)
+	Make all exceptions derive from DBusException
+
+	* python/_dbus.py, python/proxies.py: implement __repr__ in a couple
+	of classes so that print obj doesn't throw an exception (Bug #1685)
+
+2005-05-03  Ross Burton  <ross at openedhand.com>
+
+	* glib/dbus-gobject.c (dbus_g_connection_register_g_object):
+	Return if we get an error during registration.  Set up a
+	weak reference on object to unregister if object is destroyed.
+	(unregister_gobject): New function.
+	
+2005-05-01  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/dbus_bindings.pyx.in: 
+	- added new type classes for hinting to the marashaler what type 
+	to send over the wire
+	- added int16 and uint16 marshalers
+	- Fixed a bug in the type constants that caused int32 to go out
+	as uint16 over the wire
+	* python/dbus.py: split up into different files and renamed _dbus.py
+	* python/__init__.py, python/_util.py, python/decorators.py, 
+	python/exceptions.py, python/proxies.py, python/services.py,
+	python/types.py: new files split off from dbus.py
+	* python/Makefile.am: Add new files, remove dbus.py and 
+	install all python files to <python module dir>/dbus
+	* python/examples/*: Added #!/usr/bin/env python to the top of
+	every example.  Patch provided by Tatavarty Kalyan
+
+2005-04-25  John (J5) Palmieri  <johnp at redhat.com>
+
+	* NEWS: Update to 0.33
+
+2005-04-25  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/dbus_bindings.pyx.in (send_with_reply_handlers): New send
+	method for doing async calls
+	(_pending_call_notification): New C function for handling pendning call
+	callbacks
+	(set_notify): New method for setting pending call notification
+	
+	* python/dbus.py: new version tuple "version" is set at (0, 40, 0)
+	Async capabilities added to remote method calls
+	(Sender): class removed
+	(RemoteService): class removed
+	(ObjectTree): class removed for now
+	(RemoteObject): Renamed to ProxyObject
+	(RemoteMethod): Renamed to ProxyMethod
+	(method): Decorator added for decorating python methods as dbus methods
+	(signal): Decorator added for decorating python methods as signal emitters
+	(ObjectType): Metaclass added for generating introspection data and the
+	method callback vtable
+	(Interface): Wrapper class added to wrap objects in a dbus interface
+	(Object): Uses ObjectType as its metaclass and exports Introspect
+	of the org.freedesktop.DBus.Introspectable interface
+	(ValidationException, UnknownMethodException): new exceptions
+
+	* python/examples/*: Modified to fit with the new bindings
+
+2005-04-23  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-message.c (dbus_message_append_args): fix doc comment,
+	reported by Tony Houghton
+
+	* test/test-service.c (main): test
+	dbus_connection_get_object_path_data()
+
+	* dbus/dbus-object-tree.c (find_handler): be sure we always init
+	the exact_match
+	(_dbus_object_tree_get_user_data_unlocked): new function used by
+	dbus_connection_get_object_path_data()
+	(do_register): add assertion test for get_user_data_unlocked
+	(object_tree_test_iteration): more tests
+
+	* dbus/dbus-connection.c (dbus_connection_get_object_path_data):
+	new function from Dan Reed to let you get the user data from 
+	dbus_connection_register_object_path()
+
+2005-04-23  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-marshal-recursive-util.c: Fixed buffer overflow
+	in numerous places that did not account for the NULL terminator
+	(signature_from_seed): changed the manual string copy loop to 
+	just use strcpy instead
+	make check should now pass
+
+2005-04-19  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-marshal-header.c (_dbus_header_create): Fix assert
+	so that it allows messages that are not signals to pass in 
+	NULL as the interface.
+
+2005-04-18  David Zeuthen  <davidz at redhat.com>
+
+	* glib/dbus-gmain.c (io_handler_destroy_source): 
+	(timeout_handler_destroy_source, connection_setup_free): 
+	Also unref the source to avoid memory leaks.
+
+2005-04-13  David Zeuthen  <davidz at redhat.com>
+
+	* bus/config-parser.c (bus_config_parser_new): Bump this to a
+	more reasonable, yet still totally arbitrary, value :-). 
+
+2005-04-13  David Zeuthen  <davidz at redhat.com>
+
+	* doc/TODO: Added an "important for 1.0" item about selinux
+	allow/deny messages
+
+2005-04-13  David Zeuthen  <davidz at redhat.com>
+
+	* bus/selinux.c: Add c-file-style to top of file
+	(log_audit_callback): Don't free the data here anymore
+	(bus_selinux_check): Don't take spid and tpid since appending
+	that to auxdata may OOM.
+	(bus_selinux_allows_acquire_service): Handle OOM and signal back
+	to the caller if we are OOM by taking an error object.
+	(bus_selinux_allows_send): -do-
+
+	* bus/selinux.h: Fix prototypes for bus_selinux_allows_acquire_service
+	and bus_selinux_allows_send
+
+	* bus/bus.c (bus_context_check_security_policy): Pass error and
+	pass on OOM thrown by bus_selinux_allows_send()
+
+	* bus/services.c (bus_registry_acquire_service): Pass error and
+	pass on OOM thrown by bus_selinux_allows_acquire_service()
+
+2005-04-13  Havoc Pennington  <hp at redhat.com>
+
+	* glib/dbus-gmain.c (message_queue_dispatch): only dispatch one
+	message at a time to avoid monopolizing the main loop, bug 
+	#2953 from Benjamin Otte
+
+2005-04-09  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-string.c (copy): change a memcpy to memmove due to
+	possible overlap, fix from Daniel Reed
+	(fixup_alignment): fix signedness warnings
+	(_dbus_string_append_unichar): ditto
+
+2005-04-09  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-message-util.c (_dbus_message_test): fix signedness warning
+
+	* glib/dbus-glib-tool.c (main): fix warning
+
+	* glib/dbus-binding-tool-glib.c (generate_glue): fix warning
+
+	* dbus/dbus-connection.c (dbus_connection_read_write_dispatch):
+	add a new function that can be used in simple applications that
+	don't have a main loop and are willing to block
+
+2005-04-05  David Zeuthen  <davidz at redhat.com>
+
+	Fix https://bugs.freedesktop.org/show_bug.cgi?id=2889
+
+	* glib/dbus-gmain.c:
+	(io_handler_destroy_source): Remove from list of IO handlers
+	of the ConnectionSetup object
+	(timeout_handler_destroy_source): -do- for timeout handlers
+	(io_handler_source_finalized): Don't remove from list since
+	we now do that in io_handler_destroy_source(). Renamed from
+	io_handler_source_destroyed
+	(timeout_handler_source_destroyed): -do- for timeout handlers
+	(connection_setup_free): It is now safe to iterate over all
+	IO and timeout handlers as the _destroy_source removes them
+	from the list synchronously
+
+2005-03-30  Havoc Pennington  <hp at redhat.com>
+
+	* configure.in: change check to gtk 2.4
+
+	* tools/dbus-viewer.c (name_combo_changed_callback): remove
+	gtk_combo_box_get_active_text() usage to decrement GTK requirement
+	to 2.4
+
+2005-03-29  John (J5) Palmieri  <johnp at redhat.com>
+
+	* News: Update 0.32
+
+	* HACKING: Fixed realease instructions.  configure.in should be updated to
+	  the next release by the person who made the last release.
+
+2005-03-29  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/lvalue_cast_post_process.py - removed.  Patch has been
+	  submitted to Pyrex maintainers that fixes gcc4.0 errors
+
+	* python/Makefile.am: removed refrences to lvalue_cast_post_process.py
+
+2005-03-24  Daniel Reed  <n at ml.org>
+
+	* tools/Makefile.am: Make print-introspect and
+	dbus-bus-introspect.xml building conditional on HAVE_GLIB.
+
+2005-03-22  John (J5) Palmieri  <johnp at redhat.com>
+
+	* tools/Makefile.am: Patch by Colin Walters that fixes distcheck
+
+	* dbus/dbus-userdb.c, dbus/dbus-userdb-util.c: Add patch we have 
+	  had in Red Hat packages for a while but for some reason never 
+	  got merged upstream
+	  (_dbus_is_a_number): New checks if a string
+	  can be converted to a number and does the conversion if it can
+	  (_dbus_user_database_lookup): Add check to see if the given username
+	  is a udi.  This allows udi's to be used instead of usernames in the
+	  config file.
+	  (_dbus_user_database_lookup_group): Add check to see if the given groupname
+	  is a gdi.  This allows gdi's to be used instead of groupnames in the
+	  config file.
+
+2005-03-21  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/lvalue_cast_post_process.py - added post processor to fix Pyrex
+	  code so that it compiles with gcc4.0
+
+	* python/Makefile.am: Added lvalue_cast_post_process.py to EXTRA_DIST
+	  run dbus_bindings.c through lvalue_cast_post_process.py and copy the
+	  results back to dbus_binding.c
+
+2005-03-20  Colin Walters  <walters at verbum.org>
+
+	Patch suggested by Inguva Rajasekhar <ringuva at novell.com>.
+
+	* configure.in: Require GTK+ 2.6.
+	
+2005-03-20  Colin Walters  <walters at verbum.org>
+
+	* Makefile.am (SUBDIRS, DIST_SUBDIRS): Build tools before test.
+
+2005-03-17  Tom Parker  <palfrey at tevp.net>
+
+	* dbus/dbus-userdb.c (_dbus_user_database_lookup): Don't
+	print DBUS_UID_UNSET; instead print passed username.  Also
+	be sure to actually use gid looked up in cache.
+	
+	* dbus/dbus-userdb-util.c (_dbus_user_database_lookup_group): Ditto
+	for DBUS_GID_UNSET and groupname.
+
+2005-03-17  Colin Walters  <walters at verbum.org>
+
+	* bus/print-introspect.c: Move to tools/.
+	* bus/run-with-tmp-session-bus.sh: Ditto.
+	
+	* glib/Makefile.am (dbus-glib-bindings.h): Move
+	generation to tools/Makefile.am.
+
+	* test/glib/run-test.sh: Update to handle move
+	of run-with-tmp-session-bus.sh.
+
+	* test/glib/test-service-glib.c: Update to handle
+	move of dbus-glib-bindings.h.
+
+	* tools/print-introspect.c: Moved here
+	from bus/, and ported to GLib bindings.
+
+	* tools/run-with-tmp-session-bus.sh: Moved here
+	from bus/.
+
+	* tools/Makefile.am: Generate dbus-glib-bindings.h
+	and dbus-bus-introspect.xml here.
+
+	* tools/.cvsignore, glib/.cvsignore, bus/.cvsignore:
+	Update.
+
+2005-03-17  Colin Walters  <walters at verbum.org>
+
+	* bus/driver.c (write_args_for_direction): Use
+	_dbus_string_get_const_data to retrieve string;
+	_dbus_string_get_const_data_len doesn't actually return
+	a NULL-terminated substring.
+
+	* test/glib/test-service-glib.c: Include dbus-glib-bindings.h.
+	(main): Change to use org_freedesktop_DBus_request_name
+	instead of using g_proxy_begin_call/end_call.
+
+2005-03-15  Joe Shaw  <joeshaw at novell.com>
+
+	* mono/ProxyBuilder.cs (BuildFinalizer): Fix some invalid IL when
+	generating the finalizer.  Fixes from Ben Maurer.
+
+2005-03-12  Joe Shaw  <joeshaw at novell.com>
+
+	* mono/BusDriver.cs: Update method names: ListServices
+	becomes ListNames; GetOwner becomes GetNameOwner.
+
+	* mono/ProxyBuilder.cs (BuildFinalizer): Need to load arg 0
+	onto the eval stack when removing the delegate.
+
+2005-03-12  Joe Shaw  <joeshaw at novell.com>
+
+	* mono/dbus-sharp.dll.config.in: Don't hardcode 0 for
+	LT_CURRENT.  Set it to the autoconf variable.
+                                                                                
+	* mono/ProxyBuilder.cs: Add a finalizer to the generated proxy
+	classes that disconnects the signal handler delegate from the
+	service object.  Fixes a big leak of proxy objects on the
+	client side of things.  Patch from Ben Maurer
+	<bmaurer at ximian.com>
+
+2005-03-12  Colin Walters  <walters at verbum.org>
+
+	* bus/driver.c (write_args_for_direction): New function,
+	parses a type signature into arguments and outputs to
+	XML.
+	(bus_driver_handle_introspect): Use it instead of
+	hardcoding XML for certain signatures.
+	
+	* bus/Makefile.am (dbus-bus-introspect.xml): Add
+	dependency on dbus-daemon.
+
+	* glib/dbus-glib-tool.c (main): Parse ignore_unsupported
+	argument, pass it to dbus_binding_tool_output_glib_client.
+
+	* glib/dbus-binding-tool-glib.c
+	(generate_client_glue): Protect against multiple inclusion.
+	(dbus_binding_tool_output_glib_client): Add
+	G_BEGIN_DECLS/G_END_DECLS.
+
+	* glib/dbus-binding-tool-glib.c (compute_client_method_name):
+	Change to just take iface prefix directly.
+	(write_formal_parameters): Clarify error message.
+	(check_supported_parameters): New function; checks to see type
+	signatures of method parameters are supported.
+	(generate_client_glue): Handle ignore_unsupported flag.
+	(dbus_binding_tool_output_glib_client): Handle ignore_unsupported
+	parameter.
+
+	* glib/Makefile.am (dbus-glib-bindings.h): Pass
+	--ignore-unsupported by default until glib bindings
+	support arrays.
+
+2005-03-11  Colin Walters  <walters at verbum.org>
+
+	* glib/Makefile.am: Generate dbus-glib-bindings.h and
+	install it.
+
+	* bus/print-introspect.c: New file; prints introspection
+	data for a given name and object path.
+
+	* bus/run-with-tmp-session-bus.sh: New file, refactored
+	from test/glib/run-test.sh.  Creates a temporary session
+	bus and runs another program.
+
+	* test/glib/run-test.sh: Refactor to invoke
+	run-with-tmp-session-bus.sh.
+
+	* bus/driver.c (bus_driver_handle_introspect): Fix to print new
+	introspection format.  Also change to use DBUS_TYPE_x_AS_STRING
+	macros instead of hardcoding.
+
+	* glib/.cvsignore, bus/.cvsignore, test/glib/.cvsignore: Update.
+
+2005-03-11  Joe Shaw  <joeshaw at novell.com>
+
+	* dbus/dbus-connection.c (dbus_connection_send_with_reply): Remove
+	this unref; it doesn't match up evenly in some codepaths.
+	(_dbus_connection_block_pending_call): Unref at every exitpoint;
+	this evenly matches with the ref near the top of this function.
+
+2005-03-09  Joe Shaw  <joeshaw at novell.com>
+
+	* dbus/dbus-object-tree.c
+	(_dbus_object_tree_unregister_and_unlock): If checks are enabled
+	and we try to unregister a path that's not registered, still go
+	through the process of unlocking and don't just return.
+
+2005-03-09  Colin Walters  <walters at verbum.org>
+
+	* glib/dbus-gproxy.c (dbus_g_proxy_invoke): New method; calls
+	to this are generated for client-side wrappers.  Invokes a
+	D-BUS method and returns reply values.  
+
+	* glib/dbus-binding-tool-glib.c (write_args_sig_for_direction): New
+	function; writes signature string for argument direction.
+	(write_args_for_direction): Change to pass input values directly
+	instead of via address, and fix indentation.
+	(generate_client_glue): Change to invoke dbus_g_proxy_invoke.  Also
+	make generated wrappers inlineable.
+
+	* dbus/dbus-message.c (dbus_message_iter_get_fixed_array): Add
+	note about using dbus_type_is_fixed.
+
+	* dbus/dbus-marshal-basic.c (_dbus_type_is_fixed): Moved to
+	dbus/dbus-signature.c as dbus_type_is_fixed.
+
+	All callers updated.
+
+	* dbus/dbus-signature.c (dbus_type_is_fixed): Moved here
+	from dbus/dbus-marshal-basic.c:_dbus_type_is_fixed.
+
+	* dbus/dbus-signature.h: Prototype.
+
+	* glib/dbus-binding-tool-glib.c (compute_marshaller_name): Fix
+	error printf code.
+
+	* test/glib/test-dbus-glib.c (main): Be sure to clear error as
+	appropriate instead of just freeing it.
+	(main): Free returned strings using g_free.
+
+	* test/glib/Makefile.am (test-service-glib-glue.h)
+	(test-service-glib-bindings.h): Add dependency on dbus-binding-tool.
+
+	* glib/dbus-gvalue.c (MAP_BASIC): Refactored from MAP_BASIC_INIT;
+	simply maps a simple D-BUS type to GType.
+	(dbus_dbus_type_to_gtype): Function which maps D-BUS type to
+	GType.
+	(dbus_gvalue_init): Just invoke dbus_dbus_type_to_gtype and
+	initialize the value with it.
+	(dbus_gvalue_binding_type_from_type): Unused, delete.
+	(dbus_gvalue_demarshal): Switch to hardcoding demarshalling for
+	various types instead of unmarshalling to value data directly.
+	Remove can_convert boolean.
+	(dbus_gvalue_marshal): Remove duplicate initialization; switch to
+	returning directly instead of using can_convert boolean.
+	(dbus_gvalue_store): New function; not related to D-BUS per-se.
+	Stores a GValue in a pointer to a value of its corresponding C
+	type.
+
+	* glib/dbus-gvalue.h: Remove dbus_gvalue_binding_type_from_type,
+	add dbus_gvalue_store.
+
+2005-03-08  Joe Shaw  <joeshaw at novell.com>
+
+	Fix a bunch of lifecycle and memory management problems
+	in the mono bindings.
+
+	* mono/Arguments.cs (Arguments): Implement IDisposable
+
+	* mono/Bus.cs (Bus): Don't allow public instantiation.  This is
+	strictly a static class.
+
+	* mono/Connection.cs: Move the DBusObjectPathVTable and associated
+	delegates into this file.
+	(Connection): Implement IDisposable.
+	(Dispose): Disconnect the connection and set the raw connection
+	pointer to IntPtr.Zero.
+	(~Connection): Call Dispose().
+	(RegisterObjectPath): Added.  Manages the registration of object
+	paths so we can cleanly disconnect them at dispose/finalize time.
+	(UnregisterObjectPath): Ditto.
+	(set_RawConnection): Unregister all of the object paths when
+	changing the underlying DBusConnection.  Add them back onto the
+	new connection, if any.
+
+	* mono/Handler.cs: Don't implement IDisposable; it doesn't use any
+	more unmanaged resources anymore, so it's not necessary.  Move all
+	the DBusObjectPathVTable stuff out of here.
+	(Handler): Save references to our delegates so that they don't get
+	finalized.  Call Connection.RegisterObjectPath() instead of
+	dbus_connection_register_object_path() directly.
+	(Message_Called): Dispose the message after we're finished with
+	it.
+
+	* mono/Message.cs (Message): Implement IDisposable.
+	(Dispose): Dispose the Arguments, and set the RawMessage to
+	IntPtr.Zero.
+	(SendWithReplyAndBlock): We own the ref to the reply that comes
+	back from dbus_connection_send_with_reply_and_block() so add a
+	comment about that and unref it after we've constructed a managed
+	MethodReturn class around it.  Fixes a big, big leak.
+
+	* mono/ProxyBuilder.cs: Reflect into Message to get the Dispose
+	method.
+	(BuildSignalHandler): After we've sent the Signal message, dispose
+	of it.
+	(BuildMethod): Dispose of the method call and reply messages after
+	we've sent the message and extracted the data we want from the
+	reply.
+
+	* mono/Service.cs (UnregisterObject): Don't call handler.Dispose()
+	anymore.
+	(Service_FilterCalled): Dispose of the message after we're
+	finished with it.
+
+2005-03-08  Joe Shaw  <joeshaw at novell.com>
+
+        * dbus/dbus-connection.c (dbus_connection_send_with_reply):
+        After we attach our pending call to the connection, unref
+        it.  Fixes a leak.
+ 
+        * mono/Connection.cs (set_RawConnection): Disconnect our
+        filter and match callbacks from the old connection and
+        reconnect them to the new connection, if any.
+
+	* mono/DBusType/Array.cs: "Code" is a static member, so
+	don't use "this" to refer to it.  Fix for stricter checking
+	in Mono 1.1.4.
+ 
+        * mono/DBusType/ObjectPath.cs (Append): Don't leak the
+	object path that we pass into unmanaged code.
+ 
+        * mono/DBusType/String.cs (Append): Don't leak the string
+	that we pass into unmanged code.
+
+2005-03-07  John (J5) Palmieri  <johnp at redhat.com>
+	* NEWS: Update for 0.31
+
+	* configure.in: Release 0.31
+	add LT_CURRENT, LT_REVISION, LT_AGE for easy soname bumping
+
+	* qt/Makefile.am: fixed build
+
+	* dbus/Makefile.am: soname bump for libdbus
+
+	* glib/Makefile.am: soname bump for libdbus-glib
+
+2005-03-05  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-sysdeps.c:
+	(pseudorandom_generate_random_bytes_buffer): fix to have no return
+	value
+	(_dbus_generate_random_bytes_buffer): fix return value
+
+	* dbus/dbus-sysdeps-util.c: s/GETPWNAME/GETPWNAM/ so configure
+	checks actually work, from Tom Parker <fdo at tevp.net>
+
+2005-03-01  Colin Walters  <walters at verbum.org>
+
+	* test/glib/test-dbus-glib.c (lose, lose_gerror): Utility
+	functions copied from dbus-glib-tool.c.
+	(main): Convert lots of error code to use them.
+	Also add some testing for introspection bits.
+
+2005-03-01  Colin Walters  <walters at verbum.org>
+	
+	* doc/TODO: Remove introspection signature TODO.
+
+2005-02-27  Colin Walters  <walters at verbum.org>
+
+	* glib/dbus-gidl.c (property_info_get_type, arg_info_get_type):
+	Change return value to const char * instead of int so we can do
+	full signatures.
+	(struct PropertyInfo, struct ArgInfo): Store char *.
+	(property_info_new, arg_info_new): Update parameters, strdup.
+	(property_info_unref, arg_info_unref): Free.
+
+	* glib/dbus-gidl.h: Update prototypes.
+
+	* glib/dbus-gparser.c (basic_type_from_string): Delete.
+	(validate_signature): New function, just validates signature and
+	sets GError.
+	(parse_property, parse_arg): Invoke validate_signature.  Store
+	signature instead of just type code.
+
+	* glib/dbus-gvalue.c (base_type_from_signature): New utility
+	function to return a primary type for a signature, dropping
+	information about types in container types.
+	(dbus_gvalue_genmarshal_name_from_type)
+	(dbus_gvalue_binding_type_from_type)
+	(dbus_gvalue_ctype_from_type): Update to take full signature
+	 instead of type code.
+	(dbus_gtype_to_dbus_type): Moved here from glib/dbus-gobject.c.
+
+	* glib/dbus-gvalue.h: Update prototypes for above.
+
+	* glib/dbus-gobject.c (gtype_to_dbus_type): Moved to
+	glib/dbus-gvalue.c as dbus_gtype_to_dbus_type.
+	(introspect_properties, introspect_signals, write_interface):
+	Update to handle signatures, and remove usage of
+	_dbus_gutils_type_to_string.
+	(handle_introspect): Print out type codes instead of e.g. "string"
+	in hardcoded introspection XML; also use x_AS_STRING constants
+	instead of hardcoding in string.
+
+	* glib/dbus-glib-tool.c (pretty_print): Handle signature change
+	to string.  Remove usage of _dbus_gutils_type_to_string.
+
+	* glib/dbus-gutils.c (_dbus_gutils_type_to_string): Delete.
+
+	* glib/dbus-gutils.h (_dbus_gutils_type_to_string): Update for
+	deletion.
+	
+	* glib/dbus-binding-tool-glib.c (compute_marshaller)
+	(compute_marshaller_name, generate_glue): Handle signature change
+	to string.
+	(write_formal_parameters, write_args_for_direction): Ditto, and
+	remove FIXME.
+
+	* tools/dbus-tree-view.c (type_to_string): Delete.
+	(info_set_func_text): Update to print full signatures.
+
+	* test/glib/test-service-glib.xml: Change types to new
+	introspection format.
+
+2005-02-26  Havoc Pennington  <hp at redhat.com>
+
+	* doc/TODO: remove the "guid" item
+
+	* test/glib/test-profile.c (no_bus_thread_func): use open_private
+	(with_bus_thread_func): use open_private
+
+	* dbus/dbus-connection.c (dbus_connection_open_private): new
+	function that works like the old dbus_connection_open()
+	(dbus_connection_open): now returns an existing connection if
+	possible
+
+	* dbus/dbus-server-unix.c (handle_new_client_fd_and_unlock): pass
+	through the GUID to the transport
+
+	* dbus/dbus-server.c (_dbus_server_init_base): keep around the
+	GUID in hex-encoded form.
+
+	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
+	pass GUID argument in to the transport
+
+	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): add
+	guid argument
+
+	* dbus/dbus-transport.c (_dbus_transport_init_base): add guid argument
+
+	* dbus/dbus-auth.c (_dbus_auth_server_new): add guid argument
+
+2005-02-25  Havoc Pennington  <hp at redhat.com>
+
+	* doc/dbus-specification.xml: document the GUID thing
+
+	* dbus/dbus-server.c (_dbus_server_init_base): initialize a
+	globally unique ID for the server, and put a "guid=hexencoded"
+	field in the address
+
+	* dbus/dbus-bus.c: fix missing #include of dbus-threads-internal.h
+
+	* dbus/dbus-message.c: ditto
+
+	* dbus/dbus-dataslot.c: ditto
+
+	* dbus/dbus-list.c: ditto
+
+	* dbus/dbus-internals.h: wait, just include
+	dbus-threads-internal.h here
+	
+	* dbus/dbus-string.c (_dbus_string_copy_to_buffer): move back for
+	use in main library
+
+	* dbus/dbus-sysdeps.c (_dbus_generate_random_bytes_buffer): new function
+
+2005-02-24  Colin Walters  <walters at verbum.org>
+
+	* test/glib/Makefile.am (EXTRA_DIST): Add test-service-glib.xml
+
+2005-02-24  John (J5) Palmieir  <johnp at redhat.com>
+
+	* glib/Makefile.am: added dbus-gobject.h to sources list
+	so distcheck doesn't fail
+	
+2005-02-24  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-server.c, dbus/dbus-server-unix.c: change semantics so
+	you must disconnect before unref, since locking and other things
+	are screwed up otherwise. Fix assorted other locking stuff.
+
+	* dbus/dbus-signature.c (dbus_signature_iter_get_element_type):
+	fix compilation
+
+	* dbus/dbus-threads-internal.h: move the mutex/condvar wrappers
+	into a private header and don't export from the library
+
+	* throughout - call _dbus_thread_stuff vs. dbus_thread_stuff
+
+2005-02-24  Colin Walters  <walters at verbum.org>
+	
+	* dbus/dbus-signature.c: New file; implements various functions
+	related to type signatures.  Includes an interator for parsing,
+	validation functions.
+	(dbus_type_is_basic): Moved here from
+	dbus-marshal-basic.c:_dbus_type_is_basic.
+	(dbus_type_is_container): Moved here from
+	dbus-marshal-basic.c:_dbus_type_is_container.
+
+	All callers of _dbus_type_is_container and _dbus_type_is_basic
+	updated, and include dbus-signature.h.
+
+	* dbus/dbus-signature.h: New file; prototypes for the above.
+
+	* dbus/Makefile.am (DBUS_LIB_SOURCES): Add dbus-signature.c,
+	dbus-signature.h.
+
+	* dbus/dbus-marshal-basic.c (map_type_char_to_type): New utility
+	function factored out of _dbus_first_type_in_signature.
+	(_dbus_first_type_in_signature_c_str): New function; returns first
+	type code for a type signature character.
+
+	* dbus/dbus-marshal-basic.h: Prototype _dbus_first_type_in_signature_c_str,
+	handle function moves.
+
+	* dbus/dbus-marshal-recursive.h: Export _dbus_type_signature_next.
+
+	* dbus/dbus-marshal-recursive.c (_dbus_type_signature_next): New
+	function; skips to next complete type in type signature.
+	Implemented using previous skip_one_complete_type.  Now
+	skip_one_complete_type just delegates to
+	_dbus_type_signature_next.
+
+	* dbus/dbus-marshal-basic.c (_dbus_type_is_basic): Moved
+	to dbus-signature.c
+	(_dbus_type_is_container): Ditto.
+
+	* doc/dbus-specification.xml: Update introspection sample to
+	use real type signatures.
+
+	* dbus/dbus-test.h: Prototype signature test.
+
+	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Run
+	signature tests.
+
+	* dbus/dbus-protocol.h (DBUS_ERROR_INVALID_SIGNATURE): New error.
+
+2005-02-23  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/dbus_bindings.pyx.in (PendingCall::get_reply):
+	s/dbus_pending_call_get_reply/dbus_pending_call_steal_reply
+
+2005-02-21  Colin Walters  <walters at verbum.org>
+
+	* dbus/dbus-test-main.c (main): Take optional specific test
+	argument.
+
+	* dbus/dbus-test.c (run_test): New function, runs a test function
+	with no data directory.
+	(run_data_test): Like above, but takes data directory.
+	(dbus_internal_do_not_use_run_tests): Take
+	specific test argument.  Replace lots of cut n' paste code
+	with run_test and run_data_test.
+
+	* dbus/dbus-test.h: Update prototype for
+	dbus_internal_do_not_use_run_tests.
+
+2005-02-20  Havoc Pennington  <hp at redhat.com>
+
+        Fix bugs reported by Daniel P. Berrange
+	
+	* dbus/dbus-server.c (_dbus_server_unref_unlocked): new function
+	(protected_change_watch): new function
+	(_dbus_server_toggle_watch, _dbus_server_remove_watch)
+	(_dbus_server_add_watch): change to work like the
+	dbus-connection.c equivalents; like those, probably kind of
+	busted, but should at least mostly work for now
+	(dbus_server_disconnect): drop the lock if we were already
+	disconnected, patch from Daniel P. Berrange
+
+	* dbus/dbus-server.c (_dbus_server_toggle_timeout) 
+	(_dbus_server_remove_timeout, _dbus_server_add_timeout): all the
+	same stuff
+
+	* doc/TODO: todo about unscrewing this mess
+
+2005-02-19  Colin Walters  <walters at verbum.org>
+
+	* glib/dbus-binding-tool-glib.c
+	(dbus_binding_tool_output_glib_server): Fix iochannel refcounting.
+
+	* glib/dbus-glib-tool.c: Include dbus-glib-tool.h, as well
+	as errno.h and sys/stat.h.
+	(lose): New function, prints error with
+	newline and exits.
+	(lose_gerror): Similar, but takes GError for message.
+	(main): Add --output argument to specify output file to write to,
+	instead of always printing to stdout.  In this mode, determine
+	timestamps on source files to see whether any are newer than the
+	target file.  If not, exit.  Also convert a number of error
+	messages to use lose (since it's shorter), and switch to using
+	g_io_channel_shutdown.
+
+2005-02-19  Havoc Pennington  <hp at redhat.com>
+
+	* glib/dbus-gobject.c
+	(_dbus_glib_marshal_dbus_message_to_gvalue_array): add docs
+
+	* glib/dbus-glib.c: fix doxygen warnings
+
+	* glib/dbus-gparser.c (parse_annotation): error if an annotation
+	is found on an <arg>
+
+2005-02-17  Colin Walters  <walters at verbum.org>
+
+	* glib/dbus-gobject.h: Don't export
+	_dbus_glib_marshal_dbus_message_to_gvalue_array.
+	
+	* glib/dbus-gobject.c (_dbus_glib_marshal_dbus_message_to_gvalue_array): Do rename.
+	(invoke_object_method): Handle it.
+
+	* glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller):
+	Handle rename.
+	
+2005-02-17  Colin Walters  <walters at verbum.org>
+
+	* bus/.cvsignore, doc/.cvsignore
+	* test/data/valid-service-files/.cvsignore, test/glib/.cvsignore:
+	Update.
+
+2005-02-17  Colin Walters  <walters at verbum.org>
+	
+	* dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_DBUS):
+	Rename to DBUS_SERVICE_DBUS.
+	(DBUS_PATH_ORG_FREEDESKTOP_DBUS): Rename to DBUS_PATH_DBUS.
+	(DBUS_PATH_ORG_FREEDESKTOP_LOCAL): Rename to DBUS_PATH_LOCAL.
+	Change the value from "org.freedesktop.Local"
+	to "org.freedesktop.DBus.Local".
+	(DBUS_INTERFACE_ORG_FREEDESKTOP_DBUS): Rename to DBUS_INTERFACE_DBUS.
+	(DBUS_INTERFACE_ORG_FREEDESKTOP_INTROSPECTABLE): Rename to
+	DBUS_INTERFACE_INTROSPECTABLE.
+	Change the value from "org.freedesktop.Introspectable"
+	to "org.freedesktop.DBus.Introspectable".
+	(DBUS_INTERFACE_ORG_FREEDESKTOP_PROPERTIES): Rename to
+	DBUS_INTERFACE_PROPERTIES.
+	Change the value from "org.freedesktop.Properties"
+	to "org.freedesktop.DBus.Properties".
+	(DBUS_INTERFACE_ORG_FREEDESKTOP_PEER): Rename to
+	DBUS_INTERFACE_PEER.
+	Change the value from "org.freedesktop.Peer"
+	to "org.freedesktop.DBus.Peer".
+	(DBUS_INTERFACE_ORG_FREEDESKTOP_LOCAL): 
+	DBUS_INTERFACE_LOCAL.
+	Change the value from "org.freedesktop.Local"
+	to "org.freedesktop.DBus.Local".
+
+	All other users of those constants have been changed.
+
+	* bus/driver.c (bus_driver_handle_introspect): Use constants.
+
+	* glib/dbus-gobject.c (handle_introspect): Use constants.
+
+	* doc/dbus-faq.xml, doc/dbus-specification.xml: Update for rename.
+
+2005-02-17  Colin Walters  <walters at verbum.org>
+
+	* glib/dbus-gparser.c (struct Parser): Add in_annotation boolean.
+	(parse_node, parse_interface, parse_method, parse_signal)
+	(parse_property, parse_annotation): Lose if we're currently in an
+	annotation.
+	(parse_annotation): New function.
+	(parser_start_element, parser_end_element): Handle annotation.
+	(parse_method, parse_interface): Remove support for c_name attribute,
+	switch to annotations.
+
+	* glib/dbus-gidl.h (interface_info_get_binding_names)
+	(method_info_get_binding_names)
+	(interface_info_get_binding_name, method_info_get_binding_name)
+	(interface_info_set_binding_name, method_info_set_binding_name):
+	Remove.
+	(interface_info_get_annotations, method_info_get_annotations)
+	(interface_info_get_annotation, method_info_get_annotation)
+	(interface_info_add_annotation, method_info_add_annotation):
+	Prototype.
+
+	* glib/dbus-gidl.c (struct InterfaceInfo): Substitute "annotations"
+	for "bindings".
+	(struct MethodInfo): Ditto.
+	Straightfoward conversion of binding methods into annotation methods
+	as prototyped.
+
+	* glib/dbus-glib-tool.c (pretty_print): Print annotations.
+
+	* glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_C_SYMBOL): Define.
+
+	* glib/dbus-binding-tool-glib.c (gather_marshallers, generate_glue):
+	Use new annotation API.
+
+	* doc/introspect.dtd: Fix a number of DTD syntax errors.  Add
+	annotation element.
+	
+	* doc/dbus-specification.xml: Discuss introspection annotations,
+	include list of well-known annotations.
+
+	* test/glib/test-service-glib.xml: Make validate against new DTD.
+
+2005-02-17  Colin Walters  <walters at verbum.org>
+
+	This patch is based on initial work from
+	Paul Kuliniewicz <kuliniew at purdue.edu>.
+
+	* glib/dbus-gvalue.c (dbus_gvalue_init): New function; move
+	initialization of GValue from dbus type to here.
+	(dbus_gvalue_genmarshal_name_from_type): New function; generates a string
+	for the "glib-genmarshal" program from a DBus type.
+	(dbus_gvalue_binding_type_from_type): New function; turns a DBus type
+	into the C name for it we use in the glib bindings.
+	(dbus_gvalue_ctype_from_type): New function; maps a DBus type into a
+	glib C type (not GValue).
+	(dbus_gvalue_demarshal): invoke dbus_gvalue_init.
+
+	* glib/dbus-gutils.c (_dbus_gutils_wincaps_to_uscore): Moved here
+	from dbus-gobject.c.
+
+	* glib/dbus-gutils.h: Prototype it.
+
+	* glib/dbus-gproxy.c: Include new dbus-gobject.h.
+	(marshal_dbus_message_to_g_marshaller): Use new shared function
+	dbus_glib_marshal_dbus_message_to_gvalue_array.
+
+	* glib/dbus-gparser.c (parse_interface, parse_method): Handle c_name attribute.
+	Will be changed once we have annotations.
+
+	* glib/dbus-gobject.c: Change info_hash_mutex from GStaticMutex to
+	GStaticRWLock.  Callers updated.
+	(wincaps_to_uscore): Move to dbus-gutils.c.  Callers updated.
+	(string_table_next): New function for iterating over zero-terminated
+	string value array.
+	(string_table_lookup): New function; retrieves specific entry in
+	array.
+	(get_method_data): New function; look up method data in object data chunk.
+	(object_error_domain_prefix_from_object_info)
+	(object_error_code_from_object_info): New functions, but not implemented yet.
+	(method_interface_from_object_info): New function; retrieve interface name.
+	(method_name_from_object_info): New function; retrieve method name.
+	(method_arg_info_from_object_info): New function; retrieve argument data.
+	(arg_iterate): New function; iterates over serialized argument data.
+	(method_dir_signature_from_object_info): New function; returns a
+	GString holding type signature for arguments for just one
+	direction (input or output).
+	(method_input_signature_from_object_info)
+	(method_output_signature_from_object_info): New functions.
+	(dbus_glib_marshal_dbus_message_to_gvalue_array): New shared function;
+	converts dbus message arguments into a GValue array.  Used for both
+	signal handling and method invocation.
+	(struct DBusGlibWriteIterfaceData): New utility structure.
+	(write_interface): New function; generate introspection XML for
+	an interface.
+	(introspect_interfaces): New function; gathers all interface->methods,
+	generates introspection XML for them.
+	(handle_introspect): Invoke introspect_interfaces.
+	(get_object_property): Be sure to zero-initalize stack-allocated GValue.
+	(lookup_object_and_method): New function; examines an incoming message
+	and attempts to match it up (via interface, method name, and argument
+	signature) with a known object and method.
+	(gerror_domaincode_to_dbus_error_name): New function; converts a
+	GError domain and code into a DBus error name.  Needs GError data
+	added to object introspection to work well.
+	(gerror_to_dbus_error_message): Creates a DBusMessage error return from
+	GError.
+	(invoke_object_method): New function to invoke an object method
+	looked up via lookup_object_and_method.  Parses the incoming
+	message, turns it into a GValue array, then invokes the marshaller
+	specified in the DBusGMethodInfo.  Creates a new message with
+	either return values or error message as appropriate.
+	(gobject_message_function): Invoke lookup_object_and_method and
+	invoke_object_method.
+
+	* glib/dbus-glib-tool.c: Include dbus-binding-tool-glib.h.
+	(enum DBusBindingOutputMode): New enum for binding output modes.
+	(pretty_print): Print binding names.
+	(dbus_binding_tool_error_quark): GError bits.
+	(version): Fix typo.
+	(main): Create GIOChannel for output.  Parse new --mode argument,
+	possible values are "pretty-print", "glib-server", "glib-client".
+	Use mode to invoke appropriate function.
+	
+	* glib/dbus-gobject.h: Prototype dbus_glib_marshal_dbus_message_to_gvalue_array.
+
+	* glib/dbus-glib-tool.h: New header, just includes GError bits
+	for now.
+
+	* glib/dbus-gidl.c (struct InterfaceInfo): Add bindings hashtable;
+	maps binding style to name.
+	(struct MethodInfo): Ditto.
+	(get_hash_keys, get_hash_key): Utility function, returns keys for
+	a GHashTable.
+	(interface_info_new, method_info_new): Initialize bindings.
+	(interface_info_unref, method_info_unref): Destroy bindings.
+	(method_info_get_binding_names, method_info_get_binding_name)
+	(interface_info_get_binding_names, interface_info_get_binding_name):
+	Functions for retrieving binding names.
+	(method_info_set_binding_name, interface_info_set_binding_name):
+	Functions for setting binding names.
+
+	* glib/dbus-binding-tool-glib.h: New file, has prototypes
+	for glib binding generation.
+
+	* glib/dbus-binding-tool-glib.c: New file, implements server-side
+	and client-side glib glue generation.
+
+	* glib/Makefile.am (dbus_binding_tool_SOURCES): Add
+	dbus-binding-tool-glib.c, dbus-binding-tool-glib.h,
+	dbus-glib-tool.h.
+
+	* dbus/dbus-glib.h (struct DBusGMethodMarshaller): Remove in favor
+	of using GClosureMarshal directly.
+	(struct DBusGObjectInfo): Add n_infos member.
+
+	* test/glib/test-service-glib.xml: New file; contains introspection data
+	for MyTestObject used in test-service-glib.c.
+
+	* test/glib/test-service-glib.c (enum MyObjectError): New GError enum.
+	(my_object_do_nothing, my_object_increment, my_object_throw_error)
+	(my_object_uppercase, my_object_many_args): New test methods.
+	(main): Use dbus_g_object_class_install_info to include generated object
+	info.
+
+	* test/glib/Makefile.am: Generate server-side glue for test-service-glib.c,
+	as well as client-side bindings.
+
+	* test/glib/test-dbus-glib.c: Include test-service-glib-bindings.h.
+	(main): Activate TestSuiteGLibService; test invoke a bunch of its methods
+	using both the dbus_gproxy stuff directly as well as the generated bindings.
+
+2005-02-15  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-connection.c (dbus_connection_dispatch): always
+	complete a pending call, don't run filters first.
+
+	* glib/dbus-gproxy.c (dbus_g_proxy_end_call): change to use
+	dbus_pending_call_steal_reply
+
+	* dbus/dbus-pending-call.c (dbus_pending_call_block): just call
+	_dbus_connection_block_pending_call
+	(dbus_pending_call_get_reply): change to steal_reply and return a
+	ref
+
+	* dbus/dbus-connection.c
+	(dbus_connection_send_with_reply_and_block): port to work in terms
+	of DBusPendingCall
+	(_dbus_connection_block_pending_call): replace block_for_reply
+	with this
+
+2005-02-14  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-userdb-util.c (_dbus_user_database_lookup_group):
+	properly handle looking up group information by name; fix 
+	from j at bootlab.org
+
+2005-02-13  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-connection.c (dbus_connection_return_message) 
+	(dbus_connection_borrow_message): hold dispatch lock while message
+	is outstanding
+	(_dbus_connection_block_for_reply): hold dispatch lock while we
+	block for the reply, so nobody steals our reply
+	(dbus_connection_pop_message): hold the dispatch lock while we
+	pluck the message
+
+2005-02-13  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-connection.c (_dbus_connection_acquire_dispatch)
+	(_dbus_connection_release_dispatch)
+	(_dbus_connection_acquire_io_path)
+	(_dbus_connection_release_io_path): make the mutex and condvar
+	control access to the "acquired" flag. Drop the connection lock
+	while waiting on the condvar. Hopefully these are baby steps in
+	roughly the right direction.
+
+2005-02-13  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-connection.c: use separate mutexes for the condition
+	variables; this is some kind of baseline for sanity, but the
+	condition variables still aren't used correctly afaict
+
+2005-02-13  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-object-tree.c (handle_default_introspect_and_unlock):
+	fix a double-unlock
+
+	* dbus/dbus-connection.c
+	(_dbus_connection_detach_pending_call_unlocked): add this
+
+        Initial semi-correct pass through to fix thread locking; there are
+	still some issues with the condition variable paths I'm pretty
+	sure
+	
+	* dbus/dbus-server.c: add a mutex on DBusServer and appropriate
+	lock/unlock calls
+
+	* dbus/dbus-connection.c (_dbus_connection_do_iteration_unlocked):
+	rename to add _unlocked
+	(struct DBusConnection): move "dispatch_acquired" and
+	"io_path_acquired" to use only one bit each.
+	(CONNECTION_LOCK, CONNECTION_UNLOCK): add checks with !DBUS_DISABLE_CHECKS
+	(dbus_connection_set_watch_functions): hacky fix to reentrancy
+	(_dbus_connection_add_watch, _dbus_connection_remove_watch) 
+	(_dbus_connection_toggle_watch, _dbus_connection_add_timeout) 
+	(_dbus_connection_remove_timeout) 
+	(_dbus_connection_toggle_timeout): drop lock when calling out to
+	user functions; done in a hacky/bad way.
+	(_dbus_connection_send_and_unlock): add a missing unlock
+	(_dbus_connection_block_for_reply): add a missing unlock
+
+	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
+	drop lock in a hacky probably unsafe way to call out to user
+	function
+
+2005-02-12  Havoc Pennington  <hp at redhat.com>
+
+	* tools/dbus-tree-view.c (info_set_func_text): display more
+	details on args
+
+	* bus/driver.c (bus_driver_handle_list_services): list the bus
+	driver
+
+	* glib/dbus-gparser.c (parse_arg): generate an arg name if none is supplied
+
+	* glib/dbus-gidl.c (signal_info_get_n_args): new function
+	(method_info_get_n_args): new function
+
+2005-02-12  Havoc Pennington  <hp at redhat.com>
+
+	* bus/driver.c (bus_driver_handle_introspect): add introspection
+	for bus driver
+
+2005-02-12  Havoc Pennington  <hp at redhat.com>
+
+	* bus/driver.c: put the signature of each bus driver method in the
+	table of handlers and check it on incoming calls; this isn't
+	really useful, but going to add introspect support in a minute.
+
+2005-02-11  Joe Shaw  <joeshaw at novell.com>
+
+	* mono/Connection.cs: The unpredictability of finalizers in mono
+	prevents us from deterministically disconnecting the filters from
+	the Service class's finalizer, so move tracking of filters and
+	matches here.  Add API for that.
+
+	* mono/Service.cs: Remove the code, add code which calls the
+	methods now on the Connection class.
+
+2005-02-11  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/dbus.py (class Sender): added to support dbus signals better
+	(Bus::add_signal_receiver): added expand_args parameter which defaults
+	to True.  When expand args is True the signal handler will pass the 
+	message arguments as parameters to the signal handler.  If False
+	revert to previous behavior where the signal handler must get the
+	argument list from the message.  This is to help port applications
+	like HAL that have a tendancy to send variable length argument lists.
+	self._match_rule_to_receivers is now a dict of dicts.
+	(Bus::remove_signal_receiver): pop handler off the dict intead of 
+	removing it from a list
+	(Bus::_signal_func): change signal handlers so that interface,
+	signal_name, service, path and message are packed into a Sender
+	object and that is passed to the handler.  If expand_args is True
+	extract the args list from the message and append it to the parameter
+	list
+	
+	* python/dbus_bindings.pyx.in (class Signature): added to support 
+	signiature types
+	(MessageIter::__init__): changed iteration limit to match D-BUS
+	(MessageIter::get*): added INT16, UINT16, SIGNATURE, DICT_ENTRY, 
+	STRUCT and VARIENT type support
+	(MessageIter::python_value_to_dbus_sig): made recursive to support
+	recursive types
+	(MessageIter::append*): added Signature, dict, tuple 
+	support
+
+	* python/examples/example-client.py: added examples of getting tuples
+	and dicts
+
+	* python/examples/example-service.py: added examples of sending tuples
+	and dicts
+
+	* python/examples/example-signal-recipient.py: Fixed to handle new
+	signal callback format
+
+2005-02-10  Havoc Pennington  <hp at redhat.com>
+
+	* test/glib/test-dbus-glib.c (main): fix so this test doesn't fail
+	(call dbus_g_proxy_add_signal)
+
+	* dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
+	escape the hostname
+	(_dbus_server_new_for_domain_socket): escape the path
+
+	* dbus/dbus-address.c (dbus_address_escape_value): new
+	(dbus_address_unescape_value): new
+	(dbus_parse_address): unescape values
+
+	* dbus/dbus-string.c (_dbus_string_append_byte_as_hex): new function
+
+	* doc/dbus-specification.xml: explain how to escape values in
+	addresses
+
+2005-02-10  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-message-factory.c (generate_special): modify test to
+	avoid using a non-basic dict key
+
+	* dbus/dbus-marshal-validate-util.c: add test for the below
+
+	* doc/dbus-specification.xml: require that dict keys are a basic
+	type
+
+	* dbus/dbus-marshal-validate.c
+	(_dbus_validate_signature_with_reason): require that dict key is a
+	basic type
+
+2005-02-10  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-object-tree.c (handle_default_introspect_and_unlock):
+	change to be _and_unlock instead of _unlocked
+
+	* dbus/dbus-connection.c
+	(_dbus_connection_send_preallocated_unlocked_no_update): rename to
+	have no_update so we can find this bug quickly in future
+
+2005-02-10  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-message-util.c (verify_test_message): tests for string
+	array
+
+	* dbus/dbus-message.c (dbus_message_append_args_valist): add
+	support for arrays of string/signature/path
+
+2005-02-10  Joe Shaw  <joeshaw at novell.com>
+
+	* dbus/dbus-connection.c
+	(_dbus_connection_queue_received_message_link,
+	_dbus_connection_message_sent): Add the path to
+	the verbose output.
+	(_dbus_connection_send_preallocated_and_unlock): Added.  Calls
+	_dbus_connection_send_preallocated_unlocked(), updated the
+	dispatch status, and unlocks.  Fixes a bug where certain
+	situations (like a broken pipe) could cause a Disconnect message
+	to not be sent, tricking the bus into thinking a service was still
+	there when the process had quit.
+	(_dbus_connection_send_preallocated): Call
+	_dbus_connection_send_preallocated_and_unlock().
+	(_dbus_connection_send_and_unlock): Added.  Calls
+	_dbus_connection_send_preallocated_and_unlock().
+	(dbus_connection_send): Call _dbus_connection_send_and_unlock().
+	(dbus_connection_send_with_reply): Update the dispatch status and
+	unlock.
+
+	* mono/Service.cs (~Service): Added.  Removes the filter so that
+	we don't get unmanaged code calling back into a GCed delegate.
+	(RemoveFilter); Added.
+
+2005-02-09  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-message.c (dbus_message_iter_open_container):
+	- Removed check for iterator type being an array because
+	get_arg_type does not work with writer iterators
+	- Pass NULL to _dbus_type_writer_recurse if signiture is NULL
+
+2005-02-07  Havoc Pennington  <hp at redhat.com>
+
+	* doc/dbus-specification.xml: some more language cleanups; add
+	stuff about how to deal with invalid protocol and extension
+	points; add _ to allowed chars in auth commands; add EXTENSION_
+	auth command prefix
+
+2005-02-06  Havoc Pennington  <hp at redhat.com>
+
+	* s/expected/required/ in a couple places for clarity
+
+2005-02-07  Colin Walters  <walters at verbum.org>
+
+	* bus/selinux.c (bus_selinux_allows_send): Handle NULL for
+	sender or proposed_recipient.
+
+2005-02-06  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-message-factory.c (generate_special): more tests
+
+	* dbus/dbus-marshal-validate.c (validate_body_helper): detect
+	array length that exceeds the maximum
+
+2005-02-05  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-message-factory.c (generate_special): more test cases,
+	increasing coverage
+
+	* dbus/dbus-marshal-validate.c (validate_body_helper): return the
+	reason why a signature was invalid
+
+	* dbus/dbus-marshal-header.c (load_and_validate_field): fix to
+	skip the length of the string before we look at it in validation
+
+	* dbus/dbus-string-util.c (_dbus_string_test): add tests for
+	equal_substring
+
+	* dbus/dbus-message.c (_dbus_message_loader_new): default
+	max_message_length to DBUS_MAXIMUM_MESSAGE_LENGTH
+
+2005-02-05  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-marshal-validate.c (validate_body_helper): fix crash
+	if the signature of a variant was empty
+	(_dbus_validate_signature_with_reason): catch "(a)" (array inside
+	struct with no element type)
+
+	* dbus/dbus-message-factory.c (generate_uint32_changed): add more
+	mangled messages to break things
+
+2005-02-04  Havoc Pennington  <hp at redhat.com>
+
+	* glib/dbus-gproxy.c (dbus_g_proxy_disconnect_signal): use
+	g_quark_try_string() so it actually can return 0
+	(dbus_g_proxy_connect_signal): ditto
+
+2005-02-04  Havoc Pennington  <hp at redhat.com>
+
+	* glib/dbus-gproxy.c (dbus_g_proxy_emit_remote_signal): fix a
+	bogus warning
+	(tristring_from_message): assert cleanly on null path/interface
+	(should not be possible though I decided later)
+	(dbus_g_proxy_dispose): move proxy manager unregistration here
+	(DBUS_G_PROXY_DESTROYED): add this macro, and use it in a bunch of
+	g_return_if_fail() checks
+
+2005-02-04  Havoc Pennington  <hp at redhat.com>
+
+	* doc/Makefile.am (EXTRA_DIST): add DTDs to makefile
+
+	* doc/introspect.dtd: add introspect.dtd from David A. Wheeler
+	(with some minor changes)
+
+	* doc/dbus-specification.xml: add deprecated attribute to
+	introspection format
+
+2005-01-31  Havoc Pennington  <hp at redhat.com>
+
+	* glib/dbus-gproxy.c: rewrite how signals work again, this time I
+	think it's sort of right
+
+2005-01-30  Havoc Pennington  <hp at redhat.com>
+
+	* tools/dbus-viewer.c: kind of half-ass hook up the option menu.
+
+2005-01-30  Havoc Pennington  <hp at redhat.com>
+
+	* tools/dbus-names-model.c: dynamically watch NameOwnerChanged
+
+	* autogen.sh: change to autotools 1.9
+
+	* glib/dbus-gproxy.c: completely change how signals work
+	(dbus_g_proxy_add_signal): new function to specify signature of a
+	signal
+	(dbus_g_proxy_emit_received): marshal the dbus message to GValues,
+	and g_warning if the incoming message has the wrong signature.
+
+2005-01-30  Havoc Pennington  <hp at redhat.com>
+
+	* tools/dbus-names-model.c (have_names_notify): fix this
+
+	* dbus/dbus-message.c (_dbus_message_iter_get_args_valist): clean
+	up the string array handling a bit 
+
+2005-01-30  Havoc Pennington  <hp at redhat.com>
+
+	* glib/dbus-glib.c (dbus_g_pending_call_set_notify): new function
+	(dbus_g_pending_call_cancel): new function
+
+	* dbus/dbus-glib.h: move GType decls for connection/message here;
+	* dbus/dbus-glib.c: move all the g_type and ref/unref stuff in
+	here, just kind of rationalizing how we handle all that
+
+	* tools/dbus-names-model.c: new file for a tree model listing the
+	services on a bus
+
+	* tools/dbus-tree-view.c (model_new): use proper typing on the
+	model rows
+
+2005-01-30  Havoc Pennington  <hp at redhat.com>
+
+	* glib/dbus-gmain.c: add a custom GSource back that just checks
+	whether the message queue has anything in it; otherwise, there are 
+	cases where we won't see messages in the queue since there was no 
+	IO visible to the glib main loop
+
+	* dbus/dbus-connection-internal.h (_DBUS_DEFAULT_TIMEOUT_VALUE):
+	increase default message timeout to 25 seconds
+
+2005-01-30  Havoc Pennington  <hp at redhat.com>
+
+	* test/glib/test-profile.c (no_bus_stop_server): remove the
+	warning about the g_warning that I just fixed
+
+	* glib/dbus-gmain.c: rewrite the main loop stuff to avoid the
+	custom source, seems to be a lot easier to understand and work
+	better.
+
+2005-01-30  Havoc Pennington  <hp at redhat.com>
+
+        I think this main loop thing is conceptually broken, but here are 
+	some band aids. I'll maybe rewrite it in a minute.
+	
+	* glib/dbus-gmain.c (add_timeout): timeout stuff doesn't use the
+	custom GSource, so don't pass it in; confusing
+	(gsource_server_finalize, gsource_connection_finalize): add
+	finalize handlers that remove all the watches.	
+
+2005-01-30  Havoc Pennington  <hp at redhat.com>
+
+	* glib/dbus-gobject.c (introspect_properties): fix the XML
+	generated
+
+	* dbus/dbus-message.c (dbus_message_unref): add an in_cache flag
+	which effectively detects the use of freed messages
+
+	* glib/dbus-gobject.c (handle_introspect): modify and return the
+	reply message instead of the incoming message
+
+	* dbus/dbus-object-tree.c (handle_default_introspect_unlocked):
+	gee, maybe it should SEND THE XML instead of just making a string
+	and freeing it again ;-)
+
+	* tools/dbus-print-message.c (print_message): improve printing of
+	messages
+
+	* configure.in: add debug-glib.service to the output
+
+2005-01-30  Havoc Pennington  <hp at redhat.com>
+
+        dbus-viewer introspected and displayed the bus driver
+	
+	* dbus/dbus-object-tree.c 
+	(object_tree_test_iteration): add tests for a handler registered on "/"
+
+	* dbus/dbus-object-tree.c
+	(_dbus_decompose_path): fix to handle path "/" properly
+	(run_decompose_tests): add tests for path decomposition
+	
+	* glib/dbus-gutils.c (_dbus_gutils_split_path): fix to handle "/"
+	properly
+
+	* glib/dbus-gobject.c (handle_introspect): fix quotes
+
+	* test/glib/run-test.sh: support launching the bus, then running
+	dbus-viewer
+
+	* test/glib/test-service-glib.c (main): put in a trivial gobject
+	subclass and register it on the connection
+
+	* bus/driver.c (bus_driver_handle_introspect): implement
+	introspection of the bus driver service
+
+	* dbus/dbus-protocol.h: add #defines for the XML namespace,
+	identifiers, doctype decl
+
+	* bus/driver.c (bus_driver_handle_get_service_owner): handle
+	attempts to get owner of DBUS_SERVICE_ORG_FREEDESKTOP_DBUS by 
+	returning the service unchanged.
+	(bus_driver_handle_message): remove old check for reply_serial in
+	method calls, now the message type deals with that
+	(bus_driver_handle_message): handle NULL interface
+
+	* glib/dbus-gproxy.c (dbus_g_proxy_get_bus_name): new function
+
+	* glib/dbus-gloader-expat.c (description_load_from_string): allow
+	-1 for len
+
+	* tools/dbus-viewer.c: add support for introspecting a service on
+	a bus
+
+	* glib/dbus-gproxy.c (dbus_g_pending_call_ref): add
+	(dbus_g_pending_call_unref): add
+
+2005-01-29  Havoc Pennington  <hp at redhat.com>
+
+	* tools/dbus-tree-view.c: add support for displaying properties.
+	(run dbus-viewer with an introspect xml file as arg, then resize
+	the window so the tree elements show up, not sure what that is)
+
+	* glib/dbus-gobject.c (handle_introspect): return
+	org.freedesktop.Properties and org.freedesktop.Introspectable
+	interfaces when we are introspected.
+
+	* doc/dbus-specification.xml: allow empty interface name when 
+	Get/Set a property
+
+2005-01-29  Havoc Pennington  <hp at redhat.com>
+
+	* glib/Makefile.am: rename dbus-glib-tool to dbus-binding-tool;
+	though it uses glib, it could be extended for any binding in
+	principle
+
+	* glib/dbus-gobject.c (gobject_message_function): change to the
+	new way properties work
+
+	* dbus/dbus-protocol.h: add the new interfaces
+
+	* doc/dbus-specification.xml: document the introspection format,
+	Introspectable interface, and add an org.freedesktop.Properties
+	interface.
+
+	* glib/dbus-gparser.c: add support for a <property> element
+
+	* glib/dbus-gidl.c: add PropertyInfo
+
+	* glib/dbus-gobject.c (handle_introspect): put the outermost
+	<node> outside the signal and property descriptions.
+	(introspect_properties): export properties as <property> rather
+	than as method calls
+
+2005-01-28  Havoc Pennington  <hp at redhat.com>
+
+	* doc/TODO, doc/dbus-specification.xml: spec and TODO tweaks
+	related to authentication protocol
+
+2005-01-28  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/dbus_bindings.pyx.in: Updated to handle new D-BUS type system
+		- BUS_ACTIVATION -> BUS_STARTER
+		- DBUS_BUS_ACTIVATION -> DBUS_BUS_STARTER
+		- class MessageIter (__init__): Added recursion checking 
+		so we throw a nice error instead of just disconnecting from the
+		bus.
+		(get): Added arg_type parameter for recursion.
+		Removed the nil type
+		Added signiture type placeholder (not implemented)
+		Added struct type placeholder (not implemented)
+		Added varient type placeholder (not implemented)
+		Commented out dict type for now	    
+		(get_element_type): renamed from get_array_type
+		(get_*): changed to use the dbus_message_iter_get_basic API
+		(get_*_array): removed in favor of recursive get_array method
+		(get_array): new recursive method which calls get to marshal
+	        the elements of the array
+		(value_to_dbus_sig): New method returns the corrasponding
+		dbus signiture to a python value
+		(append): Comment out dict handling for now
+		Handle lists with the new recursive API
+		Comment out None handling for now
+		(append_nil): removed
+		(append_*): changed to use dbus_message_iter_append_basic API
+		(append_*_array): removed in favor of recursive append_array 
+		method
+		(__str__): Make it easier to print out recursive iterators
+		for debugging
+		- class Message (__str__): moved type inspection to the
+		MessageIter class' __str__ method
+		(get_iter): Added an append parameter wich defaults to False
+		If True use the new API's to create an append iterator
+
+	* python/dbus.py: Update to use new bindings API
+		- TYPE_ACTIVATION -> TYPE_STARTER
+		- class Bus (_get_match_rule): GetServiceOwner -> GetNameOwner
+		- class ActivationBus -> class StarterBus
+		- class RemoteObject (__call__): get an append iterator
+		- (_dispatch_dbus_method_call): get an append iterator
+		- class Object (emit_signal): get an append iterator
+
+	* python/examples/: Fixed up the examples to work with the new API
+		
+2005-01-28  Joe Shaw  <joeshaw at novell.com>
+
+	* configure.in: Bump version up to 0.30.
+
+	* HACKING: Add a release item to bump the version number up after 
+	a release.
+
+2005-01-28  Havoc Pennington  <hp at redhat.com>
+
+	* doc/dbus-specification.xml: update to describe 16-bit types and
+	dict entries
+
+	* dbus/dbus-marshal-basic.c (_dbus_unpack_uint16): fix broken
+	assertion
+
+	* dbus/dbus-protocol.h (DBUS_TYPE_DICT_ENTRY): add DICT_ENTRY as a
+	type
+
+	* dbus/dbus-marshal-recursive.c: implement
+
+2005-01-27  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-arch-deps.h.in: add 16/32-bit types
+
+	* configure.in: find the right type for 16 and 32 bit ints as well
+	as 64
+
+	* dbus/dbus-protocol.h (DBUS_TYPE_INT16, DBUS_TYPE_UINT16): add
+	the 16-bit types so people don't have to stuff them in 32-bit or
+	byte arrays.
+
+2005-01-27  Havoc Pennington  <hp at redhat.com>
+
+        * dbus/dbus-message.c: byteswap the message if you init an
+	iterator to read/write from it
+	
+	* dbus/dbus-marshal-byteswap.c: new file implementing 
+	_dbus_marshal_byteswap()
+
+	* dbus/dbus-marshal-basic.c: add _dbus_swap_array()
+
+2005-01-26  Havoc Pennington  <hp at redhat.com>
+	
+	* dbus/dbus-marshal-validate-util.c: break this out (and fix
+	build, apparently - nobody noticed?)
+	
+2005-01-26  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-marshal-recursive.h: remove todo comment
+
+2005-01-25  Joe Shaw  <joeshaw at novell.com>
+
+	* Land the mono binding changes to conform to the new APIs.
+
+	* mono/Makefile.am: Remove Custom.cs, DBusType/Custom.cs,
+	DBusType/Dict.cs, and DBusType/Nil.cs from the build.
+
+	* mono/Arguments.cs (GetCodeAsString): Added.  Returns the dbus
+	type code as a string.
+	(InitAppending): Rename dbus_message_append_iter_init() to
+	dbus_message_iter_init_append().
+
+	* mono/BusDriver.cs: Rename ServiceEventHandler to
+	NameOwnerChangedHandler.  Rename GetServiceOwner to GetOwner.
+	Rename ServiceOwnerChanged to NameOwnerChanged.
+
+	* mono/Connection.cs: Rename BaseService to UniqueName, and the
+	underlying C call.
+
+	* mono/Custom.cs: Removed.  The CUSTOM type has been removed.
+
+	* mono/Service.cs: Rename Exists to HasOwner, internally rename
+	dbus_bus_acquire_service() to dbus_bus_request_name().
+
+	* mono/DBusType/Array.cs (ctor): Use Type.GetElementType() instead
+	of Type.UnderlyingSystemType to get the correct element type for
+	the array.
+	(ctor): Update code for new APIs: use dbus_message_iter_recurse(),
+	dbus_message_get_{element|arg}_type() instead of
+	dbus_message_iter_init_array_iterator().
+	(Append): Replace dbus_message_iter_append_array() with
+	dbus_message_iter_open_container() and
+	dbus_message_iter_close_container().
+
+	* mono/DBusType/Custom.cs, mono/DBusType/Nil.cs: Removed.  These
+	types have been removed.
+	
+	* mono/DBusType/*.cs: Replace calls of
+	dbus_message_iter_get_[type]() to dbus_message_iter_get_basic(),
+	but specify the type in the DllImport extern declaration.  Ditto
+	for dbus_message_iter_append_[type]() ->
+	dbus_message_iter_append_basic().
+
+	* mono/example/BusListener.cs: Update for ServiceEventHandler ->
+	NameOwnerChangedHandler.
+
+2005-01-25  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/dbus_bindings.pyx.in: Rename of methods and bindings
+		- get_base_service -> get_unique_name
+		- bus_get_base_service -> bus_get_unique_name
+		- dbus_bus_get_base_service -> dbus_bus_get_unique_name
+		- ACTIVATION_REPLY_ACTIVATED -> DBUS_START_REPLY_SUCCESS 
+		- ACTIVATION_REPLY_ALREADY_ACTIVE -> DBUS_START_REPLY_ALREADY_RUNNING
+		- bus_activate_service -> bus_start_service_by_name
+		- dbus_bus_activate_service -> dbus_bus_start_service_by_name
+		- bus_acquire_service -> bus_request_name
+		- dbus_bus_acquire_service -> dbus_bus_request_name
+		- bus_service_exists -> bus_name_has_owner
+		- dbus_bus_service_exists -> dbus_bus_name_has_owner
+
+	* python/dbus.py: Rename of methods
+		- activate_service -> start_service_by_name
+		- bus_acquire_service -> bus_request_name
+		- ACTIVATION_REPLY_ACTIVATED -> START_REPLY_SUCCESS 
+		- ACTIVATION_REPLY_ALREADY_ACTIVE -> START_REPLY_ALREADY_RUNNING
+
+	
+2005-01-24  Joe Shaw  <joeshaw at novell.com>
+
+	* dbus/dbus-connection.c (dbus_connection_dispatch): Print out the
+	signature for the method that can't be found.
+
+	* dbus/dbus-message.c (dbus_message_iter_init): To check to see if
+	the message has any arguments, we need to call
+	_dbus_type_reader_get_current_type(), not
+	_dbus_type_reader_has_next().
+
+2005-01-24  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-message-factory.c: more testing of message validation
+
+	* dbus/dbus-protocol.h (DBUS_MINIMUM_HEADER_SIZE): move to this
+	header
+
+2005-01-23  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-message-factory.c, dbus/dbus-message-util.c: 
+	get this all working, not many tests in the framework yet though
+
+2005-01-22  Havoc Pennington  <hp at redhat.com>
+
+	* doc/dbus-faq.xml, doc/dbus-tutorial: add a FAQ and update
+	tutorial, based on work from David Wheeler.
+
+2005-01-21  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-bus.c: add more return_if_fail checks
+
+	* dbus/dbus-message.c (load_message): have the "no validation"
+	mode (have to edit the code to toggle the mode for now though)
+
+	* dbus/dbus-marshal-header.c (_dbus_header_load): have a mode that
+	skips all validation; I want to use this at least for benchmark
+	baseline, I'm not sure if it should be a publicly-available switch.
+
+2005-01-21  Havoc Pennington  <hp at redhat.com>
+
+	* glib/dbus-gmain.c: don't put the GLib bindings in the same
+	toplevel doxygen group as the low-level API stuff
+
+	* dbus/dbus.h: note that libdbus is the low-level API
+
+2005-01-20  Havoc Pennington  <hp at redhat.com>
+
+	* update-dbus-docs.sh: script to update docs on the web site, only
+	works for me though. neener.
+
+2005-01-20  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-sysdeps.c (_dbus_poll): amazingly, trying to compile
+	code can reveal bugs in it
+
+2005-01-20  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-sysdeps.c (_dbus_poll): fix several bugs in the
+	select() version, patches from Tor Lillqvist
+
+2005-01-20  Havoc Pennington  <hp at redhat.com>
+
+	* doc/dbus-tutorial.xml: replace > with &gt;
+
+	* bus/services.c (bus_registry_acquire_service): validate the name
+	and return a better error if it's no good.
+
+	* doc/dbus-specification.xml: note NO_AUTO_START change
+
+	* dbus/dbus-protocol.h (DBUS_HEADER_FLAG_NO_AUTO_START): change
+	from AUTO_START, we're toggling the default
+
+	* bus/dispatch.c: adapt the tests to change of auto-start default
+
+2005-01-18  Havoc Pennington  <hp at redhat.com>
+
+	* rename dbus-daemon-1 to dbus-daemon throughout
+
+2005-01-18  Havoc Pennington  <hp at redhat.com>
+
+        * Throughout, grand renaming to strip out the use of "service",
+	just say "name" instead (or "bus name" when ambiguous).  Did not
+	change the internal code of the message bus itself, only the
+	programmer-facing API and messages.
+	
+	* doc/dbus-specification.xml: further update the message bus section
+	
+	* bus/config-parser.c (all_are_equiv): fix bug using freed string
+	in error case
+
+2005-01-17  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-types.h: remove 16-bit types since we don't use them
+	ever
+
+	* dbus/dbus-marshal-validate.c (_dbus_validate_path): disallow any
+	"invalid name character" not only non-ASCII
+
+	* doc/dbus-specification.xml: further update spec, message bus 
+	parts are still out-of-date but the marshaling etc. stuff is now
+	accurate-ish
+
+2005-01-17  Havoc Pennington  <hp at redhat.com>
+
+	* doc/dbus-specification.xml: partially update spec
+
+2005-01-17  Havoc Pennington  <hp at redhat.com>
+
+        * Throughout, align variant bodies according to the contained
+	type, rather than always to 8. Should save a fair bit of space in
+	message headers.
+	
+	* dbus/dbus-marshal-validate.c (_dbus_validate_body_with_reason):
+	fix handling of case where p == end
+
+	* doc/TODO: remove the dbus_bool_t item and variant alignment items
+
+2005-01-17  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-types.h: hardcode dbus_bool_t to 32 bits
+
+	* Throughout: modify DBUS_TYPE_BOOLEAN to be a 32-bit type instead
+	of an 8-bit type. Now dbus_bool_t is the type to use whenever you 
+	are marshaling/unmarshaling a boolean.
+
+2005-01-16  Havoc Pennington  <hp at redhat.com>
+
+        This is about it on what can be disabled/deleted from libdbus
+	easily, back below 150K anyhow. Deeper cuts are more work than 
+	just turning the code off as I've done here.
+	
+	* dbus/dbus-marshal-basic.c (_dbus_pack_int32): we don't need the
+	signed int convenience funcs
+
+	* dbus/dbus-internals.c (_dbus_verbose_real): omit when not in
+	verbose mode
+
+	* dbus/dbus-string-util.c, dbus/dbus-string.c: more breaking
+	things out of libdbus
+
+	* dbus/dbus-sysdeps.c, dbus/dbus-sysdeps-util.c: same
+	
+	* dbus/dbus-hash.c: purge the TWO_STRINGS crap (well, make it
+	tests-enabled-only, though it should probably be deleted)
+
+	* dbus/dbus-message-util.c: same stuff
+
+	* dbus/dbus-auth-util.c: same stuff
+
+2005-01-16  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-userdb-util.c: split out part of dbus-userdb.c
+
+	* dbus/dbus-sysdeps.c (_dbus_uid_from_string): move here to pave
+	way for stripping down dbus-userdb.c stuff included in libdbus.
+	Rename _dbus_parse_uid for consistency.
+
+2005-01-16  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-internals.c (_dbus_real_assert): print the function
+	name the assertion failed in
+
+	* dbus/dbus-internals.h (_dbus_return_if_fail) 
+	(_dbus_return_val_if_fail): assert that the name of the function
+	containing the check doesn't start with '_', since we only want to 
+	use checks on public functions
+	
+	* dbus/dbus-connection.c (_dbus_connection_ref_unlocked): change
+	checks to assertions
+
+	* dbus/dbus-marshal-header.c (_dbus_header_set_field_basic):
+	change checks to asserts for private function
+
+	* dbus/dbus-message.c (_dbus_message_set_serial): checks
+	to asserts for private function
+
+	* dbus/dbus-marshal-recursive.c (skip_one_complete_type): remove
+	broken assertion that was breaking make check
+	(_dbus_type_reader_array_is_empty): remove this rather than fix
+	it, was only used in assertions
+
+2005-01-16  Havoc Pennington  <hp at redhat.com>
+
+	* test/unused-code-gc.py: hacky script to find code that's used
+	only by the bus (not libdbus) or used only by tests or not used at
+	all. It has some false alarms, but looks like we can clean up a
+	lot of size from libdbus.
+
+	* dbus/dbus-sysdeps.c, dbus/dbus-sysdeps-utils.c,
+	dbus/Makefile.am: initially move 10K of binary size out of libdbus
+	
+2005-01-16  Havoc Pennington  <hp at redhat.com>
+
+        * Add and fix docs according to Doxygen warnings throughout
+	source.
+	
+	* dbus/dbus-marshal-recursive.c
+	(_dbus_type_reader_array_is_empty): change this to just call
+	array_reader_get_array_len() and make it static
+
+	* dbus/dbus-message.c (dbus_message_iter_get_element_type): rename
+	from get_array_type
+	(dbus_message_iter_init_append): rename from append_iter_init
+
+	* dbus/dbus-marshal-recursive.c
+	(_dbus_type_reader_get_element_type): rename from
+	_dbus_type_reader_get_array_type
+
+2005-01-15  Havoc Pennington  <hp at redhat.com>
+
+	* test/glib/test-profile.c (with_bus_server_filter): fix crash
+
+	* dbus/dbus-marshal-basic.c (_dbus_unpack_uint32): inline as macro
+	when DBUS_DISABLE_ASSERT
+	(_dbus_marshal_set_basic): be sure we align for the string length
+
+	* dbus/dbus-marshal-recursive.c (skip_one_complete_type): make
+	this look faster
+
+	* dbus/dbus-string.c (_dbus_string_get_const_data_len): add an
+	inline macro version
+	(_dbus_string_set_byte): provide inline macro version
+
+2005-01-15  Havoc Pennington  <hp at redhat.com>
+
+	* Land the new message args API and type system.
+
+	This patch is huge, but the public API change is not 
+	really large. The set of D-BUS types has changed somewhat, 
+	and the arg "getters" are more geared toward language bindings;
+	they don't make a copy, etc.
+
+	There are also some known issues. See these emails for details
+	on this huge patch:
+	http://lists.freedesktop.org/archives/dbus/2004-December/001836.html
+        http://lists.freedesktop.org/archives/dbus/2005-January/001922.html
+	
+	* dbus/dbus-marshal-*: all the new stuff
+
+	* dbus/dbus-message.c: basically rewritten
+
+	* dbus/dbus-memory.c (check_guards): with "guards" enabled, init
+	freed blocks to be all non-nul bytes so using freed memory is less
+	likely to work right
+
+	* dbus/dbus-internals.c (_dbus_test_oom_handling): add
+	DBUS_FAIL_MALLOC=N environment variable, so you can do
+	DBUS_FAIL_MALLOC=0 to skip the out-of-memory checking, or
+	DBUS_FAIL_MALLOC=10 to make it really, really, really slow and
+	thorough.
+
+	* qt/message.cpp: port to the new message args API
+	(operator<<): use str.utf8() rather than str.unicode()
+	(pretty sure this is right from the Qt docs?)
+
+	* glib/dbus-gvalue.c: port to the new message args API
+
+	* bus/dispatch.c, bus/driver.c: port to the new message args API
+
+	* dbus/dbus-string.c (_dbus_string_init_const_len): initialize the
+	"locked" flag to TRUE and align_offset to 0; I guess we never
+	looked at these anyhow, but seems cleaner.
+
+	* dbus/dbus-string.h (_DBUS_STRING_ALLOCATION_PADDING):
+	move allocation padding macro to this header; use it to implement
+	(_DBUS_STRING_STATIC): ability to declare a static string.
+
+	* dbus/dbus-message.c (_dbus_message_has_type_interface_member):
+	change to return TRUE if the interface is not set.
+
+	* dbus/dbus-string.[hc]: move the D-BUS specific validation stuff
+	to dbus-marshal-validate.[hc]
+
+	* dbus/dbus-marshal-basic.c (_dbus_type_to_string): move here from
+	dbus-internals.c
+
+	* dbus/Makefile.am: cut over from dbus-marshal.[hc]
+	to dbus-marshal-*.[hc]
+
+	* dbus/dbus-object-tree.c (_dbus_decompose_path): move this
+	function here from dbus-marshal.c
+
+2005-01-12  Joe Shaw  <joeshaw at novell.com>
+
+	* NEWS: Update for 0.23.
+
+	* configure.in: Release 0.23.
+
+2005-01-12  Joe Shaw  <joeshaw at novell.com>
+
+	* mono/Makefile.am, mono/example/Makefile.am: Always build the 
+	dbus DLL with --debug.  Clean up after the .mdb files this leaves
+	behind.
+
+	* mono/doc/Makefile.am: Need to uninstall the docs on "make
+	uninstall"
+
+	* mono/Arguments.cs (GetDBusTypeConstructor): If the type
+	is an enum, get the enum's underlying type.  Another mono
+	1.1.3 fix.
+
+2005-01-11  Joe Shaw  <joeshaw at novell.com>
+
+	Patch from Sjoerd Simons <sjoerd at luon.net>
+
+	* mono/Makefile.am, mono/example/Makefile.am: Don't redefine
+	DESTDIR.  It breaks stuff.
+
+2005-01-11  Joe Shaw  <joeshaw at novell.com>
+
+	Patch from Tambet Ingo <tambet at ximian.com>
+
+	* mono/DBusType/Array.cs (Get): Get the underlying element type by
+	calling type.GetElementType().  The code previously depended on
+	broken Mono behavior, which was fixed in Mono 1.1.3.
+
+	* mono/DBusType/Dict.cs (constructor): Fix the parameters for
+	Activator.CreateInstance() so that the class's constructor is
+	called with the right parameters.
+
+2005-01-11  Joe Shaw  <joeshaw at novell.com>
+
+	Patch from Timo Teräs <ext-timo.teras at nokia.com>
+
+	* dbus/dbus-connection.c
+	(_dbus_connection_queue_received_message_link): Call
+	_dbus_connection_remove_timeout() instead of the _locked()
+	variant, since it's always called from
+	_dbus_connection_handle_watch(), which handles the locking.
+	Removed the _locked() variant since it's no longer used.
+
+2005-01-03  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-internals.h: I'm an idiot, _dbus_assert certainly can
+	return
+	
+2004-12-26  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-internals.h: add _DBUS_GNUC_NORETURN to _dbus_assert
+
+2005-01-03  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-sysdeps.c (_dbus_sysdeps_test): fix using == on
+	floating point
+
+	* dbus/dbus-string.c (_dbus_string_insert_alignment): new function
+
+2005-01-02  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-internals.h (_DBUS_ALIGN_OFFSET): new macro
+
+2005-01-01  Havoc Pennington  <hp at redhat.com>
+
+	* configure.in: add -Wfloat-equal
+
+2005-01-01  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-sysdeps.h: add _DBUS_DOUBLES_BITWISE_EQUAL macro, 
+	for a variety of reasons '==' doesn't do this.
+
+2004-12-31  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-string.c (_dbus_string_equal_substrings): new function
+	I keep wishing I had
+
+2004-12-30  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/dbus.py: s/ACTIVATION_REPLY_ACTIVE/ACTIVATION_REPLY_ACTIVATED
+
+2004-12-30  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/dbus_bindings.pyx.in: Change DBUS_ACTIVATION_REPLY_ACTIVATED
+	and DBUS_ACTIVATION_REPLY_ALREADY_ACTIVE to match the values in
+	dbus-protocol.h.  Because they are defines and not enums they are not
+	autogenerated.
+
+2004-12-26  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/dbus_bindings.pyx.in (bus_activate_service): Bind
+	dbus_bus_activate_service
+
+	* python/dbus.py (Bus.activate_service): activate a service on the
+	bus.
+
+2004-12-24  Havoc Pennington  <hp at redhat.com>
+
+	* test/decode-gcov.c: change to use .gcno and .gcda files, but the
+	file format has also changed and I haven't adapted to that yet
+	
+	* Makefile.am: load .gcno files from latest gcc
+
+2004-12-23  John (J5) Palmieri  <johnp at redhat.com>
+	* Patch from Rob Taylor <robtaylor at fastmail.fm>
+
+	* python/dbus_bindings.pyx.in (bus_get_unix_user): New
+	lowlevel binding
+
+	* python/dbus.py (get_unix_user): Added binding to 
+	call dbus_bindings.bus_get_unix_user
+
+	* python/extract.py: Modified the proto_pat regex to
+	handle unsigned long
+
+2004-12-21  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* dbus/make-dbus-glib-error-enum.sh: omit the function keyword for
+	better POSIX compliance.
+
+2004-12-19  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-string.c (_dbus_string_insert_4_aligned) 
+	(_dbus_string_insert_8_aligned): new functions
+
+	* dbus/dbus-string.c (_dbus_string_alloc_space): new function
+
+2004-12-18  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-string.c (_dbus_string_validate_ascii): use ISASCII
+	macro
+
+	* dbus/dbus-message.c: fix a comment, and add a still-unused
+	not-implemented function
+
+	* dbus/dbus-marshal.h: fix comment
+
+	* dbus/dbus-internals.h (_DBUS_ISASCII): new macro
+
+2004-12-17  Joe Shaw  <joeshaw at novell.com>
+
+	* mono/DBusType/Byte.cs, mono/DBusType/Int32.cs,
+	mono/DBusType/Int64.cs, mono/DBusType/UInt32.cs,
+	mono/DBusType/UInt64.cs: Use Enum.GetUnderlyingType() instead of
+	Type.UnderlyingSystemType to get the actual system type
+	underneath.  This code previously depended on the broken Mono
+	behavior, which was fixed in 1.1.3.
+
+2004-11-27  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-string.h (_dbus_string_get_byte): inline when asserts
+	are disabled
+	(_dbus_string_get_const_data): inline when asserts are disabled
+
+	* dbus/dbus-message.c: record the _dbus_current_generation of
+	creation so we can complain if dbus_shutdown() is used improperly.
+	Do this only if checks are enabled.
+
+	* dbus/dbus-connection.c: ditto
+	
+2004-11-26  Havoc Pennington  <hp at redhat.com>
+
+	* test/glib/test-profile.c: add with_bus mode to profile echoes
+	that go through the bus.
+
+	* test/glib/run-test.sh: add ability to run test-profile
+
+	* bus/dbus-daemon-1.1.in: fix to say that SIGHUP causes partial
+	config file reload.
+
+2004-11-26  Havoc Pennington  <hp at redhat.com>
+
+	* test/glib/test-profile.c: clean up how the fake_malloc_overhead
+	thing was implemented
+
+2004-11-26  Havoc Pennington  <hp at redhat.com>
+
+	* test/glib/test-profile.c: tweak a bit, add support for some
+	made-up minimal malloc overhead with plain sockets, since in 
+	real life some sort of buffers are unavoidable thus we could 
+	count them in the theoretical best case
+
+2004-11-26  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-message.c (dbus_message_cache_or_finalize): fix bug
+	where I was trying to cache one too many messages
+
+2004-11-26  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-message.c: reimplement message cache as an array which 
+	makes the cache about twice as fast and saves maybe 1.5% overall
+
+2004-11-26  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-threads.c (init_global_locks): forgot to put the
+	message cache lock here
+
+2004-11-26  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-message.c (struct DBusMessage): put the locked bit and
+	the "char byte_order" next to each other to save 4 bytes
+	(dbus_message_new_empty_header): reduce preallocation, since the
+	message cache should achieve a similar effect
+	(dbus_message_cache_or_finalize, dbus_message_get_cached): add a
+	message cache that keeps a few DBusMessage around in a pool,
+	another 8% speedup or so.
+
+	* dbus/dbus-dataslot.c (_dbus_data_slot_list_clear): new function
+
+2004-11-25  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-transport-unix.c (unix_do_iteration): if we're going
+	to write, without reading or blocking, try it before the poll()
+	and skip the poll() if nothing remains to write. This is about a
+	3% speedup in the echo client/server
+
+2004-11-25  Havoc Pennington  <hp at redhat.com>
+
+        The primary change here is to always write() once before adding
+	the write watch, which gives us about a 10% performance increase.
+	
+	* dbus/dbus-transport-unix.c: a number of modifications to cope
+	with removing messages_pending
+	(check_write_watch): properly handle
+	DBUS_AUTH_STATE_WAITING_FOR_MEMORY; adapt to removal of
+	messages_pending stuff
+	(check_read_watch): properly handle WAITING_FOR_MEMORY and
+	AUTHENTICATED cases
+	(unix_handle_watch): after writing, see if the write watch can be
+	removed
+	(unix_do_iteration): assert that write_watch/read_watch are
+	non-NULL rather than testing that they aren't, since they 
+	aren't allowed to be NULL. check_write_watch() at the end so 
+	we add the watch if we did not finish writing (e.g. got EAGAIN)
+
+	* dbus/dbus-transport-protected.h: remove messages_pending call,
+	since it resulted in too much inefficient watch adding/removing; 
+	instead we now require that the transport user does an iteration 
+	after queueing outgoing messages, and after trying the first
+	write() we add a write watch if we got EAGAIN or exceeded our 
+	max bytes to write per iteration setting
+
+	* dbus/dbus-string.c (_dbus_string_validate_signature): add this
+	function
+
+	* dbus/dbus-server-unix.c (unix_finalize): the socket name was
+	freed and then accessed, valgrind flagged this bug, fix it
+
+	* dbus/dbus-message.c: fix several bugs where HEADER_FIELD_LAST was taken
+	as the last valid field plus 1, where really it is equal to the
+	last valid field. Corrects some message corruption issues.
+
+	* dbus/dbus-mainloop.c: verbosity changes
+
+	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): handle OOM
+	instead of aborting in one of the test codepaths
+
+	* dbus/dbus-internals.c (_dbus_verbose_real): fix a bug that
+	caused not printing the pid ever again if a verbose was missing
+	the newline at the end
+	(_dbus_header_field_to_string): add HEADER_FIELD_SIGNATURE
+
+	* dbus/dbus-connection.c: verbosity changes; 
+	(dbus_connection_has_messages_to_send): new function
+	(_dbus_connection_message_sent): no longer call transport->messages_pending
+	(_dbus_connection_send_preallocated_unlocked): do one iteration to
+	try to write() immediately, so we can avoid the write watch. This
+	is the core purpose of this patchset
+	(_dbus_connection_get_dispatch_status_unlocked): if disconnected,
+	dump the outgoing message queue, so nobody will get confused
+	trying to send them or thinking stuff is pending to be sent
+
+	* bus/test.c: verbosity changes
+
+	* bus/driver.c: verbosity/assertion changes
+
+	* bus/dispatch.c: a bunch of little tweaks to get it working again
+	because this patchset changes when/where you need to block.
+
+2004-11-23  Havoc Pennington  <hp at redhat.com>
+
+	* test/glib/test-profile.c: modify to accept a plain_sockets
+	argument in which case it will bench plain sockets instead of
+	libdbus, for comparison purposes.
+
+2004-11-22  Havoc Pennington  <hp at redhat.com>
+
+	* test/glib/test-profile.c (N_CLIENT_THREADS): run multiple
+	threads for more time, so sysprof can get a grip on it.
+
+	* dbus/dbus-string.c (_dbus_string_validate_utf8): remove
+	pointless variable
+
+2004-11-13  Havoc Pennington  <hp at redhat.com>
+
+	* test/glib/test-profile.c: fix this thing up a bit
+
+	* dbus/dbus-message.c (dbus_message_new_empty_header): increase
+	preallocation sizes by a fair bit; not sure if this will be an
+	overall performance win or not, but it does reduce reallocs.
+
+	* dbus/dbus-string.c (set_length, reallocate_for_length): ignore
+	the test hack that forced constant realloc if asserts are
+	disabled, so we can profile sanely. Sprinkle in some
+	_DBUS_UNLIKELY() which are probably pointless, but before I
+	noticed the real performance problem I put them in.
+	(_dbus_string_validate_utf8): micro-optimize this thing a little
+	bit, though callgrind says it didn't help; then special-case
+	ascii, which did help a lot; then be sure we detect nul bytes as
+	invalid, which is a bugfix.
+	(align_length_then_lengthen): add some more _DBUS_UNLIKELY
+	superstition; use memset to nul the padding instead of a manual
+	loop.
+	(_dbus_string_get_length): inline this as a
+	macro; it showed up in the profile because it's used for loop
+	tests and so forth
+
+2004-11-10  Colin Walters  <walters at verbum.org>
+
+	* dbus/dbus-spawn.c (check_babysit_events): Handle EINTR,
+	for extra paranoia.
+
+2004-11-09  Colin Walters  <walters at verbum.org>
+
+	* dbus/dbus-string.c (_dbus_string_get_length): New
+	function, writes DBusString to C buffer.
+
+	* dbus/dbus-string.h: Prototype it.
+
+	* dbus/dbus-message.c (dbus_message_type_to_string): New
+	function, converts message type into C string.
+
+	* dbus/dbus-message.h: Prototype it.
+
+	* bus/selinux.c (bus_selinux_check): Take source pid,
+	target pid, and audit data.  Pass audit data to
+	avc_has_perm.
+	(log_audit_callback): New function, appends extra
+	audit information.
+	(bus_selinux_allows_acquire_service): Also take
+	service name, add it to audit data.
+	(bus_selinux_allows_send): Also take message
+	type, interface, method member, error name,
+	and destination, and add them to audit data.
+	(log_cb): Initialize func_audit.
+	
+	* bus/selinux.h (bus_selinux_allows_acquire_service)
+	(bus_selinux_allows_send): Update prototypes 
+
+	* bus/services.c (bus_registry_acquire_service): Pass
+	service name to bus_selinux_allows_acquire_service.
+
+	* bus/bus.c (bus_context_check_security_policy): Pass
+	additional audit data.  Move assignment of dest
+	to its own line.
+
+2004-11-07  Colin Walters  <walters at verbum.org>
+
+	* dbus/dbus-transport-unix.c (do_authentication): Always
+	initialize auth_completed.
+	
+2004-11-07  Colin Walters  <walters at verbum.org>
+
+	* bus/bus.c (load_config): Break into three
+	separate functions: process_config_first_time_only,
+	process_config_every_time, and process_config_postinit.
+	(process_config_every_time): Move call of
+	bus_registry_set_service_context_table into
+	process_config_postinit.
+	(process_config_postinit): New function, does
+	any processing that needs to happen late
+	in initialization (and also on reload).
+	(bus_context_new): Instead of calling load_config,
+	open config parser here and call process_config_first_time_only
+	and process_config_every_time directly.  Later, after
+	we have forked but before changing UID,
+	invoke bus_selinux_full_init, and then call
+	process_config_postinit.
+	(bus_context_reload_config): As in bus_context_new,
+	load parse file inside here, and call process_config_every_time
+	and process_config_postinit.
+
+	* bus/services.h, bus/services.c
+	(bus_registry_set_service_context_table): Rename
+	from bus_registry_set_sid_table.  Take string hash from config
+	parser, and convert them here into SIDs.
+
+	* bus/config-parser.c (struct BusConfigParser): Have
+	config parser only store a mapping of service->context
+	string.
+	(merge_service_context_hash): New function.
+	(merge_included): Merge context string hashes instead
+	of using bus_selinux_id_table_union.
+	(bus_config_parser_new): Don't use bus_selinux_id_table_new;
+	simply create a new string hash.
+	(bus_config_parser_unref): Unref it.
+	(start_selinux_child): Simply insert strings into hash,
+	don't call bus_selinux_id_table_copy_over.
+
+	* bus/selinux.h, bus/selinux.c (bus_selinux_id_table_union)
+	(bus_selinux_id_table_copy_over): Delete.
+
+2004-11-03  Colin Walters  <walters at verbum.org>
+
+	* bus/selinux.c (bus_selinux_pre_init): Kill some unused
+	variables.
+	
+2004-11-03  Colin Walters  <walters at verbum.org>
+
+	* bus/test-main.c (test_pre_hook): Fix test logic,
+	thanks Joerg Barfurth <Joerg.Barfurth at Sun.COM>.
+
+2004-11-02  Colin Walters  <walters at redhat.com>
+
+	* bus/selinux.c (bus_selinux_init): Split into two functions,
+	bus_selinux_pre_init and bus_selinux_post_init.
+	(bus_selinux_pre_init): Just determine whether SELinux is
+	enabled.
+	(bus_selinux_post_init): Do everything else.
+
+	* bus/main.c (main): Call bus_selinux_pre_init before parsing
+	config file, and bus_selinux_post_init after.  This ensures that
+	we don't lose the policyreload notification thread that
+	bus_selinux_init created before forking previously.
+	
+	* bus/test-main.c (test_pre_hook): Update for split.
+
+2004-10-31  Owen Fraser-Green  <owen at discobabe.net>
+
+	Patch from Johan Fischer <linux at fischaz.com>
+	
+	* mono/doc/Makefile.am (install-data-local): Added directory
+	install for DESTDIR
+
+2004-10-29  Colin Walters  <walters at redhat.com>
+
+	* dbus/dbus-sysdeps.h (_dbus_become_daemon): Also take
+	parameter for fd to write pid to.	
+
+	* dbus/dbus-sysdeps.c (_dbus_become_daemon): Implement it.
+	
+	* bus/bus.c (bus_context_new): Pass print_pid_fd
+	to _dbus_become_daemon (bug #1720)
+
+2004-10-29  Colin Walters  <walters at redhat.com>
+
+	Patch from Ed Catmur <ed at catmur.co.uk>
+
+	* mono/doc/Makefile.am (install-data-local): Handle
+	DESTDIR.
+
+2004-10-29  Colin Walters  <walters at redhat.com>
+
+	* bus/.cvsignore, qt/.cvsignore: Update.
+
+2004-10-29  Colin Walters  <walters at redhat.com>
+
+	Patch from Kristof Vansant <de_lupus at pandora.be>
+
+	* configure.in: Detect Slackware.
+	* bus/Makefile.am (SCRIPT_IN_FILES): Add rc.messagebus.in.
+	* bus/rc.messagebus.in: New file.
+
+2004-10-29  Colin Walters  <walters at redhat.com>
+
+	* tools/dbus-monitor.c (filter_func): Return
+	DBUS_HANDLER_RESULT_HANDLED in filter function
+	for now.  See:
+	http://freedesktop.org/pipermail/dbus/2004-August/001433.html
+
+2004-10-29  Colin Walters  <walters at redhat.com>
+
+	Patch from Matthew Rickard <mjricka at epoch.ncsc.mil>
+
+	* bus/services.c (bus_registry_acquire_service): 
+	Correctly retrieve service name from DBusString
+	for printing.
+
+2004-10-29  Colin Walters  <walters at redhat.com>
+
+	* dbus/dbus-glib.h: Update documentation to not
+	refer to internal APIs.
+
+2004-10-27  Joe Shaw  <joeshaw at novell.com>
+
+	* mono/Arguments.cs (GetDBusTypeConstructor):
+	type.UnderlyingSystemType will return "System.Byte" if you do it
+	on "byte[]", which is not what we want.  So check the type.IsArray
+	property and use System.Array instead.
+
+2004-10-25  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-sysdeps.c (fill_user_info): On errors do not free
+	the DBusUserInfo structure since this is passed into the function.
+	This would cause a double free when the function that allocated
+	the structure would try to free it when an error occured.
+
+	* (bus/session.conf.in, bus/Makefile.am, dbus/configure.in):
+	use /usr/share/dbus-1/services instead of /usr/lib/dbus-1.0/services
+	for service activation to avoid 32bit/64bit parallel install issues
+
+2004-10-21  Colin Walters  <walters at verbum.org>
+
+	* AUTHORS: Fix my email address, the @gnu.org one
+	has been bouncing for some time.  Also add J5.
+	
+2004-10-21  Colin Walters  <walters at verbum.org>
+
+	* dbus/dbus-transport-unix.c (do_authentication): Return
+	authentication status to callers.
+	(unix_handle_watch): If we completed authentication this round,
+	don't do another read.  Instead wait until the next iteration,
+	after we've read any pending data in the auth buffer.
+	(unix_do_iteration): Ditto.
+	(unix_handle_watch): Updated for new do_authentication prototype.
+
+2004-10-18  Colin Walters  <walters at verbum.org>
+
+	* bus/selinux.c (bus_selinux_enabled): Handle
+	--disable-selinux case.
+	
+2004-10-18  Colin Walters  <walters at verbum.org>
+
+	* bus/selinux.h: Add bus_selinux_enabled.
+	
+	* bus/selinux.c (bus_selinux_enabled): Implement it.
+	
+	* bus/config-parser.c (struct include): Add
+	if_selinux_enabled member.
+	(start_busconfig_child): Parse if_selinux_enabled
+	attribute for include.
+	(bus_config_parser_content): Handle it.
+
+	* bus/session.conf.in, bus/system.conf.in: Add
+	inclusion of context mapping to default config files;
+	conditional on SELinux being enabled.
+	
+	* doc/busconfig.dtd: Add to if_selinux_enabled to default DTD.
+	
+	* test/data/invalid-config-files/badselinux-1.conf, 
+	test/data/invalid-config-files/badselinux-2.conf:
+	Test files for bad syntax.
+	
+2004-10-17  Colin Walters  <walters at verbum.org>
+
+	* dbus/dbus-memory.c (_dbus_initialize_malloc_debug, check_guards)
+	(dbus_malloc, dbus_malloc0, dbus_realloc): Fix up printf
+	format specifier mismatches.
+
+2004-10-07  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* dbus/dbus-sysdeps.c (_dbus_file_get_contents): fix an incorrect
+	format string.
+
+	* glib/dbus-dbus-gmain.c (dbus_g_bus_get): do not mangle NULL
+	pointer (bug #1540, Leonardo Boiko).
+
+2004-09-28  Jon Trowbridge  <trow at ximian.com>
+
+	* mono/BusDriver.cs: Changed BusDriver struct to remove
+	the ServiceCreated and ServiceDeleted events and replace them
+	with the new ServiceOwnerChanged event.
+
+	* mono/example/BusListener.cs: Added a new example program,
+	which listens for and reports any ServiceOwnerChanged events
+	on the bus driver.
+
+	* mono/example/Makefile.am (DESTDIR): Build changes for the
+	new BusListener.cs example.
+
+2004-09-27  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* bus/signals.c (bus_match_rule_parse): validate the components of
+	match rules (bug #1439).
+
+	* dbus/dbus-bus.c (dbus_bus_add_match): add a missing OOM test.
+
+2004-09-24  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* doc/dbus-specification.xml: document ServiceOwnerChanged
+	signal.
+	
+	* bus/driver.c, bus/driver.h, bus/services.c: Use
+	ServiceOwnerChanged signal instead of ServiceCreated and
+	ServiceDeleted.
+	
+	* bus/dispatch.c: update testcase for the new signal.
+
+2004-09-20  Jon Trowbridge  <trow at ximian.com>
+
+	Patch from Nat Friedman <nat at novell.com>
+
+	* mono/Makefile.am: A number of small build fixes to allow "make
+	distcheck" to succeed.
+
+	* mono/example/Makefile.am: "make distcheck" fixes.
+
+	* mono/AssemblyInfo.cs.in: When signing the assembly, look for the
+	key in @srcdir at .
+
+	* test/Makefile.am: "make distcheck" fixes.
+
+2004-09-17  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* dbus/dbus-sysdeps.c (_dbus_user_at_console): fix memleak in OOM.
+
+	* doc/busconfig.dtd: update the DTD for the at_console attribute.
+
+	* bus/driver.c (bus_driver_handle_hello): correctly handle Hello
+	messages after the first one (bug #1389).
+	
+	* bus/dispatch.c (check_double_hello_message): add a test case for
+	the double hello message bug.
+	(check_existent_service_activation): fix check of spawning error.
+	
+2004-09-16  David Zeuthen  <david at fubar.dk>
+
+	* python/dbus_bindings.pyx.in: Add support for int64 and uint64
+
+2004-09-12  David Zeuthen  <david at fubar.dk>
+
+	Patch from Kay Sievers <kay.sievers at vrfy.org>
+
+	* bus/bus.c (bus_context_new):
+	* bus/bus.h:
+	* bus/main.c (usage)
+	(main):
+	Add commandline option --nofork to override configuration file
+	setting.
+
+2004-09-09  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* dbus/dbus-*.h: remove the ; after DBUS_(BEGIN|END)_DECLS. Some C
+	compilers don't like it (bug #974).
+
+2004-09-04  Harald Fernengel  <harry at kdevelop.org>
+
+	* qt/connection.*: Applied patch by Jérôme Lodewyck
+	<lodewyck at clipper.ens.fr> to integrate an existing
+	connection into the Qt eventloop
+
+2004-08-30  Jon Trowbridge  <trow at ximian.com>
+
+	* mono/BusDriver.cs: Added.  This is a class for interacting with
+	the org.freedesktop.DBus service.
+
+	* mono/Message.cs: Added a mechanism to expose the message that is
+	currently being dispatched via the static Message.Current
+	property.  Added Message.Sender and Message.Destination
+	properties.
+
+	* mono/Handler.cs: Expose the dispatched message via
+	Message.Current when handling method calls.
+
+	* mono/Service.cs: Expose the dispatched message via
+	Message.Current when handling signal emissions.
+	
+	* mono/Connection.cs: Bind dbus_bus_get_base_service via the
+	Connection.BaseService property.
+
+2004-08-28  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-userdb.c (_dbus_is_console_user): remove unused variable
+
+        More fixes from Steve Grubb
+	
+	* dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix fd leak
+	(_dbus_listen_tcp_socket): fix fd leak
+
+	* dbus/dbus-spawn.c (read_pid, read_ints): move the "again:" for
+	EINTR to a bit lower in the code
+
+2004-08-26  Jon Trowbridge  <trow at ximian.com>
+
+	* bus/driver.c (bus_driver_handle_service_exists): Respond with
+	TRUE if we are inquiring about the existence of the built-in
+	org.freedesktop.DBus service.
+
+2004-08-25  John Palmieri  <johnp at redhat.com>
+	* bus/config-parser.c:
+	(struct PolicyType): Add POLICY_CONSOLE
+	(struct Element.d.policy): s/gid_or_uid/gid_uid_or_at_console
+	(start_busconfig_child): Sets up console element when
+	<policy at_console=""> is encountered in a policy file
+	(append_rule_from_element): Convert console elements to console
+	rules.
+
+	* bus/policy.c: 
+	(bus_policy_create_client_policy): Add console rules to the client
+	policy based on if the client is at the console
+	(bus_policy_append_console_rule): New function for adding a
+	console rule to a policy
+	(bus_policy_merge): Handle console rule merging
+
+	* dbus/dbus-sysdeps.h: Added the DBUS_CONSOLE_DIR constant
+	where we check for console user files
+	
+	* dbus/dbus-sysdeps.c:
+	(_dbus_file_exists): New function which checks if the given
+	file exists
+	(_dbus_user_at_console): New function which does the system
+	specific process of checking if the user is at the console
+
+	* dbus/dbus-userdb.c:
+	(_dbus_is_console_user): New function converts a UID to user name
+	and then calls the system specific _dbus_user_at_console to 
+	see if the user is at the console and therefor a console user
+
+2004-08-25  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* bus/config-parser.c (set_limit):
+	* bus/dbus-daemon-1.1.in:
+	* test/data/valid-config-files/many-rules.conf: set the
+	max_match_rules_per_connection limt from the config file. 
+
+	* doc/busconfig.dtd: update the DTD.
+
+	* bus/driver.c: remove some unused variables.
+
+2004-08-24  Mikael Hallendal  <micke at imendio.com>
+
+	* dbus/dbus-glib-lowlevel.h: Removed dbus_bus_get_with_g_main since 
+	it's been replaced by dbus_g_bus_get
+
+2004-08-23  Colin Walters  <walters at redhat.com>
+
+	Updated SELinux support from Matthew Rickard <mjricka at epoch.ncsc.mil>
+
+	* bus/selinux.h: Prototype bus_selinux_get_policy_root.
+
+	* bus/selinux.c: Create a thread for policy reload notification.
+	(bus_selinux_get_policy_root): Implement.
+
+	* bus/config-parser.c (start_busconfig_child)
+	(bus_config_parser_content): Support SELinux-root relative
+	inclusion.
+
+	* configure.in <HAVE_SELINUX>: Add -lpthread.
+	
+	* bus/test-main.c (test_pre_hook, test_post_hook): New.
+	(test_post_hook): Move memory checking into here.
+	(test_pre_hook, test_post_hook): Move SELinux checks in
+	here, but conditional on a DBUS_TEST_SELINUX environment
+	variable.  Unfortunately we can't run the SELinux checks
+	as a normal user, since they won't have any permissions
+	for /selinux.  So this will have to be tested manually
+	for now, until we have virtualization for most of
+	libselinux.
+	
+2004-08-23  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-sysdeps.c (_dbus_change_identity): add setgroups() to
+	drop supplementary groups, suggested by Steve Grubb
+
+2004-08-20  Colin Walters  <walters at redhat.com>
+
+	* bus/config-parser.c (start_busconfig_child): Remove some unused
+	variables.
+	
+	* bus/selinux.c (bus_selinux_id_table_insert): Avoid compiler
+	warning.
+
+2004-08-17  Joe Shaw  <joeshaw at novell.com>
+
+	* configure.in: If --enable-mono is passed in, if we can't find
+	mono error out.
+
+	* mono/Makefile.am: Use /gacutil to install assemblies into the
+	GAC and not /root.
+
+2004-08-12  Havoc Pennington  <hp at redhat.com>
+
+	* NEWS: update for 0.22
+
+	* configure.in: release 0.22
+
+2004-08-11  Colin Walters  <walters at redhat.com>
+
+	* tools/dbus-send.c (main, usage): Add --reply-timeout
+	argument.
+
+2004-08-10  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* bus/bus.c (process_config_first_time_only): get rid of an unused
+	DBusError that was causing a memoy leak (bug #989).
+
+	* dbus/dbus-keyring.c, dbus/dbus-message.c:
+	fix compilation on Solaris/Forte C (bug #974)
+
+	* bus/main.c (main): plug two minuscule memleaks.
+
+2004-08-10  Havoc Pennington  <hp at redhat.com>
+
+	* doc/dbus-tutorial.xml: add some more info on GLib bindings
+
+2004-08-09  Havoc Pennington  <hp at redhat.com>
+
+	* COPYING: switch to Academic Free License version 2.1 instead of
+	2.0, to resolve complaints about patent termination clause.
+
+2004-07-31  John (J5) Palmieri  <johnp at redhat.com>
+
+	* README: added documentation for the --enable-python 
+	configure switch.
+
+2004-07-31  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* bus/config-parser.c (bus_config_parser_new): fix an invalid
+	_unref in the SELinux support.
+
+	* doc/busconfig.dtd: update DTD for SELinux support.
+
+	* bus/config-loader-libxml.c: fix error handler and parser
+	initialisation/cleanup. OOM test now works with libxml2 HEAD.
+
+	* configure.in: remove the warning about libxml2.
+
+	* dbus/dbus-bus.c: silence doxygen warning.
+
+2004-07-31  Colin Walters  <walters at redhat.com>
+
+	* configure.in: Move #error in SELinux check to its own line.
+
+2004-07-31  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* dbus/dbus-internals.h (_DBUS_SET_OOM):
+	* bus/utils.h (BUS_SET_OOM): use dbus_error_set_const instead of
+	dbus_error_set.
+
+	* bus/dispatch.c (check_send_exit_to_service): fix the test case,
+	broken by the change in the _SET_OOM macros.
+
+2004-07-31  Colin Walters  <walters at redhat.com>
+
+	* bus/selinux.c <HAVE_SELINUX>: Include utils.h to get
+	BUS_SET_OOM.
+
+2004-07-31  Colin Walters  <walters at redhat.com>
+
+	* configure.in: Use AC_TRY_COMPILE instead of AC_EGREP_HEADER
+	to correctly detect DBUS__ACQUIRE_SVC.  Also add an
+	AC_MSG_CHECKING.
+
+2004-07-24  Havoc Pennington  <hp at redhat.com>
+
+	SELinux support from Matthew Rickard <mjricka at epoch.ncsc.mil>
+
+	* bus/selinux.c, bus/selinux.h: new file encapsulating selinux
+	functionality
+
+	* configure.in: add --enable-selinux
+	
+	* bus/policy.c (bus_policy_merge): add FIXME to a comment
+
+	* bus/main.c (main): initialize and shut down selinux
+
+	* bus/connection.c: store SELinux ID on each connection, to avoid 
+	repeated getting of the string context and converting it into 
+	an ID
+
+	* bus/bus.c (bus_context_get_policy): new accessor, though it
+	isn't used
+	(bus_context_check_security_policy): check whether the security
+	context of sender connection can send to the security context of
+	recipient connection
+
+	* bus/config-parser.c: add parsing for <selinux> and <associate>
+	
+	* dbus/dbus-transport.c (_dbus_transport_get_unix_fd): to
+	implement dbus_connection_get_unix_fd()
+
+	* dbus/dbus-connection.c (dbus_connection_get_unix_fd): new
+	function, used by the selinux stuff
+	
+2004-07-29  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* bus/config-loader-libxml.c: complete the implementation of
+	libxml backend for config file loader. Doesn't work with full OOM
+	test yet. 
+	
+	* configure.in: change error when selecting libxml into a warning.
+	
+	* test/data/invalid-config-files: add two non-well-formed XML
+	files. 
+	
+	* glib/Makefile.am: libdbus_gtool always uses expat, not libxml.
+	
+	* dbus/dbus-transport-unix.c (unix_handle_watch): do not
+	disconnect in case of DBUS_WATCH_HANGUP, several do_reading() may
+	be necessary to read all the buffer. (bug #894)
+
+	* bus/activation.c (bus_activation_activate_service): fix a
+	potential assertion failure (bug #896). Small optimization in the
+	case of auto-activation messages.
+
+	* dbus/dbus-message.c (verify_test_message, _dbus_message_test):
+	add test case for byte-through-vararg bug (#901). patch by Kimmo
+	Hämäläinen. 
+
+2004-07-28  Anders Carlsson  <andersca at gnome.org>
+
+	* python/dbus.py:
+	* python/dbus_bindings.pyx.in:
+	Add dbus.init_gthreads (), allow emit_signal to pass
+	arguments to the signal.
+	
+2004-07-24  Havoc Pennington  <hp at redhat.com>
+
+	* AUTHORS: add some people, not really comprehensively, let me
+	know if I missed you
+
+2004-07-24  Havoc Pennington  <hp at redhat.com>
+
+	* Makefile.am (DIST_SUBDIRS): add DIST_SUBDIRS, problem solved by
+	Owen
+
+	* test/Makefile.am (DIST_SUBDIRS): here also
+
+2004-07-22  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* dbus/dbus-sysdeps.c (fill_user_info): fix inexistent label name,
+	breaking build on Solaris, reported by Farhad Saberi on the ML.
+
+	* dbus/dbus-message.c (dbus_message_append_args_valist): fix the
+	va_arg invocation to account for integer promotion in the case of
+	DBUS_TYPE_BYTE (unsigned char is promoted to int). (bug #901)
+
+	* bus/services.c (bus_service_remove_owner): fix bug #902, use
+	_dbus_list_get_first_link, not _dbus_list_get_first.
+
+	* dbus/dbus-bus.c (dbus_bus_service_exists): plug a memory leak.
+
+	* dbus/dbus-object-tree.c (free_subtree_recurse): always null
+	handler functions so that the asserts in _dbus_object_subtree_unref
+	do not fail.
+
+	* dbus/dbus-transport-unix.c (do_reading):
+	_dbus_transport_queue_messages return value is of type
+	dbus_bool_t, not DBusDispatchStatus.
+	
+2004-07-19  David Zeuthen  <david at fubar.dk>
+
+	* dbus/dbus-protocol.h: Add DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN
+
+	* bus/dispatch.c:
+	(check_get_connection_unix_user): Debug says GetProperty; but the
+	method is called GetConnectionUnixUser
+	(check_get_connection_unix_process_id): New function
+	(bus_dispatch_test): Actually call check_get_connection_unix_user();
+	also call check_get_connection_unix_process_id()
+	
+	* bus/driver.c:
+	(bus_driver_handle_get_connection_unix_process_id): New function,
+	handles GetConnectionUnixProcessID on the org.freedesktop.DBus
+	interface
+	
+	* dbus/dbus-auth.c:
+	(handle_server_data_external_mech): Set pid from the credentials
+	obtained from the socket
+	
+	* dbus/dbus-connection.c:
+	(dbus_connection_get_unix_process_id): New function
+	
+	* dbus/dbus-connection.h: 
+	Add prototype for dbus_connection_get_unix_process_id
+	
+	* dbus/dbus-transport.c:
+	(_dbus_transport_get_unix_process_id): New function
+	
+	* dbus/dbus-transport.h:
+	Add prototype for _dbus_transport_get_unix_process_id
+	
+2004-07-19  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* dbus/dbus-message.c: Message counter fix, patch by Christian
+	Hammond <chipx86 at gnupdate.org>
+
+2004-07-18  Seth Nickell  <seth at gnome.org>
+
+	* python/dbus.py:
+	* python/dbus_bindings.pyx.in:
+	* python/tests/test-client.py:
+
+	Add dbus.ByteArray and dbus_bindings.ByteArray
+	types so that byte streams can be passed back.
+
+	Give jdahlin the heaps of credit that are so
+	rightfully his.
+	
+2004-07-12  Seth Nickell  <seth at gnome.org>
+
+	* python/dbus.py:
+
+	Add message argument to the default object_method_handler
+	function.
+	
+	* python/dbus_bindings.pyx.in:
+
+	Automatically return NIL when passed an empty list
+	(we can't pass back a list since lists are typed
+	and we don't have any idea what type the the client
+	intended the list to be... :-( )
+	
+2004-07-10  Seth Nickell  <seth at gnome.org>
+
+	* python/examples/Makefile.am:
+
+	Fix distcheck breakage caused by new examples.
+
+2004-07-10  Seth Nickell  <seth at gnome.org>
+
+	* python/dbus.py:
+
+	Add "message" argument to service-side dbus.Object
+	methods. This will break existing services written
+	using the python bindings, but will allow extraction
+	of all the message information (e.g. who its from).
+
+	Add improved "object oriented" signal handling/emission.
+	
+	* python/examples/example-service.py:
+
+	Nix this example.
+	
+	* python/examples/example-signal-emitter.py:
+	* python/examples/example-signal-recipient.py:
+
+	Two new examples that show how to emit and receive
+	signals using the new APIs.
+	
+	* python/examples/example-signals.py:
+	* python/examples/gconf-proxy-service.py:
+	* python/examples/gconf-proxy-service2.py:
+
+	Add "message" argument to service methods.
+
+2004-06-28  Kay Sievers <kay.sievers at vrfy.org>
+
+	* bus/driver.c (bus_driver_handle_get_connection_unix_user)
+	* dbus/bus.c (dbus_bus_get_unix_user)
+	* doc/dbus-specification.xml: implement GetConnectionUnixUser
+	method of org.freedesktop.DBus interface.
+
+	* bus/dispatch.c: test case
+
+2004-06-23  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/Makefile.am: switched include directory from glib/ to dbus/
+	since dbus-glib.h moved
+ 
+2004-06-22  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* configure.in: prevent building the gcj stuff and libxml loader
+	since they are broken.
+
+2004-06-20  Havoc Pennington  <hp at redhat.com>
+
+        * dbus/dbus-glib-error-enum.h: autogenerate the GError enum 
+	codes from the dbus error names
+	
+        * glib/dbus-glib.h: move to subdir dbus/ since it's included 
+	as dbus/dbus-glib.h and that breakage is now visible due to 
+	including dbus/dbus-glib.h in dbus-glib-lowlevel.h
+	
+	* glib/dbus-glib.h: s/gproxy/g_proxy/
+
+	* dbus/dbus-shared.h: new header to hold stuff shared with
+	binding APIs
+	
+	* dbus/dbus-protocol.h (DBUS_ERROR_*): move errors here rather
+	than dbus-errors.h
+
+	* glib/dbus-glib.h (dbus_set_g_error): move to
+	dbus-glib-lowlevel.h
+
+	* glib/dbus-glib.h: remove dbus/dbus.h from here; change a bunch
+	of stuff to enable this
+
+	* dbus/dbus-glib-lowlevel.h: put dbus/dbus.h here
+
+	* a bunch of other changes with the same basic "separate glib 
+	bindings from dbus.h" theme
+	
+2004-06-10  Owen Fraser-Green  <owen at discobabe.net>
+
+	* dbus-sharp.pc.in: Removed glib-sharp inclusion in Libs.
+
+	* python/examples/Makefile.am: Fixed typo in EXTRA_DIST.
+
+2004-06-09  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* bus/driver.c, dbus/dbus-bus.c: use BOOLEAN instead of UINT32 for
+	the reply value of the ServiceExists message.
+
+2004-06-07  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/dbus_bindings.pyx.in: No longer need to parse path
+	elements and pass them as arrays of strings.  The C API now
+	accepts plain path strings.
+	(_build_parsed_path): removed 
+
+2004-06-07  Havoc Pennington  <hp at redhat.com>
+
+	* doc/TODO: remove auto-activation item since it's done; sort
+	items by importance/milestone
+
+2004-06-07  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-message-builder.c (_dbus_message_data_load): append
+	random signature when using REQUIRED_FIELDS (this hack won't work
+	in the long term)
+
+	* dbus/dbus-message.c: change the signature to be a header field,
+	instead of message->signature special-case string. Incremental
+	step forward. Then we can fix up code to send the signature in the
+	message, then fix up code to validate said signature, then fix up
+	code to not put the typecodes inline, etc.
+	(load_one_message): don't make up the signature after the fact
+	(decode_header_data): require signature field for the known
+	message types
+
+	* dbus/dbus-marshal.c (_dbus_marshal_string_len): new
+
+	* dbus/dbus-protocol.h: add DBUS_HEADER_FIELD_SIGNATURE
+
+2004-06-07  Owen Fraser-Green  <owen at discobabe.net>
+
+	* mono/DBusType/ObjectPath.cs: Renamed PathName argument to Path
+
+	* mono/Handler.cs: Updated to follow new path argument for
+	(un-)registering objects.
+
+	* mono/example/Makefile.am:
+	* mono/Makefile.am:
+	* configure.in: Bumped required version for mono and use new -pkg
+	syntax for deps
+
+2004-06-05  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* dbus/dbus-connection.h, dbus/dbus-connection.c: have object path
+	registration functions take the path argument as char* instead of
+	char**.
+
+	* dbus/dbus-marshal.h, dbus/dbus-marshal.c (_dbus_decompose_path):
+	split off the path decompostion part of
+	_dbus_demarshal_object_path. Some misc. fixes to silence compiler
+	warnings. 
+
+	* glib/dbus-gobject.c, test/test-service.c: update accordingly.
+	
+2004-06-02  Kristian Høgsberg  <krh at redhat.com>
+ 
+	* dbus/dbus-auth.c: Rewrite auth protocol handling to use a state
+	machine approach.  A state is implemented as a function that
+	handles incoming events as specified for that state.
+	
+	* doc/dbus-specification.xml: Update auth protocol state machine
+	specification to match implementation.  Remove some leftover
+	base64 examples.
+
+2004-06-02  Kristian Høgsberg  <krh at redhat.com>
+
+	* glib/dbus-gproxy.c, glib/dbus-gmain.c, dbus/dbus-string.c,
+	dbus/dbus-object-tree.c, dbus/dbus-message.c: add comments to
+	quiet doxygen.
+
+	* Doxyfile.in: remove deprecated options.
+
+	* dbus/dbus-message-handler.c, dbus/dbus-message-handler.h,
+	glib/test-thread.h, glib/test-thread-client.c,
+	glib/test-thread-server.c, glib/test-profile.c,
+	glib/test-dbus-glib.c: remove these unused files.
+
+2004-06-01  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* dbus/dbus-object-tree.c
+	(_dbus_object_tree_dispatch_and_unlock): fix dispatch for
+	non-fallback handlers (bug #684).
+	(_dbus_object_subtree_new): initialize invoke_as_fallback field.
+	(find_subtree_recurse): report wether the returned subtree is an
+	exact match or a "fallback" match higher up in the tree.
+	(object_tree_test_iteration): update test case.
+
+2004-06-01  Seth Nickell  <seth at gnome.org>
+
+	* python/dbus_bindings.pyx.in:
+	* python/tests/test-client.py:
+
+	Round off basic type support. Add dicts (yay!), and 
+	remaining array types.
+
+	Make MessageIter more general so it works for dicts too.
+
+	Mark all loop variables as C integers.
+	
+2004-05-31  Havoc Pennington  <hp at redhat.com>
+
+	* glib/dbus-gidl.c (method_info_add_arg): keep args sorted with
+	"in" before "out"
+
+	* glib/dbus-gobject.c (dbus_type_to_string): move to dbus-gutils.c
+
+	* glib/dbus-glib-tool.c (main): set up to have a --self-test
+	option that runs the tests, and start filling in some code
+	including for starters just dumping the interfaces to stdout
+
+	* glib/Makefile.am (INCLUDES): define DBUS_LOCALEDIR
+
+	* test/data/valid-introspection-files/lots-of-types.xml: test of
+	an example introspection file
+
+	* glib/dbus-gparser.c (parser_check_doctype): doctype should be
+	"node" (I think...)
+
+2004-05-31  Seth Nickell  <seth at gnome.org>
+
+	* python/dbus_bindings.pyx.in:
+	* python/tests/test-client.py:
+
+	Test Suite: 1
+	Python Bindings: 0
+
+	Fix string array memory trashing bug... oops...
+
+2004-05-30  Seth Nickell  <seth at gnome.org>
+
+	* python/dbus.py:
+
+	Add a nicer-but-less-flexible alternate API for handling 
+	calls to virtual objects in dbus.ObjectTree.
+
+	Screw up the argument order to the dbus.Object constructor
+	for consistency with dbus.ObjectTree (and to make dbus_methods
+	optional for future extension)
+	
+	* python/examples/Makefile.am:
+	* python/examples/gconf-proxy-service.py:
+	* python/examples/gconf-proxy-service2.py:
+
+	Alternate implementation of gconf-proxy-service using the
+	nicer dbus.ObjectTree API.
+	
+	* python/examples/example-service.py:
+	* python/tests/test-server.py
+
+	Reverse the argument order to deal with dbus.Object constructor
+	changes.
+	
+2004-05-30  Seth Nickell  <seth at gnome.org>
+
+	* python/examples/example-client.py:
+	* python/examples/example-service.py:
+
+	Take it back. Lists seem to work but they're broken
+	in the test suite. Make the base examples use
+	lists (works fine).
+
+2004-05-30  Seth Nickell  <seth at gnome.org>
+
+	* python/dbus_bindings.pyx.in:
+	* python/tests/test-client.py:
+
+	Add some more tests and fix errors that crop up.
+	Unfortunately, currently it seems like marshalling
+	and unmarshalling of lists is completely broken :-(
+
+2004-05-30  Seth Nickell  <seth at gnome.org>
+
+	* python/dbus_bindings.pyx.in:
+
+	Add support for ObjectPath type.
+
+	* python/dbus.py:
+
+	Refactor message handling code to a common function.
+	
+	* python/tests/test-client.py:
+	* python/tests/test-server.py:
+
+	Add tests that check to make sure values of all types
+	can be echoed from a service w/o mangling.
+	
+2004-05-29  Seth Nickell  <seth at gnome.org>
+
+	* python/dbus.py:
+
+	Add ObjectTree class which allows implementation
+	of trees of "virtual" objects. Basically the python
+	wrapper for "register_fallback".
+	
+	* python/examples/Makefile.am
+	* python/examples/gconf-proxy-client.py:
+	* python/examples/gconf-proxy-service.py:
+
+	Implement a simple GConf proxy service that supports
+	get/set on string and int GConf keys using the ObjectTree.
+	
+2004-05-29  Seth Nickell  <seth at gnome.org>
+
+	* python/dbus.py:
+	* python/examples/example-client.py:
+	* python/examples/example-service.py:
+	* python/examples/list-system-services.py:
+
+	Add SessionBus, SystemBus and ActivationBus classes
+	so you don't need to know the special little BUS_TYPE
+	flag.
+	
+2004-05-29  Havoc Pennington  <hp at redhat.com>
+
+	* bus/config-parser.c (process_test_valid_subdir): temporarily
+	stop testing config parser OOM handling, since expat has issues
+	http://freedesktop.org/pipermail/dbus/2004-May/001153.html
+
+	* bus/dbus-daemon-1.1.in: change requested_reply to
+	send_requested_reply/receive_requested_reply so we can send the
+	replies, not just receive them.
+
+	* bus/config-parser.c: parse the new
+	send_requested_reply/receive_requested_reply
+
+	* bus/policy.c (bus_client_policy_check_can_send): add
+	requested_reply argument and use it
+
+	* bus/bus.c (bus_context_check_security_policy): pass through
+	requested_reply status to message send check
+
+	* bus/system.conf.in: adapt to requested_reply change
+	
+2004-05-28  Havoc Pennington  <hp at redhat.com>
+
+	* test/glib/test-service-glib.c (main): remove unused variable
+
+	* glib/dbus-gidl.c (base_info_ref): fix a silly compiler warning
+
+	* dbus/dbus-auth.h (enum): remove AUTHENTICATED_WITH_UNUSED_BYTES
+	from the enum, no longer in use.
+
+	* dbus/dbus-sysdeps.h: include config.h so DBUS_VA_COPY actually
+	works right.
+
+	* dbus/dbus-message.c: add various _dbus_return_val_if_fail for
+	whether error_name passed in is a valid error name.
+
+2004-05-28  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-message.c (dbus_message_get_args): Added support for
+	OBJECT_PATH and OBJECT_PATH_ARRAY
+
+2004-05-28  Seth Nickell  <seth at gnome.org>
+
+	* python/examples/Makefile.am:
+
+	Forget to add Makefile.am. Do not pass go.
+
+2004-05-28  Michael Meeks  <michael at ximian.com>
+
+	* glib/dbus-gvalue.c (dbus_gvalue_marshal, dbus_gvalue_demarshal): 
+	fix no int64 case.
+
+	* dbus/dbus-string.c (_dbus_string_parse_basic_type): impl.
+
+	* dbus/dbus-message.c (_dbus_message_iter_get_basic_type),
+	(_dbus_message_iter_get_basic_type_array): impl.
+	drastically simplify ~all relevant _get methods to use these.
+	(_dbus_message_iter_append_basic_array),
+	(dbus_message_iter_append_basic): impl
+	drastically simplify ~all relevant _append methods to use these.
+
+	* dbus/dbus-message-builder.c (parse_basic_type) 
+	(parse_basic_array, lookup_basic_type): impl.
+	(_dbus_message_data_load): prune scads of duplicate /
+	cut & paste coding.
+
+	* dbus/dbus-marshal.c (_dbus_demarshal_basic_type_array) 
+	(_dbus_demarshal_basic_type): implement,
+	(demarshal_and_validate_len/arg): beef up debug.
+	(_dbus_marshal_basic_type, _dbus_marshal_basic_type_array): impl.
+
+2004-05-27  Seth Nickell  <seth at gnome.org>
+
+	* configure.in:
+	* python/Makefile.am:
+
+	Include the example python apps in the tarball.
+	
+	* python/examples/list-system-services.py
+
+	Add a python new example that fetches the list of services
+	from the system bus.
+	
+2004-05-27  Seth Nickell  <seth at gnome.org>
+
+	* python/dbus.py:
+	* python/dbus_bindings.pyx.in:
+
+	Fix failure to notify that a signal was not handled,
+	resulted in hung functions.
+	
+2004-05-25  Colin Walters  <walters at redhat.com>
+
+	* tools/dbus-monitor.c (main): Monitor all types of messages.
+
+2004-05-23  Owen Fraser-Green  <owen at discobabe.net>
+
+	* mono/Handler.cs, mono/Service.cs: Added UnregisterObject method
+	which unregisters the object path and disposes the handler.
+
+2004-05-23  Kristian Høgsberg  <krh at redhat.com>
+ 
+        Patch from Timo Teräs <ext-timo.teras at nokia.com> (#614):
+         
+	* dbus/dbus-message.c (dbus_message_iter_get_args_valist): Swap
+        operands to && so we call dbus_message_iter_next () for the last
+        argument also.
+
+2004-05-21  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* dbus/dbus-object-tree.c
+	(_dbus_object_tree_list_registered_unlock, lookup_subtree): return
+	children even if the requested path isn't registered.
+	(object_tree_test_iteration): test object_tree_list_registered.
+
+	* configure.in: undefine HAVE_ABSTRACT_SOCKETS instead of defining
+	it to 0.
+	
+2004-05-20  Kristian Høgsberg  <krh at redhat.com>
+
+	* doc/TODO: Remove resolved items.
+
+	* bus/expirelist.h (struct BusExpireList): remove unused n_items
+	field.
+	
+	* bus/connection.c (bus_connections_expect_reply): Enforce the
+	per-connection limit on pending replies.
+	
+	Patch from Jon Trowbridge <trow at ximian.com>:
+ 
+ 	* bus/main.c (setup_reload_pipe): Added.  Creates a pipe and sets
+ 	up a watch that triggers a config reload when one end of the pipe
+ 	becomes readable.
+ 	(signal_handler): Instead of doing the config reload in our SIGHUP
+ 	handler, just write to the reload pipe and let the associated
+ 	watch handle the reload when control returns to the main loop.
+ 
+ 	* bus/driver.c (bus_driver_handle_reload_config): Added.
+ 	Implements a ReloadConfig method for requesting a configuration
+ 	file reload via the bus driver.
+ 
+2004-05-19  Owen Fraser-Green  <owen at discobabe.net>
+
+	* HACKING: Updated release instructions concerning the wiki page.
+
+2004-05-18  Kristian Høgsberg  <krh at redhat.com>
+
+ 	* dbus/dbus-auth.c (client_try_next_mechanism): Remove logic to
+	filter against auth->allowed_mechs; we only add allowed mechs in
+	record_mechanisms().
+ 
+ 	* dbus/dbus-auth-script.c (_dbus_auth_script_run): Add an
+	ALLOWED_MECHS to auth-script format so we can set the list of
+	allowed mechanisms.
+ 
+ 	* data/auth/client-out-of-mechanisms.auth-script: New test to
+	check client disconnects when it is out of mechanisms to try.
+ 
+ 	* dbus/dbus-auth.c (process_command): Remove check for lines
+	longer that 1 MB; we only buffer up maximum 16 kB.
+ 
+ 	* dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
+	dbus/dbus-auth-script.c, dbus/dbus-auth.c, dbus/dbus-auth.h:
+	Remove auth state AUTHENTICATED_WITH_UNUSED_BYTES, instead always
+	assume there might be unused bytes.
+ 
+ 	* dbus/dbus-auth.c (_dbus_auth_do_work): Remove check for
+	client-out-of-mechs, it is handled in process_reject(). Move check
+	for max failures to send_rejected(), as it's a server-only thing.
+
+	* dbus/dbus-auth.c: Factor out protocol reply code into functions
+	send_auth(), send_data(), send_rejected(), send_error(),
+	send_ok(), send_begin() and send_cancel().
+
+2004-05-17  Kristian Høgsberg  <krh at redhat.com>
+
+	Remove base64 encoding, replace with hex encoding. Original patch
+	from trow at ximian.com, added error handling.
+
+	* dbus/dbus-string.c (_dbus_string_base64_encode)
+	(_dbus_string_base64_decode): Remove.
+	(_dbus_string_hex_decode): Add end_return argument so we can
+	distinguish between OOM and invalid hex encoding.
+	(_dbus_string_test): Remove base64 tests and add test case for
+	invalid hex.
+
+	* dbus/dbus-keyring.c, dbus/dbus-auth-script.c, dbus/dbus-auth.c:
+	Replace base64 with hex.
+
+	* test/data/auth/invalid-hex-encoding.auth-script: New test case
+	for invalid hex encoded data in auth protocol.
+
+2004-05-17  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* dbus/dbus-connection.c (check_for_reply_unlocked): plug a memory
+	leak.
+
+2004-05-15  Owen Fraser-Green  <owen at discobabe.net>
+
+	* mono/dbus-sharp.dll.config.in: Added for GAC
+	* mono/dbus-sharp.snk: Added for GAC
+	* mono/Assembly.cs.in: Added for GAC
+	* mono/Makefile.am: Changes for GAC installation	
+	* configure.in: Added refs for dbus-sharp.dll.config.in and
+	Assembly.cs.in. More fixes for mono testing
+	* mono/example/Makefile.am: Changed var to CSC
+	* Makefile.am: Changed flag name to DBUS_USE_CSC
+
+2004-05-15  Owen Fraser-Green  <owen at discobabe.net>
+
+	* mono/Makefile.am: Added SUBDIRS for docs. Changed SUBDIRS order
+	* mono/doc/*: Added documentation framework
+	* configure.in: Added monodoc check
+	* README: Added description of mono configure flags
+
+2004-05-11  John (J5) Palmieri  <johnp at redhat.com>:
+
+	* doc/dbus-specification.xml: Added a "Required" column to the 
+	header fields table and changed the "zero or more" verbage in
+	the above paragraph to read "The header must contain the required 
+	named header fields and zero or more of the optional named header 
+	fields".
+	* test/data/invalid-messages/*.message: Added the required PATH 
+	named header field to the tests so that they don't fail on 
+	'Missing path field'
+
+2004-05-07  John (J5) Palmieri  <johnp at redhat.com>
+
+	* python/dbus-bindings.pyx.in: Stopped the bindings from trashing
+	the stack by implicitly defining variable and parameter types and
+	removing the hack of defining C pointers as python objects and later
+	casting them.
+
+2004-05-02  Owen Fraser-Green  <owen at discobabe.net>
+
+	* mono/Makefile.am: Removed test-dbus-sharp.exe from all target
+
+2004-05-01  Owen Fraser-Green  <owen at discobabe.net>
+
+	* mono/DBusType/Dict.cs: Handle empty dicts
+	* mono/DBusType/Array.cs: Handle empty arrays
+	* mono/Arguments.cs: Handle empty arguments
+
+2004-04-30  Owen Fraser-Green  <owen at discobabe.net>
+
+	* dbus-sharp.pc.in: Modified to include include Libs and Requires
+	field
+
+2004-04-25  Kristian Høgsberg  <krh at redhat.com>
+
+	* test/data/valid-messages/standard-*.message: Update message
+	test scripts to new header field names.
+
+2004-04-22  John (J5) Palmieri  <johnp at redhat.com>
+
+	* test/break-loader.c (randomly_do_n_things): tracked down buffer
+	overflow to times_we_did_each_thing array which would chop off the
+	first character of the failure_dir string. Increased the size of
+	the array to 7 to reflect the number of random mutation functions
+	we have.
+
+2004-04-21  Kristian Høgsberg  <krh at redhat.com>
+
+	* dbus/dbus-server-unix.c (unix_finalize): Don't unref
+	unix_server->watch here, it is unreffed in disconnect.
+	(_dbus_server_new_for_tcp_socket): convert NULL host to
+	"localhost" here so we don't append NULL to address.
+	
+	* dbus/dbus-server.c (_dbus_server_test): Add test case for
+	various addresses, including tcp with no explicit host.
+
+2004-04-21  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* dbus/dbus-message.c (decode_header_data, decode_string_field):
+	fix incorrect setting of .name_offset in the HeaderField (it was
+	off by two bytes, positioned right after the name and typecode)
+
+	* bus/bus.c (bus_context_new, bus_context_unref): test before
+	calling dbus_server_free_data_slot and _dbus_user_database_unref
+	in case of an error.
+
+	* tools/Makefile.am: add $(DBUS_GLIB_TOOL_LIBS), xml libs needed
+	by libdbus-gtool.
+
+2004-04-19  Kristian Høgsberg  <krh at redhat.com>
+
+	* dbus/dbus-transport-unix.c (unix_do_iteration): Rewrite to use
+	_dbus_poll() instead of select().
+
+2004-04-15  Jon Trowbridge  <trow at ximian.com>
+
+	* bus/main.c (signal_handler): Reload the configuration files
+	on SIGHUP.
+	(main): Set up our SIGHUP handler.
+
+	* bus/bus.c (struct BusContext): Store the config file, user and
+	fork flag in the BusContext.
+	(process_config_first_time_only): Added.  Contains the code
+	(previously in bus_context_new) for setting up the BusContext from
+	the BusConfigParser that should only be run the first time the
+	config files are read.
+	(process_config_every_time): Added.  Contains the code (previously
+	in bus_context_new) for setting up the BusContext from the
+	BusConfigParser that should be run every time the config files are
+	read.
+	(load_config): Added.  Builds a BusConfigParser from the config
+	files and passes the resulting structure off to
+	process_config_first_time_only (assuming this is the first time)
+	and process_config_every_time.
+	(bus_context_new): All of the config-related code has been moved
+	to process_config_first_time_only and process_config_every_time.
+	Now this function just does the non-config-related initializations
+	and calls load_config.
+	(bus_context_reload_config): Added.
+
+2004-04-15  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* bus/driver.c (bus_driver_handle_get_service_owner):
+	implement a GetServiceOwner method.
+	* doc/dbus-specification.xml: document it.
+	* dbus/dbus-errors.h: add a 'ServiceHasNoOwner' error.
+	
+	* glib/dbus-gproxy.c (dbus_gproxy_new_for_service_owner):
+	implement, using the bus GetServiceOwner method.
+
+	* test/glib/test-dbus-glib.c:
+	use dbus_gproxy_new_for_service_owner so that we can receive the
+	signal. 
+
+2004-04-15  John (J5) Palmieri  <johnp at redhat.com>
+
+	* dbus/dbus-internals.c, dbus/dbus-message-builder.c,
+	dbus/dbus-message.c, dbus/dbus-protocol.h
+	(DBUS_HEADER_FIELD_SERVICE): renamed DBUS_HEADER_FIELD_DESTINATION
+
+	* dbus/dbus-internals.c, dbus/dbus-message-builder.c,
+	dbus/dbus-message.c, dbus/dbus-protocol.h
+	(DBUS_HEADER_FIELD_SENDER_SERVICE): renamed DBUS_HEADER_FIELD_SENDER
+
+	* dbus/dbus-internals.c (_dbus_header_field_to_string):
+	DBUS_HEADER_FIELD_DESTINATION resolves to "destination"
+	DBUS_HEADER_FIELD_SENDER resolves to "sender"
+
+	* doc/dbus-specification.xml (Header Fields Table):
+	s/SERVICE/DESTINATION
+	s/SENDER_SERVICE/SENDER
+
+
+2004-04-14  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* test/glib/test-dbus-glib.c (timed_exit): fail the test after
+	a few seconds.
+
+2004-04-13  Michael Meeks  <michael at ximian.com>
+
+	* glib/dbus-gobject.c (handle_introspect): split out
+	(introspect_properties): this.
+	(handle_introspect): implement this.
+
+	* test/glib/Makefile.am: use the absolute path so the bus
+	daemon's chdir ("/") doesn't kill us dead.
+
+	* configure.in: subst ABSOLUTE_TOP_BUILDDIR
+
+2004-04-12  Jon Trowbridge  <trow at ximian.com>
+
+	* bus/config-parser.c (struct BusConfigParser): Added
+	included_files field.
+	(seen_include): Added.  Checks whether or not a file has already
+	been included by any parent BusConfigParser.
+	(bus_config_parser_new): Copy the parent's included_files.
+	(include_file): Track which files have been included, and fail on
+	circular inclusions.
+	(process_test_valid_subdir): Changed printf to report if we are
+	testing valid or invalid conf files.
+	(all_are_equiv): Changed printf to be a bit clearer about
+	what we are actually doing.
+	(bus_config_parser_test): Test invalid configuration files.
+
+2004-04-09  Jon Trowbridge  <trow at ximian.com>
+
+	* bus/config-parser.c (bus_config_parser_new): Added a 'parent'
+	argument.  If non-null, the newly-constructed BusConfigParser will
+	be initialized with the parent's BusLimits instead of the default
+	values.
+	(include_file): When including a config file, pass in
+	the current parser as the parent and then copy the BusLimits
+	from the included BusConfigParser pack to the current parser.
+	(process_test_valid_subdir): Renamed from process_test_subdir.
+	(process_test_equiv_subdir): Added.  Walks through a directory,
+	descending into each subdirectory and loading the config files
+	it finds there.  If any subdirectory contains two config files
+	that don't produce identical BusConfigParser structs, fail.
+	For now, the BusConfigParser's BusPolicies are not compared.
+	(bus_config_parser_test): Call both process_test_valid_subdir and
+	process_test_equiv_subdir.
+
+	* bus/config-loader-libxml.c (bus_config_load): Take a parent
+	argument and pass it along to the call to bus_config_parser_new.
+	Also made a few small changes to allow this code to compile.
+
+	* bus/config-loader-expat.c (bus_config_load): Take a parent
+	argument and pass it along to the call to bus_config_parser_new.
+
+	* bus/bus.c (bus_context_new): Load the config file
+	with a NULL parent argument.
+
+2004-03-29  Michael Meeks  <michael at ximian.com>
+
+	* glib/dbus-gobject.c (introspect_properties): split
+	out, fix mangled 'while' flow control.
+	(introspect_signals): implement.
+	(handle_introspect): update.
+
+2004-03-29  Michael Meeks  <michael at ximian.com>
+
+	* glib/dbus-gobject.c (set_object_property): split out / 
+	re-work, use the property type, and not the message type(!)
+	(get_object_property): ditto.
+
+        * glib/dbus-gvalue.c (dbus_gvalue_demarshal),
+	(dbus_gvalue_marshal): make this code re-usable, needed
+	for signals too, also on both proxy and server side.
+	Re-write for more efficiency / readability.
+
+2004-03-29  Michael Meeks  <michael at ximian.com>
+
+	* dbus/dbus-message.c
+	(dbus_message_new_error_printf): impl.
+
+	* dbus/dbus-connection.c
+	(dbus_connection_unregister_object_path): fix warning.
+
+	* configure.in: fix no-mono-installed situation.
+
+2004-03-27  Havoc Pennington  <hp at redhat.com>
+
+	Patch from Timo Teräs:
+	
+	* tools/dbus-send.c (main): if --print-reply, assume type is
+	method call; support boolean type args
+	
+	* dbus/dbus-connection.c (dbus_connection_send_with_reply): fix a
+	bunch of memleak and logic bugs
+	
+2004-03-23  Owen Fraser-Green  <owen at discobabe.net>
+
+        * mono/Arguments.cs:
+	* mono/Introspector.cs:
+	* mono/Handler.cs:
+	* mono/InterfaceProxy.cs:
+	* mono/Message.cs
+	* mono/ProxyBuilder.cs:
+	* mono/Service.cs:
+	Added InterfaceProxy class to avoid building proxies for every
+	object.
+
+	* dbus-message.h:
+	* dbus-message.c (dbus_message_append_args_valist)
+	(dbus_message_iter_get_object_path)
+	(dbus_message_iter_get_object_path_array)
+	(dbus_message_iter_append_object_path)
+	(dbus_message_iter_append_object_path_array):
+	Added object_path iter functions to handle OBJECT_PATH arguments
+	
+2004-03-23  Owen Fraser-Green  <owen at discobabe.net>
+
+	First checkin of mono bindings.
+	* configure.in:
+	* Makefile.am:
+	Build stuff for the bindings
+	* dbus-sharp.pc.in: Added for pkgconfig
+	
+2004-03-21  Havoc Pennington  <hp at redhat.com>
+
+	* test/test-service.c (main): remove debug spew
+
+2004-03-21  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): accept empty
+	arrays
+
+	* dbus/dbus-message.h, bus/dbus-message.c (dbus_message_iter_init)
+	(dbus_message_iter_init_array_iterator)
+	(dbus_message_iter_init_dict_iterator): return a dbus_bool_t to
+	indicate whether the iterator is empty
+
+	* dbus/dbus-pending-call.c, dbus/dbus-server.c: silence compiler
+	warnings
+
+2004-03-19  Havoc Pennington  <hp at redhat.com>
+
+	* NEWS: 0.21 updates
+
+	* configure.in: 0.21
+
+	* doc/Makefile.am: add all XMLTO usage to DBUS_XML_DOCS_ENABLED
+	
+	* python/Makefile.am: change to avoid dist of dbus_bindings.c so
+	you don't need pyrex to make dist
+
+	* qt/Makefile.am (libdbus_qt_1_la_SOURCES): add integrator.h to
+	sources; run moc
+	
+2004-03-18  Richard Hult  <richard at imendio.com>
+
+	* dbus/dbus-message.c (dbus_message_get_auto_activation) 
+	(dbus_message_set_auto_activation): Add doxygen docs.
+
+2004-03-16  Richard Hult  <richard at imendio.com>
+
+	* bus/activation.c: (bus_activation_service_created),
+	(bus_activation_send_pending_auto_activation_messages),
+	(bus_activation_activate_service):
+	* bus/activation.h:
+	* bus/dispatch.c: (bus_dispatch),
+	(check_nonexistent_service_auto_activation),
+	(check_service_auto_activated),
+	(check_segfault_service_auto_activation),
+	(check_existent_service_auto_activation), (bus_dispatch_test):
+	* bus/driver.c: (bus_driver_handle_activate_service):
+	* bus/services.c: (bus_registry_acquire_service):
+	* dbus/dbus-message.c: (dbus_message_set_auto_activation),
+	(dbus_message_get_auto_activation):
+	* dbus/dbus-message.h:
+	* dbus/dbus-protocol.h: Implement auto-activation.
+	
+	* doc/dbus-specification.xml: Add auto-activation to the spec.
+
+2004-03-12  Olivier Andrieu  <oliv__a at users.sourceforge.net>
+
+	* dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos):
+	fix a bug with CUSTOM types.
+
+	* dbus/dbus-message.c (message_iter_test, _dbus_message_test): add
+	a unit test for this bug (used to fail).
+
+2004-03-12  Mikael Hallendal  <micke at imendio.com>
+
+	* bus/activation.c:
+	(babysitter_watch_callback): notify all pending activations waiting for
+	  the same exec that the activation failed.
+	(bus_activation_activate_service): shortcut the activation if we 
+	  already waiting for the same executable to start up.
+
+2004-03-12  Mikael Hallendal  <micke at imendio.com>
+
+	* bus/activation.c: 
+	- Added service file reloading. 
+	  Each service files directory is kept in an hash table in 
+	  BusActivation and each BusActivationEntry knows what .service-file it
+	  was read from. So when you try to activate a service the bus will 
+	  check if it's been updated, removed or if new .service-files has 
+	  been installed.
+	- Test code at the bottom for the service file reloading.
+	* bus/test-main.c: (main):
+	* bus/test.h:
+	- added service reloading test.
+	* dbus/dbus-sysdeps.c: 
+	* dbus/dbus-sysdeps.h: (_dbus_delete_directory): Added.
+
+2004-03-08  Michael Meeks  <michael at ximian.com>
+
+	* dbus/dbus-connection.c (_dbus_connection_block_for_reply): 
+	bail immediately if disconnected, to avoid busy loop.
+
+	* dbus/dbus-message.c (dbus_message_iter_get_args_valist):
+	cleanup cut/paste/inefficiency.
+
+2004-03-01  David Zeuthen  <david at fubar.dk>
+
+	* dbus/dbus-string.c (_dbus_string_append_printf_valist): Fix a
+	bug where args were used twice. This bug resulted in a segfault
+	on a Debian/PPC system when starting the messagebus daemon. Include
+	dbus-sysdeps.h for DBUS_VA_COPY
+
+	* dbus/dbus-sysdeps.h: Define DBUS_VA_COPY if neccessary. From GLib
+
+	* configure.in: Check for va_copy; define DBUS_VA_COPY to the
+	appropriate va_copy implementation. From GLib
+ 	
+2004-02-24  Joe Shaw  <joe at ximian.com>
+
+	* bus/services.c (bus_registry_acquire_service): We need to pass
+	in the service name to dbus_set_error() to prevent a crash.
+
+2003-12-26  Anders Carlsson  <andersca at gnome.org>
+
+	* AUTHORS: Reveal my True identity.
+
+2003-12-17  Mikael Hallendal  <micke at imendio.com>
+
+	* dbus/dbus-message.c: (dbus_message_append_args_valist): 
+	- Added case for DBUS_TYPE_BYTE, patch from Johan Hedberg.
+
+2003-12-13  Mikael Hallendal  <micke at imendio.com>
+
+	* doc/TODO: Added not about better error check of configuration files.
+
+2003-12-02  Richard Hult  <richard at imendio.com>
+
+	* Update AFL version to 2.0 throughout the source files to reflect
+	the update that was done a while ago.
+
+2003-12-02  Richard Hult  <richard at imendio.com>
+
+	* dbus/dbus-message.c (dbus_message_iter_append_dict): Set
+	wrote_dict_key to FALSE on the iter that the dict is appended to,
+	just like when appending other types. Fixes a bug where a dict
+	couldn't be put inside a dict.
+	(dbus_message_iter_append_dict_key): Fix typo in warning message.
+	(message_iter_test, _dbus_message_test): Add test case for dict
+	inside dict.
+
+2003-12-01  David Zeuthen  <david at fubar.dk>
+
+	* python/dbus.py: Add the actual message when calling the reciever
+	of a signal such that parameters can be inspected. Add the method
+	remove_signal_receiver
+	
+2003-11-26  Mikael Hallendal  <micke at imendio.com>
+
+	* bus/*.[ch]:
+	* dbus/*.[ch]:
+	* glib/*.[ch]: Made ref functions return the pointer
+
+2003-11-25  Zack Rusin  <zack at kde.org>
+
+	* qt/integrator.h, qt/integrator.cpp: Adding handling of DBusServer,
+
+	* qt/server.h, qt/server.cpp, qt/Makefile.am: Adding DBusServer 
+	wrappers,
+
+	* qt/connection.h, qt/connection.cpp: Adjusting to changes in 
+	the Integrator and to better fit with the server,
+
+2003-11-24  Zack Rusin  <zack at kde.org>
+
+	* qt/connection.h, qt/connection.cpp: removing initDbus method since
+	the integrator handles it now
+
+	* qt/integrator.h, qt/integrator.cpp: reworking handling of timeouts,
+	since QTimer wasn't really meant to be used the way DBusTimeout is
+
+2003-11-24  Zack Rusin  <zack at kde.org>
+
+	* qt/integrator.h, qt/integrator.cpp, Makefile.am: Adding 
+	Integrator class which integrates D-BUS with the Qt event loop,
+
+	* qt/connection.h, qt/connection.cpp: Move all the code which
+	was dealing with D-BUS integration to the Integrator class,
+	and start using Integrator,
+
+2003-11-23  Zack Rusin  <zack at kde.org>
+
+	* qt/connection.h, qt/connection.cpp: Adding the DBusConnection 
+	wrapper
+
+	* qt/message.h, qt/message.cpp: updating to the current D-BUS api,
+	switching namespaces to DBusQt, reworking the class,
+
+	* Makefile.cvs: switching dependencies so that it matches KDE 
+	schematics,
+	
+	* qt/Makefile.am: adding connection.{h,cpp} and message.{h,cpp} to 
+	the library
+
+2003-11-19  Havoc Pennington  <hp at redhat.com>
+
+	* NEWS: update
+
+        * configure.in: bump version to 0.20
+
+	* configure.in (have_qt): add yet another place to look for qt
+	(someone hand trolltech a .pc file...)
+
+2003-11-01  Havoc Pennington  <hp at redhat.com>
+
+	* doc/dbus-specification.xml: add state machine docs on the auth
+	protocol; just a first draft, I'm sure it's wrong.	
+
+2003-10-28  David Zeuthen  <david at fubar.dk>
+
+	* python/dbus_bindings.pyx.in: add get_dict to handle dictionaries
+	return types. Fixup TYPE_* to reflect changes in dbus/dbus-protocol.h
+	
+2003-10-28  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-message.c (get_next_field): delete unused function
+
+2003-10-28  Havoc Pennington  <hp at redhat.com>
+
+	* bus/expirelist.c (do_expiration_with_current_time): detect
+	failure of the expire_func due to OOM
+
+	* bus/connection.c (bus_pending_reply_expired): return FALSE on OOM
+
+	* bus/dispatch.c (check_send_exit_to_service): fix to handle the
+	NoReply error that's now created by the bus when the service exits
+
+2003-10-28  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-message.c (_dbus_message_test): enable and fix the
+	tests for set_path, set_interface, set_member, etc.
+
+	* dbus/dbus-string.c (_dbus_string_insert_bytes): allow 0 bytes
+
+	* dbus/dbus-message.c (set_string_field): always just delete and
+	re-append the field; accept NULL for deletion
+	(re_align_fields_recurse): reimplement
+	
+2003-10-26  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-connection.c: fix docs to properly describe the
+	disconnected message
+	(_dbus_connection_notify_disconnected): remove this function; 
+	we can't synchronously add the disconnected message, we have to 
+	do it after we've queued any remaining real messages
+	(_dbus_connection_get_dispatch_status_unlocked): queue the
+	disconnect message only if the transport has finished queueing all
+	its real messages and is disconnected.
+	(dbus_connection_disconnect): update the dispatch status here
+
+2003-10-22  Havoc Pennington  <hp at redhat.com>
+
+	* bus/bus.c (bus_context_check_security_policy): fix up assertion
+
+	* bus/connection.c (bus_transaction_send_from_driver): set the
+	destination to the connection's base service
+
+2003-10-20  Havoc Pennington  <hp at redhat.com>
+
+        hmm, make check is currently not passing.
+	
+	* doc/dbus-specification.xml: add requirement that custom type
+	names follow the same rules as interface names.
+
+	* dbus/dbus-protocol.h: change some of the byte codes, to avoid
+	duplication and allow 'c' to be 'custom'; dict is now 'm' for
+	'map'
+
+	* doc/dbus-specification.xml: update type codes to match
+	dbus-protocol.h, using the ASCII byte values. Rename type NAMED to
+	CUSTOM. Add type OBJECT_PATH to the spec.
+
+2003-10-17  Havoc Pennington  <hp at redhat.com>
+
+	* bus/driver.c (create_unique_client_name): use "." as separator
+	in base service names instead of '-'
+
+	* dbus/dbus-string.c (_dbus_string_get_byte): allow getting nul
+	byte at the end of the string
+
+	* dbus/dbus-internals.h (_DBUS_LIKELY, _DBUS_UNLIKELY): add
+	optimization macros since string validation seems to be a slow
+	point.
+	
+	* doc/dbus-specification.xml: restrict valid
+	service/interface/member/error names. Add test suite code for the
+	name validation.
+
+	* dbus/dbus-string.c: limit service/interface/member/error names 
+	to [0-9][A-Z][a-z]_
+
+	* dbus/dbus-connection.c (dbus_connection_dispatch): add missing
+	format arg to verbose spew
+
+	* glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): if not out of
+	memory, return instead of g_error
+
+	* test/test-service.c (path_message_func): support emitting a
+	signal on request
+
+	* dbus/dbus-bus.c (init_connections_unlocked): only fill in
+	activation bus type if DBUS_BUS_ACTIVATION was set; default to
+	assuming the activation bus was the session bus so that services
+	started manually will still register.
+	(init_connections_unlocked): fix so that in OOM situation we get
+	the same semantics when retrying the function
+	
+	* test/test-service.c (main): change to use path registration, to
+	test those codepaths; register with DBUS_BUS_ACTIVATION rather
+	than DBUS_BUS_SESSION
+
+2003-10-16  Havoc Pennington  <hp at redhat.com>
+
+	* glib/dbus-gtest-main.c: bracket with #ifdef DBUS_BUILD_TESTS
+
+	* Makefile.am (GCOV_DIRS): remove "test", we don't care about test
+	coverage of the tests
+	(coverage-report.txt): don't move the .da and .bbg files around
+
+2003-10-16  Havoc Pennington  <hp at redhat.com>
+
+	* bus/bus.c (struct BusContext): remove struct field I didn't mean
+	to put there
+
+2003-10-16  Havoc Pennington  <hp at redhat.com>
+
+	* bus/connection.c (bus_pending_reply_expired): either cancel or
+	execute, not both
+	(bus_connections_check_reply): use unlink, not remove_link, as we
+	don't want to free the link; fixes double free mess
+
+	* dbus/dbus-pending-call.c (dbus_pending_call_block): fix in case
+	where no reply was received
+
+	* dbus/dbus-connection.c (_dbus_pending_call_complete_and_unlock):
+	fix a refcount leak
+
+	* bus/signals.c (match_rule_matches): add special cases for the
+	bus driver, so you can match on sender/destination for it.
+
+	* dbus/dbus-sysdeps.c (_dbus_abort): print backtrace if
+	DBUS_PRINT_BACKTRACE is set
+
+	* dbus/dbus-internals.c: add pid to assertion failure messages
+
+	* dbus/dbus-connection.c: add message type code to the debug spew
+
+	* glib/dbus-gproxy.c (gproxy_get_match_rule): match rules want
+	sender=foo not service=foo
+
+	* dbus/dbus-bus.c (dbus_bus_get): if the activation bus is the
+	session bus but DBUS_SESSION_BUS_ADDRESS isn't set, use 
+	DBUS_ACTIVATION_ADDRESS instead
+
+	* bus/activation.c: set DBUS_SESSION_BUS_ADDRESS,
+	DBUS_SYSTEM_BUS_ADDRESS if appropriate
+
+	* bus/bus.c (bus_context_new): handle OOM copying bus type into
+	context struct
+
+	* dbus/dbus-message.c (dbus_message_iter_get_object_path): new function
+	(dbus_message_iter_get_object_path_array): new function (half
+	finished, disabled for the moment)
+	
+	* glib/dbus-gproxy.c (dbus_gproxy_end_call): properly handle
+	DBUS_MESSAGE_TYPE_ERROR
+
+	* tools/dbus-launch.c (babysit): support DBUS_DEBUG_OUTPUT to
+	avoid redirecting stderr to /dev/null
+	(babysit): close stdin if not doing the "exit_with_session" thing
+
+	* dbus/dbus-sysdeps.c (_dbus_become_daemon): delete some leftover
+	debug code; change DBUS_DEBUG_OUTPUT to only enable stderr, not
+	stdout/stdin, so things don't get confused
+	
+	* bus/system.conf.in: fix to allow replies, I modified .conf
+	instead of .conf.in again.
+
+2003-10-14  David Zeuthen  <david at fubar.dk>
+
+	* python/dbus_bindings.pyx.in (MessageIter.get): fixed typo in
+	argtype to arg_type when raising unknown arg type exception.
+	Changed type list to reflect the changes in dbus-protocol.h so 
+	the bindings actually work.
+
+2003-10-14  Havoc Pennington  <hp at redhat.com>
+
+	* test/decode-gcov.c: support gcc 3.3 also, though gcc 3.3 seems
+	to have a bug keeping it from outputting the .da files sometimes
+	(string_get_string): don't append garbage nul bytes to the string.
+
+2003-10-15  Seth Nickell  <seth at gnome.org>
+
+	* python/Makefile.am:
+
+	Include dbus_h_wrapper.h in the dist tarball.
+
+2003-10-14  Havoc Pennington  <hp at redhat.com>
+
+	* bus/bus.c (bus_context_check_security_policy): revamp this to
+	work more sanely with new policy-based requested reply setup
+
+	* bus/connection.c (bus_transaction_send_from_driver): set bus
+	driver messages as no reply
+
+	* bus/policy.c (bus_client_policy_check_can_receive): handle a
+	requested_reply attribute on allow/deny rules
+
+	* bus/system.conf: add <allow requested_reply="true"/>
+
+	* bus/driver.c (bus_driver_handle_message): fix check for replies
+	sent to the bus driver, which was backward. How did this ever work
+	at all though? I think I'm missing something.
+
+	* dbus/dbus-message.c (decode_header_data): require error and
+	method return messages to have a reply serial field to be valid
+	(_dbus_message_loader_queue_messages): break up this function;
+	validate that reply serial and plain serial are nonzero; 
+	clean up the OOM/error handling.
+	(get_uint_field): don't return -1 from this
+	(dbus_message_create_header): fix signed/unsigned bug
+
+	* bus/connection.c (bus_connections_expect_reply): save serial of
+	the incoming message, not reply serial
+
+2003-10-14  Havoc Pennington  <hp at redhat.com>
+
+	* bus/connection.c: implement pending reply tracking using
+	BusExpireList
+
+	* bus/bus.c (bus_context_check_security_policy): verify that a
+	reply is pending in order to allow a reply to be sent. Deny 
+	messages of unknown type.
+
+	* bus/dbus-daemon-1.1.in: update to mention new resource limits
+
+	* bus/bus.c (bus_context_get_max_replies_per_connection): new
+	(bus_context_get_reply_timeout): new
+
+2003-10-13  Seth Nickell  <seth at gnome.org>
+
+	* python/Makefile.am:
+
+	Pass "make distcheck": remove a couple files from DIST_FILES
+	that weren't included in the final version.
+
+2003-10-12  Havoc Pennington  <hp at pobox.com>
+
+        Added test code that 1) starts an actual bus daemon and 2) uses
+	DBusGProxy; fixed bugs that were revealed by the test. Lots 
+	more testing possible, but this is the basic framework.
+	
+	* glib/dbus-gproxy.c (dbus_gproxy_manager_unregister): remove
+	empty proxy lists from the proxy list hash
+
+	* dbus/dbus-message.c (dbus_message_iter_get_args_valist): add a
+	couple of return_if_fail checks
+
+	* dbus/dbus-pending-call.c (_dbus_pending_call_new): use dbus_new0
+	to allocate, so everything is cleared to NULL as it should be.
+
+	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main): pass
+	source as data to dbus_connection_set_timeout_functions() as the 
+	timeout functions expected
+
+	* test/glib/run-test.sh: add a little script to start up a message
+	bus and run tests using it
+
+	* tools/dbus-launch.1: updates
+
+	* tools/dbus-launch.c (main): add --config-file option
+
+	* tools/dbus-launch.c (main): remove confusing else if (runprog)
+	that could never be reached.
+
+	* dbus/dbus-message.c (dbus_message_new_method_return) 
+	(dbus_message_new_error, dbus_message_new_signal): set the
+	no-reply-expected flag on all these. Redundant, but may
+	as well be consistent.
+
+2003-10-11  Havoc Pennington  <hp at pobox.com>
+
+	* test/decode-gcov.c (function_solve_graph): make broken block
+	graph a nonfatal error since it seems to be broken. Need to debug
+	this.
+
+	* dbus/dbus-marshal.c (_dbus_type_is_valid): new function since we
+	can't just check type > INVALID < LAST anymore
+
+	* dbus/dbus-message.c (dbus_message_get_signature): new function
+	(dbus_message_has_signature): new function
+	(struct DBusMessage): add signature field (right now it isn't sent
+	over the wire, just generated on the fly)
+	(dbus_message_copy): copy the signature, and init strings to
+	proper length to avoid some reallocs
+	(dbus_message_iter_init_array_iterator): return void, since it
+	can't fail
+	(dbus_message_iter_init_dict_iterator): return void since it can't fail
+	(_dbus_message_loader_queue_messages): add silly temporary hack to
+	fill in message->signature on load
+
+	* dbus/dbus-protocol.h: change DBUS_TYPE_* values to be ASCII
+	characters, so they are relatively human-readable.
+
+2003-10-11  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-message.c (_dbus_message_test): add more test
+	coverage, but #if 0 for now since they uncover a bug 
+	not fixed yet; I think in re_align_field_recurse()
+	(re_align_field_recurse): add FIXME about broken assertion
+
+	* dbus/dbus-sysdeps.c (_dbus_sysdeps_test): add more test coverage
+
+	* bus/connection.c: share a couple code bits with expirelist.c
+
+	* bus/expirelist.h, bus/expirelist.c: implement a generic
+	expire-items-after-N-seconds facility, was going to share between
+	expiring connections and replies, decided not to use for expiring
+	connections for now.
+
+	* COPYING: include AFL 2.0 (still need to change all the file headers)
+
+2003-10-09  Havoc Pennington  <hp at redhat.com>
+
+	* configure.in: define DBUS_HAVE_GCC33_GCOV if we have
+	gcc 3.3. Not that we do anything about it yet.
+
+	* bus/signals.c (bus_match_rule_parse): impose max length on the
+	match rule text
+
+	* dbus/dbus-protocol.h: add DBUS_MAXIMUM_MATCH_RULE_LENGTH
+
+2003-10-09  Havoc Pennington  <hp at redhat.com>
+
+        Make matching rules theoretically work (add parser).
+	
+	* bus/bus.c (bus_context_check_security_policy): fix up to handle
+	the case where destination is explicitly specified as bus driver
+	and someone else is eavesdropping.
+	
+	* bus/policy.c (bus_client_policy_check_can_receive): fix up
+	definition of eavesdropping and assertion
+
+	* tools/dbus-send.c (main): use dbus_message_type_from_string
+
+	* bus/signals.c (bus_match_rule_parse): implement
+
+	* dbus/dbus-message.c (dbus_message_type_from_string): new
+
+	* dbus/dbus-errors.h (DBUS_ERROR_MATCH_RULE_INVALID): add
+
+2003-10-02  Havoc Pennington  <hp at pobox.com>
+
+	* glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): rename from
+	dbus_gproxy_oneway_call
+
+	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main) 
+	(dbus_server_setup_with_g_main): fix to allow calling them more
+	than once on the same args
+	(dbus_bus_get_with_g_main): new function
+
+2003-10-02  Havoc Pennington  <hp at redhat.com>
+
+	* doc/dbus-tutorial.xml: write some stuff
+
+2003-09-29  Havoc Pennington  <hp at pobox.com>
+
+	* configure.in: split checks for Doxygen from XML docs, check for
+	xmlto
+
+	* doc/Makefile.am: XML-ify all the docs, and add a blank
+	dbus-tutorial.xml
+
+2003-09-29  Havoc Pennington  <hp at pobox.com>
+
+	* Merge dbus-object-names branch. To see the entire patch 
+	do cvs diff -r DBUS_OBJECT_NAMES_BRANCHPOINT -r dbus-object-names,
+	it's huuuuge though.
+	To revert, I tagged DBUS_BEFORE_OBJECT_NAMES_MERGE.
+	
+2003-09-28  Havoc Pennington  <hp at pobox.com>
+
+	* HACKING: update to reflect new server
+
+2003-09-26  Seth Nickell  <seth at gnome.org>
+
+	* python/dbus.py:
+	* python/examples/example-signals.py:
+
+	Start implementing some notions of signals. The API
+	is really terrible, but they sort of work (with the
+	exception of being able to filter by service, and to
+	transmit signals *as* a particular service). Need to
+	figure out how to make messages come from the service
+	we registered :-(
+	
+	* python/dbus_bindings.pyx.in:
+
+	Removed duplicate message_handler callbacks.
+	
+2003-09-25  Havoc Pennington  <hp at redhat.com>
+
+	* bus/session.conf.in: fix my mess
+
+2003-09-25  Havoc Pennington  <hp at pobox.com>
+
+	* bus/session.conf.in: fix security policy, reported by Seth Nickell
+
+2003-09-25  Seth Nickell  <seth at gnome.org>
+
+	* python/examples/example-service.py:
+
+	Johan notices complete wrong code in example-service, but
+	completely wrong in a way that works exactly the same (!).
+	Johan is confused, how could this possibly work? Example
+	code fails to serve purpose of making things clear.
+	Seth fixes.
+
+2003-09-25  Mark McLoughlin  <mark at skynet.ie>
+
+	* doc/dbus-specification.sgml: don't require header fields
+	to be 4-byte aligned and specify that fields should be
+	distinguished from padding by the fact that zero is not
+	a valid field name.
+	
+	* doc/TODO: remove re-alignment item and add item to doc
+	the OBJECT_PATH type.
+	
+	* dbus/dbus-message.c:
+	(HeaderField): rename the original member to value_offset
+	and introduce a name_offset member to keep track of where
+	the field actually begins.
+	(adjust_field_offsets): remove.
+	(append_int_field), (append_uint_field),
+	(append_string_field): don't align the start of the header
+	field to a 4-byte boundary.
+	(get_next_field): impl finding the next marhsalled field
+	after a given field.
+	(re_align_field_recurse): impl re-aligning a number of
+	already marshalled fields.
+	(delete_field): impl deleting a field of any type and
+	re-aligning any following fields.
+	(delete_int_or_uint_field), (delete_string_field): remove.
+	(set_int_field), (set_uint_field): no need to re-check
+	that we have the correct type for the field.
+	(set_string_field): ditto and impl re-aligning any
+	following fields.
+	(decode_header_data): update to take into account that
+	the fields aren't 4-byte aligned any more and the new
+	way to distinguish padding from header fields. Also,
+	don't exit when there is too much header padding.
+	(process_test_subdir): print the directory.
+	(_dbus_message_test): add test to make sure a following
+	field is re-aligned correctly after field deletion.
+	
+	* dbus/dbus-string.[ch]:
+	(_dbus_string_insert_bytes): rename from insert_byte and
+	allow the insert of multiple bytes.
+	(_dbus_string_test): test inserting multiple bytes.
+
+	* dbus/dbus-marshal.c: (_dbus_marshal_set_string): add
+	warning note to docs about having to re-align any
+	marshalled values following the string.
+	
+	* dbus/dbus-message-builder.c:
+	(append_string_field), (_dbus_message_data_load):
+	don't align the header field.
+	
+	* dbus/dbus-auth.c: (process_test_subdir): print the
+	directory.
+	
+	* test/break-loader.c: (randomly_add_one_byte): upd. for
+	insert_byte change.
+	
+	* test/data/invalid-messages/bad-header-field-alignment.message:
+	new test case.
+	
+	* test/data/valid-messages/unknown-header-field.message: shove
+	a dict in the unknown field.
+
+2003-09-25  Seth Nickell  <seth at gnome.org>
+
+	* python/dbus.py:
+	* python/dbus_bindings.pyx.in:
+
+	Handle return values.
+	
+	* python/examples/example-client.py:
+	* python/examples/example-service.py:
+
+	Pass back return values from the service to the client.
+	
+2003-09-24  Seth Nickell  <seth at gnome.org>
+
+	* python/dbus.py:
+
+	Connect Object methods (when you are sharing an object) up... pass
+	in a list of methods to be shared. Sharing all the methods just
+	worked out too weird. You can now create nice Services over the
+	DBus in Python. :-)
+	
+	* python/dbus_bindings.pyx.in:
+
+	Keep references to user_data tuples passed into C functions so 
+	Python doesn't garbage collect on us.
+
+	Implement MethodReturn and Error subclasses of Message for creating
+	DBusMessage's of those types.
+	
+	* python/examples/example-client.py:
+	* python/examples/example-service.py:
+
+	Simple example code showing both how create DBus services and objects,
+	and how to use them.
+
+2003-09-23  Havoc Pennington  <hp at pobox.com>
+
+	* glib/dbus-gproxy.c (dbus_gproxy_manager_filter): implement
+
+2003-09-23  Havoc Pennington  <hp at redhat.com>
+
+	* glib/dbus-gproxy.c (dbus_gproxy_connect_signal): implement
+	(dbus_gproxy_disconnect_signal): implement
+	(dbus_gproxy_manager_remove_signal_match): implement
+	(dbus_gproxy_manager_add_signal_match): implement
+	(dbus_gproxy_oneway_call): implement
+
+2003-09-23  Havoc Pennington  <hp at pobox.com>
+
+	* glib/dbus-gproxy.c (struct DBusGProxy): convert to a GObject
+	subclass. This means dropping the transparent thread safety of the
+	proxy; you now need a separate proxy per-thread, or your own
+	locking on the proxy. Probably right anyway.
+	(dbus_gproxy_ref, dbus_gproxy_unref): nuke, just use g_object_ref
+
+2003-09-22  Havoc Pennington  <hp at redhat.com>
+
+	* glib/dbus-gproxy.c (dbus_gproxy_manager_get): implement
+
+2003-09-21  Seth Nickell  <seth at gnome.org>
+
+        First checkin of the Python bindings.
+	
+	* python/.cvsignore:
+	* python/Makefile.am:
+	* python/dbus_bindings.pyx.in:
+	* python/dbus_h_wrapper.h:
+
+	Pieces for Pyrex to operate on, building a dbus_bindings.so
+	python module for low-level access to the DBus APIs.
+	
+	* python/dbus.py:
+
+	High-level Python module for accessing DBus objects.
+
+	* configure.in:
+	* Makefile.am:
+
+	Build stuff for the python bindings.
+
+	* acinclude.m4:
+
+	Extra macro needed for finding the Python C header files.
+
+2003-09-21  Havoc Pennington  <hp at pobox.com>
+
+	* glib/dbus-gproxy.c (dbus_gproxy_manager_new): start
+	implementing the proxy manager, didn't get very far.
+
+	* dbus/dbus-bus.c (dbus_bus_add_match): new
+	(dbus_bus_remove_match): new
+
+	* glib/dbus-gproxy.c (dbus_gproxy_new_for_service): add a
+	path_name argument; adjust the other not-yet-implemented 
+	gproxy constructors to be what I think they should be.
+
+2003-09-21  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-bus.c (dbus_bus_get): set exit_on_disconnect to TRUE
+	by default for message bus connections.
+
+	* dbus/dbus-connection.c (dbus_connection_dispatch): exit if
+	exit_on_disconnect flag is set and we process the disconnected
+	signal.
+	(dbus_connection_set_exit_on_disconnect): new function
+
+2003-09-21  Havoc Pennington  <hp at pobox.com>
+
+	Get matching rules mostly working in the bus; only actually
+	parsing the rule text remains. However, the client side of
+	"signal connections" hasn't been started, this patch is only the
+	bus side.
+	
+	* dbus/dispatch.c: fix for the matching rules changes
+	
+	* bus/driver.c (bus_driver_handle_remove_match)
+	(bus_driver_handle_add_match): send an ack reply from these
+	method calls
+
+	* glib/dbus-gproxy.c (dbus_gproxy_begin_call): fix order of
+	arguments, reported by Seth Nickell
+
+	* bus/config-parser.c (append_rule_from_element): support
+	eavesdrop=true|false attribute on policies so match rules 
+	can be prevented from snooping on the system bus.
+
+	* bus/dbus-daemon-1.1.in: consistently use terminology "sender"
+	and "destination" in attribute names; fix some docs bugs; 
+	add eavesdrop=true|false attribute
+
+	* bus/driver.c (bus_driver_handle_add_match)
+	(bus_driver_handle_remove_match): handle AddMatch, RemoveMatch
+	messages
+
+	* dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_BROADCAST): get
+	rid of broadcast service concept, signals are just always broadcast
+
+	* bus/signals.c, bus/dispatch.c, bus/connection.c, bus/bus.c:
+	mostly implement matching rules stuff (currently only exposed as signal
+	connections)
+
+2003-09-21  Mark McLoughlin  <mark at skynet.ie>
+
+	* doc/dbus-specification.sgml: Change the header field name
+	to be an enum and update the rest of the spec to reference
+	the fields using the conventinal name.
+
+	* dbus/dbus-protocol.h: update to reflect the spec.
+
+	* doc/TODO: add item to remove the 4 byte alignment requirement.
+	
+	* dbus/dbus-message.c: Remove the code to generalise the
+	header/body length and serial number header fields as named
+	header fields so we can reference field names using the 
+	protocol values.
+	(append_int_field), (append_uint_field), (append_string_field):
+	Append the field name as a byte rather than four chars.
+	(delete_int_or_uint_field), (delete_string_field): reflect the
+	fact that the field name and typecode now occupy 4 bytes instead
+	of 8.
+	(decode_string_field), (decode_header_data): update to reflect
+	protocol changes and move the field specific encoding from
+	decode_string_field() back into decode_header_data().
+	
+	* dbus/dbus-internals.[ch]: (_dbus_header_field_to_string):
+	Add utility to aid debugging.
+	
+	* dbus/dbus-message-builder.c:
+	(append_string_field), (_dbus_message_data_load): Update to
+	reflect protocol changes; Change the FIELD_NAME directive
+	to HEADER_FIELD and allow it to take the field's conventional
+	name rather than the actual value.
+	
+	* test/data/*/*.message: Update to use HEADER_FIELD instead
+	of FIELD_NAME; Always align the header on an 8 byte boundary
+	*before* updating the header length.
+
+2003-09-15  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-pending-call.c: add the get/set object data
+	boilerplate as for DBusConnection, etc. Use generic object data
+	for the notify callback.
+
+	* glib/dbus-gparser.c (parse_node): parse child nodes
+
+	* tools/dbus-viewer.c: more hacking on the dbus-viewer
+	
+	* glib/dbus-gutils.c (_dbus_gutils_split_path): add a file to
+	contain functions shared between the convenience lib and the
+	installed lib
+
+	* glib/Makefile.am (libdbus_glib_1_la_LDFLAGS): add
+	-export-symbols-regex to the GLib library
+
+	* dbus/dbus-object-tree.c (_dbus_object_tree_dispatch_and_unlock):
+	fix the locking in here, and add a default handler for
+	Introspect() that just returns sub-nodes.
+
+2003-09-14  Havoc Pennington  <hp at pobox.com>
+
+	* glib/dbus-gthread.c (dbus_g_thread_init): rename to make g_foo
+	rather than gfoo consistent
+
+	* glib/dbus-gproxy.h: delete for now, move contents to
+	dbus-glib.h, because the include files don't work right since we
+	aren't in the dbus/ subdir.
+	
+	* glib/dbus-gproxy.c (dbus_gproxy_send): finish implementing
+	(dbus_gproxy_end_call): finish
+	(dbus_gproxy_begin_call): finish
+
+	* glib/dbus-gmain.c (dbus_set_g_error): new
+
+	* glib/dbus-gobject.c (handle_introspect): include information
+	about child nodes in the introspection
+
+	* dbus/dbus-connection.c (dbus_connection_list_registered): new
+	function to help in implementation of introspection
+
+	* dbus/dbus-object-tree.c
+	(_dbus_object_tree_list_registered_and_unlock): new function
+
+2003-09-12  Havoc Pennington  <hp at pobox.com>
+
+	* glib/dbus-gidl.h: add common base class for all the foo_info
+	types
+
+        * tools/dbus-viewer.c: add GTK-based introspection UI thingy
+	similar to kdcop
+
+	* test/Makefile.am: try test srcdir -ef . in addition to test
+	srcdir = ., one of them should work (yeah lame)
+	
+        * glib/Makefile.am: build the "idl" parser stuff as a convenience
+	library
+	
+	* glib/dbus-gparser.h: make description_load routines return
+	NodeInfo* not Parser*
+
+	* Makefile.am (SUBDIRS): build test dir after all library dirs
+
+	* configure.in: add GTK+ detection
+
+2003-09-07  Havoc Pennington  <hp at pobox.com>
+
+	* Make Doxygen contented.
+
+2003-09-07  Havoc Pennington  <hp at pobox.com>
+
+	* doc/dbus-specification.sgml: more updates
+
+2003-09-06  Havoc Pennington  <hp at pobox.com>
+
+	* doc/dbus-specification.sgml: partial updates
+
+	* bus/dbus-daemon-1.1.in: fix the config file docs for the
+	zillionth time; hopefully I edited the right file this time.
+
+	* bus/config-parser.c (append_rule_from_element): support
+	send_type, send_path, receive_type, receive_path
+
+	* bus/policy.c: add message type and path to the list of things
+	that can be "firewalled"
+
+2003-09-06  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-connection.c (dbus_connection_register_fallback): add this
+	(dbus_connection_register_object_path): make this not handle
+	messages to paths below the given path
+
+2003-09-03  Havoc Pennington  <hp at pobox.com>
+
+	* test/glib/Makefile.am: add this with random glib-linked test
+	programs
+
+	* glib/Makefile.am: remove the random test programs from here,
+	leave only the unit tests
+
+	* glib/dbus-gobject.c (_dbus_gobject_test): add test for 
+	uscore/javacaps conversion, and fix	
+	(get_object_property, set_object_property): change to .NET
+	convention for mapping props to methods, set_FooBar/get_FooBar, 
+	since one language has such a convention we may as well copy it. 
+	Plus real methods in either getFooBar or get_foo_bar style won't 
+	collide with this convention.
+
+2003-09-01  Havoc Pennington  <hp at pobox.com>
+
+	* glib/dbus-gparser.c: implement
+
+	* glib/dbus-gobject.c: start implementing skeletons support
+
+	* configure.in: when disabling checks/assert, also define
+	G_DISABLE_ASSERT and G_DISABLE_CHECKS
+
+2003-09-01  Havoc Pennington  <hp at pobox.com>
+
+	* glib/Makefile.am: rearrange a bunch of files and get "make
+	check" framework set up
+
+2003-08-31  Havoc Pennington  <hp at pobox.com>
+
+	* fix build with --disable-tests
+
+2003-08-30  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-connection.c: purge DBusMessageHandler
+
+	* dbus/dbus-message-handler.c: remove DBusMessageHandler, just 
+	use callbacks everywhere
+
+2003-08-30  Havoc Pennington  <hp at pobox.com>
+
+	* test/data/valid-config-files/system.d/test.conf: change to 
+	root for the user so warnings don't get printed
+
+	* dbus/dbus-message.c: add dbus_message_get_path,
+	dbus_message_set_path
+	
+	* dbus/dbus-object-tree.c (do_test_dispatch): add test of
+	dispatching to a path
+
+	* dbus/dbus-string.c (_dbus_string_validate_path): add
+
+	* dbus/dbus-marshal.c (_dbus_demarshal_object_path): implement
+	(_dbus_marshal_object_path): implement
+
+	* dbus/dbus-protocol.h (DBUS_HEADER_FIELD_PATH): new header field 
+	to contain the path to the target object
+	(DBUS_HEADER_FIELD_SENDER_SERVICE): rename
+	DBUS_HEADER_FIELD_SENDER to explicitly say it's the sender service
+
+2003-08-30  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-object-tree.c: write tests and fix the discovered bugs
+
+2003-08-29  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-object-tree.c: modify to allow overlapping paths to be
+	registered
+	(struct DBusObjectSubtree): shrink this
+	a lot, since we may have a lot of them
+	(_dbus_object_tree_free_all_unlocked): implement
+	(_dbus_object_tree_dispatch_and_unlock): implement
+
+2003-08-29  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-internals.h: fix _DBUS_N_GLOBAL_LOCKS
+
+2003-08-28  Havoc Pennington  <hp at pobox.com>
+
+	purge DBusObjectID
+	
+	* dbus/dbus-connection.c: port to no ObjectID, create a
+	DBusObjectTree, rename ObjectTree to ObjectPath in public API
+
+	* dbus/dbus-connection.h (struct DBusObjectTreeVTable): delete 
+	everything except UnregisterFunction and MessageFunction
+	
+	* dbus/dbus-marshal.c: port away from DBusObjectID, 
+	add DBUS_TYPE_OBJECT_PATH
+	
+	* dbus/dbus-object-registry.[hc], dbus/dbus-object.[hc], 
+	dbus/dbus-objectid.[hc]: remove these, we are moving to 
+	path-based object IDs
+
+2003-08-25  Havoc Pennington  <hp at pobox.com>
+
+        Just noticed that dbus_message_test is hosed, I wonder when I
+	broke that. I thought make check was passing earlier...
+	
+	* dbus/dbus-object-tree.c: add new "object tree" to match DCOP 
+	container tree, will replace most of dbus-object-registry
+
+	* dbus/dbus-string.c (_dbus_string_append_printf_valist): fix C99
+	screwup
+
+2003-08-19  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-message.c (decode_string_field): support FIELD_SENDER
+	(dbus_message_is_error): fix this function
+
+	* bus/dbus-daemon-1.1: clarify logic on when <deny>/<allow> rules
+	match
+
+	* bus/policy.c (bus_client_policy_check_can_receive): fix code to
+	reflect clarified man page
+	(bus_client_policy_check_can_send): ditto
+	
+	* bus/session.conf.in: fixup
+
+	* bus/system.conf.in: fixup
+
+2003-08-18  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-hash.c (_dbus_hash_table_insert_two_strings): fix
+
+	* dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
+	dumb bug created earlier (wrong order of args to
+	decode_header_data())
+	
+	* tools/dbus-send.c: port
+
+	* tools/dbus-print-message.c (print_message): port
+
+        * test/data/*messages: port all messages over
+	
+        * dbus/dbus-message-builder.c: support including 
+	message type
+	
+        * bus/driver.c: port over
+	
+	* bus/dispatch.c: port over to new stuff
+
+	* dbus/dbus-connection.c (_dbus_connection_new_for_transport):
+	rename disconnect signal to "Disconnected"
+
+2003-08-17  Havoc Pennington  <hp at pobox.com>
+
+	This doesn't compile yet, but syncing up so I can hack on it from
+	work. What are branches for if not broken code? ;-)
+	
+	* dbus/dbus-protocol.h: remove DBUS_HEADER_FIELD_NAME, add
+	DBUS_HEADER_FIELD_INTERFACE, DBUS_HEADER_FIELD_MEMBER,
+	DBUS_HEADER_FIELD_ERROR_NAME
+	
+	* dbus/dbus-hash.c: Introduce DBUS_HASH_TWO_STRINGS as hack to use
+	for the interface+member pairs
+	(string_hash): change to use g_str_hash algorithm
+	(find_direct_function, find_string_function): refactor these to
+	share most code.
+	
+	* dbus/dbus-message.c: port all of this over to support 
+	interface/member fields instead of name field
+
+	* dbus/dbus-object-registry.c: port over
+	
+	* dbus/dbus-string.c (_dbus_string_validate_interface): rename
+	from _dbus_string_validate_name
+
+	* bus/dbus-daemon-1.1: change file format for the 
+	<deny>/<allow> stuff to match new message naming scheme
+
+	* bus/policy.c: port over
+
+	* bus/config-parser.c: parse new format
+	
+2003-08-16  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-object-registry.c (add_and_remove_objects): remove
+	broken assertion
+
+	* glib/dbus-gproxy.c: some hacking
+
+2003-08-15  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-pending-call.c (dbus_pending_call_block): implement
+
+	* dbus/dbus-connection.c
+	(dbus_connection_send_with_reply_and_block): factor out internals;
+	change to convert any error replies to DBusError instead of 
+	returning them as a message
+
+2003-08-15  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-connection.c, 
+	dbus/dbus-pending-call.c: Finish the pending call stuff
+
+2003-08-14  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-pending-call.c: start on new object that will replace
+	DBusMessageHandler and ReplyHandlerData for tracking outstanding
+	replies
+
+	* dbus/dbus-gproxy.c: start on proxy object used to communicate
+	with remote interfaces
+
+	* dbus/dbus-gidl.c: do the boring boilerplate in here
+	
+2003-08-12  Havoc Pennington  <hp at pobox.com>
+
+	* bus/dispatch.c (bus_dispatch): make this return proper 
+	DBusHandlerResult to avoid DBUS_ERROR_UNKNOWN_METHOD
+
+	* dbus/dbus-errors.c (dbus_set_error): use
+	_dbus_string_append_printf_valist
+
+	* dbus/dbus-string.c (_dbus_string_append_printf_valist)
+	(_dbus_string_append_printf): new
+
+	* dbus/dbus-errors.h (DBUS_ERROR_UNKNOWN_MESSAGE): change to
+	UNKNOWN_METHOD
+
+	* dbus/dbus-connection.c (dbus_connection_dispatch): handle
+	DBUS_HANDLER_RESULT_NEED_MEMORY; send default error reply if a
+	message is unhandled.
+
+2003-08-11  Havoc Pennington  <hp at pobox.com>
+
+	* bus/test.c (client_disconnect_handler): change to return
+	HANDLED (would have been REMOVE_MESSAGE)
+
+	* dbus/dbus-object.h (enum DBusHandlerResult): rename to
+	HANDLED/NOT_YET_HANDLED instead of
+	REMOVE_MESSAGE/ALLOW_MORE_HANDLERS to make it clearer how it 
+	should be used.
+
+2003-08-10  Havoc Pennington  <hp at pobox.com>
+
+	* tools/dbus-send.c (main): add --type argument, for now
+	supporting only method_call and signal types.
+
+	* tools/dbus-print-message.c: print message type
+
+	* dbus/dbus-connection.c (_dbus_connection_new_for_transport):
+	init connection->objects
+
+	* doc/dbus-specification.sgml: fix sgml
+
+	* bus/*.c: port over to object-instance API changes
+
+	* test/test-service.c: ditto
+	
+	* dbus/dbus-message.c (dbus_message_create_header): allow #NULL
+	name, we will have to fix up the rest of the code to also handle
+	this
+	(dbus_message_new): generic message-creation call
+	(set_string_field): allow appending name field
+
+2003-08-06  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-object-registry.c: implement signal connection 
+	and dispatch
+
+	* dbus/dbus-connection.c (_dbus_connection_unref_unlocked): new
+
+	* dbus/dbus-internals.c (_dbus_memdup): new function
+
+2003-08-02  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-message.c (dbus_message_get_no_reply)
+	(dbus_message_set_no_reply): add these and remove
+	set_is_error/get_is_error
+
+	* dbus/dbus-protocol.h, doc/dbus-specification.sgml: 
+	remove the ERROR flag, since there's now an ERROR type
+
+2003-08-01  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-object-registry.c (_dbus_object_registry_handle_and_unlock):
+	implement
+
+	* dbus/dbus-message.c (dbus_message_get_type): new function
+
+	* doc/dbus-specification.sgml: add "type" byte to messages
+
+2003-08-01  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-protocol.h (DBUS_MESSAGE_TYPE_*): introduce
+	a message type enum to distinguish kinds of message
+	(DBUS_HEADER_FLAG_NO_REPLY_EXPECTED): flag for a message 
+	that need not be replied to
+
+2003-08-01  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-marshal.c: adapt to DBusObjectID changes
+	(unpack_8_octets): fix no-64-bit-int bug
+
+	* dbus/dbus-object-registry.c (validate_id): validate the 
+	connection ID bits, not just the instance ID.
+
+	* dbus/dbus-connection.c (_dbus_connection_init_id): initialize
+	the connection-global 33 bits of the object ID
+
+	* dbus/dbus-object-registry.c (info_from_entry): fill in 
+	object ID in the new way
+
+	* dbus/dbus-objectid.h: rather than high/low bits, specifically 
+	define server/client/instance bits.
+
+2003-07-30  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-connection.c (dbus_connection_register_object): fix
+	build
+
+2003-07-13  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-object.h (struct DBusObjectVTable): add padding
+	fields to DBusObjectVTable and DBusObjectInfo
+
+2003-07-12  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-object-registry.c: implement unit test,
+	fix bugs discovered in process
+
+	* dbus/dbus-connection.c: remove handler_table and
+	register_handler(), add DBusObjectRegistry usage
+
+	* dbus/dbus-objectid.c (dbus_object_id_is_null)
+	(dbus_object_id_set_null): new functions
+
+2003-07-08  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-object.c: implement some of this
+
+	* dbus/dbus-object-registry.c
+	(_dbus_object_registry_add_and_unlock): fill in the object_id out
+	param
+	(_dbus_object_registry_new): handle OOM
+
+2003-07-08  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-object.h: sketch out an API for registering objects
+	with a connection, that allows us to use as little as 24 bytes
+	per object and lets application code represent an object in 
+	any conceivable way.
+
+	* dbus/dbus-object-registry.c: implement the hard bits of the
+	DBusConnection aspect of object API. Not yet wired up.
+	
+2003-07-06  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-marshal.c (_dbus_marshal_set_object_id): new function
+	(_dbus_marshal_object_id): new
+	(_dbus_demarshal_object_id): new
+	(_dbus_marshal_get_arg_end_pos): support object ID type, and
+	consolidate identical switch cases. Don't conditionalize handling
+	of DBUS_TYPE_UINT64, need to handle the type always.
+	(_dbus_marshal_validate_arg): consolidate identical cases, and
+	handle DBUS_TYPE_OBJECT_ID
+
+	* dbus/dbus-objectid.c: new file with DBusObjectID data type.
+
+	* dbus/dbus-protocol.h: add DBUS_TYPE_OBJECT_ID
+
+2003-09-28  Havoc Pennington  <hp at pobox.com>
+
+	* real 0.13 release
+
+2003-09-28  Havoc Pennington  <hp at pobox.com>
+
+	* doc/Makefile.am (dbus-specification.html): testing a funky hack
+	to work with Debian db2html
+
+2003-09-28  Havoc Pennington  <hp at pobox.com>
+
+	* configure.in: 0.13
+
+	* doc/Makefile.am (dbus-test-plan.html): accept nonexistence of
+	stylesheet-images for benefit of Debian
+	
+	Change back to using filesystem-linked sockets for the system
+	bus, so only root can create the default system bus address.
+	
+	* bus/system.conf.in: change to use
+	DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
+
+	* dbus/Makefile.am (INCLUDES): remove DBUS_SYSTEM_BUS_PATH define
+	from here.
+
+	* configure.in: define DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
+	here, and AC_DEFINE DBUS_SYSTEM_PATH
+
+2003-08-09  Anders Carlsson  <andersca at codefactory.se>
+
+	* doc/TODO:
+	* doc/busconfig.dtd:
+	Add busconfig DTD.
+	
+2003-08-09  Anders Carlsson  <andersca at codefactory.se>
+
+	* doc/dbus-specification.sgml:
+	Add activation reply values.
+	
+2003-08-05  Havoc Pennington  <hp at redhat.com>
+
+	* configure.in: 0.12
+
+2003-08-05  Anders Carlsson  <andersca at codefactory.se>
+
+	* glib/dbus-gmain.c: (watch_fd_new), (watch_fd_ref),
+	(watch_fd_unref), (dbus_gsource_check), (dbus_gsource_dispatch),
+	(add_watch), (remove_watch), (create_source):
+	Refcount fds, fixes some reentrancy issues.
+	
+2003-07-30  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-bus.c (init_connections_unlocked): fix default system
+	bus address to be abstract if we have abstract sockets
+
+	* NEWS: update
+
+2003-07-28  Havoc Pennington  <hp at redhat.com>
+
+	* bus/messagebus.in: fix to avoid processname/servicename 
+	confusion, from Michael Kearey
+	https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=100965
+	
+2003-07-23  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-message.c (dbus_message_iter_get_named): 
+	fix from Andy Hanton to remove broken "+1"
+
+2003-07-16  Havoc Pennington  <hp at pobox.com>
+
+	* tools/dbus-launch.c (babysit): close stdout/stderr in the
+	babysitter process, as suggested by Thomas Leonard, so 
+	an "eval `dbus-launch --exit-with-session`" will actually 
+	return
+
+2003-07-16  Havoc Pennington  <hp at pobox.com>
+
+	* configure.in: print out EXPANDED_* variables in the summary at
+	the end; clean up the code that computes EXPANDED_ variables and
+	get the ones using exec_prefix right. Should make things work
+	when you build without --prefix
+
+2003-06-29  Havoc Pennington  <hp at pobox.com>
+
+	* mono/Test.cs (class Test): fire up a main loop and run it
+
+	* mono/DBus.cs (DBus): don't g_thread_init since it can only be
+	done once, the app has to do it
+
+2003-06-26  Havoc Pennington  <hp at pobox.com>
+
+	* mono/Connection.cs: set up connection with the glib main loop
+
+2003-07-01  Havoc Pennington  <hp at redhat.com>
+
+	* doc/dbus-specification.sgml: clarify the format of a type code,
+	change suggested by Jim Blandy
+
+2003-06-29  Miloslav Trmac  <mitr at volny.cz>
+
+	* doc/Makefile.am:
+	* tools/Makefile.am: Don't assume srcdir == builddir.
+
+	* dbus/dbus-memory.c (dbus_realloc): Don't check guards after shrinking
+	the allocated block.
+	(_dbus_memory_test): New function.
+	* dbus/dbus-test.h: Add _dbus_memory_test ().
+	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Call it.
+
+	* dbus/dbus-message.c (decode_header_data): Use %.4s instead
+	of %c%c%c%c.
+	(dbus_message_new): Remove obsolete @todo.
+
+	* dbus/dbus-marshal.c (_dbus_marshal_set_int64)
+	(_dbus_marshal_set_uint64): Fix comment.
+
+	* dbus/dbus-message.c (append_int_field, append_uint_field): Don't
+	hardcode FIELD_REPLY_SERIAL.
+
+	* dbus/dbus-mainloop.c (_dbus_loop_remove_watch)
+	(_dbus_loop_remove_timeout): Cast function pointers to (void *) for %p
+
+	* configure.in: Add -D_POSIX_C_SOURCE=199309L -DBSD_SOURCE to CFLAGS
+	and disable DBUS_USE_ATOMIC_INT_486 when --enable-ansi is used
+
+2003-06-24  Havoc Pennington  <hp at pobox.com>
+
+	* mono/*.cs: Use IntPtr.Zero instead of ((IntPtr) 0)
+
+2003-06-23  Anders Carlsson  <andersca at codefactory.se>
+
+	* configure.in:
+	* gcj/.cvsignore:
+	* gcj/Hello.java:
+	* gcj/Makefile.am:
+	* gcj/TestMessage.java: (TestMessage), (TestMessage.main):
+	* gcj/org/.cvsignore:
+	* gcj/org/Makefile.am:
+	* gcj/org/freedesktop/.cvsignore:
+	* gcj/org/freedesktop/Makefile.am:
+	* gcj/org/freedesktop/dbus/.cvsignore:
+	* gcj/org/freedesktop/dbus/Makefile.am:
+	* gcj/org/freedesktop/dbus/Message.java: (Message),
+	(Message.Message):
+	* gcj/org/freedesktop/dbus/natMessage.cc:
+	Fix the build system.
+
+2003-06-22  Havoc Pennington  <hp at pobox.com>
+
+	* mono/Connection.cs: add more bindings
+
+	* dbus/dbus-threads.c (dbus_threads_init): allow calling this
+	more than once.
+
+2003-06-22  Havoc Pennington  <hp at pobox.com>
+
+	* mono/Connection.cs, mono/DBus.cs, mono/Error.cs:
+	Start wrapping more stuff.
+
+2003-06-22  Havoc Pennington  <hp at pobox.com>
+
+	* mono/Message.cs: implement Message.Wrap() that ensures we only
+	have a single C# wrapper per DBusMessage, assuming it works which
+	it probably doesn't.
+
+	* dbus/dbus-message.c (dbus_message_allocate_data_slot): new
+	(dbus_message_free_data_slot): new
+	(dbus_message_set_data): new
+	(dbus_message_get_data): new
+
+2003-06-22  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-dataslot.c (_dbus_data_slot_allocator_unref)
+	(_dbus_data_slot_allocator_alloc): rework these to keep a
+	reference count on each slot and automatically manage a global
+	slot ID variable passed in by address
+
+	* bus/bus.c: convert to new dataslot API
+
+	* dbus/dbus-bus.c: convert to new dataslot API
+
+	* dbus/dbus-connection.c: convert to new dataslot API
+
+	* dbus/dbus-server.c: convert to new dataslot API
+
+	* glib/dbus-gmain.c: ditto
+
+	* bus/test.c: ditto
+
+	* bus/connection.c: ditto
+
+2003-06-22  Anders Carlsson  <andersca at codefactory.se>
+
+	* configure.in: Add AM_PROG_GCJ and move AM_PROG_LIBTOOL
+	after the gcj checks so that the correct configuration tags
+	will be added to libtool.
+
+	* dbus-glib-1.pc.in: No need to specify any includes since
+	dbus-1.pc.in has those.
+
+2003-06-22  Havoc Pennington  <hp at pobox.com>
+
+	* mono/*, gcj/*, configure.in, Makefile.am:
+	Check in makefiles and subdirs for mono and gcj bindings.
+	Neither binding actually exists, just trying to get through
+	all the build and other boring bits.
+
+2003-06-21  Philip Blundell  <philb at gnu.org>
+
+	* tools/dbus-monitor.1: Updated.
+
+	* tools/dbus-send.1: Likewise.
+
+2003-06-20  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-transport-unix.c (unix_handle_watch): Check
+	for hangup and error after checking read so we won't discard
+	pending data if both hangup and read are set.
+
+2003-06-19  Philip Blundell  <philb at gnu.org>
+
+	* tools/dbus-print-message.c (print_message): Handle BOOLEAN.
+
+	* tools/dbus-send.c: Accept both --system and --session.
+
+	* tools/dbus-monitor.c: Same here.
+
+2003-06-19  Anders Carlsson  <andersca at codefactory.se>
+
+	* glib/dbus-glib.h: Fix so that dbus-glib.h can be used
+	from C++ (Patch by Miloslav Trmac).
+
+2003-06-15  Joe Shaw  <joe at assbarn.com>
+
+	* configure.in: Check for socklen_t.
+
+	* dbus/dbus-sysdeps.c: Define socklen_t if it's not defined.
+
+	* test/test-segfault.c: Add #include <sys/time.h>
+
+	* tools/Makefile.am: Add DBUS_X_CFLAGS to the INCLUDES since
+	dbus-launch needs it.
+
+2003-06-09  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): don't use
+	SUN_LEN, it breaks abstract socket usage
+
+	* dbus/dbus-internals.c (_dbus_verbose_real): only print PID at
+	starts of lines.
+
+2003-06-04  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-server.c (dbus_server_listen): allow abstract sockets
+	using unix:abstract=/foo, and when listening in a tmpdir
+	i.e. unix:tmpdir=/tmp, always use abstract sockets if we can.
+
+	* dbus/dbus-transport.c (_dbus_transport_open): support
+	unix:abstract=/foo
+
+	* dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
+	support abstract sockets
+
+	* dbus/dbus-transport-unix.c
+	(_dbus_transport_new_for_domain_socket): support abstract sockets
+
+	* dbus/dbus-sysdeps.c (_dbus_connect_unix_socket): add "abstract"
+	toggle as an argument, implement abstract namespace support
+	(_dbus_listen_unix_socket): ditto
+
+	* configure.in: add --enable-abstract-sockets and implement
+	a configure check for autodetection of the right value.
+
+2003-06-01  Havoc Pennington  <hp at pobox.com>
+
+	* tools/dbus-cleanup-sockets.c: add utility to clean up sockets
+	in /tmp (though on Linux this will end up being useless,
+	when we add abstract namespace support)
+
+	* configure.in: define DBUS_SESSION_SOCKET_DIR in addition to
+	subst'ing it
+
+2003-05-28  Colin Walters  <walters at verbum.org>
+
+	* tools/dbus-monitor.c (main): Fix silly typo (s/--session/--system/).
+
+2003-05-18  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-message.c (dbus_message_new): Remove @todo.
+
+2003-05-17  Colin Walters  <walters at gnu.org>
+
+	* tools/dbus-send.c: Don't exit with an error code if --help was
+	passed.  Default to using the session bus instead of the system
+	one.
+
+	* tools/dbus-launch.c: Ditto.
+
+	* tools/dbus-monitor.c: Ditto.
+
+	* tools/dbus-send.1: Update with new arguments.
+
+	* tools/dbus-launch.c: Emit code to export variables.  New
+	arguments -s and -c to specify shell syntax, and a bit of code to
+	autodetect syntax.  Also, allow specifying a program to run.
+
+	* tools/dbus-launch.1: Update with new arguments.
+
+	* tools/dbus-send.1: Ditto.
+
+	* tools/dbus-monitor.1: Ditto.
+
+2003-05-17  Havoc Pennington  <hp at pobox.com>
+
+	* bus/config-parser.c (merge_included): merge in policies from
+	child configuration file.
+
+	* bus/policy.c (bus_policy_merge): function to merge two policies
+	together
+
+2003-05-16  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-connection.c: disable verbose lock spew
+
+	* tools/dbus-send.c: add --print-reply command line option
+
+	* tools/dbus-print-message.h (print_message): new util function
+	shared by dbus-send and dbus-monitor
+
+	* tools/dbus-monitor.c (handler_func): exit on disconnect
+
+	* dbus/dbus-transport-unix.c (do_reading): if the transport is
+	disconnected, don't try to use the read_watch
+
+	* dbus/dbus-watch.c (dbus_watch_get_enabled): assert watch != NULL
+	so we can find this bug more easily
+
+2003-05-16  Havoc Pennington  <hp at redhat.com>
+
+	* bus/policy.c (free_rule_list_func): avoid a crash when passed
+	NULL as DBusHashTable is annoyingly likely to do.
+
+2003-05-16  Colin Walters  <walters at verbum.org>
+
+	* tools/dbus-monitor.c: Add --session argument and usage()
+	function.
+
+	* tools/dbus-monitor.1: Update with new --session arg.
+
+	* bus/Makefile.am (install-data-hook): Create
+	$(libdir)/dbus-1.0/services so that the session bus is happy.
+
+2003-05-15  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-sysdeps.c (_dbus_atomic_dec, _dbus_atomic_inc): work
+	on non-x86. ifdef's are evil.
+
+2003-05-15  Havoc Pennington  <hp at redhat.com>
+
+	* configure.in: 0.11
+
+	* NEWS: update
+
+	* bus/Makefile.am (initddir): apparently we are supposed to put
+	init scripts in /etc/rc.d/init.d not /etc/init.d
+
+	* bus/Makefile.am: remove the "you must --enable-tests to make
+	check" as it broke distcheck
+
+	* bus/Makefile.am (install-data-hook): create /etc/dbus-1/system.d
+
+2003-05-13  James Willcox  <jwillcox at gnome.org>
+
+	* configure.in:
+	* bus/activation.c: (bus_activation_service_created),
+	(bus_activation_activate_service):
+	* bus/driver.c: (bus_driver_send_service_deleted),
+	(bus_driver_send_service_created), (bus_driver_send_service_lost),
+	(bus_driver_send_service_acquired),
+	(bus_driver_send_welcome_message),
+	(bus_driver_handle_list_services):
+	* bus/session.conf.in:
+	* dbus/dbus-bus.c: (dbus_bus_acquire_service),
+	(dbus_bus_service_exists), (dbus_bus_activate_service):
+	* dbus/dbus-bus.h:
+
+	Add some convenience API which lets you activate a service, and did a
+	bunch of s/0/DBUS_TYPE_INVALID/ in calls to dbus_message_append_args()
+	and dbus_message_get_args()
+
+2003-05-11  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix to avoid
+	calling _dbus_marshal_validate_arg() for every byte in a byte
+	array, etc.
+
+	* dbus/dbus-message-handler.c: use atomic reference counting to
+	reduce number of locks slightly; the global lock in here sucks
+
+	* dbus/dbus-connection.c
+	(_dbus_connection_update_dispatch_status_and_unlock): variant of
+	update_dispatch_status that can be called with lock held; then use
+	in a couple places to reduce locking/unlocking
+	(dbus_connection_send): hold the lock over the whole function
+	instead of acquiring it twice.
+
+	* dbus/dbus-timeout.c (_dbus_timeout_new): handle OOM
+
+	* bus/connection.c (bus_connections_setup_connection): fix access
+	to already-freed memory.
+
+	* dbus/dbus-connection.c: keep a little cache of linked list
+	nodes, to avoid using the global linked list alloc lock in the
+	normal send-message case. Instead we just use the connection lock
+	that we already have to take.
+
+	* dbus/dbus-list.c (_dbus_list_find_last): new function
+
+	* dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec):
+	change to use a struct for the atomic type; fix docs,
+	they return value before increment, not after increment.
+
+	* dbus/dbus-string.c (_dbus_string_append_4_aligned)
+	(_dbus_string_append_8_aligned): new functions to try to
+	microoptimize this operation.
+	(reallocate_for_length): break this out of set_length(), to
+	improve profile info, and also so we can consider inlining the
+	set_length() part.
+
+	* dbus/dbus-message.c (dbus_message_new_empty_header): init data
+	strings with some preallocation, cuts down on our calls to realloc
+	a fair bit. Though if we can get the "move entire string to empty
+	string" optimization below to kick in here, it would be better.
+
+	* dbus/dbus-string.c (_dbus_string_move): just call
+	_dbus_string_move_len
+	(_dbus_string_move_len): add a special case for moving
+	an entire string into an empty string; we can just
+	swap the string data instead of doing any reallocs.
+	(_dbus_string_init_preallocated): new function
+
+2003-05-11  Havoc Pennington  <hp at pobox.com>
+
+	Write a "test-profile" that does echo client-server with threads;
+	profile reveals lock contention, memcpy/realloc of buffers, and
+	UTF-8 validation as hot spots. 20% of lock contention eliminated
+	with dbus_atomic_inc/dec implementation on x86.  Much remaining
+	contention is global mempool locks for GList and DBusList.
+
+	* dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec): add
+	x86 implementation
+
+	* dbus/dbus-connection.c (struct DBusConnection): use
+	dbus_atomic_t for the reference count
+
+	* dbus/dbus-message.c (struct DBusMessage): declare
+	dbus_atomic_t values as volatile
+
+	* configure.in: code to detect ability to use atomic integer
+	operations in assembly, from GLib patch
+
+	* dbus/dbus-internals.c (_dbus_verbose_real): call getpid every
+	time, tired of it being wrong in threads and forked processes
+
+	* glib/test-profile.c: a little program to bounce messages back
+	and forth between threads and eat CPU
+
+	* dbus/dbus-connection.c: add debug spew macros for debugging
+	thread locks; include config.h at top; fix deadlock in
+	dbus_connection_flush()
+
+2003-05-08  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-spawn.c: s/_exit/exit/ because it was keeping gcov
+	data from getting written, and there wasn't a good reason to
+	use _exit really.
+
+	* test/decode-gcov.c (mark_inside_dbus_build_tests): don't count
+	dbus_verbose lines in test coverage
+	(main): add list of functions sorted by # of untested blocks
+	to the coverage report
+
+	* dbus/dbus-mempool.c: put some test-only code in DBUS_BUILD_TESTS
+
+	* dbus/dbus-marshal.c (_dbus_marshal_test): extend test coverage
+
+	* dbus/dbus-message-handler.c (_dbus_message_handler_test):
+	extend test coverage
+
+	* test/data/auth/cancel.auth-script: test canceling an
+	authentication
+
+	* dbus/Makefile.am: remove dbus-server-debug.[hc] for now, as they
+	aren't used. in CVS history if we end up needing them.
+
+2003-05-04  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-message-handler.c (_dbus_message_handler_test): add
+	unit test
+
+	* dbus/dbus-marshal.c (_dbus_demarshal_string_array): fix this
+	function, which assumed length was in # of strings, not bytes
+
+	* dbus/dbus-message.c (_dbus_message_test): add tests for some
+	missing coverage
+
+	* dbus/dbus-connection.c
+	(_dbus_connection_queue_received_message): disable function for
+	now, we are only using it in test mode
+
+	* dbus/dbus-message.c (_dbus_message_loader_queue_messages):
+	remove a mistaken FIXME
+
+2003-05-04  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-connection.c (dbus_connection_preallocate_send):
+	unlock mutex on successful return, patch from Anders Gustafsson
+
+2003-05-04  Havoc Pennington  <hp at pobox.com>
+
+	* dbus-glib-1.pc.in (Requires): fix dependencies, from
+	Anders Gustafsson
+
+2003-05-04  Havoc Pennington  <hp at pobox.com>
+
+	* tools/dbus-launch.c: implement
+
+	* bus/main.c (main), bus/bus.c (bus_context_new):
+	implement --print-pid and --fork
+
+2003-05-03  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-address.c (dbus_parse_address): fix bug when a key in
+	the address had no value, and add to test suite. Fix and
+	regression test from Miloslav Trmac
+
+2003-05-03  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-watch.c (dbus_watch_handle): warn and return if a
+	watch is invalid when handled
+
+	* tools/Makefile.am, tools/dbus-launch.c, tools/dbus-launch.1: add
+	dbus-launch utility to launch the bus from a shell script.  Didn't
+	actually implement dbus-launch yet, it's just a placeholder still.
+
+2003-05-03  Havoc Pennington  <hp at pobox.com>
+
+	* bus/Makefile.am, bus/dbus-daemon-1.1.in: man page for the
+	daemon; also documents daemon config file, so replaces
+	doc/config-file.txt. Corrected some stuff from config-file.txt in
+	the process of moving it.
+
+2003-05-03  Havoc Pennington  <hp at pobox.com>
+
+	* tools/Makefile.am, tools/dbus-send.1, tools/dbus-monitor.1:
+	add some man pages
+
+2003-05-03  Colin Walters  <walters at verbum.org>
+
+	* dbus/dbus-sysdeps.c (fill_user_info): Test against
+	DBUS_UID_UNSET to determine whether to do a uid lookup or not.
+
+	* Makefile.am: Update to use new .pc versioning scheme.
+
+2003-05-02  Havoc Pennington  <hp at redhat.com>
+
+	* bus/system.conf.in: allow send/receive to/from message bus
+	service
+
+2003-04-30  Havoc Pennington  <hp at redhat.com>
+
+	* configure.in: print a note when building with unit tests and
+	without assertions
+
+2003-04-30  Havoc Pennington  <hp at redhat.com>
+
+	* Makefile.am: add a check-local that complains if you didn't
+	configure with --enable-tests
+
+2003-04-29  Havoc Pennington  <hp at redhat.com>
+
+	* glib/dbus-gmain.c: docs cleanups
+
+	* dbus/dbus-types.h: add docs on int64 types
+
+	* dbus/dbus-memory.c: fix docs to avoid putting private API in
+	public API docs section
+
+2003-04-29  Havoc Pennington  <hp at redhat.com>
+
+	* dbus-1.pc.in, dbus-glib-1.pc.in: rename these from
+	dbus-1.0.pc.in, dbus-glib-1.0.pc.in. As these change with the
+	parallel install API version, not with the D-BUS package version.
+
+	* HACKING: move some of README over here
+
+	* README: updates, and document API/ABI policy
+
+	* configure.in: reindentation
+
+2003-04-29  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus.h: add "you have to define DBUS_API_SUBJECT_TO_CHANGE
+	to use this library" to be sure people have the right
+	expectations.
+
+2003-04-28  Havoc Pennington  <hp at redhat.com>
+
+	* configure.in: add --enable-docs which by default is auto yes if
+	doxygen and db2html found, no otherwise; but can be forced on/off
+
+	* doc/Makefile.am: conditionalize whether to build docs on
+	--enable-docs
+
+2003-04-28  Havoc Pennington  <hp at redhat.com>
+
+	* configure.in: 0.10
+
+	* NEWS: update
+
+	* bus/system.conf.in: add <includedir>system.d</includedir>
+
+	* dbus/dbus-userdb.c (_dbus_user_database_lookup): fix bug when
+	username was provided but not uid
+
+	* bus/config-parser.c (struct BusConfigParser): keep track of
+	whether the parser is toplevel or was included; change some
+	of the error handling if it's included.
+
+2003-04-27  Havoc Pennington  <hp at pobox.com>
+
+	Unbreak my code...
+
+	* dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
+	report correct status if we finish processing authentication
+	inside this function.
+
+	* bus/activation.c (try_send_activation_failure): use
+	bus_transaction_send_error_reply
+
+	* bus/connection.c (bus_connection_get_groups): return an error
+	explaining the problem
+
+	* bus/bus.c (bus_context_check_security_policy): implement
+	restriction here that inactive connections can only send the
+	hello message. Also, allow bus driver to send anything to
+	any recipient.
+
+	* bus/connection.c (bus_connection_complete): create the
+	BusClientPolicy here instead of on-demand.
+	(bus_connection_get_policy): don't return an error
+
+	* dbus/dbus-message.c (dbus_message_new_error_reply): allow NULL
+	sender field in message being replied to
+
+	* bus/bus.c (bus_context_check_security_policy): fix silly typo
+	causing it to return FALSE always
+
+	* bus/policy.c (bus_client_policy_check_can_send): fix bug where
+	we checked sender rather than destination
+
+2003-04-25  Havoc Pennington  <hp at redhat.com>
+
+        test suite is slightly hosed at the moment, will fix soon
+
+	* bus/connection.c (bus_connections_expire_incomplete): fix to
+	properly disable the timeout when required
+	(bus_connection_set_name): check whether we can remove incomplete
+	connections timeout after we complete each connection.
+
+	* dbus/dbus-mainloop.c (check_timeout): fix this up a bit,
+	probably still broken.
+
+	* bus/services.c (bus_registry_acquire_service): implement max
+	number of services owned, and honor allow/deny rules on which
+	services a connection can own.
+
+	* bus/connection.c (bus_connection_get_policy): report errors here
+
+	* bus/activation.c: implement limit on number of pending
+	activations
+
+2003-04-25  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-transport.c (_dbus_transport_get_unix_user): fix bug
+	where we used >= 0 instead of != DBUS_UID_UNSET.
+
+2003-04-25  Havoc Pennington  <hp at redhat.com>
+
+	* glib/dbus-gmain.c (remove_watch): fix for a crash when watches
+	were toggled without add/remove, fix from Anders Gustafsson
+
+2003-04-24  Havoc Pennington  <hp at redhat.com>
+
+	* test/data/valid-config-files/basic.conf: add <limit> tags to
+	this test
+
+	* bus/config-parser.h, bus/config-parser.c, bus/bus.c: Implement
+	<limit> tag in configuration file.
+
+2003-04-24  Havoc Pennington  <hp at redhat.com>
+
+	* bus/dispatch.c: somehow missed some name_is
+
+	* dbus/dbus-timeout.c (_dbus_timeout_set_enabled)
+	(_dbus_timeout_set_interval): new
+
+	* bus/connection.c (bus_connections_setup_connection): record time
+	when each connection is first set up, and expire them after the
+	auth timeout passes.
+
+2003-04-24  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-message.c (dbus_message_name_is): rename
+	(dbus_message_service_is): rename
+	(dbus_message_sender_is): rename
+	(dbus_message_get_service): rename
+
+2003-04-24  Havoc Pennington  <hp at redhat.com>
+
+	* configure.in: add --enable-checks
+
+	* dbus/dbus-message.c (dbus_message_new): reverse name/service arguments
+
+	* dbus/dbus-connection.c (dbus_connection_preallocate_send): fix
+	to use thread locks.
+	(_dbus_connection_handler_destroyed_locked): move some private
+	functions into proper docs group
+
+	* dbus/dbus-internals.h: add _dbus_return_if_fail,
+	_dbus_return_val_if_fail
+
+	Throughout: use dbus_return_if_fail
+
+2003-04-23  James Willcox  <jwillcox at gnome.org>
+
+	* glib/dbus-glib.h:
+	* glib/dbus-gmain.c: (add_timeout), (wakeup_main), (create_source),
+	(dbus_connection_setup_with_g_main),
+	(dbus_server_setup_with_g_main):
+	* glib/test-dbus-glib.c: (main):
+	* glib/test-thread-client.c: (main):
+	* glib/test-thread-server.c: (new_connection_callback), (main):
+	* tools/dbus-monitor.c: (main):
+
+	Added a GMainContext argument to dbus_connection_setup_with_g_main()
+	and dbus_server_setup_with_g_main().
+
+2003-04-20  Havoc Pennington  <hp at pobox.com>
+
+	* doc/dbus-specification.sgml: document the restrictions on
+	message and service names
+
+2003-04-22  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-message.c, dbus/dbus-marshal.c: add 64-bit integer
+	support, and do some code cleanups to share more code and
+	speed up array marshal/demarshal.
+
+	* dbus-1.0.pc.in (Cflags): put libdir include file in cflags
+
+	* configure.in: generate dbus-arch-deps.h
+
+	* dbus/dbus-protocol.h (DBUS_TYPE_INT64, DBUS_TYPE_UINT64): add
+	64-bit typecodes
+
+2003-04-22  Havoc Pennington  <hp at redhat.com>
+
+	* test/data/valid-messages/opposite-endian.message: fix test
+	to use proper type for rply field
+
+        * test/data/invalid-messages: add tests for below validation
+
+	* dbus/dbus-message.c (decode_header_data): validate field types,
+	and validate that named fields are valid names
+	(decode_name_field): consider messages in the
+	org.freedesktop.Local. namespace to be invalid.
+
+	* dbus/dbus-string.c (_dbus_string_validate_name): new
+
+2003-04-19  Havoc Pennington  <hp at pobox.com>
+
+	* bus/driver.c (bus_driver_handle_hello): check limits and
+	return an error if they are exceeded.
+
+	* bus/connection.c: maintain separate lists of active and inactive
+	connections, and a count of each. Maintain count of completed
+	connections per user. Implement code to check connection limits.
+
+	* dbus/dbus-list.c (_dbus_list_unlink): export
+
+	* bus/bus.c (bus_context_check_security_policy): enforce a maximum
+	number of bytes in the message queue for a connection
+
+2003-04-18  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-auth.c (record_mechanisms): memleak fixes
+
+	* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): fix some
+	memleaks
+
+	* dbus/dbus-keyring.c (add_new_key): fix a memleak, and
+	on realloc be sure to update the pointer in the keyring
+
+	* dbus/dbus-string.c (_dbus_string_zero): compensate for align
+	offset to avoid writing to unallocated memory
+
+	* dbus/dbus-auth.c (process_rejected): return FALSE if we fail to
+	try the next mechanism, so we properly handle OOM
+
+	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): fix double-free
+	on OOM.
+	(_dbus_keyring_new): fix OOM bug
+	(_dbus_keyring_new_homedir): always set error; impose a maximum
+	number of keys we'll load from the file, mostly to speed up the
+	test suite and make its OOM checks more useful, but also for
+	general sanity.
+
+	* dbus/dbus-auth.c (process_error_server): reject authentication
+	if we get an error from the client
+	(process_cancel): on cancel, send REJECTED, per the spec
+	(process_error_client): send CANCEL if we get an error from the
+	server.
+
+2003-04-18  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-mainloop.c (_dbus_loop_iterate): fix UMR in verbose
+	debug spew
+
+	* dbus/dbus-auth.c (handle_client_data_cookie_sha1_mech): fix OOM
+	handling problem
+
+	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): only whine
+	about DBUS_TEST_HOMEDIR once
+
+	* bus/Makefile.am (TESTS_ENVIRONMENT): put DBUS_TEST_HOMEDIR in
+	the environment
+
+	* bus/dispatch.c (bus_dispatch_sha1_test): actually load sha1
+	config file so we test the right thing
+
+	Throughout: assorted docs improvements
+
+2003-04-18  Havoc Pennington  <hp at pobox.com>
+
+	* glib/dbus-gmain.c: adapt to watch changes
+
+	* bus/bus.c, bus/activation.c, etc.: adjust to watch changes
+
+	* dbus/dbus-server.h: remove dbus_server_handle_watch
+
+	* dbus/dbus-connection.h: remove dbus_connection_handle_watch
+
+	* dbus/dbus-watch.c (dbus_watch_handle): change DBusWatch to work
+	like DBusTimeout, so we don't need dbus_connection_handle_watch
+	etc.
+
+2003-04-17  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-userdb.c, dbus/dbus-sysdeps.c: redo all the passwd
+	database usage so it all goes via the DBusUserDatabase cache.
+
+2003-04-17  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-mainloop.c (_dbus_loop_iterate): fix logic so that if
+	there was an OOM watch we skipped, we always return TRUE so we
+	iterate again to have a look at it again. Fixes test suite hang.
+	Code rearrangement also lets us lose some memset and only iterate
+	over callbacks once.
+
+	* bus/driver.c (bus_driver_handle_message): sense of test for
+	reply was backward
+
+2003-04-16  Havoc Pennington  <hp at pobox.com>
+
+	* doc/dbus-specification.sgml: make spec say serials are unsigned
+
+	* dbus/dbus-message.h: change message serials to unsigned
+
+	* dbus/dbus-connection.c: adapt to message serials being unsigned
+
+2003-04-15  Havoc Pennington  <hp at pobox.com>
+
+	* bus/bus.c: create and keep around a shared DBusUserDatabase
+	object.
+
+	* bus/connection.c (bus_connection_get_groups): don't cache
+	groups for user in the connection object, since user database
+	object now does that.
+
+2003-04-16  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-message.c (_dbus_message_add_size_counter): keep a
+	list of size counters
+	(_dbus_message_loader_putback_message_link): put back a popped link
+
+	* dbus/dbus-connection.c
+	(dbus_connection_set_max_live_messages_size): rename
+	max_received_size
+	(dbus_connection_get_outgoing_size): get size of outgoing
+	queue
+	(_dbus_connection_set_connection_counter): remove this cruft
+
+2003-04-14  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-userdb.c: user database abstraction, mostly to get
+	caching, but at some point we might want to be able to use a
+	different database.
+
+	* bus/dispatch.c (bus_dispatch_sha1_test): add a test that uses
+	SHA1 conf file to test the sha1 auth mechanism, since the regular
+	test always uses EXTERNAL when available.
+
+	* configure.in,
+	test/data/valid-config-files/debug-allow-all-sha1.conf.in:
+	add conf file that requires use of sha1 auth
+
+2003-04-13  Havoc Pennington  <hp at pobox.com>
+
+        * tools/dbus-send.c, tools/dbus-monitor.c: two utility programs
+	from Philip Blundell to send messages and monitor them.
+
+2003-04-13  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-mainloop.c: fix some reentrancy issues by refcounting
+	callbacks
+
+	* test/data/valid-config-files/debug-allow-all.conf.in: allow all
+	users
+
+	* dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
+	fix to only recover unused bytes if we're already authenticated
+	(_dbus_transport_get_is_authenticated): fix to still mark us
+	authenticated if there are unused bytes.
+
+	* bus/dispatch.c: implement security policy checking
+
+	* bus/connection.c (bus_transaction_send_from_driver): new
+
+	* bus/bus.c (bus_context_check_security_policy): new
+
+	* bus/dispatch.c (send_service_nonexistent_error): delete this,
+	now we just set the DBusError and it gets converted to an error
+	reply.
+
+	* bus/connection.c (allow_user_function): enable code using actual
+	data from the config file
+
+	* bus/policy.c (list_allows_user): handle wildcard rules for
+	user/group connection perms
+
+2003-04-13  Havoc Pennington  <hp at pobox.com>
+
+	* bus/config-parser.c: Load up the BusPolicy and BusPolicyRules
+
+	* dbus/dbus-sysdeps.c (_dbus_get_user_id): new function
+
+	* bus/policy.c (bus_policy_append_mandatory_rule)
+	(bus_policy_append_default_rule, bus_policy_append_user_rule)
+	(bus_policy_append_group_rule): new functions
+
+2003-04-12  Havoc Pennington  <hp at pobox.com>
+
+	* bus/config-parser.c (bus_config_parser_new): fix a memleak
+
+	* dbus/dbus-sysdeps.c: change DBusCredentials to use longs for
+	the pid/gid/uid, just for paranoia.
+
+	* test/break-loader.c (randomly_do_n_things): find a byte
+	containing a type code, and randomly change it to a different
+	type code.
+
+2003-04-12  Havoc Pennington  <hp at pobox.com>
+
+	* bus/policy.h: change BusPolicy to be the thing from the config
+	file, and rename old BusPolicy to BusClientPolicy
+
+	* bus/bus.c, bus/connection.c, bus/config-parser.c: change to
+	match change in how policy works
+
+	* dbus/dbus-internals.h: mark assert_not_reached as
+	__attribute((noreturn))__
+
+2003-04-11  Havoc Pennington  <hp at redhat.com>
+
+	* doc/dbus-specification.sgml: fix a spot with the wrong name for
+	the broadcast service. Use boolean return for ServiceExists.
+
+2003-04-11  Havoc Pennington  <hp at redhat.com>
+
+	* configure.in: add another directory to look for qt in.
+
+2003-04-11  Havoc Pennington  <hp at redhat.com>
+
+	* AUTHORS: add Colin Walters
+
+2003-04-11  Havoc Pennington  <hp at redhat.com>
+
+	* NEWS: update
+
+	* configure.in: 0.9
+
+2003-04-11  Havoc Pennington  <hp at redhat.com>
+
+	* bus/messagebus.in: remove pid file when stopping the
+	message bus, since the bus won't have privileges to remove it
+	itself.
+
+2003-04-11  Havoc Pennington  <hp at redhat.com>
+
+	* bus/bus.c (bus_context_new): move credentials change after
+	creating pidfile
+
+2003-04-11  Havoc Pennington  <hp at pobox.com>
+
+	* test/decode-gcov.c: add "below average functions" to the
+	coverage report, and change how some of the code works.
+
+	* bus/test-main.c: bracket some stuff in DBUS_BUILD_TESTS so it's
+	not in the coverage stats.
+
+	* test/test-service.c (main): use _dbus_verbose not fprintf in a
+	couple places so running the test suite doesn't result in megaspam.
+
+2003-04-11  Havoc Pennington  <hp at pobox.com>
+
+	* bus/dispatch.c (check_existent_service_activation): accept a no
+	memory error in a place we didn't before
+
+	* bus/test.c (bus_test_run_everything): remove hacky "do it twice
+	in case the first one failed," since the test suite is less
+	broken now.
+
+2003-04-10  Havoc Pennington  <hp at pobox.com>
+
+	* bus/dispatch.c (check_segfault_service_activation): add test
+	for launching an executable that just crashes.
+
+	* test/test-segfault.c (main): try setting coredumpsize to 0 so we
+	don't leave a million cores. We'll see how portable this is.
+
+2003-04-10  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): move all
+	the possible parent failures before we fork, so that we don't
+	fail to create a babysitter after creating the child.
+
+	* bus/activation.c (bus_activation_activate_service): kill child
+	if we don't successfully complete the activation.
+
+2003-04-10  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-connection.c (dbus_connection_flush): don't spin on
+	the connection if it's disconnected
+
+	* bus/activation.c (bus_activation_service_created): use new
+	transaction features to roll back removal of pending activation if
+	we don't successfully create the service after all. Don't remove
+	pending activation if the function fails.
+
+	* dbus/dbus-list.c (_dbus_list_insert_before_link)
+	(_dbus_list_insert_after_link): new code to facilitate
+	services.c fixes
+
+	* dbus/dbus-hash.c (_dbus_hash_table_insert_string_preallocated):
+	new functionality, so we can preallocate the ability to insert
+	into a hash table.
+
+	* bus/connection.c (bus_transaction_add_cancel_hook): new function
+	allowing us to put custom hooks in a transaction to be used for
+	cancelling said transaction
+
+	* doc/dbus-specification.sgml: add some discussion of secondary
+	service owners, and disallow zero-length service names
+
+	* bus/services.c (bus_registry_acquire_service): new function,
+	splits out part of bus_driver_handle_acquire_service() and fixes
+	a bug where we didn't remove the service doing the acquiring
+	from the secondary queue if we failed to remove the current owner
+	from the front of the queue.
+
+2003-04-10  Alexander Larsson  <alexl at redhat.com>
+
+	* doc/dbus-specification.sgml:
+	s/org.freedesktop.Broadcast/org.freedesktop.DBus.Broadcast/
+
+2003-04-10  Alexander Larsson  <alexl at redhat.com>
+
+	* bus/.cvsignore:
+	* glib/.cvsignore:
+	* test/.cvsignore:
+	Added files to cvsignore
+
+	* dbus/dbus-message.h:
+	* dbus/dbus-message.c: (dbus_message_iter_get_named):
+	Make get_named() take two out argument and return a boolean.
+	(dbus_message_iter_get_args_valist):
+	Update usage of get_named().
+	(dbus_message_iter_append_byte):
+	Fix typo
+	(dbus_message_iter_append_named)
+	Fix typo
+	(message_iter_test), (check_message_handling_type), (_dbus_message_test):
+	More tests.
+
+2003-04-10  Alexander Larsson  <alexl at redhat.com>
+
+	* dbus/dbus-marshal.[ch]:
+	Add array_type_pos argument to _dbus_marshal_validate_arg.
+	Let you pass a NULL end_pos to _dbus_marshal_validate_type.
+
+	* dbus/dbus-message.[ch]:
+	Multi-dimensional arrays have full type specification in the
+	outermost array. Iter code re-arranged to handle this.
+	Added some more iter tests.
+
+	* doc/dbus-specification.sgml:
+	Add me to authors.
+	Remove old FIXME.
+	Update new array encoding description.
+	Correct DBUS_SERVICE_FLAGS_REPLACE_EXISTING description.
+
+	* test/data/invalid-messages/array-with-mixed-types.message:
+	* test/data/valid-messages/array-of-array-of-uint32.message:
+	Change to the new array format.
+
+	* test/data/invalid-messages/too-short-dict.message:
+	Fix bug in test.
+
+	* test/data/valid-messages/recursive-types.message:
+	Fix up and extend test.
+
+2003-04-10  Havoc Pennington  <hp at pobox.com>
+
+	* bus/dispatch.c: lots of fixes
+
+	* dbus/dbus-mainloop.c (_dbus_loop_dispatch): export
+	(_dbus_loop_iterate): remove old "quit if no callbacks" code,
+	that was crack, broke the test service.
+
+	* dbus/dbus-transport.c (_dbus_transport_open): fix error
+	handling to avoid piling up errors if we get a failure on the
+	first address.
+
+	* dbus/dbus-internals.c (_dbus_real_assert_not_reached): include
+	pid in assertion failures.
+
+	* dbus/dbus-mainloop.c (_dbus_loop_iterate): use static arrays up
+	to some fixed size of file descriptor array. Don't return TRUE
+	anytime a timeout exists, that led to lots of busy loop silliness
+	in the tests.
+
+2003-04-09  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-mainloop.c (check_timeout): fix timeouts, I thought
+	I'd checked this in earlier but hadn't.
+
+2003-04-09  Havoc Pennington  <hp at redhat.com>
+
+	* bus/dispatch.c (bus_dispatch_test): get a bit further through
+	the activation test (man this is getting old!)
+
+2003-04-09  Havoc Pennington  <hp at redhat.com>
+
+	* test/test-utils.c: use dispatch status function to fix this up
+
+	* bus/connection.c (connection_watch_callback): don't dispatch
+	from here
+	(connection_timeout_callback): don't dispatch from here
+	(bus_connections_setup_connection): set the dispatch status function
+	(bus_connection_disconnected): unset it
+
+	* dbus/dbus-mainloop.c (_dbus_loop_queue_dispatch): new function
+	used to add a connection to be dispatched
+	(_dbus_loop_iterate): do the dispatching at the end of each
+	iteration
+
+	* dbus/dbus-connection.c
+	(dbus_connection_set_dispatch_status_function): new function
+	allowing us to fix up main loop usage
+	(_dbus_connection_last_unref): free all the various function
+	user data
+	(dbus_connection_dispatch): call the DispatchStatusFunction
+	whenever this function returns
+	(dbus_connection_handle_watch): call DispatchStatusFunction
+	(dbus_connection_send_with_reply_and_block): call DispatchStatusFunction
+	(reply_handler_timeout): call DispatchStatusFunction
+	(dbus_connection_flush): call DispatchStatusFunction
+
+2003-04-09  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-bus.c (dbus_bus_register): fix up error handling and
+	a memory leak
+
+	* bus/dispatch.c (check_service_activated): fix bug in test
+
+	* dbus/dbus-mainloop.c (check_timeout): fix this up
+
+	* dbus/dbus-internals.c (_dbus_verbose_real): include PID in
+	verbose output so we can sort out output from different processes,
+	e.g. in the activation case.
+
+2003-04-08  Colin Walters  <walters at gnu.org>
+
+ 	* bus/bus.c (struct BusContext) [pidfile]: New member, to store
+ 	the pid file.
+ 	(bus_context_new): Set it.
+ 	(bus_context_unref): Use it to delete the pid file.
+
+2003-04-08  Havoc Pennington  <hp at redhat.com>
+
+	* test/data/invalid-messages/array-with-mixed-types.message:
+	regression test that fails for the moment
+
+	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): reorder
+	tests for convenience
+
+	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): don't allow
+	array of nil, it broke things.
+
+	* test/data/invalid-messages/array-of-nil.message: regression test
+
+	* test/data/valid-messages/array-of-array-of-uint32.message:
+	happened to write this so added it to suite
+
+2003-04-08  Havoc Pennington  <hp at redhat.com>
+
+	* bus/driver.c (bus_driver_handle_acquire_service): init
+	retval/reply before checking name
+
+	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add a
+	recursion depth argument
+
+	* dbus/dbus-message.h (struct DBusMessageIter): put some padding
+	in the public struct for future extension
+
+	* dbus/dbus-message-builder.c (_dbus_message_data_load): fix
+	typo
+
+	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix a verbose
+	message
+
+	* doc/dbus-specification.sgml: fix typo
+
+2003-04-08  Alexander Larsson  <alexl at redhat.com>
+
+	Implemented recursive types, named types and new-style iters
+
+	* bus/driver.c:
+	* glib/test-thread-client.c: (thread_func):
+	* glib/test-thread-server.c: (handle_test_message):
+	* test/test-service.c: (handle_echo):
+	Update to new api
+
+	* dbus/Makefile.am:
+	* dbus/dbus-dict.c:
+	* dbus/dbus-dict.h:
+	* dbus/dbus.h
+	Remove DBusDict
+
+	* dbus/dbus-internals.c: (_dbus_type_to_string):
+	Update for new types.
+
+	* dbus/dbus-marshal.[ch]:
+	Implement recursive types and the new marshalling format.
+	Remove hardcoded dict marshalling.
+	Marshal named types.
+
+	* dbus/dbus-message-builder.c:
+	Add BYTE_ARRAY.
+	Remove references to old types
+
+	* dbus/dbus-message.[ch]:
+	New non-refcounted iter API that supports recursive iters.
+	Use iters for appending, including support for recursive
+	iters.
+	Add byte and named type support.
+	Update everything to new marshalling formats.
+	Add tests for new API.
+
+	* dbus/dbus-protocol.h:
+	Remove old array types.
+	Add types: BYTE, ARRAY, DICT, NAMED
+
+	* dbus/dbus-string.c:
+	* dbus/dbus-sysdeps.c:
+	Make parse_double locale safe.
+
+	* dbus/dbus-test-main.c:
+	Call setlocale.
+
+	* dbus/dbus-test.c:
+	Kill dict test
+
+	* doc/dbus-specification.sgml:
+	Update spec
+
+	* test/data/incomplete-messages/missing-body.message:
+	* test/data/invalid-messages/bad-boolean.message:
+	* test/data/invalid-messages/bad-boolean-array.message:
+	* test/data/invalid-messages/boolean-array-length-too-long.message-raw:
+	* test/data/invalid-messages/boolean-has-no-value.message-raw:
+	* test/data/invalid-messages/too-short-dict.message:
+	* test/data/valid-messages/dict-simple.message:
+	* test/data/valid-messages/dict.message:
+	* test/data/valid-messages/emptiness.message:
+	* test/data/valid-messages/lots-of-arguments.message:
+	* test/data/valid-messages/no-padding.message:
+	* test/data/valid-messages/recursive-types.message:
+	Add missing NAME fields
+	Fix up dicts & arrays
+
+	* test/data/invalid-messages/dict-with-nil-value.message:
+	Removed, this is not invalid anymore.
+
+	* test/data/valid-messages/recursive-types.message:
+	Add new test for deeply recursive types.
+
+2003-04-07  Havoc Pennington  <hp at pobox.com>
+
+	* bus/driver.c (bus_driver_handle_acquire_service): return an
+	error if you try to acquire a service that starts with ':'
+
+2003-04-07  Havoc Pennington  <hp at redhat.com>
+
+	* doc/dbus-specification.sgml: require that base service names
+	start with ':' and that the base service is created/deleted
+	as first and last things a connection does on the bus
+
+	* bus/dispatch.c (check_existent_service_activation): lots more
+	work on the activation test; it doesn't fully pass yet...
+
+	* test/test-service.c (main): fix so we don't memleak the
+	connection to the message bus
+	(filter_func): accept a message asking us to exit
+
+2003-04-06  Havoc Pennington  <hp at pobox.com>
+
+	* qt/Makefile.am (dbusinclude_HEADERS): install dbus-qt.h,
+	from Colin Walters
+
+	* configure.in: fixes to Qt detection from Colin Walters
+
+	* doc/Makefile.am: Only remove generated docbook dirs if they
+	exist, from Colin Walters
+
+	* dbus/dbus-bus.c: change how we set well-known connections to
+	NULL, so that it works if a single connection is stored in
+	two well-known array slots.
+
+	* test/Makefile.am: remove a lot of stuff that isn't immediately
+	useful, it's in CVS history if we want it.
+
+	* test/test-service.c: use dbus-mainloop instead of that
+	watch.[hc] crack
+
+2003-04-06  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/Makefile.am: split lists of sources into stuff that goes in
+	the library, util functions that go in the lib and are also used
+	elsewhere, and util functions that are used in tests/daemon but
+	don't go in the lib.
+
+	* dbus/dbus-mainloop.h, dbus/dbus-mainloop.c: move bus/loop.[hc]
+	here so it can be used in test binaries also
+
+2003-04-06  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-sysdeps.c (_dbus_become_daemon): write the pidfile
+	here in the parent process, so we can return an error if it
+	fails. Also, move some of the code into the child so the parent
+	is less hosed if we fail midway through.
+
+	* bus/bus.c (bus_context_new): move pidfile detection further up
+	in the function, before we start overwriting sockets and such.
+
+	* bus/messagebus.in: adjust this a bit, not sure if it will work.
+
+	* configure.in: add --with-system-pid-file and --with-system-socket
+
+2003-04-06  Colin Walters  <walters at verbum.org>
+
+	* configure.in (DBUS_SYSTEM_PID_FILE): New variable.
+
+	* bus/system.conf.in: Declare a pidfile.
+
+	* bus/bus.c (bus_context_new): Test for an existing pid file, and
+	create one (if appropriate).
+
+	* bus/config-parser.c (enum ElementType) [ELEMENT_PIDFILE]: New.
+	(struct BusConfigParser) [pidfile]: New.
+	(element_type_to_name, merge_included, start_busconfig_child)
+	(bus_config_parser_end_element, bus_config_parser_content): Handle it.
+	(bus_config_parser_unref): Free it.
+	(bus_config_parser_get_pidfile): New function.
+
+	* bus/config-parser.h (_dbus_write_pid_file): Prototype.
+
+	* dbus/dbus-errors.h (DBUS_ERROR_PIDFILE_EXISTS): New error.
+
+	* dbus/dbus-sysdeps.c (_dbus_write_pid_file): New function.
+
+	* dbus/dbus-sysdeps.h: Prototype it.
+
+2003-04-06  Havoc Pennington  <hp at pobox.com>
+
+	* bus/bus.c (bus_context_new): print the address in here, rather
+	than in main(), because we need to do it before forking the daemon
+
+	* bus/dispatch.c (send_service_nonexistent_error): set the sender
+	on the service nonexistent error
+
+	* bus/driver.c (bus_driver_handle_acquire_service): set the
+	sender on the AcquireService reply
+
+	* test/data/valid-config-files/debug-allow-all.conf.in: Make test
+	server also listen on a UNIX socket so services can connect to it.
+
+2003-04-06  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-threads.c: Redo how the fake debug mutexes are done
+	so it detects deadlocks and also we actually init threads when
+	debugging.
+
+2003-04-06  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
+	save the domain socket name, and unlink it when we disconnect the
+	server. Means that at least when we exit normally, we won't leave
+	a bunch of junk in /tmp
+
+	* dbus/dbus-transport-unix.c
+	(_dbus_transport_new_for_domain_socket): code cleanup (nicer
+	memory management). (I was making a real change here but then
+	didn't)
+
+2003-04-06  Havoc Pennington  <hp at pobox.com>
+
+	* bus/bus.c (bus_context_new): fix wrong handling of
+	server_data_slot_unref() in the error case.
+
+	* dbus/dbus-internals.h (_dbus_assert): change so it passes
+	"(condition) != 0" to _dbus_real_assert so that
+	"_dbus_assert (pointer)" doesn't cause a warning
+
+	* bus/main.c (main): accept --print-address option to print out
+	the message bus address
+
+	* dbus/dbus-sysdeps.c (_dbus_generate_random_ascii): export this
+
+	* dbus/dbus-transport.c (_dbus_transport_open): special error for
+	"tmpdir" option to unix: address on client side
+
+	* dbus/dbus-server.c (dbus_server_listen): handle "tmpdir" option
+	to unix: address
+
+	* configure.in (TEST_SOCKET_DIR): locate a temporary directory
+	we can use to create sockets in the test suite.
+
+	* bus/main.c (signal_handler): on SIGTERM, exit the daemon
+	cleanly. To be used for testing.
+
+	* dbus/dbus-spawn.c (babysit): use _dbus_set_signal_handler()
+
+	* dbus/dbus-sysdeps.c (_dbus_set_signal_handler): new
+
+	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
+	handle trying to call this when there's no servers active
+
+2003-04-05  Havoc Pennington  <hp at pobox.com>
+
+	* NEWS: update
+
+	* configure.in: 0.8
+
+2003-04-05  Havoc Pennington  <hp at pobox.com>
+
+	* bus/bus.c (setup_server): fix this so dbus-daemon-1 doesn't
+	crash on startup. Need to get "try starting the daemon"
+	in the test suite I guess. ;-)
+
+	* dbus/dbus-server.h, dbus/dbus-server.c: remove the stuff that
+	tracked the number of open connections; it's better done in
+	application-specific code as you want it to span all servers etc.
+
+2003-04-05  Havoc Pennington  <hp at pobox.com>
+
+	* bus/Makefile.am (install-data-hook): add missing DESTDIR,
+	patch from Colin Walters
+
+2003-04-05  Havoc Pennington  <hp at pobox.com>
+
+	* doc/config-file.txt (Elements): fix docs of <auth> to reflect
+	reality; in fact multiple mechanisms are allowed.
+
+	* dbus/dbus-internals.c (_dbus_real_assert)
+	(_dbus_real_assert_not_reached): move guts of _dbus_assert() and
+	_dbus_assert_not_reached() into functions, so that they don't show
+	up in basic block counts for test coverage, and don't use up as
+	much disk space. Does mean slower execution speed though, so
+	assumes --disable-asserts is the normal production case.
+
+2003-04-05  Havoc Pennington  <hp at pobox.com>
+
+	* test/Makefile.am (dist-hook): also dist *.in files
+
+	* NEWS: update
+
+	* configure.in: 0.7
+
+2003-04-05  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-string.c: docs warning
+
+	* dbus/dbus-spawn.c: missing docs
+
+	* dbus/dbus-memory.c (struct ShutdownClosure): missing docs
+
+2003-04-05  Havoc Pennington  <hp at pobox.com>
+
+	* bus/loop.c (bus_loop_iterate): fix the timeout code, using
+	magic from GLib
+
+	* dbus/dbus-spawn.c (_dbus_babysitter_unref): set sitter_pid
+	to -1 once we've reaped the babysitter
+	(_dbus_babysitter_handle_watch): do as much work as we can, not
+	just one go of it
+
+	* bus/activation.c: add code using DBusBabysitter so that we
+	handle it when a service fails to start up properly.
+	(bus_activation_service_created): don't remove the activation
+	entries as we go, just let them get removed when we free the pending
+	activation. Unref reply messages after sending them.
+
+2003-04-05  Havoc Pennington  <hp at pobox.com>
+
+	* test/decode-gcov.c (main): print per-directory stats in the report
+
+	* Makefile.am (coverage-report.txt): don't include test/* in gcov stats
+
+2003-04-05  Havoc Pennington  <hp at pobox.com>
+
+	* Makefile.am (coverage-report.txt): add target "coverage-report.txt"
+
+	* test/decode-gcov.c: hack up a little program to suck data
+	out of gcov files. Yes this is sort of silly.
+
+	* configure.in: define something in config.h and do an
+	AM_CONDITIONAL when gcov is enabled
+
+2003-04-04  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-spawn.c, dbus/dbus-spawn.h: Change dbus_spawn to
+	return a "babysitter" object that is used to monitor the status of
+	the spawned process and reap it when required.
+
+	* test/test-segfault.c, test/test-exit.c,
+	test/test-sleep-forever.c: binaries that do various lame things,
+	used in the test suite.
+
+	* dbus/dbus-sysdeps.c: kill _dbus_errno_to_string()
+
+2003-04-03  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-spawn.c: Move dbus-spawn into a separate file
+	in preparation for modifying it, dbus-sysdeps is getting
+	a bit unmanageable.
+
+2003-04-03  Havoc Pennington  <hp at redhat.com>
+
+	* bus/loop.h, bus/loop.c: make the mainloop an object so we can
+	have multiple ones
+
+	* bus/*.[hc]: adapt to mainloop change
+
+2003-04-03  Havoc Pennington  <hp at redhat.com>
+
+	* bus/activation.c (load_directory): fix up memleaks
+	(bus_activation_entry_free): free the entry
+
+	* dbus/dbus-bus.c (dbus_bus_acquire_service): return an error if
+	we get one from the message bus; fix memleaks.
+
+	* dbus/dbus-message.c (dbus_set_error_from_message): new function
+
+2003-04-03  Havoc Pennington  <hp at pobox.com>
+
+	* bus/config-parser.c (bus_config_parser_unref): free
+	list of mechanisms, bug discovered by test suite enhancements
+	(putting system.conf and session.conf into suite)
+
+	* test/Makefile.am, test/test-service.c: add placeholder for a
+	test service that we'll activate as part of test suite. Doesn't
+	do anything yet.
+
+	* dbus/dbus-sysdeps.c (_dbus_setenv): support unsetenv by
+	setting NULL value, and use system malloc not dbus_malloc()
+	when we have unavoidable memleakage.
+
+	* dbus/dbus-bus.c (dbus_bus_get): fix bug where bus type of 0
+	didn't work, and support DBUS_BUS_ACTIVATION.
+
+	* bus/activation.c (child_setup): pass our well-known bus type to
+	the child
+
+	* bus/config-parser.c: support <type> to specify well-known type
+
+	* doc/dbus-specification.sgml: document the env variables to
+	locate well-known buses and find service activator
+
+2003-04-02  Havoc Pennington  <hp at redhat.com>
+
+	* test/Makefile.am (all-local): add a rule to copy tests to
+	builddir, so we can have generated tests. Use this to remove the
+	silly hack for testing system.conf and session.conf. Will use this
+	shortly to generate .service files pointing to test binaries.
+
+2003-04-02  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-string.c (set_length): fix a bug - we allocated max of
+	current alloc and needed new length, not max of the doubled
+	allocation and needed new length. Also, when building tests,
+	don't do the double-allocation stuff, just realloc every time.
+
+2003-04-02  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-sysdeps.c (_dbus_file_get_contents): include filenames
+	in error messages
+	(_dbus_string_get_dirname): new
+	(_dbus_sysdeps_test): new
+	(_dbus_directory_open): include dirnames in error messages
+
+	* bus/config-parser.c: interpret <include> and <includedir> and
+	<servicedir> relative to config file location if the given
+	filename is not absolute.
+
+	* dbus/dbus-string.c (_dbus_string_find_byte_backward): new
+
+2003-04-02  Havoc Pennington  <hp at redhat.com>
+
+	* bus/connection.c (bus_transaction_send_error_reply): set sender
+	service for the error, and unref the reply on success
+
+	* bus/activation.c: convert to use BusTransaction so OOM can be
+	handled correctly
+	(bus_activation_service_created): set sender of the message
+
+2003-04-01  Havoc Pennington  <hp at redhat.com>
+
+	* bus/config-parser.c, bus/bus.c: implement <servicedir> and
+	<includedir> (at least mostly)
+
+	* dbus/dbus-sysdeps.c (_dbus_change_identity): set the group ID
+	first, then the user ID
+
+2003-04-01  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-server.c (dbus_server_set_auth_mechanisms): new
+	function
+
+	* dbus/dbus-auth.c (_dbus_auth_set_mechanisms): new
+
+	* dbus/dbus-internals.c (_dbus_dup_string_array): new function
+
+	* dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): chmod the
+	socket 0777, and unlink any existing socket.
+
+	* bus/bus.c (bus_context_new): change our UID/GID and fork if
+	the configuration file so specifies; set up auth mechanism
+	restrictions
+
+	* bus/config-parser.c (bus_config_parser_content): add support
+	for <fork> option and fill in code for <auth>
+
+	* bus/system.conf.in: add <fork/> to default configuration,
+	and limit auth mechanisms to EXTERNAL
+
+	* doc/config-file.txt (Elements): add <fork>
+
+	* dbus/dbus-sysdeps.c (_dbus_become_daemon): new function
+	(_dbus_change_identity): new function
+
+2003-03-31  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-sysdeps.c (_dbus_connect_unix_socket)
+	(_dbus_listen_unix_socket): fix off-by-one error in null
+	termination spotted by Nalin
+
+2003-03-31  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): allow setting
+	DBUS_TEST_HOMEDIR when tests are enabled, so we can test without
+	having a real home directory available.
+
+2003-03-31  Havoc Pennington  <hp at redhat.com>
+
+	* bus/Makefile.am (install-data-hook): create /var/run/dbus
+
+	* bus/messagebus.in: add init script for Red Hat /etc/init.d
+
+	* configure.in: add support for specifying a style of init script
+	to install
+
+2003-03-31  Havoc Pennington  <hp at redhat.com>
+
+        Fix some annoying DBusString API and fix all affected code.
+
+	* dbus/dbus-string.c (_dbus_string_init): get rid of annoying
+	max_length argument
+	(_dbus_string_get_data): change to return string instead of using
+	an out param
+	(_dbus_string_get_const_data): ditto
+	(_dbus_string_get_data_len): ditto
+	(_dbus_string_get_const_data_len): ditto
+
+2003-03-31  Havoc Pennington  <hp at redhat.com>
+
+	* bus/main.c (main): fix up the command line arguments to be nicer
+
+2003-03-31  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/Makefile.am (INCLUDES): use EXPANDED_LOCALSTATEDIR to
+	define DBUS_SYSTEM_BUS_PATH as we want to compile in the same
+	final location that lands in the config file
+
+	* bus/config-loader-expat.c (bus_config_load): fix type of
+	XML_Parser variable
+
+	* doc/TODO: remove TODO item for dbus_bus_get()
+
+	* dbus/dbus-bus.c (bus_data_free): add missing lock/unlock
+
+2003-03-31  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket)
+	(_dbus_transport_new_for_tcp_socket): these didn't need the "server"
+	argument since they are always client side
+
+	* dbus/dbus-server.c (dbus_server_get_address): new function
+
+	* bus/main.c (main): take the configuration file as an argument.
+
+	* test/data/valid-config-files/debug-allow-all.conf: new file to
+	use with dispatch.c tests for example
+
+	* bus/test-main.c (main): require test data dir
+
+	* bus/bus.c (bus_context_new): change this to take a
+	configuration file name as argument
+
+	* doc/config-file.txt (Elements): add <servicedir>
+
+	* bus/system.conf, bus/session.conf: new files
+
+	* dbus/dbus-bus.c (dbus_bus_get): look for system bus on
+	well-known socket if none set
+
+	* configure.in: create system.conf and session.conf
+
+2003-03-30  Havoc Pennington  <hp at pobox.com>
+
+	* bus/config-parser.c: hacking
+
+	* dbus/dbus-memory.c: don't use DBusList for the list of stuff
+	to shut down, since it could cause weirdness with the DBusList
+	lock
+
+	* dbus/dbus-list.c (_dbus_list_test): add tests for the
+	link-oriented stack routines
+	(alloc_link): free the mempool if the first alloc from it fails
+
+	* dbus/dbus-mempool.c (struct DBusMemBlock): fix alignment issue
+
+	* dbus/dbus-string.c (UNICODE_VALID): sync new version of this
+	from GLib
+	(_dbus_string_skip_white): new
+
+	* doc/config-file.txt (Elements): add <includedir>
+
+2003-03-28  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-string.c (_dbus_string_copy_data_len)
+	(_dbus_string_copy_data): new functions
+
+2003-03-28  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-bus.c: (bus_data_free), (dbus_bus_get):
+	* dbus/dbus-bus.h:
+	Add dbus_bus_get.
+
+	* dbus/dbus-memory.c:
+	Fix a doc comment.
+
+2003-03-28  Havoc Pennington  <hp at pobox.com>
+
+	* bus/test.c (bus_test_flush_bus): remove the sleep from here,
+	I think it may have just been superstition. Not sure.
+
+	* dbus/dbus-string.c (_dbus_string_base64_decode): catch some OOM
+	failures that were not being handled.
+
+	* dbus/dbus-auth.c (process_auth): fix a memleak in OOM handling
+
+	* dbus/dbus-memory.c: add ability to set number of mallocs in a
+	row that will fail on out-of-memory.
+
+	* dbus/dbus-internals.c (_dbus_test_oom_handling): convenience
+	function for testing out-of-memory handling.
+
+	* bus/config-loader-expat.c (memsuite): don't wrap the dbus
+	allocation functions, they do map exactly to the expat ones.
+
+2003-03-27  Havoc Pennington  <hp at redhat.com>
+
+	* bus/config-loader-libxml.c (bus_config_load): add another error
+	check
+
+2003-03-26  Anders Carlsson  <andersca at codefactory.se>
+
+	* doc/TODO:
+	Add note about automatic service activation.
+
+	* doc/dbus-specification.sgml:
+	Rename the specification and clarify a few things.
+
+2003-03-26  Anders Carlsson  <andersca at codefactory.se>
+
+	* Doxyfile.in:
+	* dbus/dbus-address.c:
+	* dbus/dbus-dict.c:
+	* dbus/dbus-marshal.c:
+	* dbus/dbus-server-debug-pipe.c:
+	* dbus/dbus-transport-unix.c:
+	Fix documentation warnings.
+
+2003-03-26  Havoc Pennington  <hp at pobox.com>
+
+	* bus/test-main.c, dbus/dbus-test.c (main): check memleaks
+	after every test so it's quick and easy to see which leaked, and
+	so we test multiple dbus_shutdown() calls
+
+	* configure.in: change configure.in XML stuff to also support
+	expat
+
+	* config-loader-libxml.c: some hacking
+
+	* config-loader-expat.c: some hacking
+
+	* config-parser.c: some hacking, plus tests
+
+2003-03-25  Havoc Pennington  <hp at redhat.com>
+
+        * throughout - add more _DBUS_ASSERT_ERROR_IS_CLEAR
+
+	* configure.in: add --with-xml option to specify XML library,
+	right now only libxml is supported.
+
+	* bus/config-loader-libxml.c, config-parser.c: sync some minor
+	nonworking code between home and work, still just stubs
+
+2003-03-24  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-sysdeps.c (_dbus_set_fd_nonblocking): move to this
+	file
+
+	* dbus/dbus-errors.c (dbus_set_error, dbus_set_error_const): allow
+	NULL argument for "message" if the error is a well-known one,
+	fill in a generic message in this case.
+
+	* dbus/dbus-errors.h (DBusResultCode): Kill DBusResultCode in
+	favor of DBusError
+
+	* bus/test.c (bus_test_flush_bus): add
+
+	* bus/policy.c (bus_policy_test): test code stub
+
+2003-03-24  Havoc Pennington  <hp at pobox.com>
+
+	* bus/connection.c (bus_connections_setup_connection): set up
+	the "can this user connect" function, but it always returns
+	TRUE until we have a config file parser so we can have a config
+	file that allows connections.
+
+2003-03-23  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-threads.c (dbus_mutex_new, dbus_condvar_new): with
+	DBUS_BUILD_TESTS, actually alloc/free a block of memory for
+	the mutex, so we can check for proper memory management
+	and OOM handling.
+
+	* dbus/dbus-dataslot.c: remove the mutex from
+	DBusDataSlotAllocator and lock it manually when using it,
+	to simplify fitting it into the global slots framework.
+
+	* dbus/dbus-threads.c (init_static_locks): rework how we're
+	handling global locks so they are easily shut down.
+
+	* bus/policy.c (bus_policy_append_rule): fix
+
+	* bus/test-main.c (main): check for memleaks
+
+	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): make
+	test suite check for memleaks
+
+	* dbus/dbus-memory.c: add support in test mode for tracking
+	number of outstanding blocks
+
+2003-03-23  Havoc Pennington  <hp at pobox.com>
+
+	* bus/policy.c, bus/bus.c, bus/connection.c: implement allow/deny
+	policies code
+
+	* dbus/dbus-hash.h: add ULONG hash keys
+
+	* dbus/dbus-sysdeps.c (_dbus_get_groups): new
+	(_dbus_get_group_id): new function
+
+2003-03-20  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-connection.c (dbus_connection_set_unix_user_function):
+	new function
+	(dbus_connection_get_unix_user): new function
+
+2003-03-20  Havoc Pennington  <hp at pobox.com>
+
+	* bus/connection.c (bus_connection_send_oom_error): assert that
+	message has a sender
+	(connection_execute_transaction): ditto
+	(bus_connection_preallocate_oom_error): fix to set the sender, and
+	set recipient to the destination service, not the bus driver
+
+	* bus/policy.c: hacking
+
+	* dbus/dbus-message.c (dbus_message_service_is): new function
+	(dbus_message_sender_is): new
+
+2003-03-19  Havoc Pennington  <hp at redhat.com>
+
+	* bus/policy.c: start sketching code for policy restrictions on
+	what connections can do.
+
+2003-03-18  Havoc Pennington  <hp at redhat.com>
+
+	* doc/TODO: some notes on high-level todo items. Little nitpick
+	stuff is all in @todo, so no need to add it here.
+
+	* doc/config-file.txt: some notes on how config file might look
+
+2003-03-18  Anders Carlsson  <andersca at codefactory.se>
+
+	* configure.in: 0.6
+
+	* NEWS: Update.
+
+2003-03-17  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-internals.h: add gcc attributes so that
+	our printf-style functions warn on bad arguments to
+	format
+
+	* dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix printf
+	format bug
+
+	* dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
+	printf format bug
+
+2003-03-17  Havoc Pennington  <hp at redhat.com>
+
+	* bus/test-main.c (main): make it print something as it runs
+	so make check doesn't look stuck
+
+	* doc/negotiation.txt, doc/dbus-sasl-profile.txt: remove
+	from CVS, now obsolete
+
+2003-03-17  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/dispatch.c: (bus_dispatch):
+	Refetch the service name since it may have been reallocated
+	when dbus_message_set_sender was called.
+
+	* dbus/dbus-sysdeps.c: (_dbus_accept):
+	Add address and address length variables and use them to stop
+	valgrind from complaining.
+
+2003-03-17  Havoc Pennington  <hp at pobox.com>
+
+	All tests pass, no memleaks, no valgrind complaints.
+
+	* bus/test.c: refcount handler_slot
+
+	* bus/connection.c (bus_connections_new): refcount
+	connection_data_slot
+
+	* dbus/dbus-auth-script.c (_dbus_auth_script_run): delete unused
+	bytes so that auth scripts pass.
+
+	* bus/dispatch.c: init message_handler_slot so it gets allocated
+	properly
+
+	* bus/dispatch.c (message_handler_slot_ref): fix memleak
+
+	* dbus/dbus-server-debug-pipe.c (_dbus_server_debug_pipe_new):
+	dealloc server_pipe_hash when no longer used for benefit of
+	leak checking
+
+	* dbus/dbus-auth.c (process_command): memleak fix
+
+	* bus/dispatch.c (check_hello_message): memleak fix
+
+2003-03-16  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-bus.c (ensure_bus_data): fix double-unref of the data slot
+
+2003-03-17  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/activation.c (bus_activation_activate_service): Append
+	the pending activation entry to the list of pending activations.
+
+2003-03-16  Havoc Pennington  <hp at pobox.com>
+
+	* bus/dispatch.c (bus_dispatch_test): remove double-unrefs of
+	connections
+
+	* dbus/dbus-address.c (create_entry): fix OOM handling when
+	failing to alloc entry->method
+
+2003-03-16  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-watch.c (_dbus_watch_new): handle failure to malloc
+	the watch
+
+	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
+	add some missing dbus_set_result
+
+	* bus/dispatch.c (bus_dispatch_add_connection): handle failure to
+	alloc the DBusMessageHandler
+
+	* dbus/dbus-transport.c (_dbus_transport_disconnect): don't ref
+	the transport here, since we call this from the finalizer; it
+	resulted in a double-finalize.
+
+	* dbus/dbus-transport.c (_dbus_transport_disconnect): fix a bug
+	where we tried to use transport->connection that was NULL,
+	happened when transport was disconnected early on due to OOM
+
+	* bus/*.c: adapt to handle OOM for watches/timeouts
+
+	* dbus/dbus-transport-unix.c: port to handle OOM during
+	watch handling
+
+	* dbus/dbus-auth.c (_dbus_auth_get_unused_bytes): return a
+	reference to unused bytes instead of a copy
+
+	* dbus/dbus-server.c (dbus_server_handle_watch): return FALSE for
+	out of memory
+
+	* dbus/dbus-connection.c (dbus_connection_handle_watch): return
+	FALSE on OOM
+
+	* dbus/dbus-timeout.c (dbus_timeout_handle): return FALSE for out
+	of memory
+
+2003-03-16  Anders Carlsson  <andersca at codefactory.se>
+
+	* doc/dbus-specification.sgml:
+	Document reply message for ActivateService.
+
+2003-03-16  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/activation.c: (bus_pending_activation_entry_free),
+	(bus_pending_activation_free), (bus_activation_new),
+	(bus_activation_unref), (bus_activation_service_created),
+	(bus_activation_activate_service):
+	* bus/activation.h:
+	* bus/bus.c: (bus_context_new):
+	* bus/desktop-file.c: (new_section):
+	* bus/driver.c: (bus_driver_send_service_deleted),
+	(bus_driver_handle_activate_service):
+	* bus/services.c: (bus_registry_new), (bus_registry_ensure):
+	* bus/services.h:
+	* dbus/dbus-connection.c:
+	(dbus_connection_send_with_reply_and_block):
+	* dbus/dbus-message.c: (dbus_message_append_args_valist):
+	* dbus/dbus-protocol.h:
+	Make activation work better. Now pending activations will be queued
+	and the daemon won't try to activate services that are already registered.
+
+2003-03-16  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-bus.c (ensure_bus_data): handle failure to set
+	connection data
+
+	* dbus/dbus-memory.c (_dbus_initialize_malloc_debug): support
+	DBUS_MALLOC_BACKTRACES to print trace when failing an alloc
+
+2003-03-16  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-string.c (_dbus_string_validate_utf8): oops, unbreak
+	this. always run the test suite before commit...
+
+	* bus/*: adapt to DBusConnection API changes
+
+	* glib/dbus-gmain.c: adapt to DBusConnection API changes,
+	requires renaming stuff to avoid dbus_connection_dispatch name
+	conflict.
+
+	* dbus/dbus-transport.c (_dbus_transport_queue_messages): new
+	function
+
+	* dbus/dbus-message.c (_dbus_message_loader_queue_messages):
+	separate from _dbus_message_loader_return_buffer()
+
+	* dbus/dbus-connection.c (dbus_connection_get_n_messages): remove
+	this, because it's now always broken to use; the number of
+	messages in queue vs. the number still buffered by the message
+	loader is undefined/meaningless. Should use
+	dbus_connection_get_dispatch_state().
+	(dbus_connection_dispatch): rename from
+	dbus_connection_dispatch_message
+
+2003-03-16  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-string.c (_dbus_string_validate_utf8): copy in a real
+	implementation
+
+2003-03-16  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-connection.c:
+	(dbus_connection_send_with_reply_and_block):
+	Decrease connection->n_incoming when removing an entry
+	from the list.
+	* dbus/dbus-dict.c: (dbus_dict_entry_free),
+	(dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
+	(dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
+	(dbus_dict_set_byte_array), (dbus_dict_set_string_array),
+	(dbus_dict_get_boolean_array), (dbus_dict_get_double_array),
+	(dbus_dict_get_byte_array):
+	Handle NULL arrays and strings. Also add support for byte arrays.
+
+	* dbus/dbus-marshal.c: (_dbus_marshal_byte_array),
+	(_dbus_marshal_dict), (_dbus_demarshal_byte_array),
+	(_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
+	(_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
+	(_dbus_demarshal_dict), (demarshal_and_validate_len),
+	(_dbus_marshal_validate_arg), (_dbus_marshal_test):
+	* dbus/dbus-marshal.h:
+	Add support for marshalling and demarshalling empty arrays and strings.
+
+	* dbus/dbus-message.c: (dbus_message_append_args_valist),
+	(dbus_message_append_string_array),
+	(dbus_message_iter_get_boolean),
+	(dbus_message_iter_get_boolean_array),
+	(dbus_message_iter_get_int32_array),
+	(dbus_message_iter_get_uint32_array),
+	(dbus_message_iter_get_double_array),
+	(dbus_message_iter_get_byte_array),
+	(dbus_message_iter_get_string_array), (dbus_message_iter_get_dict),
+	(check_message_handling):
+	Add support for getting empty arrays and dicts.
+
+	* dbus/dbus-string.c: (_dbus_string_validate_utf8):
+	Don't do any validation at all for now, that's better than just checking
+	for ASCII.
+
+	* test/data/valid-messages/emptiness.message:
+	New test message with lots of empty arrays.
+
+2003-03-16  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-connection.c
+	(_dbus_connection_queue_received_message_link): new function that
+	can't fail due to OOM
+
+	* dbus/dbus-message.c (_dbus_message_loader_pop_message_link):
+	new function pops a message together with a list link
+	containing it.
+
+	* dbus/dbus-transport-unix.c (queue_messages): use new link-based
+	message queuing functions to avoid needing to alloc memory
+
+2003-03-16  Havoc Pennington  <hp at pobox.com>
+
+	Oops - test code was only testing failure of around 30 of the
+	mallocs in the test path, but it turns out there are 500+
+	mallocs. I believe this was due to misguided linking setup such
+	that there was one copy of dbus_malloc etc. in the daemon and one
+	in the shared lib, and only daemon mallocs were tested. In any
+	case, the test case now tests all 500+ mallocs, and doesn't pass
+	yet, though there are lots of fixes in this patch.
+
+	* dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
+	this so that it doesn't need to allocate memory, since it
+	has no way of indicating failure due to OOM (and would be
+	annoying if it did).
+
+	* dbus/dbus-list.c (_dbus_list_pop_first_link): new function
+
+	* bus/Makefile.am: rearrange to create two self-contained
+	libraries, to avoid having libraries with overlapping symbols.
+	that was resulting in weirdness, e.g. I'm pretty sure there
+	were two copies of global static variables.
+
+	* dbus/dbus-internals.c: move the malloc debug stuff to
+	dbus-memory.c
+
+	* dbus/dbus-list.c (free_link): free list mempool if it becomes
+	empty.
+
+	* dbus/dbus-memory.c (_dbus_disable_mem_pools): new function
+
+	* dbus/dbus-address.c (dbus_parse_address): free list nodes
+	on failure.
+
+	* bus/dispatch.c (bus_dispatch_add_connection): free
+	message_handler_slot when no longer using it, so
+	memory leak checkers are happy for the test suite.
+
+	* dbus/dbus-server-debug-pipe.c (debug_finalize): free server name
+
+	* bus/bus.c (new_connection_callback): disconnect in here if
+	bus_connections_setup_connection fails.
+
+	* bus/connection.c (bus_connections_unref): fix to free the
+	connections
+	(bus_connections_setup_connection): if this fails, don't
+	disconnect the connection, just be sure there are no side
+	effects.
+
+	* dbus/dbus-string.c (undo_alignment): unbreak this
+
+	* dbus/dbus-auth.c (_dbus_auth_unref): free some stuff we were
+	leaking
+	(_dbus_auth_new): fix the order in which we free strings
+	on OOM failure
+
+	* bus/connection.c (bus_connection_disconnected): fix to
+	not send ServiceDeleted multiple times in case of memory
+	allocation failure
+
+	* dbus/dbus-bus.c (dbus_bus_get_base_service): new function to
+	get the base service name
+	(dbus_bus_register_client): don't return base service name,
+	instead store it on the DBusConnection and have an accessor
+	function for it.
+	(dbus_bus_register_client): rename dbus_bus_register()
+
+	* bus/dispatch.c (check_hello_message): verify that other
+	connections on the bus also got the correct results, not
+	just the one sending hello
+
+2003-03-15  Havoc Pennington  <hp at pobox.com>
+
+	Make it pass the Hello handling test including all OOM codepaths.
+	Now to do other messages...
+
+	* bus/services.c (bus_service_remove_owner): fix crash when
+	removing owner from an empty list of owners
+	(bus_registry_ensure): don't leave service in the list of
+	a connection's owned services if we fail to put the service
+	in the hash table.
+
+	* bus/connection.c (bus_connection_preallocate_oom_error): set
+	error flag on the OOM error.
+
+	* dbus/dbus-connection.c (_dbus_connection_new_for_transport):
+	handle _dbus_transport_set_connection failure
+
+	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): modify
+	to create watches up front and simply enable/disable them as
+	needed.
+	(unix_connection_set): this can now fail on OOM
+
+	* dbus/dbus-timeout.c, dbus/dbus-watch.c: add concept
+	of enabling/disabling a watch or timeout.
+
+	* bus/loop.c (bus_loop_iterate): don't touch disabled
+	watches/timeouts
+
+	* glib/dbus-gmain.c: adapt to enable/disable watches and timeouts
+
+2003-03-15  Havoc Pennington  <hp at pobox.com>
+
+	* bus/dispatch.c (bus_dispatch_test): OK, now finally actually
+	write useful test code, after all that futzing around ;-)
+
+	Test does not yet pass because we can't handle OOM in
+	_dbus_transport_messages_pending (basically,
+	dbus_connection_preallocate_send() does not prealloc the write
+	watch). To fix this, I think we need to add new stuff to
+	set_watch_functions, namely a SetEnabled function so we can alloc
+	the watch earlier, then enable it later.
+
+	* dbus/Makefile.am (libdbus_convenience_la_SOURCES): move
+	dbus-memory.c to the convenience lib
+
+	* bus/test.c: rename some static functions to keep them clearly
+	distinct from stuff in connection.c. Handle client disconnection.
+
+2003-03-14  Havoc Pennington  <hp at pobox.com>
+
+	* bus/dispatch.c (bus_dispatch_test): do test using debug-pipe
+	transport, tests more of the real codepath. Set up clients
+	with bus_setup_debug_client.
+
+	* bus/test.c (bus_setup_debug_client): function to set up debug
+	"clients" on the main loop
+
+	* dbus/dbus-transport.c (_dbus_transport_open): add debug-pipe
+	support
+
+	* dbus/dbus-server.c (dbus_server_listen): add debug-pipe
+	server type
+
+	* dbus/dbus-server-debug.c: support a debug server based on pipes
+
+	* dbus/dbus-sysdeps.c (_dbus_full_duplex_pipe): new function
+	(_dbus_close): new function
+
+	* configure.in: check for socketpair
+
+2003-03-14  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-memory.c: add a "detect buffer overwrites on free"
+	cheesy hack
+
+	* dbus/dbus-transport-debug.c: rework this a good bit to be
+	less complicated. hopefully still works.
+
+	* dbus/dbus-server-debug.c (handle_new_client): remove timeout
+	manually
+
+	* glib/dbus-gmain.c (timeout_handler): don't remove timeout
+	after running it
+
+	* dbus/dbus-message.c (dbus_message_copy): rename from
+	dbus_message_new_from_message, fix it up to copy
+	all the message fields, add test case
+
+	* bus/dispatch.c (bus_dispatch_test): add some more test code,
+	not quite passing yet
+
+2003-03-14  Havoc Pennington  <hp at pobox.com>
+
+	* bus/loop.c (bus_loop_iterate): add this so we can "run loop
+	until no work remains" in test code. (the large diff here
+	is just code movement, no actual changes)
+
+	* dbus/dbus-server-debug.c (DEFAULT_INTERVAL): change interval to
+	1, no point waiting around for test code.
+	(_dbus_server_debug_accept_transport): unref the timeout
+	after adding it (right?)
+
+	* dbus/dbus-transport-debug.c (DEFAULT_INTERVAL): ditto
+
+2003-03-13  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-timeout.c (_dbus_timeout_list_set_functions): handle
+	out of memory
+
+	* dbus/dbus-watch.c (_dbus_watch_list_set_functions): handle out
+	of memory
+
+	* dbus/dbus-connection.h: Make AddWatchFunction and
+	AddTimeoutFunction return a bool so they can fail on out-of-memory
+
+	* bus/bus.c (bus_context_new): set up timeout handlers
+
+	* bus/connection.c (bus_connections_setup_connection): set up
+	timeout handlers
+
+	* glib/dbus-gmain.c: adapt to the fact that set_functions stuff
+	can fail
+
+	* bus/bus.c (bus_context_new): adapt to changes
+
+	* bus/connection.c: adapt to changes
+
+	* test/watch.c: adapt to DBusWatch changes
+
+	* bus/dispatch.c (bus_dispatch_test): started adding this but
+	didn't finish
+
+2003-03-14  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/dispatch.c (send_service_nonexistent_error): Fix typo.
+
+2003-03-13  Havoc Pennington  <hp at pobox.com>
+
+	* bus/test.c, bus/test.h, bus/Makefile.am, bus/test-main.c:
+	set up a test framework as for the library
+
+2003-03-12  Havoc Pennington  <hp at pobox.com>
+
+	Throughout: purge global variables, introduce BusActivation,
+	BusConnections, BusRegistry, etc. objects instead.
+
+	* bus/bus.h, bus/bus.c: introduce BusContext as a global
+	message bus object
+
+	* test/Makefile.am (TEST_BINARIES): disable bus-test for now,
+	going to redo this a bit differently I think
+
+2003-03-12  Havoc Pennington  <hp at redhat.com>
+
+        Mega-patch that gets the message bus daemon initially handling
+	out-of-memory. Work still needed. Also lots of random
+	moving stuff to DBusError instead of ResultCode.
+
+	* dbus/dbus-list.c (_dbus_list_length_is_one): new function
+
+	* dbus/dbus-connection.c
+	(dbus_connection_send_with_reply_and_block): use DBusError
+
+	* dbus/dbus-bus.c: adapt to API changes, make it use DBusError not
+	DBusResultCode
+
+	* dbus/dbus-connection.c (dbus_connection_send): drop the result
+	code here, as the only failure possible is OOM.
+
+	* bus/connection.c (bus_connection_disconnect):
+	rename bus_connection_disconnected as it's a notification only
+
+	* bus/driver.c (bus_driver_handle_acquire_service): don't free
+	"name" on get_args failure, should be done by get_args;
+	don't disconnect client for bad args, just return an error.
+	(bus_driver_handle_service_exists): ditto
+
+	* bus/services.c (bus_services_list): NULL-terminate returned array
+
+	* bus/driver.c (bus_driver_send_service_lost)
+	(bus_driver_send_service_acquired): send messages from driver to a
+	specific client to the client's unique name, not to the broadcast
+	service.
+
+	* dbus/dbus-message.c (decode_header_data): reject messages that
+	contain no name field
+	(_dbus_message_get_client_serial): rename to
+	dbus_message_get_serial and make public
+	(_dbus_message_set_serial): rename from set_client_serial
+	(_dbus_message_set_reply_serial): make public
+	(_dbus_message_get_reply_serial): make public
+
+	* bus/connection.c (bus_connection_foreach): allow stopping
+	iteration by returning FALSE from foreach function.
+
+	* dbus/dbus-connection.c (dbus_connection_send_preallocated)
+	(dbus_connection_free_preallocated_send)
+	(dbus_connection_preallocate_send): new API for sending a message
+	without possibility of malloc failure.
+	(dbus_connection_send_message): rename to just
+	dbus_connection_send (and same for whole function family)
+
+	* dbus/dbus-errors.c (dbus_error_free): make this reinit the error
+
+	* dbus/dbus-sysdeps.c (_dbus_exit): new function
+
+	* bus/activation.c: handle/return errors
+
+	* dbus/dbus-errors.h: add more DBUS_ERROR #define
+
+	* dbus/dbus-sysdeps.c (_dbus_directory_open) (_dbus_file_get_contents)
+	(_dbus_directory_get_next_file): use DBusError instead of DBusResultCode
+	(_dbus_result_from_errno): move to this file
+
+2003-03-10  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-marshal.c:
+	(_dbus_marshal_set_string):
+	Take a length argument so we can marshal the correct string
+	length.
+
+	(_dbus_marshal_dict), (_dbus_demarshal_dict),
+	(_dbus_marshal_get_arg_end_pos), (_dbus_marshal_validate_arg),
+	(_dbus_marshal_test):
+	* dbus/dbus-marshal.h:
+	Add support for marshalling and demarshalling dicts.
+
+	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
+	Add support for TYPE DICT.
+
+	* dbus/dbus-message.c: (set_string_field):
+	Adjust header padding.
+
+	(dbus_message_append_args_valist), (dbus_message_append_dict),
+	(dbus_message_get_args_valist), (dbus_message_iter_get_arg_type),
+	(dbus_message_iter_get_dict), (_dbus_message_loader_return_buffer),
+	(check_message_handling), (check_have_valid_message):
+	* dbus/dbus-message.h:
+	Add functions for setting and getting dicts.
+
+	* dbus/dbus-protocol.h:
+	Add DBUS_TYPE_DICT.
+
+	* dbus/dbus.h:
+	Add dbus-dict.h
+
+	* doc/dbus-specification.sgml:
+	Add information about how dicts are marshalled.
+
+	* test/data/invalid-messages/dict-with-nil-value.message:
+	* test/data/invalid-messages/too-short-dict.message:
+	* test/data/valid-messages/dict-simple.message:
+	* test/data/valid-messages/dict.message:
+	Add sample messages containing dicts.
+
+2003-03-08  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-dict.h: Add DBUS_END_DECLS.
+
+2003-03-07  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/Makefile.am:
+	* dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
+	(dbus_dict_get_keys), (insert_entry), (dbus_dict_set_boolean),
+	(dbus_dict_set_int32), (dbus_dict_set_uint32),
+	(dbus_dict_set_double), (dbus_dict_set_string),
+	(dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
+	(dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
+	(dbus_dict_set_string_array), (_dbus_dict_test):
+	* dbus/dbus-dict.h:
+	Fix according to comments from Havoc.
+
+2003-03-06  Michael Meeks  <michael at server.home>
+
+	* configure.in: if we don't have kde-config, disable have_qt.
+
+2003-03-07  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/Makefile.am:
+	Add dbus-dict.[ch]
+
+	* dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
+	(dbus_dict_ref), (dbus_dict_unref), (dbus_dict_contains),
+	(dbus_dict_remove), (dbus_dict_get_value_type),
+	(dbus_dict_get_keys), (dbus_dict_put_boolean),
+	(dbus_dict_put_int32), (dbus_dict_put_uint32),
+	(dbus_dict_put_double), (dbus_dict_put_string),
+	(dbus_dict_put_boolean_array), (dbus_dict_put_int32_array),
+	(dbus_dict_put_uint32_array), (dbus_dict_put_double_array),
+	(dbus_dict_put_string_array), (dbus_dict_get_boolean),
+	(dbus_dict_get_int32), (dbus_dict_get_uint32),
+	(dbus_dict_get_double), (dbus_dict_get_string),
+	(dbus_dict_get_boolean_array), (dbus_dict_get_int32_array),
+	(dbus_dict_get_uint32_array), (dbus_dict_get_double_array),
+	(dbus_dict_get_string_array), (_dbus_dict_test):
+	* dbus/dbus-dict.h:
+	Add DBusDict implementation
+
+	* dbus/dbus-test.c: (dbus_internal_do_not_use_run_tests):
+	* dbus/dbus-test.h:
+	Add _dbus_dict_test
+
+2003-03-04  Havoc Pennington  <hp at pobox.com>
+
+	* test/data/auth/*: adapt to changes
+
+	* dbus/dbus-auth-script.c (_dbus_auth_script_run): add
+	USERID_BASE64 and change USERNAME_BASE64 to put in username not
+	userid
+
+	* dbus/dbus-keyring.c (_dbus_keyring_validate_context): prevent
+	more stuff from being in a context name, to make the protocol
+	simpler to deal with
+
+	* dbus/dbus-errors.c (dbus_error_has_name): new function
+	(dbus_error_is_set): new function
+
+	* dbus/dbus-auth.c: replace DBUS_STUPID_TEST_MECH auth
+	with DBUS_COOKIE_SHA1, implement DBUS_COOKIE_SHA1
+
+	* dbus/dbus-connection.c (dbus_connection_flush): also read
+	messages during a flush operation
+
+	* dbus/Makefile.am: remove dbus-md5 since it isn't currently used.
+
+2003-03-05  Anders Carlsson  <andersca at codefactory.se>
+
+	* configure.in: Check for gethostbyname on Solaris.
+
+	* dbus/dbus-transport.c: (_dbus_transport_open):
+	Remove duplicate "tcp" entry.
+
+	* doc/dbus-specification.sgml:
+	Clarify some things.
+
+2003-03-05  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-auth.c: (send_rejected), (process_test_subdir):
+	* dbus/dbus-keyring.c: (_dbus_keyring_new_homedir),
+	(_dbus_keyring_test):
+	* dbus/dbus-md5.c: (_dbus_md5_compute):
+	* dbus/dbus-sha.c: (_dbus_sha_compute):
+	Plug memory leaks.
+
+2003-03-05  Anders Carlsson  <andersca at codefactory.se>
+
+	* README: Add some things.
+
+2003-03-04  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-message.c (dbus_message_append_args_valist): Add a break;
+	after case DBUS_TYPE_BOOELAN.
+
+2003-03-02  Havoc Pennington  <hp at pobox.com>
+
+	* test/break-loader.c (randomly_set_extreme_ints): add test that
+	sets really huge and small integers
+
+	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add check
+	that length of boolean array fits in the string, and that
+	string has room for boolean value in single-bool case.
+
+	* dbus/dbus-message-builder.c (_dbus_message_data_load): add
+	optional value to "ALIGN" command which is what to fill the
+	alignment with.
+
+	* test/data/valid-messages/no-padding.message: add regression
+	test for the message padding problem
+
+2003-03-02  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-message.c (decode_header_data): fix to always init
+	message_padding, from Benjamin Dauvergne
+
+2003-03-02  Havoc Pennington  <hp at pobox.com>
+
+	* configure.in: 0.5
+
+	* NEWS: Update.
+
+2003-03-01  Joe Shaw  <joe at assbarn.com>
+
+	* configure.in: Check for "struct cmsgcred" and try to access its
+	members for BSD-like unices.
+
+	* dbus/dbus-sysdeps.c (read_credentials_byte): Fold this back into
+	_dbus_read_credentials_unix_socket().
+	(_dbus_read_credentials_unix_socket): Use recvmsg() instead of
+	read() for reading the credential byte off the unix socket.  Use
+	struct cmsgcred on systems that support it.
+
+2003-02-27  Alexander Larsson  <alexl at redhat.com>
+
+	* glib/Makefile.am:
+	* configure.in:
+	Make gthreads-2.0 dependency optional. Don't build thread test if
+	its not found.
+
+2003-02-27  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-connection.c
+	(dbus_connection_send_message_with_reply_and_block): fix doh!
+	doh! doh! bug that resulted in never removing a reply from the
+	queue, no wonder we called get_reply_serial so much ;-)
+
+	* dbus/dbus-message.c (struct DBusMessage): cache reply serial
+	and client serial instead of demarshaling them every time
+
+2003-02-27  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-marshal.c (_dbus_demarshal_int32): rewrite to be much
+	more inlined, using dbus-string-private.h, speeds things up
+	substantially
+
+	* dbus/dbus-string.c (_dbus_string_free): apply align offset
+	when freeing the string
+	(_dbus_string_steal_data): fix for align offset
+	(undo_alignment): new function
+
+2003-02-26  Havoc Pennington  <hp at redhat.com>
+
+        All kinds of audit fixes from Owen, plus initial attempt to
+	handle unaligned memory returned from malloc.
+
+	* dbus/dbus-string.c (_dbus_string_init): clamp max length to
+	leave room for align_offset and nul byte
+	(fixup_alignment): function to track an align_offset and
+	ensure real->str is aligned
+	(DBUS_GENERIC_STRING_PREAMBLE): len must be less than allocated,
+	to allow a nul byte plus align offset
+	(_dbus_string_lock): fix overflow issue
+	(_dbus_string_init_const_len): add assertions on sanity of len,
+	assign allocated to be ALLOCATION_PADDING larger than len
+	(set_length): fixup the overflow handling
+	(_dbus_string_get_data_len): fix overflow in assertion
+	(open_gap): detect overflow in size of gap to be opened
+	(_dbus_string_lengthen): add overflow check
+	(_dbus_string_align_length): fix overflow with _DBUS_ALIGN_VALUE
+	(_dbus_string_append): add overflow check
+	(_dbus_string_append_unichar): overflow
+	(_dbus_string_delete): fix overflow in assertion
+	(_dbus_string_copy_len): overflow in assertion
+	(_dbus_string_replace_len): overflows in assertions
+	(_dbus_string_find): change to implement in terms of
+	_dbus_string_find_to
+	(_dbus_string_find_to): assorted fixage
+	(_dbus_string_equal_c_str): assert c_str != NULL,
+	fix logic so the function works
+	(_dbus_string_ends_with_c_str): fix overflow thingy
+	(_dbus_string_base64_encode): overflow fix
+	(_dbus_string_validate_ascii): overflow
+	(_dbus_string_validate_nul): overflow
+
+2003-02-26  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-marshal.c (_dbus_marshal_test): fix to work with DISABLE_ASSERTS
+
+2003-02-26  Alexander Larsson  <alexl at redhat.com>
+
+	* configure.in:
+	Set DBUS_GLIB_THREADS_LIBS for apps using gthread-2.0
+
+	* dbus/dbus-connection.c:
+	* dbus/dbus-connection.h:
+	Fix _dbus_connection_acquire_io_path and _dbus_connection_acquire_dispatch.
+	Add dbus_connection_set_wakeup_main_function and use it when queueing
+	incoming and outgoing messages.
+
+
+	* dbus/dbus-dataslot.c:
+	Threadsafe usage of DBusDataSlotAllocator
+
+	* dbus/dbus-message.c: (dbus_message_get_args_iter):
+	dbus_new can fail.
+
+	* dbus/dbus-server-unix.c:
+	Add todo comment
+
+	* glib/dbus-gmain.c:
+	Implement the new wakeup functions for glib.
+
+	* glib/Makefile.am:
+	* glib/test-thread-client.c:
+	* glib/test-thread-server.c:
+	* glib/test-thread.h:
+	Initial cut at some thread test code. Not really done yet.
+
+2003-02-26  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-connection.c
+	(dbus_connection_send_message_with_reply_and_block): fix crash
+	where we ref'd the outgoing message instead of the returned reply
+
+	* dbus/dbus-transport-unix.c (do_authentication): check read watch
+	at the end of this function, so if we didn't need to read for
+	authentication, we reinstall it for receiving messages
+
+	* dbus/dbus-message.c (dbus_message_new_reply): allow replies to
+	a NULL sender for peer-to-peer case
+
+	* dbus/dbus-transport-unix.c (check_read_watch): handle
+	!authenticated case correctly
+
+	* glib/dbus-gmain.c: add support for DBusServer
+
+	* dbus/dbus-server.c: add data slot support
+
+	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main): check
+	return values and handle errors
+
+	* dbus/dbus-dataslot.c: factor out the data slot stuff from
+	DBusConnection
+
+	* Doxyfile.in (INPUT): add glib subdir
+
+	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main): rename
+	setup_with_g_main instead of hookup_with_g_main; write docs
+
+2003-02-24  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-marshal.c: (_dbus_marshal_validate_arg):
+	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
+	* dbus/dbus-message.c: (dbus_message_append_boolean),
+	(dbus_message_append_boolean_array),
+	(dbus_message_get_args_valist), (_dbus_message_test):
+	* dbus/dbus-message.h:
+	* doc/dbus-specification.sgml:
+	Various fixes as pointed out by Havoc.
+
+	* test/data/invalid-messages/bad-boolean-array.message:
+	* test/data/invalid-messages/bad-boolean.message:
+	Add invalid boolean value test cases.
+
+2003-02-24  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-internals.c: (_dbus_type_to_string):
+	* dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
+	(_dbus_marshal_validate_arg):
+	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
+	* dbus/dbus-message.c: (dbus_message_append_args_valist),
+	(dbus_message_append_boolean), (dbus_message_append_boolean_array),
+	(dbus_message_get_args_valist), (dbus_message_iter_get_boolean),
+	(dbus_message_iter_get_int32), (dbus_message_iter_get_uint32),
+	(dbus_message_iter_get_double),
+	(dbus_message_iter_get_boolean_array), (message_iter_test):
+	* dbus/dbus-message.h:
+	* dbus/dbus-protocol.h:
+	* doc/dbus-specification.sgml:
+	* test/data/valid-messages/lots-of-arguments.message:
+	Add support for boolean and boolean array types.
+
+2003-02-23  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-keyring.c: finish most of this implementation and
+	simple unit test
+
+	* dbus/dbus-errors.c (dbus_set_error_const, dbus_set_error): make
+	these barf if the error isn't cleared to NULL
+
+	* dbus/dbus-sysdeps.c (_dbus_delete_file): set error on failure
+	(_dbus_create_directory): new function
+
+	* dbus/dbus-errors.c (dbus_set_error): fix warning
+
+	* dbus/dbus-string.c (_dbus_string_hex_encode): new function
+	(_dbus_string_hex_decode): new function
+	(test_hex_roundtrip): test code
+
+	* dbus/dbus-sha.c (_dbus_sha_compute): use dbus_string_hex_encode
+
+	* dbus/dbus-md5.c (_dbus_md5_compute): use dbus_string_hex_encode
+
+	* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): make this use
+	the save-to-temp/rename trick to atomically write the new file
+	(_dbus_string_parse_uint): new function
+
+2003-02-22  Havoc Pennington  <hp at pobox.com>
+
+	* test/Makefile.am (dist-hook): fix dist for test/data/sha-1
+
+2003-02-22  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-message.c (dbus_message_iter_get_string_array):
+	(dbus_message_iter_get_byte_array): Fix up doxygen warnings
+
+	* dbus/dbus-sha.c: add implementation of SHA-1 algorithm
+
+	* dbus/test/data/sha-1: add US government test suite for SHA-1
+
+2003-02-21  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
+	Make string arrays NULL-terminated.
+
+	* dbus/dbus-memory.c: (dbus_free_string_array):
+	* dbus/dbus-memory.h:
+	New function for freeing NULL-terminated string arrays.
+
+	* dbus/dbus-message-builder.c: (append_quoted_string),
+	(_dbus_message_data_load):
+	Add support for array types.
+
+	* dbus/dbus-message.c: (check_message_handling):
+	Add more types as test cases.
+
+	* dbus/dbus-sysdeps.c: (_dbus_string_parse_int),
+	(_dbus_string_parse_double):
+	Add the start offset to the end offset.
+
+	* test/data/valid-messages/lots-of-arguments.message:
+	New test message with lots of arguments.
+
+2003-02-21  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-message.c: (dbus_message_append_nil),
+	(dbus_message_append_int32), (dbus_message_append_uint32),
+	(dbus_message_append_double), (dbus_message_append_string),
+	(dbus_message_append_int32_array),
+	(dbus_message_append_uint32_array),
+	(dbus_message_append_double_array),
+	(dbus_message_append_byte_array),
+	(dbus_message_append_string_array):
+	Fix all out-of-memory handling in these functions.
+
+2003-02-21  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-message.c: (dbus_message_append_nil):
+	Fix a silly.
+
+2003-02-21  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-message.c: (dbus_message_append_args_valist),
+	(dbus_message_append_nil), (dbus_message_append_int32_array),
+	(dbus_message_append_uint32_array),
+	(dbus_message_append_double_array),
+	(dbus_message_append_byte_array),
+	(dbus_message_append_string_array), (dbus_message_get_args_valist),
+	(dbus_message_iter_get_int32_array),
+	(dbus_message_iter_get_uint32_array),
+	(dbus_message_iter_get_double_array),
+	(dbus_message_iter_get_byte_array),
+	(dbus_message_iter_get_string_array):
+
+	* dbus/dbus-message.h:
+	Add functions for appending and getting arrays.
+
+2003-02-21  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-mempool.c (_dbus_mem_pool_new): Make the
+	element size at least 8 bytes, fixes mempool tests on
+	64-bit machines.
+
+2003-02-20  Alexander Larsson  <alexl at redhat.com>
+
+	* dbus/dbus-transport-unix.c (unix_do_iteration):
+	Unlock the connection mutex during a blocking select call.
+	Add todo about how we need a way to wake up the select.
+
+	* dbus/dbus-connection-internal.h:
+	* dbus/dbus-connection.c:
+	Add _dbus_connection_lock and _dbus_connection_unlock.
+
+2003-02-19  Havoc Pennington  <hp at pobox.com>
+
+	* Doxyfile.in (PREDEFINED): put DOXYGEN_SHOULD_SKIP_THIS in
+	Doxyfile.in, not Doxyfile
+
+	* dbus/dbus-keyring.c: do some hacking on this
+
+	* dbus/dbus-sysdeps.c (_dbus_delete_file): new
+
+	* dbus/dbus-errors.c (dbus_set_error_const): do not call
+	dbus_error_init
+	(dbus_set_error): remove dbus_error_init, check for message ==
+	NULL *before* we sprintf into it, and add @todo about including
+	system headers in this file
+
+	* dbus/dbus-sysdeps.c (_dbus_create_file_exclusively): new
+
+	* dbus/dbus-errors.h (DBUS_ERROR_FAILED): add
+
+	* dbus/dbus-sysdeps.c (get_user_info): break this function out to
+	get various bits of user information based on either username
+	or user ID
+	(_dbus_homedir_from_username): new function
+
+2003-02-19  Anders Carlsson  <andersca at codefactory.se>
+
+	* configure.in:
+	Add check for nonposix getpwnam_r
+
+	* dbus/dbus-mempool.c: (_dbus_mem_pool_new):
+	Align the pool element size to a sizeof (void *) boundary.
+
+	* dbus/dbus-sysdeps.c: (_dbus_setenv), (_dbus_connect_unix_socket),
+	(_dbus_listen_unix_socket), (_dbus_credentials_from_username):
+	General Solaris fixes.
+
+	* test/data/valid-messages/simplest-manual.message:
+	Explicitly state that we want little-endian packing.
+
+2003-02-19  Mikael Hallendal  <micke at codefactory.se>
+
+	* dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
+
+	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_tcp_socket):
+	Added to create a transport connecting using a tcp/ip socket.
+
+	* dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): Added to connect
+	to a tcp socket at given host and port.
+	(_dbus_listen_tcp_socket): added to listen on tcp socket for given
+	hostname and port.
+
+	* dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
+
+	* dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
+	Added to create a server listening on a TCP/IP socket.
+
+2003-02-19  Havoc Pennington  <hp at pobox.com>
+
+	Throughout: mop up all the Doxygen warnings and undocumented
+	stuff.
+
+	* dbus/dbus-sysdeps.c (do_exec): do not use execvp, we don't want
+	to search any paths.
+
+	* dbus/dbus-threads.c: move global mutex initializers to
+	dbus-internals.h, multiple prototypes was confusing doxygen
+	besides being kind of ugly
+
+	* Doxyfile (PREDEFINED): have Doxygen define
+	DOXYGEN_SHOULD_SKIP_THIS so we can exclude things from
+	docs with #ifndef DOXYGEN_SHOULD_SKIP_THIS
+	(do not abuse the feature! it's for stuff like the autogenerated
+	macros in dbus-md5.c, not just for things you don't feel like
+	documenting...)
+
+2003-02-18  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-string.c (_dbus_string_zero): new function
+
+	* dbus/dbus-md5.c: include MD5 implementation by L. Peter Deutsch,
+	wrap it in some dbus-friendly API
+
+	* dbus/dbus-types.h: add 16-bit types
+
+2003-02-18  Joe Shaw  <joe at assbarn.com>
+
+	* dbus/dbus-auth.c (handle_server_data_stupid_test_mech): Just get
+	credentials from our currently running process.
+	(get_word): Fix a buglet where we were copying the entire length
+	instead of relative to our position.
+
+	* dbus/dbus-hash.c (_dbus_hash_test): Don't try to allocate the
+	keys on the stack... it's 640k of data.
+
+	* dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): Always
+	read the credentials byte off the socket, even if we don't have
+	SO_PEERCRED.
+	(_dbus_poll): Implement poll() using select() for systems which
+	don't have it.
+
+	* glib/test-dbus-glib.c (main): Print out an error if no
+	parameters are given.
+
+	* test/data/auth/fallback.auth-script: Added.  Tests that a client
+	can fallback to a secondary auth mechanism if the first fails.
+
+2003-02-18  Havoc Pennington  <hp at pobox.com>
+
+	* AUTHORS: add Alex
+
+2003-02-17  Havoc Pennington  <hp at pobox.com>
+
+	* doc/dbus-specification.sgml: lots of cosmetic
+	cleanups/rearrangement, add assorted FIXME, change DBUS_ADDRESS
+	env variable to DBUS_BUS_ADDRESS, s/client/application/,
+	s/server/bus/ (except in authentication section). Add a section
+	"Message Bus Message Routing"
+
+2003-02-17  Anders Carlsson  <andersca at codefactory.se.>
+
+	Release 0.4
+
+	* NEWS: Update
+
+2003-02-17  Anders Carlsson  <andersca at codefactory.se>
+
+	* doc/dbus-specification.sgml:
+	Specification updates.
+
+2003-02-17  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/activation.c: (bus_activation_init), (child_setup),
+	(bus_activation_activate_service):
+	* bus/activation.h:
+	* bus/main.c: (main):
+	Set DBUS_ADDRESS environment variable.
+
+	* dbus/dbus-errors.c: (dbus_set_error):
+	Don't use va_copy since that's a C99 feature.
+
+	* dbus/dbus-sysdeps.c: (_dbus_setenv), (do_exec),
+	(_dbus_spawn_async):
+	* dbus/dbus-sysdeps.h:
+	Add child_setup_func to _dbus_spawn_async.
+
+	* doc/dbus-specification.sgml:
+	Update specification.
+
+	* test/spawn-test.c: (setup_func), (main):
+	Fix test.
+
+2003-02-17  Alexander Larsson  <alexl at redhat.com>
+
+	* dbus/dbus-connection.c (_dbus_connection_handler_destroyed_locked):
+	Added todo.
+
+2003-02-17  Anders Carlsson  <andersca at codefactory.se>
+
+	* doc/.cvsignore:
+	* doc/Makefile.am:
+	* doc/dbus-test-plan.sgml:
+	Add test plan document.
+
+	* test/Makefile.am:
+	Fix distcheck.
+
+2003-02-17  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-message.c: (decode_header_data),
+	(_dbus_message_loader_return_buffer):
+	Set the header padding amount when loading a message.
+
+2003-02-16  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/dispatch.c: (send_one_message):
+	Only send broadcast messages to registered connections.
+
+	* dbus/dbus-message.c: (dbus_message_name_is):
+	* dbus/dbus-message.h:
+	New convenience function.
+
+	* dbus/dbus-transport-debug.c: (do_reading):
+	Only dispatch one message per run.
+
+	* test/Makefile.am:
+	* test/bus-test.c: (new_connection_callback), (die),
+	(test_hello_client1_handler), (test_hello_client2_handler),
+	(test_hello_replies), (main):
+
+	* test/bus-test-loop.[ch]:
+	Add these.
+
+2003-02-16  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
+	backward conditional
+
+2003-02-16  Alexander Larsson  <alexl at redhat.com>
+
+	* dbus/dbus-connection.c:
+	Implement sent_message_with_reply. (with_reply_and block is still
+	busted).
+	Made dispatch_message not lose message if OOM.
+
+	* dbus/dbus-errors.h:
+	Add NoReply error (for reply timeouts).
+
+2003-02-16  Alexander Larsson  <alexl at redhat.com>
+
+	* dbus/dbus-hash.c (_dbus_hash_table_unref):
+	Actually free keys and values when destroying hashtable.
+
+2003-02-16  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-auth.c: (client_try_next_mechanism):
+	Plug a leak.
+
+	* dbus/dbus-threads.c: (dbus_condvar_wait_timeout):
+	Return TRUE if there's no thread implementation around.
+
+	* glib/dbus-gmain.c: (free_source),
+	(dbus_connection_hookup_with_g_main):
+	Make sure to remove the GSource when the connection is finalized.
+
+2003-02-16  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/dispatch.c: (bus_dispatch_message_handler):
+	* dbus/dbus-errors.h:
+	Return an error if someone tries to send a message to a service
+	that doesn't exist.
+
+2003-02-16  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/activation.c: (load_directory), (bus_activation_init),
+	(bus_activation_activate_service):
+	* bus/activation.h:
+	* bus/driver.c:
+	(bus_driver_handle_activate_service), (bus_driver_handle_message):
+	More work on the activation handling.
+
+	* dbus/dbus-errors.h:
+	Add some error messages
+
+	* dbus/dbus-message.c: (dbus_message_new_error_reply):
+	* dbus/dbus-message.h:
+	New function that creates an error message.
+
+	* dbus/dbus-protocol.h:
+	Add ACTIVATE_SERVER message.
+
+	* dbus/dbus-server-unix.c: (unix_handle_watch),
+	(_dbus_server_new_for_domain_socket):
+	Call _dbus_fd_set_close_on_exec.
+
+	* dbus/dbus-sysdeps.c: (make_pipe), (do_exec),
+	(_dbus_spawn_async), (_dbus_disable_sigpipe),
+	(_dbus_fd_set_close_on_exec):
+	* dbus/dbus-sysdeps.h:
+	Add _dbus_fd_set_close_on exec function. Also add function that checks
+	that all open fds are set to close-on-exec and warns otherwise.
+
+	* dbus/dbus-transport-unix.c:
+	(_dbus_transport_new_for_domain_socket):
+	Call _dbus_fd_set_close_on_exec.
+
+2003-02-16  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-connection.c (dbus_connection_set_change_sigpipe):
+	allow people to avoid setting SIGPIPE to SIG_IGN
+	(_dbus_connection_new_for_transport): disable SIGPIPE unless
+	we've been asked not to
+
+2003-02-15  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-list.c: (_dbus_list_append_link),
+	(_dbus_list_prepend_link):
+	* dbus/dbus-memory.c: (dbus_malloc), (dbus_malloc0),
+	(dbus_realloc):
+	Warning fixes.
+
+2003-02-15  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/Makefile.am:
+	* bus/activation.c: (bus_activation_entry_free),
+	(add_desktop_file_entry), (load_directory), (bus_activation_init):
+	* bus/activation.h:
+	* bus/main.c: (main):
+	Add simple activation support, doesn't work yet though.
+
+2003-02-15   Zack Rusin  <zack at kde.org>
+
+	* qt/dbus-qthread.cpp:  small casting fix
+
+2003-02-15  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-errors.c: (dbus_set_error):
+	* dbus/dbus-errors.h:
+	Add a few errors and make dbus_set_error void.
+
+	* dbus/dbus-sysdeps.c:
+	(_dbus_errno_to_string), (close_and_invalidate), (make_pipe),
+	(write_err_and_exit), (read_ints), (do_exec), (_dbus_spawn_async):
+	* dbus/dbus-sysdeps.h:
+	Add _dbus_spawn_async.
+
+	* test/spawn-test.c: (main):
+	Test for _dbus_spawn_async.
+
+2003-02-15  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-internals.h:
+	Fix build without tests.
+
+	* dbus/dbus-list.c: (alloc_link):
+	Fix a segfault when a malloc fails.
+
+	* dbus/dbus-memory.c: (initialize_malloc_debug), (dbus_malloc),
+	(dbus_malloc0), (dbus_realloc):
+	Add support for malloc debugging.
+
+2003-02-15  Alexander Larsson  <alexl at redhat.com>
+
+	* dbus/dbus-threads.c:
+	* dbus/dbus-threads.h:
+	Add condvars. Remove static mutext from API.
+	Implement static mutexes by initializing them from threads_init.
+
+	* glib/dbus-gthread.c:
+	* qt/dbus-qthread.cpp:
+	Update with the thread api changes.
+
+
+	* dbus/dbus-list.c:
+	* dbus/dbus-list.h:
+	Turn StaticMutex into normal mutex + init function.
+	Export new functions _dbus_list_alloc_link, _dbus_list_free_link,
+	_dbus_list_append_link, _dbus_list_prepend_link
+
+
+	* dbus/dbus-sysdeps.c:
+	* dbus/dbus-sysdeps.h:
+	New type dbus_atomic_t, and new functions _dbus_atomic_inc,
+	_dbus_atomic_dec. Only slow fallback implementation at the moment.
+
+	* dbus/dbus-protocol.h:
+	Add DBUS_MESSAGE_LOCAL_DISCONNECT define
+
+	* dbus/dbus-message.c:
+	Make ref/unref atomic.
+	Fix some docs.
+
+	* dbus/dbus-connection-internal.h:
+	* dbus/dbus-connection.c:
+	* dbus/dbus-connection.h:
+	Make threadsafe.
+	Change _peek to _borrow,_return & _steal_borrowed.
+	Change disconnect callback to event.
+	Make dbus_connection_dispatch_messages reentrant.
+
+	* dbus/dbus-transport.c:
+	Don't ref the connection on calls to the transport
+	implementation.
+
+	* dbus/dbus-message-handler.c:
+	Make threadsafe.
+
+	* glib/dbus-gmain.c:
+	Don't use peek_message anymore
+
+	* test/Makefile.am:
+	* test/debug-thread.c:
+	* test/debug-thread.h:
+	Simple thread implementation that asserts() on deadlocks in
+	single-threaded code.
+
+	* test/bus-test.c:
+	(main) Call debug_threads_init.
+
+	* test/watch.c:
+	Use disconnect message instead of disconnect callback.
+
+	* bus/connection.c:
+	* bus/connection.h:
+	Don't call dbus_connection_set_disconnect_function. Instead export
+	bus_connection_disconnect.
+
+	* bus/dispatch.c:
+	Call bus_connection_disconnect when we get a disconnected message.
+
+2003-02-15  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-message.c (dbus_message_new): fool around with the
+	docs
+
+2003-02-14  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-mempool.c: fail if the debug functions so indicate
+
+	* dbus/dbus-memory.c: fail if the debug functions indicate we
+	should
+
+	* dbus/dbus-internals.c (_dbus_set_fail_alloc_counter)
+	(_dbus_decrement_fail_alloc_counter): debug functions to
+	simulate memory allocation failures
+
+2003-02-14  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-errors.h (struct DBusError): add a word of padding
+	to DBusError
+
+2003-02-13  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/driver.c: (bus_driver_handle_hello):
+	* bus/driver.h:
+	* bus/services.c: (bus_service_lookup):
+	Reorder message sending so we get a more sane order.
+
+	* test/bus-test.c: (message_handler):
+	Fix tyop.
+
+2003-02-13  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/driver.c: (bus_driver_send_service_deleted),
+	(bus_driver_send_service_created), (bus_driver_send_service_lost),
+	(bus_driver_send_service_acquired), (bus_driver_handle_hello),
+	(bus_driver_send_welcome_message),
+	(bus_driver_handle_list_services),
+	(bus_driver_handle_acquire_service),
+	(bus_driver_handle_service_exists):
+	* dbus/dbus-bus.c: (dbus_bus_register_client),
+	(dbus_bus_acquire_service), (dbus_bus_service_exists):
+	* dbus/dbus-errors.c: (dbus_result_to_string):
+	* dbus/dbus-errors.h:
+	* dbus/dbus-message.c: (dbus_message_append_args),
+	(dbus_message_append_args_valist), (dbus_message_get_args),
+	(dbus_message_get_args_valist), (dbus_message_get_args_iter),
+	(dbus_message_iter_get_arg_type), (dbus_message_iter_get_string),
+	(dbus_message_iter_get_byte_array),
+	(dbus_message_iter_get_string_array), (message_iter_test),
+	(check_message_handling), (_dbus_message_test):
+	* dbus/dbus-message.h:
+	* test/bus-test.c: (main):
+	Change fields to arguments in messages, so that they won't be
+	confused with header fields.
+
+	* glib/test-dbus-glib.c: (main):
+	Remove append_fields from hello message.
+
+2003-02-13  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-errors.c:
+	* dbus/dbus-message.c:
+	* dbus/dbus-string.c:
+	Documentation fixes.
+
+2003-02-13  Anders Carlsson  <andersca at codefactory.se>
+
+	* glib/dbus-gmain.c: (timeout_handler), (add_timeout),
+	(remove_timeout):
+	Implement support for timeouts in dbus-glib.
+
+2003-02-13  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
+	* dbus/dbus-message.c: (process_test_subdir):
+	* test/break-loader.c: (find_breaks_based_on):
+	Plug some memory leaks.
+
+2003-02-13  Richard Hult  <rhult at codefactory.se>
+
+	* bus/main.c: Fix build.
+
+	* dbus/dbus-errors.h:
+	* dbus/dbus-errors.c: Fix copyright for Anders.
+
+2003-02-13  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/Makefile.am:
+	Add utils.[ch]
+
+	* bus/connection.c: (bus_connection_foreach):
+	Fix a warning.
+
+	* bus/desktop-file.c: (grow_lines_in_section), (grow_sections),
+	(unescape_string), (new_section), (parse_section_start),
+	(parse_key_value), (report_error), (bus_desktop_file_load),
+	(bus_desktop_file_get_string):
+	* bus/desktop-file.h:
+	Use DBusError for error reporting.
+
+	* bus/dispatch.c: (send_one_message),
+	(bus_dispatch_message_handler):
+	* bus/driver.c: (bus_driver_send_service_deleted),
+	(bus_driver_send_service_created), (bus_driver_send_service_lost),
+	(bus_driver_send_service_acquired), (bus_driver_handle_hello),
+	(bus_driver_send_welcome_message),
+	(bus_driver_handle_list_services),
+	(bus_driver_handle_acquire_service),
+	(bus_driver_handle_service_exists):
+	* bus/loop.c: (bus_loop_run):
+	* bus/main.c:
+	Use BUS_HANDLE_OOM instead of _DBUS_HANDLE_OOM.
+
+	* bus/utils.c: (bus_wait_for_memory):
+	* bus/utils.h:
+	New files with general utility functions.
+
+	* dbus/dbus-internals.h:
+	Remove _DBUS_HANDLE_OOM.
+
+2003-02-13  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-errors.c: (dbus_result_to_string), (dbus_error_init),
+	(dbus_error_free), (dbus_set_error_const), (dbus_set_error):
+	* dbus/dbus-errors.h:
+	Add DBusError structure.
+
+2003-02-13  Anders Carlsson  <andersca at codefactory.se>
+
+	* test/data/valid-messages/standard-acquire-service.message:
+	* test/data/valid-messages/standard-hello.message:
+	* test/data/valid-messages/standard-list-services.message:
+	* test/data/valid-messages/standard-service-exists.message:
+	Add some standard messages.
+
+2003-02-13  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/driver.c: (bus_driver_send_welcome_message),
+	(bus_driver_handle_list_services),
+	(bus_driver_handle_acquire_service),
+	(bus_driver_handle_service_exists), (bus_driver_handle_message):
+	Update for API changes in libdbus.
+
+	* dbus/dbus-message.c: (dbus_message_new_reply):
+	* dbus/dbus-message.h:
+	Remove the name argument. The spec states that replies shouldn't
+	have a name.
+
+2003-02-13  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/desktop-file.c: (parse_section_start), (parse_key_value),
+	(report_error), (bus_desktop_file_load), (lookup_section),
+	(lookup_line), (bus_desktop_file_get_raw),
+	(bus_desktop_file_get_string):
+	* bus/desktop-file.h:
+	Some fixes, and new functions for getting a key value from a section.
+
+2003-02-13  Havoc Pennington  <hp at pobox.com>
+
+	* test/data/auth/fail-after-n-attempts.auth-script: new test
+
+	* dbus/dbus-auth.c (send_rejected): shutdown_mech() when we
+	reject the client.
+
+2003-02-13  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-auth.c (handle_server_data_external_mech): args to
+	dbus_credentials_match were backward
+
+	* dbus/dbus-auth-script.c (_dbus_auth_script_run): support
+	NO_CREDENTIALS and ROOT_CREDENTIALS
+
+	* dbus/dbus-auth.c (_dbus_auth_do_work): move get_state() routine
+	into here. Never process more commands after we've reached an
+	end state; store further data as unused bytes.
+
+	* test/data/auth/*: add more auth tests
+
+	* dbus/dbus-auth-script.c (_dbus_auth_script_run): support EXPECT
+	command to match exact string and EXPECT_UNUSED to match unused
+	bytes
+
+	* test/Makefile.am (dist-hook): fix to dist all the test stuff
+
+2003-02-12  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-string.c (_dbus_string_pop_line): fix to also strip
+	\r off of popped lines
+
+	* dbus/dbus-auth.c (_dbus_auth_test): write code to run auth
+	scripts
+
+	* dbus/dbus-auth-script.c (_dbus_auth_script_run): when doing a
+	SEND, append \r\n
+
+2003-02-12  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/Makefile.am: remove break-loader from the build, since it
+	moved.
+
+	* configure.in: add --enable-gcov to turn on coverage profiling
+	flags and disable optimization
+
+2003-02-10  Havoc Pennington  <hp at pobox.com>
+
+        * dbus/dbus-auth-script.c, dbus/dbus-auth-script.h: sync
+	initial cut at test framework for DBusAuth from laptop.
+	Doesn't quite work yet but it compiles and I need to get
+	it off the 266mhz laptop. ;-)
+
+	* dbus/dbus-server-debug.c (_dbus_server_debug_accept_transport):
+	fix a memleak in error case
+
+2003-02-12  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/Makefile.am:
+	* bus/desktop-file.c:
+	* bus/desktop-file.h:
+	Add a desktop file parser.
+
+2003-02-11  Zack Rusin  <zack at kde.org>
+
+	* qt/message.[h|cpp]: sample implementation
+	of the KDE wrapper for DBusMessage
+
+2003-02-09  Zack Rusin  <zack at kde.org>
+
+	* test/bus-test.c: make_it_compile
+	* doc/dbus-specification.sgml: minimal semantic fix
+
+2003-02-06  Anders Carlsson  <andersca at codefactory.se>
+
+	Release 0.3
+
+	* NEWS: Update
+
+2003-02-06  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/Makefile.am:
+	* dbus/dbus-break-loader.c:
+	* test/Makefile.am:
+	* test/break-loader.c:
+	Move dbus-break-loader to test/ and rename it to break-loader.
+
+2003-02-02  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-keyring.c, dbus/dbus-keyring.h: template files
+	for code to manage cookies in your home directory
+
+	* dbus/dbus-sysdeps.c (_dbus_generate_random_bytes): new function
+
+	* dbus/dbus-auth.c (get_state): impose a maximum number of tries
+	to authenticate, then disconnect the client.
+
+2003-02-03  Alexander Larsson  <alexl at redhat.com>
+
+	* dbus/dbus-message.c (dbus_message_append_fields):
+	Correct docs.
+
+2003-02-02  Anders Carlsson  <andersca at codefactory.se>
+
+	* doc/dbus-specification.sgml:
+	Update address format section.
+
+2003-02-02  Anders Carlsson  <andersca at codefactory.se>
+
+	* test/Makefile.am:
+	* test/bus-test.c: (get_time), (add_timeout), (remove_timeout),
+	(message_handler), (new_connection_callback), (loop_quit),
+	(loop_run), (main):
+	Add bus test.
+
+2003-02-02  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/driver.c: (bus_driver_handle_service_exists):
+	Simplify the code a bit.
+
+	* dbus/dbus-bus.c: (dbus_bus_service_exists):
+	Fix a silly.
+
+2003-02-02  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/Makefile.am:
+	Add libdbus-daemon.la and link to it.
+
+2003-02-01  James Willcox  <jwillcox at gnome.org>
+
+	* bus/driver.c: (bus_driver_handle_own_service):
+	Actually include the service reply code in the message.
+
+2003-02-02  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/driver.c: (bus_driver_handle_service_exists):
+	Don't unref the incoming message.
+
+2003-02-02  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus.h: Add dbus-address.h and dbus-bus.h
+
+2003-02-02  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-server.c: (dbus_server_listen):
+	* dbus/dbus-transport.c: (_dbus_transport_open):
+	ifdef out the calls to the debug transport and server.
+
+2003-02-02  Alexander Larsson  <alexl at redhat.com>
+
+	* dbus/dbus-watch.c (dbus_watch_get_flags):
+	Add note in the docs that ERROR or HANGUP won't be returned
+	and are assumed always on.
+
+	* glib/dbus-gmain.c (add_watch):
+	Always add IO_ERR | IO_HUP
+
+	* dbus/dbus-message.h:
+	Add semicolon after dbus_message_iter_get_string_array().
+	Makes qt code build again
+
+2003-02-01  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/driver.c: (create_unique_client_name),
+	(bus_driver_handle_hello):
+	Don't take a name, just use a numeric id to identify
+	each client.
+
+	* dbus/Makefile.am:
+	* dbus/dbus-bus.c: (dbus_bus_register_client),
+	(dbus_bus_acquire_service), (dbus_bus_service_exists):
+	* dbus/dbus-bus.h:
+	Add new convenience functions for communicating with the bus.
+
+	* dbus/dbus-message.h:
+
+	* dbus/dbus-protocol.h:
+	Fix a typo.
+
+2003-02-01  Alexander Larsson  <alexl at redhat.com>
+
+	* dbus/dbus-message.c (dbus_message_append_fields):
+	Add some more doc comments.
+
+2003-02-01  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-break-loader.c (randomly_modify_length): change
+	a 4-byte value in the message as if it were a length
+
+	* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): don't set
+	execute bit on saved files
+
+2003-02-01  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-break-loader.c (main): new program to find messages
+	that break the loader.
+
+	* dbus/dbus-sysdeps.c (_dbus_string_append_uint): new function
+	* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): new function
+
+	* dbus/dbus-string.c (_dbus_string_set_byte): new
+
+2003-01-31  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-message.c: refactor the test code to be more general,
+	in preparation for writing a "randomly permute test cases to
+	try to break the loader" program.
+
+2003-01-31  Havoc Pennington  <hp at pobox.com>
+
+	* doc/dbus-specification.sgml: work on the specification
+
+	* dbus/dbus-message.c (_dbus_message_loader_return_buffer): check
+	the protocol version of the message.
+
+	* dbus/dbus-protocol.h: drop special _REPLY names, the spec
+	no longer specifies that.
+	(DBUS_SERVICE_REPLY_SERVICE_EXISTS): fix flags (1/2/4/8 not
+	1/2/3/4)
+
+	* dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos): add missing
+	"break" for DBUS_TYPE_NIL, remove @todo
+
+2003-01-31  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-message.c (dbus_message_set_is_error_reply): rename
+	just set_is_error/get_is_error as this is a commonly-used
+	function, and write docs.
+
+2003-01-31  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-address.c: (dbus_address_entry_free):
+	Free key and value lists.
+
+	* dbus/dbus-internals.c: (_dbus_type_to_string):
+	Add the types we didn't have.
+
+	* dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
+	(_dbus_marshal_validate_arg):
+	Add NIL types.
+
+	* dbus/dbus-message.c: (dbus_message_set_sender):
+	Remove todo about being able to set sender to NULL.
+
+	(dbus_message_set_is_error_reply),
+	(dbus_message_get_is_error_reply):
+	* dbus/dbus-message.h:
+	New functions.
+
+	* dbus/dbus-protocol.h:
+	Add error reply flag.
+
+	* test/data/valid-messages/opposite-endian.message:
+	Add NIL type to test.
+
+2003-01-31  Havoc Pennington  <hp at pobox.com>
+
+	* doc/dbus-specification.sgml: fully specify the header.  Add
+	flags and major protocol version, and change header/body len to
+	unsigned.
+
+	* dbus/dbus-message-builder.c (append_saved_length): append length
+	as uint32
+
+	* dbus/dbus-message.c (dbus_message_create_header): change header
+	length and body length to unsigned. Add the new fields from the
+	spec
+	(_dbus_message_loader_return_buffer): unsigned header/body len
+
+2003-01-30  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-auth.c: rework to use only REJECTED, no
+	MECHANISMS
+
+	* doc/dbus-sasl-profile.txt: drop MECHANISMS and just
+	use REJECTED, suggested by Mark McLoughlin
+
+2003-01-30  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-server.c (dbus_server_listen): @todo about how we need
+	a better way to report errors here. e.g.  "unix address lacks
+	path" or something. also "no such file" when the path doesn't
+	exist, etc.
+
+	* dbus/dbus-address.c (dbus_address_entries_free): add @todo about
+	leaking list nodes
+	(dbus_parse_address): add @todo about documenting address format,
+	and allowing , and ; to be escaped
+
+2003-01-30  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/Makefile.am:
+	Add dbus-address.[ch]
+
+	* dbus/dbus-address.c: (dbus_address_entry_free),
+	(dbus_address_entries_free), (create_entry),
+	(dbus_address_entry_get_method), (dbus_address_entry_get_value),
+	(dbus_parse_address), (_dbus_address_test):
+	* dbus/dbus-address.h:
+	New files for dealing with address parsing.
+
+	* dbus/dbus-connection.c:
+	Document timeout functions.
+
+	* dbus/dbus-message.c:
+	Document dbus_message_new_from_message.
+
+	* dbus/dbus-server-debug.c:
+	Document.
+
+	* dbus/dbus-server.c: (dbus_server_listen):
+	Parse address and use correct server implementation.
+
+	* dbus/dbus-string.c: (_dbus_string_find_to), (_dbus_string_test):
+	* dbus/dbus-string.h:
+	New function with test.
+
+	* dbus/dbus-test.c: (dbus_internal_symbol_do_not_use_run_tests):
+	* dbus/dbus-test.h:
+	Add address tests.
+
+	* dbus/dbus-transport-debug.c:
+	Document.
+
+	* dbus/dbus-transport.c: (_dbus_transport_open):
+	Parse address and use correct transport implementation.
+
+2003-01-30  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-message.c: use message->byte_order instead of
+	DBUS_COMPILER_BYTE_ORDER throughout.
+	(dbus_message_create_header): pad header to align the
+	start of the body of the message to 8-byte boundary
+
+	* dbus/dbus-marshal.h: make all the demarshalers take const
+	DBusString arguments.
+
+	* dbus/dbus-message.c (_dbus_message_loader_return_buffer):
+	validate message args here, so we don't have to do slow validation
+	later, and so we catch bad messages as they are incoming. Also add
+	better checks on header_len and body_len. Also fill in
+	message->byte_order
+
+	* dbus/dbus-string.c (_dbus_string_validate_utf8): new (not
+	implemented properly)
+	(_dbus_string_validate_nul): new function to check all-nul
+
+	* dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): rename
+	get_arg_end_pos and remove all validation
+	(_dbus_marshal_validate_arg): actually do validation here.
+
+2003-01-29  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-message.c (check_message_handling): fix assertion
+	failure on set_client_serial
+
+2003-01-28  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-server-debug.c: Add doc section comments
+
+	* dbus/dbus-transport-debug.c: add doc section comments
+
+2003-01-28  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-string.c (_dbus_string_base64_decode): append bytes in
+	the reverse order from how I had it
+	(_dbus_string_base64_encode): reverse encoding order. I was
+	basically byteswapping everything during encoding.
+
+2003-01-28  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-connection-internal.h:
+	* dbus/dbus-connection.c: (_dbus_connection_add_timeout),
+	(_dbus_connection_remove_timeout):
+	Add functions for adding and removing timeouts.
+
+	* dbus/dbus-message.c: (dbus_message_new_from_message):
+	Add new function that takes a message and creates an exact
+	copy of it, but with the refcount set to 1.
+	(check_message_handling):
+	Fix build error.
+
+	* dbus/dbus-server-protected.h:
+	* dbus/dbus-server.c: (_dbus_server_init_base),
+	(_dbus_server_finalize_base), (_dbus_server_add_timeout),
+	(dbus_server_set_timeout_functions):
+	(_dbus_server_remove_timeout):
+	New functions so that a server can add and remove timeouts.
+
+	(dbus_server_listen):
+	Add commented out call to dbus_server_debug_new.
+
+	* dbus/dbus-timeout.c: (_dbus_timeout_new):
+	Actually set the handler, doh.
+
+	* dbus/dbus-transport.c: (_dbus_transport_open):
+	Add commented out call to dbus_transport_debug_client_new.
+
+	* dbus/Makefile.am:
+	Add dbus-transport-debug.[ch] and dbus-server-debug.[ch]
+
+2003-01-28  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-message.c (check_message_handling): function to check
+	on the loaded message, iterates over it etc.
+
+2003-01-28  Havoc Pennington  <hp at pobox.com>
+
+	* test/Makefile.am (dist-hook): fix make distdir
+
+	* dbus/Makefile.am (TESTS_ENVIRONMENT): fix make check
+
+2003-01-27  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-mempool.c (time_for_size): replace printf with
+	_dbus_verbose
+
+	* dbus/dbus-message-builder.c (_dbus_message_data_load): allow
+	empty lines; fix the SAVE_LENGTH stuff to be
+	START_LENGTH/END_LENGTH so it actually works; couple other
+	bugfixes
+
+	* test/Makefile.am (dist-hook): add dist-hook for .message files
+
+	* dbus/dbus-string.c (DBUS_STRING_COPY_PREAMBLE): source of a copy
+	can be constant or locked.
+	(_dbus_string_free): allow freeing a const string as
+	documented/intended
+
+	* dbus/dbus-sysdeps.c (_dbus_concat_dir_and_file): utility
+
+	* dbus/dbus-test-main.c (main): take an argument which is the
+	directory containing test data
+
+	* dbus/dbus-message.c (_dbus_message_test): pass a test_data_dir
+	argument to this and load all the messages in test/data/
+	checking that they can be loaded or not loaded as appropriate.
+
+2003-01-27  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/dispatch.c: (bus_dispatch_message_handler):
+	Dispatch messages sent to services.
+
+	* bus/driver.c: (bus_driver_send_service_deleted),
+	(bus_driver_send_service_created), (bus_driver_send_service_lost),
+	(bus_driver_send_service_acquired):
+	Add helper functions for sending service related messages.
+
+	(bus_driver_send_welcome_message):
+	Send HELLO_REPLY instead of WELCOME.
+
+	(bus_driver_handle_list_services):
+	Send LIST_SERVICES_REPLY instead of SERVICES.
+
+	(bus_driver_handle_own_service),
+	(bus_driver_handle_service_exists):
+	New message handlers.
+
+	(bus_driver_handle_message):
+	Invoke new message handlers.
+
+	(bus_driver_remove_connection):
+	Don't remove any services here since that's done automatically
+	by bus_service_remove_owner now.
+
+	* bus/driver.h:
+	New function signatures.
+
+	* bus/services.c: (bus_service_add_owner):
+	Send ServiceAcquired message if we're the only primary owner.
+
+	(bus_service_remove_owner):
+	Send ServiceAcquired/ServiceLost messages.
+
+	(bus_service_set_prohibit_replacement),
+	(bus_service_get_prohibit_replacement):
+	Functions for setting prohibit replacement.
+
+	(bus_service_has_owner):
+	New function that checks if a connection is in the owner queue of
+	a certain service.
+
+	* bus/services.h:
+	Add new function signatures.
+
+	* dbus/dbus-list.c: (_dbus_list_test):
+	Add tests for _dbus_list_remove_last and traversing the list backwards.
+
+	* dbus/dbus-list.h:
+	Fix a typo in _dbus_list_get_prev_link, if we're at the first element we can't
+	go any further, so return NULL then.
+
+	* dbus/dbus-protocol.h:
+	Add new messages, service flags and service replies.
+
+2003-01-26  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-message-builder.c: implement, completely untested.
+
+	* test/data/*: add data to be used in testing.
+	".message" files are our simple loadable text format.
+	".message-raw" will be binary dumps of messages.
+
+	* dbus/dbus-string.c (_dbus_string_starts_with_c_str): new
+
+2003-01-26  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-sysdeps.c (_dbus_file_get_contents): new function
+
+	* dbus/dbus-errors.c (dbus_result_to_string): add
+	file errors
+
+	* dbus/dbus-message-builder.c: new file, will contain code to load
+	up messages from files. Not implemented yet.
+
+2003-01-26  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-message.c (dbus_message_set_sender): support deleting
+	the sender by setting to NULL
+
+2003-01-26  Havoc Pennington  <hp at pobox.com>
+
+        The unit tests pass, but otherwise untested.  If it breaks, the
+	tests should have been better. ;-)
+
+	* bus/driver.c (bus_driver_handle_hello): return if we disconnect
+	the connection.
+
+	* dbus/dbus-message.c: redo everything so we maintain
+	message->header as the only copy of the various fields.
+	This avoids the possibility of out-of-memory in some cases,
+	for example dbus_message_lock() can't run out of memory anymore,
+	and avoids extra copying. Figured I may as well go ahead and do
+	this since it was busted for dbus_message_lock to not return
+	failure on OOM, and dbus_message_write_header was totally
+	unchecked for OOM. Also fixed some random other bugs.
+
+	* dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): verify
+	that strings are nul-terminated. Also, end_pos can be equal
+	to string length just not greater than, I think.
+	(_dbus_marshal_set_int32): new function
+	(_dbus_marshal_set_uint32): new function
+	(_dbus_marshal_set_string): new function
+
+	* dbus/dbus-connection.c (_dbus_connection_new_for_transport): fix
+	a warning, init timeout_list to NULL
+	(dbus_connection_send_message): don't use uninitialized variable
+	"serial"
+
+	* dbus/dbus-string.c (_dbus_string_replace_len): new function
+
+2003-01-26  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/driver.c: (bus_driver_handle_hello),
+	(bus_driver_send_welcome_message):
+	Plug leaks
+
+2003-01-26  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-auth.c: (process_auth), (_dbus_auth_unref):
+	* dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
+	(dbus_connection_unref):
+	* dbus/dbus-marshal.c: (_dbus_marshal_test):
+	* dbus/dbus-message.c: (dbus_message_unref),
+	Plug memory leaks.
+
+	(dbus_message_get_fields):
+	Remove debugging printout.
+
+	(_dbus_message_loader_return_buffer):
+	Don't store the header string.
+
+	(_dbus_message_test):
+	Plug leaks.
+
+2003-01-26  Richard Hult  <rhult at codefactory.se>
+
+	* glib/dbus-gmain.c (dbus_connection_dispatch): Traverse a copy of
+	the file descriptor list, since it can change under us.
+
+2003-01-25  Anders Carlsson  <andersca at codefactory.se>
+
+	* glib/dbus-gmain.c: (dbus_connection_prepare),
+	(dbus_connection_check), (dbus_connection_dispatch), (add_watch),
+	(remove_watch), (dbus_connection_hookup_with_g_main):
+	Rewrite the glib handling to use its own GSource instead of a
+	GIOChannel so we can catch messages put in the queue while waiting
+	for a reply.
+
+2003-01-25  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/Makefile.am:
+	* bus/connection.c: (connection_disconnect_handler),
+	(connection_watch_callback), (bus_connection_setup):
+	* bus/dispatch.c: (send_one_message),
+	(bus_dispatch_broadcast_message), (bus_dispatch_message_handler),
+	(bus_dispatch_add_connection), (bus_dispatch_remove_connection):
+	* bus/dispatch.h:
+	* bus/driver.c: (bus_driver_send_service_deleted),
+	(bus_driver_send_service_created), (bus_driver_handle_hello),
+	(bus_driver_send_welcome_message),
+	(bus_driver_handle_list_services), (bus_driver_remove_connection),
+	(bus_driver_handle_message):
+	* bus/driver.h:
+	Refactor code, put the message dispatching in its own file. Use
+	_DBUS_HANDLE_OOM. Also send ServiceDeleted messages when a client
+	is disconnected.
+
+2003-01-25  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-internals.h:
+	Add _DBUS_HANDLE_OOM macro, it doesn't do anything currently.
+
+	* dbus/dbus-message.c: (dbus_message_get_sender):
+	* dbus/dbus-message.h:
+	Implement dbus_message_get_sender.
+
+	* dbus/dbus-protocol.h:
+	Add message and service defines.
+
+2003-01-25  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-connection.c: (dbus_connection_send_message):
+	* dbus/dbus-message-internal.h:
+	* dbus/dbus-message.c: (_dbus_message_get_client_serial),
+	(dbus_message_write_header):
+	Remove _dbus_messag_unlock and don't set the client serial on a
+	message if one already exists.
+
+2003-01-24  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-list.c (alloc_link): put a thread lock on the global
+	list_pool
+
+	* bus/driver.c (bus_driver_handle_list_services): fix a leak
+	on OOM
+
+2003-01-25  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-list.c: (alloc_link), (free_link):
+	Use a memory pool for the links.
+
+2003-01-25  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/connection.c: (bus_connection_foreach):
+	* bus/connection.h:
+	Add new bus_connection_foreach function.
+
+	* bus/driver.c: (send_one_message), (bus_driver_broadcast_message):
+	Add function that broadcasts a message to all clients.
+
+	(bus_driver_send_service_created), (bus_driver_handle_hello),
+	(bus_driver_send_welcome_message),
+	(bus_driver_handle_list_services), (bus_driver_message_handler):
+	Implement functions that take care of listing services, and notifying
+	clients when new services are created.
+
+	* bus/services.c: (bus_services_list):
+	* bus/services.h:
+	Add new function that returns an array of strings with the currently
+	registered services.
+
+	* glib/dbus-glib.h:
+	* glib/dbus-gmain.c:
+	Update copyright year.
+
+2003-01-25  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-connection.c: (dbus_connection_send_message):
+	Unlock the message in case it was sent earlier.
+
+	(dbus_connection_send_message_with_reply_and_block):
+	Remove the reply message from the list.
+
+	* dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
+	Set array_len and new_pos correctly.
+
+	(_dbus_marshal_test):
+	Remove debug output.
+
+	* dbus/dbus-message-internal.h:
+	* dbus/dbus-message.c: (_dbus_message_get_reply_serial):
+	New function that returns the reply serial.
+
+	(_dbus_message_unlock):
+	New function that unlocks a message and resets its header.
+
+	(dbus_message_append_string_array),
+	(dbus_message_get_fields_valist),
+	(dbus_message_iter_get_field_type),
+	(dbus_message_iter_get_string_array),
+	(dbus_message_get_fields),
+	(dbus_message_append_fields_valist):
+	Handle string arrays.
+
+	(dbus_message_set_sender):
+	Make this function public since the bus daemon needs it.
+
+	(decode_header_data):
+	Set the reply serial to -1 initially.
+
+	* dbus/dbus-message.h:
+	Add dbus_message_set_sender.
+
+2003-01-24  Havoc Pennington  <hp at pobox.com>
+
+	* doc/dbus-specification.sgml: add some stuff
+
+2003-01-22  Havoc Pennington  <hp at pobox.com>
+
+	* doc/dbus-specification.sgml: Start to document the protocol.
+
+2003-01-22  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-connection.c
+	(dbus_connection_send_message_with_reply_and_block): add some @todo
+
+	* bus/driver.c (bus_driver_add_connection): add a FIXME about memleak
+
+2003-01-21  Havoc Pennington  <hp at pobox.com>
+
+        (patch untested because can't compile)
+
+	* bus/driver.c (create_unique_client_name): make this function
+	never recycle client names. Also, caller should initialize
+	the DBusString.
+
+	* dbus/dbus-sysdeps.c (_dbus_get_current_time): new function
+
+2003-01-21  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-marshal.c: (_dbus_marshal_double),
+	(_dbus_marshal_int32), (_dbus_marshal_uint32),
+	(_dbus_marshal_int32_array), (_dbus_marshal_uint32_array),
+	(_dbus_marshal_double_array), (_dbus_marshal_string_array),
+	(_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
+	(_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
+	(_dbus_marshal_get_field_end_pos), (_dbus_marshal_test):
+	* dbus/dbus-marshal.h:
+	* dbus/dbus-protocol.h:
+	Add support for marshalling and demarshalling integer, double
+	and string arrays.
+
+2003-01-21  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/Makefile.am:
+	Add driver.[ch]
+
+	* bus/connection.c: (connection_disconnect_handler):
+	Remove the connection from the bus driver's list.
+
+	(connection_watch_callback): Dispatch messages.
+
+	(free_connection_data): Free connection name.
+
+	(bus_connection_setup): Add connection to the bus driver's list.
+	(bus_connection_remove_owned_service):
+	(bus_connection_set_name), (bus_connection_get_name):
+	Add functions for setting and getting the connection's name.
+
+	* bus/connection.h:
+	Add function headers.
+
+	* bus/driver.c: (create_unique_client_name),
+	(bus_driver_handle_hello_message),
+	(bus_driver_send_welcome_message), (bus_driver_message_handler),
+	(bus_driver_add_connection), (bus_driver_remove_connection):
+	* bus/driver.h:
+	* bus/main.c:
+	* bus/services.c: (bus_service_free):
+	* bus/services.h:
+	New file that handles communication and registreation with the bus
+	itself.
+
+2003-01-21  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-connection.c: (dbus_connection_send_message):
+	Add a new client_serial parameter.
+
+	(dbus_connection_send_message_with_reply):
+	Remove a @todo since we've implemented the blocking function.
+
+	(dbus_connection_send_message_with_reply_and_block):
+	New function that sends a message and waits for a reply and
+	then returns the reply.
+
+	* dbus/dbus-connection.h:
+	Add new functions.
+
+	* dbus/dbus-errors.c: (dbus_result_to_string):
+	* dbus/dbus-errors.h:
+	Add new DBUS_RESULT.
+
+	* dbus/dbus-message-internal.h:
+	* dbus/dbus-message.c: (_dbus_message_get_reply_serial),
+	(_dbus_message_set_sender), (dbus_message_write_header),
+	(dbus_message_new_reply), (decode_header_data),
+	(_dbus_message_loader_return_buffer), (_dbus_message_test):
+	* dbus/dbus-message.h:
+	Add new functions that set the reply serial and sender.
+	Also marshal and demarshal them correctly and add test.
+
+	* dbus/dbus-protocol.h:
+	Add new DBUS_MESSAGE_TYPE_SENDER.
+
+	* glib/dbus-glib.h:
+	* glib/dbus-gmain.c: (watch_callback), (free_callback_data),
+	(add_watch), (remove_watch), (add_timeout), (remove_timeout),
+	(dbus_connection_hookup_with_g_main):
+	* glib/test-dbus-glib.c: (main):
+	Rewrite to use GIOChannel and remove the GSource crack.
+
+	* test/echo-client.c: (main):
+	* test/watch.c: (check_messages):
+	Update for changed APIs
+
+2003-01-19  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/Makefile.am: Add dbus-timeout.[cħ]
+
+	* dbus/dbus-connection.c: (_dbus_connection_new_for_transport):
+	Create a DBusTimeoutList.
+	(dbus_connection_set_timeout_functions): Add new function to
+	set timeout callbacks
+
+	* dbus/dbus-connection.h: Add public DBusTimeout API.
+
+	* dbus/dbus-message.c: (dbus_message_get_service):
+	* dbus/dbus-message.h:	New function.
+
+	* dbus/dbus-server.c: Fix small doc typo.
+
+	* dbus/dbus-timeout.[ch]: New files for mainloop timeouts.
+
+2003-01-19  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-string.c (_dbus_string_move_len): Don't delete all
+	of the string, just as long as specified.
+
+2003-01-19  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-connection.c (dbus_connection_get_is_authenticated):
+	new function
+
+	* dbus/dbus-server.c (dbus_server_set_max_connections)
+	(dbus_server_get_max_connections, dbus_server_get_n_connections):
+	keep track of current number of connections, and add API for
+	setting a max (but haven't implemented enforcing the max yet)
+
+2003-01-18  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-transport-unix.c (unix_do_iteration): only do the
+	reading/writing if read_watch != NULL or write_watch != NULL.
+
+	* dbus/dbus-message.c (_dbus_message_loader_return_buffer): fix
+	the message loader code to actually load message->header and
+	message->body into the newly-created message.
+
+	* dbus/dbus-transport-unix.c (check_write_watch): fix a mem leak
+	in OOM case
+
+	* dbus/dbus-connection.c (dbus_connection_set_max_message_size)
+	(dbus_connection_get_max_message_size)
+	(dbus_connection_set_max_live_messages_size)
+	(dbus_connection_get_max_live_messages_size): implement some
+	resource limitation functions
+
+	* dbus/dbus-resources.c: new file implementing some of the
+	resource limits stuff
+
+	* dbus/dbus-message.c (dbus_message_iter_get_byte_array): add
+	missing docs, add @todo to handle OOM etc.
+
+	* dbus/dbus-marshal.c (_dbus_demarshal_byte_array): add missing
+	docs
+
+2003-01-18  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-connection.c (dbus_connection_unref): disconnect the
+	connection if it hasn't been already.
+
+	* dbus/dbus-connection.h: kill off the idea of an ErrorFunction,
+	replace with DisconnectFunction.
+
+2003-01-18  Havoc Pennington  <hp at pobox.com>
+
+        Building --disable-verbose-mode --disable-asserts --disable-tests
+	cuts the library from 112K to 45K or so
+
+	* configure.in: check for varargs macro support,
+	add --enable-verbose-mode, --enable-asserts.
+
+	* dbus/dbus-internals.h (_dbus_assert): support
+	DBUS_DISABLE_ASSERT
+	(_dbus_verbose): support DBUS_ENABLE_VERBOSE_MODE
+
+2003-01-18  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-test.c: include config.h so that tests actually run
+
+	* dbus/dbus-string.c: add assertions that stuff is 8-byte aligned,
+	so the failure mode when that assumption fails will be plenty
+	obvious.
+
+2003-01-18  Havoc Pennington  <hp at pobox.com>
+
+	* configure.in: default --enable-tests to $USE_MAINTAINER_MODE
+
+	* dbus/Makefile.am: fix it up so dubs-test-main.c is included in
+	the distribution
+
+	* test/Makefile.am: don't use special variable "TESTS" for echo-*
+	since we don't want to use those in make check
+
+2003-01-15  Havoc Pennington  <hp at redhat.com>
+
+        Release 0.2
+
+	* NEWS: update
+
+2003-01-15  Havoc Pennington  <hp at redhat.com>
+
+	* test/Makefile.am: fix so that test source code ends up in the
+	distribution on make distcheck
+
+2003-01-15  Havoc Pennington  <hp at redhat.com>
+
+        Release 0.1.
+
+	* NEWS: update
+
+2003-01-15  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-test.c (dbus_internal_symbol_do_not_use_run_tests):
+	fix build when --disable-tests
+
+	* Makefile.am (EXTRA_DIST): put HACKING in here
+
+	* HACKING: document procedure for making a tarball release.
+
+2003-01-14  Anders Carlsson  <andersca at codefactory.se>
+
+	* bus/connection.c: (connection_error_handler),
+	(bus_connection_setup):
+	* bus/main.c: (main):
+	Make sure that the DBusConnectionData struct is NULLed
+	out to prevent a segfault.
+
+	* dbus/dbus-errors.c: (dbus_result_to_string):
+	* dbus/dbus-errors.h:
+	* dbus/dbus-message.c: (dbus_message_get_fields),
+	(dbus_message_get_fields_valist), (_dbus_message_test):
+	* dbus/dbus-message.h:
+	Make dbus_message_get_fields return a result code so we can
+	track invalid fields as well as oom.
+
+2003-01-11  Havoc Pennington  <hp at pobox.com>
+
+	* configure.in: change --enable-test/--enable-ansi action-if-given
+	to enable_foo=$enableval instead of enable_foo=yes
+
+2003-01-08  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-string.c (_dbus_string_align_length): new function
+
+	* dbus/dbus-test-main.c: move main() for test app here
+	* dbus/dbus-test.c
+	(dbus_internal_symbol_do_not_use_run_tests): we have to export a
+	symbol to run tests, because dbus-test isn't in the main
+	library
+
+        Code review nitpicks.
+
+	* dbus/dbus-message.c (dbus_message_write_header): add newlines
+	for people with narrow emacs ;-). Assert client_serial was filled
+	in. Assert message->name != NULL.
+	(dbus_message_append_fields): have "first_field_type" arg separate
+	from va list, needed for C++ binding that also uses varargs IIRC
+	and helps with type safety
+	(dbus_message_new): add @todo about using DBusString to store
+	service/name internally
+	(dbus_message_new): don't leak ->service and ->name on OOM later
+	in the function
+	(dbus_message_unref): free the service name
+	(dbus_message_get_fields): same change to varargs
+	i.e. first_field_type
+	(_dbus_message_loader_return_buffer): assert that the message data
+	is aligned (if not it's a bug in our code). Put in verbose griping
+	about why we set corrupted = TRUE.
+	(decode_header_data): add FIXME that char* is evil.  Was going to
+	add FIXME about evil locale-specific string.h strncmp, but just
+	switched to wacky string-as-uint32 optimization. Move check for
+	"no room for field name" above get_const_data_len() to avoid
+	assertion failure in get_const_data_len if we have trailing 2
+	bytes or the like. Check for service and name fields being
+	provided twice. Don't leak service/name on error. Require field
+	names to be aligned to 4 bytes.
+
+	* dbus/dbus-marshal.c: move byte swap stuff to header
+	(_dbus_pack_int32): uscore-prefix
+	(_dbus_unpack_int32): uscore-prefix
+	(_dbus_unpack_uint32): export
+	(_dbus_demarshal_string): add @todo complaining about use of
+	memcpy()
+	(_dbus_marshal_get_field_end_pos): add @todo about bad error
+	handling allowing corrupt data to go unchecked
+
+2003-01-08  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-transport-unix.c (unix_do_iteration): add read/write
+	to the select() as needed for authentication. (should be using
+	_dbus_poll() not select, but for another day)
+
+	* dbus/dbus.h: include dbus/dbus-protocol.h
+
+2003-01-08  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/Makefile.am (dbusinclude_HEADERS): Install
+	dbus-connection.h
+
+2003-01-08  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-internals.c: (_dbus_type_to_string):
+	New function that returns a string describing a type.
+
+	* dbus/dbus-marshal.c: (_dbus_demarshal_byte_array):
+	* dbus/dbus-marshal.h:
+	* dbus/dbus-message.c: (dbus_message_get_fields_valist),
+	(dbus_message_iter_get_field_type), (dbus_message_iter_get_double),
+	(dbus_message_iter_get_byte_array):
+	* dbus/dbus-message.h:
+	Add new convenience functions for appending and getting message fields.
+	Also add demarshalling routines for byte arrays.
+
+2003-01-07  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-connection-internal.h:
+	* dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
+	(_dbus_connection_get_next_client_serial),
+	(dbus_connection_send_message):
+	* dbus/dbus-internals.h:
+	* dbus/dbus-marshal.c: (unpack_uint32), (dbus_unpack_int32),
+	(dbus_pack_int32), (_dbus_marshal_double), (_dbus_marshal_int32),
+	(_dbus_marshal_uint32), (_dbus_demarshal_double),
+	(_dbus_demarshal_int32), (_dbus_demarshal_uint32),
+	(_dbus_demarshal_string), (_dbus_marshal_get_field_end_pos),
+	(_dbus_verbose_bytes), (_dbus_marshal_test):
+	* dbus/dbus-marshal.h:
+	* dbus/dbus-message-internal.h:
+	* dbus/dbus-message.c: (_dbus_message_set_client_serial),
+	(dbus_message_write_header), (_dbus_message_lock),
+	(dbus_message_new), (dbus_message_ref), (dbus_message_unref),
+	(dbus_message_get_name), (dbus_message_append_int32),
+	(dbus_message_append_uint32), (dbus_message_append_double),
+	(dbus_message_append_string), (dbus_message_append_byte_array),
+	(dbus_message_get_fields_iter), (dbus_message_iter_ref),
+	(dbus_message_iter_unref), (dbus_message_iter_has_next),
+	(dbus_message_iter_next), (dbus_message_iter_get_field_type),
+	(dbus_message_iter_get_string), (dbus_message_iter_get_int32),
+	(dbus_message_iter_get_uint32), (dbus_message_iter_get_double),
+	(decode_header_data), (_dbus_message_loader_return_buffer),
+	(message_iter_test), (_dbus_message_test):
+	* dbus/dbus-message.h:
+	* dbus/dbus-protocol.h:
+	* dbus/dbus-test.c: (main):
+	* dbus/dbus-test.h:
+	* glib/test-dbus-glib.c: (message_handler), (main):
+	* test/echo-client.c: (main):
+	* test/watch.c: (check_messages):
+	Make messages sendable and receivable for real.
+
+2003-01-07  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-marshal.c: (_dbus_marshal_double),
+	(_dbus_marshal_string), (_dbus_marshal_byte_array):
+	* dbus/dbus-message.c: (dbus_message_append_int32),
+	(dbus_message_append_uint32), (dbus_message_append_double),
+	(dbus_message_append_string), (dbus_message_append_byte_array):
+	Handle OOM restoration.
+
+2003-01-07  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-marshal.c: (_dbus_marshal_string),
+	(_dbus_demarshal_string), (_dbus_marshal_test):
+	* dbus/dbus-marshal.h:
+	* dbus/dbus-message.c: (dbus_message_get_name),
+	Document these functions.
+
+	(dbus_message_append_int32), (dbus_message_append_uint32),
+	(dbus_message_append_double), (dbus_message_append_string),
+	(dbus_message_append_byte_array):
+	* dbus/dbus-message.h:
+	Add functions for adding message fields of different types.
+
+	* dbus/dbus-protocol.h:
+	Add the different types.
+
+2003-01-05  Havoc Pennington  <hp at pobox.com>
+
+	* bus/connection.c: implement routines for handling connections,
+	first thing is keeping a list of owned services on each connection
+	and setting up watches etc.
+
+	* bus/services.c: implement a mapping from service names to lists
+	of connections
+
+	* dbus/dbus-hash.c: add DBUS_HASH_POINTER
+
+	* dbus/dbus-threads.c (dbus_static_mutex_lock): add functions
+	to use static mutexes for global data
+
+	* dbus/dbus-connection.c (dbus_connection_set_data): add new
+	collection of functions to set/get application-specific data
+	on the DBusConnection.
+
+2003-01-04  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-sysdeps.c (_dbus_sleep_milliseconds): new function
+	(_dbus_poll): new function
+
+	* dbus/dbus-internals.h (_DBUS_STRUCT_OFFSET): new macro
+	copied from GLib
+
+	* bus/loop.c: initial code for the daemon main loop
+
+2003-01-04  Havoc Pennington  <hp at pobox.com>
+
+	* test/watch.c (error_handler): make it safe if the error handler
+	is called multiple times (if we s/error handler/disconnect
+	handler/ we should just guarantee it's called only once)
+
+	* dbus/dbus-transport.c (_dbus_transport_disconnect): call the
+	error handler on disconnect (it's quite possible we should
+	just change the error handler to a "disconnect handler," I'm
+	not sure we have any other meaningful errors)
+
+	* configure.in: check for getpwnam_r
+
+	* dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
+	dbus/dbus-auth.c: add credentials support, add EXTERNAL auth
+	mechanism as in SASL spec, using socket credentials
+
+	* dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): new function
+	(_dbus_send_credentials_unix_socket): new function
+
+	* dbus/dbus-sysdeps.c (_dbus_accept_unix_socket): rename just
+	dbus_accept()
+	(_dbus_write): only check errno if <0 returned
+	(_dbus_write_two): ditto
+
+2003-01-02  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-marshal.c: (_dbus_marshal_utf8_string),
+	(_dbus_marshal_byte_array), (_dbus_demarshal_utf8_string),
+	(_dbus_marshal_test):
+	* dbus/dbus-marshal.h:
+	Add _dbus_marshal_byte_array and rename _dbus_marshal_string
+	to _dbus_marshal_utf8_string. Also fix some tests.
+
+2002-12-28  Harri Porten  <porten at kde.org>
+
+	* configure.in: added check for C++ compiler and a very cheesy
+	check for the Qt integration
+
+	* Makefile.am (SUBDIRS): compile qt subdir if support is enabled
+
+	* qt/Makefile.am: added
+
+	* qt/.cvsignore: added
+
+	* qt/dbus-qthread.cc, qt/dbus-qthread.cpp: renamed former to
+	latter, added #ifdef QT_THREAD_SUPPORT guard.
+
+	* dbus/Makefile.am: added missing headers for make dist
+
+2002-12-28  Kristian Rietveld  <kris at gtk.org>
+
+	* dbus/Makefile.am: fixup export-symbols-regex.
+
+2002-12-27  Anders Carlsson  <andersca at codefactory.se>
+
+	* acinclude.m4: Add this file and put the
+	PKG_CHECK_MODULE macro in it.
+
+2002-12-27  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-marshal.c: (_dbus_marshal_string),
+	(_dbus_demarshal_double), (_dbus_demarshal_int32),
+	(_dbus_demarshal_uint32), (_dbus_demarshal_string),
+	(_dbus_marshal_test):
+	Make the demarshalling routines align the pos argument.
+	Add string marshalling tests and fix the obvious bugs
+	discovered.
+
+2002-12-26  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-auth.c: fixes fixes fixes
+
+	* dbus/dbus-transport-unix.c: wire up support for
+	encoding/decoding data on the wire
+
+	* dbus/dbus-auth.c (_dbus_auth_encode_data)
+	(_dbus_auth_decode_data): append to target string
+	instead of nuking it.
+
+2002-12-26  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-marshal.h (DBUS_COMPILER_BYTE_ORDER): #ifdef
+	WORDS_BIGENDIAN then compiler byte order is DBUS_BIG_ENDIAN,
+	doh
+
+	* dbus/dbus-marshal.c: Add macros to do int swapping in-place and
+	avoid swap_bytes() overhead (ignoring possible assembly stuff for
+	now). Main point is because I wanted unpack_uint32 to implement
+	_dbus_verbose_bytes
+	(_dbus_verbose_bytes): new function
+
+	* dbus/dbus-string.c (_dbus_string_validate_ascii): new function
+
+	* dbus/dbus-message.c (_dbus_message_loader_get_is_corrupted): add
+	mechanism to handle a corrupt message stream
+	(_dbus_message_loader_new): fix preallocation to only prealloc,
+	not prelengthen
+
+	* dbus/dbus-string.c (_dbus_string_skip_blank): fix this function
+	(_dbus_string_test): enhance tests for copy/move and fix the
+	functions
+
+	* dbus/dbus-transport-unix.c: Hold references in more places to
+	avoid reentrancy problems
+
+	* dbus/dbus-transport.c: ditto
+
+	* dbus/dbus-connection.c (dbus_connection_dispatch_message): don't
+	leak reference count in no-message case
+
+	* test/watch.c (do_mainloop): handle adding/removing watches
+	during iteration over the watches. Also, ref the connection/server
+	stored on a watch, so we don't try to mangle a destroyed one.
+
+	* dbus/dbus-transport-unix.c (do_authentication): perform
+	authentication
+
+	* dbus/dbus-auth.c (get_state): add a state
+	AUTHENTICATED_WITH_UNUSED_BYTES and return it if required
+	(_dbus_auth_get_unused_bytes): append the unused bytes
+	to the passed in string, rather than prepend
+
+	* dbus/dbus-transport.c (_dbus_transport_init_base): create
+	the auth conversation DBusAuth
+
+	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd)
+	(_dbus_transport_new_for_domain_socket): when creating a
+	transport, pass in whether it's a client-side or server-side
+	transport so we know which DBusAuth to create
+
+2002-12-03  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-transport-unix.c (unix_finalize): finalize base
+	_after_ finalizing the derived members
+	(unix_connection_set): unref watch if we fail to add it
+
+	* dbus/dbus-connection.c (dbus_connection_unref): delete the
+	transport first, so that the connection owned by the
+	transport will be valid as the transport finalizes.
+
+	* dbus/dbus-transport-unix.c (unix_finalize): free the write_watch
+	if necessary, and remove watches from the connection.
+
+	* dbus/dbus-watch.c (_dbus_watch_list_free): improve a comment
+
+2002-12-26  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/dbus-marshal.c: (_dbus_marshal_string),
+	(_dbus_demarshal_double), (_dbus_demarshal_int32),
+	(_dbus_demarshal_uint32), (_dbus_demarshal_string),
+	(_dbus_marshal_test):
+	* dbus/dbus-marshal.h:
+	Add string marshal functions and have the demarshal functions
+	return the new position.
+
+2002-12-25  Havoc Pennington  <hp at pobox.com>
+
+	* doc/dbus-sasl-profile.txt: docs on the authentication protocol,
+	it is a simple protocol that just maps directly to SASL.
+
+	* dbus/dbus-auth.h, dbus/dbus-auth.c: authentication protocol
+	initial implementation, not actually used yet.
+
+	* dbus/dbus-string.c (_dbus_string_find): new function
+	(_dbus_string_equal): new function
+	(_dbus_string_base64_encode): new function
+	(_dbus_string_base64_decode): new function
+
+2002-12-25  Anders Carlsson  <andersca at codefactory.se>
+
+	* dbus/Makefile.am:
+	* dbus/dbus-marshal.c: (swap_bytes), (_dbus_marshal_double),
+	(_dbus_marshal_int32), (_dbus_marshal_uint32),
+	(_dbus_demarshal_double), (_dbus_demarshal_int32),
+	(_dbus_demarshal_uint32), (_dbus_marshal_test):
+	* dbus/dbus-marshal.h:
+	* dbus/dbus-protocol.h:
+	* dbus/dbus-test.c: (main):
+	* dbus/dbus-test.h:
+	Add un-optimized marshalling/demarshalling routines.
+
+2002-12-25  Harri Porten  <porten at kde.org>
+
+	* qt/dbus-qt.h: adjusted ctor and getter to KDE/Qt conventions
+
+2002-12-24  Zack Rusin  <zack at kde.org>
+
+	* qt/dbus-qthread.cc: adding - integrates QMutex into Dbus
+	* qt/dbus-qt.h: skeleton with two sample implemenatation of the
+	main loop stuff
+
+2002-12-24  Havoc Pennington  <hp at pobox.com>
+
+	* glib/dbus-gthread.c: fix include
+
+	* glib/dbus-glib.h: rename DBusMessageHandler for now.
+	I think glib API needs to change, though, as you don't
+	want to use DBusMessageFunction, you want to use the
+	DBusMessageHandler object. Probably
+	dbus_connection_open_with_g_main_loop()
+	and dbus_connection_setup_g_main_loop() or something like that
+	(but think of better names...) that just create a connection
+	that has watch/timeout functions etc. already set up.
+
+	* dbus/dbus-connection.c
+	(dbus_connection_send_message_with_reply): new function just to
+	show how the message handler helps us deal with replies.
+
+	* dbus/dbus-list.c (_dbus_list_remove_last): new function
+
+	* dbus/dbus-string.c (_dbus_string_test): free a string that
+	wasn't
+
+	* dbus/dbus-hash.c: use memory pools for the hash entries
+	(rebuild_table): be more paranoid about overflow, and
+	shrink table when we can
+	(_dbus_hash_test): reduce number of sprintfs and write
+	valid C89. Add tests for case where we grow and then
+	shrink the hash table.
+
+	* dbus/dbus-mempool.h, dbus/dbus-mempool.c: memory pools
+
+	* dbus/dbus-connection.c (dbus_connection_register_handler)
+	(dbus_connection_unregister_handler): new functions
+
+	* dbus/dbus-message.c (dbus_message_get_name): new
+
+	* dbus/dbus-list.c: fix docs typo
+
+	* dbus/dbus-message-handler.h, dbus/dbus-message-handler.c:
+	an object representing a handler for messages.
+
+2002-12-16  Anders Carlsson  <andersca at codefactory.se>
+
+	* glib/dbus-glib.h:
+	* glib/dbus-gthread.c: (dbus_gthread_init):
+	Don't use the gdbus prefix for public functions.
+
+2002-12-16  Anders Carlsson  <andersca at codefactory.se>
+
+	* Makefile.am:
+	* configure.in:
+	Add GLib checks and fixup .pc files
+
+	* glib/Makefile.am:
+	* glib/dbus-glib.h:
+	* glib/dbus-gmain.c: (gdbus_connection_prepare),
+	(gdbus_connection_check), (gdbus_connection_dispatch),
+	(gdbus_add_connection_watch), (gdbus_remove_connection_watch),
+	(dbus_connection_gsource_new):
+	* glib/dbus-gthread.c: (dbus_gmutex_new), (dbus_gmutex_free),
+	(dbus_gmutex_lock), (dbus_gmutex_unlock), (dbus_gthread_init):
+	* glib/test-dbus-glib.c: (message_handler), (main):
+	Add GLib support.
+
+2002-12-15  Harri Porten  <porten at kde.org>
+
+	* autogen.sh: check for libtoolize before attempting to use it
+
+	* dbus/dbus-transport-unix.c: include <sys/time.h> for timeval
+	struct.
+
+	* .cvsignore: ignore more stamp files
+
+	* dbus/dbus-watch.c (_dbus_watch_list_new): fixed doc error
+
+	* test/Makefile.am: added -I$(top_srcdir) to be able to compile
+	without make install.
+
+2002-12-15  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-threads.c: add thread stubs that a higher library
+	layer can fill in. e.g. the GLib wrapper might fill them in with
+	GThread stuff. We still need to use this thread API to
+	thread-safe-ize the library.
+
+2002-12-12  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-transport-unix.c, dbus/dbus-server-unix.c: use the
+	below new interfaces and include fewer system headers.
+
+	* dbus/dbus-sysdeps.c (_dbus_read): new function
+	(_dbus_write): new function
+	(_dbus_write_two): new function
+	(_dbus_connect_unix_socket): new function
+	(_dbus_listen_unix_socket): new function
+
+	* dbus/dbus-message-internal.h: change interfaces to use
+	DBusString
+
+2002-12-11  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-types.h: add dbus_unichar
+
+	* dbus/dbus-internals.c (_dbus_verbose): use _dbus_getenv
+
+	* dbus/dbus-connection.c (dbus_connection_send_message): return
+	TRUE on success
+
+	* dbus/dbus-transport.c: include dbus-watch.h
+
+	* dbus/dbus-connection.c: include dbus-message-internal.h
+
+	* HACKING: add file with coding guidelines stuff.
+
+	* dbus/dbus-string.h, dbus/dbus-string.c: Encapsulate all string
+	handling here, for security purposes (as in vsftpd). Not actually
+	using this class yet.
+
+	* dbus/dbus-sysdeps.h, dbus/dbus-sysdeps.c: Encapsulate all
+	system/libc usage here, as in vsftpd, for ease of auditing (and
+	should also simplify portability). Haven't actually moved all the
+	system/libc usage into here yet.
+
+2002-11-25  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-internals.c (_dbus_verbose): fix to not
+	always print the first verbose message.
+
+2002-11-24  Havoc Pennington  <hp at pobox.com>
+
+        * test/echo-client.c, test/echo-server.c: cheesy test
+	clients.
+
+	* configure.in (AC_CHECK_FUNCS): check for writev
+
+	* dbus/dbus-message.c (_dbus_message_get_network_data): new
+	function
+
+	* dbus/dbus-list.c (_dbus_list_foreach): new function
+
+	* dbus/dbus-internals.c (_dbus_verbose): new function
+
+	* dbus/dbus-server.c, dbus/dbus-server.h: public object
+	representing a server that listens for connections.
+
+	* dbus/.cvsignore: create
+
+	* dbus/dbus-errors.h, dbus/dbus-errors.c:
+	public API for reporting errors
+
+	* dbus/dbus-connection.h, dbus/dbus-connection.c:
+	public object representing a connection that
+	sends/receives messages. (Same object used for
+	both client and server.)
+
+	* dbus/dbus-transport.h, dbus/dbus-transport.c:
+	Basic abstraction for different kinds of stream
+	that we might read/write messages from.
+
+2002-11-23  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-internals.h (_DBUS_INT_MAX): add _DBUS_INT_MIN
+	_DBUS_INT_MAX
+
+	* dbus/dbus-test.c (main): add list test, and include
+	dbus-test.h as intended
+
+	* dbus/dbus-hash.c (_dbus_hash_table_remove_string)
+	(_dbus_hash_table_remove_int): return value indicates
+	whether the entry existed to remove
+
+	* dbus/dbus-list.c: add linked list utility class,
+	with docs and tests
+
+	* dbus/dbus-hash.c: add TODO item about shrinking the hash bucket
+	array sometimes.
+
+2002-11-23  Havoc Pennington  <hp at pobox.com>
+
+	* Doxyfile.in (INCLUDE_FILE_PATTERNS): expand DBUS_BEGIN_DECLS/
+	DBUS_END_DECLS to nothing, that should fix this once and for all
+
+	* Doxyfile.in (JAVADOC_AUTOBRIEF): set to YES
+
+	* dbus/dbus-message.c, dbus/dbus-hash.c:
+	add some missing @brief
+
+2002-11-23  Havoc Pennington  <hp at pobox.com>
+
+	* dbus/dbus-message.h: put semicolons after DEBUG_BEGIN_DECLS
+	to avoid confusing Doxygen
+
+	* dbus/dbus-hash.c: @} not }@
+
+	* dbus/dbus-message.c (struct DBusMessage): split out
+	internals docs
+
+2002-11-23  Havoc Pennington  <hp at pobox.com>
+
+	* configure.in: pile on more warning flags if using gcc
+
+	* Doxyfile.in (EXTRACT_STATIC): set to NO, so we don't have
+	to document static functions
+
+	* configure.in: add summary to end of configure so it
+	looks nice and attractive
+
+	* dbus/dbus-hash.c: finish implementation and write unit
+	tests and docs
+
+	* configure.in: add --enable-tests to enable unit tests
+
+	* dbus/dbus-test.c: test program to run unit tests
+	for all files in dbus/*, initially runs a test for
+	dbus-hash.c
+
+	* dbus/dbus-internals.h: file to hold some internal utility stuff
+
+2002-11-22  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-hash.c: copy in Tcl hash table, not yet
+	"ported" away from Tcl
+
+	* dbus/dbus-types.h: header for types such as dbus_bool_t
+
+2002-11-22  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus.h: fixups for doc warnings
+
+	* Doxyfile.in (FILE_PATTERNS): we need to scan .h to pick up
+	macros
+	(QUIET): make it quiet so we can see warnings
+
+	* dbus/dbus-memory.c: teach D-BUS to allocate and free memory
+
+2002-11-22  Havoc Pennington  <hp at redhat.com>
+
+	* Makefile.am: include "Doxyfile" target in all-local
+
+	* configure.in: generate the Doxyfile
+
+	* Doxyfile.in: move Doxyfile here, so we can use
+	configure to generate a Doxyfile with the right
+	version number etc.
+
+2002-11-22  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/dbus-message.c: move inline docs into .c file
+
+	* Doxyfile (OUTPUT_DIRECTORY): move output to doc/api
+	so all docs are under doc/
+	(MAN_EXTENSION): generate man pages. Use extension
+	".3dbus" which matches ".3qt" on my system,
+	I guess this is OK, I don't know really.
+	(FILE_PATTERNS): look for .c files not .h, makes sense
+	for plain C I think
+
+2002-11-22  Havoc Pennington  <hp at pobox.com>
+
+	* Makefile.am (SUBDIRS): rename subdir "server" to "bus"
+	because any app can be a server, and any app can be a client,
+	the bus is a special kind of server.
+
+Thu Nov 21 23:35:31 2002  Zack Rusin  <zack at kde.org>
+
+	* Doxyfile : adding. Still needs Makefile rules to be generated
+	automatically (just run "doxygen" in the toplevel dir for now to
+	generate docs)
+
+	* dbus/dbus-message.h : Adding sample docs (javadoc since
+	resembles gtk-doc a little more)
+
+	* dbus/dbus.h : Adding sample docs
+
+2002-11-21  Havoc Pennington  <hp at redhat.com>
+
+	* dbus/Makefile.am (INCLUDES): define DBUS_COMPILATION
+	so we can allow ourselves to include files directly,
+	instead of having to use dbus.h
+
+	* dbus/dbus.h: fill in
+
+	* dbus/dbus-message.h: sketch out a sample header file.
+	Include griping if you include it directly instead of
+	via dbus.h
+
+	* dbus/dbus-macros.h: new file with macros for extern "C",
+	TRUE/FALSE, NULL, etc.
+
+	* doc/file-boilerplate.c: put include guards in here
+
+2002-11-21  Havoc Pennington  <hp at redhat.com>
+
+	* doc/file-boilerplate.c: include both AFL and GPL boilerplate.
+
+	* COPYING: include the GPL as well, and license code
+	under both AFL and GPL.
+
+2002-11-21  Havoc Pennington  <hp at redhat.com>
+
+	* acconfig.h: get rid of this
+
+	* autogen.sh (run_configure): add --no-configure option
+
+	* configure.in: remove AC_ARG_PROGRAM to make
+	autoconf complain less. add AC_PREREQ.
+	add AC_DEFINE third arg.
+
+2002-11-21  Anders Carlsson  <andersca at codefactory.se>
+
+	* doc/Makefile.am:
+	Fix references so we can distcheck.
+
+2002-11-21  Havoc Pennington  <hp at redhat.com>
+
+	* Initial module creation
+



More information about the dbus-commit mailing list