platform/upstream/dbus.git
8 years agoMore NEWS for 1.11
Simon McVittie [Fri, 12 Aug 2016 09:17:46 +0000 (10:17 +0100)]
More NEWS for 1.11

8 years agoMerge branch 'dbus-1.10'
Simon McVittie [Fri, 12 Aug 2016 09:14:46 +0000 (10:14 +0100)]
Merge branch 'dbus-1.10'

8 years agoNEWS for 1.10
Simon McVittie [Fri, 12 Aug 2016 09:12:28 +0000 (10:12 +0100)]
NEWS for 1.10

8 years agoMark WaitingForOK state as unused
Simon McVittie [Thu, 11 Aug 2016 15:08:39 +0000 (16:08 +0100)]
Mark WaitingForOK state as unused

It should probably be used (see #97298) but the fact that it isn't
is breaking compatibility with gcc 6, so apply a quick workaround
while we look into what's wrong here.

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=97282
(cherry picked from commit 21d61180819c141e779d6ecf9919e62e768b6fd9)

8 years agoupdate-activation-environment: produce better diagnostics on error
Simon McVittie [Mon, 11 Jul 2016 09:52:44 +0000 (10:52 +0100)]
update-activation-environment: produce better diagnostics on error

If dbus-daemon or systemd replied to our method call with an error,
we would report it as "invalid arguments" instead of the true error
name and message.

Same root cause as <https://bugs.freedesktop.org/show_bug.cgi?id=96653>.

Signed-off-by: Simon McVittie <smcv@debian.org>
8 years agoconfig-parser: remove unnecessary newline from _dbus_log()
Simon McVittie [Wed, 20 Jul 2016 07:55:55 +0000 (08:55 +0100)]
config-parser: remove unnecessary newline from _dbus_log()

_dbus_log() already adds a newline.

Signed-off-by: Simon McVittie <smcv@debian.org>
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=97009

8 years ago_dbus_system_log: rename to _dbus_log
Simon McVittie [Wed, 20 Jul 2016 07:55:14 +0000 (08:55 +0100)]
_dbus_system_log: rename to _dbus_log

This is a step towards making it write to either stderr or syslog
or both, as configured globally.

Signed-off-by: Simon McVittie <smcv@debian.org>
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=97009

8 years ago_dbus_init_system_log: record a syslog tag (executable name)
Simon McVittie [Thu, 21 Jul 2016 09:29:10 +0000 (10:29 +0100)]
_dbus_init_system_log: record a syslog tag (executable name)

Instead of hard-coding "dbus", report what the executable really is.

Signed-off-by: Simon McVittie <smcv@debian.org>
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=97009

8 years agosysdeps: move _dbus_system_log() into the shared library
Simon McVittie [Wed, 20 Jul 2016 09:07:12 +0000 (10:07 +0100)]
sysdeps: move _dbus_system_log() into the shared library

This is in preparation for optionally making _dbus_warn() use it.
dbus-daemon closes its stderr under some circumstances, including
when launched by dbus-launch, which makes failures in that
situation rather hard to debug.

_dbus_system_log() is the same on Unix and Windows, so move it
to dbus-sysdeps.c. _dbus_system_logv() remains platform-specific.

Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=97009
[smcv: move the #include for syslog.h, too]
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agotest-bus: don't write to the syslog
Simon McVittie [Wed, 20 Jul 2016 09:14:51 +0000 (10:14 +0100)]
test-bus: don't write to the syslog

We want to emulate the behaviour of the system bus, but we don't
really want to spam the system log with lots of test messages.

Signed-off-by: Simon McVittie <smcv@debian.org>
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=97009

8 years agoFix misleading indentation to avoid respective compiler warning
Thomas Zimmermann [Tue, 9 Aug 2016 16:22:04 +0000 (18:22 +0200)]
Fix misleading indentation to avoid respective compiler warning

Signed-off-by: Thomas Zimmermann <tdz@users.sourceforge.net>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=97282

8 years agoProtect 'i' in _handle_inotify_watch by DBUS_ENABLE_VERBOSE_MODE
Thomas Zimmermann [Tue, 9 Aug 2016 16:19:56 +0000 (18:19 +0200)]
Protect 'i' in _handle_inotify_watch by DBUS_ENABLE_VERBOSE_MODE

Signed-off-by: Thomas Zimmermann <tdz@users.sourceforge.net>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=97282

8 years agoInitialize 'klass' in _dbus_type_reader_recurse to NULL
Thomas Zimmermann [Tue, 9 Aug 2016 14:48:59 +0000 (16:48 +0200)]
Initialize 'klass' in _dbus_type_reader_recurse to NULL

Initializing 'klass' in _dbus_type_reader_recurse avoids a
compile-time warning about the variable being uninitialized.

Signed-off-by: Thomas Zimmermann <tdz@users.sourceforge.net>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=97282

8 years agoProtect 'orig_len' in recover_unused_bytes by DBUS_ENABLE_VERBOSE_MODE
Thomas Zimmermann [Tue, 9 Aug 2016 16:26:56 +0000 (18:26 +0200)]
Protect 'orig_len' in recover_unused_bytes by DBUS_ENABLE_VERBOSE_MODE

Signed-off-by: Thomas Zimmermann <tdz@users.sourceforge.net>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=97282

8 years agodbus-launch: Protect concat2 by DBUS_ENABLE_EMBEDDED_TESTS
Thomas Zimmermann [Tue, 9 Aug 2016 16:15:25 +0000 (18:15 +0200)]
dbus-launch: Protect concat2 by DBUS_ENABLE_EMBEDDED_TESTS

Signed-off-by: Thomas Zimmermann <tdz@users.sourceforge.net>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=97282

8 years agoMark WaitingForOK state as unused
Simon McVittie [Thu, 11 Aug 2016 15:08:39 +0000 (16:08 +0100)]
Mark WaitingForOK state as unused

It should probably be used (see #97298) but the fact that it isn't
is breaking compatibility with gcc 6, so apply a quick workaround
while we look into what's wrong here.

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=97282

8 years agoMerge branch 'dbus-1.10'
Simon McVittie [Fri, 29 Jul 2016 18:15:21 +0000 (19:15 +0100)]
Merge branch 'dbus-1.10'

8 years agoNEWS for 1.10 branch
Simon McVittie [Fri, 29 Jul 2016 18:14:18 +0000 (19:14 +0100)]
NEWS for 1.10 branch

8 years agoconfigure.ac: explicitely check stdint.h
Ioan-Adrian Ratiu [Thu, 28 Jul 2016 22:19:37 +0000 (01:19 +0300)]
configure.ac: explicitely check stdint.h

Otherwise HAVE_STDINT_H will not be defined or the var will not be
picked up from cache so builds could fail with errors like:
| ../../dbus-1.10.8/dbus/dbus-internals.h:239:8: error: ‘uintptr_t’ undeclared (first use in this function)

Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
[smcv: fix Autoconf underquoting]
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agoMerge branch 'dbus-1.10'
Simon McVittie [Mon, 25 Jul 2016 11:11:39 +0000 (12:11 +0100)]
Merge branch 'dbus-1.10'

8 years agoUpdate NEWS for 1.11
Simon McVittie [Mon, 25 Jul 2016 11:11:00 +0000 (12:11 +0100)]
Update NEWS for 1.11

8 years agoUpdate NEWS for merge of dbus-1.10-ci branch
Simon McVittie [Mon, 25 Jul 2016 10:53:13 +0000 (11:53 +0100)]
Update NEWS for merge of dbus-1.10-ci branch

8 years agoMerge branch 'dbus-1.10-ci' into dbus-1.10
Simon McVittie [Mon, 25 Jul 2016 10:43:54 +0000 (11:43 +0100)]
Merge branch 'dbus-1.10-ci' into dbus-1.10

8 years ago_read_subprocess_line_argv: use _dbus_ensure_standard_fds
Simon McVittie [Thu, 21 Jul 2016 07:27:36 +0000 (08:27 +0100)]
_read_subprocess_line_argv: use _dbus_ensure_standard_fds

This also gives us an opportunity to improve the error reporting.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=97008
Signed-off-by: Simon McVittie <smcv@debian.org>
Reviewed-by: Thiago Macieira <thiago@kde.org>
8 years agodbus-launch: use _dbus_ensure_standard_fds when closing stderr
Simon McVittie [Thu, 21 Jul 2016 07:27:06 +0000 (08:27 +0100)]
dbus-launch: use _dbus_ensure_standard_fds when closing stderr

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=97008
Signed-off-by: Simon McVittie <smcv@debian.org>
Reviewed-by: Thiago Macieira <thiago@kde.org>
8 years agodbus-launch: use _dbus_ensure_standard_fds() in the babysitter
Simon McVittie [Thu, 21 Jul 2016 07:26:40 +0000 (08:26 +0100)]
dbus-launch: use _dbus_ensure_standard_fds() in the babysitter

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=97008
Signed-off-by: Simon McVittie <smcv@debian.org>
Reviewed-by: Thiago Macieira <thiago@kde.org>
8 years ago_dbus_become_daemon: use _dbus_ensure_standard_fds, and report errors
Simon McVittie [Thu, 21 Jul 2016 07:25:21 +0000 (08:25 +0100)]
_dbus_become_daemon: use _dbus_ensure_standard_fds, and report errors

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=97008
Signed-off-by: Simon McVittie <smcv@debian.org>
Reviewed-by: Thiago Macieira <thiago@kde.org>
8 years agodbus-daemon, dbus-launch: cope with callers having closed standard fds
Simon McVittie [Thu, 21 Jul 2016 07:24:38 +0000 (08:24 +0100)]
dbus-daemon, dbus-launch: cope with callers having closed standard fds

In Debian bug <https://bugs.debian.org/829348>, lightdm appears to
have been starting dbus-launch with at least one of the three
standard fds 0, 1, 2 (stdin, stdout, stderr) closed. This resulted
in the dbus-daemon's epoll_create1() returning a fd less than 3.
Later, _dbus_become_daemon() replaces fds 0-2 with /dev/null. As a
result, a subsequent call to _dbus_loop_add_watch() for the reload
pipe resulted in calling epoll_ctl on the non-epoll fd pointing to
/dev/null, which fails with EINVAL, resulting in the dbus-daemon
exiting unsuccessfully.

Unix programs are not normally expected to behave correctly when
launched with the standard fds not already open; but at the same time,
X11 autolaunching means that dbus-launch (and hence the dbus-daemon)
can get started from an arbitrarily precarious situation.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=97008
Signed-off-by: Simon McVittie <smcv@debian.org>
Reviewed-by: Thiago Macieira <thiago@kde.org>
8 years ago_dbus_ensure_standard_fds: new function to ensure std* fds are open
Simon McVittie [Thu, 21 Jul 2016 07:23:12 +0000 (08:23 +0100)]
_dbus_ensure_standard_fds: new function to ensure std* fds are open

This function opens stdin, stdout, stderr pointing to /dev/null
if they aren't already open. Optionally, it can also replace
whatever is available on those fds with /dev/null.

To allow for use in contexts where only async-signal-safe functions
should be used, such as between fork() and a following exec(),
this function does not use conventional libdbus error handling
(which would require malloc). Instead, it sets errno and returns
an explanatory string.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=97008
Signed-off-by: Simon McVittie <smcv@debian.org>
Reviewed-by: Thiago Macieira <thiago@kde.org>
8 years agodbus: do not include unused afxres.h on windows.
Ralf Habacker [Wed, 25 May 2016 08:54:32 +0000 (10:54 +0200)]
dbus: do not include unused afxres.h on windows.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=96181
Reviewed-by: simon.mcvittie@collabora.co.uk
8 years agodbus-launch: add --exit-with-x11 option
Simon McVittie [Mon, 11 Jul 2016 11:10:39 +0000 (12:10 +0100)]
dbus-launch: add --exit-with-x11 option

This is more suitable for distributions' Xsession scripts: it verifies
that X is already available, and so never results in an attempt to poll
stdin.

We read the machine UUID because it is needed to set the X atoms.
x11_init() assumes that the machine UUID (global variable) has been
set, either via read_machine_uuid_if_needed() or save_machine_uuid().
This is pretty tangled, but to make The Right Thing happen
automatically, we'd need to redo dbus-launch in terms of DBusError.

Reviewed-by: Will Thompson
Reviewed-by: Thiago Macieira
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=39197
Signed-off-by: Simon McVittie <smcv@debian.org>
8 years agoBe explicit about enum comparison in bus_config_load()
Deepika Aggarwal [Thu, 3 Dec 2015 05:52:56 +0000 (11:22 +0530)]
Be explicit about enum comparison in bus_config_load()

XML_Parse() can potentially return values other than OK (1) or ERROR (0),
and they aren't errors.

Signed-off-by: Deepika Aggarwal <deepika.a@samsung.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=93205
[smcv: improve commit message, fix whitespace]
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agobus: reassure static analysis tool that server slot allocation can't fail
Deepika Aggarwal [Mon, 7 Dec 2015 11:26:06 +0000 (16:56 +0530)]
bus: reassure static analysis tool that server slot allocation can't fail

The NULL-dereference is not actually possible in this case, because we
know that the allocation and setup were done previously.

Signed-off-by: Deepika Aggarwal <deepika.a@samsung.com>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=93210

8 years agoAdd an invalid state in DBusAuthState to use for invalid lines in auth scripts.
Nick Lewycky [Thu, 28 Jan 2016 20:58:43 +0000 (12:58 -0800)]
Add an invalid state in DBusAuthState to use for invalid lines in auth scripts.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=93909
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agoNEWS for 1.11.x
Simon McVittie [Thu, 30 Jun 2016 13:47:21 +0000 (14:47 +0100)]
NEWS for 1.11.x

8 years agoMerge branch 'dbus-1.10'
Simon McVittie [Thu, 30 Jun 2016 13:41:23 +0000 (14:41 +0100)]
Merge branch 'dbus-1.10'

8 years agoUpdate NEWS
Simon McVittie [Thu, 30 Jun 2016 13:40:24 +0000 (14:40 +0100)]
Update NEWS

8 years agospec: Clarify the marshaling format in a few minor ways
Philip Withnall [Tue, 15 Dec 2015 09:25:36 +0000 (09:25 +0000)]
spec: Clarify the marshaling format in a few minor ways

This is an attempt to make that section a little clearer. I don’t think
any factual inaccuracies have been fixed (because I couldn’t find any).

Including some wording and an example by Simon McVittie.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=93382
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agoMerge branch 'dbus-1.10' into dbus-1.10-ci
Simon McVittie [Thu, 30 Jun 2016 12:57:29 +0000 (13:57 +0100)]
Merge branch 'dbus-1.10' into dbus-1.10-ci

8 years agoMerge branch 'dbus-1.10'
Simon McVittie [Thu, 30 Jun 2016 12:56:44 +0000 (13:56 +0100)]
Merge branch 'dbus-1.10'

8 years agoactivation: set children oom_score_adj to 0
WaLyong Cho [Tue, 7 Jun 2016 14:26:42 +0000 (23:26 +0900)]
activation: set children oom_score_adj to 0

If dbus is running as systemd service, dbus daemon is running with
oom_score_adj -900 by OOMScoreAdjust=-900. And children will also have
same value with dbus daemon.
To avoid this, set the child itself values after fork () to 0.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32851
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agoUse dbus_set_error_from_message() to check for an error
Руслан Ижбулатов [Thu, 23 Jun 2016 12:26:45 +0000 (12:26 +0000)]
Use dbus_set_error_from_message() to check for an error

Do not rely on dbus_message_get_args() to turn an ERROR message
into DBusError.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=96653
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agoQuote the DBUS_SESSION_BUS_ADDRESS variable in the shell file
Thiago Macieira [Tue, 29 Mar 2016 19:15:15 +0000 (12:15 -0700)]
Quote the DBUS_SESSION_BUS_ADDRESS variable in the shell file

Some D-Bus daemon versions set multiple addresses separated by semi-colon,
which breaks sourcing of the file.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=94746
Signed-off-by: Thiago Macieira <thiago@kde.org>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agoQuote the DBUS_SESSION_BUS_ADDRESS variable in the shell file
Thiago Macieira [Tue, 29 Mar 2016 19:15:15 +0000 (12:15 -0700)]
Quote the DBUS_SESSION_BUS_ADDRESS variable in the shell file

Some D-Bus daemon versions set multiple addresses separated by semi-colon,
which breaks sourcing of the file.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=94746
Signed-off-by: Thiago Macieira <thiago@kde.org>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agoMigrate platform specific spawn tests into cross platform tests.
Ralf Habacker [Mon, 16 May 2016 13:35:01 +0000 (15:35 +0200)]
Migrate platform specific spawn tests into cross platform tests.

Also enable segfault checks on windows because the reason why it
has been disabled has been fixed with bug #95155.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=95191
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agotravis: compile with mingw in both production and debug flavours
Simon McVittie [Mon, 16 May 2016 12:48:37 +0000 (13:48 +0100)]
travis: compile with mingw in both production and debug flavours

This should detect anything that is only a build failure when embedded
tests or verbose mode are enabled, such as the missing include fixed
in commit 4858faf. I'm not enabling embedded tests and verbose mode
orthogonally because we don't want CI builds to take too long.

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
(cherry picked from commit 8f6fe1451ead14b82475177f40bbc2c256cba876)

8 years agoMerge branch 'dbus-1.10' into dbus-1.10-ci
Simon McVittie [Wed, 18 May 2016 17:14:16 +0000 (18:14 +0100)]
Merge branch 'dbus-1.10' into dbus-1.10-ci

8 years agotest-segfault: add missing include of <stdio.h> on Windows
Simon McVittie [Mon, 16 May 2016 13:10:36 +0000 (14:10 +0100)]
test-segfault: add missing include of <stdio.h> on Windows

Needed for fprintf (stderr, ...).

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
(cherry picked from commit 07b7dcd7178f927cd0b3a3282396b7f99c0b1d29)

8 years agotravis: compile with mingw in both production and debug flavours
Simon McVittie [Mon, 16 May 2016 12:48:37 +0000 (13:48 +0100)]
travis: compile with mingw in both production and debug flavours

This should detect anything that is only a build failure when embedded
tests or verbose mode are enabled, such as the missing include fixed
in commit 4858faf. I'm not enabling embedded tests and verbose mode
orthogonally because we don't want CI builds to take too long.

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
8 years agotest-segfault: add missing include of <stdio.h> on Windows
Simon McVittie [Mon, 16 May 2016 13:10:36 +0000 (14:10 +0100)]
test-segfault: add missing include of <stdio.h> on Windows

Needed for fprintf (stderr, ...).

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
8 years agoFix memory leak issue in spawn code on Windows.
Ralf Habacker [Sat, 14 May 2016 09:42:04 +0000 (11:42 +0200)]
Fix memory leak issue in spawn code on Windows.

In _dbus_babysitter_block_for_child_exit () use spawning
thread handle to have a reliable way to detect spawning
thread termination.

See https://bugs.freedesktop.org/show_bug.cgi?id=95191#c33
for more informations.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=95191
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agoFix compiling on windows/mingw with automake build system.
Ralf Habacker [Sat, 14 May 2016 08:00:20 +0000 (10:00 +0200)]
Fix compiling on windows/mingw with automake build system.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=95191
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agoMerge branch 'dbus-1.10'
Ralf Habacker [Mon, 16 May 2016 10:57:04 +0000 (12:57 +0200)]
Merge branch 'dbus-1.10'

8 years agoFix ambiguous setup of DBusBabySitter struct member child_handle on Windows.
Ralf Habacker [Mon, 16 May 2016 10:52:25 +0000 (12:52 +0200)]
Fix ambiguous setup of DBusBabySitter struct member child_handle on Windows.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=95191
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agodbus-spawn-win: Do not attempt to call child_setup (again)
Simon McVittie [Fri, 13 May 2016 13:54:33 +0000 (14:54 +0100)]
dbus-spawn-win: Do not attempt to call child_setup (again)

This reinstates part of commit 420f3474, fixing a mis-merge in
commit 8c0d5980.

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agoMerge branch 'dbus-1.10'
Ralf Habacker [Fri, 13 May 2016 13:32:44 +0000 (15:32 +0200)]
Merge branch 'dbus-1.10'

8 years agoPrefix debug messages displayed with _dbus_verbose() with a timestamp.
Ralf Habacker [Wed, 11 May 2016 06:06:04 +0000 (08:06 +0200)]
Prefix debug messages displayed with _dbus_verbose() with a timestamp.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=95191
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agoDisplay thread id in _dbus_verbose to be able to see threading issues.
Ralf Habacker [Tue, 10 May 2016 14:51:25 +0000 (16:51 +0200)]
Display thread id in _dbus_verbose to be able to see threading issues.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=95191
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agoOn Windows make access to member 'refcount' of struct DBusBabysitter thread safe.
Ralf Habacker [Tue, 10 May 2016 14:53:57 +0000 (16:53 +0200)]
On Windows make access to member 'refcount' of struct DBusBabysitter thread safe.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=95191
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agoEliminates a race condition accessing DBusBabysitter instance at startup of babysitte...
Ralf Habacker [Thu, 12 May 2016 22:56:42 +0000 (00:56 +0200)]
Eliminates a race condition accessing DBusBabysitter instance at startup of babysitter() on Windows.

Ensure that the babysitter thread already owns its one reference to the
babysitter when it starts up, and eliminates the race condition.
This patch requires that DBusBabysitter refcounting is thread-safe
and is based on an analysis and proposal of Simon Mc Vittie.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=95191
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agoFix memory leak in _dbus_replace_install_prefix() on success case on Windows.
Ralf Habacker [Mon, 9 May 2016 21:38:21 +0000 (23:38 +0200)]
Fix memory leak in _dbus_replace_install_prefix() on success case on Windows.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=95191
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agoMerge branch 'dbus-1.10'
Ralf Habacker [Mon, 9 May 2016 19:50:56 +0000 (21:50 +0200)]
Merge branch 'dbus-1.10'

8 years agoSuppress Windows popups and jit debugger when app crashes with exception.
Ralf Habacker [Mon, 9 May 2016 15:31:17 +0000 (17:31 +0200)]
Suppress Windows popups and jit debugger when app crashes with exception.

Based on a patch from Yiyang Fei.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=95155
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agosysdeps: increase listen() backlog of AF_UNIX sockets to SOMAXCONN
Lennart Poettering [Wed, 4 May 2016 16:06:17 +0000 (18:06 +0200)]
sysdeps: increase listen() backlog of AF_UNIX sockets to SOMAXCONN

Previously, the listen() backlog was set to an arbitrary 30. This means
that if dbus-daemon is overloaded only 30 more connections may be queued
by the kernel, before connect() fails with EAGAIN. (Note that EAGAIN !=
EINPROGRESS -- the latter is what is returned if a connection is queued
and being processed for asynchronous sockets; EAGAIN in this case is
really an error, that cannot be recovered from).

Most software simply sets SOMAXCONN as backlog for AF_UNIX sockets, to
allow queuing of as many connections as the kernel allows. SOMAXCONN is
128 on Linux, which is not particularly high, but at least higher than
30.

This patch changes dbus-daemon to do the same.

I noticed this when flooding dbus-daemon with a lot of connections,
where it pretty quickly ceased to respond, much earlier than it really
should.

Note that the backlog has nothing to do with the number of concurrent
connections allowed, it simply controls how many queued, but not
accept()ed connections there may be on the listening socket.

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

8 years agoMerge branch 'dbus-1.10'
Ralf Habacker [Mon, 2 May 2016 05:19:41 +0000 (07:19 +0200)]
Merge branch 'dbus-1.10'

8 years agoFix crash in test-spawn unit test app on Windows.
Yiyang Fei [Wed, 27 Apr 2016 15:10:06 +0000 (08:10 -0700)]
Fix crash in test-spawn unit test app on Windows.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=95160
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agoFix assert in test-spawn caused by missing initialization of DBusError instance on...
Ralf Habacker [Fri, 29 Apr 2016 07:47:51 +0000 (09:47 +0200)]
Fix assert in test-spawn caused by missing initialization of DBusError instance on gcc builds.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=95160
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
(cherry picked from commit 9323a621e868d6a5b628b89696b1efe0300ff939)

8 years agoFix assert in test-spawn caused by missing initialization of DBusError instance on...
Ralf Habacker [Fri, 29 Apr 2016 07:47:51 +0000 (09:47 +0200)]
Fix assert in test-spawn caused by missing initialization of DBusError instance on gcc builds.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=95160
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agodbus_internal_do_not_use_try_message_data: Calling _dbus_message_loader_get_max_messa...
Ralf Habacker [Thu, 14 Apr 2016 11:58:13 +0000 (13:58 +0200)]
dbus_internal_do_not_use_try_message_data: Calling _dbus_message_loader_get_max_message_size(loader) is only useful for its return value, which is ignored (CID 54725).

Reported by Coverity: CID 54725: Useless call (USELESS_CALL)

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

8 years ago1.11.3
Simon McVittie [Mon, 7 Mar 2016 20:54:05 +0000 (20:54 +0000)]
1.11.3

8 years agoMerge branch 'dbus-1.10' into dbus-1.10-ci
Simon McVittie [Mon, 7 Mar 2016 19:45:15 +0000 (19:45 +0000)]
Merge branch 'dbus-1.10' into dbus-1.10-ci

8 years ago1.11.2
Simon McVittie [Mon, 7 Mar 2016 19:36:01 +0000 (19:36 +0000)]
1.11.2

8 years agoMerge branch 'dbus-1.10'
Simon McVittie [Mon, 7 Mar 2016 19:33:04 +0000 (19:33 +0000)]
Merge branch 'dbus-1.10'

8 years ago1.10.9
Simon McVittie [Mon, 7 Mar 2016 19:31:52 +0000 (19:31 +0000)]
1.10.9

8 years ago1.10.8
Simon McVittie [Mon, 7 Mar 2016 16:07:20 +0000 (16:07 +0000)]
1.10.8

Signed-off-by: Simon McVittie <smcv@debian.org>
8 years agoMerge branch 'dbus-1.10-ci'
Simon McVittie [Thu, 3 Mar 2016 07:31:42 +0000 (07:31 +0000)]
Merge branch 'dbus-1.10-ci'

8 years agoDisable travis-ci apt source for Google Chrome
Simon McVittie [Wed, 2 Mar 2016 22:26:47 +0000 (22:26 +0000)]
Disable travis-ci apt source for Google Chrome

This prevents adding i386 as a foreign architecture. We don't need
Chrome anyway.

Signed-off-by: Simon McVittie <smcv@debian.org>
8 years agoUpdate NEWS for 1.11.2
Simon McVittie [Wed, 2 Mar 2016 19:15:07 +0000 (19:15 +0000)]
Update NEWS for 1.11.2

8 years agoMerge branch 'dbus-1.10'
Simon McVittie [Wed, 2 Mar 2016 19:00:00 +0000 (19:00 +0000)]
Merge branch 'dbus-1.10'

8 years agoMerge branch 'dbus-1.10' into dbus-1.10-ci
Simon McVittie [Wed, 2 Mar 2016 18:52:34 +0000 (18:52 +0000)]
Merge branch 'dbus-1.10' into dbus-1.10-ci

8 years agoupdate NEWS
Simon McVittie [Wed, 2 Mar 2016 18:24:11 +0000 (18:24 +0000)]
update NEWS

8 years agodbus-test-tool echo: fix sleep documentation
Dmitri Iouchtchenko [Mon, 22 Feb 2016 04:50:49 +0000 (23:50 -0500)]
dbus-test-tool echo: fix sleep documentation

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=94244
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agoStatically assert that the DBusMessageIter struct has no padding
Simon McVittie [Mon, 15 Feb 2016 13:52:52 +0000 (13:52 +0000)]
Statically assert that the DBusMessageIter struct has no padding

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Thiago Macieira <thiago@kde.org>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=94136

8 years agoDBusMessageIter: eliminate padding on 64-bit platforms
Simon McVittie [Mon, 15 Feb 2016 15:00:22 +0000 (15:00 +0000)]
DBusMessageIter: eliminate padding on 64-bit platforms

Previously, 64-bit (LP64 or LLP64) platforms would have had 32 bits
of padding between pad2 and pad3. We want to guarantee that an ISO C
compiler will copy the entire struct when assigning between structs,
but padding is not guaranteed to be copied, so we want to ensure that
the struct is "packed".

Statically assert that the old ABI is compatible with the new ABI.

Reviewed-by: Thiago Macieira <thiago@kde.org>
[smcv: change >= to == as Thiago requested]
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=94136

8 years agoDBusMessage: assert the properties we need DBusMessageIter to have
Simon McVittie [Mon, 15 Feb 2016 14:58:59 +0000 (14:58 +0000)]
DBusMessage: assert the properties we need DBusMessageIter to have

We already asserted that DBusMessageIter must be at least as large
as DBusMessageRealIter (so that casting DBusMessageIter * to
DBusMessageRealIter * does not result in overflowing the stack
variable). Also assert that it must have alignment requirements at
least as strict as those of DBusMessageRealIter * (so that casting
does not increase the required alignment).

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Thiago Macieira <thiago@kde.org>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=94136

8 years agodbus-internals: add _DBUS_ALIGNOF
Simon McVittie [Mon, 15 Feb 2016 13:45:49 +0000 (13:45 +0000)]
dbus-internals: add _DBUS_ALIGNOF

This is useful when making static assertions about our types'
properties.

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Thiago Macieira <thiago@kde.org>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=94136

8 years agoNEWS so far
Simon McVittie [Wed, 24 Feb 2016 10:50:22 +0000 (10:50 +0000)]
NEWS so far

8 years agoMove _dbus_hash_table_{to,from}_array out of #ifdef DBUS_ENABLE_EMBEDDED_TESTS
Simon McVittie [Fri, 12 Feb 2016 15:39:36 +0000 (15:39 +0000)]
Move _dbus_hash_table_{to,from}_array out of #ifdef DBUS_ENABLE_EMBEDDED_TESTS

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agoMerge branch 'dbus-1.10' into dbus-1.10-ci
Simon McVittie [Fri, 12 Feb 2016 15:32:38 +0000 (15:32 +0000)]
Merge branch 'dbus-1.10' into dbus-1.10-ci

8 years agoAdd new functions _dbus_hash_table_to_array() and _dbus_hash_table_from_array() from...
Ralf Habacker [Tue, 9 Feb 2016 14:23:39 +0000 (15:23 +0100)]
Add new functions _dbus_hash_table_to_array() and _dbus_hash_table_from_array() from related activation code.

These functions are required for dbus-run-session.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=92899
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agoRename function string_array_length() to _dbus_string_array_length() and move it...
Ralf Habacker [Fri, 27 Nov 2015 11:10:54 +0000 (12:10 +0100)]
Rename function string_array_length() to _dbus_string_array_length() and move it to dbus-internals.c.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=92899
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
8 years agoname-test: run most C tests directly, not via run-test.sh
Simon McVittie [Mon, 8 Feb 2016 20:32:34 +0000 (20:32 +0000)]
name-test: run most C tests directly, not via run-test.sh

The exception is test-autolaunch, which is really not particularly
useful as a build-time test. The only way we can really test
autolaunch is as a whole-system integration test, and "make check"
is not that.

The two tests written in Python and one test based on dbus-send
are also not run directly yet; in particular, that includes both
the tests in run-test-systemserver.sh.

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=92899
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
8 years agoname-test C tests: produce structured (TAP) output
Simon McVittie [Mon, 8 Feb 2016 20:28:21 +0000 (20:28 +0000)]
name-test C tests: produce structured (TAP) output

Similar to commit 58eefa1031e14cb402ed0aae85e6bce1ba030a28.

test-privserver is a helper executable, not a test. I moved its output
from stdout to stderr so it can't be misinterpreted as the test's
stdout.

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=92899
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
8 years agoReplace $DBUS_USE_TEST_BINARY with $DBUS_TEST_DBUS_LAUNCH
Simon McVittie [Mon, 8 Feb 2016 20:09:58 +0000 (20:09 +0000)]
Replace $DBUS_USE_TEST_BINARY with $DBUS_TEST_DBUS_LAUNCH

Instead of using $DBUS_USE_TEST_BINARY to control whether to use the
hard-coded test binary TEST_BUS_LAUNCH_BINARY, we can just use
$DBUS_TEST_DBUS_LAUNCH to control what we launch directly, as we
were already doing for $DBUS_TEST_DAEMON.

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=92899
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
8 years agoMerge branch 'dbus-1.10'
Simon McVittie [Fri, 12 Feb 2016 15:26:00 +0000 (15:26 +0000)]
Merge branch 'dbus-1.10'

8 years agoRevert "Replace $DBUS_USE_TEST_BINARY with $DBUS_TEST_DBUS_LAUNCH"
Simon McVittie [Fri, 12 Feb 2016 15:25:15 +0000 (15:25 +0000)]
Revert "Replace $DBUS_USE_TEST_BINARY with $DBUS_TEST_DBUS_LAUNCH"

This reverts commit 8fd2be6013e3d0ff6a6ff63ea022f9606d9a87c6.
This change was intended for 1.11.

8 years agoRevert "name-test C tests: produce structured (TAP) output"
Simon McVittie [Fri, 12 Feb 2016 15:25:13 +0000 (15:25 +0000)]
Revert "name-test C tests: produce structured (TAP) output"

This reverts commit fec99c9b3d8318e3abae432f2aca50802a87f90e.
This change was intended for 1.11.

8 years agoRevert "name-test: run most C tests directly, not via run-test.sh"
Simon McVittie [Fri, 12 Feb 2016 15:25:12 +0000 (15:25 +0000)]
Revert "name-test: run most C tests directly, not via run-test.sh"

This reverts commit d893121efdea39d2b32037b32e336ea483829b2e.
This change was intended for 1.11.

8 years agoRevert "Rename function string_array_length() to _dbus_string_array_length() and...
Simon McVittie [Fri, 12 Feb 2016 15:25:09 +0000 (15:25 +0000)]
Revert "Rename function string_array_length() to _dbus_string_array_length() and move it to dbus-internals.c."

This reverts commit 1370b44035da90a7fbcebea17074c66c832de0b1.
This change was intended for 1.11.

8 years agoRevert "Add new functions _dbus_hash_table_to_array() and _dbus_hash_table_from_array...
Simon McVittie [Fri, 12 Feb 2016 15:24:55 +0000 (15:24 +0000)]
Revert "Add new functions _dbus_hash_table_to_array() and _dbus_hash_table_from_array() from related activation code."

This reverts commit 610ff8d9646c1bb944bc5e56f22750f1754b308e.
This change was intended for 1.11.