2003-04-25 Havoc Pennington <hp@redhat.com>
[platform/upstream/dbus.git] / ChangeLog
index ede733b..8ed52f0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,746 @@
+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
+
+       * bus/connection.c (connection_watch_callback): don't dispatch
+       from here
+       (connection_timeout_callback): don't dispatch from here
+       (bus_connections_setup_connection): set the dispatch status function
+       (bus_connection_disconnected): unset it
+
+       * dbus/dbus-mainloop.c (_dbus_loop_queue_dispatch): new function
+       used to add a connection to be dispatched
+       (_dbus_loop_iterate): do the dispatching at the end of each
+       iteration
+
+       * dbus/dbus-connection.c
+       (dbus_connection_set_dispatch_status_function): new function
+       allowing us to fix up main loop usage
+       (_dbus_connection_last_unref): free all the various function
+       user data
+       (dbus_connection_dispatch): call the DispatchStatusFunction 
+       whenever this function returns
+       (dbus_connection_handle_watch): call DispatchStatusFunction
+       (dbus_connection_send_with_reply_and_block): call DispatchStatusFunction
+       (reply_handler_timeout): call DispatchStatusFunction
+       (dbus_connection_flush): call DispatchStatusFunction
+
+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.
+
+2003-04-08  Colin Walters  <walters@gnu.org>
+       * bus/bus.c (struct BusContext) [pidfile]: New member, to store
+       the pid file.
+       (bus_context_new): Set it.
+       (bus_context_unref): Use it to delete the pid file.
+2003-04-08  Havoc Pennington  <hp@redhat.com>
+
+       * test/data/invalid-messages/array-with-mixed-types.message:
+       regression test that fails for the moment
+
+       * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): reorder
+       tests for convenience
+
+       * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): don't allow
+       array of nil, it broke things.
+
+       * test/data/invalid-messages/array-of-nil.message: regression test
+
+       * test/data/valid-messages/array-of-array-of-uint32.message:
+       happened to write this so added it to suite
+       
+2003-04-08  Havoc Pennington  <hp@redhat.com>
+
+       * bus/driver.c (bus_driver_handle_acquire_service): init
+       retval/reply before checking name
+
+       * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add a
+       recursion depth argument
+
+       * dbus/dbus-message.h (struct DBusMessageIter): put some padding
+       in the public struct for future extension
+
+       * dbus/dbus-message-builder.c (_dbus_message_data_load): fix
+       typo
+
+       * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix a verbose
+       message
+
+       * doc/dbus-specification.sgml: fix typo
+
+2003-04-08  Alexander Larsson  <alexl@redhat.com>
+
+       Implemented recursive types, named types and new-style iters
+
+       * bus/driver.c:
+       * glib/test-thread-client.c: (thread_func):
+       * glib/test-thread-server.c: (handle_test_message):
+       * test/test-service.c: (handle_echo):
+       Update to new api
+       
+       * dbus/Makefile.am:
+       * dbus/dbus-dict.c:
+       * dbus/dbus-dict.h:
+       * dbus/dbus.h
+       Remove DBusDict
+
+       * dbus/dbus-internals.c: (_dbus_type_to_string):
+       Update for new types.
+       
+       * dbus/dbus-marshal.[ch]:
+       Implement recursive types and the new marshalling format.
+       Remove hardcoded dict marshalling.
+       Marshal named types.
+       
+       * dbus/dbus-message-builder.c:
+       Add BYTE_ARRAY.
+       Remove references to old types
+       
+       * dbus/dbus-message.[ch]:
+       New non-refcounted iter API that supports recursive iters.
+       Use iters for appending, including support for recursive
+       iters.
+       Add byte and named type support.
+       Update everything to new marshalling formats.
+       Add tests for new API.
+       
+       * dbus/dbus-protocol.h:
+       Remove old array types.
+       Add types: BYTE, ARRAY, DICT, NAMED
+       
+       * dbus/dbus-string.c:
+       * dbus/dbus-sysdeps.c:
+       Make parse_double locale safe.
+       
+       * dbus/dbus-test-main.c:
+       Call setlocale.
+       
+       * dbus/dbus-test.c:
+       Kill dict test
+       
+       * doc/dbus-specification.sgml:
+       Update spec
+       
+       * test/data/incomplete-messages/missing-body.message:
+       * test/data/invalid-messages/bad-boolean.message:
+       * test/data/invalid-messages/bad-boolean-array.message:
+       * test/data/invalid-messages/boolean-array-length-too-long.message-raw:
+       * test/data/invalid-messages/boolean-has-no-value.message-raw:
+       * test/data/invalid-messages/too-short-dict.message:
+       * test/data/valid-messages/dict-simple.message:
+       * test/data/valid-messages/dict.message:
+       * test/data/valid-messages/emptiness.message:
+       * test/data/valid-messages/lots-of-arguments.message:
+       * test/data/valid-messages/no-padding.message:
+       * test/data/valid-messages/recursive-types.message:
+       Add missing NAME fields
+       Fix up dicts & arrays
+       
+       * test/data/invalid-messages/dict-with-nil-value.message:
+       Removed, this is not invalid anymore.
+       
+       * test/data/valid-messages/recursive-types.message:
+       Add new test for deeply recursive types.
+
+2003-04-07  Havoc Pennington  <hp@pobox.com>
+
+       * bus/driver.c (bus_driver_handle_acquire_service): return an
+       error if you try to acquire a service that starts with ':'
+
+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
+
+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
+
+2003-04-06  Havoc Pennington  <hp@pobox.com>
+
+       * dbus/Makefile.am: split lists of sources into stuff that goes in
+       the library, util functions that go in the lib and are also used
+       elsewhere, and util functions that are used in tests/daemon but
+       don't go in the lib.
+
+       * dbus/dbus-mainloop.h, dbus/dbus-mainloop.c: move bus/loop.[hc] 
+       here so it can be used in test binaries also
+
+2003-04-06  Havoc Pennington  <hp@pobox.com>
+
+       * dbus/dbus-sysdeps.c (_dbus_become_daemon): write the pidfile
+       here in the parent process, so we can return an error if it
+       fails. Also, move some of the code into the child so the parent 
+       is less hosed if we fail midway through.
+
+       * bus/bus.c (bus_context_new): move pidfile detection further up 
+       in the function, before we start overwriting sockets and such.
+
+       * bus/messagebus.in: adjust this a bit, not sure if it will work.
+
+       * configure.in: add --with-system-pid-file and --with-system-socket
+
+2003-04-06  Colin Walters  <walters@verbum.org>
+
+       * configure.in (DBUS_SYSTEM_PID_FILE): New variable.
+
+       * bus/system.conf.in: Declare a pidfile.
+
+       * bus/bus.c (bus_context_new): Test for an existing pid file, and
+       create one (if appropriate).
+
+       * bus/config-parser.c (enum ElementType) [ELEMENT_PIDFILE]: New.
+       (struct BusConfigParser) [pidfile]: New.
+       (element_type_to_name, merge_included, start_busconfig_child)
+       (bus_config_parser_end_element, bus_config_parser_content): Handle it.
+       (bus_config_parser_unref): Free it.
+       (bus_config_parser_get_pidfile): New function.
+       
+       * bus/config-parser.h (_dbus_write_pid_file): Prototype.
+
+       * dbus/dbus-errors.h (DBUS_ERROR_PIDFILE_EXISTS): New error.
+
+       * dbus/dbus-sysdeps.c (_dbus_write_pid_file): New function.
+       
+       * dbus/dbus-sysdeps.h: Prototype it.
+
 2003-04-06  Havoc Pennington  <hp@pobox.com>
 
        * bus/bus.c (bus_context_new): print the address in here, rather