Tor Lillqvist [Wed, 22 Apr 2009 11:35:11 +0000 (13:35 +0200)]
dbus/dbus-sysdeps-win.c: add _dbus_win_error_string, and use after MoveFileEx instead of _dbus_error_from_errno (cherry picked from commit 1d0b2dacf52faffbeba09af2b309683ccc71547a)
Tor Lillqvist [Wed, 22 Apr 2009 07:20:04 +0000 (09:20 +0200)]
dbus/dbus-connection.c: use dbus_message_type_to_string instead of printing the naked message type (cherry picked from commit 33d858e83e3cb1f55ed257ffef930b8f49c3ffc7)
Fix broken Windows implementation of _dbus_printf_string_upper_bound().
Pass the correct buffer size when trying again, and keep trying with
larger buffer sizes, doubling the size each time.
(cherry picked from commit 95832a94607eea609de994467b7d64e36af72e6b)
Fix DBusMessage compiler warnings by adding some missing casts.
Basically the case where the address of a const pointer is passed as a non-const void pointer.
(cherry picked from commit dab3ec2abe7fbeea4dab873c8575a45b3b18882d)
Frank Osterfeld [Tue, 28 Apr 2009 14:14:13 +0000 (16:14 +0200)]
bus-test-launch-helper is a unit test, test-service and test-shell-service are not. Rename test-shell to shell-test to match autotools (cherry picked from commit b106387b73d6a300a013a15f6507244e82f007ed)
Frank Osterfeld [Tue, 28 Apr 2009 09:26:05 +0000 (11:26 +0200)]
rename test-spawn to spawn-test, to match autotools. test-sleep-forever is not a stand-alone test but called from other tests (cherry picked from commit 41bf95167cfc17b564594eab0a1901e46eaab5fe)
Frank Osterfeld [Mon, 27 Apr 2009 19:21:02 +0000 (21:21 +0200)]
build dbus-daemon-launch-helper-test and friends set all TEST vars needed for the .in files (cherry picked from commit fcd9ba392927b0433e5e037d393230774edae303)
Frank Osterfeld [Mon, 27 Apr 2009 15:58:45 +0000 (17:58 +0200)]
generate all config files from the .in files. Set some of the required variables replaced in the .in files by configure_file (cherry picked from commit 4980ffa1093877af182e032a13f6162df57be09f)
Frank Osterfeld [Tue, 28 Apr 2009 15:10:46 +0000 (17:10 +0200)]
fix configure check and VA_COPY usage
* fix configure check: set DBUS_VA_COPY_FUNC correctly, and DBUS_VA_COPY_AS_ARRAY if no usable one was found
* add DBUS_VA_COPY_AS_ARRAY
* define DBUS_VA_COPY indirectly, cmakedefine plus variable does not work for me on windows, and is the wrong thing to do according to Allen. The undef seems unnecessary now, the address parsing test passes on windows, using mingw
(cherry picked from commit e6680d78d943be4ee2d85e9d82cd8aa1350db882)
merge changes done to the cmake-buildsystem from the sf.net windbus-svn trunk. tested and works fine with at least msvc2008. (cherry picked from commit 45c168fd61e3f6447e014df4bb6417efbe725ccd)
windbus:r811: apply patch by Thorvald Natvig to fix endless loop when _dbus_get_autolaunch_shm got called and the dbus-daemon failed to start up.
* if launching for some reason fails, set an error message
* _dbus_get_autolaunch_shm will abort getting the shared memory after 20 attempts (2 seconds)
* _dbus_get_autolaunch_address checks if the return state of WaitForInputIdle before calling _dbus_get_autolaunch_shm.
* cmake/ConfigureChecks.cmake, cmake/config.h.cmake, configure.in:
check for wspiapi.h presence which isn't available (and unneeded) in mingw32
* dbus/dbus-sysdeps-win.c: use HAVE_WSPIAPI_H
Will Thompson [Wed, 28 Oct 2009 19:40:38 +0000 (19:40 +0000)]
Print all-printable-ASCII byte arrays as strings
In practice, ay seems to be used mostly for binary data (in which case,
hex output is fine) or for Unix file paths (because they may be
non-UTF-8) and similar human-readable strings. So let's print the latter
similarly to strings.
Will Thompson [Wed, 9 Sep 2009 19:35:13 +0000 (20:35 +0100)]
Make array-printing code easier to follow
Previously dbus_message_iter_get_arg_type() was called twice: once in
the loop condition to update 'current_type', and once to check if the
loop will run again. This patch moves updating current_type to the end
of the loop body.
James Westby [Thu, 1 Oct 2009 14:09:54 +0000 (15:09 +0100)]
Correct timeout handling
The timeout handling code subtracts the elapsed time from the timeout
each time a message is received, which drastically reduces the timeout
in circumstances such as service activation.
Correct so that the timeout is never modified, and the elapsed time
instead subtracted where necessary.
Signed-off-by: James Westby <jw+debian@jameswestby.net> Signed-off-by: Scott James Remnant <scott@ubuntu.com>
We have to use the return value, otherwise GCC optimises the code
by using instructions that don't return anything. That won't
match what we actually use in dbus-sysdeps-unix.c
Colin Walters [Tue, 14 Jul 2009 15:43:54 +0000 (11:43 -0400)]
Cope with dbus-launch not being in DBUS_BINDIR
This is a temporary hack for systems which use DBUS_BINDIR=/bin,
but then move dbus-launch back into /usr/bin. Longer term,
we should explicitly support this in upstream code, or even better
figure out how to move dbus-launch into /bin (e.g. dynamically
load libX11 if available), or have a --with-x11-tools configure
option.
(cherry picked from commit 70c5285eb4b757fdd4e552e002c5d54072492152)
Colin Walters [Mon, 13 Jul 2009 17:11:20 +0000 (13:11 -0400)]
Bug 22415 - COYPING file should note we allow later versions of GPL
The canonical copyright information in the source file says we
allow later versions of the GPL. So note that in COPYING too.
(cherry picked from commit f908daed82d61df44710a8ec681558c6d23b940d)
Colin Walters [Sat, 11 Jul 2009 01:33:02 +0000 (21:33 -0400)]
Bug 896 - Avoid race conditions reading message from exited process
Patch based on extensive work from Michael Meeks <michael.meeks@novell.com>,
thanks to Dafydd Harries <dafydd.harries@collabora.co.uk>,
Kimmo Hämäläinen <kimmo.hamalainen@nokia.com> and others.
The basic idea with this bug is that we effectively ignore errors
on write. Only when we're done reading from a connection do we
close down a connection. This avoids a race condition where
if a process (such as dbus-send) exited while we still had
data to read in the buffer, we'd miss that data.
(cherry picked from commit 0e36cdd54964c4012acec2bb8e598b85e82d2846)
Colin Walters [Mon, 13 Jul 2009 17:02:21 +0000 (13:02 -0400)]
Bug 14259 - Refactor _dbus_get_autolaunch_address
Split out the process-launching code, which can be reused for
other applications; in particular, a forthcoming patch to parse
output from launchd for MacOS X.
(cherry picked from commit 6b163e95e7a2318a98c16c0d0944337e38e62efa)
Colin Walters [Mon, 13 Jul 2009 16:47:19 +0000 (12:47 -0400)]
Bug 14259 - Make session address lookup system-dependent
On some platforms such as MacOS X and Windows, we can't depend
on an environment variable to determine the address of the
session bus. Create a sysdep function dbus_lookup_session_address
which can be filled in with platform-specific code.
(cherry picked from commit 6478ec6949c6bb794237b43d03b68f80eba1288c)