1. 19 Mar, 2010 1 commit
  2. 25 Feb, 2010 1 commit
  3. 19 Dec, 2009 1 commit
  4. 30 Nov, 2009 1 commit
  5. 14 Jul, 2009 1 commit
  6. 10 Jul, 2009 1 commit
  7. 20 May, 2009 1 commit
    • Lennart Poettering's avatar
      atomic: implement atomic operations based on gcc's __sync extension · 9293e823
      Lennart Poettering authored
      Newer gccs and intel ccs support a __sync extension for making use of
      atomic operations. This patch replaces the handcrafted x86 atomic
      operation support with usage of __sync.
      __sync is supported by more processors and by more compilers than the
      old assembler code. Also, this extension has been available on gcc for
      quite a while now for x86, so replacing the old assembler code should
      only be a loss when very old compiilers are used.
  8. 03 Oct, 2007 1 commit
  9. 14 Jul, 2007 1 commit
  10. 13 Dec, 2006 1 commit
  11. 15 Nov, 2006 1 commit
    • Havoc Pennington's avatar
      2006-11-14 Havoc Pennington <hp@redhat.com> · dbc061b8
      Havoc Pennington authored
      	* dbus/dbus-internals.c (_dbus_generate_uuid): The spec said the
      	UUID had the timestamp last, but the implementation had it first;
      	move it to last since I think it's a tiny bit nicer (easier to
      	compare at a glance, faster to sort, less code), and will not
      	cause any practical compatibility problems. Also, always convert
      	the timestamp to big endian.
      	* doc/dbus-specification.xml: Clean up the docs on the UUID.
      	* tools/dbus-uuidgen.1: more prominently say it is not suitable
      	as a replacement for regular uuidgen/RFC4122.
  12. 28 Oct, 2006 1 commit
    • Havoc Pennington's avatar
      2006-10-27 Havoc Pennington <hp@redhat.com> · eaefe03a
      Havoc Pennington authored
      	* 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/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
  13. 20 Oct, 2006 1 commit
  14. 17 Oct, 2006 1 commit
  15. 01 Oct, 2006 1 commit
    • Havoc Pennington's avatar
      2006-09-30 Havoc Pennington <hp@redhat.com> · d8155bf5
      Havoc Pennington authored
      	* 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/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
      	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: 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_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/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
  16. 30 Sep, 2006 1 commit
    • Thiago Macieira's avatar
      * configure.in: add DBUS_BINDIR as a #define to C source code. · f6fa0104
      Thiago Macieira authored
      	* 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/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.
  17. 16 Sep, 2006 1 commit
    • Havoc Pennington's avatar
      2006-09-16 Havoc Pennington <hp@redhat.com> · fe4715b6
      Havoc Pennington authored
      	* dbus/dbus-transport.c (_dbus_transport_open): modify to delegate
      	to _dbus_transport_open_platform_specific,
      	and _dbus_transport_open_debug_pipe
      	* dbus/dbus-transport-protected.h: add _dbus_transport_open_platform_specific
  18. 11 Sep, 2006 1 commit
  19. 18 Aug, 2006 1 commit
    • John Palmieri's avatar
      Patch provided by Ralf Habacker (ralf dot habacker at freenet dot de) · 7cd52919
      John Palmieri authored
      * 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
  20. 03 Aug, 2006 1 commit
  21. 26 Feb, 2005 1 commit
    • Havoc Pennington's avatar
      2005-02-26 Havoc Pennington <hp@redhat.com> · ee27481d
      Havoc Pennington authored
      	* 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
      	* 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
  22. 25 Feb, 2005 1 commit
    • Havoc Pennington's avatar
      2005-02-25 Havoc Pennington <hp@redhat.com> · 7ce7502e
      Havoc Pennington authored
      	* 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
  23. 24 Feb, 2005 1 commit
    • Havoc Pennington's avatar
      2005-02-24 Havoc Pennington <hp@redhat.com> · cc73b3da
      Havoc Pennington authored
      	* 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
  24. 11 Feb, 2005 1 commit
    • Havoc Pennington's avatar
      2005-02-10 Havoc Pennington <hp@redhat.com> · aa4f8237
      Havoc Pennington authored
      	* 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
  25. 28 Jan, 2005 1 commit
    • Havoc Pennington's avatar
      2005-01-27 Havoc Pennington <hp@redhat.com> · 3ed9db54
      Havoc Pennington authored
      	* 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.
  26. 17 Jan, 2005 2 commits
    • Havoc Pennington's avatar
      2005-01-16 Havoc Pennington <hp@redhat.com> · 7bf62e31
      Havoc Pennington authored
              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
    • Havoc Pennington's avatar
      2005-01-16 Havoc Pennington <hp@redhat.com> · aad6fa89
      Havoc Pennington authored
      	* 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
  27. 15 Jan, 2005 1 commit
    • Havoc Pennington's avatar
      2005-01-15 Havoc Pennington <hp@redhat.com> · 9c3d566e
      Havoc Pennington authored
      	* 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:
      	* 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
      	* 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/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
  28. 03 Jan, 2005 2 commits
  29. 19 Dec, 2004 1 commit
    • Havoc Pennington's avatar
      2004-12-18 Havoc Pennington <hp@redhat.com> · f3228b47
      Havoc Pennington authored
      	* dbus/dbus-string.c (_dbus_string_validate_ascii): use ISASCII
      	* 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
  30. 26 Nov, 2004 1 commit
    • Havoc Pennington's avatar
      2004-11-26 Havoc Pennington <hp@redhat.com> · a58180de
      Havoc Pennington authored
      	* 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
  31. 09 Sep, 2004 1 commit
  32. 10 Aug, 2004 1 commit
  33. 31 Jul, 2004 1 commit
    • Olivier Andrieu's avatar
      * dbus/dbus-internals.h (_DBUS_SET_OOM): · fabef9f3
      Olivier Andrieu authored
      * bus/utils.h (BUS_SET_OOM): use dbus_error_set_const instead of
      * bus/dispatch.c (check_send_exit_to_service): fix the test case,
      broken by the change in the _SET_OOM macros.
  34. 02 Dec, 2003 1 commit
  35. 21 Oct, 2003 1 commit
    • Havoc Pennington's avatar
      2003-10-20 Havoc Pennington <hp@redhat.com> · 75742242
      Havoc Pennington authored
              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
      	* 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
      	* 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
  36. 16 Oct, 2003 1 commit
    • Havoc Pennington's avatar
      2003-10-16 Havoc Pennington <hp@redhat.com> · d6e1b2ad
      Havoc Pennington authored
      	* 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/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
      	* 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
      	* 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.
  37. 21 Sep, 2003 1 commit
    • Mark McLoughlin's avatar
      2003-09-21 Mark McLoughlin <mark@skynet.ie> · daf8d657
      Mark McLoughlin authored
              * 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.
  38. 17 Sep, 2003 1 commit
    • Havoc Pennington's avatar
      2003-09-15 Havoc Pennington <hp@pobox.com> · 583994cb
      Havoc Pennington authored
      	* 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
              * 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
      	* 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