diff options
| -rw-r--r-- | ChangeLog | 15156 | ||||
| -rw-r--r-- | ChangeLog.pre-1-0 | 15146 | ||||
| -rw-r--r-- | NEWS.pre-1-0 | 614 | 
3 files changed, 15768 insertions, 15148 deletions
@@ -1,5 +1,11 @@  2007-05-25  John (J5) Palmieri  <johnp@redhat.com> +	* Split NEWS and ChangeLog into a .pre-1-0 file as per HACKING +	We forgot to do this during the 1.0 release and it makes sense +	now as we get ready to release the first 1.1.0 development tarball + +2007-05-25  John (J5) Palmieri  <johnp@redhat.com> +  	* create directory test/data/valid-config-files/session.d so that  	make check passes @@ -476,7 +482,7 @@  2006-12-31  Ralf Habacker  <ralf.habacker@freenet.de>  	* dbus/dbus-marshal-recursive.c (type DBusTypeReaderClass): -	fix mispaced const statement. - Patch from Peter Kümmel +	fix mispaced const statement. - Patch from Peter Kümmel  2006-12-19  Ray Strode  <rstrode@redhat.com> @@ -555,7 +561,7 @@  2006-12-12  John (J5) Palmieri  <johnp@redhat.com>  	* bus/signal.c: Fix match_rule_equal errata -	(CVE-2006-6107 - Patch from Kimmo Hämäläinen  +	(CVE-2006-6107 - Patch from Kimmo Hämäläinen   	<kimmo.hamalainen@nokia.com>)  2006-11-19  Thiago Macieira  <thiago@kde.org> @@ -609,15149 +615,3 @@  	instead of _dbus_threads_init_debug since it is more of a real world  	test -2006-11-09  John (J5) Palmieri  <johnp@redhat.com> - -	* Released 1.0.0 - -2006-11-09  John (J5) Palmieri  <johnp@redhat.com> - -	* AUTHORS: added Peter and Tor of windows porting fame - -2006-11-08  Havoc Pennington  <hp@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@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@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@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@redhat.com> - -	* AUTHORS: Update with all people listed in the ChangeLog - -2006-11-08  John (J5) Palmieri  <johnp@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@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@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@redhat.com> - -	* bus/bus.c: Missed patch - pass in the context to the directory watch - -2006-11-02  John (J5) Palmieri  <johnp@redhat.com> - -	* Released D-Bus 1.0 RC 3(0.95) - -2006-11-02  John (J5) Palmieri  <johnp@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@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@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@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@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@redhat.com> - -	* bus/dbus-daemon.1.in: document standard_session_servicedirs - -2006-11-01  John (J5) Palmieri  <johnp@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@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@redhat.com> -	 -	* dbus/dbus-connection.c (dbus_connection_open_private): document -	how to choose shared vs. private connections - -2006-10-27  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@redhat.com> - -	* dbus/dbus-connection.h: don't include the watch/timeout -	functions in connection section - -2006-10-21  Havoc Pennington  <hp@redhat.com> - -	* Documentation! Whee! Doxygen now 100% silent. If you make it -	angry again, you will be punished. -	 -2006-10-21  Havoc Pennington  <hp@redhat.com> - -	* More documentation - all public API now documented according to -	Doxygen - -2006-10-21  Havoc Pennington  <hp@redhat.com> - -	* Document a bunch of undocumented stuff -	 -2006-10-21  Havoc Pennington  <hp@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@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@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@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@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@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@redhat.com> - -	* Fix a pile of Doxygen warnings and missing docs - -2006-10-19  John (J5) Palmieri  <johnp@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@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@redhat.com> - -	* configure.in: More fixups for cross compile (Patch from  -	Marco Pracucci <development at pracucci dot com>) - -2006-10-17  Havoc Pennington  <hp@redhat.com> - -	* tools/dbus-send.c (main): don't close shared connection, fix -	from Timo Hoenig - -2006-10-17  Havoc Pennington  <hp@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@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@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@redhat.com> - -	* doc/TODO: Remove the check TODO item - -2006-10-13  John (J5) Palmieri  <johnp@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@redhat.com> - -	* configure.in: when checking for posix getpwnam_r assume true -	for cross compiles - -2006-10-13  John (J5) Palmieri  <johnp@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@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@redhat.com> - -	* configure.in: use AC_TRY_COMPILE for dirfd instead of AC_TRY_RUN - -2006-10-11  John (J5) Palmieri  <johnp@redhat.com> - -	* test/name-test/Makefile.am: don't link against both libdbus and -	libdbus-convenience - -2006-10-11  John (J5) Palmieri  <johnp@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@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@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@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@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@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@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@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@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@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@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@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@redhat.com> - -	* tools/Makefile.am: use @EXPANDED_DATADIR@ instead of @DATADIRNAME@   - -2006-09-17  Havoc Pennington  <hp@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@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@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@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@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@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@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@redhat.com> - -	* Released 1.0 RC 1 (0.93)  - -2006-09-14  John (J5) Palmieri  <johnp@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@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@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@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@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@redhat.com> - -	* remove a bunch of todo items from the 1.0 list - -2006-09-11  John (J5) Palmieri  <johnp@redhat.com> - -	* bus/activation.c, bus/desktop-file.c: Distinguish between OOM and -	key not found - -2006-09-11  John (J5) Palmieri  <johnp@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@redhat.com> - -	* dbus/dbus-marshal-recursive-util.c, dbus/dbus-marshal-recursive.c: -	remove DBusMark - -2006-09-10  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@redhat.com> - -	* configure.in: Fix DBUS_DAEMONDIR to use EXPANDED_BINDIR for the -	default case - -2006-08-25  John (J5) Palmieri  <johnp@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@redhat.com> - -	* doc/dbus-faq.xml, doc/dbus-tutorial.xml: some improvements to -	the docs - -2006-08-18  John (J5) Palmieri  <johnp@redhat.com> - -	* Released 0.92  - -2006-08-18  John (J5) Palmieri  <johnp@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@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@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@atoker.com> - -	* doc/dbus-specification.xml: Fix some minor typos. - -2006-08-17  John (J5) Palmieri  <johnp@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@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@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@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@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@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@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@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@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@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@redhat.com> - -	* configure.in: add a version (>= 2.6.0) check for libxml2 - -2006-08-10  John (J5) Palmieri  <johnp@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@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@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@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@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@redhat.com> - -	* dbus/dbus-object-tree.c (_dbus_object_subtree_new): -	remove dead code - -2006-08-08  John (J5) Palmieri  <johnp@redhat.com> - -	* tools/run-with-tmp-session-bus.sh: use #!/bin/sh instead of -	#!/bin/bash - -2006-08-08  John (J5) Palmieri  <johnp@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@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@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@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@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@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@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@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@redhat.com> - -	* s/D-BUS/D-Bus/g - -2006-08-03  John (J5) Palmieri  <johnp@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@redhat.com> - -	* Released 0.91 - -2006-07-22  John (J5) Palmieri  <johnp@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@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@redhat.com> - -	* Released 0.90 - -2006-07-17  Havoc Pennington  <hp@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@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@redhat.com> - -	* dbus-qt4-1.pc.in, dbus-sharp.pc.in: -	Remove stray files from the stripped bindings - -2006-07-16  Havoc Pennington  <hp@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@redhat.com> - -	* Remove all bindings - -2006-07-13  John (J5) Palmieri  <johnp@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@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@redhat.com> -	* dbus/Makefile.am: add dbus-pending-call-internal.h to the list of -	source files - -2006-07-12  John (J5) Palmieri  <johnp@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@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@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@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@openedhand.com> - -	* glib/dbus-gobject.c: -	Free a leaking GArray (surely not!) in dbus_g_method_return. - -2006-06-14  Ross Burton  <ross@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@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@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@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@trolltech.com> - -	* Released 0.62 - -2006-06-12  Thiago Macieira <thiago.macieira@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@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@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@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@trolltech.com> - -	Patch from Timo Hoenig <thoenig@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@redhat.com> - -	* bus/bus.c: Fix eavesdropping on method calls - -2006-06-07  John (J5) Palmieri  <johnp@redhat.com> - -	* configure.in: -	* dbus/dbus-userdb-util.c: -	Add Solaris console owner patch from Artem Kachitchkine - -2006-06-07  Thiago Macieira <thiago.macieira@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@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@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@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@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@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@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@trolltech.com> - -	* configure.in: Make --disable-qt actually do -          something. Patch inspired by Zack Rusin. - -2006-06-04  Thiago Macieira <thiago.macieira@trolltech.com> - -	* qt/: Update to Subversion r548032. -	This includes a big reorganisation of the files inside the -	subdir. - -2006-05-30  Sjoerd Simons  <sjoerd@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@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@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@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@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@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@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@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@trolltech.com> - -	* qt/dbusidl2cpp.cpp: There's no callAsync. Use the correct -        call. (r535506) - -2006-04-29  Thiago Macieira  <thiago.macieira@trolltech.com> - -	* qt/examples/dbus.cpp: Enhance error messages and use -        QDBusInterfacePtr. - -2006-04-29  Thiago Macieira  <thiago.macieira@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@trolltech.com> - -	* qt/qdbusintegrator.cpp: Fix assertion failure spotted by -	Brad Hards. - -2006-04-28  Robert McQueen  <robot101@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@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@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@debian.org> - -	* qt/Makefile.am: Tweak CLEANFILES from qdbusconnection.moc -	to qdbusconnection_p.moc. - -2006-04-24 John (J5) Palmieri <johnp@redhat.com> - -	* README, INSTALL: Doc fixes -	Patch from Brad Hards <bradh at frogmouth.net> - -2006-04-23  Thiago Macieira  <thiago.macieira@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@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@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@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@redhat.com> - -	* dbus/dbus-connection.c: Fix asserts -	Patch from Tim Moloney <t.moloney at verizon.net> - -2006-04-19  John (J5) Palmieri  <johnp@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@trolltech.com> - -	* INSTALL: fine-tune the requirements for the Qt4 binding. - -2006-04-16  Daniel P. Berrange  <dan@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@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@trolltech.com> - -	* qt/qdbusintegrator.cpp: Work around g++ 3.3 bug. -	  Patch by Stefan Eilers. (r529537) - -2006-04-13  Thiago Macieira  <thiago.macieira@trolltech.com> - -	* qt/qdbusinternalfilters.cpp: Don't show the parent's -  	  contents (r528208) - -2006-04-10  Thiago Macieira  <thiago.macieira@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@hypair.net> for -          spotting this. - -2006-04-10  Thiago Macieira  <thiago.macieira@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@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@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@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@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@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@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@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@openedhand.com> - -	* tools/dbus-print-message.c: -	Add support for object paths and signatures. - -2006-03-06  Sjoerd Simons <sjoerd@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@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@trolltech.com> - -	* test/qt/*: Update the self-tests. - -2006-03-06  Thiago Macieira  <thiago.macieira@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@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@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@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@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@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@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@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@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@redhat.com> - -	* Released 0.61 - -2006-02-24  John (J5) Palmieri  <johnp@redhat.com> -	 -	* proxies.py: Fix the callchain - -2006-02-24  John (J5) Palmieri <johnp@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@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@debian.org> - -	* configure.in: Patch from Debian packages by Sjoerd Simons -	<sjoerd@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@debian.org> - -	* acinclude.m4, configure.in: Patch from Brad Hards -	<bradh@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@debian.org> - -	* dbus/dbus-message.c (dbus_message_iter_get_fixed_array): -	Patch from Rob Taylor <rob.taylor@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@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@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@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@redhat.com> - -	* tools/dbus-launch.c: Fixed sh syntax output - -2006-02-13  Robert McQueen  <robot101@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@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@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@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@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@redhat.com> - -	* tools/dbus-launch.c: Fixed csh syntax output (Bug #5720) - -2006-02-10  John (J5) Palmieri  <johnp@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@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@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@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@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@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@debian.org> - -	* glib/dbus-binding-tool-glib.c: Patch from Rob Taylor -	<rob.taylor@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@debian.org> - -	* dbus/dbus-glib.h, glib/dbus-gproxy.c: Patch from Ricardo Kekki -	<ricardo.kekki@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@debian.org> - -	* glib/dbus-binding-tool-glib.c: Patch from Ricardo Kekki -	<ricardo.kekki@movial.fi> to make dbus-binding-tool heed C symbol name -	annotations when generating glib client bindings. - -2005-12-19 John (J5) Palmieri  <johnp@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@redhat.com> - -	* dbus/dbus-shared.h: add DOxygen markup to quiet warnings - -2005-12-19 John (J5) Palmieri  <johnp@redhat.com>  - -	* dbus/dbus-macros.h: correct DOxygen end of section (s/}@/@}) - -2005-12-19  Ross Burton  <ross@openedhand.com> - -	* doc/dbus-tutorial.xml: -	Document the Glib client-side bindings, and list all possible annotations. - -2005-12-19  John (J5) Palmieri  <johnp@redhat.com> - -	* dbus/bus.c (dbus_bus_release_name): Add documentation - -2005-12-06  Robert McQueen  <robot101@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@redhat.com> - -	* Released 0.60 - -2005-11-30  John (J5) Palmieri  <johnp@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@redhat.com> - -	Patch from Timo Hoenig <thoenig@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@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@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@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@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@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@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@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@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@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@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@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@openedhand.com> - -	* dbus/dbus-marshal-header.c: -	Remove dead code. - -	* glib/dbus-gobject.c: -	Stop compiler warning. - -2005-10-25  Ross Burton  <ross@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@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@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@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@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@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@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@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@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@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@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@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@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@kdevelop.org> -	* dbus/qt: New Qt bindings - -2005-09-12  Waldo Bastian  <bastian@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@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@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@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@novell.com> - -	Patches from James Willcox <snorp@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@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@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@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@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@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@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@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@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@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@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@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@redhat.com> - -	* Release 0.36 - -2005-08-23  Colin Walters  <walters@verbum.org> - -	* test/glib/Makefile.am: Don't multiply-define EXTRA_DIST. - -2005-08-23  John (J5) Palmieri  <johnp@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@redhat.com> - -	* fix a bunch of Doxygen warnings and mistakes - -2005-07-30  Havoc Pennington  <hp@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@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@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@openedhand.com> - -	* dbus/dbus-connection.c: -	Don't create a DBusCondVar which is never used. - -2005-07-27  Ross Burton  <ross@openedhand.com> - -	* dbus/dbus-message.c: -	Reduce the size of the maximum cached message to 10K. - -2005-07-25  Ross Burton  <ross@openedhand.com> - -	* glib/dbus-gproxy.c: -	Remove matches when all proxies are unregistered. - -2005-07-24  Colin Walters  <walters@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@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@interlink.com.au>) - -2005-07-17  John (J5) Palmieri  <johnp@redhat.com> - -	* NEWS: Update to 0.35.2 - -2005-07-17  John (J5) Palmieri  <johnp@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@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@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@verbum.org> - -	* doc/TODO: Add note about convenience wrappers. - -2005-07-15  John (J5) Palmieri  <johnp@redhat.com> - -	* NEWS: Update to 0.35 - -2005-07-15  John (J5) Palmieri  <johnp@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@redhat.com> - -	* glib/example/Makefile.am: Fix a typo which cause make distcheck -	to fail - -2005-07-15  John (J5) Palmieri  <johnp@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@redhat.com> - -	* python/__init__.py: Upped to version (0,42,0) because of -	the API change - -2005-07-15  John (J5) Palmieri  <johnp@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@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@openedhand.com> - -	* glib/dbus-gproxy.c: -	Fix a leak when calling methods via the proxy. - -2005-07-15  Colin Walters  <walters@verbum.org> - -	* bus/selinux.c (bus_selinux_append_context): Wrap in -	HAVE_SELINUX. - -2005-07-14  John (J5) Palmieri  <johnp@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@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@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@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@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@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@verbum.org> - -	Patch from Jim Gettys <Jim.Gettys@hp.com>. - -	* tools/dbus-launch.c: Include sys/select.h. - -2005-07-12  John (J5) Palmieri  <johnp@redhat.com> -	* python/dbus_bindings.pyx.in: removed - -	* python/dbus_bindings.pyx: Added. -	- Fixed some memleaks (patch from  -	Sean Meiners <sean.meiners@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@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@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@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@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@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@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@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@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@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@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@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@verbum.org> - -	* glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller): -	Remove value refcount leak, original patch from Jorn Baayen -	<jorn@openedhand.com>.  Also remove useless extra value in favor -	of prepending to value array directly. - -2005-07-02  Colin Walters  <walters@verbum.org> - -	* glib/dbus-gmain.c (_dbus_gmain_test): Fix test. - -2005-07-01  Colin Walters  <walters@verbum.org> - -	Patch from Jonathan Matthew <jonathan@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@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@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@redhat.com> - -	* configure.in: force check for Python >= 2.4 - -2005-06-29  Colin Walters  <walters@verbum.org> -	 -	Patch from Ross Burton <ross@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@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@redhat.com> - -	* python/dbus_bindings.pyx.in (cunregister_function_handler, -	cmessage_function_handler): Patch from  -	Anthony Baxter <anthony@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@redhat.com> - -	*  dbus/dbus-spawn.c (_dbus_babysitter_unref): kill -	babysitter helper process on last unref, bug #2813. - -2005-06-27  Colin Walters  <walters@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@redhat.com> - -	* doc/dbus-tutorial.xml: fix names of interface/service/path, fix -	from Don Park - -2005-06-26  Colin Walters  <walters@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@verbum.org> -	 -	Patch from Ross Burton <ross@openedhand.com> - -	* glib/dbus-gobject.c (dbus_g_method_return): Free out_sig. - -2005-06-20  Colin Walters  <walters@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@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@verbum.org> - -	Patch suggested by Ross Burton <ross@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@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@verbum.org> - -	* tools/dbus-names-model.c (have_names_notify): Fix call -	to dbus_g_proxy_end_call. -	 -2005-06-17  Colin Walters  <walters@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@verbum.org> - -	* doc/TODO: Update for GLib bindings. -	 -2005-06-16  Colin Walters  <walters@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@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@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@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@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@verbum.org> - -	* glib/dbus-gvalue.c (marshal_basic): Marshal NULL string -	values as the empty string (#2948). -	 -2005-06-16  Colin Walters  <walters@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@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@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@redhat.com> - -	* NEWS: Update to 0.34 - -2005-06-15  David Zeuthen  <davidz@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@redhat.com 2005-05-05 for details. -	 -2005-06-15  John (J5) Palmieri  <johnp@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@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@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@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@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@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@verbum.org> - -	* glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): -	Add missing return statements, noticed by Ross Burton. -	 -2005-06-13  Ross Burton <ross@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@verbum.org> - -	* glib/Makefile.am: Fix thinko in last patch. - -2005-06-13  Colin Walters  <walters@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@verbum.org> - -	Async signals and various bugfixes and testing by -	Ross Burton <ross@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@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@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@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@redhat.com> - -	* python/__init__.py: Python bindings deserve a minor version -	update.  Upped to (0, 40, 2) - -2005-05-24  John (J5) Palmieri  <johnp@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@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@redhat.com> -	 -	* python/dbus_bindings.pyx.in: s/TYPE_PATH/TYPE_OBJECT_PATH - -2005-05-18  Havoc Pennington  <hp@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@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@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@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@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@verbum.org> - -	* dbus/dbus-sysdeps-util.c <!HAVE_POSIX_GETPWNAM_R>: Fix -	compilation error. -	 -2005-05-08  Havoc Pennington  <hp@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@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@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@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@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@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@redhat.com> - -	* NEWS: Update to 0.33 - -2005-04-25  John (J5) Palmieri  <johnp@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@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@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@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@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@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@redhat.com> - -	* doc/TODO: Added an "important for 1.0" item about selinux -	allow/deny messages - -2005-04-13  David Zeuthen  <davidz@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@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@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@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@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@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@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@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@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@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@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@verbum.org> - -	Patch suggested by Inguva Rajasekhar <ringuva@novell.com>. - -	* configure.in: Require GTK+ 2.6. -	 -2005-03-20  Colin Walters  <walters@verbum.org> - -	* Makefile.am (SUBDIRS, DIST_SUBDIRS): Build tools before test. - -2005-03-17  Tom Parker  <palfrey@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@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@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@novell.com> - -	* mono/ProxyBuilder.cs (BuildFinalizer): Fix some invalid IL when -	generating the finalizer.  Fixes from Ben Maurer. - -2005-03-12  Joe Shaw  <joeshaw@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@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@ximian.com> - -2005-03-12  Colin Walters  <walters@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@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@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@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@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@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@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@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@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@tevp.net> - -2005-03-01  Colin Walters  <walters@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@verbum.org> -	 -	* doc/TODO: Remove introspection signature TODO. - -2005-02-27  Colin Walters  <walters@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@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@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@verbum.org> - -	* test/glib/Makefile.am (EXTRA_DIST): Add test-service-glib.xml - -2005-02-24  John (J5) Palmieir  <johnp@redhat.com> - -	* glib/Makefile.am: added dbus-gobject.h to sources list -	so distcheck doesn't fail -	 -2005-02-24  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@verbum.org> - -	* bus/.cvsignore, doc/.cvsignore -	* test/data/valid-service-files/.cvsignore, test/glib/.cvsignore: -	Update. - -2005-02-17  Colin Walters  <walters@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@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@verbum.org> - -	This patch is based on initial work from -	Paul Kuliniewicz <kuliniew@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@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@redhat.com> - -	* dbus/dbus-userdb-util.c (_dbus_user_database_lookup_group): -	properly handle looking up group information by name; fix  -	from j@bootlab.org - -2005-02-13  Havoc Pennington  <hp@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@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@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@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@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@redhat.com> - -	* bus/driver.c (bus_driver_handle_introspect): add introspection -	for bus driver - -2005-02-12  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@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@redhat.com> - -	* s/expected/required/ in a couple places for clarity - -2005-02-07  Colin Walters  <walters@verbum.org> - -	* bus/selinux.c (bus_selinux_allows_send): Handle NULL for -	sender or proposed_recipient. - -2005-02-06  Havoc Pennington  <hp@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@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@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@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@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@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@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@redhat.com> - -	* tools/dbus-viewer.c: kind of half-ass hook up the option menu. - -2005-01-30  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@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@redhat.com> - -	* doc/TODO, doc/dbus-specification.xml: spec and TODO tweaks -	related to authentication protocol - -2005-01-28  John (J5) Palmieri  <johnp@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@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@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@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@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@redhat.com> -	 -	* dbus/dbus-marshal-validate-util.c: break this out (and fix -	build, apparently - nobody noticed?) -	 -2005-01-26  Havoc Pennington  <hp@redhat.com> - -	* dbus/dbus-marshal-recursive.h: remove todo comment - -2005-01-25  Joe Shaw  <joeshaw@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@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@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@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@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@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@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@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@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@redhat.com> - -	* dbus/dbus-sysdeps.c (_dbus_poll): amazingly, trying to compile -	code can reveal bugs in it - -2005-01-20  Havoc Pennington  <hp@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@redhat.com> - -	* doc/dbus-tutorial.xml: replace > with > - -	* 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@redhat.com> - -	* rename dbus-daemon-1 to dbus-daemon throughout - -2005-01-18  Havoc Pennington  <hp@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@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@redhat.com> - -	* doc/dbus-specification.xml: partially update spec - -2005-01-17  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@novell.com> - -	* NEWS: Update for 0.23. - -	* configure.in: Release 0.23. - -2005-01-12  Joe Shaw  <joeshaw@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@novell.com> - -	Patch from Sjoerd Simons <sjoerd@luon.net> - -	* mono/Makefile.am, mono/example/Makefile.am: Don't redefine -	DESTDIR.  It breaks stuff. - -2005-01-11  Joe Shaw  <joeshaw@novell.com> - -	Patch from Tambet Ingo <tambet@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@novell.com> - -	Patch from Timo Teräs <ext-timo.teras@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@redhat.com> - -	* dbus/dbus-internals.h: I'm an idiot, _dbus_assert certainly can -	return -	 -2004-12-26  Havoc Pennington  <hp@redhat.com> - -	* dbus/dbus-internals.h: add _DBUS_GNUC_NORETURN to _dbus_assert - -2005-01-03  Havoc Pennington  <hp@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@redhat.com> - -	* dbus/dbus-internals.h (_DBUS_ALIGN_OFFSET): new macro - -2005-01-01  Havoc Pennington  <hp@redhat.com> - -	* configure.in: add -Wfloat-equal - -2005-01-01  Havoc Pennington  <hp@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@redhat.com> - -	* dbus/dbus-string.c (_dbus_string_equal_substrings): new function -	I keep wishing I had - -2004-12-30  John (J5) Palmieri  <johnp@redhat.com> - -	* python/dbus.py: s/ACTIVATION_REPLY_ACTIVE/ACTIVATION_REPLY_ACTIVATED - -2004-12-30  John (J5) Palmieri  <johnp@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@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@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@redhat.com> -	* Patch from Rob Taylor <robtaylor@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@users.sourceforge.net> - -	* dbus/make-dbus-glib-error-enum.sh: omit the function keyword for -	better POSIX compliance. - -2004-12-19  Havoc Pennington  <hp@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@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@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@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@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@redhat.com> - -	* test/glib/test-profile.c: clean up how the fake_malloc_overhead -	thing was implemented - -2004-11-26  Havoc Pennington  <hp@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@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@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@redhat.com> - -	* dbus/dbus-threads.c (init_global_locks): forgot to put the -	message cache lock here - -2004-11-26  Havoc Pennington  <hp@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@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@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@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@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@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@verbum.org> - -	* dbus/dbus-spawn.c (check_babysit_events): Handle EINTR, -	for extra paranoia. - -2004-11-09  Colin Walters  <walters@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@verbum.org> - -	* dbus/dbus-transport-unix.c (do_authentication): Always -	initialize auth_completed. -	 -2004-11-07  Colin Walters  <walters@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@verbum.org> - -	* bus/selinux.c (bus_selinux_pre_init): Kill some unused -	variables. -	 -2004-11-03  Colin Walters  <walters@verbum.org> - -	* bus/test-main.c (test_pre_hook): Fix test logic, -	thanks Joerg Barfurth <Joerg.Barfurth@Sun.COM>. - -2004-11-02  Colin Walters  <walters@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@discobabe.net> - -	Patch from Johan Fischer <linux@fischaz.com> -	 -	* mono/doc/Makefile.am (install-data-local): Added directory -	install for DESTDIR - -2004-10-29  Colin Walters  <walters@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@redhat.com> - -	Patch from Ed Catmur <ed@catmur.co.uk> - -	* mono/doc/Makefile.am (install-data-local): Handle -	DESTDIR. - -2004-10-29  Colin Walters  <walters@redhat.com> - -	* bus/.cvsignore, qt/.cvsignore: Update. - -2004-10-29  Colin Walters  <walters@redhat.com> - -	Patch from Kristof Vansant <de_lupus@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@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@redhat.com> - -	Patch from Matthew Rickard <mjricka@epoch.ncsc.mil> - -	* bus/services.c (bus_registry_acquire_service):  -	Correctly retrieve service name from DBusString -	for printing. - -2004-10-29  Colin Walters  <walters@redhat.com> - -	* dbus/dbus-glib.h: Update documentation to not -	refer to internal APIs. - -2004-10-27  Joe Shaw  <joeshaw@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@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@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@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@verbum.org> - -	* bus/selinux.c (bus_selinux_enabled): Handle -	--disable-selinux case. -	 -2004-10-18  Colin Walters  <walters@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@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@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@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@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@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@ximian.com> - -	Patch from Nat Friedman <nat@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@. - -	* test/Makefile.am: "make distcheck" fixes. - -2004-09-17  Olivier Andrieu  <oliv__a@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@fubar.dk> - -	* python/dbus_bindings.pyx.in: Add support for int64 and uint64 - -2004-09-12  David Zeuthen  <david@fubar.dk> - -	Patch from Kay Sievers <kay.sievers@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@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@kdevelop.org> - -	* qt/connection.*: Applied patch by Jérôme Lodewyck -	<lodewyck@clipper.ens.fr> to integrate an existing -	connection into the Qt eventloop - -2004-08-30  Jon Trowbridge  <trow@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@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@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@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@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@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@redhat.com> - -	Updated SELinux support from Matthew Rickard <mjricka@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@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@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@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@redhat.com> - -	* NEWS: update for 0.22 - -	* configure.in: release 0.22 - -2004-08-11  Colin Walters  <walters@redhat.com> - -	* tools/dbus-send.c (main, usage): Add --reply-timeout -	argument. - -2004-08-10  Olivier Andrieu  <oliv__a@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@redhat.com> - -	* doc/dbus-tutorial.xml: add some more info on GLib bindings - -2004-08-09  Havoc Pennington  <hp@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@redhat.com> - -	* README: added documentation for the --enable-python  -	configure switch. - -2004-07-31  Olivier Andrieu  <oliv__a@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@redhat.com> - -	* configure.in: Move #error in SELinux check to its own line. - -2004-07-31  Olivier Andrieu  <oliv__a@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@redhat.com> - -	* bus/selinux.c <HAVE_SELINUX>: Include utils.h to get -	BUS_SET_OOM. - -2004-07-31  Colin Walters  <walters@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@redhat.com> - -	SELinux support from Matthew Rickard <mjricka@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@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@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@redhat.com> - -	* AUTHORS: add some people, not really comprehensively, let me -	know if I missed you - -2004-07-24  Havoc Pennington  <hp@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@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@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@users.sourceforge.net> - -	* dbus/dbus-message.c: Message counter fix, patch by Christian -	Hammond <chipx86@gnupdate.org> - -2004-07-18  Seth Nickell  <seth@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@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@gnome.org> - -	* python/examples/Makefile.am: - -	Fix distcheck breakage caused by new examples. - -2004-07-10  Seth Nickell  <seth@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@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@redhat.com> - -	* python/Makefile.am: switched include directory from glib/ to dbus/ -	since dbus-glib.h moved -  -2004-06-22  Olivier Andrieu  <oliv__a@users.sourceforge.net> - -	* configure.in: prevent building the gcj stuff and libxml loader -	since they are broken. - -2004-06-20  Havoc Pennington  <hp@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@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@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@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@redhat.com> - -	* doc/TODO: remove auto-activation item since it's done; sort -	items by importance/milestone - -2004-06-07  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@gnome.org> - -	* python/examples/Makefile.am: - -	Forget to add Makefile.am. Do not pass go. - -2004-05-28  Michael Meeks  <michael@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@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@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@redhat.com> - -	* tools/dbus-monitor.c (main): Monitor all types of messages. - -2004-05-23  Owen Fraser-Green  <owen@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@redhat.com> -  -        Patch from Timo Teräs <ext-timo.teras@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@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@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@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@discobabe.net> - -	* HACKING: Updated release instructions concerning the wiki page. - -2004-05-18  Kristian Høgsberg  <krh@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@redhat.com> - -	Remove base64 encoding, replace with hex encoding. Original patch -	from trow@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@users.sourceforge.net> - -	* dbus/dbus-connection.c (check_for_reply_unlocked): plug a memory -	leak. - -2004-05-15  Owen Fraser-Green  <owen@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@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@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@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@discobabe.net> - -	* mono/Makefile.am: Removed test-dbus-sharp.exe from all target - -2004-05-01  Owen Fraser-Green  <owen@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@discobabe.net> - -	* dbus-sharp.pc.in: Modified to include include Libs and Requires -	field - -2004-04-25  Kristian Høgsberg  <krh@redhat.com> - -	* test/data/valid-messages/standard-*.message: Update message -	test scripts to new header field names. - -2004-04-22  John (J5) Palmieri  <johnp@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@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@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@redhat.com> - -	* dbus/dbus-transport-unix.c (unix_do_iteration): Rewrite to use -	_dbus_poll() instead of select(). - -2004-04-15  Jon Trowbridge  <trow@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@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@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@users.sourceforge.net> - -	* test/glib/test-dbus-glib.c (timed_exit): fail the test after -	a few seconds. - -2004-04-13  Michael Meeks  <michael@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@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@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@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@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@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@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@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@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@redhat.com> - -	* test/test-service.c (main): remove debug spew - -2004-03-21  Olivier Andrieu  <oliv__a@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@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@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@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@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@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@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@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@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@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@gnome.org> - -	* AUTHORS: Reveal my True identity. - -2003-12-17  Mikael Hallendal  <micke@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@imendio.com> - -	* doc/TODO: Added not about better error check of configuration files. - -2003-12-02  Richard Hult  <richard@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@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@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@imendio.com> - -	* bus/*.[ch]: -	* dbus/*.[ch]: -	* glib/*.[ch]: Made ref functions return the pointer - -2003-11-25  Zack Rusin  <zack@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@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@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@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@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@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@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@redhat.com> - -	* dbus/dbus-message.c (get_next_field): delete unused function - -2003-10-28  Havoc Pennington  <hp@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@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@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@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@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@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@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@redhat.com> - -	* bus/bus.c (struct BusContext): remove struct field I didn't mean -	to put there - -2003-10-16  Havoc Pennington  <hp@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@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@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@gnome.org> - -	* python/Makefile.am: - -	Include dbus_h_wrapper.h in the dist tarball. - -2003-10-14  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@redhat.com> - -	* doc/dbus-tutorial.xml: write some stuff - -2003-09-29  Havoc Pennington  <hp@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@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@pobox.com> - -	* HACKING: update to reflect new server - -2003-09-26  Seth Nickell  <seth@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@redhat.com> - -	* bus/session.conf.in: fix my mess - -2003-09-25  Havoc Pennington  <hp@pobox.com> - -	* bus/session.conf.in: fix security policy, reported by Seth Nickell - -2003-09-25  Seth Nickell  <seth@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@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@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@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@pobox.com> - -	* glib/dbus-gproxy.c (dbus_gproxy_manager_filter): implement - -2003-09-23  Havoc Pennington  <hp@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@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@redhat.com> - -	* glib/dbus-gproxy.c (dbus_gproxy_manager_get): implement - -2003-09-21  Seth Nickell  <seth@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@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@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@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@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@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@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@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@pobox.com> - -	* Make Doxygen contented. - -2003-09-07  Havoc Pennington  <hp@pobox.com> - -	* doc/dbus-specification.sgml: more updates - -2003-09-06  Havoc Pennington  <hp@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@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@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@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@pobox.com> - -	* glib/Makefile.am: rearrange a bunch of files and get "make -	check" framework set up - -2003-08-31  Havoc Pennington  <hp@pobox.com> - -	* fix build with --disable-tests - -2003-08-30  Havoc Pennington  <hp@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@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@pobox.com> - -	* dbus/dbus-object-tree.c: write tests and fix the discovered bugs - -2003-08-29  Havoc Pennington  <hp@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@pobox.com> - -	* dbus/dbus-internals.h: fix _DBUS_N_GLOBAL_LOCKS - -2003-08-28  Havoc Pennington  <hp@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@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@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@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@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@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@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@pobox.com> - -	* dbus/dbus-connection.c,  -	dbus/dbus-pending-call.c: Finish the pending call stuff - -2003-08-14  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@pobox.com> - -	* dbus/dbus-connection.c (dbus_connection_register_object): fix -	build - -2003-07-13  Havoc Pennington  <hp@pobox.com> - -	* dbus/dbus-object.h (struct DBusObjectVTable): add padding -	fields to DBusObjectVTable and DBusObjectInfo - -2003-07-12  Havoc Pennington  <hp@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@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@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@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@pobox.com> - -	* real 0.13 release - -2003-09-28  Havoc Pennington  <hp@pobox.com> - -	* doc/Makefile.am (dbus-specification.html): testing a funky hack -	to work with Debian db2html - -2003-09-28  Havoc Pennington  <hp@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@codefactory.se> - -	* doc/TODO: -	* doc/busconfig.dtd: -	Add busconfig DTD. -	 -2003-08-09  Anders Carlsson  <andersca@codefactory.se> - -	* doc/dbus-specification.sgml: -	Add activation reply values. -	 -2003-08-05  Havoc Pennington  <hp@redhat.com> - -	* configure.in: 0.12 - -2003-08-05  Anders Carlsson  <andersca@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@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@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@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@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@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@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@pobox.com> - -	* mono/Connection.cs: set up connection with the glib main loop - -2003-07-01  Havoc Pennington  <hp@redhat.com> - -	* doc/dbus-specification.sgml: clarify the format of a type code, -	change suggested by Jim Blandy - -2003-06-29  Miloslav Trmac  <mitr@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@pobox.com> - -	* mono/*.cs: Use IntPtr.Zero instead of ((IntPtr) 0) - -2003-06-23  Anders Carlsson  <andersca@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@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@pobox.com> - -	* mono/Connection.cs, mono/DBus.cs, mono/Error.cs: -	Start wrapping more stuff. - -2003-06-22  Havoc Pennington  <hp@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@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@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@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@gnu.org> - -	* tools/dbus-monitor.1: Updated. - -	* tools/dbus-send.1: Likewise. - -2003-06-20  Anders Carlsson  <andersca@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@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@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@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@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@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@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@verbum.org> - -	* tools/dbus-monitor.c (main): Fix silly typo (s/--session/--system/). - -2003-05-18  Anders Carlsson  <andersca@codefactory.se> - -	* dbus/dbus-message.c (dbus_message_new): Remove @todo. - -2003-05-17  Colin Walters  <walters@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@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@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@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@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@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@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@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@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@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@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@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@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@pobox.com> - -	* dbus-glib-1.pc.in (Requires): fix dependencies, from -	Anders Gustafsson - -2003-05-04  Havoc Pennington  <hp@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@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@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@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@pobox.com> - -	* tools/Makefile.am, tools/dbus-send.1, tools/dbus-monitor.1: -	add some man pages - -2003-05-03  Colin Walters  <walters@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@redhat.com> - -	* bus/system.conf.in: allow send/receive to/from message bus -	service - -2003-04-30  Havoc Pennington  <hp@redhat.com> - -	* configure.in: print a note when building with unit tests and -	without assertions - -2003-04-30  Havoc Pennington  <hp@redhat.com> - -	* Makefile.am: add a check-local that complains if you didn't -	configure with --enable-tests - -2003-04-29  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@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@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@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@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@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@pobox.com> - -	* doc/dbus-specification.sgml: document the restrictions on -	message and service names - -2003-04-22  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@redhat.com> - -	* configure.in: add another directory to look for qt in. - -2003-04-11  Havoc Pennington  <hp@redhat.com> - -	* AUTHORS: add Colin Walters - -2003-04-11  Havoc Pennington  <hp@redhat.com> - -	* NEWS: update - -	* configure.in: 0.9 - -2003-04-11  Havoc Pennington  <hp@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@redhat.com> - -	* bus/bus.c (bus_context_new): move credentials change after -	creating pidfile - -2003-04-11  Havoc Pennington  <hp@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@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@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@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@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@redhat.com> - -	* doc/dbus-specification.sgml: -	s/org.freedesktop.Broadcast/org.freedesktop.DBus.Broadcast/ - -2003-04-10  Alexander Larsson  <alexl@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@pobox.com> - -	* NEWS: update - -	* configure.in: 0.8 - -2003-04-05  Havoc Pennington  <hp@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@pobox.com> - -	* bus/Makefile.am (install-data-hook): add missing DESTDIR, -	patch from Colin Walters - -2003-04-05  Havoc Pennington  <hp@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@pobox.com> - -	* test/Makefile.am (dist-hook): also dist *.in files - -	* NEWS: update - -	* configure.in: 0.7 - -2003-04-05  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@redhat.com> - -	* bus/main.c (main): fix up the command line arguments to be nicer - -2003-03-31  Havoc Pennington  <hp@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@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@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@pobox.com> - -	* dbus/dbus-string.c (_dbus_string_copy_data_len) -	(_dbus_string_copy_data): new functions - -2003-03-28  Anders Carlsson  <andersca@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@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@redhat.com> - -	* bus/config-loader-libxml.c (bus_config_load): add another error -	check - -2003-03-26  Anders Carlsson  <andersca@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@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@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@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@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@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@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@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@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@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@redhat.com> - -	* bus/policy.c: start sketching code for policy restrictions on -	what connections can do. - -2003-03-18  Havoc Pennington  <hp@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@codefactory.se> - -	* configure.in: 0.6 - -	* NEWS: Update. - -2003-03-17  Havoc Pennington  <hp@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@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@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@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@pobox.com> - -	* dbus/dbus-bus.c (ensure_bus_data): fix double-unref of the data slot - -2003-03-17  Anders Carlsson  <andersca@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@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@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@codefactory.se> - -	* doc/dbus-specification.sgml: -	Document reply message for ActivateService. - -2003-03-16  Anders Carlsson  <andersca@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@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@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@pobox.com> - -	* dbus/dbus-string.c (_dbus_string_validate_utf8): copy in a real -	implementation - -2003-03-16  Anders Carlsson  <andersca@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@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@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@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@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@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@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@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@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@codefactory.se> - -	* bus/dispatch.c (send_service_nonexistent_error): Fix typo. - -2003-03-13  Havoc Pennington  <hp@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@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@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@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@codefactory.se> - -	* dbus/dbus-dict.h: Add DBUS_END_DECLS. - -2003-03-07  Anders Carlsson  <andersca@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@server.home> - -	* configure.in: if we don't have kde-config, disable have_qt. - -2003-03-07  Anders Carlsson  <andersca@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@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@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@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@codefactory.se> - -	* README: Add some things. - -2003-03-04  Anders Carlsson  <andersca@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@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@pobox.com> - -	* dbus/dbus-message.c (decode_header_data): fix to always init -	message_padding, from Benjamin Dauvergne - -2003-03-02  Havoc Pennington  <hp@pobox.com> - -	* configure.in: 0.5 - -	* NEWS: Update. - -2003-03-01  Joe Shaw  <joe@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@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@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@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@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@redhat.com> - -	* dbus/dbus-marshal.c (_dbus_marshal_test): fix to work with DISABLE_ASSERTS - -2003-02-26  Alexander Larsson  <alexl@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@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@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@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@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@pobox.com> - -	* test/Makefile.am (dist-hook): fix dist for test/data/sha-1 - -2003-02-22  Havoc Pennington  <hp@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@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@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@codefactory.se> - -	* dbus/dbus-message.c: (dbus_message_append_nil): -	Fix a silly. - -2003-02-21  Anders Carlsson  <andersca@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@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@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@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@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@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@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@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@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@pobox.com> - -	* AUTHORS: add Alex - -2003-02-17  Havoc Pennington  <hp@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@codefactory.se.> - -	Release 0.4 - -	* NEWS: Update - -2003-02-17  Anders Carlsson  <andersca@codefactory.se> - -	* doc/dbus-specification.sgml: -	Specification updates. - -2003-02-17  Anders Carlsson  <andersca@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@redhat.com> - -	* dbus/dbus-connection.c (_dbus_connection_handler_destroyed_locked): -	Added todo. - -2003-02-17  Anders Carlsson  <andersca@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@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@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@pobox.com> - -	* dbus/dbus-connection.c (dbus_connection_dispatch_message): fix -	backward conditional - -2003-02-16  Alexander Larsson  <alexl@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@redhat.com> - -	* dbus/dbus-hash.c (_dbus_hash_table_unref): -	Actually free keys and values when destroying hashtable. - -2003-02-16  Anders Carlsson  <andersca@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@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@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@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@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@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@kde.org> - -	* qt/dbus-qthread.cpp:  small casting fix - -2003-02-15  Anders Carlsson  <andersca@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@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@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@pobox.com> - -	* dbus/dbus-message.c (dbus_message_new): fool around with the -	docs - -2003-02-14  Havoc Pennington  <hp@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@pobox.com> - -	* dbus/dbus-errors.h (struct DBusError): add a word of padding -	to DBusError - -2003-02-13  Anders Carlsson  <andersca@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@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@codefactory.se> - -	* dbus/dbus-errors.c: -	* dbus/dbus-message.c: -	* dbus/dbus-string.c: -	Documentation fixes. - -2003-02-13  Anders Carlsson  <andersca@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@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@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@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@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@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@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@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@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@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@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@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@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@codefactory.se> - -	* bus/Makefile.am: -	* bus/desktop-file.c: -	* bus/desktop-file.h: -	Add a desktop file parser. - -2003-02-11  Zack Rusin  <zack@kde.org> - -	* qt/message.[h|cpp]: sample implementation -	of the KDE wrapper for DBusMessage - -2003-02-09  Zack Rusin  <zack@kde.org> - -	* test/bus-test.c: make_it_compile -	* doc/dbus-specification.sgml: minimal semantic fix - -2003-02-06  Anders Carlsson  <andersca@codefactory.se> - -	Release 0.3 - -	* NEWS: Update - -2003-02-06  Anders Carlsson  <andersca@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@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@redhat.com> - -	* dbus/dbus-message.c (dbus_message_append_fields): -	Correct docs. - -2003-02-02  Anders Carlsson  <andersca@codefactory.se> - -	* doc/dbus-specification.sgml: -	Update address format section. - -2003-02-02  Anders Carlsson  <andersca@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@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@codefactory.se> - -	* bus/Makefile.am: -	Add libdbus-daemon.la and link to it. - -2003-02-01  James Willcox  <jwillcox@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@codefactory.se> - -	* bus/driver.c: (bus_driver_handle_service_exists): -	Don't unref the incoming message. - -2003-02-02  Anders Carlsson  <andersca@codefactory.se> - -	* dbus/dbus.h: Add dbus-address.h and dbus-bus.h - -2003-02-02  Anders Carlsson  <andersca@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@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@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@redhat.com> - -	* dbus/dbus-message.c (dbus_message_append_fields): -	Add some more doc comments. - -2003-02-01  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@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@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@pobox.com> - -	* dbus/dbus-message.c (check_message_handling): fix assertion -	failure on set_client_serial - -2003-01-28  Havoc Pennington  <hp@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@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@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@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@pobox.com> - -	* test/Makefile.am (dist-hook): fix make distdir - -	* dbus/Makefile.am (TESTS_ENVIRONMENT): fix make check - -2003-01-27  Havoc Pennington  <hp@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@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@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@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@pobox.com> - -	* dbus/dbus-message.c (dbus_message_set_sender): support deleting -	the sender by setting to NULL - -2003-01-26  Havoc Pennington  <hp@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@codefactory.se> - -	* bus/driver.c: (bus_driver_handle_hello), -	(bus_driver_send_welcome_message): -	Plug leaks - -2003-01-26  Anders Carlsson  <andersca@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@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@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@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@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@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@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@codefactory.se> - -	* dbus/dbus-list.c: (alloc_link), (free_link): -	Use a memory pool for the links. - -2003-01-25  Anders Carlsson  <andersca@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@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@pobox.com> - -	* doc/dbus-specification.sgml: add some stuff - -2003-01-22  Havoc Pennington  <hp@pobox.com> - -	* doc/dbus-specification.sgml: Start to document the protocol. - -2003-01-22  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@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@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@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@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@redhat.com> - -        Release 0.2 - -	* NEWS: update - -2003-01-15  Havoc Pennington  <hp@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@redhat.com> - -        Release 0.1. - -	* NEWS: update - -2003-01-15  Havoc Pennington  <hp@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@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@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@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@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@codefactory.se> - -	* dbus/Makefile.am (dbusinclude_HEADERS): Install -	dbus-connection.h - -2003-01-08  Anders Carlsson  <andersca@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@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@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@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@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@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@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@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@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@gtk.org> - -	* dbus/Makefile.am: fixup export-symbols-regex. - -2002-12-27  Anders Carlsson  <andersca@codefactory.se> - -	* acinclude.m4: Add this file and put the -	PKG_CHECK_MODULE macro in it. - -2002-12-27  Anders Carlsson  <andersca@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@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@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@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@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@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@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@kde.org> - -	* qt/dbus-qt.h: adjusted ctor and getter to KDE/Qt conventions - -2002-12-24  Zack Rusin  <zack@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@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@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@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@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@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@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@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@pobox.com> - -	* dbus/dbus-internals.c (_dbus_verbose): fix to not -	always print the first verbose message. - -2002-11-24  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@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@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@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@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@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@codefactory.se> - -	* doc/Makefile.am: -	Fix references so we can distcheck. - -2002-11-21  Havoc Pennington  <hp@redhat.com> - -	* Initial module creation - diff --git a/ChangeLog.pre-1-0 b/ChangeLog.pre-1-0 new file mode 100644 index 00000000..eab5982f --- /dev/null +++ b/ChangeLog.pre-1-0 @@ -0,0 +1,15146 @@ +2006-11-09  John (J5) Palmieri  <johnp@redhat.com> + +	* Released 1.0.0 + +2006-11-09  John (J5) Palmieri  <johnp@redhat.com> + +	* AUTHORS: added Peter and Tor of windows porting fame + +2006-11-08  Havoc Pennington  <hp@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@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@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@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@redhat.com> + +	* AUTHORS: Update with all people listed in the ChangeLog + +2006-11-08  John (J5) Palmieri  <johnp@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@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@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@redhat.com> + +	* bus/bus.c: Missed patch - pass in the context to the directory watch + +2006-11-02  John (J5) Palmieri  <johnp@redhat.com> + +	* Released D-Bus 1.0 RC 3(0.95) + +2006-11-02  John (J5) Palmieri  <johnp@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@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@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@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@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@redhat.com> + +	* bus/dbus-daemon.1.in: document standard_session_servicedirs + +2006-11-01  John (J5) Palmieri  <johnp@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@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@redhat.com> +	 +	* dbus/dbus-connection.c (dbus_connection_open_private): document +	how to choose shared vs. private connections + +2006-10-27  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@redhat.com> + +	* dbus/dbus-connection.h: don't include the watch/timeout +	functions in connection section + +2006-10-21  Havoc Pennington  <hp@redhat.com> + +	* Documentation! Whee! Doxygen now 100% silent. If you make it +	angry again, you will be punished. +	 +2006-10-21  Havoc Pennington  <hp@redhat.com> + +	* More documentation - all public API now documented according to +	Doxygen + +2006-10-21  Havoc Pennington  <hp@redhat.com> + +	* Document a bunch of undocumented stuff +	 +2006-10-21  Havoc Pennington  <hp@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@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@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@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@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@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@redhat.com> + +	* Fix a pile of Doxygen warnings and missing docs + +2006-10-19  John (J5) Palmieri  <johnp@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@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@redhat.com> + +	* configure.in: More fixups for cross compile (Patch from  +	Marco Pracucci <development at pracucci dot com>) + +2006-10-17  Havoc Pennington  <hp@redhat.com> + +	* tools/dbus-send.c (main): don't close shared connection, fix +	from Timo Hoenig + +2006-10-17  Havoc Pennington  <hp@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@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@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@redhat.com> + +	* doc/TODO: Remove the check TODO item + +2006-10-13  John (J5) Palmieri  <johnp@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@redhat.com> + +	* configure.in: when checking for posix getpwnam_r assume true +	for cross compiles + +2006-10-13  John (J5) Palmieri  <johnp@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@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@redhat.com> + +	* configure.in: use AC_TRY_COMPILE for dirfd instead of AC_TRY_RUN + +2006-10-11  John (J5) Palmieri  <johnp@redhat.com> + +	* test/name-test/Makefile.am: don't link against both libdbus and +	libdbus-convenience + +2006-10-11  John (J5) Palmieri  <johnp@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@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@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@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@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@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@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@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@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@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@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@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@redhat.com> + +	* tools/Makefile.am: use @EXPANDED_DATADIR@ instead of @DATADIRNAME@   + +2006-09-17  Havoc Pennington  <hp@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@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@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@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@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@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@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@redhat.com> + +	* Released 1.0 RC 1 (0.93)  + +2006-09-14  John (J5) Palmieri  <johnp@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@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@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@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@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@redhat.com> + +	* remove a bunch of todo items from the 1.0 list + +2006-09-11  John (J5) Palmieri  <johnp@redhat.com> + +	* bus/activation.c, bus/desktop-file.c: Distinguish between OOM and +	key not found + +2006-09-11  John (J5) Palmieri  <johnp@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@redhat.com> + +	* dbus/dbus-marshal-recursive-util.c, dbus/dbus-marshal-recursive.c: +	remove DBusMark + +2006-09-10  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@redhat.com> + +	* configure.in: Fix DBUS_DAEMONDIR to use EXPANDED_BINDIR for the +	default case + +2006-08-25  John (J5) Palmieri  <johnp@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@redhat.com> + +	* doc/dbus-faq.xml, doc/dbus-tutorial.xml: some improvements to +	the docs + +2006-08-18  John (J5) Palmieri  <johnp@redhat.com> + +	* Released 0.92  + +2006-08-18  John (J5) Palmieri  <johnp@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@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@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@atoker.com> + +	* doc/dbus-specification.xml: Fix some minor typos. + +2006-08-17  John (J5) Palmieri  <johnp@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@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@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@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@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@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@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@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@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@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@redhat.com> + +	* configure.in: add a version (>= 2.6.0) check for libxml2 + +2006-08-10  John (J5) Palmieri  <johnp@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@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@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@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@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@redhat.com> + +	* dbus/dbus-object-tree.c (_dbus_object_subtree_new): +	remove dead code + +2006-08-08  John (J5) Palmieri  <johnp@redhat.com> + +	* tools/run-with-tmp-session-bus.sh: use #!/bin/sh instead of +	#!/bin/bash + +2006-08-08  John (J5) Palmieri  <johnp@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@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@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@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@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@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@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@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@redhat.com> + +	* s/D-BUS/D-Bus/g + +2006-08-03  John (J5) Palmieri  <johnp@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@redhat.com> + +	* Released 0.91 + +2006-07-22  John (J5) Palmieri  <johnp@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@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@redhat.com> + +	* Released 0.90 + +2006-07-17  Havoc Pennington  <hp@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@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@redhat.com> + +	* dbus-qt4-1.pc.in, dbus-sharp.pc.in: +	Remove stray files from the stripped bindings + +2006-07-16  Havoc Pennington  <hp@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@redhat.com> + +	* Remove all bindings + +2006-07-13  John (J5) Palmieri  <johnp@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@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@redhat.com> +	* dbus/Makefile.am: add dbus-pending-call-internal.h to the list of +	source files + +2006-07-12  John (J5) Palmieri  <johnp@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@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@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@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@openedhand.com> + +	* glib/dbus-gobject.c: +	Free a leaking GArray (surely not!) in dbus_g_method_return. + +2006-06-14  Ross Burton  <ross@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@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@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@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@trolltech.com> + +	* Released 0.62 + +2006-06-12  Thiago Macieira <thiago.macieira@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@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@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@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@trolltech.com> + +	Patch from Timo Hoenig <thoenig@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@redhat.com> + +	* bus/bus.c: Fix eavesdropping on method calls + +2006-06-07  John (J5) Palmieri  <johnp@redhat.com> + +	* configure.in: +	* dbus/dbus-userdb-util.c: +	Add Solaris console owner patch from Artem Kachitchkine + +2006-06-07  Thiago Macieira <thiago.macieira@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@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@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@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@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@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@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@trolltech.com> + +	* configure.in: Make --disable-qt actually do +          something. Patch inspired by Zack Rusin. + +2006-06-04  Thiago Macieira <thiago.macieira@trolltech.com> + +	* qt/: Update to Subversion r548032. +	This includes a big reorganisation of the files inside the +	subdir. + +2006-05-30  Sjoerd Simons  <sjoerd@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@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@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@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@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@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@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@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@trolltech.com> + +	* qt/dbusidl2cpp.cpp: There's no callAsync. Use the correct +        call. (r535506) + +2006-04-29  Thiago Macieira  <thiago.macieira@trolltech.com> + +	* qt/examples/dbus.cpp: Enhance error messages and use +        QDBusInterfacePtr. + +2006-04-29  Thiago Macieira  <thiago.macieira@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@trolltech.com> + +	* qt/qdbusintegrator.cpp: Fix assertion failure spotted by +	Brad Hards. + +2006-04-28  Robert McQueen  <robot101@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@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@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@debian.org> + +	* qt/Makefile.am: Tweak CLEANFILES from qdbusconnection.moc +	to qdbusconnection_p.moc. + +2006-04-24 John (J5) Palmieri <johnp@redhat.com> + +	* README, INSTALL: Doc fixes +	Patch from Brad Hards <bradh at frogmouth.net> + +2006-04-23  Thiago Macieira  <thiago.macieira@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@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@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@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@redhat.com> + +	* dbus/dbus-connection.c: Fix asserts +	Patch from Tim Moloney <t.moloney at verizon.net> + +2006-04-19  John (J5) Palmieri  <johnp@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@trolltech.com> + +	* INSTALL: fine-tune the requirements for the Qt4 binding. + +2006-04-16  Daniel P. Berrange  <dan@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@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@trolltech.com> + +	* qt/qdbusintegrator.cpp: Work around g++ 3.3 bug. +	  Patch by Stefan Eilers. (r529537) + +2006-04-13  Thiago Macieira  <thiago.macieira@trolltech.com> + +	* qt/qdbusinternalfilters.cpp: Don't show the parent's +  	  contents (r528208) + +2006-04-10  Thiago Macieira  <thiago.macieira@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@hypair.net> for +          spotting this. + +2006-04-10  Thiago Macieira  <thiago.macieira@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@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@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@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@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@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@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@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@openedhand.com> + +	* tools/dbus-print-message.c: +	Add support for object paths and signatures. + +2006-03-06  Sjoerd Simons <sjoerd@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@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@trolltech.com> + +	* test/qt/*: Update the self-tests. + +2006-03-06  Thiago Macieira  <thiago.macieira@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@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@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@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@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@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@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@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@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@redhat.com> + +	* Released 0.61 + +2006-02-24  John (J5) Palmieri  <johnp@redhat.com> +	 +	* proxies.py: Fix the callchain + +2006-02-24  John (J5) Palmieri <johnp@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@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@debian.org> + +	* configure.in: Patch from Debian packages by Sjoerd Simons +	<sjoerd@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@debian.org> + +	* acinclude.m4, configure.in: Patch from Brad Hards +	<bradh@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@debian.org> + +	* dbus/dbus-message.c (dbus_message_iter_get_fixed_array): +	Patch from Rob Taylor <rob.taylor@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@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@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@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@redhat.com> + +	* tools/dbus-launch.c: Fixed sh syntax output + +2006-02-13  Robert McQueen  <robot101@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@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@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@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@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@redhat.com> + +	* tools/dbus-launch.c: Fixed csh syntax output (Bug #5720) + +2006-02-10  John (J5) Palmieri  <johnp@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@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@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@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@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@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@debian.org> + +	* glib/dbus-binding-tool-glib.c: Patch from Rob Taylor +	<rob.taylor@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@debian.org> + +	* dbus/dbus-glib.h, glib/dbus-gproxy.c: Patch from Ricardo Kekki +	<ricardo.kekki@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@debian.org> + +	* glib/dbus-binding-tool-glib.c: Patch from Ricardo Kekki +	<ricardo.kekki@movial.fi> to make dbus-binding-tool heed C symbol name +	annotations when generating glib client bindings. + +2005-12-19 John (J5) Palmieri  <johnp@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@redhat.com> + +	* dbus/dbus-shared.h: add DOxygen markup to quiet warnings + +2005-12-19 John (J5) Palmieri  <johnp@redhat.com>  + +	* dbus/dbus-macros.h: correct DOxygen end of section (s/}@/@}) + +2005-12-19  Ross Burton  <ross@openedhand.com> + +	* doc/dbus-tutorial.xml: +	Document the Glib client-side bindings, and list all possible annotations. + +2005-12-19  John (J5) Palmieri  <johnp@redhat.com> + +	* dbus/bus.c (dbus_bus_release_name): Add documentation + +2005-12-06  Robert McQueen  <robot101@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@redhat.com> + +	* Released 0.60 + +2005-11-30  John (J5) Palmieri  <johnp@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@redhat.com> + +	Patch from Timo Hoenig <thoenig@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@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@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@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@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@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@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@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@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@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@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@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@openedhand.com> + +	* dbus/dbus-marshal-header.c: +	Remove dead code. + +	* glib/dbus-gobject.c: +	Stop compiler warning. + +2005-10-25  Ross Burton  <ross@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@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@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@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@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@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@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@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@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@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@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@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@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@kdevelop.org> +	* dbus/qt: New Qt bindings + +2005-09-12  Waldo Bastian  <bastian@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@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@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@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@novell.com> + +	Patches from James Willcox <snorp@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@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@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@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@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@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@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@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@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@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@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@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@redhat.com> + +	* Release 0.36 + +2005-08-23  Colin Walters  <walters@verbum.org> + +	* test/glib/Makefile.am: Don't multiply-define EXTRA_DIST. + +2005-08-23  John (J5) Palmieri  <johnp@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@redhat.com> + +	* fix a bunch of Doxygen warnings and mistakes + +2005-07-30  Havoc Pennington  <hp@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@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@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@openedhand.com> + +	* dbus/dbus-connection.c: +	Don't create a DBusCondVar which is never used. + +2005-07-27  Ross Burton  <ross@openedhand.com> + +	* dbus/dbus-message.c: +	Reduce the size of the maximum cached message to 10K. + +2005-07-25  Ross Burton  <ross@openedhand.com> + +	* glib/dbus-gproxy.c: +	Remove matches when all proxies are unregistered. + +2005-07-24  Colin Walters  <walters@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@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@interlink.com.au>) + +2005-07-17  John (J5) Palmieri  <johnp@redhat.com> + +	* NEWS: Update to 0.35.2 + +2005-07-17  John (J5) Palmieri  <johnp@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@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@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@verbum.org> + +	* doc/TODO: Add note about convenience wrappers. + +2005-07-15  John (J5) Palmieri  <johnp@redhat.com> + +	* NEWS: Update to 0.35 + +2005-07-15  John (J5) Palmieri  <johnp@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@redhat.com> + +	* glib/example/Makefile.am: Fix a typo which cause make distcheck +	to fail + +2005-07-15  John (J5) Palmieri  <johnp@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@redhat.com> + +	* python/__init__.py: Upped to version (0,42,0) because of +	the API change + +2005-07-15  John (J5) Palmieri  <johnp@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@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@openedhand.com> + +	* glib/dbus-gproxy.c: +	Fix a leak when calling methods via the proxy. + +2005-07-15  Colin Walters  <walters@verbum.org> + +	* bus/selinux.c (bus_selinux_append_context): Wrap in +	HAVE_SELINUX. + +2005-07-14  John (J5) Palmieri  <johnp@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@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@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@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@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@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@verbum.org> + +	Patch from Jim Gettys <Jim.Gettys@hp.com>. + +	* tools/dbus-launch.c: Include sys/select.h. + +2005-07-12  John (J5) Palmieri  <johnp@redhat.com> +	* python/dbus_bindings.pyx.in: removed + +	* python/dbus_bindings.pyx: Added. +	- Fixed some memleaks (patch from  +	Sean Meiners <sean.meiners@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@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@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@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@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@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@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@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@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@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@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@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@verbum.org> + +	* glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller): +	Remove value refcount leak, original patch from Jorn Baayen +	<jorn@openedhand.com>.  Also remove useless extra value in favor +	of prepending to value array directly. + +2005-07-02  Colin Walters  <walters@verbum.org> + +	* glib/dbus-gmain.c (_dbus_gmain_test): Fix test. + +2005-07-01  Colin Walters  <walters@verbum.org> + +	Patch from Jonathan Matthew <jonathan@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@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@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@redhat.com> + +	* configure.in: force check for Python >= 2.4 + +2005-06-29  Colin Walters  <walters@verbum.org> +	 +	Patch from Ross Burton <ross@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@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@redhat.com> + +	* python/dbus_bindings.pyx.in (cunregister_function_handler, +	cmessage_function_handler): Patch from  +	Anthony Baxter <anthony@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@redhat.com> + +	*  dbus/dbus-spawn.c (_dbus_babysitter_unref): kill +	babysitter helper process on last unref, bug #2813. + +2005-06-27  Colin Walters  <walters@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@redhat.com> + +	* doc/dbus-tutorial.xml: fix names of interface/service/path, fix +	from Don Park + +2005-06-26  Colin Walters  <walters@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@verbum.org> +	 +	Patch from Ross Burton <ross@openedhand.com> + +	* glib/dbus-gobject.c (dbus_g_method_return): Free out_sig. + +2005-06-20  Colin Walters  <walters@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@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@verbum.org> + +	Patch suggested by Ross Burton <ross@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@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@verbum.org> + +	* tools/dbus-names-model.c (have_names_notify): Fix call +	to dbus_g_proxy_end_call. +	 +2005-06-17  Colin Walters  <walters@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@verbum.org> + +	* doc/TODO: Update for GLib bindings. +	 +2005-06-16  Colin Walters  <walters@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@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@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@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@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@verbum.org> + +	* glib/dbus-gvalue.c (marshal_basic): Marshal NULL string +	values as the empty string (#2948). +	 +2005-06-16  Colin Walters  <walters@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@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@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@redhat.com> + +	* NEWS: Update to 0.34 + +2005-06-15  David Zeuthen  <davidz@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@redhat.com 2005-05-05 for details. +	 +2005-06-15  John (J5) Palmieri  <johnp@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@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@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@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@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@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@verbum.org> + +	* glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): +	Add missing return statements, noticed by Ross Burton. +	 +2005-06-13  Ross Burton <ross@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@verbum.org> + +	* glib/Makefile.am: Fix thinko in last patch. + +2005-06-13  Colin Walters  <walters@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@verbum.org> + +	Async signals and various bugfixes and testing by +	Ross Burton <ross@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@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@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@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@redhat.com> + +	* python/__init__.py: Python bindings deserve a minor version +	update.  Upped to (0, 40, 2) + +2005-05-24  John (J5) Palmieri  <johnp@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@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@redhat.com> +	 +	* python/dbus_bindings.pyx.in: s/TYPE_PATH/TYPE_OBJECT_PATH + +2005-05-18  Havoc Pennington  <hp@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@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@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@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@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@verbum.org> + +	* dbus/dbus-sysdeps-util.c <!HAVE_POSIX_GETPWNAM_R>: Fix +	compilation error. +	 +2005-05-08  Havoc Pennington  <hp@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@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@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@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@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@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@redhat.com> + +	* NEWS: Update to 0.33 + +2005-04-25  John (J5) Palmieri  <johnp@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@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@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@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@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@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@redhat.com> + +	* doc/TODO: Added an "important for 1.0" item about selinux +	allow/deny messages + +2005-04-13  David Zeuthen  <davidz@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@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@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@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@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@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@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@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@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@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@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@verbum.org> + +	Patch suggested by Inguva Rajasekhar <ringuva@novell.com>. + +	* configure.in: Require GTK+ 2.6. +	 +2005-03-20  Colin Walters  <walters@verbum.org> + +	* Makefile.am (SUBDIRS, DIST_SUBDIRS): Build tools before test. + +2005-03-17  Tom Parker  <palfrey@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@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@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@novell.com> + +	* mono/ProxyBuilder.cs (BuildFinalizer): Fix some invalid IL when +	generating the finalizer.  Fixes from Ben Maurer. + +2005-03-12  Joe Shaw  <joeshaw@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@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@ximian.com> + +2005-03-12  Colin Walters  <walters@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@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@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@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@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@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@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@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@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@tevp.net> + +2005-03-01  Colin Walters  <walters@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@verbum.org> +	 +	* doc/TODO: Remove introspection signature TODO. + +2005-02-27  Colin Walters  <walters@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@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@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@verbum.org> + +	* test/glib/Makefile.am (EXTRA_DIST): Add test-service-glib.xml + +2005-02-24  John (J5) Palmieir  <johnp@redhat.com> + +	* glib/Makefile.am: added dbus-gobject.h to sources list +	so distcheck doesn't fail +	 +2005-02-24  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@verbum.org> + +	* bus/.cvsignore, doc/.cvsignore +	* test/data/valid-service-files/.cvsignore, test/glib/.cvsignore: +	Update. + +2005-02-17  Colin Walters  <walters@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@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@verbum.org> + +	This patch is based on initial work from +	Paul Kuliniewicz <kuliniew@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@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@redhat.com> + +	* dbus/dbus-userdb-util.c (_dbus_user_database_lookup_group): +	properly handle looking up group information by name; fix  +	from j@bootlab.org + +2005-02-13  Havoc Pennington  <hp@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@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@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@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@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@redhat.com> + +	* bus/driver.c (bus_driver_handle_introspect): add introspection +	for bus driver + +2005-02-12  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@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@redhat.com> + +	* s/expected/required/ in a couple places for clarity + +2005-02-07  Colin Walters  <walters@verbum.org> + +	* bus/selinux.c (bus_selinux_allows_send): Handle NULL for +	sender or proposed_recipient. + +2005-02-06  Havoc Pennington  <hp@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@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@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@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@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@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@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@redhat.com> + +	* tools/dbus-viewer.c: kind of half-ass hook up the option menu. + +2005-01-30  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@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@redhat.com> + +	* doc/TODO, doc/dbus-specification.xml: spec and TODO tweaks +	related to authentication protocol + +2005-01-28  John (J5) Palmieri  <johnp@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@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@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@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@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@redhat.com> +	 +	* dbus/dbus-marshal-validate-util.c: break this out (and fix +	build, apparently - nobody noticed?) +	 +2005-01-26  Havoc Pennington  <hp@redhat.com> + +	* dbus/dbus-marshal-recursive.h: remove todo comment + +2005-01-25  Joe Shaw  <joeshaw@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@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@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@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@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@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@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@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@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@redhat.com> + +	* dbus/dbus-sysdeps.c (_dbus_poll): amazingly, trying to compile +	code can reveal bugs in it + +2005-01-20  Havoc Pennington  <hp@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@redhat.com> + +	* doc/dbus-tutorial.xml: replace > with > + +	* 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@redhat.com> + +	* rename dbus-daemon-1 to dbus-daemon throughout + +2005-01-18  Havoc Pennington  <hp@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@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@redhat.com> + +	* doc/dbus-specification.xml: partially update spec + +2005-01-17  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@novell.com> + +	* NEWS: Update for 0.23. + +	* configure.in: Release 0.23. + +2005-01-12  Joe Shaw  <joeshaw@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@novell.com> + +	Patch from Sjoerd Simons <sjoerd@luon.net> + +	* mono/Makefile.am, mono/example/Makefile.am: Don't redefine +	DESTDIR.  It breaks stuff. + +2005-01-11  Joe Shaw  <joeshaw@novell.com> + +	Patch from Tambet Ingo <tambet@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@novell.com> + +	Patch from Timo Teräs <ext-timo.teras@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@redhat.com> + +	* dbus/dbus-internals.h: I'm an idiot, _dbus_assert certainly can +	return +	 +2004-12-26  Havoc Pennington  <hp@redhat.com> + +	* dbus/dbus-internals.h: add _DBUS_GNUC_NORETURN to _dbus_assert + +2005-01-03  Havoc Pennington  <hp@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@redhat.com> + +	* dbus/dbus-internals.h (_DBUS_ALIGN_OFFSET): new macro + +2005-01-01  Havoc Pennington  <hp@redhat.com> + +	* configure.in: add -Wfloat-equal + +2005-01-01  Havoc Pennington  <hp@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@redhat.com> + +	* dbus/dbus-string.c (_dbus_string_equal_substrings): new function +	I keep wishing I had + +2004-12-30  John (J5) Palmieri  <johnp@redhat.com> + +	* python/dbus.py: s/ACTIVATION_REPLY_ACTIVE/ACTIVATION_REPLY_ACTIVATED + +2004-12-30  John (J5) Palmieri  <johnp@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@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@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@redhat.com> +	* Patch from Rob Taylor <robtaylor@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@users.sourceforge.net> + +	* dbus/make-dbus-glib-error-enum.sh: omit the function keyword for +	better POSIX compliance. + +2004-12-19  Havoc Pennington  <hp@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@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@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@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@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@redhat.com> + +	* test/glib/test-profile.c: clean up how the fake_malloc_overhead +	thing was implemented + +2004-11-26  Havoc Pennington  <hp@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@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@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@redhat.com> + +	* dbus/dbus-threads.c (init_global_locks): forgot to put the +	message cache lock here + +2004-11-26  Havoc Pennington  <hp@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@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@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@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@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@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@verbum.org> + +	* dbus/dbus-spawn.c (check_babysit_events): Handle EINTR, +	for extra paranoia. + +2004-11-09  Colin Walters  <walters@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@verbum.org> + +	* dbus/dbus-transport-unix.c (do_authentication): Always +	initialize auth_completed. +	 +2004-11-07  Colin Walters  <walters@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@verbum.org> + +	* bus/selinux.c (bus_selinux_pre_init): Kill some unused +	variables. +	 +2004-11-03  Colin Walters  <walters@verbum.org> + +	* bus/test-main.c (test_pre_hook): Fix test logic, +	thanks Joerg Barfurth <Joerg.Barfurth@Sun.COM>. + +2004-11-02  Colin Walters  <walters@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@discobabe.net> + +	Patch from Johan Fischer <linux@fischaz.com> +	 +	* mono/doc/Makefile.am (install-data-local): Added directory +	install for DESTDIR + +2004-10-29  Colin Walters  <walters@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@redhat.com> + +	Patch from Ed Catmur <ed@catmur.co.uk> + +	* mono/doc/Makefile.am (install-data-local): Handle +	DESTDIR. + +2004-10-29  Colin Walters  <walters@redhat.com> + +	* bus/.cvsignore, qt/.cvsignore: Update. + +2004-10-29  Colin Walters  <walters@redhat.com> + +	Patch from Kristof Vansant <de_lupus@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@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@redhat.com> + +	Patch from Matthew Rickard <mjricka@epoch.ncsc.mil> + +	* bus/services.c (bus_registry_acquire_service):  +	Correctly retrieve service name from DBusString +	for printing. + +2004-10-29  Colin Walters  <walters@redhat.com> + +	* dbus/dbus-glib.h: Update documentation to not +	refer to internal APIs. + +2004-10-27  Joe Shaw  <joeshaw@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@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@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@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@verbum.org> + +	* bus/selinux.c (bus_selinux_enabled): Handle +	--disable-selinux case. +	 +2004-10-18  Colin Walters  <walters@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@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@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@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@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@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@ximian.com> + +	Patch from Nat Friedman <nat@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@. + +	* test/Makefile.am: "make distcheck" fixes. + +2004-09-17  Olivier Andrieu  <oliv__a@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@fubar.dk> + +	* python/dbus_bindings.pyx.in: Add support for int64 and uint64 + +2004-09-12  David Zeuthen  <david@fubar.dk> + +	Patch from Kay Sievers <kay.sievers@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@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@kdevelop.org> + +	* qt/connection.*: Applied patch by Jérôme Lodewyck +	<lodewyck@clipper.ens.fr> to integrate an existing +	connection into the Qt eventloop + +2004-08-30  Jon Trowbridge  <trow@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@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@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@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@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@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@redhat.com> + +	Updated SELinux support from Matthew Rickard <mjricka@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@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@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@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@redhat.com> + +	* NEWS: update for 0.22 + +	* configure.in: release 0.22 + +2004-08-11  Colin Walters  <walters@redhat.com> + +	* tools/dbus-send.c (main, usage): Add --reply-timeout +	argument. + +2004-08-10  Olivier Andrieu  <oliv__a@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@redhat.com> + +	* doc/dbus-tutorial.xml: add some more info on GLib bindings + +2004-08-09  Havoc Pennington  <hp@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@redhat.com> + +	* README: added documentation for the --enable-python  +	configure switch. + +2004-07-31  Olivier Andrieu  <oliv__a@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@redhat.com> + +	* configure.in: Move #error in SELinux check to its own line. + +2004-07-31  Olivier Andrieu  <oliv__a@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@redhat.com> + +	* bus/selinux.c <HAVE_SELINUX>: Include utils.h to get +	BUS_SET_OOM. + +2004-07-31  Colin Walters  <walters@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@redhat.com> + +	SELinux support from Matthew Rickard <mjricka@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@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@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@redhat.com> + +	* AUTHORS: add some people, not really comprehensively, let me +	know if I missed you + +2004-07-24  Havoc Pennington  <hp@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@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@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@users.sourceforge.net> + +	* dbus/dbus-message.c: Message counter fix, patch by Christian +	Hammond <chipx86@gnupdate.org> + +2004-07-18  Seth Nickell  <seth@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@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@gnome.org> + +	* python/examples/Makefile.am: + +	Fix distcheck breakage caused by new examples. + +2004-07-10  Seth Nickell  <seth@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@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@redhat.com> + +	* python/Makefile.am: switched include directory from glib/ to dbus/ +	since dbus-glib.h moved +  +2004-06-22  Olivier Andrieu  <oliv__a@users.sourceforge.net> + +	* configure.in: prevent building the gcj stuff and libxml loader +	since they are broken. + +2004-06-20  Havoc Pennington  <hp@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@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@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@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@redhat.com> + +	* doc/TODO: remove auto-activation item since it's done; sort +	items by importance/milestone + +2004-06-07  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@gnome.org> + +	* python/examples/Makefile.am: + +	Forget to add Makefile.am. Do not pass go. + +2004-05-28  Michael Meeks  <michael@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@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@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@redhat.com> + +	* tools/dbus-monitor.c (main): Monitor all types of messages. + +2004-05-23  Owen Fraser-Green  <owen@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@redhat.com> +  +        Patch from Timo Teräs <ext-timo.teras@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@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@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@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@discobabe.net> + +	* HACKING: Updated release instructions concerning the wiki page. + +2004-05-18  Kristian Høgsberg  <krh@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@redhat.com> + +	Remove base64 encoding, replace with hex encoding. Original patch +	from trow@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@users.sourceforge.net> + +	* dbus/dbus-connection.c (check_for_reply_unlocked): plug a memory +	leak. + +2004-05-15  Owen Fraser-Green  <owen@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@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@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@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@discobabe.net> + +	* mono/Makefile.am: Removed test-dbus-sharp.exe from all target + +2004-05-01  Owen Fraser-Green  <owen@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@discobabe.net> + +	* dbus-sharp.pc.in: Modified to include include Libs and Requires +	field + +2004-04-25  Kristian Høgsberg  <krh@redhat.com> + +	* test/data/valid-messages/standard-*.message: Update message +	test scripts to new header field names. + +2004-04-22  John (J5) Palmieri  <johnp@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@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@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@redhat.com> + +	* dbus/dbus-transport-unix.c (unix_do_iteration): Rewrite to use +	_dbus_poll() instead of select(). + +2004-04-15  Jon Trowbridge  <trow@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@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@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@users.sourceforge.net> + +	* test/glib/test-dbus-glib.c (timed_exit): fail the test after +	a few seconds. + +2004-04-13  Michael Meeks  <michael@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@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@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@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@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@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@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@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@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@redhat.com> + +	* test/test-service.c (main): remove debug spew + +2004-03-21  Olivier Andrieu  <oliv__a@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@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@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@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@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@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@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@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@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@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@gnome.org> + +	* AUTHORS: Reveal my True identity. + +2003-12-17  Mikael Hallendal  <micke@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@imendio.com> + +	* doc/TODO: Added not about better error check of configuration files. + +2003-12-02  Richard Hult  <richard@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@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@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@imendio.com> + +	* bus/*.[ch]: +	* dbus/*.[ch]: +	* glib/*.[ch]: Made ref functions return the pointer + +2003-11-25  Zack Rusin  <zack@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@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@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@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@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@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@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@redhat.com> + +	* dbus/dbus-message.c (get_next_field): delete unused function + +2003-10-28  Havoc Pennington  <hp@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@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@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@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@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@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@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@redhat.com> + +	* bus/bus.c (struct BusContext): remove struct field I didn't mean +	to put there + +2003-10-16  Havoc Pennington  <hp@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@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@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@gnome.org> + +	* python/Makefile.am: + +	Include dbus_h_wrapper.h in the dist tarball. + +2003-10-14  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@redhat.com> + +	* doc/dbus-tutorial.xml: write some stuff + +2003-09-29  Havoc Pennington  <hp@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@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@pobox.com> + +	* HACKING: update to reflect new server + +2003-09-26  Seth Nickell  <seth@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@redhat.com> + +	* bus/session.conf.in: fix my mess + +2003-09-25  Havoc Pennington  <hp@pobox.com> + +	* bus/session.conf.in: fix security policy, reported by Seth Nickell + +2003-09-25  Seth Nickell  <seth@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@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@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@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@pobox.com> + +	* glib/dbus-gproxy.c (dbus_gproxy_manager_filter): implement + +2003-09-23  Havoc Pennington  <hp@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@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@redhat.com> + +	* glib/dbus-gproxy.c (dbus_gproxy_manager_get): implement + +2003-09-21  Seth Nickell  <seth@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@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@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@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@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@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@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@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@pobox.com> + +	* Make Doxygen contented. + +2003-09-07  Havoc Pennington  <hp@pobox.com> + +	* doc/dbus-specification.sgml: more updates + +2003-09-06  Havoc Pennington  <hp@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@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@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@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@pobox.com> + +	* glib/Makefile.am: rearrange a bunch of files and get "make +	check" framework set up + +2003-08-31  Havoc Pennington  <hp@pobox.com> + +	* fix build with --disable-tests + +2003-08-30  Havoc Pennington  <hp@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@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@pobox.com> + +	* dbus/dbus-object-tree.c: write tests and fix the discovered bugs + +2003-08-29  Havoc Pennington  <hp@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@pobox.com> + +	* dbus/dbus-internals.h: fix _DBUS_N_GLOBAL_LOCKS + +2003-08-28  Havoc Pennington  <hp@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@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@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@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@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@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@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@pobox.com> + +	* dbus/dbus-connection.c,  +	dbus/dbus-pending-call.c: Finish the pending call stuff + +2003-08-14  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@pobox.com> + +	* dbus/dbus-connection.c (dbus_connection_register_object): fix +	build + +2003-07-13  Havoc Pennington  <hp@pobox.com> + +	* dbus/dbus-object.h (struct DBusObjectVTable): add padding +	fields to DBusObjectVTable and DBusObjectInfo + +2003-07-12  Havoc Pennington  <hp@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@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@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@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@pobox.com> + +	* real 0.13 release + +2003-09-28  Havoc Pennington  <hp@pobox.com> + +	* doc/Makefile.am (dbus-specification.html): testing a funky hack +	to work with Debian db2html + +2003-09-28  Havoc Pennington  <hp@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@codefactory.se> + +	* doc/TODO: +	* doc/busconfig.dtd: +	Add busconfig DTD. +	 +2003-08-09  Anders Carlsson  <andersca@codefactory.se> + +	* doc/dbus-specification.sgml: +	Add activation reply values. +	 +2003-08-05  Havoc Pennington  <hp@redhat.com> + +	* configure.in: 0.12 + +2003-08-05  Anders Carlsson  <andersca@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@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@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@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@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@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@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@pobox.com> + +	* mono/Connection.cs: set up connection with the glib main loop + +2003-07-01  Havoc Pennington  <hp@redhat.com> + +	* doc/dbus-specification.sgml: clarify the format of a type code, +	change suggested by Jim Blandy + +2003-06-29  Miloslav Trmac  <mitr@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@pobox.com> + +	* mono/*.cs: Use IntPtr.Zero instead of ((IntPtr) 0) + +2003-06-23  Anders Carlsson  <andersca@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@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@pobox.com> + +	* mono/Connection.cs, mono/DBus.cs, mono/Error.cs: +	Start wrapping more stuff. + +2003-06-22  Havoc Pennington  <hp@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@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@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@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@gnu.org> + +	* tools/dbus-monitor.1: Updated. + +	* tools/dbus-send.1: Likewise. + +2003-06-20  Anders Carlsson  <andersca@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@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@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@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@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@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@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@verbum.org> + +	* tools/dbus-monitor.c (main): Fix silly typo (s/--session/--system/). + +2003-05-18  Anders Carlsson  <andersca@codefactory.se> + +	* dbus/dbus-message.c (dbus_message_new): Remove @todo. + +2003-05-17  Colin Walters  <walters@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@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@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@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@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@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@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@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@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@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@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@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@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@pobox.com> + +	* dbus-glib-1.pc.in (Requires): fix dependencies, from +	Anders Gustafsson + +2003-05-04  Havoc Pennington  <hp@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@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@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@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@pobox.com> + +	* tools/Makefile.am, tools/dbus-send.1, tools/dbus-monitor.1: +	add some man pages + +2003-05-03  Colin Walters  <walters@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@redhat.com> + +	* bus/system.conf.in: allow send/receive to/from message bus +	service + +2003-04-30  Havoc Pennington  <hp@redhat.com> + +	* configure.in: print a note when building with unit tests and +	without assertions + +2003-04-30  Havoc Pennington  <hp@redhat.com> + +	* Makefile.am: add a check-local that complains if you didn't +	configure with --enable-tests + +2003-04-29  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@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@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@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@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@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@pobox.com> + +	* doc/dbus-specification.sgml: document the restrictions on +	message and service names + +2003-04-22  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@redhat.com> + +	* configure.in: add another directory to look for qt in. + +2003-04-11  Havoc Pennington  <hp@redhat.com> + +	* AUTHORS: add Colin Walters + +2003-04-11  Havoc Pennington  <hp@redhat.com> + +	* NEWS: update + +	* configure.in: 0.9 + +2003-04-11  Havoc Pennington  <hp@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@redhat.com> + +	* bus/bus.c (bus_context_new): move credentials change after +	creating pidfile + +2003-04-11  Havoc Pennington  <hp@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@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@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@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@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@redhat.com> + +	* doc/dbus-specification.sgml: +	s/org.freedesktop.Broadcast/org.freedesktop.DBus.Broadcast/ + +2003-04-10  Alexander Larsson  <alexl@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@pobox.com> + +	* NEWS: update + +	* configure.in: 0.8 + +2003-04-05  Havoc Pennington  <hp@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@pobox.com> + +	* bus/Makefile.am (install-data-hook): add missing DESTDIR, +	patch from Colin Walters + +2003-04-05  Havoc Pennington  <hp@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@pobox.com> + +	* test/Makefile.am (dist-hook): also dist *.in files + +	* NEWS: update + +	* configure.in: 0.7 + +2003-04-05  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@redhat.com> + +	* bus/main.c (main): fix up the command line arguments to be nicer + +2003-03-31  Havoc Pennington  <hp@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@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@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@pobox.com> + +	* dbus/dbus-string.c (_dbus_string_copy_data_len) +	(_dbus_string_copy_data): new functions + +2003-03-28  Anders Carlsson  <andersca@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@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@redhat.com> + +	* bus/config-loader-libxml.c (bus_config_load): add another error +	check + +2003-03-26  Anders Carlsson  <andersca@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@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@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@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@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@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@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@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@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@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@redhat.com> + +	* bus/policy.c: start sketching code for policy restrictions on +	what connections can do. + +2003-03-18  Havoc Pennington  <hp@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@codefactory.se> + +	* configure.in: 0.6 + +	* NEWS: Update. + +2003-03-17  Havoc Pennington  <hp@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@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@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@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@pobox.com> + +	* dbus/dbus-bus.c (ensure_bus_data): fix double-unref of the data slot + +2003-03-17  Anders Carlsson  <andersca@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@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@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@codefactory.se> + +	* doc/dbus-specification.sgml: +	Document reply message for ActivateService. + +2003-03-16  Anders Carlsson  <andersca@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@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@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@pobox.com> + +	* dbus/dbus-string.c (_dbus_string_validate_utf8): copy in a real +	implementation + +2003-03-16  Anders Carlsson  <andersca@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@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@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@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@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@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@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@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@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@codefactory.se> + +	* bus/dispatch.c (send_service_nonexistent_error): Fix typo. + +2003-03-13  Havoc Pennington  <hp@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@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@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@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@codefactory.se> + +	* dbus/dbus-dict.h: Add DBUS_END_DECLS. + +2003-03-07  Anders Carlsson  <andersca@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@server.home> + +	* configure.in: if we don't have kde-config, disable have_qt. + +2003-03-07  Anders Carlsson  <andersca@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@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@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@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@codefactory.se> + +	* README: Add some things. + +2003-03-04  Anders Carlsson  <andersca@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@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@pobox.com> + +	* dbus/dbus-message.c (decode_header_data): fix to always init +	message_padding, from Benjamin Dauvergne + +2003-03-02  Havoc Pennington  <hp@pobox.com> + +	* configure.in: 0.5 + +	* NEWS: Update. + +2003-03-01  Joe Shaw  <joe@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@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@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@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@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@redhat.com> + +	* dbus/dbus-marshal.c (_dbus_marshal_test): fix to work with DISABLE_ASSERTS + +2003-02-26  Alexander Larsson  <alexl@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@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@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@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@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@pobox.com> + +	* test/Makefile.am (dist-hook): fix dist for test/data/sha-1 + +2003-02-22  Havoc Pennington  <hp@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@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@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@codefactory.se> + +	* dbus/dbus-message.c: (dbus_message_append_nil): +	Fix a silly. + +2003-02-21  Anders Carlsson  <andersca@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@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@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@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@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@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@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@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@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@pobox.com> + +	* AUTHORS: add Alex + +2003-02-17  Havoc Pennington  <hp@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@codefactory.se.> + +	Release 0.4 + +	* NEWS: Update + +2003-02-17  Anders Carlsson  <andersca@codefactory.se> + +	* doc/dbus-specification.sgml: +	Specification updates. + +2003-02-17  Anders Carlsson  <andersca@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@redhat.com> + +	* dbus/dbus-connection.c (_dbus_connection_handler_destroyed_locked): +	Added todo. + +2003-02-17  Anders Carlsson  <andersca@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@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@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@pobox.com> + +	* dbus/dbus-connection.c (dbus_connection_dispatch_message): fix +	backward conditional + +2003-02-16  Alexander Larsson  <alexl@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@redhat.com> + +	* dbus/dbus-hash.c (_dbus_hash_table_unref): +	Actually free keys and values when destroying hashtable. + +2003-02-16  Anders Carlsson  <andersca@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@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@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@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@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@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@kde.org> + +	* qt/dbus-qthread.cpp:  small casting fix + +2003-02-15  Anders Carlsson  <andersca@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@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@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@pobox.com> + +	* dbus/dbus-message.c (dbus_message_new): fool around with the +	docs + +2003-02-14  Havoc Pennington  <hp@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@pobox.com> + +	* dbus/dbus-errors.h (struct DBusError): add a word of padding +	to DBusError + +2003-02-13  Anders Carlsson  <andersca@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@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@codefactory.se> + +	* dbus/dbus-errors.c: +	* dbus/dbus-message.c: +	* dbus/dbus-string.c: +	Documentation fixes. + +2003-02-13  Anders Carlsson  <andersca@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@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@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@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@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@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@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@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@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@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@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@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@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@codefactory.se> + +	* bus/Makefile.am: +	* bus/desktop-file.c: +	* bus/desktop-file.h: +	Add a desktop file parser. + +2003-02-11  Zack Rusin  <zack@kde.org> + +	* qt/message.[h|cpp]: sample implementation +	of the KDE wrapper for DBusMessage + +2003-02-09  Zack Rusin  <zack@kde.org> + +	* test/bus-test.c: make_it_compile +	* doc/dbus-specification.sgml: minimal semantic fix + +2003-02-06  Anders Carlsson  <andersca@codefactory.se> + +	Release 0.3 + +	* NEWS: Update + +2003-02-06  Anders Carlsson  <andersca@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@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@redhat.com> + +	* dbus/dbus-message.c (dbus_message_append_fields): +	Correct docs. + +2003-02-02  Anders Carlsson  <andersca@codefactory.se> + +	* doc/dbus-specification.sgml: +	Update address format section. + +2003-02-02  Anders Carlsson  <andersca@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@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@codefactory.se> + +	* bus/Makefile.am: +	Add libdbus-daemon.la and link to it. + +2003-02-01  James Willcox  <jwillcox@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@codefactory.se> + +	* bus/driver.c: (bus_driver_handle_service_exists): +	Don't unref the incoming message. + +2003-02-02  Anders Carlsson  <andersca@codefactory.se> + +	* dbus/dbus.h: Add dbus-address.h and dbus-bus.h + +2003-02-02  Anders Carlsson  <andersca@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@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@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@redhat.com> + +	* dbus/dbus-message.c (dbus_message_append_fields): +	Add some more doc comments. + +2003-02-01  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@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@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@pobox.com> + +	* dbus/dbus-message.c (check_message_handling): fix assertion +	failure on set_client_serial + +2003-01-28  Havoc Pennington  <hp@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@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@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@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@pobox.com> + +	* test/Makefile.am (dist-hook): fix make distdir + +	* dbus/Makefile.am (TESTS_ENVIRONMENT): fix make check + +2003-01-27  Havoc Pennington  <hp@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@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@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@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@pobox.com> + +	* dbus/dbus-message.c (dbus_message_set_sender): support deleting +	the sender by setting to NULL + +2003-01-26  Havoc Pennington  <hp@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@codefactory.se> + +	* bus/driver.c: (bus_driver_handle_hello), +	(bus_driver_send_welcome_message): +	Plug leaks + +2003-01-26  Anders Carlsson  <andersca@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@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@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@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@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@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@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@codefactory.se> + +	* dbus/dbus-list.c: (alloc_link), (free_link): +	Use a memory pool for the links. + +2003-01-25  Anders Carlsson  <andersca@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@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@pobox.com> + +	* doc/dbus-specification.sgml: add some stuff + +2003-01-22  Havoc Pennington  <hp@pobox.com> + +	* doc/dbus-specification.sgml: Start to document the protocol. + +2003-01-22  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@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@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@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@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@redhat.com> + +        Release 0.2 + +	* NEWS: update + +2003-01-15  Havoc Pennington  <hp@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@redhat.com> + +        Release 0.1. + +	* NEWS: update + +2003-01-15  Havoc Pennington  <hp@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@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@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@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@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@codefactory.se> + +	* dbus/Makefile.am (dbusinclude_HEADERS): Install +	dbus-connection.h + +2003-01-08  Anders Carlsson  <andersca@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@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@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@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@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@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@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@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@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@gtk.org> + +	* dbus/Makefile.am: fixup export-symbols-regex. + +2002-12-27  Anders Carlsson  <andersca@codefactory.se> + +	* acinclude.m4: Add this file and put the +	PKG_CHECK_MODULE macro in it. + +2002-12-27  Anders Carlsson  <andersca@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@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@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@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@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@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@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@kde.org> + +	* qt/dbus-qt.h: adjusted ctor and getter to KDE/Qt conventions + +2002-12-24  Zack Rusin  <zack@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@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@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@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@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@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@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@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@pobox.com> + +	* dbus/dbus-internals.c (_dbus_verbose): fix to not +	always print the first verbose message. + +2002-11-24  Havoc Pennington  <hp@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@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@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@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@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@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@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@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@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@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@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@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@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@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@codefactory.se> + +	* doc/Makefile.am: +	Fix references so we can distcheck. + +2002-11-21  Havoc Pennington  <hp@redhat.com> + +	* Initial module creation + diff --git a/NEWS.pre-1-0 b/NEWS.pre-1-0 new file mode 100644 index 00000000..7105bc51 --- /dev/null +++ b/NEWS.pre-1-0 @@ -0,0 +1,614 @@ +D-Bus 1.0.0 (08 November 2006) +== +- Documents updated with API/ABI garuntees  +- Added missing patch FreeBSD need to run out of the box +- dbus-monitor now has a profile mode +- AUTHORS file updated with names from the ChangeLog +  Thanks to everyone who helped get us here + +D-Bus 1.0 RC 3 (0.95) (02 November 2006) +== +- DBUS_API_SUBJECT_TO_CHANGE no longer needs to be defined when building apps +- ./configure checks now work when cross compiling +- dbus-uuidgen --ensure is now run in the init script so there is no need to +  run it in a post script +- dbus-uuidgen now writes out to /var/lib/dbus to work with systems that do not +  have a writable /etc. Packages should install and own the /var/lib/dbus  +  directory +- recursive locks are now used when dbus_threads_init_default is called +- standard_session_servicedirs tag added to the session.conf +  under a normal build this specifies these service directories: +    /usr/local/share/dbus-1/services +    /usr/share/dbus-1/services +    $HOME/.local/share/dbus-1/services +- fixed crash when a service directory is specified more than once +- fixed a crash in *BSD when watching config directories for changes +- fixed Irix build by using dirp->__dd_fd to get the file descriptor +- cleaned up the LOCAL_CREDS vs CMGCRED credential code so *BSD's don't  +  crash here anymore +- dbus_message_iter_get_array_len deprecated +- cleanup-man-pages.sh added so packagers can clean up Doxygen man page output +  from 7 to 2 megs +- large documentation improvements +- numerous bug fixes + +D-Bus 1.0 RC 2 (0.94) (14 October 2006) +== +- dbus-uuidgen binary added for future remote machine identification +  packagers should call dbus-uuidgen --ensure in their post +- GetMachineId peer method added to the bus API +- dbus_connection_set_route_peer_messages API added to let the bus send +  peer messages directly to an app +- Autolaunch abilities added to dbus-launch with the --autolaunch flag +  This feature allows libdbus to start a session bus if none can be found +  This is an internal feature and should not be used by scripts +  DBUS_SESSION_BUS_ADDRESS is still the correct way to specify a session bus +- dbus-launch now prints out a simple key value pairs instead of shell scripts +  if one of the shell flags aren't used +- support DBUS_BLOCK_ON_ABORT env variable to cause blocking waiting for gdb +- weak ref are now held for shared connections so the right things happen +  this fixes some pretty major bugs with the way connections were handled +- Some refactoring for Windows (doesn't effect Unix) +- Solaris build fixes +- MacOSX build fixes +- Cross compile build fixes.  We now assume getpwnam_r is posix and va_lists +  can be copied by value since we can't check this in a cross compile.  If +  this is not true for a particular target is up to the developer to patch. +- Bug fixing all around + +D-Bus 1.0 RC 1 (0.93) (14 September 2006) +== +- dbus_threads_init_default added for initalizing threads without the need for +  bindings +- Filters are now properly removed +- dbus_connection_open now holds a hard ref to shared connections +- We now print out a warning and do nothing when someone tries to close a  +  shared connection +- The --introspect switch has been added to the bus for printing out  +  introspection data without actually running the bus +- LOCAL_CREDS socket credentials are now supported for systems which  +  support it such as NetBSD +- Generalize kqueue support so it works with NetBSD as well as FreeBSD +- Numerous bug fixes and memory leaks patched + +D-Bus 0.92 (18 August 2006) +== +- Proper thread locking added to pending calls +- Threading semantics changed from init early to init before the second thread +  is started +- Correctly error out when an application tries to acquire or release the +  org.freedesktop.DBus name instead of sending false result codes +- kqueue directory watching code can now be used to monitor config file changes +  on FreeBSD +- --with-dbus-daemondir configure switch added so the daemon can be installed +  separate from the user binaries +- Makefiles fixed for cygwin  +- Various fixes for the ongoing Windows port  +- Fixed docs and comments to use the D-Bus spelling instead of D-BUS +- Many memleaks and bugs fixed + +D-Bus 0.91 (24 July 2006) +== +- Remove some lingering bits left over from the bindings split +- Fix assertion causing D-Bus applications to crash when checks are enabled +- Fix a timeout bug which would block applications from being auto started + +D-Bus 0.90 (17 July 2006) +== +- API/ABI freeze for 1.0 +- Bindings are now split out into seperate packages +- ListActivatableNames added as a method on the bus +- Removed deprecated dbus_connection_disconnect (use dbus_connection_close) +- Shared connections are now unreffed on disconnect +- Fixed pending calls for threaded enviornments +- Pending calls get timed out on connection disconnect +- dbus_connection_send_with_reply returns TRUE and a NULL pending call +  if you call it on a connection object which has been disconnected already +  (it returns FALSE on Out of Memory errors only) +- dbus-monitor now correctly catches methods, not just signals +- dbus-monitor now prints object paths  + +D-BUS 0.62 (12 June 2006) +== +- Doc fixes +- Added support for all data-types for the dbus tools +- Fixed eavesdropping on method calls (dbus-monitor) +- Fixed silent dropping of method calls with interface=NULL +- Fixed console ownership problems in Solaris +- Fixed installation of dbus-signature.h and #include it in dbus/dbus.h +- Flush the user database cache on config reload +- GLib bindings: +  - Fix memory leaks +  - Fix properties in DBusGProxy so that they can be given in any +    order +  - Added lots of assertions to ensure correct use +  - Remove duplicated code +  - Fix static string pointer uses in GPtrArray-based collections +- Python bindings: +  - Remove reference to sys/cdefs.h +- Qt4 bindings: +  - Code reorganized +  - Added the dbusidl2cpp, dbuscpp2xml and dbus tools +  - Added example programs (ping-pong, complex ping-pong, listnames, chat) +  - Updated selftests +  - Fixed compilation and .moc- and .ui-file processing and cleaning +  - Made central classes derive from QObject +  - Enhance error reporting +  - Many bugfixes +- Mono bindings: +  - Minor bugfixes + +D-BUS 0.61 (24 Febuary 2006) +== +- Documentation all around +- dbus-launch now produces correct sh and csh syntax +- Nested arrays now work correctly +- GLib bindings: +  - Inheriting from DBusGProxy is now possible +  - GPtrArrays can now be marshalled +  - org.freedesktop.DBus.GLib.ClientCSymbol annotation added +  - Openning connections to arbitrary addresses now supported +- Python bindings: +  - sender_keyword and path_keyword keywords added to signal listener API +  - Byte types now demarshal to unsigned char +  - calling methods now do the correct thing +- Qt bindings: +  - both Qt3 and Qt4 bindings can be built at the same time +  - Use the standard org.freedesktop.DBus.Method.NoReply annotation  +    for the "async" calls instead of creating one for us. +- Mono bindings: +  - 64bit arch fixes +- Massive bug fixing all around + +D-BUS 0.60 (30 November 2005) +== + +- major ABI/API changes - sonames changed +- RequestName queuing behavior has changed (refer to dbus-specification) +  - DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT has been removed and +    DBUS_NAME_FLAG_ALLOW_REPLACEMENT has been added to the flags +- signals emitted by the bus now show up in the introspect data +- auth EXTERNAL now supported on BSD varients +- ReleaseName method added to the bus to allow a service +  to remove itself as owner of a bus name +- dbus_connection_read_write added for getting messages off the bus  +  in the absence of a mainloop +- Qt4 bindings added and the Qt3 bindings have been depricated +- python bindings: +  - marshal using introspect data if available +  - better exception handling and propigation +  - private connections are now supported +  - UTF-8 cleanups +  - out_signature added to method decorators for specifying +    how the return values should be marshaled +  - sender_keyword added to method decorators for specifying +    and argument to provide the unique name of the method caller +  - async_callbacks added to method decorators  +  - multiple inheritance of classes now supported  +- GLib bindings: +  - respect NoReply annotations +  - dbus_g_method_return_get_reply and dbus_g_method_return_send_reply +    added to the lowlevel code for use when the dbus-glib marshalling +    code is not adiquate +- numerous bug fixes all around + +D-BUS 0.50 (06 September 2005) +=== +This is a minor release from 0.36.2.  The series number has changed  +not because of any technical reasons but as an indication that we +are moving closer to 1.0.  It is hoped that this will be the last +series to see major changes, most of which will be isolated to the +GLib and Python bindings, as we transition to concentrate more on +bug busting and code auditing. + +- D-Bus builds on the Cygwin platform +- Makefile cleanups +- Various bug fixes +- Optimization of the dbus object tree  +- Memleaks and GIL crasher bugs have been fixed in the Python bindings + +D-BUS 0.36.2 (29 August 2005) +=== +- Security: Restrict other users from connecting to another users  +  session bus + +D-BUS 0.36.1 (24 August 2005) +=== +- Python Bindings: +  - fixed to work with hal-device-manager +  - For 64bit builds everything is installed to lib64/python2.4/ +    since Python can't handle multilib + +D-BUS 0.36 (23 August 2005) +=== +- Maximum sized of cached messages have been reduced to 10K +- Match rules now allow matching on arguments inside the message +- introspect.xsl XSLT style sheet added for formatting introspection +  data into XHTML for analysis +- Python bindings: +  - now have working type objects for explicit +    typecasting +  - Variant type has been added +  - Dictionaries, Variants and Arrays can all be passed the signiture or +    type(s) of their children +  - the optional timeout= keyword has been added when making method calls +  - match on args has been implemented +  - a .pth file has been added for dealing with libraries and python files +    being in different directories such as in 64bit installs +  - various bug fixes +- GLib bindings: +  - deeply recursive types now supported +  - many symbols are no longer exported as part of the public API +  - various memleak and other bug fixes + +D-BUS 0.35.2 (17 July 2005) +=== +- Rename Unix Security Context to SELinux Security Context in API +- Fixed more dist errors that distcheck didn't pick up on +- Fixed various bugs in the python bindings that prevented them from working + +D-BUS 0.35.1 (16 July 2005) +=== +- Fixed dist error where python/dbus_bindings.pxd was being shipped  +  instead of dbus_bindings.pxd.in +- Use this instead of the 0.35 tarball  + +D-BUS 0.35 (15 July 2005) +=== +- --with-dbus-user added to the configure scripts for configuring the  +  user the system bus runs on +- --with-console-auth-dir added to configure scripts for configuring the +  directory to look in for console user locks +- service files for auto-starting D-Bus services now has the ability to pass +  in command line arguments to the executable +- Huge auto-start bug squashed which caused some services not to start when +  requested in rapid succession +- SE-Linux security contexts can now be appended to messages for inspection +  by services that enforce their own security policies +- Colin says the GLib binding are ready for general consumption +- New GLib tutorial +- New GLib example code +- Python bindings are now version (0,42,0) +- Python bindings API has changed on the service side +- dbus.service has been split out as a seperate module +- dbus.service.Service is renamed to dbus.service.BusName +- dbus.service.Object has swapped the bus_name and object_path constructor +  parameters to make it easier to do inheritance over the bus +- dbus.glib has been seperated out in order to lessen the dependency on glib +  and to allow other mainloops to be integrated with the bindings including +  a planned generic mainloop for non-gui apps. +- Python bindings now aquire the GIL when calling back into the python +  interpreter.  Fixes crashes when using threading and other random segfaults. +- New Python tutorial +- Numerous D-Bus bug fixes all around + +D-BUS 0.34 (15 June 2005) +=== +- dbus_connection_disconnect is deprecated in favor of dbus_connection_close +- The bus can now use D_NOTIFY (if available) to check when configuration files  +  have changed and reload them +- New dbus_message_has_path/member/interface API added +- The Ping message from the org.freedesktop.DBus.Peer interface is now handled +- Complete glib bindings overhaul (and are still under construction) +- Tutorial now has an updated GLib section  +- GLib bindings can now send/receive hash tables, arrays and other complex types +- Python bindings overhaul (most public facing API's done) +- Python bindings have been split up into separate files +- Python added new type classes for hinting to the marshaler what type +  to send over the wire +- Python bindings now have decorators for specifying exported methods and signals +- Numerous bug fixes + +D-BUS 0.33 (25 Apr 2005) +=== + +- downgrade requirement from GTK+-2.6 to 2.4 for building gtk components +- python binding API's have been overhalled to be more "pythonic" and cleaner +- python bindings now export dbus.version which is set to (0,40,0) +- python bindings now implement the org.freedesktop.DBus.Introspectable interface +- python binding match rules are now more flexable +- make check has been fixed +- many, many major bug fixes + +D-BUS 0.32 (29 Mar 2005) +=== + +- mono bindings now compiles correctly +- mono binding cleanups +- glib bindings generates wrappers for bus methods in dbus-glib-bindings.h +- glib binding cleanus +- users and groups can now be specified by UID and GID in config files +- numerous memory leak fixes +- various other fixes + +D-BUS 0.31 (07 Mar 2005) +=== + +- land the new message args API and recursive type system +- add docs and fixed Doxygen warnings throught source +- split out some functions not needed in libdbus to *-util.c source files +- take out type convienience functions +- libdbus now back below 150K +- booleans are now 32-bit instead of 8-bit +- specification updated +- grand renaming to strip out the use of "service" +  just say "name" instead (or "bus name" when ambiguous) +- rename dbus-daemon-1 to dbus-daemon throughout +- rename activation to auto-start +- auto-start on by default now +- note that libdbus is the low-level API +- python bindings updated to the new API +- mono bindings updated to the new API +- add 16 bit types +- dictionaries are now ARRAYS of DICT_ENTRY +- dbus-glib-tool renamed to dbus-binding-tool +- massive rewrite of the glib bindings +- saner names for the dbus interface, object path and service defines +- new functions for handling type signitures +- bump sonames for libdbus and libdbus-glib +- various small fixes + +D-BUS 0.23 (11 Jan 2005) +=== + +- add setgroups() to drop supplementary groups +- updated SELinux support +- add an "at console" security policy +- fix a bug where org.freedesktop.DBus wasn't recognized as an existing +  service. +- error out if --enable-mono is explicitly set and mono libs can't be found +- set the max_match_rules_per_connection limit from the config file. +- removed dbus_bug_get_with_g_main since it's been replaced by +  dbus_g_bus_get +- fix fd leaks in socket code +- lots and lots of mono binding updates, including fixes to make it +  compatible with Mono 1.1.3 +- added --nofork option to override config file setting at runtime +- added support for int64 and uint64 to the python bindings +- lots of python binding updates +- config file DTD updates +- use SerivceOwnerChanges signal instead of ServiceCreated and +  ServiceDeleted +- fixes to the authentication code +- new init script for Slackware +- print out the pid even when --fork is passed +- increase preallocation sizes in DBusMessage to heavily reduce +  reallocs +- lots of performance enhancements +- lots more small bug fixes + +D-BUS 0.22 +=== + +- add --reply-timeout to dbus-send +- fix a memleak +- fix Solaris/Forte build +- switch to AFL 2.1 rather than 2.0 to address patent termination clause  +  concerns +- add SELinux support +- mostly repair libxml backend for config parser, still doesn't  +  pass out of memory tests +- fix distcheck to include language bindings +- add GetConnectionUnixUser method on bus driver +- also for UnixProcessID +- lots of Python, Mono, other binding fixes +- change GLib bindings to not include dbus/dbus.h (fully encapsulate libdbus) +- pass paths as strings, not arrays of string +- add message signature header field +- cleanups to marshaling code +- clean up authentication code +- reload conf files on SIGHUP +- rename SERVICE/SENDER_SERVICE to DESTINATION/SENDER +- fix circular conf file inclusion +- allow empty arrays +- tons of other small bugfixes + +D-BUS 0.21 +=== + +- implement "auto activation" flag on messages, so the destination  +  service can be launched automatically +- fix a bug in custom type marshaling +- optimize case where multiple apps activate the same service +  (avoid "thundering herd") +- add dynamic service file discovery/reloading +- fix a busy loop when blocking for a reply +- fix a 64-bit crash involving varargs +- fix a bus crash when processing an AcquireService +- allow appending TYPE_BYTE via append_args_valist +- fix dicts-inside-dicts +- enhancements to Python and Qt bindings + +D-BUS 0.20 +=== + +This release lands some very large API changes and numerous bugfixes. +The list of changes is too large to fully document here; please refer +to the documentation, and message-bus-list archives. + +D-BUS 0.13 +=== + +This is probably the last release before landing the large API changes +on the "dbus-object-names" branch. + +- fix system bus to always use filesystem socket; anyone  +  can create any abstract socket, which isn't secure  +  since if you can crash the system bus you'd be able +  to replace it. +- add DTD for configuration file +- improve specification a bit + +D-BUS 0.12 +=== + +- fix "service messagebus status" on Red Hat +- fix demarshaling of DBUS_TYPE_NAMED +- fix "eval `dbus-launch --exit-with-session`" to exit properly +- fix build without --prefix +- useless fooling with Mono bindings +- useless fooling with gcj bindings +- fix srcdir != builddir +- fix various compiler warnings and other issues +- add get/set data to DBusMessage +- fix headers for C++ +- OS X build fixes +- abstract domain sockets support (Linux only) +- add dbus-cleanup-sockets utility for people +  not using linux +- be consistent about defaulting to --session/--system  +  with command line tools +- merge in policies from included config files +- fix build on non-x86 +- docs updates +- lots of other bugfixes + +D-BUS 0.11 +=== + +- add --enable-docs to turn off/on the docbook stuff +  (doesn't cover doxygen stuff yet) +- make people define DBUS_API_SUBJECT_TO_CHANGE +  and read warning in README so they don't  +  expect the API to be frozen already +- rename .pc files to "dbus-1.pc" instead of  +  "dbus-1.0.pc" etc. - this will require changing  +  pkg-config invocations +- some docs cleanups +- add man pages for all executables +- allow send to/from bus driver in the default system.conf +- fix user lookup bug +- implement dbus-launch to launch the session message bus +- fix some thread deadlocks +- some performance profiling/optimization +- add dbus_bus_activate_service() function +- fix some minor bugs here and there +- install Red Hat initscript in the right place + +D-BUS 0.10 +=== + +- reversed order of args to dbus_message_new() +- renamed dbus_message_name_is() and some other +  functions +- change DBusWatch to have dbus_watch_handle()  +  similar to dbus_timeout_handle(), drop  +  connection/server-specific handle routines +- change message serials to be unsigned +- implemented <allow>/<deny>/<limit> features for  +  config file; system bus now has a deny-all policy  +  by default. +- system.conf has <includedir>system.d</includedir> +  so packages can install additions to the default  +  policy to <allow> the messages they need. e.g. +  CUPS might install a cups.conf - see  +  test/data/valid-config-files/system.d/test.conf  +  for an example. +- add timeouts for authentication, activation +- add glib-style "checks" on public API, enable  +  those by default, disable assertions by default +- add GMainContext argument to GLib setup functions,  +  can be NULL for default context. Needed for threads. +- add 64-bit integer type +- validate type of standard message header fields +- consider messages in the org.freedesktop.Local +  namespace to be invalid (to avoid fake disconnect  +  messages for example) +- fix assorted memory leaks and other bugs in  +  the SHA-1 auth mechanism +- cache user database information (groups user is  +  in, etc.) helps a lot with NIS +- always store uid_t, pid_t, gid_t in "ulong"  +  rather than "int" +- implement config file settings for which  +  users can connect +- SHA-1 unit test +- dbus-send, dbus-monitor command line utilities +- fixed lots of misc crashes and other bugs + +D-BUS 0.9 +=== + +- implemented a test case for service activation, +  and fixed many bugs exposed by that +- implemented recursive argument marshaling/demarshaling  +  for messages, allowing multidimensional arrays +- fixed up integration of message dispatch with  +  main loop by adding a callback on change of  +  dispatch status +- add a pidfile feature to daemon +- some build fixes +- clean up unix domain sockets on exit +- add --print-address and the ability  +  to create a random server address  +  in a temporary directory + +D-BUS 0.8 +=== + +- fix dumb bug in 0.7 + +D-BUS 0.7 +=== + +- implement configuration file used to control bus characteristics +- implement daemon mode, changing user ID, and other system +  bus features +- add init scripts for systemwide bus +- add "make check-coverage" target to check test coverage +- more test suite additions +- many, many bugfixes +- many API changes/fixes + +D-BUS 0.6 +=== +- Vastly improved bus daemon test suite +- Lots of misc. bugfixes and memory leak fixes +- Support for marshalling key/value data +- Activation improvements. + +D-BUS 0.5 +=== + +- Specification updates +- port to OS X and other BSD variants +- port to Solaris +- Partial work on cookie-based authentication +- Thread safety fixes +- Lots of misc. bugfixes +- Support for more array types +- Add data slots to DBusServer +- DBusString security audit fixes +- Fix for systems (or valgrind) with unaligned malloc blocks + +D-BUS 0.4 +=== + +- Preliminary activation support. +- Better authentication test suite +- Bus test program +- Specification updates +- Thread safety +- Bug fixes + +D-BUS 0.3 +=== + + - Preliminary limitations  + - Message sending works + - Bus client + - Array marshalling/demarshalling + - Services + - Better OOM handling in the bus + - In-proc debug transport + - Transport/server address support + +D-BUS 0.2 +=== + + - Include test code in the tarball. + +D-BUS 0.1 +=== + + - Initial release.  | 
