+2003-12-02 Richard Hult <richard@imendio.com>
+
+ * dbus/dbus-message.c (dbus_message_iter_append_dict): Set
+ wrote_dict_key to FALSE on the iter that the dict is appended to,
+ just like when appending other types. Fixes a bug where a dict
+ couldn't be put inside a dict.
+ (dbus_message_iter_append_dict_key): Fix typo in warning message.
+ (message_iter_test, _dbus_message_test): Add test case for dict
+ inside dict.
+
+2003-12-01 David Zeuthen <david@fubar.dk>
+
+ * python/dbus.py: Add the actual message when calling the reciever
+ of a signal such that parameters can be inspected. Add the method
+ remove_signal_receiver
+
+2003-11-26 Mikael Hallendal <micke@imendio.com>
+
+ * bus/*.[ch]:
+ * dbus/*.[ch]:
+ * glib/*.[ch]: Made ref functions return the pointer
+
+2003-11-25 Zack Rusin <zack@kde.org>
+
+ * qt/integrator.h, qt/integrator.cpp: Adding handling of DBusServer,
+
+ * qt/server.h, qt/server.cpp, qt/Makefile.am: Adding DBusServer
+ wrappers,
+
+ * qt/connection.h, qt/connection.cpp: Adjusting to changes in
+ the Integrator and to better fit with the server,
+
+2003-11-24 Zack Rusin <zack@kde.org>
+
+ * qt/connection.h, qt/connection.cpp: removing initDbus method since
+ the integrator handles it now
+
+ * qt/integrator.h, qt/integrator.cpp: reworking handling of timeouts,
+ since QTimer wasn't really meant to be used the way DBusTimeout is
+
+2003-11-24 Zack Rusin <zack@kde.org>
+
+ * qt/integrator.h, qt/integrator.cpp, Makefile.am: Adding
+ Integrator class which integrates D-BUS with the Qt event loop,
+
+ * qt/connection.h, qt/connection.cpp: Move all the code which
+ was dealing with D-BUS integration to the Integrator class,
+ and start using Integrator,
+
+2003-11-23 Zack Rusin <zack@kde.org>
+
+ * qt/connection.h, qt/connection.cpp: Adding the DBusConnection
+ wrapper
+
+ * qt/message.h, qt/message.cpp: updating to the current D-BUS api,
+ switching namespaces to DBusQt, reworking the class,
+
+ * Makefile.cvs: switching dependencies so that it matches KDE
+ schematics,
+
+ * qt/Makefile.am: adding connection.{h,cpp} and message.{h,cpp} to
+ the library
+
+2003-11-19 Havoc Pennington <hp@redhat.com>
+
+ * NEWS: update
+
+ * configure.in: bump version to 0.20
+
+ * configure.in (have_qt): add yet another place to look for qt
+ (someone hand trolltech a .pc file...)
+
+2003-11-01 Havoc Pennington <hp@redhat.com>
+
+ * doc/dbus-specification.xml: add state machine docs on the auth
+ protocol; just a first draft, I'm sure it's wrong.
+
+2003-10-28 David Zeuthen <david@fubar.dk>
+
+ * python/dbus_bindings.pyx.in: add get_dict to handle dictionaries
+ return types. Fixup TYPE_* to reflect changes in dbus/dbus-protocol.h
+
+2003-10-28 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-message.c (get_next_field): delete unused function
+
+2003-10-28 Havoc Pennington <hp@redhat.com>
+
+ * bus/expirelist.c (do_expiration_with_current_time): detect
+ failure of the expire_func due to OOM
+
+ * bus/connection.c (bus_pending_reply_expired): return FALSE on OOM
+
+ * bus/dispatch.c (check_send_exit_to_service): fix to handle the
+ NoReply error that's now created by the bus when the service exits
+
+2003-10-28 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-message.c (_dbus_message_test): enable and fix the
+ tests for set_path, set_interface, set_member, etc.
+
+ * dbus/dbus-string.c (_dbus_string_insert_bytes): allow 0 bytes
+
+ * dbus/dbus-message.c (set_string_field): always just delete and
+ re-append the field; accept NULL for deletion
+ (re_align_fields_recurse): reimplement
+
+2003-10-26 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-connection.c: fix docs to properly describe the
+ disconnected message
+ (_dbus_connection_notify_disconnected): remove this function;
+ we can't synchronously add the disconnected message, we have to
+ do it after we've queued any remaining real messages
+ (_dbus_connection_get_dispatch_status_unlocked): queue the
+ disconnect message only if the transport has finished queueing all
+ its real messages and is disconnected.
+ (dbus_connection_disconnect): update the dispatch status here
+
+2003-10-22 Havoc Pennington <hp@redhat.com>
+
+ * bus/bus.c (bus_context_check_security_policy): fix up assertion
+
+ * bus/connection.c (bus_transaction_send_from_driver): set the
+ destination to the connection's base service
+
+2003-10-20 Havoc Pennington <hp@redhat.com>
+
+ hmm, make check is currently not passing.
+
+ * doc/dbus-specification.xml: add requirement that custom type
+ names follow the same rules as interface names.
+
+ * dbus/dbus-protocol.h: change some of the byte codes, to avoid
+ duplication and allow 'c' to be 'custom'; dict is now 'm' for
+ 'map'
+
+ * doc/dbus-specification.xml: update type codes to match
+ dbus-protocol.h, using the ASCII byte values. Rename type NAMED to
+ CUSTOM. Add type OBJECT_PATH to the spec.
+
+2003-10-17 Havoc Pennington <hp@redhat.com>
+
+ * bus/driver.c (create_unique_client_name): use "." as separator
+ in base service names instead of '-'
+
+ * dbus/dbus-string.c (_dbus_string_get_byte): allow getting nul
+ byte at the end of the string
+
+ * dbus/dbus-internals.h (_DBUS_LIKELY, _DBUS_UNLIKELY): add
+ optimization macros since string validation seems to be a slow
+ point.
+
+ * doc/dbus-specification.xml: restrict valid
+ service/interface/member/error names. Add test suite code for the
+ name validation.
+
+ * dbus/dbus-string.c: limit service/interface/member/error names
+ to [0-9][A-Z][a-z]_
+
+ * dbus/dbus-connection.c (dbus_connection_dispatch): add missing
+ format arg to verbose spew
+
+ * glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): if not out of
+ memory, return instead of g_error
+
+ * test/test-service.c (path_message_func): support emitting a
+ signal on request
+
+ * dbus/dbus-bus.c (init_connections_unlocked): only fill in
+ activation bus type if DBUS_BUS_ACTIVATION was set; default to
+ assuming the activation bus was the session bus so that services
+ started manually will still register.
+ (init_connections_unlocked): fix so that in OOM situation we get
+ the same semantics when retrying the function
+
+ * test/test-service.c (main): change to use path registration, to
+ test those codepaths; register with DBUS_BUS_ACTIVATION rather
+ than DBUS_BUS_SESSION
+
+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
+ gcc 3.3. Not that we do anything about it yet.
+
+ * bus/signals.c (bus_match_rule_parse): impose max length on the
+ match rule text
+
+ * dbus/dbus-protocol.h: add DBUS_MAXIMUM_MATCH_RULE_LENGTH
+
2003-10-09 Havoc Pennington <hp@redhat.com>
Make matching rules theoretically work (add parser).