2003-09-28 Havoc Pennington <hp@pobox.com>
[platform/upstream/dbus.git] / ChangeLog
index 4d526ce..53472d9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,546 @@
+2003-09-28  Havoc Pennington  <hp@pobox.com>
+
+       * configure.in: 0.13
+
+       * doc/Makefile.am (dbus-test-plan.html): accept nonexistence of
+       stylesheet-images for benefit of Debian
+       
+       Change back to using filesystem-linked sockets for the system
+       bus, so only root can create the default system bus address.
+       
+       * bus/system.conf.in: change to use
+       DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
+
+       * dbus/Makefile.am (INCLUDES): remove DBUS_SYSTEM_BUS_PATH define
+       from here.
+
+       * configure.in: define DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
+       here, and AC_DEFINE DBUS_SYSTEM_PATH
+
+2003-08-09  Anders Carlsson  <andersca@codefactory.se>
+
+       * doc/TODO:
+       * doc/busconfig.dtd:
+       Add busconfig DTD.
+       
+2003-08-09  Anders Carlsson  <andersca@codefactory.se>
+
+       * doc/dbus-specification.sgml:
+       Add activation reply values.
+       
+2003-08-05  Havoc Pennington  <hp@redhat.com>
+
+       * configure.in: 0.12
+
+2003-08-05  Anders Carlsson  <andersca@codefactory.se>
+
+       * glib/dbus-gmain.c: (watch_fd_new), (watch_fd_ref),
+       (watch_fd_unref), (dbus_gsource_check), (dbus_gsource_dispatch),
+       (add_watch), (remove_watch), (create_source):
+       Refcount fds, fixes some reentrancy issues.
+       
+2003-07-30  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-bus.c (init_connections_unlocked): fix default system
+       bus address to be abstract if we have abstract sockets
+
+       * NEWS: update
+
+2003-07-28  Havoc Pennington  <hp@redhat.com>
+
+       * bus/messagebus.in: fix to avoid processname/servicename 
+       confusion, from Michael Kearey
+       https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=100965
+       
+2003-07-23  Havoc Pennington  <hp@pobox.com>
+
+       * dbus/dbus-message.c (dbus_message_iter_get_named): 
+       fix from Andy Hanton to remove broken "+1"
+
+2003-07-16  Havoc Pennington  <hp@pobox.com>
+
+       * tools/dbus-launch.c (babysit): close stdout/stderr in the
+       babysitter process, as suggested by Thomas Leonard, so 
+       an "eval `dbus-launch --exit-with-session`" will actually 
+       return
+
+2003-07-16  Havoc Pennington  <hp@pobox.com>
+
+       * configure.in: print out EXPANDED_* variables in the summary at
+       the end; clean up the code that computes EXPANDED_ variables and
+       get the ones using exec_prefix right. Should make things work
+       when you build without --prefix
+
+2003-06-29  Havoc Pennington  <hp@pobox.com>
+
+       * mono/Test.cs (class Test): fire up a main loop and run it
+
+       * mono/DBus.cs (DBus): don't g_thread_init since it can only be
+       done once, the app has to do it
+
+2003-06-26  Havoc Pennington  <hp@pobox.com>
+
+       * mono/Connection.cs: set up connection with the glib main loop
+
+2003-07-01  Havoc Pennington  <hp@redhat.com>
+
+       * doc/dbus-specification.sgml: clarify the format of a type code, 
+       change suggested by Jim Blandy
+
+2003-06-29  Miloslav Trmac  <mitr@volny.cz>
+
+       * doc/Makefile.am:
+       * tools/Makefile.am: Don't assume srcdir == builddir.
+
+       * dbus/dbus-memory.c (dbus_realloc): Don't check guards after shrinking
+       the allocated block.
+       (_dbus_memory_test): New function.
+       * dbus/dbus-test.h: Add _dbus_memory_test ().
+       * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Call it.
+
+       * dbus/dbus-message.c (decode_header_data): Use %.4s instead
+       of %c%c%c%c.
+       (dbus_message_new): Remove obsolete @todo.
+
+       * dbus/dbus-marshal.c (_dbus_marshal_set_int64) 
+       (_dbus_marshal_set_uint64): Fix comment.
+
+       * dbus/dbus-message.c (append_int_field, append_uint_field): Don't
+       hardcode FIELD_REPLY_SERIAL.
+
+       * dbus/dbus-mainloop.c (_dbus_loop_remove_watch)
+       (_dbus_loop_remove_timeout): Cast function pointers to (void *) for %p
+
+       * configure.in: Add -D_POSIX_C_SOURCE=199309L -DBSD_SOURCE to CFLAGS
+       and disable DBUS_USE_ATOMIC_INT_486 when --enable-ansi is used
+
+2003-06-24  Havoc Pennington  <hp@pobox.com>
+
+       * mono/*.cs: Use IntPtr.Zero instead of ((IntPtr) 0)
+
+2003-06-23  Anders Carlsson  <andersca@codefactory.se>
+
+       * configure.in:
+       * gcj/.cvsignore:
+       * gcj/Hello.java:
+       * gcj/Makefile.am:
+       * gcj/TestMessage.java: (TestMessage), (TestMessage.main):
+       * gcj/org/.cvsignore:
+       * gcj/org/Makefile.am:
+       * gcj/org/freedesktop/.cvsignore:
+       * gcj/org/freedesktop/Makefile.am:
+       * gcj/org/freedesktop/dbus/.cvsignore:
+       * gcj/org/freedesktop/dbus/Makefile.am:
+       * gcj/org/freedesktop/dbus/Message.java: (Message),
+       (Message.Message):
+       * gcj/org/freedesktop/dbus/natMessage.cc:
+       Fix the build system.
+       
+2003-06-22  Havoc Pennington  <hp@pobox.com>
+
+       * mono/Connection.cs: add more bindings
+
+       * dbus/dbus-threads.c (dbus_threads_init): allow calling this
+       more than once.
+
+2003-06-22  Havoc Pennington  <hp@pobox.com>
+
+       * mono/Connection.cs, mono/DBus.cs, mono/Error.cs: 
+       Start wrapping more stuff.
+
+2003-06-22  Havoc Pennington  <hp@pobox.com>
+
+       * mono/Message.cs: implement Message.Wrap() that ensures we only
+       have a single C# wrapper per DBusMessage, assuming it works which 
+       it probably doesn't.
+
+       * dbus/dbus-message.c (dbus_message_allocate_data_slot): new
+       (dbus_message_free_data_slot): new
+       (dbus_message_set_data): new
+       (dbus_message_get_data): new
+
+2003-06-22  Havoc Pennington  <hp@pobox.com>
+
+       * dbus/dbus-dataslot.c (_dbus_data_slot_allocator_unref)
+       (_dbus_data_slot_allocator_alloc): rework these to keep a
+       reference count on each slot and automatically manage a global 
+       slot ID variable passed in by address
+       
+       * bus/bus.c: convert to new dataslot API
+
+       * dbus/dbus-bus.c: convert to new dataslot API
+
+       * dbus/dbus-connection.c: convert to new dataslot API
+
+       * dbus/dbus-server.c: convert to new dataslot API
+
+       * glib/dbus-gmain.c: ditto
+
+       * bus/test.c: ditto
+
+       * bus/connection.c: ditto
+
+2003-06-22  Anders Carlsson  <andersca@codefactory.se>
+
+       * configure.in: Add AM_PROG_GCJ and move AM_PROG_LIBTOOL
+       after the gcj checks so that the correct configuration tags
+       will be added to libtool.
+
+       * dbus-glib-1.pc.in: No need to specify any includes since
+       dbus-1.pc.in has those.
+
+2003-06-22  Havoc Pennington  <hp@pobox.com>
+
+       * mono/*, gcj/*, configure.in, Makefile.am: 
+       Check in makefiles and subdirs for mono and gcj bindings. 
+       Neither binding actually exists, just trying to get through 
+       all the build and other boring bits.
+
+2003-06-21  Philip Blundell  <philb@gnu.org>
+
+       * tools/dbus-monitor.1: Updated.
+
+       * tools/dbus-send.1: Likewise.
+
+2003-06-20  Anders Carlsson  <andersca@codefactory.se>
+
+       * dbus/dbus-transport-unix.c (unix_handle_watch): Check 
+       for hangup and error after checking read so we won't discard
+       pending data if both hangup and read are set.
+
+2003-06-19  Philip Blundell  <philb@gnu.org>
+
+       * tools/dbus-print-message.c (print_message): Handle BOOLEAN.
+
+       * tools/dbus-send.c: Accept both --system and --session.
+        
+       * tools/dbus-monitor.c: Same here.
+       
+2003-06-19  Anders Carlsson  <andersca@codefactory.se>
+
+       * glib/dbus-glib.h: Fix so that dbus-glib.h can be used
+       from C++ (Patch by Miloslav Trmac).
+
+2003-06-15  Joe Shaw  <joe@assbarn.com>
+
+       * configure.in: Check for socklen_t.
+
+       * dbus/dbus-sysdeps.c: Define socklen_t if it's not defined.
+
+       * test/test-segfault.c: Add #include <sys/time.h>
+
+       * tools/Makefile.am: Add DBUS_X_CFLAGS to the INCLUDES since
+       dbus-launch needs it.
+
+2003-06-09  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): don't use
+       SUN_LEN, it breaks abstract socket usage
+
+       * dbus/dbus-internals.c (_dbus_verbose_real): only print PID at
+       starts of lines.
+
+2003-06-04  Havoc Pennington  <hp@pobox.com>
+
+       * dbus/dbus-server.c (dbus_server_listen): allow abstract sockets
+       using unix:abstract=/foo, and when listening in a tmpdir
+       i.e. unix:tmpdir=/tmp, always use abstract sockets if we can.
+
+       * dbus/dbus-transport.c (_dbus_transport_open): support
+       unix:abstract=/foo
+
+       * dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
+       support abstract sockets
+
+       * dbus/dbus-transport-unix.c
+       (_dbus_transport_new_for_domain_socket): support abstract sockets
+
+       * dbus/dbus-sysdeps.c (_dbus_connect_unix_socket): add "abstract"
+       toggle as an argument, implement abstract namespace support
+       (_dbus_listen_unix_socket): ditto
+
+       * configure.in: add --enable-abstract-sockets and implement 
+       a configure check for autodetection of the right value.
+
+2003-06-01  Havoc Pennington  <hp@pobox.com>
+
+       * tools/dbus-cleanup-sockets.c: add utility to clean up sockets 
+       in /tmp (though on Linux this will end up being useless, 
+       when we add abstract namespace support)
+
+       * configure.in: define DBUS_SESSION_SOCKET_DIR in addition to
+       subst'ing it
+
+2003-05-28  Colin Walters  <walters@verbum.org>
+
+       * tools/dbus-monitor.c (main): Fix silly typo (s/--session/--system/).
+
+2003-05-18  Anders Carlsson  <andersca@codefactory.se>
+
+       * dbus/dbus-message.c (dbus_message_new): Remove @todo.
+
+2003-05-17  Colin Walters  <walters@gnu.org>
+
+       * tools/dbus-send.c: Don't exit with an error code if --help was
+       passed.  Default to using the session bus instead of the system
+       one.
+       
+       * tools/dbus-launch.c: Ditto. 
+
+       * tools/dbus-monitor.c: Ditto.
+
+       * tools/dbus-send.1: Update with new arguments.
+       
+       * tools/dbus-launch.c: Emit code to export variables.  New
+       arguments -s and -c to specify shell syntax, and a bit of code to
+       autodetect syntax.  Also, allow specifying a program to run.
+       
+       * tools/dbus-launch.1: Update with new arguments.
+       
+       * tools/dbus-send.1: Ditto.
+
+       * tools/dbus-monitor.1: Ditto.
+       
+2003-05-17  Havoc Pennington  <hp@pobox.com>
+
+       * bus/config-parser.c (merge_included): merge in policies from
+       child configuration file.
+
+       * bus/policy.c (bus_policy_merge): function to merge two policies 
+       together
+
+2003-05-16  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-connection.c: disable verbose lock spew
+
+       * tools/dbus-send.c: add --print-reply command line option
+
+       * tools/dbus-print-message.h (print_message): new util function 
+       shared by dbus-send and dbus-monitor
+
+       * tools/dbus-monitor.c (handler_func): exit on disconnect
+
+       * dbus/dbus-transport-unix.c (do_reading): if the transport is 
+       disconnected, don't try to use the read_watch
+
+       * dbus/dbus-watch.c (dbus_watch_get_enabled): assert watch != NULL
+       so we can find this bug more easily
+
+2003-05-16  Havoc Pennington  <hp@redhat.com>
+
+       * bus/policy.c (free_rule_list_func): avoid a crash when passed
+       NULL as DBusHashTable is annoyingly likely to do.
+
+2003-05-16  Colin Walters  <walters@verbum.org>
+
+       * tools/dbus-monitor.c: Add --session argument and usage()
+       function.
+
+       * tools/dbus-monitor.1: Update with new --session arg.
+
+       * bus/Makefile.am (install-data-hook): Create
+       $(libdir)/dbus-1.0/services so that the session bus is happy.
+
+2003-05-15  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-sysdeps.c (_dbus_atomic_dec, _dbus_atomic_inc): work
+       on non-x86. ifdef's are evil.
+
+2003-05-15  Havoc Pennington  <hp@redhat.com>
+
+       * configure.in: 0.11
+
+       * NEWS: update
+
+       * bus/Makefile.am (initddir): apparently we are supposed to put
+       init scripts in /etc/rc.d/init.d not /etc/init.d
+
+       * bus/Makefile.am: remove the "you must --enable-tests to make
+       check" as it broke distcheck
+
+       * bus/Makefile.am (install-data-hook): create /etc/dbus-1/system.d
+       
+2003-05-13  James Willcox  <jwillcox@gnome.org>
+
+       * configure.in:
+       * bus/activation.c: (bus_activation_service_created),
+       (bus_activation_activate_service):
+       * bus/driver.c: (bus_driver_send_service_deleted),
+       (bus_driver_send_service_created), (bus_driver_send_service_lost),
+       (bus_driver_send_service_acquired),
+       (bus_driver_send_welcome_message),
+       (bus_driver_handle_list_services):
+       * bus/session.conf.in:
+       * dbus/dbus-bus.c: (dbus_bus_acquire_service),
+       (dbus_bus_service_exists), (dbus_bus_activate_service):
+       * dbus/dbus-bus.h:
+
+       Add some convenience API which lets you activate a service, and did a
+       bunch of s/0/DBUS_TYPE_INVALID/ in calls to dbus_message_append_args()
+       and dbus_message_get_args()
+
+2003-05-11  Havoc Pennington  <hp@pobox.com>
+
+       * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix to avoid 
+       calling _dbus_marshal_validate_arg() for every byte in a byte
+       array, etc.
+
+       * dbus/dbus-message-handler.c: use atomic reference counting to 
+       reduce number of locks slightly; the global lock in here sucks
+
+       * dbus/dbus-connection.c
+       (_dbus_connection_update_dispatch_status_and_unlock): variant of
+       update_dispatch_status that can be called with lock held; then use
+       in a couple places to reduce locking/unlocking
+       (dbus_connection_send): hold the lock over the whole function 
+       instead of acquiring it twice.
+
+       * dbus/dbus-timeout.c (_dbus_timeout_new): handle OOM
+
+       * bus/connection.c (bus_connections_setup_connection): fix access
+       to already-freed memory.
+
+       * dbus/dbus-connection.c: keep a little cache of linked list
+       nodes, to avoid using the global linked list alloc lock in the
+       normal send-message case. Instead we just use the connection lock
+       that we already have to take.
+
+       * dbus/dbus-list.c (_dbus_list_find_last): new function
+
+       * dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec):
+       change to use a struct for the atomic type; fix docs, 
+       they return value before increment, not after increment.
+
+       * dbus/dbus-string.c (_dbus_string_append_4_aligned)
+       (_dbus_string_append_8_aligned): new functions to try to
+       microoptimize this operation.
+       (reallocate_for_length): break this out of set_length(), to
+       improve profile info, and also so we can consider inlining the
+       set_length() part.
+
+       * dbus/dbus-message.c (dbus_message_new_empty_header): init data
+       strings with some preallocation, cuts down on our calls to realloc
+       a fair bit. Though if we can get the "move entire string to empty
+       string" optimization below to kick in here, it would be better.
+
+       * dbus/dbus-string.c (_dbus_string_move): just call
+       _dbus_string_move_len
+       (_dbus_string_move_len): add a special case for moving 
+       an entire string into an empty string; we can just 
+       swap the string data instead of doing any reallocs.
+       (_dbus_string_init_preallocated): new function
+
+2003-05-11  Havoc Pennington  <hp@pobox.com>
+
+       Write a "test-profile" that does echo client-server with threads;
+       profile reveals lock contention, memcpy/realloc of buffers, and
+       UTF-8 validation as hot spots. 20% of lock contention eliminated
+       with dbus_atomic_inc/dec implementation on x86.  Much remaining
+       contention is global mempool locks for GList and DBusList.
+       
+       * dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec): add
+       x86 implementation
+
+       * dbus/dbus-connection.c (struct DBusConnection): use
+       dbus_atomic_t for the reference count   
+
+       * dbus/dbus-message.c (struct DBusMessage): declare 
+       dbus_atomic_t values as volatile
+
+       * configure.in: code to detect ability to use atomic integer
+       operations in assembly, from GLib patch
+
+       * dbus/dbus-internals.c (_dbus_verbose_real): call getpid every
+       time, tired of it being wrong in threads and forked processes
+
+       * glib/test-profile.c: a little program to bounce messages back 
+       and forth between threads and eat CPU
+
+       * dbus/dbus-connection.c: add debug spew macros for debugging
+       thread locks; include config.h at top; fix deadlock in 
+       dbus_connection_flush()
+
+2003-05-08  Havoc Pennington  <hp@pobox.com>
+
+       * dbus/dbus-spawn.c: s/_exit/exit/ because it was keeping gcov
+       data from getting written, and there wasn't a good reason to 
+       use _exit really.
+
+       * test/decode-gcov.c (mark_inside_dbus_build_tests): don't count
+       dbus_verbose lines in test coverage
+       (main): add list of functions sorted by # of untested blocks 
+       to the coverage report
+
+       * dbus/dbus-mempool.c: put some test-only code in DBUS_BUILD_TESTS
+
+       * dbus/dbus-marshal.c (_dbus_marshal_test): extend test coverage
+
+       * dbus/dbus-message-handler.c (_dbus_message_handler_test):
+       extend test coverage
+
+       * test/data/auth/cancel.auth-script: test canceling an
+       authentication
+
+       * dbus/Makefile.am: remove dbus-server-debug.[hc] for now, as they
+       aren't used. in CVS history if we end up needing them.
+
+2003-05-04  Havoc Pennington  <hp@pobox.com>
+
+       * dbus/dbus-message-handler.c (_dbus_message_handler_test): add
+       unit test
+
+       * dbus/dbus-marshal.c (_dbus_demarshal_string_array): fix this
+       function, which assumed length was in # of strings, not bytes
+
+       * dbus/dbus-message.c (_dbus_message_test): add tests for some
+       missing coverage
+
+       * dbus/dbus-connection.c
+       (_dbus_connection_queue_received_message): disable function for
+       now, we are only using it in test mode
+
+       * dbus/dbus-message.c (_dbus_message_loader_queue_messages):
+       remove a mistaken FIXME
+
+2003-05-04  Havoc Pennington  <hp@pobox.com>
+
+       * dbus/dbus-connection.c (dbus_connection_preallocate_send):
+       unlock mutex on successful return, patch from Anders Gustafsson
+
+2003-05-04  Havoc Pennington  <hp@pobox.com>
+
+       * dbus-glib-1.pc.in (Requires): fix dependencies, from 
+       Anders Gustafsson
+
+2003-05-04  Havoc Pennington  <hp@pobox.com>
+
+       * tools/dbus-launch.c: implement
+
+       * bus/main.c (main), bus/bus.c (bus_context_new): 
+       implement --print-pid and --fork
+
+2003-05-03  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-address.c (dbus_parse_address): fix bug when a key in
+       the address had no value, and add to test suite. Fix and
+       regression test from Miloslav Trmac
+
+2003-05-03  Havoc Pennington  <hp@pobox.com>
+
+       * dbus/dbus-watch.c (dbus_watch_handle): warn and return if a
+       watch is invalid when handled
+
+       * tools/Makefile.am, tools/dbus-launch.c, tools/dbus-launch.1: add
+       dbus-launch utility to launch the bus from a shell script.  Didn't
+       actually implement dbus-launch yet, it's just a placeholder still.
+       
+2003-05-03  Havoc Pennington  <hp@pobox.com>
+
+       * bus/Makefile.am, bus/dbus-daemon-1.1.in: man page for the
+       daemon; also documents daemon config file, so replaces
+       doc/config-file.txt. Corrected some stuff from config-file.txt in
+       the process of moving it.
+
 2003-05-03  Havoc Pennington  <hp@pobox.com>
 
        * tools/Makefile.am, tools/dbus-send.1, tools/dbus-monitor.1: