platform/upstream/dbus.git
18 years ago2006-11-07 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Tue, 7 Nov 2006 17:16:16 +0000 (17:16 +0000)]
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.

18 years ago2006-11-07 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Tue, 7 Nov 2006 06:13:53 +0000 (06:13 +0000)]
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).

18 years ago* bus/bus.c: Missed patch - pass in the context to the directory watch
John (J5) Palmieri [Mon, 6 Nov 2006 16:02:19 +0000 (16:02 +0000)]
* bus/bus.c: Missed patch - pass in the context to the directory watch

18 years ago* bump release
John (J5) Palmieri [Fri, 3 Nov 2006 20:53:22 +0000 (20:53 +0000)]
* bump release

18 years ago* Released D-Bus 1.0 RC 3(0.95) dbus-0.95
John (J5) Palmieri [Fri, 3 Nov 2006 20:49:56 +0000 (20:49 +0000)]
* Released D-Bus 1.0 RC 3(0.95)

18 years ago* bus/activation.c (bus_activation_new): don't fail if we can not read
John (J5) Palmieri [Fri, 3 Nov 2006 01:03:43 +0000 (01:03 +0000)]
* bus/activation.c (bus_activation_new): don't fail if we can not read
  the directory as it may not exist

18 years ago* bus/config-parser.c (service_dirs_find_dir): use
John (J5) Palmieri [Thu, 2 Nov 2006 23:56:48 +0000 (23:56 +0000)]
* 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

* tools/Makefile.am: Make sure the /var/lib/dbus directory is created
  Packagers need to own this directory

18 years ago* missed the ChangeLog on the last commit
John (J5) Palmieri [Thu, 2 Nov 2006 19:30:10 +0000 (19:30 +0000)]
* missed the ChangeLog on the last commit

18 years ago* tools/run-with-tmp-session-bus.sh: fixed script to replace the
John (J5) Palmieri [Thu, 2 Nov 2006 19:28:11 +0000 (19:28 +0000)]
* 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

18 years ago* configure.in: Add a check for DIR *dirp->dd_fd
John (J5) Palmieri [Thu, 2 Nov 2006 19:19:08 +0000 (19:19 +0000)]
* 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

18 years ago2006-11-01 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Thu, 2 Nov 2006 04:26:23 +0000 (04:26 +0000)]
2006-11-01  Havoc Pennington  <hp@redhat.com>

* bus/dbus-daemon.1.in: document standard_session_servicedirs

18 years ago* configure.in: expose DBUS_DATADIR
John (J5) Palmieri [Wed, 1 Nov 2006 23:30:46 +0000 (23:30 +0000)]
* 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

18 years ago2006-10-30 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Mon, 30 Oct 2006 06:29:58 +0000 (06:29 +0000)]
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

18 years ago2006-10-27 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sat, 28 Oct 2006 01:50:08 +0000 (01:50 +0000)]
2006-10-27  Havoc Pennington  <hp@redhat.com>

* dbus/dbus-connection.c (dbus_connection_open_private): document
how to choose shared vs. private connections

18 years ago2006-10-27 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sat, 28 Oct 2006 01:41:37 +0000 (01:41 +0000)]
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

18 years ago* bus/config-parser.c (service_dirs_find_dir,
John (J5) Palmieri [Fri, 27 Oct 2006 18:30:22 +0000 (18:30 +0000)]
* 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

18 years ago2006-10-27 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Fri, 27 Oct 2006 14:00:20 +0000 (14:00 +0000)]
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.

18 years ago2006-10-26 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Fri, 27 Oct 2006 03:29:09 +0000 (03:29 +0000)]
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

18 years ago2006-10-26 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Fri, 27 Oct 2006 02:17:42 +0000 (02:17 +0000)]
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.

18 years ago2006-10-26 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Fri, 27 Oct 2006 01:09:24 +0000 (01:09 +0000)]
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.

18 years ago* dbus-sysdeps-unix.c (_dbus_set_local_creds): Clean up the
John (J5) Palmieri [Thu, 26 Oct 2006 19:01:10 +0000 (19:01 +0000)]
* 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.

18 years ago* configure.in, dbus-1.pc.in: Check to see if thread methods
John (J5) Palmieri [Thu, 26 Oct 2006 18:06:07 +0000 (18:06 +0000)]
* 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

18 years ago * dbus/dbus-connection.c (_dbus_connection_open_internal): Fix
Thiago Macieira [Thu, 26 Oct 2006 18:03:24 +0000 (18:03 +0000)]
* 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.

18 years ago * tools/dbus-launch-x11.c (get_session_file, init_x_atoms):
Thiago Macieira [Thu, 26 Oct 2006 17:34:49 +0000 (17:34 +0000)]
* 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>

18 years ago* tools/dbus-launch.c (main): run the dbus-daemon in the builddir
John (J5) Palmieri [Thu, 26 Oct 2006 15:55:44 +0000 (15:55 +0000)]
* 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

18 years ago2006-10-25 Sjoerd Simons <sjoerd@luon.net>
Sjoerd Simons [Wed, 25 Oct 2006 16:42:37 +0000 (16:42 +0000)]
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

18 years ago2006-10-24 David Zeuthen <davidz@redhat.com>
David Zeuthen [Tue, 24 Oct 2006 21:28:57 +0000 (21:28 +0000)]
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)

18 years ago * dbus/dbus-sysdeps.h:
Thiago Macieira [Tue, 24 Oct 2006 20:25:01 +0000 (20:25 +0000)]
* 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.

18 years ago2006-10-23 David Zeuthen <davidz@redhat.com>
David Zeuthen [Mon, 23 Oct 2006 17:25:52 +0000 (17:25 +0000)]
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

18 years ago2006-10-22 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sun, 22 Oct 2006 15:03:10 +0000 (15:03 +0000)]
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

18 years ago2006-10-21 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sun, 22 Oct 2006 00:31:08 +0000 (00:31 +0000)]
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.

18 years ago2006-10-21 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sat, 21 Oct 2006 23:38:11 +0000 (23:38 +0000)]
2006-10-21  Havoc Pennington  <hp@redhat.com>

* dbus/dbus-connection.h: don't include the watch/timeout
functions in connection section

18 years ago2006-10-21 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sat, 21 Oct 2006 23:09:18 +0000 (23:09 +0000)]
2006-10-21  Havoc Pennington  <hp@redhat.com>

* Documentation! Whee! Doxygen now 100% silent. If you make it
angry again, you will be punished.

18 years ago2006-10-21 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sat, 21 Oct 2006 21:57:31 +0000 (21:57 +0000)]
2006-10-21  Havoc Pennington  <hp@redhat.com>

* More documentation - all public API now documented according to
Doxygen

18 years ago2006-10-21 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sat, 21 Oct 2006 18:51:30 +0000 (18:51 +0000)]
2006-10-21  Havoc Pennington  <hp@redhat.com>

* Document a bunch of undocumented stuff

18 years ago2006-10-21 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sat, 21 Oct 2006 18:17:02 +0000 (18:17 +0000)]
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.

18 years ago2006-10-21 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sat, 21 Oct 2006 17:43:30 +0000 (17:43 +0000)]
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

18 years ago2006-10-21 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sat, 21 Oct 2006 17:21:45 +0000 (17:21 +0000)]
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

18 years ago2006-10-21 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sat, 21 Oct 2006 17:08:08 +0000 (17:08 +0000)]
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.

18 years agofix typo
Havoc Pennington [Sat, 21 Oct 2006 03:14:50 +0000 (03:14 +0000)]
fix typo

18 years agomore todo items
Havoc Pennington [Fri, 20 Oct 2006 05:56:57 +0000 (05:56 +0000)]
more todo items

18 years ago2006-10-20 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Fri, 20 Oct 2006 05:16:58 +0000 (05:16 +0000)]
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

18 years ago2006-10-19 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Fri, 20 Oct 2006 03:42:03 +0000 (03:42 +0000)]
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)

18 years agoremove untrue comment
Havoc Pennington [Fri, 20 Oct 2006 03:25:22 +0000 (03:25 +0000)]
remove untrue comment

18 years ago2006-10-19 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Fri, 20 Oct 2006 03:05:00 +0000 (03:05 +0000)]
2006-10-19  Havoc Pennington  <hp@redhat.com>

* Fix a pile of Doxygen warnings and missing docs

18 years ago* bus/dir-watch-default.c, bus/dir-watch-dnotify.c,
John (J5) Palmieri [Thu, 19 Oct 2006 19:43:05 +0000 (19:43 +0000)]
* 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

18 years ago* bus/messagebus.in, bus/rc.messagebus.in: run dbus-uuidgen --ensure
John (J5) Palmieri [Thu, 19 Oct 2006 15:34:47 +0000 (15:34 +0000)]
* bus/messagebus.in, bus/rc.messagebus.in: run dbus-uuidgen --ensure
when starting the system bus

18 years ago* configure.in: More fixups for cross compile (Patch from
John (J5) Palmieri [Wed, 18 Oct 2006 20:28:26 +0000 (20:28 +0000)]
* configure.in: More fixups for cross compile (Patch from
  Marco Pracucci <development at pracucci dot com>)

18 years ago2006-10-17 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Tue, 17 Oct 2006 22:31:16 +0000 (22:31 +0000)]
2006-10-17  Havoc Pennington  <hp@redhat.com>

* tools/dbus-send.c (main): don't close shared connection, fix
from Timo Hoenig

18 years ago2006-10-17 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Tue, 17 Oct 2006 21:04:12 +0000 (21:04 +0000)]
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.

18 years ago2006-10-17 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Tue, 17 Oct 2006 20:52:13 +0000 (20:52 +0000)]
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.

18 years ago- bump version
John (J5) Palmieri [Sat, 14 Oct 2006 17:40:35 +0000 (17:40 +0000)]
- bump version

18 years ago* configure.in: Released 1.0 RC 2(0.94) dbus-0.94
John (J5) Palmieri [Sat, 14 Oct 2006 17:38:56 +0000 (17:38 +0000)]
* configure.in: Released 1.0 RC 2(0.94)
  Add check for -fPIC and enable it if available

18 years ago* doc/TODO: Remove the check TODO item
John (J5) Palmieri [Sat, 14 Oct 2006 16:25:53 +0000 (16:25 +0000)]
* doc/TODO: Remove the check TODO item

18 years ago* dbus-transport-socket.c (exchange_credentials):
John (J5) Palmieri [Fri, 13 Oct 2006 21:12:24 +0000 (21:12 +0000)]
* 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>)

18 years ago* configure.in: when checking for posix getpwnam_r assume true
John (J5) Palmieri [Fri, 13 Oct 2006 20:32:48 +0000 (20:32 +0000)]
* configure.in: when checking for posix getpwnam_r assume true
  for cross compiles

18 years ago* configure.in: Check for gethostbyname first before we check for it
John (J5) Palmieri [Fri, 13 Oct 2006 20:01:16 +0000 (20:01 +0000)]
* configure.in: Check for gethostbyname first before we check for it
  in libnsl.  On gnu systems it is implemeneted

18 years ago2006-10-13 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Fri, 13 Oct 2006 16:26:47 +0000 (16:26 +0000)]
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

18 years ago* configure.in: use AC_TRY_COMPILE for dirfd instead of AC_TRY_RUN
John (J5) Palmieri [Thu, 12 Oct 2006 01:05:16 +0000 (01:05 +0000)]
* configure.in: use AC_TRY_COMPILE for dirfd instead of AC_TRY_RUN

18 years ago* test/name-test/Makefile.am: don't link against both libdbus and
John (J5) Palmieri [Wed, 11 Oct 2006 17:30:58 +0000 (17:30 +0000)]
* test/name-test/Makefile.am: don't link against both libdbus and
  libdbus-convenience

18 years ago* configure.in: check for dirfd even if it is a macro
John (J5) Palmieri [Wed, 11 Oct 2006 17:29:01 +0000 (17:29 +0000)]
* configure.in: check for dirfd even if it is a macro
  (Patch from Timothy Redaelli <drizzt at gufi dot org>)

18 years ago* configure.in: define _POSIX_PTHREAD_SEMANTICS on solaris
John (J5) Palmieri [Sun, 8 Oct 2006 16:56:50 +0000 (16:56 +0000)]
* 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>)

18 years ago* dbus/dbus-sysdeps.c (_dbus_abort): Remove from
John (J5) Palmieri [Mon, 2 Oct 2006 18:45:27 +0000 (18:45 +0000)]
* 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

18 years ago* dbus/dbus-sysdeps-util-unix.c (dirent_buf_size): Add check for
John (J5) Palmieri [Mon, 2 Oct 2006 15:43:48 +0000 (15:43 +0000)]
* 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>)

18 years ago * tools/dbus-launch.c (main): make it complain and abort
Thiago Macieira [Sun, 1 Oct 2006 22:21:30 +0000 (22:21 +0000)]
* 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.

18 years ago2006-10-01 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sun, 1 Oct 2006 20:05:39 +0000 (20:05 +0000)]
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

18 years ago2006-10-01 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sun, 1 Oct 2006 17:21:03 +0000 (17:21 +0000)]
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.

18 years ago2006-10-01 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sun, 1 Oct 2006 16:11:24 +0000 (16:11 +0000)]
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.

18 years ago2006-10-01 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sun, 1 Oct 2006 15:36:19 +0000 (15:36 +0000)]
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

18 years ago2006-09-30 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sun, 1 Oct 2006 03:34:21 +0000 (03:34 +0000)]
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!

18 years ago2006-09-30 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sun, 1 Oct 2006 03:18:47 +0000 (03:18 +0000)]
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

18 years ago * configure.in: add DBUS_BINDIR as a #define to C source code.
Thiago Macieira [Sat, 30 Sep 2006 19:38:34 +0000 (19:38 +0000)]
* 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.

18 years ago* tools/Makefile.am: use @EXPANDED_DATADIR@ instead of @DATADIRNAME@
John (J5) Palmieri [Mon, 18 Sep 2006 17:17:41 +0000 (17:17 +0000)]
* tools/Makefile.am: use @EXPANDED_DATADIR@ instead of @DATADIRNAME@

18 years ago2006-09-17 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sun, 17 Sep 2006 17:11:31 +0000 (17:11 +0000)]
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

18 years ago2006-09-16 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sat, 16 Sep 2006 19:24:08 +0000 (19:24 +0000)]
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

18 years ago2006-09-16 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sat, 16 Sep 2006 18:46:48 +0000 (18:46 +0000)]
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

18 years agovoc Pennington <hp@redhat.com>
Havoc Pennington [Sat, 16 Sep 2006 17:38:24 +0000 (17:38 +0000)]
voc 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

18 years agoadd forgotten dbus-sydeps-unix.h
Havoc Pennington [Sat, 16 Sep 2006 15:53:30 +0000 (15:53 +0000)]
add forgotten dbus-sydeps-unix.h

18 years ago2006-09-16 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sat, 16 Sep 2006 15:49:27 +0000 (15:49 +0000)]
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.

18 years ago2006-09-16 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sat, 16 Sep 2006 15:34:34 +0000 (15:34 +0000)]
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.

18 years ago2006-09-14 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Thu, 14 Sep 2006 13:53:16 +0000 (13:53 +0000)]
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.

18 years ago* bump to 0.94
John (J5) Palmieri [Thu, 14 Sep 2006 05:48:35 +0000 (05:48 +0000)]
* bump to 0.94

18 years ago* Released 1.0 RC 1 (0.93) dbus-0.93
John (J5) Palmieri [Thu, 14 Sep 2006 05:46:22 +0000 (05:46 +0000)]
* Released 1.0 RC 1 (0.93)

18 years ago* dbus/dbus-sysdeps-util-unix.c: Forgot to pass NULL as the second
John (J5) Palmieri [Thu, 14 Sep 2006 05:41:20 +0000 (05:41 +0000)]
* dbus/dbus-sysdeps-util-unix.c: Forgot to pass NULL as the second
  parameter to  _dbus_close

18 years ago* dbus/dbus-sysdeps-util-unix.c (_dbus_write_pid_file):
John (J5) Palmieri [Thu, 14 Sep 2006 05:20:12 +0000 (05:20 +0000)]
* dbus/dbus-sysdeps-util-unix.c (_dbus_write_pid_file):
  use _dbus_close instead of close

18 years ago* dbus/dbus-sysdeps.c: Add support for LOCAL_CREDS socket
John (J5) Palmieri [Thu, 14 Sep 2006 05:07:11 +0000 (05:07 +0000)]
* 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>)

18 years ago* dbus/dbus-server.c: remove a todo item
John (J5) Palmieri [Thu, 14 Sep 2006 04:31:31 +0000 (04:31 +0000)]
* dbus/dbus-server.c: remove a todo item

18 years ago* dbus/dbus-threads.c: Allow recursive mutex's to be passed into
John (J5) Palmieri [Thu, 14 Sep 2006 04:26:00 +0000 (04:26 +0000)]
* 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

18 years ago* dbus/dbus-sysdeps-util-unix.c (_dbus_directory_get_next_file):
John (J5) Palmieri [Wed, 13 Sep 2006 19:13:17 +0000 (19:13 +0000)]
* dbus/dbus-sysdeps-util-unix.c (_dbus_directory_get_next_file):
  use threadsafe readdir_r instead of readdir

18 years ago* dbus-threads.c (dbus_threads_init_default): New method for
John (J5) Palmieri [Wed, 13 Sep 2006 19:09:45 +0000 (19:09 +0000)]
* dbus-threads.c (dbus_threads_init_default): New method for
  initializing the internal thread implementation (Patch from
  Alexander Larsson <alexl at redhat dot com>)

18 years ago* remove a bunch of todo items from the 1.0 list
John (J5) Palmieri [Mon, 11 Sep 2006 17:41:21 +0000 (17:41 +0000)]
* remove a bunch of todo items from the 1.0 list

18 years ago* bus/activation.c, bus/desktop-file.c: Distinguish between OOM and
John (J5) Palmieri [Mon, 11 Sep 2006 15:24:10 +0000 (15:24 +0000)]
* bus/activation.c, bus/desktop-file.c: Distinguish between OOM and
  key not found

18 years ago* dbus/dbus-internal.c: Add dbus_is_verbose so we can have more
John (J5) Palmieri [Mon, 11 Sep 2006 15:05:21 +0000 (15:05 +0000)]
* 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

18 years ago* dbus/dbus-marshal-recursive-util.c, dbus/dbus-marshal-recursive.c:
John (J5) Palmieri [Mon, 11 Sep 2006 14:42:48 +0000 (14:42 +0000)]
* dbus/dbus-marshal-recursive-util.c, dbus/dbus-marshal-recursive.c:
  remove DBusMark

18 years ago2006-09-10 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sun, 10 Sep 2006 21:37:10 +0000 (21:37 +0000)]
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

18 years ago* bus/test-main.c (main): Initialize threading during tests
John (J5) Palmieri [Fri, 8 Sep 2006 17:21:37 +0000 (17:21 +0000)]
* 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.

18 years ago* dbus/dbus-connection.c (dbus_connection_dispatch): Properly remove
John (J5) Palmieri [Fri, 8 Sep 2006 15:23:50 +0000 (15:23 +0000)]
* dbus/dbus-connection.c (dbus_connection_dispatch): Properly remove
 filters (Patch from Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>)

18 years ago* dbus/dbus-connection-internal.h: Add prototype for
John (J5) Palmieri [Thu, 7 Sep 2006 19:02:22 +0000 (19:02 +0000)]
* dbus/dbus-connection-internal.h: Add prototype for
  _dbus_connection_test_get_locks to remove warning

18 years ago* dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): Make sure we
John (J5) Palmieri [Thu, 7 Sep 2006 18:28:13 +0000 (18:28 +0000)]
* 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>)

18 years ago* Clean up close calls to use _dbus_close (Patch from
John (J5) Palmieri [Thu, 7 Sep 2006 18:24:11 +0000 (18:24 +0000)]
* Clean up close calls to use _dbus_close (Patch from
  Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>)