History log of /external/dbus/dbus/dbus-bus.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a44d08711c64e7ae807d2b4f181cefa848e2aa32 17-Jun-2010 Will Thompson <will.thompson@collabora.co.uk> Revert "Bug 28460 - Refactored dbus configuration access."

This reverts commit 6f9077ee870ad02119facf83d1293301b4535c3b, which
broke the build on Unix (see previous patch) and introduced a bunch of
warnings.
/external/dbus/dbus/dbus-bus.c
6f9077ee870ad02119facf83d1293301b4535c3b 14-Jun-2010 Ralf Habacker <ralf.habacker@freenet.de> Bug 28460 - Refactored dbus configuration access.

Libdbus uses several config variables. On unix these settings are read from
environment variables by using _dbus_getenv.

On other platforms like wince there are no environment variables available and
_dbus_getenv needs an emulation for those plattforms (see
dbus/dbus-sysdeps-wince-glue.c)

To cleanup this emulation the appended patch adds a config api by adding
_dbus_config_... functions.

Also having all client config related functions listed in one header file
provides a good overview about which config attributes are available.

The default implementation retrieves the config values from environment
variables. For other os this could be easily extended or replaced by.
/external/dbus/dbus/dbus-bus.c
6478ec6949c6bb794237b43d03b68f80eba1288c 13-Jul-2009 Colin Walters <walters@verbum.org> Bug 14259 - Make session address lookup system-dependent

On some platforms such as MacOS X and Windows, we can't depend
on an environment variable to determine the address of the
session bus. Create a sysdep function dbus_lookup_session_address
which can be filled in with platform-specific code.
/external/dbus/dbus/dbus-bus.c
5baf2f856a9c6625993234855b07680da1c8916f 11-Jul-2009 Tobias Mueller <fdo-bugs@cryptobitch.de> Bug 21161 - Update the FSF address

No comment.

Signed-off-by: Colin Walters <walters@verbum.org>
/external/dbus/dbus/dbus-bus.c
fd32a72b2f3855ef551d0063ea1e6bea4554be08 31-May-2008 Colin Walters <walters@verbum.org> Bug 15570: Reset initialized state on dbus_shutdown (Scott James Remnant)

* dbus/dbus-bus.c (addresses_shutdown_func): Reset initialized back
to FALSE after cleaning up the address list so that it will be
reinitialized again if D-Bus is used after dbus_shutdown()
* test/name-test/test-privserver-client.c: Uncomment part of
test which should now pass.
/external/dbus/dbus/dbus-bus.c
52ea0f2cbbf30d7652c38ae5ec89e663ea780b5e 26-Mar-2008 Colin Walters <walters@space-ghost.verbum.private> Set default exit_on_disconnect after registration

2008-03-26 Colin Walters <walters@verbum.org>
Patch from Scott James Remnant <scott@netsplit.com>

* dbus/dbus-bus.c: Set default exit_on_disconnect after registration with
the bus, not before. This ensures that programs which wish to set
exit_on_disconnect to FALSE will not be terminated if the bus exits
during registration. (FDO Bug #15112)
/external/dbus/dbus/dbus-bus.c
f6ec4a80abbfd4e4f4969747c39e625b2689df08 20-Sep-2007 Ryan Lortie <desrt@desrt.ca> Add argument path matching support. Bug #11066.

2007-09-20 Ryan Lortie <desrt@desrt.ca>

* dbus/signals.c (struct DBusMatchRule, bus_match_rule_new,
bus_match_rule_set_arg, bus_match_rule_parse_arg_match,
match_rule_matches): Add support for parsing and matching on
arg0path='/some/path' type rules.

* dbus/signals.h (bus_match_rule_set_arg): change to take const
DBusString instead of const char * for the string to match against.

* dbus/dbus-bus.c: add a quick note to dbus_bus_add_match
documentation about the path matching.

* doc/dbus-specification.xml: add a more detailed description of the
changes here.
/external/dbus/dbus/dbus-bus.c
d012387afef0ba02185ebe27bc6bb15551912e92 14-Jul-2007 Havoc Pennington <hp@redhat.com> 2007-07-13 Havoc Pennington <hp@redhat.com>

* Add indent-tabs-mode: nil to all file headers.
/external/dbus/dbus/dbus-bus.c
54b943432c7c947db88066751dd36a372cc9a618 18-Jun-2007 Havoc Pennington <hp@redhat.com> 2007-06-18 Havoc Pennington <hp@redhat.com>

* doc/dbus-specification.xml: document org.freedesktop.DBus.GetId()

* bus/driver.c (bus_driver_handle_get_id): implement org.freedesktop.DBus.GetId()

* bus/bus.c (bus_context_new): generate a unique ID for each bus context

* dbus/dbus-connection.c (dbus_connection_get_server_id): new function

* dbus/dbus-bus.c (dbus_bus_get_id): new function

* dbus/dbus-server.c (dbus_server_get_id): new function
/external/dbus/dbus/dbus-bus.c
eaefe03a8891b84e3f9e1f99f9098d65567e3092 28-Oct-2006 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
afa4ffbd852686633086569cd34942917c5c49af 21-Oct-2006 Havoc Pennington <hp@redhat.com> 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.
/external/dbus/dbus/dbus-bus.c
f1ca9b89e92de4d876dc5e7e85710c4d2dc87638 17-Oct-2006 Havoc Pennington <hp@redhat.com> 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.
/external/dbus/dbus/dbus-bus.c
7020b573764bb86551d329e867c2e87172424c9b 01-Oct-2006 Havoc Pennington <hp@redhat.com> 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.
/external/dbus/dbus/dbus-bus.c
eb1e11babd60dc618753aaceec14821526c96a14 01-Oct-2006 Havoc Pennington <hp@redhat.com> 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.
/external/dbus/dbus/dbus-bus.c
a2129f7cccaf0265fffe0da79ca0510b6e01131b 01-Oct-2006 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
eef10bc3c4b0a084477e713963d0a3121d652e3c 01-Oct-2006 Havoc Pennington <hp@redhat.com> 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!
/external/dbus/dbus/dbus-bus.c
f6fa010403cb2badd88ce096ae91f664418508d1 30-Sep-2006 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.
/external/dbus/dbus/dbus-bus.c
e001455a0300cc1df17684a028049c8c33e4f575 16-Sep-2006 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
1eae184450a585f10c8988613e0f7259e1d6066a 07-Sep-2006 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
/external/dbus/dbus/dbus-bus.c
2592a2abb26683bf0a2ec23b6aa19dc7bafa5878 14-Aug-2006 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
/external/dbus/dbus/dbus-bus.c
7652304bff969afb3969603149bb385efe861fe8 03-Aug-2006 John (J5) Palmieri <johnp@redhat.com> * s/D-BUS/D-Bus/g
/external/dbus/dbus/dbus-bus.c
b459906a7a6519c034f5882c472f0c945371dfc6 17-Jul-2006 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
/external/dbus/dbus/dbus-bus.c
50f88a0322cee156a5d9737f0987e57b964606cc 07-Jul-2006 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
/external/dbus/dbus/dbus-bus.c
50266d4190c2a9e9f8a58ff2a117103e6183726b 04-May-2006 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
/external/dbus/dbus/dbus-bus.c
f46701b47aa276e552ffa5975c79ad223562170c 26-Feb-2006 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
1ae3003571fdf3061e7fe2a0e66945e2c87089fe 19-Dec-2005 John (J5) Palmieri <johnp@redhat.com> * dbus/bus.c (dbus_bus_release_name): Add documentation
/external/dbus/dbus/dbus-bus.c
1a163e765c0d6a86d2aa2ffb18a1d7e29a052e7a 22-Nov-2005 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
/external/dbus/dbus/dbus-bus.c
b5e4d26adec0a9ec37a1bae7aeb5a68344b78ebf 15-Nov-2005 Robert McQueen <robot101@debian.org> 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.
/external/dbus/dbus/dbus-bus.c
9ad0aafe37b87ddc5d9e885df481b2331fbc5597 26-Sep-2005 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
/external/dbus/dbus/dbus-bus.c
8a56c704ebeb6c433723f1d9a8db13ea06300022 02-Aug-2005 Waldo Bastian <bastian@kde.org> Small docu update
/external/dbus/dbus/dbus-bus.c
c76d24b0072dbe707889bae403668dde0fcd8f9f 01-Aug-2005 Havoc Pennington <hp@redhat.com> some docs cleanups
/external/dbus/dbus/dbus-bus.c
11fd3b965f9c8dc062913d82d6a2cf73b6ba0bda 02-Jun-2005 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
/external/dbus/dbus/dbus-bus.c
7ce7502e1ae23766ba40105327de787c2d1cef9d 25-Feb-2005 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
248895207dc15914ac7970a6d1431308075dca1d 17-Feb-2005 Colin Walters <walters@verbum.org> 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.
(DBUS_INTERFACE_ORG_FREEDESKTOP_DBUS): Rename to DBUS_INTERFACE_DBUS.
(DBUS_INTERFACE_ORG_FREEDESKTOP_INTROSPECTABLE): Rename to
DBUS_INTERFACE_INTROSPECTABLE.
(DBUS_INTERFACE_ORG_FREEDESKTOP_PROPERTIES): Rename to
DBUS_INTERFACE_PROPERTIES.
(DBUS_INTERFACE_ORG_FREEDESKTOP_PEER): Rename to
DBUS_INTERFACE_PEER.
(DBUS_INTERFACE_ORG_FREEDESKTOP_LOCAL):
DBUS_INTERFACE_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.
/external/dbus/dbus/dbus-bus.c
3ed9db546e1143bc9aa2d83a6f423fdd81227352 28-Jan-2005 Havoc Pennington <hp@redhat.com> 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.
/external/dbus/dbus/dbus-bus.c
606eb2106b3d7f5cd36a4f1786d281b771bb1bf7 21-Jan-2005 Havoc Pennington <hp@redhat.com> 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.
/external/dbus/dbus/dbus-bus.c
8873c90f99303f9cc308f15f8d03e637911f5b9e 18-Jan-2005 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
9c3d566e95c9080f6040c64531b0ccae22bd5d74 15-Jan-2005 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
65090abbb9582d25a795f1dd835ea03973be75e7 27-Nov-2004 Havoc Pennington <hp@redhat.com> 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.
/external/dbus/dbus/dbus-bus.c
73a69d496bb26356d684774cd1e98646a443c723 27-Sep-2004 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.
/external/dbus/dbus/dbus-bus.c
43605a6f4e78a8c28afb4b1e924dff0301e0e95c 10-Aug-2004 Havoc Pennington <hp@redhat.com> 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.
/external/dbus/dbus/dbus-bus.c
3abcc7d28d73559c1f6d585c619c7298ff79101e 31-Jul-2004 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.
/external/dbus/dbus/dbus-bus.c
7eb304c54ee8ea6dfa3775cf89d63c39295747a8 22-Jul-2004 Olivier Andrieu <oliv__a@users.sourceforge.net> 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.
/external/dbus/dbus/dbus-bus.c
2779cbf9766859d9fa6f693eb75732d226c496cd 28-Jun-2004 Olivier Andrieu <oliv__a@users.sourceforge.net> * 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
/external/dbus/dbus/dbus-bus.c
7da40340f35b26b83342482aeceacc8ff2d01166 09-Jun-2004 Olivier Andrieu <oliv__a@users.sourceforge.net> 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.
/external/dbus/dbus/dbus-bus.c
a1df3040f29223eddaa3ace0fe018fcb28cddcd9 02-Dec-2003 Richard Hult <richard@imendio.com> 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.
/external/dbus/dbus/dbus-bus.c
75742242000e782719bc1656f0a7da72b059e88e 21-Oct-2003 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
d6e1b2adb3d8e51ce1bb47295cef12d9fe1a15a8 16-Oct-2003 Havoc Pennington <hp@redhat.com> 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.
/external/dbus/dbus/dbus-bus.c
dfd1292d525d01914141cc86013589c6e0ea9d5c 30-Sep-2003 Havoc Pennington <hp@redhat.com> 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
b99e916792a37e3ed85d15c615eddd2a097e4eff 29-Sep-2003 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
c9332907b035b52103c5569119d0a7c9fbcb76ac 22-Sep-2003 Havoc Pennington <hp@redhat.com> 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.
/external/dbus/dbus/dbus-bus.c
25cb861980003f81eade8707bfa1a61c9ece1779 22-Sep-2003 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
5fd1e389e1c1c12ad4a55c2af6abdc8e7a2f6d41 31-Aug-2003 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
8d38a2e2c5dc95de992c4d856ec1b0c0948bca3e 29-Aug-2003 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
95717a938b237d12211935f6a7467ef610288fe5 18-Aug-2003 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
9c5d01f0fe1ba855c0f7518c4f27d75a609b8faa 02-Aug-2003 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
29b65fa3237afe07cdf8acaa9d46c92dbe749fb2 30-Jul-2003 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
6843ad31769c088ca259020fd9ea8dfb3a51f68e 22-Jun-2003 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
e9cb382daf7cef6396d1777c99f27a050f7ad4a8 14-May-2003 James Willcox <jwillcox@gnome.org> 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()
/external/dbus/dbus/dbus-bus.c
c9cd648f115759176d35508e9007dc5520a0dd3f 24-Apr-2003 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
1708094c0e00ab433bb0a51981f8b77d24aee256 09-Apr-2003 Havoc Pennington <hp@redhat.com> 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.
/external/dbus/dbus/dbus-bus.c
fe22b2194d53061fefe64d48ff6a53e6a762279d 08-Apr-2003 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
a7f69a41d5b82eb00da20b661181b490039bb70f 07-Apr-2003 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
f216e81432ddf04889202c33a6e68113f94d7611 03-Apr-2003 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
eeb88949d8d2ca84d9cbe54c07e73b9907d3163e 03-Apr-2003 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
e6809d1a692da3b1127610b527f636743458274b 31-Mar-2003 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
29c71168cd17b11eed65023c97aff401d5305b01 31-Mar-2003 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
d361874ef6a94a61fa3e0534d8352392edf9bbb9 28-Mar-2003 Anders Carlsson <andersca@codefactory.se> 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.
/external/dbus/dbus/dbus-bus.c
ce4fd314c6be9bfee16a172d5ca34e5097d309fc 25-Mar-2003 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
c3af5ccdbc22e8990d04ec2f89ad1f2e053655e9 24-Mar-2003 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
15f02e1071ab14a7bc937cb61a4439a69c14f1a5 17-Mar-2003 Havoc Pennington <hp@redhat.com> 2003-03-16 Havoc Pennington <hp@pobox.com>

* dbus/dbus-bus.c (ensure_bus_data): fix double-unref of the data slot
/external/dbus/dbus/dbus-bus.c
d1f65c6c4f9dd9750f9ad3eda5b590a4ffca6498 16-Mar-2003 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
ebb57e719c32becd95a1efe3dd269c21e5a011b6 16-Mar-2003 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
ce173b29fc1e9432cb5956952afdbe775da12415 16-Mar-2003 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
29560adcc79a259a0be3511c056ee7453aa26c04 13-Mar-2003 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
4a8a03aeb7430a570618ffec08616c4c87c4ee73 16-Feb-2003 Havoc Pennington <hp@redhat.com> 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
/external/dbus/dbus/dbus-bus.c
aa4b4ef5955606659557a40a2220090ee9c108d4 13-Feb-2003 Anders Carlsson <andersca@codefactory.se> 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.
/external/dbus/dbus/dbus-bus.c
6d5d65dba6471a5fc16a0529855c3746f15bf5c6 02-Feb-2003 Anders Carlsson <andersca@codefactory.se> 2003-02-02 Anders Carlsson <set EMAIL_ADDRESS environment variable>

* bus/driver.c: (bus_driver_handle_service_exists):
Simplify the code a bit.

* dbus/dbus-bus.c: (dbus_bus_service_exists):
Fix a silly.
/external/dbus/dbus/dbus-bus.c
dbc4c0ca13fcc1cdf2be6c35a4559bc456243acb 01-Feb-2003 Anders Carlsson <andersca@codefactory.se> 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.
/external/dbus/dbus/dbus-bus.c