2003-06-22 Havoc Pennington <hp@pobox.com>
[platform/upstream/dbus.git] / ChangeLog
index 0ff4b11..06deccd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2003-06-22  Havoc Pennington  <hp@pobox.com>
+
+       * mono/Connection.cs, mono/DBus.cs, mono/Error.cs: 
+       Start wrapping more stuff.
+
+2003-06-22  Havoc Pennington  <hp@pobox.com>
+
+       * mono/Message.cs: implement Message.Wrap() that ensures we only
+       have a single C# wrapper per DBusMessage, assuming it works which 
+       it probably doesn't.
+
+       * dbus/dbus-message.c (dbus_message_allocate_data_slot): new
+       (dbus_message_free_data_slot): new
+       (dbus_message_set_data): new
+       (dbus_message_get_data): new
+
+2003-06-22  Havoc Pennington  <hp@pobox.com>
+
+       * dbus/dbus-dataslot.c (_dbus_data_slot_allocator_unref)
+       (_dbus_data_slot_allocator_alloc): rework these to keep a
+       reference count on each slot and automatically manage a global 
+       slot ID variable passed in by address
+       
+       * bus/bus.c: convert to new dataslot API
+
+       * dbus/dbus-bus.c: convert to new dataslot API
+
+       * dbus/dbus-connection.c: convert to new dataslot API
+
+       * dbus/dbus-server.c: convert to new dataslot API
+
+       * glib/dbus-gmain.c: ditto
+
+       * bus/test.c: ditto
+
+       * bus/connection.c: ditto
+
+2003-06-22  Anders Carlsson  <andersca@codefactory.se>
+
+       * configure.in: Add AM_PROG_GCJ and move AM_PROG_LIBTOOL
+       after the gcj checks so that the correct configuration tags
+       will be added to libtool.
+
+       * dbus-glib-1.pc.in: No need to specify any includes since
+       dbus-1.pc.in has those.
+
+2003-06-22  Havoc Pennington  <hp@pobox.com>
+
+       * mono/*, gcj/*, configure.in, Makefile.am: 
+       Check in makefiles and subdirs for mono and gcj bindings. 
+       Neither binding actually exists, just trying to get through 
+       all the build and other boring bits.
+
+2003-06-21  Philip Blundell  <philb@gnu.org>
+
+       * tools/dbus-monitor.1: Updated.
+
+       * tools/dbus-send.1: Likewise.
+
+2003-06-20  Anders Carlsson  <andersca@codefactory.se>
+
+       * dbus/dbus-transport-unix.c (unix_handle_watch): Check 
+       for hangup and error after checking read so we won't discard
+       pending data if both hangup and read are set.
+
+2003-06-19  Philip Blundell  <philb@gnu.org>
+
+       * tools/dbus-print-message.c (print_message): Handle BOOLEAN.
+
+       * tools/dbus-send.c: Accept both --system and --session.
+        
+       * tools/dbus-monitor.c: Same here.
+       
+2003-06-19  Anders Carlsson  <andersca@codefactory.se>
+
+       * glib/dbus-glib.h: Fix so that dbus-glib.h can be used
+       from C++ (Patch by Miloslav Trmac).
+
+2003-06-15  Joe Shaw  <joe@assbarn.com>
+
+       * configure.in: Check for socklen_t.
+
+       * dbus/dbus-sysdeps.c: Define socklen_t if it's not defined.
+
+       * test/test-segfault.c: Add #include <sys/time.h>
+
+       * tools/Makefile.am: Add DBUS_X_CFLAGS to the INCLUDES since
+       dbus-launch needs it.
+
+2003-06-09  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): don't use
+       SUN_LEN, it breaks abstract socket usage
+
+       * dbus/dbus-internals.c (_dbus_verbose_real): only print PID at
+       starts of lines.
+
+2003-06-04  Havoc Pennington  <hp@pobox.com>
+
+       * dbus/dbus-server.c (dbus_server_listen): allow abstract sockets
+       using unix:abstract=/foo, and when listening in a tmpdir
+       i.e. unix:tmpdir=/tmp, always use abstract sockets if we can.
+
+       * dbus/dbus-transport.c (_dbus_transport_open): support
+       unix:abstract=/foo
+
+       * dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
+       support abstract sockets
+
+       * dbus/dbus-transport-unix.c
+       (_dbus_transport_new_for_domain_socket): support abstract sockets
+
+       * dbus/dbus-sysdeps.c (_dbus_connect_unix_socket): add "abstract"
+       toggle as an argument, implement abstract namespace support
+       (_dbus_listen_unix_socket): ditto
+
+       * configure.in: add --enable-abstract-sockets and implement 
+       a configure check for autodetection of the right value.
+
+2003-06-01  Havoc Pennington  <hp@pobox.com>
+
+       * tools/dbus-cleanup-sockets.c: add utility to clean up sockets 
+       in /tmp (though on Linux this will end up being useless, 
+       when we add abstract namespace support)
+
+       * configure.in: define DBUS_SESSION_SOCKET_DIR in addition to
+       subst'ing it
+
+2003-05-28  Colin Walters  <walters@verbum.org>
+
+       * tools/dbus-monitor.c (main): Fix silly typo (s/--session/--system/).
+
+2003-05-18  Anders Carlsson  <andersca@codefactory.se>
+
+       * dbus/dbus-message.c (dbus_message_new): Remove @todo.
+
+2003-05-17  Colin Walters  <walters@gnu.org>
+
+       * tools/dbus-send.c: Don't exit with an error code if --help was
+       passed.  Default to using the session bus instead of the system
+       one.
+       
+       * tools/dbus-launch.c: Ditto. 
+
+       * tools/dbus-monitor.c: Ditto.
+
+       * tools/dbus-send.1: Update with new arguments.
+       
+       * tools/dbus-launch.c: Emit code to export variables.  New
+       arguments -s and -c to specify shell syntax, and a bit of code to
+       autodetect syntax.  Also, allow specifying a program to run.
+       
+       * tools/dbus-launch.1: Update with new arguments.
+       
+       * tools/dbus-send.1: Ditto.
+
+       * tools/dbus-monitor.1: Ditto.
+       
+2003-05-17  Havoc Pennington  <hp@pobox.com>
+
+       * bus/config-parser.c (merge_included): merge in policies from
+       child configuration file.
+
+       * bus/policy.c (bus_policy_merge): function to merge two policies 
+       together
+
+2003-05-16  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-connection.c: disable verbose lock spew
+
+       * tools/dbus-send.c: add --print-reply command line option
+
+       * tools/dbus-print-message.h (print_message): new util function 
+       shared by dbus-send and dbus-monitor
+
+       * tools/dbus-monitor.c (handler_func): exit on disconnect
+
+       * dbus/dbus-transport-unix.c (do_reading): if the transport is 
+       disconnected, don't try to use the read_watch
+
+       * dbus/dbus-watch.c (dbus_watch_get_enabled): assert watch != NULL
+       so we can find this bug more easily
+
+2003-05-16  Havoc Pennington  <hp@redhat.com>
+
+       * bus/policy.c (free_rule_list_func): avoid a crash when passed
+       NULL as DBusHashTable is annoyingly likely to do.
+
+2003-05-16  Colin Walters  <walters@verbum.org>
+
+       * tools/dbus-monitor.c: Add --session argument and usage()
+       function.
+
+       * tools/dbus-monitor.1: Update with new --session arg.
+
+       * bus/Makefile.am (install-data-hook): Create
+       $(libdir)/dbus-1.0/services so that the session bus is happy.
+
+2003-05-15  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-sysdeps.c (_dbus_atomic_dec, _dbus_atomic_inc): work
+       on non-x86. ifdef's are evil.
+
+2003-05-15  Havoc Pennington  <hp@redhat.com>
+
+       * configure.in: 0.11
+
+       * NEWS: update
+
+       * bus/Makefile.am (initddir): apparently we are supposed to put
+       init scripts in /etc/rc.d/init.d not /etc/init.d
+
+       * bus/Makefile.am: remove the "you must --enable-tests to make
+       check" as it broke distcheck
+
+       * bus/Makefile.am (install-data-hook): create /etc/dbus-1/system.d
+       
+2003-05-13  James Willcox  <jwillcox@gnome.org>
+
+       * configure.in:
+       * bus/activation.c: (bus_activation_service_created),
+       (bus_activation_activate_service):
+       * bus/driver.c: (bus_driver_send_service_deleted),
+       (bus_driver_send_service_created), (bus_driver_send_service_lost),
+       (bus_driver_send_service_acquired),
+       (bus_driver_send_welcome_message),
+       (bus_driver_handle_list_services):
+       * bus/session.conf.in:
+       * dbus/dbus-bus.c: (dbus_bus_acquire_service),
+       (dbus_bus_service_exists), (dbus_bus_activate_service):
+       * dbus/dbus-bus.h:
+
+       Add some convenience API which lets you activate a service, and did a
+       bunch of s/0/DBUS_TYPE_INVALID/ in calls to dbus_message_append_args()
+       and dbus_message_get_args()
+
+2003-05-11  Havoc Pennington  <hp@pobox.com>
+
+       * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix to avoid 
+       calling _dbus_marshal_validate_arg() for every byte in a byte
+       array, etc.
+
+       * dbus/dbus-message-handler.c: use atomic reference counting to 
+       reduce number of locks slightly; the global lock in here sucks
+
+       * dbus/dbus-connection.c
+       (_dbus_connection_update_dispatch_status_and_unlock): variant of
+       update_dispatch_status that can be called with lock held; then use
+       in a couple places to reduce locking/unlocking
+       (dbus_connection_send): hold the lock over the whole function 
+       instead of acquiring it twice.
+
+       * dbus/dbus-timeout.c (_dbus_timeout_new): handle OOM
+
+       * bus/connection.c (bus_connections_setup_connection): fix access
+       to already-freed memory.
+
+       * dbus/dbus-connection.c: keep a little cache of linked list
+       nodes, to avoid using the global linked list alloc lock in the
+       normal send-message case. Instead we just use the connection lock
+       that we already have to take.
+
+       * dbus/dbus-list.c (_dbus_list_find_last): new function
+
+       * dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec):
+       change to use a struct for the atomic type; fix docs, 
+       they return value before increment, not after increment.
+
+       * dbus/dbus-string.c (_dbus_string_append_4_aligned)
+       (_dbus_string_append_8_aligned): new functions to try to
+       microoptimize this operation.
+       (reallocate_for_length): break this out of set_length(), to
+       improve profile info, and also so we can consider inlining the
+       set_length() part.
+
+       * dbus/dbus-message.c (dbus_message_new_empty_header): init data
+       strings with some preallocation, cuts down on our calls to realloc
+       a fair bit. Though if we can get the "move entire string to empty
+       string" optimization below to kick in here, it would be better.
+
+       * dbus/dbus-string.c (_dbus_string_move): just call
+       _dbus_string_move_len
+       (_dbus_string_move_len): add a special case for moving 
+       an entire string into an empty string; we can just 
+       swap the string data instead of doing any reallocs.
+       (_dbus_string_init_preallocated): new function
+
+2003-05-11  Havoc Pennington  <hp@pobox.com>
+
+       Write a "test-profile" that does echo client-server with threads;
+       profile reveals lock contention, memcpy/realloc of buffers, and
+       UTF-8 validation as hot spots. 20% of lock contention eliminated
+       with dbus_atomic_inc/dec implementation on x86.  Much remaining
+       contention is global mempool locks for GList and DBusList.
+       
+       * dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec): add
+       x86 implementation
+
+       * dbus/dbus-connection.c (struct DBusConnection): use
+       dbus_atomic_t for the reference count   
+
+       * dbus/dbus-message.c (struct DBusMessage): declare 
+       dbus_atomic_t values as volatile
+
+       * configure.in: code to detect ability to use atomic integer
+       operations in assembly, from GLib patch
+
+       * dbus/dbus-internals.c (_dbus_verbose_real): call getpid every
+       time, tired of it being wrong in threads and forked processes
+
+       * glib/test-profile.c: a little program to bounce messages back 
+       and forth between threads and eat CPU
+
+       * dbus/dbus-connection.c: add debug spew macros for debugging
+       thread locks; include config.h at top; fix deadlock in 
+       dbus_connection_flush()
+
+2003-05-08  Havoc Pennington  <hp@pobox.com>
+
+       * dbus/dbus-spawn.c: s/_exit/exit/ because it was keeping gcov
+       data from getting written, and there wasn't a good reason to 
+       use _exit really.
+
+       * test/decode-gcov.c (mark_inside_dbus_build_tests): don't count
+       dbus_verbose lines in test coverage
+       (main): add list of functions sorted by # of untested blocks 
+       to the coverage report
+
+       * dbus/dbus-mempool.c: put some test-only code in DBUS_BUILD_TESTS
+
+       * dbus/dbus-marshal.c (_dbus_marshal_test): extend test coverage
+
+       * dbus/dbus-message-handler.c (_dbus_message_handler_test):
+       extend test coverage
+
+       * test/data/auth/cancel.auth-script: test canceling an
+       authentication
+
+       * dbus/Makefile.am: remove dbus-server-debug.[hc] for now, as they
+       aren't used. in CVS history if we end up needing them.
+
+2003-05-04  Havoc Pennington  <hp@pobox.com>
+
+       * dbus/dbus-message-handler.c (_dbus_message_handler_test): add
+       unit test
+
+       * dbus/dbus-marshal.c (_dbus_demarshal_string_array): fix this
+       function, which assumed length was in # of strings, not bytes
+
+       * dbus/dbus-message.c (_dbus_message_test): add tests for some
+       missing coverage
+
+       * dbus/dbus-connection.c
+       (_dbus_connection_queue_received_message): disable function for
+       now, we are only using it in test mode
+
+       * dbus/dbus-message.c (_dbus_message_loader_queue_messages):
+       remove a mistaken FIXME
+
+2003-05-04  Havoc Pennington  <hp@pobox.com>
+
+       * dbus/dbus-connection.c (dbus_connection_preallocate_send):
+       unlock mutex on successful return, patch from Anders Gustafsson
+
+2003-05-04  Havoc Pennington  <hp@pobox.com>
+
+       * dbus-glib-1.pc.in (Requires): fix dependencies, from 
+       Anders Gustafsson
+
+2003-05-04  Havoc Pennington  <hp@pobox.com>
+
+       * tools/dbus-launch.c: implement
+
+       * bus/main.c (main), bus/bus.c (bus_context_new): 
+       implement --print-pid and --fork
+
+2003-05-03  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-address.c (dbus_parse_address): fix bug when a key in
+       the address had no value, and add to test suite. Fix and
+       regression test from Miloslav Trmac
+
+2003-05-03  Havoc Pennington  <hp@pobox.com>
+
+       * dbus/dbus-watch.c (dbus_watch_handle): warn and return if a
+       watch is invalid when handled
+
+       * tools/Makefile.am, tools/dbus-launch.c, tools/dbus-launch.1: add
+       dbus-launch utility to launch the bus from a shell script.  Didn't
+       actually implement dbus-launch yet, it's just a placeholder still.
+       
+2003-05-03  Havoc Pennington  <hp@pobox.com>
+
+       * bus/Makefile.am, bus/dbus-daemon-1.1.in: man page for the
+       daemon; also documents daemon config file, so replaces
+       doc/config-file.txt. Corrected some stuff from config-file.txt in
+       the process of moving it.
+
+2003-05-03  Havoc Pennington  <hp@pobox.com>
+
+       * tools/Makefile.am, tools/dbus-send.1, tools/dbus-monitor.1: 
+       add some man pages
+
+2003-05-03  Colin Walters  <walters@verbum.org>
+
+       * dbus/dbus-sysdeps.c (fill_user_info): Test against
+       DBUS_UID_UNSET to determine whether to do a uid lookup or not.
+
+       * Makefile.am: Update to use new .pc versioning scheme.
+
+2003-05-02  Havoc Pennington  <hp@redhat.com>
+
+       * bus/system.conf.in: allow send/receive to/from message bus
+       service
+
+2003-04-30  Havoc Pennington  <hp@redhat.com>
+
+       * configure.in: print a note when building with unit tests and
+       without assertions
+
+2003-04-30  Havoc Pennington  <hp@redhat.com>
+
+       * Makefile.am: add a check-local that complains if you didn't
+       configure with --enable-tests
+
+2003-04-29  Havoc Pennington  <hp@redhat.com>
+
+       * glib/dbus-gmain.c: docs cleanups
+
+       * dbus/dbus-types.h: add docs on int64 types
+
+       * dbus/dbus-memory.c: fix docs to avoid putting private API in
+       public API docs section
+
+2003-04-29  Havoc Pennington  <hp@redhat.com>
+
+       * dbus-1.pc.in, dbus-glib-1.pc.in: rename these from
+       dbus-1.0.pc.in, dbus-glib-1.0.pc.in. As these change with the
+       parallel install API version, not with the D-BUS package version.
+
+       * HACKING: move some of README over here
+
+       * README: updates, and document API/ABI policy
+
+       * configure.in: reindentation
+
+2003-04-29  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus.h: add "you have to define DBUS_API_SUBJECT_TO_CHANGE
+       to use this library" to be sure people have the right
+       expectations.
+       
+2003-04-28  Havoc Pennington  <hp@redhat.com>
+
+       * configure.in: add --enable-docs which by default is auto yes if
+       doxygen and db2html found, no otherwise; but can be forced on/off
+
+       * doc/Makefile.am: conditionalize whether to build docs on
+       --enable-docs
+
+2003-04-28  Havoc Pennington  <hp@redhat.com>
+
+       * configure.in: 0.10
+
+       * NEWS: update
+
+       * bus/system.conf.in: add <includedir>system.d</includedir>
+       
+       * dbus/dbus-userdb.c (_dbus_user_database_lookup): fix bug when
+       username was provided but not uid
+
+       * bus/config-parser.c (struct BusConfigParser): keep track of
+       whether the parser is toplevel or was included; change some 
+       of the error handling if it's included.
+       
+2003-04-27  Havoc Pennington  <hp@pobox.com>
+
+       Unbreak my code...
+
+       * dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
+       report correct status if we finish processing authentication
+       inside this function.
+       
+       * bus/activation.c (try_send_activation_failure): use
+       bus_transaction_send_error_reply
+
+       * bus/connection.c (bus_connection_get_groups): return an error
+       explaining the problem
+
+       * bus/bus.c (bus_context_check_security_policy): implement
+       restriction here that inactive connections can only send the
+       hello message. Also, allow bus driver to send anything to 
+       any recipient.
+
+       * bus/connection.c (bus_connection_complete): create the
+       BusClientPolicy here instead of on-demand.
+       (bus_connection_get_policy): don't return an error
+
+       * dbus/dbus-message.c (dbus_message_new_error_reply): allow NULL
+       sender field in message being replied to
+
+       * bus/bus.c (bus_context_check_security_policy): fix silly typo
+       causing it to return FALSE always
+
+       * bus/policy.c (bus_client_policy_check_can_send): fix bug where
+       we checked sender rather than destination
+
+2003-04-25  Havoc Pennington  <hp@redhat.com>
+
+        test suite is slightly hosed at the moment, will fix soon
+       
+       * bus/connection.c (bus_connections_expire_incomplete): fix to
+       properly disable the timeout when required
+       (bus_connection_set_name): check whether we can remove incomplete
+       connections timeout after we complete each connection.
+
+       * dbus/dbus-mainloop.c (check_timeout): fix this up a bit,
+       probably still broken.
+
+       * bus/services.c (bus_registry_acquire_service): implement max
+       number of services owned, and honor allow/deny rules on which 
+       services a connection can own.
+
+       * bus/connection.c (bus_connection_get_policy): report errors here
+
+       * bus/activation.c: implement limit on number of pending
+       activations
+
+2003-04-25  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-transport.c (_dbus_transport_get_unix_user): fix bug
+       where we used >= 0 instead of != DBUS_UID_UNSET.
+
+2003-04-25  Havoc Pennington  <hp@redhat.com>
+
+       * glib/dbus-gmain.c (remove_watch): fix for a crash when watches
+       were toggled without add/remove, fix from Anders Gustafsson
+
+2003-04-24  Havoc Pennington  <hp@redhat.com>
+
+       * test/data/valid-config-files/basic.conf: add <limit> tags to
+       this test
+       
+       * bus/config-parser.h, bus/config-parser.c, bus/bus.c: Implement
+       <limit> tag in configuration file.
+       
+2003-04-24  Havoc Pennington  <hp@redhat.com>
+
+       * bus/dispatch.c: somehow missed some name_is
+
+       * dbus/dbus-timeout.c (_dbus_timeout_set_enabled) 
+       (_dbus_timeout_set_interval): new
+
+       * bus/connection.c (bus_connections_setup_connection): record time
+       when each connection is first set up, and expire them after the 
+       auth timeout passes.
+
+2003-04-24  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-message.c (dbus_message_name_is): rename
+       (dbus_message_service_is): rename
+       (dbus_message_sender_is): rename
+       (dbus_message_get_service): rename
+
+2003-04-24  Havoc Pennington  <hp@redhat.com>
+
+       * configure.in: add --enable-checks
+
+       * dbus/dbus-message.c (dbus_message_new): reverse name/service arguments
+
+       * dbus/dbus-connection.c (dbus_connection_preallocate_send): fix
+       to use thread locks.
+       (_dbus_connection_handler_destroyed_locked): move some private
+       functions into proper docs group
+
+       * dbus/dbus-internals.h: add _dbus_return_if_fail,
+       _dbus_return_val_if_fail
+
+       Throughout: use dbus_return_if_fail
+
+2003-04-23  James Willcox  <jwillcox@gnome.org>
+
+       * glib/dbus-glib.h:
+       * glib/dbus-gmain.c: (add_timeout), (wakeup_main), (create_source),
+       (dbus_connection_setup_with_g_main),
+       (dbus_server_setup_with_g_main):
+       * glib/test-dbus-glib.c: (main):
+       * glib/test-thread-client.c: (main):
+       * glib/test-thread-server.c: (new_connection_callback), (main):
+       * tools/dbus-monitor.c: (main):
+
+       Added a GMainContext argument to dbus_connection_setup_with_g_main()
+       and dbus_server_setup_with_g_main().
+
+2003-04-20  Havoc Pennington  <hp@pobox.com>
+
+       * doc/dbus-specification.sgml: document the restrictions on
+       message and service names
+
+2003-04-22  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-message.c, dbus/dbus-marshal.c: add 64-bit integer
+       support, and do some code cleanups to share more code and 
+       speed up array marshal/demarshal.
+
+       * dbus-1.0.pc.in (Cflags): put libdir include file in cflags
+
+       * configure.in: generate dbus-arch-deps.h
+
+       * dbus/dbus-protocol.h (DBUS_TYPE_INT64, DBUS_TYPE_UINT64): add
+       64-bit typecodes
+
+2003-04-22  Havoc Pennington  <hp@redhat.com>
+
+       * test/data/valid-messages/opposite-endian.message: fix test
+       to use proper type for rply field
+
+        * test/data/invalid-messages: add tests for below validation
+       
+       * dbus/dbus-message.c (decode_header_data): validate field types,
+       and validate that named fields are valid names
+       (decode_name_field): consider messages in the
+       org.freedesktop.Local. namespace to be invalid.
+
+       * dbus/dbus-string.c (_dbus_string_validate_name): new
+
+2003-04-19  Havoc Pennington  <hp@pobox.com>
+
+       * bus/driver.c (bus_driver_handle_hello): check limits and 
+       return an error if they are exceeded.
+
+       * bus/connection.c: maintain separate lists of active and inactive
+       connections, and a count of each. Maintain count of completed
+       connections per user. Implement code to check connection limits.
+
+       * dbus/dbus-list.c (_dbus_list_unlink): export
+
+       * bus/bus.c (bus_context_check_security_policy): enforce a maximum
+       number of bytes in the message queue for a connection
+
+2003-04-18  Havoc Pennington  <hp@pobox.com>
+
+       * dbus/dbus-auth.c (record_mechanisms): memleak fixes
+
+       * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): fix some
+       memleaks
+
+       * dbus/dbus-keyring.c (add_new_key): fix a memleak, and 
+       on realloc be sure to update the pointer in the keyring
+
+       * dbus/dbus-string.c (_dbus_string_zero): compensate for align
+       offset to avoid writing to unallocated memory
+
+       * dbus/dbus-auth.c (process_rejected): return FALSE if we fail to
+       try the next mechanism, so we properly handle OOM
+
+       * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): fix double-free
+       on OOM.
+       (_dbus_keyring_new): fix OOM bug
+       (_dbus_keyring_new_homedir): always set error; impose a maximum
+       number of keys we'll load from the file, mostly to speed up the
+       test suite and make its OOM checks more useful, but also for
+       general sanity.
+
+       * dbus/dbus-auth.c (process_error_server): reject authentication
+       if we get an error from the client
+       (process_cancel): on cancel, send REJECTED, per the spec
+       (process_error_client): send CANCEL if we get an error from the
+       server.
+
+2003-04-18  Havoc Pennington  <hp@pobox.com>
+       
+       * dbus/dbus-mainloop.c (_dbus_loop_iterate): fix UMR in verbose
+       debug spew
+
+       * dbus/dbus-auth.c (handle_client_data_cookie_sha1_mech): fix OOM
+       handling problem
+
+       * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): only whine
+       about DBUS_TEST_HOMEDIR once
+
+       * bus/Makefile.am (TESTS_ENVIRONMENT): put DBUS_TEST_HOMEDIR in
+       the environment
+       
+       * bus/dispatch.c (bus_dispatch_sha1_test): actually load sha1
+       config file so we test the right thing
+
+       Throughout: assorted docs improvements
+
+2003-04-18  Havoc Pennington  <hp@pobox.com>
+
+       * glib/dbus-gmain.c: adapt to watch changes
+
+       * bus/bus.c, bus/activation.c, etc.: adjust to watch changes
+
+       * dbus/dbus-server.h: remove dbus_server_handle_watch
+
+       * dbus/dbus-connection.h: remove dbus_connection_handle_watch
+
+       * dbus/dbus-watch.c (dbus_watch_handle): change DBusWatch to work
+       like DBusTimeout, so we don't need dbus_connection_handle_watch
+       etc.
+
+2003-04-17  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-userdb.c, dbus/dbus-sysdeps.c: redo all the passwd
+       database usage so it all goes via the DBusUserDatabase cache.
+
+2003-04-17  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-mainloop.c (_dbus_loop_iterate): fix logic so that if
+       there was an OOM watch we skipped, we always return TRUE so we
+       iterate again to have a look at it again. Fixes test suite hang.
+       Code rearrangement also lets us lose some memset and only iterate
+       over callbacks once.
+
+       * bus/driver.c (bus_driver_handle_message): sense of test for
+       reply was backward
+
+2003-04-16  Havoc Pennington  <hp@pobox.com>
+
+       * doc/dbus-specification.sgml: make spec say serials are unsigned
+
+       * dbus/dbus-message.h: change message serials to unsigned
+
+       * dbus/dbus-connection.c: adapt to message serials being unsigned
+       
+2003-04-15  Havoc Pennington  <hp@pobox.com>
+
+       * bus/bus.c: create and keep around a shared DBusUserDatabase 
+       object.
+
+       * bus/connection.c (bus_connection_get_groups): don't cache
+       groups for user in the connection object, since user database 
+       object now does that.
+
+2003-04-16  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-message.c (_dbus_message_add_size_counter): keep a
+       list of size counters
+       (_dbus_message_loader_putback_message_link): put back a popped link
+
+       * dbus/dbus-connection.c
+       (dbus_connection_set_max_live_messages_size): rename 
+       max_received_size
+       (dbus_connection_get_outgoing_size): get size of outgoing 
+       queue
+       (_dbus_connection_set_connection_counter): remove this cruft
+       
+2003-04-14  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-userdb.c: user database abstraction, mostly to get
+       caching, but at some point we might want to be able to use a
+       different database.
+
+       * bus/dispatch.c (bus_dispatch_sha1_test): add a test that uses
+       SHA1 conf file to test the sha1 auth mechanism, since the regular
+       test always uses EXTERNAL when available.
+
+       * configure.in,
+       test/data/valid-config-files/debug-allow-all-sha1.conf.in: 
+       add conf file that requires use of sha1 auth
+
+2003-04-13  Havoc Pennington  <hp@pobox.com>
+       
+        * tools/dbus-send.c, tools/dbus-monitor.c: two utility programs
+       from Philip Blundell to send messages and monitor them.
+       
+2003-04-13  Havoc Pennington  <hp@pobox.com>
+
+       * dbus/dbus-mainloop.c: fix some reentrancy issues by refcounting 
+       callbacks
+
+       * test/data/valid-config-files/debug-allow-all.conf.in: allow all
+       users
+
+       * dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
+       fix to only recover unused bytes if we're already authenticated
+       (_dbus_transport_get_is_authenticated): fix to still mark us 
+       authenticated if there are unused bytes.
+
+       * bus/dispatch.c: implement security policy checking
+       
+       * bus/connection.c (bus_transaction_send_from_driver): new
+
+       * bus/bus.c (bus_context_check_security_policy): new
+
+       * bus/dispatch.c (send_service_nonexistent_error): delete this,
+       now we just set the DBusError and it gets converted to an error
+       reply.
+
+       * bus/connection.c (allow_user_function): enable code using actual
+       data from the config file
+
+       * bus/policy.c (list_allows_user): handle wildcard rules for
+       user/group connection perms
+
+2003-04-13  Havoc Pennington  <hp@pobox.com>
+
+       * bus/config-parser.c: Load up the BusPolicy and BusPolicyRules
+       
+       * dbus/dbus-sysdeps.c (_dbus_get_user_id): new function
+
+       * bus/policy.c (bus_policy_append_mandatory_rule)
+       (bus_policy_append_default_rule, bus_policy_append_user_rule)
+       (bus_policy_append_group_rule): new functions
+
+2003-04-12  Havoc Pennington  <hp@pobox.com>
+
+       * bus/config-parser.c (bus_config_parser_new): fix a memleak
+
+       * dbus/dbus-sysdeps.c: change DBusCredentials to use longs for
+       the pid/gid/uid, just for paranoia.
+
+       * test/break-loader.c (randomly_do_n_things): find a byte
+       containing a type code, and randomly change it to a different 
+       type code.
+
+2003-04-12  Havoc Pennington  <hp@pobox.com>
+
+       * bus/policy.h: change BusPolicy to be the thing from the config
+       file, and rename old BusPolicy to BusClientPolicy
+
+       * bus/bus.c, bus/connection.c, bus/config-parser.c: change to 
+       match change in how policy works
+
+       * dbus/dbus-internals.h: mark assert_not_reached as
+       __attribute((noreturn))__
+
+2003-04-11  Havoc Pennington  <hp@redhat.com>
+
+       * doc/dbus-specification.sgml: fix a spot with the wrong name for 
+       the broadcast service. Use boolean return for ServiceExists.
+
+2003-04-11  Havoc Pennington  <hp@redhat.com>
+
+       * configure.in: add another directory to look for qt in.
+
+2003-04-11  Havoc Pennington  <hp@redhat.com>
+
+       * AUTHORS: add Colin Walters
+
+2003-04-11  Havoc Pennington  <hp@redhat.com>
+
+       * NEWS: update
+
+       * configure.in: 0.9
+
+2003-04-11  Havoc Pennington  <hp@redhat.com>
+
+       * bus/messagebus.in: remove pid file when stopping the
+       message bus, since the bus won't have privileges to remove it
+       itself.
+
+2003-04-11  Havoc Pennington  <hp@redhat.com>
+
+       * bus/bus.c (bus_context_new): move credentials change after
+       creating pidfile
+
+2003-04-11  Havoc Pennington  <hp@pobox.com>
+
+       * test/decode-gcov.c: add "below average functions" to the
+       coverage report, and change how some of the code works.
+
+       * bus/test-main.c: bracket some stuff in DBUS_BUILD_TESTS so it's
+       not in the coverage stats.
+
+       * test/test-service.c (main): use _dbus_verbose not fprintf in a
+       couple places so running the test suite doesn't result in megaspam.
+
+2003-04-11  Havoc Pennington  <hp@pobox.com>
+
+       * bus/dispatch.c (check_existent_service_activation): accept a no
+       memory error in a place we didn't before
+
+       * bus/test.c (bus_test_run_everything): remove hacky "do it twice
+       in case the first one failed," since the test suite is less
+       broken now.
+
+2003-04-10  Havoc Pennington  <hp@pobox.com>
+
+       * bus/dispatch.c (check_segfault_service_activation): add test
+       for launching an executable that just crashes.
+
+       * test/test-segfault.c (main): try setting coredumpsize to 0 so we
+       don't leave a million cores. We'll see how portable this is.
+
+2003-04-10  Havoc Pennington  <hp@pobox.com>
+
+       * dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): move all
+       the possible parent failures before we fork, so that we don't
+       fail to create a babysitter after creating the child.
+
+       * bus/activation.c (bus_activation_activate_service): kill child
+       if we don't successfully complete the activation.
+
+2003-04-10  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-connection.c (dbus_connection_flush): don't spin on
+       the connection if it's disconnected
+
+       * bus/activation.c (bus_activation_service_created): use new
+       transaction features to roll back removal of pending activation if
+       we don't successfully create the service after all. Don't remove
+       pending activation if the function fails.
+
+       * dbus/dbus-list.c (_dbus_list_insert_before_link) 
+       (_dbus_list_insert_after_link): new code to facilitate
+       services.c fixes
+
+       * dbus/dbus-hash.c (_dbus_hash_table_insert_string_preallocated):
+       new functionality, so we can preallocate the ability to insert
+       into a hash table.
+
+       * bus/connection.c (bus_transaction_add_cancel_hook): new function
+       allowing us to put custom hooks in a transaction to be used for 
+       cancelling said transaction
+
+       * doc/dbus-specification.sgml: add some discussion of secondary
+       service owners, and disallow zero-length service names
+
+       * bus/services.c (bus_registry_acquire_service): new function,
+       splits out part of bus_driver_handle_acquire_service() and fixes 
+       a bug where we didn't remove the service doing the acquiring 
+       from the secondary queue if we failed to remove the current owner
+       from the front of the queue.
+       
+2003-04-10  Alexander Larsson  <alexl@redhat.com>
+
+       * doc/dbus-specification.sgml:
+       s/org.freedesktop.Broadcast/org.freedesktop.DBus.Broadcast/
+       
+2003-04-10  Alexander Larsson  <alexl@redhat.com>
+
+       * bus/.cvsignore:
+       * glib/.cvsignore:
+       * test/.cvsignore:
+       Added files to cvsignore
+       
+       * dbus/dbus-message.h:
+       * dbus/dbus-message.c: (dbus_message_iter_get_named):
+       Make get_named() take two out argument and return a boolean.
+       (dbus_message_iter_get_args_valist):
+       Update usage of get_named().
+       (dbus_message_iter_append_byte):
+       Fix typo
+       (dbus_message_iter_append_named)
+       Fix typo
+       (message_iter_test), (check_message_handling_type), (_dbus_message_test):
+       More tests.
+
+2003-04-10  Alexander Larsson  <alexl@redhat.com>
+
+       * dbus/dbus-marshal.[ch]:
+       Add array_type_pos argument to _dbus_marshal_validate_arg.
+       Let you pass a NULL end_pos to _dbus_marshal_validate_type.
+       
+       * dbus/dbus-message.[ch]:
+       Multi-dimensional arrays have full type specification in the
+       outermost array. Iter code re-arranged to handle this.
+       Added some more iter tests.
+       
+       * doc/dbus-specification.sgml:
+       Add me to authors.
+       Remove old FIXME.
+       Update new array encoding description.
+       Correct DBUS_SERVICE_FLAGS_REPLACE_EXISTING description.
+       
+       * test/data/invalid-messages/array-with-mixed-types.message:
+       * test/data/valid-messages/array-of-array-of-uint32.message:
+       Change to the new array format.
+       
+       * test/data/invalid-messages/too-short-dict.message:
+       Fix bug in test.
+       
+       * test/data/valid-messages/recursive-types.message:
+       Fix up and extend test.
+
+2003-04-10  Havoc Pennington  <hp@pobox.com>
+
+       * bus/dispatch.c: lots of fixes
+       
+       * dbus/dbus-mainloop.c (_dbus_loop_dispatch): export
+       (_dbus_loop_iterate): remove old "quit if no callbacks" code,
+       that was crack, broke the test service.
+
+       * dbus/dbus-transport.c (_dbus_transport_open): fix error
+       handling to avoid piling up errors if we get a failure on the 
+       first address.
+
+       * dbus/dbus-internals.c (_dbus_real_assert_not_reached): include
+       pid in assertion failures.
+
+       * dbus/dbus-mainloop.c (_dbus_loop_iterate): use static arrays up
+       to some fixed size of file descriptor array. Don't return TRUE
+       anytime a timeout exists, that led to lots of busy loop silliness
+       in the tests.
+
+2003-04-09  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-mainloop.c (check_timeout): fix timeouts, I thought
+       I'd checked this in earlier but hadn't.
+
+2003-04-09  Havoc Pennington  <hp@redhat.com>
+
+       * bus/dispatch.c (bus_dispatch_test): get a bit further through
+       the activation test (man this is getting old!)
+
 2003-04-09  Havoc Pennington  <hp@redhat.com>
 
        * test/test-utils.c: use dispatch status function to fix this up