* configure.in: add DBUS_BINDIR as a #define to C source code.
[platform/upstream/dbus.git] / ChangeLog
index 14f89ed..55a88c8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,443 @@
+2006-09-30  Thiago Macieira  <thiago@kde.org>
+
+       * configure.in: add DBUS_BINDIR as a #define to C source code.
+
+       * tools/dbus-launch.c
+       * tools/dbus-launch.h
+       * tools/dbus-launch-x11.c:
+       * tools/dbus-launch.1: Add the --autolaunch option to
+       dbus-launch, which makes it scan for an existing session
+       started with --autolaunch. With that option, it also creates
+       an X11 window and saves the bus address and PID to it.
+
+       * dbus/dbus-sysdeps.h:
+       * dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address): Add
+       a function that runs "dbus-launch --autolaunch" to retrieve
+       the running D-Bus session address (or start one if none was running)
+
+       * dbus/dbus-transport.c: Add the handler for the "autolaunch:"
+        address protocol, which tries to get the running session from
+        dbus-launch.
+
+       * dbus/dbus-bus.c:
+       * dbus/dbus-internals.h: Make "autolaunch:" be the default
+       D-Bus session bus address.
+
+       * dbus/dbus-connection.c: Fix horrible typo in error message.
+
+2006-09-18  John (J5) Palmieri  <johnp@redhat.com>
+
+       * tools/Makefile.am: use @EXPANDED_DATADIR@ instead of @DATADIRNAME@  
+
+2006-09-17  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
+       fix so that if unix_user_function is set on windows, we still
+       do the default check that the auth identity matches the bus identity
+
+2006-09-16  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-transport.c (_dbus_transport_open): modify to delegate
+       to _dbus_transport_open_platform_specific,
+       _dbus_transport_open_socket,
+       and _dbus_transport_open_debug_pipe
+
+       * dbus/dbus-transport-protected.h: add _dbus_transport_open_platform_specific
+
+2006-09-16  Havoc Pennington  <hp@redhat.com>
+
+        Attempt auditing public API to remove all cases where a Unix
+       function returns weird emulated goo to Windows. This probably 
+       breaks the bus daemon on Windows, to fix it again we may 
+       need to stop processing unix-specific config options on Windows,
+       and may need to add Windows-specific public API or config options.
+       
+       * configure.in (LT_CURRENT, LT_AGE): increment current and age,
+       to reflect added interfaces; should not break soname.
+       
+       * dbus/dbus-transport.c (_dbus_transport_get_is_authenticated): do
+       not invoke unix user function on Windows. Kind of a hacky fix, but 
+       we don't want a "unix uid" leaking out on Windows.
+
+       * dbus/dbus-connection.c (dbus_connection_get_socket): add new API
+       to get the socket fd on Windows or UNIX
+       (dbus_connection_get_unix_fd): make this always fail on Windows
+
+2006-09-16  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-server.c (dbus_server_listen): change how this works
+       to be able to delegate to a set of handlers that can succeed,
+       fail, or choose not to handle. Allows us to have 
+       dbus_server_listen_platform_specific.
+
+       * dbus/dbus-server-socket.c (_dbus_server_new_for_tcp_socket):
+       factor out the tcp socket stuff to be used on windows, leaving
+       unix domain socket only in dbus-socket-unix.c
+
+       * dbus/dbus-transport-socket.c
+       (_dbus_transport_new_for_tcp_socket): factor out the tcp socket
+       stuff to be used on windows, leaving unix domain socket only 
+       in dbus-transport-unix.c
+
+       * dbus/dbus-connection.c (dbus_connection_get_unix_user): insert
+       temporary hack to be sure this fails on windows
+       (dbus_connection_get_unix_process_id): ditto
+
+2006-09-16  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-sysdeps-unix.c (_dbus_open_tcp_socket) 
+       (_dbus_open_unix_socket, _dbus_open_socket): change API for 
+       _dbus_open_socket so the domain/type/protocol from system headers
+       are not required. This is kind of pointless though unless we move
+       part of _dbus_connect_tcp_socket into sysdeps.c instead of
+       sysdeps-unix.c, which would mean adding a wrapper around
+       bind/listen/etc.
+       Also, add DBusError to the socket-opening functions so they 
+       don't require use of errno.
+
+2006-09-16  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-sysdeps-unix.h: small change to Peter's patch to make
+       dbus-sysdeps-unix-util.c build, add unix-specific sysdeps header.
+
+       * dbus/dbus-sysdeps.h, dbus-sysdeps-unix.c: patch from Peter 
+       Kümmel bug #8249 to make the sysdeps.h read/write/open/close
+       functions specifically for sockets only, and move generic 
+       read/write/open/close into unix-specific code.
+
+2006-09-14  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-transport-unix.c (unix_do_iteration): fix a valgrind
+       complaint about accessing revents when poll returns 0, from Julian Seward.
+
+2006-09-14  John (J5) Palmieri  <johnp@redhat.com>
+
+       * Released 1.0 RC 1 (0.93) 
+
+2006-09-14  John (J5) Palmieri  <johnp@redhat.com>
+
+       * dbus/dbus-sysdeps-util-unix.c (_dbus_write_pid_file):
+       use _dbus_close instead of close
+
+2006-09-14  John (J5) Palmieri  <johnp@redhat.com>
+
+       * dbus/dbus-sysdeps.c: Add support for LOCAL_CREDS socket
+       credentials.  Fixes "external" authentication under e.g. NetBSD
+       which does not support any other socket credentials mechanism.
+       (Patch from Julio M. Merino Vidal  <jmmv at NetBSD dot org>)
+
+2006-09-14  John (J5) Palmieri  <johnp@redhat.com>
+
+       * dbus/dbus-threads.c: Allow recursive mutex's to be passed into
+       dbus_threads_init and be used by the dbus mutex functions to
+       avoid deadlocks.
+
+       * doc/TODO: Remove recursive mutex dbus_connection_dispatch TODO item
+
+2006-09-13  John (J5) Palmieri  <johnp@redhat.com>
+
+       * dbus/dbus-sysdeps-util-unix.c (_dbus_directory_get_next_file):
+       use threadsafe readdir_r instead of readdir
+
+2006-09-13  John (J5) Palmieri  <johnp@redhat.com>
+
+       * dbus-threads.c (dbus_threads_init_default): New method for
+       initializing the internal thread implementation (Patch from
+       Alexander Larsson <alexl at redhat dot com>)
+
+2006-09-11  John (J5) Palmieri  <johnp@redhat.com>
+
+       * remove a bunch of todo items from the 1.0 list
+
+2006-09-11  John (J5) Palmieri  <johnp@redhat.com>
+
+       * bus/activation.c, bus/desktop-file.c: Distinguish between OOM and
+       key not found
+
+2006-09-11  John (J5) Palmieri  <johnp@redhat.com>
+
+       * dbus/dbus-internal.c: Add dbus_is_verbose so we can have more
+       complex debugging code
+
+       * dbus/dbus-marshal-basic.c (_dbus_marshal_read_fixed_multi): Move
+       between the test suite ifdefs
+       (_dbus_verbose_bytes): return if verbosity is not enabled 
+
+2006-09-11  John (J5) Palmieri  <johnp@redhat.com>
+
+       * dbus/dbus-marshal-recursive-util.c, dbus/dbus-marshal-recursive.c:
+       remove DBusMark
+
+2006-09-10  Havoc Pennington  <hp@redhat.com>
+
+       patch mostly by Peter Kümmel, bug #8211
+       
+       * dbus/dbus-sysdeps-unix.c: new file, which splits out
+       unix-specific stuff in dbus-sysdeps.c
+
+       * dbus/dbus-sysdeps.c: don't include any UNIX-only headers, 
+       and move unix-specific stuff to dbus-sysdeps-unix.c
+
+       * configure.in: check HAVE_ERRNO_H
+       
+2006-09-08  John (J5) Palmieri  <johnp@redhat.com>
+
+       * bus/test-main.c (main): Initialize threading during tests
+
+       * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
+       Unlock connection on error
+       (generate_local_error_message): static method for generating
+       an error message when we don't have a message to reply to
+       (_dbus_connection_block_pending_call): Send a disconnect error
+       instead of just a timeout (NULL) when the bus gets disconnected
+       while blocking for a reply.
+       
+2006-09-08  John (J5) Palmieri  <johnp@redhat.com>
+
+       * dbus/dbus-connection.c (dbus_connection_dispatch): Properly remove
+       filters (Patch from Kimmo Hämäläinen 
+       <kimmo dot hamalainen at nokia dot com>)
+
+2006-09-07  John (J5) Palmieri  <johnp@redhat.com>
+
+       * dbus/dbus-connection-internal.h: Add prototype for 
+       _dbus_connection_test_get_locks to remove warning
+
+2006-09-07  John (J5) Palmieri  <johnp@redhat.com>
+
+       * dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): Make sure we
+       close child_err_report_pipe[WRITE_END] on exec (Patch from 
+       Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>)
+
+2006-09-07  John (J5) Palmieri  <johnp@redhat.com>
+
+       * Clean up close calls to use _dbus_close (Patch from 
+       Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>)
+
+2006-09-06  John (J5) Palmieri  <johnp@redhat.com>
+
+       * doc/TODO:
+       - Remove pending call locking todo item
+       - dbus_connection_open now holds hard ref.  Remove todo item
+       - do proper locking on _dbus_bus_check_connection_and_unref
+         and handle DBUS_BUS_STARTER. Remove todo item
+       - Warn on closing of a shared connection.  Remove todo item
+
+       * bus/bus.c, bus/connection.c, bus/dispatch.c, dbus/dbus-bus.c,
+       dbus/dbus-connection.c: Use the dbus_connection_close_internal
+       so we don't get the warning when closing shared connections
+
+       * test/test-service.c, test/test-shell-service.c: Applications
+       don't close shared connections themselves so we unref instead of
+       close
+
+       * test/test-utils.c (test_connection_shutdown): Close the connection
+
+       * dbus/dbus-bus.c (_dbus_bus_check_connection_and_unref): Changed to
+       _dbus_bus_check_connection_and_unref_unlocked since we only call this
+       method on a locked connection.  
+       Make sure we call _dbus_connection_unref_unlocked instead of 
+       dbus_connection_unref also.
+       Handle DBUS_BUS_STARTER correctly
+
+       * dbus/dbus-connection.c (connection_record_shared_unlocked):
+       Mark as shared and hard ref the connection
+       (connection_forget_shared_unlocked): Remove the hard ref from the 
+       connection
+       (_dbus_connection_close_internal_and_unlock):  New internal function
+       which takes a locked connection and unlocks it after closing it
+       (_dbus_connection_close_internal): New internal function which acts
+       like the origonal dbus_connection_close method by grabbing a connection
+       lock and calling _dbus_connection_close_internal_and_unlock
+       (dbus_connection_close): Public close method, warns when the app
+       trys to close a shared connection
+
+2006-09-06  John (J5) Palmieri  <johnp@redhat.com>
+
+       * bus/driver.c:
+       (bus_driver_generate_introspect_string): New method for populating
+       a DBusString with the introspect data
+       (bus_driver_handle_introspect): Move introspect generation code to 
+       bus_driver_generate_introspect_string
+
+       * bus/main.c:
+       (introspect): New function which prints out the intropect data and
+       exits
+       (main): Add a --introspect switch
+
+2006-09-06  John (J5) Palmieri  <johnp@redhat.com>
+
+       * doc/TODO: Removed dtd publishing item.  
+       It seems the dtd has already been added at
+       http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd
+
+2006-09-05  John (J5) Palmieri  <johnp@redhat.com>
+
+       * doc/TODO, various source files: Audited todo's and FIXME's and
+       prepended the ones we should be looking at with 1.0.  Those
+       prepended with 1.0? need clerification or might not be needed
+       for 1.0
+
+2006-09-05  John (J5) Palmieri  <johnp@redhat.com>
+
+       * dbus/dbus-pending-call.c: Add some checks so we don't crash on
+       NULL in the public API (Patch from Kimmo Hämäläinen 
+       <kimmo dot hamalainen at nokia dot com>)
+
+2006-09-05  John (J5) Palmieri  <johnp@redhat.com>
+
+       * configure.in: Fix for OS-X compile time endian issues (patch from
+       Benjamin Reed <ranger at befunk dot com>)
+
+2006-09-05  John (J5) Palmieri  <johnp@redhat.com>
+
+       * configure.in: Check for no-common compiler flag (OS-X fix from
+       Benjamin Reed <ranger at befunk dot com>)
+
+2006-09-01  John (J5) Palmieri  <johnp@redhat.com>
+
+       * tools/dbus-launch.c: Add a sigterm handler (patch from Frederic Crozat
+       <fcrozat at mandriva dot com>)
+
+2006-08-29  Havoc Pennington  <hp@redhat.com>
+
+       * test/test-service.c (path_message_func): fix lack of return value
+
+       * dbus/dbus-sysdeps.c (_dbus_printf_string_upper_bound): fix
+       formatting, remove #ifdef, and fix docs. #ifdef doesn't make
+       any more sense than on anything else in this file.
+       (_dbus_get_tmpdir): add const to return value, and keep the
+       results of the various getenv around in a static variable.
+
+2006-08-29  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-sysdeps-util.c, dbus/dbus-sysdeps-util-unix.c: change
+       from Ralf Habacker to move UNIX-specific sysdeps into a separate file.
+
+2006-08-25  John (J5) Palmieri  <johnp@redhat.com>
+
+       * test/Makefile.am: change find to use syntax that works with non
+       gnu versions of find
+
+2006-08-25  John (J5) Palmieri  <johnp@redhat.com>
+
+       * dbus/dbus-transport.c: fix invalid deref when checking if
+       a vtable method exists (Patch from Christian Ehrlicher 
+       <ch dot ehrlicher at gmx dot de>)
+
+2006-08-25  John (J5) Palmieri  <johnp@redhat.com>
+
+       * configure.in, dbus/Makefile.am, test/name-test/run-test.sh, 
+       test/name-test/Makefile.am: Fixed some issues with getting get dbus 
+       to build with builddir != srcdir (Taken from a patch by Bernard Leak
+       <bernard at brenda-arkle dot demon dot co dot uk>)
+
+2006-08-25  John (J5) Palmieri  <johnp@redhat.com>
+
+       * configure.in: Fix DBUS_DAEMONDIR to use EXPANDED_BINDIR for the
+       default case
+
+2006-08-25  John (J5) Palmieri  <johnp@redhat.com>
+
+       * configure.ac, bus/Makefile.am: Generalize kqueue support so that
+       it works on any system providing this interface, not only FreeBSD.
+       For example, NetBSD. (Patch by Julio M. Merino Vidal  <jmmv at NetBSD dot org>)
+
+2006-08-20  Havoc Pennington  <hp@redhat.com>
+
+       * doc/dbus-faq.xml, doc/dbus-tutorial.xml: some improvements to
+       the docs
+
+2006-08-18  John (J5) Palmieri  <johnp@redhat.com>
+
+       * Released 0.92 
+
+2006-08-18  John (J5) Palmieri  <johnp@redhat.com>
+
+       * dbus/dbus-threads.c (dbus_threads_init): change the documentation
+       to reflect the init late change
+
+       * bus/bus.c (bus_context_new): Check user before we fork so we can
+       print out an error message a user will be able to see
+
+2006-08-18  John (J5) Palmieri  <johnp@redhat.com>
+
+       Patch provided by Ralf Habacker (ralf dot habacker at freenet dot de) 
+
+       * dbus/dbus-sysdeps.c, dbus/dbus-threads.c, dbus/dbus-internals.h:
+       Add two more global locks for use on windows platforms.  These are
+       unused on non-windows platforms but are not ifdefed out to avoid
+       potential bugs (i.e. the few bytes lost does not warrent the extra
+       maintanence and complexity that having seperate sets of locks would
+       cause)
+
+2006-08-18  John (J5) Palmieri  <johnp@redhat.com>
+
+       * bus/services.c (bus_registry_acquire_service): Return an error
+       when an application tries to register the org.freedesktop.DBus Bus Name
+
+       * bus/services.c (bus_registry_release_service): Return an error
+       when an application tries to release the org.freedesktop.DBus Bus Name
+
+2006-08-17  Alp Toker  <alp@atoker.com>
+
+       * doc/dbus-specification.xml: Fix some minor typos.
+
+2006-08-17  John (J5) Palmieri  <johnp@redhat.com>
+
+       * configure.in: use $with_init_scripts instead of $operating_system
+       to determine where to store the pid since the init scripts manipulate 
+       the pid file (patch from Marcelo Ricardo Leitner 
+       <marcelo dot leitner at terra dot com dot br>.  
+
+2006-08-16  John (J5) Palmieri  <johnp@redhat.com>
+
+       * dbus/dbus-threads.c: Add static DBusList *uninitialized_mutex_list and
+       static DBusList *uninitialized_condvar_list to support new late 
+       initialization threading model.  In this model threads can be initialized
+       even after the D-Bus API has been used but still needs to be initialized 
+       before the second thread has been started.  Mutexes and condvar addresses
+       are stored in the two static lists and are replaced with actuall locks
+       when threads are initalized.
+       (_dbus_mutex_new_at_location): New method for creating a mutex and placing
+       the location into the static list
+       (_dbus_mutex_free_at_location): New method for removing a mutex location 
+       from the static list and freeing the mutex
+       (_dbus_condvar_new_at_location): New method for creating a conditional 
+       variable and placing the location into the static list
+       (_dbus_condvar_free_at_location): New method for removing a conditional
+       variable location from the static list and freeing the conditional variable 
+       (init_uninitialized_locks): Atomic method which goes through the static 
+       lists of mutex and condvar location and updates them with actuall locks
+       (init_global_locks): changed to init_locks
+       
+       * dbus/dbus-connection.c:
+       (_dbus_connection_test_get_locks): New method for tests to check connections
+       (_dbus_connection_new_for_transport): Use the new at_location mutex and
+       condvar API
+       (dbus_connection_allocate_data_slot): Pass in the global lock address
+       to _dbus_data_slot_allocator_alloc
+
+       * dbus/dbus-dataslot.c:
+       (_dbus_data_slot_allocator_alloc): Use the address of the mutex
+       instead of the mutex itself
+
+       * dbus/dbus-message.c:
+       (dbus_message_allocate_data_slot): Pass in the global lock address
+       to _dbus_data_slot_allocator_alloc
+
+       * dbus/dbus-pending-call.c:
+       (dbus_pending_call_allocate_data_slot): Pass in the global lock address
+       to _dbus_data_slot_allocator_alloc
+
+       * dbus/dbus-server.c:
+       (_dbus_server_init_base): Use the new at_location mutex API
+       (dbus_server_allocate_data_slot): Pass in the global lock address
+       to _dbus_data_slot_allocator_alloc
+
+       * test/name-test/test-threads-init.c: New test case for late thread
+       initialization
+
 2006-08-14  John (J5) Palmieri  <johnp@redhat.com>
 
        * dbus/dbus-dataslot.c (_dbus_data_slot_allocator_alloc):