2003-10-16 Havoc Pennington <hp@redhat.com>
[platform/upstream/dbus.git] / ChangeLog
index a64b55a..3a1f06a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,214 @@
+2003-10-16  Havoc Pennington  <hp@redhat.com>
+
+       * glib/dbus-gtest-main.c: bracket with #ifdef DBUS_BUILD_TESTS
+
+       * Makefile.am (GCOV_DIRS): remove "test", we don't care about test
+       coverage of the tests
+       (coverage-report.txt): don't move the .da and .bbg files around
+
+2003-10-16  Havoc Pennington  <hp@redhat.com>
+
+       * bus/bus.c (struct BusContext): remove struct field I didn't mean
+       to put there
+
+2003-10-16  Havoc Pennington  <hp@redhat.com>
+
+       * bus/connection.c (bus_pending_reply_expired): either cancel or
+       execute, not both
+       (bus_connections_check_reply): use unlink, not remove_link, as we
+       don't want to free the link; fixes double free mess
+
+       * dbus/dbus-pending-call.c (dbus_pending_call_block): fix in case
+       where no reply was received
+
+       * dbus/dbus-connection.c (_dbus_pending_call_complete_and_unlock):
+       fix a refcount leak
+
+       * bus/signals.c (match_rule_matches): add special cases for the
+       bus driver, so you can match on sender/destination for it.
+
+       * dbus/dbus-sysdeps.c (_dbus_abort): print backtrace if
+       DBUS_PRINT_BACKTRACE is set
+
+       * dbus/dbus-internals.c: add pid to assertion failure messages
+
+       * dbus/dbus-connection.c: add message type code to the debug spew
+
+       * glib/dbus-gproxy.c (gproxy_get_match_rule): match rules want
+       sender=foo not service=foo
+
+       * dbus/dbus-bus.c (dbus_bus_get): if the activation bus is the
+       session bus but DBUS_SESSION_BUS_ADDRESS isn't set, use 
+       DBUS_ACTIVATION_ADDRESS instead
+
+       * bus/activation.c: set DBUS_SESSION_BUS_ADDRESS,
+       DBUS_SYSTEM_BUS_ADDRESS if appropriate
+
+       * bus/bus.c (bus_context_new): handle OOM copying bus type into
+       context struct
+
+       * dbus/dbus-message.c (dbus_message_iter_get_object_path): new function
+       (dbus_message_iter_get_object_path_array): new function (half
+       finished, disabled for the moment)
+       
+       * glib/dbus-gproxy.c (dbus_gproxy_end_call): properly handle
+       DBUS_MESSAGE_TYPE_ERROR
+
+       * tools/dbus-launch.c (babysit): support DBUS_DEBUG_OUTPUT to
+       avoid redirecting stderr to /dev/null
+       (babysit): close stdin if not doing the "exit_with_session" thing
+
+       * dbus/dbus-sysdeps.c (_dbus_become_daemon): delete some leftover
+       debug code; change DBUS_DEBUG_OUTPUT to only enable stderr, not
+       stdout/stdin, so things don't get confused
+       
+       * bus/system.conf.in: fix to allow replies, I modified .conf
+       instead of .conf.in again.
+
+2003-10-14  David Zeuthen  <david@fubar.dk>
+
+       * python/dbus_bindings.pyx.in (MessageIter.get): fixed typo in
+       argtype to arg_type when raising unknown arg type exception.
+       Changed type list to reflect the changes in dbus-protocol.h so 
+       the bindings actually work.
+
+2003-10-14  Havoc Pennington  <hp@redhat.com>
+
+       * test/decode-gcov.c: support gcc 3.3 also, though gcc 3.3 seems
+       to have a bug keeping it from outputting the .da files sometimes
+       (string_get_string): don't append garbage nul bytes to the string.
+
+2003-10-15  Seth Nickell  <seth@gnome.org>
+
+       * python/Makefile.am:
+
+       Include dbus_h_wrapper.h in the dist tarball.
+
+2003-10-14  Havoc Pennington  <hp@redhat.com>
+
+       * bus/bus.c (bus_context_check_security_policy): revamp this to
+       work more sanely with new policy-based requested reply setup
+
+       * bus/connection.c (bus_transaction_send_from_driver): set bus
+       driver messages as no reply
+
+       * bus/policy.c (bus_client_policy_check_can_receive): handle a
+       requested_reply attribute on allow/deny rules
+
+       * bus/system.conf: add <allow requested_reply="true"/>
+
+       * bus/driver.c (bus_driver_handle_message): fix check for replies
+       sent to the bus driver, which was backward. How did this ever work
+       at all though? I think I'm missing something.
+
+       * dbus/dbus-message.c (decode_header_data): require error and
+       method return messages to have a reply serial field to be valid
+       (_dbus_message_loader_queue_messages): break up this function;
+       validate that reply serial and plain serial are nonzero; 
+       clean up the OOM/error handling.
+       (get_uint_field): don't return -1 from this
+       (dbus_message_create_header): fix signed/unsigned bug
+
+       * bus/connection.c (bus_connections_expect_reply): save serial of
+       the incoming message, not reply serial
+
+2003-10-14  Havoc Pennington  <hp@redhat.com>
+
+       * bus/connection.c: implement pending reply tracking using
+       BusExpireList
+
+       * bus/bus.c (bus_context_check_security_policy): verify that a
+       reply is pending in order to allow a reply to be sent. Deny 
+       messages of unknown type.
+
+       * bus/dbus-daemon-1.1.in: update to mention new resource limits
+
+       * bus/bus.c (bus_context_get_max_replies_per_connection): new
+       (bus_context_get_reply_timeout): new
+
+2003-10-13  Seth Nickell  <seth@gnome.org>
+
+       * python/Makefile.am:
+
+       Pass "make distcheck": remove a couple files from DIST_FILES
+       that weren't included in the final version.
+
+2003-10-12  Havoc Pennington  <hp@pobox.com>
+
+        Added test code that 1) starts an actual bus daemon and 2) uses
+       DBusGProxy; fixed bugs that were revealed by the test. Lots 
+       more testing possible, but this is the basic framework.
+       
+       * glib/dbus-gproxy.c (dbus_gproxy_manager_unregister): remove
+       empty proxy lists from the proxy list hash
+
+       * dbus/dbus-message.c (dbus_message_iter_get_args_valist): add a
+       couple of return_if_fail checks
+
+       * dbus/dbus-pending-call.c (_dbus_pending_call_new): use dbus_new0
+       to allocate, so everything is cleared to NULL as it should be.
+
+       * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): pass
+       source as data to dbus_connection_set_timeout_functions() as the 
+       timeout functions expected
+
+       * test/glib/run-test.sh: add a little script to start up a message
+       bus and run tests using it
+
+       * tools/dbus-launch.1: updates
+
+       * tools/dbus-launch.c (main): add --config-file option
+
+       * tools/dbus-launch.c (main): remove confusing else if (runprog)
+       that could never be reached.
+
+       * dbus/dbus-message.c (dbus_message_new_method_return) 
+       (dbus_message_new_error, dbus_message_new_signal): set the
+       no-reply-expected flag on all these. Redundant, but may
+       as well be consistent.
+
+2003-10-11  Havoc Pennington  <hp@pobox.com>
+
+       * test/decode-gcov.c (function_solve_graph): make broken block
+       graph a nonfatal error since it seems to be broken. Need to debug
+       this.
+
+       * dbus/dbus-marshal.c (_dbus_type_is_valid): new function since we
+       can't just check type > INVALID < LAST anymore
+
+       * dbus/dbus-message.c (dbus_message_get_signature): new function
+       (dbus_message_has_signature): new function
+       (struct DBusMessage): add signature field (right now it isn't sent
+       over the wire, just generated on the fly)
+       (dbus_message_copy): copy the signature, and init strings to
+       proper length to avoid some reallocs
+       (dbus_message_iter_init_array_iterator): return void, since it
+       can't fail
+       (dbus_message_iter_init_dict_iterator): return void since it can't fail
+       (_dbus_message_loader_queue_messages): add silly temporary hack to
+       fill in message->signature on load
+
+       * dbus/dbus-protocol.h: change DBUS_TYPE_* values to be ASCII
+       characters, so they are relatively human-readable.
+
+2003-10-11  Havoc Pennington  <hp@pobox.com>
+
+       * dbus/dbus-message.c (_dbus_message_test): add more test
+       coverage, but #if 0 for now since they uncover a bug 
+       not fixed yet; I think in re_align_field_recurse()
+       (re_align_field_recurse): add FIXME about broken assertion
+
+       * dbus/dbus-sysdeps.c (_dbus_sysdeps_test): add more test coverage
+
+       * bus/connection.c: share a couple code bits with expirelist.c
+
+       * bus/expirelist.h, bus/expirelist.c: implement a generic
+       expire-items-after-N-seconds facility, was going to share between
+       expiring connections and replies, decided not to use for expiring
+       connections for now.
+
+       * COPYING: include AFL 2.0 (still need to change all the file headers)
+
 2003-10-09  Havoc Pennington  <hp@redhat.com>
 
        * configure.in: define DBUS_HAVE_GCC33_GCOV if we have