platform/upstream/dbus.git
13 years agoconnection: hook UnknownObject and UnknownInterface up where appropriate
Lennart Poettering [Thu, 10 Mar 2011 03:10:31 +0000 (04:10 +0100)]
connection: hook UnknownObject and UnknownInterface up where appropriate

This makes use of UnknownInterface and UnknownObject where appropriate
in the D-Bus core.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=34527
Reviewed-By: Simon McVittie <simon.mcvittie@collabora.co.uk>
13 years agoprotocol: introduce four new errors
Lennart Poettering [Thu, 10 Mar 2011 03:06:32 +0000 (04:06 +0100)]
protocol: introduce four new errors

UnknownInterface, UnknownObject, UnknownProperty and PropertyReadOnly,
as discussed on the ML.

The first two are already used by various bindings, such as the Qt and
Java binding, but have never been made official.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=34527
Reviewed-by: David Zeuthen <davidz@redhat.com>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
13 years agoMake dbus_type_is_valid into public API
Simon McVittie [Thu, 3 Mar 2011 17:35:14 +0000 (17:35 +0000)]
Make dbus_type_is_valid into public API

This is just as useful for bindings as dbus_signature_validate, and I
think it's a good design principle to say that anything checked in a
_dbus_return_if_fail should be something the caller could check
for themselves.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=20496
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
13 years agoMerge branch 'dbus-1.4'
Simon McVittie [Thu, 10 Mar 2011 19:07:15 +0000 (19:07 +0000)]
Merge branch 'dbus-1.4'

13 years agoadd doxygen.stamp to .gitignore
Simon McVittie [Thu, 10 Mar 2011 13:06:09 +0000 (13:06 +0000)]
add doxygen.stamp to .gitignore

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35182
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
13 years ago_dbus_marshal_write_fixed_multi: remove obsolete FIXME comment
Simon McVittie [Thu, 3 Mar 2011 16:55:55 +0000 (16:55 +0000)]
_dbus_marshal_write_fixed_multi: remove obsolete FIXME comment

As far as I can tell, we've never accepted out-of-range booleans and
canonicalized them, ever since this was first committed in 2004. If sent,
they'd be considered to be invalid by recipients, so they're unambiguously
an error.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35182
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
13 years agodbus_message_iter_append_basic: remove misleading documentation
Simon McVittie [Thu, 3 Mar 2011 16:30:43 +0000 (16:30 +0000)]
dbus_message_iter_append_basic: remove misleading documentation

This function specifically doesn't support Unix fds and is documented as
such.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35182
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
13 years agoImplement uninstallation and cleanup for Doxygen docs, fixing distcheck
Simon McVittie [Thu, 10 Mar 2011 18:42:12 +0000 (18:42 +0000)]
Implement uninstallation and cleanup for Doxygen docs, fixing distcheck

Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
13 years agoMerge branch 'validate-when-sending-16338' into dbus-1.4
Simon McVittie [Thu, 10 Mar 2011 18:59:26 +0000 (18:59 +0000)]
Merge branch 'validate-when-sending-16338' into dbus-1.4

Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
13 years agodbus_type_is_basic etc.: it is an error to pass in bad typecodes
Simon McVittie [Thu, 3 Mar 2011 16:51:56 +0000 (16:51 +0000)]
dbus_type_is_basic etc.: it is an error to pass in bad typecodes

Previously, the comments said "this function will crash", but that's not
strictly true (checks can be disabled or made non-fatal). Their behaviour
is undefined if you do that, though.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=20496
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
13 years agoRequire specific user action to compile without 64-bit support
Simon McVittie [Tue, 8 Mar 2011 13:32:06 +0000 (13:32 +0000)]
Require specific user action to compile without 64-bit support

The D-Bus type system isn't implementable without 64-bit support, although
for historical reasons we have some sort of semi-working support for
platforms with no 64-bit integers. Let's find out whether any
practically relevant platform still lacks these types...

(GLib appears to have required 64-bit integer types since 2001.)

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35114
Reviewed-by: Lennart Poettering <lennart@poettering.net>
13 years agoMerge branch 'dbus-1.4'
Simon McVittie [Thu, 10 Mar 2011 12:15:56 +0000 (12:15 +0000)]
Merge branch 'dbus-1.4'

13 years agoautogen: add -I m4 to aclocal path
Lennart Poettering [Thu, 10 Mar 2011 02:56:23 +0000 (03:56 +0100)]
autogen: add -I m4 to aclocal path

This fixes 2b5959882a403cddba754b37b58bdc49bff01f90 which forgot to add
m4/ to the command line of aclocal but moved scripts there.

13 years agoMerge branch 'dbus-1.4'
Simon McVittie [Tue, 8 Mar 2011 12:35:46 +0000 (12:35 +0000)]
Merge branch 'dbus-1.4'

13 years agoUpdate NEWS
Simon McVittie [Tue, 8 Mar 2011 12:35:39 +0000 (12:35 +0000)]
Update NEWS

13 years agoMerge branch 'dbus-1.4'
Simon McVittie [Mon, 7 Mar 2011 14:51:46 +0000 (14:51 +0000)]
Merge branch 'dbus-1.4'

13 years agoFix some more stray occurrences of ELEMENT_TYPE
Simon McVittie [Mon, 7 Mar 2011 13:55:10 +0000 (13:55 +0000)]
Fix some more stray occurrences of ELEMENT_TYPE

13 years agoDo not use the name ELEMENT_TYPE
Andre Heinecke [Mon, 7 Mar 2011 10:43:23 +0000 (11:43 +0100)]
Do not use the name ELEMENT_TYPE

On Windows Systems ELEMENT_TYPE is already defined
in Winioctl.h this header is included indirectly
in dbus-sysdeps.h. By avoiding the use of the Name
ELEMENT_TYPE it is ensured that config-parser-common.h
can be included together with dbus-sysdeps.h

Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
13 years agodbus_message_iter_append_fixed_array: add a check for valid booleans
Simon McVittie [Thu, 3 Mar 2011 16:30:00 +0000 (16:30 +0000)]
dbus_message_iter_append_fixed_array: add a check for valid booleans

The reasoning is the same as for dbus_message_iter_append_basic.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=16338
Reviewed-by: Cosimo Alfarano <cosimo.alfarano@collabora.co.uk>
13 years agodbus_message_iter_append_basic: validate booleans too
Simon McVittie [Thu, 3 Mar 2011 16:29:17 +0000 (16:29 +0000)]
dbus_message_iter_append_basic: validate booleans too

Sending, for instance, ((dbus_bool_t) 666) is a programming error and
should be diagnosed as such.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=16338
Reviewed-by: Cosimo Alfarano <cosimo.alfarano@collabora.co.uk>
13 years agodbus_message_iter_append_basic: check string-like arguments for validity
Simon McVittie [Wed, 16 Feb 2011 17:44:48 +0000 (17:44 +0000)]
dbus_message_iter_append_basic: check string-like arguments for validity

Strings: UTF-8 with no embedded NULs, by adding a new internal function,
_dbus_check_is_valid_utf8

Object paths, signatures: the obvious syntactic checks

This moves some of the burden of validation to the sender.

When sending <http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt>
10240 times with up to 1024 parallel calls pending, on a single-core ARM
Linux device, I found that user CPU time in dbus-spam increased by up to 80%
as a result of the validation. However, when sending messages to dbus-daemon,
overall throughput only reduced by 15%, and when sending messages to an echo
service, overall throughput actually improved by around 14% (presumably
because making the sender CPU-bound influenced kernel scheduling).

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=16338
Bug-NB: NB#223152
Reviewed-by: Cosimo Alfarano <cosimo.alfarano@collabora.co.uk>
13 years agoMerge branch 'dbus-1.4'
Simon McVittie [Fri, 25 Feb 2011 15:49:55 +0000 (15:49 +0000)]
Merge branch 'dbus-1.4'

Conflicts:
NEWS

13 years agoMerge branch 'doxygenate' into dbus-1.4
Simon McVittie [Fri, 25 Feb 2011 15:49:19 +0000 (15:49 +0000)]
Merge branch 'doxygenate' into dbus-1.4

Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
Conflicts:
configure.ac
doc/Makefile.am

13 years agoNEWS so far
Simon McVittie [Fri, 25 Feb 2011 12:08:48 +0000 (12:08 +0000)]
NEWS so far

13 years agoMerge branch 'changequote' into dbus-1.4
Simon McVittie [Fri, 25 Feb 2011 12:02:00 +0000 (12:02 +0000)]
Merge branch 'changequote' into dbus-1.4

Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
13 years agoMerge branch 'require-display-for-autolaunch-19997' into dbus-1.4
Simon McVittie [Fri, 25 Feb 2011 11:31:29 +0000 (11:31 +0000)]
Merge branch 'require-display-for-autolaunch-19997' into dbus-1.4

Reviewed-by: Colin Walters <walters@verbum.org>
13 years agoMerge branch 'modern-autofoo-32245' into dbus-1.4
Simon McVittie [Fri, 25 Feb 2011 11:30:17 +0000 (11:30 +0000)]
Merge branch 'modern-autofoo-32245' into dbus-1.4

13 years agoAllow X11 autolaunch to be disabled even if the headers/libraries are there
Simon McVittie [Thu, 24 Feb 2011 18:57:05 +0000 (18:57 +0000)]
Allow X11 autolaunch to be disabled even if the headers/libraries are there

In an embedded system where the D-Bus session is a core part of the
environment, like Maemo, accidentally auto-launching a second session bus
(for instance for a concurrent ssh session) is a bad idea - it can lead
to a "split brain" situation where half the applications in the GUI are
using a different bus. In these controlled environments, it'd be useful
to prevent autolaunch from ever happening.

(As a side benefit, the changes to configure.in also mean that packagers
can explicitly --enable-x11-autolaunch, to make sure that failure to find
X will make compilation fail cleanly.)

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=19997
Bug-NB: NB#219964

13 years agoDon't attempt Unix X11 autolaunching if DISPLAY isn't set
Simon McVittie [Thu, 24 Feb 2011 18:17:07 +0000 (18:17 +0000)]
Don't attempt Unix X11 autolaunching if DISPLAY isn't set

The known use cases for autolaunching (ssh -Y firefox,
run konqueror in legacy DE) all need $DISPLAY too.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=19997

13 years agoMerge branch 'dbus-1.4'
Simon McVittie [Thu, 24 Feb 2011 18:40:31 +0000 (18:40 +0000)]
Merge branch 'dbus-1.4'

13 years agoconfig-parser regression test: don't require that fd.o #34496 exists
Simon McVittie [Thu, 24 Feb 2011 18:33:27 +0000 (18:33 +0000)]
config-parser regression test: don't require that fd.o #34496 exists

Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
13 years agoMerge branch 'dbus-1.4'
Simon McVittie [Thu, 24 Feb 2011 17:17:36 +0000 (17:17 +0000)]
Merge branch 'dbus-1.4'

13 years agoGive XDG_DATA_HOME priority over XDG_DATA_DIRS for servicedirs
Simon McVittie [Thu, 24 Feb 2011 17:17:22 +0000 (17:17 +0000)]
Give XDG_DATA_HOME priority over XDG_DATA_DIRS for servicedirs

According to the XDG Base Directory Specification, “the base directory
defined by $XDG_DATA_HOME is considered more important than any of the
base directories defined by $XDG_DATA_DIRS.”  This makes it easier to
override a system service file as a normal user.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=34496
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
13 years agoHonour aclocal flags in Makefile.am, rather than gluing them onto ACLOCAL
Simon McVittie [Thu, 24 Feb 2011 15:58:01 +0000 (15:58 +0000)]
Honour aclocal flags in Makefile.am, rather than gluing them onto ACLOCAL

Part of a patch by Javier Jardón.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
13 years agoModernize setup of libtool for Windows
Simon McVittie [Thu, 24 Feb 2011 15:56:58 +0000 (15:56 +0000)]
Modernize setup of libtool for Windows

Part of a patch by Javier Jardón.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
13 years agoUse AC_CONFIG_HEADERS, not AM_CONFIG_HEADER
Simon McVittie [Thu, 24 Feb 2011 15:53:08 +0000 (15:53 +0000)]
Use AC_CONFIG_HEADERS, not AM_CONFIG_HEADER

Part of a patch by Javier Jardón.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
13 years agoModernize AC_INIT usage, with a bug report URL
Simon McVittie [Thu, 24 Feb 2011 15:52:21 +0000 (15:52 +0000)]
Modernize AC_INIT usage, with a bug report URL

Part of a patch by Javier Jardón.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
13 years agoRequire a somewhat modern version of autoconf and automake
Simon McVittie [Thu, 24 Feb 2011 15:51:39 +0000 (15:51 +0000)]
Require a somewhat modern version of autoconf and automake

Part of a patch by Javier Jardón.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
13 years agoModernize AC_OUTPUT usage
Simon McVittie [Thu, 24 Feb 2011 15:48:29 +0000 (15:48 +0000)]
Modernize AC_OUTPUT usage

Part of a patch by Javier Jardón.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
13 years agoModernize checks in ld_supports_flag
Simon McVittie [Thu, 24 Feb 2011 15:48:14 +0000 (15:48 +0000)]
Modernize checks in ld_supports_flag

Part of a patch by Javier Jardón.

(This will conflict with changes from my gc-sections branch -smcv)

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
13 years agoModernize checks for DBUS__ACQUIRE_SVC
Simon McVittie [Thu, 24 Feb 2011 15:47:28 +0000 (15:47 +0000)]
Modernize checks for DBUS__ACQUIRE_SVC

Part of a patch by Javier Jardón.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
13 years agoModernize checks for monotonic clock
Simon McVittie [Thu, 24 Feb 2011 15:46:52 +0000 (15:46 +0000)]
Modernize checks for monotonic clock

Part of a patch by Javier Jardón.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
13 years agoModernize checks for cmsgcred
Simon McVittie [Thu, 24 Feb 2011 15:46:34 +0000 (15:46 +0000)]
Modernize checks for cmsgcred

Part of a patch by Javier Jardón.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
13 years agoModernize checks for ISO/GNU varargs
Simon McVittie [Thu, 24 Feb 2011 15:46:21 +0000 (15:46 +0000)]
Modernize checks for ISO/GNU varargs

Part of a patch by Javier Jardón.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
13 years agoModernize checks for socklen_t
Simon McVittie [Thu, 24 Feb 2011 15:46:00 +0000 (15:46 +0000)]
Modernize checks for socklen_t

Part of a patch by Javier Jardón.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
13 years agoModernize checks for non-POSIX getpwnam_r
Simon McVittie [Thu, 24 Feb 2011 15:45:48 +0000 (15:45 +0000)]
Modernize checks for non-POSIX getpwnam_r

Part of a patch by Javier Jardón.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
13 years agoModernize checks for dirfd/dd_fd
Simon McVittie [Thu, 24 Feb 2011 15:45:31 +0000 (15:45 +0000)]
Modernize checks for dirfd/dd_fd

Part of a patch by Javier Jardón.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
13 years agoRename configure.in to configure.ac
Simon McVittie [Thu, 24 Feb 2011 15:43:24 +0000 (15:43 +0000)]
Rename configure.in to configure.ac

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245

13 years agoDon't compress spaces in CFLAGS and friends
Simon McVittie [Thu, 24 Feb 2011 15:20:18 +0000 (15:20 +0000)]
Don't compress spaces in CFLAGS and friends

Not all sed implementations understand "+" with its POSIX extended regular
expression semantics, and compressing spaces is purely cosmetic anyway.
Let's just drop this.

13 years agoRemove unnecessary changequote call
Simon McVittie [Mon, 10 Jan 2011 15:56:02 +0000 (15:56 +0000)]
Remove unnecessary changequote call

Nothing in the changequote'd environment uses square brackets anyway.

13 years agoUse square brackets (m4 quoting) instead of changequote
Simon McVittie [Thu, 24 Feb 2011 15:16:26 +0000 (15:16 +0000)]
Use square brackets (m4 quoting) instead of changequote

For more details, see:
http://www.gnu.org/software/autoconf/manual/html_node/Changequote-is-Evil.html

13 years agoNEWS so far
Simon McVittie [Thu, 24 Feb 2011 12:17:52 +0000 (12:17 +0000)]
NEWS so far

13 years agoImproved dbus_string_replace_len()
Roberto Guido [Fri, 18 Feb 2011 14:27:16 +0000 (14:27 +0000)]
Improved dbus_string_replace_len()

Reviewed-by: Havoc Pennington <hp@pobox.com>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=21261

13 years agobus driver: allow implementing more than one interface
Simon McVittie [Fri, 18 Feb 2011 14:12:42 +0000 (14:12 +0000)]
bus driver: allow implementing more than one interface

Previously, Introspect was just special-cased.

This could allow us to have a conditionally-compiled debugging interface,
for instance.

Reviewed-by: Colin Walters <walters@verbum.org>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=33757

13 years agoPost-release version bump
Simon McVittie [Fri, 18 Feb 2011 14:24:35 +0000 (14:24 +0000)]
Post-release version bump

13 years agosysdeps-win needs _dbus_path_is_absolute
Mark Brand [Mon, 3 Jan 2011 23:46:29 +0000 (00:46 +0100)]
sysdeps-win needs _dbus_path_is_absolute

Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
13 years agoLet's try that again. dbus-1.4.6
Simon McVittie [Thu, 17 Feb 2011 20:06:36 +0000 (20:06 +0000)]
Let's try that again.

13 years agoRemove unreviewed changes intended to support GTest-based tests
Simon McVittie [Thu, 17 Feb 2011 20:01:54 +0000 (20:01 +0000)]
Remove unreviewed changes intended to support GTest-based tests

These were committed by mistake. :-(

13 years agoPost-release version bump
Simon McVittie [Thu, 17 Feb 2011 19:02:24 +0000 (19:02 +0000)]
Post-release version bump

13 years agoPrepare version 1.4.4 dbus-1.4.4
Simon McVittie [Thu, 17 Feb 2011 18:21:25 +0000 (18:21 +0000)]
Prepare version 1.4.4

13 years agoSplit acinclude.m4 into separate files in m4/
Simon McVittie [Thu, 17 Feb 2011 18:21:16 +0000 (18:21 +0000)]
Split acinclude.m4 into separate files in m4/

Drop AM_CHECK_PYTHON_HEADERS (no longer used) and split the others
according to their upstreams.

Otherwise, compiler.m4 won't get included in tarballs.

13 years agoMerge branch 'leak-fixes-33126'
Simon McVittie [Thu, 17 Feb 2011 17:19:13 +0000 (17:19 +0000)]
Merge branch 'leak-fixes-33126'

Reviewed-by: Colin Walters <walters@verbum.org>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=33126

13 years agoImport compiler.m4 and lcov.am from telepathy-glib, and use them to replace gcov
Simon McVittie [Wed, 2 Feb 2011 16:51:30 +0000 (16:51 +0000)]
Import compiler.m4 and lcov.am from telepathy-glib, and use them to replace gcov

Reviewed-by: Colin Walters <walters@verbum.org>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=10887

13 years agoDon't ignore all files in m4, just the libtool ones
Simon McVittie [Mon, 10 Jan 2011 15:58:42 +0000 (15:58 +0000)]
Don't ignore all files in m4, just the libtool ones

Reviewed-by: Colin Walters <walters@verbum.org>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=10887

13 years agoDon't distribute dbus-daemon.1 in the tarball
Simon McVittie [Mon, 7 Feb 2011 12:00:31 +0000 (12:00 +0000)]
Don't distribute dbus-daemon.1 in the tarball

It's generated by configure.

Also use a more normal way to distribute man pages that are actually
source, and use man1_MANS rather than auto-detecting the section from
the man page, which is best-practice and slightly faster.

Reviewed-by: Colin Walters <walters@verbum.org>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=34292

13 years agoDon't distribute dbus-arch-deps.h in the tarball
Simon McVittie [Mon, 7 Feb 2011 11:58:35 +0000 (11:58 +0000)]
Don't distribute dbus-arch-deps.h in the tarball

It's generated by configure and specific to a system, so there's no point.

Reviewed-by: Colin Walters <walters@verbum.org>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=34292

13 years agoRemove references to dbus-md5, which hasn't been used for at least 8 years
Simon McVittie [Mon, 7 Feb 2011 11:57:57 +0000 (11:57 +0000)]
Remove references to dbus-md5, which hasn't been used for at least 8 years

Reviewed-by: Colin Walters <walters@verbum.org>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=34292

13 years agoDBusTransport: don't copy DBusAuth's GUID to expected_guid
Simon McVittie [Tue, 1 Feb 2011 12:27:39 +0000 (12:27 +0000)]
DBusTransport: don't copy DBusAuth's GUID to expected_guid

There was previously a leak in _dbus_transport_get_is_authenticated, if
we hit OOM when copying the server's actual GUID. This would fail the
"SHA1 connection test" if _dbus_iterate was modified to allocate and free
one extra pointer per iteration.

Rather than adding OOM handling everywhere, if we avoid strdup'ing the
GUID, and just re-fetch the const string from the DBusAuth object on demand
instead, we go back to a situation where _dbus_transport_get_is_authenticated
can't fail.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=33126

13 years agoupdate_desktop_file_entry: stylistic fixes based on Colin's review
Simon McVittie [Tue, 1 Feb 2011 13:35:33 +0000 (13:35 +0000)]
update_desktop_file_entry: stylistic fixes based on Colin's review

13 years agoupdate_desktop_file_entry: unify cleanup code for success and failure cases
Simon McVittie [Mon, 17 Jan 2011 11:46:09 +0000 (11:46 +0000)]
update_desktop_file_entry: unify cleanup code for success and failure cases

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=33126

13 years agoupdate_desktop_file_entry: don't double-free strings if added to entry before failure
Simon McVittie [Mon, 17 Jan 2011 11:45:47 +0000 (11:45 +0000)]
update_desktop_file_entry: don't double-free strings if added to entry before failure

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=33126

13 years agoupdate_desktop_file_entry: free @exec on error
Simon McVittie [Mon, 17 Jan 2011 11:42:48 +0000 (11:42 +0000)]
update_desktop_file_entry: free @exec on error

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=33126

13 years agoupdate_desktop_file_entry: make scope of exec_tmp as short as possible
Simon McVittie [Fri, 14 Jan 2011 17:59:24 +0000 (17:59 +0000)]
update_desktop_file_entry: make scope of exec_tmp as short as possible

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=33126

13 years agoupdate_desktop_file_entry: use _dbus_strdup for something we'll dbus_free
Simon McVittie [Fri, 14 Jan 2011 17:59:10 +0000 (17:59 +0000)]
update_desktop_file_entry: use _dbus_strdup for something we'll dbus_free

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=33126

13 years agoNEWS so far for 1.4.4
Simon McVittie [Wed, 16 Feb 2011 12:37:59 +0000 (12:37 +0000)]
NEWS so far for 1.4.4

13 years agobuild-sys: ignore -Waddress message so that build works on gcc/rawhide
Lennart Poettering [Tue, 15 Feb 2011 12:29:28 +0000 (13:29 +0100)]
build-sys: ignore -Waddress message so that build works on gcc/rawhide

Newer gccs warn if you compare an address of a variable that is allocated
on the stack or is static with NULL. Since we compile dbus with -Werror
this causes the build to fail since we do this check all the time due to
macros such as _DBUS_ASSERT_ERROR_IS_SET().

13 years agoFix syslog string processing
Matthias Clasen [Mon, 14 Feb 2011 16:30:11 +0000 (11:30 -0500)]
Fix syslog string processing

squash_string_nonprintable didn't actually modify the string.

Reviewed-By: Colin Walters <walters@verbum.org>
13 years agobus: Raise file descriptor limit to match configuration
Colin Walters [Mon, 31 Jan 2011 20:22:14 +0000 (15:22 -0500)]
bus: Raise file descriptor limit to match configuration

The default configuration has hardcoded 2048 complete connections,
and 64 incomplete.  We need at least that number of file descriptors,
plus some for internal use.

In the bus, attempt to call setrlimit() before we drop privileges.
Practically speaking for this means the system bus gets it, the
session bus doesn't.

http://bugs.freedesktop.org/show_bug.cgi?id=33474

Reviewed-By: Simon McVittie <simon.mcvittie@collabora.co.uk>
13 years agoMerge branch 'dist-30285' into dbus-1.4
Simon McVittie [Wed, 2 Feb 2011 15:15:01 +0000 (15:15 +0000)]
Merge branch 'dist-30285' into dbus-1.4

Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
13 years agoMerge branch 'serverdata-33277' into dbus-1.4
Simon McVittie [Wed, 2 Feb 2011 15:14:29 +0000 (15:14 +0000)]
Merge branch 'serverdata-33277' into dbus-1.4

Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
13 years agoIgnore files produced by `make dist`
Simon McVittie [Tue, 1 Feb 2011 18:04:35 +0000 (18:04 +0000)]
Ignore files produced by `make dist`

13 years agoDon't distribute generated files that embed our builddir
Simon McVittie [Tue, 1 Feb 2011 18:04:21 +0000 (18:04 +0000)]
Don't distribute generated files that embed our builddir

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30285

13 years agobus-test: add support for only running one test
Simon McVittie [Fri, 14 Jan 2011 15:16:12 +0000 (15:16 +0000)]
bus-test: add support for only running one test

This is much quicker when valgrinding.

Reviewed-by: Colin Walters <walters@verbum.org>
13 years agodbus_bus_set_unique_name, dbus_bus_get_unique_name: remember to unlock on OOM
Simon McVittie [Tue, 1 Feb 2011 11:41:02 +0000 (11:41 +0000)]
dbus_bus_set_unique_name, dbus_bus_get_unique_name: remember to unlock on OOM

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=33126
Reviewed-by: Colin Walters <walters@verbum.org>
13 years agoIf a file included via <includedir/> is invalid, syslog and skip it
Simon McVittie [Mon, 31 Jan 2011 18:06:09 +0000 (18:06 +0000)]
If a file included via <includedir/> is invalid, syslog and skip it

This is more graceful than failing entirely (our previous behaviour),
but more visible than ignoring it completely (the previous behaviour
patched in by Debian and derivatives).

Based on a patch from Daniel Silverstone back in 2004, which was meant
to be temporary; I think it makes sense to change this permanently,
since files in *.d are typically supplied by other packages, whose bugs
shouldn't be able to bring down dbus-daemon.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=19186
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=230231
Reviewed-by: Colin Walters <walters@verbum.org>
13 years agoImplement message type in match_rule_to_string
Alban Crequy [Wed, 6 Oct 2010 11:12:32 +0000 (13:12 +0200)]
Implement message type in match_rule_to_string

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=24307
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
13 years agoOpt-in to thread safety on Solaris
Simon McVittie [Wed, 26 Jan 2011 18:21:49 +0000 (18:21 +0000)]
Opt-in to thread safety on Solaris

Alternatively, get a better C library. :-)

See also:
<http://lists.freedesktop.org/archives/dbus/2010-November/013796.html>,
<http://lists.freedesktop.org/archives/dbus/2010-December/013902.html>.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=33464
Reviewed-by: Colin Walters <walters@verbum.org>
13 years ago_dbus_server_new_for_tcp_socket: fix error handling
Simon McVittie [Wed, 26 Jan 2011 18:55:00 +0000 (18:55 +0000)]
_dbus_server_new_for_tcp_socket: fix error handling

This is one of the patches from Maemo's dbus package. It seems to do all
of:

* fix some documentation
* remove unreached code to delete/free the nonce file from
  _dbus_server_new_for_socket - doing that on failure violates
  least-astonishment anyway
* in _dbus_server_new_for_tcp_socket, never fail without setting @error
* if we fail after creating the nonce file, delete it
* if we fail after allocating the nonce file struct, free it

Origin: vendor, Maemo
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=33128
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
13 years agoMake _dbus_directory_get_next_file use readdir, not readdir_r
Simon McVittie [Mon, 17 Jan 2011 18:40:15 +0000 (18:40 +0000)]
Make _dbus_directory_get_next_file use readdir, not readdir_r

This isn't thread-safe or reentrant, but it turns out we don't need
either of those properties, and readdir_r is a real pain to use correctly,
particularly in the presence of FUSE filesystems that might implement
statfs() wrong.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=8284
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=15922
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
13 years agotest/name-test: remove dangling references to test-names.c, which is absent
Simon McVittie [Tue, 18 Jan 2011 18:07:14 +0000 (18:07 +0000)]
test/name-test: remove dangling references to test-names.c, which is absent

Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
13 years agofix check for 32-bit integers if short is 32 bits long
Simon McVittie [Wed, 19 Jan 2011 14:09:33 +0000 (14:09 +0000)]
fix check for 32-bit integers if short is 32 bits long

In practice, this won't happen for years, but we might as well be correct.

Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
13 years ago_dbus_loop_iterate: if the kernel says a fd is bad, stop watching it
Simon McVittie [Wed, 12 Jan 2011 12:14:49 +0000 (12:14 +0000)]
_dbus_loop_iterate: if the kernel says a fd is bad, stop watching it

Again, this shouldn't happen - modules are responsible for cleaning up
their watches - but the failure mode here is really bad: if we leave an
invalid fd in the set, every poll() call will instantly return, marking
it as POLLNVAL. The result is that dbus-daemon busy-loops on poll()
without responding to I/O, so the bad watch will probably never be
cleared up.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32992
Bug-NB: NB#200248
Reviewed-by: Colin Walters <walters@verbum.org>
13 years ago_dbus_loop_iterate: cleanup: make more use of a temporary variable
Simon McVittie [Wed, 12 Jan 2011 11:59:19 +0000 (11:59 +0000)]
_dbus_loop_iterate: cleanup: make more use of a temporary variable

It was added by the previous commit.

Reviewed-by: Colin Walters <walters@verbum.org>
13 years ago_dbus_loop_iterate: if a watch has been invalidated, skip it
Simon McVittie [Wed, 12 Jan 2011 11:58:31 +0000 (11:58 +0000)]
_dbus_loop_iterate: if a watch has been invalidated, skip it

This shouldn't happen - other modules are responsible for cleaning up
their watches - but the bug fixed in my last commit has been present for
several years and I'm sure it's not the only one, so for robustness,
let's refuse to watch obviously-wrong file descriptors.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32992
Bug-NB: NB#200248
Reviewed-by: Colin Walters <walters@verbum.org>
13 years agodbus-spawn: don't leave bad file descriptors being watched
Simon McVittie [Tue, 11 Jan 2011 19:57:31 +0000 (19:57 +0000)]
dbus-spawn: don't leave bad file descriptors being watched

The code called from handle_watch() might close either or both of the
sockets we're watching, without cleaning up the DBusWatch. This results
in invalid file descriptors being passed to _dbus_poll(), which could
end up busy-looping on a POLLNVAL condition until the babysitter loses
its last ref (which automatically clears up both watches).

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32992
Bug-NB: NB#200248
Reviewed-by: Colin Walters <walters@verbum.org>
13 years agotest-privserver-client: wait for server to die between iterations
Simon McVittie [Thu, 20 Jan 2011 13:41:58 +0000 (13:41 +0000)]
test-privserver-client: wait for server to die between iterations

This fixes a race condition: the server exits while the client continues
to the next iteration. If the server wins, the test passes. If the client
wins, it sends a message to the dying service, never gets a reply, and the
test fails.

My branch to refactor the main loop for fd.o #23194 seems to make the
client more likely to win this race, resulting in intermittent test
failures.

This is an instance of the general problem described by fd.o #11454.

13 years agotest_server_shutdown: disconnect the server before causing it to be freed
Simon McVittie [Wed, 19 Jan 2011 17:34:10 +0000 (17:34 +0000)]
test_server_shutdown: disconnect the server before causing it to be freed

Otherwise we die with an assertion failure.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=33277

13 years agotest_server_setup: allocate two server-data blobs, for watches and timeouts
Simon McVittie [Wed, 19 Jan 2011 17:33:31 +0000 (17:33 +0000)]
test_server_setup: allocate two server-data blobs, for watches and timeouts

This is similar to how ConnectionData works. Without this change, we
deserve to segfault: when the first set of callbacks (either watches or
timeouts) is cleaned up, we unref the server and loop, and free sd;
when the second set of callbacks is cleaned up, we use-after-free sd,
the server and the loop, then double-free sd.

However, due to fd.o #33277 we don't even get that far, because we've
already died with an assertion failure.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=33277

13 years agotest_server_setup: on OOM while setting up watch/timeout, don't leak sd
Simon McVittie [Wed, 19 Jan 2011 17:28:58 +0000 (17:28 +0000)]
test_server_setup: on OOM while setting up watch/timeout, don't leak sd

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=33128
Reviwed-by: Colin Walters <walters@verbum.org>
13 years ago_dbus_read_credentials_socket: support OpenBSD
Simon McVittie [Fri, 21 Jan 2011 13:27:18 +0000 (13:27 +0000)]
_dbus_read_credentials_socket: support OpenBSD

OpenBSD SO_PEERCRED is nearly the same as Linux SO_PEERCRED, but the
struct is named differently. Sigh.

Based on a patch from 'ajacoutot'.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32542