summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn (J5) Palmieri <johnp@redhat.com>2007-05-25 20:49:50 +0000
committerJohn (J5) Palmieri <johnp@redhat.com>2007-05-25 20:49:50 +0000
commitfdbcd4580bc0e4096114ce1939b0ad8f92ab41cf (patch)
tree725ad9bc4961976b7aa0dae253bf65ca27f82132
parente57cb0eb19c8b4f1f3d39b97db4cb7f0f7ad4ec9 (diff)
* Split NEWS and ChangeLog into a .pre-1-0 file as per HACKING
We forgot to do this during the 1.0 release and it makes sense now as we get ready to release the first 1.1.0 development tarball
-rw-r--r--ChangeLog15156
-rw-r--r--ChangeLog.pre-1-015146
-rw-r--r--NEWS.pre-1-0614
3 files changed, 15768 insertions, 15148 deletions
diff --git a/ChangeLog b/ChangeLog
index 08ee0333..c3369d22 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2007-05-25 John (J5) Palmieri <johnp@redhat.com>
+ * Split NEWS and ChangeLog into a .pre-1-0 file as per HACKING
+ We forgot to do this during the 1.0 release and it makes sense
+ now as we get ready to release the first 1.1.0 development tarball
+
+2007-05-25 John (J5) Palmieri <johnp@redhat.com>
+
* create directory test/data/valid-config-files/session.d so that
make check passes
@@ -476,7 +482,7 @@
2006-12-31 Ralf Habacker <ralf.habacker@freenet.de>
* dbus/dbus-marshal-recursive.c (type DBusTypeReaderClass):
- fix mispaced const statement. - Patch from Peter Kümmel
+ fix mispaced const statement. - Patch from Peter Kümmel
2006-12-19 Ray Strode <rstrode@redhat.com>
@@ -555,7 +561,7 @@
2006-12-12 John (J5) Palmieri <johnp@redhat.com>
* bus/signal.c: Fix match_rule_equal errata
- (CVE-2006-6107 - Patch from Kimmo Hämäläinen
+ (CVE-2006-6107 - Patch from Kimmo Hämäläinen
<kimmo.hamalainen@nokia.com>)
2006-11-19 Thiago Macieira <thiago@kde.org>
@@ -609,15149 +615,3 @@
instead of _dbus_threads_init_debug since it is more of a real world
test
-2006-11-09 John (J5) Palmieri <johnp@redhat.com>
-
- * Released 1.0.0
-
-2006-11-09 John (J5) Palmieri <johnp@redhat.com>
-
- * AUTHORS: added Peter and Tor of windows porting fame
-
-2006-11-08 Havoc Pennington <hp@redhat.com>
-
- * doc/dbus-specification.xml: add a note about protocol stability
-
- * doc/TODO: Remove "important for 1.0" section, replace with
- "important for 1.2" section
-
-2006-11-08 John (J5) Palmieri <johnp@redhat.com>
-
- * README: remove some of the out of date flags
-
- * doc/TODO: Remove todo items which are done
-
-2006-11-08 John (J5) Palmieri <johnp@redhat.com>
-
- * tools/dbus-monitor.c: Handle sigint so we flush stdout
- (Patch from Olli Salli <olli dot salli at collabora dot co dot uk>)
-
-2006-11-08 John (J5) Palmieri <johnp@redhat.com>
-
- * tools/dbus-monitor.1: update the manpage for dbus-monitor
- (Patch from Olli Salli <olli dot salli at collabora dot co dot uk>)
-
-2006-11-08 John (J5) Palmieri <johnp@redhat.com>
-
- * AUTHORS: Update with all people listed in the ChangeLog
-
-2006-11-08 John (J5) Palmieri <johnp@redhat.com>
-
- * tools/dbus-monitor.c: add profiling tools to dbus-monitor
- (Patch from Olli Salli <olli dot salli at collabora dot co dot uk>)
-
-2006-11-07 Havoc Pennington <hp@redhat.com>
-
- * HACKING: Update release instructions to include stuff about
- stable releases, branching, etc. May not be totally correct,
- please fix if needed, but keep instructions up-to-date so we do
- each stable release consistently in the future.
-
-2006-11-07 Havoc Pennington <hp@redhat.com>
-
- * doc/dbus-specification.xml, doc/dbus-faq.xml, README: various
- documentation updates. Bump faq/spec versions (not to 1.0; I don't
- think the spec will be "finished"/1.0 when we ship the 1.0 library).
-
-2006-11-06 John (J5) Palmieri <johnp@redhat.com>
-
- * bus/bus.c: Missed patch - pass in the context to the directory watch
-
-2006-11-02 John (J5) Palmieri <johnp@redhat.com>
-
- * Released D-Bus 1.0 RC 3(0.95)
-
-2006-11-02 John (J5) Palmieri <johnp@redhat.com>
-
- * bus/activation.c (bus_activation_new): don't fail if we can not read
- the directory as it may not exist
-
-2006-11-02 John (J5) Palmieri <johnp@redhat.com>
-
- * bus/config-parser.c (service_dirs_find_dir): use
- _dbus_list_get_next_link so we don't get stuck in an infinite loop
- (start_busconfig_child): move processing of standard_session_servicedirs
- tags here because they have no content
- (bus_config_parser_content): check we don't have content in
- standard_session_servicedirs tag
-
-2006-11-02 John (J5) Palmieri <johnp@redhat.com>
-
- * tools/Makefile.am: Make sure the /var/lib/dbus directory is created
- Packagers need to own this directory
-
-2006-11-02 John (J5) Palmieri <johnp@redhat.com>
-
- * tools/run-with-tmp-session-bus.sh: fixed script to replace the
- <standard_session_servicedirs> tag with a <sevicedir> tag that
- points to the test service directory
-
-2006-11-02 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.in: Add a check for DIR *dirp->dd_fd
-
- * dbus/dbus-sysdeps-util-unix: if HAVE_DDFD is defined use
- DIR *dirp->dd_fd else use DIR *dirp->__dd_fd. This takes care
- of both Solaris and Irix
-
-2006-11-01 Havoc Pennington <hp@redhat.com>
-
- * bus/dbus-daemon.1.in: document standard_session_servicedirs
-
-2006-11-01 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.in: expose DBUS_DATADIR
-
- * bus/config-parser.c: add the standard_session_servicedirs element
- to the parser
- (bus_config_parser_content): process the standard_session_servicedirs
- element by getting the standard directories from sysdeps and merging
- them into the service directory list
- (test_default_session_servicedirs): make sure we get what we expect
-
- * bus/session.conf.in: replace the servicedir tag with the
- standard_session_servicedirs tag
-
- * dbus/dbus-list.h: remove the typedef of DBusList and place it in
- dbus-sysdeps.h to avoid circular header dependencies
-
- * dbus/dbus-sysdeps.h: add the typedef of DBusList
-
- * dbus/dbus-sysdeps-unix.c (split_paths_and_append): utility function
- which takes a string of directories delimited by colons, parses them
- out, appends a suffix and puts them in a list ignoring empty elements
- (_dbus_get_standard_session_servicedirs): returns the standard
- directories for a session bus to look for service activation files
- on Unix which includes the XDG_DATA_HOME, XDG_DATA_DIRS and
- DBUS_DATADIR directories
-
- * test/data/valid-config-files/many-rules.conf: add the
- standard_session_servicedirs tag to the valid config file tests
-
-2006-10-30 Havoc Pennington <hp@redhat.com>
-
- * tools/dbus-launch.1, doc/TODO: capture intent to change the
- command line options of dbus-launch a bit post 1.0
-
-2006-10-27 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-connection.c (dbus_connection_open_private): document
- how to choose shared vs. private connections
-
-2006-10-27 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-test.c: enclose more of the file in the
- DBUS_BUILD_TESTS check.
-
- * dbus/dbus-sysdeps-pthread.c (PTHREAD_CHECK): fix for
- DBUS_DISABLE_ASSERT case.
-
- * dbus/dbus-connection.c (dbus_connection_get_unix_user): document
- that it only works on the server side
-
- * dbus/dbus-bus.c: add a global lock covering the BusData we
- attach to each connection
- (internal_bus_get): lock our access to the BusData
- (dbus_bus_register): lock the entire registration process
- with _DBUS_LOCK(bus_datas). If we get the lock and
- registration is already complete, silently return (vs. previous
- behavior of aborting).
- (dbus_bus_set_unique_name): lock the BusData
- (dbus_bus_get_unique_name): lock the BusData
-
-2006-10-27 John (J5) Palmieri <johnp@redhat.com>
-
- * bus/config-parser.c (service_dirs_find_dir,
- service_dirs_append_unique_or_free,
- service_dirs_append_link_unique_or_free): New static methods
- for only appending unique service directory names into
- the service directory list
- (merge_included, bus_config_parser_content): Only add unique
- service directory names into the list
-
-2006-10-27 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-sysdeps-pthread.c: make the "count" and "holder"
- variables volatile, suggested by Thiago. Document struct fields.
- (PTHREAD_CHECK): remove pthread error checking if assertions are
- disabled, should reduce the no-assertions case to the bare
- minimum code.
-
-2006-10-26 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-sysdeps-pthread.c (_dbus_pthread_mutex_lock): change
- to be recursive
- (_dbus_pthread_mutex_unlock): make it recursive
- (_dbus_pthread_condvar_wait): save/restore the recursion count
- (_dbus_pthread_condvar_wait_timeout): save/restore the recursion count
-
-2006-10-26 Havoc Pennington <hp@redhat.com>
-
- * doc/dbus-specification.xml: clarify the UUID text slightly
-
- * dbus/dbus-sysdeps-pthread.c: check for and mostly abort on
- pthread errors. Add DBusMutexPThread and DBusCondVarPThread
- in preparation for being able to extend them for e.g. recursive
- mutexes.
-
-2006-10-26 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-threads.[hc]: Documentation improvements. Clarify how
- condition variables relate to recursive mutexes.
-
- * dbus/dbus-sysdeps-pthread.c, dbus/dbus-sysdeps-win-thread.c,
- dbus/dbus-threads.c: Split the platforms-specific thread
- implementations into their own files.
-
- * dbus/dbus-sysdeps-pthread.c
- (_dbus_pthread_condvar_wait_timeout): invert the return value, it
- was backward. Not that anything uses it.
-
-2006-10-26 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus-sysdeps-unix.c (_dbus_set_local_creds): Clean up the
- LOCAL_CREDS vs CMSGCRED stuff a bit. Prefer CMSGCRED. This
- needs to be cleaned up more.
-
- * doc/TODO: Add a todo that *BSD hackers should look at cleaning
- up the CREDS issue.
-
-2006-10-26 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.in, dbus-1.pc.in: Check to see if thread methods
- are in glibc or libpthread and add -lpthread to the link stage
- if it is the latter
-
-2006-10-26 Thiago Macieira <thiago@kde.org>
-
- * dbus/dbus-connection.c (_dbus_connection_open_internal): Fix
- bug 8780: the connection lock is only required while recording
- the shared connection, so protect only that code
- section. Don't require connection_lookup_shared to return a
- locked connection.
-
-2006-10-26 Thiago Macieira <thiago@kde.org>
-
- * tools/dbus-launch-x11.c (get_session_file, init_x_atoms):
- check if get_machine_uuid() returns NULL before proceeding any
- further: we can't init the X atoms or create a session file
- name if there is no machine ID.
- This solves a crash reported by some users if
- --exit-with-session was used without --autolaunch=<machine-id>
-
-2006-10-26 John (J5) Palmieri <johnp@redhat.com>
-
- * tools/dbus-launch.c (main): run the dbus-daemon in the builddir
- if tests are enabled and the DBUS_USE_TEST_BINARY env variable is set
-
- * tools/run-with-tmp-session-bus.sh: set DBUS_USE_TEST_BINARY
- before we run dbus-launch
-
- * configure.in: define TEST_BUS_BINARY to be the full path to
- dbus-daemon in the build root
-
-2006-10-25 Sjoerd Simons <sjoerd@luon.net>
-
- * dbus/Makefile.am:
- * tools/Makefile.am:
- * toos/dbus-uuidgen.1:
- Move the machine-id file to /var/lib/dbus
-
-2006-10-24 David Zeuthen <davidz@redhat.com>
-
- * dbus/dbus-threads.c (init_uninitialized_locks): Fix typo so it's
- _dbus_assert (thread_init_generation != _dbus_current_generation)
- not _dbus_assert (thread_init_generation == _dbus_current_generation)
-
-2006-10-24 Thiago Macieira <thiago@kde.org>
-
- * dbus/dbus-sysdeps.h:
- * dbus/dbus-sysdeps-unix.c: Add function
- _dbus_make_file_world_readable that chmods a file to 0644.
-
- * dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address):
- Avoid writing to the static "argv" array, thereby avoiding a
- COW on the child process.
-
- * dbus/dbus-internals.c (_dbus_create_uuid_file_exclusively):
- call _dbus_make_file_world_readable on the created file.
-
-2006-10-23 David Zeuthen <davidz@redhat.com>
-
- * dbus/dbus-memory.c: Use atomic variable to protect
- n_blocks_outstanding otherwise OOM will be reported using SMP on
- some arches
-
- * bus/dispatch.c: Add missing end of line characters
-
- * bus/desktop-file.c (parse_section_start, parse_key_value)
- (bus_desktop_file_load): Propertly handle OOM
-
- * dbus/dbus-threads.c (init_uninitialized_locks): Check that
- thread_init_generation equals _dbus_current_generation, not 0
-
-2006-10-22 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-connection-internal.h: move prototype of
- _dbus_bus_notify_shared_connection_disconnected_unlocked() here so
- it isn't in a public header and doesn't end up in the DBusBus
- group in Doxygen
-
-2006-10-21 Havoc Pennington <hp@redhat.com>
-
- * Makefile.am (EXTRA_DIST): dist cleanup-man-pages.sh so it's in
- the tarball if packagers want to run it
-
- * cleanup-man-pages.sh: Add a script which munges all the internal
- API man pages out of the Doxygen output. This reduces the size of
- the installed man pages from 7 to 2 megs, and avoids
- namespace-polluting pages. Right now (like Doxygen) this script
- isn't in the build, it's something packagers can do manually.
-
-2006-10-21 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-connection.h: don't include the watch/timeout
- functions in connection section
-
-2006-10-21 Havoc Pennington <hp@redhat.com>
-
- * Documentation! Whee! Doxygen now 100% silent. If you make it
- angry again, you will be punished.
-
-2006-10-21 Havoc Pennington <hp@redhat.com>
-
- * More documentation - all public API now documented according to
- Doxygen
-
-2006-10-21 Havoc Pennington <hp@redhat.com>
-
- * Document a bunch of undocumented stuff
-
-2006-10-21 Havoc Pennington <hp@redhat.com>
-
- * Clean up Doxygen group markers for public API so Doxygen finds
- everything (not comprehensively fixed for private API).
- Means all remaining Doxygen warnings are just about missing docs
- and thus pretty simple to resolve.
-
-2006-10-21 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-macros.h: add DBUS_GNUC_DEPRECATED macro
-
- * dbus/dbus-message.h: mark dbus_message_iter_get_array_len()
- as DBUS_GNUC_DEPRECATED
-
-2006-10-21 Havoc Pennington <hp@redhat.com>
-
- * Move all private API into the private Doxygen group sections of
- the files, so they don't show up in the public API docs
-
-2006-10-21 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-message.h: put #ifndef DBUS_DISABLE_DEPRECATED around
- dbus_message_iter_get_array_len().
-
- * throughout: documentation improvements.
-
-2006-10-20 Havoc Pennington <hp@redhat.com>
-
- * doc/TODO: remove the int64 thing from 1.0 since it doesn't
- matter, and the message-loader-breaker thing since nobody is going
- to do it. Add an item to 1.0 about supporting recursive locks
- in dbus_threads_init_default() though, since it should be easy.
-
- * dbus/dbus-connection.c (_dbus_connection_read_write_dispatch):
- Fix this in the !dispatch case to avoid busy-looping after
- disconnection
-
- * More misc docs improvements
-
-2006-10-19 Havoc Pennington <hp@redhat.com>
-
- * more Doxygen-related fixes (lots of moving things from the
- public to internal section in dbus-connection.c)
-
-2006-10-19 Havoc Pennington <hp@redhat.com>
-
- * Fix a pile of Doxygen warnings and missing docs
-
-2006-10-19 John (J5) Palmieri <johnp@redhat.com>
-
- * bus/dir-watch-default.c, bus/dir-watch-dnotify.c,
- bus/dir-watch-kqueue.c (bus_watch_directory): Pass in a BusContext
- instead of a void *. kqueue uses this to get the context's loop
- while the other modules ignore the parameter. This allows us to
- avoid platform conditionals
-
- * bus/bus.c (process_config_postinit): Pass in the context to the
- watch
-
-2006-10-19 John (J5) Palmieri <johnp@redhat.com>
-
- * bus/messagebus.in, bus/rc.messagebus.in: run dbus-uuidgen --ensure
- when starting the system bus
-
-2006-10-18 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.in: More fixups for cross compile (Patch from
- Marco Pracucci <development at pracucci dot com>)
-
-2006-10-17 Havoc Pennington <hp@redhat.com>
-
- * tools/dbus-send.c (main): don't close shared connection, fix
- from Timo Hoenig
-
-2006-10-17 Havoc Pennington <hp@redhat.com>
-
- * configure.in (CPPFLAGS): don't do -DDBUS_API_SUBJECT_TO_CHANGE here
-
- * dbus/dbus.h: drop the DBUS_API_SUBJECT_TO_CHANGE requirement,
- since realistically it doesn't look like we'll be changing it
- anymore.
-
-2006-10-17 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-internals.c (_dbus_warn_check_failed): new function to
- be used for return_if_fail type warnings; prefixes the pid, and
- fatal by default.
-
-2006-10-14 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.in: Released 1.0 RC 2(0.94)
- Add check for -fPIC and enable it if available
-
-2006-10-14 John (J5) Palmieri <johnp@redhat.com>
-
- * doc/TODO: Remove the check TODO item
-
-2006-10-13 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus-transport-socket.c (exchange_credentials):
- Print out more detailed errors if reading or sending
- credentials fail (Patch from Julio M. Merino Vidal
- <jmmv at NetBSD dot org>)
-
-2006-10-13 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.in: when checking for posix getpwnam_r assume true
- for cross compiles
-
-2006-10-13 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.in: Check for gethostbyname first before we check for it
- in libnsl. On gnu systems it is implemeneted
-
-2006-10-13 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-connection.c
- (dbus_connection_send_with_reply_and_block): fix to handle closed
- connections, from Tambet Ingo bug #8631
-
-2006-10-11 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.in: use AC_TRY_COMPILE for dirfd instead of AC_TRY_RUN
-
-2006-10-11 John (J5) Palmieri <johnp@redhat.com>
-
- * test/name-test/Makefile.am: don't link against both libdbus and
- libdbus-convenience
-
-2006-10-11 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.in: check for dirfd even if it is a macro
- (Patch from Timothy Redaelli <drizzt at gufi dot org>)
-
-2006-10-08 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.in: define _POSIX_PTHREAD_SEMANTICS on solaris
- avoid using dirfd on systems that don't have dirfd
- (Patch by Brian Cameron <brian dot cameron at sun dot com>)
-
-2006-10-02 John (J5) Palmieir <johnp@redhat.com>
-
- * dbus/dbus-sysdeps.c (_dbus_abort): Remove from
- #ifndef DBUS_DISABLE_ASSERTS macro to fix distcheck
-
- * dbus/dbus-sysdeps-unix.c (_dbus_print_backtrace): Remove from
- #if !defined (DBUS_DISABLE_ASSERT) || defined(DBUS_BUILD_TESTS)
- macro because _dbus_abort calls it
-
- * tools/Makefile.am: Add dbus-launch.h to the source list so distcheck
- works
-
-2006-10-02 John (J5) Palmieir <johnp@redhat.com>
-
- * dbus/dbus-sysdeps-util-unix.c (dirent_buf_size): Add check for
- MAXNAMELEN for Mac OSX. (Patch from Jonas B <sanoix at gmail dot com>)
-
-2006-10-02 Thiago Macieira <thiago@kde.org>
-
- * tools/dbus-launch.c (main): make it complain and abort
- execution in case an unknown option is given. Also, process
- the '--' argument as the end of arguments.
-
-2006-10-01 Havoc Pennington <hp@redhat.com>
-
- * tools/dbus-launch.c (print_variables): if no syntax is given,
- don't print something that's sort-of-half-sh-syntax, just print
- a plain key-value pairs thing.
-
- * tools/dbus-launch-x11.c: use machine ID rather than hostname for
- the local machine representation (but still have the hostname in
- the display). Remove the hostname from the display if it is
- localhost. Change session files to be named
- ~/.dbus/session-bus/machine-display. Change X atoms to be
- underscore-prefixed so nobody whines about ICCCM compliance.
- Otherwise name them the same as the env variables.
- Change session file format to include key-value pairs and an
- explanatory comment. Keys are the same as the env variables.
- (set_address_in_x11): X property format can't depend on
- sizeof(pid_t) on a particular machine, fix to always be 32 bits
-
- * tools/dbus-launch.c: make --autolaunch take a machine id
- argument. If --autolaunch is used with a program to run, complain
- for now (but add a FIXME). Also, don't look for existing bus if
- there's a program to run (but add a FIXME).
-
- * dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address): pass
- machine uuid to dbus-launch (avoids linking dbus-launch to libdbus
- just to get this, and avoids duplicating uuid-reading code).
-
- * tools/dbus-launch.1: clarify various things
-
-2006-10-01 Havoc Pennington <hp@redhat.com>
-
- * test/test-service.c (path_message_func): remove broken extra
- unref that was hidden by the bugs in dbus-connection.c/dbus-bus.c
-
- * test/test-shell-service.c (path_message_func): same fix
-
- * dbus/dbus-connection.c
- (_dbus_connection_get_dispatch_status_unlocked): break up the
- function a little for clarity and fix the notification of
- dbus-bus.c to not require dispatch to be complete
-
- * dbus/dbus-connection.c (dbus_connection_unref): improve the
- warning when you try to finalize an open connection.
-
-2006-10-01 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-bus.c
- (internal_bus_get): only weak ref the connection; this means
- _dbus_bus_notify_shared_connection_disconnected_unlocked can be
- called safely in any context
- (_dbus_bus_notify_shared_connection_disconnected_unlocked): don't
- unref
-
- * dbus/dbus-connection.c
- (_dbus_connection_get_dispatch_status_unlocked): move
- _dbus_bus_notify_shared_connection_disconnected_unlocked here
- when queuing Disconnected instead of when the Disconnected message
- arrives, so dbus_bus_get() won't return closed connections.
-
-2006-10-01 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-connection.c (_dbus_connection_close_if_only_one_ref):
- Add a hack to make DBusNewConnectionFunction work right.
-
- * dbus/dbus-server-socket.c (handle_new_client_fd_and_unlock): use
- the hack here. Also, fix the todo about refcount leak.
-
- * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
- and use the hack here
-
- * dbus/dbus-connection.c: Kill the "shared" flag vs. the
- "shareable" flag; this was completely broken, since it meant
- dbus_connection_open() returned a connection of unknown
- shared-ness. Now, we always hold a ref on anything opened
- as shareable.
-
- Move the call to notify dbus-bus.c into
- connection_forget_shared_unlocked, so libdbus consistently forgets
- all its knowledge of a connection at once. This exposed numerous
- places where things were totally broken if we dropped a ref inside
- get_dispatch_status_unlocked where
- connection_forget_shared_unlocked was previously, so move
- connection_forget_shared_unlocked into
- _dbus_connection_update_dispatch_status_and_unlock. Also move the
- exit_on_disconnect here.
-
- (shared_connections_shutdown): this assumed weak refs to the
- shared connections; since we have strong refs now, the assertion
- was failing and stuff was left in the hash. Fix it to close
- still-open shared connections.
-
- * bus/dispatch.c: fixup to use dbus_connection_open_private on the
- debug pipe connections
-
- * dbus/dbus-connection.c (dbus_connection_dispatch): only notify
- dbus-bus.c if the closed connection is in fact shared
- (_dbus_connection_close_possibly_shared): rename from
- _dbus_connection_close_internal
- (dbus_connection_close, dbus_connection_open,
- dbus_connection_open_private): Improve docs to explain the deal
- with when you should close or unref or both
-
- * dbus/dbus-bus.c
- (_dbus_bus_notify_shared_connection_disconnected_unlocked): rename
- from _dbus_bus_check_connection_and_unref_unlocked and modify to
- loop over all connections
-
- * test/test-utils.c (test_connection_shutdown): don't try to close
- shared connections.
-
- * test/name-test/test-threads-init.c (main): fix warnings in here
-
- * dbus/dbus-sysdeps.c (_dbus_abort): support DBUS_BLOCK_ON_ABORT
- env variable to cause blocking waiting for gdb; drop
- DBUS_PRINT_BACKTRACE and just call _dbus_print_backtrace()
- unconditionally.
-
- * configure.in: add -export-dynamic to libtool flags if assertions enabled
- so _dbus_print_backtrace works.
-
- * dbus/dbus-sysdeps-unix.c (_dbus_print_backtrace): use fprintf
- instead of _dbus_verbose to print the backtrace, and diagnose lack
- of -rdynamic/-export-dynamic
-
-2006-09-30 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-bus.c (dbus_bus_get_private, dbus_bus_get)
- (internal_bus_get): fix screwy code formatting. whoever committed
- that was not paying attention!
-
-2006-09-30 Havoc Pennington <hp@redhat.com>
-
- * configure.in (LT_CURRENT, LT_AGE): increment current and age to
- reflect addition of interfaces.
-
- * doc/dbus-specification.xml: describe a new
- org.freedesktop.DBus.Peer.GetMachineId method
-
- * dbus/dbus-string.c (_dbus_string_skip_white_reverse): new function
- (_dbus_string_skip_white, _dbus_string_skip_blank): use new
- DBUS_IS_ASCII_BLANK, DBUS_IS_ASCII_WHITE macros and fix assertion
- at end of skip_white
- (_dbus_string_chop_white): new function
-
- * bus/connection.c (bus_connections_setup_connection): call
- dbus_connection_set_route_peer_messages.
-
- * dbus/dbus-connection.c
- (_dbus_connection_peer_filter_unlocked_no_update): modify to
- support a GetMachineId method.
-
- Also, support a new flag to let the bus pass peer methods through
- to apps on the bus, which can be set with
- dbus_connection_set_route_peer_messages.
-
- Finally, handle and return an error for anything unknown on the
- Peer interface, which will allow us to extend the Peer interface
- in the future without fear that we're now intercepting something
- apps were wanting to see.
-
- * tools/dbus-uuidgen.c: a thin wrapper around the functions in
- dbus/dbus-uuidgen.c
-
- * dbus/dbus-uuidgen.c: implement the bulk of the dbus-uuidgen
- binary here, since most of the code is already in libdbus
-
- * dbus/dbus-sysdeps.c (_dbus_read_local_machine_uuid): read the
- uuid from the system config file
-
- * dbus/dbus-internals.c (_dbus_generate_uuid, _dbus_uuid_encode)
- (_dbus_read_uuid_file_without_creating)
- (_dbus_create_uuid_file_exclusively, _dbus_read_uuid_file): new
- uuid-related functions, partly factored out from dbus-server.c
-
- * dbus/dbus-sysdeps.c (_dbus_error_from_errno): convert EEXIST to
- DBUS_ERROR_FILE_EXISTS instead of EEXIST
-
- * dbus/dbus-protocol.h (DBUS_ERROR_FILE_EXISTS): add file exists error
-
- * tools/dbus-cleanup-sockets.1: explain what the point of this
- thing is a bit more
-
- * autogen.sh (run_configure): add --config-cache to default
- configure args
-
- * dbus/dbus-internals.h (_DBUS_ASSERT_ERROR_IS_SET): disable the
- error set/clear assertions when DBUS_DISABLE_CHECKS is defined
-
- * tools/dbus-launch.c (main): if xdisplay hasn't been opened,
- don't try to save address, fixes crash in make check
-
-2006-09-30 Thiago Macieira <thiago@kde.org>
-
- * configure.in: add DBUS_BINDIR as a #define to C source code.
-
- * tools/dbus-launch.c
- * tools/dbus-launch.h
- * tools/dbus-launch-x11.c:
- * tools/dbus-launch.1: Add the --autolaunch option to
- dbus-launch, which makes it scan for an existing session
- started with --autolaunch. With that option, it also creates
- an X11 window and saves the bus address and PID to it.
-
- * dbus/dbus-sysdeps.h:
- * dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address): Add
- a function that runs "dbus-launch --autolaunch" to retrieve
- the running D-Bus session address (or start one if none was running)
-
- * dbus/dbus-transport.c: Add the handler for the "autolaunch:"
- address protocol, which tries to get the running session from
- dbus-launch.
-
- * dbus/dbus-bus.c:
- * dbus/dbus-internals.h: Make "autolaunch:" be the default
- D-Bus session bus address.
-
- * dbus/dbus-connection.c: Fix horrible typo in error message.
-
-2006-09-18 John (J5) Palmieri <johnp@redhat.com>
-
- * tools/Makefile.am: use @EXPANDED_DATADIR@ instead of @DATADIRNAME@
-
-2006-09-17 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
- fix so that if unix_user_function is set on windows, we still
- do the default check that the auth identity matches the bus identity
-
-2006-09-16 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-transport.c (_dbus_transport_open): modify to delegate
- to _dbus_transport_open_platform_specific,
- _dbus_transport_open_socket,
- and _dbus_transport_open_debug_pipe
-
- * dbus/dbus-transport-protected.h: add _dbus_transport_open_platform_specific
-
-2006-09-16 Havoc Pennington <hp@redhat.com>
-
- Attempt auditing public API to remove all cases where a Unix
- function returns weird emulated goo to Windows. This probably
- breaks the bus daemon on Windows, to fix it again we may
- need to stop processing unix-specific config options on Windows,
- and may need to add Windows-specific public API or config options.
-
- * configure.in (LT_CURRENT, LT_AGE): increment current and age,
- to reflect added interfaces; should not break soname.
-
- * dbus/dbus-transport.c (_dbus_transport_get_is_authenticated): do
- not invoke unix user function on Windows. Kind of a hacky fix, but
- we don't want a "unix uid" leaking out on Windows.
-
- * dbus/dbus-connection.c (dbus_connection_get_socket): add new API
- to get the socket fd on Windows or UNIX
- (dbus_connection_get_unix_fd): make this always fail on Windows
-
-2006-09-16 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-server.c (dbus_server_listen): change how this works
- to be able to delegate to a set of handlers that can succeed,
- fail, or choose not to handle. Allows us to have
- dbus_server_listen_platform_specific.
-
- * dbus/dbus-server-socket.c (_dbus_server_new_for_tcp_socket):
- factor out the tcp socket stuff to be used on windows, leaving
- unix domain socket only in dbus-socket-unix.c
-
- * dbus/dbus-transport-socket.c
- (_dbus_transport_new_for_tcp_socket): factor out the tcp socket
- stuff to be used on windows, leaving unix domain socket only
- in dbus-transport-unix.c
-
- * dbus/dbus-connection.c (dbus_connection_get_unix_user): insert
- temporary hack to be sure this fails on windows
- (dbus_connection_get_unix_process_id): ditto
-
-2006-09-16 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-sysdeps-unix.c (_dbus_open_tcp_socket)
- (_dbus_open_unix_socket, _dbus_open_socket): change API for
- _dbus_open_socket so the domain/type/protocol from system headers
- are not required. This is kind of pointless though unless we move
- part of _dbus_connect_tcp_socket into sysdeps.c instead of
- sysdeps-unix.c, which would mean adding a wrapper around
- bind/listen/etc.
- Also, add DBusError to the socket-opening functions so they
- don't require use of errno.
-
-2006-09-16 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-sysdeps-unix.h: small change to Peter's patch to make
- dbus-sysdeps-unix-util.c build, add unix-specific sysdeps header.
-
- * dbus/dbus-sysdeps.h, dbus-sysdeps-unix.c: patch from Peter
- Kümmel bug #8249 to make the sysdeps.h read/write/open/close
- functions specifically for sockets only, and move generic
- read/write/open/close into unix-specific code.
-
-2006-09-14 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-transport-unix.c (unix_do_iteration): fix a valgrind
- complaint about accessing revents when poll returns 0, from Julian Seward.
-
-2006-09-14 John (J5) Palmieri <johnp@redhat.com>
-
- * Released 1.0 RC 1 (0.93)
-
-2006-09-14 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-sysdeps-util-unix.c (_dbus_write_pid_file):
- use _dbus_close instead of close
-
-2006-09-14 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-sysdeps.c: Add support for LOCAL_CREDS socket
- credentials. Fixes "external" authentication under e.g. NetBSD
- which does not support any other socket credentials mechanism.
- (Patch from Julio M. Merino Vidal <jmmv at NetBSD dot org>)
-
-2006-09-14 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-threads.c: Allow recursive mutex's to be passed into
- dbus_threads_init and be used by the dbus mutex functions to
- avoid deadlocks.
-
- * doc/TODO: Remove recursive mutex dbus_connection_dispatch TODO item
-
-2006-09-13 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-sysdeps-util-unix.c (_dbus_directory_get_next_file):
- use threadsafe readdir_r instead of readdir
-
-2006-09-13 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus-threads.c (dbus_threads_init_default): New method for
- initializing the internal thread implementation (Patch from
- Alexander Larsson <alexl at redhat dot com>)
-
-2006-09-11 John (J5) Palmieri <johnp@redhat.com>
-
- * remove a bunch of todo items from the 1.0 list
-
-2006-09-11 John (J5) Palmieri <johnp@redhat.com>
-
- * bus/activation.c, bus/desktop-file.c: Distinguish between OOM and
- key not found
-
-2006-09-11 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-internal.c: Add dbus_is_verbose so we can have more
- complex debugging code
-
- * dbus/dbus-marshal-basic.c (_dbus_marshal_read_fixed_multi): Move
- between the test suite ifdefs
- (_dbus_verbose_bytes): return if verbosity is not enabled
-
-2006-09-11 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-marshal-recursive-util.c, dbus/dbus-marshal-recursive.c:
- remove DBusMark
-
-2006-09-10 Havoc Pennington <hp@redhat.com>
-
- patch mostly by Peter Kümmel, bug #8211
-
- * dbus/dbus-sysdeps-unix.c: new file, which splits out
- unix-specific stuff in dbus-sysdeps.c
-
- * dbus/dbus-sysdeps.c: don't include any UNIX-only headers,
- and move unix-specific stuff to dbus-sysdeps-unix.c
-
- * configure.in: check HAVE_ERRNO_H
-
-2006-09-08 John (J5) Palmieri <johnp@redhat.com>
-
- * bus/test-main.c (main): Initialize threading during tests
-
- * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
- Unlock connection on error
- (generate_local_error_message): static method for generating
- an error message when we don't have a message to reply to
- (_dbus_connection_block_pending_call): Send a disconnect error
- instead of just a timeout (NULL) when the bus gets disconnected
- while blocking for a reply.
-
-2006-09-08 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-connection.c (dbus_connection_dispatch): Properly remove
- filters (Patch from Kimmo Hämäläinen
- <kimmo dot hamalainen at nokia dot com>)
-
-2006-09-07 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-connection-internal.h: Add prototype for
- _dbus_connection_test_get_locks to remove warning
-
-2006-09-07 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): Make sure we
- close child_err_report_pipe[WRITE_END] on exec (Patch from
- Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>)
-
-2006-09-07 John (J5) Palmieri <johnp@redhat.com>
-
- * Clean up close calls to use _dbus_close (Patch from
- Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>)
-
-2006-09-06 John (J5) Palmieri <johnp@redhat.com>
-
- * doc/TODO:
- - Remove pending call locking todo item
- - dbus_connection_open now holds hard ref. Remove todo item
- - do proper locking on _dbus_bus_check_connection_and_unref
- and handle DBUS_BUS_STARTER. Remove todo item
- - Warn on closing of a shared connection. Remove todo item
-
- * bus/bus.c, bus/connection.c, bus/dispatch.c, dbus/dbus-bus.c,
- dbus/dbus-connection.c: Use the dbus_connection_close_internal
- so we don't get the warning when closing shared connections
-
- * test/test-service.c, test/test-shell-service.c: Applications
- don't close shared connections themselves so we unref instead of
- close
-
- * test/test-utils.c (test_connection_shutdown): Close the connection
-
- * dbus/dbus-bus.c (_dbus_bus_check_connection_and_unref): Changed to
- _dbus_bus_check_connection_and_unref_unlocked since we only call this
- method on a locked connection.
- Make sure we call _dbus_connection_unref_unlocked instead of
- dbus_connection_unref also.
- Handle DBUS_BUS_STARTER correctly
-
- * dbus/dbus-connection.c (connection_record_shared_unlocked):
- Mark as shared and hard ref the connection
- (connection_forget_shared_unlocked): Remove the hard ref from the
- connection
- (_dbus_connection_close_internal_and_unlock): New internal function
- which takes a locked connection and unlocks it after closing it
- (_dbus_connection_close_internal): New internal function which acts
- like the origonal dbus_connection_close method by grabbing a connection
- lock and calling _dbus_connection_close_internal_and_unlock
- (dbus_connection_close): Public close method, warns when the app
- trys to close a shared connection
-
-2006-09-06 John (J5) Palmieri <johnp@redhat.com>
-
- * bus/driver.c:
- (bus_driver_generate_introspect_string): New method for populating
- a DBusString with the introspect data
- (bus_driver_handle_introspect): Move introspect generation code to
- bus_driver_generate_introspect_string
-
- * bus/main.c:
- (introspect): New function which prints out the intropect data and
- exits
- (main): Add a --introspect switch
-
-2006-09-06 John (J5) Palmieri <johnp@redhat.com>
-
- * doc/TODO: Removed dtd publishing item.
- It seems the dtd has already been added at
- http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd
-
-2006-09-05 John (J5) Palmieri <johnp@redhat.com>
-
- * doc/TODO, various source files: Audited todo's and FIXME's and
- prepended the ones we should be looking at with 1.0. Those
- prepended with 1.0? need clerification or might not be needed
- for 1.0
-
-2006-09-05 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-pending-call.c: Add some checks so we don't crash on
- NULL in the public API (Patch from Kimmo Hämäläinen
- <kimmo dot hamalainen at nokia dot com>)
-
-2006-09-05 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.in: Fix for OS-X compile time endian issues (patch from
- Benjamin Reed <ranger at befunk dot com>)
-
-2006-09-05 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.in: Check for no-common compiler flag (OS-X fix from
- Benjamin Reed <ranger at befunk dot com>)
-
-2006-09-01 John (J5) Palmieri <johnp@redhat.com>
-
- * tools/dbus-launch.c: Add a sigterm handler (patch from Frederic Crozat
- <fcrozat at mandriva dot com>)
-
-2006-08-29 Havoc Pennington <hp@redhat.com>
-
- * test/test-service.c (path_message_func): fix lack of return value
-
- * dbus/dbus-sysdeps.c (_dbus_printf_string_upper_bound): fix
- formatting, remove #ifdef, and fix docs. #ifdef doesn't make
- any more sense than on anything else in this file.
- (_dbus_get_tmpdir): add const to return value, and keep the
- results of the various getenv around in a static variable.
-
-2006-08-29 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-sysdeps-util.c, dbus/dbus-sysdeps-util-unix.c: change
- from Ralf Habacker to move UNIX-specific sysdeps into a separate file.
-
-2006-08-25 John (J5) Palmieri <johnp@redhat.com>
-
- * test/Makefile.am: change find to use syntax that works with non
- gnu versions of find
-
-2006-08-25 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-transport.c: fix invalid deref when checking if
- a vtable method exists (Patch from Christian Ehrlicher
- <ch dot ehrlicher at gmx dot de>)
-
-2006-08-25 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.in, dbus/Makefile.am, test/name-test/run-test.sh,
- test/name-test/Makefile.am: Fixed some issues with getting get dbus
- to build with builddir != srcdir (Taken from a patch by Bernard Leak
- <bernard at brenda-arkle dot demon dot co dot uk>)
-
-2006-08-25 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.in: Fix DBUS_DAEMONDIR to use EXPANDED_BINDIR for the
- default case
-
-2006-08-25 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.ac, bus/Makefile.am: Generalize kqueue support so that
- it works on any system providing this interface, not only FreeBSD.
- For example, NetBSD. (Patch by Julio M. Merino Vidal <jmmv at NetBSD dot org>)
-
-2006-08-20 Havoc Pennington <hp@redhat.com>
-
- * doc/dbus-faq.xml, doc/dbus-tutorial.xml: some improvements to
- the docs
-
-2006-08-18 John (J5) Palmieri <johnp@redhat.com>
-
- * Released 0.92
-
-2006-08-18 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-threads.c (dbus_threads_init): change the documentation
- to reflect the init late change
-
- * bus/bus.c (bus_context_new): Check user before we fork so we can
- print out an error message a user will be able to see
-
-2006-08-18 John (J5) Palmieri <johnp@redhat.com>
-
- Patch provided by Ralf Habacker (ralf dot habacker at freenet dot de)
-
- * dbus/dbus-sysdeps.c, dbus/dbus-threads.c, dbus/dbus-internals.h:
- Add two more global locks for use on windows platforms. These are
- unused on non-windows platforms but are not ifdefed out to avoid
- potential bugs (i.e. the few bytes lost does not warrent the extra
- maintanence and complexity that having seperate sets of locks would
- cause)
-
-2006-08-18 John (J5) Palmieri <johnp@redhat.com>
-
- * bus/services.c (bus_registry_acquire_service): Return an error
- when an application tries to register the org.freedesktop.DBus Bus Name
-
- * bus/services.c (bus_registry_release_service): Return an error
- when an application tries to release the org.freedesktop.DBus Bus Name
-
-2006-08-17 Alp Toker <alp@atoker.com>
-
- * doc/dbus-specification.xml: Fix some minor typos.
-
-2006-08-17 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.in: use $with_init_scripts instead of $operating_system
- to determine where to store the pid since the init scripts manipulate
- the pid file (patch from Marcelo Ricardo Leitner
- <marcelo dot leitner at terra dot com dot br>.
-
-2006-08-16 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-threads.c: Add static DBusList *uninitialized_mutex_list and
- static DBusList *uninitialized_condvar_list to support new late
- initialization threading model. In this model threads can be initialized
- even after the D-Bus API has been used but still needs to be initialized
- before the second thread has been started. Mutexes and condvar addresses
- are stored in the two static lists and are replaced with actuall locks
- when threads are initalized.
- (_dbus_mutex_new_at_location): New method for creating a mutex and placing
- the location into the static list
- (_dbus_mutex_free_at_location): New method for removing a mutex location
- from the static list and freeing the mutex
- (_dbus_condvar_new_at_location): New method for creating a conditional
- variable and placing the location into the static list
- (_dbus_condvar_free_at_location): New method for removing a conditional
- variable location from the static list and freeing the conditional variable
- (init_uninitialized_locks): Atomic method which goes through the static
- lists of mutex and condvar location and updates them with actuall locks
- (init_global_locks): changed to init_locks
-
- * dbus/dbus-connection.c:
- (_dbus_connection_test_get_locks): New method for tests to check connections
- (_dbus_connection_new_for_transport): Use the new at_location mutex and
- condvar API
- (dbus_connection_allocate_data_slot): Pass in the global lock address
- to _dbus_data_slot_allocator_alloc
-
- * dbus/dbus-dataslot.c:
- (_dbus_data_slot_allocator_alloc): Use the address of the mutex
- instead of the mutex itself
-
- * dbus/dbus-message.c:
- (dbus_message_allocate_data_slot): Pass in the global lock address
- to _dbus_data_slot_allocator_alloc
-
- * dbus/dbus-pending-call.c:
- (dbus_pending_call_allocate_data_slot): Pass in the global lock address
- to _dbus_data_slot_allocator_alloc
-
- * dbus/dbus-server.c:
- (_dbus_server_init_base): Use the new at_location mutex API
- (dbus_server_allocate_data_slot): Pass in the global lock address
- to _dbus_data_slot_allocator_alloc
-
- * test/name-test/test-threads-init.c: New test case for late thread
- initialization
-
-2006-08-14 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-dataslot.c (_dbus_data_slot_allocator_alloc):
- Change _dbus_abort to _dbus_assert_not_reached because _dbus_abort
- causes compile problems when asserts are turned off
- Keeping _dbus_warn for printing out the message so even if
- asserts are turned off the user gets the messages that something is
- wrong
-
-2006-08-14 John (J5) Palmieri <johnp@redhat.com>
-
- Patches by Kjartan Maraas <kmaraas at gnome dot org>
-
- * bus/services.c (bus_service_list_queued_owners):
- Add a pointer cast to fix compiler warning
-
- * dbus/dbus-dataslot.c (_dbus_data_slot_list_get):
- return a NULL instead of FALSE since the return type
- is not expecting a boolean
-
- * dbus/dbus-marshal-basic.c (_dbus_marshal_test):
- Remove unused variable
-
- * dbus/dbus-marshal-recursive-util.c (node_new):
- return a NULL instead of FALSE since the return type
- is not expecting a boolean
-
- * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
- Send a NULL into _dbus_transport_new_for_fd instead of a FALSE
- because we are expecting a pointer not a boolean
-
- * dbus/dbus-sysdeps-util.c (_dbus_get_tmpdir):
- add void as the parameter so some compilers
- don't complain
-
- * dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket,
- _dbus_transport_new_for_tcp_socket):
- Send a NULL into _dbus_transport_new_for_fd instead of a FALSE
- because we are expecting a pointer not a boolean
-
- * test/shell-test.c (test_command_line):
- cast the second argument to _dbus_list_append to avoid compiler
- warnings
-
- * test/test-names.c (main): remove unused variable
-
- * test/test-service.c (check_hello_from_self_reply):
- Initialize echo_message and echo_reply to NULL
-
- * test/test-shell-service.c (handle_echo):
- Remove unused variable and cast the third parameter passed to
- dbus_connection_get_object_path_data to avoid compiler warrnings
-
- * test/name-test/test-names.c (clear_message_queue):
- Remove unused function
-
- * test/name-test/test-pending-call-dispatch.c:
- Fix format string in printf
-
-
-2006-08-14 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-bus.c:
- * test/name-test/test-names.c:
- Remove test method dbus_bus_connection_get_unique_name because
- we already have public method dbus_bus_get_unique_name that
- does the exact same thing
-
-2006-08-10 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-signature.c:
- fix typos in Julio's previous patch which cause make check to fail
-
-2006-08-10 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-address.c (_dbus_address_test): Revert leaking strcmp.
- In any case it was wrong since this is a test checking to see if
- address parsing is correct. There was no need to get the true
- tmp directory.
-
-2006-08-10 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-macros.h: Revert the addition of stddef.h
- as we should not be adding it to library headers
-
-2006-08-10 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-signature.c:
- Fix the unit tests so that they work if assertions are not enabled.
- (patch from Julio M. Merino Vidal <jmmv at NetBSD dot org>)
-
-2006-08-10 John (J5) Palmieri <johnp@redhat.com>
-
- * tools/run-with-tmp-session-bus.sh:
- * test/name-test/run-test.sh:
- Remove bashisms (patch from Julio M. Merino Vidal
- <jmmv at NetBSD dot org>)
-
-2006-08-10 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.in: add a version (>= 2.6.0) check for libxml2
-
-2006-08-10 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.in: make sure the compiler supports -Wfloat-equal
-
- * bus/dir-watch-dnotify.c: move functional code after
- variable declerations (C99 fix) (patches from Jens Granseuer
- <jensgr at gmx dot net>
-
-2006-08-10 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-macros.h:
- add #include <stddef.h> so that Sun compilers don't complain about
- the defining NULL
-
-2006-08-10 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-sysdeps.c:
- * dbus/dbus-address.c:
- * bus/activation.c:
- * test/shell-test.c:
- don't hardcode tmp directory (patch from Dave Meikle
- <dmk at davemeikle dot co dot uk>)
-
-2006-08-09 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-dataslot.c (_dbus_data_slot_allocator_alloc):
- Change an assert to a detailed warning and abort.
- When allocator->lock != mutex it indicates that the user has failed
- to initalize threads before using the D-Bus library. This warning
- helps the user identify the issue and fix their app.
-
-2006-08-08 John (J5) Palmieri <johnp@redhat.com>
-
- These are all patches from Kjartan Maraas <kmaraas at gnome dot org>
- with cleanups of bugs found from Coverity reports:
-
- * dbus/dbus-sysdeps-util.c (_dbus_write_pid_file):
- close the file on error to avoid a leak
-
- * bus/expirelist.c (bus_expire_list_test):
- Check for NULL on dbus_new0
-
- * bus/activation.c (update_directory):
- remove dead code
-
- * bus/config-parser.c (merge_service_context_hash, start_selinux_child):
- Fix some leaks
-
- * bus/bus.c (process_config_every_time):
- Fixed a leak
-
- * bus/desktop-file.c (parse_key_value):
- Fixed leak
-
- * bus/selinux.c (bus_selinux_id_table_insert):
- Fixed leak
-
-2006-08-08 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-object-tree.c (_dbus_object_subtree_new):
- remove dead code
-
-2006-08-08 John (J5) Palmieri <johnp@redhat.com>
-
- * tools/run-with-tmp-session-bus.sh: use #!/bin/sh instead of
- #!/bin/bash
-
-2006-08-08 John (J5) Palmieri <johnp@redhat.com>
-
- * Doxyfile.in: fix the INPUT line so we can generate docs
- when sourcedir != builddir (patch from Cygwin Ports maintainer
- <yselkowitz at users dot sourceforge dot net>
-
-2006-08-08 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-sysdeps.h:
- * dbus/dbus-sysdeps.c:
- * dbus/dbus-string.c:
- s/_dbus_printf_length/_dbus_printf_string_upper_bound to comform with
- GLib's function which does the same thing
-
- * configure.in:
- * bus/Makefile.am:
- * bus/dir-watch-default.c:
- * bus/dir-watch-dnotify.c:
- * bus/dir-watch-kqueue.c:
- Add kqueue directory watching for freebsd and split the directory
- watching code into seperate files per method/arch
- (patches from Timothy Redaelli <drizzt at gufi dotorg>)
-
-2006-08-08 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.in:
- * tools/Makefile.am:
- * tools/dbus-launch.c:
- * bus/Makefile.am:
- allow --with-dbus-daemondir switch to be used to make the
- daemon install to a seperate bindir like /usr/libexec
- (patch from Brian Cameron <brian dot cameron at sun dot com)
-
-2006-08-08 John (J5) Palmieri <johnp@redhat.com>
-
- * bus/Makefile.am (install-data-hook): removed the slash after
- $(DESTDIR) so we don't get the double slash which does not work
- in windows (patch from Andras Porjesz
- <andras dot porjesz at siemens dot com>)
-
-2006-08-08 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-sysdeps.h:
- * dbus/dbus-sysdeps.c:
- add _dbus_printf_length (patch from Peter Kümmel
- <syntheticpp at gmx dot net>)
-
-2006-08-08 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-internals.c: unistd.h is not used
- (_dbus_verbose_real): only enable verbose printing
- if DBUS_VERBOSE environment var is set to '1'
- (patch from Peter Kümmel <syntheticpp at gmx dot net>)
-
-2006-08-08 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.in: add a GCC flag check for -Wdeclaration-after-statement
- so we still compile on older gcc (patch from Frederic Peters
- <fpeters at 0d dot be>
-
-2006-08-04 Havoc Pennington <hp@redhat.com>
-
- * configure.in: add -Wdeclaration-after-statement
-
- * dbus/dbus-connection.c: change all the pending call stuff to
- reflect the fact that pending call operations use the connection
- lock
-
- * dbus/dbus-pending-call.c: add locking here
-
- * dbus/dbus-errors.c (struct DBusRealError): don't make the name
- field const consistent with how message field is done
-
-2006-08-03 John (J5) Palmieri <johnp@redhat.com>
-
- * s/D-BUS/D-Bus/g
-
-2006-08-03 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-object-tree.c: Patch by Benjamin Otte
- <in7y118 at public.uni-hamburg dot de> - fix invalid
- read/write reported by valgrind
-
-2006-07-24 John (J5) Palmieri <johnp@redhat.com>
-
- * Released 0.91
-
-2006-07-22 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-connection.c:
- (_dbus_connection_attach_pending_call_unlocked):
- (connection_timeout_and_complete_all_pending_calls_unlocked):
- Make sure we set timeout_added on pending calls to FALSE when
- we remove the timeout from the connection
-
-2006-07-21 John (J5) Palmieri <johnp@redhat.com>
-
- * Removed some extra bindings stuff lingering around (thanks timo)
- * dbus-pendingcall.c (_dbus_pending_call_new):
- s/dbus_connection_ref/_dbus_connection_ref_unlocked fixes assertion
- when we tried to take a lock on an already locked connection
-
-2006-07-17 John (J5) Palmieri <johnp@redhat.com>
-
- * Released 0.90
-
-2006-07-17 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-marshal-basic.c (_dbus_type_to_string): support 64-bit
- ints, reported by Owen Taylor
-
-2006-07-17 John (J5) Palmieri <johnp@redhat.com>
-
- * doc/TODO:
- * dbus/dbus-bus.c:
- * dbus-errors.c:
- * dbus/dbus-marshal-validate.c:
- Removed TODO items which were fixed or are no longer relevent
-
-2006-07-17 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus-qt4-1.pc.in, dbus-sharp.pc.in:
- Remove stray files from the stripped bindings
-
-2006-07-16 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-pending-call.c (_dbus_pending_call_set_timeout_error):
- Improve the error message on reply timeout
-
-2006-07-14 John (J5) Palmieri <johnp@redhat.com>
-
- * Remove all bindings
-
-2006-07-13 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus-connection.c (dbus_connection_send_with_reply): return TRUE
- and set pending_reply out arg to NULL is connection is disconnected
- (connection_timeout_and_complete_all_pending_calls_unlocked): New
- static method for cleaning up pending calls on disconnect
- (_dbus_connection_get_dispatch_status_unlocked): If we have pending
- calls queued timeouts on disconnect
-
- * dbus/dbus-pending-call.c (_dbus_pending_call_set_connection):
- Remove
-
-2006-07-13 Carlos Garcia Campos <carlosgc@gnome.org>
-
- * bus/activation.[ch] (bus_activation_list_services): new function to
- get the list of services that can be activated
-
- * bus/dispatch.c: test coverage for the new bus method
- ListActivatableNames
-
- * bus/driver.c: new bus method ListActivatableNames to get the list of
- services that can be activated
-
- * doc/dbus-specification.xml: ListActivatableNames method documentation
-
-2006-07-12 John (J5) Palmieri <johnp@redhat.com>
- * dbus/Makefile.am: add dbus-pending-call-internal.h to the list of
- source files
-
-2006-07-12 John (J5) Palmieri <johnp@redhat.com>
- * dbus/dbus-message-factory.c:
- Fix index into an array (patch by Peter Kümmel <syntheticpp at gmx.net>)
-
-2006-07-12 John (J5) Palmieri <johnp@redhat.com>
- * dbus/dbus-connection-internal.h:
- * dbus/dbus-connection.c:
- * file dbus/dbus-pending-call.c:
- * dbus/dbus-pending-call.h:
- Make DBusPendingCall an opaque type even to D-Bus internals
-
-2006-07-07 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-connection.h: remove connection_disconnect and replace with
- connection_close
-
- * dbus/dbus-connection.c: include dbus-bus.h
- (_dbus_connection_read_write_dispatch): make static
-
-2006-07-07 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-connection.c (dbus_connection_close): removed deprecated
- function
- (dbus_connection_dispatch): On disconnect unref any shared connections
-
- * dbus/dbus-bus.c (_dbus_bus_check_connection_and_unref): new function
- for cleaning up shared connections on disconnect
- (internal_bus_get): get a hard refrence to shared connections when
- they are created
-
- * doc/TODO: Remove items which are no longer relevent or have been fixed
- Split 1.0 todo items with a 0.90 freeze todo list
-
-2006-06-14 Ross Burton <ross@openedhand.com>
-
- * glib/dbus-gobject.c:
- Free a leaking GArray (surely not!) in dbus_g_method_return.
-
-2006-06-14 Ross Burton <ross@openedhand.com>
-
- * tools/Makefile.am:
- * tools/dbus-monitor.c:
- Don't use the GLib bindings in dbus-monitor (patch from Ralf
- Habacker).
-
-2006-06-14 Ross Burton <ross@openedhand.com>
-
- * tools/dbus-print-message.c:
- Also print the object path when outputting signals or method calls.
-
-2006-06-13 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/src/Makefile.am: install the qdbus.h header.
- This allows people to actually use the installed code.
-
-2006-06-12 Ross Burton <ross@openedhand.com>
-
- * glib/dbus-gproxy.c:
- Don't leak a GArray when firing signals (thank Rob Taylor for review).
-
-2006-06-12 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * Released 0.62
-
-2006-06-12 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * dbus/dbus-arch-deps.h.in: Remove spurious semi-colons that
- break pedantic builds. Closes bug 6043 (patch approved by
- Havoc back in February).
-
-2006-06-12 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/src/qdbusintegrator.cpp: Fix bug in parsing async methods
- that took a QDBusMessage parameter.
- * qt/src/qdbusbus.h: Add a default flag for RequestName.
- * qt/tools/dbus.cpp: Don't use automatic call because we might
- be calling an async method: request a reply.
-
-2006-06-11 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * test/qt/*: Update the testcases, including testing the new
- functionality of sending null QByteArray and QString over the
- bus. Add new headertest test and restore the old
- qdbusxmlparser test.
-
-2006-06-11 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/tools/dbuscpp2xml.cpp: Compile on Windows.
- * qt/tools/dbusidl2cpp.cpp: Add missing newline.
-
- * qt/examples/Makefile.am:
- * qt/examples/chat.h: Use UI-generated files with the ui_*.h
- form.
-
- * qt/src/qdbusmarshall.cpp: Allow sending of QString() and
- QByteArray() (nulls) over the bus.
- * qt/src/qdbusabstractinterface.cpp: Use the correct variable,
- the one that has the signature suffix stripped.
- * qt/src/qdbusreply.h: Make some methods const.
-
-2006-06-09 Thiago Macieira <thiago.macieira@trolltech.com>
-
- Patch from Timo Hoenig <thoenig@suse.de>.
-
- * qt/dbus/Makefile.am: New file. Fix "make dist", add all headers
- required during build to EXTRA_DIST.
- * qt/src/Makefile.am: Fix "make dist", add 'qdbus.h' to EXTRA_DIST.
- * qt/Makefile.am: Fix "make dist", add 'dbus' to DIST_SUBDIRS.
- * configure.in: Fix "make dist", take care that the Makefile for
- qt/dbus is being generated.
-
-2006-06-07 John (J5) Palmieri <johnp@redhat.com>
-
- * bus/bus.c: Fix eavesdropping on method calls
-
-2006-06-07 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.in:
- * dbus/dbus-userdb-util.c:
- Add Solaris console owner patch from Artem Kachitchkine
-
-2006-06-07 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/Makfile.am:
- * qt/src/Makefile.am: Fix the EXTRA_DIST after the
- reorganisation. Thanks to Timo Hoenig for pointing this out.
-
-2006-06-06 Robert McQueen <robot101@debian.org>
-
- * glib/dbus-gtype-specialized.c: Fix obvious leak of GArray in every
- call to dbus_g_type_get_struct.
-
-2006-06-06 Robert McQueen <robot101@debian.org>
-
- * glib/dbus-gvalue-utils.c: Fix the failing test where static string
- pointers were put into a GPtrArray-based specialised collection, and
- then freed along with the array. GValues which you add into
- collections or maps which have the NOCOPY flag set are assumed to not
- belong to the caller, so rather than the existing pointer-stealing
- semantics, they are copied instead. Given that the main consumers of
- this abstraction are the bindings themselves, I don't think this is
- too bad, but others should watch their choice of take vs set_static.
-
-2006-06-06 Robert McQueen <robot101@debian.org>
-
- * glib/dbus-gvalue-utils.c: Spotted a warning about the return value
- of g_slist_prepend not being used. Fixed copying of slist-based
- specialised collections, then wrote a test case and found that it was
- all broken. Went on to fix iterating and appending too. Good thing
- nobody uses this code yet.
-
-2006-06-06 Robert McQueen <robot101@debian.org>
-
- * glib/dbus-gvalue-utils.c: Remove duplicated code by having all of
- the iterators use gvalue_take_ptrarray_value (the GValues themselves
- are discarded without unsetting, so it makes no difference whether
- we take or set_static). Remove cases for G_TYPE_POINTER because
- there really is nothing useful we can do with them in our
- specialised types - we *need* boxed copy/free functions at the very
- least.
-
-2006-06-05 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/dbus: Add directory. I had forgotten to add this
- yesterday after the move...
-
- * qt/examples/Makefile.am:
- * qt/examples/dbus.cpp: Moved to qt/tools/dbus.cpp.
-
- * qt/tools/Makefile.am:
- * qt/tools/dbus.cpp: Moved from qt/examples/dbus.cpp.
- Added feature to get and set properties.
- Added validation of service, object path and interface names.
-
- * qt/tools/dbusidl2cpp.cpp: Two new features:
- 1) Allow specifying both the header and the source file names,
- by separating them with a colon.
- 2) Don't write an interface output if the -p switch wasn't
- given, but the -a was.
-
- * qt/src/*: Fix usage of Iterators and ConstIterators.
- Fix shadowing of variables by other variables (-Wshadow).
- Fix keyword-cleanliness in headers.
- Fix ASCII-cast (QLatin1String, QLatin1Char).
- Fix validation of member names.
- Add extra checking of introspection data during XML parsing.
- Various bug fixes.
-
-2006-06-04 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * dbus/Makefile.am:
- * dbus/qdbus.h: Remove unnecessary file. This is mirrored into
- qt/dbus/qdbus.h now.
-
-2006-06-04 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * configure.in: Make --disable-qt actually do
- something. Patch inspired by Zack Rusin.
-
-2006-06-04 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/: Update to Subversion r548032.
- This includes a big reorganisation of the files inside the
- subdir.
-
-2006-05-30 Sjoerd Simons <sjoerd@luon.net>
-
- * dbus/dbus-sysdeps.c: Make tcp socket connection error somewhat more
- clear:
- "Failed to connect to socket <host>:<port> <error>" instead of
- "Failed to connect to socket <host>: <error>:<port>"
-
- * dbus/dbus-transport-unix.c: Fix crash when no host option is given
- for a tcp transport.
-
-2006-05-29 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/*: Update the QtDBus bindings up to revision 546310 in
- Subversion.
- This adds the dbuscpp2xml tool, that parses a C++ header and
- outputs a D-BUS Introspection XML.
-
-2006-05-21 Havoc Pennington <hp@redhat.com>
-
- * glib/dbus-gproxy.c: Put in a pile of assertions that the proxy name
- is not NULL when it shouldn't be. Also a couple of possible fixes
- for #4637 though I don't understand why the bug happens, to be
- honest... also the object constructor has an assert name != NULL
- and the name is only currently NULL for peer-to-peer proxies that
- I don't think anyone uses? So it should be asserting.
- Anyway, for now at least see if we get an earlier assertion failure.
-
- * glib/dbus-gvalue-utils.c: Put in a couple of assertions for
- apparently broken code to be sure the tests fail and someone
- will fix them...
-
-2006-05-07 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/qdbusmarshall.cpp: Fix a problem of demarshalling lists
- and arrays when they had a single element: has_next returns
- false, even before you read the element. So, instead, check
- the array length.
-
-2006-05-06 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/qdbusmessage.cpp:
- * qt/qdbustypehelper_p.h:
- * qt/qdbusintegrator.cpp: gcc 3.4 doesn't like Q_FOREACH when
- the list is a const-reference
-
-2006-05-03 John (J5) Palmieri <johnp@redhat.com>
-
- * Adding old doc patch that never got applied
-
- * dbus/bus.c (dbus_bus_add_match): Add documentation
-
- * doc/dbus-specification.xml: Add documentation for the match rules
- and the AddMatch and RemoveMatch methods
-
-2006-05-02 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/dbusidl2cpp.cpp: There's no callAsync. Use the correct
- call (r535506)
-
- * qt/dbusidl2cpp.cpp:
- * qt/qdbusabstractadaptor.cpp:
- * qt/qdbusabstractadaptor.h: Make QDBusAdaptorConnector be a
- sibling of the QDBusAbstractAdaptor objects instead of the
- parent. (r535848)
-
- * qt/dbusidl2cpp.cpp:
- * qt/qdbusabstractinterface.cpp:
- * qt/qdbusabstractinterface.h:
- * qt/qdbusabstractinterface_p.h:
- * qt/qdbusinterface.cpp: Make properties in interfaces
- actually work. The code that was generated would not compile,
- due to moc calls to functions that did not exist. They now
- shall. (r536571)
-
-2006-04-30 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * Makefile.am:
- * configure.in:
- * dbus-qt4-1.pc.in: Add a pkg-config file for libdbus-qt4-1.
- Thanks to Brad Hards for providing the patch
-
-2006-04-29 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/dbusidl2cpp.cpp: There's no callAsync. Use the correct
- call. (r535506)
-
-2006-04-29 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/examples/dbus.cpp: Enhance error messages and use
- QDBusInterfacePtr.
-
-2006-04-29 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/qdbusinterface.h: Rename QDBusRef to QDBusInterfacePtr
- and disable the copy operators. (r533772, r534746)
-
- * qt/qdbuserror.h: Remove the automatic cast to bool. (r533929)
-
- * qt/qdbusabstractinterface.cpp:
- * qt/qdbusabstractinterface.h: Change the default call mode to
- not use the event loop. Add convenience call() methods that
- take a CallMode parameter. (r534042)
-
- * qt/qdbusconnection.h: Change the default call mode to not
- use the event loop. (r534042)
-
- * qt/qdbusinterface.cpp:
- * qt/qdbusinterface.h: Add a method to tell us if the
- interface is valid (since we don't return a null pointer
- anymore) (r534099)
-
- * qt/qdbusinterface_p.h: Don't crash if metaObject is 0
- (r534101)
-
- * qt/qdbusinternalfilters.cpp: Decouple the introspection
- function in two so taht we get the chance to introspect
- without having a QDBusMessage (r534102)
-
- * qt/qdbusbus.h:
- * qt/qdbusconnection.cpp:
- * qt/qdbusconnection_p.h:
- * qt/qdbusintegrator.cpp: Keep a list of our own names to
- avoid a round-trip to the server when attempting to introspect
- one of our own objects. Also make sure the filter functions
- match the empty interface as well. (r534108)
- Don't keep the connection names. Instead, trust the unique
- connection name (r534111)
- Remove event loop usage (r534112)
-
-2006-04-29 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/qdbusintegrator.cpp: Fix assertion failure spotted by
- Brad Hards.
-
-2006-04-28 Robert McQueen <robot101@debian.org>
-
- * glib/dbus-gproxy.c: Fix properties so that they can be given in
- any order, making it easier for people who inherit from this
- object.
-
-2006-04-28 Robert McQueen <robot101@debian.org>
-
- * glib/dbus-gvalue-utils.c: Patch from Jakub Stachowski to fix leaking
- of memory from within pointer arrays and lists. Fixes bug #6300.
-
-2006-04-28 Robert McQueen <robot101@debian.org>
-
- * glib/dbus-gvalue.c: Patch from Jakub Stachowski to fix a leak in
- generating struct signatures. Fixes bug #6083.
-
-2006-04-28 Robert McQueen <robot101@debian.org>
-
- * qt/Makefile.am: Tweak CLEANFILES from qdbusconnection.moc
- to qdbusconnection_p.moc.
-
-2006-04-24 John (J5) Palmieri <johnp@redhat.com>
-
- * README, INSTALL: Doc fixes
- Patch from Brad Hards <bradh at frogmouth.net>
-
-2006-04-23 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/examples/dbus.cpp: Use the new merged-interface mode for
- the dynamic meta object. No need to guess which interface to
- call.
-
-2006-04-23 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/qdbusconnection_p.h:
- * qt/qdbusmetaobject.cpp:
- * qt/qdbusmetaobject_p.h:
- * qt/qdbusintegrator.cpp: Use the new merged-interface mode
- for the dynamic meta object. No need to guess which
- interface to call.
- * qt/qdbusabstractinterface_p.h:
- * qt/qdbusconnection.cpp:
- * qt/qdbusintegrator.cpp:
- * qt/qdbusinterface.cpp:
- * qt/qdbusinterface.h: Make findInterface always return a non-null pointer.
- Add a QDBusRef that looks and behaves like DCOPRef.
-
-2006-04-23 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * dbus/dbus-connection.c: Interfaces are optional in method
- calls, so don't give up if the interface parameter is NULL.
- Patch reviewed by Havoc Pennington.
-
-2006-04-23 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/qdbusreply.h: Add default constructor and operator=
- (r532625)
- * qt/qdbustypehelper_p.h: Use a clean namespace: no foreach()
- in public headers (r532952)
- * qt/qdbusabstractinterface.cpp:
- * qt/qdbusabstractinterface_p.h: Add the AutoDetect mode and
- make it the default (r532951)
-
-2006-04-19 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-connection.c: Fix asserts
- Patch from Tim Moloney <t.moloney at verizon.net>
-
-2006-04-19 John (J5) Palmieri <johnp@redhat.com>
-
- * mono/Connection.cs, mono/Message.cs: Check Target type
- Patch from Aaron Bockover (abockover at novell.com)
-
-2006-04-13 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * INSTALL: fine-tune the requirements for the Qt4 binding.
-
-2006-04-16 Daniel P. Berrange <dan@berrange.com>
-
- * tools/dbus-print-message.c: Added support for printing of all
- remaining data types. Fixed logic for indentation of compound
- data types.
-
-2006-04-15 Daniel P. Berrange <dan@berrange.com>
-
- * INSTALL: fill out content of file providing DBus specific
- build installations, followed by generic Auto* INSTALL file
- content
-
-2006-04-13 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/qdbusintegrator.cpp: Work around g++ 3.3 bug.
- Patch by Stefan Eilers. (r529537)
-
-2006-04-13 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/qdbusinternalfilters.cpp: Don't show the parent's
- contents (r528208)
-
-2006-04-10 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/Makefile.am: fix the dependency for
- qdbusconnection_p.moc. It's included in qdbusintegrator.cpp,
- not in qdbusconnection.cpp.
- Thanks to Jakub Stachowski <stachowski@hypair.net> for
- spotting this.
-
-2006-04-10 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/examples/listnames.cpp:
- * qt/examples/Makefile.am: Three ways to list the names on the
- bus.
-
-2006-04-10 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * test/qt/tst_hal.cpp: Remove the waiting, since it's not
- needed anymore. Requires Qt 4.1.3 to work properly. (r528148)
-
-2006-04-10 Thiago Macieira <thiago.macieira@trolltech.com>
-
- Merge from Subversion:
- * qt/qt-dbus.qdocconf: Update Trolltech's webpage link to
- something that exists (r526315)
- * qt/qdbusinternalfilters.cpp: Correctly detect non-scriptable
- slots/signals (r526316)
- * qt/qdbusinternalfilters.cpp: Fix the setProperty call and
- also return an unknown-method error if the parameters don't
- match for org.freedesktop.DBus.Properties. (r526842)
- * qt/examples/dbus.cpp: Allow passing of QVariants (r526843)
- * qt/qdbusintegrator.cpp: Restore the proper order of
- delivery: don't make method returns be delivered on priority
- (r528150)
-
-2006-03-28 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * configure.in qt/Makefile.am: add qt/examples
- * qt/examples: Add QtDBus example programs:
- - hello: Hello, World
- - ping: Simple method-calling program
- - pong: Simple object-exporting program (not using adaptors)
- - complexping: Interactive method-calling program
- (also gets and sets properties).
- - complexpong: Sample program exporting methods, signals and
- properties, using adaptors.
- - dbus: Simple implementation of a generic method-calling
- program, similar to 'dbus-send', but with semantics
- similar to 'dcop'.
- - chat: Simplistic chat program, implemented using signals
- and the system bus. Looks like IRC.
-
-2006-03-28 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * configure.in: Detect QtGui (necessary for one of the
- example programs). Note: this increases the minimum required
- version of Qt to 4.1.3.
-
-2006-03-28 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * test/qt/*: Sync with KDE Subversion revision 523647.
- Update the testcases to the new API. Remove testcases for
- classes that are no longer public or have been removed.
-
-2006-03-28 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/*:
- * dbus/qdbus.h: Sync with KDE Subversion revision
- 523647. Hopefully, this will be the last of the
- source-incompatible changes. Documentation has been improved;
- support for QList<basic-types> has been added; QDBusObject is
- gone; QDBus(Abstract)Interface is now a QObject with
- auto-generated meta-object; QDBusIntrospection is marked
- private, since QMetaObject can be used now; lots of bugfixes.
-
-2006-03-16 John (J5) Palmieri <johnp@redhat.com>
-
- Patch from Milosz Derezynski <internalerror at gmail.com>
-
- * configure.in:
- Output the service directory in the configure summary
-
- * dbus-1.pc.in:
- Add session_bus_services_dir
-
-2006-03-10 Ross Burton <ross@openedhand.com>
-
- * tools/dbus-print-message.c:
- Add support for object paths and signatures.
-
-2006-03-06 Sjoerd Simons <sjoerd@luon.net>
-
- * bus/bus.c: (bus_context_reload_config): Flush the user database cache on
- config reload.
- * bus/dbus-daemon.1.in: Also note that SIGHUP flushes the user/group
- information caches
- * dbus/dbus-hash.c: (_dbus_hash_table_remove_all):
- * dbus/dbus-hash.h: Add function to remove all entries from a hash table
- * dbus/dbus-userdb.c: (_dbus_user_database_flush):
- * dbus/dbus-userdb.h: Add function to flush all user/group information
- caches.
-
-2006-03-06 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/dbusidl2cpp.cpp:
- * qt/Makefile.am: add the dbusidl2cpp tool, the replacement
- for dcopidl2cpp, found in the KDE installations (or the more
- modern kalyptus): generate Qt4 C++ code for the input XML
- introspection. Currently no IDL parsing.
-
-2006-03-06 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * test/qt/*: Update the self-tests.
-
-2006-03-06 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/*:
- * dbus/qdbus.h: Sync with KDE Subversion revision 516237. This
- represents the first feature-complete version of the Qt4
- bindings since I took ove maintainership.
-
-2006-03-06 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/Doxyfile: Adding a Doxyfile for the Qt4 bindings
- dir. This is C++, so we can't use the DBus ones.
-
-2006-03-02 John (J5) Palmieri <johnp@redhat.com>
-
- * python/dbus_bindings.pyx: Remove refrence to sys/cdefs.h
- (Patch from Artem Kachitchkine <Artem.Kachitchkin at Sun.COM>)
-
-2006-03-02 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-connection.c:
- (_dbus_connection_block_pending_call):
- Check to see if our data has already been read off the connection
- by another blocking pending call before we block in poll.
- (check_for_reply_and_update_dispatch_unlocked):
- Code taken from _dbus_connection_block_pending_call - checks for
- an already read reply and updates the dispatch if there is one.
-
- * test/name-test/test-pending-call-dispatch.c:
- New test for making sure we don't get stuck polling a
- dbus connection which has no data on the socket when
- blocking out of order on two or more pending calls.
-
-2006-02-28 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/Makefile.am: Patch by Sjoerd Simons. More .moc issues:
- make/automake don't detect that we're talking about the same
- .lo file if I specify the full path to the source files.
-
-2006-02-26 Havoc Pennington <hp@redhat.com>
-
- * bus/dbus-daemon.1.in: improve the language in a couple spots I noticed
-
- * dbus/dbus-bus.c (internal_bus_get): in the error message if the
- session bus variable is unset, suggest "man dbus-launch" and "man
- dbus-daemon" to figure out how to fix the problem
-
-2006-02-25 Havoc Pennington <hp@redhat.com>
-
- * glib/dbus-glib-tool.c (usage): fix up the usage message, someone
- should make this thing use the new glib options parser
-
-2006-02-25 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/Makefile.am: Patch by Sjoerd Simons. Fix the path to the
- .lo files taking moc sources.
-
-2006-02-25 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus.h, dbus/Makefile.am: add dbus-signature.h to dbus.h
- and install it as a public header
-
-2006-02-24 John (J5) Palmieri <johnp@redhat.com>
-
- * Released 0.61
-
-2006-02-24 John (J5) Palmieri <johnp@redhat.com>
-
- * proxies.py: Fix the callchain
-
-2006-02-24 John (J5) Palmieri <johnp@redhat.com>
-
- * patch from Sjoerd Simons <sjoerd at debian.org>:
-
- * dbus/dbus-sysdeps-util.c (_dbus_group_info_free): Moved to
- dbus/dbus-sysdeps.c
-
- * dbus/dbus-userdb.c (_dbus_group_info_free_allocated): Don't
- call _dbus_group_info_free_allocated which causes infinite loop,
- correctly call _dbus_group_info_free
-
-2006-02-20 Thiago Macieira <thiago.macieira@trolltech.com>
-
- * qt/qdbusinterface_p.h:
- * qt/qdbusinterface.cpp: Use the standard
- org.freedesktop.DBus.Method.NoReply annotation for the "async"
- calls instead of creating one for us.
-
- * qt/qdbusconnection_p.h:
- * qt/qdbusintegrator.cpp: Remove debugging code.
-
- * qt/qdbusintegrator.cpp:
- * qt/qdbusmessage.cpp:
- * qt/qdbusmessage_p.h:
- * qt/qdbusmessage.h: Change the behaviour of automatic
- reply-sending: now a reply is always sent, unless the caller
- didn't request one or if the user slot has already sent one.
-
-2006-02-16 Robert McQueen <robot101@debian.org>
-
- * configure.in: Patch from Debian packages by Sjoerd Simons
- <sjoerd@debian.org> to add --with-qt-moc and --with-qt3-moc
- arguments so it's possible to build both bindings in the
- same tree.
-
- * qt/Makefile.am: Fix truncated value so that make dist works.
-
-2006-02-16 Robert McQueen <robot101@debian.org>
-
- * acinclude.m4, configure.in: Patch from Brad Hards
- <bradh@frogmouth.net> to avoid warnings from autoconf 1.9 by
- improving quoting, re-ordering a few checks, and a few other
- aesthetic tidy-ups.
-
-2006-02-16 Robert McQueen <robot101@debian.org>
-
- * dbus/dbus-message.c (dbus_message_iter_get_fixed_array):
- Patch from Rob Taylor <rob.taylor@collabora.co.uk> to correct a bogus
- assertion that the next element to read from the iter is fixed in
- size. This is not the case when you are at the end of the iter,
- because the next element type is INVALID.
-
- * dbus/dbus-string.c (_dbus_string_init_const_len): Correct a
- a bogus assert which means that you may not initialise a 0-length
- string unless you provide a non-NULL pointer. This prevented
- you from marshalling messages containing zero-length arrays in
- some cases.
-
- * glib/dbus-gvalue.c (demarshal_collection_array): Another patch
- from Rob to correct bogus asserts when trying to demarshal an
- array and get_fixed_array got you 0 elements. Append nothing to
- the GArray in this case.
-
- * test/glib/test-dbus-glib.c: Add a test case for round-tripping
- an empty array via the glib bindings. Without all of the above
- patches, this new test fails.
-
-2006-02-16 Robert McQueen <robot101@debian.org>
-
- * glib/dbus-gmain.c: Make the previous commit compile.
-
- * python/_dbus.py, python/matchrules.py: Patch from Ole Andre
- Ravnaas <ole.andre.ravnaas@collabora.co.uk> to allow you to
- specify sender_keyword="foo", path_keyword="bar" when adding
- a signal listener, so that you can bind to signals generically
- but still do something useful in your callback.
-
- * python/dbus_bindings.pyx: Demarshal the byte type as unsigned
- chars so that they're not cast to chars and made negative. Thanks
- to Jakub Stachowski for reporting this and testing the fix.
-
-2006-02-15 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-glib.h:
- * glib/dbus-gmain.h:
- (dbus_g_connection_open): new method for openning
- a connection to an arbitrary address in the glib bindings
-
- * ChangeLog: checkin last entry which doesn't seem to be commited
-
-2006-02-13 John (J5) Palmieri <johnp@redhat.com>
-
- * tools/dbus-launch.c: Fixed sh syntax output
-
-2006-02-13 Robert McQueen <robot101@debian.org>
-
- * glib/dbus-binding-tool-glib.c, glib/dbus-gmain.c,
- glib/dbus-gsignature.c, glib/dbus-gtype-specialized.c,
- glib/dbus-gtype-specialized.h, glib/dbus-gvalue-utils.c,
- glib/dbus-gvalue-utils.h, glib/dbus-gvalue.c:
- Patch from Rob Taylor <rob.taylor@collabora.co.uk> to add a big
- missing piece of the glib bindings jigsaw puzzle. This modifies
- the existing specialised types to have N type parameters (rather
- than the current 1 or 2 for arrays and dictionaries respectively).
- You can then use this to get a glib type to represent any arbitrary
- D-Bus struct type using dbus_g_type_get_struct. The only
- implementation of these types is with GValueArrays as before,
- but it's now possible to store these in arrays, emit them in
- signals, etc.
-
-2006-02-10 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-signature.c (dbus_signature_iter_recurse): Correctly
- deal with nested arrays (Bug #5823) Patch by Thiago Macieira
- <thiago.macieira at trolltech.com>
-
-2006-02-10 John (J5) Palmieri <johnp@redhat.com>
-
- * mono/doc/Makefile.am: Fix parallel make problem with mono-doc
- (Bug #4213) Patch from Doug Goldstein <cardoe at gentoo.org>
-
-2006-02-10 John (J5) Palmieri <johnp@redhat.com>
-
- * bus/connection.c (bus_connections_expect_reply): Make
- pending reply limit not common to all connections (Bug #5416)
- Patch from Kimmo Hämäläinen <kimmo.hamalainen at nokia.com>
-
-2006-02-10 John (J5) Palmieri <johnp@redhat.com>
-
- * tools/dbus-launch.c: Fixed csh syntax output (Bug #5720)
-
-2006-02-10 John (J5) Palmieri <johnp@redhat.com>
-
- * gcj/Makefile.am: point to correct jar command (Bug #4529)
- patch from Doug Goldstein <cardoe at gentoo.org>
-
-2006-02-09 Joe Shaw <joeshaw@novell.com>
-
- * mono/Arguments.cs: Fix a magic number in the mono bindings
- that doesn't work on 64 bit arches. Patch from Peter Johanson.
-
-2006-01-27 Robert McQueen <robot101@debian.org>
-
- * glib/dbus-binding-tool-glib.[ch]: Patch based on Ricardo Kekki's
- patch to use an annotation org.freedesktop.DBus.GLib.ClientCSymbol
- when generating the client-side methods, instead of overloading
- CSymbol which broke everything horribly. My apologies.
-
-2006-01-27 Robert McQueen <robot101@debian.org>
-
- * glib/dbus-gtype-specialized.[ch], glib/dbus-gvalue-utils.c: Patch
- by me and Rob Taylor to add a simple_free function to D-Bus map
- and collection types, which allows those types which can be freed
- with a GDestroyNotify (such as GHashTables and GArrays, but not
- GPtrArrays) to be stored as the values in hashtables.
-
- * test/glib/test-dbus-glib.c, test/glib/test-service-glib.{c,xml}:
- Patch by Rob Taylor to add nested dicts to the glib tests to check
- the above code works, and appears not to leak when called repeatedly.
-
-2006-01-27 Robert McQueen <robot101@debian.org>
-
- * glib/dbus-gvalue.c (demarshal_valuearray): Patch from Rob Taylor
- to free a D-Bus allocated string with dbus_free () instead of
- g_free ().
-
-2006-01-27 Iain Holmes <iain@openedhand.com>
-
- * glib/dbus-gproxy.c (dbus_g_proxy_dispose): Protect the dispose
- method from being called multiple times.
-
-2006-01-19 Robert McQueen <robot101@debian.org>
-
- * glib/dbus-binding-tool-glib.c: Patch from Rob Taylor
- <rob.taylor@collabora.co.uk> to add support for generating bindings
- to arrays that are represented as GPtrArrays rather than GArrays (ie
- size-variable things, such as strings, objects, structs, etc).
-
-2006-01-05 Robert McQueen <robot101@debian.org>
-
- * dbus/dbus-glib.h, glib/dbus-gproxy.c: Patch from Ricardo Kekki
- <ricardo.kekki@movial.fi> to make it possible to inherit from
- DBusGProxy, by splitting the DBusGProxy struct into a public part and
- a private part, and moving the setting of the DBusGProxyManager into a
- connection property, allowing proper GObject construction.
-
-2006-01-05 Robert McQueen <robot101@debian.org>
-
- * glib/dbus-binding-tool-glib.c: Patch from Ricardo Kekki
- <ricardo.kekki@movial.fi> to make dbus-binding-tool heed C symbol name
- annotations when generating glib client bindings.
-
-2005-12-19 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-shared.h: Call it shared constants instead of shared macros
-
- * dbus/dbus-protocol.h: add DOxygen markup to quiet warnings
-
-2005-12-19 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-shared.h: add DOxygen markup to quiet warnings
-
-2005-12-19 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-macros.h: correct DOxygen end of section (s/}@/@})
-
-2005-12-19 Ross Burton <ross@openedhand.com>
-
- * doc/dbus-tutorial.xml:
- Document the Glib client-side bindings, and list all possible annotations.
-
-2005-12-19 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/bus.c (dbus_bus_release_name): Add documentation
-
-2005-12-06 Robert McQueen <robot101@debian.org>
-
- * python/service.py: s/sucessful/successful/ so we're allocating to
- and reading from the same variable. Oops.
-
-2005-11-30 John (J5) Palmieri <johnp@redhat.com>
-
- * Released 0.60
-
-2005-11-30 John (J5) Palmieri <johnp@redhat.com>
-
- * test/qt/Makefile.am: build from srcdir
-
- * qt/qtconnection.cpp (requestName): Changed PROHIBIT_REPLACE to ALLOW_REPLACE
- Note - this code is wrong and needs to be fixed by the Qt binding
- developers. The flags should be treated as bitfields and not enums.
-
- * qt/qtconnection.h: Change ProhibitReplace to AllowReplace
-
-2005-11-30 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-list.c (_dbus_list_insert_after_link, _dbus_list_insert_after,
- link_after): remove #ifdef DBUS_BUILD_TESTS since we use these methods
- in production code
-
-2005-11-30 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-connection.c (dbus_connection_read_write): Add new
- method for getting messages off the bus in the absence of a
- mainloop. This method is much like
- dbus_connection_read_write_dispatch except it does not dispatch
- the messages to a registered filter function. Instead it
- allows a developer to process messages by directly popping
- them off the bus.
-
-2005-11-30 John (J5) Palmieri <johnp@redhat.com>
-
- * bus/desktop-file.c (parse_key_value): Ignore locales allowing
- the parser to continue instead of returning error
- (bus_desktop_file_load): Do not free parser data when
- parse_section_start or parse_key_value fails because it was
- already freed by parser_free (patch from Carlos Garcia Campos
- <carlosgc at gnome.org>)
-
-2005-11-30 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-auth.c, dbus/dbus-connection.c, dbus/dbus-keyring.c,
- dbus/dbus-server-debug-pipe.c, glib/dbus-binding-tool-glib.c
- glib/dbus-glib-tool.c, glib/dbus-gparser.c, glib/dbus-gproxy.c
- test/test-segfault.c, test/test-utils.c,
- test/glib/test-dbus-glib.c, tools/dbus-cleanup-sockets.c
- tools/dbus-launch.c, tools/dbus-tree-view.c, tools/dbus-viewer.c:
- Various cleanup of dead code and compiler warnings (patch from
- Kjartan Maraas <kmaraas at gnome.org>)
-
-2005-11-30 John (J5) Palmieri <johnp@redhat.com>
-
- * glib/dbus-gmain.c (connection_setup_add_watch): plugged a leak
- (patch from Carlos Garnacho Parro <carlosg at gnome.org>
-
-2005-11-27 Robert McQueen <robot101@debian.org>
-
- * python/dbus_bindings.pyx: Repair my previous commit which reverted
- part of the preceding one. Oops. Merge patch by Johan Hedberg
- <johan.hedberg@nokia.com> to fix marshalling of 16-bit integer values
- on big-endian platforms.
-
- * test/python/test-client.py: Add some 16-bit integers to the test
- values.
-
-2005-11-27 Carlos Garcia Campos <carlosgc@gnome.org>
-
- * glib/dbus-gobject.c: Append a GValue instead of a basic type in
- method return message for property getters
-
-2005-11-27 Robert McQueen <robot101@debian.org>
-
- * python/dbus_bindings.pyx: Fix a bug where doing a strict append
- with type v of an instance of dbus.Variant(foo, type='x') caused
- it to be boxed twice before sending over the bus.
-
- * python/dbus_bindings.pyx, python/service.py,
- test/python/test-client.py: Update the constants for the new
- request_name flags, and update comments/test cases now that queueing
- is the default action.
-
-2005-11-22 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.in:
- - Change version to 0.60 for impending release
- - upped the sonames because of ABI and API breakage
-
-2005-11-22 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.in: Add test/name-test/Makefile to the generated
- Makefile list
-
- * dbus/dbus-shared.h (#define DBUS_NAME_FLAG_ALLOW_REPLACEMENT):
- New flag which replaces DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT
- (#define DBUS_NAME_FLAG_DO_NOT_QUEUE): New flag for specifying
- not to queue an ower if it can't be the primary owner
-
- * bus/bus.h: Add new internal BusOwner struct
-
- * bus/driver.c (bus_driver_handle_hello): Send flags (0 for default)
- to bus_registry_ensure and don't set the prohibit_replacement flag
- since they are now set per BusOwner and not per name.
- (bus_driver_handle_list_queued_owners): bus method (ListQueuedOwners)
- that returns the list of connections in a name's connection queue
-
- * bus/services.c (struct BusService): remove prohibit_replacement field
- (struct BusOwner): new struct for keeping track of queued connections
- and their associated flags for the queue
- (struct BusRegistry): add a BusOwner memory pool
- (bus_registry_new): initialize the BusOwner memory pool
- (bus_registry_unref): free the BusOwner memory pool
- (_bus_service_find_owner_link): new internal method for
- searching the queue for a specific connection
- (bus_owner_set_flags): new method for adding setting the flags on a
- bus owner
- (bus_owner_new): new method that creates a BusOwner object from the
- pool and sets its flags
- (bus_owner_ref, bus_owner_unref): ref counting for BusOwner objects
- (bus_registry_ensure): Add the flags parameter
- (bus_registry_acquire_service): Switch from using raw connections to
- using the BusOwner struct
- Add new state machine for dealing with the new set of flags
- (bus_registry_set_service_context_table, struct OwnershipCancelData,
- cancel_ownership, free_ownership_cancel_data,
- add_cancel_ownership_to_transaction, struct OwnershipRestoreData,
- restore_ownership, free_ownership_restore_data,
- add_restore_ownership_to_transaction): Switch to using BusOwner
- instead of raw connections
- (bus_service_add_owner): Add flags parameter
- Switch to using BusOwner instead of raw connections
- Add state machine for dealing with the new set of flags
- (bus_service_swap_owner): Swaps the first and second owners in the
- queue. Used to make sure proper signals are sent when a service looses
- or gains primary ownership. We never insert an owner at the top of the
- queue. Instead we insert it in the second position and then swap.
- (bus_service_remove_owner): Remove the owner from the queue sending
- out the NameLost and NameOwnerChanged signals if the we were the
- primary owner
- (bus_service_get_primary_owners_connection): New method that extracts
- the connection from the primary owner
- (bus_service_get_primary_owner): Returns the BusOwner instead of the
- connection
- (bus_service_get_allow_replacement): Changed from the old
- bus_service_get_prohibit_replacement method. Checks the flags of the
- primary owner and returns if it can be replaced or not
- (bus_service_set_prohibit_replacement): removed
- (bus_service_has_owner): returns TRUE if and owner with
- the specified connection exists in the queue
-
- * dbus/dbus-bus.c (dbus_bus_connection_get_unique_name): New helper
- method that only compiles if tests are enabled. Allows us to get the
- unique name of a connection so we can check it against the queue when
- doing regression tests
-
- * bus/activation.c (bus_activation_send_pending_auto_activate),
- bus/dispatch.c (bus_dispatch),
- bus/driver.c (bus_driver_handle_get_service_owner,
- bus_driver_handle_get_connection_unix_user,
- bus_driver_handle_get_connection_unix_process_id,
- bus_driver_handle_get_connection_selinux_security_context),
- bus/signals.c (connection_is_primary_owner):
- use bus_service_get_primary_owners_connection instead of
- bus_service_get_primary_owner
-
- * dbus/dbus-sysdeps.c (_dbus_connect_unix_socket,
- _dbus_listen_unix_socket): Calculate the length of the socket
- path and use that instead of using a fixed length which was
- causing socket names to contain many trailing Nul bytes.
-
- * dbus/dbus-glib-lowlevel.h, glib/dbus-gobject.c
- (dbus_g_method_get_sender): New method for extracting the sender
- from a DBusGMethodInvocation
- (dbus_g_method_return_get_reply): changed name to
- dbus_g_method_get_reply
- (dbus_g_method_return_send_reply): changed name to
- dbus_g_method_send reply
-
- * doc/dbus-specification.xml: New docs that describe how the new
- queueing system works and talks about the changes to the how
- we specify socket names
-
- * glib/examples/example-service.c,
- glib/examples/example-signal-emitter.c,
- glib/examples/statemachine/statemachine-server.c:
- Changed the RequestName flags to the new system
-
- * test/name-test/ (test-names.c, run-test.sh, Makefile.am): New
- regression test suite for testing various states of the new
- queueing system
-
-2005-11-15 Robert McQueen <robot101@debian.org>
-
- * dbus/dbus-glib-lowlevel.h, glib/dbus-gobject.c: Patch from Rob
- Taylor to add two methods, dbus_g_method_return_get_reply and
- dbus_g_method_return_send_reply, to allow you to get the reply
- message from a DBusGMethodInvocation, append arbitrary stuff to it,
- and send it. The GLib bindings can't marshal a return value of
- something like a(s) if the array is empty - ultimately they should be
- made to heed the signature of the out arguments as the Python bindings
- now can, but this is a workable interim solution which might have
- other applications.
-
-2005-11-15 Robert McQueen <robot101@debian.org>
-
- * bus/driver.c, bus/services.c, bus/services.h: Add a ReleaseName
- method to org.freedesktop.DBus to release a bus name or give up
- waiting in the queue for it.
-
- * dbus/dbus-bus.c, dbus/dbus-bus.h, dbus/dbus-shared.h: Add a
- dbus_bus_release_name method to send the ReleaseName method calls.
- Add constants for the return values to dbus/dbus-shared.h.
-
- * doc/dbus-specification.xml: Document the new ReleaseName method
- in the specification.
-
- * python/dbus_bindings.pyx: Add a low-level python binding for the
- release name method.
-
- * python/exceptions.py, python/service.py: Make freeing BusName
- objects release the name. Add a NameExistsException, and fix a
- bug with creating UnknownMethodException.
-
- * test/python/test-client.py: Add tests for freeing BusName
- objects causing names to be released.
-
-2005-11-14 Robert McQueen <robot101@debian.org>
-
- * python/service.py: Include the traceback in the error reply when we
- send an exception over the bus. _BEST_ _PATCH_ _EVER_
-
-2005-11-14 David Zeuthen <davidz@redhat.com>
-
- Patch from Timo Hoenig <thoenig@suse.de>.
-
- * bus/bus.c: I've recently investigated why the automatic reload
- of configuration files does not work as expected.
-
- Currently, reloading configuration files does only work when
- running dbus-daemon with --nodaemon. If we are running as daemon
- we're hitting a dnotify bug once we fork the process.
-
- We're initializing the dnotify fds before calling fork(). Once
- the child process forked it does still have the fds (and they
- still show up in /proc/`pidof dbus-daemon`/fd/) but we're not
- getting SIGIO as changes are made to the configuration files.
-
- The attached patch moves the initialization of the dnotify fds to
- process_config_postinit(). This is safe for all current code
- paths and solves the dnotify disfunction. If we're running
- dbus-daemon as daemon the fds for dnotify are now being
- initialized after fork() for the child process.
-
- * configure.in: The current configure.in check for dnotify probes
- 'x$target_os' for being 'xlinux-gnu'. I've changed the check to
- match for 'xlinux', too. Additionally I have adapted the configure
- option's style to match with the others.
-
-2005-11-14 Robert McQueen <robot101@debian.org>
-
- * python/decorators.py, python/service.py: Add a new argument to the
- dbus.service.method decorator called sender_keyword, which if set,
- specifies the name of an argument which will be provided the bus
- name of the method caller.
-
- * test/python/test-client.py, test/python/test-service.py: Add a
- method and test to check the sender_keyword functionality.
-
-2005-11-07 John (J5) Palmieri <johnp@redhat.com>
-
- * bus/driver.c (bus_driver_handle_reload_config): Make sure we send an
- empty reply so blocking calls don't block forever (Patch from Sjoerd
- Simons <sjoerd at luon.net>)
-
- * AUTHORS: Add Robert McQueen for his work on the Python
- Bindings and other parts of D-Bus
-
-2005-11-07 Robert McQueen <robot101@debian.org>
-
- * python/decorators.py: Change emit_signal function to use the
- signature annotation of the signal when marhsalling the arguments from
- the service. Fix a bug where the code checking signature length
- against argument length referenced the wrong variable.
-
- * python/introspect_parser.py: Avoid adding the type signature of
- signal arguments to any methods which occur after them in the
- introspection data (!) by making the parser a little more careful
- about its current state.
-
- * python/service.py: Remove debug prints from last commit (again :D).
-
- * test/python/test-client.py, test/python/test-service.py: Add test
- signals with signature decorators to test the strict marshalling code
- gives errors at the right time. Could do with checking the signals
- actually get emitted too, given that the test does nothing with
- signals at the moment...
-
-2005-11-07 Robert McQueen <robot101@debian.org>
-
- * python/_dbus.py: Add WeakReferenceDictionary cache of dbus.Bus
- instances to stop madness of creating new instances representing
- the same bus connection all the time, rendering any tracking of
- match rules and bus names quite meaningless. Caught a bug where
- the private argument to SessionBus() and friends was being passed
- in as use_default_mainloop by mistake. Still some problems with
- multiple dbus_binding.Connection instances representing the same
- low-level connection (eg when you use both SessionBus() and
- StarterBus() in same process), but it's a lot better now than it
- was.
-
- * python/dbus_bindings.pyx: Add constants with the return values
- for bus_request_name().
-
- * python/service.py: Store bus name instances in a per-dbus.Bus cache
- and retrieve the same instances for the same name, so deletion can be
- done with refcounting. Also now throws some kind of error if you
- don't actually get the name you requested, unlike previously...
-
- * test/python/test-client.py: Add tests for instance caching of buses
- and bus name objects.
-
-2005-11-04 Robert McQueen <robot101@debian.org>
-
- * python/dbus_bindings.pyx, test/python/test-client.py: Fix
- marshalling of boolean values. Add some booleans to the values in
- the test client.
-
- * python/decorators.py, python/service.py: Add an 'async_callbacks'
- argument to the dbus.service.method decorator, which allows you to
- name arguments to take two callback functions for replying with
- return values or an exception.
-
- * test/python/test-client.py, test/python/test-service.py: Add test
- case using asynchronous method reply functions, both return values and
- errors, and from within both the function itself and from a mainloop
- callback.
-
- * python/decorators.py, python/service.py: Perform checking that the
- number of method/signal arguments matches the number of types in the
- signature at class loading time, not when you first introspect the
- class.
-
- * python/service.py: Remove debug print left by the last commit.
-
-2005-11-03 Robert McQueen <robot101@debian.org>
-
- * python/service.py: Heavy refactoring of method invocation, with
- hopefully no effect on functionality. Nuked _dispatch_dbus_method_call
- in favour of a new _message_cb that uses seperate functions for
- looking up the method to call, marshalling the return values, and
- sending exceptions as errors, and is easier to follow as a
- consequence. Fixes some corner cases about returning things that
- don't match your declared out_signature, allows exceptions to define
- _dbus_error_name and have it be sent over the bus as the error name,
- and paves the way for cool stuff like heeding the message no reply
- flag, asynchronous method implementations, informing the method of the
- sender, and including backtraces in the error messages.
-
- * test/python/test-client.py: Catch and print exceptions thrown in the
- async callback tests, rather than passing them to the low-level
- bindings to be ignored in a noisy and frustrating manner.
-
-2005-11-03 Robert McQueen <robot101@debian.org>
-
- * python/_dbus.py, python/proxies.py, python/service.py: Add __repr__
- functions to dbus.Bus, dbus.service.BusName and dbus.service.Object,
- tweak others to be consistent.
-
- * test/python/test-client.py: Tweak output of testInheritance.
-
-2005-10-29 Robert McQueen <robot101@debian.org>
-
- * python/service.py: Major changes to allow multiple inheritance
- from classes that define D-Bus interfaces:
-
- 1. Create a new Interface class which is the parent class of
- Object, and make the ObjectType metaclass into InterfaceType.
-
- 2. Patch written with Rob Taylor to replace use of method_vtable
- with code that walks the class's __MRO__ (method resolution order)
- to behave like Python does when invoking methods and allow
- overriding as you'd expect. Code is quite tricky because
- we have to find two methods, the one to invoke which has the
- right name and isn't decorated with the /wrong/ interface,
- and the one to pick up the signatures from which is decorated
- with the right interface.
-
- The same caveats apply as to normal multiple inheritance -
- this has undefined behaviour if you try and inherit from two
- classes that define a method with the same name but are
- decorated with different interfaces. You should decorate
- your overriding method with the interface you want.
-
- 3. Replace grungy introspection XML generation code in the metaclass
- with dictionaries that cope correctly with multiple inheritance
- and the overriding of methods. This also uses the signature
- decorations to provide correct introspection data, including
- the debut appearance of the types of your return values. :D
-
- * test/python/test-client.py, test/python/test-service.py: Add a test
- case to try invoking an method that overrides one inherited from a
- D-Bus interface class.
-
-2005-10-29 Robert McQueen <robot101@debian.org>
-
- * python/dbus_bindings.pyx: Tweak 'raise AssertionError' to assert().
- Add checking for the end of struct character when marshalling a
- struct in MessageIter.append_strict.
-
- * python/examples/example-service.py,
- python/examples/gconf-proxy-service.py,
- python/examples/gconf-proxy-service2.py: Update to use gobject
- mainloop directly rather than appearing to depend on gtk.
-
- * python/test/test-client.py, python/test/test-server.py: Remove
- obsolete and broken test scripts for old bindings. We have up to date
- and working tests in test/python/.
-
-2005-10-29 Robert McQueen <robot101@debian.org>
-
- * python/decorators.py: Add optional arguments to the method and
- signal decorators to allow you to specify the signature of arguments
- and return values. Preserve the doc strings of signal functions in the
- decorated version, for pydoc and friends.
-
- * python/dbus_bindings.pyx, python/proxies.py: Replace the
- parse_signature_block function with an iterable dbus.Signature()
- type. Fix a bug in MessageIter.append_strict where you could append
- anything by claiming it was a string.
-
- * python/service.py: Use the out_signature decoration on methods to
- marshal return values, meaning you no longer require dbus.Array()
- or dbus.Dictionary() to indicate the type when returning empty
- arrays or dictionaries. Fix a bug where exceptions which are defined
- in __main__ are not turned into error replies.
-
- * test/python/test-client.py, test/python/test-service.py: Add test
- for correct marshalling of return values according to out_signature.
- Fix a bug in the async call test where the error_handler is missing a
- self argument.
-
-2005-10-29 Robert McQueen <robot101@debian.org>
-
- * glib/Makefile.am, glib/examples/Makefile.am,
- glib/examples/statemachine/Makefile.am: Merge patch from Ubuntu by
- Daniel Stone to replace explicit calls to libtool with $(LIBTOOL).
-
- * test/python/.cvsignore: Add run-with-tmp-session-bus.conf.
-
- * tools/dbus-monitor.1, tools/dbus-monitor.c: Merge dbus-monitor patch
- from Ubuntu by Daniel Silverstone to allow specifying match rules on
- the command line.
-
-2005-10-27 Ross Burton <ross@openedhand.com>
-
- * dbus/dbus-marshal-header.c:
- Remove dead code.
-
- * glib/dbus-gobject.c:
- Stop compiler warning.
-
-2005-10-25 Ross Burton <ross@openedhand.com>
-
- * dbus/dbus-auth.c:
- * dbus/dbus-server-unix.c:
- * dbus/dbus-transport-unix.c:
- * glib/dbus-gmain.c:
- * glib/dbus-gobject.c:
- Add some const keywords.
-
-2005-10-25 Ross Burton <ross@openedhand.com>
-
- * doc/dbus-specification.xml:
- Document the NoReply annotation.
-
- * glib/dbus-binding-tool-glib.h:
- * glib/dbus-binding-tool-glib.c:
- Respect the NoReply annotation.
-
-2005-10-24 Robert McQueen <robot101@debian.org>
-
- * python/dbus_bindings.pyx (String, MessageIter): make D-Bus strings
- derive from unicode instead of str, and encode/decode UTF-8 when
- marshalling/unmarshalling bus messages
-
- * python/introspect_parser.py: encode introspection data as UTF-8
- before passing the buffer into libxml2
-
- * test/python/test-client.py: add unicode test strings
-
- * test/data/valid-service-files/.cvsignore, test/python/.cvsignore:
- ignore generated python test files
-
-2005-10-17 John (J5) Palmieri <johnp@redhat.com>
-
- * glib/dbus-gvalue-utils.c (hash_free_from_gtype): handle gdouble
- and G_TYPE_VALUE_ARRAY (DBUS_TYPE_STRUCT)
- (gvalue_from_hash_value, hash_value_from_gvalue): handle gdouble
-
- * glib/dbus-gvalue.c (dbus_gvalue_to_signature): add missing
- DBUS_STRUCT_BEGIN_CHAR and DBUS_STRUCT_END_CHAR charaters
- when constructing struct signatures
-
- * python/_dbus.py (Bus): handle private connections using the
- private keyword in the constructor. defaults to private=False
- (Bus::close): new method to close a connection to the bus
-
- * python/dbus_bindings.pyx (Connection::close): renamed method
- was previously called disconnect
- (bus_get): now supports getting a private connection
-
- * python/proxies.py (ProxyMethod::__call__): check if ignore_reply
- keyword is set to True. if it is, execute the method without waiting
- for a reply
- (ProxyObject::_introspect_execute_queue): new method for executing
- all the pending methods that were waiting for the introspect to
- finish. this is called when introspect either succeeds or fails
- (ProxyObject::_introspect_error_handler): call queued methods
-
-2005-10-14 John (J5) Palmieri <johnp@redhat.com>
-
- * python/dbus_bindings.pyx (MessageIter::append_strict): check for
- STRUCT_BEGIN not TYPE_STRUCT in indicate we are marshalling a struct
-
- * python/service.py (Object::_message_cb): handle exceptions correctly
- by sending them over the wire to the calling app. This makes sure
- the client returns immediately instead of waiting the 15 seconds to
- timeout.
-
- * test/python/test-client.py (TestDBusBindings::testBenchmarkIntrospect):
- Add a test to benchmark how long it takes to introspect a service and
- call a method which returns a large element (pretty fast)
-
- * test/python/test-service.py (TestObject::GetComplexArray): new test
- method which pushes a lot of data
-
-2005-10-13 John (J5) Palmieri <johnp@redhat.com>
-
- * python/service.py(ObjectType::_reflect_on_signal, _reflect_on_method):
- reclaim memory outside of the loop and use del istead of just setting
- the key to None
-
-2005-10-13 John (J5) Palmieri <johnp@redhat.com>
-
- * python/service.py (ObjectType::_reflect_on_signal): Always close
- signal tag even when there are no arguments
-
-2005-10-13 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.in: Set mono, mono-docs and Qt3 to default
- to no instead of auto when building. These bindings do not
- have full time maintainers and will not be supported for the
- 1.0 release.
-
-2005-10-12 John (J5) Palmieri <johnp@redhat.com>
-
- patches from Michael Krivoruchko <misha at sun.com>:
-
- * dbus/dbus-connection.c (_dbus_connection_queue_received_message_link,
- _dbus_connection_message_sent,
- _dbus_connection_send_preallocated_unlocked_no_update,
- _dbus_connection_pop_message_link_unlocked): handle the case when path
- is NULL when calling _dbus_verbose
-
- * configure.in: check for functions getpeerucred and getpeereid
-
- * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): provides
- support of auth EXTERNAL on Solaris 10+ (getpeerucred), FreeBSD 4.6+,
- OpenBSD 3.0+ and FreeBSD 5.0+ as well as MacOSX 10.2+ (getpeereid).
- Patch was only tested on Solaris 10 x86 so it might be issues
- with other platforms (i.e. BSDs and MacOSX)
-
-
-2005-10-05 John (J5) Palmieri <johnp@redhat.com>
-
- * glib/dbus-gvalue.c (marshal_variant): call _dbus_gvalue_marshal
- instead of marshal basic so we can handle recursive types in a variant
-
- * test/glib/test-dbus-glib.c: Add test for marshaling recurive types
- in variants
-
- * test/glib/test-service-glib.c, test-service-glib.xml
- (my_object_echo_variant [EchoVariant],
- my_object_process_variant_of_array_of_ints123
- [ProcessVariantOfArrayOfInts123]):
- Add two test methods
-
- * python/introspect_parser.py: New module for parsing introspect
- data.
-
- * python/dbus_bindings.pyx:
- (various places): when throwing errors fix to use errormsg instead
- of message local variable because Pyrex can get confused with other
- message variables (initial patch by Robert McQueen
- <robert.mcqueen at collabora.co.uk>)
- (MessageIter::parse_signature_block): new method for getting the next
- block in a signiture.
- (MessageIter::append_strict): new method for appending values strictly
- using the passed in signature instead of guessing at the type
- (MessageItter:: append_dict, append_struct, append_array): use
- signatures to marshal children if the signature is available
-
- * python/exceptions.py (IntrospectionParserException): new exception
-
- * python/proxies.py (ProxyMethod::__call__): Marshal args with
- introspected signatures if available, else we fall back to the
- old way of doing things.
- (ProxyObject::_introspect_reply_handler ): parse introspection data
-
- * python/service.py (ObjectType::_reflect_on_method): Properly
- terminate <method> if there are no args in the reflection data
-
- * test/python/test-client.py: add tests for talking with the GLib
- test server. This gives us better coverage for introspection since
- python to python will always generate arguments as variants. It also
- allows us to test the robustness of the GLib bindings and interlanguage
- communications.
-
-
-2005-10-03 John (J5) Palmieri <johnp@redhat.com>
-
- * bus/driver.c (bus_driver_handle_introspect): Add signals
- to the introspect data. (patch from Daniel P. Berrange
- <dan at berrange.com>)
-
- * bus/dispatch.c (check_existent_ping): Add testcase for Ping
-
- * dbus/dbus-connection.c (_dbus_connection_peer_filter,
- _dbus_connection_run_builtin_filters): Changed these to
- be unlock_no_update functions and call
- _dbus_connection_send_unlocked_no_update instead of
- dbus_connection_send to avoid locking errors.
-
- * doc/TODO: Removed the make Ping test TODO
-
-2005-09-26 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/Python.pyx: Fixed memory leaks when throwing errors.
- We now copy the message from a DBusError and then free
- the error object befor throwing the error
-
- * glib/dbus-glib-tool.c: removed extra comma at the end of the
- DBusBindingOutputMode enum which was causing a warning.
- #include <time.h> so using time_t is explicitly defined
-
-2005-09-26 John (J5) Palmieri <johnp@redhat.com>
-
- * Integrate patches from Lennart Poettering <mzsqb at 0pointer.de>:
- - dbus/dbus-bus.c
- (internal_bus_get): new method that take over the heavy lifting
- of dbus_bus_get and adds the ability to get a private connection
- to the bus
- (dbus_bus_get): wrapper to internal_bus_get that provides the same
- interface as in previous versions
- (dbus_bus_get_private): new method that is a wrapper to
- internal_bus_get to get a private connection to the bus
-
- - dbus/dbus-bus.h
- (dbus_bus_get_private): add as a public libdbus interface
-
- - dbus-1.pc.in: output system_bus_default_address and
- sysconfdir variables so apps can use them when compiling
-
-2005-09-23 Harald Fernengel <harry@kdevelop.org>
- * dbus/qt: New Qt bindings
-
-2005-09-12 Waldo Bastian <bastian@kde.org>
-
- * dbus/dbus-marshal-validate.c,
- doc/dbus-specification.xml, test/Makefile.am,
- test/test-names.c: allow hyphens in bus names.
-
-2005-09-11 Mark McLoughlin <mark@skynet.ie>
-
- * test/data/auth/fallback.auth-script: we don't
- retry the EXTERNAL method when we know its going
- to fail anymore.
-
-2005-09-11 Mark McLoughlin <mark@skynet.ie>
-
- * dbus/dbus-connection-internal.h: rename
- (add|remove|toggle)_(watch|timeout) to unlocked()
-
- * dbus/dbus-connection.c: ditto.
-
- * dbus/dbus-timeout.c, dbus/dbus-transport-unix.c:
- Update some callers for the renaming.
-
-2005-09-10 Mark McLoughlin <mark@skynet.ie>
-
- * dbus/dbus-auth.c: (record_mechanisms): don't
- retry the first auth mechanism because we know
- we're just going to get rejected again.
-
- * dbus/dbus-keyring.c: (_dbus_keyring_reload):
- Fix thinko ... and what a nasty little bugger to
- track down you were ...
-
- * dbus/dbus-connection.c:
- (_dbus_connection_add_watch),
- (_dbus_connection_remove_watch): add note about
- these needing the connection to be locked.
- (_dbus_connection_get_dispatch_status_unlocked):
- set status to DATA_REMAINS when we queue the
- disconnected message.
-
- * bus/dispatch.c:
- (bus_dispatch): fix warning.
- (check_existent_service_no_auto_start):
- Expect ChildSignaled error too.
- (check_existent_hello_from_self): fix another
- couple of warnings.
-
-2005-09-08 Joe Shaw <joeshaw@novell.com>
-
- Patches from James Willcox <snorp@snorp.net>
-
- * mono/Makefile.am: Add Int16.cs and UInt16.cs
-
- * mono/DBusType/Array.cs: Handle multidimensional arrays, and
- support array "out" parameters.
-
- * mono/DBusType/Int16.cs, mono/DBusType/UInt16.cs: New files,
- for 16-bit int support.
-
-2005-09-06 John (J5) Palmieri <johnp@redhat.com>
-
- * Released 0.50
-
- * Patch from Steve Grubb:
- - bus/activation.c (bus_activation_service_reload_test): clean up
- some indentation
- - dbus/dbus-keyring.c (_dbus_keyring_reload): fix conditional
- - dbus/dbus-message-factory.c (generate_special): fix a couple of
- buffer overflows in the test suite. This is non critical because
- it can not be exploited and this code is only run when doing a
- make check.
-
- * Patch from Yaakov Selkowitz: Build fixes for Cygwin
- - configure.in: Don't check and link against kdecore, only qt headers
- - dbus/Makefile.am: Add -no-undefined to libdbus_1_la_LDFLAGS
- - gcj/org/freedesktop/dbus/Makefile.am:
- add libdbus_gcj_1_la_LDFLAGS = -no-undefined
- - glib/Makefile.am: Add -no-undefined to libdbus_glib_1_la_LDFLAGS
- and $(DBUS_GLIB_LIBS) to dbus_binding_tool_LDADD
- - qt/Makefile.am: Add -no-undefined to libdbus_qt_1_la_LDFLAGS
- - tools/Makefile.am: Add platform extentions to binaries
- (i.e. .exe on windows)
-
- * configure.in:
- - Make it so if no suitable version of python is found we only
- disable building python instead of exiting the configure script
- - Require version 2.4 of glib for glib bindings
- - Up version to 0.50
-
- * python/__init__.py: Sync version with libdbus to (0,50,0)
-
-2005-09-05 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * dbus/dbus-object-tree.c (find_subtree_recurse):
- a couple of optimizations (bug #710):
- - do a binary search in the tree
- - insert a new child at the right place directly, no need for
- qsort anymore
- - do the "double alloc" thing when allocating children
-
-2005-08-31 John (J5) Palmieri <johnp@redhat.com>
-
- * python/Makefile.am: Break on pyrexc errors instead of ignoring them
-
- * python/dbus_bindings.pyx: Memory management foo
- (global): remove hacky _user_data_references global list
- (GIL_safe_cunregister_function_handler): userdata now stuffed into
- tuples. Unref user_data
- (GIL_safe_cmessage_function_handler): userdata now stuffed into tuples
- (Connection::__del__): Remove and replace with __dealloc__ method
- (Connection::add_filter): Stuff user_data into a tuple. Use Py_INCREF
- to keep tuple from being deallocated instead of the global var hack
- (Connection::register_object_path): Stuff user_data into a tuple.
- Use Py_INCREF to keep tuple from being deallocated instead of the
- global var hack
- (Connection::register_fallback): Stuff user_data into a tuple.
- Use Py_INCREF to keep tuple from being deallocated instead of the
- global var hack
- (GIL_safe_pending_call_notification): Don't unref the message
- because it gets unreffed when going out of scope. Py_XDECREF
- the user_data
- (PendingCall::__del__): Remove and replace with __dealloc__ method
- (PendingCall::set_notify): ref the pending call because we will
- need it to stick around for when the notify callback gets called
- (Message::__del__): Remove and replace with __dealloc__ method
-
- * python/dbus_glib_bindings.pyx (init_gthreads): Changed to
- gthreads_init to match up with the dbus call
-
- * python/glib.py (init_threads): Changed to threads_init to match
- up with gobject.threads_init(). init_threads is kept for backwards
- compat but will most likely be deprecated in the future
-
- * test/python/test-client.py:
- - revamp to use Python's unittest functionality
- - add async call tests
- - setup threads in glib and dbus so we make sure locks are working
-
-2005-08-30 John (J5) Palmieri <johnp@redhat.com>
-
- * python/dbus_bindings.pyx
- (_pending_call_notification, cunregister_function_handler,
- cmessage_function_handler): All callback functions have been rearranged
- to workaround a bug in Pyrex when working with the GIL which is Python's
- global lock when dealing with threads. They have been split into
- a wrapper function (which assumes the name of the old function) and
- a _GIL_safe_<function name> function which contains the functionality
- of the old function. This ensures that Pyrex does not write code
- the lock is released.
-
-
-2005-08-30 John (J5) Palmieri <johnp@redhat.com>
-
- * python/dbus_bindings.pyx (_pending_call_notification): Obtain the
- GIL global lock when calling back into Python
-
-2005-08-29 John (J5) Palmieri <johnp@redhat.com>
-
- * Release 0.36.2
-
- * Add Havoc's patch that never got applied to HEAD (Bug #2436):
-
- * bus/policy.c (bus_policy_allow_user): change default "user is
- allowed" to be "user has same uid as the bus itself"; any
- allow/deny rules will override.
-
- * bus/session.conf.in: don't allow all users, since now by default
- the user that ran the bus can connect.
-
-2005-08-26 Colin Walters <walters@verbum.org>
-
- * tools/dbus-print-message.c (print_message): Flush stdout
- after printing a message, so that redirecting to a file, then
- hitting Ctrl-C works.
-
-2005-08-25 John (J5) Palmieri <johnp@redhat.com>
-
- * python/dbus_bindings.pyx: Tracked down a major memleak and fixed it
- (EmptyMessage): new class that subclasses Message. This is a workaround
- to a Pyrex bug that fails to call __del__ when the Message object goes out
- of scope. For some reason subclassing Message fixes this bug
- (Bus::send_with_reply_and_block): use EmptyMessage instead of Message
- - s/Message(_create=0)/EmptyMessage everywhere else
-
- * test/python/test-{server|client}.py: add the python/.libs directory
- to the lookup path so dbus_bindings and dbus_glib_bindings don't
- get picked up from the system
-
-2005-08-25 Colin Walters <walters@verbum.org>
-
- * glib/dbus-gproxy.c (dbus_g_proxy_call): Doc update, thanks
- to Ryan Lortie for the suggestion.
-
-2005-08-24 John (J5) Palmieri <johnp@redhat.com>
-
- * test/python: Add python regression test
-
- * configure.in: Add test/python/Makefile
-
- * test/Makefile.am: Add the python directory to SUBDIRS
-
-2005-08-24 John (J5) Palmieri <johnp@redhat.com>
-
- * Release 0.36.1
-
- * python/_dbus.py:
- (Interface::connect_to_signal): propigate keywords for match on args
- (Bus::add_signal_receiver): Fix typo s/dbus_inteface/dbus_interface
-
- * python/proxies.py (ProxyObject::connect_to_signal):
- propigate keywords for match on args
-
- * Makefile.am: point everything to pyexecdir since python borks
- on multilib
-
-2005-08-23 John (J5) Palmieri <johnp@redhat.com>
-
- * Release 0.36
-
-2005-08-23 Colin Walters <walters@verbum.org>
-
- * test/glib/Makefile.am: Don't multiply-define EXTRA_DIST.
-
-2005-08-23 John (J5) Palmieri <johnp@redhat.com>
-
- * python/dbus_glib_bindings.pyx: reorder imports and c definitions
- to fix some wranings. We now use dbus_bindings.DBusConnection instead
- of defining DBusConnection ourselves.
-
-2005-08-18 John (J5) Palmieri <johnp@redhat.com>
-
- * python/dbus.pth: New path file to fix up problems when installing
- c libraries to lib64 and python files to lib.
-
- * python/Makefile.am: install dbus.pth in the correct spot
-
-2005-08-17 John (J5) Palmieri <johnp@redhat.com>
- * ChangeLog: clean up my last entry a bit
-
- * doc/introspect.xsl: New stylesheet for converting introspection data
- into browser renderable xhtml. Contributed by Lennart Poettering.
-
- * doc/introspect.dtd: Fixups in the introspect format from Lennart
- Poettering.
-
- * doc/dbus-tutorial.xml:
- - Add Colin Walter to the Authors section for authoring the GLib
- section
- - Add descriptions of the new signature and type functionality
- in the Python complex type mapping section
- - Add a sidenote on the new args matching functionality in
- the Python bindings
- - Fixed up some of the examples to use the gobject.MainLoop
- instead of gtk.main
-
- * python/_dbus.py:
- (Bus::_create_args_dict): New. Converts a hash of arg matches
- to a more useable format
- (Bus::add_signal_receiver): add a **keywords parameter for catching
- arg match parameters
- (Bus::remove_signal_receiver): add a **keywords parameter for catching
- arg match parameters
-
- * python/matchrules.py:
- (MatchTree::exec_matches): Check for arg matches
- (SignalMatchRule::add_args_match): New method
- (SignalMatchRule::execute): Added args_list parameter as an optimization
- so we don't have to marshal the args more than once
- (SignalMatchRule::match_args_from_list): New method that checks to see
- if the rule's arg matches match an argument list. Only arguments
- set in the rule are checked.
- (SignalMatchRule::match_args_from_rule): New method that checks to see
- if the rule's arg matches match another rule's. All args have to match
- in order for this method to return true. If either rule has more args
- then it is not a match.
- (SignalMatchRule::is_match): Add args match
- (SignalMatchRule::repr): Add args to the final output if they exist
-
-2005-08-17 Ross Burton <ross@burtonini.com>
-
- * glib/dbus-gproxy.c:
- (dbus_g_proxy_call_no_reply): unref the message once sent.
- (dbus_g_proxy_call): protect against NULL proxy.
-
-2005-08-16 John (J5) Palmieri <johnp@redhat.com>
-
- * python/__init__.py: Version updated (0, 43, 0)
-
- * python/dbus_bindings.pyx:
- - Fixed type objects to have self passed into __init__
- - Added the Variant type
- - Add the ability to specify types or signatures for Array, Variant
- and Dictionary
- (Connection::send_with_reply_handlers): return a PendingCall object
- (_pending_call_notification): handle the case when an error is returned
- without an error message in the body
- (MessageIter::get_boolean): return True or False instead of an integer
- (MessageIter::python_value_to_dbus_sig): add direct checking of types
- and add checks for objects with embeded signatures or types (Array,
- Variant and Dictionary)
- (MessageIter::append_byte): handle case when the value is a dbus.Byte
- (MessageIter::append_dict): handle embeded types or signatures
- (MessageIter::append_array): handle embeded types or signatures
- (MessageIter::append_variant): new method
-
- * python/proxies.py:
- (DeferedMethod): New. Dummy executable object used when queuing calls
- blocking on introspection data
- (ProxyMethod::__call__): add the timeout keyword for specifying longer
- or shorter timeouts for method calls
- (ProxyObject): Add first pass at an introspection state machine
- (ProxyObject::__init__): Add introspect keyword for turing off an on
- introspection.
- (ProxyObject::_Introspect): Internal Introspect call that bypasses
- the usual mechanisms for sending messages. This is to avoid a deadlock
- where the Intospect call would be queued waiting for the Introspect
- call to finish ;-)
- (ProxyObject::_introspect_reply_handler): New. This method is called
- when introspection returns with no error
- (ProxyObject::_introspect_error_handler): New. This method is called
- when introspection encounters an error
- (ProxyObject::__getattr__): Code to handle different introspection
- states. Queue async calls or block blocking calls if we are
- introspecting. Pass through as normal if we are not or are done with
- introspecting.
-
- * python/service.py: Import signal and method from decorators.py
-
- * python/types.py: Add Variant type
-
-2005-08-16 Colin Walters <walters@verbum.org>
-
- * glib/dbus-gobject.c (dbus_set_g_error): Don't lose if the
- DBusError message is NULL.
-
-2005-08-09 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-errors.c: apply patch from Timo Teras to make a
- malloc'd copy of the name parameter
-
-2005-08-09 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-message.c (dbus_message_set_reply_serial): print
- warning if the reply serial is set to 0
-
-2005-08-04 Colin Walters <walters@verbum.org>
-
- * glib/dbus-gvalue-utils.h (_dbus_g_type_specialized_builtins_init)
- (dbus_g_type_is_fixed, dbus_g_type_fixed_get_size)
- (dbus_gvalue_set_from_pointer, dbus_g_hash_table_value_foreach)
- (dbus_g_hash_table_insert_values, dbus_g_hash_table_insert_steal_values)
- (dbus_gtype_is_valid_hash_key, dbus_gtype_is_valid_hash_value)
- (dbus_g_hash_func_from_gtype, dbus_g_hash_free_from_gtype)
- (dbus_g_hash_equal_from_gtype, dbus_gvalue_stor, dbus_gvalue_take):
- * glib/dbus-gvalue.h (dbus_g_value_types_init)
- (dbus_gvalue_demarshal, dbus_gvalue_demarshal_variant)
- (dbus_gvalue_demarshal_message, dbus_gvalue_marshal):
-
- Prefix name with _ to ensure they're not exported. All callers
- updated.
-
- * glib/dbus-gvalue.c (typecode_to_gtype)
- (dbus_typecode_maps_to_basic, basic_typecode_to_gtype)
- (signature_iter_to_g_type_dict)
- (signature_iter_to_g_type_array)
- (dbus_gtype_from_signature_iter, dbus_gtype_from_signature)
- (dbus_gtypes_from_arg_signature):
- Move to dbus-gsignature.c.
-
- * glib/dbus-binding-tool-glib.c (dbus_binding_tool_output_glib_server): Call
- dbus_g_type_specialized_builtins_init instead of dbus_g_value_types_init.
- (dbus_binding_tool_output_glib_client): Ditto.
-
- * glib/Makefile.am (DBUS_GLIB_INTERNALS): Add dbus-gsignature.c
- and dbus-gsignature.h
-
- * test/glib/test-service-glib.c (my_object_rec_arrays): Delete
- unused variable.
-
-2005-08-03 Colin Walters <walters@verbum.org>
-
- * glib/dbus-gobject.c: Add tests on hardcoded object info; this should
- catch any incompatible changes accidentally made.
-
-2005-08-03 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): fix
- typo, from Julien Puydt
-
- * bus/connection.c (bus_connection_disconnected): we were always
- doing a wait_for_memory due to a buggy loop, found by Timo Hoenig
-
-2005-08-01 Colin Walters <walters@verbum.org>
-
- Patch from Joe Markus Clarke:
-
- * glib/dbus-gidl.c (property_info_unref, arg_info_unref): Fix
- use-after-free.
-
-2005-08-01 Colin Walters <walters@verbum.org>
-
- Patch from Joe Markus Clarke:
-
- * tools/dbus-send.c (main):
-
- Don't use C99 style initializers (bug #3933).
-
-2005-08-01 Colin Walters <walters@verbum.org>
-
- Patch from Joe Markus Clarke:
-
- * glib/dbus-gvalue.c (dbus_g_value_types_init):
- * glib/dbus-gvalue-utils.c (dbus_g_type_specialized_builtins_init)
- * glib/dbus-gobject.c (write_interface):
-
- Don't use C99 style initializers (bug #3933).
-
-2005-07-31 Havoc Pennington <hp@redhat.com>
-
- * tools/dbus-viewer.c (load_child_nodes): fix invocation of
- dbus_g_proxy_call, fix from Piotr Zielinski bug #3920
-
-2005-07-30 Havoc Pennington <hp@redhat.com>
-
- * fix a bunch of Doxygen warnings and mistakes
-
-2005-07-30 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-sysdeps.c (_dbus_string_parse_uint): remove #ifdef
- DBUS_BUILD_TESTS since it's now used in production code
-
-2005-07-29 Havoc Pennington <hp@redhat.com>
-
- * test/glib/test-profile.c (write_junk): initialize the junk
- buffer so valgrind doesn't have a breakdown
-
-2005-07-29 Havoc Pennington <hp@redhat.com>
-
- * bus/signals.c (bus_signals_test): add match_rule_equal() tests
- (match_rule_matches): remove unused arg
- (test_matching): add tests for match_rule_matches()
-
- * bus/signals.c (bus_match_rule_parse_arg_match): add ability to
- do arg0='foo' arg5='bar' in the match rules
- (match_rule_matches): don't match if the arg0='foo' doesn't match.
-
- * dbus/dbus-protocol.h (DBUS_MAXIMUM_MATCH_RULE_ARG_NUMBER): add this
-
-2005-07-29 Ross Burton <ross@openedhand.com>
-
- * dbus/dbus-connection.c:
- Don't create a DBusCondVar which is never used.
-
-2005-07-27 Ross Burton <ross@openedhand.com>
-
- * dbus/dbus-message.c:
- Reduce the size of the maximum cached message to 10K.
-
-2005-07-25 Ross Burton <ross@openedhand.com>
-
- * glib/dbus-gproxy.c:
- Remove matches when all proxies are unregistered.
-
-2005-07-24 Colin Walters <walters@verbum.org>
-
- * glib/dbus-gvalue.c (signature_iter_to_g_type_array): Don't require
- typedata; recursive arrays won't have it.
-
- * test/glib/test-dbus-glib.c:
- * test/glib/test-service-glib.c:
- * test/glib/test-service-glib.xml: Add recursive arrays tests.
-
-2005-07-20 John (J5) Palmieir <johnp@redhat.com>
-
- * python/_dbus.py, _util.py, decorators.py, extract.py, matchrules.py.
- proxies.py, service.py: Cleanup of code after running it through the
- pyflakes code checker mostly dealing with undefined names.
- (Bug #3828, Patch from Anthony Baxter <anthony@interlink.com.au>)
-
-2005-07-17 John (J5) Palmieri <johnp@redhat.com>
-
- * NEWS: Update to 0.35.2
-
-2005-07-17 John (J5) Palmieri <johnp@redhat.com>
-
- * python/_dbus.py: Remove import of the dbus.services
- module as it no longer exists (patch from Dimitur Kirov)
-
- * python/service.py (Object::__init__): Fixed typo
- s/name/bus_name (patch from Dimitur Kirov)
-
- * python/examples/example-signal-emitter.py: import dbus.glib
- to get the main loop and use glib mainloop instead of gtk so
- X doesn't have to be running.
-
- * python/examples/example-signal-recipient.py: import dbus.glib
- to get the main loop and use glib mainloop instead of gtk so
- X doesn't have to be running. Import the decorators module
- directly.
-
- * test/glib/Makefile.am: Added DIST_EXTRA files that distcheck
- didn't pick up on but are needed to build
-
- * configure.in: upped version to 0.35.2
-
- * bus/driver.c, bus/selinux.c, bus/selinux.h, dbus/dbus-protocol.h:
- added Colin Walters' SELinux API rename patch from head
- s/unix sercurity context/selinux security context/
-
-2005-07-16 John (J5) Palmieri <johnp@redhat.com>
-
- * python/Makefile.am: dbus_binding.pxd.in should be included
- in EXTRA_DIST not dbus_binding.pxd
- fix up $(srcdir) hopefully for the last time
-
- * NEWS: Update to 0.35.1
-
-2005-07-16 Colin Walters <walters@verbum.org>
-
- * bus/driver.c (bus_driver_handle_get_connection_selinux_security_context): Renamed
- from bus_driver_handle_get_connection_unix_security_context. Update for
- error usage.
- (message_handlers): Update for renames.
-
- * bus/selinux.c (bus_selinux_allows_send): Handle OOM on
- _dbus_string_init failure correctly.
- (bus_selinux_append_context): Convert SID to context. Append it
- as a byte array.
- (bus_selinux_shutdown): Handle the case where bus_selinux_full_init
- hasn't been called.
-
- * bus/selinux.h: Update prototype.
-
- * dbus/dbus-protocol.h (DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN): Renamed
- from DBUS_ERROR_UNIX_SECURITY_CONTEXT_UNKNOWN.
-
-2005-07-15 Colin Walters <walters@verbum.org>
-
- * doc/TODO: Add note about convenience wrappers.
-
-2005-07-15 John (J5) Palmieri <johnp@redhat.com>
-
- * NEWS: Update to 0.35
-
-2005-07-15 John (J5) Palmieri <johnp@redhat.com>
-
- * glib/Makefile.am: Add make-dbus-glib-error-switch.sh to EXTRA_DIST
- so distcheck doesn't fail
-
- * glib/examples/Makefile.am: Add example-service.xml and
- example-signal-emitter.xml to EXTRA_DIST so distcheck doesn't fail
-
- * glib/examples/statemachine/Makefile.am: Add statemachine.xml and
- statemachine-server.xml to EXTRA_DIST so distcheck doesn't fail
-
- * python/Makefile.am: Preprend $(srcdir)/ to source files so the
- compiler looks in the right places during distcheck
-
-2005-07-15 John (J5) Palmieri <johnp@redhat.com>
-
- * glib/example/Makefile.am: Fix a typo which cause make distcheck
- to fail
-
-2005-07-15 John (J5) Palmieri <johnp@redhat.com>
-
- * python/examples/example-service.py,
- python/examples/example-signal-emitter.py: Fixed up examples
- for API changes
-
-2005-07-15 John (J5) Palmieri <johnp@redhat.com>
-
- * python/__init__.py: Upped to version (0,42,0) because of
- the API change
-
-2005-07-15 John (J5) Palmieri <johnp@redhat.com>
-
- * ChangeLog: fix date in last entry
-
- * configure.in, bus/system.conf.in: add the ability to configure
- the system bus user at compiletime with the --with-dbus-user flag
- (patch from Kristof Vansant)
-
-2005-07-15 John (J5) Palmieri <johnp@redhat.com>
-
- * bus/dispatch.c, test/test-service.c: Add testcase
- for sending messages to oneself (TODO item).
-
- * python/service.py (class Object): Swap ordering of bus_name
- and object_path parameters to better support inheritance.
-
- * doc/dbus-tutorial.xml: change Python docs to reflect change
- in parameter ordering and fix the inheritance section.
-
- * doc/TODO: remove sending message to oneself TODO item
-
-2005-07-15 Ross Burton <ross@openedhand.com>
-
- * glib/dbus-gproxy.c:
- Fix a leak when calling methods via the proxy.
-
-2005-07-15 Colin Walters <walters@verbum.org>
-
- * bus/selinux.c (bus_selinux_append_context): Wrap in
- HAVE_SELINUX.
-
-2005-07-14 John (J5) Palmieri <johnp@redhat.com>
-
- * python/_dbus.py (Bus::remove_signal_receiver):
- don't add a callback to the match if none has been passed in
-
- * python/matchrules.py (SignalMatchTree::remove): if the rule
- being matched does not have a callback treat it as a wildcard
- fix matching logic
-
- * doc/dbus-tutorial.xml: Add Python tutorial
-
-2005-07-14 Colin Walters <walters@verbum.org>
-
- * bus/driver.c
- (bus_driver_handle_get_connection_unix_security_context): New function.
- (message_handlers): Add.
-
- * bus/selinux.c (bus_selinux_append_context): New function; appends
- security context to message.
-
- * bus/selinux.h: Prototype.
-
- * dbus/dbus-protocol.h (DBUS_ERROR_UNIX_SECURITY_CONTEXT_UNKNOWN): New.
-
-2005-07-14 John (J5) Palmieri <johnp@redhat.com>
-
- * bus/activation.c: clean up all tabs to be 8 spaces
- (bus_activation_activate_service): make sure we clean up
- if activation fails
-
- * bus/dispatch.c: clean up all tabs to be 8 spaces
- (check_shell_fail_service_auto_start): New function
- tests to make sure we get fail properly when trying to auto start a service
- with a faulty command line
- (check_shell_service_success_auto_start): New function tests to make sure
- auto started services get the arguments on the command line
-
- * test/test-shell-service.c: Added service for testing auto-starting with
- command line arguments
-
- * test/data/valid-service-files/debug-shell-echo-fail.service.in,
- test/data/valid-service-files/debug-shell-echo-success.service.in:
- Added service files for testing auto-starting with command line arguments
-
- * */.cvsignore: added a bunch of generated files to various .cvsignore files
-
-2005-07-14 Rodrigo Moya <rodrigo@novell.com>
-
- * dbus/dbus-shell.[ch]: copy/pasted code from GLib.
-
- * dbus/Makefile.am: added new files to build.
-
- * bus/activation.c (bus_activation_activate_service): support
- activation commands with parameters.
-
- * test/shell-test.c: added test program for the shell parsing
- code.
-
-2005-07-13 David Zeuthen <davidz@redhat.com>
-
- * tools/dbus-send.c (append_arg, type_from_name): Also support 16 and
- 64 bit signed and unsigned parameters
-
-2005-07-13 John (J5) Palmieri <johnp@redhat.com>
-
- * python/.cvsignore: remove dbus_bindings.pyx, add dbus_bindings.pxd
-
- * python/service.py (class Name): renamed BusName to make it clearer
- what the object is for (a name on the bus)
-
- * python/examples/example-service.py,
- python/examples/example-signal-emitter.py: change the Name object to
- BusName
-
-2005-07-12 Colin Walters <walters@verbum.org>
-
- Patch from Jim Gettys <Jim.Gettys@hp.com>.
-
- * tools/dbus-launch.c: Include sys/select.h.
-
-2005-07-12 John (J5) Palmieri <johnp@redhat.com>
- * python/dbus_bindings.pyx.in: removed
-
- * python/dbus_bindings.pyx: Added.
- - Fixed some memleaks (patch from
- Sean Meiners <sean.meiners@linspireinc.com>)
- - Broke out the #include "dbus_h_wrapper.h" and put it in its
- own pxd file (Pyrex definition)
- - Broke out glib dependancies into its own pyx module
-
- * python/dbus_bindings.pdx: Added.
- - Defines C class Connection for exporting to other modules
-
- * python/dbus_glib_bindings.pyx: Added.
- - New module to handle lowlevel dbus-glib mainloop integration
-
- * python/glib.py: Added.
- - Registers the glib mainloop when you import this module
-
- * python/services.py: Removed (renamed to service.py)
-
- * python/service.py: Added.
- - (class Server): renamed Name
-
- * python/__init__.py: Bump ro version (0,41,0)
- -don't import the decorators or service module
- by default. These now reside in the dbus.service namespace
-
- * python/_dbus.py (Bus::__init__): Add code run the main loop
- setup function on creation
-
- * python/examples/example-service.py,
- python/examples/example-signal-emitter.py: update examples
-
- * python/examples/gconf-proxy-service.py,
- python/examples/gconf-proxy-service2.py: TODO fix these up
-
- * doc/TODO: Addition
- - Added a Python Bindings 1.0 section
- - added "Add match on args or match on details to match rules"
-
-
-2005-07-12 Colin Walters <walters@verbum.org>
-
- * glib/examples/statemachine/Makefile.am (statemachine-server-glue.h)
- (statemachine-glue.h):
- * glib/examples/Makefile.am (example-service-glue.h)
- (example-signal-emitter-glue.h):
- * glib/Makefile.am (dbus-glib-error-switch.h):
- Add libtool --mode=execute so we use the built library instead
- of any installed one.
-
-2005-07-11 Colin Walters <walters@verbum.org>
-
- * glib/dbus-gvalue.c (struct _DBusGValue): Delete.
- (dbus_g_value_types_init): Remove assertion.
- (dbus_g_value_get_g_type, dbus_g_value_open)
- (dbus_g_value_iterator_get_values, dbus_g_value_get_signature)
- (dbus_g_value_copy, dbus_g_value_free): Delete unimplemented
- functions related to DBusGValue. Now we marshal/demarshal
- structures as GValueArray.
- (dbus_gtype_from_signature_iter): Return G_TYPE_VALUE_ARRAY for
- structures.
- (signature_iter_to_g_type_array): Don't call
- signature_iter_to_g_type_struct.
- (signature_iter_to_g_type_struct): Delete.
- (dbus_gvalue_to_signature): Delete.
- (dbus_gvalue_to_signature): New function with same name as other
- one; we can convert structures to signatures.
- (demarshal_valuearray): New function.
- (get_type_demarshaller): Use it.
- (demarshal_recurse): Delete.
- (marshal_proxy): New function.
- (marshal_map): Warn if we can't determine signature from type.
- (marshal_collection_ptrarray): Ditto.
- (marshal_collection_array): Ditto.
- (get_type_marshaller): Use marshal_valuearray.
- (marshal_recurse): Delete.
- (_dbus_gvalue_test): Add some tests.
-
- * dbus/dbus-glib.h (struct _DBusGValueIterator):
- (dbus_g_value_get_g_type, DBUS_TYPE_G_VALUE)
- (dbus_g_value_open, dbus_g_value_iterator_get_value)
- (dbus_g_value_iterator_get_values, dbus_g_value_iterator_recurse)
- (dbus_g_value_free): Remove prototypes.
-
- * glib/dbus-binding-tool-glib.c (dbus_g_type_get_lookup_function): Handle
- G_TYPE_VALUE_ARRAY.
-
- * glib/examples/example-service.c:
- * glib/examples/example-client.c: Implement GetTuple.
-
- * test/glib/test-dbus-glib.c:
- * test/glib/test-service-glib.c:
- * test/glib/test-service-glib.xml: Add structure tests.
-
-2005-07-10 Colin Walters <walters@verbum.org>
-
- * doc/TODO: Knock off some GLib items with this patch.
-
- * glib/dbus-gvalue-utils.c (_dbus_gtype_can_signal_error)
- (_dbus_gvalue_signals_error): New functions.
-
- * glib/dbus-gvalue-utils.h: Prototype them.
-
- * glib/dbus-gobject.c (arg_iterate): Update to handle return vals
- and change to not output const/retval flags for input args. All
- callers updated.
- (invoke_object_method): Refactor to handle return values. Add
- some more comments in various places. Remove debug g_print.
-
- * glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_RETURNVAL): New.
-
- * glib/dbus-binding-tool-glib.c (dbus_g_type_get_marshal_name):
- Handle G_TYPE_NONE.
- (compute_gsignature): New function; refactored from code from
- compute_marshaller and compute_marshaller_name. Enhance to
- handle return values and async ops more cleanly. Update for
- async ops returning NONE instead of BOOLEAN.
- (compute_marshaller, compute_marshaller_name): Call compute_gsignature
- and output appropriate string.
- (generate_glue): Handle return value annotation. Also don't dump
- constness flag for input arguments.
-
- * glib/Makefile.am (DBUS_GLIB_INTERNALS): New variable; contains
- files shared between installed library and utilities.
- (libdbus_glib_1_la_SOURCES): Move some stuf into DBUS_GLIB_INTERNALS.
- (libdbus_gtool_la_SOURCES): Suck in DBUS_GLIB_INTERNALS so the
- binding tool can access gtype utility functions.
-
- * test/glib/test-service-glib.c:
- * test/glib/test-service-glib.xml:
- * test/glib/test-dbus-glib.c: Add some tests for return values.
-
-2005-07-09 Colin Walters <walters@verbum.org>
-
- * glib/dbus-gparser.c (parse_annotation): Add annotations to
- argument if available, not method.
-
- * glib/dbus-gobject.c (arg_iterate): More verbose warnings.
- (invoke_object_method): First, remove some redundant
- GValues (object_value, error_value) in favor of working on
- array directly. Second, rework constness to be less buggy.
- Now we iterate directly over the argument metadata instead
- of parallel iterating over output signature and metadata.
-
- * glib/dbus-glib-tool.h: Add INVALID_ANNOTATION error.
-
- * glib/dbus-binding-tool-glib.c (generate_glue): Barf on const
- annotation on input args.
-
-2005-07-09 Colin Walters <walters@verbum.org>
-
- * glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_CONST):
- Define.
-
- * glib/dbus-binding-tool-glib.c (generate_glue): Handle Const
- annotation.
-
- * glib/dbus-gobject.c (arg_iterate): Update to parse constval too.
- (method_dir_signature_from_object_info): Handle arg_iterate change.
- (write_interface): Ditto.
- (lookup_object_info): Don't barf if format_version is > 0.
- (invoke_object_method): Handle arg constness.
-
- * glib/dbus-gidl.c (struct ArgInfo): Add annotations.
- (arg_info_new): Create.
- (arg_info_unref): Destroy.
- (arg_info_get_annotations, arg_info_get_annotation)
- (arg_info_add_annotation): New functions.
-
- * glib/dbus-gidl.h: Prototype them.
-
- * glib/dbus-gparser.c (parse_annotation): Allow annotations in
- args, disallow them in properties.
- (parse_annotation): Handle arg annotations.
-
- * test/glib/test-service-glib.xml:
- * test/glib/test-service-glib.c: Update to make some methods
- const.
-
-2005-07-08 Colin Walters <walters@verbum.org>
-
- * test/glib/test-service-glib.xml:
- * test/glib/test-service-glib.c:
- * test/glib/test-dbus-glib.c: Test a{sv}.
-
- * glib/examples/statemachine/statemachine.c:
- * glib/examples/statemachine/statemachine-server.c:
- * glib/examples/statemachine/statemachine-client.c: Fix some bugs,
- add progress bar, etc.
-
- * glib/dbus-gvalue.c (register_array, register_dict): Delete; not
- needed anymore due to generic array/map marshalling.
- (dbus_g_value_types_init): Don't register basic arrays or the
- string/string hash.
- (dbus_gtype_from_signature_iter): Don't try to recurse into
- variants.
- (dbus_gtype_to_signature): Check collection/map before type
- metadata.
- (demarshal_garray_basic): Renamed to demarshal_collection_array.
- (demarshal_ghashtable): Renamed to demarshal_map; fix to use new
- generic map creation/append functions instead of hash table
- specifically.
- (get_type_demarshaller): Handle maps.
- (demarshal_collection): Dispatch on collection type to either
- demarshal_collection_ptrarray or demarshal_collection_array.
- (get_type_marshaller): Handle maps.
- (marshal_collection): Dispatch collection type to either
- marshal_collection_ptrarray or marshal_collection_array.
- (_dbus_gvalue_test): New test.
-
- * glib/dbus-gvalue-utils.c (unset_and_free_g_value): New function.
- (hash_free_from_gtype): Use it to free GValues.
- (hashtable_append): New function.
- (ptrarray_append): Fix prototype.
- (slist_append): Ditto.
- (_dbus_gvalue_utils_test): Extend tests.
-
- * glib/dbus-gtype-specialized.c
- (dbus_g_type_specialized_init_append): Renamed from
- dbus_g_type_specialized_collection_init_append. Remove const from
- value, since we steal it.
- (dbus_g_type_specialized_map_append): New function.
-
- * glib/dbus-gtype-specialized.h: Update prototypes.
- Add DBusGTypeSpecializedMapAppendFunc.
-
- * glib/dbus-gtest.c (dbus_glib_internal_do_not_use_run_tests): Run
- _dbus_gvalue_test.
-
- * glib/dbus-gtest.h: Prototype it.
-
-2005-07-08 Ross Burton <ross@openedhand.com>
-
- * dbus/dbus-glib.h:
- Add DBysGAsyncData for the async bindings.
-
- * glib/dbus-binding-tool-glib.c:
- Re-enable the async bindings.
-
- * test/glib/test-dbus-glib.c:
- Add a test for the generated async bindings.
-
-2005-07-08 Colin Walters <walters@verbum.org>
-
- * doc/TODO: Update GLib todo bits, also add a post-1.0 TODO for a
- connection concept.
-
-2005-07-08 Colin Walters <walters@verbum.org>
-
- * tools/Makefile.am: Kill of print-introspect in favor of using
- dbus-send --print-reply=literal.
-
- * test/glib/test-service-glib.xml:
- * test/glib/test-service-glib.c (my_object_get_objs): New test
- for "ao".
-
- * test/glib/test-dbus-glib.c (echo_received_cb): Free echo data.
- (main): Test GetObjs.
-
- * glib/examples/statemachine/Makefile.am:
- * glib/examples/statemachine/sm-marshal.list:
- * glib/examples/statemachine/statemachine-client.c:
- * glib/examples/statemachine/statemachine-server.c:
- * glib/examples/statemachine/statemachine-server.xml:
- * glib/examples/statemachine/statemachine.c:
- * glib/examples/statemachine/statemachine.h:
- * glib/examples/statemachine/statemachine.xml:
-
- New example.
-
- * glib/examples/example-service.c (main): Move invocation
- of dbus_g_object_type_install_info earlier, to emphasize it
- should only be done once.
-
- * glib/examples/example-signal-emitter.c (main): Ditto.
-
- * glib/examples/Makefile.am (SUBDIRS): Include statemachine.
-
- * glib/dbus-gvalue.h (dbus_gtype_to_signature)
- (dbus_gvalue_marshal): Update prototypes.
-
- * glib/dbus-gvalue.c: Update all marshalling functions to take
- const GValue instead of GValue.
- (signature_iter_to_g_type_array): Return a GPtrArray for nonfixed
- types.
- (dbus_gvalue_to_signature): Update for dbus_gtype_to_signature
- change.
- (dbus_gtype_to_signature): Handle generic collecitons and maps.
- Return a newly-allocated string.
- (demarshal_proxy, demarshal_object_path, demarshal_object)
- (demarshal_strv, demarshal_ghashtable): Set error, don't assert if
- we get the wrong types from message.
- (get_type_demarshaller): New function, extracted from
- dbus_gvalue_demarshal.
- (demarshal_collection): New function, demarshals generic
- collection.
- (dbus_gvalue_demarshal): Just invoke result of
- get_type_demarshaller. Throw error if we don't have one.
- (marshal_garray_basic): Abort on OOM.
- (get_type_marshaller): New function, extracted from
- dbus_gvalue_marshal.
- (collection_marshal_iterator, marshal_collection): New functions;
- implements generic marshalling for an iteratable specialized
- collection.
- (dbus_gvalue_marshal): Just invoke result of get_type_marshaller.
-
- * glib/dbus-gvalue-utils.c (gvalue_from_ptrarray_value): Handle
- G_TYPE_STRING.
- (ptrarray_value_from_gvalue): Ditto.
- (ptrarray_append, ptrarray_free): New functions.
- (slist_constructor, slist_iterator, slist_copy_elt, slist_copy)
- (slist_append, slist_end_append, slist_free): New functions.
- (dbus_g_type_specialized_builtins_init): Add append fuctions
- for GPtrArray and GSList. Register GSList.
- (test_specialized_hash, _dbus_gvalue_utils_test): New functions.
-
- * glib/dbus-gtype-specialized.h (DBusGTypeSpecializedAppendContext):
- New.
- (dbus_g_type_specialized_collection_init_append)
- (dbus_g_type_specialized_collection_append)
- (dbus_g_type_specialized_collection_end_append): Prototype.
- (DBusGTypeSpecializedCollectionVtable): Add append_func and
- end_append_func.
-
- * glib/dbus-gtype-specialized.c (dbus_g_type_specialized_collection_init_append)
- (dbus_g_type_specialized_collection_append)
- (dbus_g_type_specialized_collection_end_append): New functions.
- (dbus_g_type_map_value_iterate): Take const GValue.
- (dbus_g_type_collection_value_iterate): Ditto.
-
- * glib/dbus-gtest.c (dbus_glib_internal_do_not_use_run_tests): Run
- _dbus_gvalue_utils_test.
-
- * glib/dbus-gtest.h: Prototype it.
-
- * glib/dbus-gproxy.c (dbus_g_proxy_manager_filter): Avoid
- using uninitialized owner_list.
- (dbus_g_proxy_begin_call_internal): Move return_if_fail to
- public API.
- (dbus_g_proxy_end_call_internal): Update to use error set
- from dbus_gvalue_demarshal instead of setting it here.
- (dbus_g_proxy_begin_call): Move return_if_fail here.
-
- * glib/dbus-gobject.c (write_interface): Update for
- dbus_gtype_to_signature returning new string.
-
- * configure.in: Add glib/examples/statemachine.
-
-2005-07-08 Joe Shaw <joeshaw@novell.com>
-
- * configure.in: Add a configure option, --with-console-auth-dir
-
- * dbus/dbus-sysdeps-util.c (_dbus_user_at_console): Use the
- new setting. Patch from Kay Sievers.
-
-2005-07-06 Colin Walters <walters@verbum.org>
-
- * dbus/dbus-glib.h (DBusGPendingCall, DBusGPendingCallNotify)
- (DBUS_TYPE_G_PENDING_CALL, dbus_g_pending_call_get_g_type)
- (dbus_g_pending_call_ref, dbus_g_pending_call_unref): Delete.
- (dbus_g_pending_call_set_notify, dbus_g_pending_call_cancel):
- Delete in favor of dbus_g_proxy_begin_call and
- dbus_g_proxy_cancel_call.
- (DBusGProxyCall, DBusGProxyCallNotify): New.
- (dbus_g_proxy_begin_call): Change prototype to take callback, user
- data, and destroy function. This replaces
- dbus_g_pending_call_set_notify.
- (dbus_g_proxy_cancel_call): Prototype.
- (DBusGAsyncData): Delete, shouldn't be needed anymore.
-
- * glib/dbus-gproxy.c (struct _DBusGProxy): Add call_id_counter and
- pending_calls map.
- (struct _DBusGProxyManager): Add bus_proxy member, which is an
- internal proxy for calls to the bus. Remove
- pending_nameowner_calls, now the internal proxy keeps track.
- (dbus_g_proxy_manager_unref): Unref bus proxy, remove reference to
- pending_nameowner_calls.
- (got_name_owner_cb): Update prototype, and use
- dbus_g_proxy_end_call.
- (got_name_owner_cb): Remove reference to pending_nameowner_calls.
- (dbus_g_proxy_manager_register): Delete directly libdbus code in
- favor of using internal proxy.
- (dbus_g_proxy_manager_unregister): Update to use
- dbus_g_proxy_cancel_call for any pending GetNameOwner call.
- (dbus_g_proxy_init): Initialize pending calls map.
- (dbus_g_proxy_constructor): New.
- (dbus_g_proxy_class_init): Add get/set property functions,
- constructor, and add NAME, PATH, and INTERFACE properties.
- (cancel_pending_call): New function.
- (dbus_g_proxy_dispose): Iterate over any outstanding calls and
- cancel them.
- (dbus_g_proxy_set_property, dbus_g_proxy_get_property): New.
- (GPendingNotifyClosure): New structure.
- (d_pending_call_notify, d_pending_call_free): Moved here from
- dbus-glib.c.
- (DBUS_G_VALUE_ARRAY_COLLECT_ALL): Moved around to satisfy function
- ordering.
- (manager_begin_bus_call): New internal function for talking to
- internal bus proxy.
- (dbus_g_proxy_new): Construct object using GObjet properties.
- (dbus_g_proxy_begin_call_internal): Update to take user data, etc.
- Create closure of same, and insert call into map of pending calls.
- (dbus_g_proxy_end_call_internal): Take call id instead of pending
- call. Look up pending call in current set. Remove it when we've
- completed.
- (dbus_g_pending_call_end, dbus_g_proxy_end_call_internal): Delete.
- (dbus_g_proxy_begin_call): Change API to take callback, user data,
- and destroy function directly.
- (dbus_g_proxy_end_call): Update to take DBusGProxyCall.
- (dbus_g_proxy_call): Invoke with NULL callback.
- (dbus_g_proxy_cancel_call): New function, replaces
- dbus_g_pending_call_cancel.
-
- * glib/dbus-gparser.c (validate_signature): Fix call to
- dbus_set_g_error.
-
- * glib/dbus-gobject.c (dbus_g_object_type_dbus_metadata_quark):
- New quark for attaching metadata to GType.
- (info_hash): Delete.
- (lookup_object_info): Look up using quark.
- (dbus_g_object_type_install_info): Check that a type is classed,
- not that it's an object. Also just install type data using quark
- instead of using global hash.
-
- * glib/dbus-glib.c (dbus_g_pending_call_ref)
- (dbus_g_pending_call_unref, dbus_pending_call_get_g_type)
- (GPendingNotifyClosure): Delete.
- (d_pending_call_notify, d_pending_call_free): Move to dbus-gproxy.c.
- (dbus_g_pending_call_set_notify, dbus_g_pending_call_cancel): Delete.
-
- * glib/dbus-binding-tool-glib.c (generate_client_glue): Disable async
- client method generation until we can fix it...
-
- * tools/dbus-viewer.c (load_child_nodes): Use dbus_g_proxy_call.
- (load_from_service_thread_func): Ditto.
-
- * tools/dbus-names-model.c (struct NamesModel): Hold
- DBusGProxyCall.
- (have_names_notify): Update prototype, use
- dbus_g_proxy_cancel_call.
- (names_model_reload): Update for new dbus_g_proxy_begin_call API.
-
- * tools/dbus-monitor.c (filter_func): Update for print_message
- API change.
-
- * test/glib/test-dbus-glib.c: Add more tests for async
- invocations. Update many begin_call/end_call pairs to just use
- dbus_g_proxy_call.
-
- * tools/dbus-send.c (main): Add --print-reply=literal mode. This
- allows us to dump print-introspect.c.
-
- * tools/dbus-print-message.h (print_message): Add literal argument
- to print_message which is intended to allow printing arguments without
- metadata like "string=".
-
- * tools/dbus-print-message.c (print_iter): Add literal argument.
- (print_message): Allow printing string messages literally.
-
-2005-07-05 Colin Walters <walters@verbum.org>
-
- * glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller):
- Remove value refcount leak, original patch from Jorn Baayen
- <jorn@openedhand.com>. Also remove useless extra value in favor
- of prepending to value array directly.
-
-2005-07-02 Colin Walters <walters@verbum.org>
-
- * glib/dbus-gmain.c (_dbus_gmain_test): Fix test.
-
-2005-07-01 Colin Walters <walters@verbum.org>
-
- Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
-
- * glib/dbus-gvalue.c (basic_typecode_to_gtype): Fix return type.
- (dbus_g_value_types_init): Marshal G_TYPE_CHAR as DBUS_TYPE_BYTE,
- G_TYPE_LONG as DBUS_TYPE_INT32, G_TYPE_ULONG as DBUS_TYPE_UINT32,
- and G_TYPE_FLOAT as DBUS_TYPE_DOUBLE.
-
-2005-06-30 Colin Walters <walters@verbum.org>
-
- * test/glib/test-dbus-glib.c:
- * test/glib/test-service-glib.c:
- * test/glib/test-service-glib.xml: Update tests for new error
- setting bits, also add async tests (patch from Ross Burton).
-
- * test/glib/Makefile.am (test_service_glib_LDADD): Add
- DBUS_GLIB_THREADS_LIBS.
-
- * glib/dbus-gproxy.c (get_name_owner)
- (dbus_g_pending_call_end_valist): Ditto.
-
- * glib/dbus-gobject.c (error_metadata): New mapping from GError
- domain (GQuark) to DBusGErrorInfo.
- (gerror_domaincode_to_dbus_error_name): Attempt to look up error
- quark in error_metadata. Take message interface as default
- error message interface.
- (gerror_to_dbus_error_message): Pass message interface.
- (dbus_set_g_error): Resurrected.
- (dbus_g_error_info_free): New function.
- (dbus_g_object_type_install_info): Use g_type_class_ref instead
- of _peek to actually create the object class if it hasn't been
- created yet.
- (dbus_g_error_domain_register): New function.
-
- * glib/dbus-gmain.c (dbus_g_bus_get): Switch to dbus_set_g_error.
-
- * glib/dbus-gparser.c (validate_signature): Ditto.
-
- * dbus/dbus-glib.h (dbus_g_error_set): Delete.
- (dbus_g_error_domain_register): Prototype.
-
- * glib/dbus-glib.c (dbus_g_error_set): Delete.
- Update tests.
-
-2005-06-29 Colin Walters <walters@verbum.org>
-
- * dbus/dbus-glib.h: Delete DBUS_TYPE_G_PROXY_ARRAY. Add
- DBUS_TYPE_G_OBJECT_PATH.
-
- * glib/dbus-gvalue.c (dbus_g_value_types_init): Remove marshallers
- for G_TYPE_OBJECT and DBUS_TYPE_G_PROXY_ARRAY (the latter should
- be handled more generically). Add DBUS_TYPE_G_OBJECT_PATH.
- (dbus_g_object_path_get_g_type): New function.
- (dbus_gtype_from_signature_iter): Map DBUS_TYPE_OBJECT_PATH
- to DBUS_TYPE_G_OBJECT_PATH by default.
- (demarshal_proxy): Remove unused name variable.
- (demarshal_object_path, marshal_object_path): New functions.
- (demarshal_proxy_array, marshal_proxy_array): Delete.
-
- * glib/dbus-binding-tool-glib.c (dbus_g_type_get_c_name): Map
- DBUS_TYPE_G_OBJECT_PATH to char *.
- (dbus_g_type_get_lookup_function): Map builtin
- DBUS_TYPE_G_OBJECT_PATH.
-
- * test/glib/test-dbus-glib.c
- * test/glib/test-service-glib.c (my_object_objpath):
- Adapt tests to new object path marshalling.
-
-2005-06-29 John (J5) Palmieri <johnp@redhat.com>
-
- * configure.in: force check for Python >= 2.4
-
-2005-06-29 Colin Walters <walters@verbum.org>
-
- Patch from Ross Burton <ross@openedhand.com>
-
- * glib/dbus-gobject.c (invoke_object_method): Unset object
- value in all cases, not only in async case.
-
-2005-06-29 Colin Walters <walters@verbum.org>
-
- * glib/dbus-gproxy.c (struct _DBusGProxy): Add new member
- name_call for keeping track of any outgoing GetNameOwner call.
- Also add for_owner and associated.
- (struct _DBusGProxyManager): Add owner_names, which is hash table
- that maps a base name to a list of names it owns (that we're
- interested in). Add pending_nameowner_calls which is a list of
- all outstanding GetNameOwner; avoids us having to iterate over
- every proxy. Add unassociated_proxies which keeps track of name
- proxies with no associated name owner.
- (dbus_g_proxy_manager_unref): Destroy owner_names.
- (struct DBusGProxyNameOwnerInfo): New struct for keeping track of
- name refcounts.
- (find_name_in_info, name_owner_foreach)
- (dbus_g_proxy_manager_lookup_name_owner, insert_nameinfo)
- (dbus_g_proxy_manager_monitor_name_owner)
- (dbus_g_proxy_manager_unmonitor_name_owner)
- (unassociate_proxies, dbus_g_proxy_manager_replace_name_owner):
- New functions; they manipulate the owner_names mapping.
- (got_name_owner_cb): New function.
- (get_name_owner): New function, extracted from
- dbus_g_proxy_new_for_name_owner.
- (dbus_g_proxy_manager_register): For now we need to keep track of
- all NameOwnerChanged. Also if the proxy is for a name, if we
- don't already know the name owner, queue a new GetNameOwner
- request and add it to our list of unassociated proxies. Otherwise
- inc the refcount.
- (dbus_g_proxy_manager_unregister): If this proxy is for a name,
- cancel any pending GetNameOwner call, etc.
- (dbus_g_proxy_manager_filter): Handle NameOwnerChanged. Also use
- the owner_names mapping to look up the current names for the
- signal source, and dispatch to any proxies for that name.
- (dbus_g_proxy_new): Initialize new members.
- (dbus_g_proxy_new_for_name): Delete unused proxy variable.
- (dbus_g_proxy_new_for_name_owner): Use get_name_owner.
- (dbus_g_pending_call_end_valist): New function, extracted from
- dbus_g_proxy_end_call_internal. Useful when we don't have a proxy
- but want to use the GLib infrastructure. Also note how many
- arguments in reply were over.
- (dbus_g_pending_call_end): New function, just call
- dbus_g_pending_call_end_valist.
- (dbus_g_proxy_end_call_internal): Just call
- dbus_g_pending_call_end_valist.
-
- * glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): Fix lookup
- of builtin marshaller for STRING_STRING_STRING.
-
- * test/glib/test-dbus-glib.c:
- * test/glib/test-service-glib.c:
- * test/glib/test-service-glib.xml:
- Extend tests to cover name proxies, destruction of owner proxies,
- etc.
-
- * glib/examples/example-signal-recipient.c
- (dbus_g_proxy_new_for_name_owner): Create a name proxy.
-
- * tools/dbus-send.c (main): Print D-BUS error name in addition
- to message.
-
-2005-06-28 John (J5) Palmieri <johnp@redhat.com>
-
- * python/dbus_bindings.pyx.in (cunregister_function_handler,
- cmessage_function_handler): Patch from
- Anthony Baxter <anthony@interlink.com.au> fixes threading problems
- by using the Py_GILState_Ensure/Release to synchronize with the
- python runtime.
-
-2005-06-28 Ray Strode <rstrode@redhat.com>
-
- * dbus/dbus-spawn.c (_dbus_babysitter_unref): kill
- babysitter helper process on last unref, bug #2813.
-
-2005-06-27 Colin Walters <walters@verbum.org>
-
- * test/glib/test-dbus-glib.c:
- * test/glib/test-service-glib.c:
- * test/glib/test-service-glib.xml:
- Test hash table signal emitting.
-
- * glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): Convert
- types to their fundamental basis types, since this is what
- marshallers operate on. Also add an entry for VOID__BOXED.
- (dbus_g_object_register_marshaller_array): Convert to fundamental.
-
-2005-06-26 Havoc Pennington <hp@redhat.com>
-
- * doc/dbus-tutorial.xml: fix names of interface/service/path, fix
- from Don Park
-
-2005-06-26 Colin Walters <walters@verbum.org>
-
- * glib/dbus-glib.c (dbus_set_g_error): Delete.
- (dbus_g_error_set): New public function from its ashes; used by
- both service-side method implementation and GLib bindings
- internals.
- (dbus_g_error_has_name, dbus_g_error_get_name): New function.
- (_dbus_glib_test): Add some tests.
-
- * test/glib/test-dbus-glib.c (main): Test dbus_g_error_has_name.
-
- * test/glib/test-service-glib.c (my_object_throw_error): Use
- dbus_g_error_set.
-
- * glib/dbus-gobject.c (gerror_to_dbus_error_message): Handle
- errors thrown by dbus_g_error_set.
-
- * glib/dbus-gmain.c (dbus_g_bus_get): Change to dbus_g_error_set.
-
- * glib/dbus-gparser.c (validate_signature): Ditto.
-
- * glib/dbus-gproxy.c (dbus_g_proxy_new_for_name_owner)
- (dbus_g_proxy_end_call_internal): Ditto.
-
- * glib/Makefile.am: Generate dbus-glib-error-switch.h, which
- converts DBUS_ERROR_x to DBUS_GERROR_x.
- (libdbus_glib_1_la_SOURCES, BUILT_SOURCES, CLEANFILES): Add it.
-
- * doc/TODO: Remove error TODO.
-
- * doc/dbus-tutorial.xml: Update with documentation about error
- handling.
-
- * dbus/make-dbus-glib-error-enum.sh: Tighten up regexp to make
- sure we only change DBUS_ERROR to DBUS_GERROR, not all ERROR to
- GERROR. Also add DBUS_GERROR_REMOTE_EXCEPTION.
-
-2005-06-22 Colin Walters <walters@verbum.org>
-
- Patch from Ross Burton <ross@openedhand.com>
-
- * glib/dbus-gobject.c (dbus_g_method_return): Free out_sig.
-
-2005-06-20 Colin Walters <walters@verbum.org>
-
- * configure.in: Add glib/examples.
-
- * glib/Makefile.am: Add examples/
-
- * glib/examples/.cvsignore
- * glib/examples/Makefile.am
- * glib/examples/example-client.c
- * glib/examples/example-service.c
- * glib/examples/example-service.xml
- * glib/examples/example-signal-emitter.c
- * glib/examples/example-signal-emitter.xml
- * glib/examples/example-signal-recipient.c:
- New files; GLib binding examples, ported from
- python/examples.
-
-2005-06-20 Colin Walters <walters@verbum.org>
-
- * dbus/dbus-glib.h:
- * glib/dbus-gproxy.c: Rename dbus_g_proxy_invoke to
- dbus_g_proxy_call.
-
- * glib/dbus-binding-tool-glib.c:
- * doc/dbus-tutorial.xml:
- * test/glib/test-dbus-glib.c: Update for rename.
-
-2005-06-20 Colin Walters <walters@verbum.org>
-
- Patch suggested by Ross Burton <ross@openedhand.com>
-
- * glib/dbus-gobject.c (export_signals): Free signal name.
- (g_value_init): Use G_VALUE_NOCOPY_CONTENTS to plug
- memory leak. Add a bit of documentation.
- (dbus_g_method_return_error): Free context, and note we do
- so.
-
-2005-06-18 Murray Cumming <murrayc@murrayc.com>
-
- * dbus/dbus-glib.h:
- * glib/dbus-gobject.c:
- * glib/dbus-gproxy.c:
- * glib/dbus-gvalue.c: Predeclare structs as
- typedef struct _Something Something instead of
- typedef struct Something Something, so we can
- redeclare the prototypes. Other GNOME libraries
- do this already.
-
-2005-06-17 Colin Walters <walters@verbum.org>
-
- * tools/dbus-names-model.c (have_names_notify): Fix call
- to dbus_g_proxy_end_call.
-
-2005-06-17 Colin Walters <walters@verbum.org>
-
- * glib/dbus-gproxy.c (dbus_g_proxy_emit_remote_signal): Don't
- spew warnings if we get malformed remote signals.
-
- * glib/dbus-gobject.c (propsig_iterate): New function.
- (lookup_object_info): New function, extracted from
- lookup_object_and_method.
- (introspect_properties, introspect_signals): Delete; these
- are merged into write_interface.
- (write_interface): Write out signals and properties here;
- dump the org.gtk.object stuff and use the interface given
- in the introspection data blob. Also fix up property XML.
- (lookup_values): New function.
- (introspect_interfaces): Gather a mapping from interface to a
- list of its methods, signals, and properties, then write out
- each interface.
- (lookup_object_and_method): Use lookup_object_info.
- (struct DBusGSignalClosure): Add interface.
- (dbus_g_signal_closure_new): Add interface. Don't dup signame;
- we can just use the constant data.
- (dbus_g_signal_closure_finalize): Don't free signal name.
- (signal_emitter_marshaller): Use interface from signal closure.
- (export_signals): Only export signals mentioned in introspection
- blob.
- (dbus_g_connection_register_g_object): Warn if we have no
- introspection data for an object.
- (funcsig_equal): Remove unused variable.
- (dbus_g_object_register_marshaller): Take varargs instead of
- list.
- (dbus_g_object_register_marshaller_array): New function,
- extracted from old dbus_g_object_register_marshaller.
-
- * glib/dbus-binding-tool-glib.c (struct DBusBindingToolCData): Add
- signals and property data.
- (write_quoted_string): New function, extracted from generate_glue.
- (generate_glue): Write signals and properties to introspection
- blob.
-
- * dbus/dbus-glib.h (struct DBusGObjectInfo): Include
- exported_signals and exported_properties.
- (dbus_g_object_register_marshaller): Update prototype.
- (dbus_g_object_register_marshaller_array): Prototype.
-
- * test/glib/test-dbus-glib.c: Extend testing to cover new signals.
-
- * test/glib/test-service-glib.c: Add new test signals and method
- to emit them.
-
- * test/glib/test-service-glib.xml: Add some test signals.
-
- * test/glib/Makefile.am (BUILT_SOURCES): Add my-object-marshal.c
- and my-object-marshal.h
- (test_service_glib_SOURCES, test_dbus_glib_SOURCES): Add
- my-object-marshal.c.
- (my-object-marshal.c, my-object-marshal.h): Implement.
-
- * test/glib/.cvsignore: Update.
-
- * doc/TODO: Remove two GLib TODO items fixed by this
- patch.
-
-2005-06-16 Colin Walters <walters@verbum.org>
-
- * doc/TODO: Update for GLib bindings.
-
-2005-06-16 Colin Walters <walters@verbum.org>
-
- * glib/dbus-binding-tool-glib.c:
- * glib/dbus-gobject.c:
- * glib/dbus-gproxy.c: Add Nokia copyright; Patch
- from Ross Burton, for his GLib bindings work.
-
-2005-06-16 Colin Walters <walters@verbum.org>
-
- * glib/dbus-gobject.c (funcsig_hash, funcsig_equal): Use n_params
- to iterate instead of walking to G_TYPE_INVALID.
-
- Patch based on a patch from Ryan Gammon.
-
-2005-06-16 Colin Walters <walters@verbum.org>
-
- * bus/bus.c (bus_context_new): Set parser to NULL
- after we unref it (Patch from Chris Boscolo, #2174).
-
-2005-06-16 Colin Walters <walters@verbum.org>
-
- * python/dbus_bindings.pyx.in: Import size_t,
- __int64_t, __uint64_t, and __signed.
-
- * dbus/dbus-sysdeps.c <HAVE_CMSGCRED> (write_credentials_byte):
- Define cmsg struct, output it.
- (_dbus_read_credentials_unix_socket):
- Use cmsg struct.
-
- Patch from Joe Markus Clarke for FreeBSD support.
-
-2005-06-16 Colin Walters <walters@verbum.org>
-
- * tools/dbus-send.c (append_array): Use strtok.
- (append_dict): New function.
- (type_from_name): New function, extracted from main.
- (main): Handle sending dicts.
-
- * tools/dbus-print-message.c (print_iter): Print dict
- entries.
-
-2005-06-16 Colin Walters <walters@verbum.org>
-
- * glib/dbus-gvalue.c (marshal_basic): Marshal NULL string
- values as the empty string (#2948).
-
-2005-06-16 Colin Walters <walters@verbum.org>
-
- * dbus/Makefile.am:
- * mono/doc/Makefile.am:
- * test/glib/Makefile.am:
-
- Fix srcdir != builddir issues (Patch from Chris Wilson, #3477)
-
-2005-06-16 Colin Walters <walters@verbum.org>
-
- * dbus/dbus-marshal-header.c (_dbus_header_load): Set
- header byte order from expected byte order (Patch from Chris Wilson, #3475).
-
- * dbus/dbus-marshal-byteswap.c (byteswap_body_helper):
- Increment pointer after swapping fixed array. Add assertion
- for array length.
-
-2005-06-15 Colin Walters <walters@verbum.org>
-
- * dbus/dbus-sysdeps.c <HAVE_CMSGCRED> (_dbus_read_credentials_unix_socket):
- Fix call to dbus_set_error. (Patch from Michael Banck, #3461)
-
-2005-06-15 John (J5) Palmieri <johnp@redhat.com>
-
- * NEWS: Update to 0.34
-
-2005-06-15 David Zeuthen <davidz@redhat.com>
-
- * configure.in (LT_CURRENT): Revert back to 1 as the library
- hasn't changed and we've certainly not committed to protocol
- stability yet. All this does is to break ABI. See commit note
- from hp@redhat.com 2005-05-05 for details.
-
-2005-06-15 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-connection.c (_dbus_connection_peer_filter): New method
- (_dbus_connection_run_builtin_filters): New method
- (dbus_connection_dispatch): Run the builtin filters which in turn
- runs the peer filter which handles Ping messages.
-
- * doc/TODO:
- - Ping isn't handled: This patch fixes it
-
- - Add a test case for the Ping message: added TODO item
-
-2005-06-15 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-message.c:
- (dbus_message_has_path): New method
- (dbus_message_has_interface): New method
- (dbus_message_has_member): New method
-
- * dbus/dbus/dbus-sysdeps.c (_dbus_check_dir_is_private_to_user):
- New method
-
- * dbus/dbus-keyring.c (_dbus_keyring_reload): Check to see that
- the keyring directory is private to the user
-
- * doc/TODO:
- - The convenience functions in dbus-bus.h should perhaps have
- the signatures that they would have if they were autogenerated
- stubs. e.g. the acquire service function. We should also evaluate
- which of these functions to include, in light of the fact that
- GLib/Qt native stubs will probably also exist.: Punted
-
- - add dbus_message_has_path(), maybe has_member/interface:
- fixed in this patch
-
- - in dbus-keyring.c, enforce that the keyring dir is not
- world readable/writable: Fixed in this patch
-
-2005-06-15 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-marshal-validate.h: Added a new validation
- error code DBUS_VALIDITY_UNKNOWN_OOM_ERROR = -4 for
- out of memory errors when validating signitures
-
- * dbus/dbus-marshal-header.c: use DBUS_VALIDITY_UNKNOWN_OOM_ERROR
- in places where we previously used DBUS_VALID and a FALSE return
- value to indicate OOM
-
- * dbus/dbus-marshal-validate.c (_dbus_validate_signature_with_reason):
- Use a stack to track the number of elements inside containers. The
- stack values are then used to validate that dict entries have only two
- elements within them.
- (validate_body_helper): check the reason for failure when validating
- varients
-
- * dbus/dbus-message.c (load_message): use
- DBUS_VALIDITY_UNKNOWN_OOM_ERROR in places where we previously used
- DBUS_VALID and a FALSE return value to indicate OOM
-
- * doc/TODO: remove "- validate dict entry number of fields" as this
- patch fixes it
-
-2005-06-14 David Zeuthen <davidz@redhat.com>
-
- * bus/bus.c (process_config_every_time): Drop existing conf-dir
- watches (if applicable) and add new watches
-
- * bus/main.c (signal_handler): Handle SIGIO if using D_NOTIFY
- (main): Setup SIGIO signal handler if using D_NOTIFY
-
- * bus/config-parser.h: Add prototype bus_config_parser_get_conf_dirs
-
- * bus/config-parser.c (struct BusConfigParser): Add conf_dirs list
- (merge_included): Also merge conf_dirs list
- (bus_config_parser_unref): Clear conf_dirs list
- (include_dir): Add directory to conf_dirs list
- (bus_config_parser_get_conf_dirs): New function
-
- * bus/dir-watch.[ch]: New files
-
- * bus/Makefile.am (BUS_SOURCES): Add dir-watch.[ch]
-
- * configure.in: Add checks for D_NOTIFY on Linux
-
-2005-06-14 Colin Walters <walters@verbum.org>
-
- * glib/dbus-binding-tool-glib.c:
- * glib/dbus-gobject.c:
- * glib/dbus-gvalue.c: Fix indentation and brace style.
-
-2005-06-14 Ross Burton <ross@openedhand.com>.
-
- * glib/dbus-glib.h: Make DBusGMethodInvocation
- a private structure. Rearrange prototypes a bit.
-
- * glib/dbus-gproxy.c (dbus_g_proxy_invoke): Add
- documentation for first_arg_type.
-
- * glib/dbus-gobject.c: Move DBusGMethodInvocation
- here, add documentation. Move dbus_g_method_return
- and dbus_g_method_return_error into public API
- section.
-
-2005-06-14 Colin Walters <walters@verbum.org>
-
- * glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller):
- Add missing return statements, noticed by Ross Burton.
-
-2005-06-13 Ross Burton <ross@openedhand.com>.
-
- * glib/dbus-gobject.c: Handle errors on message
- demarshalling by sending error message back.
- * glib/dbus-gvalue.c: Initialize return variables.
-
-2005-06-13 Colin Walters <walters@verbum.org>
-
- * glib/Makefile.am: Fix thinko in last patch.
-
-2005-06-13 Colin Walters <walters@verbum.org>
-
- * glib/Makefile.am: Move dbus-gtype-specialized.c
- and dbus-gtype-specialized.h into a _HEADERS variable,
- install them.
-
-2005-06-12 Colin Walters <walters@verbum.org>
-
- Async signals and various bugfixes and testing by
- Ross Burton <ross@openedhand.com>.
-
- * glib/dbus-gvalue.h: (struct DBusBasicGValue): Delete.
- (dbus_gvalue_genmarshal_name_from_type)
- (dbus_gvalue_ctype_from_type): Moved to dbus-binding-tool-glib.c.
- (dbus_gtype_to_dbus_type): Renamed to dbus_gtype_from_signature.
- (dbus_g_value_types_init, dbus_gtype_from_signature)
- (dbus_gtype_from_signature_iter, dbus_gtype_to_signature)
- (dbus_gtypes_from_arg_signature): New function prototypes.
- (dbus_gvalue_demarshal): Take context and error arguments.
- (dbus_gvalue_demarshal_variant): New function.
- (dbus_gvalue_demarshal_message): New function.
- (dbus_gvalue_store): Delete.
-
- * glib/dbus-gvalue.c:
-
- File has been almost entirely rewritten; now we special-case
- more types such as DBUS_TYPE_SIGNATURE, handle arrays and
- hash tables correctly, etc. Full support for recursive values
- is not yet complete.
-
- * glib/dbus-gproxy.c (dbus_g_proxy_class_init): Change last
- argument of signal to G_TYPE_POINTER since we now pass a
- structure.
- (lookup_g_marshaller): Delete in favor of
- _dbus_gobject_lookup_marshaller.
- (marshal_dbus_message_to_g_marshaller): Use
- _dbus_gobject_lookup_marshaller and dbus_gvalue_demarshal_message
- to handle remote signal callbacks.
- (dbus_g_proxy_new_from_proxy): New function; creates a new
- DBusGProxy by copying an existing one.
- (dbus_g_proxy_get_interface, dbus_g_proxy_set_interface)
- (dbus_g_proxy_get_path): New functions.
- (dbus_g_proxy_marshal_args_to_message): New function;
- factored out of existing code.
- (DBUS_G_VALUE_ARRAY_COLLECT_ALL): Collect all arguments
- from a varargs array.
- (dbus_g_proxy_begin_call_internal): New function.
- (dbus_g_proxy_end_call_internal): New function.
- (dbus_g_proxy_begin_call): Take GTypes instead of DBus types
- as arguments; simply invoke dbus_g_proxy_begin_call_internal
- after collecting args into value array.
- (dbus_g_proxy_end_call): Take GTypes instead of DBus types;
- invoke dbus_g_proxy_end_call_internal.
- (dbus_g_proxy_invoke): Simply invoke begin_call_interanl and
- end_call_internal.
- (dbus_g_proxy_call_no_reply): Take GTypes instead of DBus
- types.
- (array_free_all): New function.
- (dbus_g_proxy_add_signal): Take GTypes.
-
- * glib/dbus-gobject.h:
- (_dbus_glib_marshal_dbus_message_to_gvalue_array): Delete.
- (_dbus_gobject_get_path, _dbus_gobject_lookup_marshaller):
- Prototype.
-
- * glib/dbus-gobject.c: Add a global marshal_table hash which
- stores mappings from type signatures to marshallers. Change lots
- of invocations of dbus_gtype_to_dbus_type to
- dbus_gtype_to_signature.
- (_dbus_glib_marshal_dbus_message_to_gvalue_array): Delete.
- (introspect_signals): Fix test for query.return_type.
- (set_object_property): Update invocation of dbus_gvalue_demarshal.
- (invoke_object_method): Many changes. Handle asynchronous
- invocations. Convert arguments with
- dbus_gvalue_demarshal_message. Handle errors. Use
- DBusSignatureIter instead of strlen on args. Handle all arguments
- generically. Special-case variants.
- (dbus_g_method_return, dbus_g_method_return_error): New function.
- (DBusGSignalClosure): New structure, closes over signal
- information.
- (dbus_g_signal_closure_new): New function.
- (dbus_g_signal_closure_finalize): New function.
- (signal_emitter_marshaller): New function; is special marshaller
- which emits signals on bus.
- (export_signals): New function; introspects object signals and
- connects to them.
- (dbus_g_object_type_install_info): Take GType instead of
- GObjectClass.
- (dbus_g_connection_register_g_object): Invoke export_signals.
- (dbus_g_connection_lookup_g_object): New function.
- (DBusGFuncSignature) New structure; used for mapping type
- signatures to marshallers.
- (funcsig_hash): New function; hashes DBusGFuncSignature.
- (funcsig_equal): New function; compares DBusGFuncSignature.
- (_dbus_gobject_lookup_marshaller): New function.
- (dbus_g_object_register_marshaller): New function; used to
- register a marshaller at runtime for a particular signature.
-
- * glib/dbus-gmain.c (_dbus_gmain_test): Add various tests.
-
- * glib/dbus-binding-tool-glib.h: Add DBUS_GLIB_ANNOTATION_ASYNC
- which notes a server method implementation should be
- asynchronous.
-
- * glib/dbus-binding-tool-glib.c
- (dbus_binding_tool_output_glib_server): Call
- dbus_g_value_types_init.
- (write_formal_parameters): Use dbus_gtype_from_signature. Handle
- variants specially.
- (dbus_g_type_get_lookup_function): Turn GType into an invocation
- of a lookup function.
- (write_args_for_direction): Use dbus_g_type_get_lookup_function.
- (write_untyped_out_args): New method; write output arguments.
- (write_formal_declarations_for_direction): Function for
- writing prototypes.
- (write_formal_parameters_for_direction): Function for
- writing implementations.
- (write_typed_args_for_direction): Function for writing
- arguments prefixed with GTypes.
- (write_async_method_client): Write out async version
- of method.
-
- * glib/dbus-binding-tool-glib.c: Include dbus-gvalue-utils.h.
- (dbus_g_type_get_marshal_name): Move mapping from GType
- to marshal name into here.
- (dbus_g_type_get_c_name): Move into here.
- (compute_marshaller): Convert signature to type with
- dbus_gtype_from_signature, use dbus_g_type_get_marshal_name.
- (compute_marshaller_name): Ditto.
- (compute_marshaller): Handle async signal annotations.
- (gather_marshallers): Return if we don't have a known
- prefix.
- (generate_glue): Collect introspection blob here, and
- write all of the blob at the end. This allows an object
- with multiple interfaces to work.
- Mark async methods in introspection blob.
-
- * glib/Makefile.am (libdbus_glib_1_la_SOURCES): Add
- dbus-gtype-specialized.c, dbus-gtype-specialized.h,
- dbus-gvalue-utils.h, dbus-gvalue-utils.c.
-
- * dbus/dbus-glib.h: Don't include dbus-protocol.h; this
- avoids people accidentally using DBUS_TYPE_* which should
- not be necessary anymore.
- Do include dbus-gtype-specialized.h, which are utilities
- for GLib container types.
- Add various #defines for types such as
- DBUS_TYPE_G_BOOLEAN_ARRAY.
- (DBusGValueIterator, DBusGValue): Define, not fully used
- yet.
- (dbus_g_value_get_g_type): Type for recursive value.
- (dbus_g_value_open, dbus_g_value_iterator_get_value)
- (dbus_g_value_iterator_get_values, dbus_g_value_iterator_recurse)
- (dbus_g_value_free): Prototypes.
- (dbus_g_object_register_marshaller, dbus_g_proxy_new_from_proxy): Prototype.
- (dbus_g_proxy_set_interface): Prototype.
- (dbus_g_proxy_begin_call, dbus_g_proxy_end_call)
- (dbus_g_proxy_call_no_reply): Take GLib types instead of DBus
- types.
- (dbus_g_proxy_get_path, dbus_g_proxy_get_interface):
- Accessors.
- (DBusGAsyncData, DBusGMethodInvocation): Structures for
- doing async invocations.
- (dbus_g_method_return, dbus_g_method_return_error):
- Prototypes.
- * doc/dbus-tutorial.xml: Update GLib section.
-
- * tools/dbus-viewer.c (load_child_nodes): Update
- for new invocation type of dbus_g_proxy_end_call.
- (load_from_service_thread_func): Ditto.
-
- * tools/print-introspect.c (main): Ditto.
-
- * tools/dbus-names-model.c (have_names_notify)
- (names_model_reload, names_model_set_connection)
- Use GTypes.
-
- * python/Makefile.am (INCLUDES): Define DBUS_COMPILATION,
- needed since Python bindings use GLib bindings.
-
- * test/glib/Makefile.am (INCLUDES): Define DBUS_COMPILATION.
- Add --prefix argument.
-
- * tools/Makefile.am: Define DBUS_COMPILATION. Remove
- unneeded --ignore-unsupported arg.
-
- * test/glib/test-service-glib.c:
- * test/glib/test-service-glib.xml:
- * test/glib/test-dbus-glib.c: Add many more tests.
-
-2005-06-06 David Zeuthen <davidz@redhat.com>
-
- * doc/TODO: Add item about need to remove deprecated functions.
-
- * dbus/dbus-connection.h: Add prototype for dbus_connection_disconnect
-
- * dbus/dbus-connection.c (dbus_connection_disconnect): New function
- to repair the ABI which was broken with the last commit.
-
-2005-06-02 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-connection.c, dbus/dbus-connection.h
- (dbus_connection_disconnect): renamed to dbus_connection_close
- for API symmetry with dbus_connection_open
- (_dbus_connection_open_internal):
- s/dbus_connection_disconnect/dbus_connection_close
-
- * dbus/dbus-bus.c (dbus_bus_get):
- s/dbus_connection_disconnect/dbus_connection_close
-
- * bus/connection.c (bus_connections_unref,
- bus_connections_setup_connection, bus_connections_expire_incomplete):
- s/dbus_connection_disconnect/dbus_connection_close
-
- * bus/dispatch.c (bus_dispatch, kill_client_connection,
- kill_client_connection_unchecked, check_hello_connection):
- s/dbus_connection_disconnect/dbus_connection_close
-
- * bus/bus.c (new_connection_callback):
- s/dbus_connection_disconnect/dbus_connection_close
-
- * tools/dbus-send.c (main):
- s/dbus_connection_disconnect/dbus_connection_close
-
- * test/glib/test-profile.c (no_bus_thread_func, with_bus_thread_func):
- s/dbus_connection_disconnect/dbus_connection_close
-
- * test/test-service.c (path_message_func, filter_func):
- s/dbus_connection_disconnect/dbus_connection_close
-
- * doc/TODO: remove connection_open/connection_disconnect lacks symmetry item that was just fixed
-
-2005-05-25 Colin Walters <walters@verbum.org>
-
- * dbus/dbus-protocol.h: Move various bus service #defines such
- as DBUS_SERVICE_DBUS and DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT to
- dbus/dbus-shared.h.
- * dbus/dbus-shared.h: Various defines moved here.
- * dbus/dbus-marshal-header.c: Include dbus-shared.h.
-
-2005-05-25 John (J5) Palmieri <johnp@redhat.com>
-
- * python/__init__.py: Python bindings deserve a minor version
- update. Upped to (0, 40, 2)
-
-2005-05-24 John (J5) Palmieri <johnp@redhat.com>
-
- * python/decorators.py: add explicitly_pass_message decorator
- for passing in the dbus message as keyword for edge case signal
- handling
-
- * python/matchrules.py (SignalMatchRule.__repr__): fix output
- to conform with what dbus expects for match rules
- (SignalMatchRule.execute): add the dbus message as a keyword
- if the signal handler has requested it
-
- * python/examples/example/signal-recipient.py: added some more
- examples on how to hook up to signals
-
-2005-05-23 John (J5) Palmieri <johnp@redhat.com>
-
- * python/decorators.py: import dbus_bindings
-
- * python/matchrules.py (SignalMatchRule, SignalMatchTree,
- SignalMatchNode): new classes that implement wildcard signal
- callback matching using a tree lookup. Heavily modified from a
- patch sent by Celso Pinto (fd.o bug #3241)
-
- * _dbus.py (add_signal_receiver, remove_signal_receiver, _signal_func):
- use new match classes to handle signals.
-
-2005-05-19 John (J5) Palmieri <johnp@redhat.com>
-
- * python/dbus_bindings.pyx.in: s/TYPE_PATH/TYPE_OBJECT_PATH
-
-2005-05-18 Havoc Pennington <hp@redhat.com>
-
- * configure.in: use GLIB_GNU_GETTEXT to get INTLLIBS and require
- gettext. Not really worth requiring yet perhaps, but any
- production quality 1.0 would require it so we should go ahead and
- get things set up. We do have a couple token calls to
- bindtextdomain in the code already.
-
-2005-05-16 John (J5) Palmieri <johnp@redhat.com>
-
- * glib/dbus-gmain.c (io_handler_dispatch): fix deadlock
- when using recursive g_main_loops
-
- * python/_dbus.py (class Bus): add the ProxyObjectClass
- alias for ProxyObject to make it easier for the Twisted
- networking framework to integrate dbus.
-
- * python/proxies.py (class ProxyObject): add the ProxyMethodClass
- alias for ProxyMethod to make it easier for the Twisted
- networking framework to integrate dbus.
-
-2005-05-11 Ross Burton <ross@openedhand.com>
-
- * glib/dbus-glib-tool.c: Add --prefix argument.
- * glib/dbus-binding-tool-glib.h: Add prefix argument.
- * glib/dbus-binding-tool-glib.c (compute_marshaller_name):
- Add prefix argument.
- (generate_glue): Pass prefix argument down.
- (dbus_binding_tool_output_glib_server): Pass prefix to
- glib-genmarshal.
-
-2005-05-11 Colin Walters <walters@verbum.org>
-
- * tools/dbus-send.c (append_array): New function.
- (append_arg): Broken out from main.
- (main): Add cheesy hack to send arrays and variants.
- (usage): Update.
- * tools/dbus-print-message.c (print_iter): Broken out
- from main.
-
-2005-05-11 Colin Walters <walters@verbum.org>
-
- * dbus/dbus-signature.c (dbus_signature_iter_get_signature):
- New function, returns signature string for signature iter.
- * dbus/dbus-signature.h: Prototype it.
- * dbus/dbus-message.c (dbus_message_iter_get_signature):
- New function, returns signature string for message iter.
- (dbus_message_iter_get_array_len): New function, returns
- length of array.
- (dbus_message_iter_get_fixed_array): Fix assertion; this
- function should be used when the iter is pointing to the
- contents of an array
- * dbus/dbus-message.h: Prototypes.
- * dbus/dbus-marshal-recursive.c (_dbus_type_reader_get_array_length):
- New function; returns length of an array.
- * dbus/dbus-marshal-recursive.h: Prototype it.
-
-2005-05-11 Colin Walters <walters@verbum.org>
-
- * dbus/dbus-sysdeps-util.c <!HAVE_POSIX_GETPWNAM_R>: Fix
- compilation error.
-
-2005-05-08 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-sysdeps-util.c (_dbus_become_daemon): write the
- daemon's pid, not the parent's pid, to the file descriptor.
- Reported by Taj Morton.
-
-2005-05-05 Havoc Pennington <hp@redhat.com>
-
- * configure.in (LT_*): add notes on how the libtool versioning
- works to save thinking. Increment soname to indicate protocol
- breakage (though really the library interface hasn't changed I
- guess)
-
- * dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
- verify the GUID received from server matches what we were
- expecting, if we had an expectation
-
- * dbus/dbus-auth.c (send_ok): send GUID along with the OK command
- (_dbus_auth_get_guid_from_server): new function
- (send_begin): parse the OK args
-
- * doc/dbus-specification.xml: add GUID to the auth protocol
-
-2005-05-05 John (J5) Palmieri <johnp@redhat.com>
-
- * Fix my name in previous changelog ;)
-
- * python/proxies.py (ProxyObject.__getattr__): add further patch
- from Anthony Baxter to throw an AttributeError when python
- __special__ functions are called instead of marshling them over
- the bus (Bug#1685 comment 3).
-
-2005-05-04 John (J5) Palmieri <johnp@redhat.com>
-
- * python/Makefile.am: changed to use pyexecdir for the binding
- shared libraries (Bug#2494)
-
- * python/exceptions.py: bring exceptions over from the bindings
- so they can be used in applications (Bug#2036)
- Make all exceptions derive from DBusException
-
- * python/_dbus.py, python/proxies.py: implement __repr__ in a couple
- of classes so that print obj doesn't throw an exception (Bug #1685)
-
-2005-05-03 Ross Burton <ross@openedhand.com>
-
- * glib/dbus-gobject.c (dbus_g_connection_register_g_object):
- Return if we get an error during registration. Set up a
- weak reference on object to unregister if object is destroyed.
- (unregister_gobject): New function.
-
-2005-05-01 John (J5) Palmieri <johnp@redhat.com>
-
- * python/dbus_bindings.pyx.in:
- - added new type classes for hinting to the marashaler what type
- to send over the wire
- - added int16 and uint16 marshalers
- - Fixed a bug in the type constants that caused int32 to go out
- as uint16 over the wire
- * python/dbus.py: split up into different files and renamed _dbus.py
- * python/__init__.py, python/_util.py, python/decorators.py,
- python/exceptions.py, python/proxies.py, python/services.py,
- python/types.py: new files split off from dbus.py
- * python/Makefile.am: Add new files, remove dbus.py and
- install all python files to <python module dir>/dbus
- * python/examples/*: Added #!/usr/bin/env python to the top of
- every example. Patch provided by Tatavarty Kalyan
-
-2005-04-25 John (J5) Palmieri <johnp@redhat.com>
-
- * NEWS: Update to 0.33
-
-2005-04-25 John (J5) Palmieri <johnp@redhat.com>
-
- * python/dbus_bindings.pyx.in (send_with_reply_handlers): New send
- method for doing async calls
- (_pending_call_notification): New C function for handling pendning call
- callbacks
- (set_notify): New method for setting pending call notification
-
- * python/dbus.py: new version tuple "version" is set at (0, 40, 0)
- Async capabilities added to remote method calls
- (Sender): class removed
- (RemoteService): class removed
- (ObjectTree): class removed for now
- (RemoteObject): Renamed to ProxyObject
- (RemoteMethod): Renamed to ProxyMethod
- (method): Decorator added for decorating python methods as dbus methods
- (signal): Decorator added for decorating python methods as signal emitters
- (ObjectType): Metaclass added for generating introspection data and the
- method callback vtable
- (Interface): Wrapper class added to wrap objects in a dbus interface
- (Object): Uses ObjectType as its metaclass and exports Introspect
- of the org.freedesktop.DBus.Introspectable interface
- (ValidationException, UnknownMethodException): new exceptions
-
- * python/examples/*: Modified to fit with the new bindings
-
-2005-04-23 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-message.c (dbus_message_append_args): fix doc comment,
- reported by Tony Houghton
-
- * test/test-service.c (main): test
- dbus_connection_get_object_path_data()
-
- * dbus/dbus-object-tree.c (find_handler): be sure we always init
- the exact_match
- (_dbus_object_tree_get_user_data_unlocked): new function used by
- dbus_connection_get_object_path_data()
- (do_register): add assertion test for get_user_data_unlocked
- (object_tree_test_iteration): more tests
-
- * dbus/dbus-connection.c (dbus_connection_get_object_path_data):
- new function from Dan Reed to let you get the user data from
- dbus_connection_register_object_path()
-
-2005-04-23 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-marshal-recursive-util.c: Fixed buffer overflow
- in numerous places that did not account for the NULL terminator
- (signature_from_seed): changed the manual string copy loop to
- just use strcpy instead
- make check should now pass
-
-2005-04-19 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-marshal-header.c (_dbus_header_create): Fix assert
- so that it allows messages that are not signals to pass in
- NULL as the interface.
-
-2005-04-18 David Zeuthen <davidz@redhat.com>
-
- * glib/dbus-gmain.c (io_handler_destroy_source):
- (timeout_handler_destroy_source, connection_setup_free):
- Also unref the source to avoid memory leaks.
-
-2005-04-13 David Zeuthen <davidz@redhat.com>
-
- * bus/config-parser.c (bus_config_parser_new): Bump this to a
- more reasonable, yet still totally arbitrary, value :-).
-
-2005-04-13 David Zeuthen <davidz@redhat.com>
-
- * doc/TODO: Added an "important for 1.0" item about selinux
- allow/deny messages
-
-2005-04-13 David Zeuthen <davidz@redhat.com>
-
- * bus/selinux.c: Add c-file-style to top of file
- (log_audit_callback): Don't free the data here anymore
- (bus_selinux_check): Don't take spid and tpid since appending
- that to auxdata may OOM.
- (bus_selinux_allows_acquire_service): Handle OOM and signal back
- to the caller if we are OOM by taking an error object.
- (bus_selinux_allows_send): -do-
-
- * bus/selinux.h: Fix prototypes for bus_selinux_allows_acquire_service
- and bus_selinux_allows_send
-
- * bus/bus.c (bus_context_check_security_policy): Pass error and
- pass on OOM thrown by bus_selinux_allows_send()
-
- * bus/services.c (bus_registry_acquire_service): Pass error and
- pass on OOM thrown by bus_selinux_allows_acquire_service()
-
-2005-04-13 Havoc Pennington <hp@redhat.com>
-
- * glib/dbus-gmain.c (message_queue_dispatch): only dispatch one
- message at a time to avoid monopolizing the main loop, bug
- #2953 from Benjamin Otte
-
-2005-04-09 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-string.c (copy): change a memcpy to memmove due to
- possible overlap, fix from Daniel Reed
- (fixup_alignment): fix signedness warnings
- (_dbus_string_append_unichar): ditto
-
-2005-04-09 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-message-util.c (_dbus_message_test): fix signedness warning
-
- * glib/dbus-glib-tool.c (main): fix warning
-
- * glib/dbus-binding-tool-glib.c (generate_glue): fix warning
-
- * dbus/dbus-connection.c (dbus_connection_read_write_dispatch):
- add a new function that can be used in simple applications that
- don't have a main loop and are willing to block
-
-2005-04-05 David Zeuthen <davidz@redhat.com>
-
- Fix https://bugs.freedesktop.org/show_bug.cgi?id=2889
-
- * glib/dbus-gmain.c:
- (io_handler_destroy_source): Remove from list of IO handlers
- of the ConnectionSetup object
- (timeout_handler_destroy_source): -do- for timeout handlers
- (io_handler_source_finalized): Don't remove from list since
- we now do that in io_handler_destroy_source(). Renamed from
- io_handler_source_destroyed
- (timeout_handler_source_destroyed): -do- for timeout handlers
- (connection_setup_free): It is now safe to iterate over all
- IO and timeout handlers as the _destroy_source removes them
- from the list synchronously
-
-2005-03-30 Havoc Pennington <hp@redhat.com>
-
- * configure.in: change check to gtk 2.4
-
- * tools/dbus-viewer.c (name_combo_changed_callback): remove
- gtk_combo_box_get_active_text() usage to decrement GTK requirement
- to 2.4
-
-2005-03-29 John (J5) Palmieri <johnp@redhat.com>
-
- * News: Update 0.32
-
- * HACKING: Fixed realease instructions. configure.in should be updated to
- the next release by the person who made the last release.
-
-2005-03-29 John (J5) Palmieri <johnp@redhat.com>
-
- * python/lvalue_cast_post_process.py - removed. Patch has been
- submitted to Pyrex maintainers that fixes gcc4.0 errors
-
- * python/Makefile.am: removed refrences to lvalue_cast_post_process.py
-
-2005-03-24 Daniel Reed <n@ml.org>
-
- * tools/Makefile.am: Make print-introspect and
- dbus-bus-introspect.xml building conditional on HAVE_GLIB.
-
-2005-03-22 John (J5) Palmieri <johnp@redhat.com>
-
- * tools/Makefile.am: Patch by Colin Walters that fixes distcheck
-
- * dbus/dbus-userdb.c, dbus/dbus-userdb-util.c: Add patch we have
- had in Red Hat packages for a while but for some reason never
- got merged upstream
- (_dbus_is_a_number): New checks if a string
- can be converted to a number and does the conversion if it can
- (_dbus_user_database_lookup): Add check to see if the given username
- is a udi. This allows udi's to be used instead of usernames in the
- config file.
- (_dbus_user_database_lookup_group): Add check to see if the given groupname
- is a gdi. This allows gdi's to be used instead of groupnames in the
- config file.
-
-2005-03-21 John (J5) Palmieri <johnp@redhat.com>
-
- * python/lvalue_cast_post_process.py - added post processor to fix Pyrex
- code so that it compiles with gcc4.0
-
- * python/Makefile.am: Added lvalue_cast_post_process.py to EXTRA_DIST
- run dbus_bindings.c through lvalue_cast_post_process.py and copy the
- results back to dbus_binding.c
-
-2005-03-20 Colin Walters <walters@verbum.org>
-
- Patch suggested by Inguva Rajasekhar <ringuva@novell.com>.
-
- * configure.in: Require GTK+ 2.6.
-
-2005-03-20 Colin Walters <walters@verbum.org>
-
- * Makefile.am (SUBDIRS, DIST_SUBDIRS): Build tools before test.
-
-2005-03-17 Tom Parker <palfrey@tevp.net>
-
- * dbus/dbus-userdb.c (_dbus_user_database_lookup): Don't
- print DBUS_UID_UNSET; instead print passed username. Also
- be sure to actually use gid looked up in cache.
-
- * dbus/dbus-userdb-util.c (_dbus_user_database_lookup_group): Ditto
- for DBUS_GID_UNSET and groupname.
-
-2005-03-17 Colin Walters <walters@verbum.org>
-
- * bus/print-introspect.c: Move to tools/.
- * bus/run-with-tmp-session-bus.sh: Ditto.
-
- * glib/Makefile.am (dbus-glib-bindings.h): Move
- generation to tools/Makefile.am.
-
- * test/glib/run-test.sh: Update to handle move
- of run-with-tmp-session-bus.sh.
-
- * test/glib/test-service-glib.c: Update to handle
- move of dbus-glib-bindings.h.
-
- * tools/print-introspect.c: Moved here
- from bus/, and ported to GLib bindings.
-
- * tools/run-with-tmp-session-bus.sh: Moved here
- from bus/.
-
- * tools/Makefile.am: Generate dbus-glib-bindings.h
- and dbus-bus-introspect.xml here.
-
- * tools/.cvsignore, glib/.cvsignore, bus/.cvsignore:
- Update.
-
-2005-03-17 Colin Walters <walters@verbum.org>
-
- * bus/driver.c (write_args_for_direction): Use
- _dbus_string_get_const_data to retrieve string;
- _dbus_string_get_const_data_len doesn't actually return
- a NULL-terminated substring.
-
- * test/glib/test-service-glib.c: Include dbus-glib-bindings.h.
- (main): Change to use org_freedesktop_DBus_request_name
- instead of using g_proxy_begin_call/end_call.
-
-2005-03-15 Joe Shaw <joeshaw@novell.com>
-
- * mono/ProxyBuilder.cs (BuildFinalizer): Fix some invalid IL when
- generating the finalizer. Fixes from Ben Maurer.
-
-2005-03-12 Joe Shaw <joeshaw@novell.com>
-
- * mono/BusDriver.cs: Update method names: ListServices
- becomes ListNames; GetOwner becomes GetNameOwner.
-
- * mono/ProxyBuilder.cs (BuildFinalizer): Need to load arg 0
- onto the eval stack when removing the delegate.
-
-2005-03-12 Joe Shaw <joeshaw@novell.com>
-
- * mono/dbus-sharp.dll.config.in: Don't hardcode 0 for
- LT_CURRENT. Set it to the autoconf variable.
-
- * mono/ProxyBuilder.cs: Add a finalizer to the generated proxy
- classes that disconnects the signal handler delegate from the
- service object. Fixes a big leak of proxy objects on the
- client side of things. Patch from Ben Maurer
- <bmaurer@ximian.com>
-
-2005-03-12 Colin Walters <walters@verbum.org>
-
- * bus/driver.c (write_args_for_direction): New function,
- parses a type signature into arguments and outputs to
- XML.
- (bus_driver_handle_introspect): Use it instead of
- hardcoding XML for certain signatures.
-
- * bus/Makefile.am (dbus-bus-introspect.xml): Add
- dependency on dbus-daemon.
-
- * glib/dbus-glib-tool.c (main): Parse ignore_unsupported
- argument, pass it to dbus_binding_tool_output_glib_client.
-
- * glib/dbus-binding-tool-glib.c
- (generate_client_glue): Protect against multiple inclusion.
- (dbus_binding_tool_output_glib_client): Add
- G_BEGIN_DECLS/G_END_DECLS.
-
- * glib/dbus-binding-tool-glib.c (compute_client_method_name):
- Change to just take iface prefix directly.
- (write_formal_parameters): Clarify error message.
- (check_supported_parameters): New function; checks to see type
- signatures of method parameters are supported.
- (generate_client_glue): Handle ignore_unsupported flag.
- (dbus_binding_tool_output_glib_client): Handle ignore_unsupported
- parameter.
-
- * glib/Makefile.am (dbus-glib-bindings.h): Pass
- --ignore-unsupported by default until glib bindings
- support arrays.
-
-2005-03-11 Colin Walters <walters@verbum.org>
-
- * glib/Makefile.am: Generate dbus-glib-bindings.h and
- install it.
-
- * bus/print-introspect.c: New file; prints introspection
- data for a given name and object path.
-
- * bus/run-with-tmp-session-bus.sh: New file, refactored
- from test/glib/run-test.sh. Creates a temporary session
- bus and runs another program.
-
- * test/glib/run-test.sh: Refactor to invoke
- run-with-tmp-session-bus.sh.
-
- * bus/driver.c (bus_driver_handle_introspect): Fix to print new
- introspection format. Also change to use DBUS_TYPE_x_AS_STRING
- macros instead of hardcoding.
-
- * glib/.cvsignore, bus/.cvsignore, test/glib/.cvsignore: Update.
-
-2005-03-11 Joe Shaw <joeshaw@novell.com>
-
- * dbus/dbus-connection.c (dbus_connection_send_with_reply): Remove
- this unref; it doesn't match up evenly in some codepaths.
- (_dbus_connection_block_pending_call): Unref at every exitpoint;
- this evenly matches with the ref near the top of this function.
-
-2005-03-09 Joe Shaw <joeshaw@novell.com>
-
- * dbus/dbus-object-tree.c
- (_dbus_object_tree_unregister_and_unlock): If checks are enabled
- and we try to unregister a path that's not registered, still go
- through the process of unlocking and don't just return.
-
-2005-03-09 Colin Walters <walters@verbum.org>
-
- * glib/dbus-gproxy.c (dbus_g_proxy_invoke): New method; calls
- to this are generated for client-side wrappers. Invokes a
- D-BUS method and returns reply values.
-
- * glib/dbus-binding-tool-glib.c (write_args_sig_for_direction): New
- function; writes signature string for argument direction.
- (write_args_for_direction): Change to pass input values directly
- instead of via address, and fix indentation.
- (generate_client_glue): Change to invoke dbus_g_proxy_invoke. Also
- make generated wrappers inlineable.
-
- * dbus/dbus-message.c (dbus_message_iter_get_fixed_array): Add
- note about using dbus_type_is_fixed.
-
- * dbus/dbus-marshal-basic.c (_dbus_type_is_fixed): Moved to
- dbus/dbus-signature.c as dbus_type_is_fixed.
-
- All callers updated.
-
- * dbus/dbus-signature.c (dbus_type_is_fixed): Moved here
- from dbus/dbus-marshal-basic.c:_dbus_type_is_fixed.
-
- * dbus/dbus-signature.h: Prototype.
-
- * glib/dbus-binding-tool-glib.c (compute_marshaller_name): Fix
- error printf code.
-
- * test/glib/test-dbus-glib.c (main): Be sure to clear error as
- appropriate instead of just freeing it.
- (main): Free returned strings using g_free.
-
- * test/glib/Makefile.am (test-service-glib-glue.h)
- (test-service-glib-bindings.h): Add dependency on dbus-binding-tool.
-
- * glib/dbus-gvalue.c (MAP_BASIC): Refactored from MAP_BASIC_INIT;
- simply maps a simple D-BUS type to GType.
- (dbus_dbus_type_to_gtype): Function which maps D-BUS type to
- GType.
- (dbus_gvalue_init): Just invoke dbus_dbus_type_to_gtype and
- initialize the value with it.
- (dbus_gvalue_binding_type_from_type): Unused, delete.
- (dbus_gvalue_demarshal): Switch to hardcoding demarshalling for
- various types instead of unmarshalling to value data directly.
- Remove can_convert boolean.
- (dbus_gvalue_marshal): Remove duplicate initialization; switch to
- returning directly instead of using can_convert boolean.
- (dbus_gvalue_store): New function; not related to D-BUS per-se.
- Stores a GValue in a pointer to a value of its corresponding C
- type.
-
- * glib/dbus-gvalue.h: Remove dbus_gvalue_binding_type_from_type,
- add dbus_gvalue_store.
-
-2005-03-08 Joe Shaw <joeshaw@novell.com>
-
- Fix a bunch of lifecycle and memory management problems
- in the mono bindings.
-
- * mono/Arguments.cs (Arguments): Implement IDisposable
-
- * mono/Bus.cs (Bus): Don't allow public instantiation. This is
- strictly a static class.
-
- * mono/Connection.cs: Move the DBusObjectPathVTable and associated
- delegates into this file.
- (Connection): Implement IDisposable.
- (Dispose): Disconnect the connection and set the raw connection
- pointer to IntPtr.Zero.
- (~Connection): Call Dispose().
- (RegisterObjectPath): Added. Manages the registration of object
- paths so we can cleanly disconnect them at dispose/finalize time.
- (UnregisterObjectPath): Ditto.
- (set_RawConnection): Unregister all of the object paths when
- changing the underlying DBusConnection. Add them back onto the
- new connection, if any.
-
- * mono/Handler.cs: Don't implement IDisposable; it doesn't use any
- more unmanaged resources anymore, so it's not necessary. Move all
- the DBusObjectPathVTable stuff out of here.
- (Handler): Save references to our delegates so that they don't get
- finalized. Call Connection.RegisterObjectPath() instead of
- dbus_connection_register_object_path() directly.
- (Message_Called): Dispose the message after we're finished with
- it.
-
- * mono/Message.cs (Message): Implement IDisposable.
- (Dispose): Dispose the Arguments, and set the RawMessage to
- IntPtr.Zero.
- (SendWithReplyAndBlock): We own the ref to the reply that comes
- back from dbus_connection_send_with_reply_and_block() so add a
- comment about that and unref it after we've constructed a managed
- MethodReturn class around it. Fixes a big, big leak.
-
- * mono/ProxyBuilder.cs: Reflect into Message to get the Dispose
- method.
- (BuildSignalHandler): After we've sent the Signal message, dispose
- of it.
- (BuildMethod): Dispose of the method call and reply messages after
- we've sent the message and extracted the data we want from the
- reply.
-
- * mono/Service.cs (UnregisterObject): Don't call handler.Dispose()
- anymore.
- (Service_FilterCalled): Dispose of the message after we're
- finished with it.
-
-2005-03-08 Joe Shaw <joeshaw@novell.com>
-
- * dbus/dbus-connection.c (dbus_connection_send_with_reply):
- After we attach our pending call to the connection, unref
- it. Fixes a leak.
-
- * mono/Connection.cs (set_RawConnection): Disconnect our
- filter and match callbacks from the old connection and
- reconnect them to the new connection, if any.
-
- * mono/DBusType/Array.cs: "Code" is a static member, so
- don't use "this" to refer to it. Fix for stricter checking
- in Mono 1.1.4.
-
- * mono/DBusType/ObjectPath.cs (Append): Don't leak the
- object path that we pass into unmanaged code.
-
- * mono/DBusType/String.cs (Append): Don't leak the string
- that we pass into unmanged code.
-
-2005-03-07 John (J5) Palmieri <johnp@redhat.com>
- * NEWS: Update for 0.31
-
- * configure.in: Release 0.31
- add LT_CURRENT, LT_REVISION, LT_AGE for easy soname bumping
-
- * qt/Makefile.am: fixed build
-
- * dbus/Makefile.am: soname bump for libdbus
-
- * glib/Makefile.am: soname bump for libdbus-glib
-
-2005-03-05 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-sysdeps.c:
- (pseudorandom_generate_random_bytes_buffer): fix to have no return
- value
- (_dbus_generate_random_bytes_buffer): fix return value
-
- * dbus/dbus-sysdeps-util.c: s/GETPWNAME/GETPWNAM/ so configure
- checks actually work, from Tom Parker <fdo@tevp.net>
-
-2005-03-01 Colin Walters <walters@verbum.org>
-
- * test/glib/test-dbus-glib.c (lose, lose_gerror): Utility
- functions copied from dbus-glib-tool.c.
- (main): Convert lots of error code to use them.
- Also add some testing for introspection bits.
-
-2005-03-01 Colin Walters <walters@verbum.org>
-
- * doc/TODO: Remove introspection signature TODO.
-
-2005-02-27 Colin Walters <walters@verbum.org>
-
- * glib/dbus-gidl.c (property_info_get_type, arg_info_get_type):
- Change return value to const char * instead of int so we can do
- full signatures.
- (struct PropertyInfo, struct ArgInfo): Store char *.
- (property_info_new, arg_info_new): Update parameters, strdup.
- (property_info_unref, arg_info_unref): Free.
-
- * glib/dbus-gidl.h: Update prototypes.
-
- * glib/dbus-gparser.c (basic_type_from_string): Delete.
- (validate_signature): New function, just validates signature and
- sets GError.
- (parse_property, parse_arg): Invoke validate_signature. Store
- signature instead of just type code.
-
- * glib/dbus-gvalue.c (base_type_from_signature): New utility
- function to return a primary type for a signature, dropping
- information about types in container types.
- (dbus_gvalue_genmarshal_name_from_type)
- (dbus_gvalue_binding_type_from_type)
- (dbus_gvalue_ctype_from_type): Update to take full signature
- instead of type code.
- (dbus_gtype_to_dbus_type): Moved here from glib/dbus-gobject.c.
-
- * glib/dbus-gvalue.h: Update prototypes for above.
-
- * glib/dbus-gobject.c (gtype_to_dbus_type): Moved to
- glib/dbus-gvalue.c as dbus_gtype_to_dbus_type.
- (introspect_properties, introspect_signals, write_interface):
- Update to handle signatures, and remove usage of
- _dbus_gutils_type_to_string.
- (handle_introspect): Print out type codes instead of e.g. "string"
- in hardcoded introspection XML; also use x_AS_STRING constants
- instead of hardcoding in string.
-
- * glib/dbus-glib-tool.c (pretty_print): Handle signature change
- to string. Remove usage of _dbus_gutils_type_to_string.
-
- * glib/dbus-gutils.c (_dbus_gutils_type_to_string): Delete.
-
- * glib/dbus-gutils.h (_dbus_gutils_type_to_string): Update for
- deletion.
-
- * glib/dbus-binding-tool-glib.c (compute_marshaller)
- (compute_marshaller_name, generate_glue): Handle signature change
- to string.
- (write_formal_parameters, write_args_for_direction): Ditto, and
- remove FIXME.
-
- * tools/dbus-tree-view.c (type_to_string): Delete.
- (info_set_func_text): Update to print full signatures.
-
- * test/glib/test-service-glib.xml: Change types to new
- introspection format.
-
-2005-02-26 Havoc Pennington <hp@redhat.com>
-
- * doc/TODO: remove the "guid" item
-
- * test/glib/test-profile.c (no_bus_thread_func): use open_private
- (with_bus_thread_func): use open_private
-
- * dbus/dbus-connection.c (dbus_connection_open_private): new
- function that works like the old dbus_connection_open()
- (dbus_connection_open): now returns an existing connection if
- possible
-
- * dbus/dbus-server-unix.c (handle_new_client_fd_and_unlock): pass
- through the GUID to the transport
-
- * dbus/dbus-server.c (_dbus_server_init_base): keep around the
- GUID in hex-encoded form.
-
- * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
- pass GUID argument in to the transport
-
- * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): add
- guid argument
-
- * dbus/dbus-transport.c (_dbus_transport_init_base): add guid argument
-
- * dbus/dbus-auth.c (_dbus_auth_server_new): add guid argument
-
-2005-02-25 Havoc Pennington <hp@redhat.com>
-
- * doc/dbus-specification.xml: document the GUID thing
-
- * dbus/dbus-server.c (_dbus_server_init_base): initialize a
- globally unique ID for the server, and put a "guid=hexencoded"
- field in the address
-
- * dbus/dbus-bus.c: fix missing #include of dbus-threads-internal.h
-
- * dbus/dbus-message.c: ditto
-
- * dbus/dbus-dataslot.c: ditto
-
- * dbus/dbus-list.c: ditto
-
- * dbus/dbus-internals.h: wait, just include
- dbus-threads-internal.h here
-
- * dbus/dbus-string.c (_dbus_string_copy_to_buffer): move back for
- use in main library
-
- * dbus/dbus-sysdeps.c (_dbus_generate_random_bytes_buffer): new function
-
-2005-02-24 Colin Walters <walters@verbum.org>
-
- * test/glib/Makefile.am (EXTRA_DIST): Add test-service-glib.xml
-
-2005-02-24 John (J5) Palmieir <johnp@redhat.com>
-
- * glib/Makefile.am: added dbus-gobject.h to sources list
- so distcheck doesn't fail
-
-2005-02-24 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-server.c, dbus/dbus-server-unix.c: change semantics so
- you must disconnect before unref, since locking and other things
- are screwed up otherwise. Fix assorted other locking stuff.
-
- * dbus/dbus-signature.c (dbus_signature_iter_get_element_type):
- fix compilation
-
- * dbus/dbus-threads-internal.h: move the mutex/condvar wrappers
- into a private header and don't export from the library
-
- * throughout - call _dbus_thread_stuff vs. dbus_thread_stuff
-
-2005-02-24 Colin Walters <walters@verbum.org>
-
- * dbus/dbus-signature.c: New file; implements various functions
- related to type signatures. Includes an interator for parsing,
- validation functions.
- (dbus_type_is_basic): Moved here from
- dbus-marshal-basic.c:_dbus_type_is_basic.
- (dbus_type_is_container): Moved here from
- dbus-marshal-basic.c:_dbus_type_is_container.
-
- All callers of _dbus_type_is_container and _dbus_type_is_basic
- updated, and include dbus-signature.h.
-
- * dbus/dbus-signature.h: New file; prototypes for the above.
-
- * dbus/Makefile.am (DBUS_LIB_SOURCES): Add dbus-signature.c,
- dbus-signature.h.
-
- * dbus/dbus-marshal-basic.c (map_type_char_to_type): New utility
- function factored out of _dbus_first_type_in_signature.
- (_dbus_first_type_in_signature_c_str): New function; returns first
- type code for a type signature character.
-
- * dbus/dbus-marshal-basic.h: Prototype _dbus_first_type_in_signature_c_str,
- handle function moves.
-
- * dbus/dbus-marshal-recursive.h: Export _dbus_type_signature_next.
-
- * dbus/dbus-marshal-recursive.c (_dbus_type_signature_next): New
- function; skips to next complete type in type signature.
- Implemented using previous skip_one_complete_type. Now
- skip_one_complete_type just delegates to
- _dbus_type_signature_next.
-
- * dbus/dbus-marshal-basic.c (_dbus_type_is_basic): Moved
- to dbus-signature.c
- (_dbus_type_is_container): Ditto.
-
- * doc/dbus-specification.xml: Update introspection sample to
- use real type signatures.
-
- * dbus/dbus-test.h: Prototype signature test.
-
- * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Run
- signature tests.
-
- * dbus/dbus-protocol.h (DBUS_ERROR_INVALID_SIGNATURE): New error.
-
-2005-02-23 John (J5) Palmieri <johnp@redhat.com>
-
- * python/dbus_bindings.pyx.in (PendingCall::get_reply):
- s/dbus_pending_call_get_reply/dbus_pending_call_steal_reply
-
-2005-02-21 Colin Walters <walters@verbum.org>
-
- * dbus/dbus-test-main.c (main): Take optional specific test
- argument.
-
- * dbus/dbus-test.c (run_test): New function, runs a test function
- with no data directory.
- (run_data_test): Like above, but takes data directory.
- (dbus_internal_do_not_use_run_tests): Take
- specific test argument. Replace lots of cut n' paste code
- with run_test and run_data_test.
-
- * dbus/dbus-test.h: Update prototype for
- dbus_internal_do_not_use_run_tests.
-
-2005-02-20 Havoc Pennington <hp@redhat.com>
-
- Fix bugs reported by Daniel P. Berrange
-
- * dbus/dbus-server.c (_dbus_server_unref_unlocked): new function
- (protected_change_watch): new function
- (_dbus_server_toggle_watch, _dbus_server_remove_watch)
- (_dbus_server_add_watch): change to work like the
- dbus-connection.c equivalents; like those, probably kind of
- busted, but should at least mostly work for now
- (dbus_server_disconnect): drop the lock if we were already
- disconnected, patch from Daniel P. Berrange
-
- * dbus/dbus-server.c (_dbus_server_toggle_timeout)
- (_dbus_server_remove_timeout, _dbus_server_add_timeout): all the
- same stuff
-
- * doc/TODO: todo about unscrewing this mess
-
-2005-02-19 Colin Walters <walters@verbum.org>
-
- * glib/dbus-binding-tool-glib.c
- (dbus_binding_tool_output_glib_server): Fix iochannel refcounting.
-
- * glib/dbus-glib-tool.c: Include dbus-glib-tool.h, as well
- as errno.h and sys/stat.h.
- (lose): New function, prints error with
- newline and exits.
- (lose_gerror): Similar, but takes GError for message.
- (main): Add --output argument to specify output file to write to,
- instead of always printing to stdout. In this mode, determine
- timestamps on source files to see whether any are newer than the
- target file. If not, exit. Also convert a number of error
- messages to use lose (since it's shorter), and switch to using
- g_io_channel_shutdown.
-
-2005-02-19 Havoc Pennington <hp@redhat.com>
-
- * glib/dbus-gobject.c
- (_dbus_glib_marshal_dbus_message_to_gvalue_array): add docs
-
- * glib/dbus-glib.c: fix doxygen warnings
-
- * glib/dbus-gparser.c (parse_annotation): error if an annotation
- is found on an <arg>
-
-2005-02-17 Colin Walters <walters@verbum.org>
-
- * glib/dbus-gobject.h: Don't export
- _dbus_glib_marshal_dbus_message_to_gvalue_array.
-
- * glib/dbus-gobject.c (_dbus_glib_marshal_dbus_message_to_gvalue_array): Do rename.
- (invoke_object_method): Handle it.
-
- * glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller):
- Handle rename.
-
-2005-02-17 Colin Walters <walters@verbum.org>
-
- * bus/.cvsignore, doc/.cvsignore
- * test/data/valid-service-files/.cvsignore, test/glib/.cvsignore:
- Update.
-
-2005-02-17 Colin Walters <walters@verbum.org>
-
- * dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_DBUS):
- Rename to DBUS_SERVICE_DBUS.
- (DBUS_PATH_ORG_FREEDESKTOP_DBUS): Rename to DBUS_PATH_DBUS.
- (DBUS_PATH_ORG_FREEDESKTOP_LOCAL): Rename to DBUS_PATH_LOCAL.
- Change the value from "org.freedesktop.Local"
- to "org.freedesktop.DBus.Local".
- (DBUS_INTERFACE_ORG_FREEDESKTOP_DBUS): Rename to DBUS_INTERFACE_DBUS.
- (DBUS_INTERFACE_ORG_FREEDESKTOP_INTROSPECTABLE): Rename to
- DBUS_INTERFACE_INTROSPECTABLE.
- Change the value from "org.freedesktop.Introspectable"
- to "org.freedesktop.DBus.Introspectable".
- (DBUS_INTERFACE_ORG_FREEDESKTOP_PROPERTIES): Rename to
- DBUS_INTERFACE_PROPERTIES.
- Change the value from "org.freedesktop.Properties"
- to "org.freedesktop.DBus.Properties".
- (DBUS_INTERFACE_ORG_FREEDESKTOP_PEER): Rename to
- DBUS_INTERFACE_PEER.
- Change the value from "org.freedesktop.Peer"
- to "org.freedesktop.DBus.Peer".
- (DBUS_INTERFACE_ORG_FREEDESKTOP_LOCAL):
- DBUS_INTERFACE_LOCAL.
- Change the value from "org.freedesktop.Local"
- to "org.freedesktop.DBus.Local".
-
- All other users of those constants have been changed.
-
- * bus/driver.c (bus_driver_handle_introspect): Use constants.
-
- * glib/dbus-gobject.c (handle_introspect): Use constants.
-
- * doc/dbus-faq.xml, doc/dbus-specification.xml: Update for rename.
-
-2005-02-17 Colin Walters <walters@verbum.org>
-
- * glib/dbus-gparser.c (struct Parser): Add in_annotation boolean.
- (parse_node, parse_interface, parse_method, parse_signal)
- (parse_property, parse_annotation): Lose if we're currently in an
- annotation.
- (parse_annotation): New function.
- (parser_start_element, parser_end_element): Handle annotation.
- (parse_method, parse_interface): Remove support for c_name attribute,
- switch to annotations.
-
- * glib/dbus-gidl.h (interface_info_get_binding_names)
- (method_info_get_binding_names)
- (interface_info_get_binding_name, method_info_get_binding_name)
- (interface_info_set_binding_name, method_info_set_binding_name):
- Remove.
- (interface_info_get_annotations, method_info_get_annotations)
- (interface_info_get_annotation, method_info_get_annotation)
- (interface_info_add_annotation, method_info_add_annotation):
- Prototype.
-
- * glib/dbus-gidl.c (struct InterfaceInfo): Substitute "annotations"
- for "bindings".
- (struct MethodInfo): Ditto.
- Straightfoward conversion of binding methods into annotation methods
- as prototyped.
-
- * glib/dbus-glib-tool.c (pretty_print): Print annotations.
-
- * glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_C_SYMBOL): Define.
-
- * glib/dbus-binding-tool-glib.c (gather_marshallers, generate_glue):
- Use new annotation API.
-
- * doc/introspect.dtd: Fix a number of DTD syntax errors. Add
- annotation element.
-
- * doc/dbus-specification.xml: Discuss introspection annotations,
- include list of well-known annotations.
-
- * test/glib/test-service-glib.xml: Make validate against new DTD.
-
-2005-02-17 Colin Walters <walters@verbum.org>
-
- This patch is based on initial work from
- Paul Kuliniewicz <kuliniew@purdue.edu>.
-
- * glib/dbus-gvalue.c (dbus_gvalue_init): New function; move
- initialization of GValue from dbus type to here.
- (dbus_gvalue_genmarshal_name_from_type): New function; generates a string
- for the "glib-genmarshal" program from a DBus type.
- (dbus_gvalue_binding_type_from_type): New function; turns a DBus type
- into the C name for it we use in the glib bindings.
- (dbus_gvalue_ctype_from_type): New function; maps a DBus type into a
- glib C type (not GValue).
- (dbus_gvalue_demarshal): invoke dbus_gvalue_init.
-
- * glib/dbus-gutils.c (_dbus_gutils_wincaps_to_uscore): Moved here
- from dbus-gobject.c.
-
- * glib/dbus-gutils.h: Prototype it.
-
- * glib/dbus-gproxy.c: Include new dbus-gobject.h.
- (marshal_dbus_message_to_g_marshaller): Use new shared function
- dbus_glib_marshal_dbus_message_to_gvalue_array.
-
- * glib/dbus-gparser.c (parse_interface, parse_method): Handle c_name attribute.
- Will be changed once we have annotations.
-
- * glib/dbus-gobject.c: Change info_hash_mutex from GStaticMutex to
- GStaticRWLock. Callers updated.
- (wincaps_to_uscore): Move to dbus-gutils.c. Callers updated.
- (string_table_next): New function for iterating over zero-terminated
- string value array.
- (string_table_lookup): New function; retrieves specific entry in
- array.
- (get_method_data): New function; look up method data in object data chunk.
- (object_error_domain_prefix_from_object_info)
- (object_error_code_from_object_info): New functions, but not implemented yet.
- (method_interface_from_object_info): New function; retrieve interface name.
- (method_name_from_object_info): New function; retrieve method name.
- (method_arg_info_from_object_info): New function; retrieve argument data.
- (arg_iterate): New function; iterates over serialized argument data.
- (method_dir_signature_from_object_info): New function; returns a
- GString holding type signature for arguments for just one
- direction (input or output).
- (method_input_signature_from_object_info)
- (method_output_signature_from_object_info): New functions.
- (dbus_glib_marshal_dbus_message_to_gvalue_array): New shared function;
- converts dbus message arguments into a GValue array. Used for both
- signal handling and method invocation.
- (struct DBusGlibWriteIterfaceData): New utility structure.
- (write_interface): New function; generate introspection XML for
- an interface.
- (introspect_interfaces): New function; gathers all interface->methods,
- generates introspection XML for them.
- (handle_introspect): Invoke introspect_interfaces.
- (get_object_property): Be sure to zero-initalize stack-allocated GValue.
- (lookup_object_and_method): New function; examines an incoming message
- and attempts to match it up (via interface, method name, and argument
- signature) with a known object and method.
- (gerror_domaincode_to_dbus_error_name): New function; converts a
- GError domain and code into a DBus error name. Needs GError data
- added to object introspection to work well.
- (gerror_to_dbus_error_message): Creates a DBusMessage error return from
- GError.
- (invoke_object_method): New function to invoke an object method
- looked up via lookup_object_and_method. Parses the incoming
- message, turns it into a GValue array, then invokes the marshaller
- specified in the DBusGMethodInfo. Creates a new message with
- either return values or error message as appropriate.
- (gobject_message_function): Invoke lookup_object_and_method and
- invoke_object_method.
-
- * glib/dbus-glib-tool.c: Include dbus-binding-tool-glib.h.
- (enum DBusBindingOutputMode): New enum for binding output modes.
- (pretty_print): Print binding names.
- (dbus_binding_tool_error_quark): GError bits.
- (version): Fix typo.
- (main): Create GIOChannel for output. Parse new --mode argument,
- possible values are "pretty-print", "glib-server", "glib-client".
- Use mode to invoke appropriate function.
-
- * glib/dbus-gobject.h: Prototype dbus_glib_marshal_dbus_message_to_gvalue_array.
-
- * glib/dbus-glib-tool.h: New header, just includes GError bits
- for now.
-
- * glib/dbus-gidl.c (struct InterfaceInfo): Add bindings hashtable;
- maps binding style to name.
- (struct MethodInfo): Ditto.
- (get_hash_keys, get_hash_key): Utility function, returns keys for
- a GHashTable.
- (interface_info_new, method_info_new): Initialize bindings.
- (interface_info_unref, method_info_unref): Destroy bindings.
- (method_info_get_binding_names, method_info_get_binding_name)
- (interface_info_get_binding_names, interface_info_get_binding_name):
- Functions for retrieving binding names.
- (method_info_set_binding_name, interface_info_set_binding_name):
- Functions for setting binding names.
-
- * glib/dbus-binding-tool-glib.h: New file, has prototypes
- for glib binding generation.
-
- * glib/dbus-binding-tool-glib.c: New file, implements server-side
- and client-side glib glue generation.
-
- * glib/Makefile.am (dbus_binding_tool_SOURCES): Add
- dbus-binding-tool-glib.c, dbus-binding-tool-glib.h,
- dbus-glib-tool.h.
-
- * dbus/dbus-glib.h (struct DBusGMethodMarshaller): Remove in favor
- of using GClosureMarshal directly.
- (struct DBusGObjectInfo): Add n_infos member.
-
- * test/glib/test-service-glib.xml: New file; contains introspection data
- for MyTestObject used in test-service-glib.c.
-
- * test/glib/test-service-glib.c (enum MyObjectError): New GError enum.
- (my_object_do_nothing, my_object_increment, my_object_throw_error)
- (my_object_uppercase, my_object_many_args): New test methods.
- (main): Use dbus_g_object_class_install_info to include generated object
- info.
-
- * test/glib/Makefile.am: Generate server-side glue for test-service-glib.c,
- as well as client-side bindings.
-
- * test/glib/test-dbus-glib.c: Include test-service-glib-bindings.h.
- (main): Activate TestSuiteGLibService; test invoke a bunch of its methods
- using both the dbus_gproxy stuff directly as well as the generated bindings.
-
-2005-02-15 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-connection.c (dbus_connection_dispatch): always
- complete a pending call, don't run filters first.
-
- * glib/dbus-gproxy.c (dbus_g_proxy_end_call): change to use
- dbus_pending_call_steal_reply
-
- * dbus/dbus-pending-call.c (dbus_pending_call_block): just call
- _dbus_connection_block_pending_call
- (dbus_pending_call_get_reply): change to steal_reply and return a
- ref
-
- * dbus/dbus-connection.c
- (dbus_connection_send_with_reply_and_block): port to work in terms
- of DBusPendingCall
- (_dbus_connection_block_pending_call): replace block_for_reply
- with this
-
-2005-02-14 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-userdb-util.c (_dbus_user_database_lookup_group):
- properly handle looking up group information by name; fix
- from j@bootlab.org
-
-2005-02-13 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-connection.c (dbus_connection_return_message)
- (dbus_connection_borrow_message): hold dispatch lock while message
- is outstanding
- (_dbus_connection_block_for_reply): hold dispatch lock while we
- block for the reply, so nobody steals our reply
- (dbus_connection_pop_message): hold the dispatch lock while we
- pluck the message
-
-2005-02-13 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-connection.c (_dbus_connection_acquire_dispatch)
- (_dbus_connection_release_dispatch)
- (_dbus_connection_acquire_io_path)
- (_dbus_connection_release_io_path): make the mutex and condvar
- control access to the "acquired" flag. Drop the connection lock
- while waiting on the condvar. Hopefully these are baby steps in
- roughly the right direction.
-
-2005-02-13 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-connection.c: use separate mutexes for the condition
- variables; this is some kind of baseline for sanity, but the
- condition variables still aren't used correctly afaict
-
-2005-02-13 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-object-tree.c (handle_default_introspect_and_unlock):
- fix a double-unlock
-
- * dbus/dbus-connection.c
- (_dbus_connection_detach_pending_call_unlocked): add this
-
- Initial semi-correct pass through to fix thread locking; there are
- still some issues with the condition variable paths I'm pretty
- sure
-
- * dbus/dbus-server.c: add a mutex on DBusServer and appropriate
- lock/unlock calls
-
- * dbus/dbus-connection.c (_dbus_connection_do_iteration_unlocked):
- rename to add _unlocked
- (struct DBusConnection): move "dispatch_acquired" and
- "io_path_acquired" to use only one bit each.
- (CONNECTION_LOCK, CONNECTION_UNLOCK): add checks with !DBUS_DISABLE_CHECKS
- (dbus_connection_set_watch_functions): hacky fix to reentrancy
- (_dbus_connection_add_watch, _dbus_connection_remove_watch)
- (_dbus_connection_toggle_watch, _dbus_connection_add_timeout)
- (_dbus_connection_remove_timeout)
- (_dbus_connection_toggle_timeout): drop lock when calling out to
- user functions; done in a hacky/bad way.
- (_dbus_connection_send_and_unlock): add a missing unlock
- (_dbus_connection_block_for_reply): add a missing unlock
-
- * dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
- drop lock in a hacky probably unsafe way to call out to user
- function
-
-2005-02-12 Havoc Pennington <hp@redhat.com>
-
- * tools/dbus-tree-view.c (info_set_func_text): display more
- details on args
-
- * bus/driver.c (bus_driver_handle_list_services): list the bus
- driver
-
- * glib/dbus-gparser.c (parse_arg): generate an arg name if none is supplied
-
- * glib/dbus-gidl.c (signal_info_get_n_args): new function
- (method_info_get_n_args): new function
-
-2005-02-12 Havoc Pennington <hp@redhat.com>
-
- * bus/driver.c (bus_driver_handle_introspect): add introspection
- for bus driver
-
-2005-02-12 Havoc Pennington <hp@redhat.com>
-
- * bus/driver.c: put the signature of each bus driver method in the
- table of handlers and check it on incoming calls; this isn't
- really useful, but going to add introspect support in a minute.
-
-2005-02-11 Joe Shaw <joeshaw@novell.com>
-
- * mono/Connection.cs: The unpredictability of finalizers in mono
- prevents us from deterministically disconnecting the filters from
- the Service class's finalizer, so move tracking of filters and
- matches here. Add API for that.
-
- * mono/Service.cs: Remove the code, add code which calls the
- methods now on the Connection class.
-
-2005-02-11 John (J5) Palmieri <johnp@redhat.com>
-
- * python/dbus.py (class Sender): added to support dbus signals better
- (Bus::add_signal_receiver): added expand_args parameter which defaults
- to True. When expand args is True the signal handler will pass the
- message arguments as parameters to the signal handler. If False
- revert to previous behavior where the signal handler must get the
- argument list from the message. This is to help port applications
- like HAL that have a tendancy to send variable length argument lists.
- self._match_rule_to_receivers is now a dict of dicts.
- (Bus::remove_signal_receiver): pop handler off the dict intead of
- removing it from a list
- (Bus::_signal_func): change signal handlers so that interface,
- signal_name, service, path and message are packed into a Sender
- object and that is passed to the handler. If expand_args is True
- extract the args list from the message and append it to the parameter
- list
-
- * python/dbus_bindings.pyx.in (class Signature): added to support
- signiature types
- (MessageIter::__init__): changed iteration limit to match D-BUS
- (MessageIter::get*): added INT16, UINT16, SIGNATURE, DICT_ENTRY,
- STRUCT and VARIENT type support
- (MessageIter::python_value_to_dbus_sig): made recursive to support
- recursive types
- (MessageIter::append*): added Signature, dict, tuple
- support
-
- * python/examples/example-client.py: added examples of getting tuples
- and dicts
-
- * python/examples/example-service.py: added examples of sending tuples
- and dicts
-
- * python/examples/example-signal-recipient.py: Fixed to handle new
- signal callback format
-
-2005-02-10 Havoc Pennington <hp@redhat.com>
-
- * test/glib/test-dbus-glib.c (main): fix so this test doesn't fail
- (call dbus_g_proxy_add_signal)
-
- * dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
- escape the hostname
- (_dbus_server_new_for_domain_socket): escape the path
-
- * dbus/dbus-address.c (dbus_address_escape_value): new
- (dbus_address_unescape_value): new
- (dbus_parse_address): unescape values
-
- * dbus/dbus-string.c (_dbus_string_append_byte_as_hex): new function
-
- * doc/dbus-specification.xml: explain how to escape values in
- addresses
-
-2005-02-10 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-message-factory.c (generate_special): modify test to
- avoid using a non-basic dict key
-
- * dbus/dbus-marshal-validate-util.c: add test for the below
-
- * doc/dbus-specification.xml: require that dict keys are a basic
- type
-
- * dbus/dbus-marshal-validate.c
- (_dbus_validate_signature_with_reason): require that dict key is a
- basic type
-
-2005-02-10 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-object-tree.c (handle_default_introspect_and_unlock):
- change to be _and_unlock instead of _unlocked
-
- * dbus/dbus-connection.c
- (_dbus_connection_send_preallocated_unlocked_no_update): rename to
- have no_update so we can find this bug quickly in future
-
-2005-02-10 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-message-util.c (verify_test_message): tests for string
- array
-
- * dbus/dbus-message.c (dbus_message_append_args_valist): add
- support for arrays of string/signature/path
-
-2005-02-10 Joe Shaw <joeshaw@novell.com>
-
- * dbus/dbus-connection.c
- (_dbus_connection_queue_received_message_link,
- _dbus_connection_message_sent): Add the path to
- the verbose output.
- (_dbus_connection_send_preallocated_and_unlock): Added. Calls
- _dbus_connection_send_preallocated_unlocked(), updated the
- dispatch status, and unlocks. Fixes a bug where certain
- situations (like a broken pipe) could cause a Disconnect message
- to not be sent, tricking the bus into thinking a service was still
- there when the process had quit.
- (_dbus_connection_send_preallocated): Call
- _dbus_connection_send_preallocated_and_unlock().
- (_dbus_connection_send_and_unlock): Added. Calls
- _dbus_connection_send_preallocated_and_unlock().
- (dbus_connection_send): Call _dbus_connection_send_and_unlock().
- (dbus_connection_send_with_reply): Update the dispatch status and
- unlock.
-
- * mono/Service.cs (~Service): Added. Removes the filter so that
- we don't get unmanaged code calling back into a GCed delegate.
- (RemoveFilter); Added.
-
-2005-02-09 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-message.c (dbus_message_iter_open_container):
- - Removed check for iterator type being an array because
- get_arg_type does not work with writer iterators
- - Pass NULL to _dbus_type_writer_recurse if signiture is NULL
-
-2005-02-07 Havoc Pennington <hp@redhat.com>
-
- * doc/dbus-specification.xml: some more language cleanups; add
- stuff about how to deal with invalid protocol and extension
- points; add _ to allowed chars in auth commands; add EXTENSION_
- auth command prefix
-
-2005-02-06 Havoc Pennington <hp@redhat.com>
-
- * s/expected/required/ in a couple places for clarity
-
-2005-02-07 Colin Walters <walters@verbum.org>
-
- * bus/selinux.c (bus_selinux_allows_send): Handle NULL for
- sender or proposed_recipient.
-
-2005-02-06 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-message-factory.c (generate_special): more tests
-
- * dbus/dbus-marshal-validate.c (validate_body_helper): detect
- array length that exceeds the maximum
-
-2005-02-05 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-message-factory.c (generate_special): more test cases,
- increasing coverage
-
- * dbus/dbus-marshal-validate.c (validate_body_helper): return the
- reason why a signature was invalid
-
- * dbus/dbus-marshal-header.c (load_and_validate_field): fix to
- skip the length of the string before we look at it in validation
-
- * dbus/dbus-string-util.c (_dbus_string_test): add tests for
- equal_substring
-
- * dbus/dbus-message.c (_dbus_message_loader_new): default
- max_message_length to DBUS_MAXIMUM_MESSAGE_LENGTH
-
-2005-02-05 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-marshal-validate.c (validate_body_helper): fix crash
- if the signature of a variant was empty
- (_dbus_validate_signature_with_reason): catch "(a)" (array inside
- struct with no element type)
-
- * dbus/dbus-message-factory.c (generate_uint32_changed): add more
- mangled messages to break things
-
-2005-02-04 Havoc Pennington <hp@redhat.com>
-
- * glib/dbus-gproxy.c (dbus_g_proxy_disconnect_signal): use
- g_quark_try_string() so it actually can return 0
- (dbus_g_proxy_connect_signal): ditto
-
-2005-02-04 Havoc Pennington <hp@redhat.com>
-
- * glib/dbus-gproxy.c (dbus_g_proxy_emit_remote_signal): fix a
- bogus warning
- (tristring_from_message): assert cleanly on null path/interface
- (should not be possible though I decided later)
- (dbus_g_proxy_dispose): move proxy manager unregistration here
- (DBUS_G_PROXY_DESTROYED): add this macro, and use it in a bunch of
- g_return_if_fail() checks
-
-2005-02-04 Havoc Pennington <hp@redhat.com>
-
- * doc/Makefile.am (EXTRA_DIST): add DTDs to makefile
-
- * doc/introspect.dtd: add introspect.dtd from David A. Wheeler
- (with some minor changes)
-
- * doc/dbus-specification.xml: add deprecated attribute to
- introspection format
-
-2005-01-31 Havoc Pennington <hp@redhat.com>
-
- * glib/dbus-gproxy.c: rewrite how signals work again, this time I
- think it's sort of right
-
-2005-01-30 Havoc Pennington <hp@redhat.com>
-
- * tools/dbus-viewer.c: kind of half-ass hook up the option menu.
-
-2005-01-30 Havoc Pennington <hp@redhat.com>
-
- * tools/dbus-names-model.c: dynamically watch NameOwnerChanged
-
- * autogen.sh: change to autotools 1.9
-
- * glib/dbus-gproxy.c: completely change how signals work
- (dbus_g_proxy_add_signal): new function to specify signature of a
- signal
- (dbus_g_proxy_emit_received): marshal the dbus message to GValues,
- and g_warning if the incoming message has the wrong signature.
-
-2005-01-30 Havoc Pennington <hp@redhat.com>
-
- * tools/dbus-names-model.c (have_names_notify): fix this
-
- * dbus/dbus-message.c (_dbus_message_iter_get_args_valist): clean
- up the string array handling a bit
-
-2005-01-30 Havoc Pennington <hp@redhat.com>
-
- * glib/dbus-glib.c (dbus_g_pending_call_set_notify): new function
- (dbus_g_pending_call_cancel): new function
-
- * dbus/dbus-glib.h: move GType decls for connection/message here;
- * dbus/dbus-glib.c: move all the g_type and ref/unref stuff in
- here, just kind of rationalizing how we handle all that
-
- * tools/dbus-names-model.c: new file for a tree model listing the
- services on a bus
-
- * tools/dbus-tree-view.c (model_new): use proper typing on the
- model rows
-
-2005-01-30 Havoc Pennington <hp@redhat.com>
-
- * glib/dbus-gmain.c: add a custom GSource back that just checks
- whether the message queue has anything in it; otherwise, there are
- cases where we won't see messages in the queue since there was no
- IO visible to the glib main loop
-
- * dbus/dbus-connection-internal.h (_DBUS_DEFAULT_TIMEOUT_VALUE):
- increase default message timeout to 25 seconds
-
-2005-01-30 Havoc Pennington <hp@redhat.com>
-
- * test/glib/test-profile.c (no_bus_stop_server): remove the
- warning about the g_warning that I just fixed
-
- * glib/dbus-gmain.c: rewrite the main loop stuff to avoid the
- custom source, seems to be a lot easier to understand and work
- better.
-
-2005-01-30 Havoc Pennington <hp@redhat.com>
-
- I think this main loop thing is conceptually broken, but here are
- some band aids. I'll maybe rewrite it in a minute.
-
- * glib/dbus-gmain.c (add_timeout): timeout stuff doesn't use the
- custom GSource, so don't pass it in; confusing
- (gsource_server_finalize, gsource_connection_finalize): add
- finalize handlers that remove all the watches.
-
-2005-01-30 Havoc Pennington <hp@redhat.com>
-
- * glib/dbus-gobject.c (introspect_properties): fix the XML
- generated
-
- * dbus/dbus-message.c (dbus_message_unref): add an in_cache flag
- which effectively detects the use of freed messages
-
- * glib/dbus-gobject.c (handle_introspect): modify and return the
- reply message instead of the incoming message
-
- * dbus/dbus-object-tree.c (handle_default_introspect_unlocked):
- gee, maybe it should SEND THE XML instead of just making a string
- and freeing it again ;-)
-
- * tools/dbus-print-message.c (print_message): improve printing of
- messages
-
- * configure.in: add debug-glib.service to the output
-
-2005-01-30 Havoc Pennington <hp@redhat.com>
-
- dbus-viewer introspected and displayed the bus driver
-
- * dbus/dbus-object-tree.c
- (object_tree_test_iteration): add tests for a handler registered on "/"
-
- * dbus/dbus-object-tree.c
- (_dbus_decompose_path): fix to handle path "/" properly
- (run_decompose_tests): add tests for path decomposition
-
- * glib/dbus-gutils.c (_dbus_gutils_split_path): fix to handle "/"
- properly
-
- * glib/dbus-gobject.c (handle_introspect): fix quotes
-
- * test/glib/run-test.sh: support launching the bus, then running
- dbus-viewer
-
- * test/glib/test-service-glib.c (main): put in a trivial gobject
- subclass and register it on the connection
-
- * bus/driver.c (bus_driver_handle_introspect): implement
- introspection of the bus driver service
-
- * dbus/dbus-protocol.h: add #defines for the XML namespace,
- identifiers, doctype decl
-
- * bus/driver.c (bus_driver_handle_get_service_owner): handle
- attempts to get owner of DBUS_SERVICE_ORG_FREEDESKTOP_DBUS by
- returning the service unchanged.
- (bus_driver_handle_message): remove old check for reply_serial in
- method calls, now the message type deals with that
- (bus_driver_handle_message): handle NULL interface
-
- * glib/dbus-gproxy.c (dbus_g_proxy_get_bus_name): new function
-
- * glib/dbus-gloader-expat.c (description_load_from_string): allow
- -1 for len
-
- * tools/dbus-viewer.c: add support for introspecting a service on
- a bus
-
- * glib/dbus-gproxy.c (dbus_g_pending_call_ref): add
- (dbus_g_pending_call_unref): add
-
-2005-01-29 Havoc Pennington <hp@redhat.com>
-
- * tools/dbus-tree-view.c: add support for displaying properties.
- (run dbus-viewer with an introspect xml file as arg, then resize
- the window so the tree elements show up, not sure what that is)
-
- * glib/dbus-gobject.c (handle_introspect): return
- org.freedesktop.Properties and org.freedesktop.Introspectable
- interfaces when we are introspected.
-
- * doc/dbus-specification.xml: allow empty interface name when
- Get/Set a property
-
-2005-01-29 Havoc Pennington <hp@redhat.com>
-
- * glib/Makefile.am: rename dbus-glib-tool to dbus-binding-tool;
- though it uses glib, it could be extended for any binding in
- principle
-
- * glib/dbus-gobject.c (gobject_message_function): change to the
- new way properties work
-
- * dbus/dbus-protocol.h: add the new interfaces
-
- * doc/dbus-specification.xml: document the introspection format,
- Introspectable interface, and add an org.freedesktop.Properties
- interface.
-
- * glib/dbus-gparser.c: add support for a <property> element
-
- * glib/dbus-gidl.c: add PropertyInfo
-
- * glib/dbus-gobject.c (handle_introspect): put the outermost
- <node> outside the signal and property descriptions.
- (introspect_properties): export properties as <property> rather
- than as method calls
-
-2005-01-28 Havoc Pennington <hp@redhat.com>
-
- * doc/TODO, doc/dbus-specification.xml: spec and TODO tweaks
- related to authentication protocol
-
-2005-01-28 John (J5) Palmieri <johnp@redhat.com>
-
- * python/dbus_bindings.pyx.in: Updated to handle new D-BUS type system
- - BUS_ACTIVATION -> BUS_STARTER
- - DBUS_BUS_ACTIVATION -> DBUS_BUS_STARTER
- - class MessageIter (__init__): Added recursion checking
- so we throw a nice error instead of just disconnecting from the
- bus.
- (get): Added arg_type parameter for recursion.
- Removed the nil type
- Added signiture type placeholder (not implemented)
- Added struct type placeholder (not implemented)
- Added varient type placeholder (not implemented)
- Commented out dict type for now
- (get_element_type): renamed from get_array_type
- (get_*): changed to use the dbus_message_iter_get_basic API
- (get_*_array): removed in favor of recursive get_array method
- (get_array): new recursive method which calls get to marshal
- the elements of the array
- (value_to_dbus_sig): New method returns the corrasponding
- dbus signiture to a python value
- (append): Comment out dict handling for now
- Handle lists with the new recursive API
- Comment out None handling for now
- (append_nil): removed
- (append_*): changed to use dbus_message_iter_append_basic API
- (append_*_array): removed in favor of recursive append_array
- method
- (__str__): Make it easier to print out recursive iterators
- for debugging
- - class Message (__str__): moved type inspection to the
- MessageIter class' __str__ method
- (get_iter): Added an append parameter wich defaults to False
- If True use the new API's to create an append iterator
-
- * python/dbus.py: Update to use new bindings API
- - TYPE_ACTIVATION -> TYPE_STARTER
- - class Bus (_get_match_rule): GetServiceOwner -> GetNameOwner
- - class ActivationBus -> class StarterBus
- - class RemoteObject (__call__): get an append iterator
- - (_dispatch_dbus_method_call): get an append iterator
- - class Object (emit_signal): get an append iterator
-
- * python/examples/: Fixed up the examples to work with the new API
-
-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 &gt;
-
- * 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
- has been bouncing for some time. Also add J5.
-
-2004-10-21 Colin Walters <walters@verbum.org>
-
- * dbus/dbus-transport-unix.c (do_authentication): Return
- authentication status to callers.
- (unix_handle_watch): If we completed authentication this round,
- don't do another read. Instead wait until the next iteration,
- after we've read any pending data in the auth buffer.
- (unix_do_iteration): Ditto.
- (unix_handle_watch): Updated for new do_authentication prototype.
-
-2004-10-18 Colin Walters <walters@verbum.org>
-
- * bus/selinux.c (bus_selinux_enabled): Handle
- --disable-selinux case.
-
-2004-10-18 Colin Walters <walters@verbum.org>
-
- * bus/selinux.h: Add bus_selinux_enabled.
-
- * bus/selinux.c (bus_selinux_enabled): Implement it.
-
- * bus/config-parser.c (struct include): Add
- if_selinux_enabled member.
- (start_busconfig_child): Parse if_selinux_enabled
- attribute for include.
- (bus_config_parser_content): Handle it.
-
- * bus/session.conf.in, bus/system.conf.in: Add
- inclusion of context mapping to default config files;
- conditional on SELinux being enabled.
-
- * doc/busconfig.dtd: Add to if_selinux_enabled to default DTD.
-
- * test/data/invalid-config-files/badselinux-1.conf,
- test/data/invalid-config-files/badselinux-2.conf:
- Test files for bad syntax.
-
-2004-10-17 Colin Walters <walters@verbum.org>
-
- * dbus/dbus-memory.c (_dbus_initialize_malloc_debug, check_guards)
- (dbus_malloc, dbus_malloc0, dbus_realloc): Fix up printf
- format specifier mismatches.
-
-2004-10-07 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * dbus/dbus-sysdeps.c (_dbus_file_get_contents): fix an incorrect
- format string.
-
- * glib/dbus-dbus-gmain.c (dbus_g_bus_get): do not mangle NULL
- pointer (bug #1540, Leonardo Boiko).
-
-2004-09-28 Jon Trowbridge <trow@ximian.com>
-
- * mono/BusDriver.cs: Changed BusDriver struct to remove
- the ServiceCreated and ServiceDeleted events and replace them
- with the new ServiceOwnerChanged event.
-
- * mono/example/BusListener.cs: Added a new example program,
- which listens for and reports any ServiceOwnerChanged events
- on the bus driver.
-
- * mono/example/Makefile.am (DESTDIR): Build changes for the
- new BusListener.cs example.
-
-2004-09-27 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * bus/signals.c (bus_match_rule_parse): validate the components of
- match rules (bug #1439).
-
- * dbus/dbus-bus.c (dbus_bus_add_match): add a missing OOM test.
-
-2004-09-24 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * doc/dbus-specification.xml: document ServiceOwnerChanged
- signal.
-
- * bus/driver.c, bus/driver.h, bus/services.c: Use
- ServiceOwnerChanged signal instead of ServiceCreated and
- ServiceDeleted.
-
- * bus/dispatch.c: update testcase for the new signal.
-
-2004-09-20 Jon Trowbridge <trow@ximian.com>
-
- Patch from Nat Friedman <nat@novell.com>
-
- * mono/Makefile.am: A number of small build fixes to allow "make
- distcheck" to succeed.
-
- * mono/example/Makefile.am: "make distcheck" fixes.
-
- * mono/AssemblyInfo.cs.in: When signing the assembly, look for the
- key in @srcdir@.
-
- * test/Makefile.am: "make distcheck" fixes.
-
-2004-09-17 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * dbus/dbus-sysdeps.c (_dbus_user_at_console): fix memleak in OOM.
-
- * doc/busconfig.dtd: update the DTD for the at_console attribute.
-
- * bus/driver.c (bus_driver_handle_hello): correctly handle Hello
- messages after the first one (bug #1389).
-
- * bus/dispatch.c (check_double_hello_message): add a test case for
- the double hello message bug.
- (check_existent_service_activation): fix check of spawning error.
-
-2004-09-16 David Zeuthen <david@fubar.dk>
-
- * python/dbus_bindings.pyx.in: Add support for int64 and uint64
-
-2004-09-12 David Zeuthen <david@fubar.dk>
-
- Patch from Kay Sievers <kay.sievers@vrfy.org>
-
- * bus/bus.c (bus_context_new):
- * bus/bus.h:
- * bus/main.c (usage)
- (main):
- Add commandline option --nofork to override configuration file
- setting.
-
-2004-09-09 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * dbus/dbus-*.h: remove the ; after DBUS_(BEGIN|END)_DECLS. Some C
- compilers don't like it (bug #974).
-
-2004-09-04 Harald Fernengel <harry@kdevelop.org>
-
- * qt/connection.*: Applied patch by Jérôme Lodewyck
- <lodewyck@clipper.ens.fr> to integrate an existing
- connection into the Qt eventloop
-
-2004-08-30 Jon Trowbridge <trow@ximian.com>
-
- * mono/BusDriver.cs: Added. This is a class for interacting with
- the org.freedesktop.DBus service.
-
- * mono/Message.cs: Added a mechanism to expose the message that is
- currently being dispatched via the static Message.Current
- property. Added Message.Sender and Message.Destination
- properties.
-
- * mono/Handler.cs: Expose the dispatched message via
- Message.Current when handling method calls.
-
- * mono/Service.cs: Expose the dispatched message via
- Message.Current when handling signal emissions.
-
- * mono/Connection.cs: Bind dbus_bus_get_base_service via the
- Connection.BaseService property.
-
-2004-08-28 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-userdb.c (_dbus_is_console_user): remove unused variable
-
- More fixes from Steve Grubb
-
- * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix fd leak
- (_dbus_listen_tcp_socket): fix fd leak
-
- * dbus/dbus-spawn.c (read_pid, read_ints): move the "again:" for
- EINTR to a bit lower in the code
-
-2004-08-26 Jon Trowbridge <trow@ximian.com>
-
- * bus/driver.c (bus_driver_handle_service_exists): Respond with
- TRUE if we are inquiring about the existence of the built-in
- org.freedesktop.DBus service.
-
-2004-08-25 John Palmieri <johnp@redhat.com>
- * bus/config-parser.c:
- (struct PolicyType): Add POLICY_CONSOLE
- (struct Element.d.policy): s/gid_or_uid/gid_uid_or_at_console
- (start_busconfig_child): Sets up console element when
- <policy at_console=""> is encountered in a policy file
- (append_rule_from_element): Convert console elements to console
- rules.
-
- * bus/policy.c:
- (bus_policy_create_client_policy): Add console rules to the client
- policy based on if the client is at the console
- (bus_policy_append_console_rule): New function for adding a
- console rule to a policy
- (bus_policy_merge): Handle console rule merging
-
- * dbus/dbus-sysdeps.h: Added the DBUS_CONSOLE_DIR constant
- where we check for console user files
-
- * dbus/dbus-sysdeps.c:
- (_dbus_file_exists): New function which checks if the given
- file exists
- (_dbus_user_at_console): New function which does the system
- specific process of checking if the user is at the console
-
- * dbus/dbus-userdb.c:
- (_dbus_is_console_user): New function converts a UID to user name
- and then calls the system specific _dbus_user_at_console to
- see if the user is at the console and therefor a console user
-
-2004-08-25 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * bus/config-parser.c (set_limit):
- * bus/dbus-daemon-1.1.in:
- * test/data/valid-config-files/many-rules.conf: set the
- max_match_rules_per_connection limt from the config file.
-
- * doc/busconfig.dtd: update the DTD.
-
- * bus/driver.c: remove some unused variables.
-
-2004-08-24 Mikael Hallendal <micke@imendio.com>
-
- * dbus/dbus-glib-lowlevel.h: Removed dbus_bus_get_with_g_main since
- it's been replaced by dbus_g_bus_get
-
-2004-08-23 Colin Walters <walters@redhat.com>
-
- Updated SELinux support from Matthew Rickard <mjricka@epoch.ncsc.mil>
-
- * bus/selinux.h: Prototype bus_selinux_get_policy_root.
-
- * bus/selinux.c: Create a thread for policy reload notification.
- (bus_selinux_get_policy_root): Implement.
-
- * bus/config-parser.c (start_busconfig_child)
- (bus_config_parser_content): Support SELinux-root relative
- inclusion.
-
- * configure.in <HAVE_SELINUX>: Add -lpthread.
-
- * bus/test-main.c (test_pre_hook, test_post_hook): New.
- (test_post_hook): Move memory checking into here.
- (test_pre_hook, test_post_hook): Move SELinux checks in
- here, but conditional on a DBUS_TEST_SELINUX environment
- variable. Unfortunately we can't run the SELinux checks
- as a normal user, since they won't have any permissions
- for /selinux. So this will have to be tested manually
- for now, until we have virtualization for most of
- libselinux.
-
-2004-08-23 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-sysdeps.c (_dbus_change_identity): add setgroups() to
- drop supplementary groups, suggested by Steve Grubb
-
-2004-08-20 Colin Walters <walters@redhat.com>
-
- * bus/config-parser.c (start_busconfig_child): Remove some unused
- variables.
-
- * bus/selinux.c (bus_selinux_id_table_insert): Avoid compiler
- warning.
-
-2004-08-17 Joe Shaw <joeshaw@novell.com>
-
- * configure.in: If --enable-mono is passed in, if we can't find
- mono error out.
-
- * mono/Makefile.am: Use /gacutil to install assemblies into the
- GAC and not /root.
-
-2004-08-12 Havoc Pennington <hp@redhat.com>
-
- * NEWS: update for 0.22
-
- * configure.in: release 0.22
-
-2004-08-11 Colin Walters <walters@redhat.com>
-
- * tools/dbus-send.c (main, usage): Add --reply-timeout
- argument.
-
-2004-08-10 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * bus/bus.c (process_config_first_time_only): get rid of an unused
- DBusError that was causing a memoy leak (bug #989).
-
- * dbus/dbus-keyring.c, dbus/dbus-message.c:
- fix compilation on Solaris/Forte C (bug #974)
-
- * bus/main.c (main): plug two minuscule memleaks.
-
-2004-08-10 Havoc Pennington <hp@redhat.com>
-
- * doc/dbus-tutorial.xml: add some more info on GLib bindings
-
-2004-08-09 Havoc Pennington <hp@redhat.com>
-
- * COPYING: switch to Academic Free License version 2.1 instead of
- 2.0, to resolve complaints about patent termination clause.
-
-2004-07-31 John (J5) Palmieri <johnp@redhat.com>
-
- * README: added documentation for the --enable-python
- configure switch.
-
-2004-07-31 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * bus/config-parser.c (bus_config_parser_new): fix an invalid
- _unref in the SELinux support.
-
- * doc/busconfig.dtd: update DTD for SELinux support.
-
- * bus/config-loader-libxml.c: fix error handler and parser
- initialisation/cleanup. OOM test now works with libxml2 HEAD.
-
- * configure.in: remove the warning about libxml2.
-
- * dbus/dbus-bus.c: silence doxygen warning.
-
-2004-07-31 Colin Walters <walters@redhat.com>
-
- * configure.in: Move #error in SELinux check to its own line.
-
-2004-07-31 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * dbus/dbus-internals.h (_DBUS_SET_OOM):
- * bus/utils.h (BUS_SET_OOM): use dbus_error_set_const instead of
- dbus_error_set.
-
- * bus/dispatch.c (check_send_exit_to_service): fix the test case,
- broken by the change in the _SET_OOM macros.
-
-2004-07-31 Colin Walters <walters@redhat.com>
-
- * bus/selinux.c <HAVE_SELINUX>: Include utils.h to get
- BUS_SET_OOM.
-
-2004-07-31 Colin Walters <walters@redhat.com>
-
- * configure.in: Use AC_TRY_COMPILE instead of AC_EGREP_HEADER
- to correctly detect DBUS__ACQUIRE_SVC. Also add an
- AC_MSG_CHECKING.
-
-2004-07-24 Havoc Pennington <hp@redhat.com>
-
- SELinux support from Matthew Rickard <mjricka@epoch.ncsc.mil>
-
- * bus/selinux.c, bus/selinux.h: new file encapsulating selinux
- functionality
-
- * configure.in: add --enable-selinux
-
- * bus/policy.c (bus_policy_merge): add FIXME to a comment
-
- * bus/main.c (main): initialize and shut down selinux
-
- * bus/connection.c: store SELinux ID on each connection, to avoid
- repeated getting of the string context and converting it into
- an ID
-
- * bus/bus.c (bus_context_get_policy): new accessor, though it
- isn't used
- (bus_context_check_security_policy): check whether the security
- context of sender connection can send to the security context of
- recipient connection
-
- * bus/config-parser.c: add parsing for <selinux> and <associate>
-
- * dbus/dbus-transport.c (_dbus_transport_get_unix_fd): to
- implement dbus_connection_get_unix_fd()
-
- * dbus/dbus-connection.c (dbus_connection_get_unix_fd): new
- function, used by the selinux stuff
-
-2004-07-29 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * bus/config-loader-libxml.c: complete the implementation of
- libxml backend for config file loader. Doesn't work with full OOM
- test yet.
-
- * configure.in: change error when selecting libxml into a warning.
-
- * test/data/invalid-config-files: add two non-well-formed XML
- files.
-
- * glib/Makefile.am: libdbus_gtool always uses expat, not libxml.
-
- * dbus/dbus-transport-unix.c (unix_handle_watch): do not
- disconnect in case of DBUS_WATCH_HANGUP, several do_reading() may
- be necessary to read all the buffer. (bug #894)
-
- * bus/activation.c (bus_activation_activate_service): fix a
- potential assertion failure (bug #896). Small optimization in the
- case of auto-activation messages.
-
- * dbus/dbus-message.c (verify_test_message, _dbus_message_test):
- add test case for byte-through-vararg bug (#901). patch by Kimmo
- Hämäläinen.
-
-2004-07-28 Anders Carlsson <andersca@gnome.org>
-
- * python/dbus.py:
- * python/dbus_bindings.pyx.in:
- Add dbus.init_gthreads (), allow emit_signal to pass
- arguments to the signal.
-
-2004-07-24 Havoc Pennington <hp@redhat.com>
-
- * AUTHORS: add some people, not really comprehensively, let me
- know if I missed you
-
-2004-07-24 Havoc Pennington <hp@redhat.com>
-
- * Makefile.am (DIST_SUBDIRS): add DIST_SUBDIRS, problem solved by
- Owen
-
- * test/Makefile.am (DIST_SUBDIRS): here also
-
-2004-07-22 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * dbus/dbus-sysdeps.c (fill_user_info): fix inexistent label name,
- breaking build on Solaris, reported by Farhad Saberi on the ML.
-
- * dbus/dbus-message.c (dbus_message_append_args_valist): fix the
- va_arg invocation to account for integer promotion in the case of
- DBUS_TYPE_BYTE (unsigned char is promoted to int). (bug #901)
-
- * bus/services.c (bus_service_remove_owner): fix bug #902, use
- _dbus_list_get_first_link, not _dbus_list_get_first.
-
- * dbus/dbus-bus.c (dbus_bus_service_exists): plug a memory leak.
-
- * dbus/dbus-object-tree.c (free_subtree_recurse): always null
- handler functions so that the asserts in _dbus_object_subtree_unref
- do not fail.
-
- * dbus/dbus-transport-unix.c (do_reading):
- _dbus_transport_queue_messages return value is of type
- dbus_bool_t, not DBusDispatchStatus.
-
-2004-07-19 David Zeuthen <david@fubar.dk>
-
- * dbus/dbus-protocol.h: Add DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN
-
- * bus/dispatch.c:
- (check_get_connection_unix_user): Debug says GetProperty; but the
- method is called GetConnectionUnixUser
- (check_get_connection_unix_process_id): New function
- (bus_dispatch_test): Actually call check_get_connection_unix_user();
- also call check_get_connection_unix_process_id()
-
- * bus/driver.c:
- (bus_driver_handle_get_connection_unix_process_id): New function,
- handles GetConnectionUnixProcessID on the org.freedesktop.DBus
- interface
-
- * dbus/dbus-auth.c:
- (handle_server_data_external_mech): Set pid from the credentials
- obtained from the socket
-
- * dbus/dbus-connection.c:
- (dbus_connection_get_unix_process_id): New function
-
- * dbus/dbus-connection.h:
- Add prototype for dbus_connection_get_unix_process_id
-
- * dbus/dbus-transport.c:
- (_dbus_transport_get_unix_process_id): New function
-
- * dbus/dbus-transport.h:
- Add prototype for _dbus_transport_get_unix_process_id
-
-2004-07-19 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * dbus/dbus-message.c: Message counter fix, patch by Christian
- Hammond <chipx86@gnupdate.org>
-
-2004-07-18 Seth Nickell <seth@gnome.org>
-
- * python/dbus.py:
- * python/dbus_bindings.pyx.in:
- * python/tests/test-client.py:
-
- Add dbus.ByteArray and dbus_bindings.ByteArray
- types so that byte streams can be passed back.
-
- Give jdahlin the heaps of credit that are so
- rightfully his.
-
-2004-07-12 Seth Nickell <seth@gnome.org>
-
- * python/dbus.py:
-
- Add message argument to the default object_method_handler
- function.
-
- * python/dbus_bindings.pyx.in:
-
- Automatically return NIL when passed an empty list
- (we can't pass back a list since lists are typed
- and we don't have any idea what type the the client
- intended the list to be... :-( )
-
-2004-07-10 Seth Nickell <seth@gnome.org>
-
- * python/examples/Makefile.am:
-
- Fix distcheck breakage caused by new examples.
-
-2004-07-10 Seth Nickell <seth@gnome.org>
-
- * python/dbus.py:
-
- Add "message" argument to service-side dbus.Object
- methods. This will break existing services written
- using the python bindings, but will allow extraction
- of all the message information (e.g. who its from).
-
- Add improved "object oriented" signal handling/emission.
-
- * python/examples/example-service.py:
-
- Nix this example.
-
- * python/examples/example-signal-emitter.py:
- * python/examples/example-signal-recipient.py:
-
- Two new examples that show how to emit and receive
- signals using the new APIs.
-
- * python/examples/example-signals.py:
- * python/examples/gconf-proxy-service.py:
- * python/examples/gconf-proxy-service2.py:
-
- Add "message" argument to service methods.
-
-2004-06-28 Kay Sievers <kay.sievers@vrfy.org>
-
- * bus/driver.c (bus_driver_handle_get_connection_unix_user)
- * dbus/bus.c (dbus_bus_get_unix_user)
- * doc/dbus-specification.xml: implement GetConnectionUnixUser
- method of org.freedesktop.DBus interface.
-
- * bus/dispatch.c: test case
-
-2004-06-23 John (J5) Palmieri <johnp@redhat.com>
-
- * python/Makefile.am: switched include directory from glib/ to dbus/
- since dbus-glib.h moved
-
-2004-06-22 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * configure.in: prevent building the gcj stuff and libxml loader
- since they are broken.
-
-2004-06-20 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-glib-error-enum.h: autogenerate the GError enum
- codes from the dbus error names
-
- * glib/dbus-glib.h: move to subdir dbus/ since it's included
- as dbus/dbus-glib.h and that breakage is now visible due to
- including dbus/dbus-glib.h in dbus-glib-lowlevel.h
-
- * glib/dbus-glib.h: s/gproxy/g_proxy/
-
- * dbus/dbus-shared.h: new header to hold stuff shared with
- binding APIs
-
- * dbus/dbus-protocol.h (DBUS_ERROR_*): move errors here rather
- than dbus-errors.h
-
- * glib/dbus-glib.h (dbus_set_g_error): move to
- dbus-glib-lowlevel.h
-
- * glib/dbus-glib.h: remove dbus/dbus.h from here; change a bunch
- of stuff to enable this
-
- * dbus/dbus-glib-lowlevel.h: put dbus/dbus.h here
-
- * a bunch of other changes with the same basic "separate glib
- bindings from dbus.h" theme
-
-2004-06-10 Owen Fraser-Green <owen@discobabe.net>
-
- * dbus-sharp.pc.in: Removed glib-sharp inclusion in Libs.
-
- * python/examples/Makefile.am: Fixed typo in EXTRA_DIST.
-
-2004-06-09 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * bus/driver.c, dbus/dbus-bus.c: use BOOLEAN instead of UINT32 for
- the reply value of the ServiceExists message.
-
-2004-06-07 John (J5) Palmieri <johnp@redhat.com>
-
- * python/dbus_bindings.pyx.in: No longer need to parse path
- elements and pass them as arrays of strings. The C API now
- accepts plain path strings.
- (_build_parsed_path): removed
-
-2004-06-07 Havoc Pennington <hp@redhat.com>
-
- * doc/TODO: remove auto-activation item since it's done; sort
- items by importance/milestone
-
-2004-06-07 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-message-builder.c (_dbus_message_data_load): append
- random signature when using REQUIRED_FIELDS (this hack won't work
- in the long term)
-
- * dbus/dbus-message.c: change the signature to be a header field,
- instead of message->signature special-case string. Incremental
- step forward. Then we can fix up code to send the signature in the
- message, then fix up code to validate said signature, then fix up
- code to not put the typecodes inline, etc.
- (load_one_message): don't make up the signature after the fact
- (decode_header_data): require signature field for the known
- message types
-
- * dbus/dbus-marshal.c (_dbus_marshal_string_len): new
-
- * dbus/dbus-protocol.h: add DBUS_HEADER_FIELD_SIGNATURE
-
-2004-06-07 Owen Fraser-Green <owen@discobabe.net>
-
- * mono/DBusType/ObjectPath.cs: Renamed PathName argument to Path
-
- * mono/Handler.cs: Updated to follow new path argument for
- (un-)registering objects.
-
- * mono/example/Makefile.am:
- * mono/Makefile.am:
- * configure.in: Bumped required version for mono and use new -pkg
- syntax for deps
-
-2004-06-05 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * dbus/dbus-connection.h, dbus/dbus-connection.c: have object path
- registration functions take the path argument as char* instead of
- char**.
-
- * dbus/dbus-marshal.h, dbus/dbus-marshal.c (_dbus_decompose_path):
- split off the path decompostion part of
- _dbus_demarshal_object_path. Some misc. fixes to silence compiler
- warnings.
-
- * glib/dbus-gobject.c, test/test-service.c: update accordingly.
-
-2004-06-02 Kristian Høgsberg <krh@redhat.com>
-
- * dbus/dbus-auth.c: Rewrite auth protocol handling to use a state
- machine approach. A state is implemented as a function that
- handles incoming events as specified for that state.
-
- * doc/dbus-specification.xml: Update auth protocol state machine
- specification to match implementation. Remove some leftover
- base64 examples.
-
-2004-06-02 Kristian Høgsberg <krh@redhat.com>
-
- * glib/dbus-gproxy.c, glib/dbus-gmain.c, dbus/dbus-string.c,
- dbus/dbus-object-tree.c, dbus/dbus-message.c: add comments to
- quiet doxygen.
-
- * Doxyfile.in: remove deprecated options.
-
- * dbus/dbus-message-handler.c, dbus/dbus-message-handler.h,
- glib/test-thread.h, glib/test-thread-client.c,
- glib/test-thread-server.c, glib/test-profile.c,
- glib/test-dbus-glib.c: remove these unused files.
-
-2004-06-01 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * dbus/dbus-object-tree.c
- (_dbus_object_tree_dispatch_and_unlock): fix dispatch for
- non-fallback handlers (bug #684).
- (_dbus_object_subtree_new): initialize invoke_as_fallback field.
- (find_subtree_recurse): report wether the returned subtree is an
- exact match or a "fallback" match higher up in the tree.
- (object_tree_test_iteration): update test case.
-
-2004-06-01 Seth Nickell <seth@gnome.org>
-
- * python/dbus_bindings.pyx.in:
- * python/tests/test-client.py:
-
- Round off basic type support. Add dicts (yay!), and
- remaining array types.
-
- Make MessageIter more general so it works for dicts too.
-
- Mark all loop variables as C integers.
-
-2004-05-31 Havoc Pennington <hp@redhat.com>
-
- * glib/dbus-gidl.c (method_info_add_arg): keep args sorted with
- "in" before "out"
-
- * glib/dbus-gobject.c (dbus_type_to_string): move to dbus-gutils.c
-
- * glib/dbus-glib-tool.c (main): set up to have a --self-test
- option that runs the tests, and start filling in some code
- including for starters just dumping the interfaces to stdout
-
- * glib/Makefile.am (INCLUDES): define DBUS_LOCALEDIR
-
- * test/data/valid-introspection-files/lots-of-types.xml: test of
- an example introspection file
-
- * glib/dbus-gparser.c (parser_check_doctype): doctype should be
- "node" (I think...)
-
-2004-05-31 Seth Nickell <seth@gnome.org>
-
- * python/dbus_bindings.pyx.in:
- * python/tests/test-client.py:
-
- Test Suite: 1
- Python Bindings: 0
-
- Fix string array memory trashing bug... oops...
-
-2004-05-30 Seth Nickell <seth@gnome.org>
-
- * python/dbus.py:
-
- Add a nicer-but-less-flexible alternate API for handling
- calls to virtual objects in dbus.ObjectTree.
-
- Screw up the argument order to the dbus.Object constructor
- for consistency with dbus.ObjectTree (and to make dbus_methods
- optional for future extension)
-
- * python/examples/Makefile.am:
- * python/examples/gconf-proxy-service.py:
- * python/examples/gconf-proxy-service2.py:
-
- Alternate implementation of gconf-proxy-service using the
- nicer dbus.ObjectTree API.
-
- * python/examples/example-service.py:
- * python/tests/test-server.py
-
- Reverse the argument order to deal with dbus.Object constructor
- changes.
-
-2004-05-30 Seth Nickell <seth@gnome.org>
-
- * python/examples/example-client.py:
- * python/examples/example-service.py:
-
- Take it back. Lists seem to work but they're broken
- in the test suite. Make the base examples use
- lists (works fine).
-
-2004-05-30 Seth Nickell <seth@gnome.org>
-
- * python/dbus_bindings.pyx.in:
- * python/tests/test-client.py:
-
- Add some more tests and fix errors that crop up.
- Unfortunately, currently it seems like marshalling
- and unmarshalling of lists is completely broken :-(
-
-2004-05-30 Seth Nickell <seth@gnome.org>
-
- * python/dbus_bindings.pyx.in:
-
- Add support for ObjectPath type.
-
- * python/dbus.py:
-
- Refactor message handling code to a common function.
-
- * python/tests/test-client.py:
- * python/tests/test-server.py:
-
- Add tests that check to make sure values of all types
- can be echoed from a service w/o mangling.
-
-2004-05-29 Seth Nickell <seth@gnome.org>
-
- * python/dbus.py:
-
- Add ObjectTree class which allows implementation
- of trees of "virtual" objects. Basically the python
- wrapper for "register_fallback".
-
- * python/examples/Makefile.am
- * python/examples/gconf-proxy-client.py:
- * python/examples/gconf-proxy-service.py:
-
- Implement a simple GConf proxy service that supports
- get/set on string and int GConf keys using the ObjectTree.
-
-2004-05-29 Seth Nickell <seth@gnome.org>
-
- * python/dbus.py:
- * python/examples/example-client.py:
- * python/examples/example-service.py:
- * python/examples/list-system-services.py:
-
- Add SessionBus, SystemBus and ActivationBus classes
- so you don't need to know the special little BUS_TYPE
- flag.
-
-2004-05-29 Havoc Pennington <hp@redhat.com>
-
- * bus/config-parser.c (process_test_valid_subdir): temporarily
- stop testing config parser OOM handling, since expat has issues
- http://freedesktop.org/pipermail/dbus/2004-May/001153.html
-
- * bus/dbus-daemon-1.1.in: change requested_reply to
- send_requested_reply/receive_requested_reply so we can send the
- replies, not just receive them.
-
- * bus/config-parser.c: parse the new
- send_requested_reply/receive_requested_reply
-
- * bus/policy.c (bus_client_policy_check_can_send): add
- requested_reply argument and use it
-
- * bus/bus.c (bus_context_check_security_policy): pass through
- requested_reply status to message send check
-
- * bus/system.conf.in: adapt to requested_reply change
-
-2004-05-28 Havoc Pennington <hp@redhat.com>
-
- * test/glib/test-service-glib.c (main): remove unused variable
-
- * glib/dbus-gidl.c (base_info_ref): fix a silly compiler warning
-
- * dbus/dbus-auth.h (enum): remove AUTHENTICATED_WITH_UNUSED_BYTES
- from the enum, no longer in use.
-
- * dbus/dbus-sysdeps.h: include config.h so DBUS_VA_COPY actually
- works right.
-
- * dbus/dbus-message.c: add various _dbus_return_val_if_fail for
- whether error_name passed in is a valid error name.
-
-2004-05-28 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-message.c (dbus_message_get_args): Added support for
- OBJECT_PATH and OBJECT_PATH_ARRAY
-
-2004-05-28 Seth Nickell <seth@gnome.org>
-
- * python/examples/Makefile.am:
-
- Forget to add Makefile.am. Do not pass go.
-
-2004-05-28 Michael Meeks <michael@ximian.com>
-
- * glib/dbus-gvalue.c (dbus_gvalue_marshal, dbus_gvalue_demarshal):
- fix no int64 case.
-
- * dbus/dbus-string.c (_dbus_string_parse_basic_type): impl.
-
- * dbus/dbus-message.c (_dbus_message_iter_get_basic_type),
- (_dbus_message_iter_get_basic_type_array): impl.
- drastically simplify ~all relevant _get methods to use these.
- (_dbus_message_iter_append_basic_array),
- (dbus_message_iter_append_basic): impl
- drastically simplify ~all relevant _append methods to use these.
-
- * dbus/dbus-message-builder.c (parse_basic_type)
- (parse_basic_array, lookup_basic_type): impl.
- (_dbus_message_data_load): prune scads of duplicate /
- cut & paste coding.
-
- * dbus/dbus-marshal.c (_dbus_demarshal_basic_type_array)
- (_dbus_demarshal_basic_type): implement,
- (demarshal_and_validate_len/arg): beef up debug.
- (_dbus_marshal_basic_type, _dbus_marshal_basic_type_array): impl.
-
-2004-05-27 Seth Nickell <seth@gnome.org>
-
- * configure.in:
- * python/Makefile.am:
-
- Include the example python apps in the tarball.
-
- * python/examples/list-system-services.py
-
- Add a python new example that fetches the list of services
- from the system bus.
-
-2004-05-27 Seth Nickell <seth@gnome.org>
-
- * python/dbus.py:
- * python/dbus_bindings.pyx.in:
-
- Fix failure to notify that a signal was not handled,
- resulted in hung functions.
-
-2004-05-25 Colin Walters <walters@redhat.com>
-
- * tools/dbus-monitor.c (main): Monitor all types of messages.
-
-2004-05-23 Owen Fraser-Green <owen@discobabe.net>
-
- * mono/Handler.cs, mono/Service.cs: Added UnregisterObject method
- which unregisters the object path and disposes the handler.
-
-2004-05-23 Kristian Høgsberg <krh@redhat.com>
-
- Patch from Timo Teräs <ext-timo.teras@nokia.com> (#614):
-
- * dbus/dbus-message.c (dbus_message_iter_get_args_valist): Swap
- operands to && so we call dbus_message_iter_next () for the last
- argument also.
-
-2004-05-21 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * dbus/dbus-object-tree.c
- (_dbus_object_tree_list_registered_unlock, lookup_subtree): return
- children even if the requested path isn't registered.
- (object_tree_test_iteration): test object_tree_list_registered.
-
- * configure.in: undefine HAVE_ABSTRACT_SOCKETS instead of defining
- it to 0.
-
-2004-05-20 Kristian Høgsberg <krh@redhat.com>
-
- * doc/TODO: Remove resolved items.
-
- * bus/expirelist.h (struct BusExpireList): remove unused n_items
- field.
-
- * bus/connection.c (bus_connections_expect_reply): Enforce the
- per-connection limit on pending replies.
-
- Patch from Jon Trowbridge <trow@ximian.com>:
-
- * bus/main.c (setup_reload_pipe): Added. Creates a pipe and sets
- up a watch that triggers a config reload when one end of the pipe
- becomes readable.
- (signal_handler): Instead of doing the config reload in our SIGHUP
- handler, just write to the reload pipe and let the associated
- watch handle the reload when control returns to the main loop.
-
- * bus/driver.c (bus_driver_handle_reload_config): Added.
- Implements a ReloadConfig method for requesting a configuration
- file reload via the bus driver.
-
-2004-05-19 Owen Fraser-Green <owen@discobabe.net>
-
- * HACKING: Updated release instructions concerning the wiki page.
-
-2004-05-18 Kristian Høgsberg <krh@redhat.com>
-
- * dbus/dbus-auth.c (client_try_next_mechanism): Remove logic to
- filter against auth->allowed_mechs; we only add allowed mechs in
- record_mechanisms().
-
- * dbus/dbus-auth-script.c (_dbus_auth_script_run): Add an
- ALLOWED_MECHS to auth-script format so we can set the list of
- allowed mechanisms.
-
- * data/auth/client-out-of-mechanisms.auth-script: New test to
- check client disconnects when it is out of mechanisms to try.
-
- * dbus/dbus-auth.c (process_command): Remove check for lines
- longer that 1 MB; we only buffer up maximum 16 kB.
-
- * dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
- dbus/dbus-auth-script.c, dbus/dbus-auth.c, dbus/dbus-auth.h:
- Remove auth state AUTHENTICATED_WITH_UNUSED_BYTES, instead always
- assume there might be unused bytes.
-
- * dbus/dbus-auth.c (_dbus_auth_do_work): Remove check for
- client-out-of-mechs, it is handled in process_reject(). Move check
- for max failures to send_rejected(), as it's a server-only thing.
-
- * dbus/dbus-auth.c: Factor out protocol reply code into functions
- send_auth(), send_data(), send_rejected(), send_error(),
- send_ok(), send_begin() and send_cancel().
-
-2004-05-17 Kristian Høgsberg <krh@redhat.com>
-
- Remove base64 encoding, replace with hex encoding. Original patch
- from trow@ximian.com, added error handling.
-
- * dbus/dbus-string.c (_dbus_string_base64_encode)
- (_dbus_string_base64_decode): Remove.
- (_dbus_string_hex_decode): Add end_return argument so we can
- distinguish between OOM and invalid hex encoding.
- (_dbus_string_test): Remove base64 tests and add test case for
- invalid hex.
-
- * dbus/dbus-keyring.c, dbus/dbus-auth-script.c, dbus/dbus-auth.c:
- Replace base64 with hex.
-
- * test/data/auth/invalid-hex-encoding.auth-script: New test case
- for invalid hex encoded data in auth protocol.
-
-2004-05-17 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * dbus/dbus-connection.c (check_for_reply_unlocked): plug a memory
- leak.
-
-2004-05-15 Owen Fraser-Green <owen@discobabe.net>
-
- * mono/dbus-sharp.dll.config.in: Added for GAC
- * mono/dbus-sharp.snk: Added for GAC
- * mono/Assembly.cs.in: Added for GAC
- * mono/Makefile.am: Changes for GAC installation
- * configure.in: Added refs for dbus-sharp.dll.config.in and
- Assembly.cs.in. More fixes for mono testing
- * mono/example/Makefile.am: Changed var to CSC
- * Makefile.am: Changed flag name to DBUS_USE_CSC
-
-2004-05-15 Owen Fraser-Green <owen@discobabe.net>
-
- * mono/Makefile.am: Added SUBDIRS for docs. Changed SUBDIRS order
- * mono/doc/*: Added documentation framework
- * configure.in: Added monodoc check
- * README: Added description of mono configure flags
-
-2004-05-11 John (J5) Palmieri <johnp@redhat.com>:
-
- * doc/dbus-specification.xml: Added a "Required" column to the
- header fields table and changed the "zero or more" verbage in
- the above paragraph to read "The header must contain the required
- named header fields and zero or more of the optional named header
- fields".
- * test/data/invalid-messages/*.message: Added the required PATH
- named header field to the tests so that they don't fail on
- 'Missing path field'
-
-2004-05-07 John (J5) Palmieri <johnp@redhat.com>
-
- * python/dbus-bindings.pyx.in: Stopped the bindings from trashing
- the stack by implicitly defining variable and parameter types and
- removing the hack of defining C pointers as python objects and later
- casting them.
-
-2004-05-02 Owen Fraser-Green <owen@discobabe.net>
-
- * mono/Makefile.am: Removed test-dbus-sharp.exe from all target
-
-2004-05-01 Owen Fraser-Green <owen@discobabe.net>
-
- * mono/DBusType/Dict.cs: Handle empty dicts
- * mono/DBusType/Array.cs: Handle empty arrays
- * mono/Arguments.cs: Handle empty arguments
-
-2004-04-30 Owen Fraser-Green <owen@discobabe.net>
-
- * dbus-sharp.pc.in: Modified to include include Libs and Requires
- field
-
-2004-04-25 Kristian Høgsberg <krh@redhat.com>
-
- * test/data/valid-messages/standard-*.message: Update message
- test scripts to new header field names.
-
-2004-04-22 John (J5) Palmieri <johnp@redhat.com>
-
- * test/break-loader.c (randomly_do_n_things): tracked down buffer
- overflow to times_we_did_each_thing array which would chop off the
- first character of the failure_dir string. Increased the size of
- the array to 7 to reflect the number of random mutation functions
- we have.
-
-2004-04-21 Kristian Høgsberg <krh@redhat.com>
-
- * dbus/dbus-server-unix.c (unix_finalize): Don't unref
- unix_server->watch here, it is unreffed in disconnect.
- (_dbus_server_new_for_tcp_socket): convert NULL host to
- "localhost" here so we don't append NULL to address.
-
- * dbus/dbus-server.c (_dbus_server_test): Add test case for
- various addresses, including tcp with no explicit host.
-
-2004-04-21 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * dbus/dbus-message.c (decode_header_data, decode_string_field):
- fix incorrect setting of .name_offset in the HeaderField (it was
- off by two bytes, positioned right after the name and typecode)
-
- * bus/bus.c (bus_context_new, bus_context_unref): test before
- calling dbus_server_free_data_slot and _dbus_user_database_unref
- in case of an error.
-
- * tools/Makefile.am: add $(DBUS_GLIB_TOOL_LIBS), xml libs needed
- by libdbus-gtool.
-
-2004-04-19 Kristian Høgsberg <krh@redhat.com>
-
- * dbus/dbus-transport-unix.c (unix_do_iteration): Rewrite to use
- _dbus_poll() instead of select().
-
-2004-04-15 Jon Trowbridge <trow@ximian.com>
-
- * bus/main.c (signal_handler): Reload the configuration files
- on SIGHUP.
- (main): Set up our SIGHUP handler.
-
- * bus/bus.c (struct BusContext): Store the config file, user and
- fork flag in the BusContext.
- (process_config_first_time_only): Added. Contains the code
- (previously in bus_context_new) for setting up the BusContext from
- the BusConfigParser that should only be run the first time the
- config files are read.
- (process_config_every_time): Added. Contains the code (previously
- in bus_context_new) for setting up the BusContext from the
- BusConfigParser that should be run every time the config files are
- read.
- (load_config): Added. Builds a BusConfigParser from the config
- files and passes the resulting structure off to
- process_config_first_time_only (assuming this is the first time)
- and process_config_every_time.
- (bus_context_new): All of the config-related code has been moved
- to process_config_first_time_only and process_config_every_time.
- Now this function just does the non-config-related initializations
- and calls load_config.
- (bus_context_reload_config): Added.
-
-2004-04-15 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * bus/driver.c (bus_driver_handle_get_service_owner):
- implement a GetServiceOwner method.
- * doc/dbus-specification.xml: document it.
- * dbus/dbus-errors.h: add a 'ServiceHasNoOwner' error.
-
- * glib/dbus-gproxy.c (dbus_gproxy_new_for_service_owner):
- implement, using the bus GetServiceOwner method.
-
- * test/glib/test-dbus-glib.c:
- use dbus_gproxy_new_for_service_owner so that we can receive the
- signal.
-
-2004-04-15 John (J5) Palmieri <johnp@redhat.com>
-
- * dbus/dbus-internals.c, dbus/dbus-message-builder.c,
- dbus/dbus-message.c, dbus/dbus-protocol.h
- (DBUS_HEADER_FIELD_SERVICE): renamed DBUS_HEADER_FIELD_DESTINATION
-
- * dbus/dbus-internals.c, dbus/dbus-message-builder.c,
- dbus/dbus-message.c, dbus/dbus-protocol.h
- (DBUS_HEADER_FIELD_SENDER_SERVICE): renamed DBUS_HEADER_FIELD_SENDER
-
- * dbus/dbus-internals.c (_dbus_header_field_to_string):
- DBUS_HEADER_FIELD_DESTINATION resolves to "destination"
- DBUS_HEADER_FIELD_SENDER resolves to "sender"
-
- * doc/dbus-specification.xml (Header Fields Table):
- s/SERVICE/DESTINATION
- s/SENDER_SERVICE/SENDER
-
-
-2004-04-14 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * test/glib/test-dbus-glib.c (timed_exit): fail the test after
- a few seconds.
-
-2004-04-13 Michael Meeks <michael@ximian.com>
-
- * glib/dbus-gobject.c (handle_introspect): split out
- (introspect_properties): this.
- (handle_introspect): implement this.
-
- * test/glib/Makefile.am: use the absolute path so the bus
- daemon's chdir ("/") doesn't kill us dead.
-
- * configure.in: subst ABSOLUTE_TOP_BUILDDIR
-
-2004-04-12 Jon Trowbridge <trow@ximian.com>
-
- * bus/config-parser.c (struct BusConfigParser): Added
- included_files field.
- (seen_include): Added. Checks whether or not a file has already
- been included by any parent BusConfigParser.
- (bus_config_parser_new): Copy the parent's included_files.
- (include_file): Track which files have been included, and fail on
- circular inclusions.
- (process_test_valid_subdir): Changed printf to report if we are
- testing valid or invalid conf files.
- (all_are_equiv): Changed printf to be a bit clearer about
- what we are actually doing.
- (bus_config_parser_test): Test invalid configuration files.
-
-2004-04-09 Jon Trowbridge <trow@ximian.com>
-
- * bus/config-parser.c (bus_config_parser_new): Added a 'parent'
- argument. If non-null, the newly-constructed BusConfigParser will
- be initialized with the parent's BusLimits instead of the default
- values.
- (include_file): When including a config file, pass in
- the current parser as the parent and then copy the BusLimits
- from the included BusConfigParser pack to the current parser.
- (process_test_valid_subdir): Renamed from process_test_subdir.
- (process_test_equiv_subdir): Added. Walks through a directory,
- descending into each subdirectory and loading the config files
- it finds there. If any subdirectory contains two config files
- that don't produce identical BusConfigParser structs, fail.
- For now, the BusConfigParser's BusPolicies are not compared.
- (bus_config_parser_test): Call both process_test_valid_subdir and
- process_test_equiv_subdir.
-
- * bus/config-loader-libxml.c (bus_config_load): Take a parent
- argument and pass it along to the call to bus_config_parser_new.
- Also made a few small changes to allow this code to compile.
-
- * bus/config-loader-expat.c (bus_config_load): Take a parent
- argument and pass it along to the call to bus_config_parser_new.
-
- * bus/bus.c (bus_context_new): Load the config file
- with a NULL parent argument.
-
-2004-03-29 Michael Meeks <michael@ximian.com>
-
- * glib/dbus-gobject.c (introspect_properties): split
- out, fix mangled 'while' flow control.
- (introspect_signals): implement.
- (handle_introspect): update.
-
-2004-03-29 Michael Meeks <michael@ximian.com>
-
- * glib/dbus-gobject.c (set_object_property): split out /
- re-work, use the property type, and not the message type(!)
- (get_object_property): ditto.
-
- * glib/dbus-gvalue.c (dbus_gvalue_demarshal),
- (dbus_gvalue_marshal): make this code re-usable, needed
- for signals too, also on both proxy and server side.
- Re-write for more efficiency / readability.
-
-2004-03-29 Michael Meeks <michael@ximian.com>
-
- * dbus/dbus-message.c
- (dbus_message_new_error_printf): impl.
-
- * dbus/dbus-connection.c
- (dbus_connection_unregister_object_path): fix warning.
-
- * configure.in: fix no-mono-installed situation.
-
-2004-03-27 Havoc Pennington <hp@redhat.com>
-
- Patch from Timo Teräs:
-
- * tools/dbus-send.c (main): if --print-reply, assume type is
- method call; support boolean type args
-
- * dbus/dbus-connection.c (dbus_connection_send_with_reply): fix a
- bunch of memleak and logic bugs
-
-2004-03-23 Owen Fraser-Green <owen@discobabe.net>
-
- * mono/Arguments.cs:
- * mono/Introspector.cs:
- * mono/Handler.cs:
- * mono/InterfaceProxy.cs:
- * mono/Message.cs
- * mono/ProxyBuilder.cs:
- * mono/Service.cs:
- Added InterfaceProxy class to avoid building proxies for every
- object.
-
- * dbus-message.h:
- * dbus-message.c (dbus_message_append_args_valist)
- (dbus_message_iter_get_object_path)
- (dbus_message_iter_get_object_path_array)
- (dbus_message_iter_append_object_path)
- (dbus_message_iter_append_object_path_array):
- Added object_path iter functions to handle OBJECT_PATH arguments
-
-2004-03-23 Owen Fraser-Green <owen@discobabe.net>
-
- First checkin of mono bindings.
- * configure.in:
- * Makefile.am:
- Build stuff for the bindings
- * dbus-sharp.pc.in: Added for pkgconfig
-
-2004-03-21 Havoc Pennington <hp@redhat.com>
-
- * test/test-service.c (main): remove debug spew
-
-2004-03-21 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): accept empty
- arrays
-
- * dbus/dbus-message.h, bus/dbus-message.c (dbus_message_iter_init)
- (dbus_message_iter_init_array_iterator)
- (dbus_message_iter_init_dict_iterator): return a dbus_bool_t to
- indicate whether the iterator is empty
-
- * dbus/dbus-pending-call.c, dbus/dbus-server.c: silence compiler
- warnings
-
-2004-03-19 Havoc Pennington <hp@redhat.com>
-
- * NEWS: 0.21 updates
-
- * configure.in: 0.21
-
- * doc/Makefile.am: add all XMLTO usage to DBUS_XML_DOCS_ENABLED
-
- * python/Makefile.am: change to avoid dist of dbus_bindings.c so
- you don't need pyrex to make dist
-
- * qt/Makefile.am (libdbus_qt_1_la_SOURCES): add integrator.h to
- sources; run moc
-
-2004-03-18 Richard Hult <richard@imendio.com>
-
- * dbus/dbus-message.c (dbus_message_get_auto_activation)
- (dbus_message_set_auto_activation): Add doxygen docs.
-
-2004-03-16 Richard Hult <richard@imendio.com>
-
- * bus/activation.c: (bus_activation_service_created),
- (bus_activation_send_pending_auto_activation_messages),
- (bus_activation_activate_service):
- * bus/activation.h:
- * bus/dispatch.c: (bus_dispatch),
- (check_nonexistent_service_auto_activation),
- (check_service_auto_activated),
- (check_segfault_service_auto_activation),
- (check_existent_service_auto_activation), (bus_dispatch_test):
- * bus/driver.c: (bus_driver_handle_activate_service):
- * bus/services.c: (bus_registry_acquire_service):
- * dbus/dbus-message.c: (dbus_message_set_auto_activation),
- (dbus_message_get_auto_activation):
- * dbus/dbus-message.h:
- * dbus/dbus-protocol.h: Implement auto-activation.
-
- * doc/dbus-specification.xml: Add auto-activation to the spec.
-
-2004-03-12 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos):
- fix a bug with CUSTOM types.
-
- * dbus/dbus-message.c (message_iter_test, _dbus_message_test): add
- a unit test for this bug (used to fail).
-
-2004-03-12 Mikael Hallendal <micke@imendio.com>
-
- * bus/activation.c:
- (babysitter_watch_callback): notify all pending activations waiting for
- the same exec that the activation failed.
- (bus_activation_activate_service): shortcut the activation if we
- already waiting for the same executable to start up.
-
-2004-03-12 Mikael Hallendal <micke@imendio.com>
-
- * bus/activation.c:
- - Added service file reloading.
- Each service files directory is kept in an hash table in
- BusActivation and each BusActivationEntry knows what .service-file it
- was read from. So when you try to activate a service the bus will
- check if it's been updated, removed or if new .service-files has
- been installed.
- - Test code at the bottom for the service file reloading.
- * bus/test-main.c: (main):
- * bus/test.h:
- - added service reloading test.
- * dbus/dbus-sysdeps.c:
- * dbus/dbus-sysdeps.h: (_dbus_delete_directory): Added.
-
-2004-03-08 Michael Meeks <michael@ximian.com>
-
- * dbus/dbus-connection.c (_dbus_connection_block_for_reply):
- bail immediately if disconnected, to avoid busy loop.
-
- * dbus/dbus-message.c (dbus_message_iter_get_args_valist):
- cleanup cut/paste/inefficiency.
-
-2004-03-01 David Zeuthen <david@fubar.dk>
-
- * dbus/dbus-string.c (_dbus_string_append_printf_valist): Fix a
- bug where args were used twice. This bug resulted in a segfault
- on a Debian/PPC system when starting the messagebus daemon. Include
- dbus-sysdeps.h for DBUS_VA_COPY
-
- * dbus/dbus-sysdeps.h: Define DBUS_VA_COPY if neccessary. From GLib
-
- * configure.in: Check for va_copy; define DBUS_VA_COPY to the
- appropriate va_copy implementation. From GLib
-
-2004-02-24 Joe Shaw <joe@ximian.com>
-
- * bus/services.c (bus_registry_acquire_service): We need to pass
- in the service name to dbus_set_error() to prevent a crash.
-
-2003-12-26 Anders Carlsson <andersca@gnome.org>
-
- * AUTHORS: Reveal my True identity.
-
-2003-12-17 Mikael Hallendal <micke@imendio.com>
-
- * dbus/dbus-message.c: (dbus_message_append_args_valist):
- - Added case for DBUS_TYPE_BYTE, patch from Johan Hedberg.
-
-2003-12-13 Mikael Hallendal <micke@imendio.com>
-
- * doc/TODO: Added not about better error check of configuration files.
-
-2003-12-02 Richard Hult <richard@imendio.com>
-
- * Update AFL version to 2.0 throughout the source files to reflect
- the update that was done a while ago.
-
-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).
-
- * bus/bus.c (bus_context_check_security_policy): fix up to handle
- the case where destination is explicitly specified as bus driver
- and someone else is eavesdropping.
-
- * bus/policy.c (bus_client_policy_check_can_receive): fix up
- definition of eavesdropping and assertion
-
- * tools/dbus-send.c (main): use dbus_message_type_from_string
-
- * bus/signals.c (bus_match_rule_parse): implement
-
- * dbus/dbus-message.c (dbus_message_type_from_string): new
-
- * dbus/dbus-errors.h (DBUS_ERROR_MATCH_RULE_INVALID): add
-
-2003-10-02 Havoc Pennington <hp@pobox.com>
-
- * glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): rename from
- dbus_gproxy_oneway_call
-
- * glib/dbus-gmain.c (dbus_connection_setup_with_g_main)
- (dbus_server_setup_with_g_main): fix to allow calling them more
- than once on the same args
- (dbus_bus_get_with_g_main): new function
-
-2003-10-02 Havoc Pennington <hp@redhat.com>
-
- * doc/dbus-tutorial.xml: write some stuff
-
-2003-09-29 Havoc Pennington <hp@pobox.com>
-
- * configure.in: split checks for Doxygen from XML docs, check for
- xmlto
-
- * doc/Makefile.am: XML-ify all the docs, and add a blank
- dbus-tutorial.xml
-
-2003-09-29 Havoc Pennington <hp@pobox.com>
-
- * Merge dbus-object-names branch. To see the entire patch
- do cvs diff -r DBUS_OBJECT_NAMES_BRANCHPOINT -r dbus-object-names,
- it's huuuuge though.
- To revert, I tagged DBUS_BEFORE_OBJECT_NAMES_MERGE.
-
-2003-09-28 Havoc Pennington <hp@pobox.com>
-
- * HACKING: update to reflect new server
-
-2003-09-26 Seth Nickell <seth@gnome.org>
-
- * python/dbus.py:
- * python/examples/example-signals.py:
-
- Start implementing some notions of signals. The API
- is really terrible, but they sort of work (with the
- exception of being able to filter by service, and to
- transmit signals *as* a particular service). Need to
- figure out how to make messages come from the service
- we registered :-(
-
- * python/dbus_bindings.pyx.in:
-
- Removed duplicate message_handler callbacks.
-
-2003-09-25 Havoc Pennington <hp@redhat.com>
-
- * bus/session.conf.in: fix my mess
-
-2003-09-25 Havoc Pennington <hp@pobox.com>
-
- * bus/session.conf.in: fix security policy, reported by Seth Nickell
-
-2003-09-25 Seth Nickell <seth@gnome.org>
-
- * python/examples/example-service.py:
-
- Johan notices complete wrong code in example-service, but
- completely wrong in a way that works exactly the same (!).
- Johan is confused, how could this possibly work? Example
- code fails to serve purpose of making things clear.
- Seth fixes.
-
-2003-09-25 Mark McLoughlin <mark@skynet.ie>
-
- * doc/dbus-specification.sgml: don't require header fields
- to be 4-byte aligned and specify that fields should be
- distinguished from padding by the fact that zero is not
- a valid field name.
-
- * doc/TODO: remove re-alignment item and add item to doc
- the OBJECT_PATH type.
-
- * dbus/dbus-message.c:
- (HeaderField): rename the original member to value_offset
- and introduce a name_offset member to keep track of where
- the field actually begins.
- (adjust_field_offsets): remove.
- (append_int_field), (append_uint_field),
- (append_string_field): don't align the start of the header
- field to a 4-byte boundary.
- (get_next_field): impl finding the next marhsalled field
- after a given field.
- (re_align_field_recurse): impl re-aligning a number of
- already marshalled fields.
- (delete_field): impl deleting a field of any type and
- re-aligning any following fields.
- (delete_int_or_uint_field), (delete_string_field): remove.
- (set_int_field), (set_uint_field): no need to re-check
- that we have the correct type for the field.
- (set_string_field): ditto and impl re-aligning any
- following fields.
- (decode_header_data): update to take into account that
- the fields aren't 4-byte aligned any more and the new
- way to distinguish padding from header fields. Also,
- don't exit when there is too much header padding.
- (process_test_subdir): print the directory.
- (_dbus_message_test): add test to make sure a following
- field is re-aligned correctly after field deletion.
-
- * dbus/dbus-string.[ch]:
- (_dbus_string_insert_bytes): rename from insert_byte and
- allow the insert of multiple bytes.
- (_dbus_string_test): test inserting multiple bytes.
-
- * dbus/dbus-marshal.c: (_dbus_marshal_set_string): add
- warning note to docs about having to re-align any
- marshalled values following the string.
-
- * dbus/dbus-message-builder.c:
- (append_string_field), (_dbus_message_data_load):
- don't align the header field.
-
- * dbus/dbus-auth.c: (process_test_subdir): print the
- directory.
-
- * test/break-loader.c: (randomly_add_one_byte): upd. for
- insert_byte change.
-
- * test/data/invalid-messages/bad-header-field-alignment.message:
- new test case.
-
- * test/data/valid-messages/unknown-header-field.message: shove
- a dict in the unknown field.
-
-2003-09-25 Seth Nickell <seth@gnome.org>
-
- * python/dbus.py:
- * python/dbus_bindings.pyx.in:
-
- Handle return values.
-
- * python/examples/example-client.py:
- * python/examples/example-service.py:
-
- Pass back return values from the service to the client.
-
-2003-09-24 Seth Nickell <seth@gnome.org>
-
- * python/dbus.py:
-
- Connect Object methods (when you are sharing an object) up... pass
- in a list of methods to be shared. Sharing all the methods just
- worked out too weird. You can now create nice Services over the
- DBus in Python. :-)
-
- * python/dbus_bindings.pyx.in:
-
- Keep references to user_data tuples passed into C functions so
- Python doesn't garbage collect on us.
-
- Implement MethodReturn and Error subclasses of Message for creating
- DBusMessage's of those types.
-
- * python/examples/example-client.py:
- * python/examples/example-service.py:
-
- Simple example code showing both how create DBus services and objects,
- and how to use them.
-
-2003-09-23 Havoc Pennington <hp@pobox.com>
-
- * glib/dbus-gproxy.c (dbus_gproxy_manager_filter): implement
-
-2003-09-23 Havoc Pennington <hp@redhat.com>
-
- * glib/dbus-gproxy.c (dbus_gproxy_connect_signal): implement
- (dbus_gproxy_disconnect_signal): implement
- (dbus_gproxy_manager_remove_signal_match): implement
- (dbus_gproxy_manager_add_signal_match): implement
- (dbus_gproxy_oneway_call): implement
-
-2003-09-23 Havoc Pennington <hp@pobox.com>
-
- * glib/dbus-gproxy.c (struct DBusGProxy): convert to a GObject
- subclass. This means dropping the transparent thread safety of the
- proxy; you now need a separate proxy per-thread, or your own
- locking on the proxy. Probably right anyway.
- (dbus_gproxy_ref, dbus_gproxy_unref): nuke, just use g_object_ref
-
-2003-09-22 Havoc Pennington <hp@redhat.com>
-
- * glib/dbus-gproxy.c (dbus_gproxy_manager_get): implement
-
-2003-09-21 Seth Nickell <seth@gnome.org>
-
- First checkin of the Python bindings.
-
- * python/.cvsignore:
- * python/Makefile.am:
- * python/dbus_bindings.pyx.in:
- * python/dbus_h_wrapper.h:
-
- Pieces for Pyrex to operate on, building a dbus_bindings.so
- python module for low-level access to the DBus APIs.
-
- * python/dbus.py:
-
- High-level Python module for accessing DBus objects.
-
- * configure.in:
- * Makefile.am:
-
- Build stuff for the python bindings.
-
- * acinclude.m4:
-
- Extra macro needed for finding the Python C header files.
-
-2003-09-21 Havoc Pennington <hp@pobox.com>
-
- * glib/dbus-gproxy.c (dbus_gproxy_manager_new): start
- implementing the proxy manager, didn't get very far.
-
- * dbus/dbus-bus.c (dbus_bus_add_match): new
- (dbus_bus_remove_match): new
-
- * glib/dbus-gproxy.c (dbus_gproxy_new_for_service): add a
- path_name argument; adjust the other not-yet-implemented
- gproxy constructors to be what I think they should be.
-
-2003-09-21 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-bus.c (dbus_bus_get): set exit_on_disconnect to TRUE
- by default for message bus connections.
-
- * dbus/dbus-connection.c (dbus_connection_dispatch): exit if
- exit_on_disconnect flag is set and we process the disconnected
- signal.
- (dbus_connection_set_exit_on_disconnect): new function
-
-2003-09-21 Havoc Pennington <hp@pobox.com>
-
- Get matching rules mostly working in the bus; only actually
- parsing the rule text remains. However, the client side of
- "signal connections" hasn't been started, this patch is only the
- bus side.
-
- * dbus/dispatch.c: fix for the matching rules changes
-
- * bus/driver.c (bus_driver_handle_remove_match)
- (bus_driver_handle_add_match): send an ack reply from these
- method calls
-
- * glib/dbus-gproxy.c (dbus_gproxy_begin_call): fix order of
- arguments, reported by Seth Nickell
-
- * bus/config-parser.c (append_rule_from_element): support
- eavesdrop=true|false attribute on policies so match rules
- can be prevented from snooping on the system bus.
-
- * bus/dbus-daemon-1.1.in: consistently use terminology "sender"
- and "destination" in attribute names; fix some docs bugs;
- add eavesdrop=true|false attribute
-
- * bus/driver.c (bus_driver_handle_add_match)
- (bus_driver_handle_remove_match): handle AddMatch, RemoveMatch
- messages
-
- * dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_BROADCAST): get
- rid of broadcast service concept, signals are just always broadcast
-
- * bus/signals.c, bus/dispatch.c, bus/connection.c, bus/bus.c:
- mostly implement matching rules stuff (currently only exposed as signal
- connections)
-
-2003-09-21 Mark McLoughlin <mark@skynet.ie>
-
- * doc/dbus-specification.sgml: Change the header field name
- to be an enum and update the rest of the spec to reference
- the fields using the conventinal name.
-
- * dbus/dbus-protocol.h: update to reflect the spec.
-
- * doc/TODO: add item to remove the 4 byte alignment requirement.
-
- * dbus/dbus-message.c: Remove the code to generalise the
- header/body length and serial number header fields as named
- header fields so we can reference field names using the
- protocol values.
- (append_int_field), (append_uint_field), (append_string_field):
- Append the field name as a byte rather than four chars.
- (delete_int_or_uint_field), (delete_string_field): reflect the
- fact that the field name and typecode now occupy 4 bytes instead
- of 8.
- (decode_string_field), (decode_header_data): update to reflect
- protocol changes and move the field specific encoding from
- decode_string_field() back into decode_header_data().
-
- * dbus/dbus-internals.[ch]: (_dbus_header_field_to_string):
- Add utility to aid debugging.
-
- * dbus/dbus-message-builder.c:
- (append_string_field), (_dbus_message_data_load): Update to
- reflect protocol changes; Change the FIELD_NAME directive
- to HEADER_FIELD and allow it to take the field's conventional
- name rather than the actual value.
-
- * test/data/*/*.message: Update to use HEADER_FIELD instead
- of FIELD_NAME; Always align the header on an 8 byte boundary
- *before* updating the header length.
-
-2003-09-15 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-pending-call.c: add the get/set object data
- boilerplate as for DBusConnection, etc. Use generic object data
- for the notify callback.
-
- * glib/dbus-gparser.c (parse_node): parse child nodes
-
- * tools/dbus-viewer.c: more hacking on the dbus-viewer
-
- * glib/dbus-gutils.c (_dbus_gutils_split_path): add a file to
- contain functions shared between the convenience lib and the
- installed lib
-
- * glib/Makefile.am (libdbus_glib_1_la_LDFLAGS): add
- -export-symbols-regex to the GLib library
-
- * dbus/dbus-object-tree.c (_dbus_object_tree_dispatch_and_unlock):
- fix the locking in here, and add a default handler for
- Introspect() that just returns sub-nodes.
-
-2003-09-14 Havoc Pennington <hp@pobox.com>
-
- * glib/dbus-gthread.c (dbus_g_thread_init): rename to make g_foo
- rather than gfoo consistent
-
- * glib/dbus-gproxy.h: delete for now, move contents to
- dbus-glib.h, because the include files don't work right since we
- aren't in the dbus/ subdir.
-
- * glib/dbus-gproxy.c (dbus_gproxy_send): finish implementing
- (dbus_gproxy_end_call): finish
- (dbus_gproxy_begin_call): finish
-
- * glib/dbus-gmain.c (dbus_set_g_error): new
-
- * glib/dbus-gobject.c (handle_introspect): include information
- about child nodes in the introspection
-
- * dbus/dbus-connection.c (dbus_connection_list_registered): new
- function to help in implementation of introspection
-
- * dbus/dbus-object-tree.c
- (_dbus_object_tree_list_registered_and_unlock): new function
-
-2003-09-12 Havoc Pennington <hp@pobox.com>
-
- * glib/dbus-gidl.h: add common base class for all the foo_info
- types
-
- * tools/dbus-viewer.c: add GTK-based introspection UI thingy
- similar to kdcop
-
- * test/Makefile.am: try test srcdir -ef . in addition to test
- srcdir = ., one of them should work (yeah lame)
-
- * glib/Makefile.am: build the "idl" parser stuff as a convenience
- library
-
- * glib/dbus-gparser.h: make description_load routines return
- NodeInfo* not Parser*
-
- * Makefile.am (SUBDIRS): build test dir after all library dirs
-
- * configure.in: add GTK+ detection
-
-2003-09-07 Havoc Pennington <hp@pobox.com>
-
- * Make Doxygen contented.
-
-2003-09-07 Havoc Pennington <hp@pobox.com>
-
- * doc/dbus-specification.sgml: more updates
-
-2003-09-06 Havoc Pennington <hp@pobox.com>
-
- * doc/dbus-specification.sgml: partial updates
-
- * bus/dbus-daemon-1.1.in: fix the config file docs for the
- zillionth time; hopefully I edited the right file this time.
-
- * bus/config-parser.c (append_rule_from_element): support
- send_type, send_path, receive_type, receive_path
-
- * bus/policy.c: add message type and path to the list of things
- that can be "firewalled"
-
-2003-09-06 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-connection.c (dbus_connection_register_fallback): add this
- (dbus_connection_register_object_path): make this not handle
- messages to paths below the given path
-
-2003-09-03 Havoc Pennington <hp@pobox.com>
-
- * test/glib/Makefile.am: add this with random glib-linked test
- programs
-
- * glib/Makefile.am: remove the random test programs from here,
- leave only the unit tests
-
- * glib/dbus-gobject.c (_dbus_gobject_test): add test for
- uscore/javacaps conversion, and fix
- (get_object_property, set_object_property): change to .NET
- convention for mapping props to methods, set_FooBar/get_FooBar,
- since one language has such a convention we may as well copy it.
- Plus real methods in either getFooBar or get_foo_bar style won't
- collide with this convention.
-
-2003-09-01 Havoc Pennington <hp@pobox.com>
-
- * glib/dbus-gparser.c: implement
-
- * glib/dbus-gobject.c: start implementing skeletons support
-
- * configure.in: when disabling checks/assert, also define
- G_DISABLE_ASSERT and G_DISABLE_CHECKS
-
-2003-09-01 Havoc Pennington <hp@pobox.com>
-
- * glib/Makefile.am: rearrange a bunch of files and get "make
- check" framework set up
-
-2003-08-31 Havoc Pennington <hp@pobox.com>
-
- * fix build with --disable-tests
-
-2003-08-30 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-connection.c: purge DBusMessageHandler
-
- * dbus/dbus-message-handler.c: remove DBusMessageHandler, just
- use callbacks everywhere
-
-2003-08-30 Havoc Pennington <hp@pobox.com>
-
- * test/data/valid-config-files/system.d/test.conf: change to
- root for the user so warnings don't get printed
-
- * dbus/dbus-message.c: add dbus_message_get_path,
- dbus_message_set_path
-
- * dbus/dbus-object-tree.c (do_test_dispatch): add test of
- dispatching to a path
-
- * dbus/dbus-string.c (_dbus_string_validate_path): add
-
- * dbus/dbus-marshal.c (_dbus_demarshal_object_path): implement
- (_dbus_marshal_object_path): implement
-
- * dbus/dbus-protocol.h (DBUS_HEADER_FIELD_PATH): new header field
- to contain the path to the target object
- (DBUS_HEADER_FIELD_SENDER_SERVICE): rename
- DBUS_HEADER_FIELD_SENDER to explicitly say it's the sender service
-
-2003-08-30 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-object-tree.c: write tests and fix the discovered bugs
-
-2003-08-29 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-object-tree.c: modify to allow overlapping paths to be
- registered
- (struct DBusObjectSubtree): shrink this
- a lot, since we may have a lot of them
- (_dbus_object_tree_free_all_unlocked): implement
- (_dbus_object_tree_dispatch_and_unlock): implement
-
-2003-08-29 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-internals.h: fix _DBUS_N_GLOBAL_LOCKS
-
-2003-08-28 Havoc Pennington <hp@pobox.com>
-
- purge DBusObjectID
-
- * dbus/dbus-connection.c: port to no ObjectID, create a
- DBusObjectTree, rename ObjectTree to ObjectPath in public API
-
- * dbus/dbus-connection.h (struct DBusObjectTreeVTable): delete
- everything except UnregisterFunction and MessageFunction
-
- * dbus/dbus-marshal.c: port away from DBusObjectID,
- add DBUS_TYPE_OBJECT_PATH
-
- * dbus/dbus-object-registry.[hc], dbus/dbus-object.[hc],
- dbus/dbus-objectid.[hc]: remove these, we are moving to
- path-based object IDs
-
-2003-08-25 Havoc Pennington <hp@pobox.com>
-
- Just noticed that dbus_message_test is hosed, I wonder when I
- broke that. I thought make check was passing earlier...
-
- * dbus/dbus-object-tree.c: add new "object tree" to match DCOP
- container tree, will replace most of dbus-object-registry
-
- * dbus/dbus-string.c (_dbus_string_append_printf_valist): fix C99
- screwup
-
-2003-08-19 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-message.c (decode_string_field): support FIELD_SENDER
- (dbus_message_is_error): fix this function
-
- * bus/dbus-daemon-1.1: clarify logic on when <deny>/<allow> rules
- match
-
- * bus/policy.c (bus_client_policy_check_can_receive): fix code to
- reflect clarified man page
- (bus_client_policy_check_can_send): ditto
-
- * bus/session.conf.in: fixup
-
- * bus/system.conf.in: fixup
-
-2003-08-18 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-hash.c (_dbus_hash_table_insert_two_strings): fix
-
- * dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
- dumb bug created earlier (wrong order of args to
- decode_header_data())
-
- * tools/dbus-send.c: port
-
- * tools/dbus-print-message.c (print_message): port
-
- * test/data/*messages: port all messages over
-
- * dbus/dbus-message-builder.c: support including
- message type
-
- * bus/driver.c: port over
-
- * bus/dispatch.c: port over to new stuff
-
- * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
- rename disconnect signal to "Disconnected"
-
-2003-08-17 Havoc Pennington <hp@pobox.com>
-
- This doesn't compile yet, but syncing up so I can hack on it from
- work. What are branches for if not broken code? ;-)
-
- * dbus/dbus-protocol.h: remove DBUS_HEADER_FIELD_NAME, add
- DBUS_HEADER_FIELD_INTERFACE, DBUS_HEADER_FIELD_MEMBER,
- DBUS_HEADER_FIELD_ERROR_NAME
-
- * dbus/dbus-hash.c: Introduce DBUS_HASH_TWO_STRINGS as hack to use
- for the interface+member pairs
- (string_hash): change to use g_str_hash algorithm
- (find_direct_function, find_string_function): refactor these to
- share most code.
-
- * dbus/dbus-message.c: port all of this over to support
- interface/member fields instead of name field
-
- * dbus/dbus-object-registry.c: port over
-
- * dbus/dbus-string.c (_dbus_string_validate_interface): rename
- from _dbus_string_validate_name
-
- * bus/dbus-daemon-1.1: change file format for the
- <deny>/<allow> stuff to match new message naming scheme
-
- * bus/policy.c: port over
-
- * bus/config-parser.c: parse new format
-
-2003-08-16 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-object-registry.c (add_and_remove_objects): remove
- broken assertion
-
- * glib/dbus-gproxy.c: some hacking
-
-2003-08-15 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-pending-call.c (dbus_pending_call_block): implement
-
- * dbus/dbus-connection.c
- (dbus_connection_send_with_reply_and_block): factor out internals;
- change to convert any error replies to DBusError instead of
- returning them as a message
-
-2003-08-15 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-connection.c,
- dbus/dbus-pending-call.c: Finish the pending call stuff
-
-2003-08-14 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-pending-call.c: start on new object that will replace
- DBusMessageHandler and ReplyHandlerData for tracking outstanding
- replies
-
- * dbus/dbus-gproxy.c: start on proxy object used to communicate
- with remote interfaces
-
- * dbus/dbus-gidl.c: do the boring boilerplate in here
-
-2003-08-12 Havoc Pennington <hp@pobox.com>
-
- * bus/dispatch.c (bus_dispatch): make this return proper
- DBusHandlerResult to avoid DBUS_ERROR_UNKNOWN_METHOD
-
- * dbus/dbus-errors.c (dbus_set_error): use
- _dbus_string_append_printf_valist
-
- * dbus/dbus-string.c (_dbus_string_append_printf_valist)
- (_dbus_string_append_printf): new
-
- * dbus/dbus-errors.h (DBUS_ERROR_UNKNOWN_MESSAGE): change to
- UNKNOWN_METHOD
-
- * dbus/dbus-connection.c (dbus_connection_dispatch): handle
- DBUS_HANDLER_RESULT_NEED_MEMORY; send default error reply if a
- message is unhandled.
-
-2003-08-11 Havoc Pennington <hp@pobox.com>
-
- * bus/test.c (client_disconnect_handler): change to return
- HANDLED (would have been REMOVE_MESSAGE)
-
- * dbus/dbus-object.h (enum DBusHandlerResult): rename to
- HANDLED/NOT_YET_HANDLED instead of
- REMOVE_MESSAGE/ALLOW_MORE_HANDLERS to make it clearer how it
- should be used.
-
-2003-08-10 Havoc Pennington <hp@pobox.com>
-
- * tools/dbus-send.c (main): add --type argument, for now
- supporting only method_call and signal types.
-
- * tools/dbus-print-message.c: print message type
-
- * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
- init connection->objects
-
- * doc/dbus-specification.sgml: fix sgml
-
- * bus/*.c: port over to object-instance API changes
-
- * test/test-service.c: ditto
-
- * dbus/dbus-message.c (dbus_message_create_header): allow #NULL
- name, we will have to fix up the rest of the code to also handle
- this
- (dbus_message_new): generic message-creation call
- (set_string_field): allow appending name field
-
-2003-08-06 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-object-registry.c: implement signal connection
- and dispatch
-
- * dbus/dbus-connection.c (_dbus_connection_unref_unlocked): new
-
- * dbus/dbus-internals.c (_dbus_memdup): new function
-
-2003-08-02 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-message.c (dbus_message_get_no_reply)
- (dbus_message_set_no_reply): add these and remove
- set_is_error/get_is_error
-
- * dbus/dbus-protocol.h, doc/dbus-specification.sgml:
- remove the ERROR flag, since there's now an ERROR type
-
-2003-08-01 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-object-registry.c (_dbus_object_registry_handle_and_unlock):
- implement
-
- * dbus/dbus-message.c (dbus_message_get_type): new function
-
- * doc/dbus-specification.sgml: add "type" byte to messages
-
-2003-08-01 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-protocol.h (DBUS_MESSAGE_TYPE_*): introduce
- a message type enum to distinguish kinds of message
- (DBUS_HEADER_FLAG_NO_REPLY_EXPECTED): flag for a message
- that need not be replied to
-
-2003-08-01 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-marshal.c: adapt to DBusObjectID changes
- (unpack_8_octets): fix no-64-bit-int bug
-
- * dbus/dbus-object-registry.c (validate_id): validate the
- connection ID bits, not just the instance ID.
-
- * dbus/dbus-connection.c (_dbus_connection_init_id): initialize
- the connection-global 33 bits of the object ID
-
- * dbus/dbus-object-registry.c (info_from_entry): fill in
- object ID in the new way
-
- * dbus/dbus-objectid.h: rather than high/low bits, specifically
- define server/client/instance bits.
-
-2003-07-30 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-connection.c (dbus_connection_register_object): fix
- build
-
-2003-07-13 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-object.h (struct DBusObjectVTable): add padding
- fields to DBusObjectVTable and DBusObjectInfo
-
-2003-07-12 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-object-registry.c: implement unit test,
- fix bugs discovered in process
-
- * dbus/dbus-connection.c: remove handler_table and
- register_handler(), add DBusObjectRegistry usage
-
- * dbus/dbus-objectid.c (dbus_object_id_is_null)
- (dbus_object_id_set_null): new functions
-
-2003-07-08 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-object.c: implement some of this
-
- * dbus/dbus-object-registry.c
- (_dbus_object_registry_add_and_unlock): fill in the object_id out
- param
- (_dbus_object_registry_new): handle OOM
-
-2003-07-08 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-object.h: sketch out an API for registering objects
- with a connection, that allows us to use as little as 24 bytes
- per object and lets application code represent an object in
- any conceivable way.
-
- * dbus/dbus-object-registry.c: implement the hard bits of the
- DBusConnection aspect of object API. Not yet wired up.
-
-2003-07-06 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-marshal.c (_dbus_marshal_set_object_id): new function
- (_dbus_marshal_object_id): new
- (_dbus_demarshal_object_id): new
- (_dbus_marshal_get_arg_end_pos): support object ID type, and
- consolidate identical switch cases. Don't conditionalize handling
- of DBUS_TYPE_UINT64, need to handle the type always.
- (_dbus_marshal_validate_arg): consolidate identical cases, and
- handle DBUS_TYPE_OBJECT_ID
-
- * dbus/dbus-objectid.c: new file with DBusObjectID data type.
-
- * dbus/dbus-protocol.h: add DBUS_TYPE_OBJECT_ID
-
-2003-09-28 Havoc Pennington <hp@pobox.com>
-
- * real 0.13 release
-
-2003-09-28 Havoc Pennington <hp@pobox.com>
-
- * doc/Makefile.am (dbus-specification.html): testing a funky hack
- to work with Debian db2html
-
-2003-09-28 Havoc Pennington <hp@pobox.com>
-
- * configure.in: 0.13
-
- * doc/Makefile.am (dbus-test-plan.html): accept nonexistence of
- stylesheet-images for benefit of Debian
-
- Change back to using filesystem-linked sockets for the system
- bus, so only root can create the default system bus address.
-
- * bus/system.conf.in: change to use
- DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
-
- * dbus/Makefile.am (INCLUDES): remove DBUS_SYSTEM_BUS_PATH define
- from here.
-
- * configure.in: define DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
- here, and AC_DEFINE DBUS_SYSTEM_PATH
-
-2003-08-09 Anders Carlsson <andersca@codefactory.se>
-
- * doc/TODO:
- * doc/busconfig.dtd:
- Add busconfig DTD.
-
-2003-08-09 Anders Carlsson <andersca@codefactory.se>
-
- * doc/dbus-specification.sgml:
- Add activation reply values.
-
-2003-08-05 Havoc Pennington <hp@redhat.com>
-
- * configure.in: 0.12
-
-2003-08-05 Anders Carlsson <andersca@codefactory.se>
-
- * glib/dbus-gmain.c: (watch_fd_new), (watch_fd_ref),
- (watch_fd_unref), (dbus_gsource_check), (dbus_gsource_dispatch),
- (add_watch), (remove_watch), (create_source):
- Refcount fds, fixes some reentrancy issues.
-
-2003-07-30 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-bus.c (init_connections_unlocked): fix default system
- bus address to be abstract if we have abstract sockets
-
- * NEWS: update
-
-2003-07-28 Havoc Pennington <hp@redhat.com>
-
- * bus/messagebus.in: fix to avoid processname/servicename
- confusion, from Michael Kearey
- https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=100965
-
-2003-07-23 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-message.c (dbus_message_iter_get_named):
- fix from Andy Hanton to remove broken "+1"
-
-2003-07-16 Havoc Pennington <hp@pobox.com>
-
- * tools/dbus-launch.c (babysit): close stdout/stderr in the
- babysitter process, as suggested by Thomas Leonard, so
- an "eval `dbus-launch --exit-with-session`" will actually
- return
-
-2003-07-16 Havoc Pennington <hp@pobox.com>
-
- * configure.in: print out EXPANDED_* variables in the summary at
- the end; clean up the code that computes EXPANDED_ variables and
- get the ones using exec_prefix right. Should make things work
- when you build without --prefix
-
-2003-06-29 Havoc Pennington <hp@pobox.com>
-
- * mono/Test.cs (class Test): fire up a main loop and run it
-
- * mono/DBus.cs (DBus): don't g_thread_init since it can only be
- done once, the app has to do it
-
-2003-06-26 Havoc Pennington <hp@pobox.com>
-
- * mono/Connection.cs: set up connection with the glib main loop
-
-2003-07-01 Havoc Pennington <hp@redhat.com>
-
- * doc/dbus-specification.sgml: clarify the format of a type code,
- change suggested by Jim Blandy
-
-2003-06-29 Miloslav Trmac <mitr@volny.cz>
-
- * doc/Makefile.am:
- * tools/Makefile.am: Don't assume srcdir == builddir.
-
- * dbus/dbus-memory.c (dbus_realloc): Don't check guards after shrinking
- the allocated block.
- (_dbus_memory_test): New function.
- * dbus/dbus-test.h: Add _dbus_memory_test ().
- * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Call it.
-
- * dbus/dbus-message.c (decode_header_data): Use %.4s instead
- of %c%c%c%c.
- (dbus_message_new): Remove obsolete @todo.
-
- * dbus/dbus-marshal.c (_dbus_marshal_set_int64)
- (_dbus_marshal_set_uint64): Fix comment.
-
- * dbus/dbus-message.c (append_int_field, append_uint_field): Don't
- hardcode FIELD_REPLY_SERIAL.
-
- * dbus/dbus-mainloop.c (_dbus_loop_remove_watch)
- (_dbus_loop_remove_timeout): Cast function pointers to (void *) for %p
-
- * configure.in: Add -D_POSIX_C_SOURCE=199309L -DBSD_SOURCE to CFLAGS
- and disable DBUS_USE_ATOMIC_INT_486 when --enable-ansi is used
-
-2003-06-24 Havoc Pennington <hp@pobox.com>
-
- * mono/*.cs: Use IntPtr.Zero instead of ((IntPtr) 0)
-
-2003-06-23 Anders Carlsson <andersca@codefactory.se>
-
- * configure.in:
- * gcj/.cvsignore:
- * gcj/Hello.java:
- * gcj/Makefile.am:
- * gcj/TestMessage.java: (TestMessage), (TestMessage.main):
- * gcj/org/.cvsignore:
- * gcj/org/Makefile.am:
- * gcj/org/freedesktop/.cvsignore:
- * gcj/org/freedesktop/Makefile.am:
- * gcj/org/freedesktop/dbus/.cvsignore:
- * gcj/org/freedesktop/dbus/Makefile.am:
- * gcj/org/freedesktop/dbus/Message.java: (Message),
- (Message.Message):
- * gcj/org/freedesktop/dbus/natMessage.cc:
- Fix the build system.
-
-2003-06-22 Havoc Pennington <hp@pobox.com>
-
- * mono/Connection.cs: add more bindings
-
- * dbus/dbus-threads.c (dbus_threads_init): allow calling this
- more than once.
-
-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:
- 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
- than in main(), because we need to do it before forking the daemon
-
- * bus/dispatch.c (send_service_nonexistent_error): set the sender
- on the service nonexistent error
-
- * bus/driver.c (bus_driver_handle_acquire_service): set the
- sender on the AcquireService reply
-
- * test/data/valid-config-files/debug-allow-all.conf.in: Make test
- server also listen on a UNIX socket so services can connect to it.
-
-2003-04-06 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-threads.c: Redo how the fake debug mutexes are done
- so it detects deadlocks and also we actually init threads when
- debugging.
-
-2003-04-06 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
- save the domain socket name, and unlink it when we disconnect the
- server. Means that at least when we exit normally, we won't leave
- a bunch of junk in /tmp
-
- * dbus/dbus-transport-unix.c
- (_dbus_transport_new_for_domain_socket): code cleanup (nicer
- memory management). (I was making a real change here but then
- didn't)
-
-2003-04-06 Havoc Pennington <hp@pobox.com>
-
- * bus/bus.c (bus_context_new): fix wrong handling of
- server_data_slot_unref() in the error case.
-
- * dbus/dbus-internals.h (_dbus_assert): change so it passes
- "(condition) != 0" to _dbus_real_assert so that
- "_dbus_assert (pointer)" doesn't cause a warning
-
- * bus/main.c (main): accept --print-address option to print out
- the message bus address
-
- * dbus/dbus-sysdeps.c (_dbus_generate_random_ascii): export this
-
- * dbus/dbus-transport.c (_dbus_transport_open): special error for
- "tmpdir" option to unix: address on client side
-
- * dbus/dbus-server.c (dbus_server_listen): handle "tmpdir" option
- to unix: address
-
- * configure.in (TEST_SOCKET_DIR): locate a temporary directory
- we can use to create sockets in the test suite.
-
- * bus/main.c (signal_handler): on SIGTERM, exit the daemon
- cleanly. To be used for testing.
-
- * dbus/dbus-spawn.c (babysit): use _dbus_set_signal_handler()
-
- * dbus/dbus-sysdeps.c (_dbus_set_signal_handler): new
-
- * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
- handle trying to call this when there's no servers active
-
-2003-04-05 Havoc Pennington <hp@pobox.com>
-
- * NEWS: update
-
- * configure.in: 0.8
-
-2003-04-05 Havoc Pennington <hp@pobox.com>
-
- * bus/bus.c (setup_server): fix this so dbus-daemon-1 doesn't
- crash on startup. Need to get "try starting the daemon"
- in the test suite I guess. ;-)
-
- * dbus/dbus-server.h, dbus/dbus-server.c: remove the stuff that
- tracked the number of open connections; it's better done in
- application-specific code as you want it to span all servers etc.
-
-2003-04-05 Havoc Pennington <hp@pobox.com>
-
- * bus/Makefile.am (install-data-hook): add missing DESTDIR,
- patch from Colin Walters
-
-2003-04-05 Havoc Pennington <hp@pobox.com>
-
- * doc/config-file.txt (Elements): fix docs of <auth> to reflect
- reality; in fact multiple mechanisms are allowed.
-
- * dbus/dbus-internals.c (_dbus_real_assert)
- (_dbus_real_assert_not_reached): move guts of _dbus_assert() and
- _dbus_assert_not_reached() into functions, so that they don't show
- up in basic block counts for test coverage, and don't use up as
- much disk space. Does mean slower execution speed though, so
- assumes --disable-asserts is the normal production case.
-
-2003-04-05 Havoc Pennington <hp@pobox.com>
-
- * test/Makefile.am (dist-hook): also dist *.in files
-
- * NEWS: update
-
- * configure.in: 0.7
-
-2003-04-05 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-string.c: docs warning
-
- * dbus/dbus-spawn.c: missing docs
-
- * dbus/dbus-memory.c (struct ShutdownClosure): missing docs
-
-2003-04-05 Havoc Pennington <hp@pobox.com>
-
- * bus/loop.c (bus_loop_iterate): fix the timeout code, using
- magic from GLib
-
- * dbus/dbus-spawn.c (_dbus_babysitter_unref): set sitter_pid
- to -1 once we've reaped the babysitter
- (_dbus_babysitter_handle_watch): do as much work as we can, not
- just one go of it
-
- * bus/activation.c: add code using DBusBabysitter so that we
- handle it when a service fails to start up properly.
- (bus_activation_service_created): don't remove the activation
- entries as we go, just let them get removed when we free the pending
- activation. Unref reply messages after sending them.
-
-2003-04-05 Havoc Pennington <hp@pobox.com>
-
- * test/decode-gcov.c (main): print per-directory stats in the report
-
- * Makefile.am (coverage-report.txt): don't include test/* in gcov stats
-
-2003-04-05 Havoc Pennington <hp@pobox.com>
-
- * Makefile.am (coverage-report.txt): add target "coverage-report.txt"
-
- * test/decode-gcov.c: hack up a little program to suck data
- out of gcov files. Yes this is sort of silly.
-
- * configure.in: define something in config.h and do an
- AM_CONDITIONAL when gcov is enabled
-
-2003-04-04 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-spawn.c, dbus/dbus-spawn.h: Change dbus_spawn to
- return a "babysitter" object that is used to monitor the status of
- the spawned process and reap it when required.
-
- * test/test-segfault.c, test/test-exit.c,
- test/test-sleep-forever.c: binaries that do various lame things,
- used in the test suite.
-
- * dbus/dbus-sysdeps.c: kill _dbus_errno_to_string()
-
-2003-04-03 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-spawn.c: Move dbus-spawn into a separate file
- in preparation for modifying it, dbus-sysdeps is getting
- a bit unmanageable.
-
-2003-04-03 Havoc Pennington <hp@redhat.com>
-
- * bus/loop.h, bus/loop.c: make the mainloop an object so we can
- have multiple ones
-
- * bus/*.[hc]: adapt to mainloop change
-
-2003-04-03 Havoc Pennington <hp@redhat.com>
-
- * bus/activation.c (load_directory): fix up memleaks
- (bus_activation_entry_free): free the entry
-
- * dbus/dbus-bus.c (dbus_bus_acquire_service): return an error if
- we get one from the message bus; fix memleaks.
-
- * dbus/dbus-message.c (dbus_set_error_from_message): new function
-
-2003-04-03 Havoc Pennington <hp@pobox.com>
-
- * bus/config-parser.c (bus_config_parser_unref): free
- list of mechanisms, bug discovered by test suite enhancements
- (putting system.conf and session.conf into suite)
-
- * test/Makefile.am, test/test-service.c: add placeholder for a
- test service that we'll activate as part of test suite. Doesn't
- do anything yet.
-
- * dbus/dbus-sysdeps.c (_dbus_setenv): support unsetenv by
- setting NULL value, and use system malloc not dbus_malloc()
- when we have unavoidable memleakage.
-
- * dbus/dbus-bus.c (dbus_bus_get): fix bug where bus type of 0
- didn't work, and support DBUS_BUS_ACTIVATION.
-
- * bus/activation.c (child_setup): pass our well-known bus type to
- the child
-
- * bus/config-parser.c: support <type> to specify well-known type
-
- * doc/dbus-specification.sgml: document the env variables to
- locate well-known buses and find service activator
-
-2003-04-02 Havoc Pennington <hp@redhat.com>
-
- * test/Makefile.am (all-local): add a rule to copy tests to
- builddir, so we can have generated tests. Use this to remove the
- silly hack for testing system.conf and session.conf. Will use this
- shortly to generate .service files pointing to test binaries.
-
-2003-04-02 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-string.c (set_length): fix a bug - we allocated max of
- current alloc and needed new length, not max of the doubled
- allocation and needed new length. Also, when building tests,
- don't do the double-allocation stuff, just realloc every time.
-
-2003-04-02 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-sysdeps.c (_dbus_file_get_contents): include filenames
- in error messages
- (_dbus_string_get_dirname): new
- (_dbus_sysdeps_test): new
- (_dbus_directory_open): include dirnames in error messages
-
- * bus/config-parser.c: interpret <include> and <includedir> and
- <servicedir> relative to config file location if the given
- filename is not absolute.
-
- * dbus/dbus-string.c (_dbus_string_find_byte_backward): new
-
-2003-04-02 Havoc Pennington <hp@redhat.com>
-
- * bus/connection.c (bus_transaction_send_error_reply): set sender
- service for the error, and unref the reply on success
-
- * bus/activation.c: convert to use BusTransaction so OOM can be
- handled correctly
- (bus_activation_service_created): set sender of the message
-
-2003-04-01 Havoc Pennington <hp@redhat.com>
-
- * bus/config-parser.c, bus/bus.c: implement <servicedir> and
- <includedir> (at least mostly)
-
- * dbus/dbus-sysdeps.c (_dbus_change_identity): set the group ID
- first, then the user ID
-
-2003-04-01 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-server.c (dbus_server_set_auth_mechanisms): new
- function
-
- * dbus/dbus-auth.c (_dbus_auth_set_mechanisms): new
-
- * dbus/dbus-internals.c (_dbus_dup_string_array): new function
-
- * dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): chmod the
- socket 0777, and unlink any existing socket.
-
- * bus/bus.c (bus_context_new): change our UID/GID and fork if
- the configuration file so specifies; set up auth mechanism
- restrictions
-
- * bus/config-parser.c (bus_config_parser_content): add support
- for <fork> option and fill in code for <auth>
-
- * bus/system.conf.in: add <fork/> to default configuration,
- and limit auth mechanisms to EXTERNAL
-
- * doc/config-file.txt (Elements): add <fork>
-
- * dbus/dbus-sysdeps.c (_dbus_become_daemon): new function
- (_dbus_change_identity): new function
-
-2003-03-31 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-sysdeps.c (_dbus_connect_unix_socket)
- (_dbus_listen_unix_socket): fix off-by-one error in null
- termination spotted by Nalin
-
-2003-03-31 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): allow setting
- DBUS_TEST_HOMEDIR when tests are enabled, so we can test without
- having a real home directory available.
-
-2003-03-31 Havoc Pennington <hp@redhat.com>
-
- * bus/Makefile.am (install-data-hook): create /var/run/dbus
-
- * bus/messagebus.in: add init script for Red Hat /etc/init.d
-
- * configure.in: add support for specifying a style of init script
- to install
-
-2003-03-31 Havoc Pennington <hp@redhat.com>
-
- Fix some annoying DBusString API and fix all affected code.
-
- * dbus/dbus-string.c (_dbus_string_init): get rid of annoying
- max_length argument
- (_dbus_string_get_data): change to return string instead of using
- an out param
- (_dbus_string_get_const_data): ditto
- (_dbus_string_get_data_len): ditto
- (_dbus_string_get_const_data_len): ditto
-
-2003-03-31 Havoc Pennington <hp@redhat.com>
-
- * bus/main.c (main): fix up the command line arguments to be nicer
-
-2003-03-31 Havoc Pennington <hp@redhat.com>
-
- * dbus/Makefile.am (INCLUDES): use EXPANDED_LOCALSTATEDIR to
- define DBUS_SYSTEM_BUS_PATH as we want to compile in the same
- final location that lands in the config file
-
- * bus/config-loader-expat.c (bus_config_load): fix type of
- XML_Parser variable
-
- * doc/TODO: remove TODO item for dbus_bus_get()
-
- * dbus/dbus-bus.c (bus_data_free): add missing lock/unlock
-
-2003-03-31 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket)
- (_dbus_transport_new_for_tcp_socket): these didn't need the "server"
- argument since they are always client side
-
- * dbus/dbus-server.c (dbus_server_get_address): new function
-
- * bus/main.c (main): take the configuration file as an argument.
-
- * test/data/valid-config-files/debug-allow-all.conf: new file to
- use with dispatch.c tests for example
-
- * bus/test-main.c (main): require test data dir
-
- * bus/bus.c (bus_context_new): change this to take a
- configuration file name as argument
-
- * doc/config-file.txt (Elements): add <servicedir>
-
- * bus/system.conf, bus/session.conf: new files
-
- * dbus/dbus-bus.c (dbus_bus_get): look for system bus on
- well-known socket if none set
-
- * configure.in: create system.conf and session.conf
-
-2003-03-30 Havoc Pennington <hp@pobox.com>
-
- * bus/config-parser.c: hacking
-
- * dbus/dbus-memory.c: don't use DBusList for the list of stuff
- to shut down, since it could cause weirdness with the DBusList
- lock
-
- * dbus/dbus-list.c (_dbus_list_test): add tests for the
- link-oriented stack routines
- (alloc_link): free the mempool if the first alloc from it fails
-
- * dbus/dbus-mempool.c (struct DBusMemBlock): fix alignment issue
-
- * dbus/dbus-string.c (UNICODE_VALID): sync new version of this
- from GLib
- (_dbus_string_skip_white): new
-
- * doc/config-file.txt (Elements): add <includedir>
-
-2003-03-28 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-string.c (_dbus_string_copy_data_len)
- (_dbus_string_copy_data): new functions
-
-2003-03-28 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-bus.c: (bus_data_free), (dbus_bus_get):
- * dbus/dbus-bus.h:
- Add dbus_bus_get.
-
- * dbus/dbus-memory.c:
- Fix a doc comment.
-
-2003-03-28 Havoc Pennington <hp@pobox.com>
-
- * bus/test.c (bus_test_flush_bus): remove the sleep from here,
- I think it may have just been superstition. Not sure.
-
- * dbus/dbus-string.c (_dbus_string_base64_decode): catch some OOM
- failures that were not being handled.
-
- * dbus/dbus-auth.c (process_auth): fix a memleak in OOM handling
-
- * dbus/dbus-memory.c: add ability to set number of mallocs in a
- row that will fail on out-of-memory.
-
- * dbus/dbus-internals.c (_dbus_test_oom_handling): convenience
- function for testing out-of-memory handling.
-
- * bus/config-loader-expat.c (memsuite): don't wrap the dbus
- allocation functions, they do map exactly to the expat ones.
-
-2003-03-27 Havoc Pennington <hp@redhat.com>
-
- * bus/config-loader-libxml.c (bus_config_load): add another error
- check
-
-2003-03-26 Anders Carlsson <andersca@codefactory.se>
-
- * doc/TODO:
- Add note about automatic service activation.
-
- * doc/dbus-specification.sgml:
- Rename the specification and clarify a few things.
-
-2003-03-26 Anders Carlsson <andersca@codefactory.se>
-
- * Doxyfile.in:
- * dbus/dbus-address.c:
- * dbus/dbus-dict.c:
- * dbus/dbus-marshal.c:
- * dbus/dbus-server-debug-pipe.c:
- * dbus/dbus-transport-unix.c:
- Fix documentation warnings.
-
-2003-03-26 Havoc Pennington <hp@pobox.com>
-
- * bus/test-main.c, dbus/dbus-test.c (main): check memleaks
- after every test so it's quick and easy to see which leaked, and
- so we test multiple dbus_shutdown() calls
-
- * configure.in: change configure.in XML stuff to also support
- expat
-
- * config-loader-libxml.c: some hacking
-
- * config-loader-expat.c: some hacking
-
- * config-parser.c: some hacking, plus tests
-
-2003-03-25 Havoc Pennington <hp@redhat.com>
-
- * throughout - add more _DBUS_ASSERT_ERROR_IS_CLEAR
-
- * configure.in: add --with-xml option to specify XML library,
- right now only libxml is supported.
-
- * bus/config-loader-libxml.c, config-parser.c: sync some minor
- nonworking code between home and work, still just stubs
-
-2003-03-24 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-sysdeps.c (_dbus_set_fd_nonblocking): move to this
- file
-
- * dbus/dbus-errors.c (dbus_set_error, dbus_set_error_const): allow
- NULL argument for "message" if the error is a well-known one,
- fill in a generic message in this case.
-
- * dbus/dbus-errors.h (DBusResultCode): Kill DBusResultCode in
- favor of DBusError
-
- * bus/test.c (bus_test_flush_bus): add
-
- * bus/policy.c (bus_policy_test): test code stub
-
-2003-03-24 Havoc Pennington <hp@pobox.com>
-
- * bus/connection.c (bus_connections_setup_connection): set up
- the "can this user connect" function, but it always returns
- TRUE until we have a config file parser so we can have a config
- file that allows connections.
-
-2003-03-23 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-threads.c (dbus_mutex_new, dbus_condvar_new): with
- DBUS_BUILD_TESTS, actually alloc/free a block of memory for
- the mutex, so we can check for proper memory management
- and OOM handling.
-
- * dbus/dbus-dataslot.c: remove the mutex from
- DBusDataSlotAllocator and lock it manually when using it,
- to simplify fitting it into the global slots framework.
-
- * dbus/dbus-threads.c (init_static_locks): rework how we're
- handling global locks so they are easily shut down.
-
- * bus/policy.c (bus_policy_append_rule): fix
-
- * bus/test-main.c (main): check for memleaks
-
- * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): make
- test suite check for memleaks
-
- * dbus/dbus-memory.c: add support in test mode for tracking
- number of outstanding blocks
-
-2003-03-23 Havoc Pennington <hp@pobox.com>
-
- * bus/policy.c, bus/bus.c, bus/connection.c: implement allow/deny
- policies code
-
- * dbus/dbus-hash.h: add ULONG hash keys
-
- * dbus/dbus-sysdeps.c (_dbus_get_groups): new
- (_dbus_get_group_id): new function
-
-2003-03-20 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-connection.c (dbus_connection_set_unix_user_function):
- new function
- (dbus_connection_get_unix_user): new function
-
-2003-03-20 Havoc Pennington <hp@pobox.com>
-
- * bus/connection.c (bus_connection_send_oom_error): assert that
- message has a sender
- (connection_execute_transaction): ditto
- (bus_connection_preallocate_oom_error): fix to set the sender, and
- set recipient to the destination service, not the bus driver
-
- * bus/policy.c: hacking
-
- * dbus/dbus-message.c (dbus_message_service_is): new function
- (dbus_message_sender_is): new
-
-2003-03-19 Havoc Pennington <hp@redhat.com>
-
- * bus/policy.c: start sketching code for policy restrictions on
- what connections can do.
-
-2003-03-18 Havoc Pennington <hp@redhat.com>
-
- * doc/TODO: some notes on high-level todo items. Little nitpick
- stuff is all in @todo, so no need to add it here.
-
- * doc/config-file.txt: some notes on how config file might look
-
-2003-03-18 Anders Carlsson <andersca@codefactory.se>
-
- * configure.in: 0.6
-
- * NEWS: Update.
-
-2003-03-17 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-internals.h: add gcc attributes so that
- our printf-style functions warn on bad arguments to
- format
-
- * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix printf
- format bug
-
- * dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
- printf format bug
-
-2003-03-17 Havoc Pennington <hp@redhat.com>
-
- * bus/test-main.c (main): make it print something as it runs
- so make check doesn't look stuck
-
- * doc/negotiation.txt, doc/dbus-sasl-profile.txt: remove
- from CVS, now obsolete
-
-2003-03-17 Anders Carlsson <andersca@codefactory.se>
-
- * bus/dispatch.c: (bus_dispatch):
- Refetch the service name since it may have been reallocated
- when dbus_message_set_sender was called.
-
- * dbus/dbus-sysdeps.c: (_dbus_accept):
- Add address and address length variables and use them to stop
- valgrind from complaining.
-
-2003-03-17 Havoc Pennington <hp@pobox.com>
-
- All tests pass, no memleaks, no valgrind complaints.
-
- * bus/test.c: refcount handler_slot
-
- * bus/connection.c (bus_connections_new): refcount
- connection_data_slot
-
- * dbus/dbus-auth-script.c (_dbus_auth_script_run): delete unused
- bytes so that auth scripts pass.
-
- * bus/dispatch.c: init message_handler_slot so it gets allocated
- properly
-
- * bus/dispatch.c (message_handler_slot_ref): fix memleak
-
- * dbus/dbus-server-debug-pipe.c (_dbus_server_debug_pipe_new):
- dealloc server_pipe_hash when no longer used for benefit of
- leak checking
-
- * dbus/dbus-auth.c (process_command): memleak fix
-
- * bus/dispatch.c (check_hello_message): memleak fix
-
-2003-03-16 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-bus.c (ensure_bus_data): fix double-unref of the data slot
-
-2003-03-17 Anders Carlsson <andersca@codefactory.se>
-
- * bus/activation.c (bus_activation_activate_service): Append
- the pending activation entry to the list of pending activations.
-
-2003-03-16 Havoc Pennington <hp@pobox.com>
-
- * bus/dispatch.c (bus_dispatch_test): remove double-unrefs of
- connections
-
- * dbus/dbus-address.c (create_entry): fix OOM handling when
- failing to alloc entry->method
-
-2003-03-16 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-watch.c (_dbus_watch_new): handle failure to malloc
- the watch
-
- * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
- add some missing dbus_set_result
-
- * bus/dispatch.c (bus_dispatch_add_connection): handle failure to
- alloc the DBusMessageHandler
-
- * dbus/dbus-transport.c (_dbus_transport_disconnect): don't ref
- the transport here, since we call this from the finalizer; it
- resulted in a double-finalize.
-
- * dbus/dbus-transport.c (_dbus_transport_disconnect): fix a bug
- where we tried to use transport->connection that was NULL,
- happened when transport was disconnected early on due to OOM
-
- * bus/*.c: adapt to handle OOM for watches/timeouts
-
- * dbus/dbus-transport-unix.c: port to handle OOM during
- watch handling
-
- * dbus/dbus-auth.c (_dbus_auth_get_unused_bytes): return a
- reference to unused bytes instead of a copy
-
- * dbus/dbus-server.c (dbus_server_handle_watch): return FALSE for
- out of memory
-
- * dbus/dbus-connection.c (dbus_connection_handle_watch): return
- FALSE on OOM
-
- * dbus/dbus-timeout.c (dbus_timeout_handle): return FALSE for out
- of memory
-
-2003-03-16 Anders Carlsson <andersca@codefactory.se>
-
- * doc/dbus-specification.sgml:
- Document reply message for ActivateService.
-
-2003-03-16 Anders Carlsson <andersca@codefactory.se>
-
- * bus/activation.c: (bus_pending_activation_entry_free),
- (bus_pending_activation_free), (bus_activation_new),
- (bus_activation_unref), (bus_activation_service_created),
- (bus_activation_activate_service):
- * bus/activation.h:
- * bus/bus.c: (bus_context_new):
- * bus/desktop-file.c: (new_section):
- * bus/driver.c: (bus_driver_send_service_deleted),
- (bus_driver_handle_activate_service):
- * bus/services.c: (bus_registry_new), (bus_registry_ensure):
- * bus/services.h:
- * dbus/dbus-connection.c:
- (dbus_connection_send_with_reply_and_block):
- * dbus/dbus-message.c: (dbus_message_append_args_valist):
- * dbus/dbus-protocol.h:
- Make activation work better. Now pending activations will be queued
- and the daemon won't try to activate services that are already registered.
-
-2003-03-16 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-bus.c (ensure_bus_data): handle failure to set
- connection data
-
- * dbus/dbus-memory.c (_dbus_initialize_malloc_debug): support
- DBUS_MALLOC_BACKTRACES to print trace when failing an alloc
-
-2003-03-16 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-string.c (_dbus_string_validate_utf8): oops, unbreak
- this. always run the test suite before commit...
-
- * bus/*: adapt to DBusConnection API changes
-
- * glib/dbus-gmain.c: adapt to DBusConnection API changes,
- requires renaming stuff to avoid dbus_connection_dispatch name
- conflict.
-
- * dbus/dbus-transport.c (_dbus_transport_queue_messages): new
- function
-
- * dbus/dbus-message.c (_dbus_message_loader_queue_messages):
- separate from _dbus_message_loader_return_buffer()
-
- * dbus/dbus-connection.c (dbus_connection_get_n_messages): remove
- this, because it's now always broken to use; the number of
- messages in queue vs. the number still buffered by the message
- loader is undefined/meaningless. Should use
- dbus_connection_get_dispatch_state().
- (dbus_connection_dispatch): rename from
- dbus_connection_dispatch_message
-
-2003-03-16 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-string.c (_dbus_string_validate_utf8): copy in a real
- implementation
-
-2003-03-16 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-connection.c:
- (dbus_connection_send_with_reply_and_block):
- Decrease connection->n_incoming when removing an entry
- from the list.
- * dbus/dbus-dict.c: (dbus_dict_entry_free),
- (dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
- (dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
- (dbus_dict_set_byte_array), (dbus_dict_set_string_array),
- (dbus_dict_get_boolean_array), (dbus_dict_get_double_array),
- (dbus_dict_get_byte_array):
- Handle NULL arrays and strings. Also add support for byte arrays.
-
- * dbus/dbus-marshal.c: (_dbus_marshal_byte_array),
- (_dbus_marshal_dict), (_dbus_demarshal_byte_array),
- (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
- (_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
- (_dbus_demarshal_dict), (demarshal_and_validate_len),
- (_dbus_marshal_validate_arg), (_dbus_marshal_test):
- * dbus/dbus-marshal.h:
- Add support for marshalling and demarshalling empty arrays and strings.
-
- * dbus/dbus-message.c: (dbus_message_append_args_valist),
- (dbus_message_append_string_array),
- (dbus_message_iter_get_boolean),
- (dbus_message_iter_get_boolean_array),
- (dbus_message_iter_get_int32_array),
- (dbus_message_iter_get_uint32_array),
- (dbus_message_iter_get_double_array),
- (dbus_message_iter_get_byte_array),
- (dbus_message_iter_get_string_array), (dbus_message_iter_get_dict),
- (check_message_handling):
- Add support for getting empty arrays and dicts.
-
- * dbus/dbus-string.c: (_dbus_string_validate_utf8):
- Don't do any validation at all for now, that's better than just checking
- for ASCII.
-
- * test/data/valid-messages/emptiness.message:
- New test message with lots of empty arrays.
-
-2003-03-16 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-connection.c
- (_dbus_connection_queue_received_message_link): new function that
- can't fail due to OOM
-
- * dbus/dbus-message.c (_dbus_message_loader_pop_message_link):
- new function pops a message together with a list link
- containing it.
-
- * dbus/dbus-transport-unix.c (queue_messages): use new link-based
- message queuing functions to avoid needing to alloc memory
-
-2003-03-16 Havoc Pennington <hp@pobox.com>
-
- Oops - test code was only testing failure of around 30 of the
- mallocs in the test path, but it turns out there are 500+
- mallocs. I believe this was due to misguided linking setup such
- that there was one copy of dbus_malloc etc. in the daemon and one
- in the shared lib, and only daemon mallocs were tested. In any
- case, the test case now tests all 500+ mallocs, and doesn't pass
- yet, though there are lots of fixes in this patch.
-
- * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
- this so that it doesn't need to allocate memory, since it
- has no way of indicating failure due to OOM (and would be
- annoying if it did).
-
- * dbus/dbus-list.c (_dbus_list_pop_first_link): new function
-
- * bus/Makefile.am: rearrange to create two self-contained
- libraries, to avoid having libraries with overlapping symbols.
- that was resulting in weirdness, e.g. I'm pretty sure there
- were two copies of global static variables.
-
- * dbus/dbus-internals.c: move the malloc debug stuff to
- dbus-memory.c
-
- * dbus/dbus-list.c (free_link): free list mempool if it becomes
- empty.
-
- * dbus/dbus-memory.c (_dbus_disable_mem_pools): new function
-
- * dbus/dbus-address.c (dbus_parse_address): free list nodes
- on failure.
-
- * bus/dispatch.c (bus_dispatch_add_connection): free
- message_handler_slot when no longer using it, so
- memory leak checkers are happy for the test suite.
-
- * dbus/dbus-server-debug-pipe.c (debug_finalize): free server name
-
- * bus/bus.c (new_connection_callback): disconnect in here if
- bus_connections_setup_connection fails.
-
- * bus/connection.c (bus_connections_unref): fix to free the
- connections
- (bus_connections_setup_connection): if this fails, don't
- disconnect the connection, just be sure there are no side
- effects.
-
- * dbus/dbus-string.c (undo_alignment): unbreak this
-
- * dbus/dbus-auth.c (_dbus_auth_unref): free some stuff we were
- leaking
- (_dbus_auth_new): fix the order in which we free strings
- on OOM failure
-
- * bus/connection.c (bus_connection_disconnected): fix to
- not send ServiceDeleted multiple times in case of memory
- allocation failure
-
- * dbus/dbus-bus.c (dbus_bus_get_base_service): new function to
- get the base service name
- (dbus_bus_register_client): don't return base service name,
- instead store it on the DBusConnection and have an accessor
- function for it.
- (dbus_bus_register_client): rename dbus_bus_register()
-
- * bus/dispatch.c (check_hello_message): verify that other
- connections on the bus also got the correct results, not
- just the one sending hello
-
-2003-03-15 Havoc Pennington <hp@pobox.com>
-
- Make it pass the Hello handling test including all OOM codepaths.
- Now to do other messages...
-
- * bus/services.c (bus_service_remove_owner): fix crash when
- removing owner from an empty list of owners
- (bus_registry_ensure): don't leave service in the list of
- a connection's owned services if we fail to put the service
- in the hash table.
-
- * bus/connection.c (bus_connection_preallocate_oom_error): set
- error flag on the OOM error.
-
- * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
- handle _dbus_transport_set_connection failure
-
- * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): modify
- to create watches up front and simply enable/disable them as
- needed.
- (unix_connection_set): this can now fail on OOM
-
- * dbus/dbus-timeout.c, dbus/dbus-watch.c: add concept
- of enabling/disabling a watch or timeout.
-
- * bus/loop.c (bus_loop_iterate): don't touch disabled
- watches/timeouts
-
- * glib/dbus-gmain.c: adapt to enable/disable watches and timeouts
-
-2003-03-15 Havoc Pennington <hp@pobox.com>
-
- * bus/dispatch.c (bus_dispatch_test): OK, now finally actually
- write useful test code, after all that futzing around ;-)
-
- Test does not yet pass because we can't handle OOM in
- _dbus_transport_messages_pending (basically,
- dbus_connection_preallocate_send() does not prealloc the write
- watch). To fix this, I think we need to add new stuff to
- set_watch_functions, namely a SetEnabled function so we can alloc
- the watch earlier, then enable it later.
-
- * dbus/Makefile.am (libdbus_convenience_la_SOURCES): move
- dbus-memory.c to the convenience lib
-
- * bus/test.c: rename some static functions to keep them clearly
- distinct from stuff in connection.c. Handle client disconnection.
-
-2003-03-14 Havoc Pennington <hp@pobox.com>
-
- * bus/dispatch.c (bus_dispatch_test): do test using debug-pipe
- transport, tests more of the real codepath. Set up clients
- with bus_setup_debug_client.
-
- * bus/test.c (bus_setup_debug_client): function to set up debug
- "clients" on the main loop
-
- * dbus/dbus-transport.c (_dbus_transport_open): add debug-pipe
- support
-
- * dbus/dbus-server.c (dbus_server_listen): add debug-pipe
- server type
-
- * dbus/dbus-server-debug.c: support a debug server based on pipes
-
- * dbus/dbus-sysdeps.c (_dbus_full_duplex_pipe): new function
- (_dbus_close): new function
-
- * configure.in: check for socketpair
-
-2003-03-14 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-memory.c: add a "detect buffer overwrites on free"
- cheesy hack
-
- * dbus/dbus-transport-debug.c: rework this a good bit to be
- less complicated. hopefully still works.
-
- * dbus/dbus-server-debug.c (handle_new_client): remove timeout
- manually
-
- * glib/dbus-gmain.c (timeout_handler): don't remove timeout
- after running it
-
- * dbus/dbus-message.c (dbus_message_copy): rename from
- dbus_message_new_from_message, fix it up to copy
- all the message fields, add test case
-
- * bus/dispatch.c (bus_dispatch_test): add some more test code,
- not quite passing yet
-
-2003-03-14 Havoc Pennington <hp@pobox.com>
-
- * bus/loop.c (bus_loop_iterate): add this so we can "run loop
- until no work remains" in test code. (the large diff here
- is just code movement, no actual changes)
-
- * dbus/dbus-server-debug.c (DEFAULT_INTERVAL): change interval to
- 1, no point waiting around for test code.
- (_dbus_server_debug_accept_transport): unref the timeout
- after adding it (right?)
-
- * dbus/dbus-transport-debug.c (DEFAULT_INTERVAL): ditto
-
-2003-03-13 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-timeout.c (_dbus_timeout_list_set_functions): handle
- out of memory
-
- * dbus/dbus-watch.c (_dbus_watch_list_set_functions): handle out
- of memory
-
- * dbus/dbus-connection.h: Make AddWatchFunction and
- AddTimeoutFunction return a bool so they can fail on out-of-memory
-
- * bus/bus.c (bus_context_new): set up timeout handlers
-
- * bus/connection.c (bus_connections_setup_connection): set up
- timeout handlers
-
- * glib/dbus-gmain.c: adapt to the fact that set_functions stuff
- can fail
-
- * bus/bus.c (bus_context_new): adapt to changes
-
- * bus/connection.c: adapt to changes
-
- * test/watch.c: adapt to DBusWatch changes
-
- * bus/dispatch.c (bus_dispatch_test): started adding this but
- didn't finish
-
-2003-03-14 Anders Carlsson <andersca@codefactory.se>
-
- * bus/dispatch.c (send_service_nonexistent_error): Fix typo.
-
-2003-03-13 Havoc Pennington <hp@pobox.com>
-
- * bus/test.c, bus/test.h, bus/Makefile.am, bus/test-main.c:
- set up a test framework as for the library
-
-2003-03-12 Havoc Pennington <hp@pobox.com>
-
- Throughout: purge global variables, introduce BusActivation,
- BusConnections, BusRegistry, etc. objects instead.
-
- * bus/bus.h, bus/bus.c: introduce BusContext as a global
- message bus object
-
- * test/Makefile.am (TEST_BINARIES): disable bus-test for now,
- going to redo this a bit differently I think
-
-2003-03-12 Havoc Pennington <hp@redhat.com>
-
- Mega-patch that gets the message bus daemon initially handling
- out-of-memory. Work still needed. Also lots of random
- moving stuff to DBusError instead of ResultCode.
-
- * dbus/dbus-list.c (_dbus_list_length_is_one): new function
-
- * dbus/dbus-connection.c
- (dbus_connection_send_with_reply_and_block): use DBusError
-
- * dbus/dbus-bus.c: adapt to API changes, make it use DBusError not
- DBusResultCode
-
- * dbus/dbus-connection.c (dbus_connection_send): drop the result
- code here, as the only failure possible is OOM.
-
- * bus/connection.c (bus_connection_disconnect):
- rename bus_connection_disconnected as it's a notification only
-
- * bus/driver.c (bus_driver_handle_acquire_service): don't free
- "name" on get_args failure, should be done by get_args;
- don't disconnect client for bad args, just return an error.
- (bus_driver_handle_service_exists): ditto
-
- * bus/services.c (bus_services_list): NULL-terminate returned array
-
- * bus/driver.c (bus_driver_send_service_lost)
- (bus_driver_send_service_acquired): send messages from driver to a
- specific client to the client's unique name, not to the broadcast
- service.
-
- * dbus/dbus-message.c (decode_header_data): reject messages that
- contain no name field
- (_dbus_message_get_client_serial): rename to
- dbus_message_get_serial and make public
- (_dbus_message_set_serial): rename from set_client_serial
- (_dbus_message_set_reply_serial): make public
- (_dbus_message_get_reply_serial): make public
-
- * bus/connection.c (bus_connection_foreach): allow stopping
- iteration by returning FALSE from foreach function.
-
- * dbus/dbus-connection.c (dbus_connection_send_preallocated)
- (dbus_connection_free_preallocated_send)
- (dbus_connection_preallocate_send): new API for sending a message
- without possibility of malloc failure.
- (dbus_connection_send_message): rename to just
- dbus_connection_send (and same for whole function family)
-
- * dbus/dbus-errors.c (dbus_error_free): make this reinit the error
-
- * dbus/dbus-sysdeps.c (_dbus_exit): new function
-
- * bus/activation.c: handle/return errors
-
- * dbus/dbus-errors.h: add more DBUS_ERROR #define
-
- * dbus/dbus-sysdeps.c (_dbus_directory_open) (_dbus_file_get_contents)
- (_dbus_directory_get_next_file): use DBusError instead of DBusResultCode
- (_dbus_result_from_errno): move to this file
-
-2003-03-10 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-marshal.c:
- (_dbus_marshal_set_string):
- Take a length argument so we can marshal the correct string
- length.
-
- (_dbus_marshal_dict), (_dbus_demarshal_dict),
- (_dbus_marshal_get_arg_end_pos), (_dbus_marshal_validate_arg),
- (_dbus_marshal_test):
- * dbus/dbus-marshal.h:
- Add support for marshalling and demarshalling dicts.
-
- * dbus/dbus-message-builder.c: (_dbus_message_data_load):
- Add support for TYPE DICT.
-
- * dbus/dbus-message.c: (set_string_field):
- Adjust header padding.
-
- (dbus_message_append_args_valist), (dbus_message_append_dict),
- (dbus_message_get_args_valist), (dbus_message_iter_get_arg_type),
- (dbus_message_iter_get_dict), (_dbus_message_loader_return_buffer),
- (check_message_handling), (check_have_valid_message):
- * dbus/dbus-message.h:
- Add functions for setting and getting dicts.
-
- * dbus/dbus-protocol.h:
- Add DBUS_TYPE_DICT.
-
- * dbus/dbus.h:
- Add dbus-dict.h
-
- * doc/dbus-specification.sgml:
- Add information about how dicts are marshalled.
-
- * test/data/invalid-messages/dict-with-nil-value.message:
- * test/data/invalid-messages/too-short-dict.message:
- * test/data/valid-messages/dict-simple.message:
- * test/data/valid-messages/dict.message:
- Add sample messages containing dicts.
-
-2003-03-08 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-dict.h: Add DBUS_END_DECLS.
-
-2003-03-07 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/Makefile.am:
- * dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
- (dbus_dict_get_keys), (insert_entry), (dbus_dict_set_boolean),
- (dbus_dict_set_int32), (dbus_dict_set_uint32),
- (dbus_dict_set_double), (dbus_dict_set_string),
- (dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
- (dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
- (dbus_dict_set_string_array), (_dbus_dict_test):
- * dbus/dbus-dict.h:
- Fix according to comments from Havoc.
-
-2003-03-06 Michael Meeks <michael@server.home>
-
- * configure.in: if we don't have kde-config, disable have_qt.
-
-2003-03-07 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/Makefile.am:
- Add dbus-dict.[ch]
-
- * dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
- (dbus_dict_ref), (dbus_dict_unref), (dbus_dict_contains),
- (dbus_dict_remove), (dbus_dict_get_value_type),
- (dbus_dict_get_keys), (dbus_dict_put_boolean),
- (dbus_dict_put_int32), (dbus_dict_put_uint32),
- (dbus_dict_put_double), (dbus_dict_put_string),
- (dbus_dict_put_boolean_array), (dbus_dict_put_int32_array),
- (dbus_dict_put_uint32_array), (dbus_dict_put_double_array),
- (dbus_dict_put_string_array), (dbus_dict_get_boolean),
- (dbus_dict_get_int32), (dbus_dict_get_uint32),
- (dbus_dict_get_double), (dbus_dict_get_string),
- (dbus_dict_get_boolean_array), (dbus_dict_get_int32_array),
- (dbus_dict_get_uint32_array), (dbus_dict_get_double_array),
- (dbus_dict_get_string_array), (_dbus_dict_test):
- * dbus/dbus-dict.h:
- Add DBusDict implementation
-
- * dbus/dbus-test.c: (dbus_internal_do_not_use_run_tests):
- * dbus/dbus-test.h:
- Add _dbus_dict_test
-
-2003-03-04 Havoc Pennington <hp@pobox.com>
-
- * test/data/auth/*: adapt to changes
-
- * dbus/dbus-auth-script.c (_dbus_auth_script_run): add
- USERID_BASE64 and change USERNAME_BASE64 to put in username not
- userid
-
- * dbus/dbus-keyring.c (_dbus_keyring_validate_context): prevent
- more stuff from being in a context name, to make the protocol
- simpler to deal with
-
- * dbus/dbus-errors.c (dbus_error_has_name): new function
- (dbus_error_is_set): new function
-
- * dbus/dbus-auth.c: replace DBUS_STUPID_TEST_MECH auth
- with DBUS_COOKIE_SHA1, implement DBUS_COOKIE_SHA1
-
- * dbus/dbus-connection.c (dbus_connection_flush): also read
- messages during a flush operation
-
- * dbus/Makefile.am: remove dbus-md5 since it isn't currently used.
-
-2003-03-05 Anders Carlsson <andersca@codefactory.se>
-
- * configure.in: Check for gethostbyname on Solaris.
-
- * dbus/dbus-transport.c: (_dbus_transport_open):
- Remove duplicate "tcp" entry.
-
- * doc/dbus-specification.sgml:
- Clarify some things.
-
-2003-03-05 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-auth.c: (send_rejected), (process_test_subdir):
- * dbus/dbus-keyring.c: (_dbus_keyring_new_homedir),
- (_dbus_keyring_test):
- * dbus/dbus-md5.c: (_dbus_md5_compute):
- * dbus/dbus-sha.c: (_dbus_sha_compute):
- Plug memory leaks.
-
-2003-03-05 Anders Carlsson <andersca@codefactory.se>
-
- * README: Add some things.
-
-2003-03-04 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-message.c (dbus_message_append_args_valist): Add a break;
- after case DBUS_TYPE_BOOELAN.
-
-2003-03-02 Havoc Pennington <hp@pobox.com>
-
- * test/break-loader.c (randomly_set_extreme_ints): add test that
- sets really huge and small integers
-
- * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add check
- that length of boolean array fits in the string, and that
- string has room for boolean value in single-bool case.
-
- * dbus/dbus-message-builder.c (_dbus_message_data_load): add
- optional value to "ALIGN" command which is what to fill the
- alignment with.
-
- * test/data/valid-messages/no-padding.message: add regression
- test for the message padding problem
-
-2003-03-02 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-message.c (decode_header_data): fix to always init
- message_padding, from Benjamin Dauvergne
-
-2003-03-02 Havoc Pennington <hp@pobox.com>
-
- * configure.in: 0.5
-
- * NEWS: Update.
-
-2003-03-01 Joe Shaw <joe@assbarn.com>
-
- * configure.in: Check for "struct cmsgcred" and try to access its
- members for BSD-like unices.
-
- * dbus/dbus-sysdeps.c (read_credentials_byte): Fold this back into
- _dbus_read_credentials_unix_socket().
- (_dbus_read_credentials_unix_socket): Use recvmsg() instead of
- read() for reading the credential byte off the unix socket. Use
- struct cmsgcred on systems that support it.
-
-2003-02-27 Alexander Larsson <alexl@redhat.com>
-
- * glib/Makefile.am:
- * configure.in:
- Make gthreads-2.0 dependency optional. Don't build thread test if
- its not found.
-
-2003-02-27 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-connection.c
- (dbus_connection_send_message_with_reply_and_block): fix doh!
- doh! doh! bug that resulted in never removing a reply from the
- queue, no wonder we called get_reply_serial so much ;-)
-
- * dbus/dbus-message.c (struct DBusMessage): cache reply serial
- and client serial instead of demarshaling them every time
-
-2003-02-27 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-marshal.c (_dbus_demarshal_int32): rewrite to be much
- more inlined, using dbus-string-private.h, speeds things up
- substantially
-
- * dbus/dbus-string.c (_dbus_string_free): apply align offset
- when freeing the string
- (_dbus_string_steal_data): fix for align offset
- (undo_alignment): new function
-
-2003-02-26 Havoc Pennington <hp@redhat.com>
-
- All kinds of audit fixes from Owen, plus initial attempt to
- handle unaligned memory returned from malloc.
-
- * dbus/dbus-string.c (_dbus_string_init): clamp max length to
- leave room for align_offset and nul byte
- (fixup_alignment): function to track an align_offset and
- ensure real->str is aligned
- (DBUS_GENERIC_STRING_PREAMBLE): len must be less than allocated,
- to allow a nul byte plus align offset
- (_dbus_string_lock): fix overflow issue
- (_dbus_string_init_const_len): add assertions on sanity of len,
- assign allocated to be ALLOCATION_PADDING larger than len
- (set_length): fixup the overflow handling
- (_dbus_string_get_data_len): fix overflow in assertion
- (open_gap): detect overflow in size of gap to be opened
- (_dbus_string_lengthen): add overflow check
- (_dbus_string_align_length): fix overflow with _DBUS_ALIGN_VALUE
- (_dbus_string_append): add overflow check
- (_dbus_string_append_unichar): overflow
- (_dbus_string_delete): fix overflow in assertion
- (_dbus_string_copy_len): overflow in assertion
- (_dbus_string_replace_len): overflows in assertions
- (_dbus_string_find): change to implement in terms of
- _dbus_string_find_to
- (_dbus_string_find_to): assorted fixage
- (_dbus_string_equal_c_str): assert c_str != NULL,
- fix logic so the function works
- (_dbus_string_ends_with_c_str): fix overflow thingy
- (_dbus_string_base64_encode): overflow fix
- (_dbus_string_validate_ascii): overflow
- (_dbus_string_validate_nul): overflow
-
-2003-02-26 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-marshal.c (_dbus_marshal_test): fix to work with DISABLE_ASSERTS
-
-2003-02-26 Alexander Larsson <alexl@redhat.com>
-
- * configure.in:
- Set DBUS_GLIB_THREADS_LIBS for apps using gthread-2.0
-
- * dbus/dbus-connection.c:
- * dbus/dbus-connection.h:
- Fix _dbus_connection_acquire_io_path and _dbus_connection_acquire_dispatch.
- Add dbus_connection_set_wakeup_main_function and use it when queueing
- incoming and outgoing messages.
-
-
- * dbus/dbus-dataslot.c:
- Threadsafe usage of DBusDataSlotAllocator
-
- * dbus/dbus-message.c: (dbus_message_get_args_iter):
- dbus_new can fail.
-
- * dbus/dbus-server-unix.c:
- Add todo comment
-
- * glib/dbus-gmain.c:
- Implement the new wakeup functions for glib.
-
- * glib/Makefile.am:
- * glib/test-thread-client.c:
- * glib/test-thread-server.c:
- * glib/test-thread.h:
- Initial cut at some thread test code. Not really done yet.
-
-2003-02-26 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-connection.c
- (dbus_connection_send_message_with_reply_and_block): fix crash
- where we ref'd the outgoing message instead of the returned reply
-
- * dbus/dbus-transport-unix.c (do_authentication): check read watch
- at the end of this function, so if we didn't need to read for
- authentication, we reinstall it for receiving messages
-
- * dbus/dbus-message.c (dbus_message_new_reply): allow replies to
- a NULL sender for peer-to-peer case
-
- * dbus/dbus-transport-unix.c (check_read_watch): handle
- !authenticated case correctly
-
- * glib/dbus-gmain.c: add support for DBusServer
-
- * dbus/dbus-server.c: add data slot support
-
- * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): check
- return values and handle errors
-
- * dbus/dbus-dataslot.c: factor out the data slot stuff from
- DBusConnection
-
- * Doxyfile.in (INPUT): add glib subdir
-
- * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): rename
- setup_with_g_main instead of hookup_with_g_main; write docs
-
-2003-02-24 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-marshal.c: (_dbus_marshal_validate_arg):
- * dbus/dbus-message-builder.c: (_dbus_message_data_load):
- * dbus/dbus-message.c: (dbus_message_append_boolean),
- (dbus_message_append_boolean_array),
- (dbus_message_get_args_valist), (_dbus_message_test):
- * dbus/dbus-message.h:
- * doc/dbus-specification.sgml:
- Various fixes as pointed out by Havoc.
-
- * test/data/invalid-messages/bad-boolean-array.message:
- * test/data/invalid-messages/bad-boolean.message:
- Add invalid boolean value test cases.
-
-2003-02-24 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-internals.c: (_dbus_type_to_string):
- * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
- (_dbus_marshal_validate_arg):
- * dbus/dbus-message-builder.c: (_dbus_message_data_load):
- * dbus/dbus-message.c: (dbus_message_append_args_valist),
- (dbus_message_append_boolean), (dbus_message_append_boolean_array),
- (dbus_message_get_args_valist), (dbus_message_iter_get_boolean),
- (dbus_message_iter_get_int32), (dbus_message_iter_get_uint32),
- (dbus_message_iter_get_double),
- (dbus_message_iter_get_boolean_array), (message_iter_test):
- * dbus/dbus-message.h:
- * dbus/dbus-protocol.h:
- * doc/dbus-specification.sgml:
- * test/data/valid-messages/lots-of-arguments.message:
- Add support for boolean and boolean array types.
-
-2003-02-23 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-keyring.c: finish most of this implementation and
- simple unit test
-
- * dbus/dbus-errors.c (dbus_set_error_const, dbus_set_error): make
- these barf if the error isn't cleared to NULL
-
- * dbus/dbus-sysdeps.c (_dbus_delete_file): set error on failure
- (_dbus_create_directory): new function
-
- * dbus/dbus-errors.c (dbus_set_error): fix warning
-
- * dbus/dbus-string.c (_dbus_string_hex_encode): new function
- (_dbus_string_hex_decode): new function
- (test_hex_roundtrip): test code
-
- * dbus/dbus-sha.c (_dbus_sha_compute): use dbus_string_hex_encode
-
- * dbus/dbus-md5.c (_dbus_md5_compute): use dbus_string_hex_encode
-
- * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): make this use
- the save-to-temp/rename trick to atomically write the new file
- (_dbus_string_parse_uint): new function
-
-2003-02-22 Havoc Pennington <hp@pobox.com>
-
- * test/Makefile.am (dist-hook): fix dist for test/data/sha-1
-
-2003-02-22 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-message.c (dbus_message_iter_get_string_array):
- (dbus_message_iter_get_byte_array): Fix up doxygen warnings
-
- * dbus/dbus-sha.c: add implementation of SHA-1 algorithm
-
- * dbus/test/data/sha-1: add US government test suite for SHA-1
-
-2003-02-21 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
- Make string arrays NULL-terminated.
-
- * dbus/dbus-memory.c: (dbus_free_string_array):
- * dbus/dbus-memory.h:
- New function for freeing NULL-terminated string arrays.
-
- * dbus/dbus-message-builder.c: (append_quoted_string),
- (_dbus_message_data_load):
- Add support for array types.
-
- * dbus/dbus-message.c: (check_message_handling):
- Add more types as test cases.
-
- * dbus/dbus-sysdeps.c: (_dbus_string_parse_int),
- (_dbus_string_parse_double):
- Add the start offset to the end offset.
-
- * test/data/valid-messages/lots-of-arguments.message:
- New test message with lots of arguments.
-
-2003-02-21 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-message.c: (dbus_message_append_nil),
- (dbus_message_append_int32), (dbus_message_append_uint32),
- (dbus_message_append_double), (dbus_message_append_string),
- (dbus_message_append_int32_array),
- (dbus_message_append_uint32_array),
- (dbus_message_append_double_array),
- (dbus_message_append_byte_array),
- (dbus_message_append_string_array):
- Fix all out-of-memory handling in these functions.
-
-2003-02-21 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-message.c: (dbus_message_append_nil):
- Fix a silly.
-
-2003-02-21 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-message.c: (dbus_message_append_args_valist),
- (dbus_message_append_nil), (dbus_message_append_int32_array),
- (dbus_message_append_uint32_array),
- (dbus_message_append_double_array),
- (dbus_message_append_byte_array),
- (dbus_message_append_string_array), (dbus_message_get_args_valist),
- (dbus_message_iter_get_int32_array),
- (dbus_message_iter_get_uint32_array),
- (dbus_message_iter_get_double_array),
- (dbus_message_iter_get_byte_array),
- (dbus_message_iter_get_string_array):
-
- * dbus/dbus-message.h:
- Add functions for appending and getting arrays.
-
-2003-02-21 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-mempool.c (_dbus_mem_pool_new): Make the
- element size at least 8 bytes, fixes mempool tests on
- 64-bit machines.
-
-2003-02-20 Alexander Larsson <alexl@redhat.com>
-
- * dbus/dbus-transport-unix.c (unix_do_iteration):
- Unlock the connection mutex during a blocking select call.
- Add todo about how we need a way to wake up the select.
-
- * dbus/dbus-connection-internal.h:
- * dbus/dbus-connection.c:
- Add _dbus_connection_lock and _dbus_connection_unlock.
-
-2003-02-19 Havoc Pennington <hp@pobox.com>
-
- * Doxyfile.in (PREDEFINED): put DOXYGEN_SHOULD_SKIP_THIS in
- Doxyfile.in, not Doxyfile
-
- * dbus/dbus-keyring.c: do some hacking on this
-
- * dbus/dbus-sysdeps.c (_dbus_delete_file): new
-
- * dbus/dbus-errors.c (dbus_set_error_const): do not call
- dbus_error_init
- (dbus_set_error): remove dbus_error_init, check for message ==
- NULL *before* we sprintf into it, and add @todo about including
- system headers in this file
-
- * dbus/dbus-sysdeps.c (_dbus_create_file_exclusively): new
-
- * dbus/dbus-errors.h (DBUS_ERROR_FAILED): add
-
- * dbus/dbus-sysdeps.c (get_user_info): break this function out to
- get various bits of user information based on either username
- or user ID
- (_dbus_homedir_from_username): new function
-
-2003-02-19 Anders Carlsson <andersca@codefactory.se>
-
- * configure.in:
- Add check for nonposix getpwnam_r
-
- * dbus/dbus-mempool.c: (_dbus_mem_pool_new):
- Align the pool element size to a sizeof (void *) boundary.
-
- * dbus/dbus-sysdeps.c: (_dbus_setenv), (_dbus_connect_unix_socket),
- (_dbus_listen_unix_socket), (_dbus_credentials_from_username):
- General Solaris fixes.
-
- * test/data/valid-messages/simplest-manual.message:
- Explicitly state that we want little-endian packing.
-
-2003-02-19 Mikael Hallendal <micke@codefactory.se>
-
- * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
-
- * dbus/dbus-transport-unix.c (_dbus_transport_new_for_tcp_socket):
- Added to create a transport connecting using a tcp/ip socket.
-
- * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): Added to connect
- to a tcp socket at given host and port.
- (_dbus_listen_tcp_socket): added to listen on tcp socket for given
- hostname and port.
-
- * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
-
- * dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
- Added to create a server listening on a TCP/IP socket.
-
-2003-02-19 Havoc Pennington <hp@pobox.com>
-
- Throughout: mop up all the Doxygen warnings and undocumented
- stuff.
-
- * dbus/dbus-sysdeps.c (do_exec): do not use execvp, we don't want
- to search any paths.
-
- * dbus/dbus-threads.c: move global mutex initializers to
- dbus-internals.h, multiple prototypes was confusing doxygen
- besides being kind of ugly
-
- * Doxyfile (PREDEFINED): have Doxygen define
- DOXYGEN_SHOULD_SKIP_THIS so we can exclude things from
- docs with #ifndef DOXYGEN_SHOULD_SKIP_THIS
- (do not abuse the feature! it's for stuff like the autogenerated
- macros in dbus-md5.c, not just for things you don't feel like
- documenting...)
-
-2003-02-18 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-string.c (_dbus_string_zero): new function
-
- * dbus/dbus-md5.c: include MD5 implementation by L. Peter Deutsch,
- wrap it in some dbus-friendly API
-
- * dbus/dbus-types.h: add 16-bit types
-
-2003-02-18 Joe Shaw <joe@assbarn.com>
-
- * dbus/dbus-auth.c (handle_server_data_stupid_test_mech): Just get
- credentials from our currently running process.
- (get_word): Fix a buglet where we were copying the entire length
- instead of relative to our position.
-
- * dbus/dbus-hash.c (_dbus_hash_test): Don't try to allocate the
- keys on the stack... it's 640k of data.
-
- * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): Always
- read the credentials byte off the socket, even if we don't have
- SO_PEERCRED.
- (_dbus_poll): Implement poll() using select() for systems which
- don't have it.
-
- * glib/test-dbus-glib.c (main): Print out an error if no
- parameters are given.
-
- * test/data/auth/fallback.auth-script: Added. Tests that a client
- can fallback to a secondary auth mechanism if the first fails.
-
-2003-02-18 Havoc Pennington <hp@pobox.com>
-
- * AUTHORS: add Alex
-
-2003-02-17 Havoc Pennington <hp@pobox.com>
-
- * doc/dbus-specification.sgml: lots of cosmetic
- cleanups/rearrangement, add assorted FIXME, change DBUS_ADDRESS
- env variable to DBUS_BUS_ADDRESS, s/client/application/,
- s/server/bus/ (except in authentication section). Add a section
- "Message Bus Message Routing"
-
-2003-02-17 Anders Carlsson <andersca@codefactory.se.>
-
- Release 0.4
-
- * NEWS: Update
-
-2003-02-17 Anders Carlsson <andersca@codefactory.se>
-
- * doc/dbus-specification.sgml:
- Specification updates.
-
-2003-02-17 Anders Carlsson <andersca@codefactory.se>
-
- * bus/activation.c: (bus_activation_init), (child_setup),
- (bus_activation_activate_service):
- * bus/activation.h:
- * bus/main.c: (main):
- Set DBUS_ADDRESS environment variable.
-
- * dbus/dbus-errors.c: (dbus_set_error):
- Don't use va_copy since that's a C99 feature.
-
- * dbus/dbus-sysdeps.c: (_dbus_setenv), (do_exec),
- (_dbus_spawn_async):
- * dbus/dbus-sysdeps.h:
- Add child_setup_func to _dbus_spawn_async.
-
- * doc/dbus-specification.sgml:
- Update specification.
-
- * test/spawn-test.c: (setup_func), (main):
- Fix test.
-
-2003-02-17 Alexander Larsson <alexl@redhat.com>
-
- * dbus/dbus-connection.c (_dbus_connection_handler_destroyed_locked):
- Added todo.
-
-2003-02-17 Anders Carlsson <andersca@codefactory.se>
-
- * doc/.cvsignore:
- * doc/Makefile.am:
- * doc/dbus-test-plan.sgml:
- Add test plan document.
-
- * test/Makefile.am:
- Fix distcheck.
-
-2003-02-17 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-message.c: (decode_header_data),
- (_dbus_message_loader_return_buffer):
- Set the header padding amount when loading a message.
-
-2003-02-16 Anders Carlsson <andersca@codefactory.se>
-
- * bus/dispatch.c: (send_one_message):
- Only send broadcast messages to registered connections.
-
- * dbus/dbus-message.c: (dbus_message_name_is):
- * dbus/dbus-message.h:
- New convenience function.
-
- * dbus/dbus-transport-debug.c: (do_reading):
- Only dispatch one message per run.
-
- * test/Makefile.am:
- * test/bus-test.c: (new_connection_callback), (die),
- (test_hello_client1_handler), (test_hello_client2_handler),
- (test_hello_replies), (main):
-
- * test/bus-test-loop.[ch]:
- Add these.
-
-2003-02-16 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
- backward conditional
-
-2003-02-16 Alexander Larsson <alexl@redhat.com>
-
- * dbus/dbus-connection.c:
- Implement sent_message_with_reply. (with_reply_and block is still
- busted).
- Made dispatch_message not lose message if OOM.
-
- * dbus/dbus-errors.h:
- Add NoReply error (for reply timeouts).
-
-2003-02-16 Alexander Larsson <alexl@redhat.com>
-
- * dbus/dbus-hash.c (_dbus_hash_table_unref):
- Actually free keys and values when destroying hashtable.
-
-2003-02-16 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-auth.c: (client_try_next_mechanism):
- Plug a leak.
-
- * dbus/dbus-threads.c: (dbus_condvar_wait_timeout):
- Return TRUE if there's no thread implementation around.
-
- * glib/dbus-gmain.c: (free_source),
- (dbus_connection_hookup_with_g_main):
- Make sure to remove the GSource when the connection is finalized.
-
-2003-02-16 Anders Carlsson <andersca@codefactory.se>
-
- * bus/dispatch.c: (bus_dispatch_message_handler):
- * dbus/dbus-errors.h:
- Return an error if someone tries to send a message to a service
- that doesn't exist.
-
-2003-02-16 Anders Carlsson <andersca@codefactory.se>
-
- * bus/activation.c: (load_directory), (bus_activation_init),
- (bus_activation_activate_service):
- * bus/activation.h:
- * bus/driver.c:
- (bus_driver_handle_activate_service), (bus_driver_handle_message):
- More work on the activation handling.
-
- * dbus/dbus-errors.h:
- Add some error messages
-
- * dbus/dbus-message.c: (dbus_message_new_error_reply):
- * dbus/dbus-message.h:
- New function that creates an error message.
-
- * dbus/dbus-protocol.h:
- Add ACTIVATE_SERVER message.
-
- * dbus/dbus-server-unix.c: (unix_handle_watch),
- (_dbus_server_new_for_domain_socket):
- Call _dbus_fd_set_close_on_exec.
-
- * dbus/dbus-sysdeps.c: (make_pipe), (do_exec),
- (_dbus_spawn_async), (_dbus_disable_sigpipe),
- (_dbus_fd_set_close_on_exec):
- * dbus/dbus-sysdeps.h:
- Add _dbus_fd_set_close_on exec function. Also add function that checks
- that all open fds are set to close-on-exec and warns otherwise.
-
- * dbus/dbus-transport-unix.c:
- (_dbus_transport_new_for_domain_socket):
- Call _dbus_fd_set_close_on_exec.
-
-2003-02-16 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-connection.c (dbus_connection_set_change_sigpipe):
- allow people to avoid setting SIGPIPE to SIG_IGN
- (_dbus_connection_new_for_transport): disable SIGPIPE unless
- we've been asked not to
-
-2003-02-15 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-list.c: (_dbus_list_append_link),
- (_dbus_list_prepend_link):
- * dbus/dbus-memory.c: (dbus_malloc), (dbus_malloc0),
- (dbus_realloc):
- Warning fixes.
-
-2003-02-15 Anders Carlsson <andersca@codefactory.se>
-
- * bus/Makefile.am:
- * bus/activation.c: (bus_activation_entry_free),
- (add_desktop_file_entry), (load_directory), (bus_activation_init):
- * bus/activation.h:
- * bus/main.c: (main):
- Add simple activation support, doesn't work yet though.
-
-2003-02-15 Zack Rusin <zack@kde.org>
-
- * qt/dbus-qthread.cpp: small casting fix
-
-2003-02-15 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-errors.c: (dbus_set_error):
- * dbus/dbus-errors.h:
- Add a few errors and make dbus_set_error void.
-
- * dbus/dbus-sysdeps.c:
- (_dbus_errno_to_string), (close_and_invalidate), (make_pipe),
- (write_err_and_exit), (read_ints), (do_exec), (_dbus_spawn_async):
- * dbus/dbus-sysdeps.h:
- Add _dbus_spawn_async.
-
- * test/spawn-test.c: (main):
- Test for _dbus_spawn_async.
-
-2003-02-15 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-internals.h:
- Fix build without tests.
-
- * dbus/dbus-list.c: (alloc_link):
- Fix a segfault when a malloc fails.
-
- * dbus/dbus-memory.c: (initialize_malloc_debug), (dbus_malloc),
- (dbus_malloc0), (dbus_realloc):
- Add support for malloc debugging.
-
-2003-02-15 Alexander Larsson <alexl@redhat.com>
-
- * dbus/dbus-threads.c:
- * dbus/dbus-threads.h:
- Add condvars. Remove static mutext from API.
- Implement static mutexes by initializing them from threads_init.
-
- * glib/dbus-gthread.c:
- * qt/dbus-qthread.cpp:
- Update with the thread api changes.
-
-
- * dbus/dbus-list.c:
- * dbus/dbus-list.h:
- Turn StaticMutex into normal mutex + init function.
- Export new functions _dbus_list_alloc_link, _dbus_list_free_link,
- _dbus_list_append_link, _dbus_list_prepend_link
-
-
- * dbus/dbus-sysdeps.c:
- * dbus/dbus-sysdeps.h:
- New type dbus_atomic_t, and new functions _dbus_atomic_inc,
- _dbus_atomic_dec. Only slow fallback implementation at the moment.
-
- * dbus/dbus-protocol.h:
- Add DBUS_MESSAGE_LOCAL_DISCONNECT define
-
- * dbus/dbus-message.c:
- Make ref/unref atomic.
- Fix some docs.
-
- * dbus/dbus-connection-internal.h:
- * dbus/dbus-connection.c:
- * dbus/dbus-connection.h:
- Make threadsafe.
- Change _peek to _borrow,_return & _steal_borrowed.
- Change disconnect callback to event.
- Make dbus_connection_dispatch_messages reentrant.
-
- * dbus/dbus-transport.c:
- Don't ref the connection on calls to the transport
- implementation.
-
- * dbus/dbus-message-handler.c:
- Make threadsafe.
-
- * glib/dbus-gmain.c:
- Don't use peek_message anymore
-
- * test/Makefile.am:
- * test/debug-thread.c:
- * test/debug-thread.h:
- Simple thread implementation that asserts() on deadlocks in
- single-threaded code.
-
- * test/bus-test.c:
- (main) Call debug_threads_init.
-
- * test/watch.c:
- Use disconnect message instead of disconnect callback.
-
- * bus/connection.c:
- * bus/connection.h:
- Don't call dbus_connection_set_disconnect_function. Instead export
- bus_connection_disconnect.
-
- * bus/dispatch.c:
- Call bus_connection_disconnect when we get a disconnected message.
-
-2003-02-15 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-message.c (dbus_message_new): fool around with the
- docs
-
-2003-02-14 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-mempool.c: fail if the debug functions so indicate
-
- * dbus/dbus-memory.c: fail if the debug functions indicate we
- should
-
- * dbus/dbus-internals.c (_dbus_set_fail_alloc_counter)
- (_dbus_decrement_fail_alloc_counter): debug functions to
- simulate memory allocation failures
-
-2003-02-14 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-errors.h (struct DBusError): add a word of padding
- to DBusError
-
-2003-02-13 Anders Carlsson <andersca@codefactory.se>
-
- * bus/driver.c: (bus_driver_handle_hello):
- * bus/driver.h:
- * bus/services.c: (bus_service_lookup):
- Reorder message sending so we get a more sane order.
-
- * test/bus-test.c: (message_handler):
- Fix tyop.
-
-2003-02-13 Anders Carlsson <andersca@codefactory.se>
-
- * 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_handle_hello),
- (bus_driver_send_welcome_message),
- (bus_driver_handle_list_services),
- (bus_driver_handle_acquire_service),
- (bus_driver_handle_service_exists):
- * dbus/dbus-bus.c: (dbus_bus_register_client),
- (dbus_bus_acquire_service), (dbus_bus_service_exists):
- * dbus/dbus-errors.c: (dbus_result_to_string):
- * dbus/dbus-errors.h:
- * dbus/dbus-message.c: (dbus_message_append_args),
- (dbus_message_append_args_valist), (dbus_message_get_args),
- (dbus_message_get_args_valist), (dbus_message_get_args_iter),
- (dbus_message_iter_get_arg_type), (dbus_message_iter_get_string),
- (dbus_message_iter_get_byte_array),
- (dbus_message_iter_get_string_array), (message_iter_test),
- (check_message_handling), (_dbus_message_test):
- * dbus/dbus-message.h:
- * test/bus-test.c: (main):
- Change fields to arguments in messages, so that they won't be
- confused with header fields.
-
- * glib/test-dbus-glib.c: (main):
- Remove append_fields from hello message.
-
-2003-02-13 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-errors.c:
- * dbus/dbus-message.c:
- * dbus/dbus-string.c:
- Documentation fixes.
-
-2003-02-13 Anders Carlsson <andersca@codefactory.se>
-
- * glib/dbus-gmain.c: (timeout_handler), (add_timeout),
- (remove_timeout):
- Implement support for timeouts in dbus-glib.
-
-2003-02-13 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-message-builder.c: (_dbus_message_data_load):
- * dbus/dbus-message.c: (process_test_subdir):
- * test/break-loader.c: (find_breaks_based_on):
- Plug some memory leaks.
-
-2003-02-13 Richard Hult <rhult@codefactory.se>
-
- * bus/main.c: Fix build.
-
- * dbus/dbus-errors.h:
- * dbus/dbus-errors.c: Fix copyright for Anders.
-
-2003-02-13 Anders Carlsson <andersca@codefactory.se>
-
- * bus/Makefile.am:
- Add utils.[ch]
-
- * bus/connection.c: (bus_connection_foreach):
- Fix a warning.
-
- * bus/desktop-file.c: (grow_lines_in_section), (grow_sections),
- (unescape_string), (new_section), (parse_section_start),
- (parse_key_value), (report_error), (bus_desktop_file_load),
- (bus_desktop_file_get_string):
- * bus/desktop-file.h:
- Use DBusError for error reporting.
-
- * bus/dispatch.c: (send_one_message),
- (bus_dispatch_message_handler):
- * 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_handle_hello),
- (bus_driver_send_welcome_message),
- (bus_driver_handle_list_services),
- (bus_driver_handle_acquire_service),
- (bus_driver_handle_service_exists):
- * bus/loop.c: (bus_loop_run):
- * bus/main.c:
- Use BUS_HANDLE_OOM instead of _DBUS_HANDLE_OOM.
-
- * bus/utils.c: (bus_wait_for_memory):
- * bus/utils.h:
- New files with general utility functions.
-
- * dbus/dbus-internals.h:
- Remove _DBUS_HANDLE_OOM.
-
-2003-02-13 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-errors.c: (dbus_result_to_string), (dbus_error_init),
- (dbus_error_free), (dbus_set_error_const), (dbus_set_error):
- * dbus/dbus-errors.h:
- Add DBusError structure.
-
-2003-02-13 Anders Carlsson <andersca@codefactory.se>
-
- * test/data/valid-messages/standard-acquire-service.message:
- * test/data/valid-messages/standard-hello.message:
- * test/data/valid-messages/standard-list-services.message:
- * test/data/valid-messages/standard-service-exists.message:
- Add some standard messages.
-
-2003-02-13 Anders Carlsson <andersca@codefactory.se>
-
- * bus/driver.c: (bus_driver_send_welcome_message),
- (bus_driver_handle_list_services),
- (bus_driver_handle_acquire_service),
- (bus_driver_handle_service_exists), (bus_driver_handle_message):
- Update for API changes in libdbus.
-
- * dbus/dbus-message.c: (dbus_message_new_reply):
- * dbus/dbus-message.h:
- Remove the name argument. The spec states that replies shouldn't
- have a name.
-
-2003-02-13 Anders Carlsson <andersca@codefactory.se>
-
- * bus/desktop-file.c: (parse_section_start), (parse_key_value),
- (report_error), (bus_desktop_file_load), (lookup_section),
- (lookup_line), (bus_desktop_file_get_raw),
- (bus_desktop_file_get_string):
- * bus/desktop-file.h:
- Some fixes, and new functions for getting a key value from a section.
-
-2003-02-13 Havoc Pennington <hp@pobox.com>
-
- * test/data/auth/fail-after-n-attempts.auth-script: new test
-
- * dbus/dbus-auth.c (send_rejected): shutdown_mech() when we
- reject the client.
-
-2003-02-13 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-auth.c (handle_server_data_external_mech): args to
- dbus_credentials_match were backward
-
- * dbus/dbus-auth-script.c (_dbus_auth_script_run): support
- NO_CREDENTIALS and ROOT_CREDENTIALS
-
- * dbus/dbus-auth.c (_dbus_auth_do_work): move get_state() routine
- into here. Never process more commands after we've reached an
- end state; store further data as unused bytes.
-
- * test/data/auth/*: add more auth tests
-
- * dbus/dbus-auth-script.c (_dbus_auth_script_run): support EXPECT
- command to match exact string and EXPECT_UNUSED to match unused
- bytes
-
- * test/Makefile.am (dist-hook): fix to dist all the test stuff
-
-2003-02-12 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-string.c (_dbus_string_pop_line): fix to also strip
- \r off of popped lines
-
- * dbus/dbus-auth.c (_dbus_auth_test): write code to run auth
- scripts
-
- * dbus/dbus-auth-script.c (_dbus_auth_script_run): when doing a
- SEND, append \r\n
-
-2003-02-12 Havoc Pennington <hp@pobox.com>
-
- * dbus/Makefile.am: remove break-loader from the build, since it
- moved.
-
- * configure.in: add --enable-gcov to turn on coverage profiling
- flags and disable optimization
-
-2003-02-10 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-auth-script.c, dbus/dbus-auth-script.h: sync
- initial cut at test framework for DBusAuth from laptop.
- Doesn't quite work yet but it compiles and I need to get
- it off the 266mhz laptop. ;-)
-
- * dbus/dbus-server-debug.c (_dbus_server_debug_accept_transport):
- fix a memleak in error case
-
-2003-02-12 Anders Carlsson <andersca@codefactory.se>
-
- * bus/Makefile.am:
- * bus/desktop-file.c:
- * bus/desktop-file.h:
- Add a desktop file parser.
-
-2003-02-11 Zack Rusin <zack@kde.org>
-
- * qt/message.[h|cpp]: sample implementation
- of the KDE wrapper for DBusMessage
-
-2003-02-09 Zack Rusin <zack@kde.org>
-
- * test/bus-test.c: make_it_compile
- * doc/dbus-specification.sgml: minimal semantic fix
-
-2003-02-06 Anders Carlsson <andersca@codefactory.se>
-
- Release 0.3
-
- * NEWS: Update
-
-2003-02-06 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/Makefile.am:
- * dbus/dbus-break-loader.c:
- * test/Makefile.am:
- * test/break-loader.c:
- Move dbus-break-loader to test/ and rename it to break-loader.
-
-2003-02-02 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-keyring.c, dbus/dbus-keyring.h: template files
- for code to manage cookies in your home directory
-
- * dbus/dbus-sysdeps.c (_dbus_generate_random_bytes): new function
-
- * dbus/dbus-auth.c (get_state): impose a maximum number of tries
- to authenticate, then disconnect the client.
-
-2003-02-03 Alexander Larsson <alexl@redhat.com>
-
- * dbus/dbus-message.c (dbus_message_append_fields):
- Correct docs.
-
-2003-02-02 Anders Carlsson <andersca@codefactory.se>
-
- * doc/dbus-specification.sgml:
- Update address format section.
-
-2003-02-02 Anders Carlsson <andersca@codefactory.se>
-
- * test/Makefile.am:
- * test/bus-test.c: (get_time), (add_timeout), (remove_timeout),
- (message_handler), (new_connection_callback), (loop_quit),
- (loop_run), (main):
- Add bus test.
-
-2003-02-02 Anders Carlsson <andersca@codefactory.se>
-
- * bus/driver.c: (bus_driver_handle_service_exists):
- Simplify the code a bit.
-
- * dbus/dbus-bus.c: (dbus_bus_service_exists):
- Fix a silly.
-
-2003-02-02 Anders Carlsson <andersca@codefactory.se>
-
- * bus/Makefile.am:
- Add libdbus-daemon.la and link to it.
-
-2003-02-01 James Willcox <jwillcox@gnome.org>
-
- * bus/driver.c: (bus_driver_handle_own_service):
- Actually include the service reply code in the message.
-
-2003-02-02 Anders Carlsson <andersca@codefactory.se>
-
- * bus/driver.c: (bus_driver_handle_service_exists):
- Don't unref the incoming message.
-
-2003-02-02 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus.h: Add dbus-address.h and dbus-bus.h
-
-2003-02-02 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-server.c: (dbus_server_listen):
- * dbus/dbus-transport.c: (_dbus_transport_open):
- ifdef out the calls to the debug transport and server.
-
-2003-02-02 Alexander Larsson <alexl@redhat.com>
-
- * dbus/dbus-watch.c (dbus_watch_get_flags):
- Add note in the docs that ERROR or HANGUP won't be returned
- and are assumed always on.
-
- * glib/dbus-gmain.c (add_watch):
- Always add IO_ERR | IO_HUP
-
- * dbus/dbus-message.h:
- Add semicolon after dbus_message_iter_get_string_array().
- Makes qt code build again
-
-2003-02-01 Anders Carlsson <andersca@codefactory.se>
-
- * bus/driver.c: (create_unique_client_name),
- (bus_driver_handle_hello):
- Don't take a name, just use a numeric id to identify
- each client.
-
- * dbus/Makefile.am:
- * dbus/dbus-bus.c: (dbus_bus_register_client),
- (dbus_bus_acquire_service), (dbus_bus_service_exists):
- * dbus/dbus-bus.h:
- Add new convenience functions for communicating with the bus.
-
- * dbus/dbus-message.h:
-
- * dbus/dbus-protocol.h:
- Fix a typo.
-
-2003-02-01 Alexander Larsson <alexl@redhat.com>
-
- * dbus/dbus-message.c (dbus_message_append_fields):
- Add some more doc comments.
-
-2003-02-01 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-break-loader.c (randomly_modify_length): change
- a 4-byte value in the message as if it were a length
-
- * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): don't set
- execute bit on saved files
-
-2003-02-01 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-break-loader.c (main): new program to find messages
- that break the loader.
-
- * dbus/dbus-sysdeps.c (_dbus_string_append_uint): new function
- * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): new function
-
- * dbus/dbus-string.c (_dbus_string_set_byte): new
-
-2003-01-31 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-message.c: refactor the test code to be more general,
- in preparation for writing a "randomly permute test cases to
- try to break the loader" program.
-
-2003-01-31 Havoc Pennington <hp@pobox.com>
-
- * doc/dbus-specification.sgml: work on the specification
-
- * dbus/dbus-message.c (_dbus_message_loader_return_buffer): check
- the protocol version of the message.
-
- * dbus/dbus-protocol.h: drop special _REPLY names, the spec
- no longer specifies that.
- (DBUS_SERVICE_REPLY_SERVICE_EXISTS): fix flags (1/2/4/8 not
- 1/2/3/4)
-
- * dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos): add missing
- "break" for DBUS_TYPE_NIL, remove @todo
-
-2003-01-31 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-message.c (dbus_message_set_is_error_reply): rename
- just set_is_error/get_is_error as this is a commonly-used
- function, and write docs.
-
-2003-01-31 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-address.c: (dbus_address_entry_free):
- Free key and value lists.
-
- * dbus/dbus-internals.c: (_dbus_type_to_string):
- Add the types we didn't have.
-
- * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
- (_dbus_marshal_validate_arg):
- Add NIL types.
-
- * dbus/dbus-message.c: (dbus_message_set_sender):
- Remove todo about being able to set sender to NULL.
-
- (dbus_message_set_is_error_reply),
- (dbus_message_get_is_error_reply):
- * dbus/dbus-message.h:
- New functions.
-
- * dbus/dbus-protocol.h:
- Add error reply flag.
-
- * test/data/valid-messages/opposite-endian.message:
- Add NIL type to test.
-
-2003-01-31 Havoc Pennington <hp@pobox.com>
-
- * doc/dbus-specification.sgml: fully specify the header. Add
- flags and major protocol version, and change header/body len to
- unsigned.
-
- * dbus/dbus-message-builder.c (append_saved_length): append length
- as uint32
-
- * dbus/dbus-message.c (dbus_message_create_header): change header
- length and body length to unsigned. Add the new fields from the
- spec
- (_dbus_message_loader_return_buffer): unsigned header/body len
-
-2003-01-30 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-auth.c: rework to use only REJECTED, no
- MECHANISMS
-
- * doc/dbus-sasl-profile.txt: drop MECHANISMS and just
- use REJECTED, suggested by Mark McLoughlin
-
-2003-01-30 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-server.c (dbus_server_listen): @todo about how we need
- a better way to report errors here. e.g. "unix address lacks
- path" or something. also "no such file" when the path doesn't
- exist, etc.
-
- * dbus/dbus-address.c (dbus_address_entries_free): add @todo about
- leaking list nodes
- (dbus_parse_address): add @todo about documenting address format,
- and allowing , and ; to be escaped
-
-2003-01-30 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/Makefile.am:
- Add dbus-address.[ch]
-
- * dbus/dbus-address.c: (dbus_address_entry_free),
- (dbus_address_entries_free), (create_entry),
- (dbus_address_entry_get_method), (dbus_address_entry_get_value),
- (dbus_parse_address), (_dbus_address_test):
- * dbus/dbus-address.h:
- New files for dealing with address parsing.
-
- * dbus/dbus-connection.c:
- Document timeout functions.
-
- * dbus/dbus-message.c:
- Document dbus_message_new_from_message.
-
- * dbus/dbus-server-debug.c:
- Document.
-
- * dbus/dbus-server.c: (dbus_server_listen):
- Parse address and use correct server implementation.
-
- * dbus/dbus-string.c: (_dbus_string_find_to), (_dbus_string_test):
- * dbus/dbus-string.h:
- New function with test.
-
- * dbus/dbus-test.c: (dbus_internal_symbol_do_not_use_run_tests):
- * dbus/dbus-test.h:
- Add address tests.
-
- * dbus/dbus-transport-debug.c:
- Document.
-
- * dbus/dbus-transport.c: (_dbus_transport_open):
- Parse address and use correct transport implementation.
-
-2003-01-30 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-message.c: use message->byte_order instead of
- DBUS_COMPILER_BYTE_ORDER throughout.
- (dbus_message_create_header): pad header to align the
- start of the body of the message to 8-byte boundary
-
- * dbus/dbus-marshal.h: make all the demarshalers take const
- DBusString arguments.
-
- * dbus/dbus-message.c (_dbus_message_loader_return_buffer):
- validate message args here, so we don't have to do slow validation
- later, and so we catch bad messages as they are incoming. Also add
- better checks on header_len and body_len. Also fill in
- message->byte_order
-
- * dbus/dbus-string.c (_dbus_string_validate_utf8): new (not
- implemented properly)
- (_dbus_string_validate_nul): new function to check all-nul
-
- * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): rename
- get_arg_end_pos and remove all validation
- (_dbus_marshal_validate_arg): actually do validation here.
-
-2003-01-29 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-message.c (check_message_handling): fix assertion
- failure on set_client_serial
-
-2003-01-28 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-server-debug.c: Add doc section comments
-
- * dbus/dbus-transport-debug.c: add doc section comments
-
-2003-01-28 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-string.c (_dbus_string_base64_decode): append bytes in
- the reverse order from how I had it
- (_dbus_string_base64_encode): reverse encoding order. I was
- basically byteswapping everything during encoding.
-
-2003-01-28 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-connection-internal.h:
- * dbus/dbus-connection.c: (_dbus_connection_add_timeout),
- (_dbus_connection_remove_timeout):
- Add functions for adding and removing timeouts.
-
- * dbus/dbus-message.c: (dbus_message_new_from_message):
- Add new function that takes a message and creates an exact
- copy of it, but with the refcount set to 1.
- (check_message_handling):
- Fix build error.
-
- * dbus/dbus-server-protected.h:
- * dbus/dbus-server.c: (_dbus_server_init_base),
- (_dbus_server_finalize_base), (_dbus_server_add_timeout),
- (dbus_server_set_timeout_functions):
- (_dbus_server_remove_timeout):
- New functions so that a server can add and remove timeouts.
-
- (dbus_server_listen):
- Add commented out call to dbus_server_debug_new.
-
- * dbus/dbus-timeout.c: (_dbus_timeout_new):
- Actually set the handler, doh.
-
- * dbus/dbus-transport.c: (_dbus_transport_open):
- Add commented out call to dbus_transport_debug_client_new.
-
- * dbus/Makefile.am:
- Add dbus-transport-debug.[ch] and dbus-server-debug.[ch]
-
-2003-01-28 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-message.c (check_message_handling): function to check
- on the loaded message, iterates over it etc.
-
-2003-01-28 Havoc Pennington <hp@pobox.com>
-
- * test/Makefile.am (dist-hook): fix make distdir
-
- * dbus/Makefile.am (TESTS_ENVIRONMENT): fix make check
-
-2003-01-27 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-mempool.c (time_for_size): replace printf with
- _dbus_verbose
-
- * dbus/dbus-message-builder.c (_dbus_message_data_load): allow
- empty lines; fix the SAVE_LENGTH stuff to be
- START_LENGTH/END_LENGTH so it actually works; couple other
- bugfixes
-
- * test/Makefile.am (dist-hook): add dist-hook for .message files
-
- * dbus/dbus-string.c (DBUS_STRING_COPY_PREAMBLE): source of a copy
- can be constant or locked.
- (_dbus_string_free): allow freeing a const string as
- documented/intended
-
- * dbus/dbus-sysdeps.c (_dbus_concat_dir_and_file): utility
-
- * dbus/dbus-test-main.c (main): take an argument which is the
- directory containing test data
-
- * dbus/dbus-message.c (_dbus_message_test): pass a test_data_dir
- argument to this and load all the messages in test/data/
- checking that they can be loaded or not loaded as appropriate.
-
-2003-01-27 Anders Carlsson <andersca@codefactory.se>
-
- * bus/dispatch.c: (bus_dispatch_message_handler):
- Dispatch messages sent to services.
-
- * bus/driver.c: (bus_driver_send_service_deleted),
- (bus_driver_send_service_created), (bus_driver_send_service_lost),
- (bus_driver_send_service_acquired):
- Add helper functions for sending service related messages.
-
- (bus_driver_send_welcome_message):
- Send HELLO_REPLY instead of WELCOME.
-
- (bus_driver_handle_list_services):
- Send LIST_SERVICES_REPLY instead of SERVICES.
-
- (bus_driver_handle_own_service),
- (bus_driver_handle_service_exists):
- New message handlers.
-
- (bus_driver_handle_message):
- Invoke new message handlers.
-
- (bus_driver_remove_connection):
- Don't remove any services here since that's done automatically
- by bus_service_remove_owner now.
-
- * bus/driver.h:
- New function signatures.
-
- * bus/services.c: (bus_service_add_owner):
- Send ServiceAcquired message if we're the only primary owner.
-
- (bus_service_remove_owner):
- Send ServiceAcquired/ServiceLost messages.
-
- (bus_service_set_prohibit_replacement),
- (bus_service_get_prohibit_replacement):
- Functions for setting prohibit replacement.
-
- (bus_service_has_owner):
- New function that checks if a connection is in the owner queue of
- a certain service.
-
- * bus/services.h:
- Add new function signatures.
-
- * dbus/dbus-list.c: (_dbus_list_test):
- Add tests for _dbus_list_remove_last and traversing the list backwards.
-
- * dbus/dbus-list.h:
- Fix a typo in _dbus_list_get_prev_link, if we're at the first element we can't
- go any further, so return NULL then.
-
- * dbus/dbus-protocol.h:
- Add new messages, service flags and service replies.
-
-2003-01-26 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-message-builder.c: implement, completely untested.
-
- * test/data/*: add data to be used in testing.
- ".message" files are our simple loadable text format.
- ".message-raw" will be binary dumps of messages.
-
- * dbus/dbus-string.c (_dbus_string_starts_with_c_str): new
-
-2003-01-26 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-sysdeps.c (_dbus_file_get_contents): new function
-
- * dbus/dbus-errors.c (dbus_result_to_string): add
- file errors
-
- * dbus/dbus-message-builder.c: new file, will contain code to load
- up messages from files. Not implemented yet.
-
-2003-01-26 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-message.c (dbus_message_set_sender): support deleting
- the sender by setting to NULL
-
-2003-01-26 Havoc Pennington <hp@pobox.com>
-
- The unit tests pass, but otherwise untested. If it breaks, the
- tests should have been better. ;-)
-
- * bus/driver.c (bus_driver_handle_hello): return if we disconnect
- the connection.
-
- * dbus/dbus-message.c: redo everything so we maintain
- message->header as the only copy of the various fields.
- This avoids the possibility of out-of-memory in some cases,
- for example dbus_message_lock() can't run out of memory anymore,
- and avoids extra copying. Figured I may as well go ahead and do
- this since it was busted for dbus_message_lock to not return
- failure on OOM, and dbus_message_write_header was totally
- unchecked for OOM. Also fixed some random other bugs.
-
- * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): verify
- that strings are nul-terminated. Also, end_pos can be equal
- to string length just not greater than, I think.
- (_dbus_marshal_set_int32): new function
- (_dbus_marshal_set_uint32): new function
- (_dbus_marshal_set_string): new function
-
- * dbus/dbus-connection.c (_dbus_connection_new_for_transport): fix
- a warning, init timeout_list to NULL
- (dbus_connection_send_message): don't use uninitialized variable
- "serial"
-
- * dbus/dbus-string.c (_dbus_string_replace_len): new function
-
-2003-01-26 Anders Carlsson <andersca@codefactory.se>
-
- * bus/driver.c: (bus_driver_handle_hello),
- (bus_driver_send_welcome_message):
- Plug leaks
-
-2003-01-26 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-auth.c: (process_auth), (_dbus_auth_unref):
- * dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
- (dbus_connection_unref):
- * dbus/dbus-marshal.c: (_dbus_marshal_test):
- * dbus/dbus-message.c: (dbus_message_unref),
- Plug memory leaks.
-
- (dbus_message_get_fields):
- Remove debugging printout.
-
- (_dbus_message_loader_return_buffer):
- Don't store the header string.
-
- (_dbus_message_test):
- Plug leaks.
-
-2003-01-26 Richard Hult <rhult@codefactory.se>
-
- * glib/dbus-gmain.c (dbus_connection_dispatch): Traverse a copy of
- the file descriptor list, since it can change under us.
-
-2003-01-25 Anders Carlsson <andersca@codefactory.se>
-
- * glib/dbus-gmain.c: (dbus_connection_prepare),
- (dbus_connection_check), (dbus_connection_dispatch), (add_watch),
- (remove_watch), (dbus_connection_hookup_with_g_main):
- Rewrite the glib handling to use its own GSource instead of a
- GIOChannel so we can catch messages put in the queue while waiting
- for a reply.
-
-2003-01-25 Anders Carlsson <andersca@codefactory.se>
-
- * bus/Makefile.am:
- * bus/connection.c: (connection_disconnect_handler),
- (connection_watch_callback), (bus_connection_setup):
- * bus/dispatch.c: (send_one_message),
- (bus_dispatch_broadcast_message), (bus_dispatch_message_handler),
- (bus_dispatch_add_connection), (bus_dispatch_remove_connection):
- * bus/dispatch.h:
- * bus/driver.c: (bus_driver_send_service_deleted),
- (bus_driver_send_service_created), (bus_driver_handle_hello),
- (bus_driver_send_welcome_message),
- (bus_driver_handle_list_services), (bus_driver_remove_connection),
- (bus_driver_handle_message):
- * bus/driver.h:
- Refactor code, put the message dispatching in its own file. Use
- _DBUS_HANDLE_OOM. Also send ServiceDeleted messages when a client
- is disconnected.
-
-2003-01-25 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-internals.h:
- Add _DBUS_HANDLE_OOM macro, it doesn't do anything currently.
-
- * dbus/dbus-message.c: (dbus_message_get_sender):
- * dbus/dbus-message.h:
- Implement dbus_message_get_sender.
-
- * dbus/dbus-protocol.h:
- Add message and service defines.
-
-2003-01-25 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-connection.c: (dbus_connection_send_message):
- * dbus/dbus-message-internal.h:
- * dbus/dbus-message.c: (_dbus_message_get_client_serial),
- (dbus_message_write_header):
- Remove _dbus_messag_unlock and don't set the client serial on a
- message if one already exists.
-
-2003-01-24 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-list.c (alloc_link): put a thread lock on the global
- list_pool
-
- * bus/driver.c (bus_driver_handle_list_services): fix a leak
- on OOM
-
-2003-01-25 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-list.c: (alloc_link), (free_link):
- Use a memory pool for the links.
-
-2003-01-25 Anders Carlsson <andersca@codefactory.se>
-
- * bus/connection.c: (bus_connection_foreach):
- * bus/connection.h:
- Add new bus_connection_foreach function.
-
- * bus/driver.c: (send_one_message), (bus_driver_broadcast_message):
- Add function that broadcasts a message to all clients.
-
- (bus_driver_send_service_created), (bus_driver_handle_hello),
- (bus_driver_send_welcome_message),
- (bus_driver_handle_list_services), (bus_driver_message_handler):
- Implement functions that take care of listing services, and notifying
- clients when new services are created.
-
- * bus/services.c: (bus_services_list):
- * bus/services.h:
- Add new function that returns an array of strings with the currently
- registered services.
-
- * glib/dbus-glib.h:
- * glib/dbus-gmain.c:
- Update copyright year.
-
-2003-01-25 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-connection.c: (dbus_connection_send_message):
- Unlock the message in case it was sent earlier.
-
- (dbus_connection_send_message_with_reply_and_block):
- Remove the reply message from the list.
-
- * dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
- Set array_len and new_pos correctly.
-
- (_dbus_marshal_test):
- Remove debug output.
-
- * dbus/dbus-message-internal.h:
- * dbus/dbus-message.c: (_dbus_message_get_reply_serial):
- New function that returns the reply serial.
-
- (_dbus_message_unlock):
- New function that unlocks a message and resets its header.
-
- (dbus_message_append_string_array),
- (dbus_message_get_fields_valist),
- (dbus_message_iter_get_field_type),
- (dbus_message_iter_get_string_array),
- (dbus_message_get_fields),
- (dbus_message_append_fields_valist):
- Handle string arrays.
-
- (dbus_message_set_sender):
- Make this function public since the bus daemon needs it.
-
- (decode_header_data):
- Set the reply serial to -1 initially.
-
- * dbus/dbus-message.h:
- Add dbus_message_set_sender.
-
-2003-01-24 Havoc Pennington <hp@pobox.com>
-
- * doc/dbus-specification.sgml: add some stuff
-
-2003-01-22 Havoc Pennington <hp@pobox.com>
-
- * doc/dbus-specification.sgml: Start to document the protocol.
-
-2003-01-22 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-connection.c
- (dbus_connection_send_message_with_reply_and_block): add some @todo
-
- * bus/driver.c (bus_driver_add_connection): add a FIXME about memleak
-
-2003-01-21 Havoc Pennington <hp@pobox.com>
-
- (patch untested because can't compile)
-
- * bus/driver.c (create_unique_client_name): make this function
- never recycle client names. Also, caller should initialize
- the DBusString.
-
- * dbus/dbus-sysdeps.c (_dbus_get_current_time): new function
-
-2003-01-21 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-marshal.c: (_dbus_marshal_double),
- (_dbus_marshal_int32), (_dbus_marshal_uint32),
- (_dbus_marshal_int32_array), (_dbus_marshal_uint32_array),
- (_dbus_marshal_double_array), (_dbus_marshal_string_array),
- (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
- (_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
- (_dbus_marshal_get_field_end_pos), (_dbus_marshal_test):
- * dbus/dbus-marshal.h:
- * dbus/dbus-protocol.h:
- Add support for marshalling and demarshalling integer, double
- and string arrays.
-
-2003-01-21 Anders Carlsson <andersca@codefactory.se>
-
- * bus/Makefile.am:
- Add driver.[ch]
-
- * bus/connection.c: (connection_disconnect_handler):
- Remove the connection from the bus driver's list.
-
- (connection_watch_callback): Dispatch messages.
-
- (free_connection_data): Free connection name.
-
- (bus_connection_setup): Add connection to the bus driver's list.
- (bus_connection_remove_owned_service):
- (bus_connection_set_name), (bus_connection_get_name):
- Add functions for setting and getting the connection's name.
-
- * bus/connection.h:
- Add function headers.
-
- * bus/driver.c: (create_unique_client_name),
- (bus_driver_handle_hello_message),
- (bus_driver_send_welcome_message), (bus_driver_message_handler),
- (bus_driver_add_connection), (bus_driver_remove_connection):
- * bus/driver.h:
- * bus/main.c:
- * bus/services.c: (bus_service_free):
- * bus/services.h:
- New file that handles communication and registreation with the bus
- itself.
-
-2003-01-21 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-connection.c: (dbus_connection_send_message):
- Add a new client_serial parameter.
-
- (dbus_connection_send_message_with_reply):
- Remove a @todo since we've implemented the blocking function.
-
- (dbus_connection_send_message_with_reply_and_block):
- New function that sends a message and waits for a reply and
- then returns the reply.
-
- * dbus/dbus-connection.h:
- Add new functions.
-
- * dbus/dbus-errors.c: (dbus_result_to_string):
- * dbus/dbus-errors.h:
- Add new DBUS_RESULT.
-
- * dbus/dbus-message-internal.h:
- * dbus/dbus-message.c: (_dbus_message_get_reply_serial),
- (_dbus_message_set_sender), (dbus_message_write_header),
- (dbus_message_new_reply), (decode_header_data),
- (_dbus_message_loader_return_buffer), (_dbus_message_test):
- * dbus/dbus-message.h:
- Add new functions that set the reply serial and sender.
- Also marshal and demarshal them correctly and add test.
-
- * dbus/dbus-protocol.h:
- Add new DBUS_MESSAGE_TYPE_SENDER.
-
- * glib/dbus-glib.h:
- * glib/dbus-gmain.c: (watch_callback), (free_callback_data),
- (add_watch), (remove_watch), (add_timeout), (remove_timeout),
- (dbus_connection_hookup_with_g_main):
- * glib/test-dbus-glib.c: (main):
- Rewrite to use GIOChannel and remove the GSource crack.
-
- * test/echo-client.c: (main):
- * test/watch.c: (check_messages):
- Update for changed APIs
-
-2003-01-19 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/Makefile.am: Add dbus-timeout.[cħ]
-
- * dbus/dbus-connection.c: (_dbus_connection_new_for_transport):
- Create a DBusTimeoutList.
- (dbus_connection_set_timeout_functions): Add new function to
- set timeout callbacks
-
- * dbus/dbus-connection.h: Add public DBusTimeout API.
-
- * dbus/dbus-message.c: (dbus_message_get_service):
- * dbus/dbus-message.h: New function.
-
- * dbus/dbus-server.c: Fix small doc typo.
-
- * dbus/dbus-timeout.[ch]: New files for mainloop timeouts.
-
-2003-01-19 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-string.c (_dbus_string_move_len): Don't delete all
- of the string, just as long as specified.
-
-2003-01-19 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-connection.c (dbus_connection_get_is_authenticated):
- new function
-
- * dbus/dbus-server.c (dbus_server_set_max_connections)
- (dbus_server_get_max_connections, dbus_server_get_n_connections):
- keep track of current number of connections, and add API for
- setting a max (but haven't implemented enforcing the max yet)
-
-2003-01-18 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-transport-unix.c (unix_do_iteration): only do the
- reading/writing if read_watch != NULL or write_watch != NULL.
-
- * dbus/dbus-message.c (_dbus_message_loader_return_buffer): fix
- the message loader code to actually load message->header and
- message->body into the newly-created message.
-
- * dbus/dbus-transport-unix.c (check_write_watch): fix a mem leak
- in OOM case
-
- * dbus/dbus-connection.c (dbus_connection_set_max_message_size)
- (dbus_connection_get_max_message_size)
- (dbus_connection_set_max_live_messages_size)
- (dbus_connection_get_max_live_messages_size): implement some
- resource limitation functions
-
- * dbus/dbus-resources.c: new file implementing some of the
- resource limits stuff
-
- * dbus/dbus-message.c (dbus_message_iter_get_byte_array): add
- missing docs, add @todo to handle OOM etc.
-
- * dbus/dbus-marshal.c (_dbus_demarshal_byte_array): add missing
- docs
-
-2003-01-18 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-connection.c (dbus_connection_unref): disconnect the
- connection if it hasn't been already.
-
- * dbus/dbus-connection.h: kill off the idea of an ErrorFunction,
- replace with DisconnectFunction.
-
-2003-01-18 Havoc Pennington <hp@pobox.com>
-
- Building --disable-verbose-mode --disable-asserts --disable-tests
- cuts the library from 112K to 45K or so
-
- * configure.in: check for varargs macro support,
- add --enable-verbose-mode, --enable-asserts.
-
- * dbus/dbus-internals.h (_dbus_assert): support
- DBUS_DISABLE_ASSERT
- (_dbus_verbose): support DBUS_ENABLE_VERBOSE_MODE
-
-2003-01-18 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-test.c: include config.h so that tests actually run
-
- * dbus/dbus-string.c: add assertions that stuff is 8-byte aligned,
- so the failure mode when that assumption fails will be plenty
- obvious.
-
-2003-01-18 Havoc Pennington <hp@pobox.com>
-
- * configure.in: default --enable-tests to $USE_MAINTAINER_MODE
-
- * dbus/Makefile.am: fix it up so dubs-test-main.c is included in
- the distribution
-
- * test/Makefile.am: don't use special variable "TESTS" for echo-*
- since we don't want to use those in make check
-
-2003-01-15 Havoc Pennington <hp@redhat.com>
-
- Release 0.2
-
- * NEWS: update
-
-2003-01-15 Havoc Pennington <hp@redhat.com>
-
- * test/Makefile.am: fix so that test source code ends up in the
- distribution on make distcheck
-
-2003-01-15 Havoc Pennington <hp@redhat.com>
-
- Release 0.1.
-
- * NEWS: update
-
-2003-01-15 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-test.c (dbus_internal_symbol_do_not_use_run_tests):
- fix build when --disable-tests
-
- * Makefile.am (EXTRA_DIST): put HACKING in here
-
- * HACKING: document procedure for making a tarball release.
-
-2003-01-14 Anders Carlsson <andersca@codefactory.se>
-
- * bus/connection.c: (connection_error_handler),
- (bus_connection_setup):
- * bus/main.c: (main):
- Make sure that the DBusConnectionData struct is NULLed
- out to prevent a segfault.
-
- * dbus/dbus-errors.c: (dbus_result_to_string):
- * dbus/dbus-errors.h:
- * dbus/dbus-message.c: (dbus_message_get_fields),
- (dbus_message_get_fields_valist), (_dbus_message_test):
- * dbus/dbus-message.h:
- Make dbus_message_get_fields return a result code so we can
- track invalid fields as well as oom.
-
-2003-01-11 Havoc Pennington <hp@pobox.com>
-
- * configure.in: change --enable-test/--enable-ansi action-if-given
- to enable_foo=$enableval instead of enable_foo=yes
-
-2003-01-08 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-string.c (_dbus_string_align_length): new function
-
- * dbus/dbus-test-main.c: move main() for test app here
- * dbus/dbus-test.c
- (dbus_internal_symbol_do_not_use_run_tests): we have to export a
- symbol to run tests, because dbus-test isn't in the main
- library
-
- Code review nitpicks.
-
- * dbus/dbus-message.c (dbus_message_write_header): add newlines
- for people with narrow emacs ;-). Assert client_serial was filled
- in. Assert message->name != NULL.
- (dbus_message_append_fields): have "first_field_type" arg separate
- from va list, needed for C++ binding that also uses varargs IIRC
- and helps with type safety
- (dbus_message_new): add @todo about using DBusString to store
- service/name internally
- (dbus_message_new): don't leak ->service and ->name on OOM later
- in the function
- (dbus_message_unref): free the service name
- (dbus_message_get_fields): same change to varargs
- i.e. first_field_type
- (_dbus_message_loader_return_buffer): assert that the message data
- is aligned (if not it's a bug in our code). Put in verbose griping
- about why we set corrupted = TRUE.
- (decode_header_data): add FIXME that char* is evil. Was going to
- add FIXME about evil locale-specific string.h strncmp, but just
- switched to wacky string-as-uint32 optimization. Move check for
- "no room for field name" above get_const_data_len() to avoid
- assertion failure in get_const_data_len if we have trailing 2
- bytes or the like. Check for service and name fields being
- provided twice. Don't leak service/name on error. Require field
- names to be aligned to 4 bytes.
-
- * dbus/dbus-marshal.c: move byte swap stuff to header
- (_dbus_pack_int32): uscore-prefix
- (_dbus_unpack_int32): uscore-prefix
- (_dbus_unpack_uint32): export
- (_dbus_demarshal_string): add @todo complaining about use of
- memcpy()
- (_dbus_marshal_get_field_end_pos): add @todo about bad error
- handling allowing corrupt data to go unchecked
-
-2003-01-08 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-transport-unix.c (unix_do_iteration): add read/write
- to the select() as needed for authentication. (should be using
- _dbus_poll() not select, but for another day)
-
- * dbus/dbus.h: include dbus/dbus-protocol.h
-
-2003-01-08 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/Makefile.am (dbusinclude_HEADERS): Install
- dbus-connection.h
-
-2003-01-08 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-internals.c: (_dbus_type_to_string):
- New function that returns a string describing a type.
-
- * dbus/dbus-marshal.c: (_dbus_demarshal_byte_array):
- * dbus/dbus-marshal.h:
- * dbus/dbus-message.c: (dbus_message_get_fields_valist),
- (dbus_message_iter_get_field_type), (dbus_message_iter_get_double),
- (dbus_message_iter_get_byte_array):
- * dbus/dbus-message.h:
- Add new convenience functions for appending and getting message fields.
- Also add demarshalling routines for byte arrays.
-
-2003-01-07 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-connection-internal.h:
- * dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
- (_dbus_connection_get_next_client_serial),
- (dbus_connection_send_message):
- * dbus/dbus-internals.h:
- * dbus/dbus-marshal.c: (unpack_uint32), (dbus_unpack_int32),
- (dbus_pack_int32), (_dbus_marshal_double), (_dbus_marshal_int32),
- (_dbus_marshal_uint32), (_dbus_demarshal_double),
- (_dbus_demarshal_int32), (_dbus_demarshal_uint32),
- (_dbus_demarshal_string), (_dbus_marshal_get_field_end_pos),
- (_dbus_verbose_bytes), (_dbus_marshal_test):
- * dbus/dbus-marshal.h:
- * dbus/dbus-message-internal.h:
- * dbus/dbus-message.c: (_dbus_message_set_client_serial),
- (dbus_message_write_header), (_dbus_message_lock),
- (dbus_message_new), (dbus_message_ref), (dbus_message_unref),
- (dbus_message_get_name), (dbus_message_append_int32),
- (dbus_message_append_uint32), (dbus_message_append_double),
- (dbus_message_append_string), (dbus_message_append_byte_array),
- (dbus_message_get_fields_iter), (dbus_message_iter_ref),
- (dbus_message_iter_unref), (dbus_message_iter_has_next),
- (dbus_message_iter_next), (dbus_message_iter_get_field_type),
- (dbus_message_iter_get_string), (dbus_message_iter_get_int32),
- (dbus_message_iter_get_uint32), (dbus_message_iter_get_double),
- (decode_header_data), (_dbus_message_loader_return_buffer),
- (message_iter_test), (_dbus_message_test):
- * dbus/dbus-message.h:
- * dbus/dbus-protocol.h:
- * dbus/dbus-test.c: (main):
- * dbus/dbus-test.h:
- * glib/test-dbus-glib.c: (message_handler), (main):
- * test/echo-client.c: (main):
- * test/watch.c: (check_messages):
- Make messages sendable and receivable for real.
-
-2003-01-07 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-marshal.c: (_dbus_marshal_double),
- (_dbus_marshal_string), (_dbus_marshal_byte_array):
- * dbus/dbus-message.c: (dbus_message_append_int32),
- (dbus_message_append_uint32), (dbus_message_append_double),
- (dbus_message_append_string), (dbus_message_append_byte_array):
- Handle OOM restoration.
-
-2003-01-07 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-marshal.c: (_dbus_marshal_string),
- (_dbus_demarshal_string), (_dbus_marshal_test):
- * dbus/dbus-marshal.h:
- * dbus/dbus-message.c: (dbus_message_get_name),
- Document these functions.
-
- (dbus_message_append_int32), (dbus_message_append_uint32),
- (dbus_message_append_double), (dbus_message_append_string),
- (dbus_message_append_byte_array):
- * dbus/dbus-message.h:
- Add functions for adding message fields of different types.
-
- * dbus/dbus-protocol.h:
- Add the different types.
-
-2003-01-05 Havoc Pennington <hp@pobox.com>
-
- * bus/connection.c: implement routines for handling connections,
- first thing is keeping a list of owned services on each connection
- and setting up watches etc.
-
- * bus/services.c: implement a mapping from service names to lists
- of connections
-
- * dbus/dbus-hash.c: add DBUS_HASH_POINTER
-
- * dbus/dbus-threads.c (dbus_static_mutex_lock): add functions
- to use static mutexes for global data
-
- * dbus/dbus-connection.c (dbus_connection_set_data): add new
- collection of functions to set/get application-specific data
- on the DBusConnection.
-
-2003-01-04 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-sysdeps.c (_dbus_sleep_milliseconds): new function
- (_dbus_poll): new function
-
- * dbus/dbus-internals.h (_DBUS_STRUCT_OFFSET): new macro
- copied from GLib
-
- * bus/loop.c: initial code for the daemon main loop
-
-2003-01-04 Havoc Pennington <hp@pobox.com>
-
- * test/watch.c (error_handler): make it safe if the error handler
- is called multiple times (if we s/error handler/disconnect
- handler/ we should just guarantee it's called only once)
-
- * dbus/dbus-transport.c (_dbus_transport_disconnect): call the
- error handler on disconnect (it's quite possible we should
- just change the error handler to a "disconnect handler," I'm
- not sure we have any other meaningful errors)
-
- * configure.in: check for getpwnam_r
-
- * dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
- dbus/dbus-auth.c: add credentials support, add EXTERNAL auth
- mechanism as in SASL spec, using socket credentials
-
- * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): new function
- (_dbus_send_credentials_unix_socket): new function
-
- * dbus/dbus-sysdeps.c (_dbus_accept_unix_socket): rename just
- dbus_accept()
- (_dbus_write): only check errno if <0 returned
- (_dbus_write_two): ditto
-
-2003-01-02 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-marshal.c: (_dbus_marshal_utf8_string),
- (_dbus_marshal_byte_array), (_dbus_demarshal_utf8_string),
- (_dbus_marshal_test):
- * dbus/dbus-marshal.h:
- Add _dbus_marshal_byte_array and rename _dbus_marshal_string
- to _dbus_marshal_utf8_string. Also fix some tests.
-
-2002-12-28 Harri Porten <porten@kde.org>
-
- * configure.in: added check for C++ compiler and a very cheesy
- check for the Qt integration
-
- * Makefile.am (SUBDIRS): compile qt subdir if support is enabled
-
- * qt/Makefile.am: added
-
- * qt/.cvsignore: added
-
- * qt/dbus-qthread.cc, qt/dbus-qthread.cpp: renamed former to
- latter, added #ifdef QT_THREAD_SUPPORT guard.
-
- * dbus/Makefile.am: added missing headers for make dist
-
-2002-12-28 Kristian Rietveld <kris@gtk.org>
-
- * dbus/Makefile.am: fixup export-symbols-regex.
-
-2002-12-27 Anders Carlsson <andersca@codefactory.se>
-
- * acinclude.m4: Add this file and put the
- PKG_CHECK_MODULE macro in it.
-
-2002-12-27 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-marshal.c: (_dbus_marshal_string),
- (_dbus_demarshal_double), (_dbus_demarshal_int32),
- (_dbus_demarshal_uint32), (_dbus_demarshal_string),
- (_dbus_marshal_test):
- Make the demarshalling routines align the pos argument.
- Add string marshalling tests and fix the obvious bugs
- discovered.
-
-2002-12-26 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-auth.c: fixes fixes fixes
-
- * dbus/dbus-transport-unix.c: wire up support for
- encoding/decoding data on the wire
-
- * dbus/dbus-auth.c (_dbus_auth_encode_data)
- (_dbus_auth_decode_data): append to target string
- instead of nuking it.
-
-2002-12-26 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-marshal.h (DBUS_COMPILER_BYTE_ORDER): #ifdef
- WORDS_BIGENDIAN then compiler byte order is DBUS_BIG_ENDIAN,
- doh
-
- * dbus/dbus-marshal.c: Add macros to do int swapping in-place and
- avoid swap_bytes() overhead (ignoring possible assembly stuff for
- now). Main point is because I wanted unpack_uint32 to implement
- _dbus_verbose_bytes
- (_dbus_verbose_bytes): new function
-
- * dbus/dbus-string.c (_dbus_string_validate_ascii): new function
-
- * dbus/dbus-message.c (_dbus_message_loader_get_is_corrupted): add
- mechanism to handle a corrupt message stream
- (_dbus_message_loader_new): fix preallocation to only prealloc,
- not prelengthen
-
- * dbus/dbus-string.c (_dbus_string_skip_blank): fix this function
- (_dbus_string_test): enhance tests for copy/move and fix the
- functions
-
- * dbus/dbus-transport-unix.c: Hold references in more places to
- avoid reentrancy problems
-
- * dbus/dbus-transport.c: ditto
-
- * dbus/dbus-connection.c (dbus_connection_dispatch_message): don't
- leak reference count in no-message case
-
- * test/watch.c (do_mainloop): handle adding/removing watches
- during iteration over the watches. Also, ref the connection/server
- stored on a watch, so we don't try to mangle a destroyed one.
-
- * dbus/dbus-transport-unix.c (do_authentication): perform
- authentication
-
- * dbus/dbus-auth.c (get_state): add a state
- AUTHENTICATED_WITH_UNUSED_BYTES and return it if required
- (_dbus_auth_get_unused_bytes): append the unused bytes
- to the passed in string, rather than prepend
-
- * dbus/dbus-transport.c (_dbus_transport_init_base): create
- the auth conversation DBusAuth
-
- * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd)
- (_dbus_transport_new_for_domain_socket): when creating a
- transport, pass in whether it's a client-side or server-side
- transport so we know which DBusAuth to create
-
-2002-12-03 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-transport-unix.c (unix_finalize): finalize base
- _after_ finalizing the derived members
- (unix_connection_set): unref watch if we fail to add it
-
- * dbus/dbus-connection.c (dbus_connection_unref): delete the
- transport first, so that the connection owned by the
- transport will be valid as the transport finalizes.
-
- * dbus/dbus-transport-unix.c (unix_finalize): free the write_watch
- if necessary, and remove watches from the connection.
-
- * dbus/dbus-watch.c (_dbus_watch_list_free): improve a comment
-
-2002-12-26 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/dbus-marshal.c: (_dbus_marshal_string),
- (_dbus_demarshal_double), (_dbus_demarshal_int32),
- (_dbus_demarshal_uint32), (_dbus_demarshal_string),
- (_dbus_marshal_test):
- * dbus/dbus-marshal.h:
- Add string marshal functions and have the demarshal functions
- return the new position.
-
-2002-12-25 Havoc Pennington <hp@pobox.com>
-
- * doc/dbus-sasl-profile.txt: docs on the authentication protocol,
- it is a simple protocol that just maps directly to SASL.
-
- * dbus/dbus-auth.h, dbus/dbus-auth.c: authentication protocol
- initial implementation, not actually used yet.
-
- * dbus/dbus-string.c (_dbus_string_find): new function
- (_dbus_string_equal): new function
- (_dbus_string_base64_encode): new function
- (_dbus_string_base64_decode): new function
-
-2002-12-25 Anders Carlsson <andersca@codefactory.se>
-
- * dbus/Makefile.am:
- * dbus/dbus-marshal.c: (swap_bytes), (_dbus_marshal_double),
- (_dbus_marshal_int32), (_dbus_marshal_uint32),
- (_dbus_demarshal_double), (_dbus_demarshal_int32),
- (_dbus_demarshal_uint32), (_dbus_marshal_test):
- * dbus/dbus-marshal.h:
- * dbus/dbus-protocol.h:
- * dbus/dbus-test.c: (main):
- * dbus/dbus-test.h:
- Add un-optimized marshalling/demarshalling routines.
-
-2002-12-25 Harri Porten <porten@kde.org>
-
- * qt/dbus-qt.h: adjusted ctor and getter to KDE/Qt conventions
-
-2002-12-24 Zack Rusin <zack@kde.org>
-
- * qt/dbus-qthread.cc: adding - integrates QMutex into Dbus
- * qt/dbus-qt.h: skeleton with two sample implemenatation of the
- main loop stuff
-
-2002-12-24 Havoc Pennington <hp@pobox.com>
-
- * glib/dbus-gthread.c: fix include
-
- * glib/dbus-glib.h: rename DBusMessageHandler for now.
- I think glib API needs to change, though, as you don't
- want to use DBusMessageFunction, you want to use the
- DBusMessageHandler object. Probably
- dbus_connection_open_with_g_main_loop()
- and dbus_connection_setup_g_main_loop() or something like that
- (but think of better names...) that just create a connection
- that has watch/timeout functions etc. already set up.
-
- * dbus/dbus-connection.c
- (dbus_connection_send_message_with_reply): new function just to
- show how the message handler helps us deal with replies.
-
- * dbus/dbus-list.c (_dbus_list_remove_last): new function
-
- * dbus/dbus-string.c (_dbus_string_test): free a string that
- wasn't
-
- * dbus/dbus-hash.c: use memory pools for the hash entries
- (rebuild_table): be more paranoid about overflow, and
- shrink table when we can
- (_dbus_hash_test): reduce number of sprintfs and write
- valid C89. Add tests for case where we grow and then
- shrink the hash table.
-
- * dbus/dbus-mempool.h, dbus/dbus-mempool.c: memory pools
-
- * dbus/dbus-connection.c (dbus_connection_register_handler)
- (dbus_connection_unregister_handler): new functions
-
- * dbus/dbus-message.c (dbus_message_get_name): new
-
- * dbus/dbus-list.c: fix docs typo
-
- * dbus/dbus-message-handler.h, dbus/dbus-message-handler.c:
- an object representing a handler for messages.
-
-2002-12-16 Anders Carlsson <andersca@codefactory.se>
-
- * glib/dbus-glib.h:
- * glib/dbus-gthread.c: (dbus_gthread_init):
- Don't use the gdbus prefix for public functions.
-
-2002-12-16 Anders Carlsson <andersca@codefactory.se>
-
- * Makefile.am:
- * configure.in:
- Add GLib checks and fixup .pc files
-
- * glib/Makefile.am:
- * glib/dbus-glib.h:
- * glib/dbus-gmain.c: (gdbus_connection_prepare),
- (gdbus_connection_check), (gdbus_connection_dispatch),
- (gdbus_add_connection_watch), (gdbus_remove_connection_watch),
- (dbus_connection_gsource_new):
- * glib/dbus-gthread.c: (dbus_gmutex_new), (dbus_gmutex_free),
- (dbus_gmutex_lock), (dbus_gmutex_unlock), (dbus_gthread_init):
- * glib/test-dbus-glib.c: (message_handler), (main):
- Add GLib support.
-
-2002-12-15 Harri Porten <porten@kde.org>
-
- * autogen.sh: check for libtoolize before attempting to use it
-
- * dbus/dbus-transport-unix.c: include <sys/time.h> for timeval
- struct.
-
- * .cvsignore: ignore more stamp files
-
- * dbus/dbus-watch.c (_dbus_watch_list_new): fixed doc error
-
- * test/Makefile.am: added -I$(top_srcdir) to be able to compile
- without make install.
-
-2002-12-15 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-threads.c: add thread stubs that a higher library
- layer can fill in. e.g. the GLib wrapper might fill them in with
- GThread stuff. We still need to use this thread API to
- thread-safe-ize the library.
-
-2002-12-12 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-transport-unix.c, dbus/dbus-server-unix.c: use the
- below new interfaces and include fewer system headers.
-
- * dbus/dbus-sysdeps.c (_dbus_read): new function
- (_dbus_write): new function
- (_dbus_write_two): new function
- (_dbus_connect_unix_socket): new function
- (_dbus_listen_unix_socket): new function
-
- * dbus/dbus-message-internal.h: change interfaces to use
- DBusString
-
-2002-12-11 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-types.h: add dbus_unichar
-
- * dbus/dbus-internals.c (_dbus_verbose): use _dbus_getenv
-
- * dbus/dbus-connection.c (dbus_connection_send_message): return
- TRUE on success
-
- * dbus/dbus-transport.c: include dbus-watch.h
-
- * dbus/dbus-connection.c: include dbus-message-internal.h
-
- * HACKING: add file with coding guidelines stuff.
-
- * dbus/dbus-string.h, dbus/dbus-string.c: Encapsulate all string
- handling here, for security purposes (as in vsftpd). Not actually
- using this class yet.
-
- * dbus/dbus-sysdeps.h, dbus/dbus-sysdeps.c: Encapsulate all
- system/libc usage here, as in vsftpd, for ease of auditing (and
- should also simplify portability). Haven't actually moved all the
- system/libc usage into here yet.
-
-2002-11-25 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-internals.c (_dbus_verbose): fix to not
- always print the first verbose message.
-
-2002-11-24 Havoc Pennington <hp@pobox.com>
-
- * test/echo-client.c, test/echo-server.c: cheesy test
- clients.
-
- * configure.in (AC_CHECK_FUNCS): check for writev
-
- * dbus/dbus-message.c (_dbus_message_get_network_data): new
- function
-
- * dbus/dbus-list.c (_dbus_list_foreach): new function
-
- * dbus/dbus-internals.c (_dbus_verbose): new function
-
- * dbus/dbus-server.c, dbus/dbus-server.h: public object
- representing a server that listens for connections.
-
- * dbus/.cvsignore: create
-
- * dbus/dbus-errors.h, dbus/dbus-errors.c:
- public API for reporting errors
-
- * dbus/dbus-connection.h, dbus/dbus-connection.c:
- public object representing a connection that
- sends/receives messages. (Same object used for
- both client and server.)
-
- * dbus/dbus-transport.h, dbus/dbus-transport.c:
- Basic abstraction for different kinds of stream
- that we might read/write messages from.
-
-2002-11-23 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-internals.h (_DBUS_INT_MAX): add _DBUS_INT_MIN
- _DBUS_INT_MAX
-
- * dbus/dbus-test.c (main): add list test, and include
- dbus-test.h as intended
-
- * dbus/dbus-hash.c (_dbus_hash_table_remove_string)
- (_dbus_hash_table_remove_int): return value indicates
- whether the entry existed to remove
-
- * dbus/dbus-list.c: add linked list utility class,
- with docs and tests
-
- * dbus/dbus-hash.c: add TODO item about shrinking the hash bucket
- array sometimes.
-
-2002-11-23 Havoc Pennington <hp@pobox.com>
-
- * Doxyfile.in (INCLUDE_FILE_PATTERNS): expand DBUS_BEGIN_DECLS/
- DBUS_END_DECLS to nothing, that should fix this once and for all
-
- * Doxyfile.in (JAVADOC_AUTOBRIEF): set to YES
-
- * dbus/dbus-message.c, dbus/dbus-hash.c:
- add some missing @brief
-
-2002-11-23 Havoc Pennington <hp@pobox.com>
-
- * dbus/dbus-message.h: put semicolons after DEBUG_BEGIN_DECLS
- to avoid confusing Doxygen
-
- * dbus/dbus-hash.c: @} not }@
-
- * dbus/dbus-message.c (struct DBusMessage): split out
- internals docs
-
-2002-11-23 Havoc Pennington <hp@pobox.com>
-
- * configure.in: pile on more warning flags if using gcc
-
- * Doxyfile.in (EXTRACT_STATIC): set to NO, so we don't have
- to document static functions
-
- * configure.in: add summary to end of configure so it
- looks nice and attractive
-
- * dbus/dbus-hash.c: finish implementation and write unit
- tests and docs
-
- * configure.in: add --enable-tests to enable unit tests
-
- * dbus/dbus-test.c: test program to run unit tests
- for all files in dbus/*, initially runs a test for
- dbus-hash.c
-
- * dbus/dbus-internals.h: file to hold some internal utility stuff
-
-2002-11-22 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-hash.c: copy in Tcl hash table, not yet
- "ported" away from Tcl
-
- * dbus/dbus-types.h: header for types such as dbus_bool_t
-
-2002-11-22 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus.h: fixups for doc warnings
-
- * Doxyfile.in (FILE_PATTERNS): we need to scan .h to pick up
- macros
- (QUIET): make it quiet so we can see warnings
-
- * dbus/dbus-memory.c: teach D-BUS to allocate and free memory
-
-2002-11-22 Havoc Pennington <hp@redhat.com>
-
- * Makefile.am: include "Doxyfile" target in all-local
-
- * configure.in: generate the Doxyfile
-
- * Doxyfile.in: move Doxyfile here, so we can use
- configure to generate a Doxyfile with the right
- version number etc.
-
-2002-11-22 Havoc Pennington <hp@redhat.com>
-
- * dbus/dbus-message.c: move inline docs into .c file
-
- * Doxyfile (OUTPUT_DIRECTORY): move output to doc/api
- so all docs are under doc/
- (MAN_EXTENSION): generate man pages. Use extension
- ".3dbus" which matches ".3qt" on my system,
- I guess this is OK, I don't know really.
- (FILE_PATTERNS): look for .c files not .h, makes sense
- for plain C I think
-
-2002-11-22 Havoc Pennington <hp@pobox.com>
-
- * Makefile.am (SUBDIRS): rename subdir "server" to "bus"
- because any app can be a server, and any app can be a client,
- the bus is a special kind of server.
-
-Thu Nov 21 23:35:31 2002 Zack Rusin <zack@kde.org>
-
- * Doxyfile : adding. Still needs Makefile rules to be generated
- automatically (just run "doxygen" in the toplevel dir for now to
- generate docs)
-
- * dbus/dbus-message.h : Adding sample docs (javadoc since
- resembles gtk-doc a little more)
-
- * dbus/dbus.h : Adding sample docs
-
-2002-11-21 Havoc Pennington <hp@redhat.com>
-
- * dbus/Makefile.am (INCLUDES): define DBUS_COMPILATION
- so we can allow ourselves to include files directly,
- instead of having to use dbus.h
-
- * dbus/dbus.h: fill in
-
- * dbus/dbus-message.h: sketch out a sample header file.
- Include griping if you include it directly instead of
- via dbus.h
-
- * dbus/dbus-macros.h: new file with macros for extern "C",
- TRUE/FALSE, NULL, etc.
-
- * doc/file-boilerplate.c: put include guards in here
-
-2002-11-21 Havoc Pennington <hp@redhat.com>
-
- * doc/file-boilerplate.c: include both AFL and GPL boilerplate.
-
- * COPYING: include the GPL as well, and license code
- under both AFL and GPL.
-
-2002-11-21 Havoc Pennington <hp@redhat.com>
-
- * acconfig.h: get rid of this
-
- * autogen.sh (run_configure): add --no-configure option
-
- * configure.in: remove AC_ARG_PROGRAM to make
- autoconf complain less. add AC_PREREQ.
- add AC_DEFINE third arg.
-
-2002-11-21 Anders Carlsson <andersca@codefactory.se>
-
- * doc/Makefile.am:
- Fix references so we can distcheck.
-
-2002-11-21 Havoc Pennington <hp@redhat.com>
-
- * Initial module creation
-
diff --git a/ChangeLog.pre-1-0 b/ChangeLog.pre-1-0
new file mode 100644
index 00000000..eab5982f
--- /dev/null
+++ b/ChangeLog.pre-1-0
@@ -0,0 +1,15146 @@
+2006-11-09 John (J5) Palmieri <johnp@redhat.com>
+
+ * Released 1.0.0
+
+2006-11-09 John (J5) Palmieri <johnp@redhat.com>
+
+ * AUTHORS: added Peter and Tor of windows porting fame
+
+2006-11-08 Havoc Pennington <hp@redhat.com>
+
+ * doc/dbus-specification.xml: add a note about protocol stability
+
+ * doc/TODO: Remove "important for 1.0" section, replace with
+ "important for 1.2" section
+
+2006-11-08 John (J5) Palmieri <johnp@redhat.com>
+
+ * README: remove some of the out of date flags
+
+ * doc/TODO: Remove todo items which are done
+
+2006-11-08 John (J5) Palmieri <johnp@redhat.com>
+
+ * tools/dbus-monitor.c: Handle sigint so we flush stdout
+ (Patch from Olli Salli <olli dot salli at collabora dot co dot uk>)
+
+2006-11-08 John (J5) Palmieri <johnp@redhat.com>
+
+ * tools/dbus-monitor.1: update the manpage for dbus-monitor
+ (Patch from Olli Salli <olli dot salli at collabora dot co dot uk>)
+
+2006-11-08 John (J5) Palmieri <johnp@redhat.com>
+
+ * AUTHORS: Update with all people listed in the ChangeLog
+
+2006-11-08 John (J5) Palmieri <johnp@redhat.com>
+
+ * tools/dbus-monitor.c: add profiling tools to dbus-monitor
+ (Patch from Olli Salli <olli dot salli at collabora dot co dot uk>)
+
+2006-11-07 Havoc Pennington <hp@redhat.com>
+
+ * HACKING: Update release instructions to include stuff about
+ stable releases, branching, etc. May not be totally correct,
+ please fix if needed, but keep instructions up-to-date so we do
+ each stable release consistently in the future.
+
+2006-11-07 Havoc Pennington <hp@redhat.com>
+
+ * doc/dbus-specification.xml, doc/dbus-faq.xml, README: various
+ documentation updates. Bump faq/spec versions (not to 1.0; I don't
+ think the spec will be "finished"/1.0 when we ship the 1.0 library).
+
+2006-11-06 John (J5) Palmieri <johnp@redhat.com>
+
+ * bus/bus.c: Missed patch - pass in the context to the directory watch
+
+2006-11-02 John (J5) Palmieri <johnp@redhat.com>
+
+ * Released D-Bus 1.0 RC 3(0.95)
+
+2006-11-02 John (J5) Palmieri <johnp@redhat.com>
+
+ * bus/activation.c (bus_activation_new): don't fail if we can not read
+ the directory as it may not exist
+
+2006-11-02 John (J5) Palmieri <johnp@redhat.com>
+
+ * bus/config-parser.c (service_dirs_find_dir): use
+ _dbus_list_get_next_link so we don't get stuck in an infinite loop
+ (start_busconfig_child): move processing of standard_session_servicedirs
+ tags here because they have no content
+ (bus_config_parser_content): check we don't have content in
+ standard_session_servicedirs tag
+
+2006-11-02 John (J5) Palmieri <johnp@redhat.com>
+
+ * tools/Makefile.am: Make sure the /var/lib/dbus directory is created
+ Packagers need to own this directory
+
+2006-11-02 John (J5) Palmieri <johnp@redhat.com>
+
+ * tools/run-with-tmp-session-bus.sh: fixed script to replace the
+ <standard_session_servicedirs> tag with a <sevicedir> tag that
+ points to the test service directory
+
+2006-11-02 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in: Add a check for DIR *dirp->dd_fd
+
+ * dbus/dbus-sysdeps-util-unix: if HAVE_DDFD is defined use
+ DIR *dirp->dd_fd else use DIR *dirp->__dd_fd. This takes care
+ of both Solaris and Irix
+
+2006-11-01 Havoc Pennington <hp@redhat.com>
+
+ * bus/dbus-daemon.1.in: document standard_session_servicedirs
+
+2006-11-01 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in: expose DBUS_DATADIR
+
+ * bus/config-parser.c: add the standard_session_servicedirs element
+ to the parser
+ (bus_config_parser_content): process the standard_session_servicedirs
+ element by getting the standard directories from sysdeps and merging
+ them into the service directory list
+ (test_default_session_servicedirs): make sure we get what we expect
+
+ * bus/session.conf.in: replace the servicedir tag with the
+ standard_session_servicedirs tag
+
+ * dbus/dbus-list.h: remove the typedef of DBusList and place it in
+ dbus-sysdeps.h to avoid circular header dependencies
+
+ * dbus/dbus-sysdeps.h: add the typedef of DBusList
+
+ * dbus/dbus-sysdeps-unix.c (split_paths_and_append): utility function
+ which takes a string of directories delimited by colons, parses them
+ out, appends a suffix and puts them in a list ignoring empty elements
+ (_dbus_get_standard_session_servicedirs): returns the standard
+ directories for a session bus to look for service activation files
+ on Unix which includes the XDG_DATA_HOME, XDG_DATA_DIRS and
+ DBUS_DATADIR directories
+
+ * test/data/valid-config-files/many-rules.conf: add the
+ standard_session_servicedirs tag to the valid config file tests
+
+2006-10-30 Havoc Pennington <hp@redhat.com>
+
+ * tools/dbus-launch.1, doc/TODO: capture intent to change the
+ command line options of dbus-launch a bit post 1.0
+
+2006-10-27 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-connection.c (dbus_connection_open_private): document
+ how to choose shared vs. private connections
+
+2006-10-27 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-test.c: enclose more of the file in the
+ DBUS_BUILD_TESTS check.
+
+ * dbus/dbus-sysdeps-pthread.c (PTHREAD_CHECK): fix for
+ DBUS_DISABLE_ASSERT case.
+
+ * dbus/dbus-connection.c (dbus_connection_get_unix_user): document
+ that it only works on the server side
+
+ * dbus/dbus-bus.c: add a global lock covering the BusData we
+ attach to each connection
+ (internal_bus_get): lock our access to the BusData
+ (dbus_bus_register): lock the entire registration process
+ with _DBUS_LOCK(bus_datas). If we get the lock and
+ registration is already complete, silently return (vs. previous
+ behavior of aborting).
+ (dbus_bus_set_unique_name): lock the BusData
+ (dbus_bus_get_unique_name): lock the BusData
+
+2006-10-27 John (J5) Palmieri <johnp@redhat.com>
+
+ * bus/config-parser.c (service_dirs_find_dir,
+ service_dirs_append_unique_or_free,
+ service_dirs_append_link_unique_or_free): New static methods
+ for only appending unique service directory names into
+ the service directory list
+ (merge_included, bus_config_parser_content): Only add unique
+ service directory names into the list
+
+2006-10-27 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-sysdeps-pthread.c: make the "count" and "holder"
+ variables volatile, suggested by Thiago. Document struct fields.
+ (PTHREAD_CHECK): remove pthread error checking if assertions are
+ disabled, should reduce the no-assertions case to the bare
+ minimum code.
+
+2006-10-26 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-sysdeps-pthread.c (_dbus_pthread_mutex_lock): change
+ to be recursive
+ (_dbus_pthread_mutex_unlock): make it recursive
+ (_dbus_pthread_condvar_wait): save/restore the recursion count
+ (_dbus_pthread_condvar_wait_timeout): save/restore the recursion count
+
+2006-10-26 Havoc Pennington <hp@redhat.com>
+
+ * doc/dbus-specification.xml: clarify the UUID text slightly
+
+ * dbus/dbus-sysdeps-pthread.c: check for and mostly abort on
+ pthread errors. Add DBusMutexPThread and DBusCondVarPThread
+ in preparation for being able to extend them for e.g. recursive
+ mutexes.
+
+2006-10-26 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-threads.[hc]: Documentation improvements. Clarify how
+ condition variables relate to recursive mutexes.
+
+ * dbus/dbus-sysdeps-pthread.c, dbus/dbus-sysdeps-win-thread.c,
+ dbus/dbus-threads.c: Split the platforms-specific thread
+ implementations into their own files.
+
+ * dbus/dbus-sysdeps-pthread.c
+ (_dbus_pthread_condvar_wait_timeout): invert the return value, it
+ was backward. Not that anything uses it.
+
+2006-10-26 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus-sysdeps-unix.c (_dbus_set_local_creds): Clean up the
+ LOCAL_CREDS vs CMSGCRED stuff a bit. Prefer CMSGCRED. This
+ needs to be cleaned up more.
+
+ * doc/TODO: Add a todo that *BSD hackers should look at cleaning
+ up the CREDS issue.
+
+2006-10-26 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in, dbus-1.pc.in: Check to see if thread methods
+ are in glibc or libpthread and add -lpthread to the link stage
+ if it is the latter
+
+2006-10-26 Thiago Macieira <thiago@kde.org>
+
+ * dbus/dbus-connection.c (_dbus_connection_open_internal): Fix
+ bug 8780: the connection lock is only required while recording
+ the shared connection, so protect only that code
+ section. Don't require connection_lookup_shared to return a
+ locked connection.
+
+2006-10-26 Thiago Macieira <thiago@kde.org>
+
+ * tools/dbus-launch-x11.c (get_session_file, init_x_atoms):
+ check if get_machine_uuid() returns NULL before proceeding any
+ further: we can't init the X atoms or create a session file
+ name if there is no machine ID.
+ This solves a crash reported by some users if
+ --exit-with-session was used without --autolaunch=<machine-id>
+
+2006-10-26 John (J5) Palmieri <johnp@redhat.com>
+
+ * tools/dbus-launch.c (main): run the dbus-daemon in the builddir
+ if tests are enabled and the DBUS_USE_TEST_BINARY env variable is set
+
+ * tools/run-with-tmp-session-bus.sh: set DBUS_USE_TEST_BINARY
+ before we run dbus-launch
+
+ * configure.in: define TEST_BUS_BINARY to be the full path to
+ dbus-daemon in the build root
+
+2006-10-25 Sjoerd Simons <sjoerd@luon.net>
+
+ * dbus/Makefile.am:
+ * tools/Makefile.am:
+ * toos/dbus-uuidgen.1:
+ Move the machine-id file to /var/lib/dbus
+
+2006-10-24 David Zeuthen <davidz@redhat.com>
+
+ * dbus/dbus-threads.c (init_uninitialized_locks): Fix typo so it's
+ _dbus_assert (thread_init_generation != _dbus_current_generation)
+ not _dbus_assert (thread_init_generation == _dbus_current_generation)
+
+2006-10-24 Thiago Macieira <thiago@kde.org>
+
+ * dbus/dbus-sysdeps.h:
+ * dbus/dbus-sysdeps-unix.c: Add function
+ _dbus_make_file_world_readable that chmods a file to 0644.
+
+ * dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address):
+ Avoid writing to the static "argv" array, thereby avoiding a
+ COW on the child process.
+
+ * dbus/dbus-internals.c (_dbus_create_uuid_file_exclusively):
+ call _dbus_make_file_world_readable on the created file.
+
+2006-10-23 David Zeuthen <davidz@redhat.com>
+
+ * dbus/dbus-memory.c: Use atomic variable to protect
+ n_blocks_outstanding otherwise OOM will be reported using SMP on
+ some arches
+
+ * bus/dispatch.c: Add missing end of line characters
+
+ * bus/desktop-file.c (parse_section_start, parse_key_value)
+ (bus_desktop_file_load): Propertly handle OOM
+
+ * dbus/dbus-threads.c (init_uninitialized_locks): Check that
+ thread_init_generation equals _dbus_current_generation, not 0
+
+2006-10-22 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-connection-internal.h: move prototype of
+ _dbus_bus_notify_shared_connection_disconnected_unlocked() here so
+ it isn't in a public header and doesn't end up in the DBusBus
+ group in Doxygen
+
+2006-10-21 Havoc Pennington <hp@redhat.com>
+
+ * Makefile.am (EXTRA_DIST): dist cleanup-man-pages.sh so it's in
+ the tarball if packagers want to run it
+
+ * cleanup-man-pages.sh: Add a script which munges all the internal
+ API man pages out of the Doxygen output. This reduces the size of
+ the installed man pages from 7 to 2 megs, and avoids
+ namespace-polluting pages. Right now (like Doxygen) this script
+ isn't in the build, it's something packagers can do manually.
+
+2006-10-21 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-connection.h: don't include the watch/timeout
+ functions in connection section
+
+2006-10-21 Havoc Pennington <hp@redhat.com>
+
+ * Documentation! Whee! Doxygen now 100% silent. If you make it
+ angry again, you will be punished.
+
+2006-10-21 Havoc Pennington <hp@redhat.com>
+
+ * More documentation - all public API now documented according to
+ Doxygen
+
+2006-10-21 Havoc Pennington <hp@redhat.com>
+
+ * Document a bunch of undocumented stuff
+
+2006-10-21 Havoc Pennington <hp@redhat.com>
+
+ * Clean up Doxygen group markers for public API so Doxygen finds
+ everything (not comprehensively fixed for private API).
+ Means all remaining Doxygen warnings are just about missing docs
+ and thus pretty simple to resolve.
+
+2006-10-21 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-macros.h: add DBUS_GNUC_DEPRECATED macro
+
+ * dbus/dbus-message.h: mark dbus_message_iter_get_array_len()
+ as DBUS_GNUC_DEPRECATED
+
+2006-10-21 Havoc Pennington <hp@redhat.com>
+
+ * Move all private API into the private Doxygen group sections of
+ the files, so they don't show up in the public API docs
+
+2006-10-21 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-message.h: put #ifndef DBUS_DISABLE_DEPRECATED around
+ dbus_message_iter_get_array_len().
+
+ * throughout: documentation improvements.
+
+2006-10-20 Havoc Pennington <hp@redhat.com>
+
+ * doc/TODO: remove the int64 thing from 1.0 since it doesn't
+ matter, and the message-loader-breaker thing since nobody is going
+ to do it. Add an item to 1.0 about supporting recursive locks
+ in dbus_threads_init_default() though, since it should be easy.
+
+ * dbus/dbus-connection.c (_dbus_connection_read_write_dispatch):
+ Fix this in the !dispatch case to avoid busy-looping after
+ disconnection
+
+ * More misc docs improvements
+
+2006-10-19 Havoc Pennington <hp@redhat.com>
+
+ * more Doxygen-related fixes (lots of moving things from the
+ public to internal section in dbus-connection.c)
+
+2006-10-19 Havoc Pennington <hp@redhat.com>
+
+ * Fix a pile of Doxygen warnings and missing docs
+
+2006-10-19 John (J5) Palmieri <johnp@redhat.com>
+
+ * bus/dir-watch-default.c, bus/dir-watch-dnotify.c,
+ bus/dir-watch-kqueue.c (bus_watch_directory): Pass in a BusContext
+ instead of a void *. kqueue uses this to get the context's loop
+ while the other modules ignore the parameter. This allows us to
+ avoid platform conditionals
+
+ * bus/bus.c (process_config_postinit): Pass in the context to the
+ watch
+
+2006-10-19 John (J5) Palmieri <johnp@redhat.com>
+
+ * bus/messagebus.in, bus/rc.messagebus.in: run dbus-uuidgen --ensure
+ when starting the system bus
+
+2006-10-18 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in: More fixups for cross compile (Patch from
+ Marco Pracucci <development at pracucci dot com>)
+
+2006-10-17 Havoc Pennington <hp@redhat.com>
+
+ * tools/dbus-send.c (main): don't close shared connection, fix
+ from Timo Hoenig
+
+2006-10-17 Havoc Pennington <hp@redhat.com>
+
+ * configure.in (CPPFLAGS): don't do -DDBUS_API_SUBJECT_TO_CHANGE here
+
+ * dbus/dbus.h: drop the DBUS_API_SUBJECT_TO_CHANGE requirement,
+ since realistically it doesn't look like we'll be changing it
+ anymore.
+
+2006-10-17 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-internals.c (_dbus_warn_check_failed): new function to
+ be used for return_if_fail type warnings; prefixes the pid, and
+ fatal by default.
+
+2006-10-14 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in: Released 1.0 RC 2(0.94)
+ Add check for -fPIC and enable it if available
+
+2006-10-14 John (J5) Palmieri <johnp@redhat.com>
+
+ * doc/TODO: Remove the check TODO item
+
+2006-10-13 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus-transport-socket.c (exchange_credentials):
+ Print out more detailed errors if reading or sending
+ credentials fail (Patch from Julio M. Merino Vidal
+ <jmmv at NetBSD dot org>)
+
+2006-10-13 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in: when checking for posix getpwnam_r assume true
+ for cross compiles
+
+2006-10-13 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in: Check for gethostbyname first before we check for it
+ in libnsl. On gnu systems it is implemeneted
+
+2006-10-13 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-connection.c
+ (dbus_connection_send_with_reply_and_block): fix to handle closed
+ connections, from Tambet Ingo bug #8631
+
+2006-10-11 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in: use AC_TRY_COMPILE for dirfd instead of AC_TRY_RUN
+
+2006-10-11 John (J5) Palmieri <johnp@redhat.com>
+
+ * test/name-test/Makefile.am: don't link against both libdbus and
+ libdbus-convenience
+
+2006-10-11 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in: check for dirfd even if it is a macro
+ (Patch from Timothy Redaelli <drizzt at gufi dot org>)
+
+2006-10-08 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in: define _POSIX_PTHREAD_SEMANTICS on solaris
+ avoid using dirfd on systems that don't have dirfd
+ (Patch by Brian Cameron <brian dot cameron at sun dot com>)
+
+2006-10-02 John (J5) Palmieir <johnp@redhat.com>
+
+ * dbus/dbus-sysdeps.c (_dbus_abort): Remove from
+ #ifndef DBUS_DISABLE_ASSERTS macro to fix distcheck
+
+ * dbus/dbus-sysdeps-unix.c (_dbus_print_backtrace): Remove from
+ #if !defined (DBUS_DISABLE_ASSERT) || defined(DBUS_BUILD_TESTS)
+ macro because _dbus_abort calls it
+
+ * tools/Makefile.am: Add dbus-launch.h to the source list so distcheck
+ works
+
+2006-10-02 John (J5) Palmieir <johnp@redhat.com>
+
+ * dbus/dbus-sysdeps-util-unix.c (dirent_buf_size): Add check for
+ MAXNAMELEN for Mac OSX. (Patch from Jonas B <sanoix at gmail dot com>)
+
+2006-10-02 Thiago Macieira <thiago@kde.org>
+
+ * tools/dbus-launch.c (main): make it complain and abort
+ execution in case an unknown option is given. Also, process
+ the '--' argument as the end of arguments.
+
+2006-10-01 Havoc Pennington <hp@redhat.com>
+
+ * tools/dbus-launch.c (print_variables): if no syntax is given,
+ don't print something that's sort-of-half-sh-syntax, just print
+ a plain key-value pairs thing.
+
+ * tools/dbus-launch-x11.c: use machine ID rather than hostname for
+ the local machine representation (but still have the hostname in
+ the display). Remove the hostname from the display if it is
+ localhost. Change session files to be named
+ ~/.dbus/session-bus/machine-display. Change X atoms to be
+ underscore-prefixed so nobody whines about ICCCM compliance.
+ Otherwise name them the same as the env variables.
+ Change session file format to include key-value pairs and an
+ explanatory comment. Keys are the same as the env variables.
+ (set_address_in_x11): X property format can't depend on
+ sizeof(pid_t) on a particular machine, fix to always be 32 bits
+
+ * tools/dbus-launch.c: make --autolaunch take a machine id
+ argument. If --autolaunch is used with a program to run, complain
+ for now (but add a FIXME). Also, don't look for existing bus if
+ there's a program to run (but add a FIXME).
+
+ * dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address): pass
+ machine uuid to dbus-launch (avoids linking dbus-launch to libdbus
+ just to get this, and avoids duplicating uuid-reading code).
+
+ * tools/dbus-launch.1: clarify various things
+
+2006-10-01 Havoc Pennington <hp@redhat.com>
+
+ * test/test-service.c (path_message_func): remove broken extra
+ unref that was hidden by the bugs in dbus-connection.c/dbus-bus.c
+
+ * test/test-shell-service.c (path_message_func): same fix
+
+ * dbus/dbus-connection.c
+ (_dbus_connection_get_dispatch_status_unlocked): break up the
+ function a little for clarity and fix the notification of
+ dbus-bus.c to not require dispatch to be complete
+
+ * dbus/dbus-connection.c (dbus_connection_unref): improve the
+ warning when you try to finalize an open connection.
+
+2006-10-01 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-bus.c
+ (internal_bus_get): only weak ref the connection; this means
+ _dbus_bus_notify_shared_connection_disconnected_unlocked can be
+ called safely in any context
+ (_dbus_bus_notify_shared_connection_disconnected_unlocked): don't
+ unref
+
+ * dbus/dbus-connection.c
+ (_dbus_connection_get_dispatch_status_unlocked): move
+ _dbus_bus_notify_shared_connection_disconnected_unlocked here
+ when queuing Disconnected instead of when the Disconnected message
+ arrives, so dbus_bus_get() won't return closed connections.
+
+2006-10-01 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-connection.c (_dbus_connection_close_if_only_one_ref):
+ Add a hack to make DBusNewConnectionFunction work right.
+
+ * dbus/dbus-server-socket.c (handle_new_client_fd_and_unlock): use
+ the hack here. Also, fix the todo about refcount leak.
+
+ * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
+ and use the hack here
+
+ * dbus/dbus-connection.c: Kill the "shared" flag vs. the
+ "shareable" flag; this was completely broken, since it meant
+ dbus_connection_open() returned a connection of unknown
+ shared-ness. Now, we always hold a ref on anything opened
+ as shareable.
+
+ Move the call to notify dbus-bus.c into
+ connection_forget_shared_unlocked, so libdbus consistently forgets
+ all its knowledge of a connection at once. This exposed numerous
+ places where things were totally broken if we dropped a ref inside
+ get_dispatch_status_unlocked where
+ connection_forget_shared_unlocked was previously, so move
+ connection_forget_shared_unlocked into
+ _dbus_connection_update_dispatch_status_and_unlock. Also move the
+ exit_on_disconnect here.
+
+ (shared_connections_shutdown): this assumed weak refs to the
+ shared connections; since we have strong refs now, the assertion
+ was failing and stuff was left in the hash. Fix it to close
+ still-open shared connections.
+
+ * bus/dispatch.c: fixup to use dbus_connection_open_private on the
+ debug pipe connections
+
+ * dbus/dbus-connection.c (dbus_connection_dispatch): only notify
+ dbus-bus.c if the closed connection is in fact shared
+ (_dbus_connection_close_possibly_shared): rename from
+ _dbus_connection_close_internal
+ (dbus_connection_close, dbus_connection_open,
+ dbus_connection_open_private): Improve docs to explain the deal
+ with when you should close or unref or both
+
+ * dbus/dbus-bus.c
+ (_dbus_bus_notify_shared_connection_disconnected_unlocked): rename
+ from _dbus_bus_check_connection_and_unref_unlocked and modify to
+ loop over all connections
+
+ * test/test-utils.c (test_connection_shutdown): don't try to close
+ shared connections.
+
+ * test/name-test/test-threads-init.c (main): fix warnings in here
+
+ * dbus/dbus-sysdeps.c (_dbus_abort): support DBUS_BLOCK_ON_ABORT
+ env variable to cause blocking waiting for gdb; drop
+ DBUS_PRINT_BACKTRACE and just call _dbus_print_backtrace()
+ unconditionally.
+
+ * configure.in: add -export-dynamic to libtool flags if assertions enabled
+ so _dbus_print_backtrace works.
+
+ * dbus/dbus-sysdeps-unix.c (_dbus_print_backtrace): use fprintf
+ instead of _dbus_verbose to print the backtrace, and diagnose lack
+ of -rdynamic/-export-dynamic
+
+2006-09-30 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-bus.c (dbus_bus_get_private, dbus_bus_get)
+ (internal_bus_get): fix screwy code formatting. whoever committed
+ that was not paying attention!
+
+2006-09-30 Havoc Pennington <hp@redhat.com>
+
+ * configure.in (LT_CURRENT, LT_AGE): increment current and age to
+ reflect addition of interfaces.
+
+ * doc/dbus-specification.xml: describe a new
+ org.freedesktop.DBus.Peer.GetMachineId method
+
+ * dbus/dbus-string.c (_dbus_string_skip_white_reverse): new function
+ (_dbus_string_skip_white, _dbus_string_skip_blank): use new
+ DBUS_IS_ASCII_BLANK, DBUS_IS_ASCII_WHITE macros and fix assertion
+ at end of skip_white
+ (_dbus_string_chop_white): new function
+
+ * bus/connection.c (bus_connections_setup_connection): call
+ dbus_connection_set_route_peer_messages.
+
+ * dbus/dbus-connection.c
+ (_dbus_connection_peer_filter_unlocked_no_update): modify to
+ support a GetMachineId method.
+
+ Also, support a new flag to let the bus pass peer methods through
+ to apps on the bus, which can be set with
+ dbus_connection_set_route_peer_messages.
+
+ Finally, handle and return an error for anything unknown on the
+ Peer interface, which will allow us to extend the Peer interface
+ in the future without fear that we're now intercepting something
+ apps were wanting to see.
+
+ * tools/dbus-uuidgen.c: a thin wrapper around the functions in
+ dbus/dbus-uuidgen.c
+
+ * dbus/dbus-uuidgen.c: implement the bulk of the dbus-uuidgen
+ binary here, since most of the code is already in libdbus
+
+ * dbus/dbus-sysdeps.c (_dbus_read_local_machine_uuid): read the
+ uuid from the system config file
+
+ * dbus/dbus-internals.c (_dbus_generate_uuid, _dbus_uuid_encode)
+ (_dbus_read_uuid_file_without_creating)
+ (_dbus_create_uuid_file_exclusively, _dbus_read_uuid_file): new
+ uuid-related functions, partly factored out from dbus-server.c
+
+ * dbus/dbus-sysdeps.c (_dbus_error_from_errno): convert EEXIST to
+ DBUS_ERROR_FILE_EXISTS instead of EEXIST
+
+ * dbus/dbus-protocol.h (DBUS_ERROR_FILE_EXISTS): add file exists error
+
+ * tools/dbus-cleanup-sockets.1: explain what the point of this
+ thing is a bit more
+
+ * autogen.sh (run_configure): add --config-cache to default
+ configure args
+
+ * dbus/dbus-internals.h (_DBUS_ASSERT_ERROR_IS_SET): disable the
+ error set/clear assertions when DBUS_DISABLE_CHECKS is defined
+
+ * tools/dbus-launch.c (main): if xdisplay hasn't been opened,
+ don't try to save address, fixes crash in make check
+
+2006-09-30 Thiago Macieira <thiago@kde.org>
+
+ * configure.in: add DBUS_BINDIR as a #define to C source code.
+
+ * tools/dbus-launch.c
+ * tools/dbus-launch.h
+ * tools/dbus-launch-x11.c:
+ * tools/dbus-launch.1: Add the --autolaunch option to
+ dbus-launch, which makes it scan for an existing session
+ started with --autolaunch. With that option, it also creates
+ an X11 window and saves the bus address and PID to it.
+
+ * dbus/dbus-sysdeps.h:
+ * dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address): Add
+ a function that runs "dbus-launch --autolaunch" to retrieve
+ the running D-Bus session address (or start one if none was running)
+
+ * dbus/dbus-transport.c: Add the handler for the "autolaunch:"
+ address protocol, which tries to get the running session from
+ dbus-launch.
+
+ * dbus/dbus-bus.c:
+ * dbus/dbus-internals.h: Make "autolaunch:" be the default
+ D-Bus session bus address.
+
+ * dbus/dbus-connection.c: Fix horrible typo in error message.
+
+2006-09-18 John (J5) Palmieri <johnp@redhat.com>
+
+ * tools/Makefile.am: use @EXPANDED_DATADIR@ instead of @DATADIRNAME@
+
+2006-09-17 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
+ fix so that if unix_user_function is set on windows, we still
+ do the default check that the auth identity matches the bus identity
+
+2006-09-16 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-transport.c (_dbus_transport_open): modify to delegate
+ to _dbus_transport_open_platform_specific,
+ _dbus_transport_open_socket,
+ and _dbus_transport_open_debug_pipe
+
+ * dbus/dbus-transport-protected.h: add _dbus_transport_open_platform_specific
+
+2006-09-16 Havoc Pennington <hp@redhat.com>
+
+ Attempt auditing public API to remove all cases where a Unix
+ function returns weird emulated goo to Windows. This probably
+ breaks the bus daemon on Windows, to fix it again we may
+ need to stop processing unix-specific config options on Windows,
+ and may need to add Windows-specific public API or config options.
+
+ * configure.in (LT_CURRENT, LT_AGE): increment current and age,
+ to reflect added interfaces; should not break soname.
+
+ * dbus/dbus-transport.c (_dbus_transport_get_is_authenticated): do
+ not invoke unix user function on Windows. Kind of a hacky fix, but
+ we don't want a "unix uid" leaking out on Windows.
+
+ * dbus/dbus-connection.c (dbus_connection_get_socket): add new API
+ to get the socket fd on Windows or UNIX
+ (dbus_connection_get_unix_fd): make this always fail on Windows
+
+2006-09-16 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-server.c (dbus_server_listen): change how this works
+ to be able to delegate to a set of handlers that can succeed,
+ fail, or choose not to handle. Allows us to have
+ dbus_server_listen_platform_specific.
+
+ * dbus/dbus-server-socket.c (_dbus_server_new_for_tcp_socket):
+ factor out the tcp socket stuff to be used on windows, leaving
+ unix domain socket only in dbus-socket-unix.c
+
+ * dbus/dbus-transport-socket.c
+ (_dbus_transport_new_for_tcp_socket): factor out the tcp socket
+ stuff to be used on windows, leaving unix domain socket only
+ in dbus-transport-unix.c
+
+ * dbus/dbus-connection.c (dbus_connection_get_unix_user): insert
+ temporary hack to be sure this fails on windows
+ (dbus_connection_get_unix_process_id): ditto
+
+2006-09-16 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-sysdeps-unix.c (_dbus_open_tcp_socket)
+ (_dbus_open_unix_socket, _dbus_open_socket): change API for
+ _dbus_open_socket so the domain/type/protocol from system headers
+ are not required. This is kind of pointless though unless we move
+ part of _dbus_connect_tcp_socket into sysdeps.c instead of
+ sysdeps-unix.c, which would mean adding a wrapper around
+ bind/listen/etc.
+ Also, add DBusError to the socket-opening functions so they
+ don't require use of errno.
+
+2006-09-16 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-sysdeps-unix.h: small change to Peter's patch to make
+ dbus-sysdeps-unix-util.c build, add unix-specific sysdeps header.
+
+ * dbus/dbus-sysdeps.h, dbus-sysdeps-unix.c: patch from Peter
+ Kümmel bug #8249 to make the sysdeps.h read/write/open/close
+ functions specifically for sockets only, and move generic
+ read/write/open/close into unix-specific code.
+
+2006-09-14 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-transport-unix.c (unix_do_iteration): fix a valgrind
+ complaint about accessing revents when poll returns 0, from Julian Seward.
+
+2006-09-14 John (J5) Palmieri <johnp@redhat.com>
+
+ * Released 1.0 RC 1 (0.93)
+
+2006-09-14 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-sysdeps-util-unix.c (_dbus_write_pid_file):
+ use _dbus_close instead of close
+
+2006-09-14 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-sysdeps.c: Add support for LOCAL_CREDS socket
+ credentials. Fixes "external" authentication under e.g. NetBSD
+ which does not support any other socket credentials mechanism.
+ (Patch from Julio M. Merino Vidal <jmmv at NetBSD dot org>)
+
+2006-09-14 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-threads.c: Allow recursive mutex's to be passed into
+ dbus_threads_init and be used by the dbus mutex functions to
+ avoid deadlocks.
+
+ * doc/TODO: Remove recursive mutex dbus_connection_dispatch TODO item
+
+2006-09-13 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-sysdeps-util-unix.c (_dbus_directory_get_next_file):
+ use threadsafe readdir_r instead of readdir
+
+2006-09-13 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus-threads.c (dbus_threads_init_default): New method for
+ initializing the internal thread implementation (Patch from
+ Alexander Larsson <alexl at redhat dot com>)
+
+2006-09-11 John (J5) Palmieri <johnp@redhat.com>
+
+ * remove a bunch of todo items from the 1.0 list
+
+2006-09-11 John (J5) Palmieri <johnp@redhat.com>
+
+ * bus/activation.c, bus/desktop-file.c: Distinguish between OOM and
+ key not found
+
+2006-09-11 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-internal.c: Add dbus_is_verbose so we can have more
+ complex debugging code
+
+ * dbus/dbus-marshal-basic.c (_dbus_marshal_read_fixed_multi): Move
+ between the test suite ifdefs
+ (_dbus_verbose_bytes): return if verbosity is not enabled
+
+2006-09-11 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-marshal-recursive-util.c, dbus/dbus-marshal-recursive.c:
+ remove DBusMark
+
+2006-09-10 Havoc Pennington <hp@redhat.com>
+
+ patch mostly by Peter Kümmel, bug #8211
+
+ * dbus/dbus-sysdeps-unix.c: new file, which splits out
+ unix-specific stuff in dbus-sysdeps.c
+
+ * dbus/dbus-sysdeps.c: don't include any UNIX-only headers,
+ and move unix-specific stuff to dbus-sysdeps-unix.c
+
+ * configure.in: check HAVE_ERRNO_H
+
+2006-09-08 John (J5) Palmieri <johnp@redhat.com>
+
+ * bus/test-main.c (main): Initialize threading during tests
+
+ * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
+ Unlock connection on error
+ (generate_local_error_message): static method for generating
+ an error message when we don't have a message to reply to
+ (_dbus_connection_block_pending_call): Send a disconnect error
+ instead of just a timeout (NULL) when the bus gets disconnected
+ while blocking for a reply.
+
+2006-09-08 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-connection.c (dbus_connection_dispatch): Properly remove
+ filters (Patch from Kimmo Hämäläinen
+ <kimmo dot hamalainen at nokia dot com>)
+
+2006-09-07 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-connection-internal.h: Add prototype for
+ _dbus_connection_test_get_locks to remove warning
+
+2006-09-07 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): Make sure we
+ close child_err_report_pipe[WRITE_END] on exec (Patch from
+ Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>)
+
+2006-09-07 John (J5) Palmieri <johnp@redhat.com>
+
+ * Clean up close calls to use _dbus_close (Patch from
+ Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>)
+
+2006-09-06 John (J5) Palmieri <johnp@redhat.com>
+
+ * doc/TODO:
+ - Remove pending call locking todo item
+ - dbus_connection_open now holds hard ref. Remove todo item
+ - do proper locking on _dbus_bus_check_connection_and_unref
+ and handle DBUS_BUS_STARTER. Remove todo item
+ - Warn on closing of a shared connection. Remove todo item
+
+ * bus/bus.c, bus/connection.c, bus/dispatch.c, dbus/dbus-bus.c,
+ dbus/dbus-connection.c: Use the dbus_connection_close_internal
+ so we don't get the warning when closing shared connections
+
+ * test/test-service.c, test/test-shell-service.c: Applications
+ don't close shared connections themselves so we unref instead of
+ close
+
+ * test/test-utils.c (test_connection_shutdown): Close the connection
+
+ * dbus/dbus-bus.c (_dbus_bus_check_connection_and_unref): Changed to
+ _dbus_bus_check_connection_and_unref_unlocked since we only call this
+ method on a locked connection.
+ Make sure we call _dbus_connection_unref_unlocked instead of
+ dbus_connection_unref also.
+ Handle DBUS_BUS_STARTER correctly
+
+ * dbus/dbus-connection.c (connection_record_shared_unlocked):
+ Mark as shared and hard ref the connection
+ (connection_forget_shared_unlocked): Remove the hard ref from the
+ connection
+ (_dbus_connection_close_internal_and_unlock): New internal function
+ which takes a locked connection and unlocks it after closing it
+ (_dbus_connection_close_internal): New internal function which acts
+ like the origonal dbus_connection_close method by grabbing a connection
+ lock and calling _dbus_connection_close_internal_and_unlock
+ (dbus_connection_close): Public close method, warns when the app
+ trys to close a shared connection
+
+2006-09-06 John (J5) Palmieri <johnp@redhat.com>
+
+ * bus/driver.c:
+ (bus_driver_generate_introspect_string): New method for populating
+ a DBusString with the introspect data
+ (bus_driver_handle_introspect): Move introspect generation code to
+ bus_driver_generate_introspect_string
+
+ * bus/main.c:
+ (introspect): New function which prints out the intropect data and
+ exits
+ (main): Add a --introspect switch
+
+2006-09-06 John (J5) Palmieri <johnp@redhat.com>
+
+ * doc/TODO: Removed dtd publishing item.
+ It seems the dtd has already been added at
+ http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd
+
+2006-09-05 John (J5) Palmieri <johnp@redhat.com>
+
+ * doc/TODO, various source files: Audited todo's and FIXME's and
+ prepended the ones we should be looking at with 1.0. Those
+ prepended with 1.0? need clerification or might not be needed
+ for 1.0
+
+2006-09-05 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-pending-call.c: Add some checks so we don't crash on
+ NULL in the public API (Patch from Kimmo Hämäläinen
+ <kimmo dot hamalainen at nokia dot com>)
+
+2006-09-05 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in: Fix for OS-X compile time endian issues (patch from
+ Benjamin Reed <ranger at befunk dot com>)
+
+2006-09-05 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in: Check for no-common compiler flag (OS-X fix from
+ Benjamin Reed <ranger at befunk dot com>)
+
+2006-09-01 John (J5) Palmieri <johnp@redhat.com>
+
+ * tools/dbus-launch.c: Add a sigterm handler (patch from Frederic Crozat
+ <fcrozat at mandriva dot com>)
+
+2006-08-29 Havoc Pennington <hp@redhat.com>
+
+ * test/test-service.c (path_message_func): fix lack of return value
+
+ * dbus/dbus-sysdeps.c (_dbus_printf_string_upper_bound): fix
+ formatting, remove #ifdef, and fix docs. #ifdef doesn't make
+ any more sense than on anything else in this file.
+ (_dbus_get_tmpdir): add const to return value, and keep the
+ results of the various getenv around in a static variable.
+
+2006-08-29 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-sysdeps-util.c, dbus/dbus-sysdeps-util-unix.c: change
+ from Ralf Habacker to move UNIX-specific sysdeps into a separate file.
+
+2006-08-25 John (J5) Palmieri <johnp@redhat.com>
+
+ * test/Makefile.am: change find to use syntax that works with non
+ gnu versions of find
+
+2006-08-25 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-transport.c: fix invalid deref when checking if
+ a vtable method exists (Patch from Christian Ehrlicher
+ <ch dot ehrlicher at gmx dot de>)
+
+2006-08-25 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in, dbus/Makefile.am, test/name-test/run-test.sh,
+ test/name-test/Makefile.am: Fixed some issues with getting get dbus
+ to build with builddir != srcdir (Taken from a patch by Bernard Leak
+ <bernard at brenda-arkle dot demon dot co dot uk>)
+
+2006-08-25 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in: Fix DBUS_DAEMONDIR to use EXPANDED_BINDIR for the
+ default case
+
+2006-08-25 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.ac, bus/Makefile.am: Generalize kqueue support so that
+ it works on any system providing this interface, not only FreeBSD.
+ For example, NetBSD. (Patch by Julio M. Merino Vidal <jmmv at NetBSD dot org>)
+
+2006-08-20 Havoc Pennington <hp@redhat.com>
+
+ * doc/dbus-faq.xml, doc/dbus-tutorial.xml: some improvements to
+ the docs
+
+2006-08-18 John (J5) Palmieri <johnp@redhat.com>
+
+ * Released 0.92
+
+2006-08-18 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-threads.c (dbus_threads_init): change the documentation
+ to reflect the init late change
+
+ * bus/bus.c (bus_context_new): Check user before we fork so we can
+ print out an error message a user will be able to see
+
+2006-08-18 John (J5) Palmieri <johnp@redhat.com>
+
+ Patch provided by Ralf Habacker (ralf dot habacker at freenet dot de)
+
+ * dbus/dbus-sysdeps.c, dbus/dbus-threads.c, dbus/dbus-internals.h:
+ Add two more global locks for use on windows platforms. These are
+ unused on non-windows platforms but are not ifdefed out to avoid
+ potential bugs (i.e. the few bytes lost does not warrent the extra
+ maintanence and complexity that having seperate sets of locks would
+ cause)
+
+2006-08-18 John (J5) Palmieri <johnp@redhat.com>
+
+ * bus/services.c (bus_registry_acquire_service): Return an error
+ when an application tries to register the org.freedesktop.DBus Bus Name
+
+ * bus/services.c (bus_registry_release_service): Return an error
+ when an application tries to release the org.freedesktop.DBus Bus Name
+
+2006-08-17 Alp Toker <alp@atoker.com>
+
+ * doc/dbus-specification.xml: Fix some minor typos.
+
+2006-08-17 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in: use $with_init_scripts instead of $operating_system
+ to determine where to store the pid since the init scripts manipulate
+ the pid file (patch from Marcelo Ricardo Leitner
+ <marcelo dot leitner at terra dot com dot br>.
+
+2006-08-16 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-threads.c: Add static DBusList *uninitialized_mutex_list and
+ static DBusList *uninitialized_condvar_list to support new late
+ initialization threading model. In this model threads can be initialized
+ even after the D-Bus API has been used but still needs to be initialized
+ before the second thread has been started. Mutexes and condvar addresses
+ are stored in the two static lists and are replaced with actuall locks
+ when threads are initalized.
+ (_dbus_mutex_new_at_location): New method for creating a mutex and placing
+ the location into the static list
+ (_dbus_mutex_free_at_location): New method for removing a mutex location
+ from the static list and freeing the mutex
+ (_dbus_condvar_new_at_location): New method for creating a conditional
+ variable and placing the location into the static list
+ (_dbus_condvar_free_at_location): New method for removing a conditional
+ variable location from the static list and freeing the conditional variable
+ (init_uninitialized_locks): Atomic method which goes through the static
+ lists of mutex and condvar location and updates them with actuall locks
+ (init_global_locks): changed to init_locks
+
+ * dbus/dbus-connection.c:
+ (_dbus_connection_test_get_locks): New method for tests to check connections
+ (_dbus_connection_new_for_transport): Use the new at_location mutex and
+ condvar API
+ (dbus_connection_allocate_data_slot): Pass in the global lock address
+ to _dbus_data_slot_allocator_alloc
+
+ * dbus/dbus-dataslot.c:
+ (_dbus_data_slot_allocator_alloc): Use the address of the mutex
+ instead of the mutex itself
+
+ * dbus/dbus-message.c:
+ (dbus_message_allocate_data_slot): Pass in the global lock address
+ to _dbus_data_slot_allocator_alloc
+
+ * dbus/dbus-pending-call.c:
+ (dbus_pending_call_allocate_data_slot): Pass in the global lock address
+ to _dbus_data_slot_allocator_alloc
+
+ * dbus/dbus-server.c:
+ (_dbus_server_init_base): Use the new at_location mutex API
+ (dbus_server_allocate_data_slot): Pass in the global lock address
+ to _dbus_data_slot_allocator_alloc
+
+ * test/name-test/test-threads-init.c: New test case for late thread
+ initialization
+
+2006-08-14 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-dataslot.c (_dbus_data_slot_allocator_alloc):
+ Change _dbus_abort to _dbus_assert_not_reached because _dbus_abort
+ causes compile problems when asserts are turned off
+ Keeping _dbus_warn for printing out the message so even if
+ asserts are turned off the user gets the messages that something is
+ wrong
+
+2006-08-14 John (J5) Palmieri <johnp@redhat.com>
+
+ Patches by Kjartan Maraas <kmaraas at gnome dot org>
+
+ * bus/services.c (bus_service_list_queued_owners):
+ Add a pointer cast to fix compiler warning
+
+ * dbus/dbus-dataslot.c (_dbus_data_slot_list_get):
+ return a NULL instead of FALSE since the return type
+ is not expecting a boolean
+
+ * dbus/dbus-marshal-basic.c (_dbus_marshal_test):
+ Remove unused variable
+
+ * dbus/dbus-marshal-recursive-util.c (node_new):
+ return a NULL instead of FALSE since the return type
+ is not expecting a boolean
+
+ * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
+ Send a NULL into _dbus_transport_new_for_fd instead of a FALSE
+ because we are expecting a pointer not a boolean
+
+ * dbus/dbus-sysdeps-util.c (_dbus_get_tmpdir):
+ add void as the parameter so some compilers
+ don't complain
+
+ * dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket,
+ _dbus_transport_new_for_tcp_socket):
+ Send a NULL into _dbus_transport_new_for_fd instead of a FALSE
+ because we are expecting a pointer not a boolean
+
+ * test/shell-test.c (test_command_line):
+ cast the second argument to _dbus_list_append to avoid compiler
+ warnings
+
+ * test/test-names.c (main): remove unused variable
+
+ * test/test-service.c (check_hello_from_self_reply):
+ Initialize echo_message and echo_reply to NULL
+
+ * test/test-shell-service.c (handle_echo):
+ Remove unused variable and cast the third parameter passed to
+ dbus_connection_get_object_path_data to avoid compiler warrnings
+
+ * test/name-test/test-names.c (clear_message_queue):
+ Remove unused function
+
+ * test/name-test/test-pending-call-dispatch.c:
+ Fix format string in printf
+
+
+2006-08-14 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-bus.c:
+ * test/name-test/test-names.c:
+ Remove test method dbus_bus_connection_get_unique_name because
+ we already have public method dbus_bus_get_unique_name that
+ does the exact same thing
+
+2006-08-10 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-signature.c:
+ fix typos in Julio's previous patch which cause make check to fail
+
+2006-08-10 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-address.c (_dbus_address_test): Revert leaking strcmp.
+ In any case it was wrong since this is a test checking to see if
+ address parsing is correct. There was no need to get the true
+ tmp directory.
+
+2006-08-10 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-macros.h: Revert the addition of stddef.h
+ as we should not be adding it to library headers
+
+2006-08-10 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-signature.c:
+ Fix the unit tests so that they work if assertions are not enabled.
+ (patch from Julio M. Merino Vidal <jmmv at NetBSD dot org>)
+
+2006-08-10 John (J5) Palmieri <johnp@redhat.com>
+
+ * tools/run-with-tmp-session-bus.sh:
+ * test/name-test/run-test.sh:
+ Remove bashisms (patch from Julio M. Merino Vidal
+ <jmmv at NetBSD dot org>)
+
+2006-08-10 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in: add a version (>= 2.6.0) check for libxml2
+
+2006-08-10 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in: make sure the compiler supports -Wfloat-equal
+
+ * bus/dir-watch-dnotify.c: move functional code after
+ variable declerations (C99 fix) (patches from Jens Granseuer
+ <jensgr at gmx dot net>
+
+2006-08-10 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-macros.h:
+ add #include <stddef.h> so that Sun compilers don't complain about
+ the defining NULL
+
+2006-08-10 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-sysdeps.c:
+ * dbus/dbus-address.c:
+ * bus/activation.c:
+ * test/shell-test.c:
+ don't hardcode tmp directory (patch from Dave Meikle
+ <dmk at davemeikle dot co dot uk>)
+
+2006-08-09 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-dataslot.c (_dbus_data_slot_allocator_alloc):
+ Change an assert to a detailed warning and abort.
+ When allocator->lock != mutex it indicates that the user has failed
+ to initalize threads before using the D-Bus library. This warning
+ helps the user identify the issue and fix their app.
+
+2006-08-08 John (J5) Palmieri <johnp@redhat.com>
+
+ These are all patches from Kjartan Maraas <kmaraas at gnome dot org>
+ with cleanups of bugs found from Coverity reports:
+
+ * dbus/dbus-sysdeps-util.c (_dbus_write_pid_file):
+ close the file on error to avoid a leak
+
+ * bus/expirelist.c (bus_expire_list_test):
+ Check for NULL on dbus_new0
+
+ * bus/activation.c (update_directory):
+ remove dead code
+
+ * bus/config-parser.c (merge_service_context_hash, start_selinux_child):
+ Fix some leaks
+
+ * bus/bus.c (process_config_every_time):
+ Fixed a leak
+
+ * bus/desktop-file.c (parse_key_value):
+ Fixed leak
+
+ * bus/selinux.c (bus_selinux_id_table_insert):
+ Fixed leak
+
+2006-08-08 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-object-tree.c (_dbus_object_subtree_new):
+ remove dead code
+
+2006-08-08 John (J5) Palmieri <johnp@redhat.com>
+
+ * tools/run-with-tmp-session-bus.sh: use #!/bin/sh instead of
+ #!/bin/bash
+
+2006-08-08 John (J5) Palmieri <johnp@redhat.com>
+
+ * Doxyfile.in: fix the INPUT line so we can generate docs
+ when sourcedir != builddir (patch from Cygwin Ports maintainer
+ <yselkowitz at users dot sourceforge dot net>
+
+2006-08-08 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-sysdeps.h:
+ * dbus/dbus-sysdeps.c:
+ * dbus/dbus-string.c:
+ s/_dbus_printf_length/_dbus_printf_string_upper_bound to comform with
+ GLib's function which does the same thing
+
+ * configure.in:
+ * bus/Makefile.am:
+ * bus/dir-watch-default.c:
+ * bus/dir-watch-dnotify.c:
+ * bus/dir-watch-kqueue.c:
+ Add kqueue directory watching for freebsd and split the directory
+ watching code into seperate files per method/arch
+ (patches from Timothy Redaelli <drizzt at gufi dotorg>)
+
+2006-08-08 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in:
+ * tools/Makefile.am:
+ * tools/dbus-launch.c:
+ * bus/Makefile.am:
+ allow --with-dbus-daemondir switch to be used to make the
+ daemon install to a seperate bindir like /usr/libexec
+ (patch from Brian Cameron <brian dot cameron at sun dot com)
+
+2006-08-08 John (J5) Palmieri <johnp@redhat.com>
+
+ * bus/Makefile.am (install-data-hook): removed the slash after
+ $(DESTDIR) so we don't get the double slash which does not work
+ in windows (patch from Andras Porjesz
+ <andras dot porjesz at siemens dot com>)
+
+2006-08-08 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-sysdeps.h:
+ * dbus/dbus-sysdeps.c:
+ add _dbus_printf_length (patch from Peter Kümmel
+ <syntheticpp at gmx dot net>)
+
+2006-08-08 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-internals.c: unistd.h is not used
+ (_dbus_verbose_real): only enable verbose printing
+ if DBUS_VERBOSE environment var is set to '1'
+ (patch from Peter Kümmel <syntheticpp at gmx dot net>)
+
+2006-08-08 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in: add a GCC flag check for -Wdeclaration-after-statement
+ so we still compile on older gcc (patch from Frederic Peters
+ <fpeters at 0d dot be>
+
+2006-08-04 Havoc Pennington <hp@redhat.com>
+
+ * configure.in: add -Wdeclaration-after-statement
+
+ * dbus/dbus-connection.c: change all the pending call stuff to
+ reflect the fact that pending call operations use the connection
+ lock
+
+ * dbus/dbus-pending-call.c: add locking here
+
+ * dbus/dbus-errors.c (struct DBusRealError): don't make the name
+ field const consistent with how message field is done
+
+2006-08-03 John (J5) Palmieri <johnp@redhat.com>
+
+ * s/D-BUS/D-Bus/g
+
+2006-08-03 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-object-tree.c: Patch by Benjamin Otte
+ <in7y118 at public.uni-hamburg dot de> - fix invalid
+ read/write reported by valgrind
+
+2006-07-24 John (J5) Palmieri <johnp@redhat.com>
+
+ * Released 0.91
+
+2006-07-22 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-connection.c:
+ (_dbus_connection_attach_pending_call_unlocked):
+ (connection_timeout_and_complete_all_pending_calls_unlocked):
+ Make sure we set timeout_added on pending calls to FALSE when
+ we remove the timeout from the connection
+
+2006-07-21 John (J5) Palmieri <johnp@redhat.com>
+
+ * Removed some extra bindings stuff lingering around (thanks timo)
+ * dbus-pendingcall.c (_dbus_pending_call_new):
+ s/dbus_connection_ref/_dbus_connection_ref_unlocked fixes assertion
+ when we tried to take a lock on an already locked connection
+
+2006-07-17 John (J5) Palmieri <johnp@redhat.com>
+
+ * Released 0.90
+
+2006-07-17 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-marshal-basic.c (_dbus_type_to_string): support 64-bit
+ ints, reported by Owen Taylor
+
+2006-07-17 John (J5) Palmieri <johnp@redhat.com>
+
+ * doc/TODO:
+ * dbus/dbus-bus.c:
+ * dbus-errors.c:
+ * dbus/dbus-marshal-validate.c:
+ Removed TODO items which were fixed or are no longer relevent
+
+2006-07-17 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus-qt4-1.pc.in, dbus-sharp.pc.in:
+ Remove stray files from the stripped bindings
+
+2006-07-16 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-pending-call.c (_dbus_pending_call_set_timeout_error):
+ Improve the error message on reply timeout
+
+2006-07-14 John (J5) Palmieri <johnp@redhat.com>
+
+ * Remove all bindings
+
+2006-07-13 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus-connection.c (dbus_connection_send_with_reply): return TRUE
+ and set pending_reply out arg to NULL is connection is disconnected
+ (connection_timeout_and_complete_all_pending_calls_unlocked): New
+ static method for cleaning up pending calls on disconnect
+ (_dbus_connection_get_dispatch_status_unlocked): If we have pending
+ calls queued timeouts on disconnect
+
+ * dbus/dbus-pending-call.c (_dbus_pending_call_set_connection):
+ Remove
+
+2006-07-13 Carlos Garcia Campos <carlosgc@gnome.org>
+
+ * bus/activation.[ch] (bus_activation_list_services): new function to
+ get the list of services that can be activated
+
+ * bus/dispatch.c: test coverage for the new bus method
+ ListActivatableNames
+
+ * bus/driver.c: new bus method ListActivatableNames to get the list of
+ services that can be activated
+
+ * doc/dbus-specification.xml: ListActivatableNames method documentation
+
+2006-07-12 John (J5) Palmieri <johnp@redhat.com>
+ * dbus/Makefile.am: add dbus-pending-call-internal.h to the list of
+ source files
+
+2006-07-12 John (J5) Palmieri <johnp@redhat.com>
+ * dbus/dbus-message-factory.c:
+ Fix index into an array (patch by Peter Kümmel <syntheticpp at gmx.net>)
+
+2006-07-12 John (J5) Palmieri <johnp@redhat.com>
+ * dbus/dbus-connection-internal.h:
+ * dbus/dbus-connection.c:
+ * file dbus/dbus-pending-call.c:
+ * dbus/dbus-pending-call.h:
+ Make DBusPendingCall an opaque type even to D-Bus internals
+
+2006-07-07 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-connection.h: remove connection_disconnect and replace with
+ connection_close
+
+ * dbus/dbus-connection.c: include dbus-bus.h
+ (_dbus_connection_read_write_dispatch): make static
+
+2006-07-07 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-connection.c (dbus_connection_close): removed deprecated
+ function
+ (dbus_connection_dispatch): On disconnect unref any shared connections
+
+ * dbus/dbus-bus.c (_dbus_bus_check_connection_and_unref): new function
+ for cleaning up shared connections on disconnect
+ (internal_bus_get): get a hard refrence to shared connections when
+ they are created
+
+ * doc/TODO: Remove items which are no longer relevent or have been fixed
+ Split 1.0 todo items with a 0.90 freeze todo list
+
+2006-06-14 Ross Burton <ross@openedhand.com>
+
+ * glib/dbus-gobject.c:
+ Free a leaking GArray (surely not!) in dbus_g_method_return.
+
+2006-06-14 Ross Burton <ross@openedhand.com>
+
+ * tools/Makefile.am:
+ * tools/dbus-monitor.c:
+ Don't use the GLib bindings in dbus-monitor (patch from Ralf
+ Habacker).
+
+2006-06-14 Ross Burton <ross@openedhand.com>
+
+ * tools/dbus-print-message.c:
+ Also print the object path when outputting signals or method calls.
+
+2006-06-13 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/src/Makefile.am: install the qdbus.h header.
+ This allows people to actually use the installed code.
+
+2006-06-12 Ross Burton <ross@openedhand.com>
+
+ * glib/dbus-gproxy.c:
+ Don't leak a GArray when firing signals (thank Rob Taylor for review).
+
+2006-06-12 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * Released 0.62
+
+2006-06-12 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * dbus/dbus-arch-deps.h.in: Remove spurious semi-colons that
+ break pedantic builds. Closes bug 6043 (patch approved by
+ Havoc back in February).
+
+2006-06-12 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/src/qdbusintegrator.cpp: Fix bug in parsing async methods
+ that took a QDBusMessage parameter.
+ * qt/src/qdbusbus.h: Add a default flag for RequestName.
+ * qt/tools/dbus.cpp: Don't use automatic call because we might
+ be calling an async method: request a reply.
+
+2006-06-11 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * test/qt/*: Update the testcases, including testing the new
+ functionality of sending null QByteArray and QString over the
+ bus. Add new headertest test and restore the old
+ qdbusxmlparser test.
+
+2006-06-11 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/tools/dbuscpp2xml.cpp: Compile on Windows.
+ * qt/tools/dbusidl2cpp.cpp: Add missing newline.
+
+ * qt/examples/Makefile.am:
+ * qt/examples/chat.h: Use UI-generated files with the ui_*.h
+ form.
+
+ * qt/src/qdbusmarshall.cpp: Allow sending of QString() and
+ QByteArray() (nulls) over the bus.
+ * qt/src/qdbusabstractinterface.cpp: Use the correct variable,
+ the one that has the signature suffix stripped.
+ * qt/src/qdbusreply.h: Make some methods const.
+
+2006-06-09 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ Patch from Timo Hoenig <thoenig@suse.de>.
+
+ * qt/dbus/Makefile.am: New file. Fix "make dist", add all headers
+ required during build to EXTRA_DIST.
+ * qt/src/Makefile.am: Fix "make dist", add 'qdbus.h' to EXTRA_DIST.
+ * qt/Makefile.am: Fix "make dist", add 'dbus' to DIST_SUBDIRS.
+ * configure.in: Fix "make dist", take care that the Makefile for
+ qt/dbus is being generated.
+
+2006-06-07 John (J5) Palmieri <johnp@redhat.com>
+
+ * bus/bus.c: Fix eavesdropping on method calls
+
+2006-06-07 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in:
+ * dbus/dbus-userdb-util.c:
+ Add Solaris console owner patch from Artem Kachitchkine
+
+2006-06-07 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/Makfile.am:
+ * qt/src/Makefile.am: Fix the EXTRA_DIST after the
+ reorganisation. Thanks to Timo Hoenig for pointing this out.
+
+2006-06-06 Robert McQueen <robot101@debian.org>
+
+ * glib/dbus-gtype-specialized.c: Fix obvious leak of GArray in every
+ call to dbus_g_type_get_struct.
+
+2006-06-06 Robert McQueen <robot101@debian.org>
+
+ * glib/dbus-gvalue-utils.c: Fix the failing test where static string
+ pointers were put into a GPtrArray-based specialised collection, and
+ then freed along with the array. GValues which you add into
+ collections or maps which have the NOCOPY flag set are assumed to not
+ belong to the caller, so rather than the existing pointer-stealing
+ semantics, they are copied instead. Given that the main consumers of
+ this abstraction are the bindings themselves, I don't think this is
+ too bad, but others should watch their choice of take vs set_static.
+
+2006-06-06 Robert McQueen <robot101@debian.org>
+
+ * glib/dbus-gvalue-utils.c: Spotted a warning about the return value
+ of g_slist_prepend not being used. Fixed copying of slist-based
+ specialised collections, then wrote a test case and found that it was
+ all broken. Went on to fix iterating and appending too. Good thing
+ nobody uses this code yet.
+
+2006-06-06 Robert McQueen <robot101@debian.org>
+
+ * glib/dbus-gvalue-utils.c: Remove duplicated code by having all of
+ the iterators use gvalue_take_ptrarray_value (the GValues themselves
+ are discarded without unsetting, so it makes no difference whether
+ we take or set_static). Remove cases for G_TYPE_POINTER because
+ there really is nothing useful we can do with them in our
+ specialised types - we *need* boxed copy/free functions at the very
+ least.
+
+2006-06-05 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/dbus: Add directory. I had forgotten to add this
+ yesterday after the move...
+
+ * qt/examples/Makefile.am:
+ * qt/examples/dbus.cpp: Moved to qt/tools/dbus.cpp.
+
+ * qt/tools/Makefile.am:
+ * qt/tools/dbus.cpp: Moved from qt/examples/dbus.cpp.
+ Added feature to get and set properties.
+ Added validation of service, object path and interface names.
+
+ * qt/tools/dbusidl2cpp.cpp: Two new features:
+ 1) Allow specifying both the header and the source file names,
+ by separating them with a colon.
+ 2) Don't write an interface output if the -p switch wasn't
+ given, but the -a was.
+
+ * qt/src/*: Fix usage of Iterators and ConstIterators.
+ Fix shadowing of variables by other variables (-Wshadow).
+ Fix keyword-cleanliness in headers.
+ Fix ASCII-cast (QLatin1String, QLatin1Char).
+ Fix validation of member names.
+ Add extra checking of introspection data during XML parsing.
+ Various bug fixes.
+
+2006-06-04 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * dbus/Makefile.am:
+ * dbus/qdbus.h: Remove unnecessary file. This is mirrored into
+ qt/dbus/qdbus.h now.
+
+2006-06-04 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * configure.in: Make --disable-qt actually do
+ something. Patch inspired by Zack Rusin.
+
+2006-06-04 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/: Update to Subversion r548032.
+ This includes a big reorganisation of the files inside the
+ subdir.
+
+2006-05-30 Sjoerd Simons <sjoerd@luon.net>
+
+ * dbus/dbus-sysdeps.c: Make tcp socket connection error somewhat more
+ clear:
+ "Failed to connect to socket <host>:<port> <error>" instead of
+ "Failed to connect to socket <host>: <error>:<port>"
+
+ * dbus/dbus-transport-unix.c: Fix crash when no host option is given
+ for a tcp transport.
+
+2006-05-29 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/*: Update the QtDBus bindings up to revision 546310 in
+ Subversion.
+ This adds the dbuscpp2xml tool, that parses a C++ header and
+ outputs a D-BUS Introspection XML.
+
+2006-05-21 Havoc Pennington <hp@redhat.com>
+
+ * glib/dbus-gproxy.c: Put in a pile of assertions that the proxy name
+ is not NULL when it shouldn't be. Also a couple of possible fixes
+ for #4637 though I don't understand why the bug happens, to be
+ honest... also the object constructor has an assert name != NULL
+ and the name is only currently NULL for peer-to-peer proxies that
+ I don't think anyone uses? So it should be asserting.
+ Anyway, for now at least see if we get an earlier assertion failure.
+
+ * glib/dbus-gvalue-utils.c: Put in a couple of assertions for
+ apparently broken code to be sure the tests fail and someone
+ will fix them...
+
+2006-05-07 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/qdbusmarshall.cpp: Fix a problem of demarshalling lists
+ and arrays when they had a single element: has_next returns
+ false, even before you read the element. So, instead, check
+ the array length.
+
+2006-05-06 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/qdbusmessage.cpp:
+ * qt/qdbustypehelper_p.h:
+ * qt/qdbusintegrator.cpp: gcc 3.4 doesn't like Q_FOREACH when
+ the list is a const-reference
+
+2006-05-03 John (J5) Palmieri <johnp@redhat.com>
+
+ * Adding old doc patch that never got applied
+
+ * dbus/bus.c (dbus_bus_add_match): Add documentation
+
+ * doc/dbus-specification.xml: Add documentation for the match rules
+ and the AddMatch and RemoveMatch methods
+
+2006-05-02 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/dbusidl2cpp.cpp: There's no callAsync. Use the correct
+ call (r535506)
+
+ * qt/dbusidl2cpp.cpp:
+ * qt/qdbusabstractadaptor.cpp:
+ * qt/qdbusabstractadaptor.h: Make QDBusAdaptorConnector be a
+ sibling of the QDBusAbstractAdaptor objects instead of the
+ parent. (r535848)
+
+ * qt/dbusidl2cpp.cpp:
+ * qt/qdbusabstractinterface.cpp:
+ * qt/qdbusabstractinterface.h:
+ * qt/qdbusabstractinterface_p.h:
+ * qt/qdbusinterface.cpp: Make properties in interfaces
+ actually work. The code that was generated would not compile,
+ due to moc calls to functions that did not exist. They now
+ shall. (r536571)
+
+2006-04-30 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * Makefile.am:
+ * configure.in:
+ * dbus-qt4-1.pc.in: Add a pkg-config file for libdbus-qt4-1.
+ Thanks to Brad Hards for providing the patch
+
+2006-04-29 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/dbusidl2cpp.cpp: There's no callAsync. Use the correct
+ call. (r535506)
+
+2006-04-29 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/examples/dbus.cpp: Enhance error messages and use
+ QDBusInterfacePtr.
+
+2006-04-29 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/qdbusinterface.h: Rename QDBusRef to QDBusInterfacePtr
+ and disable the copy operators. (r533772, r534746)
+
+ * qt/qdbuserror.h: Remove the automatic cast to bool. (r533929)
+
+ * qt/qdbusabstractinterface.cpp:
+ * qt/qdbusabstractinterface.h: Change the default call mode to
+ not use the event loop. Add convenience call() methods that
+ take a CallMode parameter. (r534042)
+
+ * qt/qdbusconnection.h: Change the default call mode to not
+ use the event loop. (r534042)
+
+ * qt/qdbusinterface.cpp:
+ * qt/qdbusinterface.h: Add a method to tell us if the
+ interface is valid (since we don't return a null pointer
+ anymore) (r534099)
+
+ * qt/qdbusinterface_p.h: Don't crash if metaObject is 0
+ (r534101)
+
+ * qt/qdbusinternalfilters.cpp: Decouple the introspection
+ function in two so taht we get the chance to introspect
+ without having a QDBusMessage (r534102)
+
+ * qt/qdbusbus.h:
+ * qt/qdbusconnection.cpp:
+ * qt/qdbusconnection_p.h:
+ * qt/qdbusintegrator.cpp: Keep a list of our own names to
+ avoid a round-trip to the server when attempting to introspect
+ one of our own objects. Also make sure the filter functions
+ match the empty interface as well. (r534108)
+ Don't keep the connection names. Instead, trust the unique
+ connection name (r534111)
+ Remove event loop usage (r534112)
+
+2006-04-29 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/qdbusintegrator.cpp: Fix assertion failure spotted by
+ Brad Hards.
+
+2006-04-28 Robert McQueen <robot101@debian.org>
+
+ * glib/dbus-gproxy.c: Fix properties so that they can be given in
+ any order, making it easier for people who inherit from this
+ object.
+
+2006-04-28 Robert McQueen <robot101@debian.org>
+
+ * glib/dbus-gvalue-utils.c: Patch from Jakub Stachowski to fix leaking
+ of memory from within pointer arrays and lists. Fixes bug #6300.
+
+2006-04-28 Robert McQueen <robot101@debian.org>
+
+ * glib/dbus-gvalue.c: Patch from Jakub Stachowski to fix a leak in
+ generating struct signatures. Fixes bug #6083.
+
+2006-04-28 Robert McQueen <robot101@debian.org>
+
+ * qt/Makefile.am: Tweak CLEANFILES from qdbusconnection.moc
+ to qdbusconnection_p.moc.
+
+2006-04-24 John (J5) Palmieri <johnp@redhat.com>
+
+ * README, INSTALL: Doc fixes
+ Patch from Brad Hards <bradh at frogmouth.net>
+
+2006-04-23 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/examples/dbus.cpp: Use the new merged-interface mode for
+ the dynamic meta object. No need to guess which interface to
+ call.
+
+2006-04-23 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/qdbusconnection_p.h:
+ * qt/qdbusmetaobject.cpp:
+ * qt/qdbusmetaobject_p.h:
+ * qt/qdbusintegrator.cpp: Use the new merged-interface mode
+ for the dynamic meta object. No need to guess which
+ interface to call.
+ * qt/qdbusabstractinterface_p.h:
+ * qt/qdbusconnection.cpp:
+ * qt/qdbusintegrator.cpp:
+ * qt/qdbusinterface.cpp:
+ * qt/qdbusinterface.h: Make findInterface always return a non-null pointer.
+ Add a QDBusRef that looks and behaves like DCOPRef.
+
+2006-04-23 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * dbus/dbus-connection.c: Interfaces are optional in method
+ calls, so don't give up if the interface parameter is NULL.
+ Patch reviewed by Havoc Pennington.
+
+2006-04-23 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/qdbusreply.h: Add default constructor and operator=
+ (r532625)
+ * qt/qdbustypehelper_p.h: Use a clean namespace: no foreach()
+ in public headers (r532952)
+ * qt/qdbusabstractinterface.cpp:
+ * qt/qdbusabstractinterface_p.h: Add the AutoDetect mode and
+ make it the default (r532951)
+
+2006-04-19 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-connection.c: Fix asserts
+ Patch from Tim Moloney <t.moloney at verizon.net>
+
+2006-04-19 John (J5) Palmieri <johnp@redhat.com>
+
+ * mono/Connection.cs, mono/Message.cs: Check Target type
+ Patch from Aaron Bockover (abockover at novell.com)
+
+2006-04-13 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * INSTALL: fine-tune the requirements for the Qt4 binding.
+
+2006-04-16 Daniel P. Berrange <dan@berrange.com>
+
+ * tools/dbus-print-message.c: Added support for printing of all
+ remaining data types. Fixed logic for indentation of compound
+ data types.
+
+2006-04-15 Daniel P. Berrange <dan@berrange.com>
+
+ * INSTALL: fill out content of file providing DBus specific
+ build installations, followed by generic Auto* INSTALL file
+ content
+
+2006-04-13 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/qdbusintegrator.cpp: Work around g++ 3.3 bug.
+ Patch by Stefan Eilers. (r529537)
+
+2006-04-13 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/qdbusinternalfilters.cpp: Don't show the parent's
+ contents (r528208)
+
+2006-04-10 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/Makefile.am: fix the dependency for
+ qdbusconnection_p.moc. It's included in qdbusintegrator.cpp,
+ not in qdbusconnection.cpp.
+ Thanks to Jakub Stachowski <stachowski@hypair.net> for
+ spotting this.
+
+2006-04-10 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/examples/listnames.cpp:
+ * qt/examples/Makefile.am: Three ways to list the names on the
+ bus.
+
+2006-04-10 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * test/qt/tst_hal.cpp: Remove the waiting, since it's not
+ needed anymore. Requires Qt 4.1.3 to work properly. (r528148)
+
+2006-04-10 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ Merge from Subversion:
+ * qt/qt-dbus.qdocconf: Update Trolltech's webpage link to
+ something that exists (r526315)
+ * qt/qdbusinternalfilters.cpp: Correctly detect non-scriptable
+ slots/signals (r526316)
+ * qt/qdbusinternalfilters.cpp: Fix the setProperty call and
+ also return an unknown-method error if the parameters don't
+ match for org.freedesktop.DBus.Properties. (r526842)
+ * qt/examples/dbus.cpp: Allow passing of QVariants (r526843)
+ * qt/qdbusintegrator.cpp: Restore the proper order of
+ delivery: don't make method returns be delivered on priority
+ (r528150)
+
+2006-03-28 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * configure.in qt/Makefile.am: add qt/examples
+ * qt/examples: Add QtDBus example programs:
+ - hello: Hello, World
+ - ping: Simple method-calling program
+ - pong: Simple object-exporting program (not using adaptors)
+ - complexping: Interactive method-calling program
+ (also gets and sets properties).
+ - complexpong: Sample program exporting methods, signals and
+ properties, using adaptors.
+ - dbus: Simple implementation of a generic method-calling
+ program, similar to 'dbus-send', but with semantics
+ similar to 'dcop'.
+ - chat: Simplistic chat program, implemented using signals
+ and the system bus. Looks like IRC.
+
+2006-03-28 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * configure.in: Detect QtGui (necessary for one of the
+ example programs). Note: this increases the minimum required
+ version of Qt to 4.1.3.
+
+2006-03-28 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * test/qt/*: Sync with KDE Subversion revision 523647.
+ Update the testcases to the new API. Remove testcases for
+ classes that are no longer public or have been removed.
+
+2006-03-28 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/*:
+ * dbus/qdbus.h: Sync with KDE Subversion revision
+ 523647. Hopefully, this will be the last of the
+ source-incompatible changes. Documentation has been improved;
+ support for QList<basic-types> has been added; QDBusObject is
+ gone; QDBus(Abstract)Interface is now a QObject with
+ auto-generated meta-object; QDBusIntrospection is marked
+ private, since QMetaObject can be used now; lots of bugfixes.
+
+2006-03-16 John (J5) Palmieri <johnp@redhat.com>
+
+ Patch from Milosz Derezynski <internalerror at gmail.com>
+
+ * configure.in:
+ Output the service directory in the configure summary
+
+ * dbus-1.pc.in:
+ Add session_bus_services_dir
+
+2006-03-10 Ross Burton <ross@openedhand.com>
+
+ * tools/dbus-print-message.c:
+ Add support for object paths and signatures.
+
+2006-03-06 Sjoerd Simons <sjoerd@luon.net>
+
+ * bus/bus.c: (bus_context_reload_config): Flush the user database cache on
+ config reload.
+ * bus/dbus-daemon.1.in: Also note that SIGHUP flushes the user/group
+ information caches
+ * dbus/dbus-hash.c: (_dbus_hash_table_remove_all):
+ * dbus/dbus-hash.h: Add function to remove all entries from a hash table
+ * dbus/dbus-userdb.c: (_dbus_user_database_flush):
+ * dbus/dbus-userdb.h: Add function to flush all user/group information
+ caches.
+
+2006-03-06 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/dbusidl2cpp.cpp:
+ * qt/Makefile.am: add the dbusidl2cpp tool, the replacement
+ for dcopidl2cpp, found in the KDE installations (or the more
+ modern kalyptus): generate Qt4 C++ code for the input XML
+ introspection. Currently no IDL parsing.
+
+2006-03-06 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * test/qt/*: Update the self-tests.
+
+2006-03-06 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/*:
+ * dbus/qdbus.h: Sync with KDE Subversion revision 516237. This
+ represents the first feature-complete version of the Qt4
+ bindings since I took ove maintainership.
+
+2006-03-06 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/Doxyfile: Adding a Doxyfile for the Qt4 bindings
+ dir. This is C++, so we can't use the DBus ones.
+
+2006-03-02 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/dbus_bindings.pyx: Remove refrence to sys/cdefs.h
+ (Patch from Artem Kachitchkine <Artem.Kachitchkin at Sun.COM>)
+
+2006-03-02 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-connection.c:
+ (_dbus_connection_block_pending_call):
+ Check to see if our data has already been read off the connection
+ by another blocking pending call before we block in poll.
+ (check_for_reply_and_update_dispatch_unlocked):
+ Code taken from _dbus_connection_block_pending_call - checks for
+ an already read reply and updates the dispatch if there is one.
+
+ * test/name-test/test-pending-call-dispatch.c:
+ New test for making sure we don't get stuck polling a
+ dbus connection which has no data on the socket when
+ blocking out of order on two or more pending calls.
+
+2006-02-28 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/Makefile.am: Patch by Sjoerd Simons. More .moc issues:
+ make/automake don't detect that we're talking about the same
+ .lo file if I specify the full path to the source files.
+
+2006-02-26 Havoc Pennington <hp@redhat.com>
+
+ * bus/dbus-daemon.1.in: improve the language in a couple spots I noticed
+
+ * dbus/dbus-bus.c (internal_bus_get): in the error message if the
+ session bus variable is unset, suggest "man dbus-launch" and "man
+ dbus-daemon" to figure out how to fix the problem
+
+2006-02-25 Havoc Pennington <hp@redhat.com>
+
+ * glib/dbus-glib-tool.c (usage): fix up the usage message, someone
+ should make this thing use the new glib options parser
+
+2006-02-25 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/Makefile.am: Patch by Sjoerd Simons. Fix the path to the
+ .lo files taking moc sources.
+
+2006-02-25 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus.h, dbus/Makefile.am: add dbus-signature.h to dbus.h
+ and install it as a public header
+
+2006-02-24 John (J5) Palmieri <johnp@redhat.com>
+
+ * Released 0.61
+
+2006-02-24 John (J5) Palmieri <johnp@redhat.com>
+
+ * proxies.py: Fix the callchain
+
+2006-02-24 John (J5) Palmieri <johnp@redhat.com>
+
+ * patch from Sjoerd Simons <sjoerd at debian.org>:
+
+ * dbus/dbus-sysdeps-util.c (_dbus_group_info_free): Moved to
+ dbus/dbus-sysdeps.c
+
+ * dbus/dbus-userdb.c (_dbus_group_info_free_allocated): Don't
+ call _dbus_group_info_free_allocated which causes infinite loop,
+ correctly call _dbus_group_info_free
+
+2006-02-20 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/qdbusinterface_p.h:
+ * qt/qdbusinterface.cpp: Use the standard
+ org.freedesktop.DBus.Method.NoReply annotation for the "async"
+ calls instead of creating one for us.
+
+ * qt/qdbusconnection_p.h:
+ * qt/qdbusintegrator.cpp: Remove debugging code.
+
+ * qt/qdbusintegrator.cpp:
+ * qt/qdbusmessage.cpp:
+ * qt/qdbusmessage_p.h:
+ * qt/qdbusmessage.h: Change the behaviour of automatic
+ reply-sending: now a reply is always sent, unless the caller
+ didn't request one or if the user slot has already sent one.
+
+2006-02-16 Robert McQueen <robot101@debian.org>
+
+ * configure.in: Patch from Debian packages by Sjoerd Simons
+ <sjoerd@debian.org> to add --with-qt-moc and --with-qt3-moc
+ arguments so it's possible to build both bindings in the
+ same tree.
+
+ * qt/Makefile.am: Fix truncated value so that make dist works.
+
+2006-02-16 Robert McQueen <robot101@debian.org>
+
+ * acinclude.m4, configure.in: Patch from Brad Hards
+ <bradh@frogmouth.net> to avoid warnings from autoconf 1.9 by
+ improving quoting, re-ordering a few checks, and a few other
+ aesthetic tidy-ups.
+
+2006-02-16 Robert McQueen <robot101@debian.org>
+
+ * dbus/dbus-message.c (dbus_message_iter_get_fixed_array):
+ Patch from Rob Taylor <rob.taylor@collabora.co.uk> to correct a bogus
+ assertion that the next element to read from the iter is fixed in
+ size. This is not the case when you are at the end of the iter,
+ because the next element type is INVALID.
+
+ * dbus/dbus-string.c (_dbus_string_init_const_len): Correct a
+ a bogus assert which means that you may not initialise a 0-length
+ string unless you provide a non-NULL pointer. This prevented
+ you from marshalling messages containing zero-length arrays in
+ some cases.
+
+ * glib/dbus-gvalue.c (demarshal_collection_array): Another patch
+ from Rob to correct bogus asserts when trying to demarshal an
+ array and get_fixed_array got you 0 elements. Append nothing to
+ the GArray in this case.
+
+ * test/glib/test-dbus-glib.c: Add a test case for round-tripping
+ an empty array via the glib bindings. Without all of the above
+ patches, this new test fails.
+
+2006-02-16 Robert McQueen <robot101@debian.org>
+
+ * glib/dbus-gmain.c: Make the previous commit compile.
+
+ * python/_dbus.py, python/matchrules.py: Patch from Ole Andre
+ Ravnaas <ole.andre.ravnaas@collabora.co.uk> to allow you to
+ specify sender_keyword="foo", path_keyword="bar" when adding
+ a signal listener, so that you can bind to signals generically
+ but still do something useful in your callback.
+
+ * python/dbus_bindings.pyx: Demarshal the byte type as unsigned
+ chars so that they're not cast to chars and made negative. Thanks
+ to Jakub Stachowski for reporting this and testing the fix.
+
+2006-02-15 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-glib.h:
+ * glib/dbus-gmain.h:
+ (dbus_g_connection_open): new method for openning
+ a connection to an arbitrary address in the glib bindings
+
+ * ChangeLog: checkin last entry which doesn't seem to be commited
+
+2006-02-13 John (J5) Palmieri <johnp@redhat.com>
+
+ * tools/dbus-launch.c: Fixed sh syntax output
+
+2006-02-13 Robert McQueen <robot101@debian.org>
+
+ * glib/dbus-binding-tool-glib.c, glib/dbus-gmain.c,
+ glib/dbus-gsignature.c, glib/dbus-gtype-specialized.c,
+ glib/dbus-gtype-specialized.h, glib/dbus-gvalue-utils.c,
+ glib/dbus-gvalue-utils.h, glib/dbus-gvalue.c:
+ Patch from Rob Taylor <rob.taylor@collabora.co.uk> to add a big
+ missing piece of the glib bindings jigsaw puzzle. This modifies
+ the existing specialised types to have N type parameters (rather
+ than the current 1 or 2 for arrays and dictionaries respectively).
+ You can then use this to get a glib type to represent any arbitrary
+ D-Bus struct type using dbus_g_type_get_struct. The only
+ implementation of these types is with GValueArrays as before,
+ but it's now possible to store these in arrays, emit them in
+ signals, etc.
+
+2006-02-10 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-signature.c (dbus_signature_iter_recurse): Correctly
+ deal with nested arrays (Bug #5823) Patch by Thiago Macieira
+ <thiago.macieira at trolltech.com>
+
+2006-02-10 John (J5) Palmieri <johnp@redhat.com>
+
+ * mono/doc/Makefile.am: Fix parallel make problem with mono-doc
+ (Bug #4213) Patch from Doug Goldstein <cardoe at gentoo.org>
+
+2006-02-10 John (J5) Palmieri <johnp@redhat.com>
+
+ * bus/connection.c (bus_connections_expect_reply): Make
+ pending reply limit not common to all connections (Bug #5416)
+ Patch from Kimmo Hämäläinen <kimmo.hamalainen at nokia.com>
+
+2006-02-10 John (J5) Palmieri <johnp@redhat.com>
+
+ * tools/dbus-launch.c: Fixed csh syntax output (Bug #5720)
+
+2006-02-10 John (J5) Palmieri <johnp@redhat.com>
+
+ * gcj/Makefile.am: point to correct jar command (Bug #4529)
+ patch from Doug Goldstein <cardoe at gentoo.org>
+
+2006-02-09 Joe Shaw <joeshaw@novell.com>
+
+ * mono/Arguments.cs: Fix a magic number in the mono bindings
+ that doesn't work on 64 bit arches. Patch from Peter Johanson.
+
+2006-01-27 Robert McQueen <robot101@debian.org>
+
+ * glib/dbus-binding-tool-glib.[ch]: Patch based on Ricardo Kekki's
+ patch to use an annotation org.freedesktop.DBus.GLib.ClientCSymbol
+ when generating the client-side methods, instead of overloading
+ CSymbol which broke everything horribly. My apologies.
+
+2006-01-27 Robert McQueen <robot101@debian.org>
+
+ * glib/dbus-gtype-specialized.[ch], glib/dbus-gvalue-utils.c: Patch
+ by me and Rob Taylor to add a simple_free function to D-Bus map
+ and collection types, which allows those types which can be freed
+ with a GDestroyNotify (such as GHashTables and GArrays, but not
+ GPtrArrays) to be stored as the values in hashtables.
+
+ * test/glib/test-dbus-glib.c, test/glib/test-service-glib.{c,xml}:
+ Patch by Rob Taylor to add nested dicts to the glib tests to check
+ the above code works, and appears not to leak when called repeatedly.
+
+2006-01-27 Robert McQueen <robot101@debian.org>
+
+ * glib/dbus-gvalue.c (demarshal_valuearray): Patch from Rob Taylor
+ to free a D-Bus allocated string with dbus_free () instead of
+ g_free ().
+
+2006-01-27 Iain Holmes <iain@openedhand.com>
+
+ * glib/dbus-gproxy.c (dbus_g_proxy_dispose): Protect the dispose
+ method from being called multiple times.
+
+2006-01-19 Robert McQueen <robot101@debian.org>
+
+ * glib/dbus-binding-tool-glib.c: Patch from Rob Taylor
+ <rob.taylor@collabora.co.uk> to add support for generating bindings
+ to arrays that are represented as GPtrArrays rather than GArrays (ie
+ size-variable things, such as strings, objects, structs, etc).
+
+2006-01-05 Robert McQueen <robot101@debian.org>
+
+ * dbus/dbus-glib.h, glib/dbus-gproxy.c: Patch from Ricardo Kekki
+ <ricardo.kekki@movial.fi> to make it possible to inherit from
+ DBusGProxy, by splitting the DBusGProxy struct into a public part and
+ a private part, and moving the setting of the DBusGProxyManager into a
+ connection property, allowing proper GObject construction.
+
+2006-01-05 Robert McQueen <robot101@debian.org>
+
+ * glib/dbus-binding-tool-glib.c: Patch from Ricardo Kekki
+ <ricardo.kekki@movial.fi> to make dbus-binding-tool heed C symbol name
+ annotations when generating glib client bindings.
+
+2005-12-19 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-shared.h: Call it shared constants instead of shared macros
+
+ * dbus/dbus-protocol.h: add DOxygen markup to quiet warnings
+
+2005-12-19 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-shared.h: add DOxygen markup to quiet warnings
+
+2005-12-19 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-macros.h: correct DOxygen end of section (s/}@/@})
+
+2005-12-19 Ross Burton <ross@openedhand.com>
+
+ * doc/dbus-tutorial.xml:
+ Document the Glib client-side bindings, and list all possible annotations.
+
+2005-12-19 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/bus.c (dbus_bus_release_name): Add documentation
+
+2005-12-06 Robert McQueen <robot101@debian.org>
+
+ * python/service.py: s/sucessful/successful/ so we're allocating to
+ and reading from the same variable. Oops.
+
+2005-11-30 John (J5) Palmieri <johnp@redhat.com>
+
+ * Released 0.60
+
+2005-11-30 John (J5) Palmieri <johnp@redhat.com>
+
+ * test/qt/Makefile.am: build from srcdir
+
+ * qt/qtconnection.cpp (requestName): Changed PROHIBIT_REPLACE to ALLOW_REPLACE
+ Note - this code is wrong and needs to be fixed by the Qt binding
+ developers. The flags should be treated as bitfields and not enums.
+
+ * qt/qtconnection.h: Change ProhibitReplace to AllowReplace
+
+2005-11-30 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-list.c (_dbus_list_insert_after_link, _dbus_list_insert_after,
+ link_after): remove #ifdef DBUS_BUILD_TESTS since we use these methods
+ in production code
+
+2005-11-30 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-connection.c (dbus_connection_read_write): Add new
+ method for getting messages off the bus in the absence of a
+ mainloop. This method is much like
+ dbus_connection_read_write_dispatch except it does not dispatch
+ the messages to a registered filter function. Instead it
+ allows a developer to process messages by directly popping
+ them off the bus.
+
+2005-11-30 John (J5) Palmieri <johnp@redhat.com>
+
+ * bus/desktop-file.c (parse_key_value): Ignore locales allowing
+ the parser to continue instead of returning error
+ (bus_desktop_file_load): Do not free parser data when
+ parse_section_start or parse_key_value fails because it was
+ already freed by parser_free (patch from Carlos Garcia Campos
+ <carlosgc at gnome.org>)
+
+2005-11-30 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-auth.c, dbus/dbus-connection.c, dbus/dbus-keyring.c,
+ dbus/dbus-server-debug-pipe.c, glib/dbus-binding-tool-glib.c
+ glib/dbus-glib-tool.c, glib/dbus-gparser.c, glib/dbus-gproxy.c
+ test/test-segfault.c, test/test-utils.c,
+ test/glib/test-dbus-glib.c, tools/dbus-cleanup-sockets.c
+ tools/dbus-launch.c, tools/dbus-tree-view.c, tools/dbus-viewer.c:
+ Various cleanup of dead code and compiler warnings (patch from
+ Kjartan Maraas <kmaraas at gnome.org>)
+
+2005-11-30 John (J5) Palmieri <johnp@redhat.com>
+
+ * glib/dbus-gmain.c (connection_setup_add_watch): plugged a leak
+ (patch from Carlos Garnacho Parro <carlosg at gnome.org>
+
+2005-11-27 Robert McQueen <robot101@debian.org>
+
+ * python/dbus_bindings.pyx: Repair my previous commit which reverted
+ part of the preceding one. Oops. Merge patch by Johan Hedberg
+ <johan.hedberg@nokia.com> to fix marshalling of 16-bit integer values
+ on big-endian platforms.
+
+ * test/python/test-client.py: Add some 16-bit integers to the test
+ values.
+
+2005-11-27 Carlos Garcia Campos <carlosgc@gnome.org>
+
+ * glib/dbus-gobject.c: Append a GValue instead of a basic type in
+ method return message for property getters
+
+2005-11-27 Robert McQueen <robot101@debian.org>
+
+ * python/dbus_bindings.pyx: Fix a bug where doing a strict append
+ with type v of an instance of dbus.Variant(foo, type='x') caused
+ it to be boxed twice before sending over the bus.
+
+ * python/dbus_bindings.pyx, python/service.py,
+ test/python/test-client.py: Update the constants for the new
+ request_name flags, and update comments/test cases now that queueing
+ is the default action.
+
+2005-11-22 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in:
+ - Change version to 0.60 for impending release
+ - upped the sonames because of ABI and API breakage
+
+2005-11-22 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in: Add test/name-test/Makefile to the generated
+ Makefile list
+
+ * dbus/dbus-shared.h (#define DBUS_NAME_FLAG_ALLOW_REPLACEMENT):
+ New flag which replaces DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT
+ (#define DBUS_NAME_FLAG_DO_NOT_QUEUE): New flag for specifying
+ not to queue an ower if it can't be the primary owner
+
+ * bus/bus.h: Add new internal BusOwner struct
+
+ * bus/driver.c (bus_driver_handle_hello): Send flags (0 for default)
+ to bus_registry_ensure and don't set the prohibit_replacement flag
+ since they are now set per BusOwner and not per name.
+ (bus_driver_handle_list_queued_owners): bus method (ListQueuedOwners)
+ that returns the list of connections in a name's connection queue
+
+ * bus/services.c (struct BusService): remove prohibit_replacement field
+ (struct BusOwner): new struct for keeping track of queued connections
+ and their associated flags for the queue
+ (struct BusRegistry): add a BusOwner memory pool
+ (bus_registry_new): initialize the BusOwner memory pool
+ (bus_registry_unref): free the BusOwner memory pool
+ (_bus_service_find_owner_link): new internal method for
+ searching the queue for a specific connection
+ (bus_owner_set_flags): new method for adding setting the flags on a
+ bus owner
+ (bus_owner_new): new method that creates a BusOwner object from the
+ pool and sets its flags
+ (bus_owner_ref, bus_owner_unref): ref counting for BusOwner objects
+ (bus_registry_ensure): Add the flags parameter
+ (bus_registry_acquire_service): Switch from using raw connections to
+ using the BusOwner struct
+ Add new state machine for dealing with the new set of flags
+ (bus_registry_set_service_context_table, struct OwnershipCancelData,
+ cancel_ownership, free_ownership_cancel_data,
+ add_cancel_ownership_to_transaction, struct OwnershipRestoreData,
+ restore_ownership, free_ownership_restore_data,
+ add_restore_ownership_to_transaction): Switch to using BusOwner
+ instead of raw connections
+ (bus_service_add_owner): Add flags parameter
+ Switch to using BusOwner instead of raw connections
+ Add state machine for dealing with the new set of flags
+ (bus_service_swap_owner): Swaps the first and second owners in the
+ queue. Used to make sure proper signals are sent when a service looses
+ or gains primary ownership. We never insert an owner at the top of the
+ queue. Instead we insert it in the second position and then swap.
+ (bus_service_remove_owner): Remove the owner from the queue sending
+ out the NameLost and NameOwnerChanged signals if the we were the
+ primary owner
+ (bus_service_get_primary_owners_connection): New method that extracts
+ the connection from the primary owner
+ (bus_service_get_primary_owner): Returns the BusOwner instead of the
+ connection
+ (bus_service_get_allow_replacement): Changed from the old
+ bus_service_get_prohibit_replacement method. Checks the flags of the
+ primary owner and returns if it can be replaced or not
+ (bus_service_set_prohibit_replacement): removed
+ (bus_service_has_owner): returns TRUE if and owner with
+ the specified connection exists in the queue
+
+ * dbus/dbus-bus.c (dbus_bus_connection_get_unique_name): New helper
+ method that only compiles if tests are enabled. Allows us to get the
+ unique name of a connection so we can check it against the queue when
+ doing regression tests
+
+ * bus/activation.c (bus_activation_send_pending_auto_activate),
+ bus/dispatch.c (bus_dispatch),
+ bus/driver.c (bus_driver_handle_get_service_owner,
+ bus_driver_handle_get_connection_unix_user,
+ bus_driver_handle_get_connection_unix_process_id,
+ bus_driver_handle_get_connection_selinux_security_context),
+ bus/signals.c (connection_is_primary_owner):
+ use bus_service_get_primary_owners_connection instead of
+ bus_service_get_primary_owner
+
+ * dbus/dbus-sysdeps.c (_dbus_connect_unix_socket,
+ _dbus_listen_unix_socket): Calculate the length of the socket
+ path and use that instead of using a fixed length which was
+ causing socket names to contain many trailing Nul bytes.
+
+ * dbus/dbus-glib-lowlevel.h, glib/dbus-gobject.c
+ (dbus_g_method_get_sender): New method for extracting the sender
+ from a DBusGMethodInvocation
+ (dbus_g_method_return_get_reply): changed name to
+ dbus_g_method_get_reply
+ (dbus_g_method_return_send_reply): changed name to
+ dbus_g_method_send reply
+
+ * doc/dbus-specification.xml: New docs that describe how the new
+ queueing system works and talks about the changes to the how
+ we specify socket names
+
+ * glib/examples/example-service.c,
+ glib/examples/example-signal-emitter.c,
+ glib/examples/statemachine/statemachine-server.c:
+ Changed the RequestName flags to the new system
+
+ * test/name-test/ (test-names.c, run-test.sh, Makefile.am): New
+ regression test suite for testing various states of the new
+ queueing system
+
+2005-11-15 Robert McQueen <robot101@debian.org>
+
+ * dbus/dbus-glib-lowlevel.h, glib/dbus-gobject.c: Patch from Rob
+ Taylor to add two methods, dbus_g_method_return_get_reply and
+ dbus_g_method_return_send_reply, to allow you to get the reply
+ message from a DBusGMethodInvocation, append arbitrary stuff to it,
+ and send it. The GLib bindings can't marshal a return value of
+ something like a(s) if the array is empty - ultimately they should be
+ made to heed the signature of the out arguments as the Python bindings
+ now can, but this is a workable interim solution which might have
+ other applications.
+
+2005-11-15 Robert McQueen <robot101@debian.org>
+
+ * bus/driver.c, bus/services.c, bus/services.h: Add a ReleaseName
+ method to org.freedesktop.DBus to release a bus name or give up
+ waiting in the queue for it.
+
+ * dbus/dbus-bus.c, dbus/dbus-bus.h, dbus/dbus-shared.h: Add a
+ dbus_bus_release_name method to send the ReleaseName method calls.
+ Add constants for the return values to dbus/dbus-shared.h.
+
+ * doc/dbus-specification.xml: Document the new ReleaseName method
+ in the specification.
+
+ * python/dbus_bindings.pyx: Add a low-level python binding for the
+ release name method.
+
+ * python/exceptions.py, python/service.py: Make freeing BusName
+ objects release the name. Add a NameExistsException, and fix a
+ bug with creating UnknownMethodException.
+
+ * test/python/test-client.py: Add tests for freeing BusName
+ objects causing names to be released.
+
+2005-11-14 Robert McQueen <robot101@debian.org>
+
+ * python/service.py: Include the traceback in the error reply when we
+ send an exception over the bus. _BEST_ _PATCH_ _EVER_
+
+2005-11-14 David Zeuthen <davidz@redhat.com>
+
+ Patch from Timo Hoenig <thoenig@suse.de>.
+
+ * bus/bus.c: I've recently investigated why the automatic reload
+ of configuration files does not work as expected.
+
+ Currently, reloading configuration files does only work when
+ running dbus-daemon with --nodaemon. If we are running as daemon
+ we're hitting a dnotify bug once we fork the process.
+
+ We're initializing the dnotify fds before calling fork(). Once
+ the child process forked it does still have the fds (and they
+ still show up in /proc/`pidof dbus-daemon`/fd/) but we're not
+ getting SIGIO as changes are made to the configuration files.
+
+ The attached patch moves the initialization of the dnotify fds to
+ process_config_postinit(). This is safe for all current code
+ paths and solves the dnotify disfunction. If we're running
+ dbus-daemon as daemon the fds for dnotify are now being
+ initialized after fork() for the child process.
+
+ * configure.in: The current configure.in check for dnotify probes
+ 'x$target_os' for being 'xlinux-gnu'. I've changed the check to
+ match for 'xlinux', too. Additionally I have adapted the configure
+ option's style to match with the others.
+
+2005-11-14 Robert McQueen <robot101@debian.org>
+
+ * python/decorators.py, python/service.py: Add a new argument to the
+ dbus.service.method decorator called sender_keyword, which if set,
+ specifies the name of an argument which will be provided the bus
+ name of the method caller.
+
+ * test/python/test-client.py, test/python/test-service.py: Add a
+ method and test to check the sender_keyword functionality.
+
+2005-11-07 John (J5) Palmieri <johnp@redhat.com>
+
+ * bus/driver.c (bus_driver_handle_reload_config): Make sure we send an
+ empty reply so blocking calls don't block forever (Patch from Sjoerd
+ Simons <sjoerd at luon.net>)
+
+ * AUTHORS: Add Robert McQueen for his work on the Python
+ Bindings and other parts of D-Bus
+
+2005-11-07 Robert McQueen <robot101@debian.org>
+
+ * python/decorators.py: Change emit_signal function to use the
+ signature annotation of the signal when marhsalling the arguments from
+ the service. Fix a bug where the code checking signature length
+ against argument length referenced the wrong variable.
+
+ * python/introspect_parser.py: Avoid adding the type signature of
+ signal arguments to any methods which occur after them in the
+ introspection data (!) by making the parser a little more careful
+ about its current state.
+
+ * python/service.py: Remove debug prints from last commit (again :D).
+
+ * test/python/test-client.py, test/python/test-service.py: Add test
+ signals with signature decorators to test the strict marshalling code
+ gives errors at the right time. Could do with checking the signals
+ actually get emitted too, given that the test does nothing with
+ signals at the moment...
+
+2005-11-07 Robert McQueen <robot101@debian.org>
+
+ * python/_dbus.py: Add WeakReferenceDictionary cache of dbus.Bus
+ instances to stop madness of creating new instances representing
+ the same bus connection all the time, rendering any tracking of
+ match rules and bus names quite meaningless. Caught a bug where
+ the private argument to SessionBus() and friends was being passed
+ in as use_default_mainloop by mistake. Still some problems with
+ multiple dbus_binding.Connection instances representing the same
+ low-level connection (eg when you use both SessionBus() and
+ StarterBus() in same process), but it's a lot better now than it
+ was.
+
+ * python/dbus_bindings.pyx: Add constants with the return values
+ for bus_request_name().
+
+ * python/service.py: Store bus name instances in a per-dbus.Bus cache
+ and retrieve the same instances for the same name, so deletion can be
+ done with refcounting. Also now throws some kind of error if you
+ don't actually get the name you requested, unlike previously...
+
+ * test/python/test-client.py: Add tests for instance caching of buses
+ and bus name objects.
+
+2005-11-04 Robert McQueen <robot101@debian.org>
+
+ * python/dbus_bindings.pyx, test/python/test-client.py: Fix
+ marshalling of boolean values. Add some booleans to the values in
+ the test client.
+
+ * python/decorators.py, python/service.py: Add an 'async_callbacks'
+ argument to the dbus.service.method decorator, which allows you to
+ name arguments to take two callback functions for replying with
+ return values or an exception.
+
+ * test/python/test-client.py, test/python/test-service.py: Add test
+ case using asynchronous method reply functions, both return values and
+ errors, and from within both the function itself and from a mainloop
+ callback.
+
+ * python/decorators.py, python/service.py: Perform checking that the
+ number of method/signal arguments matches the number of types in the
+ signature at class loading time, not when you first introspect the
+ class.
+
+ * python/service.py: Remove debug print left by the last commit.
+
+2005-11-03 Robert McQueen <robot101@debian.org>
+
+ * python/service.py: Heavy refactoring of method invocation, with
+ hopefully no effect on functionality. Nuked _dispatch_dbus_method_call
+ in favour of a new _message_cb that uses seperate functions for
+ looking up the method to call, marshalling the return values, and
+ sending exceptions as errors, and is easier to follow as a
+ consequence. Fixes some corner cases about returning things that
+ don't match your declared out_signature, allows exceptions to define
+ _dbus_error_name and have it be sent over the bus as the error name,
+ and paves the way for cool stuff like heeding the message no reply
+ flag, asynchronous method implementations, informing the method of the
+ sender, and including backtraces in the error messages.
+
+ * test/python/test-client.py: Catch and print exceptions thrown in the
+ async callback tests, rather than passing them to the low-level
+ bindings to be ignored in a noisy and frustrating manner.
+
+2005-11-03 Robert McQueen <robot101@debian.org>
+
+ * python/_dbus.py, python/proxies.py, python/service.py: Add __repr__
+ functions to dbus.Bus, dbus.service.BusName and dbus.service.Object,
+ tweak others to be consistent.
+
+ * test/python/test-client.py: Tweak output of testInheritance.
+
+2005-10-29 Robert McQueen <robot101@debian.org>
+
+ * python/service.py: Major changes to allow multiple inheritance
+ from classes that define D-Bus interfaces:
+
+ 1. Create a new Interface class which is the parent class of
+ Object, and make the ObjectType metaclass into InterfaceType.
+
+ 2. Patch written with Rob Taylor to replace use of method_vtable
+ with code that walks the class's __MRO__ (method resolution order)
+ to behave like Python does when invoking methods and allow
+ overriding as you'd expect. Code is quite tricky because
+ we have to find two methods, the one to invoke which has the
+ right name and isn't decorated with the /wrong/ interface,
+ and the one to pick up the signatures from which is decorated
+ with the right interface.
+
+ The same caveats apply as to normal multiple inheritance -
+ this has undefined behaviour if you try and inherit from two
+ classes that define a method with the same name but are
+ decorated with different interfaces. You should decorate
+ your overriding method with the interface you want.
+
+ 3. Replace grungy introspection XML generation code in the metaclass
+ with dictionaries that cope correctly with multiple inheritance
+ and the overriding of methods. This also uses the signature
+ decorations to provide correct introspection data, including
+ the debut appearance of the types of your return values. :D
+
+ * test/python/test-client.py, test/python/test-service.py: Add a test
+ case to try invoking an method that overrides one inherited from a
+ D-Bus interface class.
+
+2005-10-29 Robert McQueen <robot101@debian.org>
+
+ * python/dbus_bindings.pyx: Tweak 'raise AssertionError' to assert().
+ Add checking for the end of struct character when marshalling a
+ struct in MessageIter.append_strict.
+
+ * python/examples/example-service.py,
+ python/examples/gconf-proxy-service.py,
+ python/examples/gconf-proxy-service2.py: Update to use gobject
+ mainloop directly rather than appearing to depend on gtk.
+
+ * python/test/test-client.py, python/test/test-server.py: Remove
+ obsolete and broken test scripts for old bindings. We have up to date
+ and working tests in test/python/.
+
+2005-10-29 Robert McQueen <robot101@debian.org>
+
+ * python/decorators.py: Add optional arguments to the method and
+ signal decorators to allow you to specify the signature of arguments
+ and return values. Preserve the doc strings of signal functions in the
+ decorated version, for pydoc and friends.
+
+ * python/dbus_bindings.pyx, python/proxies.py: Replace the
+ parse_signature_block function with an iterable dbus.Signature()
+ type. Fix a bug in MessageIter.append_strict where you could append
+ anything by claiming it was a string.
+
+ * python/service.py: Use the out_signature decoration on methods to
+ marshal return values, meaning you no longer require dbus.Array()
+ or dbus.Dictionary() to indicate the type when returning empty
+ arrays or dictionaries. Fix a bug where exceptions which are defined
+ in __main__ are not turned into error replies.
+
+ * test/python/test-client.py, test/python/test-service.py: Add test
+ for correct marshalling of return values according to out_signature.
+ Fix a bug in the async call test where the error_handler is missing a
+ self argument.
+
+2005-10-29 Robert McQueen <robot101@debian.org>
+
+ * glib/Makefile.am, glib/examples/Makefile.am,
+ glib/examples/statemachine/Makefile.am: Merge patch from Ubuntu by
+ Daniel Stone to replace explicit calls to libtool with $(LIBTOOL).
+
+ * test/python/.cvsignore: Add run-with-tmp-session-bus.conf.
+
+ * tools/dbus-monitor.1, tools/dbus-monitor.c: Merge dbus-monitor patch
+ from Ubuntu by Daniel Silverstone to allow specifying match rules on
+ the command line.
+
+2005-10-27 Ross Burton <ross@openedhand.com>
+
+ * dbus/dbus-marshal-header.c:
+ Remove dead code.
+
+ * glib/dbus-gobject.c:
+ Stop compiler warning.
+
+2005-10-25 Ross Burton <ross@openedhand.com>
+
+ * dbus/dbus-auth.c:
+ * dbus/dbus-server-unix.c:
+ * dbus/dbus-transport-unix.c:
+ * glib/dbus-gmain.c:
+ * glib/dbus-gobject.c:
+ Add some const keywords.
+
+2005-10-25 Ross Burton <ross@openedhand.com>
+
+ * doc/dbus-specification.xml:
+ Document the NoReply annotation.
+
+ * glib/dbus-binding-tool-glib.h:
+ * glib/dbus-binding-tool-glib.c:
+ Respect the NoReply annotation.
+
+2005-10-24 Robert McQueen <robot101@debian.org>
+
+ * python/dbus_bindings.pyx (String, MessageIter): make D-Bus strings
+ derive from unicode instead of str, and encode/decode UTF-8 when
+ marshalling/unmarshalling bus messages
+
+ * python/introspect_parser.py: encode introspection data as UTF-8
+ before passing the buffer into libxml2
+
+ * test/python/test-client.py: add unicode test strings
+
+ * test/data/valid-service-files/.cvsignore, test/python/.cvsignore:
+ ignore generated python test files
+
+2005-10-17 John (J5) Palmieri <johnp@redhat.com>
+
+ * glib/dbus-gvalue-utils.c (hash_free_from_gtype): handle gdouble
+ and G_TYPE_VALUE_ARRAY (DBUS_TYPE_STRUCT)
+ (gvalue_from_hash_value, hash_value_from_gvalue): handle gdouble
+
+ * glib/dbus-gvalue.c (dbus_gvalue_to_signature): add missing
+ DBUS_STRUCT_BEGIN_CHAR and DBUS_STRUCT_END_CHAR charaters
+ when constructing struct signatures
+
+ * python/_dbus.py (Bus): handle private connections using the
+ private keyword in the constructor. defaults to private=False
+ (Bus::close): new method to close a connection to the bus
+
+ * python/dbus_bindings.pyx (Connection::close): renamed method
+ was previously called disconnect
+ (bus_get): now supports getting a private connection
+
+ * python/proxies.py (ProxyMethod::__call__): check if ignore_reply
+ keyword is set to True. if it is, execute the method without waiting
+ for a reply
+ (ProxyObject::_introspect_execute_queue): new method for executing
+ all the pending methods that were waiting for the introspect to
+ finish. this is called when introspect either succeeds or fails
+ (ProxyObject::_introspect_error_handler): call queued methods
+
+2005-10-14 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/dbus_bindings.pyx (MessageIter::append_strict): check for
+ STRUCT_BEGIN not TYPE_STRUCT in indicate we are marshalling a struct
+
+ * python/service.py (Object::_message_cb): handle exceptions correctly
+ by sending them over the wire to the calling app. This makes sure
+ the client returns immediately instead of waiting the 15 seconds to
+ timeout.
+
+ * test/python/test-client.py (TestDBusBindings::testBenchmarkIntrospect):
+ Add a test to benchmark how long it takes to introspect a service and
+ call a method which returns a large element (pretty fast)
+
+ * test/python/test-service.py (TestObject::GetComplexArray): new test
+ method which pushes a lot of data
+
+2005-10-13 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/service.py(ObjectType::_reflect_on_signal, _reflect_on_method):
+ reclaim memory outside of the loop and use del istead of just setting
+ the key to None
+
+2005-10-13 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/service.py (ObjectType::_reflect_on_signal): Always close
+ signal tag even when there are no arguments
+
+2005-10-13 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in: Set mono, mono-docs and Qt3 to default
+ to no instead of auto when building. These bindings do not
+ have full time maintainers and will not be supported for the
+ 1.0 release.
+
+2005-10-12 John (J5) Palmieri <johnp@redhat.com>
+
+ patches from Michael Krivoruchko <misha at sun.com>:
+
+ * dbus/dbus-connection.c (_dbus_connection_queue_received_message_link,
+ _dbus_connection_message_sent,
+ _dbus_connection_send_preallocated_unlocked_no_update,
+ _dbus_connection_pop_message_link_unlocked): handle the case when path
+ is NULL when calling _dbus_verbose
+
+ * configure.in: check for functions getpeerucred and getpeereid
+
+ * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): provides
+ support of auth EXTERNAL on Solaris 10+ (getpeerucred), FreeBSD 4.6+,
+ OpenBSD 3.0+ and FreeBSD 5.0+ as well as MacOSX 10.2+ (getpeereid).
+ Patch was only tested on Solaris 10 x86 so it might be issues
+ with other platforms (i.e. BSDs and MacOSX)
+
+
+2005-10-05 John (J5) Palmieri <johnp@redhat.com>
+
+ * glib/dbus-gvalue.c (marshal_variant): call _dbus_gvalue_marshal
+ instead of marshal basic so we can handle recursive types in a variant
+
+ * test/glib/test-dbus-glib.c: Add test for marshaling recurive types
+ in variants
+
+ * test/glib/test-service-glib.c, test-service-glib.xml
+ (my_object_echo_variant [EchoVariant],
+ my_object_process_variant_of_array_of_ints123
+ [ProcessVariantOfArrayOfInts123]):
+ Add two test methods
+
+ * python/introspect_parser.py: New module for parsing introspect
+ data.
+
+ * python/dbus_bindings.pyx:
+ (various places): when throwing errors fix to use errormsg instead
+ of message local variable because Pyrex can get confused with other
+ message variables (initial patch by Robert McQueen
+ <robert.mcqueen at collabora.co.uk>)
+ (MessageIter::parse_signature_block): new method for getting the next
+ block in a signiture.
+ (MessageIter::append_strict): new method for appending values strictly
+ using the passed in signature instead of guessing at the type
+ (MessageItter:: append_dict, append_struct, append_array): use
+ signatures to marshal children if the signature is available
+
+ * python/exceptions.py (IntrospectionParserException): new exception
+
+ * python/proxies.py (ProxyMethod::__call__): Marshal args with
+ introspected signatures if available, else we fall back to the
+ old way of doing things.
+ (ProxyObject::_introspect_reply_handler ): parse introspection data
+
+ * python/service.py (ObjectType::_reflect_on_method): Properly
+ terminate <method> if there are no args in the reflection data
+
+ * test/python/test-client.py: add tests for talking with the GLib
+ test server. This gives us better coverage for introspection since
+ python to python will always generate arguments as variants. It also
+ allows us to test the robustness of the GLib bindings and interlanguage
+ communications.
+
+
+2005-10-03 John (J5) Palmieri <johnp@redhat.com>
+
+ * bus/driver.c (bus_driver_handle_introspect): Add signals
+ to the introspect data. (patch from Daniel P. Berrange
+ <dan at berrange.com>)
+
+ * bus/dispatch.c (check_existent_ping): Add testcase for Ping
+
+ * dbus/dbus-connection.c (_dbus_connection_peer_filter,
+ _dbus_connection_run_builtin_filters): Changed these to
+ be unlock_no_update functions and call
+ _dbus_connection_send_unlocked_no_update instead of
+ dbus_connection_send to avoid locking errors.
+
+ * doc/TODO: Removed the make Ping test TODO
+
+2005-09-26 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/Python.pyx: Fixed memory leaks when throwing errors.
+ We now copy the message from a DBusError and then free
+ the error object befor throwing the error
+
+ * glib/dbus-glib-tool.c: removed extra comma at the end of the
+ DBusBindingOutputMode enum which was causing a warning.
+ #include <time.h> so using time_t is explicitly defined
+
+2005-09-26 John (J5) Palmieri <johnp@redhat.com>
+
+ * Integrate patches from Lennart Poettering <mzsqb at 0pointer.de>:
+ - dbus/dbus-bus.c
+ (internal_bus_get): new method that take over the heavy lifting
+ of dbus_bus_get and adds the ability to get a private connection
+ to the bus
+ (dbus_bus_get): wrapper to internal_bus_get that provides the same
+ interface as in previous versions
+ (dbus_bus_get_private): new method that is a wrapper to
+ internal_bus_get to get a private connection to the bus
+
+ - dbus/dbus-bus.h
+ (dbus_bus_get_private): add as a public libdbus interface
+
+ - dbus-1.pc.in: output system_bus_default_address and
+ sysconfdir variables so apps can use them when compiling
+
+2005-09-23 Harald Fernengel <harry@kdevelop.org>
+ * dbus/qt: New Qt bindings
+
+2005-09-12 Waldo Bastian <bastian@kde.org>
+
+ * dbus/dbus-marshal-validate.c,
+ doc/dbus-specification.xml, test/Makefile.am,
+ test/test-names.c: allow hyphens in bus names.
+
+2005-09-11 Mark McLoughlin <mark@skynet.ie>
+
+ * test/data/auth/fallback.auth-script: we don't
+ retry the EXTERNAL method when we know its going
+ to fail anymore.
+
+2005-09-11 Mark McLoughlin <mark@skynet.ie>
+
+ * dbus/dbus-connection-internal.h: rename
+ (add|remove|toggle)_(watch|timeout) to unlocked()
+
+ * dbus/dbus-connection.c: ditto.
+
+ * dbus/dbus-timeout.c, dbus/dbus-transport-unix.c:
+ Update some callers for the renaming.
+
+2005-09-10 Mark McLoughlin <mark@skynet.ie>
+
+ * dbus/dbus-auth.c: (record_mechanisms): don't
+ retry the first auth mechanism because we know
+ we're just going to get rejected again.
+
+ * dbus/dbus-keyring.c: (_dbus_keyring_reload):
+ Fix thinko ... and what a nasty little bugger to
+ track down you were ...
+
+ * dbus/dbus-connection.c:
+ (_dbus_connection_add_watch),
+ (_dbus_connection_remove_watch): add note about
+ these needing the connection to be locked.
+ (_dbus_connection_get_dispatch_status_unlocked):
+ set status to DATA_REMAINS when we queue the
+ disconnected message.
+
+ * bus/dispatch.c:
+ (bus_dispatch): fix warning.
+ (check_existent_service_no_auto_start):
+ Expect ChildSignaled error too.
+ (check_existent_hello_from_self): fix another
+ couple of warnings.
+
+2005-09-08 Joe Shaw <joeshaw@novell.com>
+
+ Patches from James Willcox <snorp@snorp.net>
+
+ * mono/Makefile.am: Add Int16.cs and UInt16.cs
+
+ * mono/DBusType/Array.cs: Handle multidimensional arrays, and
+ support array "out" parameters.
+
+ * mono/DBusType/Int16.cs, mono/DBusType/UInt16.cs: New files,
+ for 16-bit int support.
+
+2005-09-06 John (J5) Palmieri <johnp@redhat.com>
+
+ * Released 0.50
+
+ * Patch from Steve Grubb:
+ - bus/activation.c (bus_activation_service_reload_test): clean up
+ some indentation
+ - dbus/dbus-keyring.c (_dbus_keyring_reload): fix conditional
+ - dbus/dbus-message-factory.c (generate_special): fix a couple of
+ buffer overflows in the test suite. This is non critical because
+ it can not be exploited and this code is only run when doing a
+ make check.
+
+ * Patch from Yaakov Selkowitz: Build fixes for Cygwin
+ - configure.in: Don't check and link against kdecore, only qt headers
+ - dbus/Makefile.am: Add -no-undefined to libdbus_1_la_LDFLAGS
+ - gcj/org/freedesktop/dbus/Makefile.am:
+ add libdbus_gcj_1_la_LDFLAGS = -no-undefined
+ - glib/Makefile.am: Add -no-undefined to libdbus_glib_1_la_LDFLAGS
+ and $(DBUS_GLIB_LIBS) to dbus_binding_tool_LDADD
+ - qt/Makefile.am: Add -no-undefined to libdbus_qt_1_la_LDFLAGS
+ - tools/Makefile.am: Add platform extentions to binaries
+ (i.e. .exe on windows)
+
+ * configure.in:
+ - Make it so if no suitable version of python is found we only
+ disable building python instead of exiting the configure script
+ - Require version 2.4 of glib for glib bindings
+ - Up version to 0.50
+
+ * python/__init__.py: Sync version with libdbus to (0,50,0)
+
+2005-09-05 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * dbus/dbus-object-tree.c (find_subtree_recurse):
+ a couple of optimizations (bug #710):
+ - do a binary search in the tree
+ - insert a new child at the right place directly, no need for
+ qsort anymore
+ - do the "double alloc" thing when allocating children
+
+2005-08-31 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/Makefile.am: Break on pyrexc errors instead of ignoring them
+
+ * python/dbus_bindings.pyx: Memory management foo
+ (global): remove hacky _user_data_references global list
+ (GIL_safe_cunregister_function_handler): userdata now stuffed into
+ tuples. Unref user_data
+ (GIL_safe_cmessage_function_handler): userdata now stuffed into tuples
+ (Connection::__del__): Remove and replace with __dealloc__ method
+ (Connection::add_filter): Stuff user_data into a tuple. Use Py_INCREF
+ to keep tuple from being deallocated instead of the global var hack
+ (Connection::register_object_path): Stuff user_data into a tuple.
+ Use Py_INCREF to keep tuple from being deallocated instead of the
+ global var hack
+ (Connection::register_fallback): Stuff user_data into a tuple.
+ Use Py_INCREF to keep tuple from being deallocated instead of the
+ global var hack
+ (GIL_safe_pending_call_notification): Don't unref the message
+ because it gets unreffed when going out of scope. Py_XDECREF
+ the user_data
+ (PendingCall::__del__): Remove and replace with __dealloc__ method
+ (PendingCall::set_notify): ref the pending call because we will
+ need it to stick around for when the notify callback gets called
+ (Message::__del__): Remove and replace with __dealloc__ method
+
+ * python/dbus_glib_bindings.pyx (init_gthreads): Changed to
+ gthreads_init to match up with the dbus call
+
+ * python/glib.py (init_threads): Changed to threads_init to match
+ up with gobject.threads_init(). init_threads is kept for backwards
+ compat but will most likely be deprecated in the future
+
+ * test/python/test-client.py:
+ - revamp to use Python's unittest functionality
+ - add async call tests
+ - setup threads in glib and dbus so we make sure locks are working
+
+2005-08-30 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/dbus_bindings.pyx
+ (_pending_call_notification, cunregister_function_handler,
+ cmessage_function_handler): All callback functions have been rearranged
+ to workaround a bug in Pyrex when working with the GIL which is Python's
+ global lock when dealing with threads. They have been split into
+ a wrapper function (which assumes the name of the old function) and
+ a _GIL_safe_<function name> function which contains the functionality
+ of the old function. This ensures that Pyrex does not write code
+ the lock is released.
+
+
+2005-08-30 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/dbus_bindings.pyx (_pending_call_notification): Obtain the
+ GIL global lock when calling back into Python
+
+2005-08-29 John (J5) Palmieri <johnp@redhat.com>
+
+ * Release 0.36.2
+
+ * Add Havoc's patch that never got applied to HEAD (Bug #2436):
+
+ * bus/policy.c (bus_policy_allow_user): change default "user is
+ allowed" to be "user has same uid as the bus itself"; any
+ allow/deny rules will override.
+
+ * bus/session.conf.in: don't allow all users, since now by default
+ the user that ran the bus can connect.
+
+2005-08-26 Colin Walters <walters@verbum.org>
+
+ * tools/dbus-print-message.c (print_message): Flush stdout
+ after printing a message, so that redirecting to a file, then
+ hitting Ctrl-C works.
+
+2005-08-25 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/dbus_bindings.pyx: Tracked down a major memleak and fixed it
+ (EmptyMessage): new class that subclasses Message. This is a workaround
+ to a Pyrex bug that fails to call __del__ when the Message object goes out
+ of scope. For some reason subclassing Message fixes this bug
+ (Bus::send_with_reply_and_block): use EmptyMessage instead of Message
+ - s/Message(_create=0)/EmptyMessage everywhere else
+
+ * test/python/test-{server|client}.py: add the python/.libs directory
+ to the lookup path so dbus_bindings and dbus_glib_bindings don't
+ get picked up from the system
+
+2005-08-25 Colin Walters <walters@verbum.org>
+
+ * glib/dbus-gproxy.c (dbus_g_proxy_call): Doc update, thanks
+ to Ryan Lortie for the suggestion.
+
+2005-08-24 John (J5) Palmieri <johnp@redhat.com>
+
+ * test/python: Add python regression test
+
+ * configure.in: Add test/python/Makefile
+
+ * test/Makefile.am: Add the python directory to SUBDIRS
+
+2005-08-24 John (J5) Palmieri <johnp@redhat.com>
+
+ * Release 0.36.1
+
+ * python/_dbus.py:
+ (Interface::connect_to_signal): propigate keywords for match on args
+ (Bus::add_signal_receiver): Fix typo s/dbus_inteface/dbus_interface
+
+ * python/proxies.py (ProxyObject::connect_to_signal):
+ propigate keywords for match on args
+
+ * Makefile.am: point everything to pyexecdir since python borks
+ on multilib
+
+2005-08-23 John (J5) Palmieri <johnp@redhat.com>
+
+ * Release 0.36
+
+2005-08-23 Colin Walters <walters@verbum.org>
+
+ * test/glib/Makefile.am: Don't multiply-define EXTRA_DIST.
+
+2005-08-23 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/dbus_glib_bindings.pyx: reorder imports and c definitions
+ to fix some wranings. We now use dbus_bindings.DBusConnection instead
+ of defining DBusConnection ourselves.
+
+2005-08-18 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/dbus.pth: New path file to fix up problems when installing
+ c libraries to lib64 and python files to lib.
+
+ * python/Makefile.am: install dbus.pth in the correct spot
+
+2005-08-17 John (J5) Palmieri <johnp@redhat.com>
+ * ChangeLog: clean up my last entry a bit
+
+ * doc/introspect.xsl: New stylesheet for converting introspection data
+ into browser renderable xhtml. Contributed by Lennart Poettering.
+
+ * doc/introspect.dtd: Fixups in the introspect format from Lennart
+ Poettering.
+
+ * doc/dbus-tutorial.xml:
+ - Add Colin Walter to the Authors section for authoring the GLib
+ section
+ - Add descriptions of the new signature and type functionality
+ in the Python complex type mapping section
+ - Add a sidenote on the new args matching functionality in
+ the Python bindings
+ - Fixed up some of the examples to use the gobject.MainLoop
+ instead of gtk.main
+
+ * python/_dbus.py:
+ (Bus::_create_args_dict): New. Converts a hash of arg matches
+ to a more useable format
+ (Bus::add_signal_receiver): add a **keywords parameter for catching
+ arg match parameters
+ (Bus::remove_signal_receiver): add a **keywords parameter for catching
+ arg match parameters
+
+ * python/matchrules.py:
+ (MatchTree::exec_matches): Check for arg matches
+ (SignalMatchRule::add_args_match): New method
+ (SignalMatchRule::execute): Added args_list parameter as an optimization
+ so we don't have to marshal the args more than once
+ (SignalMatchRule::match_args_from_list): New method that checks to see
+ if the rule's arg matches match an argument list. Only arguments
+ set in the rule are checked.
+ (SignalMatchRule::match_args_from_rule): New method that checks to see
+ if the rule's arg matches match another rule's. All args have to match
+ in order for this method to return true. If either rule has more args
+ then it is not a match.
+ (SignalMatchRule::is_match): Add args match
+ (SignalMatchRule::repr): Add args to the final output if they exist
+
+2005-08-17 Ross Burton <ross@burtonini.com>
+
+ * glib/dbus-gproxy.c:
+ (dbus_g_proxy_call_no_reply): unref the message once sent.
+ (dbus_g_proxy_call): protect against NULL proxy.
+
+2005-08-16 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/__init__.py: Version updated (0, 43, 0)
+
+ * python/dbus_bindings.pyx:
+ - Fixed type objects to have self passed into __init__
+ - Added the Variant type
+ - Add the ability to specify types or signatures for Array, Variant
+ and Dictionary
+ (Connection::send_with_reply_handlers): return a PendingCall object
+ (_pending_call_notification): handle the case when an error is returned
+ without an error message in the body
+ (MessageIter::get_boolean): return True or False instead of an integer
+ (MessageIter::python_value_to_dbus_sig): add direct checking of types
+ and add checks for objects with embeded signatures or types (Array,
+ Variant and Dictionary)
+ (MessageIter::append_byte): handle case when the value is a dbus.Byte
+ (MessageIter::append_dict): handle embeded types or signatures
+ (MessageIter::append_array): handle embeded types or signatures
+ (MessageIter::append_variant): new method
+
+ * python/proxies.py:
+ (DeferedMethod): New. Dummy executable object used when queuing calls
+ blocking on introspection data
+ (ProxyMethod::__call__): add the timeout keyword for specifying longer
+ or shorter timeouts for method calls
+ (ProxyObject): Add first pass at an introspection state machine
+ (ProxyObject::__init__): Add introspect keyword for turing off an on
+ introspection.
+ (ProxyObject::_Introspect): Internal Introspect call that bypasses
+ the usual mechanisms for sending messages. This is to avoid a deadlock
+ where the Intospect call would be queued waiting for the Introspect
+ call to finish ;-)
+ (ProxyObject::_introspect_reply_handler): New. This method is called
+ when introspection returns with no error
+ (ProxyObject::_introspect_error_handler): New. This method is called
+ when introspection encounters an error
+ (ProxyObject::__getattr__): Code to handle different introspection
+ states. Queue async calls or block blocking calls if we are
+ introspecting. Pass through as normal if we are not or are done with
+ introspecting.
+
+ * python/service.py: Import signal and method from decorators.py
+
+ * python/types.py: Add Variant type
+
+2005-08-16 Colin Walters <walters@verbum.org>
+
+ * glib/dbus-gobject.c (dbus_set_g_error): Don't lose if the
+ DBusError message is NULL.
+
+2005-08-09 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-errors.c: apply patch from Timo Teras to make a
+ malloc'd copy of the name parameter
+
+2005-08-09 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-message.c (dbus_message_set_reply_serial): print
+ warning if the reply serial is set to 0
+
+2005-08-04 Colin Walters <walters@verbum.org>
+
+ * glib/dbus-gvalue-utils.h (_dbus_g_type_specialized_builtins_init)
+ (dbus_g_type_is_fixed, dbus_g_type_fixed_get_size)
+ (dbus_gvalue_set_from_pointer, dbus_g_hash_table_value_foreach)
+ (dbus_g_hash_table_insert_values, dbus_g_hash_table_insert_steal_values)
+ (dbus_gtype_is_valid_hash_key, dbus_gtype_is_valid_hash_value)
+ (dbus_g_hash_func_from_gtype, dbus_g_hash_free_from_gtype)
+ (dbus_g_hash_equal_from_gtype, dbus_gvalue_stor, dbus_gvalue_take):
+ * glib/dbus-gvalue.h (dbus_g_value_types_init)
+ (dbus_gvalue_demarshal, dbus_gvalue_demarshal_variant)
+ (dbus_gvalue_demarshal_message, dbus_gvalue_marshal):
+
+ Prefix name with _ to ensure they're not exported. All callers
+ updated.
+
+ * glib/dbus-gvalue.c (typecode_to_gtype)
+ (dbus_typecode_maps_to_basic, basic_typecode_to_gtype)
+ (signature_iter_to_g_type_dict)
+ (signature_iter_to_g_type_array)
+ (dbus_gtype_from_signature_iter, dbus_gtype_from_signature)
+ (dbus_gtypes_from_arg_signature):
+ Move to dbus-gsignature.c.
+
+ * glib/dbus-binding-tool-glib.c (dbus_binding_tool_output_glib_server): Call
+ dbus_g_type_specialized_builtins_init instead of dbus_g_value_types_init.
+ (dbus_binding_tool_output_glib_client): Ditto.
+
+ * glib/Makefile.am (DBUS_GLIB_INTERNALS): Add dbus-gsignature.c
+ and dbus-gsignature.h
+
+ * test/glib/test-service-glib.c (my_object_rec_arrays): Delete
+ unused variable.
+
+2005-08-03 Colin Walters <walters@verbum.org>
+
+ * glib/dbus-gobject.c: Add tests on hardcoded object info; this should
+ catch any incompatible changes accidentally made.
+
+2005-08-03 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): fix
+ typo, from Julien Puydt
+
+ * bus/connection.c (bus_connection_disconnected): we were always
+ doing a wait_for_memory due to a buggy loop, found by Timo Hoenig
+
+2005-08-01 Colin Walters <walters@verbum.org>
+
+ Patch from Joe Markus Clarke:
+
+ * glib/dbus-gidl.c (property_info_unref, arg_info_unref): Fix
+ use-after-free.
+
+2005-08-01 Colin Walters <walters@verbum.org>
+
+ Patch from Joe Markus Clarke:
+
+ * tools/dbus-send.c (main):
+
+ Don't use C99 style initializers (bug #3933).
+
+2005-08-01 Colin Walters <walters@verbum.org>
+
+ Patch from Joe Markus Clarke:
+
+ * glib/dbus-gvalue.c (dbus_g_value_types_init):
+ * glib/dbus-gvalue-utils.c (dbus_g_type_specialized_builtins_init)
+ * glib/dbus-gobject.c (write_interface):
+
+ Don't use C99 style initializers (bug #3933).
+
+2005-07-31 Havoc Pennington <hp@redhat.com>
+
+ * tools/dbus-viewer.c (load_child_nodes): fix invocation of
+ dbus_g_proxy_call, fix from Piotr Zielinski bug #3920
+
+2005-07-30 Havoc Pennington <hp@redhat.com>
+
+ * fix a bunch of Doxygen warnings and mistakes
+
+2005-07-30 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-sysdeps.c (_dbus_string_parse_uint): remove #ifdef
+ DBUS_BUILD_TESTS since it's now used in production code
+
+2005-07-29 Havoc Pennington <hp@redhat.com>
+
+ * test/glib/test-profile.c (write_junk): initialize the junk
+ buffer so valgrind doesn't have a breakdown
+
+2005-07-29 Havoc Pennington <hp@redhat.com>
+
+ * bus/signals.c (bus_signals_test): add match_rule_equal() tests
+ (match_rule_matches): remove unused arg
+ (test_matching): add tests for match_rule_matches()
+
+ * bus/signals.c (bus_match_rule_parse_arg_match): add ability to
+ do arg0='foo' arg5='bar' in the match rules
+ (match_rule_matches): don't match if the arg0='foo' doesn't match.
+
+ * dbus/dbus-protocol.h (DBUS_MAXIMUM_MATCH_RULE_ARG_NUMBER): add this
+
+2005-07-29 Ross Burton <ross@openedhand.com>
+
+ * dbus/dbus-connection.c:
+ Don't create a DBusCondVar which is never used.
+
+2005-07-27 Ross Burton <ross@openedhand.com>
+
+ * dbus/dbus-message.c:
+ Reduce the size of the maximum cached message to 10K.
+
+2005-07-25 Ross Burton <ross@openedhand.com>
+
+ * glib/dbus-gproxy.c:
+ Remove matches when all proxies are unregistered.
+
+2005-07-24 Colin Walters <walters@verbum.org>
+
+ * glib/dbus-gvalue.c (signature_iter_to_g_type_array): Don't require
+ typedata; recursive arrays won't have it.
+
+ * test/glib/test-dbus-glib.c:
+ * test/glib/test-service-glib.c:
+ * test/glib/test-service-glib.xml: Add recursive arrays tests.
+
+2005-07-20 John (J5) Palmieir <johnp@redhat.com>
+
+ * python/_dbus.py, _util.py, decorators.py, extract.py, matchrules.py.
+ proxies.py, service.py: Cleanup of code after running it through the
+ pyflakes code checker mostly dealing with undefined names.
+ (Bug #3828, Patch from Anthony Baxter <anthony@interlink.com.au>)
+
+2005-07-17 John (J5) Palmieri <johnp@redhat.com>
+
+ * NEWS: Update to 0.35.2
+
+2005-07-17 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/_dbus.py: Remove import of the dbus.services
+ module as it no longer exists (patch from Dimitur Kirov)
+
+ * python/service.py (Object::__init__): Fixed typo
+ s/name/bus_name (patch from Dimitur Kirov)
+
+ * python/examples/example-signal-emitter.py: import dbus.glib
+ to get the main loop and use glib mainloop instead of gtk so
+ X doesn't have to be running.
+
+ * python/examples/example-signal-recipient.py: import dbus.glib
+ to get the main loop and use glib mainloop instead of gtk so
+ X doesn't have to be running. Import the decorators module
+ directly.
+
+ * test/glib/Makefile.am: Added DIST_EXTRA files that distcheck
+ didn't pick up on but are needed to build
+
+ * configure.in: upped version to 0.35.2
+
+ * bus/driver.c, bus/selinux.c, bus/selinux.h, dbus/dbus-protocol.h:
+ added Colin Walters' SELinux API rename patch from head
+ s/unix sercurity context/selinux security context/
+
+2005-07-16 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/Makefile.am: dbus_binding.pxd.in should be included
+ in EXTRA_DIST not dbus_binding.pxd
+ fix up $(srcdir) hopefully for the last time
+
+ * NEWS: Update to 0.35.1
+
+2005-07-16 Colin Walters <walters@verbum.org>
+
+ * bus/driver.c (bus_driver_handle_get_connection_selinux_security_context): Renamed
+ from bus_driver_handle_get_connection_unix_security_context. Update for
+ error usage.
+ (message_handlers): Update for renames.
+
+ * bus/selinux.c (bus_selinux_allows_send): Handle OOM on
+ _dbus_string_init failure correctly.
+ (bus_selinux_append_context): Convert SID to context. Append it
+ as a byte array.
+ (bus_selinux_shutdown): Handle the case where bus_selinux_full_init
+ hasn't been called.
+
+ * bus/selinux.h: Update prototype.
+
+ * dbus/dbus-protocol.h (DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN): Renamed
+ from DBUS_ERROR_UNIX_SECURITY_CONTEXT_UNKNOWN.
+
+2005-07-15 Colin Walters <walters@verbum.org>
+
+ * doc/TODO: Add note about convenience wrappers.
+
+2005-07-15 John (J5) Palmieri <johnp@redhat.com>
+
+ * NEWS: Update to 0.35
+
+2005-07-15 John (J5) Palmieri <johnp@redhat.com>
+
+ * glib/Makefile.am: Add make-dbus-glib-error-switch.sh to EXTRA_DIST
+ so distcheck doesn't fail
+
+ * glib/examples/Makefile.am: Add example-service.xml and
+ example-signal-emitter.xml to EXTRA_DIST so distcheck doesn't fail
+
+ * glib/examples/statemachine/Makefile.am: Add statemachine.xml and
+ statemachine-server.xml to EXTRA_DIST so distcheck doesn't fail
+
+ * python/Makefile.am: Preprend $(srcdir)/ to source files so the
+ compiler looks in the right places during distcheck
+
+2005-07-15 John (J5) Palmieri <johnp@redhat.com>
+
+ * glib/example/Makefile.am: Fix a typo which cause make distcheck
+ to fail
+
+2005-07-15 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/examples/example-service.py,
+ python/examples/example-signal-emitter.py: Fixed up examples
+ for API changes
+
+2005-07-15 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/__init__.py: Upped to version (0,42,0) because of
+ the API change
+
+2005-07-15 John (J5) Palmieri <johnp@redhat.com>
+
+ * ChangeLog: fix date in last entry
+
+ * configure.in, bus/system.conf.in: add the ability to configure
+ the system bus user at compiletime with the --with-dbus-user flag
+ (patch from Kristof Vansant)
+
+2005-07-15 John (J5) Palmieri <johnp@redhat.com>
+
+ * bus/dispatch.c, test/test-service.c: Add testcase
+ for sending messages to oneself (TODO item).
+
+ * python/service.py (class Object): Swap ordering of bus_name
+ and object_path parameters to better support inheritance.
+
+ * doc/dbus-tutorial.xml: change Python docs to reflect change
+ in parameter ordering and fix the inheritance section.
+
+ * doc/TODO: remove sending message to oneself TODO item
+
+2005-07-15 Ross Burton <ross@openedhand.com>
+
+ * glib/dbus-gproxy.c:
+ Fix a leak when calling methods via the proxy.
+
+2005-07-15 Colin Walters <walters@verbum.org>
+
+ * bus/selinux.c (bus_selinux_append_context): Wrap in
+ HAVE_SELINUX.
+
+2005-07-14 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/_dbus.py (Bus::remove_signal_receiver):
+ don't add a callback to the match if none has been passed in
+
+ * python/matchrules.py (SignalMatchTree::remove): if the rule
+ being matched does not have a callback treat it as a wildcard
+ fix matching logic
+
+ * doc/dbus-tutorial.xml: Add Python tutorial
+
+2005-07-14 Colin Walters <walters@verbum.org>
+
+ * bus/driver.c
+ (bus_driver_handle_get_connection_unix_security_context): New function.
+ (message_handlers): Add.
+
+ * bus/selinux.c (bus_selinux_append_context): New function; appends
+ security context to message.
+
+ * bus/selinux.h: Prototype.
+
+ * dbus/dbus-protocol.h (DBUS_ERROR_UNIX_SECURITY_CONTEXT_UNKNOWN): New.
+
+2005-07-14 John (J5) Palmieri <johnp@redhat.com>
+
+ * bus/activation.c: clean up all tabs to be 8 spaces
+ (bus_activation_activate_service): make sure we clean up
+ if activation fails
+
+ * bus/dispatch.c: clean up all tabs to be 8 spaces
+ (check_shell_fail_service_auto_start): New function
+ tests to make sure we get fail properly when trying to auto start a service
+ with a faulty command line
+ (check_shell_service_success_auto_start): New function tests to make sure
+ auto started services get the arguments on the command line
+
+ * test/test-shell-service.c: Added service for testing auto-starting with
+ command line arguments
+
+ * test/data/valid-service-files/debug-shell-echo-fail.service.in,
+ test/data/valid-service-files/debug-shell-echo-success.service.in:
+ Added service files for testing auto-starting with command line arguments
+
+ * */.cvsignore: added a bunch of generated files to various .cvsignore files
+
+2005-07-14 Rodrigo Moya <rodrigo@novell.com>
+
+ * dbus/dbus-shell.[ch]: copy/pasted code from GLib.
+
+ * dbus/Makefile.am: added new files to build.
+
+ * bus/activation.c (bus_activation_activate_service): support
+ activation commands with parameters.
+
+ * test/shell-test.c: added test program for the shell parsing
+ code.
+
+2005-07-13 David Zeuthen <davidz@redhat.com>
+
+ * tools/dbus-send.c (append_arg, type_from_name): Also support 16 and
+ 64 bit signed and unsigned parameters
+
+2005-07-13 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/.cvsignore: remove dbus_bindings.pyx, add dbus_bindings.pxd
+
+ * python/service.py (class Name): renamed BusName to make it clearer
+ what the object is for (a name on the bus)
+
+ * python/examples/example-service.py,
+ python/examples/example-signal-emitter.py: change the Name object to
+ BusName
+
+2005-07-12 Colin Walters <walters@verbum.org>
+
+ Patch from Jim Gettys <Jim.Gettys@hp.com>.
+
+ * tools/dbus-launch.c: Include sys/select.h.
+
+2005-07-12 John (J5) Palmieri <johnp@redhat.com>
+ * python/dbus_bindings.pyx.in: removed
+
+ * python/dbus_bindings.pyx: Added.
+ - Fixed some memleaks (patch from
+ Sean Meiners <sean.meiners@linspireinc.com>)
+ - Broke out the #include "dbus_h_wrapper.h" and put it in its
+ own pxd file (Pyrex definition)
+ - Broke out glib dependancies into its own pyx module
+
+ * python/dbus_bindings.pdx: Added.
+ - Defines C class Connection for exporting to other modules
+
+ * python/dbus_glib_bindings.pyx: Added.
+ - New module to handle lowlevel dbus-glib mainloop integration
+
+ * python/glib.py: Added.
+ - Registers the glib mainloop when you import this module
+
+ * python/services.py: Removed (renamed to service.py)
+
+ * python/service.py: Added.
+ - (class Server): renamed Name
+
+ * python/__init__.py: Bump ro version (0,41,0)
+ -don't import the decorators or service module
+ by default. These now reside in the dbus.service namespace
+
+ * python/_dbus.py (Bus::__init__): Add code run the main loop
+ setup function on creation
+
+ * python/examples/example-service.py,
+ python/examples/example-signal-emitter.py: update examples
+
+ * python/examples/gconf-proxy-service.py,
+ python/examples/gconf-proxy-service2.py: TODO fix these up
+
+ * doc/TODO: Addition
+ - Added a Python Bindings 1.0 section
+ - added "Add match on args or match on details to match rules"
+
+
+2005-07-12 Colin Walters <walters@verbum.org>
+
+ * glib/examples/statemachine/Makefile.am (statemachine-server-glue.h)
+ (statemachine-glue.h):
+ * glib/examples/Makefile.am (example-service-glue.h)
+ (example-signal-emitter-glue.h):
+ * glib/Makefile.am (dbus-glib-error-switch.h):
+ Add libtool --mode=execute so we use the built library instead
+ of any installed one.
+
+2005-07-11 Colin Walters <walters@verbum.org>
+
+ * glib/dbus-gvalue.c (struct _DBusGValue): Delete.
+ (dbus_g_value_types_init): Remove assertion.
+ (dbus_g_value_get_g_type, dbus_g_value_open)
+ (dbus_g_value_iterator_get_values, dbus_g_value_get_signature)
+ (dbus_g_value_copy, dbus_g_value_free): Delete unimplemented
+ functions related to DBusGValue. Now we marshal/demarshal
+ structures as GValueArray.
+ (dbus_gtype_from_signature_iter): Return G_TYPE_VALUE_ARRAY for
+ structures.
+ (signature_iter_to_g_type_array): Don't call
+ signature_iter_to_g_type_struct.
+ (signature_iter_to_g_type_struct): Delete.
+ (dbus_gvalue_to_signature): Delete.
+ (dbus_gvalue_to_signature): New function with same name as other
+ one; we can convert structures to signatures.
+ (demarshal_valuearray): New function.
+ (get_type_demarshaller): Use it.
+ (demarshal_recurse): Delete.
+ (marshal_proxy): New function.
+ (marshal_map): Warn if we can't determine signature from type.
+ (marshal_collection_ptrarray): Ditto.
+ (marshal_collection_array): Ditto.
+ (get_type_marshaller): Use marshal_valuearray.
+ (marshal_recurse): Delete.
+ (_dbus_gvalue_test): Add some tests.
+
+ * dbus/dbus-glib.h (struct _DBusGValueIterator):
+ (dbus_g_value_get_g_type, DBUS_TYPE_G_VALUE)
+ (dbus_g_value_open, dbus_g_value_iterator_get_value)
+ (dbus_g_value_iterator_get_values, dbus_g_value_iterator_recurse)
+ (dbus_g_value_free): Remove prototypes.
+
+ * glib/dbus-binding-tool-glib.c (dbus_g_type_get_lookup_function): Handle
+ G_TYPE_VALUE_ARRAY.
+
+ * glib/examples/example-service.c:
+ * glib/examples/example-client.c: Implement GetTuple.
+
+ * test/glib/test-dbus-glib.c:
+ * test/glib/test-service-glib.c:
+ * test/glib/test-service-glib.xml: Add structure tests.
+
+2005-07-10 Colin Walters <walters@verbum.org>
+
+ * doc/TODO: Knock off some GLib items with this patch.
+
+ * glib/dbus-gvalue-utils.c (_dbus_gtype_can_signal_error)
+ (_dbus_gvalue_signals_error): New functions.
+
+ * glib/dbus-gvalue-utils.h: Prototype them.
+
+ * glib/dbus-gobject.c (arg_iterate): Update to handle return vals
+ and change to not output const/retval flags for input args. All
+ callers updated.
+ (invoke_object_method): Refactor to handle return values. Add
+ some more comments in various places. Remove debug g_print.
+
+ * glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_RETURNVAL): New.
+
+ * glib/dbus-binding-tool-glib.c (dbus_g_type_get_marshal_name):
+ Handle G_TYPE_NONE.
+ (compute_gsignature): New function; refactored from code from
+ compute_marshaller and compute_marshaller_name. Enhance to
+ handle return values and async ops more cleanly. Update for
+ async ops returning NONE instead of BOOLEAN.
+ (compute_marshaller, compute_marshaller_name): Call compute_gsignature
+ and output appropriate string.
+ (generate_glue): Handle return value annotation. Also don't dump
+ constness flag for input arguments.
+
+ * glib/Makefile.am (DBUS_GLIB_INTERNALS): New variable; contains
+ files shared between installed library and utilities.
+ (libdbus_glib_1_la_SOURCES): Move some stuf into DBUS_GLIB_INTERNALS.
+ (libdbus_gtool_la_SOURCES): Suck in DBUS_GLIB_INTERNALS so the
+ binding tool can access gtype utility functions.
+
+ * test/glib/test-service-glib.c:
+ * test/glib/test-service-glib.xml:
+ * test/glib/test-dbus-glib.c: Add some tests for return values.
+
+2005-07-09 Colin Walters <walters@verbum.org>
+
+ * glib/dbus-gparser.c (parse_annotation): Add annotations to
+ argument if available, not method.
+
+ * glib/dbus-gobject.c (arg_iterate): More verbose warnings.
+ (invoke_object_method): First, remove some redundant
+ GValues (object_value, error_value) in favor of working on
+ array directly. Second, rework constness to be less buggy.
+ Now we iterate directly over the argument metadata instead
+ of parallel iterating over output signature and metadata.
+
+ * glib/dbus-glib-tool.h: Add INVALID_ANNOTATION error.
+
+ * glib/dbus-binding-tool-glib.c (generate_glue): Barf on const
+ annotation on input args.
+
+2005-07-09 Colin Walters <walters@verbum.org>
+
+ * glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_CONST):
+ Define.
+
+ * glib/dbus-binding-tool-glib.c (generate_glue): Handle Const
+ annotation.
+
+ * glib/dbus-gobject.c (arg_iterate): Update to parse constval too.
+ (method_dir_signature_from_object_info): Handle arg_iterate change.
+ (write_interface): Ditto.
+ (lookup_object_info): Don't barf if format_version is > 0.
+ (invoke_object_method): Handle arg constness.
+
+ * glib/dbus-gidl.c (struct ArgInfo): Add annotations.
+ (arg_info_new): Create.
+ (arg_info_unref): Destroy.
+ (arg_info_get_annotations, arg_info_get_annotation)
+ (arg_info_add_annotation): New functions.
+
+ * glib/dbus-gidl.h: Prototype them.
+
+ * glib/dbus-gparser.c (parse_annotation): Allow annotations in
+ args, disallow them in properties.
+ (parse_annotation): Handle arg annotations.
+
+ * test/glib/test-service-glib.xml:
+ * test/glib/test-service-glib.c: Update to make some methods
+ const.
+
+2005-07-08 Colin Walters <walters@verbum.org>
+
+ * test/glib/test-service-glib.xml:
+ * test/glib/test-service-glib.c:
+ * test/glib/test-dbus-glib.c: Test a{sv}.
+
+ * glib/examples/statemachine/statemachine.c:
+ * glib/examples/statemachine/statemachine-server.c:
+ * glib/examples/statemachine/statemachine-client.c: Fix some bugs,
+ add progress bar, etc.
+
+ * glib/dbus-gvalue.c (register_array, register_dict): Delete; not
+ needed anymore due to generic array/map marshalling.
+ (dbus_g_value_types_init): Don't register basic arrays or the
+ string/string hash.
+ (dbus_gtype_from_signature_iter): Don't try to recurse into
+ variants.
+ (dbus_gtype_to_signature): Check collection/map before type
+ metadata.
+ (demarshal_garray_basic): Renamed to demarshal_collection_array.
+ (demarshal_ghashtable): Renamed to demarshal_map; fix to use new
+ generic map creation/append functions instead of hash table
+ specifically.
+ (get_type_demarshaller): Handle maps.
+ (demarshal_collection): Dispatch on collection type to either
+ demarshal_collection_ptrarray or demarshal_collection_array.
+ (get_type_marshaller): Handle maps.
+ (marshal_collection): Dispatch collection type to either
+ marshal_collection_ptrarray or marshal_collection_array.
+ (_dbus_gvalue_test): New test.
+
+ * glib/dbus-gvalue-utils.c (unset_and_free_g_value): New function.
+ (hash_free_from_gtype): Use it to free GValues.
+ (hashtable_append): New function.
+ (ptrarray_append): Fix prototype.
+ (slist_append): Ditto.
+ (_dbus_gvalue_utils_test): Extend tests.
+
+ * glib/dbus-gtype-specialized.c
+ (dbus_g_type_specialized_init_append): Renamed from
+ dbus_g_type_specialized_collection_init_append. Remove const from
+ value, since we steal it.
+ (dbus_g_type_specialized_map_append): New function.
+
+ * glib/dbus-gtype-specialized.h: Update prototypes.
+ Add DBusGTypeSpecializedMapAppendFunc.
+
+ * glib/dbus-gtest.c (dbus_glib_internal_do_not_use_run_tests): Run
+ _dbus_gvalue_test.
+
+ * glib/dbus-gtest.h: Prototype it.
+
+2005-07-08 Ross Burton <ross@openedhand.com>
+
+ * dbus/dbus-glib.h:
+ Add DBysGAsyncData for the async bindings.
+
+ * glib/dbus-binding-tool-glib.c:
+ Re-enable the async bindings.
+
+ * test/glib/test-dbus-glib.c:
+ Add a test for the generated async bindings.
+
+2005-07-08 Colin Walters <walters@verbum.org>
+
+ * doc/TODO: Update GLib todo bits, also add a post-1.0 TODO for a
+ connection concept.
+
+2005-07-08 Colin Walters <walters@verbum.org>
+
+ * tools/Makefile.am: Kill of print-introspect in favor of using
+ dbus-send --print-reply=literal.
+
+ * test/glib/test-service-glib.xml:
+ * test/glib/test-service-glib.c (my_object_get_objs): New test
+ for "ao".
+
+ * test/glib/test-dbus-glib.c (echo_received_cb): Free echo data.
+ (main): Test GetObjs.
+
+ * glib/examples/statemachine/Makefile.am:
+ * glib/examples/statemachine/sm-marshal.list:
+ * glib/examples/statemachine/statemachine-client.c:
+ * glib/examples/statemachine/statemachine-server.c:
+ * glib/examples/statemachine/statemachine-server.xml:
+ * glib/examples/statemachine/statemachine.c:
+ * glib/examples/statemachine/statemachine.h:
+ * glib/examples/statemachine/statemachine.xml:
+
+ New example.
+
+ * glib/examples/example-service.c (main): Move invocation
+ of dbus_g_object_type_install_info earlier, to emphasize it
+ should only be done once.
+
+ * glib/examples/example-signal-emitter.c (main): Ditto.
+
+ * glib/examples/Makefile.am (SUBDIRS): Include statemachine.
+
+ * glib/dbus-gvalue.h (dbus_gtype_to_signature)
+ (dbus_gvalue_marshal): Update prototypes.
+
+ * glib/dbus-gvalue.c: Update all marshalling functions to take
+ const GValue instead of GValue.
+ (signature_iter_to_g_type_array): Return a GPtrArray for nonfixed
+ types.
+ (dbus_gvalue_to_signature): Update for dbus_gtype_to_signature
+ change.
+ (dbus_gtype_to_signature): Handle generic collecitons and maps.
+ Return a newly-allocated string.
+ (demarshal_proxy, demarshal_object_path, demarshal_object)
+ (demarshal_strv, demarshal_ghashtable): Set error, don't assert if
+ we get the wrong types from message.
+ (get_type_demarshaller): New function, extracted from
+ dbus_gvalue_demarshal.
+ (demarshal_collection): New function, demarshals generic
+ collection.
+ (dbus_gvalue_demarshal): Just invoke result of
+ get_type_demarshaller. Throw error if we don't have one.
+ (marshal_garray_basic): Abort on OOM.
+ (get_type_marshaller): New function, extracted from
+ dbus_gvalue_marshal.
+ (collection_marshal_iterator, marshal_collection): New functions;
+ implements generic marshalling for an iteratable specialized
+ collection.
+ (dbus_gvalue_marshal): Just invoke result of get_type_marshaller.
+
+ * glib/dbus-gvalue-utils.c (gvalue_from_ptrarray_value): Handle
+ G_TYPE_STRING.
+ (ptrarray_value_from_gvalue): Ditto.
+ (ptrarray_append, ptrarray_free): New functions.
+ (slist_constructor, slist_iterator, slist_copy_elt, slist_copy)
+ (slist_append, slist_end_append, slist_free): New functions.
+ (dbus_g_type_specialized_builtins_init): Add append fuctions
+ for GPtrArray and GSList. Register GSList.
+ (test_specialized_hash, _dbus_gvalue_utils_test): New functions.
+
+ * glib/dbus-gtype-specialized.h (DBusGTypeSpecializedAppendContext):
+ New.
+ (dbus_g_type_specialized_collection_init_append)
+ (dbus_g_type_specialized_collection_append)
+ (dbus_g_type_specialized_collection_end_append): Prototype.
+ (DBusGTypeSpecializedCollectionVtable): Add append_func and
+ end_append_func.
+
+ * glib/dbus-gtype-specialized.c (dbus_g_type_specialized_collection_init_append)
+ (dbus_g_type_specialized_collection_append)
+ (dbus_g_type_specialized_collection_end_append): New functions.
+ (dbus_g_type_map_value_iterate): Take const GValue.
+ (dbus_g_type_collection_value_iterate): Ditto.
+
+ * glib/dbus-gtest.c (dbus_glib_internal_do_not_use_run_tests): Run
+ _dbus_gvalue_utils_test.
+
+ * glib/dbus-gtest.h: Prototype it.
+
+ * glib/dbus-gproxy.c (dbus_g_proxy_manager_filter): Avoid
+ using uninitialized owner_list.
+ (dbus_g_proxy_begin_call_internal): Move return_if_fail to
+ public API.
+ (dbus_g_proxy_end_call_internal): Update to use error set
+ from dbus_gvalue_demarshal instead of setting it here.
+ (dbus_g_proxy_begin_call): Move return_if_fail here.
+
+ * glib/dbus-gobject.c (write_interface): Update for
+ dbus_gtype_to_signature returning new string.
+
+ * configure.in: Add glib/examples/statemachine.
+
+2005-07-08 Joe Shaw <joeshaw@novell.com>
+
+ * configure.in: Add a configure option, --with-console-auth-dir
+
+ * dbus/dbus-sysdeps-util.c (_dbus_user_at_console): Use the
+ new setting. Patch from Kay Sievers.
+
+2005-07-06 Colin Walters <walters@verbum.org>
+
+ * dbus/dbus-glib.h (DBusGPendingCall, DBusGPendingCallNotify)
+ (DBUS_TYPE_G_PENDING_CALL, dbus_g_pending_call_get_g_type)
+ (dbus_g_pending_call_ref, dbus_g_pending_call_unref): Delete.
+ (dbus_g_pending_call_set_notify, dbus_g_pending_call_cancel):
+ Delete in favor of dbus_g_proxy_begin_call and
+ dbus_g_proxy_cancel_call.
+ (DBusGProxyCall, DBusGProxyCallNotify): New.
+ (dbus_g_proxy_begin_call): Change prototype to take callback, user
+ data, and destroy function. This replaces
+ dbus_g_pending_call_set_notify.
+ (dbus_g_proxy_cancel_call): Prototype.
+ (DBusGAsyncData): Delete, shouldn't be needed anymore.
+
+ * glib/dbus-gproxy.c (struct _DBusGProxy): Add call_id_counter and
+ pending_calls map.
+ (struct _DBusGProxyManager): Add bus_proxy member, which is an
+ internal proxy for calls to the bus. Remove
+ pending_nameowner_calls, now the internal proxy keeps track.
+ (dbus_g_proxy_manager_unref): Unref bus proxy, remove reference to
+ pending_nameowner_calls.
+ (got_name_owner_cb): Update prototype, and use
+ dbus_g_proxy_end_call.
+ (got_name_owner_cb): Remove reference to pending_nameowner_calls.
+ (dbus_g_proxy_manager_register): Delete directly libdbus code in
+ favor of using internal proxy.
+ (dbus_g_proxy_manager_unregister): Update to use
+ dbus_g_proxy_cancel_call for any pending GetNameOwner call.
+ (dbus_g_proxy_init): Initialize pending calls map.
+ (dbus_g_proxy_constructor): New.
+ (dbus_g_proxy_class_init): Add get/set property functions,
+ constructor, and add NAME, PATH, and INTERFACE properties.
+ (cancel_pending_call): New function.
+ (dbus_g_proxy_dispose): Iterate over any outstanding calls and
+ cancel them.
+ (dbus_g_proxy_set_property, dbus_g_proxy_get_property): New.
+ (GPendingNotifyClosure): New structure.
+ (d_pending_call_notify, d_pending_call_free): Moved here from
+ dbus-glib.c.
+ (DBUS_G_VALUE_ARRAY_COLLECT_ALL): Moved around to satisfy function
+ ordering.
+ (manager_begin_bus_call): New internal function for talking to
+ internal bus proxy.
+ (dbus_g_proxy_new): Construct object using GObjet properties.
+ (dbus_g_proxy_begin_call_internal): Update to take user data, etc.
+ Create closure of same, and insert call into map of pending calls.
+ (dbus_g_proxy_end_call_internal): Take call id instead of pending
+ call. Look up pending call in current set. Remove it when we've
+ completed.
+ (dbus_g_pending_call_end, dbus_g_proxy_end_call_internal): Delete.
+ (dbus_g_proxy_begin_call): Change API to take callback, user data,
+ and destroy function directly.
+ (dbus_g_proxy_end_call): Update to take DBusGProxyCall.
+ (dbus_g_proxy_call): Invoke with NULL callback.
+ (dbus_g_proxy_cancel_call): New function, replaces
+ dbus_g_pending_call_cancel.
+
+ * glib/dbus-gparser.c (validate_signature): Fix call to
+ dbus_set_g_error.
+
+ * glib/dbus-gobject.c (dbus_g_object_type_dbus_metadata_quark):
+ New quark for attaching metadata to GType.
+ (info_hash): Delete.
+ (lookup_object_info): Look up using quark.
+ (dbus_g_object_type_install_info): Check that a type is classed,
+ not that it's an object. Also just install type data using quark
+ instead of using global hash.
+
+ * glib/dbus-glib.c (dbus_g_pending_call_ref)
+ (dbus_g_pending_call_unref, dbus_pending_call_get_g_type)
+ (GPendingNotifyClosure): Delete.
+ (d_pending_call_notify, d_pending_call_free): Move to dbus-gproxy.c.
+ (dbus_g_pending_call_set_notify, dbus_g_pending_call_cancel): Delete.
+
+ * glib/dbus-binding-tool-glib.c (generate_client_glue): Disable async
+ client method generation until we can fix it...
+
+ * tools/dbus-viewer.c (load_child_nodes): Use dbus_g_proxy_call.
+ (load_from_service_thread_func): Ditto.
+
+ * tools/dbus-names-model.c (struct NamesModel): Hold
+ DBusGProxyCall.
+ (have_names_notify): Update prototype, use
+ dbus_g_proxy_cancel_call.
+ (names_model_reload): Update for new dbus_g_proxy_begin_call API.
+
+ * tools/dbus-monitor.c (filter_func): Update for print_message
+ API change.
+
+ * test/glib/test-dbus-glib.c: Add more tests for async
+ invocations. Update many begin_call/end_call pairs to just use
+ dbus_g_proxy_call.
+
+ * tools/dbus-send.c (main): Add --print-reply=literal mode. This
+ allows us to dump print-introspect.c.
+
+ * tools/dbus-print-message.h (print_message): Add literal argument
+ to print_message which is intended to allow printing arguments without
+ metadata like "string=".
+
+ * tools/dbus-print-message.c (print_iter): Add literal argument.
+ (print_message): Allow printing string messages literally.
+
+2005-07-05 Colin Walters <walters@verbum.org>
+
+ * glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller):
+ Remove value refcount leak, original patch from Jorn Baayen
+ <jorn@openedhand.com>. Also remove useless extra value in favor
+ of prepending to value array directly.
+
+2005-07-02 Colin Walters <walters@verbum.org>
+
+ * glib/dbus-gmain.c (_dbus_gmain_test): Fix test.
+
+2005-07-01 Colin Walters <walters@verbum.org>
+
+ Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
+
+ * glib/dbus-gvalue.c (basic_typecode_to_gtype): Fix return type.
+ (dbus_g_value_types_init): Marshal G_TYPE_CHAR as DBUS_TYPE_BYTE,
+ G_TYPE_LONG as DBUS_TYPE_INT32, G_TYPE_ULONG as DBUS_TYPE_UINT32,
+ and G_TYPE_FLOAT as DBUS_TYPE_DOUBLE.
+
+2005-06-30 Colin Walters <walters@verbum.org>
+
+ * test/glib/test-dbus-glib.c:
+ * test/glib/test-service-glib.c:
+ * test/glib/test-service-glib.xml: Update tests for new error
+ setting bits, also add async tests (patch from Ross Burton).
+
+ * test/glib/Makefile.am (test_service_glib_LDADD): Add
+ DBUS_GLIB_THREADS_LIBS.
+
+ * glib/dbus-gproxy.c (get_name_owner)
+ (dbus_g_pending_call_end_valist): Ditto.
+
+ * glib/dbus-gobject.c (error_metadata): New mapping from GError
+ domain (GQuark) to DBusGErrorInfo.
+ (gerror_domaincode_to_dbus_error_name): Attempt to look up error
+ quark in error_metadata. Take message interface as default
+ error message interface.
+ (gerror_to_dbus_error_message): Pass message interface.
+ (dbus_set_g_error): Resurrected.
+ (dbus_g_error_info_free): New function.
+ (dbus_g_object_type_install_info): Use g_type_class_ref instead
+ of _peek to actually create the object class if it hasn't been
+ created yet.
+ (dbus_g_error_domain_register): New function.
+
+ * glib/dbus-gmain.c (dbus_g_bus_get): Switch to dbus_set_g_error.
+
+ * glib/dbus-gparser.c (validate_signature): Ditto.
+
+ * dbus/dbus-glib.h (dbus_g_error_set): Delete.
+ (dbus_g_error_domain_register): Prototype.
+
+ * glib/dbus-glib.c (dbus_g_error_set): Delete.
+ Update tests.
+
+2005-06-29 Colin Walters <walters@verbum.org>
+
+ * dbus/dbus-glib.h: Delete DBUS_TYPE_G_PROXY_ARRAY. Add
+ DBUS_TYPE_G_OBJECT_PATH.
+
+ * glib/dbus-gvalue.c (dbus_g_value_types_init): Remove marshallers
+ for G_TYPE_OBJECT and DBUS_TYPE_G_PROXY_ARRAY (the latter should
+ be handled more generically). Add DBUS_TYPE_G_OBJECT_PATH.
+ (dbus_g_object_path_get_g_type): New function.
+ (dbus_gtype_from_signature_iter): Map DBUS_TYPE_OBJECT_PATH
+ to DBUS_TYPE_G_OBJECT_PATH by default.
+ (demarshal_proxy): Remove unused name variable.
+ (demarshal_object_path, marshal_object_path): New functions.
+ (demarshal_proxy_array, marshal_proxy_array): Delete.
+
+ * glib/dbus-binding-tool-glib.c (dbus_g_type_get_c_name): Map
+ DBUS_TYPE_G_OBJECT_PATH to char *.
+ (dbus_g_type_get_lookup_function): Map builtin
+ DBUS_TYPE_G_OBJECT_PATH.
+
+ * test/glib/test-dbus-glib.c
+ * test/glib/test-service-glib.c (my_object_objpath):
+ Adapt tests to new object path marshalling.
+
+2005-06-29 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in: force check for Python >= 2.4
+
+2005-06-29 Colin Walters <walters@verbum.org>
+
+ Patch from Ross Burton <ross@openedhand.com>
+
+ * glib/dbus-gobject.c (invoke_object_method): Unset object
+ value in all cases, not only in async case.
+
+2005-06-29 Colin Walters <walters@verbum.org>
+
+ * glib/dbus-gproxy.c (struct _DBusGProxy): Add new member
+ name_call for keeping track of any outgoing GetNameOwner call.
+ Also add for_owner and associated.
+ (struct _DBusGProxyManager): Add owner_names, which is hash table
+ that maps a base name to a list of names it owns (that we're
+ interested in). Add pending_nameowner_calls which is a list of
+ all outstanding GetNameOwner; avoids us having to iterate over
+ every proxy. Add unassociated_proxies which keeps track of name
+ proxies with no associated name owner.
+ (dbus_g_proxy_manager_unref): Destroy owner_names.
+ (struct DBusGProxyNameOwnerInfo): New struct for keeping track of
+ name refcounts.
+ (find_name_in_info, name_owner_foreach)
+ (dbus_g_proxy_manager_lookup_name_owner, insert_nameinfo)
+ (dbus_g_proxy_manager_monitor_name_owner)
+ (dbus_g_proxy_manager_unmonitor_name_owner)
+ (unassociate_proxies, dbus_g_proxy_manager_replace_name_owner):
+ New functions; they manipulate the owner_names mapping.
+ (got_name_owner_cb): New function.
+ (get_name_owner): New function, extracted from
+ dbus_g_proxy_new_for_name_owner.
+ (dbus_g_proxy_manager_register): For now we need to keep track of
+ all NameOwnerChanged. Also if the proxy is for a name, if we
+ don't already know the name owner, queue a new GetNameOwner
+ request and add it to our list of unassociated proxies. Otherwise
+ inc the refcount.
+ (dbus_g_proxy_manager_unregister): If this proxy is for a name,
+ cancel any pending GetNameOwner call, etc.
+ (dbus_g_proxy_manager_filter): Handle NameOwnerChanged. Also use
+ the owner_names mapping to look up the current names for the
+ signal source, and dispatch to any proxies for that name.
+ (dbus_g_proxy_new): Initialize new members.
+ (dbus_g_proxy_new_for_name): Delete unused proxy variable.
+ (dbus_g_proxy_new_for_name_owner): Use get_name_owner.
+ (dbus_g_pending_call_end_valist): New function, extracted from
+ dbus_g_proxy_end_call_internal. Useful when we don't have a proxy
+ but want to use the GLib infrastructure. Also note how many
+ arguments in reply were over.
+ (dbus_g_pending_call_end): New function, just call
+ dbus_g_pending_call_end_valist.
+ (dbus_g_proxy_end_call_internal): Just call
+ dbus_g_pending_call_end_valist.
+
+ * glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): Fix lookup
+ of builtin marshaller for STRING_STRING_STRING.
+
+ * test/glib/test-dbus-glib.c:
+ * test/glib/test-service-glib.c:
+ * test/glib/test-service-glib.xml:
+ Extend tests to cover name proxies, destruction of owner proxies,
+ etc.
+
+ * glib/examples/example-signal-recipient.c
+ (dbus_g_proxy_new_for_name_owner): Create a name proxy.
+
+ * tools/dbus-send.c (main): Print D-BUS error name in addition
+ to message.
+
+2005-06-28 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/dbus_bindings.pyx.in (cunregister_function_handler,
+ cmessage_function_handler): Patch from
+ Anthony Baxter <anthony@interlink.com.au> fixes threading problems
+ by using the Py_GILState_Ensure/Release to synchronize with the
+ python runtime.
+
+2005-06-28 Ray Strode <rstrode@redhat.com>
+
+ * dbus/dbus-spawn.c (_dbus_babysitter_unref): kill
+ babysitter helper process on last unref, bug #2813.
+
+2005-06-27 Colin Walters <walters@verbum.org>
+
+ * test/glib/test-dbus-glib.c:
+ * test/glib/test-service-glib.c:
+ * test/glib/test-service-glib.xml:
+ Test hash table signal emitting.
+
+ * glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): Convert
+ types to their fundamental basis types, since this is what
+ marshallers operate on. Also add an entry for VOID__BOXED.
+ (dbus_g_object_register_marshaller_array): Convert to fundamental.
+
+2005-06-26 Havoc Pennington <hp@redhat.com>
+
+ * doc/dbus-tutorial.xml: fix names of interface/service/path, fix
+ from Don Park
+
+2005-06-26 Colin Walters <walters@verbum.org>
+
+ * glib/dbus-glib.c (dbus_set_g_error): Delete.
+ (dbus_g_error_set): New public function from its ashes; used by
+ both service-side method implementation and GLib bindings
+ internals.
+ (dbus_g_error_has_name, dbus_g_error_get_name): New function.
+ (_dbus_glib_test): Add some tests.
+
+ * test/glib/test-dbus-glib.c (main): Test dbus_g_error_has_name.
+
+ * test/glib/test-service-glib.c (my_object_throw_error): Use
+ dbus_g_error_set.
+
+ * glib/dbus-gobject.c (gerror_to_dbus_error_message): Handle
+ errors thrown by dbus_g_error_set.
+
+ * glib/dbus-gmain.c (dbus_g_bus_get): Change to dbus_g_error_set.
+
+ * glib/dbus-gparser.c (validate_signature): Ditto.
+
+ * glib/dbus-gproxy.c (dbus_g_proxy_new_for_name_owner)
+ (dbus_g_proxy_end_call_internal): Ditto.
+
+ * glib/Makefile.am: Generate dbus-glib-error-switch.h, which
+ converts DBUS_ERROR_x to DBUS_GERROR_x.
+ (libdbus_glib_1_la_SOURCES, BUILT_SOURCES, CLEANFILES): Add it.
+
+ * doc/TODO: Remove error TODO.
+
+ * doc/dbus-tutorial.xml: Update with documentation about error
+ handling.
+
+ * dbus/make-dbus-glib-error-enum.sh: Tighten up regexp to make
+ sure we only change DBUS_ERROR to DBUS_GERROR, not all ERROR to
+ GERROR. Also add DBUS_GERROR_REMOTE_EXCEPTION.
+
+2005-06-22 Colin Walters <walters@verbum.org>
+
+ Patch from Ross Burton <ross@openedhand.com>
+
+ * glib/dbus-gobject.c (dbus_g_method_return): Free out_sig.
+
+2005-06-20 Colin Walters <walters@verbum.org>
+
+ * configure.in: Add glib/examples.
+
+ * glib/Makefile.am: Add examples/
+
+ * glib/examples/.cvsignore
+ * glib/examples/Makefile.am
+ * glib/examples/example-client.c
+ * glib/examples/example-service.c
+ * glib/examples/example-service.xml
+ * glib/examples/example-signal-emitter.c
+ * glib/examples/example-signal-emitter.xml
+ * glib/examples/example-signal-recipient.c:
+ New files; GLib binding examples, ported from
+ python/examples.
+
+2005-06-20 Colin Walters <walters@verbum.org>
+
+ * dbus/dbus-glib.h:
+ * glib/dbus-gproxy.c: Rename dbus_g_proxy_invoke to
+ dbus_g_proxy_call.
+
+ * glib/dbus-binding-tool-glib.c:
+ * doc/dbus-tutorial.xml:
+ * test/glib/test-dbus-glib.c: Update for rename.
+
+2005-06-20 Colin Walters <walters@verbum.org>
+
+ Patch suggested by Ross Burton <ross@openedhand.com>
+
+ * glib/dbus-gobject.c (export_signals): Free signal name.
+ (g_value_init): Use G_VALUE_NOCOPY_CONTENTS to plug
+ memory leak. Add a bit of documentation.
+ (dbus_g_method_return_error): Free context, and note we do
+ so.
+
+2005-06-18 Murray Cumming <murrayc@murrayc.com>
+
+ * dbus/dbus-glib.h:
+ * glib/dbus-gobject.c:
+ * glib/dbus-gproxy.c:
+ * glib/dbus-gvalue.c: Predeclare structs as
+ typedef struct _Something Something instead of
+ typedef struct Something Something, so we can
+ redeclare the prototypes. Other GNOME libraries
+ do this already.
+
+2005-06-17 Colin Walters <walters@verbum.org>
+
+ * tools/dbus-names-model.c (have_names_notify): Fix call
+ to dbus_g_proxy_end_call.
+
+2005-06-17 Colin Walters <walters@verbum.org>
+
+ * glib/dbus-gproxy.c (dbus_g_proxy_emit_remote_signal): Don't
+ spew warnings if we get malformed remote signals.
+
+ * glib/dbus-gobject.c (propsig_iterate): New function.
+ (lookup_object_info): New function, extracted from
+ lookup_object_and_method.
+ (introspect_properties, introspect_signals): Delete; these
+ are merged into write_interface.
+ (write_interface): Write out signals and properties here;
+ dump the org.gtk.object stuff and use the interface given
+ in the introspection data blob. Also fix up property XML.
+ (lookup_values): New function.
+ (introspect_interfaces): Gather a mapping from interface to a
+ list of its methods, signals, and properties, then write out
+ each interface.
+ (lookup_object_and_method): Use lookup_object_info.
+ (struct DBusGSignalClosure): Add interface.
+ (dbus_g_signal_closure_new): Add interface. Don't dup signame;
+ we can just use the constant data.
+ (dbus_g_signal_closure_finalize): Don't free signal name.
+ (signal_emitter_marshaller): Use interface from signal closure.
+ (export_signals): Only export signals mentioned in introspection
+ blob.
+ (dbus_g_connection_register_g_object): Warn if we have no
+ introspection data for an object.
+ (funcsig_equal): Remove unused variable.
+ (dbus_g_object_register_marshaller): Take varargs instead of
+ list.
+ (dbus_g_object_register_marshaller_array): New function,
+ extracted from old dbus_g_object_register_marshaller.
+
+ * glib/dbus-binding-tool-glib.c (struct DBusBindingToolCData): Add
+ signals and property data.
+ (write_quoted_string): New function, extracted from generate_glue.
+ (generate_glue): Write signals and properties to introspection
+ blob.
+
+ * dbus/dbus-glib.h (struct DBusGObjectInfo): Include
+ exported_signals and exported_properties.
+ (dbus_g_object_register_marshaller): Update prototype.
+ (dbus_g_object_register_marshaller_array): Prototype.
+
+ * test/glib/test-dbus-glib.c: Extend testing to cover new signals.
+
+ * test/glib/test-service-glib.c: Add new test signals and method
+ to emit them.
+
+ * test/glib/test-service-glib.xml: Add some test signals.
+
+ * test/glib/Makefile.am (BUILT_SOURCES): Add my-object-marshal.c
+ and my-object-marshal.h
+ (test_service_glib_SOURCES, test_dbus_glib_SOURCES): Add
+ my-object-marshal.c.
+ (my-object-marshal.c, my-object-marshal.h): Implement.
+
+ * test/glib/.cvsignore: Update.
+
+ * doc/TODO: Remove two GLib TODO items fixed by this
+ patch.
+
+2005-06-16 Colin Walters <walters@verbum.org>
+
+ * doc/TODO: Update for GLib bindings.
+
+2005-06-16 Colin Walters <walters@verbum.org>
+
+ * glib/dbus-binding-tool-glib.c:
+ * glib/dbus-gobject.c:
+ * glib/dbus-gproxy.c: Add Nokia copyright; Patch
+ from Ross Burton, for his GLib bindings work.
+
+2005-06-16 Colin Walters <walters@verbum.org>
+
+ * glib/dbus-gobject.c (funcsig_hash, funcsig_equal): Use n_params
+ to iterate instead of walking to G_TYPE_INVALID.
+
+ Patch based on a patch from Ryan Gammon.
+
+2005-06-16 Colin Walters <walters@verbum.org>
+
+ * bus/bus.c (bus_context_new): Set parser to NULL
+ after we unref it (Patch from Chris Boscolo, #2174).
+
+2005-06-16 Colin Walters <walters@verbum.org>
+
+ * python/dbus_bindings.pyx.in: Import size_t,
+ __int64_t, __uint64_t, and __signed.
+
+ * dbus/dbus-sysdeps.c <HAVE_CMSGCRED> (write_credentials_byte):
+ Define cmsg struct, output it.
+ (_dbus_read_credentials_unix_socket):
+ Use cmsg struct.
+
+ Patch from Joe Markus Clarke for FreeBSD support.
+
+2005-06-16 Colin Walters <walters@verbum.org>
+
+ * tools/dbus-send.c (append_array): Use strtok.
+ (append_dict): New function.
+ (type_from_name): New function, extracted from main.
+ (main): Handle sending dicts.
+
+ * tools/dbus-print-message.c (print_iter): Print dict
+ entries.
+
+2005-06-16 Colin Walters <walters@verbum.org>
+
+ * glib/dbus-gvalue.c (marshal_basic): Marshal NULL string
+ values as the empty string (#2948).
+
+2005-06-16 Colin Walters <walters@verbum.org>
+
+ * dbus/Makefile.am:
+ * mono/doc/Makefile.am:
+ * test/glib/Makefile.am:
+
+ Fix srcdir != builddir issues (Patch from Chris Wilson, #3477)
+
+2005-06-16 Colin Walters <walters@verbum.org>
+
+ * dbus/dbus-marshal-header.c (_dbus_header_load): Set
+ header byte order from expected byte order (Patch from Chris Wilson, #3475).
+
+ * dbus/dbus-marshal-byteswap.c (byteswap_body_helper):
+ Increment pointer after swapping fixed array. Add assertion
+ for array length.
+
+2005-06-15 Colin Walters <walters@verbum.org>
+
+ * dbus/dbus-sysdeps.c <HAVE_CMSGCRED> (_dbus_read_credentials_unix_socket):
+ Fix call to dbus_set_error. (Patch from Michael Banck, #3461)
+
+2005-06-15 John (J5) Palmieri <johnp@redhat.com>
+
+ * NEWS: Update to 0.34
+
+2005-06-15 David Zeuthen <davidz@redhat.com>
+
+ * configure.in (LT_CURRENT): Revert back to 1 as the library
+ hasn't changed and we've certainly not committed to protocol
+ stability yet. All this does is to break ABI. See commit note
+ from hp@redhat.com 2005-05-05 for details.
+
+2005-06-15 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-connection.c (_dbus_connection_peer_filter): New method
+ (_dbus_connection_run_builtin_filters): New method
+ (dbus_connection_dispatch): Run the builtin filters which in turn
+ runs the peer filter which handles Ping messages.
+
+ * doc/TODO:
+ - Ping isn't handled: This patch fixes it
+
+ - Add a test case for the Ping message: added TODO item
+
+2005-06-15 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-message.c:
+ (dbus_message_has_path): New method
+ (dbus_message_has_interface): New method
+ (dbus_message_has_member): New method
+
+ * dbus/dbus/dbus-sysdeps.c (_dbus_check_dir_is_private_to_user):
+ New method
+
+ * dbus/dbus-keyring.c (_dbus_keyring_reload): Check to see that
+ the keyring directory is private to the user
+
+ * doc/TODO:
+ - The convenience functions in dbus-bus.h should perhaps have
+ the signatures that they would have if they were autogenerated
+ stubs. e.g. the acquire service function. We should also evaluate
+ which of these functions to include, in light of the fact that
+ GLib/Qt native stubs will probably also exist.: Punted
+
+ - add dbus_message_has_path(), maybe has_member/interface:
+ fixed in this patch
+
+ - in dbus-keyring.c, enforce that the keyring dir is not
+ world readable/writable: Fixed in this patch
+
+2005-06-15 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-marshal-validate.h: Added a new validation
+ error code DBUS_VALIDITY_UNKNOWN_OOM_ERROR = -4 for
+ out of memory errors when validating signitures
+
+ * dbus/dbus-marshal-header.c: use DBUS_VALIDITY_UNKNOWN_OOM_ERROR
+ in places where we previously used DBUS_VALID and a FALSE return
+ value to indicate OOM
+
+ * dbus/dbus-marshal-validate.c (_dbus_validate_signature_with_reason):
+ Use a stack to track the number of elements inside containers. The
+ stack values are then used to validate that dict entries have only two
+ elements within them.
+ (validate_body_helper): check the reason for failure when validating
+ varients
+
+ * dbus/dbus-message.c (load_message): use
+ DBUS_VALIDITY_UNKNOWN_OOM_ERROR in places where we previously used
+ DBUS_VALID and a FALSE return value to indicate OOM
+
+ * doc/TODO: remove "- validate dict entry number of fields" as this
+ patch fixes it
+
+2005-06-14 David Zeuthen <davidz@redhat.com>
+
+ * bus/bus.c (process_config_every_time): Drop existing conf-dir
+ watches (if applicable) and add new watches
+
+ * bus/main.c (signal_handler): Handle SIGIO if using D_NOTIFY
+ (main): Setup SIGIO signal handler if using D_NOTIFY
+
+ * bus/config-parser.h: Add prototype bus_config_parser_get_conf_dirs
+
+ * bus/config-parser.c (struct BusConfigParser): Add conf_dirs list
+ (merge_included): Also merge conf_dirs list
+ (bus_config_parser_unref): Clear conf_dirs list
+ (include_dir): Add directory to conf_dirs list
+ (bus_config_parser_get_conf_dirs): New function
+
+ * bus/dir-watch.[ch]: New files
+
+ * bus/Makefile.am (BUS_SOURCES): Add dir-watch.[ch]
+
+ * configure.in: Add checks for D_NOTIFY on Linux
+
+2005-06-14 Colin Walters <walters@verbum.org>
+
+ * glib/dbus-binding-tool-glib.c:
+ * glib/dbus-gobject.c:
+ * glib/dbus-gvalue.c: Fix indentation and brace style.
+
+2005-06-14 Ross Burton <ross@openedhand.com>.
+
+ * glib/dbus-glib.h: Make DBusGMethodInvocation
+ a private structure. Rearrange prototypes a bit.
+
+ * glib/dbus-gproxy.c (dbus_g_proxy_invoke): Add
+ documentation for first_arg_type.
+
+ * glib/dbus-gobject.c: Move DBusGMethodInvocation
+ here, add documentation. Move dbus_g_method_return
+ and dbus_g_method_return_error into public API
+ section.
+
+2005-06-14 Colin Walters <walters@verbum.org>
+
+ * glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller):
+ Add missing return statements, noticed by Ross Burton.
+
+2005-06-13 Ross Burton <ross@openedhand.com>.
+
+ * glib/dbus-gobject.c: Handle errors on message
+ demarshalling by sending error message back.
+ * glib/dbus-gvalue.c: Initialize return variables.
+
+2005-06-13 Colin Walters <walters@verbum.org>
+
+ * glib/Makefile.am: Fix thinko in last patch.
+
+2005-06-13 Colin Walters <walters@verbum.org>
+
+ * glib/Makefile.am: Move dbus-gtype-specialized.c
+ and dbus-gtype-specialized.h into a _HEADERS variable,
+ install them.
+
+2005-06-12 Colin Walters <walters@verbum.org>
+
+ Async signals and various bugfixes and testing by
+ Ross Burton <ross@openedhand.com>.
+
+ * glib/dbus-gvalue.h: (struct DBusBasicGValue): Delete.
+ (dbus_gvalue_genmarshal_name_from_type)
+ (dbus_gvalue_ctype_from_type): Moved to dbus-binding-tool-glib.c.
+ (dbus_gtype_to_dbus_type): Renamed to dbus_gtype_from_signature.
+ (dbus_g_value_types_init, dbus_gtype_from_signature)
+ (dbus_gtype_from_signature_iter, dbus_gtype_to_signature)
+ (dbus_gtypes_from_arg_signature): New function prototypes.
+ (dbus_gvalue_demarshal): Take context and error arguments.
+ (dbus_gvalue_demarshal_variant): New function.
+ (dbus_gvalue_demarshal_message): New function.
+ (dbus_gvalue_store): Delete.
+
+ * glib/dbus-gvalue.c:
+
+ File has been almost entirely rewritten; now we special-case
+ more types such as DBUS_TYPE_SIGNATURE, handle arrays and
+ hash tables correctly, etc. Full support for recursive values
+ is not yet complete.
+
+ * glib/dbus-gproxy.c (dbus_g_proxy_class_init): Change last
+ argument of signal to G_TYPE_POINTER since we now pass a
+ structure.
+ (lookup_g_marshaller): Delete in favor of
+ _dbus_gobject_lookup_marshaller.
+ (marshal_dbus_message_to_g_marshaller): Use
+ _dbus_gobject_lookup_marshaller and dbus_gvalue_demarshal_message
+ to handle remote signal callbacks.
+ (dbus_g_proxy_new_from_proxy): New function; creates a new
+ DBusGProxy by copying an existing one.
+ (dbus_g_proxy_get_interface, dbus_g_proxy_set_interface)
+ (dbus_g_proxy_get_path): New functions.
+ (dbus_g_proxy_marshal_args_to_message): New function;
+ factored out of existing code.
+ (DBUS_G_VALUE_ARRAY_COLLECT_ALL): Collect all arguments
+ from a varargs array.
+ (dbus_g_proxy_begin_call_internal): New function.
+ (dbus_g_proxy_end_call_internal): New function.
+ (dbus_g_proxy_begin_call): Take GTypes instead of DBus types
+ as arguments; simply invoke dbus_g_proxy_begin_call_internal
+ after collecting args into value array.
+ (dbus_g_proxy_end_call): Take GTypes instead of DBus types;
+ invoke dbus_g_proxy_end_call_internal.
+ (dbus_g_proxy_invoke): Simply invoke begin_call_interanl and
+ end_call_internal.
+ (dbus_g_proxy_call_no_reply): Take GTypes instead of DBus
+ types.
+ (array_free_all): New function.
+ (dbus_g_proxy_add_signal): Take GTypes.
+
+ * glib/dbus-gobject.h:
+ (_dbus_glib_marshal_dbus_message_to_gvalue_array): Delete.
+ (_dbus_gobject_get_path, _dbus_gobject_lookup_marshaller):
+ Prototype.
+
+ * glib/dbus-gobject.c: Add a global marshal_table hash which
+ stores mappings from type signatures to marshallers. Change lots
+ of invocations of dbus_gtype_to_dbus_type to
+ dbus_gtype_to_signature.
+ (_dbus_glib_marshal_dbus_message_to_gvalue_array): Delete.
+ (introspect_signals): Fix test for query.return_type.
+ (set_object_property): Update invocation of dbus_gvalue_demarshal.
+ (invoke_object_method): Many changes. Handle asynchronous
+ invocations. Convert arguments with
+ dbus_gvalue_demarshal_message. Handle errors. Use
+ DBusSignatureIter instead of strlen on args. Handle all arguments
+ generically. Special-case variants.
+ (dbus_g_method_return, dbus_g_method_return_error): New function.
+ (DBusGSignalClosure): New structure, closes over signal
+ information.
+ (dbus_g_signal_closure_new): New function.
+ (dbus_g_signal_closure_finalize): New function.
+ (signal_emitter_marshaller): New function; is special marshaller
+ which emits signals on bus.
+ (export_signals): New function; introspects object signals and
+ connects to them.
+ (dbus_g_object_type_install_info): Take GType instead of
+ GObjectClass.
+ (dbus_g_connection_register_g_object): Invoke export_signals.
+ (dbus_g_connection_lookup_g_object): New function.
+ (DBusGFuncSignature) New structure; used for mapping type
+ signatures to marshallers.
+ (funcsig_hash): New function; hashes DBusGFuncSignature.
+ (funcsig_equal): New function; compares DBusGFuncSignature.
+ (_dbus_gobject_lookup_marshaller): New function.
+ (dbus_g_object_register_marshaller): New function; used to
+ register a marshaller at runtime for a particular signature.
+
+ * glib/dbus-gmain.c (_dbus_gmain_test): Add various tests.
+
+ * glib/dbus-binding-tool-glib.h: Add DBUS_GLIB_ANNOTATION_ASYNC
+ which notes a server method implementation should be
+ asynchronous.
+
+ * glib/dbus-binding-tool-glib.c
+ (dbus_binding_tool_output_glib_server): Call
+ dbus_g_value_types_init.
+ (write_formal_parameters): Use dbus_gtype_from_signature. Handle
+ variants specially.
+ (dbus_g_type_get_lookup_function): Turn GType into an invocation
+ of a lookup function.
+ (write_args_for_direction): Use dbus_g_type_get_lookup_function.
+ (write_untyped_out_args): New method; write output arguments.
+ (write_formal_declarations_for_direction): Function for
+ writing prototypes.
+ (write_formal_parameters_for_direction): Function for
+ writing implementations.
+ (write_typed_args_for_direction): Function for writing
+ arguments prefixed with GTypes.
+ (write_async_method_client): Write out async version
+ of method.
+
+ * glib/dbus-binding-tool-glib.c: Include dbus-gvalue-utils.h.
+ (dbus_g_type_get_marshal_name): Move mapping from GType
+ to marshal name into here.
+ (dbus_g_type_get_c_name): Move into here.
+ (compute_marshaller): Convert signature to type with
+ dbus_gtype_from_signature, use dbus_g_type_get_marshal_name.
+ (compute_marshaller_name): Ditto.
+ (compute_marshaller): Handle async signal annotations.
+ (gather_marshallers): Return if we don't have a known
+ prefix.
+ (generate_glue): Collect introspection blob here, and
+ write all of the blob at the end. This allows an object
+ with multiple interfaces to work.
+ Mark async methods in introspection blob.
+
+ * glib/Makefile.am (libdbus_glib_1_la_SOURCES): Add
+ dbus-gtype-specialized.c, dbus-gtype-specialized.h,
+ dbus-gvalue-utils.h, dbus-gvalue-utils.c.
+
+ * dbus/dbus-glib.h: Don't include dbus-protocol.h; this
+ avoids people accidentally using DBUS_TYPE_* which should
+ not be necessary anymore.
+ Do include dbus-gtype-specialized.h, which are utilities
+ for GLib container types.
+ Add various #defines for types such as
+ DBUS_TYPE_G_BOOLEAN_ARRAY.
+ (DBusGValueIterator, DBusGValue): Define, not fully used
+ yet.
+ (dbus_g_value_get_g_type): Type for recursive value.
+ (dbus_g_value_open, dbus_g_value_iterator_get_value)
+ (dbus_g_value_iterator_get_values, dbus_g_value_iterator_recurse)
+ (dbus_g_value_free): Prototypes.
+ (dbus_g_object_register_marshaller, dbus_g_proxy_new_from_proxy): Prototype.
+ (dbus_g_proxy_set_interface): Prototype.
+ (dbus_g_proxy_begin_call, dbus_g_proxy_end_call)
+ (dbus_g_proxy_call_no_reply): Take GLib types instead of DBus
+ types.
+ (dbus_g_proxy_get_path, dbus_g_proxy_get_interface):
+ Accessors.
+ (DBusGAsyncData, DBusGMethodInvocation): Structures for
+ doing async invocations.
+ (dbus_g_method_return, dbus_g_method_return_error):
+ Prototypes.
+ * doc/dbus-tutorial.xml: Update GLib section.
+
+ * tools/dbus-viewer.c (load_child_nodes): Update
+ for new invocation type of dbus_g_proxy_end_call.
+ (load_from_service_thread_func): Ditto.
+
+ * tools/print-introspect.c (main): Ditto.
+
+ * tools/dbus-names-model.c (have_names_notify)
+ (names_model_reload, names_model_set_connection)
+ Use GTypes.
+
+ * python/Makefile.am (INCLUDES): Define DBUS_COMPILATION,
+ needed since Python bindings use GLib bindings.
+
+ * test/glib/Makefile.am (INCLUDES): Define DBUS_COMPILATION.
+ Add --prefix argument.
+
+ * tools/Makefile.am: Define DBUS_COMPILATION. Remove
+ unneeded --ignore-unsupported arg.
+
+ * test/glib/test-service-glib.c:
+ * test/glib/test-service-glib.xml:
+ * test/glib/test-dbus-glib.c: Add many more tests.
+
+2005-06-06 David Zeuthen <davidz@redhat.com>
+
+ * doc/TODO: Add item about need to remove deprecated functions.
+
+ * dbus/dbus-connection.h: Add prototype for dbus_connection_disconnect
+
+ * dbus/dbus-connection.c (dbus_connection_disconnect): New function
+ to repair the ABI which was broken with the last commit.
+
+2005-06-02 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-connection.c, dbus/dbus-connection.h
+ (dbus_connection_disconnect): renamed to dbus_connection_close
+ for API symmetry with dbus_connection_open
+ (_dbus_connection_open_internal):
+ s/dbus_connection_disconnect/dbus_connection_close
+
+ * dbus/dbus-bus.c (dbus_bus_get):
+ s/dbus_connection_disconnect/dbus_connection_close
+
+ * bus/connection.c (bus_connections_unref,
+ bus_connections_setup_connection, bus_connections_expire_incomplete):
+ s/dbus_connection_disconnect/dbus_connection_close
+
+ * bus/dispatch.c (bus_dispatch, kill_client_connection,
+ kill_client_connection_unchecked, check_hello_connection):
+ s/dbus_connection_disconnect/dbus_connection_close
+
+ * bus/bus.c (new_connection_callback):
+ s/dbus_connection_disconnect/dbus_connection_close
+
+ * tools/dbus-send.c (main):
+ s/dbus_connection_disconnect/dbus_connection_close
+
+ * test/glib/test-profile.c (no_bus_thread_func, with_bus_thread_func):
+ s/dbus_connection_disconnect/dbus_connection_close
+
+ * test/test-service.c (path_message_func, filter_func):
+ s/dbus_connection_disconnect/dbus_connection_close
+
+ * doc/TODO: remove connection_open/connection_disconnect lacks symmetry item that was just fixed
+
+2005-05-25 Colin Walters <walters@verbum.org>
+
+ * dbus/dbus-protocol.h: Move various bus service #defines such
+ as DBUS_SERVICE_DBUS and DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT to
+ dbus/dbus-shared.h.
+ * dbus/dbus-shared.h: Various defines moved here.
+ * dbus/dbus-marshal-header.c: Include dbus-shared.h.
+
+2005-05-25 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/__init__.py: Python bindings deserve a minor version
+ update. Upped to (0, 40, 2)
+
+2005-05-24 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/decorators.py: add explicitly_pass_message decorator
+ for passing in the dbus message as keyword for edge case signal
+ handling
+
+ * python/matchrules.py (SignalMatchRule.__repr__): fix output
+ to conform with what dbus expects for match rules
+ (SignalMatchRule.execute): add the dbus message as a keyword
+ if the signal handler has requested it
+
+ * python/examples/example/signal-recipient.py: added some more
+ examples on how to hook up to signals
+
+2005-05-23 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/decorators.py: import dbus_bindings
+
+ * python/matchrules.py (SignalMatchRule, SignalMatchTree,
+ SignalMatchNode): new classes that implement wildcard signal
+ callback matching using a tree lookup. Heavily modified from a
+ patch sent by Celso Pinto (fd.o bug #3241)
+
+ * _dbus.py (add_signal_receiver, remove_signal_receiver, _signal_func):
+ use new match classes to handle signals.
+
+2005-05-19 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/dbus_bindings.pyx.in: s/TYPE_PATH/TYPE_OBJECT_PATH
+
+2005-05-18 Havoc Pennington <hp@redhat.com>
+
+ * configure.in: use GLIB_GNU_GETTEXT to get INTLLIBS and require
+ gettext. Not really worth requiring yet perhaps, but any
+ production quality 1.0 would require it so we should go ahead and
+ get things set up. We do have a couple token calls to
+ bindtextdomain in the code already.
+
+2005-05-16 John (J5) Palmieri <johnp@redhat.com>
+
+ * glib/dbus-gmain.c (io_handler_dispatch): fix deadlock
+ when using recursive g_main_loops
+
+ * python/_dbus.py (class Bus): add the ProxyObjectClass
+ alias for ProxyObject to make it easier for the Twisted
+ networking framework to integrate dbus.
+
+ * python/proxies.py (class ProxyObject): add the ProxyMethodClass
+ alias for ProxyMethod to make it easier for the Twisted
+ networking framework to integrate dbus.
+
+2005-05-11 Ross Burton <ross@openedhand.com>
+
+ * glib/dbus-glib-tool.c: Add --prefix argument.
+ * glib/dbus-binding-tool-glib.h: Add prefix argument.
+ * glib/dbus-binding-tool-glib.c (compute_marshaller_name):
+ Add prefix argument.
+ (generate_glue): Pass prefix argument down.
+ (dbus_binding_tool_output_glib_server): Pass prefix to
+ glib-genmarshal.
+
+2005-05-11 Colin Walters <walters@verbum.org>
+
+ * tools/dbus-send.c (append_array): New function.
+ (append_arg): Broken out from main.
+ (main): Add cheesy hack to send arrays and variants.
+ (usage): Update.
+ * tools/dbus-print-message.c (print_iter): Broken out
+ from main.
+
+2005-05-11 Colin Walters <walters@verbum.org>
+
+ * dbus/dbus-signature.c (dbus_signature_iter_get_signature):
+ New function, returns signature string for signature iter.
+ * dbus/dbus-signature.h: Prototype it.
+ * dbus/dbus-message.c (dbus_message_iter_get_signature):
+ New function, returns signature string for message iter.
+ (dbus_message_iter_get_array_len): New function, returns
+ length of array.
+ (dbus_message_iter_get_fixed_array): Fix assertion; this
+ function should be used when the iter is pointing to the
+ contents of an array
+ * dbus/dbus-message.h: Prototypes.
+ * dbus/dbus-marshal-recursive.c (_dbus_type_reader_get_array_length):
+ New function; returns length of an array.
+ * dbus/dbus-marshal-recursive.h: Prototype it.
+
+2005-05-11 Colin Walters <walters@verbum.org>
+
+ * dbus/dbus-sysdeps-util.c <!HAVE_POSIX_GETPWNAM_R>: Fix
+ compilation error.
+
+2005-05-08 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-sysdeps-util.c (_dbus_become_daemon): write the
+ daemon's pid, not the parent's pid, to the file descriptor.
+ Reported by Taj Morton.
+
+2005-05-05 Havoc Pennington <hp@redhat.com>
+
+ * configure.in (LT_*): add notes on how the libtool versioning
+ works to save thinking. Increment soname to indicate protocol
+ breakage (though really the library interface hasn't changed I
+ guess)
+
+ * dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
+ verify the GUID received from server matches what we were
+ expecting, if we had an expectation
+
+ * dbus/dbus-auth.c (send_ok): send GUID along with the OK command
+ (_dbus_auth_get_guid_from_server): new function
+ (send_begin): parse the OK args
+
+ * doc/dbus-specification.xml: add GUID to the auth protocol
+
+2005-05-05 John (J5) Palmieri <johnp@redhat.com>
+
+ * Fix my name in previous changelog ;)
+
+ * python/proxies.py (ProxyObject.__getattr__): add further patch
+ from Anthony Baxter to throw an AttributeError when python
+ __special__ functions are called instead of marshling them over
+ the bus (Bug#1685 comment 3).
+
+2005-05-04 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/Makefile.am: changed to use pyexecdir for the binding
+ shared libraries (Bug#2494)
+
+ * python/exceptions.py: bring exceptions over from the bindings
+ so they can be used in applications (Bug#2036)
+ Make all exceptions derive from DBusException
+
+ * python/_dbus.py, python/proxies.py: implement __repr__ in a couple
+ of classes so that print obj doesn't throw an exception (Bug #1685)
+
+2005-05-03 Ross Burton <ross@openedhand.com>
+
+ * glib/dbus-gobject.c (dbus_g_connection_register_g_object):
+ Return if we get an error during registration. Set up a
+ weak reference on object to unregister if object is destroyed.
+ (unregister_gobject): New function.
+
+2005-05-01 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/dbus_bindings.pyx.in:
+ - added new type classes for hinting to the marashaler what type
+ to send over the wire
+ - added int16 and uint16 marshalers
+ - Fixed a bug in the type constants that caused int32 to go out
+ as uint16 over the wire
+ * python/dbus.py: split up into different files and renamed _dbus.py
+ * python/__init__.py, python/_util.py, python/decorators.py,
+ python/exceptions.py, python/proxies.py, python/services.py,
+ python/types.py: new files split off from dbus.py
+ * python/Makefile.am: Add new files, remove dbus.py and
+ install all python files to <python module dir>/dbus
+ * python/examples/*: Added #!/usr/bin/env python to the top of
+ every example. Patch provided by Tatavarty Kalyan
+
+2005-04-25 John (J5) Palmieri <johnp@redhat.com>
+
+ * NEWS: Update to 0.33
+
+2005-04-25 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/dbus_bindings.pyx.in (send_with_reply_handlers): New send
+ method for doing async calls
+ (_pending_call_notification): New C function for handling pendning call
+ callbacks
+ (set_notify): New method for setting pending call notification
+
+ * python/dbus.py: new version tuple "version" is set at (0, 40, 0)
+ Async capabilities added to remote method calls
+ (Sender): class removed
+ (RemoteService): class removed
+ (ObjectTree): class removed for now
+ (RemoteObject): Renamed to ProxyObject
+ (RemoteMethod): Renamed to ProxyMethod
+ (method): Decorator added for decorating python methods as dbus methods
+ (signal): Decorator added for decorating python methods as signal emitters
+ (ObjectType): Metaclass added for generating introspection data and the
+ method callback vtable
+ (Interface): Wrapper class added to wrap objects in a dbus interface
+ (Object): Uses ObjectType as its metaclass and exports Introspect
+ of the org.freedesktop.DBus.Introspectable interface
+ (ValidationException, UnknownMethodException): new exceptions
+
+ * python/examples/*: Modified to fit with the new bindings
+
+2005-04-23 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-message.c (dbus_message_append_args): fix doc comment,
+ reported by Tony Houghton
+
+ * test/test-service.c (main): test
+ dbus_connection_get_object_path_data()
+
+ * dbus/dbus-object-tree.c (find_handler): be sure we always init
+ the exact_match
+ (_dbus_object_tree_get_user_data_unlocked): new function used by
+ dbus_connection_get_object_path_data()
+ (do_register): add assertion test for get_user_data_unlocked
+ (object_tree_test_iteration): more tests
+
+ * dbus/dbus-connection.c (dbus_connection_get_object_path_data):
+ new function from Dan Reed to let you get the user data from
+ dbus_connection_register_object_path()
+
+2005-04-23 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-marshal-recursive-util.c: Fixed buffer overflow
+ in numerous places that did not account for the NULL terminator
+ (signature_from_seed): changed the manual string copy loop to
+ just use strcpy instead
+ make check should now pass
+
+2005-04-19 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-marshal-header.c (_dbus_header_create): Fix assert
+ so that it allows messages that are not signals to pass in
+ NULL as the interface.
+
+2005-04-18 David Zeuthen <davidz@redhat.com>
+
+ * glib/dbus-gmain.c (io_handler_destroy_source):
+ (timeout_handler_destroy_source, connection_setup_free):
+ Also unref the source to avoid memory leaks.
+
+2005-04-13 David Zeuthen <davidz@redhat.com>
+
+ * bus/config-parser.c (bus_config_parser_new): Bump this to a
+ more reasonable, yet still totally arbitrary, value :-).
+
+2005-04-13 David Zeuthen <davidz@redhat.com>
+
+ * doc/TODO: Added an "important for 1.0" item about selinux
+ allow/deny messages
+
+2005-04-13 David Zeuthen <davidz@redhat.com>
+
+ * bus/selinux.c: Add c-file-style to top of file
+ (log_audit_callback): Don't free the data here anymore
+ (bus_selinux_check): Don't take spid and tpid since appending
+ that to auxdata may OOM.
+ (bus_selinux_allows_acquire_service): Handle OOM and signal back
+ to the caller if we are OOM by taking an error object.
+ (bus_selinux_allows_send): -do-
+
+ * bus/selinux.h: Fix prototypes for bus_selinux_allows_acquire_service
+ and bus_selinux_allows_send
+
+ * bus/bus.c (bus_context_check_security_policy): Pass error and
+ pass on OOM thrown by bus_selinux_allows_send()
+
+ * bus/services.c (bus_registry_acquire_service): Pass error and
+ pass on OOM thrown by bus_selinux_allows_acquire_service()
+
+2005-04-13 Havoc Pennington <hp@redhat.com>
+
+ * glib/dbus-gmain.c (message_queue_dispatch): only dispatch one
+ message at a time to avoid monopolizing the main loop, bug
+ #2953 from Benjamin Otte
+
+2005-04-09 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-string.c (copy): change a memcpy to memmove due to
+ possible overlap, fix from Daniel Reed
+ (fixup_alignment): fix signedness warnings
+ (_dbus_string_append_unichar): ditto
+
+2005-04-09 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-message-util.c (_dbus_message_test): fix signedness warning
+
+ * glib/dbus-glib-tool.c (main): fix warning
+
+ * glib/dbus-binding-tool-glib.c (generate_glue): fix warning
+
+ * dbus/dbus-connection.c (dbus_connection_read_write_dispatch):
+ add a new function that can be used in simple applications that
+ don't have a main loop and are willing to block
+
+2005-04-05 David Zeuthen <davidz@redhat.com>
+
+ Fix https://bugs.freedesktop.org/show_bug.cgi?id=2889
+
+ * glib/dbus-gmain.c:
+ (io_handler_destroy_source): Remove from list of IO handlers
+ of the ConnectionSetup object
+ (timeout_handler_destroy_source): -do- for timeout handlers
+ (io_handler_source_finalized): Don't remove from list since
+ we now do that in io_handler_destroy_source(). Renamed from
+ io_handler_source_destroyed
+ (timeout_handler_source_destroyed): -do- for timeout handlers
+ (connection_setup_free): It is now safe to iterate over all
+ IO and timeout handlers as the _destroy_source removes them
+ from the list synchronously
+
+2005-03-30 Havoc Pennington <hp@redhat.com>
+
+ * configure.in: change check to gtk 2.4
+
+ * tools/dbus-viewer.c (name_combo_changed_callback): remove
+ gtk_combo_box_get_active_text() usage to decrement GTK requirement
+ to 2.4
+
+2005-03-29 John (J5) Palmieri <johnp@redhat.com>
+
+ * News: Update 0.32
+
+ * HACKING: Fixed realease instructions. configure.in should be updated to
+ the next release by the person who made the last release.
+
+2005-03-29 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/lvalue_cast_post_process.py - removed. Patch has been
+ submitted to Pyrex maintainers that fixes gcc4.0 errors
+
+ * python/Makefile.am: removed refrences to lvalue_cast_post_process.py
+
+2005-03-24 Daniel Reed <n@ml.org>
+
+ * tools/Makefile.am: Make print-introspect and
+ dbus-bus-introspect.xml building conditional on HAVE_GLIB.
+
+2005-03-22 John (J5) Palmieri <johnp@redhat.com>
+
+ * tools/Makefile.am: Patch by Colin Walters that fixes distcheck
+
+ * dbus/dbus-userdb.c, dbus/dbus-userdb-util.c: Add patch we have
+ had in Red Hat packages for a while but for some reason never
+ got merged upstream
+ (_dbus_is_a_number): New checks if a string
+ can be converted to a number and does the conversion if it can
+ (_dbus_user_database_lookup): Add check to see if the given username
+ is a udi. This allows udi's to be used instead of usernames in the
+ config file.
+ (_dbus_user_database_lookup_group): Add check to see if the given groupname
+ is a gdi. This allows gdi's to be used instead of groupnames in the
+ config file.
+
+2005-03-21 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/lvalue_cast_post_process.py - added post processor to fix Pyrex
+ code so that it compiles with gcc4.0
+
+ * python/Makefile.am: Added lvalue_cast_post_process.py to EXTRA_DIST
+ run dbus_bindings.c through lvalue_cast_post_process.py and copy the
+ results back to dbus_binding.c
+
+2005-03-20 Colin Walters <walters@verbum.org>
+
+ Patch suggested by Inguva Rajasekhar <ringuva@novell.com>.
+
+ * configure.in: Require GTK+ 2.6.
+
+2005-03-20 Colin Walters <walters@verbum.org>
+
+ * Makefile.am (SUBDIRS, DIST_SUBDIRS): Build tools before test.
+
+2005-03-17 Tom Parker <palfrey@tevp.net>
+
+ * dbus/dbus-userdb.c (_dbus_user_database_lookup): Don't
+ print DBUS_UID_UNSET; instead print passed username. Also
+ be sure to actually use gid looked up in cache.
+
+ * dbus/dbus-userdb-util.c (_dbus_user_database_lookup_group): Ditto
+ for DBUS_GID_UNSET and groupname.
+
+2005-03-17 Colin Walters <walters@verbum.org>
+
+ * bus/print-introspect.c: Move to tools/.
+ * bus/run-with-tmp-session-bus.sh: Ditto.
+
+ * glib/Makefile.am (dbus-glib-bindings.h): Move
+ generation to tools/Makefile.am.
+
+ * test/glib/run-test.sh: Update to handle move
+ of run-with-tmp-session-bus.sh.
+
+ * test/glib/test-service-glib.c: Update to handle
+ move of dbus-glib-bindings.h.
+
+ * tools/print-introspect.c: Moved here
+ from bus/, and ported to GLib bindings.
+
+ * tools/run-with-tmp-session-bus.sh: Moved here
+ from bus/.
+
+ * tools/Makefile.am: Generate dbus-glib-bindings.h
+ and dbus-bus-introspect.xml here.
+
+ * tools/.cvsignore, glib/.cvsignore, bus/.cvsignore:
+ Update.
+
+2005-03-17 Colin Walters <walters@verbum.org>
+
+ * bus/driver.c (write_args_for_direction): Use
+ _dbus_string_get_const_data to retrieve string;
+ _dbus_string_get_const_data_len doesn't actually return
+ a NULL-terminated substring.
+
+ * test/glib/test-service-glib.c: Include dbus-glib-bindings.h.
+ (main): Change to use org_freedesktop_DBus_request_name
+ instead of using g_proxy_begin_call/end_call.
+
+2005-03-15 Joe Shaw <joeshaw@novell.com>
+
+ * mono/ProxyBuilder.cs (BuildFinalizer): Fix some invalid IL when
+ generating the finalizer. Fixes from Ben Maurer.
+
+2005-03-12 Joe Shaw <joeshaw@novell.com>
+
+ * mono/BusDriver.cs: Update method names: ListServices
+ becomes ListNames; GetOwner becomes GetNameOwner.
+
+ * mono/ProxyBuilder.cs (BuildFinalizer): Need to load arg 0
+ onto the eval stack when removing the delegate.
+
+2005-03-12 Joe Shaw <joeshaw@novell.com>
+
+ * mono/dbus-sharp.dll.config.in: Don't hardcode 0 for
+ LT_CURRENT. Set it to the autoconf variable.
+
+ * mono/ProxyBuilder.cs: Add a finalizer to the generated proxy
+ classes that disconnects the signal handler delegate from the
+ service object. Fixes a big leak of proxy objects on the
+ client side of things. Patch from Ben Maurer
+ <bmaurer@ximian.com>
+
+2005-03-12 Colin Walters <walters@verbum.org>
+
+ * bus/driver.c (write_args_for_direction): New function,
+ parses a type signature into arguments and outputs to
+ XML.
+ (bus_driver_handle_introspect): Use it instead of
+ hardcoding XML for certain signatures.
+
+ * bus/Makefile.am (dbus-bus-introspect.xml): Add
+ dependency on dbus-daemon.
+
+ * glib/dbus-glib-tool.c (main): Parse ignore_unsupported
+ argument, pass it to dbus_binding_tool_output_glib_client.
+
+ * glib/dbus-binding-tool-glib.c
+ (generate_client_glue): Protect against multiple inclusion.
+ (dbus_binding_tool_output_glib_client): Add
+ G_BEGIN_DECLS/G_END_DECLS.
+
+ * glib/dbus-binding-tool-glib.c (compute_client_method_name):
+ Change to just take iface prefix directly.
+ (write_formal_parameters): Clarify error message.
+ (check_supported_parameters): New function; checks to see type
+ signatures of method parameters are supported.
+ (generate_client_glue): Handle ignore_unsupported flag.
+ (dbus_binding_tool_output_glib_client): Handle ignore_unsupported
+ parameter.
+
+ * glib/Makefile.am (dbus-glib-bindings.h): Pass
+ --ignore-unsupported by default until glib bindings
+ support arrays.
+
+2005-03-11 Colin Walters <walters@verbum.org>
+
+ * glib/Makefile.am: Generate dbus-glib-bindings.h and
+ install it.
+
+ * bus/print-introspect.c: New file; prints introspection
+ data for a given name and object path.
+
+ * bus/run-with-tmp-session-bus.sh: New file, refactored
+ from test/glib/run-test.sh. Creates a temporary session
+ bus and runs another program.
+
+ * test/glib/run-test.sh: Refactor to invoke
+ run-with-tmp-session-bus.sh.
+
+ * bus/driver.c (bus_driver_handle_introspect): Fix to print new
+ introspection format. Also change to use DBUS_TYPE_x_AS_STRING
+ macros instead of hardcoding.
+
+ * glib/.cvsignore, bus/.cvsignore, test/glib/.cvsignore: Update.
+
+2005-03-11 Joe Shaw <joeshaw@novell.com>
+
+ * dbus/dbus-connection.c (dbus_connection_send_with_reply): Remove
+ this unref; it doesn't match up evenly in some codepaths.
+ (_dbus_connection_block_pending_call): Unref at every exitpoint;
+ this evenly matches with the ref near the top of this function.
+
+2005-03-09 Joe Shaw <joeshaw@novell.com>
+
+ * dbus/dbus-object-tree.c
+ (_dbus_object_tree_unregister_and_unlock): If checks are enabled
+ and we try to unregister a path that's not registered, still go
+ through the process of unlocking and don't just return.
+
+2005-03-09 Colin Walters <walters@verbum.org>
+
+ * glib/dbus-gproxy.c (dbus_g_proxy_invoke): New method; calls
+ to this are generated for client-side wrappers. Invokes a
+ D-BUS method and returns reply values.
+
+ * glib/dbus-binding-tool-glib.c (write_args_sig_for_direction): New
+ function; writes signature string for argument direction.
+ (write_args_for_direction): Change to pass input values directly
+ instead of via address, and fix indentation.
+ (generate_client_glue): Change to invoke dbus_g_proxy_invoke. Also
+ make generated wrappers inlineable.
+
+ * dbus/dbus-message.c (dbus_message_iter_get_fixed_array): Add
+ note about using dbus_type_is_fixed.
+
+ * dbus/dbus-marshal-basic.c (_dbus_type_is_fixed): Moved to
+ dbus/dbus-signature.c as dbus_type_is_fixed.
+
+ All callers updated.
+
+ * dbus/dbus-signature.c (dbus_type_is_fixed): Moved here
+ from dbus/dbus-marshal-basic.c:_dbus_type_is_fixed.
+
+ * dbus/dbus-signature.h: Prototype.
+
+ * glib/dbus-binding-tool-glib.c (compute_marshaller_name): Fix
+ error printf code.
+
+ * test/glib/test-dbus-glib.c (main): Be sure to clear error as
+ appropriate instead of just freeing it.
+ (main): Free returned strings using g_free.
+
+ * test/glib/Makefile.am (test-service-glib-glue.h)
+ (test-service-glib-bindings.h): Add dependency on dbus-binding-tool.
+
+ * glib/dbus-gvalue.c (MAP_BASIC): Refactored from MAP_BASIC_INIT;
+ simply maps a simple D-BUS type to GType.
+ (dbus_dbus_type_to_gtype): Function which maps D-BUS type to
+ GType.
+ (dbus_gvalue_init): Just invoke dbus_dbus_type_to_gtype and
+ initialize the value with it.
+ (dbus_gvalue_binding_type_from_type): Unused, delete.
+ (dbus_gvalue_demarshal): Switch to hardcoding demarshalling for
+ various types instead of unmarshalling to value data directly.
+ Remove can_convert boolean.
+ (dbus_gvalue_marshal): Remove duplicate initialization; switch to
+ returning directly instead of using can_convert boolean.
+ (dbus_gvalue_store): New function; not related to D-BUS per-se.
+ Stores a GValue in a pointer to a value of its corresponding C
+ type.
+
+ * glib/dbus-gvalue.h: Remove dbus_gvalue_binding_type_from_type,
+ add dbus_gvalue_store.
+
+2005-03-08 Joe Shaw <joeshaw@novell.com>
+
+ Fix a bunch of lifecycle and memory management problems
+ in the mono bindings.
+
+ * mono/Arguments.cs (Arguments): Implement IDisposable
+
+ * mono/Bus.cs (Bus): Don't allow public instantiation. This is
+ strictly a static class.
+
+ * mono/Connection.cs: Move the DBusObjectPathVTable and associated
+ delegates into this file.
+ (Connection): Implement IDisposable.
+ (Dispose): Disconnect the connection and set the raw connection
+ pointer to IntPtr.Zero.
+ (~Connection): Call Dispose().
+ (RegisterObjectPath): Added. Manages the registration of object
+ paths so we can cleanly disconnect them at dispose/finalize time.
+ (UnregisterObjectPath): Ditto.
+ (set_RawConnection): Unregister all of the object paths when
+ changing the underlying DBusConnection. Add them back onto the
+ new connection, if any.
+
+ * mono/Handler.cs: Don't implement IDisposable; it doesn't use any
+ more unmanaged resources anymore, so it's not necessary. Move all
+ the DBusObjectPathVTable stuff out of here.
+ (Handler): Save references to our delegates so that they don't get
+ finalized. Call Connection.RegisterObjectPath() instead of
+ dbus_connection_register_object_path() directly.
+ (Message_Called): Dispose the message after we're finished with
+ it.
+
+ * mono/Message.cs (Message): Implement IDisposable.
+ (Dispose): Dispose the Arguments, and set the RawMessage to
+ IntPtr.Zero.
+ (SendWithReplyAndBlock): We own the ref to the reply that comes
+ back from dbus_connection_send_with_reply_and_block() so add a
+ comment about that and unref it after we've constructed a managed
+ MethodReturn class around it. Fixes a big, big leak.
+
+ * mono/ProxyBuilder.cs: Reflect into Message to get the Dispose
+ method.
+ (BuildSignalHandler): After we've sent the Signal message, dispose
+ of it.
+ (BuildMethod): Dispose of the method call and reply messages after
+ we've sent the message and extracted the data we want from the
+ reply.
+
+ * mono/Service.cs (UnregisterObject): Don't call handler.Dispose()
+ anymore.
+ (Service_FilterCalled): Dispose of the message after we're
+ finished with it.
+
+2005-03-08 Joe Shaw <joeshaw@novell.com>
+
+ * dbus/dbus-connection.c (dbus_connection_send_with_reply):
+ After we attach our pending call to the connection, unref
+ it. Fixes a leak.
+
+ * mono/Connection.cs (set_RawConnection): Disconnect our
+ filter and match callbacks from the old connection and
+ reconnect them to the new connection, if any.
+
+ * mono/DBusType/Array.cs: "Code" is a static member, so
+ don't use "this" to refer to it. Fix for stricter checking
+ in Mono 1.1.4.
+
+ * mono/DBusType/ObjectPath.cs (Append): Don't leak the
+ object path that we pass into unmanaged code.
+
+ * mono/DBusType/String.cs (Append): Don't leak the string
+ that we pass into unmanged code.
+
+2005-03-07 John (J5) Palmieri <johnp@redhat.com>
+ * NEWS: Update for 0.31
+
+ * configure.in: Release 0.31
+ add LT_CURRENT, LT_REVISION, LT_AGE for easy soname bumping
+
+ * qt/Makefile.am: fixed build
+
+ * dbus/Makefile.am: soname bump for libdbus
+
+ * glib/Makefile.am: soname bump for libdbus-glib
+
+2005-03-05 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-sysdeps.c:
+ (pseudorandom_generate_random_bytes_buffer): fix to have no return
+ value
+ (_dbus_generate_random_bytes_buffer): fix return value
+
+ * dbus/dbus-sysdeps-util.c: s/GETPWNAME/GETPWNAM/ so configure
+ checks actually work, from Tom Parker <fdo@tevp.net>
+
+2005-03-01 Colin Walters <walters@verbum.org>
+
+ * test/glib/test-dbus-glib.c (lose, lose_gerror): Utility
+ functions copied from dbus-glib-tool.c.
+ (main): Convert lots of error code to use them.
+ Also add some testing for introspection bits.
+
+2005-03-01 Colin Walters <walters@verbum.org>
+
+ * doc/TODO: Remove introspection signature TODO.
+
+2005-02-27 Colin Walters <walters@verbum.org>
+
+ * glib/dbus-gidl.c (property_info_get_type, arg_info_get_type):
+ Change return value to const char * instead of int so we can do
+ full signatures.
+ (struct PropertyInfo, struct ArgInfo): Store char *.
+ (property_info_new, arg_info_new): Update parameters, strdup.
+ (property_info_unref, arg_info_unref): Free.
+
+ * glib/dbus-gidl.h: Update prototypes.
+
+ * glib/dbus-gparser.c (basic_type_from_string): Delete.
+ (validate_signature): New function, just validates signature and
+ sets GError.
+ (parse_property, parse_arg): Invoke validate_signature. Store
+ signature instead of just type code.
+
+ * glib/dbus-gvalue.c (base_type_from_signature): New utility
+ function to return a primary type for a signature, dropping
+ information about types in container types.
+ (dbus_gvalue_genmarshal_name_from_type)
+ (dbus_gvalue_binding_type_from_type)
+ (dbus_gvalue_ctype_from_type): Update to take full signature
+ instead of type code.
+ (dbus_gtype_to_dbus_type): Moved here from glib/dbus-gobject.c.
+
+ * glib/dbus-gvalue.h: Update prototypes for above.
+
+ * glib/dbus-gobject.c (gtype_to_dbus_type): Moved to
+ glib/dbus-gvalue.c as dbus_gtype_to_dbus_type.
+ (introspect_properties, introspect_signals, write_interface):
+ Update to handle signatures, and remove usage of
+ _dbus_gutils_type_to_string.
+ (handle_introspect): Print out type codes instead of e.g. "string"
+ in hardcoded introspection XML; also use x_AS_STRING constants
+ instead of hardcoding in string.
+
+ * glib/dbus-glib-tool.c (pretty_print): Handle signature change
+ to string. Remove usage of _dbus_gutils_type_to_string.
+
+ * glib/dbus-gutils.c (_dbus_gutils_type_to_string): Delete.
+
+ * glib/dbus-gutils.h (_dbus_gutils_type_to_string): Update for
+ deletion.
+
+ * glib/dbus-binding-tool-glib.c (compute_marshaller)
+ (compute_marshaller_name, generate_glue): Handle signature change
+ to string.
+ (write_formal_parameters, write_args_for_direction): Ditto, and
+ remove FIXME.
+
+ * tools/dbus-tree-view.c (type_to_string): Delete.
+ (info_set_func_text): Update to print full signatures.
+
+ * test/glib/test-service-glib.xml: Change types to new
+ introspection format.
+
+2005-02-26 Havoc Pennington <hp@redhat.com>
+
+ * doc/TODO: remove the "guid" item
+
+ * test/glib/test-profile.c (no_bus_thread_func): use open_private
+ (with_bus_thread_func): use open_private
+
+ * dbus/dbus-connection.c (dbus_connection_open_private): new
+ function that works like the old dbus_connection_open()
+ (dbus_connection_open): now returns an existing connection if
+ possible
+
+ * dbus/dbus-server-unix.c (handle_new_client_fd_and_unlock): pass
+ through the GUID to the transport
+
+ * dbus/dbus-server.c (_dbus_server_init_base): keep around the
+ GUID in hex-encoded form.
+
+ * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
+ pass GUID argument in to the transport
+
+ * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): add
+ guid argument
+
+ * dbus/dbus-transport.c (_dbus_transport_init_base): add guid argument
+
+ * dbus/dbus-auth.c (_dbus_auth_server_new): add guid argument
+
+2005-02-25 Havoc Pennington <hp@redhat.com>
+
+ * doc/dbus-specification.xml: document the GUID thing
+
+ * dbus/dbus-server.c (_dbus_server_init_base): initialize a
+ globally unique ID for the server, and put a "guid=hexencoded"
+ field in the address
+
+ * dbus/dbus-bus.c: fix missing #include of dbus-threads-internal.h
+
+ * dbus/dbus-message.c: ditto
+
+ * dbus/dbus-dataslot.c: ditto
+
+ * dbus/dbus-list.c: ditto
+
+ * dbus/dbus-internals.h: wait, just include
+ dbus-threads-internal.h here
+
+ * dbus/dbus-string.c (_dbus_string_copy_to_buffer): move back for
+ use in main library
+
+ * dbus/dbus-sysdeps.c (_dbus_generate_random_bytes_buffer): new function
+
+2005-02-24 Colin Walters <walters@verbum.org>
+
+ * test/glib/Makefile.am (EXTRA_DIST): Add test-service-glib.xml
+
+2005-02-24 John (J5) Palmieir <johnp@redhat.com>
+
+ * glib/Makefile.am: added dbus-gobject.h to sources list
+ so distcheck doesn't fail
+
+2005-02-24 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-server.c, dbus/dbus-server-unix.c: change semantics so
+ you must disconnect before unref, since locking and other things
+ are screwed up otherwise. Fix assorted other locking stuff.
+
+ * dbus/dbus-signature.c (dbus_signature_iter_get_element_type):
+ fix compilation
+
+ * dbus/dbus-threads-internal.h: move the mutex/condvar wrappers
+ into a private header and don't export from the library
+
+ * throughout - call _dbus_thread_stuff vs. dbus_thread_stuff
+
+2005-02-24 Colin Walters <walters@verbum.org>
+
+ * dbus/dbus-signature.c: New file; implements various functions
+ related to type signatures. Includes an interator for parsing,
+ validation functions.
+ (dbus_type_is_basic): Moved here from
+ dbus-marshal-basic.c:_dbus_type_is_basic.
+ (dbus_type_is_container): Moved here from
+ dbus-marshal-basic.c:_dbus_type_is_container.
+
+ All callers of _dbus_type_is_container and _dbus_type_is_basic
+ updated, and include dbus-signature.h.
+
+ * dbus/dbus-signature.h: New file; prototypes for the above.
+
+ * dbus/Makefile.am (DBUS_LIB_SOURCES): Add dbus-signature.c,
+ dbus-signature.h.
+
+ * dbus/dbus-marshal-basic.c (map_type_char_to_type): New utility
+ function factored out of _dbus_first_type_in_signature.
+ (_dbus_first_type_in_signature_c_str): New function; returns first
+ type code for a type signature character.
+
+ * dbus/dbus-marshal-basic.h: Prototype _dbus_first_type_in_signature_c_str,
+ handle function moves.
+
+ * dbus/dbus-marshal-recursive.h: Export _dbus_type_signature_next.
+
+ * dbus/dbus-marshal-recursive.c (_dbus_type_signature_next): New
+ function; skips to next complete type in type signature.
+ Implemented using previous skip_one_complete_type. Now
+ skip_one_complete_type just delegates to
+ _dbus_type_signature_next.
+
+ * dbus/dbus-marshal-basic.c (_dbus_type_is_basic): Moved
+ to dbus-signature.c
+ (_dbus_type_is_container): Ditto.
+
+ * doc/dbus-specification.xml: Update introspection sample to
+ use real type signatures.
+
+ * dbus/dbus-test.h: Prototype signature test.
+
+ * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Run
+ signature tests.
+
+ * dbus/dbus-protocol.h (DBUS_ERROR_INVALID_SIGNATURE): New error.
+
+2005-02-23 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/dbus_bindings.pyx.in (PendingCall::get_reply):
+ s/dbus_pending_call_get_reply/dbus_pending_call_steal_reply
+
+2005-02-21 Colin Walters <walters@verbum.org>
+
+ * dbus/dbus-test-main.c (main): Take optional specific test
+ argument.
+
+ * dbus/dbus-test.c (run_test): New function, runs a test function
+ with no data directory.
+ (run_data_test): Like above, but takes data directory.
+ (dbus_internal_do_not_use_run_tests): Take
+ specific test argument. Replace lots of cut n' paste code
+ with run_test and run_data_test.
+
+ * dbus/dbus-test.h: Update prototype for
+ dbus_internal_do_not_use_run_tests.
+
+2005-02-20 Havoc Pennington <hp@redhat.com>
+
+ Fix bugs reported by Daniel P. Berrange
+
+ * dbus/dbus-server.c (_dbus_server_unref_unlocked): new function
+ (protected_change_watch): new function
+ (_dbus_server_toggle_watch, _dbus_server_remove_watch)
+ (_dbus_server_add_watch): change to work like the
+ dbus-connection.c equivalents; like those, probably kind of
+ busted, but should at least mostly work for now
+ (dbus_server_disconnect): drop the lock if we were already
+ disconnected, patch from Daniel P. Berrange
+
+ * dbus/dbus-server.c (_dbus_server_toggle_timeout)
+ (_dbus_server_remove_timeout, _dbus_server_add_timeout): all the
+ same stuff
+
+ * doc/TODO: todo about unscrewing this mess
+
+2005-02-19 Colin Walters <walters@verbum.org>
+
+ * glib/dbus-binding-tool-glib.c
+ (dbus_binding_tool_output_glib_server): Fix iochannel refcounting.
+
+ * glib/dbus-glib-tool.c: Include dbus-glib-tool.h, as well
+ as errno.h and sys/stat.h.
+ (lose): New function, prints error with
+ newline and exits.
+ (lose_gerror): Similar, but takes GError for message.
+ (main): Add --output argument to specify output file to write to,
+ instead of always printing to stdout. In this mode, determine
+ timestamps on source files to see whether any are newer than the
+ target file. If not, exit. Also convert a number of error
+ messages to use lose (since it's shorter), and switch to using
+ g_io_channel_shutdown.
+
+2005-02-19 Havoc Pennington <hp@redhat.com>
+
+ * glib/dbus-gobject.c
+ (_dbus_glib_marshal_dbus_message_to_gvalue_array): add docs
+
+ * glib/dbus-glib.c: fix doxygen warnings
+
+ * glib/dbus-gparser.c (parse_annotation): error if an annotation
+ is found on an <arg>
+
+2005-02-17 Colin Walters <walters@verbum.org>
+
+ * glib/dbus-gobject.h: Don't export
+ _dbus_glib_marshal_dbus_message_to_gvalue_array.
+
+ * glib/dbus-gobject.c (_dbus_glib_marshal_dbus_message_to_gvalue_array): Do rename.
+ (invoke_object_method): Handle it.
+
+ * glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller):
+ Handle rename.
+
+2005-02-17 Colin Walters <walters@verbum.org>
+
+ * bus/.cvsignore, doc/.cvsignore
+ * test/data/valid-service-files/.cvsignore, test/glib/.cvsignore:
+ Update.
+
+2005-02-17 Colin Walters <walters@verbum.org>
+
+ * dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_DBUS):
+ Rename to DBUS_SERVICE_DBUS.
+ (DBUS_PATH_ORG_FREEDESKTOP_DBUS): Rename to DBUS_PATH_DBUS.
+ (DBUS_PATH_ORG_FREEDESKTOP_LOCAL): Rename to DBUS_PATH_LOCAL.
+ Change the value from "org.freedesktop.Local"
+ to "org.freedesktop.DBus.Local".
+ (DBUS_INTERFACE_ORG_FREEDESKTOP_DBUS): Rename to DBUS_INTERFACE_DBUS.
+ (DBUS_INTERFACE_ORG_FREEDESKTOP_INTROSPECTABLE): Rename to
+ DBUS_INTERFACE_INTROSPECTABLE.
+ Change the value from "org.freedesktop.Introspectable"
+ to "org.freedesktop.DBus.Introspectable".
+ (DBUS_INTERFACE_ORG_FREEDESKTOP_PROPERTIES): Rename to
+ DBUS_INTERFACE_PROPERTIES.
+ Change the value from "org.freedesktop.Properties"
+ to "org.freedesktop.DBus.Properties".
+ (DBUS_INTERFACE_ORG_FREEDESKTOP_PEER): Rename to
+ DBUS_INTERFACE_PEER.
+ Change the value from "org.freedesktop.Peer"
+ to "org.freedesktop.DBus.Peer".
+ (DBUS_INTERFACE_ORG_FREEDESKTOP_LOCAL):
+ DBUS_INTERFACE_LOCAL.
+ Change the value from "org.freedesktop.Local"
+ to "org.freedesktop.DBus.Local".
+
+ All other users of those constants have been changed.
+
+ * bus/driver.c (bus_driver_handle_introspect): Use constants.
+
+ * glib/dbus-gobject.c (handle_introspect): Use constants.
+
+ * doc/dbus-faq.xml, doc/dbus-specification.xml: Update for rename.
+
+2005-02-17 Colin Walters <walters@verbum.org>
+
+ * glib/dbus-gparser.c (struct Parser): Add in_annotation boolean.
+ (parse_node, parse_interface, parse_method, parse_signal)
+ (parse_property, parse_annotation): Lose if we're currently in an
+ annotation.
+ (parse_annotation): New function.
+ (parser_start_element, parser_end_element): Handle annotation.
+ (parse_method, parse_interface): Remove support for c_name attribute,
+ switch to annotations.
+
+ * glib/dbus-gidl.h (interface_info_get_binding_names)
+ (method_info_get_binding_names)
+ (interface_info_get_binding_name, method_info_get_binding_name)
+ (interface_info_set_binding_name, method_info_set_binding_name):
+ Remove.
+ (interface_info_get_annotations, method_info_get_annotations)
+ (interface_info_get_annotation, method_info_get_annotation)
+ (interface_info_add_annotation, method_info_add_annotation):
+ Prototype.
+
+ * glib/dbus-gidl.c (struct InterfaceInfo): Substitute "annotations"
+ for "bindings".
+ (struct MethodInfo): Ditto.
+ Straightfoward conversion of binding methods into annotation methods
+ as prototyped.
+
+ * glib/dbus-glib-tool.c (pretty_print): Print annotations.
+
+ * glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_C_SYMBOL): Define.
+
+ * glib/dbus-binding-tool-glib.c (gather_marshallers, generate_glue):
+ Use new annotation API.
+
+ * doc/introspect.dtd: Fix a number of DTD syntax errors. Add
+ annotation element.
+
+ * doc/dbus-specification.xml: Discuss introspection annotations,
+ include list of well-known annotations.
+
+ * test/glib/test-service-glib.xml: Make validate against new DTD.
+
+2005-02-17 Colin Walters <walters@verbum.org>
+
+ This patch is based on initial work from
+ Paul Kuliniewicz <kuliniew@purdue.edu>.
+
+ * glib/dbus-gvalue.c (dbus_gvalue_init): New function; move
+ initialization of GValue from dbus type to here.
+ (dbus_gvalue_genmarshal_name_from_type): New function; generates a string
+ for the "glib-genmarshal" program from a DBus type.
+ (dbus_gvalue_binding_type_from_type): New function; turns a DBus type
+ into the C name for it we use in the glib bindings.
+ (dbus_gvalue_ctype_from_type): New function; maps a DBus type into a
+ glib C type (not GValue).
+ (dbus_gvalue_demarshal): invoke dbus_gvalue_init.
+
+ * glib/dbus-gutils.c (_dbus_gutils_wincaps_to_uscore): Moved here
+ from dbus-gobject.c.
+
+ * glib/dbus-gutils.h: Prototype it.
+
+ * glib/dbus-gproxy.c: Include new dbus-gobject.h.
+ (marshal_dbus_message_to_g_marshaller): Use new shared function
+ dbus_glib_marshal_dbus_message_to_gvalue_array.
+
+ * glib/dbus-gparser.c (parse_interface, parse_method): Handle c_name attribute.
+ Will be changed once we have annotations.
+
+ * glib/dbus-gobject.c: Change info_hash_mutex from GStaticMutex to
+ GStaticRWLock. Callers updated.
+ (wincaps_to_uscore): Move to dbus-gutils.c. Callers updated.
+ (string_table_next): New function for iterating over zero-terminated
+ string value array.
+ (string_table_lookup): New function; retrieves specific entry in
+ array.
+ (get_method_data): New function; look up method data in object data chunk.
+ (object_error_domain_prefix_from_object_info)
+ (object_error_code_from_object_info): New functions, but not implemented yet.
+ (method_interface_from_object_info): New function; retrieve interface name.
+ (method_name_from_object_info): New function; retrieve method name.
+ (method_arg_info_from_object_info): New function; retrieve argument data.
+ (arg_iterate): New function; iterates over serialized argument data.
+ (method_dir_signature_from_object_info): New function; returns a
+ GString holding type signature for arguments for just one
+ direction (input or output).
+ (method_input_signature_from_object_info)
+ (method_output_signature_from_object_info): New functions.
+ (dbus_glib_marshal_dbus_message_to_gvalue_array): New shared function;
+ converts dbus message arguments into a GValue array. Used for both
+ signal handling and method invocation.
+ (struct DBusGlibWriteIterfaceData): New utility structure.
+ (write_interface): New function; generate introspection XML for
+ an interface.
+ (introspect_interfaces): New function; gathers all interface->methods,
+ generates introspection XML for them.
+ (handle_introspect): Invoke introspect_interfaces.
+ (get_object_property): Be sure to zero-initalize stack-allocated GValue.
+ (lookup_object_and_method): New function; examines an incoming message
+ and attempts to match it up (via interface, method name, and argument
+ signature) with a known object and method.
+ (gerror_domaincode_to_dbus_error_name): New function; converts a
+ GError domain and code into a DBus error name. Needs GError data
+ added to object introspection to work well.
+ (gerror_to_dbus_error_message): Creates a DBusMessage error return from
+ GError.
+ (invoke_object_method): New function to invoke an object method
+ looked up via lookup_object_and_method. Parses the incoming
+ message, turns it into a GValue array, then invokes the marshaller
+ specified in the DBusGMethodInfo. Creates a new message with
+ either return values or error message as appropriate.
+ (gobject_message_function): Invoke lookup_object_and_method and
+ invoke_object_method.
+
+ * glib/dbus-glib-tool.c: Include dbus-binding-tool-glib.h.
+ (enum DBusBindingOutputMode): New enum for binding output modes.
+ (pretty_print): Print binding names.
+ (dbus_binding_tool_error_quark): GError bits.
+ (version): Fix typo.
+ (main): Create GIOChannel for output. Parse new --mode argument,
+ possible values are "pretty-print", "glib-server", "glib-client".
+ Use mode to invoke appropriate function.
+
+ * glib/dbus-gobject.h: Prototype dbus_glib_marshal_dbus_message_to_gvalue_array.
+
+ * glib/dbus-glib-tool.h: New header, just includes GError bits
+ for now.
+
+ * glib/dbus-gidl.c (struct InterfaceInfo): Add bindings hashtable;
+ maps binding style to name.
+ (struct MethodInfo): Ditto.
+ (get_hash_keys, get_hash_key): Utility function, returns keys for
+ a GHashTable.
+ (interface_info_new, method_info_new): Initialize bindings.
+ (interface_info_unref, method_info_unref): Destroy bindings.
+ (method_info_get_binding_names, method_info_get_binding_name)
+ (interface_info_get_binding_names, interface_info_get_binding_name):
+ Functions for retrieving binding names.
+ (method_info_set_binding_name, interface_info_set_binding_name):
+ Functions for setting binding names.
+
+ * glib/dbus-binding-tool-glib.h: New file, has prototypes
+ for glib binding generation.
+
+ * glib/dbus-binding-tool-glib.c: New file, implements server-side
+ and client-side glib glue generation.
+
+ * glib/Makefile.am (dbus_binding_tool_SOURCES): Add
+ dbus-binding-tool-glib.c, dbus-binding-tool-glib.h,
+ dbus-glib-tool.h.
+
+ * dbus/dbus-glib.h (struct DBusGMethodMarshaller): Remove in favor
+ of using GClosureMarshal directly.
+ (struct DBusGObjectInfo): Add n_infos member.
+
+ * test/glib/test-service-glib.xml: New file; contains introspection data
+ for MyTestObject used in test-service-glib.c.
+
+ * test/glib/test-service-glib.c (enum MyObjectError): New GError enum.
+ (my_object_do_nothing, my_object_increment, my_object_throw_error)
+ (my_object_uppercase, my_object_many_args): New test methods.
+ (main): Use dbus_g_object_class_install_info to include generated object
+ info.
+
+ * test/glib/Makefile.am: Generate server-side glue for test-service-glib.c,
+ as well as client-side bindings.
+
+ * test/glib/test-dbus-glib.c: Include test-service-glib-bindings.h.
+ (main): Activate TestSuiteGLibService; test invoke a bunch of its methods
+ using both the dbus_gproxy stuff directly as well as the generated bindings.
+
+2005-02-15 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-connection.c (dbus_connection_dispatch): always
+ complete a pending call, don't run filters first.
+
+ * glib/dbus-gproxy.c (dbus_g_proxy_end_call): change to use
+ dbus_pending_call_steal_reply
+
+ * dbus/dbus-pending-call.c (dbus_pending_call_block): just call
+ _dbus_connection_block_pending_call
+ (dbus_pending_call_get_reply): change to steal_reply and return a
+ ref
+
+ * dbus/dbus-connection.c
+ (dbus_connection_send_with_reply_and_block): port to work in terms
+ of DBusPendingCall
+ (_dbus_connection_block_pending_call): replace block_for_reply
+ with this
+
+2005-02-14 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-userdb-util.c (_dbus_user_database_lookup_group):
+ properly handle looking up group information by name; fix
+ from j@bootlab.org
+
+2005-02-13 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-connection.c (dbus_connection_return_message)
+ (dbus_connection_borrow_message): hold dispatch lock while message
+ is outstanding
+ (_dbus_connection_block_for_reply): hold dispatch lock while we
+ block for the reply, so nobody steals our reply
+ (dbus_connection_pop_message): hold the dispatch lock while we
+ pluck the message
+
+2005-02-13 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-connection.c (_dbus_connection_acquire_dispatch)
+ (_dbus_connection_release_dispatch)
+ (_dbus_connection_acquire_io_path)
+ (_dbus_connection_release_io_path): make the mutex and condvar
+ control access to the "acquired" flag. Drop the connection lock
+ while waiting on the condvar. Hopefully these are baby steps in
+ roughly the right direction.
+
+2005-02-13 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-connection.c: use separate mutexes for the condition
+ variables; this is some kind of baseline for sanity, but the
+ condition variables still aren't used correctly afaict
+
+2005-02-13 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-object-tree.c (handle_default_introspect_and_unlock):
+ fix a double-unlock
+
+ * dbus/dbus-connection.c
+ (_dbus_connection_detach_pending_call_unlocked): add this
+
+ Initial semi-correct pass through to fix thread locking; there are
+ still some issues with the condition variable paths I'm pretty
+ sure
+
+ * dbus/dbus-server.c: add a mutex on DBusServer and appropriate
+ lock/unlock calls
+
+ * dbus/dbus-connection.c (_dbus_connection_do_iteration_unlocked):
+ rename to add _unlocked
+ (struct DBusConnection): move "dispatch_acquired" and
+ "io_path_acquired" to use only one bit each.
+ (CONNECTION_LOCK, CONNECTION_UNLOCK): add checks with !DBUS_DISABLE_CHECKS
+ (dbus_connection_set_watch_functions): hacky fix to reentrancy
+ (_dbus_connection_add_watch, _dbus_connection_remove_watch)
+ (_dbus_connection_toggle_watch, _dbus_connection_add_timeout)
+ (_dbus_connection_remove_timeout)
+ (_dbus_connection_toggle_timeout): drop lock when calling out to
+ user functions; done in a hacky/bad way.
+ (_dbus_connection_send_and_unlock): add a missing unlock
+ (_dbus_connection_block_for_reply): add a missing unlock
+
+ * dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
+ drop lock in a hacky probably unsafe way to call out to user
+ function
+
+2005-02-12 Havoc Pennington <hp@redhat.com>
+
+ * tools/dbus-tree-view.c (info_set_func_text): display more
+ details on args
+
+ * bus/driver.c (bus_driver_handle_list_services): list the bus
+ driver
+
+ * glib/dbus-gparser.c (parse_arg): generate an arg name if none is supplied
+
+ * glib/dbus-gidl.c (signal_info_get_n_args): new function
+ (method_info_get_n_args): new function
+
+2005-02-12 Havoc Pennington <hp@redhat.com>
+
+ * bus/driver.c (bus_driver_handle_introspect): add introspection
+ for bus driver
+
+2005-02-12 Havoc Pennington <hp@redhat.com>
+
+ * bus/driver.c: put the signature of each bus driver method in the
+ table of handlers and check it on incoming calls; this isn't
+ really useful, but going to add introspect support in a minute.
+
+2005-02-11 Joe Shaw <joeshaw@novell.com>
+
+ * mono/Connection.cs: The unpredictability of finalizers in mono
+ prevents us from deterministically disconnecting the filters from
+ the Service class's finalizer, so move tracking of filters and
+ matches here. Add API for that.
+
+ * mono/Service.cs: Remove the code, add code which calls the
+ methods now on the Connection class.
+
+2005-02-11 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/dbus.py (class Sender): added to support dbus signals better
+ (Bus::add_signal_receiver): added expand_args parameter which defaults
+ to True. When expand args is True the signal handler will pass the
+ message arguments as parameters to the signal handler. If False
+ revert to previous behavior where the signal handler must get the
+ argument list from the message. This is to help port applications
+ like HAL that have a tendancy to send variable length argument lists.
+ self._match_rule_to_receivers is now a dict of dicts.
+ (Bus::remove_signal_receiver): pop handler off the dict intead of
+ removing it from a list
+ (Bus::_signal_func): change signal handlers so that interface,
+ signal_name, service, path and message are packed into a Sender
+ object and that is passed to the handler. If expand_args is True
+ extract the args list from the message and append it to the parameter
+ list
+
+ * python/dbus_bindings.pyx.in (class Signature): added to support
+ signiature types
+ (MessageIter::__init__): changed iteration limit to match D-BUS
+ (MessageIter::get*): added INT16, UINT16, SIGNATURE, DICT_ENTRY,
+ STRUCT and VARIENT type support
+ (MessageIter::python_value_to_dbus_sig): made recursive to support
+ recursive types
+ (MessageIter::append*): added Signature, dict, tuple
+ support
+
+ * python/examples/example-client.py: added examples of getting tuples
+ and dicts
+
+ * python/examples/example-service.py: added examples of sending tuples
+ and dicts
+
+ * python/examples/example-signal-recipient.py: Fixed to handle new
+ signal callback format
+
+2005-02-10 Havoc Pennington <hp@redhat.com>
+
+ * test/glib/test-dbus-glib.c (main): fix so this test doesn't fail
+ (call dbus_g_proxy_add_signal)
+
+ * dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
+ escape the hostname
+ (_dbus_server_new_for_domain_socket): escape the path
+
+ * dbus/dbus-address.c (dbus_address_escape_value): new
+ (dbus_address_unescape_value): new
+ (dbus_parse_address): unescape values
+
+ * dbus/dbus-string.c (_dbus_string_append_byte_as_hex): new function
+
+ * doc/dbus-specification.xml: explain how to escape values in
+ addresses
+
+2005-02-10 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-message-factory.c (generate_special): modify test to
+ avoid using a non-basic dict key
+
+ * dbus/dbus-marshal-validate-util.c: add test for the below
+
+ * doc/dbus-specification.xml: require that dict keys are a basic
+ type
+
+ * dbus/dbus-marshal-validate.c
+ (_dbus_validate_signature_with_reason): require that dict key is a
+ basic type
+
+2005-02-10 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-object-tree.c (handle_default_introspect_and_unlock):
+ change to be _and_unlock instead of _unlocked
+
+ * dbus/dbus-connection.c
+ (_dbus_connection_send_preallocated_unlocked_no_update): rename to
+ have no_update so we can find this bug quickly in future
+
+2005-02-10 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-message-util.c (verify_test_message): tests for string
+ array
+
+ * dbus/dbus-message.c (dbus_message_append_args_valist): add
+ support for arrays of string/signature/path
+
+2005-02-10 Joe Shaw <joeshaw@novell.com>
+
+ * dbus/dbus-connection.c
+ (_dbus_connection_queue_received_message_link,
+ _dbus_connection_message_sent): Add the path to
+ the verbose output.
+ (_dbus_connection_send_preallocated_and_unlock): Added. Calls
+ _dbus_connection_send_preallocated_unlocked(), updated the
+ dispatch status, and unlocks. Fixes a bug where certain
+ situations (like a broken pipe) could cause a Disconnect message
+ to not be sent, tricking the bus into thinking a service was still
+ there when the process had quit.
+ (_dbus_connection_send_preallocated): Call
+ _dbus_connection_send_preallocated_and_unlock().
+ (_dbus_connection_send_and_unlock): Added. Calls
+ _dbus_connection_send_preallocated_and_unlock().
+ (dbus_connection_send): Call _dbus_connection_send_and_unlock().
+ (dbus_connection_send_with_reply): Update the dispatch status and
+ unlock.
+
+ * mono/Service.cs (~Service): Added. Removes the filter so that
+ we don't get unmanaged code calling back into a GCed delegate.
+ (RemoveFilter); Added.
+
+2005-02-09 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-message.c (dbus_message_iter_open_container):
+ - Removed check for iterator type being an array because
+ get_arg_type does not work with writer iterators
+ - Pass NULL to _dbus_type_writer_recurse if signiture is NULL
+
+2005-02-07 Havoc Pennington <hp@redhat.com>
+
+ * doc/dbus-specification.xml: some more language cleanups; add
+ stuff about how to deal with invalid protocol and extension
+ points; add _ to allowed chars in auth commands; add EXTENSION_
+ auth command prefix
+
+2005-02-06 Havoc Pennington <hp@redhat.com>
+
+ * s/expected/required/ in a couple places for clarity
+
+2005-02-07 Colin Walters <walters@verbum.org>
+
+ * bus/selinux.c (bus_selinux_allows_send): Handle NULL for
+ sender or proposed_recipient.
+
+2005-02-06 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-message-factory.c (generate_special): more tests
+
+ * dbus/dbus-marshal-validate.c (validate_body_helper): detect
+ array length that exceeds the maximum
+
+2005-02-05 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-message-factory.c (generate_special): more test cases,
+ increasing coverage
+
+ * dbus/dbus-marshal-validate.c (validate_body_helper): return the
+ reason why a signature was invalid
+
+ * dbus/dbus-marshal-header.c (load_and_validate_field): fix to
+ skip the length of the string before we look at it in validation
+
+ * dbus/dbus-string-util.c (_dbus_string_test): add tests for
+ equal_substring
+
+ * dbus/dbus-message.c (_dbus_message_loader_new): default
+ max_message_length to DBUS_MAXIMUM_MESSAGE_LENGTH
+
+2005-02-05 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-marshal-validate.c (validate_body_helper): fix crash
+ if the signature of a variant was empty
+ (_dbus_validate_signature_with_reason): catch "(a)" (array inside
+ struct with no element type)
+
+ * dbus/dbus-message-factory.c (generate_uint32_changed): add more
+ mangled messages to break things
+
+2005-02-04 Havoc Pennington <hp@redhat.com>
+
+ * glib/dbus-gproxy.c (dbus_g_proxy_disconnect_signal): use
+ g_quark_try_string() so it actually can return 0
+ (dbus_g_proxy_connect_signal): ditto
+
+2005-02-04 Havoc Pennington <hp@redhat.com>
+
+ * glib/dbus-gproxy.c (dbus_g_proxy_emit_remote_signal): fix a
+ bogus warning
+ (tristring_from_message): assert cleanly on null path/interface
+ (should not be possible though I decided later)
+ (dbus_g_proxy_dispose): move proxy manager unregistration here
+ (DBUS_G_PROXY_DESTROYED): add this macro, and use it in a bunch of
+ g_return_if_fail() checks
+
+2005-02-04 Havoc Pennington <hp@redhat.com>
+
+ * doc/Makefile.am (EXTRA_DIST): add DTDs to makefile
+
+ * doc/introspect.dtd: add introspect.dtd from David A. Wheeler
+ (with some minor changes)
+
+ * doc/dbus-specification.xml: add deprecated attribute to
+ introspection format
+
+2005-01-31 Havoc Pennington <hp@redhat.com>
+
+ * glib/dbus-gproxy.c: rewrite how signals work again, this time I
+ think it's sort of right
+
+2005-01-30 Havoc Pennington <hp@redhat.com>
+
+ * tools/dbus-viewer.c: kind of half-ass hook up the option menu.
+
+2005-01-30 Havoc Pennington <hp@redhat.com>
+
+ * tools/dbus-names-model.c: dynamically watch NameOwnerChanged
+
+ * autogen.sh: change to autotools 1.9
+
+ * glib/dbus-gproxy.c: completely change how signals work
+ (dbus_g_proxy_add_signal): new function to specify signature of a
+ signal
+ (dbus_g_proxy_emit_received): marshal the dbus message to GValues,
+ and g_warning if the incoming message has the wrong signature.
+
+2005-01-30 Havoc Pennington <hp@redhat.com>
+
+ * tools/dbus-names-model.c (have_names_notify): fix this
+
+ * dbus/dbus-message.c (_dbus_message_iter_get_args_valist): clean
+ up the string array handling a bit
+
+2005-01-30 Havoc Pennington <hp@redhat.com>
+
+ * glib/dbus-glib.c (dbus_g_pending_call_set_notify): new function
+ (dbus_g_pending_call_cancel): new function
+
+ * dbus/dbus-glib.h: move GType decls for connection/message here;
+ * dbus/dbus-glib.c: move all the g_type and ref/unref stuff in
+ here, just kind of rationalizing how we handle all that
+
+ * tools/dbus-names-model.c: new file for a tree model listing the
+ services on a bus
+
+ * tools/dbus-tree-view.c (model_new): use proper typing on the
+ model rows
+
+2005-01-30 Havoc Pennington <hp@redhat.com>
+
+ * glib/dbus-gmain.c: add a custom GSource back that just checks
+ whether the message queue has anything in it; otherwise, there are
+ cases where we won't see messages in the queue since there was no
+ IO visible to the glib main loop
+
+ * dbus/dbus-connection-internal.h (_DBUS_DEFAULT_TIMEOUT_VALUE):
+ increase default message timeout to 25 seconds
+
+2005-01-30 Havoc Pennington <hp@redhat.com>
+
+ * test/glib/test-profile.c (no_bus_stop_server): remove the
+ warning about the g_warning that I just fixed
+
+ * glib/dbus-gmain.c: rewrite the main loop stuff to avoid the
+ custom source, seems to be a lot easier to understand and work
+ better.
+
+2005-01-30 Havoc Pennington <hp@redhat.com>
+
+ I think this main loop thing is conceptually broken, but here are
+ some band aids. I'll maybe rewrite it in a minute.
+
+ * glib/dbus-gmain.c (add_timeout): timeout stuff doesn't use the
+ custom GSource, so don't pass it in; confusing
+ (gsource_server_finalize, gsource_connection_finalize): add
+ finalize handlers that remove all the watches.
+
+2005-01-30 Havoc Pennington <hp@redhat.com>
+
+ * glib/dbus-gobject.c (introspect_properties): fix the XML
+ generated
+
+ * dbus/dbus-message.c (dbus_message_unref): add an in_cache flag
+ which effectively detects the use of freed messages
+
+ * glib/dbus-gobject.c (handle_introspect): modify and return the
+ reply message instead of the incoming message
+
+ * dbus/dbus-object-tree.c (handle_default_introspect_unlocked):
+ gee, maybe it should SEND THE XML instead of just making a string
+ and freeing it again ;-)
+
+ * tools/dbus-print-message.c (print_message): improve printing of
+ messages
+
+ * configure.in: add debug-glib.service to the output
+
+2005-01-30 Havoc Pennington <hp@redhat.com>
+
+ dbus-viewer introspected and displayed the bus driver
+
+ * dbus/dbus-object-tree.c
+ (object_tree_test_iteration): add tests for a handler registered on "/"
+
+ * dbus/dbus-object-tree.c
+ (_dbus_decompose_path): fix to handle path "/" properly
+ (run_decompose_tests): add tests for path decomposition
+
+ * glib/dbus-gutils.c (_dbus_gutils_split_path): fix to handle "/"
+ properly
+
+ * glib/dbus-gobject.c (handle_introspect): fix quotes
+
+ * test/glib/run-test.sh: support launching the bus, then running
+ dbus-viewer
+
+ * test/glib/test-service-glib.c (main): put in a trivial gobject
+ subclass and register it on the connection
+
+ * bus/driver.c (bus_driver_handle_introspect): implement
+ introspection of the bus driver service
+
+ * dbus/dbus-protocol.h: add #defines for the XML namespace,
+ identifiers, doctype decl
+
+ * bus/driver.c (bus_driver_handle_get_service_owner): handle
+ attempts to get owner of DBUS_SERVICE_ORG_FREEDESKTOP_DBUS by
+ returning the service unchanged.
+ (bus_driver_handle_message): remove old check for reply_serial in
+ method calls, now the message type deals with that
+ (bus_driver_handle_message): handle NULL interface
+
+ * glib/dbus-gproxy.c (dbus_g_proxy_get_bus_name): new function
+
+ * glib/dbus-gloader-expat.c (description_load_from_string): allow
+ -1 for len
+
+ * tools/dbus-viewer.c: add support for introspecting a service on
+ a bus
+
+ * glib/dbus-gproxy.c (dbus_g_pending_call_ref): add
+ (dbus_g_pending_call_unref): add
+
+2005-01-29 Havoc Pennington <hp@redhat.com>
+
+ * tools/dbus-tree-view.c: add support for displaying properties.
+ (run dbus-viewer with an introspect xml file as arg, then resize
+ the window so the tree elements show up, not sure what that is)
+
+ * glib/dbus-gobject.c (handle_introspect): return
+ org.freedesktop.Properties and org.freedesktop.Introspectable
+ interfaces when we are introspected.
+
+ * doc/dbus-specification.xml: allow empty interface name when
+ Get/Set a property
+
+2005-01-29 Havoc Pennington <hp@redhat.com>
+
+ * glib/Makefile.am: rename dbus-glib-tool to dbus-binding-tool;
+ though it uses glib, it could be extended for any binding in
+ principle
+
+ * glib/dbus-gobject.c (gobject_message_function): change to the
+ new way properties work
+
+ * dbus/dbus-protocol.h: add the new interfaces
+
+ * doc/dbus-specification.xml: document the introspection format,
+ Introspectable interface, and add an org.freedesktop.Properties
+ interface.
+
+ * glib/dbus-gparser.c: add support for a <property> element
+
+ * glib/dbus-gidl.c: add PropertyInfo
+
+ * glib/dbus-gobject.c (handle_introspect): put the outermost
+ <node> outside the signal and property descriptions.
+ (introspect_properties): export properties as <property> rather
+ than as method calls
+
+2005-01-28 Havoc Pennington <hp@redhat.com>
+
+ * doc/TODO, doc/dbus-specification.xml: spec and TODO tweaks
+ related to authentication protocol
+
+2005-01-28 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/dbus_bindings.pyx.in: Updated to handle new D-BUS type system
+ - BUS_ACTIVATION -> BUS_STARTER
+ - DBUS_BUS_ACTIVATION -> DBUS_BUS_STARTER
+ - class MessageIter (__init__): Added recursion checking
+ so we throw a nice error instead of just disconnecting from the
+ bus.
+ (get): Added arg_type parameter for recursion.
+ Removed the nil type
+ Added signiture type placeholder (not implemented)
+ Added struct type placeholder (not implemented)
+ Added varient type placeholder (not implemented)
+ Commented out dict type for now
+ (get_element_type): renamed from get_array_type
+ (get_*): changed to use the dbus_message_iter_get_basic API
+ (get_*_array): removed in favor of recursive get_array method
+ (get_array): new recursive method which calls get to marshal
+ the elements of the array
+ (value_to_dbus_sig): New method returns the corrasponding
+ dbus signiture to a python value
+ (append): Comment out dict handling for now
+ Handle lists with the new recursive API
+ Comment out None handling for now
+ (append_nil): removed
+ (append_*): changed to use dbus_message_iter_append_basic API
+ (append_*_array): removed in favor of recursive append_array
+ method
+ (__str__): Make it easier to print out recursive iterators
+ for debugging
+ - class Message (__str__): moved type inspection to the
+ MessageIter class' __str__ method
+ (get_iter): Added an append parameter wich defaults to False
+ If True use the new API's to create an append iterator
+
+ * python/dbus.py: Update to use new bindings API
+ - TYPE_ACTIVATION -> TYPE_STARTER
+ - class Bus (_get_match_rule): GetServiceOwner -> GetNameOwner
+ - class ActivationBus -> class StarterBus
+ - class RemoteObject (__call__): get an append iterator
+ - (_dispatch_dbus_method_call): get an append iterator
+ - class Object (emit_signal): get an append iterator
+
+ * python/examples/: Fixed up the examples to work with the new API
+
+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 &gt;
+
+ * 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
+ has been bouncing for some time. Also add J5.
+
+2004-10-21 Colin Walters <walters@verbum.org>
+
+ * dbus/dbus-transport-unix.c (do_authentication): Return
+ authentication status to callers.
+ (unix_handle_watch): If we completed authentication this round,
+ don't do another read. Instead wait until the next iteration,
+ after we've read any pending data in the auth buffer.
+ (unix_do_iteration): Ditto.
+ (unix_handle_watch): Updated for new do_authentication prototype.
+
+2004-10-18 Colin Walters <walters@verbum.org>
+
+ * bus/selinux.c (bus_selinux_enabled): Handle
+ --disable-selinux case.
+
+2004-10-18 Colin Walters <walters@verbum.org>
+
+ * bus/selinux.h: Add bus_selinux_enabled.
+
+ * bus/selinux.c (bus_selinux_enabled): Implement it.
+
+ * bus/config-parser.c (struct include): Add
+ if_selinux_enabled member.
+ (start_busconfig_child): Parse if_selinux_enabled
+ attribute for include.
+ (bus_config_parser_content): Handle it.
+
+ * bus/session.conf.in, bus/system.conf.in: Add
+ inclusion of context mapping to default config files;
+ conditional on SELinux being enabled.
+
+ * doc/busconfig.dtd: Add to if_selinux_enabled to default DTD.
+
+ * test/data/invalid-config-files/badselinux-1.conf,
+ test/data/invalid-config-files/badselinux-2.conf:
+ Test files for bad syntax.
+
+2004-10-17 Colin Walters <walters@verbum.org>
+
+ * dbus/dbus-memory.c (_dbus_initialize_malloc_debug, check_guards)
+ (dbus_malloc, dbus_malloc0, dbus_realloc): Fix up printf
+ format specifier mismatches.
+
+2004-10-07 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * dbus/dbus-sysdeps.c (_dbus_file_get_contents): fix an incorrect
+ format string.
+
+ * glib/dbus-dbus-gmain.c (dbus_g_bus_get): do not mangle NULL
+ pointer (bug #1540, Leonardo Boiko).
+
+2004-09-28 Jon Trowbridge <trow@ximian.com>
+
+ * mono/BusDriver.cs: Changed BusDriver struct to remove
+ the ServiceCreated and ServiceDeleted events and replace them
+ with the new ServiceOwnerChanged event.
+
+ * mono/example/BusListener.cs: Added a new example program,
+ which listens for and reports any ServiceOwnerChanged events
+ on the bus driver.
+
+ * mono/example/Makefile.am (DESTDIR): Build changes for the
+ new BusListener.cs example.
+
+2004-09-27 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * bus/signals.c (bus_match_rule_parse): validate the components of
+ match rules (bug #1439).
+
+ * dbus/dbus-bus.c (dbus_bus_add_match): add a missing OOM test.
+
+2004-09-24 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * doc/dbus-specification.xml: document ServiceOwnerChanged
+ signal.
+
+ * bus/driver.c, bus/driver.h, bus/services.c: Use
+ ServiceOwnerChanged signal instead of ServiceCreated and
+ ServiceDeleted.
+
+ * bus/dispatch.c: update testcase for the new signal.
+
+2004-09-20 Jon Trowbridge <trow@ximian.com>
+
+ Patch from Nat Friedman <nat@novell.com>
+
+ * mono/Makefile.am: A number of small build fixes to allow "make
+ distcheck" to succeed.
+
+ * mono/example/Makefile.am: "make distcheck" fixes.
+
+ * mono/AssemblyInfo.cs.in: When signing the assembly, look for the
+ key in @srcdir@.
+
+ * test/Makefile.am: "make distcheck" fixes.
+
+2004-09-17 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * dbus/dbus-sysdeps.c (_dbus_user_at_console): fix memleak in OOM.
+
+ * doc/busconfig.dtd: update the DTD for the at_console attribute.
+
+ * bus/driver.c (bus_driver_handle_hello): correctly handle Hello
+ messages after the first one (bug #1389).
+
+ * bus/dispatch.c (check_double_hello_message): add a test case for
+ the double hello message bug.
+ (check_existent_service_activation): fix check of spawning error.
+
+2004-09-16 David Zeuthen <david@fubar.dk>
+
+ * python/dbus_bindings.pyx.in: Add support for int64 and uint64
+
+2004-09-12 David Zeuthen <david@fubar.dk>
+
+ Patch from Kay Sievers <kay.sievers@vrfy.org>
+
+ * bus/bus.c (bus_context_new):
+ * bus/bus.h:
+ * bus/main.c (usage)
+ (main):
+ Add commandline option --nofork to override configuration file
+ setting.
+
+2004-09-09 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * dbus/dbus-*.h: remove the ; after DBUS_(BEGIN|END)_DECLS. Some C
+ compilers don't like it (bug #974).
+
+2004-09-04 Harald Fernengel <harry@kdevelop.org>
+
+ * qt/connection.*: Applied patch by Jérôme Lodewyck
+ <lodewyck@clipper.ens.fr> to integrate an existing
+ connection into the Qt eventloop
+
+2004-08-30 Jon Trowbridge <trow@ximian.com>
+
+ * mono/BusDriver.cs: Added. This is a class for interacting with
+ the org.freedesktop.DBus service.
+
+ * mono/Message.cs: Added a mechanism to expose the message that is
+ currently being dispatched via the static Message.Current
+ property. Added Message.Sender and Message.Destination
+ properties.
+
+ * mono/Handler.cs: Expose the dispatched message via
+ Message.Current when handling method calls.
+
+ * mono/Service.cs: Expose the dispatched message via
+ Message.Current when handling signal emissions.
+
+ * mono/Connection.cs: Bind dbus_bus_get_base_service via the
+ Connection.BaseService property.
+
+2004-08-28 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-userdb.c (_dbus_is_console_user): remove unused variable
+
+ More fixes from Steve Grubb
+
+ * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix fd leak
+ (_dbus_listen_tcp_socket): fix fd leak
+
+ * dbus/dbus-spawn.c (read_pid, read_ints): move the "again:" for
+ EINTR to a bit lower in the code
+
+2004-08-26 Jon Trowbridge <trow@ximian.com>
+
+ * bus/driver.c (bus_driver_handle_service_exists): Respond with
+ TRUE if we are inquiring about the existence of the built-in
+ org.freedesktop.DBus service.
+
+2004-08-25 John Palmieri <johnp@redhat.com>
+ * bus/config-parser.c:
+ (struct PolicyType): Add POLICY_CONSOLE
+ (struct Element.d.policy): s/gid_or_uid/gid_uid_or_at_console
+ (start_busconfig_child): Sets up console element when
+ <policy at_console=""> is encountered in a policy file
+ (append_rule_from_element): Convert console elements to console
+ rules.
+
+ * bus/policy.c:
+ (bus_policy_create_client_policy): Add console rules to the client
+ policy based on if the client is at the console
+ (bus_policy_append_console_rule): New function for adding a
+ console rule to a policy
+ (bus_policy_merge): Handle console rule merging
+
+ * dbus/dbus-sysdeps.h: Added the DBUS_CONSOLE_DIR constant
+ where we check for console user files
+
+ * dbus/dbus-sysdeps.c:
+ (_dbus_file_exists): New function which checks if the given
+ file exists
+ (_dbus_user_at_console): New function which does the system
+ specific process of checking if the user is at the console
+
+ * dbus/dbus-userdb.c:
+ (_dbus_is_console_user): New function converts a UID to user name
+ and then calls the system specific _dbus_user_at_console to
+ see if the user is at the console and therefor a console user
+
+2004-08-25 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * bus/config-parser.c (set_limit):
+ * bus/dbus-daemon-1.1.in:
+ * test/data/valid-config-files/many-rules.conf: set the
+ max_match_rules_per_connection limt from the config file.
+
+ * doc/busconfig.dtd: update the DTD.
+
+ * bus/driver.c: remove some unused variables.
+
+2004-08-24 Mikael Hallendal <micke@imendio.com>
+
+ * dbus/dbus-glib-lowlevel.h: Removed dbus_bus_get_with_g_main since
+ it's been replaced by dbus_g_bus_get
+
+2004-08-23 Colin Walters <walters@redhat.com>
+
+ Updated SELinux support from Matthew Rickard <mjricka@epoch.ncsc.mil>
+
+ * bus/selinux.h: Prototype bus_selinux_get_policy_root.
+
+ * bus/selinux.c: Create a thread for policy reload notification.
+ (bus_selinux_get_policy_root): Implement.
+
+ * bus/config-parser.c (start_busconfig_child)
+ (bus_config_parser_content): Support SELinux-root relative
+ inclusion.
+
+ * configure.in <HAVE_SELINUX>: Add -lpthread.
+
+ * bus/test-main.c (test_pre_hook, test_post_hook): New.
+ (test_post_hook): Move memory checking into here.
+ (test_pre_hook, test_post_hook): Move SELinux checks in
+ here, but conditional on a DBUS_TEST_SELINUX environment
+ variable. Unfortunately we can't run the SELinux checks
+ as a normal user, since they won't have any permissions
+ for /selinux. So this will have to be tested manually
+ for now, until we have virtualization for most of
+ libselinux.
+
+2004-08-23 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-sysdeps.c (_dbus_change_identity): add setgroups() to
+ drop supplementary groups, suggested by Steve Grubb
+
+2004-08-20 Colin Walters <walters@redhat.com>
+
+ * bus/config-parser.c (start_busconfig_child): Remove some unused
+ variables.
+
+ * bus/selinux.c (bus_selinux_id_table_insert): Avoid compiler
+ warning.
+
+2004-08-17 Joe Shaw <joeshaw@novell.com>
+
+ * configure.in: If --enable-mono is passed in, if we can't find
+ mono error out.
+
+ * mono/Makefile.am: Use /gacutil to install assemblies into the
+ GAC and not /root.
+
+2004-08-12 Havoc Pennington <hp@redhat.com>
+
+ * NEWS: update for 0.22
+
+ * configure.in: release 0.22
+
+2004-08-11 Colin Walters <walters@redhat.com>
+
+ * tools/dbus-send.c (main, usage): Add --reply-timeout
+ argument.
+
+2004-08-10 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * bus/bus.c (process_config_first_time_only): get rid of an unused
+ DBusError that was causing a memoy leak (bug #989).
+
+ * dbus/dbus-keyring.c, dbus/dbus-message.c:
+ fix compilation on Solaris/Forte C (bug #974)
+
+ * bus/main.c (main): plug two minuscule memleaks.
+
+2004-08-10 Havoc Pennington <hp@redhat.com>
+
+ * doc/dbus-tutorial.xml: add some more info on GLib bindings
+
+2004-08-09 Havoc Pennington <hp@redhat.com>
+
+ * COPYING: switch to Academic Free License version 2.1 instead of
+ 2.0, to resolve complaints about patent termination clause.
+
+2004-07-31 John (J5) Palmieri <johnp@redhat.com>
+
+ * README: added documentation for the --enable-python
+ configure switch.
+
+2004-07-31 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * bus/config-parser.c (bus_config_parser_new): fix an invalid
+ _unref in the SELinux support.
+
+ * doc/busconfig.dtd: update DTD for SELinux support.
+
+ * bus/config-loader-libxml.c: fix error handler and parser
+ initialisation/cleanup. OOM test now works with libxml2 HEAD.
+
+ * configure.in: remove the warning about libxml2.
+
+ * dbus/dbus-bus.c: silence doxygen warning.
+
+2004-07-31 Colin Walters <walters@redhat.com>
+
+ * configure.in: Move #error in SELinux check to its own line.
+
+2004-07-31 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * dbus/dbus-internals.h (_DBUS_SET_OOM):
+ * bus/utils.h (BUS_SET_OOM): use dbus_error_set_const instead of
+ dbus_error_set.
+
+ * bus/dispatch.c (check_send_exit_to_service): fix the test case,
+ broken by the change in the _SET_OOM macros.
+
+2004-07-31 Colin Walters <walters@redhat.com>
+
+ * bus/selinux.c <HAVE_SELINUX>: Include utils.h to get
+ BUS_SET_OOM.
+
+2004-07-31 Colin Walters <walters@redhat.com>
+
+ * configure.in: Use AC_TRY_COMPILE instead of AC_EGREP_HEADER
+ to correctly detect DBUS__ACQUIRE_SVC. Also add an
+ AC_MSG_CHECKING.
+
+2004-07-24 Havoc Pennington <hp@redhat.com>
+
+ SELinux support from Matthew Rickard <mjricka@epoch.ncsc.mil>
+
+ * bus/selinux.c, bus/selinux.h: new file encapsulating selinux
+ functionality
+
+ * configure.in: add --enable-selinux
+
+ * bus/policy.c (bus_policy_merge): add FIXME to a comment
+
+ * bus/main.c (main): initialize and shut down selinux
+
+ * bus/connection.c: store SELinux ID on each connection, to avoid
+ repeated getting of the string context and converting it into
+ an ID
+
+ * bus/bus.c (bus_context_get_policy): new accessor, though it
+ isn't used
+ (bus_context_check_security_policy): check whether the security
+ context of sender connection can send to the security context of
+ recipient connection
+
+ * bus/config-parser.c: add parsing for <selinux> and <associate>
+
+ * dbus/dbus-transport.c (_dbus_transport_get_unix_fd): to
+ implement dbus_connection_get_unix_fd()
+
+ * dbus/dbus-connection.c (dbus_connection_get_unix_fd): new
+ function, used by the selinux stuff
+
+2004-07-29 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * bus/config-loader-libxml.c: complete the implementation of
+ libxml backend for config file loader. Doesn't work with full OOM
+ test yet.
+
+ * configure.in: change error when selecting libxml into a warning.
+
+ * test/data/invalid-config-files: add two non-well-formed XML
+ files.
+
+ * glib/Makefile.am: libdbus_gtool always uses expat, not libxml.
+
+ * dbus/dbus-transport-unix.c (unix_handle_watch): do not
+ disconnect in case of DBUS_WATCH_HANGUP, several do_reading() may
+ be necessary to read all the buffer. (bug #894)
+
+ * bus/activation.c (bus_activation_activate_service): fix a
+ potential assertion failure (bug #896). Small optimization in the
+ case of auto-activation messages.
+
+ * dbus/dbus-message.c (verify_test_message, _dbus_message_test):
+ add test case for byte-through-vararg bug (#901). patch by Kimmo
+ Hämäläinen.
+
+2004-07-28 Anders Carlsson <andersca@gnome.org>
+
+ * python/dbus.py:
+ * python/dbus_bindings.pyx.in:
+ Add dbus.init_gthreads (), allow emit_signal to pass
+ arguments to the signal.
+
+2004-07-24 Havoc Pennington <hp@redhat.com>
+
+ * AUTHORS: add some people, not really comprehensively, let me
+ know if I missed you
+
+2004-07-24 Havoc Pennington <hp@redhat.com>
+
+ * Makefile.am (DIST_SUBDIRS): add DIST_SUBDIRS, problem solved by
+ Owen
+
+ * test/Makefile.am (DIST_SUBDIRS): here also
+
+2004-07-22 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * dbus/dbus-sysdeps.c (fill_user_info): fix inexistent label name,
+ breaking build on Solaris, reported by Farhad Saberi on the ML.
+
+ * dbus/dbus-message.c (dbus_message_append_args_valist): fix the
+ va_arg invocation to account for integer promotion in the case of
+ DBUS_TYPE_BYTE (unsigned char is promoted to int). (bug #901)
+
+ * bus/services.c (bus_service_remove_owner): fix bug #902, use
+ _dbus_list_get_first_link, not _dbus_list_get_first.
+
+ * dbus/dbus-bus.c (dbus_bus_service_exists): plug a memory leak.
+
+ * dbus/dbus-object-tree.c (free_subtree_recurse): always null
+ handler functions so that the asserts in _dbus_object_subtree_unref
+ do not fail.
+
+ * dbus/dbus-transport-unix.c (do_reading):
+ _dbus_transport_queue_messages return value is of type
+ dbus_bool_t, not DBusDispatchStatus.
+
+2004-07-19 David Zeuthen <david@fubar.dk>
+
+ * dbus/dbus-protocol.h: Add DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN
+
+ * bus/dispatch.c:
+ (check_get_connection_unix_user): Debug says GetProperty; but the
+ method is called GetConnectionUnixUser
+ (check_get_connection_unix_process_id): New function
+ (bus_dispatch_test): Actually call check_get_connection_unix_user();
+ also call check_get_connection_unix_process_id()
+
+ * bus/driver.c:
+ (bus_driver_handle_get_connection_unix_process_id): New function,
+ handles GetConnectionUnixProcessID on the org.freedesktop.DBus
+ interface
+
+ * dbus/dbus-auth.c:
+ (handle_server_data_external_mech): Set pid from the credentials
+ obtained from the socket
+
+ * dbus/dbus-connection.c:
+ (dbus_connection_get_unix_process_id): New function
+
+ * dbus/dbus-connection.h:
+ Add prototype for dbus_connection_get_unix_process_id
+
+ * dbus/dbus-transport.c:
+ (_dbus_transport_get_unix_process_id): New function
+
+ * dbus/dbus-transport.h:
+ Add prototype for _dbus_transport_get_unix_process_id
+
+2004-07-19 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * dbus/dbus-message.c: Message counter fix, patch by Christian
+ Hammond <chipx86@gnupdate.org>
+
+2004-07-18 Seth Nickell <seth@gnome.org>
+
+ * python/dbus.py:
+ * python/dbus_bindings.pyx.in:
+ * python/tests/test-client.py:
+
+ Add dbus.ByteArray and dbus_bindings.ByteArray
+ types so that byte streams can be passed back.
+
+ Give jdahlin the heaps of credit that are so
+ rightfully his.
+
+2004-07-12 Seth Nickell <seth@gnome.org>
+
+ * python/dbus.py:
+
+ Add message argument to the default object_method_handler
+ function.
+
+ * python/dbus_bindings.pyx.in:
+
+ Automatically return NIL when passed an empty list
+ (we can't pass back a list since lists are typed
+ and we don't have any idea what type the the client
+ intended the list to be... :-( )
+
+2004-07-10 Seth Nickell <seth@gnome.org>
+
+ * python/examples/Makefile.am:
+
+ Fix distcheck breakage caused by new examples.
+
+2004-07-10 Seth Nickell <seth@gnome.org>
+
+ * python/dbus.py:
+
+ Add "message" argument to service-side dbus.Object
+ methods. This will break existing services written
+ using the python bindings, but will allow extraction
+ of all the message information (e.g. who its from).
+
+ Add improved "object oriented" signal handling/emission.
+
+ * python/examples/example-service.py:
+
+ Nix this example.
+
+ * python/examples/example-signal-emitter.py:
+ * python/examples/example-signal-recipient.py:
+
+ Two new examples that show how to emit and receive
+ signals using the new APIs.
+
+ * python/examples/example-signals.py:
+ * python/examples/gconf-proxy-service.py:
+ * python/examples/gconf-proxy-service2.py:
+
+ Add "message" argument to service methods.
+
+2004-06-28 Kay Sievers <kay.sievers@vrfy.org>
+
+ * bus/driver.c (bus_driver_handle_get_connection_unix_user)
+ * dbus/bus.c (dbus_bus_get_unix_user)
+ * doc/dbus-specification.xml: implement GetConnectionUnixUser
+ method of org.freedesktop.DBus interface.
+
+ * bus/dispatch.c: test case
+
+2004-06-23 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/Makefile.am: switched include directory from glib/ to dbus/
+ since dbus-glib.h moved
+
+2004-06-22 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * configure.in: prevent building the gcj stuff and libxml loader
+ since they are broken.
+
+2004-06-20 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-glib-error-enum.h: autogenerate the GError enum
+ codes from the dbus error names
+
+ * glib/dbus-glib.h: move to subdir dbus/ since it's included
+ as dbus/dbus-glib.h and that breakage is now visible due to
+ including dbus/dbus-glib.h in dbus-glib-lowlevel.h
+
+ * glib/dbus-glib.h: s/gproxy/g_proxy/
+
+ * dbus/dbus-shared.h: new header to hold stuff shared with
+ binding APIs
+
+ * dbus/dbus-protocol.h (DBUS_ERROR_*): move errors here rather
+ than dbus-errors.h
+
+ * glib/dbus-glib.h (dbus_set_g_error): move to
+ dbus-glib-lowlevel.h
+
+ * glib/dbus-glib.h: remove dbus/dbus.h from here; change a bunch
+ of stuff to enable this
+
+ * dbus/dbus-glib-lowlevel.h: put dbus/dbus.h here
+
+ * a bunch of other changes with the same basic "separate glib
+ bindings from dbus.h" theme
+
+2004-06-10 Owen Fraser-Green <owen@discobabe.net>
+
+ * dbus-sharp.pc.in: Removed glib-sharp inclusion in Libs.
+
+ * python/examples/Makefile.am: Fixed typo in EXTRA_DIST.
+
+2004-06-09 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * bus/driver.c, dbus/dbus-bus.c: use BOOLEAN instead of UINT32 for
+ the reply value of the ServiceExists message.
+
+2004-06-07 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/dbus_bindings.pyx.in: No longer need to parse path
+ elements and pass them as arrays of strings. The C API now
+ accepts plain path strings.
+ (_build_parsed_path): removed
+
+2004-06-07 Havoc Pennington <hp@redhat.com>
+
+ * doc/TODO: remove auto-activation item since it's done; sort
+ items by importance/milestone
+
+2004-06-07 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-message-builder.c (_dbus_message_data_load): append
+ random signature when using REQUIRED_FIELDS (this hack won't work
+ in the long term)
+
+ * dbus/dbus-message.c: change the signature to be a header field,
+ instead of message->signature special-case string. Incremental
+ step forward. Then we can fix up code to send the signature in the
+ message, then fix up code to validate said signature, then fix up
+ code to not put the typecodes inline, etc.
+ (load_one_message): don't make up the signature after the fact
+ (decode_header_data): require signature field for the known
+ message types
+
+ * dbus/dbus-marshal.c (_dbus_marshal_string_len): new
+
+ * dbus/dbus-protocol.h: add DBUS_HEADER_FIELD_SIGNATURE
+
+2004-06-07 Owen Fraser-Green <owen@discobabe.net>
+
+ * mono/DBusType/ObjectPath.cs: Renamed PathName argument to Path
+
+ * mono/Handler.cs: Updated to follow new path argument for
+ (un-)registering objects.
+
+ * mono/example/Makefile.am:
+ * mono/Makefile.am:
+ * configure.in: Bumped required version for mono and use new -pkg
+ syntax for deps
+
+2004-06-05 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * dbus/dbus-connection.h, dbus/dbus-connection.c: have object path
+ registration functions take the path argument as char* instead of
+ char**.
+
+ * dbus/dbus-marshal.h, dbus/dbus-marshal.c (_dbus_decompose_path):
+ split off the path decompostion part of
+ _dbus_demarshal_object_path. Some misc. fixes to silence compiler
+ warnings.
+
+ * glib/dbus-gobject.c, test/test-service.c: update accordingly.
+
+2004-06-02 Kristian Høgsberg <krh@redhat.com>
+
+ * dbus/dbus-auth.c: Rewrite auth protocol handling to use a state
+ machine approach. A state is implemented as a function that
+ handles incoming events as specified for that state.
+
+ * doc/dbus-specification.xml: Update auth protocol state machine
+ specification to match implementation. Remove some leftover
+ base64 examples.
+
+2004-06-02 Kristian Høgsberg <krh@redhat.com>
+
+ * glib/dbus-gproxy.c, glib/dbus-gmain.c, dbus/dbus-string.c,
+ dbus/dbus-object-tree.c, dbus/dbus-message.c: add comments to
+ quiet doxygen.
+
+ * Doxyfile.in: remove deprecated options.
+
+ * dbus/dbus-message-handler.c, dbus/dbus-message-handler.h,
+ glib/test-thread.h, glib/test-thread-client.c,
+ glib/test-thread-server.c, glib/test-profile.c,
+ glib/test-dbus-glib.c: remove these unused files.
+
+2004-06-01 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * dbus/dbus-object-tree.c
+ (_dbus_object_tree_dispatch_and_unlock): fix dispatch for
+ non-fallback handlers (bug #684).
+ (_dbus_object_subtree_new): initialize invoke_as_fallback field.
+ (find_subtree_recurse): report wether the returned subtree is an
+ exact match or a "fallback" match higher up in the tree.
+ (object_tree_test_iteration): update test case.
+
+2004-06-01 Seth Nickell <seth@gnome.org>
+
+ * python/dbus_bindings.pyx.in:
+ * python/tests/test-client.py:
+
+ Round off basic type support. Add dicts (yay!), and
+ remaining array types.
+
+ Make MessageIter more general so it works for dicts too.
+
+ Mark all loop variables as C integers.
+
+2004-05-31 Havoc Pennington <hp@redhat.com>
+
+ * glib/dbus-gidl.c (method_info_add_arg): keep args sorted with
+ "in" before "out"
+
+ * glib/dbus-gobject.c (dbus_type_to_string): move to dbus-gutils.c
+
+ * glib/dbus-glib-tool.c (main): set up to have a --self-test
+ option that runs the tests, and start filling in some code
+ including for starters just dumping the interfaces to stdout
+
+ * glib/Makefile.am (INCLUDES): define DBUS_LOCALEDIR
+
+ * test/data/valid-introspection-files/lots-of-types.xml: test of
+ an example introspection file
+
+ * glib/dbus-gparser.c (parser_check_doctype): doctype should be
+ "node" (I think...)
+
+2004-05-31 Seth Nickell <seth@gnome.org>
+
+ * python/dbus_bindings.pyx.in:
+ * python/tests/test-client.py:
+
+ Test Suite: 1
+ Python Bindings: 0
+
+ Fix string array memory trashing bug... oops...
+
+2004-05-30 Seth Nickell <seth@gnome.org>
+
+ * python/dbus.py:
+
+ Add a nicer-but-less-flexible alternate API for handling
+ calls to virtual objects in dbus.ObjectTree.
+
+ Screw up the argument order to the dbus.Object constructor
+ for consistency with dbus.ObjectTree (and to make dbus_methods
+ optional for future extension)
+
+ * python/examples/Makefile.am:
+ * python/examples/gconf-proxy-service.py:
+ * python/examples/gconf-proxy-service2.py:
+
+ Alternate implementation of gconf-proxy-service using the
+ nicer dbus.ObjectTree API.
+
+ * python/examples/example-service.py:
+ * python/tests/test-server.py
+
+ Reverse the argument order to deal with dbus.Object constructor
+ changes.
+
+2004-05-30 Seth Nickell <seth@gnome.org>
+
+ * python/examples/example-client.py:
+ * python/examples/example-service.py:
+
+ Take it back. Lists seem to work but they're broken
+ in the test suite. Make the base examples use
+ lists (works fine).
+
+2004-05-30 Seth Nickell <seth@gnome.org>
+
+ * python/dbus_bindings.pyx.in:
+ * python/tests/test-client.py:
+
+ Add some more tests and fix errors that crop up.
+ Unfortunately, currently it seems like marshalling
+ and unmarshalling of lists is completely broken :-(
+
+2004-05-30 Seth Nickell <seth@gnome.org>
+
+ * python/dbus_bindings.pyx.in:
+
+ Add support for ObjectPath type.
+
+ * python/dbus.py:
+
+ Refactor message handling code to a common function.
+
+ * python/tests/test-client.py:
+ * python/tests/test-server.py:
+
+ Add tests that check to make sure values of all types
+ can be echoed from a service w/o mangling.
+
+2004-05-29 Seth Nickell <seth@gnome.org>
+
+ * python/dbus.py:
+
+ Add ObjectTree class which allows implementation
+ of trees of "virtual" objects. Basically the python
+ wrapper for "register_fallback".
+
+ * python/examples/Makefile.am
+ * python/examples/gconf-proxy-client.py:
+ * python/examples/gconf-proxy-service.py:
+
+ Implement a simple GConf proxy service that supports
+ get/set on string and int GConf keys using the ObjectTree.
+
+2004-05-29 Seth Nickell <seth@gnome.org>
+
+ * python/dbus.py:
+ * python/examples/example-client.py:
+ * python/examples/example-service.py:
+ * python/examples/list-system-services.py:
+
+ Add SessionBus, SystemBus and ActivationBus classes
+ so you don't need to know the special little BUS_TYPE
+ flag.
+
+2004-05-29 Havoc Pennington <hp@redhat.com>
+
+ * bus/config-parser.c (process_test_valid_subdir): temporarily
+ stop testing config parser OOM handling, since expat has issues
+ http://freedesktop.org/pipermail/dbus/2004-May/001153.html
+
+ * bus/dbus-daemon-1.1.in: change requested_reply to
+ send_requested_reply/receive_requested_reply so we can send the
+ replies, not just receive them.
+
+ * bus/config-parser.c: parse the new
+ send_requested_reply/receive_requested_reply
+
+ * bus/policy.c (bus_client_policy_check_can_send): add
+ requested_reply argument and use it
+
+ * bus/bus.c (bus_context_check_security_policy): pass through
+ requested_reply status to message send check
+
+ * bus/system.conf.in: adapt to requested_reply change
+
+2004-05-28 Havoc Pennington <hp@redhat.com>
+
+ * test/glib/test-service-glib.c (main): remove unused variable
+
+ * glib/dbus-gidl.c (base_info_ref): fix a silly compiler warning
+
+ * dbus/dbus-auth.h (enum): remove AUTHENTICATED_WITH_UNUSED_BYTES
+ from the enum, no longer in use.
+
+ * dbus/dbus-sysdeps.h: include config.h so DBUS_VA_COPY actually
+ works right.
+
+ * dbus/dbus-message.c: add various _dbus_return_val_if_fail for
+ whether error_name passed in is a valid error name.
+
+2004-05-28 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-message.c (dbus_message_get_args): Added support for
+ OBJECT_PATH and OBJECT_PATH_ARRAY
+
+2004-05-28 Seth Nickell <seth@gnome.org>
+
+ * python/examples/Makefile.am:
+
+ Forget to add Makefile.am. Do not pass go.
+
+2004-05-28 Michael Meeks <michael@ximian.com>
+
+ * glib/dbus-gvalue.c (dbus_gvalue_marshal, dbus_gvalue_demarshal):
+ fix no int64 case.
+
+ * dbus/dbus-string.c (_dbus_string_parse_basic_type): impl.
+
+ * dbus/dbus-message.c (_dbus_message_iter_get_basic_type),
+ (_dbus_message_iter_get_basic_type_array): impl.
+ drastically simplify ~all relevant _get methods to use these.
+ (_dbus_message_iter_append_basic_array),
+ (dbus_message_iter_append_basic): impl
+ drastically simplify ~all relevant _append methods to use these.
+
+ * dbus/dbus-message-builder.c (parse_basic_type)
+ (parse_basic_array, lookup_basic_type): impl.
+ (_dbus_message_data_load): prune scads of duplicate /
+ cut & paste coding.
+
+ * dbus/dbus-marshal.c (_dbus_demarshal_basic_type_array)
+ (_dbus_demarshal_basic_type): implement,
+ (demarshal_and_validate_len/arg): beef up debug.
+ (_dbus_marshal_basic_type, _dbus_marshal_basic_type_array): impl.
+
+2004-05-27 Seth Nickell <seth@gnome.org>
+
+ * configure.in:
+ * python/Makefile.am:
+
+ Include the example python apps in the tarball.
+
+ * python/examples/list-system-services.py
+
+ Add a python new example that fetches the list of services
+ from the system bus.
+
+2004-05-27 Seth Nickell <seth@gnome.org>
+
+ * python/dbus.py:
+ * python/dbus_bindings.pyx.in:
+
+ Fix failure to notify that a signal was not handled,
+ resulted in hung functions.
+
+2004-05-25 Colin Walters <walters@redhat.com>
+
+ * tools/dbus-monitor.c (main): Monitor all types of messages.
+
+2004-05-23 Owen Fraser-Green <owen@discobabe.net>
+
+ * mono/Handler.cs, mono/Service.cs: Added UnregisterObject method
+ which unregisters the object path and disposes the handler.
+
+2004-05-23 Kristian Høgsberg <krh@redhat.com>
+
+ Patch from Timo Teräs <ext-timo.teras@nokia.com> (#614):
+
+ * dbus/dbus-message.c (dbus_message_iter_get_args_valist): Swap
+ operands to && so we call dbus_message_iter_next () for the last
+ argument also.
+
+2004-05-21 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * dbus/dbus-object-tree.c
+ (_dbus_object_tree_list_registered_unlock, lookup_subtree): return
+ children even if the requested path isn't registered.
+ (object_tree_test_iteration): test object_tree_list_registered.
+
+ * configure.in: undefine HAVE_ABSTRACT_SOCKETS instead of defining
+ it to 0.
+
+2004-05-20 Kristian Høgsberg <krh@redhat.com>
+
+ * doc/TODO: Remove resolved items.
+
+ * bus/expirelist.h (struct BusExpireList): remove unused n_items
+ field.
+
+ * bus/connection.c (bus_connections_expect_reply): Enforce the
+ per-connection limit on pending replies.
+
+ Patch from Jon Trowbridge <trow@ximian.com>:
+
+ * bus/main.c (setup_reload_pipe): Added. Creates a pipe and sets
+ up a watch that triggers a config reload when one end of the pipe
+ becomes readable.
+ (signal_handler): Instead of doing the config reload in our SIGHUP
+ handler, just write to the reload pipe and let the associated
+ watch handle the reload when control returns to the main loop.
+
+ * bus/driver.c (bus_driver_handle_reload_config): Added.
+ Implements a ReloadConfig method for requesting a configuration
+ file reload via the bus driver.
+
+2004-05-19 Owen Fraser-Green <owen@discobabe.net>
+
+ * HACKING: Updated release instructions concerning the wiki page.
+
+2004-05-18 Kristian Høgsberg <krh@redhat.com>
+
+ * dbus/dbus-auth.c (client_try_next_mechanism): Remove logic to
+ filter against auth->allowed_mechs; we only add allowed mechs in
+ record_mechanisms().
+
+ * dbus/dbus-auth-script.c (_dbus_auth_script_run): Add an
+ ALLOWED_MECHS to auth-script format so we can set the list of
+ allowed mechanisms.
+
+ * data/auth/client-out-of-mechanisms.auth-script: New test to
+ check client disconnects when it is out of mechanisms to try.
+
+ * dbus/dbus-auth.c (process_command): Remove check for lines
+ longer that 1 MB; we only buffer up maximum 16 kB.
+
+ * dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
+ dbus/dbus-auth-script.c, dbus/dbus-auth.c, dbus/dbus-auth.h:
+ Remove auth state AUTHENTICATED_WITH_UNUSED_BYTES, instead always
+ assume there might be unused bytes.
+
+ * dbus/dbus-auth.c (_dbus_auth_do_work): Remove check for
+ client-out-of-mechs, it is handled in process_reject(). Move check
+ for max failures to send_rejected(), as it's a server-only thing.
+
+ * dbus/dbus-auth.c: Factor out protocol reply code into functions
+ send_auth(), send_data(), send_rejected(), send_error(),
+ send_ok(), send_begin() and send_cancel().
+
+2004-05-17 Kristian Høgsberg <krh@redhat.com>
+
+ Remove base64 encoding, replace with hex encoding. Original patch
+ from trow@ximian.com, added error handling.
+
+ * dbus/dbus-string.c (_dbus_string_base64_encode)
+ (_dbus_string_base64_decode): Remove.
+ (_dbus_string_hex_decode): Add end_return argument so we can
+ distinguish between OOM and invalid hex encoding.
+ (_dbus_string_test): Remove base64 tests and add test case for
+ invalid hex.
+
+ * dbus/dbus-keyring.c, dbus/dbus-auth-script.c, dbus/dbus-auth.c:
+ Replace base64 with hex.
+
+ * test/data/auth/invalid-hex-encoding.auth-script: New test case
+ for invalid hex encoded data in auth protocol.
+
+2004-05-17 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * dbus/dbus-connection.c (check_for_reply_unlocked): plug a memory
+ leak.
+
+2004-05-15 Owen Fraser-Green <owen@discobabe.net>
+
+ * mono/dbus-sharp.dll.config.in: Added for GAC
+ * mono/dbus-sharp.snk: Added for GAC
+ * mono/Assembly.cs.in: Added for GAC
+ * mono/Makefile.am: Changes for GAC installation
+ * configure.in: Added refs for dbus-sharp.dll.config.in and
+ Assembly.cs.in. More fixes for mono testing
+ * mono/example/Makefile.am: Changed var to CSC
+ * Makefile.am: Changed flag name to DBUS_USE_CSC
+
+2004-05-15 Owen Fraser-Green <owen@discobabe.net>
+
+ * mono/Makefile.am: Added SUBDIRS for docs. Changed SUBDIRS order
+ * mono/doc/*: Added documentation framework
+ * configure.in: Added monodoc check
+ * README: Added description of mono configure flags
+
+2004-05-11 John (J5) Palmieri <johnp@redhat.com>:
+
+ * doc/dbus-specification.xml: Added a "Required" column to the
+ header fields table and changed the "zero or more" verbage in
+ the above paragraph to read "The header must contain the required
+ named header fields and zero or more of the optional named header
+ fields".
+ * test/data/invalid-messages/*.message: Added the required PATH
+ named header field to the tests so that they don't fail on
+ 'Missing path field'
+
+2004-05-07 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/dbus-bindings.pyx.in: Stopped the bindings from trashing
+ the stack by implicitly defining variable and parameter types and
+ removing the hack of defining C pointers as python objects and later
+ casting them.
+
+2004-05-02 Owen Fraser-Green <owen@discobabe.net>
+
+ * mono/Makefile.am: Removed test-dbus-sharp.exe from all target
+
+2004-05-01 Owen Fraser-Green <owen@discobabe.net>
+
+ * mono/DBusType/Dict.cs: Handle empty dicts
+ * mono/DBusType/Array.cs: Handle empty arrays
+ * mono/Arguments.cs: Handle empty arguments
+
+2004-04-30 Owen Fraser-Green <owen@discobabe.net>
+
+ * dbus-sharp.pc.in: Modified to include include Libs and Requires
+ field
+
+2004-04-25 Kristian Høgsberg <krh@redhat.com>
+
+ * test/data/valid-messages/standard-*.message: Update message
+ test scripts to new header field names.
+
+2004-04-22 John (J5) Palmieri <johnp@redhat.com>
+
+ * test/break-loader.c (randomly_do_n_things): tracked down buffer
+ overflow to times_we_did_each_thing array which would chop off the
+ first character of the failure_dir string. Increased the size of
+ the array to 7 to reflect the number of random mutation functions
+ we have.
+
+2004-04-21 Kristian Høgsberg <krh@redhat.com>
+
+ * dbus/dbus-server-unix.c (unix_finalize): Don't unref
+ unix_server->watch here, it is unreffed in disconnect.
+ (_dbus_server_new_for_tcp_socket): convert NULL host to
+ "localhost" here so we don't append NULL to address.
+
+ * dbus/dbus-server.c (_dbus_server_test): Add test case for
+ various addresses, including tcp with no explicit host.
+
+2004-04-21 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * dbus/dbus-message.c (decode_header_data, decode_string_field):
+ fix incorrect setting of .name_offset in the HeaderField (it was
+ off by two bytes, positioned right after the name and typecode)
+
+ * bus/bus.c (bus_context_new, bus_context_unref): test before
+ calling dbus_server_free_data_slot and _dbus_user_database_unref
+ in case of an error.
+
+ * tools/Makefile.am: add $(DBUS_GLIB_TOOL_LIBS), xml libs needed
+ by libdbus-gtool.
+
+2004-04-19 Kristian Høgsberg <krh@redhat.com>
+
+ * dbus/dbus-transport-unix.c (unix_do_iteration): Rewrite to use
+ _dbus_poll() instead of select().
+
+2004-04-15 Jon Trowbridge <trow@ximian.com>
+
+ * bus/main.c (signal_handler): Reload the configuration files
+ on SIGHUP.
+ (main): Set up our SIGHUP handler.
+
+ * bus/bus.c (struct BusContext): Store the config file, user and
+ fork flag in the BusContext.
+ (process_config_first_time_only): Added. Contains the code
+ (previously in bus_context_new) for setting up the BusContext from
+ the BusConfigParser that should only be run the first time the
+ config files are read.
+ (process_config_every_time): Added. Contains the code (previously
+ in bus_context_new) for setting up the BusContext from the
+ BusConfigParser that should be run every time the config files are
+ read.
+ (load_config): Added. Builds a BusConfigParser from the config
+ files and passes the resulting structure off to
+ process_config_first_time_only (assuming this is the first time)
+ and process_config_every_time.
+ (bus_context_new): All of the config-related code has been moved
+ to process_config_first_time_only and process_config_every_time.
+ Now this function just does the non-config-related initializations
+ and calls load_config.
+ (bus_context_reload_config): Added.
+
+2004-04-15 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * bus/driver.c (bus_driver_handle_get_service_owner):
+ implement a GetServiceOwner method.
+ * doc/dbus-specification.xml: document it.
+ * dbus/dbus-errors.h: add a 'ServiceHasNoOwner' error.
+
+ * glib/dbus-gproxy.c (dbus_gproxy_new_for_service_owner):
+ implement, using the bus GetServiceOwner method.
+
+ * test/glib/test-dbus-glib.c:
+ use dbus_gproxy_new_for_service_owner so that we can receive the
+ signal.
+
+2004-04-15 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-internals.c, dbus/dbus-message-builder.c,
+ dbus/dbus-message.c, dbus/dbus-protocol.h
+ (DBUS_HEADER_FIELD_SERVICE): renamed DBUS_HEADER_FIELD_DESTINATION
+
+ * dbus/dbus-internals.c, dbus/dbus-message-builder.c,
+ dbus/dbus-message.c, dbus/dbus-protocol.h
+ (DBUS_HEADER_FIELD_SENDER_SERVICE): renamed DBUS_HEADER_FIELD_SENDER
+
+ * dbus/dbus-internals.c (_dbus_header_field_to_string):
+ DBUS_HEADER_FIELD_DESTINATION resolves to "destination"
+ DBUS_HEADER_FIELD_SENDER resolves to "sender"
+
+ * doc/dbus-specification.xml (Header Fields Table):
+ s/SERVICE/DESTINATION
+ s/SENDER_SERVICE/SENDER
+
+
+2004-04-14 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * test/glib/test-dbus-glib.c (timed_exit): fail the test after
+ a few seconds.
+
+2004-04-13 Michael Meeks <michael@ximian.com>
+
+ * glib/dbus-gobject.c (handle_introspect): split out
+ (introspect_properties): this.
+ (handle_introspect): implement this.
+
+ * test/glib/Makefile.am: use the absolute path so the bus
+ daemon's chdir ("/") doesn't kill us dead.
+
+ * configure.in: subst ABSOLUTE_TOP_BUILDDIR
+
+2004-04-12 Jon Trowbridge <trow@ximian.com>
+
+ * bus/config-parser.c (struct BusConfigParser): Added
+ included_files field.
+ (seen_include): Added. Checks whether or not a file has already
+ been included by any parent BusConfigParser.
+ (bus_config_parser_new): Copy the parent's included_files.
+ (include_file): Track which files have been included, and fail on
+ circular inclusions.
+ (process_test_valid_subdir): Changed printf to report if we are
+ testing valid or invalid conf files.
+ (all_are_equiv): Changed printf to be a bit clearer about
+ what we are actually doing.
+ (bus_config_parser_test): Test invalid configuration files.
+
+2004-04-09 Jon Trowbridge <trow@ximian.com>
+
+ * bus/config-parser.c (bus_config_parser_new): Added a 'parent'
+ argument. If non-null, the newly-constructed BusConfigParser will
+ be initialized with the parent's BusLimits instead of the default
+ values.
+ (include_file): When including a config file, pass in
+ the current parser as the parent and then copy the BusLimits
+ from the included BusConfigParser pack to the current parser.
+ (process_test_valid_subdir): Renamed from process_test_subdir.
+ (process_test_equiv_subdir): Added. Walks through a directory,
+ descending into each subdirectory and loading the config files
+ it finds there. If any subdirectory contains two config files
+ that don't produce identical BusConfigParser structs, fail.
+ For now, the BusConfigParser's BusPolicies are not compared.
+ (bus_config_parser_test): Call both process_test_valid_subdir and
+ process_test_equiv_subdir.
+
+ * bus/config-loader-libxml.c (bus_config_load): Take a parent
+ argument and pass it along to the call to bus_config_parser_new.
+ Also made a few small changes to allow this code to compile.
+
+ * bus/config-loader-expat.c (bus_config_load): Take a parent
+ argument and pass it along to the call to bus_config_parser_new.
+
+ * bus/bus.c (bus_context_new): Load the config file
+ with a NULL parent argument.
+
+2004-03-29 Michael Meeks <michael@ximian.com>
+
+ * glib/dbus-gobject.c (introspect_properties): split
+ out, fix mangled 'while' flow control.
+ (introspect_signals): implement.
+ (handle_introspect): update.
+
+2004-03-29 Michael Meeks <michael@ximian.com>
+
+ * glib/dbus-gobject.c (set_object_property): split out /
+ re-work, use the property type, and not the message type(!)
+ (get_object_property): ditto.
+
+ * glib/dbus-gvalue.c (dbus_gvalue_demarshal),
+ (dbus_gvalue_marshal): make this code re-usable, needed
+ for signals too, also on both proxy and server side.
+ Re-write for more efficiency / readability.
+
+2004-03-29 Michael Meeks <michael@ximian.com>
+
+ * dbus/dbus-message.c
+ (dbus_message_new_error_printf): impl.
+
+ * dbus/dbus-connection.c
+ (dbus_connection_unregister_object_path): fix warning.
+
+ * configure.in: fix no-mono-installed situation.
+
+2004-03-27 Havoc Pennington <hp@redhat.com>
+
+ Patch from Timo Teräs:
+
+ * tools/dbus-send.c (main): if --print-reply, assume type is
+ method call; support boolean type args
+
+ * dbus/dbus-connection.c (dbus_connection_send_with_reply): fix a
+ bunch of memleak and logic bugs
+
+2004-03-23 Owen Fraser-Green <owen@discobabe.net>
+
+ * mono/Arguments.cs:
+ * mono/Introspector.cs:
+ * mono/Handler.cs:
+ * mono/InterfaceProxy.cs:
+ * mono/Message.cs
+ * mono/ProxyBuilder.cs:
+ * mono/Service.cs:
+ Added InterfaceProxy class to avoid building proxies for every
+ object.
+
+ * dbus-message.h:
+ * dbus-message.c (dbus_message_append_args_valist)
+ (dbus_message_iter_get_object_path)
+ (dbus_message_iter_get_object_path_array)
+ (dbus_message_iter_append_object_path)
+ (dbus_message_iter_append_object_path_array):
+ Added object_path iter functions to handle OBJECT_PATH arguments
+
+2004-03-23 Owen Fraser-Green <owen@discobabe.net>
+
+ First checkin of mono bindings.
+ * configure.in:
+ * Makefile.am:
+ Build stuff for the bindings
+ * dbus-sharp.pc.in: Added for pkgconfig
+
+2004-03-21 Havoc Pennington <hp@redhat.com>
+
+ * test/test-service.c (main): remove debug spew
+
+2004-03-21 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): accept empty
+ arrays
+
+ * dbus/dbus-message.h, bus/dbus-message.c (dbus_message_iter_init)
+ (dbus_message_iter_init_array_iterator)
+ (dbus_message_iter_init_dict_iterator): return a dbus_bool_t to
+ indicate whether the iterator is empty
+
+ * dbus/dbus-pending-call.c, dbus/dbus-server.c: silence compiler
+ warnings
+
+2004-03-19 Havoc Pennington <hp@redhat.com>
+
+ * NEWS: 0.21 updates
+
+ * configure.in: 0.21
+
+ * doc/Makefile.am: add all XMLTO usage to DBUS_XML_DOCS_ENABLED
+
+ * python/Makefile.am: change to avoid dist of dbus_bindings.c so
+ you don't need pyrex to make dist
+
+ * qt/Makefile.am (libdbus_qt_1_la_SOURCES): add integrator.h to
+ sources; run moc
+
+2004-03-18 Richard Hult <richard@imendio.com>
+
+ * dbus/dbus-message.c (dbus_message_get_auto_activation)
+ (dbus_message_set_auto_activation): Add doxygen docs.
+
+2004-03-16 Richard Hult <richard@imendio.com>
+
+ * bus/activation.c: (bus_activation_service_created),
+ (bus_activation_send_pending_auto_activation_messages),
+ (bus_activation_activate_service):
+ * bus/activation.h:
+ * bus/dispatch.c: (bus_dispatch),
+ (check_nonexistent_service_auto_activation),
+ (check_service_auto_activated),
+ (check_segfault_service_auto_activation),
+ (check_existent_service_auto_activation), (bus_dispatch_test):
+ * bus/driver.c: (bus_driver_handle_activate_service):
+ * bus/services.c: (bus_registry_acquire_service):
+ * dbus/dbus-message.c: (dbus_message_set_auto_activation),
+ (dbus_message_get_auto_activation):
+ * dbus/dbus-message.h:
+ * dbus/dbus-protocol.h: Implement auto-activation.
+
+ * doc/dbus-specification.xml: Add auto-activation to the spec.
+
+2004-03-12 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos):
+ fix a bug with CUSTOM types.
+
+ * dbus/dbus-message.c (message_iter_test, _dbus_message_test): add
+ a unit test for this bug (used to fail).
+
+2004-03-12 Mikael Hallendal <micke@imendio.com>
+
+ * bus/activation.c:
+ (babysitter_watch_callback): notify all pending activations waiting for
+ the same exec that the activation failed.
+ (bus_activation_activate_service): shortcut the activation if we
+ already waiting for the same executable to start up.
+
+2004-03-12 Mikael Hallendal <micke@imendio.com>
+
+ * bus/activation.c:
+ - Added service file reloading.
+ Each service files directory is kept in an hash table in
+ BusActivation and each BusActivationEntry knows what .service-file it
+ was read from. So when you try to activate a service the bus will
+ check if it's been updated, removed or if new .service-files has
+ been installed.
+ - Test code at the bottom for the service file reloading.
+ * bus/test-main.c: (main):
+ * bus/test.h:
+ - added service reloading test.
+ * dbus/dbus-sysdeps.c:
+ * dbus/dbus-sysdeps.h: (_dbus_delete_directory): Added.
+
+2004-03-08 Michael Meeks <michael@ximian.com>
+
+ * dbus/dbus-connection.c (_dbus_connection_block_for_reply):
+ bail immediately if disconnected, to avoid busy loop.
+
+ * dbus/dbus-message.c (dbus_message_iter_get_args_valist):
+ cleanup cut/paste/inefficiency.
+
+2004-03-01 David Zeuthen <david@fubar.dk>
+
+ * dbus/dbus-string.c (_dbus_string_append_printf_valist): Fix a
+ bug where args were used twice. This bug resulted in a segfault
+ on a Debian/PPC system when starting the messagebus daemon. Include
+ dbus-sysdeps.h for DBUS_VA_COPY
+
+ * dbus/dbus-sysdeps.h: Define DBUS_VA_COPY if neccessary. From GLib
+
+ * configure.in: Check for va_copy; define DBUS_VA_COPY to the
+ appropriate va_copy implementation. From GLib
+
+2004-02-24 Joe Shaw <joe@ximian.com>
+
+ * bus/services.c (bus_registry_acquire_service): We need to pass
+ in the service name to dbus_set_error() to prevent a crash.
+
+2003-12-26 Anders Carlsson <andersca@gnome.org>
+
+ * AUTHORS: Reveal my True identity.
+
+2003-12-17 Mikael Hallendal <micke@imendio.com>
+
+ * dbus/dbus-message.c: (dbus_message_append_args_valist):
+ - Added case for DBUS_TYPE_BYTE, patch from Johan Hedberg.
+
+2003-12-13 Mikael Hallendal <micke@imendio.com>
+
+ * doc/TODO: Added not about better error check of configuration files.
+
+2003-12-02 Richard Hult <richard@imendio.com>
+
+ * Update AFL version to 2.0 throughout the source files to reflect
+ the update that was done a while ago.
+
+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).
+
+ * bus/bus.c (bus_context_check_security_policy): fix up to handle
+ the case where destination is explicitly specified as bus driver
+ and someone else is eavesdropping.
+
+ * bus/policy.c (bus_client_policy_check_can_receive): fix up
+ definition of eavesdropping and assertion
+
+ * tools/dbus-send.c (main): use dbus_message_type_from_string
+
+ * bus/signals.c (bus_match_rule_parse): implement
+
+ * dbus/dbus-message.c (dbus_message_type_from_string): new
+
+ * dbus/dbus-errors.h (DBUS_ERROR_MATCH_RULE_INVALID): add
+
+2003-10-02 Havoc Pennington <hp@pobox.com>
+
+ * glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): rename from
+ dbus_gproxy_oneway_call
+
+ * glib/dbus-gmain.c (dbus_connection_setup_with_g_main)
+ (dbus_server_setup_with_g_main): fix to allow calling them more
+ than once on the same args
+ (dbus_bus_get_with_g_main): new function
+
+2003-10-02 Havoc Pennington <hp@redhat.com>
+
+ * doc/dbus-tutorial.xml: write some stuff
+
+2003-09-29 Havoc Pennington <hp@pobox.com>
+
+ * configure.in: split checks for Doxygen from XML docs, check for
+ xmlto
+
+ * doc/Makefile.am: XML-ify all the docs, and add a blank
+ dbus-tutorial.xml
+
+2003-09-29 Havoc Pennington <hp@pobox.com>
+
+ * Merge dbus-object-names branch. To see the entire patch
+ do cvs diff -r DBUS_OBJECT_NAMES_BRANCHPOINT -r dbus-object-names,
+ it's huuuuge though.
+ To revert, I tagged DBUS_BEFORE_OBJECT_NAMES_MERGE.
+
+2003-09-28 Havoc Pennington <hp@pobox.com>
+
+ * HACKING: update to reflect new server
+
+2003-09-26 Seth Nickell <seth@gnome.org>
+
+ * python/dbus.py:
+ * python/examples/example-signals.py:
+
+ Start implementing some notions of signals. The API
+ is really terrible, but they sort of work (with the
+ exception of being able to filter by service, and to
+ transmit signals *as* a particular service). Need to
+ figure out how to make messages come from the service
+ we registered :-(
+
+ * python/dbus_bindings.pyx.in:
+
+ Removed duplicate message_handler callbacks.
+
+2003-09-25 Havoc Pennington <hp@redhat.com>
+
+ * bus/session.conf.in: fix my mess
+
+2003-09-25 Havoc Pennington <hp@pobox.com>
+
+ * bus/session.conf.in: fix security policy, reported by Seth Nickell
+
+2003-09-25 Seth Nickell <seth@gnome.org>
+
+ * python/examples/example-service.py:
+
+ Johan notices complete wrong code in example-service, but
+ completely wrong in a way that works exactly the same (!).
+ Johan is confused, how could this possibly work? Example
+ code fails to serve purpose of making things clear.
+ Seth fixes.
+
+2003-09-25 Mark McLoughlin <mark@skynet.ie>
+
+ * doc/dbus-specification.sgml: don't require header fields
+ to be 4-byte aligned and specify that fields should be
+ distinguished from padding by the fact that zero is not
+ a valid field name.
+
+ * doc/TODO: remove re-alignment item and add item to doc
+ the OBJECT_PATH type.
+
+ * dbus/dbus-message.c:
+ (HeaderField): rename the original member to value_offset
+ and introduce a name_offset member to keep track of where
+ the field actually begins.
+ (adjust_field_offsets): remove.
+ (append_int_field), (append_uint_field),
+ (append_string_field): don't align the start of the header
+ field to a 4-byte boundary.
+ (get_next_field): impl finding the next marhsalled field
+ after a given field.
+ (re_align_field_recurse): impl re-aligning a number of
+ already marshalled fields.
+ (delete_field): impl deleting a field of any type and
+ re-aligning any following fields.
+ (delete_int_or_uint_field), (delete_string_field): remove.
+ (set_int_field), (set_uint_field): no need to re-check
+ that we have the correct type for the field.
+ (set_string_field): ditto and impl re-aligning any
+ following fields.
+ (decode_header_data): update to take into account that
+ the fields aren't 4-byte aligned any more and the new
+ way to distinguish padding from header fields. Also,
+ don't exit when there is too much header padding.
+ (process_test_subdir): print the directory.
+ (_dbus_message_test): add test to make sure a following
+ field is re-aligned correctly after field deletion.
+
+ * dbus/dbus-string.[ch]:
+ (_dbus_string_insert_bytes): rename from insert_byte and
+ allow the insert of multiple bytes.
+ (_dbus_string_test): test inserting multiple bytes.
+
+ * dbus/dbus-marshal.c: (_dbus_marshal_set_string): add
+ warning note to docs about having to re-align any
+ marshalled values following the string.
+
+ * dbus/dbus-message-builder.c:
+ (append_string_field), (_dbus_message_data_load):
+ don't align the header field.
+
+ * dbus/dbus-auth.c: (process_test_subdir): print the
+ directory.
+
+ * test/break-loader.c: (randomly_add_one_byte): upd. for
+ insert_byte change.
+
+ * test/data/invalid-messages/bad-header-field-alignment.message:
+ new test case.
+
+ * test/data/valid-messages/unknown-header-field.message: shove
+ a dict in the unknown field.
+
+2003-09-25 Seth Nickell <seth@gnome.org>
+
+ * python/dbus.py:
+ * python/dbus_bindings.pyx.in:
+
+ Handle return values.
+
+ * python/examples/example-client.py:
+ * python/examples/example-service.py:
+
+ Pass back return values from the service to the client.
+
+2003-09-24 Seth Nickell <seth@gnome.org>
+
+ * python/dbus.py:
+
+ Connect Object methods (when you are sharing an object) up... pass
+ in a list of methods to be shared. Sharing all the methods just
+ worked out too weird. You can now create nice Services over the
+ DBus in Python. :-)
+
+ * python/dbus_bindings.pyx.in:
+
+ Keep references to user_data tuples passed into C functions so
+ Python doesn't garbage collect on us.
+
+ Implement MethodReturn and Error subclasses of Message for creating
+ DBusMessage's of those types.
+
+ * python/examples/example-client.py:
+ * python/examples/example-service.py:
+
+ Simple example code showing both how create DBus services and objects,
+ and how to use them.
+
+2003-09-23 Havoc Pennington <hp@pobox.com>
+
+ * glib/dbus-gproxy.c (dbus_gproxy_manager_filter): implement
+
+2003-09-23 Havoc Pennington <hp@redhat.com>
+
+ * glib/dbus-gproxy.c (dbus_gproxy_connect_signal): implement
+ (dbus_gproxy_disconnect_signal): implement
+ (dbus_gproxy_manager_remove_signal_match): implement
+ (dbus_gproxy_manager_add_signal_match): implement
+ (dbus_gproxy_oneway_call): implement
+
+2003-09-23 Havoc Pennington <hp@pobox.com>
+
+ * glib/dbus-gproxy.c (struct DBusGProxy): convert to a GObject
+ subclass. This means dropping the transparent thread safety of the
+ proxy; you now need a separate proxy per-thread, or your own
+ locking on the proxy. Probably right anyway.
+ (dbus_gproxy_ref, dbus_gproxy_unref): nuke, just use g_object_ref
+
+2003-09-22 Havoc Pennington <hp@redhat.com>
+
+ * glib/dbus-gproxy.c (dbus_gproxy_manager_get): implement
+
+2003-09-21 Seth Nickell <seth@gnome.org>
+
+ First checkin of the Python bindings.
+
+ * python/.cvsignore:
+ * python/Makefile.am:
+ * python/dbus_bindings.pyx.in:
+ * python/dbus_h_wrapper.h:
+
+ Pieces for Pyrex to operate on, building a dbus_bindings.so
+ python module for low-level access to the DBus APIs.
+
+ * python/dbus.py:
+
+ High-level Python module for accessing DBus objects.
+
+ * configure.in:
+ * Makefile.am:
+
+ Build stuff for the python bindings.
+
+ * acinclude.m4:
+
+ Extra macro needed for finding the Python C header files.
+
+2003-09-21 Havoc Pennington <hp@pobox.com>
+
+ * glib/dbus-gproxy.c (dbus_gproxy_manager_new): start
+ implementing the proxy manager, didn't get very far.
+
+ * dbus/dbus-bus.c (dbus_bus_add_match): new
+ (dbus_bus_remove_match): new
+
+ * glib/dbus-gproxy.c (dbus_gproxy_new_for_service): add a
+ path_name argument; adjust the other not-yet-implemented
+ gproxy constructors to be what I think they should be.
+
+2003-09-21 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-bus.c (dbus_bus_get): set exit_on_disconnect to TRUE
+ by default for message bus connections.
+
+ * dbus/dbus-connection.c (dbus_connection_dispatch): exit if
+ exit_on_disconnect flag is set and we process the disconnected
+ signal.
+ (dbus_connection_set_exit_on_disconnect): new function
+
+2003-09-21 Havoc Pennington <hp@pobox.com>
+
+ Get matching rules mostly working in the bus; only actually
+ parsing the rule text remains. However, the client side of
+ "signal connections" hasn't been started, this patch is only the
+ bus side.
+
+ * dbus/dispatch.c: fix for the matching rules changes
+
+ * bus/driver.c (bus_driver_handle_remove_match)
+ (bus_driver_handle_add_match): send an ack reply from these
+ method calls
+
+ * glib/dbus-gproxy.c (dbus_gproxy_begin_call): fix order of
+ arguments, reported by Seth Nickell
+
+ * bus/config-parser.c (append_rule_from_element): support
+ eavesdrop=true|false attribute on policies so match rules
+ can be prevented from snooping on the system bus.
+
+ * bus/dbus-daemon-1.1.in: consistently use terminology "sender"
+ and "destination" in attribute names; fix some docs bugs;
+ add eavesdrop=true|false attribute
+
+ * bus/driver.c (bus_driver_handle_add_match)
+ (bus_driver_handle_remove_match): handle AddMatch, RemoveMatch
+ messages
+
+ * dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_BROADCAST): get
+ rid of broadcast service concept, signals are just always broadcast
+
+ * bus/signals.c, bus/dispatch.c, bus/connection.c, bus/bus.c:
+ mostly implement matching rules stuff (currently only exposed as signal
+ connections)
+
+2003-09-21 Mark McLoughlin <mark@skynet.ie>
+
+ * doc/dbus-specification.sgml: Change the header field name
+ to be an enum and update the rest of the spec to reference
+ the fields using the conventinal name.
+
+ * dbus/dbus-protocol.h: update to reflect the spec.
+
+ * doc/TODO: add item to remove the 4 byte alignment requirement.
+
+ * dbus/dbus-message.c: Remove the code to generalise the
+ header/body length and serial number header fields as named
+ header fields so we can reference field names using the
+ protocol values.
+ (append_int_field), (append_uint_field), (append_string_field):
+ Append the field name as a byte rather than four chars.
+ (delete_int_or_uint_field), (delete_string_field): reflect the
+ fact that the field name and typecode now occupy 4 bytes instead
+ of 8.
+ (decode_string_field), (decode_header_data): update to reflect
+ protocol changes and move the field specific encoding from
+ decode_string_field() back into decode_header_data().
+
+ * dbus/dbus-internals.[ch]: (_dbus_header_field_to_string):
+ Add utility to aid debugging.
+
+ * dbus/dbus-message-builder.c:
+ (append_string_field), (_dbus_message_data_load): Update to
+ reflect protocol changes; Change the FIELD_NAME directive
+ to HEADER_FIELD and allow it to take the field's conventional
+ name rather than the actual value.
+
+ * test/data/*/*.message: Update to use HEADER_FIELD instead
+ of FIELD_NAME; Always align the header on an 8 byte boundary
+ *before* updating the header length.
+
+2003-09-15 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-pending-call.c: add the get/set object data
+ boilerplate as for DBusConnection, etc. Use generic object data
+ for the notify callback.
+
+ * glib/dbus-gparser.c (parse_node): parse child nodes
+
+ * tools/dbus-viewer.c: more hacking on the dbus-viewer
+
+ * glib/dbus-gutils.c (_dbus_gutils_split_path): add a file to
+ contain functions shared between the convenience lib and the
+ installed lib
+
+ * glib/Makefile.am (libdbus_glib_1_la_LDFLAGS): add
+ -export-symbols-regex to the GLib library
+
+ * dbus/dbus-object-tree.c (_dbus_object_tree_dispatch_and_unlock):
+ fix the locking in here, and add a default handler for
+ Introspect() that just returns sub-nodes.
+
+2003-09-14 Havoc Pennington <hp@pobox.com>
+
+ * glib/dbus-gthread.c (dbus_g_thread_init): rename to make g_foo
+ rather than gfoo consistent
+
+ * glib/dbus-gproxy.h: delete for now, move contents to
+ dbus-glib.h, because the include files don't work right since we
+ aren't in the dbus/ subdir.
+
+ * glib/dbus-gproxy.c (dbus_gproxy_send): finish implementing
+ (dbus_gproxy_end_call): finish
+ (dbus_gproxy_begin_call): finish
+
+ * glib/dbus-gmain.c (dbus_set_g_error): new
+
+ * glib/dbus-gobject.c (handle_introspect): include information
+ about child nodes in the introspection
+
+ * dbus/dbus-connection.c (dbus_connection_list_registered): new
+ function to help in implementation of introspection
+
+ * dbus/dbus-object-tree.c
+ (_dbus_object_tree_list_registered_and_unlock): new function
+
+2003-09-12 Havoc Pennington <hp@pobox.com>
+
+ * glib/dbus-gidl.h: add common base class for all the foo_info
+ types
+
+ * tools/dbus-viewer.c: add GTK-based introspection UI thingy
+ similar to kdcop
+
+ * test/Makefile.am: try test srcdir -ef . in addition to test
+ srcdir = ., one of them should work (yeah lame)
+
+ * glib/Makefile.am: build the "idl" parser stuff as a convenience
+ library
+
+ * glib/dbus-gparser.h: make description_load routines return
+ NodeInfo* not Parser*
+
+ * Makefile.am (SUBDIRS): build test dir after all library dirs
+
+ * configure.in: add GTK+ detection
+
+2003-09-07 Havoc Pennington <hp@pobox.com>
+
+ * Make Doxygen contented.
+
+2003-09-07 Havoc Pennington <hp@pobox.com>
+
+ * doc/dbus-specification.sgml: more updates
+
+2003-09-06 Havoc Pennington <hp@pobox.com>
+
+ * doc/dbus-specification.sgml: partial updates
+
+ * bus/dbus-daemon-1.1.in: fix the config file docs for the
+ zillionth time; hopefully I edited the right file this time.
+
+ * bus/config-parser.c (append_rule_from_element): support
+ send_type, send_path, receive_type, receive_path
+
+ * bus/policy.c: add message type and path to the list of things
+ that can be "firewalled"
+
+2003-09-06 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-connection.c (dbus_connection_register_fallback): add this
+ (dbus_connection_register_object_path): make this not handle
+ messages to paths below the given path
+
+2003-09-03 Havoc Pennington <hp@pobox.com>
+
+ * test/glib/Makefile.am: add this with random glib-linked test
+ programs
+
+ * glib/Makefile.am: remove the random test programs from here,
+ leave only the unit tests
+
+ * glib/dbus-gobject.c (_dbus_gobject_test): add test for
+ uscore/javacaps conversion, and fix
+ (get_object_property, set_object_property): change to .NET
+ convention for mapping props to methods, set_FooBar/get_FooBar,
+ since one language has such a convention we may as well copy it.
+ Plus real methods in either getFooBar or get_foo_bar style won't
+ collide with this convention.
+
+2003-09-01 Havoc Pennington <hp@pobox.com>
+
+ * glib/dbus-gparser.c: implement
+
+ * glib/dbus-gobject.c: start implementing skeletons support
+
+ * configure.in: when disabling checks/assert, also define
+ G_DISABLE_ASSERT and G_DISABLE_CHECKS
+
+2003-09-01 Havoc Pennington <hp@pobox.com>
+
+ * glib/Makefile.am: rearrange a bunch of files and get "make
+ check" framework set up
+
+2003-08-31 Havoc Pennington <hp@pobox.com>
+
+ * fix build with --disable-tests
+
+2003-08-30 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-connection.c: purge DBusMessageHandler
+
+ * dbus/dbus-message-handler.c: remove DBusMessageHandler, just
+ use callbacks everywhere
+
+2003-08-30 Havoc Pennington <hp@pobox.com>
+
+ * test/data/valid-config-files/system.d/test.conf: change to
+ root for the user so warnings don't get printed
+
+ * dbus/dbus-message.c: add dbus_message_get_path,
+ dbus_message_set_path
+
+ * dbus/dbus-object-tree.c (do_test_dispatch): add test of
+ dispatching to a path
+
+ * dbus/dbus-string.c (_dbus_string_validate_path): add
+
+ * dbus/dbus-marshal.c (_dbus_demarshal_object_path): implement
+ (_dbus_marshal_object_path): implement
+
+ * dbus/dbus-protocol.h (DBUS_HEADER_FIELD_PATH): new header field
+ to contain the path to the target object
+ (DBUS_HEADER_FIELD_SENDER_SERVICE): rename
+ DBUS_HEADER_FIELD_SENDER to explicitly say it's the sender service
+
+2003-08-30 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-object-tree.c: write tests and fix the discovered bugs
+
+2003-08-29 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-object-tree.c: modify to allow overlapping paths to be
+ registered
+ (struct DBusObjectSubtree): shrink this
+ a lot, since we may have a lot of them
+ (_dbus_object_tree_free_all_unlocked): implement
+ (_dbus_object_tree_dispatch_and_unlock): implement
+
+2003-08-29 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-internals.h: fix _DBUS_N_GLOBAL_LOCKS
+
+2003-08-28 Havoc Pennington <hp@pobox.com>
+
+ purge DBusObjectID
+
+ * dbus/dbus-connection.c: port to no ObjectID, create a
+ DBusObjectTree, rename ObjectTree to ObjectPath in public API
+
+ * dbus/dbus-connection.h (struct DBusObjectTreeVTable): delete
+ everything except UnregisterFunction and MessageFunction
+
+ * dbus/dbus-marshal.c: port away from DBusObjectID,
+ add DBUS_TYPE_OBJECT_PATH
+
+ * dbus/dbus-object-registry.[hc], dbus/dbus-object.[hc],
+ dbus/dbus-objectid.[hc]: remove these, we are moving to
+ path-based object IDs
+
+2003-08-25 Havoc Pennington <hp@pobox.com>
+
+ Just noticed that dbus_message_test is hosed, I wonder when I
+ broke that. I thought make check was passing earlier...
+
+ * dbus/dbus-object-tree.c: add new "object tree" to match DCOP
+ container tree, will replace most of dbus-object-registry
+
+ * dbus/dbus-string.c (_dbus_string_append_printf_valist): fix C99
+ screwup
+
+2003-08-19 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-message.c (decode_string_field): support FIELD_SENDER
+ (dbus_message_is_error): fix this function
+
+ * bus/dbus-daemon-1.1: clarify logic on when <deny>/<allow> rules
+ match
+
+ * bus/policy.c (bus_client_policy_check_can_receive): fix code to
+ reflect clarified man page
+ (bus_client_policy_check_can_send): ditto
+
+ * bus/session.conf.in: fixup
+
+ * bus/system.conf.in: fixup
+
+2003-08-18 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-hash.c (_dbus_hash_table_insert_two_strings): fix
+
+ * dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
+ dumb bug created earlier (wrong order of args to
+ decode_header_data())
+
+ * tools/dbus-send.c: port
+
+ * tools/dbus-print-message.c (print_message): port
+
+ * test/data/*messages: port all messages over
+
+ * dbus/dbus-message-builder.c: support including
+ message type
+
+ * bus/driver.c: port over
+
+ * bus/dispatch.c: port over to new stuff
+
+ * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
+ rename disconnect signal to "Disconnected"
+
+2003-08-17 Havoc Pennington <hp@pobox.com>
+
+ This doesn't compile yet, but syncing up so I can hack on it from
+ work. What are branches for if not broken code? ;-)
+
+ * dbus/dbus-protocol.h: remove DBUS_HEADER_FIELD_NAME, add
+ DBUS_HEADER_FIELD_INTERFACE, DBUS_HEADER_FIELD_MEMBER,
+ DBUS_HEADER_FIELD_ERROR_NAME
+
+ * dbus/dbus-hash.c: Introduce DBUS_HASH_TWO_STRINGS as hack to use
+ for the interface+member pairs
+ (string_hash): change to use g_str_hash algorithm
+ (find_direct_function, find_string_function): refactor these to
+ share most code.
+
+ * dbus/dbus-message.c: port all of this over to support
+ interface/member fields instead of name field
+
+ * dbus/dbus-object-registry.c: port over
+
+ * dbus/dbus-string.c (_dbus_string_validate_interface): rename
+ from _dbus_string_validate_name
+
+ * bus/dbus-daemon-1.1: change file format for the
+ <deny>/<allow> stuff to match new message naming scheme
+
+ * bus/policy.c: port over
+
+ * bus/config-parser.c: parse new format
+
+2003-08-16 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-object-registry.c (add_and_remove_objects): remove
+ broken assertion
+
+ * glib/dbus-gproxy.c: some hacking
+
+2003-08-15 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-pending-call.c (dbus_pending_call_block): implement
+
+ * dbus/dbus-connection.c
+ (dbus_connection_send_with_reply_and_block): factor out internals;
+ change to convert any error replies to DBusError instead of
+ returning them as a message
+
+2003-08-15 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-connection.c,
+ dbus/dbus-pending-call.c: Finish the pending call stuff
+
+2003-08-14 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-pending-call.c: start on new object that will replace
+ DBusMessageHandler and ReplyHandlerData for tracking outstanding
+ replies
+
+ * dbus/dbus-gproxy.c: start on proxy object used to communicate
+ with remote interfaces
+
+ * dbus/dbus-gidl.c: do the boring boilerplate in here
+
+2003-08-12 Havoc Pennington <hp@pobox.com>
+
+ * bus/dispatch.c (bus_dispatch): make this return proper
+ DBusHandlerResult to avoid DBUS_ERROR_UNKNOWN_METHOD
+
+ * dbus/dbus-errors.c (dbus_set_error): use
+ _dbus_string_append_printf_valist
+
+ * dbus/dbus-string.c (_dbus_string_append_printf_valist)
+ (_dbus_string_append_printf): new
+
+ * dbus/dbus-errors.h (DBUS_ERROR_UNKNOWN_MESSAGE): change to
+ UNKNOWN_METHOD
+
+ * dbus/dbus-connection.c (dbus_connection_dispatch): handle
+ DBUS_HANDLER_RESULT_NEED_MEMORY; send default error reply if a
+ message is unhandled.
+
+2003-08-11 Havoc Pennington <hp@pobox.com>
+
+ * bus/test.c (client_disconnect_handler): change to return
+ HANDLED (would have been REMOVE_MESSAGE)
+
+ * dbus/dbus-object.h (enum DBusHandlerResult): rename to
+ HANDLED/NOT_YET_HANDLED instead of
+ REMOVE_MESSAGE/ALLOW_MORE_HANDLERS to make it clearer how it
+ should be used.
+
+2003-08-10 Havoc Pennington <hp@pobox.com>
+
+ * tools/dbus-send.c (main): add --type argument, for now
+ supporting only method_call and signal types.
+
+ * tools/dbus-print-message.c: print message type
+
+ * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
+ init connection->objects
+
+ * doc/dbus-specification.sgml: fix sgml
+
+ * bus/*.c: port over to object-instance API changes
+
+ * test/test-service.c: ditto
+
+ * dbus/dbus-message.c (dbus_message_create_header): allow #NULL
+ name, we will have to fix up the rest of the code to also handle
+ this
+ (dbus_message_new): generic message-creation call
+ (set_string_field): allow appending name field
+
+2003-08-06 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-object-registry.c: implement signal connection
+ and dispatch
+
+ * dbus/dbus-connection.c (_dbus_connection_unref_unlocked): new
+
+ * dbus/dbus-internals.c (_dbus_memdup): new function
+
+2003-08-02 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-message.c (dbus_message_get_no_reply)
+ (dbus_message_set_no_reply): add these and remove
+ set_is_error/get_is_error
+
+ * dbus/dbus-protocol.h, doc/dbus-specification.sgml:
+ remove the ERROR flag, since there's now an ERROR type
+
+2003-08-01 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-object-registry.c (_dbus_object_registry_handle_and_unlock):
+ implement
+
+ * dbus/dbus-message.c (dbus_message_get_type): new function
+
+ * doc/dbus-specification.sgml: add "type" byte to messages
+
+2003-08-01 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-protocol.h (DBUS_MESSAGE_TYPE_*): introduce
+ a message type enum to distinguish kinds of message
+ (DBUS_HEADER_FLAG_NO_REPLY_EXPECTED): flag for a message
+ that need not be replied to
+
+2003-08-01 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-marshal.c: adapt to DBusObjectID changes
+ (unpack_8_octets): fix no-64-bit-int bug
+
+ * dbus/dbus-object-registry.c (validate_id): validate the
+ connection ID bits, not just the instance ID.
+
+ * dbus/dbus-connection.c (_dbus_connection_init_id): initialize
+ the connection-global 33 bits of the object ID
+
+ * dbus/dbus-object-registry.c (info_from_entry): fill in
+ object ID in the new way
+
+ * dbus/dbus-objectid.h: rather than high/low bits, specifically
+ define server/client/instance bits.
+
+2003-07-30 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-connection.c (dbus_connection_register_object): fix
+ build
+
+2003-07-13 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-object.h (struct DBusObjectVTable): add padding
+ fields to DBusObjectVTable and DBusObjectInfo
+
+2003-07-12 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-object-registry.c: implement unit test,
+ fix bugs discovered in process
+
+ * dbus/dbus-connection.c: remove handler_table and
+ register_handler(), add DBusObjectRegistry usage
+
+ * dbus/dbus-objectid.c (dbus_object_id_is_null)
+ (dbus_object_id_set_null): new functions
+
+2003-07-08 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-object.c: implement some of this
+
+ * dbus/dbus-object-registry.c
+ (_dbus_object_registry_add_and_unlock): fill in the object_id out
+ param
+ (_dbus_object_registry_new): handle OOM
+
+2003-07-08 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-object.h: sketch out an API for registering objects
+ with a connection, that allows us to use as little as 24 bytes
+ per object and lets application code represent an object in
+ any conceivable way.
+
+ * dbus/dbus-object-registry.c: implement the hard bits of the
+ DBusConnection aspect of object API. Not yet wired up.
+
+2003-07-06 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-marshal.c (_dbus_marshal_set_object_id): new function
+ (_dbus_marshal_object_id): new
+ (_dbus_demarshal_object_id): new
+ (_dbus_marshal_get_arg_end_pos): support object ID type, and
+ consolidate identical switch cases. Don't conditionalize handling
+ of DBUS_TYPE_UINT64, need to handle the type always.
+ (_dbus_marshal_validate_arg): consolidate identical cases, and
+ handle DBUS_TYPE_OBJECT_ID
+
+ * dbus/dbus-objectid.c: new file with DBusObjectID data type.
+
+ * dbus/dbus-protocol.h: add DBUS_TYPE_OBJECT_ID
+
+2003-09-28 Havoc Pennington <hp@pobox.com>
+
+ * real 0.13 release
+
+2003-09-28 Havoc Pennington <hp@pobox.com>
+
+ * doc/Makefile.am (dbus-specification.html): testing a funky hack
+ to work with Debian db2html
+
+2003-09-28 Havoc Pennington <hp@pobox.com>
+
+ * configure.in: 0.13
+
+ * doc/Makefile.am (dbus-test-plan.html): accept nonexistence of
+ stylesheet-images for benefit of Debian
+
+ Change back to using filesystem-linked sockets for the system
+ bus, so only root can create the default system bus address.
+
+ * bus/system.conf.in: change to use
+ DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
+
+ * dbus/Makefile.am (INCLUDES): remove DBUS_SYSTEM_BUS_PATH define
+ from here.
+
+ * configure.in: define DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
+ here, and AC_DEFINE DBUS_SYSTEM_PATH
+
+2003-08-09 Anders Carlsson <andersca@codefactory.se>
+
+ * doc/TODO:
+ * doc/busconfig.dtd:
+ Add busconfig DTD.
+
+2003-08-09 Anders Carlsson <andersca@codefactory.se>
+
+ * doc/dbus-specification.sgml:
+ Add activation reply values.
+
+2003-08-05 Havoc Pennington <hp@redhat.com>
+
+ * configure.in: 0.12
+
+2003-08-05 Anders Carlsson <andersca@codefactory.se>
+
+ * glib/dbus-gmain.c: (watch_fd_new), (watch_fd_ref),
+ (watch_fd_unref), (dbus_gsource_check), (dbus_gsource_dispatch),
+ (add_watch), (remove_watch), (create_source):
+ Refcount fds, fixes some reentrancy issues.
+
+2003-07-30 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-bus.c (init_connections_unlocked): fix default system
+ bus address to be abstract if we have abstract sockets
+
+ * NEWS: update
+
+2003-07-28 Havoc Pennington <hp@redhat.com>
+
+ * bus/messagebus.in: fix to avoid processname/servicename
+ confusion, from Michael Kearey
+ https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=100965
+
+2003-07-23 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-message.c (dbus_message_iter_get_named):
+ fix from Andy Hanton to remove broken "+1"
+
+2003-07-16 Havoc Pennington <hp@pobox.com>
+
+ * tools/dbus-launch.c (babysit): close stdout/stderr in the
+ babysitter process, as suggested by Thomas Leonard, so
+ an "eval `dbus-launch --exit-with-session`" will actually
+ return
+
+2003-07-16 Havoc Pennington <hp@pobox.com>
+
+ * configure.in: print out EXPANDED_* variables in the summary at
+ the end; clean up the code that computes EXPANDED_ variables and
+ get the ones using exec_prefix right. Should make things work
+ when you build without --prefix
+
+2003-06-29 Havoc Pennington <hp@pobox.com>
+
+ * mono/Test.cs (class Test): fire up a main loop and run it
+
+ * mono/DBus.cs (DBus): don't g_thread_init since it can only be
+ done once, the app has to do it
+
+2003-06-26 Havoc Pennington <hp@pobox.com>
+
+ * mono/Connection.cs: set up connection with the glib main loop
+
+2003-07-01 Havoc Pennington <hp@redhat.com>
+
+ * doc/dbus-specification.sgml: clarify the format of a type code,
+ change suggested by Jim Blandy
+
+2003-06-29 Miloslav Trmac <mitr@volny.cz>
+
+ * doc/Makefile.am:
+ * tools/Makefile.am: Don't assume srcdir == builddir.
+
+ * dbus/dbus-memory.c (dbus_realloc): Don't check guards after shrinking
+ the allocated block.
+ (_dbus_memory_test): New function.
+ * dbus/dbus-test.h: Add _dbus_memory_test ().
+ * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Call it.
+
+ * dbus/dbus-message.c (decode_header_data): Use %.4s instead
+ of %c%c%c%c.
+ (dbus_message_new): Remove obsolete @todo.
+
+ * dbus/dbus-marshal.c (_dbus_marshal_set_int64)
+ (_dbus_marshal_set_uint64): Fix comment.
+
+ * dbus/dbus-message.c (append_int_field, append_uint_field): Don't
+ hardcode FIELD_REPLY_SERIAL.
+
+ * dbus/dbus-mainloop.c (_dbus_loop_remove_watch)
+ (_dbus_loop_remove_timeout): Cast function pointers to (void *) for %p
+
+ * configure.in: Add -D_POSIX_C_SOURCE=199309L -DBSD_SOURCE to CFLAGS
+ and disable DBUS_USE_ATOMIC_INT_486 when --enable-ansi is used
+
+2003-06-24 Havoc Pennington <hp@pobox.com>
+
+ * mono/*.cs: Use IntPtr.Zero instead of ((IntPtr) 0)
+
+2003-06-23 Anders Carlsson <andersca@codefactory.se>
+
+ * configure.in:
+ * gcj/.cvsignore:
+ * gcj/Hello.java:
+ * gcj/Makefile.am:
+ * gcj/TestMessage.java: (TestMessage), (TestMessage.main):
+ * gcj/org/.cvsignore:
+ * gcj/org/Makefile.am:
+ * gcj/org/freedesktop/.cvsignore:
+ * gcj/org/freedesktop/Makefile.am:
+ * gcj/org/freedesktop/dbus/.cvsignore:
+ * gcj/org/freedesktop/dbus/Makefile.am:
+ * gcj/org/freedesktop/dbus/Message.java: (Message),
+ (Message.Message):
+ * gcj/org/freedesktop/dbus/natMessage.cc:
+ Fix the build system.
+
+2003-06-22 Havoc Pennington <hp@pobox.com>
+
+ * mono/Connection.cs: add more bindings
+
+ * dbus/dbus-threads.c (dbus_threads_init): allow calling this
+ more than once.
+
+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:
+ 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
+ than in main(), because we need to do it before forking the daemon
+
+ * bus/dispatch.c (send_service_nonexistent_error): set the sender
+ on the service nonexistent error
+
+ * bus/driver.c (bus_driver_handle_acquire_service): set the
+ sender on the AcquireService reply
+
+ * test/data/valid-config-files/debug-allow-all.conf.in: Make test
+ server also listen on a UNIX socket so services can connect to it.
+
+2003-04-06 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-threads.c: Redo how the fake debug mutexes are done
+ so it detects deadlocks and also we actually init threads when
+ debugging.
+
+2003-04-06 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
+ save the domain socket name, and unlink it when we disconnect the
+ server. Means that at least when we exit normally, we won't leave
+ a bunch of junk in /tmp
+
+ * dbus/dbus-transport-unix.c
+ (_dbus_transport_new_for_domain_socket): code cleanup (nicer
+ memory management). (I was making a real change here but then
+ didn't)
+
+2003-04-06 Havoc Pennington <hp@pobox.com>
+
+ * bus/bus.c (bus_context_new): fix wrong handling of
+ server_data_slot_unref() in the error case.
+
+ * dbus/dbus-internals.h (_dbus_assert): change so it passes
+ "(condition) != 0" to _dbus_real_assert so that
+ "_dbus_assert (pointer)" doesn't cause a warning
+
+ * bus/main.c (main): accept --print-address option to print out
+ the message bus address
+
+ * dbus/dbus-sysdeps.c (_dbus_generate_random_ascii): export this
+
+ * dbus/dbus-transport.c (_dbus_transport_open): special error for
+ "tmpdir" option to unix: address on client side
+
+ * dbus/dbus-server.c (dbus_server_listen): handle "tmpdir" option
+ to unix: address
+
+ * configure.in (TEST_SOCKET_DIR): locate a temporary directory
+ we can use to create sockets in the test suite.
+
+ * bus/main.c (signal_handler): on SIGTERM, exit the daemon
+ cleanly. To be used for testing.
+
+ * dbus/dbus-spawn.c (babysit): use _dbus_set_signal_handler()
+
+ * dbus/dbus-sysdeps.c (_dbus_set_signal_handler): new
+
+ * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
+ handle trying to call this when there's no servers active
+
+2003-04-05 Havoc Pennington <hp@pobox.com>
+
+ * NEWS: update
+
+ * configure.in: 0.8
+
+2003-04-05 Havoc Pennington <hp@pobox.com>
+
+ * bus/bus.c (setup_server): fix this so dbus-daemon-1 doesn't
+ crash on startup. Need to get "try starting the daemon"
+ in the test suite I guess. ;-)
+
+ * dbus/dbus-server.h, dbus/dbus-server.c: remove the stuff that
+ tracked the number of open connections; it's better done in
+ application-specific code as you want it to span all servers etc.
+
+2003-04-05 Havoc Pennington <hp@pobox.com>
+
+ * bus/Makefile.am (install-data-hook): add missing DESTDIR,
+ patch from Colin Walters
+
+2003-04-05 Havoc Pennington <hp@pobox.com>
+
+ * doc/config-file.txt (Elements): fix docs of <auth> to reflect
+ reality; in fact multiple mechanisms are allowed.
+
+ * dbus/dbus-internals.c (_dbus_real_assert)
+ (_dbus_real_assert_not_reached): move guts of _dbus_assert() and
+ _dbus_assert_not_reached() into functions, so that they don't show
+ up in basic block counts for test coverage, and don't use up as
+ much disk space. Does mean slower execution speed though, so
+ assumes --disable-asserts is the normal production case.
+
+2003-04-05 Havoc Pennington <hp@pobox.com>
+
+ * test/Makefile.am (dist-hook): also dist *.in files
+
+ * NEWS: update
+
+ * configure.in: 0.7
+
+2003-04-05 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-string.c: docs warning
+
+ * dbus/dbus-spawn.c: missing docs
+
+ * dbus/dbus-memory.c (struct ShutdownClosure): missing docs
+
+2003-04-05 Havoc Pennington <hp@pobox.com>
+
+ * bus/loop.c (bus_loop_iterate): fix the timeout code, using
+ magic from GLib
+
+ * dbus/dbus-spawn.c (_dbus_babysitter_unref): set sitter_pid
+ to -1 once we've reaped the babysitter
+ (_dbus_babysitter_handle_watch): do as much work as we can, not
+ just one go of it
+
+ * bus/activation.c: add code using DBusBabysitter so that we
+ handle it when a service fails to start up properly.
+ (bus_activation_service_created): don't remove the activation
+ entries as we go, just let them get removed when we free the pending
+ activation. Unref reply messages after sending them.
+
+2003-04-05 Havoc Pennington <hp@pobox.com>
+
+ * test/decode-gcov.c (main): print per-directory stats in the report
+
+ * Makefile.am (coverage-report.txt): don't include test/* in gcov stats
+
+2003-04-05 Havoc Pennington <hp@pobox.com>
+
+ * Makefile.am (coverage-report.txt): add target "coverage-report.txt"
+
+ * test/decode-gcov.c: hack up a little program to suck data
+ out of gcov files. Yes this is sort of silly.
+
+ * configure.in: define something in config.h and do an
+ AM_CONDITIONAL when gcov is enabled
+
+2003-04-04 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-spawn.c, dbus/dbus-spawn.h: Change dbus_spawn to
+ return a "babysitter" object that is used to monitor the status of
+ the spawned process and reap it when required.
+
+ * test/test-segfault.c, test/test-exit.c,
+ test/test-sleep-forever.c: binaries that do various lame things,
+ used in the test suite.
+
+ * dbus/dbus-sysdeps.c: kill _dbus_errno_to_string()
+
+2003-04-03 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-spawn.c: Move dbus-spawn into a separate file
+ in preparation for modifying it, dbus-sysdeps is getting
+ a bit unmanageable.
+
+2003-04-03 Havoc Pennington <hp@redhat.com>
+
+ * bus/loop.h, bus/loop.c: make the mainloop an object so we can
+ have multiple ones
+
+ * bus/*.[hc]: adapt to mainloop change
+
+2003-04-03 Havoc Pennington <hp@redhat.com>
+
+ * bus/activation.c (load_directory): fix up memleaks
+ (bus_activation_entry_free): free the entry
+
+ * dbus/dbus-bus.c (dbus_bus_acquire_service): return an error if
+ we get one from the message bus; fix memleaks.
+
+ * dbus/dbus-message.c (dbus_set_error_from_message): new function
+
+2003-04-03 Havoc Pennington <hp@pobox.com>
+
+ * bus/config-parser.c (bus_config_parser_unref): free
+ list of mechanisms, bug discovered by test suite enhancements
+ (putting system.conf and session.conf into suite)
+
+ * test/Makefile.am, test/test-service.c: add placeholder for a
+ test service that we'll activate as part of test suite. Doesn't
+ do anything yet.
+
+ * dbus/dbus-sysdeps.c (_dbus_setenv): support unsetenv by
+ setting NULL value, and use system malloc not dbus_malloc()
+ when we have unavoidable memleakage.
+
+ * dbus/dbus-bus.c (dbus_bus_get): fix bug where bus type of 0
+ didn't work, and support DBUS_BUS_ACTIVATION.
+
+ * bus/activation.c (child_setup): pass our well-known bus type to
+ the child
+
+ * bus/config-parser.c: support <type> to specify well-known type
+
+ * doc/dbus-specification.sgml: document the env variables to
+ locate well-known buses and find service activator
+
+2003-04-02 Havoc Pennington <hp@redhat.com>
+
+ * test/Makefile.am (all-local): add a rule to copy tests to
+ builddir, so we can have generated tests. Use this to remove the
+ silly hack for testing system.conf and session.conf. Will use this
+ shortly to generate .service files pointing to test binaries.
+
+2003-04-02 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-string.c (set_length): fix a bug - we allocated max of
+ current alloc and needed new length, not max of the doubled
+ allocation and needed new length. Also, when building tests,
+ don't do the double-allocation stuff, just realloc every time.
+
+2003-04-02 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-sysdeps.c (_dbus_file_get_contents): include filenames
+ in error messages
+ (_dbus_string_get_dirname): new
+ (_dbus_sysdeps_test): new
+ (_dbus_directory_open): include dirnames in error messages
+
+ * bus/config-parser.c: interpret <include> and <includedir> and
+ <servicedir> relative to config file location if the given
+ filename is not absolute.
+
+ * dbus/dbus-string.c (_dbus_string_find_byte_backward): new
+
+2003-04-02 Havoc Pennington <hp@redhat.com>
+
+ * bus/connection.c (bus_transaction_send_error_reply): set sender
+ service for the error, and unref the reply on success
+
+ * bus/activation.c: convert to use BusTransaction so OOM can be
+ handled correctly
+ (bus_activation_service_created): set sender of the message
+
+2003-04-01 Havoc Pennington <hp@redhat.com>
+
+ * bus/config-parser.c, bus/bus.c: implement <servicedir> and
+ <includedir> (at least mostly)
+
+ * dbus/dbus-sysdeps.c (_dbus_change_identity): set the group ID
+ first, then the user ID
+
+2003-04-01 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-server.c (dbus_server_set_auth_mechanisms): new
+ function
+
+ * dbus/dbus-auth.c (_dbus_auth_set_mechanisms): new
+
+ * dbus/dbus-internals.c (_dbus_dup_string_array): new function
+
+ * dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): chmod the
+ socket 0777, and unlink any existing socket.
+
+ * bus/bus.c (bus_context_new): change our UID/GID and fork if
+ the configuration file so specifies; set up auth mechanism
+ restrictions
+
+ * bus/config-parser.c (bus_config_parser_content): add support
+ for <fork> option and fill in code for <auth>
+
+ * bus/system.conf.in: add <fork/> to default configuration,
+ and limit auth mechanisms to EXTERNAL
+
+ * doc/config-file.txt (Elements): add <fork>
+
+ * dbus/dbus-sysdeps.c (_dbus_become_daemon): new function
+ (_dbus_change_identity): new function
+
+2003-03-31 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-sysdeps.c (_dbus_connect_unix_socket)
+ (_dbus_listen_unix_socket): fix off-by-one error in null
+ termination spotted by Nalin
+
+2003-03-31 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): allow setting
+ DBUS_TEST_HOMEDIR when tests are enabled, so we can test without
+ having a real home directory available.
+
+2003-03-31 Havoc Pennington <hp@redhat.com>
+
+ * bus/Makefile.am (install-data-hook): create /var/run/dbus
+
+ * bus/messagebus.in: add init script for Red Hat /etc/init.d
+
+ * configure.in: add support for specifying a style of init script
+ to install
+
+2003-03-31 Havoc Pennington <hp@redhat.com>
+
+ Fix some annoying DBusString API and fix all affected code.
+
+ * dbus/dbus-string.c (_dbus_string_init): get rid of annoying
+ max_length argument
+ (_dbus_string_get_data): change to return string instead of using
+ an out param
+ (_dbus_string_get_const_data): ditto
+ (_dbus_string_get_data_len): ditto
+ (_dbus_string_get_const_data_len): ditto
+
+2003-03-31 Havoc Pennington <hp@redhat.com>
+
+ * bus/main.c (main): fix up the command line arguments to be nicer
+
+2003-03-31 Havoc Pennington <hp@redhat.com>
+
+ * dbus/Makefile.am (INCLUDES): use EXPANDED_LOCALSTATEDIR to
+ define DBUS_SYSTEM_BUS_PATH as we want to compile in the same
+ final location that lands in the config file
+
+ * bus/config-loader-expat.c (bus_config_load): fix type of
+ XML_Parser variable
+
+ * doc/TODO: remove TODO item for dbus_bus_get()
+
+ * dbus/dbus-bus.c (bus_data_free): add missing lock/unlock
+
+2003-03-31 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket)
+ (_dbus_transport_new_for_tcp_socket): these didn't need the "server"
+ argument since they are always client side
+
+ * dbus/dbus-server.c (dbus_server_get_address): new function
+
+ * bus/main.c (main): take the configuration file as an argument.
+
+ * test/data/valid-config-files/debug-allow-all.conf: new file to
+ use with dispatch.c tests for example
+
+ * bus/test-main.c (main): require test data dir
+
+ * bus/bus.c (bus_context_new): change this to take a
+ configuration file name as argument
+
+ * doc/config-file.txt (Elements): add <servicedir>
+
+ * bus/system.conf, bus/session.conf: new files
+
+ * dbus/dbus-bus.c (dbus_bus_get): look for system bus on
+ well-known socket if none set
+
+ * configure.in: create system.conf and session.conf
+
+2003-03-30 Havoc Pennington <hp@pobox.com>
+
+ * bus/config-parser.c: hacking
+
+ * dbus/dbus-memory.c: don't use DBusList for the list of stuff
+ to shut down, since it could cause weirdness with the DBusList
+ lock
+
+ * dbus/dbus-list.c (_dbus_list_test): add tests for the
+ link-oriented stack routines
+ (alloc_link): free the mempool if the first alloc from it fails
+
+ * dbus/dbus-mempool.c (struct DBusMemBlock): fix alignment issue
+
+ * dbus/dbus-string.c (UNICODE_VALID): sync new version of this
+ from GLib
+ (_dbus_string_skip_white): new
+
+ * doc/config-file.txt (Elements): add <includedir>
+
+2003-03-28 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-string.c (_dbus_string_copy_data_len)
+ (_dbus_string_copy_data): new functions
+
+2003-03-28 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-bus.c: (bus_data_free), (dbus_bus_get):
+ * dbus/dbus-bus.h:
+ Add dbus_bus_get.
+
+ * dbus/dbus-memory.c:
+ Fix a doc comment.
+
+2003-03-28 Havoc Pennington <hp@pobox.com>
+
+ * bus/test.c (bus_test_flush_bus): remove the sleep from here,
+ I think it may have just been superstition. Not sure.
+
+ * dbus/dbus-string.c (_dbus_string_base64_decode): catch some OOM
+ failures that were not being handled.
+
+ * dbus/dbus-auth.c (process_auth): fix a memleak in OOM handling
+
+ * dbus/dbus-memory.c: add ability to set number of mallocs in a
+ row that will fail on out-of-memory.
+
+ * dbus/dbus-internals.c (_dbus_test_oom_handling): convenience
+ function for testing out-of-memory handling.
+
+ * bus/config-loader-expat.c (memsuite): don't wrap the dbus
+ allocation functions, they do map exactly to the expat ones.
+
+2003-03-27 Havoc Pennington <hp@redhat.com>
+
+ * bus/config-loader-libxml.c (bus_config_load): add another error
+ check
+
+2003-03-26 Anders Carlsson <andersca@codefactory.se>
+
+ * doc/TODO:
+ Add note about automatic service activation.
+
+ * doc/dbus-specification.sgml:
+ Rename the specification and clarify a few things.
+
+2003-03-26 Anders Carlsson <andersca@codefactory.se>
+
+ * Doxyfile.in:
+ * dbus/dbus-address.c:
+ * dbus/dbus-dict.c:
+ * dbus/dbus-marshal.c:
+ * dbus/dbus-server-debug-pipe.c:
+ * dbus/dbus-transport-unix.c:
+ Fix documentation warnings.
+
+2003-03-26 Havoc Pennington <hp@pobox.com>
+
+ * bus/test-main.c, dbus/dbus-test.c (main): check memleaks
+ after every test so it's quick and easy to see which leaked, and
+ so we test multiple dbus_shutdown() calls
+
+ * configure.in: change configure.in XML stuff to also support
+ expat
+
+ * config-loader-libxml.c: some hacking
+
+ * config-loader-expat.c: some hacking
+
+ * config-parser.c: some hacking, plus tests
+
+2003-03-25 Havoc Pennington <hp@redhat.com>
+
+ * throughout - add more _DBUS_ASSERT_ERROR_IS_CLEAR
+
+ * configure.in: add --with-xml option to specify XML library,
+ right now only libxml is supported.
+
+ * bus/config-loader-libxml.c, config-parser.c: sync some minor
+ nonworking code between home and work, still just stubs
+
+2003-03-24 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-sysdeps.c (_dbus_set_fd_nonblocking): move to this
+ file
+
+ * dbus/dbus-errors.c (dbus_set_error, dbus_set_error_const): allow
+ NULL argument for "message" if the error is a well-known one,
+ fill in a generic message in this case.
+
+ * dbus/dbus-errors.h (DBusResultCode): Kill DBusResultCode in
+ favor of DBusError
+
+ * bus/test.c (bus_test_flush_bus): add
+
+ * bus/policy.c (bus_policy_test): test code stub
+
+2003-03-24 Havoc Pennington <hp@pobox.com>
+
+ * bus/connection.c (bus_connections_setup_connection): set up
+ the "can this user connect" function, but it always returns
+ TRUE until we have a config file parser so we can have a config
+ file that allows connections.
+
+2003-03-23 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-threads.c (dbus_mutex_new, dbus_condvar_new): with
+ DBUS_BUILD_TESTS, actually alloc/free a block of memory for
+ the mutex, so we can check for proper memory management
+ and OOM handling.
+
+ * dbus/dbus-dataslot.c: remove the mutex from
+ DBusDataSlotAllocator and lock it manually when using it,
+ to simplify fitting it into the global slots framework.
+
+ * dbus/dbus-threads.c (init_static_locks): rework how we're
+ handling global locks so they are easily shut down.
+
+ * bus/policy.c (bus_policy_append_rule): fix
+
+ * bus/test-main.c (main): check for memleaks
+
+ * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): make
+ test suite check for memleaks
+
+ * dbus/dbus-memory.c: add support in test mode for tracking
+ number of outstanding blocks
+
+2003-03-23 Havoc Pennington <hp@pobox.com>
+
+ * bus/policy.c, bus/bus.c, bus/connection.c: implement allow/deny
+ policies code
+
+ * dbus/dbus-hash.h: add ULONG hash keys
+
+ * dbus/dbus-sysdeps.c (_dbus_get_groups): new
+ (_dbus_get_group_id): new function
+
+2003-03-20 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-connection.c (dbus_connection_set_unix_user_function):
+ new function
+ (dbus_connection_get_unix_user): new function
+
+2003-03-20 Havoc Pennington <hp@pobox.com>
+
+ * bus/connection.c (bus_connection_send_oom_error): assert that
+ message has a sender
+ (connection_execute_transaction): ditto
+ (bus_connection_preallocate_oom_error): fix to set the sender, and
+ set recipient to the destination service, not the bus driver
+
+ * bus/policy.c: hacking
+
+ * dbus/dbus-message.c (dbus_message_service_is): new function
+ (dbus_message_sender_is): new
+
+2003-03-19 Havoc Pennington <hp@redhat.com>
+
+ * bus/policy.c: start sketching code for policy restrictions on
+ what connections can do.
+
+2003-03-18 Havoc Pennington <hp@redhat.com>
+
+ * doc/TODO: some notes on high-level todo items. Little nitpick
+ stuff is all in @todo, so no need to add it here.
+
+ * doc/config-file.txt: some notes on how config file might look
+
+2003-03-18 Anders Carlsson <andersca@codefactory.se>
+
+ * configure.in: 0.6
+
+ * NEWS: Update.
+
+2003-03-17 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-internals.h: add gcc attributes so that
+ our printf-style functions warn on bad arguments to
+ format
+
+ * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix printf
+ format bug
+
+ * dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
+ printf format bug
+
+2003-03-17 Havoc Pennington <hp@redhat.com>
+
+ * bus/test-main.c (main): make it print something as it runs
+ so make check doesn't look stuck
+
+ * doc/negotiation.txt, doc/dbus-sasl-profile.txt: remove
+ from CVS, now obsolete
+
+2003-03-17 Anders Carlsson <andersca@codefactory.se>
+
+ * bus/dispatch.c: (bus_dispatch):
+ Refetch the service name since it may have been reallocated
+ when dbus_message_set_sender was called.
+
+ * dbus/dbus-sysdeps.c: (_dbus_accept):
+ Add address and address length variables and use them to stop
+ valgrind from complaining.
+
+2003-03-17 Havoc Pennington <hp@pobox.com>
+
+ All tests pass, no memleaks, no valgrind complaints.
+
+ * bus/test.c: refcount handler_slot
+
+ * bus/connection.c (bus_connections_new): refcount
+ connection_data_slot
+
+ * dbus/dbus-auth-script.c (_dbus_auth_script_run): delete unused
+ bytes so that auth scripts pass.
+
+ * bus/dispatch.c: init message_handler_slot so it gets allocated
+ properly
+
+ * bus/dispatch.c (message_handler_slot_ref): fix memleak
+
+ * dbus/dbus-server-debug-pipe.c (_dbus_server_debug_pipe_new):
+ dealloc server_pipe_hash when no longer used for benefit of
+ leak checking
+
+ * dbus/dbus-auth.c (process_command): memleak fix
+
+ * bus/dispatch.c (check_hello_message): memleak fix
+
+2003-03-16 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-bus.c (ensure_bus_data): fix double-unref of the data slot
+
+2003-03-17 Anders Carlsson <andersca@codefactory.se>
+
+ * bus/activation.c (bus_activation_activate_service): Append
+ the pending activation entry to the list of pending activations.
+
+2003-03-16 Havoc Pennington <hp@pobox.com>
+
+ * bus/dispatch.c (bus_dispatch_test): remove double-unrefs of
+ connections
+
+ * dbus/dbus-address.c (create_entry): fix OOM handling when
+ failing to alloc entry->method
+
+2003-03-16 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-watch.c (_dbus_watch_new): handle failure to malloc
+ the watch
+
+ * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
+ add some missing dbus_set_result
+
+ * bus/dispatch.c (bus_dispatch_add_connection): handle failure to
+ alloc the DBusMessageHandler
+
+ * dbus/dbus-transport.c (_dbus_transport_disconnect): don't ref
+ the transport here, since we call this from the finalizer; it
+ resulted in a double-finalize.
+
+ * dbus/dbus-transport.c (_dbus_transport_disconnect): fix a bug
+ where we tried to use transport->connection that was NULL,
+ happened when transport was disconnected early on due to OOM
+
+ * bus/*.c: adapt to handle OOM for watches/timeouts
+
+ * dbus/dbus-transport-unix.c: port to handle OOM during
+ watch handling
+
+ * dbus/dbus-auth.c (_dbus_auth_get_unused_bytes): return a
+ reference to unused bytes instead of a copy
+
+ * dbus/dbus-server.c (dbus_server_handle_watch): return FALSE for
+ out of memory
+
+ * dbus/dbus-connection.c (dbus_connection_handle_watch): return
+ FALSE on OOM
+
+ * dbus/dbus-timeout.c (dbus_timeout_handle): return FALSE for out
+ of memory
+
+2003-03-16 Anders Carlsson <andersca@codefactory.se>
+
+ * doc/dbus-specification.sgml:
+ Document reply message for ActivateService.
+
+2003-03-16 Anders Carlsson <andersca@codefactory.se>
+
+ * bus/activation.c: (bus_pending_activation_entry_free),
+ (bus_pending_activation_free), (bus_activation_new),
+ (bus_activation_unref), (bus_activation_service_created),
+ (bus_activation_activate_service):
+ * bus/activation.h:
+ * bus/bus.c: (bus_context_new):
+ * bus/desktop-file.c: (new_section):
+ * bus/driver.c: (bus_driver_send_service_deleted),
+ (bus_driver_handle_activate_service):
+ * bus/services.c: (bus_registry_new), (bus_registry_ensure):
+ * bus/services.h:
+ * dbus/dbus-connection.c:
+ (dbus_connection_send_with_reply_and_block):
+ * dbus/dbus-message.c: (dbus_message_append_args_valist):
+ * dbus/dbus-protocol.h:
+ Make activation work better. Now pending activations will be queued
+ and the daemon won't try to activate services that are already registered.
+
+2003-03-16 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-bus.c (ensure_bus_data): handle failure to set
+ connection data
+
+ * dbus/dbus-memory.c (_dbus_initialize_malloc_debug): support
+ DBUS_MALLOC_BACKTRACES to print trace when failing an alloc
+
+2003-03-16 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-string.c (_dbus_string_validate_utf8): oops, unbreak
+ this. always run the test suite before commit...
+
+ * bus/*: adapt to DBusConnection API changes
+
+ * glib/dbus-gmain.c: adapt to DBusConnection API changes,
+ requires renaming stuff to avoid dbus_connection_dispatch name
+ conflict.
+
+ * dbus/dbus-transport.c (_dbus_transport_queue_messages): new
+ function
+
+ * dbus/dbus-message.c (_dbus_message_loader_queue_messages):
+ separate from _dbus_message_loader_return_buffer()
+
+ * dbus/dbus-connection.c (dbus_connection_get_n_messages): remove
+ this, because it's now always broken to use; the number of
+ messages in queue vs. the number still buffered by the message
+ loader is undefined/meaningless. Should use
+ dbus_connection_get_dispatch_state().
+ (dbus_connection_dispatch): rename from
+ dbus_connection_dispatch_message
+
+2003-03-16 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-string.c (_dbus_string_validate_utf8): copy in a real
+ implementation
+
+2003-03-16 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-connection.c:
+ (dbus_connection_send_with_reply_and_block):
+ Decrease connection->n_incoming when removing an entry
+ from the list.
+ * dbus/dbus-dict.c: (dbus_dict_entry_free),
+ (dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
+ (dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
+ (dbus_dict_set_byte_array), (dbus_dict_set_string_array),
+ (dbus_dict_get_boolean_array), (dbus_dict_get_double_array),
+ (dbus_dict_get_byte_array):
+ Handle NULL arrays and strings. Also add support for byte arrays.
+
+ * dbus/dbus-marshal.c: (_dbus_marshal_byte_array),
+ (_dbus_marshal_dict), (_dbus_demarshal_byte_array),
+ (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
+ (_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
+ (_dbus_demarshal_dict), (demarshal_and_validate_len),
+ (_dbus_marshal_validate_arg), (_dbus_marshal_test):
+ * dbus/dbus-marshal.h:
+ Add support for marshalling and demarshalling empty arrays and strings.
+
+ * dbus/dbus-message.c: (dbus_message_append_args_valist),
+ (dbus_message_append_string_array),
+ (dbus_message_iter_get_boolean),
+ (dbus_message_iter_get_boolean_array),
+ (dbus_message_iter_get_int32_array),
+ (dbus_message_iter_get_uint32_array),
+ (dbus_message_iter_get_double_array),
+ (dbus_message_iter_get_byte_array),
+ (dbus_message_iter_get_string_array), (dbus_message_iter_get_dict),
+ (check_message_handling):
+ Add support for getting empty arrays and dicts.
+
+ * dbus/dbus-string.c: (_dbus_string_validate_utf8):
+ Don't do any validation at all for now, that's better than just checking
+ for ASCII.
+
+ * test/data/valid-messages/emptiness.message:
+ New test message with lots of empty arrays.
+
+2003-03-16 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-connection.c
+ (_dbus_connection_queue_received_message_link): new function that
+ can't fail due to OOM
+
+ * dbus/dbus-message.c (_dbus_message_loader_pop_message_link):
+ new function pops a message together with a list link
+ containing it.
+
+ * dbus/dbus-transport-unix.c (queue_messages): use new link-based
+ message queuing functions to avoid needing to alloc memory
+
+2003-03-16 Havoc Pennington <hp@pobox.com>
+
+ Oops - test code was only testing failure of around 30 of the
+ mallocs in the test path, but it turns out there are 500+
+ mallocs. I believe this was due to misguided linking setup such
+ that there was one copy of dbus_malloc etc. in the daemon and one
+ in the shared lib, and only daemon mallocs were tested. In any
+ case, the test case now tests all 500+ mallocs, and doesn't pass
+ yet, though there are lots of fixes in this patch.
+
+ * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
+ this so that it doesn't need to allocate memory, since it
+ has no way of indicating failure due to OOM (and would be
+ annoying if it did).
+
+ * dbus/dbus-list.c (_dbus_list_pop_first_link): new function
+
+ * bus/Makefile.am: rearrange to create two self-contained
+ libraries, to avoid having libraries with overlapping symbols.
+ that was resulting in weirdness, e.g. I'm pretty sure there
+ were two copies of global static variables.
+
+ * dbus/dbus-internals.c: move the malloc debug stuff to
+ dbus-memory.c
+
+ * dbus/dbus-list.c (free_link): free list mempool if it becomes
+ empty.
+
+ * dbus/dbus-memory.c (_dbus_disable_mem_pools): new function
+
+ * dbus/dbus-address.c (dbus_parse_address): free list nodes
+ on failure.
+
+ * bus/dispatch.c (bus_dispatch_add_connection): free
+ message_handler_slot when no longer using it, so
+ memory leak checkers are happy for the test suite.
+
+ * dbus/dbus-server-debug-pipe.c (debug_finalize): free server name
+
+ * bus/bus.c (new_connection_callback): disconnect in here if
+ bus_connections_setup_connection fails.
+
+ * bus/connection.c (bus_connections_unref): fix to free the
+ connections
+ (bus_connections_setup_connection): if this fails, don't
+ disconnect the connection, just be sure there are no side
+ effects.
+
+ * dbus/dbus-string.c (undo_alignment): unbreak this
+
+ * dbus/dbus-auth.c (_dbus_auth_unref): free some stuff we were
+ leaking
+ (_dbus_auth_new): fix the order in which we free strings
+ on OOM failure
+
+ * bus/connection.c (bus_connection_disconnected): fix to
+ not send ServiceDeleted multiple times in case of memory
+ allocation failure
+
+ * dbus/dbus-bus.c (dbus_bus_get_base_service): new function to
+ get the base service name
+ (dbus_bus_register_client): don't return base service name,
+ instead store it on the DBusConnection and have an accessor
+ function for it.
+ (dbus_bus_register_client): rename dbus_bus_register()
+
+ * bus/dispatch.c (check_hello_message): verify that other
+ connections on the bus also got the correct results, not
+ just the one sending hello
+
+2003-03-15 Havoc Pennington <hp@pobox.com>
+
+ Make it pass the Hello handling test including all OOM codepaths.
+ Now to do other messages...
+
+ * bus/services.c (bus_service_remove_owner): fix crash when
+ removing owner from an empty list of owners
+ (bus_registry_ensure): don't leave service in the list of
+ a connection's owned services if we fail to put the service
+ in the hash table.
+
+ * bus/connection.c (bus_connection_preallocate_oom_error): set
+ error flag on the OOM error.
+
+ * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
+ handle _dbus_transport_set_connection failure
+
+ * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): modify
+ to create watches up front and simply enable/disable them as
+ needed.
+ (unix_connection_set): this can now fail on OOM
+
+ * dbus/dbus-timeout.c, dbus/dbus-watch.c: add concept
+ of enabling/disabling a watch or timeout.
+
+ * bus/loop.c (bus_loop_iterate): don't touch disabled
+ watches/timeouts
+
+ * glib/dbus-gmain.c: adapt to enable/disable watches and timeouts
+
+2003-03-15 Havoc Pennington <hp@pobox.com>
+
+ * bus/dispatch.c (bus_dispatch_test): OK, now finally actually
+ write useful test code, after all that futzing around ;-)
+
+ Test does not yet pass because we can't handle OOM in
+ _dbus_transport_messages_pending (basically,
+ dbus_connection_preallocate_send() does not prealloc the write
+ watch). To fix this, I think we need to add new stuff to
+ set_watch_functions, namely a SetEnabled function so we can alloc
+ the watch earlier, then enable it later.
+
+ * dbus/Makefile.am (libdbus_convenience_la_SOURCES): move
+ dbus-memory.c to the convenience lib
+
+ * bus/test.c: rename some static functions to keep them clearly
+ distinct from stuff in connection.c. Handle client disconnection.
+
+2003-03-14 Havoc Pennington <hp@pobox.com>
+
+ * bus/dispatch.c (bus_dispatch_test): do test using debug-pipe
+ transport, tests more of the real codepath. Set up clients
+ with bus_setup_debug_client.
+
+ * bus/test.c (bus_setup_debug_client): function to set up debug
+ "clients" on the main loop
+
+ * dbus/dbus-transport.c (_dbus_transport_open): add debug-pipe
+ support
+
+ * dbus/dbus-server.c (dbus_server_listen): add debug-pipe
+ server type
+
+ * dbus/dbus-server-debug.c: support a debug server based on pipes
+
+ * dbus/dbus-sysdeps.c (_dbus_full_duplex_pipe): new function
+ (_dbus_close): new function
+
+ * configure.in: check for socketpair
+
+2003-03-14 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-memory.c: add a "detect buffer overwrites on free"
+ cheesy hack
+
+ * dbus/dbus-transport-debug.c: rework this a good bit to be
+ less complicated. hopefully still works.
+
+ * dbus/dbus-server-debug.c (handle_new_client): remove timeout
+ manually
+
+ * glib/dbus-gmain.c (timeout_handler): don't remove timeout
+ after running it
+
+ * dbus/dbus-message.c (dbus_message_copy): rename from
+ dbus_message_new_from_message, fix it up to copy
+ all the message fields, add test case
+
+ * bus/dispatch.c (bus_dispatch_test): add some more test code,
+ not quite passing yet
+
+2003-03-14 Havoc Pennington <hp@pobox.com>
+
+ * bus/loop.c (bus_loop_iterate): add this so we can "run loop
+ until no work remains" in test code. (the large diff here
+ is just code movement, no actual changes)
+
+ * dbus/dbus-server-debug.c (DEFAULT_INTERVAL): change interval to
+ 1, no point waiting around for test code.
+ (_dbus_server_debug_accept_transport): unref the timeout
+ after adding it (right?)
+
+ * dbus/dbus-transport-debug.c (DEFAULT_INTERVAL): ditto
+
+2003-03-13 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-timeout.c (_dbus_timeout_list_set_functions): handle
+ out of memory
+
+ * dbus/dbus-watch.c (_dbus_watch_list_set_functions): handle out
+ of memory
+
+ * dbus/dbus-connection.h: Make AddWatchFunction and
+ AddTimeoutFunction return a bool so they can fail on out-of-memory
+
+ * bus/bus.c (bus_context_new): set up timeout handlers
+
+ * bus/connection.c (bus_connections_setup_connection): set up
+ timeout handlers
+
+ * glib/dbus-gmain.c: adapt to the fact that set_functions stuff
+ can fail
+
+ * bus/bus.c (bus_context_new): adapt to changes
+
+ * bus/connection.c: adapt to changes
+
+ * test/watch.c: adapt to DBusWatch changes
+
+ * bus/dispatch.c (bus_dispatch_test): started adding this but
+ didn't finish
+
+2003-03-14 Anders Carlsson <andersca@codefactory.se>
+
+ * bus/dispatch.c (send_service_nonexistent_error): Fix typo.
+
+2003-03-13 Havoc Pennington <hp@pobox.com>
+
+ * bus/test.c, bus/test.h, bus/Makefile.am, bus/test-main.c:
+ set up a test framework as for the library
+
+2003-03-12 Havoc Pennington <hp@pobox.com>
+
+ Throughout: purge global variables, introduce BusActivation,
+ BusConnections, BusRegistry, etc. objects instead.
+
+ * bus/bus.h, bus/bus.c: introduce BusContext as a global
+ message bus object
+
+ * test/Makefile.am (TEST_BINARIES): disable bus-test for now,
+ going to redo this a bit differently I think
+
+2003-03-12 Havoc Pennington <hp@redhat.com>
+
+ Mega-patch that gets the message bus daemon initially handling
+ out-of-memory. Work still needed. Also lots of random
+ moving stuff to DBusError instead of ResultCode.
+
+ * dbus/dbus-list.c (_dbus_list_length_is_one): new function
+
+ * dbus/dbus-connection.c
+ (dbus_connection_send_with_reply_and_block): use DBusError
+
+ * dbus/dbus-bus.c: adapt to API changes, make it use DBusError not
+ DBusResultCode
+
+ * dbus/dbus-connection.c (dbus_connection_send): drop the result
+ code here, as the only failure possible is OOM.
+
+ * bus/connection.c (bus_connection_disconnect):
+ rename bus_connection_disconnected as it's a notification only
+
+ * bus/driver.c (bus_driver_handle_acquire_service): don't free
+ "name" on get_args failure, should be done by get_args;
+ don't disconnect client for bad args, just return an error.
+ (bus_driver_handle_service_exists): ditto
+
+ * bus/services.c (bus_services_list): NULL-terminate returned array
+
+ * bus/driver.c (bus_driver_send_service_lost)
+ (bus_driver_send_service_acquired): send messages from driver to a
+ specific client to the client's unique name, not to the broadcast
+ service.
+
+ * dbus/dbus-message.c (decode_header_data): reject messages that
+ contain no name field
+ (_dbus_message_get_client_serial): rename to
+ dbus_message_get_serial and make public
+ (_dbus_message_set_serial): rename from set_client_serial
+ (_dbus_message_set_reply_serial): make public
+ (_dbus_message_get_reply_serial): make public
+
+ * bus/connection.c (bus_connection_foreach): allow stopping
+ iteration by returning FALSE from foreach function.
+
+ * dbus/dbus-connection.c (dbus_connection_send_preallocated)
+ (dbus_connection_free_preallocated_send)
+ (dbus_connection_preallocate_send): new API for sending a message
+ without possibility of malloc failure.
+ (dbus_connection_send_message): rename to just
+ dbus_connection_send (and same for whole function family)
+
+ * dbus/dbus-errors.c (dbus_error_free): make this reinit the error
+
+ * dbus/dbus-sysdeps.c (_dbus_exit): new function
+
+ * bus/activation.c: handle/return errors
+
+ * dbus/dbus-errors.h: add more DBUS_ERROR #define
+
+ * dbus/dbus-sysdeps.c (_dbus_directory_open) (_dbus_file_get_contents)
+ (_dbus_directory_get_next_file): use DBusError instead of DBusResultCode
+ (_dbus_result_from_errno): move to this file
+
+2003-03-10 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-marshal.c:
+ (_dbus_marshal_set_string):
+ Take a length argument so we can marshal the correct string
+ length.
+
+ (_dbus_marshal_dict), (_dbus_demarshal_dict),
+ (_dbus_marshal_get_arg_end_pos), (_dbus_marshal_validate_arg),
+ (_dbus_marshal_test):
+ * dbus/dbus-marshal.h:
+ Add support for marshalling and demarshalling dicts.
+
+ * dbus/dbus-message-builder.c: (_dbus_message_data_load):
+ Add support for TYPE DICT.
+
+ * dbus/dbus-message.c: (set_string_field):
+ Adjust header padding.
+
+ (dbus_message_append_args_valist), (dbus_message_append_dict),
+ (dbus_message_get_args_valist), (dbus_message_iter_get_arg_type),
+ (dbus_message_iter_get_dict), (_dbus_message_loader_return_buffer),
+ (check_message_handling), (check_have_valid_message):
+ * dbus/dbus-message.h:
+ Add functions for setting and getting dicts.
+
+ * dbus/dbus-protocol.h:
+ Add DBUS_TYPE_DICT.
+
+ * dbus/dbus.h:
+ Add dbus-dict.h
+
+ * doc/dbus-specification.sgml:
+ Add information about how dicts are marshalled.
+
+ * test/data/invalid-messages/dict-with-nil-value.message:
+ * test/data/invalid-messages/too-short-dict.message:
+ * test/data/valid-messages/dict-simple.message:
+ * test/data/valid-messages/dict.message:
+ Add sample messages containing dicts.
+
+2003-03-08 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-dict.h: Add DBUS_END_DECLS.
+
+2003-03-07 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/Makefile.am:
+ * dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
+ (dbus_dict_get_keys), (insert_entry), (dbus_dict_set_boolean),
+ (dbus_dict_set_int32), (dbus_dict_set_uint32),
+ (dbus_dict_set_double), (dbus_dict_set_string),
+ (dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
+ (dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
+ (dbus_dict_set_string_array), (_dbus_dict_test):
+ * dbus/dbus-dict.h:
+ Fix according to comments from Havoc.
+
+2003-03-06 Michael Meeks <michael@server.home>
+
+ * configure.in: if we don't have kde-config, disable have_qt.
+
+2003-03-07 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/Makefile.am:
+ Add dbus-dict.[ch]
+
+ * dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
+ (dbus_dict_ref), (dbus_dict_unref), (dbus_dict_contains),
+ (dbus_dict_remove), (dbus_dict_get_value_type),
+ (dbus_dict_get_keys), (dbus_dict_put_boolean),
+ (dbus_dict_put_int32), (dbus_dict_put_uint32),
+ (dbus_dict_put_double), (dbus_dict_put_string),
+ (dbus_dict_put_boolean_array), (dbus_dict_put_int32_array),
+ (dbus_dict_put_uint32_array), (dbus_dict_put_double_array),
+ (dbus_dict_put_string_array), (dbus_dict_get_boolean),
+ (dbus_dict_get_int32), (dbus_dict_get_uint32),
+ (dbus_dict_get_double), (dbus_dict_get_string),
+ (dbus_dict_get_boolean_array), (dbus_dict_get_int32_array),
+ (dbus_dict_get_uint32_array), (dbus_dict_get_double_array),
+ (dbus_dict_get_string_array), (_dbus_dict_test):
+ * dbus/dbus-dict.h:
+ Add DBusDict implementation
+
+ * dbus/dbus-test.c: (dbus_internal_do_not_use_run_tests):
+ * dbus/dbus-test.h:
+ Add _dbus_dict_test
+
+2003-03-04 Havoc Pennington <hp@pobox.com>
+
+ * test/data/auth/*: adapt to changes
+
+ * dbus/dbus-auth-script.c (_dbus_auth_script_run): add
+ USERID_BASE64 and change USERNAME_BASE64 to put in username not
+ userid
+
+ * dbus/dbus-keyring.c (_dbus_keyring_validate_context): prevent
+ more stuff from being in a context name, to make the protocol
+ simpler to deal with
+
+ * dbus/dbus-errors.c (dbus_error_has_name): new function
+ (dbus_error_is_set): new function
+
+ * dbus/dbus-auth.c: replace DBUS_STUPID_TEST_MECH auth
+ with DBUS_COOKIE_SHA1, implement DBUS_COOKIE_SHA1
+
+ * dbus/dbus-connection.c (dbus_connection_flush): also read
+ messages during a flush operation
+
+ * dbus/Makefile.am: remove dbus-md5 since it isn't currently used.
+
+2003-03-05 Anders Carlsson <andersca@codefactory.se>
+
+ * configure.in: Check for gethostbyname on Solaris.
+
+ * dbus/dbus-transport.c: (_dbus_transport_open):
+ Remove duplicate "tcp" entry.
+
+ * doc/dbus-specification.sgml:
+ Clarify some things.
+
+2003-03-05 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-auth.c: (send_rejected), (process_test_subdir):
+ * dbus/dbus-keyring.c: (_dbus_keyring_new_homedir),
+ (_dbus_keyring_test):
+ * dbus/dbus-md5.c: (_dbus_md5_compute):
+ * dbus/dbus-sha.c: (_dbus_sha_compute):
+ Plug memory leaks.
+
+2003-03-05 Anders Carlsson <andersca@codefactory.se>
+
+ * README: Add some things.
+
+2003-03-04 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-message.c (dbus_message_append_args_valist): Add a break;
+ after case DBUS_TYPE_BOOELAN.
+
+2003-03-02 Havoc Pennington <hp@pobox.com>
+
+ * test/break-loader.c (randomly_set_extreme_ints): add test that
+ sets really huge and small integers
+
+ * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add check
+ that length of boolean array fits in the string, and that
+ string has room for boolean value in single-bool case.
+
+ * dbus/dbus-message-builder.c (_dbus_message_data_load): add
+ optional value to "ALIGN" command which is what to fill the
+ alignment with.
+
+ * test/data/valid-messages/no-padding.message: add regression
+ test for the message padding problem
+
+2003-03-02 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-message.c (decode_header_data): fix to always init
+ message_padding, from Benjamin Dauvergne
+
+2003-03-02 Havoc Pennington <hp@pobox.com>
+
+ * configure.in: 0.5
+
+ * NEWS: Update.
+
+2003-03-01 Joe Shaw <joe@assbarn.com>
+
+ * configure.in: Check for "struct cmsgcred" and try to access its
+ members for BSD-like unices.
+
+ * dbus/dbus-sysdeps.c (read_credentials_byte): Fold this back into
+ _dbus_read_credentials_unix_socket().
+ (_dbus_read_credentials_unix_socket): Use recvmsg() instead of
+ read() for reading the credential byte off the unix socket. Use
+ struct cmsgcred on systems that support it.
+
+2003-02-27 Alexander Larsson <alexl@redhat.com>
+
+ * glib/Makefile.am:
+ * configure.in:
+ Make gthreads-2.0 dependency optional. Don't build thread test if
+ its not found.
+
+2003-02-27 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-connection.c
+ (dbus_connection_send_message_with_reply_and_block): fix doh!
+ doh! doh! bug that resulted in never removing a reply from the
+ queue, no wonder we called get_reply_serial so much ;-)
+
+ * dbus/dbus-message.c (struct DBusMessage): cache reply serial
+ and client serial instead of demarshaling them every time
+
+2003-02-27 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-marshal.c (_dbus_demarshal_int32): rewrite to be much
+ more inlined, using dbus-string-private.h, speeds things up
+ substantially
+
+ * dbus/dbus-string.c (_dbus_string_free): apply align offset
+ when freeing the string
+ (_dbus_string_steal_data): fix for align offset
+ (undo_alignment): new function
+
+2003-02-26 Havoc Pennington <hp@redhat.com>
+
+ All kinds of audit fixes from Owen, plus initial attempt to
+ handle unaligned memory returned from malloc.
+
+ * dbus/dbus-string.c (_dbus_string_init): clamp max length to
+ leave room for align_offset and nul byte
+ (fixup_alignment): function to track an align_offset and
+ ensure real->str is aligned
+ (DBUS_GENERIC_STRING_PREAMBLE): len must be less than allocated,
+ to allow a nul byte plus align offset
+ (_dbus_string_lock): fix overflow issue
+ (_dbus_string_init_const_len): add assertions on sanity of len,
+ assign allocated to be ALLOCATION_PADDING larger than len
+ (set_length): fixup the overflow handling
+ (_dbus_string_get_data_len): fix overflow in assertion
+ (open_gap): detect overflow in size of gap to be opened
+ (_dbus_string_lengthen): add overflow check
+ (_dbus_string_align_length): fix overflow with _DBUS_ALIGN_VALUE
+ (_dbus_string_append): add overflow check
+ (_dbus_string_append_unichar): overflow
+ (_dbus_string_delete): fix overflow in assertion
+ (_dbus_string_copy_len): overflow in assertion
+ (_dbus_string_replace_len): overflows in assertions
+ (_dbus_string_find): change to implement in terms of
+ _dbus_string_find_to
+ (_dbus_string_find_to): assorted fixage
+ (_dbus_string_equal_c_str): assert c_str != NULL,
+ fix logic so the function works
+ (_dbus_string_ends_with_c_str): fix overflow thingy
+ (_dbus_string_base64_encode): overflow fix
+ (_dbus_string_validate_ascii): overflow
+ (_dbus_string_validate_nul): overflow
+
+2003-02-26 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-marshal.c (_dbus_marshal_test): fix to work with DISABLE_ASSERTS
+
+2003-02-26 Alexander Larsson <alexl@redhat.com>
+
+ * configure.in:
+ Set DBUS_GLIB_THREADS_LIBS for apps using gthread-2.0
+
+ * dbus/dbus-connection.c:
+ * dbus/dbus-connection.h:
+ Fix _dbus_connection_acquire_io_path and _dbus_connection_acquire_dispatch.
+ Add dbus_connection_set_wakeup_main_function and use it when queueing
+ incoming and outgoing messages.
+
+
+ * dbus/dbus-dataslot.c:
+ Threadsafe usage of DBusDataSlotAllocator
+
+ * dbus/dbus-message.c: (dbus_message_get_args_iter):
+ dbus_new can fail.
+
+ * dbus/dbus-server-unix.c:
+ Add todo comment
+
+ * glib/dbus-gmain.c:
+ Implement the new wakeup functions for glib.
+
+ * glib/Makefile.am:
+ * glib/test-thread-client.c:
+ * glib/test-thread-server.c:
+ * glib/test-thread.h:
+ Initial cut at some thread test code. Not really done yet.
+
+2003-02-26 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-connection.c
+ (dbus_connection_send_message_with_reply_and_block): fix crash
+ where we ref'd the outgoing message instead of the returned reply
+
+ * dbus/dbus-transport-unix.c (do_authentication): check read watch
+ at the end of this function, so if we didn't need to read for
+ authentication, we reinstall it for receiving messages
+
+ * dbus/dbus-message.c (dbus_message_new_reply): allow replies to
+ a NULL sender for peer-to-peer case
+
+ * dbus/dbus-transport-unix.c (check_read_watch): handle
+ !authenticated case correctly
+
+ * glib/dbus-gmain.c: add support for DBusServer
+
+ * dbus/dbus-server.c: add data slot support
+
+ * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): check
+ return values and handle errors
+
+ * dbus/dbus-dataslot.c: factor out the data slot stuff from
+ DBusConnection
+
+ * Doxyfile.in (INPUT): add glib subdir
+
+ * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): rename
+ setup_with_g_main instead of hookup_with_g_main; write docs
+
+2003-02-24 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-marshal.c: (_dbus_marshal_validate_arg):
+ * dbus/dbus-message-builder.c: (_dbus_message_data_load):
+ * dbus/dbus-message.c: (dbus_message_append_boolean),
+ (dbus_message_append_boolean_array),
+ (dbus_message_get_args_valist), (_dbus_message_test):
+ * dbus/dbus-message.h:
+ * doc/dbus-specification.sgml:
+ Various fixes as pointed out by Havoc.
+
+ * test/data/invalid-messages/bad-boolean-array.message:
+ * test/data/invalid-messages/bad-boolean.message:
+ Add invalid boolean value test cases.
+
+2003-02-24 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-internals.c: (_dbus_type_to_string):
+ * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
+ (_dbus_marshal_validate_arg):
+ * dbus/dbus-message-builder.c: (_dbus_message_data_load):
+ * dbus/dbus-message.c: (dbus_message_append_args_valist),
+ (dbus_message_append_boolean), (dbus_message_append_boolean_array),
+ (dbus_message_get_args_valist), (dbus_message_iter_get_boolean),
+ (dbus_message_iter_get_int32), (dbus_message_iter_get_uint32),
+ (dbus_message_iter_get_double),
+ (dbus_message_iter_get_boolean_array), (message_iter_test):
+ * dbus/dbus-message.h:
+ * dbus/dbus-protocol.h:
+ * doc/dbus-specification.sgml:
+ * test/data/valid-messages/lots-of-arguments.message:
+ Add support for boolean and boolean array types.
+
+2003-02-23 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-keyring.c: finish most of this implementation and
+ simple unit test
+
+ * dbus/dbus-errors.c (dbus_set_error_const, dbus_set_error): make
+ these barf if the error isn't cleared to NULL
+
+ * dbus/dbus-sysdeps.c (_dbus_delete_file): set error on failure
+ (_dbus_create_directory): new function
+
+ * dbus/dbus-errors.c (dbus_set_error): fix warning
+
+ * dbus/dbus-string.c (_dbus_string_hex_encode): new function
+ (_dbus_string_hex_decode): new function
+ (test_hex_roundtrip): test code
+
+ * dbus/dbus-sha.c (_dbus_sha_compute): use dbus_string_hex_encode
+
+ * dbus/dbus-md5.c (_dbus_md5_compute): use dbus_string_hex_encode
+
+ * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): make this use
+ the save-to-temp/rename trick to atomically write the new file
+ (_dbus_string_parse_uint): new function
+
+2003-02-22 Havoc Pennington <hp@pobox.com>
+
+ * test/Makefile.am (dist-hook): fix dist for test/data/sha-1
+
+2003-02-22 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-message.c (dbus_message_iter_get_string_array):
+ (dbus_message_iter_get_byte_array): Fix up doxygen warnings
+
+ * dbus/dbus-sha.c: add implementation of SHA-1 algorithm
+
+ * dbus/test/data/sha-1: add US government test suite for SHA-1
+
+2003-02-21 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
+ Make string arrays NULL-terminated.
+
+ * dbus/dbus-memory.c: (dbus_free_string_array):
+ * dbus/dbus-memory.h:
+ New function for freeing NULL-terminated string arrays.
+
+ * dbus/dbus-message-builder.c: (append_quoted_string),
+ (_dbus_message_data_load):
+ Add support for array types.
+
+ * dbus/dbus-message.c: (check_message_handling):
+ Add more types as test cases.
+
+ * dbus/dbus-sysdeps.c: (_dbus_string_parse_int),
+ (_dbus_string_parse_double):
+ Add the start offset to the end offset.
+
+ * test/data/valid-messages/lots-of-arguments.message:
+ New test message with lots of arguments.
+
+2003-02-21 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-message.c: (dbus_message_append_nil),
+ (dbus_message_append_int32), (dbus_message_append_uint32),
+ (dbus_message_append_double), (dbus_message_append_string),
+ (dbus_message_append_int32_array),
+ (dbus_message_append_uint32_array),
+ (dbus_message_append_double_array),
+ (dbus_message_append_byte_array),
+ (dbus_message_append_string_array):
+ Fix all out-of-memory handling in these functions.
+
+2003-02-21 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-message.c: (dbus_message_append_nil):
+ Fix a silly.
+
+2003-02-21 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-message.c: (dbus_message_append_args_valist),
+ (dbus_message_append_nil), (dbus_message_append_int32_array),
+ (dbus_message_append_uint32_array),
+ (dbus_message_append_double_array),
+ (dbus_message_append_byte_array),
+ (dbus_message_append_string_array), (dbus_message_get_args_valist),
+ (dbus_message_iter_get_int32_array),
+ (dbus_message_iter_get_uint32_array),
+ (dbus_message_iter_get_double_array),
+ (dbus_message_iter_get_byte_array),
+ (dbus_message_iter_get_string_array):
+
+ * dbus/dbus-message.h:
+ Add functions for appending and getting arrays.
+
+2003-02-21 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-mempool.c (_dbus_mem_pool_new): Make the
+ element size at least 8 bytes, fixes mempool tests on
+ 64-bit machines.
+
+2003-02-20 Alexander Larsson <alexl@redhat.com>
+
+ * dbus/dbus-transport-unix.c (unix_do_iteration):
+ Unlock the connection mutex during a blocking select call.
+ Add todo about how we need a way to wake up the select.
+
+ * dbus/dbus-connection-internal.h:
+ * dbus/dbus-connection.c:
+ Add _dbus_connection_lock and _dbus_connection_unlock.
+
+2003-02-19 Havoc Pennington <hp@pobox.com>
+
+ * Doxyfile.in (PREDEFINED): put DOXYGEN_SHOULD_SKIP_THIS in
+ Doxyfile.in, not Doxyfile
+
+ * dbus/dbus-keyring.c: do some hacking on this
+
+ * dbus/dbus-sysdeps.c (_dbus_delete_file): new
+
+ * dbus/dbus-errors.c (dbus_set_error_const): do not call
+ dbus_error_init
+ (dbus_set_error): remove dbus_error_init, check for message ==
+ NULL *before* we sprintf into it, and add @todo about including
+ system headers in this file
+
+ * dbus/dbus-sysdeps.c (_dbus_create_file_exclusively): new
+
+ * dbus/dbus-errors.h (DBUS_ERROR_FAILED): add
+
+ * dbus/dbus-sysdeps.c (get_user_info): break this function out to
+ get various bits of user information based on either username
+ or user ID
+ (_dbus_homedir_from_username): new function
+
+2003-02-19 Anders Carlsson <andersca@codefactory.se>
+
+ * configure.in:
+ Add check for nonposix getpwnam_r
+
+ * dbus/dbus-mempool.c: (_dbus_mem_pool_new):
+ Align the pool element size to a sizeof (void *) boundary.
+
+ * dbus/dbus-sysdeps.c: (_dbus_setenv), (_dbus_connect_unix_socket),
+ (_dbus_listen_unix_socket), (_dbus_credentials_from_username):
+ General Solaris fixes.
+
+ * test/data/valid-messages/simplest-manual.message:
+ Explicitly state that we want little-endian packing.
+
+2003-02-19 Mikael Hallendal <micke@codefactory.se>
+
+ * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
+
+ * dbus/dbus-transport-unix.c (_dbus_transport_new_for_tcp_socket):
+ Added to create a transport connecting using a tcp/ip socket.
+
+ * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): Added to connect
+ to a tcp socket at given host and port.
+ (_dbus_listen_tcp_socket): added to listen on tcp socket for given
+ hostname and port.
+
+ * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
+
+ * dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
+ Added to create a server listening on a TCP/IP socket.
+
+2003-02-19 Havoc Pennington <hp@pobox.com>
+
+ Throughout: mop up all the Doxygen warnings and undocumented
+ stuff.
+
+ * dbus/dbus-sysdeps.c (do_exec): do not use execvp, we don't want
+ to search any paths.
+
+ * dbus/dbus-threads.c: move global mutex initializers to
+ dbus-internals.h, multiple prototypes was confusing doxygen
+ besides being kind of ugly
+
+ * Doxyfile (PREDEFINED): have Doxygen define
+ DOXYGEN_SHOULD_SKIP_THIS so we can exclude things from
+ docs with #ifndef DOXYGEN_SHOULD_SKIP_THIS
+ (do not abuse the feature! it's for stuff like the autogenerated
+ macros in dbus-md5.c, not just for things you don't feel like
+ documenting...)
+
+2003-02-18 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-string.c (_dbus_string_zero): new function
+
+ * dbus/dbus-md5.c: include MD5 implementation by L. Peter Deutsch,
+ wrap it in some dbus-friendly API
+
+ * dbus/dbus-types.h: add 16-bit types
+
+2003-02-18 Joe Shaw <joe@assbarn.com>
+
+ * dbus/dbus-auth.c (handle_server_data_stupid_test_mech): Just get
+ credentials from our currently running process.
+ (get_word): Fix a buglet where we were copying the entire length
+ instead of relative to our position.
+
+ * dbus/dbus-hash.c (_dbus_hash_test): Don't try to allocate the
+ keys on the stack... it's 640k of data.
+
+ * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): Always
+ read the credentials byte off the socket, even if we don't have
+ SO_PEERCRED.
+ (_dbus_poll): Implement poll() using select() for systems which
+ don't have it.
+
+ * glib/test-dbus-glib.c (main): Print out an error if no
+ parameters are given.
+
+ * test/data/auth/fallback.auth-script: Added. Tests that a client
+ can fallback to a secondary auth mechanism if the first fails.
+
+2003-02-18 Havoc Pennington <hp@pobox.com>
+
+ * AUTHORS: add Alex
+
+2003-02-17 Havoc Pennington <hp@pobox.com>
+
+ * doc/dbus-specification.sgml: lots of cosmetic
+ cleanups/rearrangement, add assorted FIXME, change DBUS_ADDRESS
+ env variable to DBUS_BUS_ADDRESS, s/client/application/,
+ s/server/bus/ (except in authentication section). Add a section
+ "Message Bus Message Routing"
+
+2003-02-17 Anders Carlsson <andersca@codefactory.se.>
+
+ Release 0.4
+
+ * NEWS: Update
+
+2003-02-17 Anders Carlsson <andersca@codefactory.se>
+
+ * doc/dbus-specification.sgml:
+ Specification updates.
+
+2003-02-17 Anders Carlsson <andersca@codefactory.se>
+
+ * bus/activation.c: (bus_activation_init), (child_setup),
+ (bus_activation_activate_service):
+ * bus/activation.h:
+ * bus/main.c: (main):
+ Set DBUS_ADDRESS environment variable.
+
+ * dbus/dbus-errors.c: (dbus_set_error):
+ Don't use va_copy since that's a C99 feature.
+
+ * dbus/dbus-sysdeps.c: (_dbus_setenv), (do_exec),
+ (_dbus_spawn_async):
+ * dbus/dbus-sysdeps.h:
+ Add child_setup_func to _dbus_spawn_async.
+
+ * doc/dbus-specification.sgml:
+ Update specification.
+
+ * test/spawn-test.c: (setup_func), (main):
+ Fix test.
+
+2003-02-17 Alexander Larsson <alexl@redhat.com>
+
+ * dbus/dbus-connection.c (_dbus_connection_handler_destroyed_locked):
+ Added todo.
+
+2003-02-17 Anders Carlsson <andersca@codefactory.se>
+
+ * doc/.cvsignore:
+ * doc/Makefile.am:
+ * doc/dbus-test-plan.sgml:
+ Add test plan document.
+
+ * test/Makefile.am:
+ Fix distcheck.
+
+2003-02-17 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-message.c: (decode_header_data),
+ (_dbus_message_loader_return_buffer):
+ Set the header padding amount when loading a message.
+
+2003-02-16 Anders Carlsson <andersca@codefactory.se>
+
+ * bus/dispatch.c: (send_one_message):
+ Only send broadcast messages to registered connections.
+
+ * dbus/dbus-message.c: (dbus_message_name_is):
+ * dbus/dbus-message.h:
+ New convenience function.
+
+ * dbus/dbus-transport-debug.c: (do_reading):
+ Only dispatch one message per run.
+
+ * test/Makefile.am:
+ * test/bus-test.c: (new_connection_callback), (die),
+ (test_hello_client1_handler), (test_hello_client2_handler),
+ (test_hello_replies), (main):
+
+ * test/bus-test-loop.[ch]:
+ Add these.
+
+2003-02-16 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
+ backward conditional
+
+2003-02-16 Alexander Larsson <alexl@redhat.com>
+
+ * dbus/dbus-connection.c:
+ Implement sent_message_with_reply. (with_reply_and block is still
+ busted).
+ Made dispatch_message not lose message if OOM.
+
+ * dbus/dbus-errors.h:
+ Add NoReply error (for reply timeouts).
+
+2003-02-16 Alexander Larsson <alexl@redhat.com>
+
+ * dbus/dbus-hash.c (_dbus_hash_table_unref):
+ Actually free keys and values when destroying hashtable.
+
+2003-02-16 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-auth.c: (client_try_next_mechanism):
+ Plug a leak.
+
+ * dbus/dbus-threads.c: (dbus_condvar_wait_timeout):
+ Return TRUE if there's no thread implementation around.
+
+ * glib/dbus-gmain.c: (free_source),
+ (dbus_connection_hookup_with_g_main):
+ Make sure to remove the GSource when the connection is finalized.
+
+2003-02-16 Anders Carlsson <andersca@codefactory.se>
+
+ * bus/dispatch.c: (bus_dispatch_message_handler):
+ * dbus/dbus-errors.h:
+ Return an error if someone tries to send a message to a service
+ that doesn't exist.
+
+2003-02-16 Anders Carlsson <andersca@codefactory.se>
+
+ * bus/activation.c: (load_directory), (bus_activation_init),
+ (bus_activation_activate_service):
+ * bus/activation.h:
+ * bus/driver.c:
+ (bus_driver_handle_activate_service), (bus_driver_handle_message):
+ More work on the activation handling.
+
+ * dbus/dbus-errors.h:
+ Add some error messages
+
+ * dbus/dbus-message.c: (dbus_message_new_error_reply):
+ * dbus/dbus-message.h:
+ New function that creates an error message.
+
+ * dbus/dbus-protocol.h:
+ Add ACTIVATE_SERVER message.
+
+ * dbus/dbus-server-unix.c: (unix_handle_watch),
+ (_dbus_server_new_for_domain_socket):
+ Call _dbus_fd_set_close_on_exec.
+
+ * dbus/dbus-sysdeps.c: (make_pipe), (do_exec),
+ (_dbus_spawn_async), (_dbus_disable_sigpipe),
+ (_dbus_fd_set_close_on_exec):
+ * dbus/dbus-sysdeps.h:
+ Add _dbus_fd_set_close_on exec function. Also add function that checks
+ that all open fds are set to close-on-exec and warns otherwise.
+
+ * dbus/dbus-transport-unix.c:
+ (_dbus_transport_new_for_domain_socket):
+ Call _dbus_fd_set_close_on_exec.
+
+2003-02-16 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-connection.c (dbus_connection_set_change_sigpipe):
+ allow people to avoid setting SIGPIPE to SIG_IGN
+ (_dbus_connection_new_for_transport): disable SIGPIPE unless
+ we've been asked not to
+
+2003-02-15 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-list.c: (_dbus_list_append_link),
+ (_dbus_list_prepend_link):
+ * dbus/dbus-memory.c: (dbus_malloc), (dbus_malloc0),
+ (dbus_realloc):
+ Warning fixes.
+
+2003-02-15 Anders Carlsson <andersca@codefactory.se>
+
+ * bus/Makefile.am:
+ * bus/activation.c: (bus_activation_entry_free),
+ (add_desktop_file_entry), (load_directory), (bus_activation_init):
+ * bus/activation.h:
+ * bus/main.c: (main):
+ Add simple activation support, doesn't work yet though.
+
+2003-02-15 Zack Rusin <zack@kde.org>
+
+ * qt/dbus-qthread.cpp: small casting fix
+
+2003-02-15 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-errors.c: (dbus_set_error):
+ * dbus/dbus-errors.h:
+ Add a few errors and make dbus_set_error void.
+
+ * dbus/dbus-sysdeps.c:
+ (_dbus_errno_to_string), (close_and_invalidate), (make_pipe),
+ (write_err_and_exit), (read_ints), (do_exec), (_dbus_spawn_async):
+ * dbus/dbus-sysdeps.h:
+ Add _dbus_spawn_async.
+
+ * test/spawn-test.c: (main):
+ Test for _dbus_spawn_async.
+
+2003-02-15 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-internals.h:
+ Fix build without tests.
+
+ * dbus/dbus-list.c: (alloc_link):
+ Fix a segfault when a malloc fails.
+
+ * dbus/dbus-memory.c: (initialize_malloc_debug), (dbus_malloc),
+ (dbus_malloc0), (dbus_realloc):
+ Add support for malloc debugging.
+
+2003-02-15 Alexander Larsson <alexl@redhat.com>
+
+ * dbus/dbus-threads.c:
+ * dbus/dbus-threads.h:
+ Add condvars. Remove static mutext from API.
+ Implement static mutexes by initializing them from threads_init.
+
+ * glib/dbus-gthread.c:
+ * qt/dbus-qthread.cpp:
+ Update with the thread api changes.
+
+
+ * dbus/dbus-list.c:
+ * dbus/dbus-list.h:
+ Turn StaticMutex into normal mutex + init function.
+ Export new functions _dbus_list_alloc_link, _dbus_list_free_link,
+ _dbus_list_append_link, _dbus_list_prepend_link
+
+
+ * dbus/dbus-sysdeps.c:
+ * dbus/dbus-sysdeps.h:
+ New type dbus_atomic_t, and new functions _dbus_atomic_inc,
+ _dbus_atomic_dec. Only slow fallback implementation at the moment.
+
+ * dbus/dbus-protocol.h:
+ Add DBUS_MESSAGE_LOCAL_DISCONNECT define
+
+ * dbus/dbus-message.c:
+ Make ref/unref atomic.
+ Fix some docs.
+
+ * dbus/dbus-connection-internal.h:
+ * dbus/dbus-connection.c:
+ * dbus/dbus-connection.h:
+ Make threadsafe.
+ Change _peek to _borrow,_return & _steal_borrowed.
+ Change disconnect callback to event.
+ Make dbus_connection_dispatch_messages reentrant.
+
+ * dbus/dbus-transport.c:
+ Don't ref the connection on calls to the transport
+ implementation.
+
+ * dbus/dbus-message-handler.c:
+ Make threadsafe.
+
+ * glib/dbus-gmain.c:
+ Don't use peek_message anymore
+
+ * test/Makefile.am:
+ * test/debug-thread.c:
+ * test/debug-thread.h:
+ Simple thread implementation that asserts() on deadlocks in
+ single-threaded code.
+
+ * test/bus-test.c:
+ (main) Call debug_threads_init.
+
+ * test/watch.c:
+ Use disconnect message instead of disconnect callback.
+
+ * bus/connection.c:
+ * bus/connection.h:
+ Don't call dbus_connection_set_disconnect_function. Instead export
+ bus_connection_disconnect.
+
+ * bus/dispatch.c:
+ Call bus_connection_disconnect when we get a disconnected message.
+
+2003-02-15 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-message.c (dbus_message_new): fool around with the
+ docs
+
+2003-02-14 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-mempool.c: fail if the debug functions so indicate
+
+ * dbus/dbus-memory.c: fail if the debug functions indicate we
+ should
+
+ * dbus/dbus-internals.c (_dbus_set_fail_alloc_counter)
+ (_dbus_decrement_fail_alloc_counter): debug functions to
+ simulate memory allocation failures
+
+2003-02-14 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-errors.h (struct DBusError): add a word of padding
+ to DBusError
+
+2003-02-13 Anders Carlsson <andersca@codefactory.se>
+
+ * bus/driver.c: (bus_driver_handle_hello):
+ * bus/driver.h:
+ * bus/services.c: (bus_service_lookup):
+ Reorder message sending so we get a more sane order.
+
+ * test/bus-test.c: (message_handler):
+ Fix tyop.
+
+2003-02-13 Anders Carlsson <andersca@codefactory.se>
+
+ * 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_handle_hello),
+ (bus_driver_send_welcome_message),
+ (bus_driver_handle_list_services),
+ (bus_driver_handle_acquire_service),
+ (bus_driver_handle_service_exists):
+ * dbus/dbus-bus.c: (dbus_bus_register_client),
+ (dbus_bus_acquire_service), (dbus_bus_service_exists):
+ * dbus/dbus-errors.c: (dbus_result_to_string):
+ * dbus/dbus-errors.h:
+ * dbus/dbus-message.c: (dbus_message_append_args),
+ (dbus_message_append_args_valist), (dbus_message_get_args),
+ (dbus_message_get_args_valist), (dbus_message_get_args_iter),
+ (dbus_message_iter_get_arg_type), (dbus_message_iter_get_string),
+ (dbus_message_iter_get_byte_array),
+ (dbus_message_iter_get_string_array), (message_iter_test),
+ (check_message_handling), (_dbus_message_test):
+ * dbus/dbus-message.h:
+ * test/bus-test.c: (main):
+ Change fields to arguments in messages, so that they won't be
+ confused with header fields.
+
+ * glib/test-dbus-glib.c: (main):
+ Remove append_fields from hello message.
+
+2003-02-13 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-errors.c:
+ * dbus/dbus-message.c:
+ * dbus/dbus-string.c:
+ Documentation fixes.
+
+2003-02-13 Anders Carlsson <andersca@codefactory.se>
+
+ * glib/dbus-gmain.c: (timeout_handler), (add_timeout),
+ (remove_timeout):
+ Implement support for timeouts in dbus-glib.
+
+2003-02-13 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-message-builder.c: (_dbus_message_data_load):
+ * dbus/dbus-message.c: (process_test_subdir):
+ * test/break-loader.c: (find_breaks_based_on):
+ Plug some memory leaks.
+
+2003-02-13 Richard Hult <rhult@codefactory.se>
+
+ * bus/main.c: Fix build.
+
+ * dbus/dbus-errors.h:
+ * dbus/dbus-errors.c: Fix copyright for Anders.
+
+2003-02-13 Anders Carlsson <andersca@codefactory.se>
+
+ * bus/Makefile.am:
+ Add utils.[ch]
+
+ * bus/connection.c: (bus_connection_foreach):
+ Fix a warning.
+
+ * bus/desktop-file.c: (grow_lines_in_section), (grow_sections),
+ (unescape_string), (new_section), (parse_section_start),
+ (parse_key_value), (report_error), (bus_desktop_file_load),
+ (bus_desktop_file_get_string):
+ * bus/desktop-file.h:
+ Use DBusError for error reporting.
+
+ * bus/dispatch.c: (send_one_message),
+ (bus_dispatch_message_handler):
+ * 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_handle_hello),
+ (bus_driver_send_welcome_message),
+ (bus_driver_handle_list_services),
+ (bus_driver_handle_acquire_service),
+ (bus_driver_handle_service_exists):
+ * bus/loop.c: (bus_loop_run):
+ * bus/main.c:
+ Use BUS_HANDLE_OOM instead of _DBUS_HANDLE_OOM.
+
+ * bus/utils.c: (bus_wait_for_memory):
+ * bus/utils.h:
+ New files with general utility functions.
+
+ * dbus/dbus-internals.h:
+ Remove _DBUS_HANDLE_OOM.
+
+2003-02-13 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-errors.c: (dbus_result_to_string), (dbus_error_init),
+ (dbus_error_free), (dbus_set_error_const), (dbus_set_error):
+ * dbus/dbus-errors.h:
+ Add DBusError structure.
+
+2003-02-13 Anders Carlsson <andersca@codefactory.se>
+
+ * test/data/valid-messages/standard-acquire-service.message:
+ * test/data/valid-messages/standard-hello.message:
+ * test/data/valid-messages/standard-list-services.message:
+ * test/data/valid-messages/standard-service-exists.message:
+ Add some standard messages.
+
+2003-02-13 Anders Carlsson <andersca@codefactory.se>
+
+ * bus/driver.c: (bus_driver_send_welcome_message),
+ (bus_driver_handle_list_services),
+ (bus_driver_handle_acquire_service),
+ (bus_driver_handle_service_exists), (bus_driver_handle_message):
+ Update for API changes in libdbus.
+
+ * dbus/dbus-message.c: (dbus_message_new_reply):
+ * dbus/dbus-message.h:
+ Remove the name argument. The spec states that replies shouldn't
+ have a name.
+
+2003-02-13 Anders Carlsson <andersca@codefactory.se>
+
+ * bus/desktop-file.c: (parse_section_start), (parse_key_value),
+ (report_error), (bus_desktop_file_load), (lookup_section),
+ (lookup_line), (bus_desktop_file_get_raw),
+ (bus_desktop_file_get_string):
+ * bus/desktop-file.h:
+ Some fixes, and new functions for getting a key value from a section.
+
+2003-02-13 Havoc Pennington <hp@pobox.com>
+
+ * test/data/auth/fail-after-n-attempts.auth-script: new test
+
+ * dbus/dbus-auth.c (send_rejected): shutdown_mech() when we
+ reject the client.
+
+2003-02-13 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-auth.c (handle_server_data_external_mech): args to
+ dbus_credentials_match were backward
+
+ * dbus/dbus-auth-script.c (_dbus_auth_script_run): support
+ NO_CREDENTIALS and ROOT_CREDENTIALS
+
+ * dbus/dbus-auth.c (_dbus_auth_do_work): move get_state() routine
+ into here. Never process more commands after we've reached an
+ end state; store further data as unused bytes.
+
+ * test/data/auth/*: add more auth tests
+
+ * dbus/dbus-auth-script.c (_dbus_auth_script_run): support EXPECT
+ command to match exact string and EXPECT_UNUSED to match unused
+ bytes
+
+ * test/Makefile.am (dist-hook): fix to dist all the test stuff
+
+2003-02-12 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-string.c (_dbus_string_pop_line): fix to also strip
+ \r off of popped lines
+
+ * dbus/dbus-auth.c (_dbus_auth_test): write code to run auth
+ scripts
+
+ * dbus/dbus-auth-script.c (_dbus_auth_script_run): when doing a
+ SEND, append \r\n
+
+2003-02-12 Havoc Pennington <hp@pobox.com>
+
+ * dbus/Makefile.am: remove break-loader from the build, since it
+ moved.
+
+ * configure.in: add --enable-gcov to turn on coverage profiling
+ flags and disable optimization
+
+2003-02-10 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-auth-script.c, dbus/dbus-auth-script.h: sync
+ initial cut at test framework for DBusAuth from laptop.
+ Doesn't quite work yet but it compiles and I need to get
+ it off the 266mhz laptop. ;-)
+
+ * dbus/dbus-server-debug.c (_dbus_server_debug_accept_transport):
+ fix a memleak in error case
+
+2003-02-12 Anders Carlsson <andersca@codefactory.se>
+
+ * bus/Makefile.am:
+ * bus/desktop-file.c:
+ * bus/desktop-file.h:
+ Add a desktop file parser.
+
+2003-02-11 Zack Rusin <zack@kde.org>
+
+ * qt/message.[h|cpp]: sample implementation
+ of the KDE wrapper for DBusMessage
+
+2003-02-09 Zack Rusin <zack@kde.org>
+
+ * test/bus-test.c: make_it_compile
+ * doc/dbus-specification.sgml: minimal semantic fix
+
+2003-02-06 Anders Carlsson <andersca@codefactory.se>
+
+ Release 0.3
+
+ * NEWS: Update
+
+2003-02-06 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/Makefile.am:
+ * dbus/dbus-break-loader.c:
+ * test/Makefile.am:
+ * test/break-loader.c:
+ Move dbus-break-loader to test/ and rename it to break-loader.
+
+2003-02-02 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-keyring.c, dbus/dbus-keyring.h: template files
+ for code to manage cookies in your home directory
+
+ * dbus/dbus-sysdeps.c (_dbus_generate_random_bytes): new function
+
+ * dbus/dbus-auth.c (get_state): impose a maximum number of tries
+ to authenticate, then disconnect the client.
+
+2003-02-03 Alexander Larsson <alexl@redhat.com>
+
+ * dbus/dbus-message.c (dbus_message_append_fields):
+ Correct docs.
+
+2003-02-02 Anders Carlsson <andersca@codefactory.se>
+
+ * doc/dbus-specification.sgml:
+ Update address format section.
+
+2003-02-02 Anders Carlsson <andersca@codefactory.se>
+
+ * test/Makefile.am:
+ * test/bus-test.c: (get_time), (add_timeout), (remove_timeout),
+ (message_handler), (new_connection_callback), (loop_quit),
+ (loop_run), (main):
+ Add bus test.
+
+2003-02-02 Anders Carlsson <andersca@codefactory.se>
+
+ * bus/driver.c: (bus_driver_handle_service_exists):
+ Simplify the code a bit.
+
+ * dbus/dbus-bus.c: (dbus_bus_service_exists):
+ Fix a silly.
+
+2003-02-02 Anders Carlsson <andersca@codefactory.se>
+
+ * bus/Makefile.am:
+ Add libdbus-daemon.la and link to it.
+
+2003-02-01 James Willcox <jwillcox@gnome.org>
+
+ * bus/driver.c: (bus_driver_handle_own_service):
+ Actually include the service reply code in the message.
+
+2003-02-02 Anders Carlsson <andersca@codefactory.se>
+
+ * bus/driver.c: (bus_driver_handle_service_exists):
+ Don't unref the incoming message.
+
+2003-02-02 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus.h: Add dbus-address.h and dbus-bus.h
+
+2003-02-02 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-server.c: (dbus_server_listen):
+ * dbus/dbus-transport.c: (_dbus_transport_open):
+ ifdef out the calls to the debug transport and server.
+
+2003-02-02 Alexander Larsson <alexl@redhat.com>
+
+ * dbus/dbus-watch.c (dbus_watch_get_flags):
+ Add note in the docs that ERROR or HANGUP won't be returned
+ and are assumed always on.
+
+ * glib/dbus-gmain.c (add_watch):
+ Always add IO_ERR | IO_HUP
+
+ * dbus/dbus-message.h:
+ Add semicolon after dbus_message_iter_get_string_array().
+ Makes qt code build again
+
+2003-02-01 Anders Carlsson <andersca@codefactory.se>
+
+ * bus/driver.c: (create_unique_client_name),
+ (bus_driver_handle_hello):
+ Don't take a name, just use a numeric id to identify
+ each client.
+
+ * dbus/Makefile.am:
+ * dbus/dbus-bus.c: (dbus_bus_register_client),
+ (dbus_bus_acquire_service), (dbus_bus_service_exists):
+ * dbus/dbus-bus.h:
+ Add new convenience functions for communicating with the bus.
+
+ * dbus/dbus-message.h:
+
+ * dbus/dbus-protocol.h:
+ Fix a typo.
+
+2003-02-01 Alexander Larsson <alexl@redhat.com>
+
+ * dbus/dbus-message.c (dbus_message_append_fields):
+ Add some more doc comments.
+
+2003-02-01 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-break-loader.c (randomly_modify_length): change
+ a 4-byte value in the message as if it were a length
+
+ * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): don't set
+ execute bit on saved files
+
+2003-02-01 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-break-loader.c (main): new program to find messages
+ that break the loader.
+
+ * dbus/dbus-sysdeps.c (_dbus_string_append_uint): new function
+ * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): new function
+
+ * dbus/dbus-string.c (_dbus_string_set_byte): new
+
+2003-01-31 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-message.c: refactor the test code to be more general,
+ in preparation for writing a "randomly permute test cases to
+ try to break the loader" program.
+
+2003-01-31 Havoc Pennington <hp@pobox.com>
+
+ * doc/dbus-specification.sgml: work on the specification
+
+ * dbus/dbus-message.c (_dbus_message_loader_return_buffer): check
+ the protocol version of the message.
+
+ * dbus/dbus-protocol.h: drop special _REPLY names, the spec
+ no longer specifies that.
+ (DBUS_SERVICE_REPLY_SERVICE_EXISTS): fix flags (1/2/4/8 not
+ 1/2/3/4)
+
+ * dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos): add missing
+ "break" for DBUS_TYPE_NIL, remove @todo
+
+2003-01-31 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-message.c (dbus_message_set_is_error_reply): rename
+ just set_is_error/get_is_error as this is a commonly-used
+ function, and write docs.
+
+2003-01-31 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-address.c: (dbus_address_entry_free):
+ Free key and value lists.
+
+ * dbus/dbus-internals.c: (_dbus_type_to_string):
+ Add the types we didn't have.
+
+ * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
+ (_dbus_marshal_validate_arg):
+ Add NIL types.
+
+ * dbus/dbus-message.c: (dbus_message_set_sender):
+ Remove todo about being able to set sender to NULL.
+
+ (dbus_message_set_is_error_reply),
+ (dbus_message_get_is_error_reply):
+ * dbus/dbus-message.h:
+ New functions.
+
+ * dbus/dbus-protocol.h:
+ Add error reply flag.
+
+ * test/data/valid-messages/opposite-endian.message:
+ Add NIL type to test.
+
+2003-01-31 Havoc Pennington <hp@pobox.com>
+
+ * doc/dbus-specification.sgml: fully specify the header. Add
+ flags and major protocol version, and change header/body len to
+ unsigned.
+
+ * dbus/dbus-message-builder.c (append_saved_length): append length
+ as uint32
+
+ * dbus/dbus-message.c (dbus_message_create_header): change header
+ length and body length to unsigned. Add the new fields from the
+ spec
+ (_dbus_message_loader_return_buffer): unsigned header/body len
+
+2003-01-30 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-auth.c: rework to use only REJECTED, no
+ MECHANISMS
+
+ * doc/dbus-sasl-profile.txt: drop MECHANISMS and just
+ use REJECTED, suggested by Mark McLoughlin
+
+2003-01-30 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-server.c (dbus_server_listen): @todo about how we need
+ a better way to report errors here. e.g. "unix address lacks
+ path" or something. also "no such file" when the path doesn't
+ exist, etc.
+
+ * dbus/dbus-address.c (dbus_address_entries_free): add @todo about
+ leaking list nodes
+ (dbus_parse_address): add @todo about documenting address format,
+ and allowing , and ; to be escaped
+
+2003-01-30 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/Makefile.am:
+ Add dbus-address.[ch]
+
+ * dbus/dbus-address.c: (dbus_address_entry_free),
+ (dbus_address_entries_free), (create_entry),
+ (dbus_address_entry_get_method), (dbus_address_entry_get_value),
+ (dbus_parse_address), (_dbus_address_test):
+ * dbus/dbus-address.h:
+ New files for dealing with address parsing.
+
+ * dbus/dbus-connection.c:
+ Document timeout functions.
+
+ * dbus/dbus-message.c:
+ Document dbus_message_new_from_message.
+
+ * dbus/dbus-server-debug.c:
+ Document.
+
+ * dbus/dbus-server.c: (dbus_server_listen):
+ Parse address and use correct server implementation.
+
+ * dbus/dbus-string.c: (_dbus_string_find_to), (_dbus_string_test):
+ * dbus/dbus-string.h:
+ New function with test.
+
+ * dbus/dbus-test.c: (dbus_internal_symbol_do_not_use_run_tests):
+ * dbus/dbus-test.h:
+ Add address tests.
+
+ * dbus/dbus-transport-debug.c:
+ Document.
+
+ * dbus/dbus-transport.c: (_dbus_transport_open):
+ Parse address and use correct transport implementation.
+
+2003-01-30 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-message.c: use message->byte_order instead of
+ DBUS_COMPILER_BYTE_ORDER throughout.
+ (dbus_message_create_header): pad header to align the
+ start of the body of the message to 8-byte boundary
+
+ * dbus/dbus-marshal.h: make all the demarshalers take const
+ DBusString arguments.
+
+ * dbus/dbus-message.c (_dbus_message_loader_return_buffer):
+ validate message args here, so we don't have to do slow validation
+ later, and so we catch bad messages as they are incoming. Also add
+ better checks on header_len and body_len. Also fill in
+ message->byte_order
+
+ * dbus/dbus-string.c (_dbus_string_validate_utf8): new (not
+ implemented properly)
+ (_dbus_string_validate_nul): new function to check all-nul
+
+ * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): rename
+ get_arg_end_pos and remove all validation
+ (_dbus_marshal_validate_arg): actually do validation here.
+
+2003-01-29 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-message.c (check_message_handling): fix assertion
+ failure on set_client_serial
+
+2003-01-28 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-server-debug.c: Add doc section comments
+
+ * dbus/dbus-transport-debug.c: add doc section comments
+
+2003-01-28 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-string.c (_dbus_string_base64_decode): append bytes in
+ the reverse order from how I had it
+ (_dbus_string_base64_encode): reverse encoding order. I was
+ basically byteswapping everything during encoding.
+
+2003-01-28 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-connection-internal.h:
+ * dbus/dbus-connection.c: (_dbus_connection_add_timeout),
+ (_dbus_connection_remove_timeout):
+ Add functions for adding and removing timeouts.
+
+ * dbus/dbus-message.c: (dbus_message_new_from_message):
+ Add new function that takes a message and creates an exact
+ copy of it, but with the refcount set to 1.
+ (check_message_handling):
+ Fix build error.
+
+ * dbus/dbus-server-protected.h:
+ * dbus/dbus-server.c: (_dbus_server_init_base),
+ (_dbus_server_finalize_base), (_dbus_server_add_timeout),
+ (dbus_server_set_timeout_functions):
+ (_dbus_server_remove_timeout):
+ New functions so that a server can add and remove timeouts.
+
+ (dbus_server_listen):
+ Add commented out call to dbus_server_debug_new.
+
+ * dbus/dbus-timeout.c: (_dbus_timeout_new):
+ Actually set the handler, doh.
+
+ * dbus/dbus-transport.c: (_dbus_transport_open):
+ Add commented out call to dbus_transport_debug_client_new.
+
+ * dbus/Makefile.am:
+ Add dbus-transport-debug.[ch] and dbus-server-debug.[ch]
+
+2003-01-28 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-message.c (check_message_handling): function to check
+ on the loaded message, iterates over it etc.
+
+2003-01-28 Havoc Pennington <hp@pobox.com>
+
+ * test/Makefile.am (dist-hook): fix make distdir
+
+ * dbus/Makefile.am (TESTS_ENVIRONMENT): fix make check
+
+2003-01-27 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-mempool.c (time_for_size): replace printf with
+ _dbus_verbose
+
+ * dbus/dbus-message-builder.c (_dbus_message_data_load): allow
+ empty lines; fix the SAVE_LENGTH stuff to be
+ START_LENGTH/END_LENGTH so it actually works; couple other
+ bugfixes
+
+ * test/Makefile.am (dist-hook): add dist-hook for .message files
+
+ * dbus/dbus-string.c (DBUS_STRING_COPY_PREAMBLE): source of a copy
+ can be constant or locked.
+ (_dbus_string_free): allow freeing a const string as
+ documented/intended
+
+ * dbus/dbus-sysdeps.c (_dbus_concat_dir_and_file): utility
+
+ * dbus/dbus-test-main.c (main): take an argument which is the
+ directory containing test data
+
+ * dbus/dbus-message.c (_dbus_message_test): pass a test_data_dir
+ argument to this and load all the messages in test/data/
+ checking that they can be loaded or not loaded as appropriate.
+
+2003-01-27 Anders Carlsson <andersca@codefactory.se>
+
+ * bus/dispatch.c: (bus_dispatch_message_handler):
+ Dispatch messages sent to services.
+
+ * bus/driver.c: (bus_driver_send_service_deleted),
+ (bus_driver_send_service_created), (bus_driver_send_service_lost),
+ (bus_driver_send_service_acquired):
+ Add helper functions for sending service related messages.
+
+ (bus_driver_send_welcome_message):
+ Send HELLO_REPLY instead of WELCOME.
+
+ (bus_driver_handle_list_services):
+ Send LIST_SERVICES_REPLY instead of SERVICES.
+
+ (bus_driver_handle_own_service),
+ (bus_driver_handle_service_exists):
+ New message handlers.
+
+ (bus_driver_handle_message):
+ Invoke new message handlers.
+
+ (bus_driver_remove_connection):
+ Don't remove any services here since that's done automatically
+ by bus_service_remove_owner now.
+
+ * bus/driver.h:
+ New function signatures.
+
+ * bus/services.c: (bus_service_add_owner):
+ Send ServiceAcquired message if we're the only primary owner.
+
+ (bus_service_remove_owner):
+ Send ServiceAcquired/ServiceLost messages.
+
+ (bus_service_set_prohibit_replacement),
+ (bus_service_get_prohibit_replacement):
+ Functions for setting prohibit replacement.
+
+ (bus_service_has_owner):
+ New function that checks if a connection is in the owner queue of
+ a certain service.
+
+ * bus/services.h:
+ Add new function signatures.
+
+ * dbus/dbus-list.c: (_dbus_list_test):
+ Add tests for _dbus_list_remove_last and traversing the list backwards.
+
+ * dbus/dbus-list.h:
+ Fix a typo in _dbus_list_get_prev_link, if we're at the first element we can't
+ go any further, so return NULL then.
+
+ * dbus/dbus-protocol.h:
+ Add new messages, service flags and service replies.
+
+2003-01-26 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-message-builder.c: implement, completely untested.
+
+ * test/data/*: add data to be used in testing.
+ ".message" files are our simple loadable text format.
+ ".message-raw" will be binary dumps of messages.
+
+ * dbus/dbus-string.c (_dbus_string_starts_with_c_str): new
+
+2003-01-26 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-sysdeps.c (_dbus_file_get_contents): new function
+
+ * dbus/dbus-errors.c (dbus_result_to_string): add
+ file errors
+
+ * dbus/dbus-message-builder.c: new file, will contain code to load
+ up messages from files. Not implemented yet.
+
+2003-01-26 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-message.c (dbus_message_set_sender): support deleting
+ the sender by setting to NULL
+
+2003-01-26 Havoc Pennington <hp@pobox.com>
+
+ The unit tests pass, but otherwise untested. If it breaks, the
+ tests should have been better. ;-)
+
+ * bus/driver.c (bus_driver_handle_hello): return if we disconnect
+ the connection.
+
+ * dbus/dbus-message.c: redo everything so we maintain
+ message->header as the only copy of the various fields.
+ This avoids the possibility of out-of-memory in some cases,
+ for example dbus_message_lock() can't run out of memory anymore,
+ and avoids extra copying. Figured I may as well go ahead and do
+ this since it was busted for dbus_message_lock to not return
+ failure on OOM, and dbus_message_write_header was totally
+ unchecked for OOM. Also fixed some random other bugs.
+
+ * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): verify
+ that strings are nul-terminated. Also, end_pos can be equal
+ to string length just not greater than, I think.
+ (_dbus_marshal_set_int32): new function
+ (_dbus_marshal_set_uint32): new function
+ (_dbus_marshal_set_string): new function
+
+ * dbus/dbus-connection.c (_dbus_connection_new_for_transport): fix
+ a warning, init timeout_list to NULL
+ (dbus_connection_send_message): don't use uninitialized variable
+ "serial"
+
+ * dbus/dbus-string.c (_dbus_string_replace_len): new function
+
+2003-01-26 Anders Carlsson <andersca@codefactory.se>
+
+ * bus/driver.c: (bus_driver_handle_hello),
+ (bus_driver_send_welcome_message):
+ Plug leaks
+
+2003-01-26 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-auth.c: (process_auth), (_dbus_auth_unref):
+ * dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
+ (dbus_connection_unref):
+ * dbus/dbus-marshal.c: (_dbus_marshal_test):
+ * dbus/dbus-message.c: (dbus_message_unref),
+ Plug memory leaks.
+
+ (dbus_message_get_fields):
+ Remove debugging printout.
+
+ (_dbus_message_loader_return_buffer):
+ Don't store the header string.
+
+ (_dbus_message_test):
+ Plug leaks.
+
+2003-01-26 Richard Hult <rhult@codefactory.se>
+
+ * glib/dbus-gmain.c (dbus_connection_dispatch): Traverse a copy of
+ the file descriptor list, since it can change under us.
+
+2003-01-25 Anders Carlsson <andersca@codefactory.se>
+
+ * glib/dbus-gmain.c: (dbus_connection_prepare),
+ (dbus_connection_check), (dbus_connection_dispatch), (add_watch),
+ (remove_watch), (dbus_connection_hookup_with_g_main):
+ Rewrite the glib handling to use its own GSource instead of a
+ GIOChannel so we can catch messages put in the queue while waiting
+ for a reply.
+
+2003-01-25 Anders Carlsson <andersca@codefactory.se>
+
+ * bus/Makefile.am:
+ * bus/connection.c: (connection_disconnect_handler),
+ (connection_watch_callback), (bus_connection_setup):
+ * bus/dispatch.c: (send_one_message),
+ (bus_dispatch_broadcast_message), (bus_dispatch_message_handler),
+ (bus_dispatch_add_connection), (bus_dispatch_remove_connection):
+ * bus/dispatch.h:
+ * bus/driver.c: (bus_driver_send_service_deleted),
+ (bus_driver_send_service_created), (bus_driver_handle_hello),
+ (bus_driver_send_welcome_message),
+ (bus_driver_handle_list_services), (bus_driver_remove_connection),
+ (bus_driver_handle_message):
+ * bus/driver.h:
+ Refactor code, put the message dispatching in its own file. Use
+ _DBUS_HANDLE_OOM. Also send ServiceDeleted messages when a client
+ is disconnected.
+
+2003-01-25 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-internals.h:
+ Add _DBUS_HANDLE_OOM macro, it doesn't do anything currently.
+
+ * dbus/dbus-message.c: (dbus_message_get_sender):
+ * dbus/dbus-message.h:
+ Implement dbus_message_get_sender.
+
+ * dbus/dbus-protocol.h:
+ Add message and service defines.
+
+2003-01-25 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-connection.c: (dbus_connection_send_message):
+ * dbus/dbus-message-internal.h:
+ * dbus/dbus-message.c: (_dbus_message_get_client_serial),
+ (dbus_message_write_header):
+ Remove _dbus_messag_unlock and don't set the client serial on a
+ message if one already exists.
+
+2003-01-24 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-list.c (alloc_link): put a thread lock on the global
+ list_pool
+
+ * bus/driver.c (bus_driver_handle_list_services): fix a leak
+ on OOM
+
+2003-01-25 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-list.c: (alloc_link), (free_link):
+ Use a memory pool for the links.
+
+2003-01-25 Anders Carlsson <andersca@codefactory.se>
+
+ * bus/connection.c: (bus_connection_foreach):
+ * bus/connection.h:
+ Add new bus_connection_foreach function.
+
+ * bus/driver.c: (send_one_message), (bus_driver_broadcast_message):
+ Add function that broadcasts a message to all clients.
+
+ (bus_driver_send_service_created), (bus_driver_handle_hello),
+ (bus_driver_send_welcome_message),
+ (bus_driver_handle_list_services), (bus_driver_message_handler):
+ Implement functions that take care of listing services, and notifying
+ clients when new services are created.
+
+ * bus/services.c: (bus_services_list):
+ * bus/services.h:
+ Add new function that returns an array of strings with the currently
+ registered services.
+
+ * glib/dbus-glib.h:
+ * glib/dbus-gmain.c:
+ Update copyright year.
+
+2003-01-25 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-connection.c: (dbus_connection_send_message):
+ Unlock the message in case it was sent earlier.
+
+ (dbus_connection_send_message_with_reply_and_block):
+ Remove the reply message from the list.
+
+ * dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
+ Set array_len and new_pos correctly.
+
+ (_dbus_marshal_test):
+ Remove debug output.
+
+ * dbus/dbus-message-internal.h:
+ * dbus/dbus-message.c: (_dbus_message_get_reply_serial):
+ New function that returns the reply serial.
+
+ (_dbus_message_unlock):
+ New function that unlocks a message and resets its header.
+
+ (dbus_message_append_string_array),
+ (dbus_message_get_fields_valist),
+ (dbus_message_iter_get_field_type),
+ (dbus_message_iter_get_string_array),
+ (dbus_message_get_fields),
+ (dbus_message_append_fields_valist):
+ Handle string arrays.
+
+ (dbus_message_set_sender):
+ Make this function public since the bus daemon needs it.
+
+ (decode_header_data):
+ Set the reply serial to -1 initially.
+
+ * dbus/dbus-message.h:
+ Add dbus_message_set_sender.
+
+2003-01-24 Havoc Pennington <hp@pobox.com>
+
+ * doc/dbus-specification.sgml: add some stuff
+
+2003-01-22 Havoc Pennington <hp@pobox.com>
+
+ * doc/dbus-specification.sgml: Start to document the protocol.
+
+2003-01-22 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-connection.c
+ (dbus_connection_send_message_with_reply_and_block): add some @todo
+
+ * bus/driver.c (bus_driver_add_connection): add a FIXME about memleak
+
+2003-01-21 Havoc Pennington <hp@pobox.com>
+
+ (patch untested because can't compile)
+
+ * bus/driver.c (create_unique_client_name): make this function
+ never recycle client names. Also, caller should initialize
+ the DBusString.
+
+ * dbus/dbus-sysdeps.c (_dbus_get_current_time): new function
+
+2003-01-21 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-marshal.c: (_dbus_marshal_double),
+ (_dbus_marshal_int32), (_dbus_marshal_uint32),
+ (_dbus_marshal_int32_array), (_dbus_marshal_uint32_array),
+ (_dbus_marshal_double_array), (_dbus_marshal_string_array),
+ (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
+ (_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
+ (_dbus_marshal_get_field_end_pos), (_dbus_marshal_test):
+ * dbus/dbus-marshal.h:
+ * dbus/dbus-protocol.h:
+ Add support for marshalling and demarshalling integer, double
+ and string arrays.
+
+2003-01-21 Anders Carlsson <andersca@codefactory.se>
+
+ * bus/Makefile.am:
+ Add driver.[ch]
+
+ * bus/connection.c: (connection_disconnect_handler):
+ Remove the connection from the bus driver's list.
+
+ (connection_watch_callback): Dispatch messages.
+
+ (free_connection_data): Free connection name.
+
+ (bus_connection_setup): Add connection to the bus driver's list.
+ (bus_connection_remove_owned_service):
+ (bus_connection_set_name), (bus_connection_get_name):
+ Add functions for setting and getting the connection's name.
+
+ * bus/connection.h:
+ Add function headers.
+
+ * bus/driver.c: (create_unique_client_name),
+ (bus_driver_handle_hello_message),
+ (bus_driver_send_welcome_message), (bus_driver_message_handler),
+ (bus_driver_add_connection), (bus_driver_remove_connection):
+ * bus/driver.h:
+ * bus/main.c:
+ * bus/services.c: (bus_service_free):
+ * bus/services.h:
+ New file that handles communication and registreation with the bus
+ itself.
+
+2003-01-21 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-connection.c: (dbus_connection_send_message):
+ Add a new client_serial parameter.
+
+ (dbus_connection_send_message_with_reply):
+ Remove a @todo since we've implemented the blocking function.
+
+ (dbus_connection_send_message_with_reply_and_block):
+ New function that sends a message and waits for a reply and
+ then returns the reply.
+
+ * dbus/dbus-connection.h:
+ Add new functions.
+
+ * dbus/dbus-errors.c: (dbus_result_to_string):
+ * dbus/dbus-errors.h:
+ Add new DBUS_RESULT.
+
+ * dbus/dbus-message-internal.h:
+ * dbus/dbus-message.c: (_dbus_message_get_reply_serial),
+ (_dbus_message_set_sender), (dbus_message_write_header),
+ (dbus_message_new_reply), (decode_header_data),
+ (_dbus_message_loader_return_buffer), (_dbus_message_test):
+ * dbus/dbus-message.h:
+ Add new functions that set the reply serial and sender.
+ Also marshal and demarshal them correctly and add test.
+
+ * dbus/dbus-protocol.h:
+ Add new DBUS_MESSAGE_TYPE_SENDER.
+
+ * glib/dbus-glib.h:
+ * glib/dbus-gmain.c: (watch_callback), (free_callback_data),
+ (add_watch), (remove_watch), (add_timeout), (remove_timeout),
+ (dbus_connection_hookup_with_g_main):
+ * glib/test-dbus-glib.c: (main):
+ Rewrite to use GIOChannel and remove the GSource crack.
+
+ * test/echo-client.c: (main):
+ * test/watch.c: (check_messages):
+ Update for changed APIs
+
+2003-01-19 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/Makefile.am: Add dbus-timeout.[cħ]
+
+ * dbus/dbus-connection.c: (_dbus_connection_new_for_transport):
+ Create a DBusTimeoutList.
+ (dbus_connection_set_timeout_functions): Add new function to
+ set timeout callbacks
+
+ * dbus/dbus-connection.h: Add public DBusTimeout API.
+
+ * dbus/dbus-message.c: (dbus_message_get_service):
+ * dbus/dbus-message.h: New function.
+
+ * dbus/dbus-server.c: Fix small doc typo.
+
+ * dbus/dbus-timeout.[ch]: New files for mainloop timeouts.
+
+2003-01-19 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-string.c (_dbus_string_move_len): Don't delete all
+ of the string, just as long as specified.
+
+2003-01-19 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-connection.c (dbus_connection_get_is_authenticated):
+ new function
+
+ * dbus/dbus-server.c (dbus_server_set_max_connections)
+ (dbus_server_get_max_connections, dbus_server_get_n_connections):
+ keep track of current number of connections, and add API for
+ setting a max (but haven't implemented enforcing the max yet)
+
+2003-01-18 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-transport-unix.c (unix_do_iteration): only do the
+ reading/writing if read_watch != NULL or write_watch != NULL.
+
+ * dbus/dbus-message.c (_dbus_message_loader_return_buffer): fix
+ the message loader code to actually load message->header and
+ message->body into the newly-created message.
+
+ * dbus/dbus-transport-unix.c (check_write_watch): fix a mem leak
+ in OOM case
+
+ * dbus/dbus-connection.c (dbus_connection_set_max_message_size)
+ (dbus_connection_get_max_message_size)
+ (dbus_connection_set_max_live_messages_size)
+ (dbus_connection_get_max_live_messages_size): implement some
+ resource limitation functions
+
+ * dbus/dbus-resources.c: new file implementing some of the
+ resource limits stuff
+
+ * dbus/dbus-message.c (dbus_message_iter_get_byte_array): add
+ missing docs, add @todo to handle OOM etc.
+
+ * dbus/dbus-marshal.c (_dbus_demarshal_byte_array): add missing
+ docs
+
+2003-01-18 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-connection.c (dbus_connection_unref): disconnect the
+ connection if it hasn't been already.
+
+ * dbus/dbus-connection.h: kill off the idea of an ErrorFunction,
+ replace with DisconnectFunction.
+
+2003-01-18 Havoc Pennington <hp@pobox.com>
+
+ Building --disable-verbose-mode --disable-asserts --disable-tests
+ cuts the library from 112K to 45K or so
+
+ * configure.in: check for varargs macro support,
+ add --enable-verbose-mode, --enable-asserts.
+
+ * dbus/dbus-internals.h (_dbus_assert): support
+ DBUS_DISABLE_ASSERT
+ (_dbus_verbose): support DBUS_ENABLE_VERBOSE_MODE
+
+2003-01-18 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-test.c: include config.h so that tests actually run
+
+ * dbus/dbus-string.c: add assertions that stuff is 8-byte aligned,
+ so the failure mode when that assumption fails will be plenty
+ obvious.
+
+2003-01-18 Havoc Pennington <hp@pobox.com>
+
+ * configure.in: default --enable-tests to $USE_MAINTAINER_MODE
+
+ * dbus/Makefile.am: fix it up so dubs-test-main.c is included in
+ the distribution
+
+ * test/Makefile.am: don't use special variable "TESTS" for echo-*
+ since we don't want to use those in make check
+
+2003-01-15 Havoc Pennington <hp@redhat.com>
+
+ Release 0.2
+
+ * NEWS: update
+
+2003-01-15 Havoc Pennington <hp@redhat.com>
+
+ * test/Makefile.am: fix so that test source code ends up in the
+ distribution on make distcheck
+
+2003-01-15 Havoc Pennington <hp@redhat.com>
+
+ Release 0.1.
+
+ * NEWS: update
+
+2003-01-15 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-test.c (dbus_internal_symbol_do_not_use_run_tests):
+ fix build when --disable-tests
+
+ * Makefile.am (EXTRA_DIST): put HACKING in here
+
+ * HACKING: document procedure for making a tarball release.
+
+2003-01-14 Anders Carlsson <andersca@codefactory.se>
+
+ * bus/connection.c: (connection_error_handler),
+ (bus_connection_setup):
+ * bus/main.c: (main):
+ Make sure that the DBusConnectionData struct is NULLed
+ out to prevent a segfault.
+
+ * dbus/dbus-errors.c: (dbus_result_to_string):
+ * dbus/dbus-errors.h:
+ * dbus/dbus-message.c: (dbus_message_get_fields),
+ (dbus_message_get_fields_valist), (_dbus_message_test):
+ * dbus/dbus-message.h:
+ Make dbus_message_get_fields return a result code so we can
+ track invalid fields as well as oom.
+
+2003-01-11 Havoc Pennington <hp@pobox.com>
+
+ * configure.in: change --enable-test/--enable-ansi action-if-given
+ to enable_foo=$enableval instead of enable_foo=yes
+
+2003-01-08 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-string.c (_dbus_string_align_length): new function
+
+ * dbus/dbus-test-main.c: move main() for test app here
+ * dbus/dbus-test.c
+ (dbus_internal_symbol_do_not_use_run_tests): we have to export a
+ symbol to run tests, because dbus-test isn't in the main
+ library
+
+ Code review nitpicks.
+
+ * dbus/dbus-message.c (dbus_message_write_header): add newlines
+ for people with narrow emacs ;-). Assert client_serial was filled
+ in. Assert message->name != NULL.
+ (dbus_message_append_fields): have "first_field_type" arg separate
+ from va list, needed for C++ binding that also uses varargs IIRC
+ and helps with type safety
+ (dbus_message_new): add @todo about using DBusString to store
+ service/name internally
+ (dbus_message_new): don't leak ->service and ->name on OOM later
+ in the function
+ (dbus_message_unref): free the service name
+ (dbus_message_get_fields): same change to varargs
+ i.e. first_field_type
+ (_dbus_message_loader_return_buffer): assert that the message data
+ is aligned (if not it's a bug in our code). Put in verbose griping
+ about why we set corrupted = TRUE.
+ (decode_header_data): add FIXME that char* is evil. Was going to
+ add FIXME about evil locale-specific string.h strncmp, but just
+ switched to wacky string-as-uint32 optimization. Move check for
+ "no room for field name" above get_const_data_len() to avoid
+ assertion failure in get_const_data_len if we have trailing 2
+ bytes or the like. Check for service and name fields being
+ provided twice. Don't leak service/name on error. Require field
+ names to be aligned to 4 bytes.
+
+ * dbus/dbus-marshal.c: move byte swap stuff to header
+ (_dbus_pack_int32): uscore-prefix
+ (_dbus_unpack_int32): uscore-prefix
+ (_dbus_unpack_uint32): export
+ (_dbus_demarshal_string): add @todo complaining about use of
+ memcpy()
+ (_dbus_marshal_get_field_end_pos): add @todo about bad error
+ handling allowing corrupt data to go unchecked
+
+2003-01-08 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-transport-unix.c (unix_do_iteration): add read/write
+ to the select() as needed for authentication. (should be using
+ _dbus_poll() not select, but for another day)
+
+ * dbus/dbus.h: include dbus/dbus-protocol.h
+
+2003-01-08 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/Makefile.am (dbusinclude_HEADERS): Install
+ dbus-connection.h
+
+2003-01-08 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-internals.c: (_dbus_type_to_string):
+ New function that returns a string describing a type.
+
+ * dbus/dbus-marshal.c: (_dbus_demarshal_byte_array):
+ * dbus/dbus-marshal.h:
+ * dbus/dbus-message.c: (dbus_message_get_fields_valist),
+ (dbus_message_iter_get_field_type), (dbus_message_iter_get_double),
+ (dbus_message_iter_get_byte_array):
+ * dbus/dbus-message.h:
+ Add new convenience functions for appending and getting message fields.
+ Also add demarshalling routines for byte arrays.
+
+2003-01-07 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-connection-internal.h:
+ * dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
+ (_dbus_connection_get_next_client_serial),
+ (dbus_connection_send_message):
+ * dbus/dbus-internals.h:
+ * dbus/dbus-marshal.c: (unpack_uint32), (dbus_unpack_int32),
+ (dbus_pack_int32), (_dbus_marshal_double), (_dbus_marshal_int32),
+ (_dbus_marshal_uint32), (_dbus_demarshal_double),
+ (_dbus_demarshal_int32), (_dbus_demarshal_uint32),
+ (_dbus_demarshal_string), (_dbus_marshal_get_field_end_pos),
+ (_dbus_verbose_bytes), (_dbus_marshal_test):
+ * dbus/dbus-marshal.h:
+ * dbus/dbus-message-internal.h:
+ * dbus/dbus-message.c: (_dbus_message_set_client_serial),
+ (dbus_message_write_header), (_dbus_message_lock),
+ (dbus_message_new), (dbus_message_ref), (dbus_message_unref),
+ (dbus_message_get_name), (dbus_message_append_int32),
+ (dbus_message_append_uint32), (dbus_message_append_double),
+ (dbus_message_append_string), (dbus_message_append_byte_array),
+ (dbus_message_get_fields_iter), (dbus_message_iter_ref),
+ (dbus_message_iter_unref), (dbus_message_iter_has_next),
+ (dbus_message_iter_next), (dbus_message_iter_get_field_type),
+ (dbus_message_iter_get_string), (dbus_message_iter_get_int32),
+ (dbus_message_iter_get_uint32), (dbus_message_iter_get_double),
+ (decode_header_data), (_dbus_message_loader_return_buffer),
+ (message_iter_test), (_dbus_message_test):
+ * dbus/dbus-message.h:
+ * dbus/dbus-protocol.h:
+ * dbus/dbus-test.c: (main):
+ * dbus/dbus-test.h:
+ * glib/test-dbus-glib.c: (message_handler), (main):
+ * test/echo-client.c: (main):
+ * test/watch.c: (check_messages):
+ Make messages sendable and receivable for real.
+
+2003-01-07 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-marshal.c: (_dbus_marshal_double),
+ (_dbus_marshal_string), (_dbus_marshal_byte_array):
+ * dbus/dbus-message.c: (dbus_message_append_int32),
+ (dbus_message_append_uint32), (dbus_message_append_double),
+ (dbus_message_append_string), (dbus_message_append_byte_array):
+ Handle OOM restoration.
+
+2003-01-07 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-marshal.c: (_dbus_marshal_string),
+ (_dbus_demarshal_string), (_dbus_marshal_test):
+ * dbus/dbus-marshal.h:
+ * dbus/dbus-message.c: (dbus_message_get_name),
+ Document these functions.
+
+ (dbus_message_append_int32), (dbus_message_append_uint32),
+ (dbus_message_append_double), (dbus_message_append_string),
+ (dbus_message_append_byte_array):
+ * dbus/dbus-message.h:
+ Add functions for adding message fields of different types.
+
+ * dbus/dbus-protocol.h:
+ Add the different types.
+
+2003-01-05 Havoc Pennington <hp@pobox.com>
+
+ * bus/connection.c: implement routines for handling connections,
+ first thing is keeping a list of owned services on each connection
+ and setting up watches etc.
+
+ * bus/services.c: implement a mapping from service names to lists
+ of connections
+
+ * dbus/dbus-hash.c: add DBUS_HASH_POINTER
+
+ * dbus/dbus-threads.c (dbus_static_mutex_lock): add functions
+ to use static mutexes for global data
+
+ * dbus/dbus-connection.c (dbus_connection_set_data): add new
+ collection of functions to set/get application-specific data
+ on the DBusConnection.
+
+2003-01-04 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-sysdeps.c (_dbus_sleep_milliseconds): new function
+ (_dbus_poll): new function
+
+ * dbus/dbus-internals.h (_DBUS_STRUCT_OFFSET): new macro
+ copied from GLib
+
+ * bus/loop.c: initial code for the daemon main loop
+
+2003-01-04 Havoc Pennington <hp@pobox.com>
+
+ * test/watch.c (error_handler): make it safe if the error handler
+ is called multiple times (if we s/error handler/disconnect
+ handler/ we should just guarantee it's called only once)
+
+ * dbus/dbus-transport.c (_dbus_transport_disconnect): call the
+ error handler on disconnect (it's quite possible we should
+ just change the error handler to a "disconnect handler," I'm
+ not sure we have any other meaningful errors)
+
+ * configure.in: check for getpwnam_r
+
+ * dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
+ dbus/dbus-auth.c: add credentials support, add EXTERNAL auth
+ mechanism as in SASL spec, using socket credentials
+
+ * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): new function
+ (_dbus_send_credentials_unix_socket): new function
+
+ * dbus/dbus-sysdeps.c (_dbus_accept_unix_socket): rename just
+ dbus_accept()
+ (_dbus_write): only check errno if <0 returned
+ (_dbus_write_two): ditto
+
+2003-01-02 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-marshal.c: (_dbus_marshal_utf8_string),
+ (_dbus_marshal_byte_array), (_dbus_demarshal_utf8_string),
+ (_dbus_marshal_test):
+ * dbus/dbus-marshal.h:
+ Add _dbus_marshal_byte_array and rename _dbus_marshal_string
+ to _dbus_marshal_utf8_string. Also fix some tests.
+
+2002-12-28 Harri Porten <porten@kde.org>
+
+ * configure.in: added check for C++ compiler and a very cheesy
+ check for the Qt integration
+
+ * Makefile.am (SUBDIRS): compile qt subdir if support is enabled
+
+ * qt/Makefile.am: added
+
+ * qt/.cvsignore: added
+
+ * qt/dbus-qthread.cc, qt/dbus-qthread.cpp: renamed former to
+ latter, added #ifdef QT_THREAD_SUPPORT guard.
+
+ * dbus/Makefile.am: added missing headers for make dist
+
+2002-12-28 Kristian Rietveld <kris@gtk.org>
+
+ * dbus/Makefile.am: fixup export-symbols-regex.
+
+2002-12-27 Anders Carlsson <andersca@codefactory.se>
+
+ * acinclude.m4: Add this file and put the
+ PKG_CHECK_MODULE macro in it.
+
+2002-12-27 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-marshal.c: (_dbus_marshal_string),
+ (_dbus_demarshal_double), (_dbus_demarshal_int32),
+ (_dbus_demarshal_uint32), (_dbus_demarshal_string),
+ (_dbus_marshal_test):
+ Make the demarshalling routines align the pos argument.
+ Add string marshalling tests and fix the obvious bugs
+ discovered.
+
+2002-12-26 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-auth.c: fixes fixes fixes
+
+ * dbus/dbus-transport-unix.c: wire up support for
+ encoding/decoding data on the wire
+
+ * dbus/dbus-auth.c (_dbus_auth_encode_data)
+ (_dbus_auth_decode_data): append to target string
+ instead of nuking it.
+
+2002-12-26 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-marshal.h (DBUS_COMPILER_BYTE_ORDER): #ifdef
+ WORDS_BIGENDIAN then compiler byte order is DBUS_BIG_ENDIAN,
+ doh
+
+ * dbus/dbus-marshal.c: Add macros to do int swapping in-place and
+ avoid swap_bytes() overhead (ignoring possible assembly stuff for
+ now). Main point is because I wanted unpack_uint32 to implement
+ _dbus_verbose_bytes
+ (_dbus_verbose_bytes): new function
+
+ * dbus/dbus-string.c (_dbus_string_validate_ascii): new function
+
+ * dbus/dbus-message.c (_dbus_message_loader_get_is_corrupted): add
+ mechanism to handle a corrupt message stream
+ (_dbus_message_loader_new): fix preallocation to only prealloc,
+ not prelengthen
+
+ * dbus/dbus-string.c (_dbus_string_skip_blank): fix this function
+ (_dbus_string_test): enhance tests for copy/move and fix the
+ functions
+
+ * dbus/dbus-transport-unix.c: Hold references in more places to
+ avoid reentrancy problems
+
+ * dbus/dbus-transport.c: ditto
+
+ * dbus/dbus-connection.c (dbus_connection_dispatch_message): don't
+ leak reference count in no-message case
+
+ * test/watch.c (do_mainloop): handle adding/removing watches
+ during iteration over the watches. Also, ref the connection/server
+ stored on a watch, so we don't try to mangle a destroyed one.
+
+ * dbus/dbus-transport-unix.c (do_authentication): perform
+ authentication
+
+ * dbus/dbus-auth.c (get_state): add a state
+ AUTHENTICATED_WITH_UNUSED_BYTES and return it if required
+ (_dbus_auth_get_unused_bytes): append the unused bytes
+ to the passed in string, rather than prepend
+
+ * dbus/dbus-transport.c (_dbus_transport_init_base): create
+ the auth conversation DBusAuth
+
+ * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd)
+ (_dbus_transport_new_for_domain_socket): when creating a
+ transport, pass in whether it's a client-side or server-side
+ transport so we know which DBusAuth to create
+
+2002-12-03 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-transport-unix.c (unix_finalize): finalize base
+ _after_ finalizing the derived members
+ (unix_connection_set): unref watch if we fail to add it
+
+ * dbus/dbus-connection.c (dbus_connection_unref): delete the
+ transport first, so that the connection owned by the
+ transport will be valid as the transport finalizes.
+
+ * dbus/dbus-transport-unix.c (unix_finalize): free the write_watch
+ if necessary, and remove watches from the connection.
+
+ * dbus/dbus-watch.c (_dbus_watch_list_free): improve a comment
+
+2002-12-26 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-marshal.c: (_dbus_marshal_string),
+ (_dbus_demarshal_double), (_dbus_demarshal_int32),
+ (_dbus_demarshal_uint32), (_dbus_demarshal_string),
+ (_dbus_marshal_test):
+ * dbus/dbus-marshal.h:
+ Add string marshal functions and have the demarshal functions
+ return the new position.
+
+2002-12-25 Havoc Pennington <hp@pobox.com>
+
+ * doc/dbus-sasl-profile.txt: docs on the authentication protocol,
+ it is a simple protocol that just maps directly to SASL.
+
+ * dbus/dbus-auth.h, dbus/dbus-auth.c: authentication protocol
+ initial implementation, not actually used yet.
+
+ * dbus/dbus-string.c (_dbus_string_find): new function
+ (_dbus_string_equal): new function
+ (_dbus_string_base64_encode): new function
+ (_dbus_string_base64_decode): new function
+
+2002-12-25 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/Makefile.am:
+ * dbus/dbus-marshal.c: (swap_bytes), (_dbus_marshal_double),
+ (_dbus_marshal_int32), (_dbus_marshal_uint32),
+ (_dbus_demarshal_double), (_dbus_demarshal_int32),
+ (_dbus_demarshal_uint32), (_dbus_marshal_test):
+ * dbus/dbus-marshal.h:
+ * dbus/dbus-protocol.h:
+ * dbus/dbus-test.c: (main):
+ * dbus/dbus-test.h:
+ Add un-optimized marshalling/demarshalling routines.
+
+2002-12-25 Harri Porten <porten@kde.org>
+
+ * qt/dbus-qt.h: adjusted ctor and getter to KDE/Qt conventions
+
+2002-12-24 Zack Rusin <zack@kde.org>
+
+ * qt/dbus-qthread.cc: adding - integrates QMutex into Dbus
+ * qt/dbus-qt.h: skeleton with two sample implemenatation of the
+ main loop stuff
+
+2002-12-24 Havoc Pennington <hp@pobox.com>
+
+ * glib/dbus-gthread.c: fix include
+
+ * glib/dbus-glib.h: rename DBusMessageHandler for now.
+ I think glib API needs to change, though, as you don't
+ want to use DBusMessageFunction, you want to use the
+ DBusMessageHandler object. Probably
+ dbus_connection_open_with_g_main_loop()
+ and dbus_connection_setup_g_main_loop() or something like that
+ (but think of better names...) that just create a connection
+ that has watch/timeout functions etc. already set up.
+
+ * dbus/dbus-connection.c
+ (dbus_connection_send_message_with_reply): new function just to
+ show how the message handler helps us deal with replies.
+
+ * dbus/dbus-list.c (_dbus_list_remove_last): new function
+
+ * dbus/dbus-string.c (_dbus_string_test): free a string that
+ wasn't
+
+ * dbus/dbus-hash.c: use memory pools for the hash entries
+ (rebuild_table): be more paranoid about overflow, and
+ shrink table when we can
+ (_dbus_hash_test): reduce number of sprintfs and write
+ valid C89. Add tests for case where we grow and then
+ shrink the hash table.
+
+ * dbus/dbus-mempool.h, dbus/dbus-mempool.c: memory pools
+
+ * dbus/dbus-connection.c (dbus_connection_register_handler)
+ (dbus_connection_unregister_handler): new functions
+
+ * dbus/dbus-message.c (dbus_message_get_name): new
+
+ * dbus/dbus-list.c: fix docs typo
+
+ * dbus/dbus-message-handler.h, dbus/dbus-message-handler.c:
+ an object representing a handler for messages.
+
+2002-12-16 Anders Carlsson <andersca@codefactory.se>
+
+ * glib/dbus-glib.h:
+ * glib/dbus-gthread.c: (dbus_gthread_init):
+ Don't use the gdbus prefix for public functions.
+
+2002-12-16 Anders Carlsson <andersca@codefactory.se>
+
+ * Makefile.am:
+ * configure.in:
+ Add GLib checks and fixup .pc files
+
+ * glib/Makefile.am:
+ * glib/dbus-glib.h:
+ * glib/dbus-gmain.c: (gdbus_connection_prepare),
+ (gdbus_connection_check), (gdbus_connection_dispatch),
+ (gdbus_add_connection_watch), (gdbus_remove_connection_watch),
+ (dbus_connection_gsource_new):
+ * glib/dbus-gthread.c: (dbus_gmutex_new), (dbus_gmutex_free),
+ (dbus_gmutex_lock), (dbus_gmutex_unlock), (dbus_gthread_init):
+ * glib/test-dbus-glib.c: (message_handler), (main):
+ Add GLib support.
+
+2002-12-15 Harri Porten <porten@kde.org>
+
+ * autogen.sh: check for libtoolize before attempting to use it
+
+ * dbus/dbus-transport-unix.c: include <sys/time.h> for timeval
+ struct.
+
+ * .cvsignore: ignore more stamp files
+
+ * dbus/dbus-watch.c (_dbus_watch_list_new): fixed doc error
+
+ * test/Makefile.am: added -I$(top_srcdir) to be able to compile
+ without make install.
+
+2002-12-15 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-threads.c: add thread stubs that a higher library
+ layer can fill in. e.g. the GLib wrapper might fill them in with
+ GThread stuff. We still need to use this thread API to
+ thread-safe-ize the library.
+
+2002-12-12 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-transport-unix.c, dbus/dbus-server-unix.c: use the
+ below new interfaces and include fewer system headers.
+
+ * dbus/dbus-sysdeps.c (_dbus_read): new function
+ (_dbus_write): new function
+ (_dbus_write_two): new function
+ (_dbus_connect_unix_socket): new function
+ (_dbus_listen_unix_socket): new function
+
+ * dbus/dbus-message-internal.h: change interfaces to use
+ DBusString
+
+2002-12-11 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-types.h: add dbus_unichar
+
+ * dbus/dbus-internals.c (_dbus_verbose): use _dbus_getenv
+
+ * dbus/dbus-connection.c (dbus_connection_send_message): return
+ TRUE on success
+
+ * dbus/dbus-transport.c: include dbus-watch.h
+
+ * dbus/dbus-connection.c: include dbus-message-internal.h
+
+ * HACKING: add file with coding guidelines stuff.
+
+ * dbus/dbus-string.h, dbus/dbus-string.c: Encapsulate all string
+ handling here, for security purposes (as in vsftpd). Not actually
+ using this class yet.
+
+ * dbus/dbus-sysdeps.h, dbus/dbus-sysdeps.c: Encapsulate all
+ system/libc usage here, as in vsftpd, for ease of auditing (and
+ should also simplify portability). Haven't actually moved all the
+ system/libc usage into here yet.
+
+2002-11-25 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-internals.c (_dbus_verbose): fix to not
+ always print the first verbose message.
+
+2002-11-24 Havoc Pennington <hp@pobox.com>
+
+ * test/echo-client.c, test/echo-server.c: cheesy test
+ clients.
+
+ * configure.in (AC_CHECK_FUNCS): check for writev
+
+ * dbus/dbus-message.c (_dbus_message_get_network_data): new
+ function
+
+ * dbus/dbus-list.c (_dbus_list_foreach): new function
+
+ * dbus/dbus-internals.c (_dbus_verbose): new function
+
+ * dbus/dbus-server.c, dbus/dbus-server.h: public object
+ representing a server that listens for connections.
+
+ * dbus/.cvsignore: create
+
+ * dbus/dbus-errors.h, dbus/dbus-errors.c:
+ public API for reporting errors
+
+ * dbus/dbus-connection.h, dbus/dbus-connection.c:
+ public object representing a connection that
+ sends/receives messages. (Same object used for
+ both client and server.)
+
+ * dbus/dbus-transport.h, dbus/dbus-transport.c:
+ Basic abstraction for different kinds of stream
+ that we might read/write messages from.
+
+2002-11-23 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-internals.h (_DBUS_INT_MAX): add _DBUS_INT_MIN
+ _DBUS_INT_MAX
+
+ * dbus/dbus-test.c (main): add list test, and include
+ dbus-test.h as intended
+
+ * dbus/dbus-hash.c (_dbus_hash_table_remove_string)
+ (_dbus_hash_table_remove_int): return value indicates
+ whether the entry existed to remove
+
+ * dbus/dbus-list.c: add linked list utility class,
+ with docs and tests
+
+ * dbus/dbus-hash.c: add TODO item about shrinking the hash bucket
+ array sometimes.
+
+2002-11-23 Havoc Pennington <hp@pobox.com>
+
+ * Doxyfile.in (INCLUDE_FILE_PATTERNS): expand DBUS_BEGIN_DECLS/
+ DBUS_END_DECLS to nothing, that should fix this once and for all
+
+ * Doxyfile.in (JAVADOC_AUTOBRIEF): set to YES
+
+ * dbus/dbus-message.c, dbus/dbus-hash.c:
+ add some missing @brief
+
+2002-11-23 Havoc Pennington <hp@pobox.com>
+
+ * dbus/dbus-message.h: put semicolons after DEBUG_BEGIN_DECLS
+ to avoid confusing Doxygen
+
+ * dbus/dbus-hash.c: @} not }@
+
+ * dbus/dbus-message.c (struct DBusMessage): split out
+ internals docs
+
+2002-11-23 Havoc Pennington <hp@pobox.com>
+
+ * configure.in: pile on more warning flags if using gcc
+
+ * Doxyfile.in (EXTRACT_STATIC): set to NO, so we don't have
+ to document static functions
+
+ * configure.in: add summary to end of configure so it
+ looks nice and attractive
+
+ * dbus/dbus-hash.c: finish implementation and write unit
+ tests and docs
+
+ * configure.in: add --enable-tests to enable unit tests
+
+ * dbus/dbus-test.c: test program to run unit tests
+ for all files in dbus/*, initially runs a test for
+ dbus-hash.c
+
+ * dbus/dbus-internals.h: file to hold some internal utility stuff
+
+2002-11-22 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-hash.c: copy in Tcl hash table, not yet
+ "ported" away from Tcl
+
+ * dbus/dbus-types.h: header for types such as dbus_bool_t
+
+2002-11-22 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus.h: fixups for doc warnings
+
+ * Doxyfile.in (FILE_PATTERNS): we need to scan .h to pick up
+ macros
+ (QUIET): make it quiet so we can see warnings
+
+ * dbus/dbus-memory.c: teach D-BUS to allocate and free memory
+
+2002-11-22 Havoc Pennington <hp@redhat.com>
+
+ * Makefile.am: include "Doxyfile" target in all-local
+
+ * configure.in: generate the Doxyfile
+
+ * Doxyfile.in: move Doxyfile here, so we can use
+ configure to generate a Doxyfile with the right
+ version number etc.
+
+2002-11-22 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-message.c: move inline docs into .c file
+
+ * Doxyfile (OUTPUT_DIRECTORY): move output to doc/api
+ so all docs are under doc/
+ (MAN_EXTENSION): generate man pages. Use extension
+ ".3dbus" which matches ".3qt" on my system,
+ I guess this is OK, I don't know really.
+ (FILE_PATTERNS): look for .c files not .h, makes sense
+ for plain C I think
+
+2002-11-22 Havoc Pennington <hp@pobox.com>
+
+ * Makefile.am (SUBDIRS): rename subdir "server" to "bus"
+ because any app can be a server, and any app can be a client,
+ the bus is a special kind of server.
+
+Thu Nov 21 23:35:31 2002 Zack Rusin <zack@kde.org>
+
+ * Doxyfile : adding. Still needs Makefile rules to be generated
+ automatically (just run "doxygen" in the toplevel dir for now to
+ generate docs)
+
+ * dbus/dbus-message.h : Adding sample docs (javadoc since
+ resembles gtk-doc a little more)
+
+ * dbus/dbus.h : Adding sample docs
+
+2002-11-21 Havoc Pennington <hp@redhat.com>
+
+ * dbus/Makefile.am (INCLUDES): define DBUS_COMPILATION
+ so we can allow ourselves to include files directly,
+ instead of having to use dbus.h
+
+ * dbus/dbus.h: fill in
+
+ * dbus/dbus-message.h: sketch out a sample header file.
+ Include griping if you include it directly instead of
+ via dbus.h
+
+ * dbus/dbus-macros.h: new file with macros for extern "C",
+ TRUE/FALSE, NULL, etc.
+
+ * doc/file-boilerplate.c: put include guards in here
+
+2002-11-21 Havoc Pennington <hp@redhat.com>
+
+ * doc/file-boilerplate.c: include both AFL and GPL boilerplate.
+
+ * COPYING: include the GPL as well, and license code
+ under both AFL and GPL.
+
+2002-11-21 Havoc Pennington <hp@redhat.com>
+
+ * acconfig.h: get rid of this
+
+ * autogen.sh (run_configure): add --no-configure option
+
+ * configure.in: remove AC_ARG_PROGRAM to make
+ autoconf complain less. add AC_PREREQ.
+ add AC_DEFINE third arg.
+
+2002-11-21 Anders Carlsson <andersca@codefactory.se>
+
+ * doc/Makefile.am:
+ Fix references so we can distcheck.
+
+2002-11-21 Havoc Pennington <hp@redhat.com>
+
+ * Initial module creation
+
diff --git a/NEWS.pre-1-0 b/NEWS.pre-1-0
new file mode 100644
index 00000000..7105bc51
--- /dev/null
+++ b/NEWS.pre-1-0
@@ -0,0 +1,614 @@
+D-Bus 1.0.0 (08 November 2006)
+==
+- Documents updated with API/ABI garuntees
+- Added missing patch FreeBSD need to run out of the box
+- dbus-monitor now has a profile mode
+- AUTHORS file updated with names from the ChangeLog
+ Thanks to everyone who helped get us here
+
+D-Bus 1.0 RC 3 (0.95) (02 November 2006)
+==
+- DBUS_API_SUBJECT_TO_CHANGE no longer needs to be defined when building apps
+- ./configure checks now work when cross compiling
+- dbus-uuidgen --ensure is now run in the init script so there is no need to
+ run it in a post script
+- dbus-uuidgen now writes out to /var/lib/dbus to work with systems that do not
+ have a writable /etc. Packages should install and own the /var/lib/dbus
+ directory
+- recursive locks are now used when dbus_threads_init_default is called
+- standard_session_servicedirs tag added to the session.conf
+ under a normal build this specifies these service directories:
+ /usr/local/share/dbus-1/services
+ /usr/share/dbus-1/services
+ $HOME/.local/share/dbus-1/services
+- fixed crash when a service directory is specified more than once
+- fixed a crash in *BSD when watching config directories for changes
+- fixed Irix build by using dirp->__dd_fd to get the file descriptor
+- cleaned up the LOCAL_CREDS vs CMGCRED credential code so *BSD's don't
+ crash here anymore
+- dbus_message_iter_get_array_len deprecated
+- cleanup-man-pages.sh added so packagers can clean up Doxygen man page output
+ from 7 to 2 megs
+- large documentation improvements
+- numerous bug fixes
+
+D-Bus 1.0 RC 2 (0.94) (14 October 2006)
+==
+- dbus-uuidgen binary added for future remote machine identification
+ packagers should call dbus-uuidgen --ensure in their post
+- GetMachineId peer method added to the bus API
+- dbus_connection_set_route_peer_messages API added to let the bus send
+ peer messages directly to an app
+- Autolaunch abilities added to dbus-launch with the --autolaunch flag
+ This feature allows libdbus to start a session bus if none can be found
+ This is an internal feature and should not be used by scripts
+ DBUS_SESSION_BUS_ADDRESS is still the correct way to specify a session bus
+- dbus-launch now prints out a simple key value pairs instead of shell scripts
+ if one of the shell flags aren't used
+- support DBUS_BLOCK_ON_ABORT env variable to cause blocking waiting for gdb
+- weak ref are now held for shared connections so the right things happen
+ this fixes some pretty major bugs with the way connections were handled
+- Some refactoring for Windows (doesn't effect Unix)
+- Solaris build fixes
+- MacOSX build fixes
+- Cross compile build fixes. We now assume getpwnam_r is posix and va_lists
+ can be copied by value since we can't check this in a cross compile. If
+ this is not true for a particular target is up to the developer to patch.
+- Bug fixing all around
+
+D-Bus 1.0 RC 1 (0.93) (14 September 2006)
+==
+- dbus_threads_init_default added for initalizing threads without the need for
+ bindings
+- Filters are now properly removed
+- dbus_connection_open now holds a hard ref to shared connections
+- We now print out a warning and do nothing when someone tries to close a
+ shared connection
+- The --introspect switch has been added to the bus for printing out
+ introspection data without actually running the bus
+- LOCAL_CREDS socket credentials are now supported for systems which
+ support it such as NetBSD
+- Generalize kqueue support so it works with NetBSD as well as FreeBSD
+- Numerous bug fixes and memory leaks patched
+
+D-Bus 0.92 (18 August 2006)
+==
+- Proper thread locking added to pending calls
+- Threading semantics changed from init early to init before the second thread
+ is started
+- Correctly error out when an application tries to acquire or release the
+ org.freedesktop.DBus name instead of sending false result codes
+- kqueue directory watching code can now be used to monitor config file changes
+ on FreeBSD
+- --with-dbus-daemondir configure switch added so the daemon can be installed
+ separate from the user binaries
+- Makefiles fixed for cygwin
+- Various fixes for the ongoing Windows port
+- Fixed docs and comments to use the D-Bus spelling instead of D-BUS
+- Many memleaks and bugs fixed
+
+D-Bus 0.91 (24 July 2006)
+==
+- Remove some lingering bits left over from the bindings split
+- Fix assertion causing D-Bus applications to crash when checks are enabled
+- Fix a timeout bug which would block applications from being auto started
+
+D-Bus 0.90 (17 July 2006)
+==
+- API/ABI freeze for 1.0
+- Bindings are now split out into seperate packages
+- ListActivatableNames added as a method on the bus
+- Removed deprecated dbus_connection_disconnect (use dbus_connection_close)
+- Shared connections are now unreffed on disconnect
+- Fixed pending calls for threaded enviornments
+- Pending calls get timed out on connection disconnect
+- dbus_connection_send_with_reply returns TRUE and a NULL pending call
+ if you call it on a connection object which has been disconnected already
+ (it returns FALSE on Out of Memory errors only)
+- dbus-monitor now correctly catches methods, not just signals
+- dbus-monitor now prints object paths
+
+D-BUS 0.62 (12 June 2006)
+==
+- Doc fixes
+- Added support for all data-types for the dbus tools
+- Fixed eavesdropping on method calls (dbus-monitor)
+- Fixed silent dropping of method calls with interface=NULL
+- Fixed console ownership problems in Solaris
+- Fixed installation of dbus-signature.h and #include it in dbus/dbus.h
+- Flush the user database cache on config reload
+- GLib bindings:
+ - Fix memory leaks
+ - Fix properties in DBusGProxy so that they can be given in any
+ order
+ - Added lots of assertions to ensure correct use
+ - Remove duplicated code
+ - Fix static string pointer uses in GPtrArray-based collections
+- Python bindings:
+ - Remove reference to sys/cdefs.h
+- Qt4 bindings:
+ - Code reorganized
+ - Added the dbusidl2cpp, dbuscpp2xml and dbus tools
+ - Added example programs (ping-pong, complex ping-pong, listnames, chat)
+ - Updated selftests
+ - Fixed compilation and .moc- and .ui-file processing and cleaning
+ - Made central classes derive from QObject
+ - Enhance error reporting
+ - Many bugfixes
+- Mono bindings:
+ - Minor bugfixes
+
+D-BUS 0.61 (24 Febuary 2006)
+==
+- Documentation all around
+- dbus-launch now produces correct sh and csh syntax
+- Nested arrays now work correctly
+- GLib bindings:
+ - Inheriting from DBusGProxy is now possible
+ - GPtrArrays can now be marshalled
+ - org.freedesktop.DBus.GLib.ClientCSymbol annotation added
+ - Openning connections to arbitrary addresses now supported
+- Python bindings:
+ - sender_keyword and path_keyword keywords added to signal listener API
+ - Byte types now demarshal to unsigned char
+ - calling methods now do the correct thing
+- Qt bindings:
+ - both Qt3 and Qt4 bindings can be built at the same time
+ - Use the standard org.freedesktop.DBus.Method.NoReply annotation
+ for the "async" calls instead of creating one for us.
+- Mono bindings:
+ - 64bit arch fixes
+- Massive bug fixing all around
+
+D-BUS 0.60 (30 November 2005)
+==
+
+- major ABI/API changes - sonames changed
+- RequestName queuing behavior has changed (refer to dbus-specification)
+ - DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT has been removed and
+ DBUS_NAME_FLAG_ALLOW_REPLACEMENT has been added to the flags
+- signals emitted by the bus now show up in the introspect data
+- auth EXTERNAL now supported on BSD varients
+- ReleaseName method added to the bus to allow a service
+ to remove itself as owner of a bus name
+- dbus_connection_read_write added for getting messages off the bus
+ in the absence of a mainloop
+- Qt4 bindings added and the Qt3 bindings have been depricated
+- python bindings:
+ - marshal using introspect data if available
+ - better exception handling and propigation
+ - private connections are now supported
+ - UTF-8 cleanups
+ - out_signature added to method decorators for specifying
+ how the return values should be marshaled
+ - sender_keyword added to method decorators for specifying
+ and argument to provide the unique name of the method caller
+ - async_callbacks added to method decorators
+ - multiple inheritance of classes now supported
+- GLib bindings:
+ - respect NoReply annotations
+ - dbus_g_method_return_get_reply and dbus_g_method_return_send_reply
+ added to the lowlevel code for use when the dbus-glib marshalling
+ code is not adiquate
+- numerous bug fixes all around
+
+D-BUS 0.50 (06 September 2005)
+===
+This is a minor release from 0.36.2. The series number has changed
+not because of any technical reasons but as an indication that we
+are moving closer to 1.0. It is hoped that this will be the last
+series to see major changes, most of which will be isolated to the
+GLib and Python bindings, as we transition to concentrate more on
+bug busting and code auditing.
+
+- D-Bus builds on the Cygwin platform
+- Makefile cleanups
+- Various bug fixes
+- Optimization of the dbus object tree
+- Memleaks and GIL crasher bugs have been fixed in the Python bindings
+
+D-BUS 0.36.2 (29 August 2005)
+===
+- Security: Restrict other users from connecting to another users
+ session bus
+
+D-BUS 0.36.1 (24 August 2005)
+===
+- Python Bindings:
+ - fixed to work with hal-device-manager
+ - For 64bit builds everything is installed to lib64/python2.4/
+ since Python can't handle multilib
+
+D-BUS 0.36 (23 August 2005)
+===
+- Maximum sized of cached messages have been reduced to 10K
+- Match rules now allow matching on arguments inside the message
+- introspect.xsl XSLT style sheet added for formatting introspection
+ data into XHTML for analysis
+- Python bindings:
+ - now have working type objects for explicit
+ typecasting
+ - Variant type has been added
+ - Dictionaries, Variants and Arrays can all be passed the signiture or
+ type(s) of their children
+ - the optional timeout= keyword has been added when making method calls
+ - match on args has been implemented
+ - a .pth file has been added for dealing with libraries and python files
+ being in different directories such as in 64bit installs
+ - various bug fixes
+- GLib bindings:
+ - deeply recursive types now supported
+ - many symbols are no longer exported as part of the public API
+ - various memleak and other bug fixes
+
+D-BUS 0.35.2 (17 July 2005)
+===
+- Rename Unix Security Context to SELinux Security Context in API
+- Fixed more dist errors that distcheck didn't pick up on
+- Fixed various bugs in the python bindings that prevented them from working
+
+D-BUS 0.35.1 (16 July 2005)
+===
+- Fixed dist error where python/dbus_bindings.pxd was being shipped
+ instead of dbus_bindings.pxd.in
+- Use this instead of the 0.35 tarball
+
+D-BUS 0.35 (15 July 2005)
+===
+- --with-dbus-user added to the configure scripts for configuring the
+ user the system bus runs on
+- --with-console-auth-dir added to configure scripts for configuring the
+ directory to look in for console user locks
+- service files for auto-starting D-Bus services now has the ability to pass
+ in command line arguments to the executable
+- Huge auto-start bug squashed which caused some services not to start when
+ requested in rapid succession
+- SE-Linux security contexts can now be appended to messages for inspection
+ by services that enforce their own security policies
+- Colin says the GLib binding are ready for general consumption
+- New GLib tutorial
+- New GLib example code
+- Python bindings are now version (0,42,0)
+- Python bindings API has changed on the service side
+- dbus.service has been split out as a seperate module
+- dbus.service.Service is renamed to dbus.service.BusName
+- dbus.service.Object has swapped the bus_name and object_path constructor
+ parameters to make it easier to do inheritance over the bus
+- dbus.glib has been seperated out in order to lessen the dependency on glib
+ and to allow other mainloops to be integrated with the bindings including
+ a planned generic mainloop for non-gui apps.
+- Python bindings now aquire the GIL when calling back into the python
+ interpreter. Fixes crashes when using threading and other random segfaults.
+- New Python tutorial
+- Numerous D-Bus bug fixes all around
+
+D-BUS 0.34 (15 June 2005)
+===
+- dbus_connection_disconnect is deprecated in favor of dbus_connection_close
+- The bus can now use D_NOTIFY (if available) to check when configuration files
+ have changed and reload them
+- New dbus_message_has_path/member/interface API added
+- The Ping message from the org.freedesktop.DBus.Peer interface is now handled
+- Complete glib bindings overhaul (and are still under construction)
+- Tutorial now has an updated GLib section
+- GLib bindings can now send/receive hash tables, arrays and other complex types
+- Python bindings overhaul (most public facing API's done)
+- Python bindings have been split up into separate files
+- Python added new type classes for hinting to the marshaler what type
+ to send over the wire
+- Python bindings now have decorators for specifying exported methods and signals
+- Numerous bug fixes
+
+D-BUS 0.33 (25 Apr 2005)
+===
+
+- downgrade requirement from GTK+-2.6 to 2.4 for building gtk components
+- python binding API's have been overhalled to be more "pythonic" and cleaner
+- python bindings now export dbus.version which is set to (0,40,0)
+- python bindings now implement the org.freedesktop.DBus.Introspectable interface
+- python binding match rules are now more flexable
+- make check has been fixed
+- many, many major bug fixes
+
+D-BUS 0.32 (29 Mar 2005)
+===
+
+- mono bindings now compiles correctly
+- mono binding cleanups
+- glib bindings generates wrappers for bus methods in dbus-glib-bindings.h
+- glib binding cleanus
+- users and groups can now be specified by UID and GID in config files
+- numerous memory leak fixes
+- various other fixes
+
+D-BUS 0.31 (07 Mar 2005)
+===
+
+- land the new message args API and recursive type system
+- add docs and fixed Doxygen warnings throught source
+- split out some functions not needed in libdbus to *-util.c source files
+- take out type convienience functions
+- libdbus now back below 150K
+- booleans are now 32-bit instead of 8-bit
+- specification updated
+- grand renaming to strip out the use of "service"
+ just say "name" instead (or "bus name" when ambiguous)
+- rename dbus-daemon-1 to dbus-daemon throughout
+- rename activation to auto-start
+- auto-start on by default now
+- note that libdbus is the low-level API
+- python bindings updated to the new API
+- mono bindings updated to the new API
+- add 16 bit types
+- dictionaries are now ARRAYS of DICT_ENTRY
+- dbus-glib-tool renamed to dbus-binding-tool
+- massive rewrite of the glib bindings
+- saner names for the dbus interface, object path and service defines
+- new functions for handling type signitures
+- bump sonames for libdbus and libdbus-glib
+- various small fixes
+
+D-BUS 0.23 (11 Jan 2005)
+===
+
+- add setgroups() to drop supplementary groups
+- updated SELinux support
+- add an "at console" security policy
+- fix a bug where org.freedesktop.DBus wasn't recognized as an existing
+ service.
+- error out if --enable-mono is explicitly set and mono libs can't be found
+- set the max_match_rules_per_connection limit from the config file.
+- removed dbus_bug_get_with_g_main since it's been replaced by
+ dbus_g_bus_get
+- fix fd leaks in socket code
+- lots and lots of mono binding updates, including fixes to make it
+ compatible with Mono 1.1.3
+- added --nofork option to override config file setting at runtime
+- added support for int64 and uint64 to the python bindings
+- lots of python binding updates
+- config file DTD updates
+- use SerivceOwnerChanges signal instead of ServiceCreated and
+ ServiceDeleted
+- fixes to the authentication code
+- new init script for Slackware
+- print out the pid even when --fork is passed
+- increase preallocation sizes in DBusMessage to heavily reduce
+ reallocs
+- lots of performance enhancements
+- lots more small bug fixes
+
+D-BUS 0.22
+===
+
+- add --reply-timeout to dbus-send
+- fix a memleak
+- fix Solaris/Forte build
+- switch to AFL 2.1 rather than 2.0 to address patent termination clause
+ concerns
+- add SELinux support
+- mostly repair libxml backend for config parser, still doesn't
+ pass out of memory tests
+- fix distcheck to include language bindings
+- add GetConnectionUnixUser method on bus driver
+- also for UnixProcessID
+- lots of Python, Mono, other binding fixes
+- change GLib bindings to not include dbus/dbus.h (fully encapsulate libdbus)
+- pass paths as strings, not arrays of string
+- add message signature header field
+- cleanups to marshaling code
+- clean up authentication code
+- reload conf files on SIGHUP
+- rename SERVICE/SENDER_SERVICE to DESTINATION/SENDER
+- fix circular conf file inclusion
+- allow empty arrays
+- tons of other small bugfixes
+
+D-BUS 0.21
+===
+
+- implement "auto activation" flag on messages, so the destination
+ service can be launched automatically
+- fix a bug in custom type marshaling
+- optimize case where multiple apps activate the same service
+ (avoid "thundering herd")
+- add dynamic service file discovery/reloading
+- fix a busy loop when blocking for a reply
+- fix a 64-bit crash involving varargs
+- fix a bus crash when processing an AcquireService
+- allow appending TYPE_BYTE via append_args_valist
+- fix dicts-inside-dicts
+- enhancements to Python and Qt bindings
+
+D-BUS 0.20
+===
+
+This release lands some very large API changes and numerous bugfixes.
+The list of changes is too large to fully document here; please refer
+to the documentation, and message-bus-list archives.
+
+D-BUS 0.13
+===
+
+This is probably the last release before landing the large API changes
+on the "dbus-object-names" branch.
+
+- fix system bus to always use filesystem socket; anyone
+ can create any abstract socket, which isn't secure
+ since if you can crash the system bus you'd be able
+ to replace it.
+- add DTD for configuration file
+- improve specification a bit
+
+D-BUS 0.12
+===
+
+- fix "service messagebus status" on Red Hat
+- fix demarshaling of DBUS_TYPE_NAMED
+- fix "eval `dbus-launch --exit-with-session`" to exit properly
+- fix build without --prefix
+- useless fooling with Mono bindings
+- useless fooling with gcj bindings
+- fix srcdir != builddir
+- fix various compiler warnings and other issues
+- add get/set data to DBusMessage
+- fix headers for C++
+- OS X build fixes
+- abstract domain sockets support (Linux only)
+- add dbus-cleanup-sockets utility for people
+ not using linux
+- be consistent about defaulting to --session/--system
+ with command line tools
+- merge in policies from included config files
+- fix build on non-x86
+- docs updates
+- lots of other bugfixes
+
+D-BUS 0.11
+===
+
+- add --enable-docs to turn off/on the docbook stuff
+ (doesn't cover doxygen stuff yet)
+- make people define DBUS_API_SUBJECT_TO_CHANGE
+ and read warning in README so they don't
+ expect the API to be frozen already
+- rename .pc files to "dbus-1.pc" instead of
+ "dbus-1.0.pc" etc. - this will require changing
+ pkg-config invocations
+- some docs cleanups
+- add man pages for all executables
+- allow send to/from bus driver in the default system.conf
+- fix user lookup bug
+- implement dbus-launch to launch the session message bus
+- fix some thread deadlocks
+- some performance profiling/optimization
+- add dbus_bus_activate_service() function
+- fix some minor bugs here and there
+- install Red Hat initscript in the right place
+
+D-BUS 0.10
+===
+
+- reversed order of args to dbus_message_new()
+- renamed dbus_message_name_is() and some other
+ functions
+- change DBusWatch to have dbus_watch_handle()
+ similar to dbus_timeout_handle(), drop
+ connection/server-specific handle routines
+- change message serials to be unsigned
+- implemented <allow>/<deny>/<limit> features for
+ config file; system bus now has a deny-all policy
+ by default.
+- system.conf has <includedir>system.d</includedir>
+ so packages can install additions to the default
+ policy to <allow> the messages they need. e.g.
+ CUPS might install a cups.conf - see
+ test/data/valid-config-files/system.d/test.conf
+ for an example.
+- add timeouts for authentication, activation
+- add glib-style "checks" on public API, enable
+ those by default, disable assertions by default
+- add GMainContext argument to GLib setup functions,
+ can be NULL for default context. Needed for threads.
+- add 64-bit integer type
+- validate type of standard message header fields
+- consider messages in the org.freedesktop.Local
+ namespace to be invalid (to avoid fake disconnect
+ messages for example)
+- fix assorted memory leaks and other bugs in
+ the SHA-1 auth mechanism
+- cache user database information (groups user is
+ in, etc.) helps a lot with NIS
+- always store uid_t, pid_t, gid_t in "ulong"
+ rather than "int"
+- implement config file settings for which
+ users can connect
+- SHA-1 unit test
+- dbus-send, dbus-monitor command line utilities
+- fixed lots of misc crashes and other bugs
+
+D-BUS 0.9
+===
+
+- implemented a test case for service activation,
+ and fixed many bugs exposed by that
+- implemented recursive argument marshaling/demarshaling
+ for messages, allowing multidimensional arrays
+- fixed up integration of message dispatch with
+ main loop by adding a callback on change of
+ dispatch status
+- add a pidfile feature to daemon
+- some build fixes
+- clean up unix domain sockets on exit
+- add --print-address and the ability
+ to create a random server address
+ in a temporary directory
+
+D-BUS 0.8
+===
+
+- fix dumb bug in 0.7
+
+D-BUS 0.7
+===
+
+- implement configuration file used to control bus characteristics
+- implement daemon mode, changing user ID, and other system
+ bus features
+- add init scripts for systemwide bus
+- add "make check-coverage" target to check test coverage
+- more test suite additions
+- many, many bugfixes
+- many API changes/fixes
+
+D-BUS 0.6
+===
+- Vastly improved bus daemon test suite
+- Lots of misc. bugfixes and memory leak fixes
+- Support for marshalling key/value data
+- Activation improvements.
+
+D-BUS 0.5
+===
+
+- Specification updates
+- port to OS X and other BSD variants
+- port to Solaris
+- Partial work on cookie-based authentication
+- Thread safety fixes
+- Lots of misc. bugfixes
+- Support for more array types
+- Add data slots to DBusServer
+- DBusString security audit fixes
+- Fix for systems (or valgrind) with unaligned malloc blocks
+
+D-BUS 0.4
+===
+
+- Preliminary activation support.
+- Better authentication test suite
+- Bus test program
+- Specification updates
+- Thread safety
+- Bug fixes
+
+D-BUS 0.3
+===
+
+ - Preliminary limitations
+ - Message sending works
+ - Bus client
+ - Array marshalling/demarshalling
+ - Services
+ - Better OOM handling in the bus
+ - In-proc debug transport
+ - Transport/server address support
+
+D-BUS 0.2
+===
+
+ - Include test code in the tarball.
+
+D-BUS 0.1
+===
+
+ - Initial release.