Will Thompson [Fri, 24 Dec 2010 14:40:49 +0000 (14:40 +0000)]
connection: correct HAVE_DECL_MSG_NOSIGNAL guard
Helpfully, AC_CHECK_DECLS (which configure.in uses to define
HAVE_DECL_MSG_NOSIGNAL) behaves differently to every similar AC_CHECK_*
macro and, rather than producing #undef HAVE_DECL_MSG_NOSIGNAL if the
given symbol is not found, instead produces #define
HAVE_DECL_MSG_NOSIGNAL 0.
Mike McQuaid's patch fixes the uses of this constant in sysdeps-unix;
with this patch, all code is guarded consistently and correctly.
Christian Dywan [Tue, 4 Jan 2011 19:36:43 +0000 (19:36 +0000)]
Fix error condition in _dbus_pipe_close
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32264 Reviewed-by: Colin Walters <walters@verbum.org> Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Havoc Pennington [Mon, 13 Dec 2010 02:08:43 +0000 (21:08 -0500)]
CVE 2010-4352: Reject deeply nested variants
Add DBUS_INVALID_NESTED_TOO_DEEPLY validity problem and a test that
should generate it.
Previously, we rejected deep nesting in the signature, but
variants allow dynamic message nesting, conditional only
on the depth of the message body.
The nesting limit is 64, which was also the limit in static
signatures. Empirically, dynamic nesting depth observed on my
Fedora 14 system doesn't exceed 2; 64 is really a huge limit.
Will Thompson [Thu, 16 Dec 2010 13:56:04 +0000 (13:56 +0000)]
sysdeps-unix: check for HAVE_DECL_MSG_NOSIGNAL
MSG_NOSIGNAL could theoretically be an enum member or something rather
than an #define, so it's better to check for the flag defined by the
configure check (as is done in dbus-connection.c already).
Reviewed-by: Colin Walters <walters@verbum.org> Reviewed-by: Scott James Remnant <scott@netsplit.com>
Will Thompson [Mon, 13 Dec 2010 17:54:57 +0000 (17:54 +0000)]
Revert "test-autolaunch is only known to work in launchd environments."
This reverts commit 4626b405609900812125a407ef5fdd31c7b89868.
test-autolaunch works fine in non-launchd environments (and non-X11
environments, based on a quick test passing enable_x11=no to configure).
On the contrary: this commit *broke* the build on non-launchd
environments, because test/name-test/run-test.sh still tried to run this
test even if it hadn't been built.
Will Thompson [Mon, 13 Dec 2010 17:22:00 +0000 (17:22 +0000)]
policy tests: Use 'nogroup' rather than 'wheel' or 'root'
The excellently-titled commit 197bef8 “Fix test failures on OSX.” broke
the tests on Linux, since there's no wheel group on this side of the
tracks. So here's a group everyone should enjoy.
(If anyone comes along and tells me that DragonflyBSD doesn't have
'nogroup' …)
Benjamin Reed [Sun, 19 Jul 2009 15:45:34 +0000 (11:45 -0400)]
Enable launchd.
This patch enables support for Mac OS X's launch daemon
for startup as well as sharing of the DBus session bus
environment. It includes a LaunchAgent plist for automatic
start of the session bus.
Colin Walters [Wed, 11 Jun 2008 22:01:16 +0000 (18:01 -0400)]
Added a test-autolaunch.
* test/name-test/test-autolaunch.c: New file,
unsets DBUS_SESSION_BUS_ADDRESS so we should
fall back to autolaunch:.
* test/name-test/run-test.sh: Run it.
* test/name-test/Makefile.am: Build it.
Ralf Habacker [Fri, 29 Oct 2010 09:46:33 +0000 (11:46 +0200)]
Service dir related bug fix on windows.
The code for accessing services requires absolute pathes, which are based
on DBUS_DATADIR. DBUS_DATADIR on windows is defined relative. This patch
makes sure that those pathes are absolute.
Tentative workaround for the random hangs on windows.
The problem seems to be a race condition with winsock's
internal threads for the non-blocking mode of the sockets,
but I haven't had time to try a standalone test case yet
to confirm it. Anyway, I found a workaround that fixes it
in all cases, so it's good enough for now.
Will Thompson [Thu, 9 Sep 2010 12:15:57 +0000 (13:15 +0100)]
Move uploading docs into build system.
This uploads a doc tarball, and its contents, to the appropriate
location on dbus.freedesktop.org. It also uploads the DTDs to the
appropriate location on specifications.freedesktop.org.
I believe this uploads the same files as the old update-dbus-docs.sh
script did.
Will Thompson [Wed, 8 Sep 2010 21:12:00 +0000 (22:12 +0100)]
Report correct result of doxygen/xml doc checks
Previously the configure output always said these were enabled during
the 'Checking for...' stage, even if they weren't. The summary at the
end of configure was correct, though.
Will Thompson [Wed, 8 Sep 2010 21:10:47 +0000 (22:10 +0100)]
Move manpages to doc/
This will make integrating the building of HTML versions of these
manpages into the build system way easier, at the cost of keeping
manpages in a different directory to the source for the program they
describe. I think this is an acceptable trade-off.
Will Thompson [Wed, 8 Sep 2010 19:58:05 +0000 (20:58 +0100)]
Build Doxygen documentation for `make all`.
This depends on GNU Make for the wildcard dependency on all the source
files in dbus/. If anyone objects very strongly to this, I'd welcome
suggestions of a more portable way to do this.
Colin Walters [Fri, 3 Sep 2010 14:18:25 +0000 (10:18 -0400)]
Make dbus-uuidgen atomic
A Red Hat QA engineer hit in practice a race condition in dbus-uuidgen
where it could leave an empty file.
dbus-uuidgen (_dbus_create_uuid_file_exclusively) formerly created an
empty file in the path to the uuid, then filled it in. At some point,
the internal libdbus _dbus_string_save_to_file became atomic on Unix
at least (doing the save to temp file, fsync(), rename() dance).
So _dbus_create_uuid_file_exclusively doesn't need to create the file
beforehand anymore. However, it *does* need the file to be
world-readable, unlike all other consumers of
_dbus_string_save_to_file. So add a "world_readable" argument.