+2005-01-28 Joe Shaw <joeshaw@novell.com>
+
+ * configure.in: Bump version up to 0.30.
+
+ * HACKING: Add a release item to bump the version number up after
+ a release.
+
+2005-01-28 Havoc Pennington <hp@redhat.com>
+
+ * doc/dbus-specification.xml: update to describe 16-bit types and
+ dict entries
+
+ * dbus/dbus-marshal-basic.c (_dbus_unpack_uint16): fix broken
+ assertion
+
+ * dbus/dbus-protocol.h (DBUS_TYPE_DICT_ENTRY): add DICT_ENTRY as a
+ type
+
+ * dbus/dbus-marshal-recursive.c: implement
+
+2005-01-27 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-arch-deps.h.in: add 16/32-bit types
+
+ * configure.in: find the right type for 16 and 32 bit ints as well
+ as 64
+
+ * dbus/dbus-protocol.h (DBUS_TYPE_INT16, DBUS_TYPE_UINT16): add
+ the 16-bit types so people don't have to stuff them in 32-bit or
+ byte arrays.
+
+2005-01-27 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-message.c: byteswap the message if you init an
+ iterator to read/write from it
+
+ * dbus/dbus-marshal-byteswap.c: new file implementing
+ _dbus_marshal_byteswap()
+
+ * dbus/dbus-marshal-basic.c: add _dbus_swap_array()
+
+2005-01-26 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-marshal-validate-util.c: break this out (and fix
+ build, apparently - nobody noticed?)
+
+2005-01-26 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-marshal-recursive.h: remove todo comment
+
+2005-01-25 Joe Shaw <joeshaw@novell.com>
+
+ * Land the mono binding changes to conform to the new APIs.
+
+ * mono/Makefile.am: Remove Custom.cs, DBusType/Custom.cs,
+ DBusType/Dict.cs, and DBusType/Nil.cs from the build.
+
+ * mono/Arguments.cs (GetCodeAsString): Added. Returns the dbus
+ type code as a string.
+ (InitAppending): Rename dbus_message_append_iter_init() to
+ dbus_message_iter_init_append().
+
+ * mono/BusDriver.cs: Rename ServiceEventHandler to
+ NameOwnerChangedHandler. Rename GetServiceOwner to GetOwner.
+ Rename ServiceOwnerChanged to NameOwnerChanged.
+
+ * mono/Connection.cs: Rename BaseService to UniqueName, and the
+ underlying C call.
+
+ * mono/Custom.cs: Removed. The CUSTOM type has been removed.
+
+ * mono/Service.cs: Rename Exists to HasOwner, internally rename
+ dbus_bus_acquire_service() to dbus_bus_request_name().
+
+ * mono/DBusType/Array.cs (ctor): Use Type.GetElementType() instead
+ of Type.UnderlyingSystemType to get the correct element type for
+ the array.
+ (ctor): Update code for new APIs: use dbus_message_iter_recurse(),
+ dbus_message_get_{element|arg}_type() instead of
+ dbus_message_iter_init_array_iterator().
+ (Append): Replace dbus_message_iter_append_array() with
+ dbus_message_iter_open_container() and
+ dbus_message_iter_close_container().
+
+ * mono/DBusType/Custom.cs, mono/DBusType/Nil.cs: Removed. These
+ types have been removed.
+
+ * mono/DBusType/*.cs: Replace calls of
+ dbus_message_iter_get_[type]() to dbus_message_iter_get_basic(),
+ but specify the type in the DllImport extern declaration. Ditto
+ for dbus_message_iter_append_[type]() ->
+ dbus_message_iter_append_basic().
+
+ * mono/example/BusListener.cs: Update for ServiceEventHandler ->
+ NameOwnerChangedHandler.
+
+2005-01-25 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/dbus_bindings.pyx.in: Rename of methods and bindings
+ - get_base_service -> get_unique_name
+ - bus_get_base_service -> bus_get_unique_name
+ - dbus_bus_get_base_service -> dbus_bus_get_unique_name
+ - ACTIVATION_REPLY_ACTIVATED -> DBUS_START_REPLY_SUCCESS
+ - ACTIVATION_REPLY_ALREADY_ACTIVE -> DBUS_START_REPLY_ALREADY_RUNNING
+ - bus_activate_service -> bus_start_service_by_name
+ - dbus_bus_activate_service -> dbus_bus_start_service_by_name
+ - bus_acquire_service -> bus_request_name
+ - dbus_bus_acquire_service -> dbus_bus_request_name
+ - bus_service_exists -> bus_name_has_owner
+ - dbus_bus_service_exists -> dbus_bus_name_has_owner
+
+ * python/dbus.py: Rename of methods
+ - activate_service -> start_service_by_name
+ - bus_acquire_service -> bus_request_name
+ - ACTIVATION_REPLY_ACTIVATED -> START_REPLY_SUCCESS
+ - ACTIVATION_REPLY_ALREADY_ACTIVE -> START_REPLY_ALREADY_RUNNING
+
+
+2005-01-24 Joe Shaw <joeshaw@novell.com>
+
+ * dbus/dbus-connection.c (dbus_connection_dispatch): Print out the
+ signature for the method that can't be found.
+
+ * dbus/dbus-message.c (dbus_message_iter_init): To check to see if
+ the message has any arguments, we need to call
+ _dbus_type_reader_get_current_type(), not
+ _dbus_type_reader_has_next().
+
+2005-01-24 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-message-factory.c: more testing of message validation
+
+ * dbus/dbus-protocol.h (DBUS_MINIMUM_HEADER_SIZE): move to this
+ header
+
+2005-01-23 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-message-factory.c, dbus/dbus-message-util.c:
+ get this all working, not many tests in the framework yet though
+
+2005-01-22 Havoc Pennington <hp@redhat.com>
+
+ * doc/dbus-faq.xml, doc/dbus-tutorial: add a FAQ and update
+ tutorial, based on work from David Wheeler.
+
+2005-01-21 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-bus.c: add more return_if_fail checks
+
+ * dbus/dbus-message.c (load_message): have the "no validation"
+ mode (have to edit the code to toggle the mode for now though)
+
+ * dbus/dbus-marshal-header.c (_dbus_header_load): have a mode that
+ skips all validation; I want to use this at least for benchmark
+ baseline, I'm not sure if it should be a publicly-available switch.
+
+2005-01-21 Havoc Pennington <hp@redhat.com>
+
+ * glib/dbus-gmain.c: don't put the GLib bindings in the same
+ toplevel doxygen group as the low-level API stuff
+
+ * dbus/dbus.h: note that libdbus is the low-level API
+
+2005-01-20 Havoc Pennington <hp@redhat.com>
+
+ * update-dbus-docs.sh: script to update docs on the web site, only
+ works for me though. neener.
+
+2005-01-20 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-sysdeps.c (_dbus_poll): amazingly, trying to compile
+ code can reveal bugs in it
+
+2005-01-20 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-sysdeps.c (_dbus_poll): fix several bugs in the
+ select() version, patches from Tor Lillqvist
+
+2005-01-20 Havoc Pennington <hp@redhat.com>
+
+ * doc/dbus-tutorial.xml: replace > with >
+
+ * bus/services.c (bus_registry_acquire_service): validate the name
+ and return a better error if it's no good.
+
+ * doc/dbus-specification.xml: note NO_AUTO_START change
+
+ * dbus/dbus-protocol.h (DBUS_HEADER_FLAG_NO_AUTO_START): change
+ from AUTO_START, we're toggling the default
+
+ * bus/dispatch.c: adapt the tests to change of auto-start default
+
+2005-01-18 Havoc Pennington <hp@redhat.com>
+
+ * rename dbus-daemon-1 to dbus-daemon throughout
+
+2005-01-18 Havoc Pennington <hp@redhat.com>
+
+ * Throughout, grand renaming to strip out the use of "service",
+ just say "name" instead (or "bus name" when ambiguous). Did not
+ change the internal code of the message bus itself, only the
+ programmer-facing API and messages.
+
+ * doc/dbus-specification.xml: further update the message bus section
+
+ * bus/config-parser.c (all_are_equiv): fix bug using freed string
+ in error case
+
+2005-01-17 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-types.h: remove 16-bit types since we don't use them
+ ever
+
+ * dbus/dbus-marshal-validate.c (_dbus_validate_path): disallow any
+ "invalid name character" not only non-ASCII
+
+ * doc/dbus-specification.xml: further update spec, message bus
+ parts are still out-of-date but the marshaling etc. stuff is now
+ accurate-ish
+
+2005-01-17 Havoc Pennington <hp@redhat.com>
+
+ * doc/dbus-specification.xml: partially update spec
+
+2005-01-17 Havoc Pennington <hp@redhat.com>
+
+ * Throughout, align variant bodies according to the contained
+ type, rather than always to 8. Should save a fair bit of space in
+ message headers.
+
+ * dbus/dbus-marshal-validate.c (_dbus_validate_body_with_reason):
+ fix handling of case where p == end
+
+ * doc/TODO: remove the dbus_bool_t item and variant alignment items
+
+2005-01-17 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-types.h: hardcode dbus_bool_t to 32 bits
+
+ * Throughout: modify DBUS_TYPE_BOOLEAN to be a 32-bit type instead
+ of an 8-bit type. Now dbus_bool_t is the type to use whenever you
+ are marshaling/unmarshaling a boolean.
+
+2005-01-16 Havoc Pennington <hp@redhat.com>
+
+ This is about it on what can be disabled/deleted from libdbus
+ easily, back below 150K anyhow. Deeper cuts are more work than
+ just turning the code off as I've done here.
+
+ * dbus/dbus-marshal-basic.c (_dbus_pack_int32): we don't need the
+ signed int convenience funcs
+
+ * dbus/dbus-internals.c (_dbus_verbose_real): omit when not in
+ verbose mode
+
+ * dbus/dbus-string-util.c, dbus/dbus-string.c: more breaking
+ things out of libdbus
+
+ * dbus/dbus-sysdeps.c, dbus/dbus-sysdeps-util.c: same
+
+ * dbus/dbus-hash.c: purge the TWO_STRINGS crap (well, make it
+ tests-enabled-only, though it should probably be deleted)
+
+ * dbus/dbus-message-util.c: same stuff
+
+ * dbus/dbus-auth-util.c: same stuff
+
+2005-01-16 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-userdb-util.c: split out part of dbus-userdb.c
+
+ * dbus/dbus-sysdeps.c (_dbus_uid_from_string): move here to pave
+ way for stripping down dbus-userdb.c stuff included in libdbus.
+ Rename _dbus_parse_uid for consistency.
+
+2005-01-16 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-internals.c (_dbus_real_assert): print the function
+ name the assertion failed in
+
+ * dbus/dbus-internals.h (_dbus_return_if_fail)
+ (_dbus_return_val_if_fail): assert that the name of the function
+ containing the check doesn't start with '_', since we only want to
+ use checks on public functions
+
+ * dbus/dbus-connection.c (_dbus_connection_ref_unlocked): change
+ checks to assertions
+
+ * dbus/dbus-marshal-header.c (_dbus_header_set_field_basic):
+ change checks to asserts for private function
+
+ * dbus/dbus-message.c (_dbus_message_set_serial): checks
+ to asserts for private function
+
+ * dbus/dbus-marshal-recursive.c (skip_one_complete_type): remove
+ broken assertion that was breaking make check
+ (_dbus_type_reader_array_is_empty): remove this rather than fix
+ it, was only used in assertions
+
+2005-01-16 Havoc Pennington <hp@redhat.com>
+
+ * test/unused-code-gc.py: hacky script to find code that's used
+ only by the bus (not libdbus) or used only by tests or not used at
+ all. It has some false alarms, but looks like we can clean up a
+ lot of size from libdbus.
+
+ * dbus/dbus-sysdeps.c, dbus/dbus-sysdeps-utils.c,
+ dbus/Makefile.am: initially move 10K of binary size out of libdbus
+
+2005-01-16 Havoc Pennington <hp@redhat.com>
+
+ * Add and fix docs according to Doxygen warnings throughout
+ source.
+
+ * dbus/dbus-marshal-recursive.c
+ (_dbus_type_reader_array_is_empty): change this to just call
+ array_reader_get_array_len() and make it static
+
+ * dbus/dbus-message.c (dbus_message_iter_get_element_type): rename
+ from get_array_type
+ (dbus_message_iter_init_append): rename from append_iter_init
+
+ * dbus/dbus-marshal-recursive.c
+ (_dbus_type_reader_get_element_type): rename from
+ _dbus_type_reader_get_array_type
+
+2005-01-15 Havoc Pennington <hp@redhat.com>
+
+ * test/glib/test-profile.c (with_bus_server_filter): fix crash
+
+ * dbus/dbus-marshal-basic.c (_dbus_unpack_uint32): inline as macro
+ when DBUS_DISABLE_ASSERT
+ (_dbus_marshal_set_basic): be sure we align for the string length
+
+ * dbus/dbus-marshal-recursive.c (skip_one_complete_type): make
+ this look faster
+
+ * dbus/dbus-string.c (_dbus_string_get_const_data_len): add an
+ inline macro version
+ (_dbus_string_set_byte): provide inline macro version
+
+2005-01-15 Havoc Pennington <hp@redhat.com>
+
+ * Land the new message args API and type system.
+
+ This patch is huge, but the public API change is not
+ really large. The set of D-BUS types has changed somewhat,
+ and the arg "getters" are more geared toward language bindings;
+ they don't make a copy, etc.
+
+ There are also some known issues. See these emails for details
+ on this huge patch:
+ http://lists.freedesktop.org/archives/dbus/2004-December/001836.html
+ http://lists.freedesktop.org/archives/dbus/2005-January/001922.html
+
+ * dbus/dbus-marshal-*: all the new stuff
+
+ * dbus/dbus-message.c: basically rewritten
+
+ * dbus/dbus-memory.c (check_guards): with "guards" enabled, init
+ freed blocks to be all non-nul bytes so using freed memory is less
+ likely to work right
+
+ * dbus/dbus-internals.c (_dbus_test_oom_handling): add
+ DBUS_FAIL_MALLOC=N environment variable, so you can do
+ DBUS_FAIL_MALLOC=0 to skip the out-of-memory checking, or
+ DBUS_FAIL_MALLOC=10 to make it really, really, really slow and
+ thorough.
+
+ * qt/message.cpp: port to the new message args API
+ (operator<<): use str.utf8() rather than str.unicode()
+ (pretty sure this is right from the Qt docs?)
+
+ * glib/dbus-gvalue.c: port to the new message args API
+
+ * bus/dispatch.c, bus/driver.c: port to the new message args API
+
+ * dbus/dbus-string.c (_dbus_string_init_const_len): initialize the
+ "locked" flag to TRUE and align_offset to 0; I guess we never
+ looked at these anyhow, but seems cleaner.
+
+ * dbus/dbus-string.h (_DBUS_STRING_ALLOCATION_PADDING):
+ move allocation padding macro to this header; use it to implement
+ (_DBUS_STRING_STATIC): ability to declare a static string.
+
+ * dbus/dbus-message.c (_dbus_message_has_type_interface_member):
+ change to return TRUE if the interface is not set.
+
+ * dbus/dbus-string.[hc]: move the D-BUS specific validation stuff
+ to dbus-marshal-validate.[hc]
+
+ * dbus/dbus-marshal-basic.c (_dbus_type_to_string): move here from
+ dbus-internals.c
+
+ * dbus/Makefile.am: cut over from dbus-marshal.[hc]
+ to dbus-marshal-*.[hc]
+
+ * dbus/dbus-object-tree.c (_dbus_decompose_path): move this
+ function here from dbus-marshal.c
+
+2005-01-12 Joe Shaw <joeshaw@novell.com>
+
+ * NEWS: Update for 0.23.
+
+ * configure.in: Release 0.23.
+
+2005-01-12 Joe Shaw <joeshaw@novell.com>
+
+ * mono/Makefile.am, mono/example/Makefile.am: Always build the
+ dbus DLL with --debug. Clean up after the .mdb files this leaves
+ behind.
+
+ * mono/doc/Makefile.am: Need to uninstall the docs on "make
+ uninstall"
+
+ * mono/Arguments.cs (GetDBusTypeConstructor): If the type
+ is an enum, get the enum's underlying type. Another mono
+ 1.1.3 fix.
+
+2005-01-11 Joe Shaw <joeshaw@novell.com>
+
+ Patch from Sjoerd Simons <sjoerd@luon.net>
+
+ * mono/Makefile.am, mono/example/Makefile.am: Don't redefine
+ DESTDIR. It breaks stuff.
+
+2005-01-11 Joe Shaw <joeshaw@novell.com>
+
+ Patch from Tambet Ingo <tambet@ximian.com>
+
+ * mono/DBusType/Array.cs (Get): Get the underlying element type by
+ calling type.GetElementType(). The code previously depended on
+ broken Mono behavior, which was fixed in Mono 1.1.3.
+
+ * mono/DBusType/Dict.cs (constructor): Fix the parameters for
+ Activator.CreateInstance() so that the class's constructor is
+ called with the right parameters.
+
+2005-01-11 Joe Shaw <joeshaw@novell.com>
+
+ Patch from Timo Teräs <ext-timo.teras@nokia.com>
+
+ * dbus/dbus-connection.c
+ (_dbus_connection_queue_received_message_link): Call
+ _dbus_connection_remove_timeout() instead of the _locked()
+ variant, since it's always called from
+ _dbus_connection_handle_watch(), which handles the locking.
+ Removed the _locked() variant since it's no longer used.
+
+2005-01-03 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-internals.h: I'm an idiot, _dbus_assert certainly can
+ return
+
+2004-12-26 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-internals.h: add _DBUS_GNUC_NORETURN to _dbus_assert
+
+2005-01-03 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-sysdeps.c (_dbus_sysdeps_test): fix using == on
+ floating point
+
+ * dbus/dbus-string.c (_dbus_string_insert_alignment): new function
+
+2005-01-02 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-internals.h (_DBUS_ALIGN_OFFSET): new macro
+
+2005-01-01 Havoc Pennington <hp@redhat.com>
+
+ * configure.in: add -Wfloat-equal
+
+2005-01-01 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-sysdeps.h: add _DBUS_DOUBLES_BITWISE_EQUAL macro,
+ for a variety of reasons '==' doesn't do this.
+
+2004-12-31 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-string.c (_dbus_string_equal_substrings): new function
+ I keep wishing I had
+
+2004-12-30 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/dbus.py: s/ACTIVATION_REPLY_ACTIVE/ACTIVATION_REPLY_ACTIVATED
+
+2004-12-30 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/dbus_bindings.pyx.in: Change DBUS_ACTIVATION_REPLY_ACTIVATED
+ and DBUS_ACTIVATION_REPLY_ALREADY_ACTIVE to match the values in
+ dbus-protocol.h. Because they are defines and not enums they are not
+ autogenerated.
+
+2004-12-26 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/dbus_bindings.pyx.in (bus_activate_service): Bind
+ dbus_bus_activate_service
+
+ * python/dbus.py (Bus.activate_service): activate a service on the
+ bus.
+
+2004-12-24 Havoc Pennington <hp@redhat.com>
+
+ * test/decode-gcov.c: change to use .gcno and .gcda files, but the
+ file format has also changed and I haven't adapted to that yet
+
+ * Makefile.am: load .gcno files from latest gcc
+
+2004-12-23 John (J5) Palmieri <johnp@redhat.com>
+ * Patch from Rob Taylor <robtaylor@fastmail.fm>
+
+ * python/dbus_bindings.pyx.in (bus_get_unix_user): New
+ lowlevel binding
+
+ * python/dbus.py (get_unix_user): Added binding to
+ call dbus_bindings.bus_get_unix_user
+
+ * python/extract.py: Modified the proto_pat regex to
+ handle unsigned long
+
+2004-12-21 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * dbus/make-dbus-glib-error-enum.sh: omit the function keyword for
+ better POSIX compliance.
+
+2004-12-19 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-string.c (_dbus_string_insert_4_aligned)
+ (_dbus_string_insert_8_aligned): new functions
+
+ * dbus/dbus-string.c (_dbus_string_alloc_space): new function
+
+2004-12-18 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-string.c (_dbus_string_validate_ascii): use ISASCII
+ macro
+
+ * dbus/dbus-message.c: fix a comment, and add a still-unused
+ not-implemented function
+
+ * dbus/dbus-marshal.h: fix comment
+
+ * dbus/dbus-internals.h (_DBUS_ISASCII): new macro
+
+2004-12-17 Joe Shaw <joeshaw@novell.com>
+
+ * mono/DBusType/Byte.cs, mono/DBusType/Int32.cs,
+ mono/DBusType/Int64.cs, mono/DBusType/UInt32.cs,
+ mono/DBusType/UInt64.cs: Use Enum.GetUnderlyingType() instead of
+ Type.UnderlyingSystemType to get the actual system type
+ underneath. This code previously depended on the broken Mono
+ behavior, which was fixed in 1.1.3.
+
+2004-11-27 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-string.h (_dbus_string_get_byte): inline when asserts
+ are disabled
+ (_dbus_string_get_const_data): inline when asserts are disabled
+
+ * dbus/dbus-message.c: record the _dbus_current_generation of
+ creation so we can complain if dbus_shutdown() is used improperly.
+ Do this only if checks are enabled.
+
+ * dbus/dbus-connection.c: ditto
+
+2004-11-26 Havoc Pennington <hp@redhat.com>
+
+ * test/glib/test-profile.c: add with_bus mode to profile echoes
+ that go through the bus.
+
+ * test/glib/run-test.sh: add ability to run test-profile
+
+ * bus/dbus-daemon-1.1.in: fix to say that SIGHUP causes partial
+ config file reload.
+
+2004-11-26 Havoc Pennington <hp@redhat.com>
+
+ * test/glib/test-profile.c: clean up how the fake_malloc_overhead
+ thing was implemented
+
+2004-11-26 Havoc Pennington <hp@redhat.com>
+
+ * test/glib/test-profile.c: tweak a bit, add support for some
+ made-up minimal malloc overhead with plain sockets, since in
+ real life some sort of buffers are unavoidable thus we could
+ count them in the theoretical best case
+
+2004-11-26 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-message.c (dbus_message_cache_or_finalize): fix bug
+ where I was trying to cache one too many messages
+
+2004-11-26 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-message.c: reimplement message cache as an array which
+ makes the cache about twice as fast and saves maybe 1.5% overall
+
+2004-11-26 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-threads.c (init_global_locks): forgot to put the
+ message cache lock here
+
+2004-11-26 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-message.c (struct DBusMessage): put the locked bit and
+ the "char byte_order" next to each other to save 4 bytes
+ (dbus_message_new_empty_header): reduce preallocation, since the
+ message cache should achieve a similar effect
+ (dbus_message_cache_or_finalize, dbus_message_get_cached): add a
+ message cache that keeps a few DBusMessage around in a pool,
+ another 8% speedup or so.
+
+ * dbus/dbus-dataslot.c (_dbus_data_slot_list_clear): new function
+
+2004-11-25 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-transport-unix.c (unix_do_iteration): if we're going
+ to write, without reading or blocking, try it before the poll()
+ and skip the poll() if nothing remains to write. This is about a
+ 3% speedup in the echo client/server
+
+2004-11-25 Havoc Pennington <hp@redhat.com>
+
+ The primary change here is to always write() once before adding
+ the write watch, which gives us about a 10% performance increase.
+
+ * dbus/dbus-transport-unix.c: a number of modifications to cope
+ with removing messages_pending
+ (check_write_watch): properly handle
+ DBUS_AUTH_STATE_WAITING_FOR_MEMORY; adapt to removal of
+ messages_pending stuff
+ (check_read_watch): properly handle WAITING_FOR_MEMORY and
+ AUTHENTICATED cases
+ (unix_handle_watch): after writing, see if the write watch can be
+ removed
+ (unix_do_iteration): assert that write_watch/read_watch are
+ non-NULL rather than testing that they aren't, since they
+ aren't allowed to be NULL. check_write_watch() at the end so
+ we add the watch if we did not finish writing (e.g. got EAGAIN)
+
+ * dbus/dbus-transport-protected.h: remove messages_pending call,
+ since it resulted in too much inefficient watch adding/removing;
+ instead we now require that the transport user does an iteration
+ after queueing outgoing messages, and after trying the first
+ write() we add a write watch if we got EAGAIN or exceeded our
+ max bytes to write per iteration setting
+
+ * dbus/dbus-string.c (_dbus_string_validate_signature): add this
+ function
+
+ * dbus/dbus-server-unix.c (unix_finalize): the socket name was
+ freed and then accessed, valgrind flagged this bug, fix it
+
+ * dbus/dbus-message.c: fix several bugs where HEADER_FIELD_LAST was taken
+ as the last valid field plus 1, where really it is equal to the
+ last valid field. Corrects some message corruption issues.
+
+ * dbus/dbus-mainloop.c: verbosity changes
+
+ * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): handle OOM
+ instead of aborting in one of the test codepaths
+
+ * dbus/dbus-internals.c (_dbus_verbose_real): fix a bug that
+ caused not printing the pid ever again if a verbose was missing
+ the newline at the end
+ (_dbus_header_field_to_string): add HEADER_FIELD_SIGNATURE
+
+ * dbus/dbus-connection.c: verbosity changes;
+ (dbus_connection_has_messages_to_send): new function
+ (_dbus_connection_message_sent): no longer call transport->messages_pending
+ (_dbus_connection_send_preallocated_unlocked): do one iteration to
+ try to write() immediately, so we can avoid the write watch. This
+ is the core purpose of this patchset
+ (_dbus_connection_get_dispatch_status_unlocked): if disconnected,
+ dump the outgoing message queue, so nobody will get confused
+ trying to send them or thinking stuff is pending to be sent
+
+ * bus/test.c: verbosity changes
+
+ * bus/driver.c: verbosity/assertion changes
+
+ * bus/dispatch.c: a bunch of little tweaks to get it working again
+ because this patchset changes when/where you need to block.
+
+2004-11-23 Havoc Pennington <hp@redhat.com>
+
+ * test/glib/test-profile.c: modify to accept a plain_sockets
+ argument in which case it will bench plain sockets instead of
+ libdbus, for comparison purposes.
+
+2004-11-22 Havoc Pennington <hp@redhat.com>
+
+ * test/glib/test-profile.c (N_CLIENT_THREADS): run multiple
+ threads for more time, so sysprof can get a grip on it.
+
+ * dbus/dbus-string.c (_dbus_string_validate_utf8): remove
+ pointless variable
+
+2004-11-13 Havoc Pennington <hp@redhat.com>
+
+ * test/glib/test-profile.c: fix this thing up a bit
+
+ * dbus/dbus-message.c (dbus_message_new_empty_header): increase
+ preallocation sizes by a fair bit; not sure if this will be an
+ overall performance win or not, but it does reduce reallocs.
+
+ * dbus/dbus-string.c (set_length, reallocate_for_length): ignore
+ the test hack that forced constant realloc if asserts are
+ disabled, so we can profile sanely. Sprinkle in some
+ _DBUS_UNLIKELY() which are probably pointless, but before I
+ noticed the real performance problem I put them in.
+ (_dbus_string_validate_utf8): micro-optimize this thing a little
+ bit, though callgrind says it didn't help; then special-case
+ ascii, which did help a lot; then be sure we detect nul bytes as
+ invalid, which is a bugfix.
+ (align_length_then_lengthen): add some more _DBUS_UNLIKELY
+ superstition; use memset to nul the padding instead of a manual
+ loop.
+ (_dbus_string_get_length): inline this as a
+ macro; it showed up in the profile because it's used for loop
+ tests and so forth
+
+2004-11-10 Colin Walters <walters@verbum.org>
+
+ * dbus/dbus-spawn.c (check_babysit_events): Handle EINTR,
+ for extra paranoia.
+
+2004-11-09 Colin Walters <walters@verbum.org>
+
+ * dbus/dbus-string.c (_dbus_string_get_length): New
+ function, writes DBusString to C buffer.
+
+ * dbus/dbus-string.h: Prototype it.
+
+ * dbus/dbus-message.c (dbus_message_type_to_string): New
+ function, converts message type into C string.
+
+ * dbus/dbus-message.h: Prototype it.
+
+ * bus/selinux.c (bus_selinux_check): Take source pid,
+ target pid, and audit data. Pass audit data to
+ avc_has_perm.
+ (log_audit_callback): New function, appends extra
+ audit information.
+ (bus_selinux_allows_acquire_service): Also take
+ service name, add it to audit data.
+ (bus_selinux_allows_send): Also take message
+ type, interface, method member, error name,
+ and destination, and add them to audit data.
+ (log_cb): Initialize func_audit.
+
+ * bus/selinux.h (bus_selinux_allows_acquire_service)
+ (bus_selinux_allows_send): Update prototypes
+
+ * bus/services.c (bus_registry_acquire_service): Pass
+ service name to bus_selinux_allows_acquire_service.
+
+ * bus/bus.c (bus_context_check_security_policy): Pass
+ additional audit data. Move assignment of dest
+ to its own line.
+
+2004-11-07 Colin Walters <walters@verbum.org>
+
+ * dbus/dbus-transport-unix.c (do_authentication): Always
+ initialize auth_completed.
+
+2004-11-07 Colin Walters <walters@verbum.org>
+
+ * bus/bus.c (load_config): Break into three
+ separate functions: process_config_first_time_only,
+ process_config_every_time, and process_config_postinit.
+ (process_config_every_time): Move call of
+ bus_registry_set_service_context_table into
+ process_config_postinit.
+ (process_config_postinit): New function, does
+ any processing that needs to happen late
+ in initialization (and also on reload).
+ (bus_context_new): Instead of calling load_config,
+ open config parser here and call process_config_first_time_only
+ and process_config_every_time directly. Later, after
+ we have forked but before changing UID,
+ invoke bus_selinux_full_init, and then call
+ process_config_postinit.
+ (bus_context_reload_config): As in bus_context_new,
+ load parse file inside here, and call process_config_every_time
+ and process_config_postinit.
+
+ * bus/services.h, bus/services.c
+ (bus_registry_set_service_context_table): Rename
+ from bus_registry_set_sid_table. Take string hash from config
+ parser, and convert them here into SIDs.
+
+ * bus/config-parser.c (struct BusConfigParser): Have
+ config parser only store a mapping of service->context
+ string.
+ (merge_service_context_hash): New function.
+ (merge_included): Merge context string hashes instead
+ of using bus_selinux_id_table_union.
+ (bus_config_parser_new): Don't use bus_selinux_id_table_new;
+ simply create a new string hash.
+ (bus_config_parser_unref): Unref it.
+ (start_selinux_child): Simply insert strings into hash,
+ don't call bus_selinux_id_table_copy_over.
+
+ * bus/selinux.h, bus/selinux.c (bus_selinux_id_table_union)
+ (bus_selinux_id_table_copy_over): Delete.
+
+2004-11-03 Colin Walters <walters@verbum.org>
+
+ * bus/selinux.c (bus_selinux_pre_init): Kill some unused
+ variables.
+
+2004-11-03 Colin Walters <walters@verbum.org>
+
+ * bus/test-main.c (test_pre_hook): Fix test logic,
+ thanks Joerg Barfurth <Joerg.Barfurth@Sun.COM>.
+
+2004-11-02 Colin Walters <walters@redhat.com>
+
+ * bus/selinux.c (bus_selinux_init): Split into two functions,
+ bus_selinux_pre_init and bus_selinux_post_init.
+ (bus_selinux_pre_init): Just determine whether SELinux is
+ enabled.
+ (bus_selinux_post_init): Do everything else.
+
+ * bus/main.c (main): Call bus_selinux_pre_init before parsing
+ config file, and bus_selinux_post_init after. This ensures that
+ we don't lose the policyreload notification thread that
+ bus_selinux_init created before forking previously.
+
+ * bus/test-main.c (test_pre_hook): Update for split.
+
+2004-10-31 Owen Fraser-Green <owen@discobabe.net>
+
+ Patch from Johan Fischer <linux@fischaz.com>
+
+ * mono/doc/Makefile.am (install-data-local): Added directory
+ install for DESTDIR
+
+2004-10-29 Colin Walters <walters@redhat.com>
+
+ * dbus/dbus-sysdeps.h (_dbus_become_daemon): Also take
+ parameter for fd to write pid to.
+
+ * dbus/dbus-sysdeps.c (_dbus_become_daemon): Implement it.
+
+ * bus/bus.c (bus_context_new): Pass print_pid_fd
+ to _dbus_become_daemon (bug #1720)
+
+2004-10-29 Colin Walters <walters@redhat.com>
+
+ Patch from Ed Catmur <ed@catmur.co.uk>
+
+ * mono/doc/Makefile.am (install-data-local): Handle
+ DESTDIR.
+
+2004-10-29 Colin Walters <walters@redhat.com>
+
+ * bus/.cvsignore, qt/.cvsignore: Update.
+
+2004-10-29 Colin Walters <walters@redhat.com>
+
+ Patch from Kristof Vansant <de_lupus@pandora.be>
+
+ * configure.in: Detect Slackware.
+ * bus/Makefile.am (SCRIPT_IN_FILES): Add rc.messagebus.in.
+ * bus/rc.messagebus.in: New file.
+
+2004-10-29 Colin Walters <walters@redhat.com>
+
+ * tools/dbus-monitor.c (filter_func): Return
+ DBUS_HANDLER_RESULT_HANDLED in filter function
+ for now. See:
+ http://freedesktop.org/pipermail/dbus/2004-August/001433.html
+
+2004-10-29 Colin Walters <walters@redhat.com>
+
+ Patch from Matthew Rickard <mjricka@epoch.ncsc.mil>
+
+ * bus/services.c (bus_registry_acquire_service):
+ Correctly retrieve service name from DBusString
+ for printing.
+
+2004-10-29 Colin Walters <walters@redhat.com>
+
+ * dbus/dbus-glib.h: Update documentation to not
+ refer to internal APIs.
+
+2004-10-27 Joe Shaw <joeshaw@novell.com>
+
+ * mono/Arguments.cs (GetDBusTypeConstructor):
+ type.UnderlyingSystemType will return "System.Byte" if you do it
+ on "byte[]", which is not what we want. So check the type.IsArray
+ property and use System.Array instead.
+
+2004-10-25 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-sysdeps.c (fill_user_info): On errors do not free
+ the DBusUserInfo structure since this is passed into the function.
+ This would cause a double free when the function that allocated
+ the structure would try to free it when an error occured.
+
+ * (bus/session.conf.in, bus/Makefile.am, dbus/configure.in):
+ use /usr/share/dbus-1/services instead of /usr/lib/dbus-1.0/services
+ for service activation to avoid 32bit/64bit parallel install issues
+
2004-10-21 Colin Walters <walters@verbum.org>
* AUTHORS: Fix my email address, the @gnu.org one