+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
+
+ * 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: